reactjs-tiptap-editor 0.3.30 → 0.3.31

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 (224) hide show
  1. package/lib/{ActionMenuButton-wiDnIxE2.cjs → ActionMenuButton-BCgqJsST.cjs} +1 -1
  2. package/lib/{ActionMenuButton-B6fitGKu.js → ActionMenuButton-D97K0UWT.js} +5 -5
  3. package/lib/Attachment.cjs +1 -1
  4. package/lib/Attachment.d.cts +15 -15
  5. package/lib/Attachment.d.ts +15 -15
  6. package/lib/Attachment.js +1 -1
  7. package/lib/Blockquote.cjs +1 -1
  8. package/lib/Blockquote.d.cts +15 -15
  9. package/lib/Blockquote.d.ts +15 -15
  10. package/lib/Blockquote.js +1 -1
  11. package/lib/Bold.cjs +1 -1
  12. package/lib/Bold.d.cts +15 -15
  13. package/lib/Bold.d.ts +15 -15
  14. package/lib/Bold.js +1 -1
  15. package/lib/BulletList.cjs +1 -1
  16. package/lib/BulletList.d.cts +15 -15
  17. package/lib/BulletList.d.ts +15 -15
  18. package/lib/BulletList.js +1 -1
  19. package/lib/Clear.cjs +1 -1
  20. package/lib/Clear.d.cts +15 -15
  21. package/lib/Clear.d.ts +15 -15
  22. package/lib/Clear.js +1 -1
  23. package/lib/Code.cjs +1 -1
  24. package/lib/Code.d.cts +15 -15
  25. package/lib/Code.d.ts +15 -15
  26. package/lib/Code.js +1 -1
  27. package/lib/CodeBlock.cjs +1 -1
  28. package/lib/CodeBlock.d.cts +15 -15
  29. package/lib/CodeBlock.d.ts +15 -15
  30. package/lib/CodeBlock.js +3 -2
  31. package/lib/CodeView.cjs +1 -1
  32. package/lib/CodeView.d.cts +15 -15
  33. package/lib/CodeView.d.ts +15 -15
  34. package/lib/CodeView.js +1 -1
  35. package/lib/Color.cjs +1 -1
  36. package/lib/Color.d.cts +15 -15
  37. package/lib/Color.d.ts +15 -15
  38. package/lib/Color.js +2 -2
  39. package/lib/Document.d.cts +15 -15
  40. package/lib/Document.d.ts +15 -15
  41. package/lib/Drawer-5Q_-WRhc.cjs +1 -0
  42. package/lib/{Drawer-BKTU9CpU.js → Drawer-BHkje8ys.js} +250 -249
  43. package/lib/Drawer.cjs +1 -1
  44. package/lib/Drawer.d.cts +15 -15
  45. package/lib/Drawer.d.ts +15 -15
  46. package/lib/Drawer.js +2 -2
  47. package/lib/Emoji.cjs +1 -1
  48. package/lib/Emoji.d.cts +15 -15
  49. package/lib/Emoji.d.ts +15 -15
  50. package/lib/Emoji.js +22 -21
  51. package/lib/Excalidraw-CG498239.js +290 -0
  52. package/lib/Excalidraw-GUVW-IqC.cjs +1 -0
  53. package/lib/Excalidraw.cjs +1 -1
  54. package/lib/Excalidraw.d.cts +15 -15
  55. package/lib/Excalidraw.d.ts +15 -15
  56. package/lib/Excalidraw.js +1 -1
  57. package/lib/ExportPdf.cjs +1 -1
  58. package/lib/ExportPdf.d.cts +15 -15
  59. package/lib/ExportPdf.d.ts +15 -15
  60. package/lib/ExportPdf.js +1 -1
  61. package/lib/ExportWord.cjs +1 -1
  62. package/lib/ExportWord.d.cts +15 -15
  63. package/lib/ExportWord.d.ts +15 -15
  64. package/lib/ExportWord.js +1 -1
  65. package/lib/FontFamily.cjs +1 -1
  66. package/lib/FontFamily.d.cts +15 -15
  67. package/lib/FontFamily.d.ts +15 -15
  68. package/lib/FontFamily.js +11 -10
  69. package/lib/FontSize.cjs +1 -1
  70. package/lib/FontSize.d.cts +15 -15
  71. package/lib/FontSize.d.ts +15 -15
  72. package/lib/FontSize.js +6 -5
  73. package/lib/FormatPainter.cjs +1 -1
  74. package/lib/FormatPainter.d.cts +15 -15
  75. package/lib/FormatPainter.d.ts +15 -15
  76. package/lib/FormatPainter.js +1 -1
  77. package/lib/Heading.cjs +1 -1
  78. package/lib/Heading.d.cts +15 -15
  79. package/lib/Heading.d.ts +15 -15
  80. package/lib/Heading.js +32 -31
  81. package/lib/Highlight.cjs +1 -1
  82. package/lib/Highlight.d.cts +15 -15
  83. package/lib/Highlight.d.ts +15 -15
  84. package/lib/Highlight.js +1 -1
  85. package/lib/History.cjs +1 -1
  86. package/lib/History.d.cts +15 -15
  87. package/lib/History.d.ts +15 -15
  88. package/lib/History.js +1 -1
  89. package/lib/HorizontalRule.cjs +1 -1
  90. package/lib/HorizontalRule.d.cts +15 -15
  91. package/lib/HorizontalRule.d.ts +15 -15
  92. package/lib/HorizontalRule.js +1 -1
  93. package/lib/Iframe.cjs +1 -1
  94. package/lib/Iframe.d.cts +15 -15
  95. package/lib/Iframe.d.ts +15 -15
  96. package/lib/Iframe.js +1 -1
  97. package/lib/Image.cjs +1 -1
  98. package/lib/Image.d.cts +15 -15
  99. package/lib/Image.d.ts +15 -15
  100. package/lib/Image.js +1 -1
  101. package/lib/ImageGif.cjs +1 -1
  102. package/lib/ImageGif.d.cts +15 -15
  103. package/lib/ImageGif.d.ts +15 -15
  104. package/lib/ImageGif.js +1 -1
  105. package/lib/ImportWord.cjs +2 -2
  106. package/lib/ImportWord.d.cts +15 -15
  107. package/lib/ImportWord.d.ts +15 -15
  108. package/lib/ImportWord.js +3 -2
  109. package/lib/Indent.cjs +1 -1
  110. package/lib/Indent.d.cts +15 -15
  111. package/lib/Indent.d.ts +15 -15
  112. package/lib/Indent.js +1 -1
  113. package/lib/Italic.cjs +1 -1
  114. package/lib/Italic.d.cts +15 -15
  115. package/lib/Italic.d.ts +15 -15
  116. package/lib/Italic.js +1 -1
  117. package/lib/Katex.cjs +1 -1
  118. package/lib/Katex.d.cts +15 -15
  119. package/lib/Katex.d.ts +15 -15
  120. package/lib/Katex.js +41 -40
  121. package/lib/LineHeight.cjs +1 -1
  122. package/lib/LineHeight.d.cts +15 -15
  123. package/lib/LineHeight.d.ts +15 -15
  124. package/lib/LineHeight.js +17 -16
  125. package/lib/Link.cjs +1 -1
  126. package/lib/Link.d.cts +15 -15
  127. package/lib/Link.d.ts +15 -15
  128. package/lib/Link.js +1 -1
  129. package/lib/ListItem.d.cts +15 -15
  130. package/lib/ListItem.d.ts +15 -15
  131. package/lib/Mention.d.cts +15 -15
  132. package/lib/Mention.d.ts +15 -15
  133. package/lib/Mermaid.cjs +2 -2
  134. package/lib/Mermaid.d.cts +15 -15
  135. package/lib/Mermaid.d.ts +15 -15
  136. package/lib/Mermaid.js +138 -137
  137. package/lib/MoreMark.cjs +1 -1
  138. package/lib/MoreMark.d.cts +15 -15
  139. package/lib/MoreMark.d.ts +15 -15
  140. package/lib/MoreMark.js +1 -1
  141. package/lib/MultiColumn.cjs +1 -1
  142. package/lib/MultiColumn.d.cts +15 -15
  143. package/lib/MultiColumn.d.ts +15 -15
  144. package/lib/MultiColumn.js +1 -1
  145. package/lib/OrderedList.cjs +1 -1
  146. package/lib/OrderedList.d.cts +15 -15
  147. package/lib/OrderedList.d.ts +15 -15
  148. package/lib/OrderedList.js +1 -1
  149. package/lib/{RichTextEditor-C8Sm1E6J.cjs → RichTextEditor-DWlLqTl9.cjs} +4 -4
  150. package/lib/{RichTextEditor-BQN2eLD_.js → RichTextEditor-KP2Rgcqe.js} +15 -39
  151. package/lib/SearchAndReplace.cjs +1 -1
  152. package/lib/SearchAndReplace.d.cts +15 -15
  153. package/lib/SearchAndReplace.d.ts +15 -15
  154. package/lib/SearchAndReplace.js +68 -67
  155. package/lib/Selection.d.cts +15 -15
  156. package/lib/Selection.d.ts +15 -15
  157. package/lib/SlashCommand.cjs +1 -1
  158. package/lib/SlashCommand.d.cts +15 -15
  159. package/lib/SlashCommand.d.ts +15 -15
  160. package/lib/SlashCommand.js +1 -1
  161. package/lib/Strike.cjs +1 -1
  162. package/lib/Strike.d.cts +15 -15
  163. package/lib/Strike.d.ts +15 -15
  164. package/lib/Strike.js +1 -1
  165. package/lib/SubAndSuperScript.cjs +1 -1
  166. package/lib/SubAndSuperScript.d.cts +15 -15
  167. package/lib/SubAndSuperScript.d.ts +15 -15
  168. package/lib/SubAndSuperScript.js +1 -1
  169. package/lib/Table.cjs +1 -1
  170. package/lib/Table.d.cts +15 -15
  171. package/lib/Table.d.ts +15 -15
  172. package/lib/Table.js +2 -1
  173. package/lib/TableOfContent.cjs +1 -1
  174. package/lib/TableOfContent.d.cts +15 -15
  175. package/lib/TableOfContent.d.ts +15 -15
  176. package/lib/TableOfContent.js +50 -49
  177. package/lib/TaskList.cjs +1 -1
  178. package/lib/TaskList.d.cts +15 -15
  179. package/lib/TaskList.d.ts +15 -15
  180. package/lib/TaskList.js +1 -1
  181. package/lib/TextAlign.cjs +1 -1
  182. package/lib/TextAlign.d.cts +15 -15
  183. package/lib/TextAlign.d.ts +15 -15
  184. package/lib/TextAlign.js +8 -7
  185. package/lib/TextBubble.cjs +1 -1
  186. package/lib/TextBubble.d.cts +15 -15
  187. package/lib/TextBubble.d.ts +15 -15
  188. package/lib/TextBubble.js +1 -1
  189. package/lib/TextDirection.cjs +1 -1
  190. package/lib/TextDirection.d.cts +15 -15
  191. package/lib/TextDirection.d.ts +15 -15
  192. package/lib/TextDirection.js +14 -13
  193. package/lib/TextUnderline.cjs +1 -1
  194. package/lib/TextUnderline.d.cts +15 -15
  195. package/lib/TextUnderline.d.ts +15 -15
  196. package/lib/TextUnderline.js +1 -1
  197. package/lib/TrailingNode.d.cts +15 -15
  198. package/lib/TrailingNode.d.ts +15 -15
  199. package/lib/{Twitter-Dg6WWauX.js → Twitter-99ivY5qv.js} +62 -61
  200. package/lib/{Twitter-CL2pu4QM.cjs → Twitter-BvfvUtNT.cjs} +2 -2
  201. package/lib/Twitter.cjs +1 -1
  202. package/lib/Twitter.d.cts +15 -15
  203. package/lib/Twitter.d.ts +15 -15
  204. package/lib/Twitter.js +1 -1
  205. package/lib/Video.cjs +1 -1
  206. package/lib/Video.d.cts +15 -15
  207. package/lib/Video.d.ts +15 -15
  208. package/lib/Video.js +1 -1
  209. package/lib/bubble-extra.cjs +1 -1
  210. package/lib/bubble-extra.d.cts +15 -15
  211. package/lib/bubble-extra.d.ts +15 -15
  212. package/lib/bubble-extra.js +5 -5
  213. package/lib/index.cjs +1 -1
  214. package/lib/index.d.cts +16 -15
  215. package/lib/index.d.ts +16 -15
  216. package/lib/index.js +2 -2
  217. package/lib/locale-bundle.d.cts +15 -15
  218. package/lib/locale-bundle.d.ts +15 -15
  219. package/lib/{textarea-BglwYF6b.js → textarea-CktfkXNe.js} +1 -1
  220. package/lib/{textarea-D5WVZMgt.cjs → textarea-DdH64g04.cjs} +1 -1
  221. package/package.json +1 -1
  222. package/lib/Drawer-CmoEF-Zg.cjs +0 -1
  223. package/lib/Excalidraw-CM74U5tG.js +0 -289
  224. package/lib/Excalidraw-DAPP9qgY.cjs +0 -1
package/lib/Mermaid.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var W=Object.create;var G=Object.defineProperty;var X=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var Z=Object.getPrototypeOf,Y=Object.prototype.hasOwnProperty;var J=(t,e,r,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of U(e))!Y.call(t,l)&&l!==r&&G(t,l,{get:()=>e[l],enumerable:!(a=X(e,l))||a.enumerable});return t};var K=(t,e,r)=>(r=t!=null?W(Z(t)):{},J(e||!t||!t.__esModule?G(r,"default",{value:t,enumerable:!0}):r,t));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("./index-ByRfqzMr.cjs"),u=require("./RichTextEditor-C8Sm1E6J.cjs"),F=require("./dom-dataset-Byuf1YmW.cjs"),o=require("react/jsx-runtime"),s=require("react"),P=require("./shortId-Bfj8TyNr.cjs"),Q=require("./textarea-D5WVZMgt.cjs"),S=require("./index-D_A0TBRA.cjs"),$=`graph TB
2
- a-->b`,ee=({editor:t,upload:e})=>{const[r,a]=s.useState($),[l,v]=s.useState(""),[T,y]=s.useState(!1),A=s.useRef(null),[d,h]=s.useState(null),E=s.useCallback(c=>{c&&import("mermaid").then(x=>{h(x.default)})},[]),_=async c=>{try{const{svg:x}=await d.render("mermaid-svg",c);v(x)}catch{v("")}},L=()=>{d.initialize({darkMode:!1,startOnLoad:!1,fontSize:12,theme:"base"}),_(r)};s.useEffect(()=>{d&&T&&L()},[d,T]),s.useEffect(()=>{d&&T&&_(r)},[d&&r]);const R=async()=>{if(r!==""){if(r){const c=A.current.querySelector("svg"),{width:x,height:j}=c.getBoundingClientRect(),I=`mermaid-${P.shortId()}.svg`;let M=P.i(c.outerHTML);if(e){console.log({src:M});const H=u.dataURLtoFile(M,I);M=await e(H)}t==null||t.chain().focus().setMermaid({type:"mermaid",src:M,alt:encodeURIComponent(r),width:x,height:j},!!r).run()}y(!1)}};return o.jsxs(u.Dialog,{onOpenChange:y,open:T,children:[o.jsx(u.DialogTrigger,{asChild:!0,children:o.jsx(u.ActionButton,{action:()=>y(!0),icon:"Mermaid",tooltip:"Mermaid"})}),o.jsxs(u.DialogContent,{className:"richtext-z-[99999] !richtext-max-w-[1300px]",children:[o.jsx(u.DialogTitle,{children:"Mermaid"}),o.jsx("div",{ref:E,style:{height:"100%",border:"1px solid hsl(var(--border))"},children:o.jsxs("div",{className:"richtext-flex richtext-gap-[10px] richtext-rounded-[10px] richtext-p-[10px]",children:[o.jsx(Q.Textarea,{autoFocus:!0,className:"richtext-flex-1",defaultValue:$,onChange:c=>a(c.target.value),placeholder:"Text",required:!0,rows:10,value:r,style:{color:"hsl(var(--richtext-foreground))"}}),o.jsx("div",{className:"richtext-flex richtext-flex-1 richtext-items-center richtext-justify-center richtext-rounded-[10px] richtext-p-[10px]",dangerouslySetInnerHTML:{__html:l},ref:A,style:{height:"100%",borderWidth:1,minHeight:500,background:"#fff"}})]})}),o.jsx(u.DialogFooter,{children:o.jsx(u.Button,{onClick:R,type:"button",children:"Save changes"})})]})]})},O={TOP_LEFT:"tl",TOP_RIGHT:"tr",BOTTOM_LEFT:"bl",BOTTOM_RIGHT:"br"};function te({editor:t,node:e,updateAttributes:r,getPos:a,selected:l}){const[v,T]=s.useState({width:S.IMAGE_MAX_SIZE,height:S.IMAGE_MAX_SIZE}),[y,A]=s.useState({width:0,height:0}),[d]=s.useState([O.TOP_LEFT,O.TOP_RIGHT,O.BOTTOM_LEFT,O.BOTTOM_RIGHT]),[h,E]=s.useState(!1),[_,L]=s.useState({x:0,y:0,w:0,h:0,dir:""}),{align:R}=e==null?void 0:e.attrs,c=s.useMemo(()=>{const{src:i,alt:m,width:f,height:b}=e==null?void 0:e.attrs,w=q.isNumber(f)?`${f}px`:f,n=q.isNumber(b)?`${b}px`:b;return{src:i||void 0,alt:m||void 0,style:{width:w||void 0,height:n||void 0}}},[e==null?void 0:e.attrs]),x=s.useMemo(()=>{const{style:{width:i}}=c;return{width:i==="100%"?i:void 0}},[c]);function j(i){A({width:i.target.width,height:i.target.height})}function I(){t.commands.setNodeSelection(a())}const M=s.useCallback(u.throttle(()=>{const{width:i}=getComputedStyle(t.view.dom);T(m=>({...m,width:Number.parseInt(i,10)}))},S.IMAGE_THROTTLE_WAIT_TIME),[t]);function H(i,m){i.preventDefault(),i.stopPropagation();const f=y.width,b=y.height,w=f/b;let n=Number(e.attrs.width),p=Number(e.attrs.height);const g=v.width;n&&!p?(n=n>g?g:n,p=Math.round(n/w)):p&&!n?(n=Math.round(p*w),n=n>g?g:n):!n&&!p?(n=f>g?g:f,p=Math.round(n/w)):n=n>g?g:n,E(!0),L({x:i.clientX,y:i.clientY,w:n,h:p,dir:m})}const N=s.useCallback(u.throttle(i=>{if(i.preventDefault(),i.stopPropagation(),!h)return;const{x:m,w:f,dir:b}=_,w=(i.clientX-m)*(/l/.test(b)?-1:1),{width:n,height:p}=e==null?void 0:e.attrs,g=n/p,B=u.clamp(f+w,S.IMAGE_MIN_SIZE,v.width),V=Math.round(B/g);r({width:B,height:V})},S.IMAGE_THROTTLE_WAIT_TIME),[h,_,v,r,e==null?void 0:e.attrs]),C=s.useCallback(i=>{i.preventDefault(),i.stopPropagation(),h&&(L({x:0,y:0,w:0,h:0,dir:""}),E(!1),I())},[h,I]),D=s.useCallback(()=>{document==null||document.addEventListener("mousemove",N,!0),document==null||document.addEventListener("mouseup",C,!0)},[N,C]),z=s.useCallback(()=>{document==null||document.removeEventListener("mousemove",N,!0),document==null||document.removeEventListener("mouseup",C,!0)},[N,C]);s.useEffect(()=>(h?D():z(),()=>{z()}),[h,D,z]);const k=s.useMemo(()=>new ResizeObserver(()=>M()),[M]);return s.useEffect(()=>(k.observe(t.view.dom),()=>{k.disconnect()}),[t.view.dom,k]),o.jsx(F.NodeViewWrapper,{className:"image-view",style:{...x,width:"100%",textAlign:R},children:o.jsxs("div",{"data-drag-handle":!0,draggable:"true",style:{...x,background:"#fff"},className:`image-view__body ${l?"image-view__body--focused":""} ${h?"image-view__body--resizing":""}`,children:[o.jsx("img",{alt:c.alt,className:"image-view__body__image block",height:"auto",onClick:I,onLoad:j,src:c.src,style:c.style}),t.view.editable&&(l||h)&&o.jsx("div",{className:"image-resizer",children:d==null?void 0:d.map(i=>o.jsx("span",{className:`image-resizer__handler image-resizer__handler--${i}`,onMouseDown:m=>H(m,i)},`image-dir-${i}`))})]})})}const re=u.Image.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{component:ee,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 F.ReactNodeViewRenderer(te)},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",q.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=re;
1
+ "use strict";var W=Object.create;var G=Object.defineProperty;var X=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var Z=Object.getPrototypeOf,Y=Object.prototype.hasOwnProperty;var J=(t,e,i,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of U(e))!Y.call(t,l)&&l!==i&&G(t,l,{get:()=>e[l],enumerable:!(r=X(e,l))||r.enumerable});return t};var K=(t,e,i)=>(i=t!=null?W(Z(t)):{},J(e||!t||!t.__esModule?G(i,"default",{value:t,enumerable:!0}):i,t));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("./index-ByRfqzMr.cjs"),u=require("./RichTextEditor-DWlLqTl9.cjs"),F=require("./dom-dataset-Byuf1YmW.cjs"),o=require("react/jsx-runtime"),a=require("react"),P=require("./shortId-Bfj8TyNr.cjs"),Q=require("./textarea-DdH64g04.cjs"),E=require("./index-D_A0TBRA.cjs"),$=`graph TB
2
+ a-->b`,ee=({editor:t,upload:e,tooltipOptions:i})=>{const[r,l]=a.useState($),[_,L]=a.useState(""),[p,I]=a.useState(!1),v=a.useRef(null),[c,N]=a.useState(null),C=a.useCallback(d=>{d&&import("mermaid").then(M=>{N(M.default)})},[]),S=async d=>{try{const{svg:M}=await c.render("mermaid-svg",d);L(M)}catch{L("")}},H=()=>{c.initialize({darkMode:!1,startOnLoad:!1,fontSize:12,theme:"base"}),S(r)};a.useEffect(()=>{c&&p&&H()},[c,p]),a.useEffect(()=>{c&&p&&S(r)},[c&&r]);const x=async()=>{if(r!==""){if(r){const d=v.current.querySelector("svg"),{width:M,height:A}=d.getBoundingClientRect(),O=`mermaid-${P.shortId()}.svg`;let T=P.i(d.outerHTML);if(e){console.log({src:T});const y=u.dataURLtoFile(T,O);T=await e(y)}t==null||t.chain().focus().setMermaid({type:"mermaid",src:T,alt:encodeURIComponent(r),width:M,height:A},!!r).run()}I(!1)}};return o.jsxs(u.Dialog,{onOpenChange:I,open:p,children:[o.jsx(u.DialogTrigger,{asChild:!0,children:o.jsx(u.ActionButton,{action:()=>I(!0),icon:"Mermaid",tooltip:"Mermaid",tooltipOptions:i})}),o.jsxs(u.DialogContent,{className:"richtext-z-[99999] !richtext-max-w-[1300px]",children:[o.jsx(u.DialogTitle,{children:"Mermaid"}),o.jsx("div",{ref:C,style:{height:"100%",border:"1px solid hsl(var(--border))"},children:o.jsxs("div",{className:"richtext-flex richtext-gap-[10px] richtext-rounded-[10px] richtext-p-[10px]",children:[o.jsx(Q.Textarea,{autoFocus:!0,className:"richtext-flex-1",defaultValue:$,onChange:d=>l(d.target.value),placeholder:"Text",required:!0,rows:10,value:r,style:{color:"hsl(var(--richtext-foreground))"}}),o.jsx("div",{className:"richtext-flex richtext-flex-1 richtext-items-center richtext-justify-center richtext-rounded-[10px] richtext-p-[10px]",dangerouslySetInnerHTML:{__html:_},ref:v,style:{height:"100%",borderWidth:1,minHeight:500,background:"#fff"}})]})}),o.jsx(u.DialogFooter,{children:o.jsx(u.Button,{onClick:x,type:"button",children:"Save changes"})})]})]})},j={TOP_LEFT:"tl",TOP_RIGHT:"tr",BOTTOM_LEFT:"bl",BOTTOM_RIGHT:"br"};function te({editor:t,node:e,updateAttributes:i,getPos:r,selected:l}){const[_,L]=a.useState({width:E.IMAGE_MAX_SIZE,height:E.IMAGE_MAX_SIZE}),[p,I]=a.useState({width:0,height:0}),[v]=a.useState([j.TOP_LEFT,j.TOP_RIGHT,j.BOTTOM_LEFT,j.BOTTOM_RIGHT]),[c,N]=a.useState(!1),[C,S]=a.useState({x:0,y:0,w:0,h:0,dir:""}),{align:H}=e==null?void 0:e.attrs,x=a.useMemo(()=>{const{src:s,alt:g,width:m,height:b}=e==null?void 0:e.attrs,w=q.isNumber(m)?`${m}px`:m,n=q.isNumber(b)?`${b}px`:b;return{src:s||void 0,alt:g||void 0,style:{width:w||void 0,height:n||void 0}}},[e==null?void 0:e.attrs]),d=a.useMemo(()=>{const{style:{width:s}}=x;return{width:s==="100%"?s:void 0}},[x]);function M(s){I({width:s.target.width,height:s.target.height})}function A(){t.commands.setNodeSelection(r())}const O=a.useCallback(u.throttle(()=>{const{width:s}=getComputedStyle(t.view.dom);L(g=>({...g,width:Number.parseInt(s,10)}))},E.IMAGE_THROTTLE_WAIT_TIME),[t]);function T(s,g){s.preventDefault(),s.stopPropagation();const m=p.width,b=p.height,w=m/b;let n=Number(e.attrs.width),f=Number(e.attrs.height);const h=_.width;n&&!f?(n=n>h?h:n,f=Math.round(n/w)):f&&!n?(n=Math.round(f*w),n=n>h?h:n):!n&&!f?(n=m>h?h:m,f=Math.round(n/w)):n=n>h?h:n,N(!0),S({x:s.clientX,y:s.clientY,w:n,h:f,dir:g})}const y=a.useCallback(u.throttle(s=>{if(s.preventDefault(),s.stopPropagation(),!c)return;const{x:g,w:m,dir:b}=C,w=(s.clientX-g)*(/l/.test(b)?-1:1),{width:n,height:f}=e==null?void 0:e.attrs,h=n/f,B=u.clamp(m+w,E.IMAGE_MIN_SIZE,_.width),V=Math.round(B/h);i({width:B,height:V})},E.IMAGE_THROTTLE_WAIT_TIME),[c,C,_,i,e==null?void 0:e.attrs]),R=a.useCallback(s=>{s.preventDefault(),s.stopPropagation(),c&&(S({x:0,y:0,w:0,h:0,dir:""}),N(!1),A())},[c,A]),D=a.useCallback(()=>{document==null||document.addEventListener("mousemove",y,!0),document==null||document.addEventListener("mouseup",R,!0)},[y,R]),z=a.useCallback(()=>{document==null||document.removeEventListener("mousemove",y,!0),document==null||document.removeEventListener("mouseup",R,!0)},[y,R]);a.useEffect(()=>(c?D():z(),()=>{z()}),[c,D,z]);const k=a.useMemo(()=>new ResizeObserver(()=>O()),[O]);return a.useEffect(()=>(k.observe(t.view.dom),()=>{k.disconnect()}),[t.view.dom,k]),o.jsx(F.NodeViewWrapper,{className:"image-view",style:{...d,width:"100%",textAlign:H},children:o.jsxs("div",{"data-drag-handle":!0,draggable:"true",style:{...d,background:"#fff"},className:`image-view__body ${l?"image-view__body--focused":""} ${c?"image-view__body--resizing":""}`,children:[o.jsx("img",{alt:x.alt,className:"image-view__body__image block",height:"auto",onClick:A,onLoad:M,src:x.src,style:x.style}),t.view.editable&&(l||c)&&o.jsx("div",{className:"image-resizer",children:v==null?void 0:v.map(s=>o.jsx("span",{className:`image-resizer__handler image-resizer__handler--${s}`,onMouseDown:g=>T(g,s)},`image-dir-${s}`))})]})})}const re=u.Image.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:i,extension:r})=>{var l;return{component:ee,componentProps:{action:()=>!0,isActive:()=>!1,disabled:!1,editor:e,icon:"Mermaid",tooltip:i("editor.mermaid.tooltip"),upload:(l=r==null?void 0:r.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 i=e.querySelector("img"),r=i==null?void 0:i.getAttribute("width");return r?Number.parseInt(r,10):320},renderHTML:e=>({width:e.width})},height:{default:null,parseHTML:e=>{const i=e.querySelector("img"),r=i==null?void 0:i.getAttribute("height");return r?Number.parseInt(r,10):212},renderHTML:e=>({height:e.height})},align:{default:"center",parseHTML:e=>e.getAttribute("align"),renderHTML:e=>({align:e.align})}}},addNodeView(){return F.ReactNodeViewRenderer(te)},addCommands(){return{setMermaid:(t,e)=>({commands:i,editor:r})=>e?i.insertContent({type:this.name,attrs:t}):i.insertContentAt(r.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",q.mergeAttributes(this.options.HTMLAttributes,t)]]},parseHTML(){return[{tag:"div[class=imageMermaid]",getAttrs:t=>{const e=t.querySelector("img"),i=e==null?void 0:e.getAttribute("width"),r=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:i?Number.parseInt(i,10):null,height:r?Number.parseInt(r,10):null,align:(e==null?void 0:e.getAttribute("align"))||t.style.textAlign||null}}}]}});exports.Mermaid=re;
package/lib/Mermaid.d.cts CHANGED
@@ -187,6 +187,21 @@ declare module '@tiptap/core' {
187
187
  }
188
188
 
189
189
 
190
+ declare module '@tiptap/core' {
191
+ interface Commands<ReturnType> {
192
+ iframe: {
193
+ /**
194
+ * Add an iframe
195
+ */
196
+ setIframe: (options: {
197
+ src: string;
198
+ service: string;
199
+ }) => ReturnType;
200
+ };
201
+ }
202
+ }
203
+
204
+
190
205
  declare module '@tiptap/core' {
191
206
  interface Commands<ReturnType> {
192
207
  imageUpload: {
@@ -207,21 +222,6 @@ declare module '@tiptap/core' {
207
222
  }
208
223
 
209
224
 
210
- declare module '@tiptap/core' {
211
- interface Commands<ReturnType> {
212
- iframe: {
213
- /**
214
- * Add an iframe
215
- */
216
- setIframe: (options: {
217
- src: string;
218
- service: string;
219
- }) => ReturnType;
220
- };
221
- }
222
- }
223
-
224
-
225
225
  declare module '@tiptap/core' {
226
226
  interface Commands<ReturnType> {
227
227
  imageGifUpload: {
package/lib/Mermaid.d.ts CHANGED
@@ -187,6 +187,21 @@ declare module '@tiptap/core' {
187
187
  }
188
188
 
189
189
 
190
+ declare module '@tiptap/core' {
191
+ interface Commands<ReturnType> {
192
+ iframe: {
193
+ /**
194
+ * Add an iframe
195
+ */
196
+ setIframe: (options: {
197
+ src: string;
198
+ service: string;
199
+ }) => ReturnType;
200
+ };
201
+ }
202
+ }
203
+
204
+
190
205
  declare module '@tiptap/core' {
191
206
  interface Commands<ReturnType> {
192
207
  imageUpload: {
@@ -207,21 +222,6 @@ declare module '@tiptap/core' {
207
222
  }
208
223
 
209
224
 
210
- declare module '@tiptap/core' {
211
- interface Commands<ReturnType> {
212
- iframe: {
213
- /**
214
- * Add an iframe
215
- */
216
- setIframe: (options: {
217
- src: string;
218
- service: string;
219
- }) => ReturnType;
220
- };
221
- }
222
- }
223
-
224
-
225
225
  declare module '@tiptap/core' {
226
226
  interface Commands<ReturnType> {
227
227
  imageGifUpload: {
package/lib/Mermaid.js CHANGED
@@ -1,73 +1,74 @@
1
1
  import { h as $, m as X } from "./index-DI9T3iLd.js";
2
- import { w as Z, x as J, A as K, y as Y, z as Q, F as tt, B as et, G as rt, J as V, K as it, N as at } from "./RichTextEditor-BQN2eLD_.js";
2
+ import { w as Z, x as J, A as K, y as Y, z as Q, F as tt, B as et, G as rt, J as V, K as it, N as at } from "./RichTextEditor-KP2Rgcqe.js";
3
3
  import { N as st, R as nt } from "./dom-dataset-Di3tIRrR.js";
4
- import { jsxs as C, jsx as o } from "react/jsx-runtime";
5
- import { useState as g, useRef as ot, useCallback as y, useEffect as E, useMemo as k } from "react";
4
+ import { jsxs as H, jsx as o } from "react/jsx-runtime";
5
+ import { useState as m, useRef as ot, useCallback as y, useEffect as R, useMemo as F } from "react";
6
6
  import { s as lt, i as ct } from "./shortId-WJVkrvml.js";
7
- import { T as dt } from "./textarea-BglwYF6b.js";
7
+ import { T as dt } from "./textarea-CktfkXNe.js";
8
8
  import { I as q, i as ht, j as W } from "./index-CsK90iVd.js";
9
9
  const j = `graph TB
10
- a-->b`, ut = ({ editor: r, upload: t }) => {
11
- const [e, s] = g(j), [f, b] = g(""), [x, T] = g(!1), A = ot(null), [l, c] = g(null), N = y(
12
- (n) => {
13
- n && import("mermaid").then((p) => {
14
- c(p.default);
10
+ a-->b`, ut = ({ editor: e, upload: t, tooltipOptions: a }) => {
11
+ const [r, g] = m(j), [_, L] = m(""), [p, I] = m(!1), v = ot(null), [n, S] = m(null), z = y(
12
+ (l) => {
13
+ l && import("mermaid").then((f) => {
14
+ S(f.default);
15
15
  });
16
16
  },
17
17
  []
18
- ), _ = async (n) => {
18
+ ), A = async (l) => {
19
19
  try {
20
- const { svg: p } = await l.render("mermaid-svg", n);
21
- b(p);
20
+ const { svg: f } = await n.render("mermaid-svg", l);
21
+ L(f);
22
22
  } catch {
23
- b("");
23
+ L("");
24
24
  }
25
- }, L = () => {
26
- l.initialize({
25
+ }, B = () => {
26
+ n.initialize({
27
27
  darkMode: !1,
28
28
  startOnLoad: !1,
29
29
  // fontFamily:'',
30
30
  fontSize: 12,
31
31
  theme: "base"
32
- }), _(e);
32
+ }), A(r);
33
33
  };
34
- return E(() => {
35
- l && x && L();
36
- }, [l, x]), E(() => {
37
- l && x && _(e);
38
- }, [l && e]), /* @__PURE__ */ C(
34
+ return R(() => {
35
+ n && p && B();
36
+ }, [n, p]), R(() => {
37
+ n && p && A(r);
38
+ }, [n && r]), /* @__PURE__ */ H(
39
39
  Z,
40
40
  {
41
- onOpenChange: T,
42
- open: x,
41
+ onOpenChange: I,
42
+ open: p,
43
43
  children: [
44
44
  /* @__PURE__ */ o(J, { asChild: !0, children: /* @__PURE__ */ o(
45
45
  K,
46
46
  {
47
- action: () => T(!0),
47
+ action: () => I(!0),
48
48
  icon: "Mermaid",
49
- tooltip: "Mermaid"
49
+ tooltip: "Mermaid",
50
+ tooltipOptions: a
50
51
  }
51
52
  ) }),
52
- /* @__PURE__ */ C(Y, { className: "richtext-z-[99999] !richtext-max-w-[1300px]", children: [
53
+ /* @__PURE__ */ H(Y, { className: "richtext-z-[99999] !richtext-max-w-[1300px]", children: [
53
54
  /* @__PURE__ */ o(Q, { children: "Mermaid" }),
54
55
  /* @__PURE__ */ o(
55
56
  "div",
56
57
  {
57
- ref: N,
58
+ ref: z,
58
59
  style: { height: "100%", border: "1px solid hsl(var(--border))" },
59
- children: /* @__PURE__ */ C("div", { className: "richtext-flex richtext-gap-[10px] richtext-rounded-[10px] richtext-p-[10px]", children: [
60
+ children: /* @__PURE__ */ H("div", { className: "richtext-flex richtext-gap-[10px] richtext-rounded-[10px] richtext-p-[10px]", children: [
60
61
  /* @__PURE__ */ o(
61
62
  dt,
62
63
  {
63
64
  autoFocus: !0,
64
65
  className: "richtext-flex-1",
65
66
  defaultValue: j,
66
- onChange: (n) => s(n.target.value),
67
+ onChange: (l) => g(l.target.value),
67
68
  placeholder: "Text",
68
69
  required: !0,
69
70
  rows: 10,
70
- value: e,
71
+ value: r,
71
72
  style: {
72
73
  color: "hsl(var(--richtext-foreground))"
73
74
  }
@@ -77,8 +78,8 @@ a-->b`, ut = ({ editor: r, upload: t }) => {
77
78
  "div",
78
79
  {
79
80
  className: "richtext-flex richtext-flex-1 richtext-items-center richtext-justify-center richtext-rounded-[10px] richtext-p-[10px]",
80
- dangerouslySetInnerHTML: { __html: f },
81
- ref: A,
81
+ dangerouslySetInnerHTML: { __html: _ },
82
+ ref: v,
82
83
  style: { height: "100%", borderWidth: 1, minHeight: 500, background: "#fff" }
83
84
  }
84
85
  )
@@ -89,29 +90,29 @@ a-->b`, ut = ({ editor: r, upload: t }) => {
89
90
  et,
90
91
  {
91
92
  onClick: async () => {
92
- if (e !== "") {
93
- if (e) {
94
- const n = A.current.querySelector("svg"), { width: p, height: H } = n.getBoundingClientRect(), I = `mermaid-${lt()}.svg`;
95
- let w = ct(n.outerHTML);
93
+ if (r !== "") {
94
+ if (r) {
95
+ const l = v.current.querySelector("svg"), { width: f, height: N } = l.getBoundingClientRect(), O = `mermaid-${lt()}.svg`;
96
+ let x = ct(l.outerHTML);
96
97
  if (t) {
97
98
  console.log({
98
- src: w
99
+ src: x
99
100
  });
100
- const R = rt(w, I);
101
- w = await t(R);
101
+ const T = rt(x, O);
102
+ x = await t(T);
102
103
  }
103
- r == null || r.chain().focus().setMermaid(
104
+ e == null || e.chain().focus().setMermaid(
104
105
  {
105
106
  type: "mermaid",
106
- src: w,
107
- alt: encodeURIComponent(e),
108
- width: p,
109
- height: H
107
+ src: x,
108
+ alt: encodeURIComponent(r),
109
+ width: f,
110
+ height: N
110
111
  },
111
- !!e
112
+ !!r
112
113
  ).run();
113
114
  }
114
- T(!1);
115
+ I(!1);
115
116
  }
116
117
  },
117
118
  type: "button",
@@ -122,141 +123,141 @@ a-->b`, ut = ({ editor: r, upload: t }) => {
122
123
  ]
123
124
  }
124
125
  );
125
- }, O = {
126
+ }, E = {
126
127
  TOP_LEFT: "tl",
127
128
  TOP_RIGHT: "tr",
128
129
  BOTTOM_LEFT: "bl",
129
130
  BOTTOM_RIGHT: "br"
130
131
  };
131
- function mt({ editor: r, node: t, updateAttributes: e, getPos: s, selected: f }) {
132
- const [b, x] = g({
132
+ function mt({ editor: e, node: t, updateAttributes: a, getPos: r, selected: g }) {
133
+ const [_, L] = m({
133
134
  width: q,
134
135
  height: q
135
- }), [T, A] = g({
136
+ }), [p, I] = m({
136
137
  width: 0,
137
138
  height: 0
138
- }), [l] = g([
139
- O.TOP_LEFT,
140
- O.TOP_RIGHT,
141
- O.BOTTOM_LEFT,
142
- O.BOTTOM_RIGHT
143
- ]), [c, N] = g(!1), [_, L] = g({
139
+ }), [v] = m([
140
+ E.TOP_LEFT,
141
+ E.TOP_RIGHT,
142
+ E.BOTTOM_LEFT,
143
+ E.BOTTOM_RIGHT
144
+ ]), [n, S] = m(!1), [z, A] = m({
144
145
  x: 0,
145
146
  y: 0,
146
147
  w: 0,
147
148
  h: 0,
148
149
  dir: ""
149
- }), { align: F } = t == null ? void 0 : t.attrs, n = k(() => {
150
- const { src: i, alt: h, width: u, height: M } = t == null ? void 0 : t.attrs, v = $(u) ? `${u}px` : u, a = $(M) ? `${M}px` : M;
150
+ }), { align: B } = t == null ? void 0 : t.attrs, b = F(() => {
151
+ const { src: i, alt: d, width: h, height: w } = t == null ? void 0 : t.attrs, M = $(h) ? `${h}px` : h, s = $(w) ? `${w}px` : w;
151
152
  return {
152
153
  src: i || void 0,
153
- alt: h || void 0,
154
+ alt: d || void 0,
154
155
  style: {
155
- width: v || void 0,
156
- height: a || void 0
156
+ width: M || void 0,
157
+ height: s || void 0
157
158
  }
158
159
  };
159
- }, [t == null ? void 0 : t.attrs]), p = k(() => {
160
+ }, [t == null ? void 0 : t.attrs]), l = F(() => {
160
161
  const {
161
162
  style: { width: i }
162
- } = n;
163
+ } = b;
163
164
  return { width: i === "100%" ? i : void 0 };
164
- }, [n]);
165
- function H(i) {
166
- A({
165
+ }, [b]);
166
+ function f(i) {
167
+ I({
167
168
  width: i.target.width,
168
169
  height: i.target.height
169
170
  });
170
171
  }
171
- function I() {
172
- r.commands.setNodeSelection(s());
172
+ function N() {
173
+ e.commands.setNodeSelection(r());
173
174
  }
174
- const w = y(
175
+ const O = y(
175
176
  V(() => {
176
- const { width: i } = getComputedStyle(r.view.dom);
177
- x((h) => ({
178
- ...h,
177
+ const { width: i } = getComputedStyle(e.view.dom);
178
+ L((d) => ({
179
+ ...d,
179
180
  width: Number.parseInt(i, 10)
180
181
  }));
181
182
  }, W),
182
- [r]
183
+ [e]
183
184
  );
184
- function R(i, h) {
185
+ function x(i, d) {
185
186
  i.preventDefault(), i.stopPropagation();
186
- const u = T.width, M = T.height, v = u / M;
187
- let a = Number(t.attrs.width), m = Number(t.attrs.height);
188
- const d = b.width;
189
- a && !m ? (a = a > d ? d : a, m = Math.round(a / v)) : m && !a ? (a = Math.round(m * v), a = a > d ? d : a) : !a && !m ? (a = u > d ? d : u, m = Math.round(a / v)) : a = a > d ? d : a, N(!0), L({
187
+ const h = p.width, w = p.height, M = h / w;
188
+ let s = Number(t.attrs.width), u = Number(t.attrs.height);
189
+ const c = _.width;
190
+ s && !u ? (s = s > c ? c : s, u = Math.round(s / M)) : u && !s ? (s = Math.round(u * M), s = s > c ? c : s) : !s && !u ? (s = h > c ? c : h, u = Math.round(s / M)) : s = s > c ? c : s, S(!0), A({
190
191
  x: i.clientX,
191
192
  y: i.clientY,
192
- w: a,
193
- h: m,
194
- dir: h
193
+ w: s,
194
+ h: u,
195
+ dir: d
195
196
  });
196
197
  }
197
- const S = y(
198
+ const T = y(
198
199
  V((i) => {
199
- if (i.preventDefault(), i.stopPropagation(), !c)
200
+ if (i.preventDefault(), i.stopPropagation(), !n)
200
201
  return;
201
- const { x: h, w: u, dir: M } = _, v = (i.clientX - h) * (/l/.test(M) ? -1 : 1), { width: a, height: m } = t == null ? void 0 : t.attrs, d = a / m, P = it(u + v, ht, b.width), U = Math.round(P / d);
202
- e({
202
+ const { x: d, w: h, dir: w } = z, M = (i.clientX - d) * (/l/.test(w) ? -1 : 1), { width: s, height: u } = t == null ? void 0 : t.attrs, c = s / u, P = it(h + M, ht, _.width), U = Math.round(P / c);
203
+ a({
203
204
  width: P,
204
205
  height: U
205
206
  });
206
207
  }, W),
207
- [c, _, b, e, t == null ? void 0 : t.attrs]
208
- ), z = y(
208
+ [n, z, _, a, t == null ? void 0 : t.attrs]
209
+ ), C = y(
209
210
  (i) => {
210
- i.preventDefault(), i.stopPropagation(), c && (L({
211
+ i.preventDefault(), i.stopPropagation(), n && (A({
211
212
  x: 0,
212
213
  y: 0,
213
214
  w: 0,
214
215
  h: 0,
215
216
  dir: ""
216
- }), N(!1), I());
217
+ }), S(!1), N());
217
218
  },
218
- [c, I]
219
+ [n, N]
219
220
  ), G = y(() => {
220
- document == null || document.addEventListener("mousemove", S, !0), document == null || document.addEventListener("mouseup", z, !0);
221
- }, [S, z]), B = y(() => {
222
- document == null || document.removeEventListener("mousemove", S, !0), document == null || document.removeEventListener("mouseup", z, !0);
223
- }, [S, z]);
224
- E(() => (c ? G() : B(), () => {
225
- B();
226
- }), [c, G, B]);
227
- const D = k(() => new ResizeObserver(() => w()), [w]);
228
- return E(() => (D.observe(r.view.dom), () => {
229
- D.disconnect();
230
- }), [r.view.dom, D]), /* @__PURE__ */ o(
221
+ document == null || document.addEventListener("mousemove", T, !0), document == null || document.addEventListener("mouseup", C, !0);
222
+ }, [T, C]), D = y(() => {
223
+ document == null || document.removeEventListener("mousemove", T, !0), document == null || document.removeEventListener("mouseup", C, !0);
224
+ }, [T, C]);
225
+ R(() => (n ? G() : D(), () => {
226
+ D();
227
+ }), [n, G, D]);
228
+ const k = F(() => new ResizeObserver(() => O()), [O]);
229
+ return R(() => (k.observe(e.view.dom), () => {
230
+ k.disconnect();
231
+ }), [e.view.dom, k]), /* @__PURE__ */ o(
231
232
  st,
232
233
  {
233
234
  className: "image-view",
234
- style: { ...p, width: "100%", textAlign: F },
235
- children: /* @__PURE__ */ C(
235
+ style: { ...l, width: "100%", textAlign: B },
236
+ children: /* @__PURE__ */ H(
236
237
  "div",
237
238
  {
238
239
  "data-drag-handle": !0,
239
240
  draggable: "true",
240
- style: { ...p, background: "#fff" },
241
- className: `image-view__body ${f ? "image-view__body--focused" : ""} ${c ? "image-view__body--resizing" : ""}`,
241
+ style: { ...l, background: "#fff" },
242
+ className: `image-view__body ${g ? "image-view__body--focused" : ""} ${n ? "image-view__body--resizing" : ""}`,
242
243
  children: [
243
244
  /* @__PURE__ */ o(
244
245
  "img",
245
246
  {
246
- alt: n.alt,
247
+ alt: b.alt,
247
248
  className: "image-view__body__image block",
248
249
  height: "auto",
249
- onClick: I,
250
- onLoad: H,
251
- src: n.src,
252
- style: n.style
250
+ onClick: N,
251
+ onLoad: f,
252
+ src: b.src,
253
+ style: b.style
253
254
  }
254
255
  ),
255
- r.view.editable && (f || c) && /* @__PURE__ */ o("div", { className: "image-resizer", children: l == null ? void 0 : l.map((i) => /* @__PURE__ */ o(
256
+ e.view.editable && (g || n) && /* @__PURE__ */ o("div", { className: "image-resizer", children: v == null ? void 0 : v.map((i) => /* @__PURE__ */ o(
256
257
  "span",
257
258
  {
258
259
  className: `image-resizer__handler image-resizer__handler--${i}`,
259
- onMouseDown: (h) => R(h, i)
260
+ onMouseDown: (d) => x(d, i)
260
261
  },
261
262
  `image-dir-${i}`
262
263
  )) })
@@ -269,9 +270,9 @@ function mt({ editor: r, node: t, updateAttributes: e, getPos: s, selected: f })
269
270
  const Tt = /* @__PURE__ */ at.extend({
270
271
  name: "mermaid",
271
272
  addOptions() {
272
- var r;
273
+ var e;
273
274
  return {
274
- ...(r = this.parent) == null ? void 0 : r.call(this),
275
+ ...(e = this.parent) == null ? void 0 : e.call(this),
275
276
  inline: !1,
276
277
  content: "",
277
278
  marks: "",
@@ -282,8 +283,8 @@ const Tt = /* @__PURE__ */ at.extend({
282
283
  HTMLAttributes: {
283
284
  class: "mermaid"
284
285
  },
285
- button: ({ editor: t, t: e, extension: s }) => {
286
- var f;
286
+ button: ({ editor: t, t: a, extension: r }) => {
287
+ var g;
287
288
  return {
288
289
  component: ut,
289
290
  componentProps: {
@@ -292,22 +293,22 @@ const Tt = /* @__PURE__ */ at.extend({
292
293
  disabled: !1,
293
294
  editor: t,
294
295
  icon: "Mermaid",
295
- tooltip: e("editor.mermaid.tooltip"),
296
- upload: (f = s == null ? void 0 : s.options) == null ? void 0 : f.upload
296
+ tooltip: a("editor.mermaid.tooltip"),
297
+ upload: (g = r == null ? void 0 : r.options) == null ? void 0 : g.upload
297
298
  }
298
299
  };
299
300
  }
300
301
  };
301
302
  },
302
303
  addAttributes() {
303
- var r;
304
+ var e;
304
305
  return {
305
- ...(r = this.parent) == null ? void 0 : r.call(this),
306
+ ...(e = this.parent) == null ? void 0 : e.call(this),
306
307
  width: {
307
308
  default: null,
308
309
  parseHTML: (t) => {
309
- const e = t.querySelector("img"), s = e == null ? void 0 : e.getAttribute("width");
310
- return s ? Number.parseInt(s, 10) : 320;
310
+ const a = t.querySelector("img"), r = a == null ? void 0 : a.getAttribute("width");
311
+ return r ? Number.parseInt(r, 10) : 320;
311
312
  },
312
313
  renderHTML: (t) => ({
313
314
  width: t.width
@@ -316,8 +317,8 @@ const Tt = /* @__PURE__ */ at.extend({
316
317
  height: {
317
318
  default: null,
318
319
  parseHTML: (t) => {
319
- const e = t.querySelector("img"), s = e == null ? void 0 : e.getAttribute("height");
320
- return s ? Number.parseInt(s, 10) : 212;
320
+ const a = t.querySelector("img"), r = a == null ? void 0 : a.getAttribute("height");
321
+ return r ? Number.parseInt(r, 10) : 212;
321
322
  },
322
323
  renderHTML: (t) => ({
323
324
  height: t.height
@@ -338,18 +339,18 @@ const Tt = /* @__PURE__ */ at.extend({
338
339
  // @ts-ignore
339
340
  addCommands() {
340
341
  return {
341
- setMermaid: (r, t) => ({ commands: e, editor: s }) => t ? e.insertContent({
342
+ setMermaid: (e, t) => ({ commands: a, editor: r }) => t ? a.insertContent({
342
343
  type: this.name,
343
- attrs: r
344
- }) : e.insertContentAt(s.state.selection.anchor, {
344
+ attrs: e
345
+ }) : a.insertContentAt(r.state.selection.anchor, {
345
346
  type: this.name,
346
- attrs: r
347
+ attrs: e
347
348
  }),
348
- setAlignImageMermaid: (r) => ({ commands: t }) => t.updateAttributes(this.name, { align: r })
349
+ setAlignImageMermaid: (e) => ({ commands: t }) => t.updateAttributes(this.name, { align: e })
349
350
  };
350
351
  },
351
- renderHTML({ HTMLAttributes: r }) {
352
- const { align: t } = r;
352
+ renderHTML({ HTMLAttributes: e }) {
353
+ const { align: t } = e;
353
354
  return [
354
355
  "div",
355
356
  // Parent element
@@ -362,7 +363,7 @@ const Tt = /* @__PURE__ */ at.extend({
362
363
  X(
363
364
  // @ts-ignore
364
365
  this.options.HTMLAttributes,
365
- r
366
+ e
366
367
  )
367
368
  ]
368
369
  ];
@@ -371,14 +372,14 @@ const Tt = /* @__PURE__ */ at.extend({
371
372
  return [
372
373
  {
373
374
  tag: "div[class=imageMermaid]",
374
- getAttrs: (r) => {
375
- const t = r.querySelector("img"), e = t == null ? void 0 : t.getAttribute("width"), s = t == null ? void 0 : t.getAttribute("height");
375
+ getAttrs: (e) => {
376
+ const t = e.querySelector("img"), a = t == null ? void 0 : t.getAttribute("width"), r = t == null ? void 0 : t.getAttribute("height");
376
377
  return {
377
378
  src: t == null ? void 0 : t.getAttribute("src"),
378
379
  alt: t == null ? void 0 : t.getAttribute("alt"),
379
- width: e ? Number.parseInt(e, 10) : null,
380
- height: s ? Number.parseInt(s, 10) : null,
381
- align: (t == null ? void 0 : t.getAttribute("align")) || r.style.textAlign || null
380
+ width: a ? Number.parseInt(a, 10) : null,
381
+ height: r ? Number.parseInt(r, 10) : null,
382
+ align: (t == null ? void 0 : t.getAttribute("align")) || e.style.textAlign || null
382
383
  };
383
384
  }
384
385
  }
package/lib/MoreMark.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("./index-ByRfqzMr.cjs"),d=require("./index-Z4b9rzn-.cjs"),c=require("react/jsx-runtime"),m=require("react"),s=require("./RichTextEditor-C8Sm1E6J.cjs");function g(t){var n;const i=m.useMemo(()=>{var r;const e=(r=t==null?void 0:t.items)==null?void 0:r.find(u=>u.isActive());return e&&!e.default?{...e,icon:e!=null&&e.icon?e==null?void 0:e.icon:t==null?void 0:t.icon}:{title:t.tooltip,icon:t.icon,isActive:()=>!1}},[t]);return c.jsxs(s.DropdownMenu,{children:[c.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:t==null?void 0:t.disabled,children:c.jsx(s.ActionButton,{customClass:"!richtext-w-12 richtext-h-12",disabled:t==null?void 0:t.disabled,icon:t==null?void 0:t.icon,tooltip:t==null?void 0:t.tooltip,children:c.jsx(s.MenuDown,{className:"richtext-size-3 richtext-text-gray-500"})})}),c.jsx(s.DropdownMenuContent,{className:"w-full",children:(n=t==null?void 0:t.items)==null?void 0:n.map((e,o)=>c.jsxs(s.DropdownMenuCheckboxItem,{checked:i.title===e.title,className:"richtext-flex richtext-items-center richtext-gap-3",onClick:e.action,children:[c.jsx(s.IconComponent,{name:e==null?void 0:e.icon}),c.jsx("span",{className:"richtext-ml-1",children:e.title}),!!(e!=null&&e.shortcutKeys)&&c.jsx("span",{className:"richtext-ml-auto richtext-text-xs richtext-tracking-widest richtext-opacity-60",children:s.getShortcutKeys(e.shortcutKeys)})]},`more-mark-${o}`))})]})}const f=b.Extension.create({name:"moreMark",addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button({editor:i,extension:n,t:e}){var l,h;const o=n.options.subscript,r=n.options.superscript,u={action:()=>i.commands.toggleSubscript(),isActive:()=>i.isActive("subscript")||!1,disabled:!i.can().toggleSubscript(),icon:"Subscript",title:e("editor.subscript.tooltip"),shortcutKeys:((l=n.options.shortcutKeys)==null?void 0:l[0])??["mod","."]},x={action:()=>i.commands.toggleSuperscript(),isActive:()=>i.isActive("superscript")||!1,disabled:!i.can().toggleSuperscript(),icon:"Superscript",title:e("editor.superscript.tooltip"),shortcutKeys:((h=n.options.shortcutKeys)==null?void 0:h[1])??["mod",","]},a=[];return o!==!1&&a.push(u),r!==!1&&a.push(x),{component:g,componentProps:{icon:"Type",tooltip:e("editor.moremark"),disabled:!i.isEditable,items:a}}}}},addExtensions(){const t=[];return this.options.subscript!==!1&&t.push(d.Subscript.configure(this.options.subscript)),this.options.superscript!==!1&&t.push(d.Superscript.configure(this.options.superscript)),t}});exports.MoreMark=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("./index-ByRfqzMr.cjs"),d=require("./index-Z4b9rzn-.cjs"),c=require("react/jsx-runtime"),m=require("react"),s=require("./RichTextEditor-DWlLqTl9.cjs");function g(t){var n;const i=m.useMemo(()=>{var r;const e=(r=t==null?void 0:t.items)==null?void 0:r.find(u=>u.isActive());return e&&!e.default?{...e,icon:e!=null&&e.icon?e==null?void 0:e.icon:t==null?void 0:t.icon}:{title:t.tooltip,icon:t.icon,isActive:()=>!1}},[t]);return c.jsxs(s.DropdownMenu,{children:[c.jsx(s.DropdownMenuTrigger,{asChild:!0,disabled:t==null?void 0:t.disabled,children:c.jsx(s.ActionButton,{customClass:"!richtext-w-12 richtext-h-12",disabled:t==null?void 0:t.disabled,icon:t==null?void 0:t.icon,tooltip:t==null?void 0:t.tooltip,children:c.jsx(s.MenuDown,{className:"richtext-size-3 richtext-text-gray-500"})})}),c.jsx(s.DropdownMenuContent,{className:"w-full",children:(n=t==null?void 0:t.items)==null?void 0:n.map((e,o)=>c.jsxs(s.DropdownMenuCheckboxItem,{checked:i.title===e.title,className:"richtext-flex richtext-items-center richtext-gap-3",onClick:e.action,children:[c.jsx(s.IconComponent,{name:e==null?void 0:e.icon}),c.jsx("span",{className:"richtext-ml-1",children:e.title}),!!(e!=null&&e.shortcutKeys)&&c.jsx("span",{className:"richtext-ml-auto richtext-text-xs richtext-tracking-widest richtext-opacity-60",children:s.getShortcutKeys(e.shortcutKeys)})]},`more-mark-${o}`))})]})}const f=b.Extension.create({name:"moreMark",addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button({editor:i,extension:n,t:e}){var l,h;const o=n.options.subscript,r=n.options.superscript,u={action:()=>i.commands.toggleSubscript(),isActive:()=>i.isActive("subscript")||!1,disabled:!i.can().toggleSubscript(),icon:"Subscript",title:e("editor.subscript.tooltip"),shortcutKeys:((l=n.options.shortcutKeys)==null?void 0:l[0])??["mod","."]},x={action:()=>i.commands.toggleSuperscript(),isActive:()=>i.isActive("superscript")||!1,disabled:!i.can().toggleSuperscript(),icon:"Superscript",title:e("editor.superscript.tooltip"),shortcutKeys:((h=n.options.shortcutKeys)==null?void 0:h[1])??["mod",","]},a=[];return o!==!1&&a.push(u),r!==!1&&a.push(x),{component:g,componentProps:{icon:"Type",tooltip:e("editor.moremark"),disabled:!i.isEditable,items:a}}}}},addExtensions(){const t=[];return this.options.subscript!==!1&&t.push(d.Subscript.configure(this.options.subscript)),this.options.superscript!==!1&&t.push(d.Superscript.configure(this.options.superscript)),t}});exports.MoreMark=f;