rme 0.3.4 → 0.3.5

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 (2) hide show
  1. package/dist/index.mjs +54 -54
  2. package/package.json +7 -7
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- var qa=Object.defineProperty;var Ga=Object.getOwnPropertyDescriptor;var M=(e,t,o,r)=>{for(var n=r>1?void 0:r?Ga(t,o):t,i=e.length-1,s;i>=0;i--)(s=e[i])&&(n=(r?s(t,o,n):s(n))||n);return r&&n&&qa(t,o,n),n};import{createTheme as Ao}from"@drl990114/codemirror-themes";import{indentWithTab as nl}from"@codemirror/commands";import{ensureSyntaxTree as il}from"@codemirror/language";import{languages as sl}from"@codemirror/language-data";import{SearchQuery as Ln}from"@codemirror/search";import{EditorState as Mn,Compartment as Bo,RangeSetBuilder as al,StateEffect as ll,StateField as cl}from"@codemirror/state";import{Decoration as Ho,EditorView as Pn,keymap as dl,ViewPlugin as ml}from"@codemirror/view";import{assertGet as pl,isPromise as ul,replaceNodeAtPosition as fl}from"@rme-sdk/core";import{exitCode as Nn}from"@rme-sdk/pm/commands";import{redo as Rn,undo as hl}from"@rme-sdk/pm/history";import{Selection as gl,TextSelection as In}from"@rme-sdk/pm/state";import{nanoid as bl}from"nanoid";import{redo as Xa,undo as Ya}from"@codemirror/commands";var an=(e,t)=>e.filter(o=>!t.includes(o));function T(){return typeof window<"u"&&typeof document<"u"}function Tt(){return!T()||!navigator.clipboard?Promise.resolve({html:"",text:""}):navigator.clipboard.read().then(async e=>{let t="",o="",r=e.find(a=>a.types.includes("text/html")),n=e.find(a=>a.types.includes("text/plain")),i=async()=>{r&&(t=await(await r.getType("text/html")).text())},s=async()=>{n&&(o=await(await n.getType("text/plain")).text())};return await Promise.all([i(),s()]),{html:t,text:o}})}import{EditorSelection as Ne}from"@codemirror/state";var ja=/^\[([^\]]+)\]\((.+?)\)|(((?:(?:aaas?|about|acap|adiumxtra|af[ps]|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|cap|chrome(?:-extension)?|cid|coap|com-eventbrite-attendee|content|crid|cvs|data|dav|dict|dlna-(?:playcontainer|playsingle)|dns|doi|dtn|dvb|ed2k|facetime|feed|file|finger|fish|ftp|geo|gg|git|gizmoproject|go|gopher|gtalk|h323|hcp|https?|iax|icap|icon|im|imap|info|ipn|ipp|irc[6s]?|iris(?:\.beep|\.lwz|\.xpc|\.xpcs)?|itms|jar|javascript|jms|keyparc|lastfm|ldaps?|magnet|mailto|maps|market|message|mid|mms|ms-help|msnim|msrps?|mtqp|mumble|mupdate|mvn|news|nfs|nih?|nntp|notes|oid|opaquelocktoken|palm|paparazzi|platform|pop|pres|proxy|psyc|query|res(?:ource)?|rmi|rsync|rtmp|rtsp|secondlife|service|session|sftp|sgn|shttp|sieve|sips?|skype|sm[bs]|snmp|soap\.beeps?|soldat|spotify|ssh|steam|svn|tag|teamspeak|tel(?:net)?|tftp|things|thismessage|tip|tn3270|tv|udp|unreal|urn|ut2004|vemmi|ventrilo|view-source|webcal|wss?|wtai|wyciwyg|xcon(?:-userid)?|xfire|xmlrpc\.beeps?|xmpp|xri|ymsgr|z39\.50[rs]?):(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.-]+[.][a-z]{2,4}\/)(?:[^\s()<>]|\([^\s()<>]*\))+(?:\([^\s()<>]*\)|[^\s`*!()[\]{};:'".,<>?«»“”‘’])))|([a-z0-9.\-_+]+?@[a-z0-9.\-_+]+\.[a-z]{2,7})$/i;function ln(e,t){let o=t.type==="image"?"!":"";return t.clipboardReadFunction?.().then(({text:r})=>{let n=ja.test(r)?r:"",i=e.state.changeByRange(({from:s,to:a})=>{let l=e.state.sliceDoc(s,a),c=1;return l.length>0&&n.length>0?c=4+l.length+n.length:l.length>0&&n.length===0&&(c=3+l.length),t.type==="image"&&c++,{changes:{from:s,to:a,insert:`${o}[${l}](${n})`},range:Ne.cursor(s+c)}});e.dispatch(i)}).catch(r=>console.error(r)),!0}function Qa(e){let t;return(t=/^#{1,6}\s+/.exec(e))!==null?e.substring(t[0].length):(t=/^(\s{,3})>\s/.exec(e))!==null?t[1]+e.substring(t[0].length):e}function Re(e,t){let o=e.state.changeByRange(r=>{let n=e.state.doc.lineAt(r.from).number,i=e.state.doc.lineAt(r.to).number,s=[],a=0;for(let l=n;l<=i;l++){let c=e.state.doc.line(l),d=Qa(c.text);a+=c.text.length-d.length+t.length+1,s.push({from:c.from,to:c.to,insert:t+" "+d})}return{changes:s,range:Ne.range(r.to,r.to)}});e.dispatch(o)}function vt(e,t,o){let r=e.state.changeByRange(n=>{let i=e.state.sliceDoc(n.from,n.to),s=e.state.sliceDoc(n.from-t.length,n.from),a=e.state.sliceDoc(n.to,n.to+o.length);return s===t&&a===o?{changes:{from:n.from-t.length,to:n.to+o.length,insert:i},range:Ne.range(n.from-t.length,n.from-t.length+i.length)}:i.startsWith(t)&&i.endsWith(o)?{changes:{from:n.from,to:n.to,insert:i.substring(t.length,i.length-o.length)},range:Ne.range(n.from,n.from+i.length-t.length-o.length)}:a===o&&n.empty?{range:Ne.cursor(n.to+o.length)}:{changes:{from:n.from,to:n.to,insert:t+i+o},range:Ne.range(n.from+t.length,n.from+t.length+i.length)}});e.dispatch(r)}function Lo({type:e,options:t}){return e==="link"?o=>ln(o,{...t,type:e}):o=>ln(o,{...t,type:e})}function cn(e){let t="**";return vt(e,t,t),!0}function dn(e){let t="*";return vt(e,t,t),!0}function mn(e){return vt(e,"`","`"),!0}function pn(e){return Re(e,"#"),!0}function un(e){return Re(e,"##"),!0}function fn(e){return Re(e,"###"),!0}function hn(e){return Re(e,"####"),!0}function gn(e){return Re(e,"#####"),!0}function bn(e){return Re(e,"######"),!0}function yn(e){return vt(e,"~~","~~"),!0}var Ja={copy:"mod-c",paste:"mod-v",undo:"mod-z",redo:"mod-shift-z",cut:"mod-x",toggleH1:"mod-1",toggleH2:"mod-2",toggleH3:"mod-3",toggleH4:"mod-4",toggleH5:"mod-5",toggleH6:"mod-6",toggleStrong:"mod-b",toggleEmphasis:"mod-i",toggleCodeText:"mod-e",toggleDelete:"mod-shift-s",insertLink:"mod-k",insertImage:"mod-alt-i"};function xn(e={}){let{overrideShortcutMap:t={},disableAllBuildInShortcuts:o=!1}=e,r=o?{}:{...Ja};Object.assign(r,t),delete r.paste;let n=[];return r.undo&&n.push({key:r.undo,run:Ya,preventDefault:!0}),r.redo&&n.push({key:r.redo,run:Xa,preventDefault:!0}),r.toggleStrong&&n.push({key:r.toggleStrong,run:cn}),r.toggleEmphasis&&n.push({key:r.toggleEmphasis,run:dn}),r.toggleCodeText&&n.push({key:r.toggleCodeText,run:mn}),r.toggleDelete&&n.push({key:r.toggleDelete,run:yn}),r.insertLink&&n.push({key:r.insertLink,run:Lo({type:"link",options:e})}),r.insertImage&&n.push({key:r.insertImage,run:Lo({type:"image",options:e})}),r.toggleH1&&n.push({key:r.toggleH1,run:pn}),r.toggleH2&&n.push({key:r.toggleH2,run:un}),r.toggleH3&&n.push({key:r.toggleH3,run:fn}),r.toggleH4&&n.push({key:r.toggleH4,run:hn}),r.toggleH5&&n.push({key:r.toggleH5,run:gn}),r.toggleH6&&n.push({key:r.toggleH6,run:bn}),r.copy&&n.push({key:r.copy,run:i=>(T()&&document.execCommand("copy"),!0),preventDefault:!0}),r.paste&&n.push({key:r.paste,run:i=>((e.clipboardReadFunction||Tt)().then(({text:a})=>{if(a&&i){let l=typeof a=="string"?a:"",d=i.state.selection.main.from+l.length;i.dispatch({changes:{from:i.state.selection.main.from,to:i.state.selection.main.to,insert:l},selection:{anchor:d,head:d}})}}).catch(a=>{console.error("Failed to read clipboard:",a)}),!0),preventDefault:!0}),r.cut&&n.push({key:r.cut,run:i=>(T()&&document.execCommand("cut"),!0),preventDefault:!0}),n}import{tags as P}from"@lezer/highlight";var kn={theme:"dark",settings:{background:"#11191f",foreground:"#c9d1d9",caret:"#c9d1d9",selection:"#1c78aa",selectionMatch:"#1c78aa",lineHighlight:"#36334280"},styles:[{tag:[P.standard(P.tagName),P.tagName],color:"#7ee787"},{tag:[P.comment,P.bracket],color:"#8b949e"},{tag:[P.className,P.propertyName],color:"#d2a8ff"},{tag:[P.variableName,P.attributeName,P.number,P.operator],color:"#D19A66"},{tag:[P.keyword,P.typeName,P.typeOperator,P.typeName],color:"#ff7b72"},{tag:[P.string,P.meta,P.regexp],color:"#98C379"},{tag:[P.name,P.quote],color:"#7ee787"},{tag:[P.heading],color:"#E06C75",fontWeight:"bold"},{tag:[P.emphasis],color:"#d2a8ff",fontStyle:"italic"},{tag:[P.deleted],color:"#ffdcd7",backgroundColor:"ffeef0"},{tag:[P.atom,P.bool,P.special(P.variableName)],color:"#ffab70"},{tag:[P.url,P.escape,P.link],color:"#D19A66"},{tag:P.link,textDecoration:"underline"},{tag:P.strikethrough,textDecoration:"line-through"},{tag:P.invalid,color:"#f97583"},{tag:P.strong,color:"#98C379",fontWeight:"bold"}]};import{tags as N}from"@lezer/highlight";var Cn={theme:"light",settings:{background:"#fdfdfd",foreground:"#24292e",selection:"#0369a1",selectionMatch:"#0369a1",gutterBackground:"#fdfdfd",gutterForeground:"#fdfdfd"},styles:[{tag:[N.standard(N.tagName),N.tagName],color:"#116329"},{tag:[N.comment,N.bracket],color:"#6a737d"},{tag:[N.className,N.propertyName],color:"#6f42c1"},{tag:[N.variableName,N.attributeName,N.number,N.operator],color:"#0000CC"},{tag:[N.keyword,N.typeName,N.typeOperator],color:"#d73a49"},{tag:[N.string,N.meta,N.regexp],color:"#0055AA"},{tag:[N.name,N.quote],color:"#22863a"},{tag:[N.heading],color:"#0000FF",fontWeight:"bold"},{tag:[N.emphasis],color:"#24292e",fontStyle:"italic"},{tag:[N.deleted],color:"#b31d28",backgroundColor:"ffeef0"},{tag:[N.atom,N.bool,N.special(N.variableName)],color:"#e36209"},{tag:[N.url,N.escape,N.link],color:"#E06C75"},{tag:N.link,textDecoration:"underline"},{tag:N.strikethrough,textDecoration:"line-through",color:"red"},{tag:N.invalid,color:"#cb2431"},{tag:N.strong,color:"#0055AA",fontWeight:"bold"}]};var wn={primaryFontColor:"#c8d1d9",labelFontColor:"rgba(255, 255, 255, 0.5)",accentColor:"#016ab3",borderColor:"#363b41",bgColor:"#05010d",hoverColor:"#1f2225",warnColor:"#e2b340",dangerColor:"#dc2626",tipsBgColor:"#0e1419",successColor:"#00c853",boxShadowColor:"rgba(255, 255, 255, 0.04)",nodeSelectedColor:"#193048",markBgColor:"#fff8c5",markFontColor:"#000",imgBgColor:"#0f0f0f",hrBgColor:"#30363d",hrBorderColor:"#21262d",placeholderFontColor:"#6e7681",kbdBgColor:"#161b22",kbdBorderColor:"rgba(110, 118, 129, 0.4)",kbdFontColor:"#c9d1d9",blockquoteBorderColor:"#30363d",blockquoteFontColor:"#8b949e",tableTdBorderColor:"#30363d",tableTrBgColor:"#0f0f0f",tableTrDeepBgColor:"#161b22",tableTrBorderColor:"#21262d",tableSelectorBgColor:"#333333",tableSelectorBgHoverColor:"#555555",tableSelectorBorderColor:"#555555",tableSelectorHightColor:"#003366",tableSelectorHightHoverColor:"#224466",tableSelectorHightBorderColor:"#003366",tableSelectorCellBgColor:"#224466",tableSelectorCellBorderColor:"#003366",codeBgColor:"#6e768166",preBgColor:"#252525",contextMenuBgColor:"#1E1F20",contextMenuBgColorActive:"#1A1A1A",contextMenuBgColorHover:"#2D3134",slashMenuBorderColor:"rgb(38 38 38 / 1)",editorToolbarBgColor:"#1b1b1b",selectionMatchBgColor:"#7f7a5b"};var En={primaryFontColor:"#000000",labelFontColor:"#9ca3af",accentColor:"#007acc",borderColor:"#d7d7dc",bgColor:"#fdfdfd",hoverColor:"#d7d7dc",warnColor:"#e2b340",dangerColor:"#dc2626",tipsBgColor:"#f6f7f9",successColor:"#00c853",boxShadowColor:"rgba(0, 0, 0, 0.08)",nodeSelectedColor:"#3988ff33",markBgColor:"#fff8c5",markFontColor:"#24292f",imgBgColor:"#ffffff",hrBgColor:"#d0d7de",hrBorderColor:"#d8dee4",placeholderFontColor:"#6e7681",kbdBgColor:"#e5e5e5",kbdBorderColor:"#afb8c133",kbdFontColor:"#24292f",blockquoteBorderColor:"#d0d7de",blockquoteFontColor:"#57606a",tableTdBorderColor:"#d0d7de",tableTrBgColor:"#ffffff",tableTrDeepBgColor:"#f6f6f6",tableTrBorderColor:"#d8dee4",tableSelectorBgColor:"#e5e5e5",tableSelectorBgHoverColor:"#c6c6c6",tableSelectorBorderColor:"#c6c6c6",tableSelectorHightColor:"#5ea5f6",tableSelectorHightHoverColor:"#91bbe5",tableSelectorHightBorderColor:"#1c7ed6",tableSelectorCellBgColor:"#d7ecf9",tableSelectorCellBorderColor:"#1c7ed6",codeBgColor:"#afb8c133",preBgColor:"#e7e7e7",contextMenuBgColor:"#f6f7f9",contextMenuBgColorActive:"#F2F2F2",contextMenuBgColorHover:"#E8E8EC",slashMenuBorderColor:"rgb(229 229 229 / 1)",editorToolbarBgColor:"#EBEBEC",selectionMatchBgColor:"#fff8c5"};import el,{css as tl}from"styled-components";import{css as Za}from"styled-components";var Sn=Za`
1
+ var Ga=Object.defineProperty;var ja=Object.getOwnPropertyDescriptor;var M=(e,t,o,r)=>{for(var n=r>1?void 0:r?ja(t,o):t,i=e.length-1,s;i>=0;i--)(s=e[i])&&(n=(r?s(t,o,n):s(n))||n);return r&&n&&Ga(t,o,n),n};import{createTheme as Lo}from"@drl990114/codemirror-themes";import{indentWithTab as il}from"@codemirror/commands";import{ensureSyntaxTree as sl}from"@codemirror/language";import{languages as al}from"@codemirror/language-data";import{SearchQuery as _n}from"@codemirror/search";import{EditorState as Pn,Compartment as Oo,RangeSetBuilder as ll,StateEffect as cl,StateField as dl}from"@codemirror/state";import{Decoration as Do,EditorView as Nn,keymap as ml,ViewPlugin as pl}from"@codemirror/view";import{assertGet as ul,isPromise as fl,replaceNodeAtPosition as hl}from"@rme-sdk/core";import{exitCode as Rn}from"@rme-sdk/pm/commands";import{redo as In,undo as gl}from"@rme-sdk/pm/history";import{Selection as bl,TextSelection as An}from"@rme-sdk/pm/state";import{nanoid as yl}from"nanoid";import{redo as Ya,undo as Ja}from"@codemirror/commands";var ln=(e,t)=>e.filter(o=>!t.includes(o));function T(){return typeof window<"u"&&typeof document<"u"}function vt(){return!T()||!navigator.clipboard?Promise.resolve({html:"",text:""}):navigator.clipboard.read().then(async e=>{let t="",o="",r=e.find(a=>a.types.includes("text/html")),n=e.find(a=>a.types.includes("text/plain")),i=async()=>{r&&(t=await(await r.getType("text/html")).text())},s=async()=>{n&&(o=await(await n.getType("text/plain")).text())};return await Promise.all([i(),s()]),{html:t,text:o}})}import{EditorSelection as Ne}from"@codemirror/state";var Qa=/^\[([^\]]+)\]\((.+?)\)|(((?:(?:aaas?|about|acap|adiumxtra|af[ps]|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|cap|chrome(?:-extension)?|cid|coap|com-eventbrite-attendee|content|crid|cvs|data|dav|dict|dlna-(?:playcontainer|playsingle)|dns|doi|dtn|dvb|ed2k|facetime|feed|file|finger|fish|ftp|geo|gg|git|gizmoproject|go|gopher|gtalk|h323|hcp|https?|iax|icap|icon|im|imap|info|ipn|ipp|irc[6s]?|iris(?:\.beep|\.lwz|\.xpc|\.xpcs)?|itms|jar|javascript|jms|keyparc|lastfm|ldaps?|magnet|mailto|maps|market|message|mid|mms|ms-help|msnim|msrps?|mtqp|mumble|mupdate|mvn|news|nfs|nih?|nntp|notes|oid|opaquelocktoken|palm|paparazzi|platform|pop|pres|proxy|psyc|query|res(?:ource)?|rmi|rsync|rtmp|rtsp|secondlife|service|session|sftp|sgn|shttp|sieve|sips?|skype|sm[bs]|snmp|soap\.beeps?|soldat|spotify|ssh|steam|svn|tag|teamspeak|tel(?:net)?|tftp|things|thismessage|tip|tn3270|tv|udp|unreal|urn|ut2004|vemmi|ventrilo|view-source|webcal|wss?|wtai|wyciwyg|xcon(?:-userid)?|xfire|xmlrpc\.beeps?|xmpp|xri|ymsgr|z39\.50[rs]?):(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.-]+[.][a-z]{2,4}\/)(?:[^\s()<>]|\([^\s()<>]*\))+(?:\([^\s()<>]*\)|[^\s`*!()[\]{};:'".,<>?«»“”‘’])))|([a-z0-9.\-_+]+?@[a-z0-9.\-_+]+\.[a-z]{2,7})$/i;function cn(e,t){let o=t.type==="image"?"!":"";return t.clipboardReadFunction?.().then(({text:r})=>{let n=Qa.test(r)?r:"",i=e.state.changeByRange(({from:s,to:a})=>{let l=e.state.sliceDoc(s,a),c=1;return l.length>0&&n.length>0?c=4+l.length+n.length:l.length>0&&n.length===0&&(c=3+l.length),t.type==="image"&&c++,{changes:{from:s,to:a,insert:`${o}[${l}](${n})`},range:Ne.cursor(s+c)}});e.dispatch(i)}).catch(r=>console.error(r)),!0}function Xa(e){let t;return(t=/^#{1,6}\s+/.exec(e))!==null?e.substring(t[0].length):(t=/^(\s{,3})>\s/.exec(e))!==null?t[1]+e.substring(t[0].length):e}function Re(e,t){let o=e.state.changeByRange(r=>{let n=e.state.doc.lineAt(r.from).number,i=e.state.doc.lineAt(r.to).number,s=[],a=0;for(let l=n;l<=i;l++){let c=e.state.doc.line(l),d=Xa(c.text);a+=c.text.length-d.length+t.length+1,s.push({from:c.from,to:c.to,insert:t+" "+d})}return{changes:s,range:Ne.range(r.to,r.to)}});e.dispatch(o)}function Mt(e,t,o){let r=e.state.changeByRange(n=>{let i=e.state.sliceDoc(n.from,n.to),s=e.state.sliceDoc(n.from-t.length,n.from),a=e.state.sliceDoc(n.to,n.to+o.length);return s===t&&a===o?{changes:{from:n.from-t.length,to:n.to+o.length,insert:i},range:Ne.range(n.from-t.length,n.from-t.length+i.length)}:i.startsWith(t)&&i.endsWith(o)?{changes:{from:n.from,to:n.to,insert:i.substring(t.length,i.length-o.length)},range:Ne.range(n.from,n.from+i.length-t.length-o.length)}:a===o&&n.empty?{range:Ne.cursor(n.to+o.length)}:{changes:{from:n.from,to:n.to,insert:t+i+o},range:Ne.range(n.from+t.length,n.from+t.length+i.length)}});e.dispatch(r)}function _o({type:e,options:t}){return e==="link"?o=>cn(o,{...t,type:e}):o=>cn(o,{...t,type:e})}function dn(e){let t="**";return Mt(e,t,t),!0}function mn(e){let t="*";return Mt(e,t,t),!0}function pn(e){return Mt(e,"`","`"),!0}function un(e){return Re(e,"#"),!0}function fn(e){return Re(e,"##"),!0}function hn(e){return Re(e,"###"),!0}function gn(e){return Re(e,"####"),!0}function bn(e){return Re(e,"#####"),!0}function yn(e){return Re(e,"######"),!0}function xn(e){return Mt(e,"~~","~~"),!0}var Za={copy:"mod-c",paste:"mod-v",undo:"mod-z",redo:"mod-shift-z",cut:"mod-x",toggleH1:"mod-1",toggleH2:"mod-2",toggleH3:"mod-3",toggleH4:"mod-4",toggleH5:"mod-5",toggleH6:"mod-6",toggleStrong:"mod-b",toggleEmphasis:"mod-i",toggleCodeText:"mod-e",toggleDelete:"mod-shift-s",insertLink:"mod-k",insertImage:"mod-alt-i"};function kn(e={}){let{overrideShortcutMap:t={},disableAllBuildInShortcuts:o=!1}=e,r=o?{}:{...Za};Object.assign(r,t),delete r.paste;let n=[];return r.undo&&n.push({key:r.undo,run:Ja,preventDefault:!0}),r.redo&&n.push({key:r.redo,run:Ya,preventDefault:!0}),r.toggleStrong&&n.push({key:r.toggleStrong,run:dn}),r.toggleEmphasis&&n.push({key:r.toggleEmphasis,run:mn}),r.toggleCodeText&&n.push({key:r.toggleCodeText,run:pn}),r.toggleDelete&&n.push({key:r.toggleDelete,run:xn}),r.insertLink&&n.push({key:r.insertLink,run:_o({type:"link",options:e})}),r.insertImage&&n.push({key:r.insertImage,run:_o({type:"image",options:e})}),r.toggleH1&&n.push({key:r.toggleH1,run:un}),r.toggleH2&&n.push({key:r.toggleH2,run:fn}),r.toggleH3&&n.push({key:r.toggleH3,run:hn}),r.toggleH4&&n.push({key:r.toggleH4,run:gn}),r.toggleH5&&n.push({key:r.toggleH5,run:bn}),r.toggleH6&&n.push({key:r.toggleH6,run:yn}),r.copy&&n.push({key:r.copy,run:i=>(T()&&document.execCommand("copy"),!0),preventDefault:!0}),r.paste&&n.push({key:r.paste,run:i=>((e.clipboardReadFunction||vt)().then(({text:a})=>{if(a&&i){let l=typeof a=="string"?a:"",d=i.state.selection.main.from+l.length;i.dispatch({changes:{from:i.state.selection.main.from,to:i.state.selection.main.to,insert:l},selection:{anchor:d,head:d}})}}).catch(a=>{console.error("Failed to read clipboard:",a)}),!0),preventDefault:!0}),r.cut&&n.push({key:r.cut,run:i=>(T()&&document.execCommand("cut"),!0),preventDefault:!0}),n}import{tags as P}from"@lezer/highlight";var Cn={theme:"dark",settings:{background:"#11191f",foreground:"#c9d1d9",caret:"#c9d1d9",selection:"#1c78aa",selectionMatch:"#1c78aa",lineHighlight:"#36334280"},styles:[{tag:[P.standard(P.tagName),P.tagName],color:"#7ee787"},{tag:[P.comment,P.bracket],color:"#8b949e"},{tag:[P.className,P.propertyName],color:"#d2a8ff"},{tag:[P.variableName,P.attributeName,P.number,P.operator],color:"#D19A66"},{tag:[P.keyword,P.typeName,P.typeOperator,P.typeName],color:"#ff7b72"},{tag:[P.string,P.meta,P.regexp],color:"#98C379"},{tag:[P.name,P.quote],color:"#7ee787"},{tag:[P.heading],color:"#E06C75",fontWeight:"bold"},{tag:[P.emphasis],color:"#d2a8ff",fontStyle:"italic"},{tag:[P.deleted],color:"#ffdcd7",backgroundColor:"ffeef0"},{tag:[P.atom,P.bool,P.special(P.variableName)],color:"#ffab70"},{tag:[P.url,P.escape,P.link],color:"#D19A66"},{tag:P.link,textDecoration:"underline"},{tag:P.strikethrough,textDecoration:"line-through"},{tag:P.invalid,color:"#f97583"},{tag:P.strong,color:"#98C379",fontWeight:"bold"}]};import{tags as N}from"@lezer/highlight";var wn={theme:"light",settings:{background:"#fdfdfd",foreground:"#24292e",selection:"#0369a1",selectionMatch:"#0369a1",gutterBackground:"#fdfdfd",gutterForeground:"#fdfdfd"},styles:[{tag:[N.standard(N.tagName),N.tagName],color:"#116329"},{tag:[N.comment,N.bracket],color:"#6a737d"},{tag:[N.className,N.propertyName],color:"#6f42c1"},{tag:[N.variableName,N.attributeName,N.number,N.operator],color:"#0000CC"},{tag:[N.keyword,N.typeName,N.typeOperator],color:"#d73a49"},{tag:[N.string,N.meta,N.regexp],color:"#0055AA"},{tag:[N.name,N.quote],color:"#22863a"},{tag:[N.heading],color:"#0000FF",fontWeight:"bold"},{tag:[N.emphasis],color:"#24292e",fontStyle:"italic"},{tag:[N.deleted],color:"#b31d28",backgroundColor:"ffeef0"},{tag:[N.atom,N.bool,N.special(N.variableName)],color:"#e36209"},{tag:[N.url,N.escape,N.link],color:"#E06C75"},{tag:N.link,textDecoration:"underline"},{tag:N.strikethrough,textDecoration:"line-through",color:"red"},{tag:N.invalid,color:"#cb2431"},{tag:N.strong,color:"#0055AA",fontWeight:"bold"}]};var En={primaryFontColor:"#c8d1d9",labelFontColor:"rgba(255, 255, 255, 0.5)",accentColor:"#016ab3",borderColor:"#363b41",bgColor:"#05010d",hoverColor:"#1f2225",warnColor:"#e2b340",dangerColor:"#dc2626",tipsBgColor:"#0e1419",successColor:"#00c853",boxShadowColor:"rgba(255, 255, 255, 0.04)",nodeSelectedColor:"#193048",markBgColor:"#fff8c5",markFontColor:"#000",imgBgColor:"#0f0f0f",hrBgColor:"#30363d",hrBorderColor:"#21262d",placeholderFontColor:"#6e7681",kbdBgColor:"#161b22",kbdBorderColor:"rgba(110, 118, 129, 0.4)",kbdFontColor:"#c9d1d9",blockquoteBorderColor:"#30363d",blockquoteFontColor:"#8b949e",tableTdBorderColor:"#30363d",tableTrBgColor:"#0f0f0f",tableTrDeepBgColor:"#161b22",tableTrBorderColor:"#21262d",tableSelectorBgColor:"#333333",tableSelectorBgHoverColor:"#555555",tableSelectorBorderColor:"#555555",tableSelectorHightColor:"#003366",tableSelectorHightHoverColor:"#224466",tableSelectorHightBorderColor:"#003366",tableSelectorCellBgColor:"#224466",tableSelectorCellBorderColor:"#003366",codeBgColor:"#6e768166",preBgColor:"#252525",contextMenuBgColor:"#1E1F20",contextMenuBgColorActive:"#1A1A1A",contextMenuBgColorHover:"#2D3134",slashMenuBorderColor:"rgb(38 38 38 / 1)",editorToolbarBgColor:"#1b1b1b",selectionMatchBgColor:"#7f7a5b"};var Sn={primaryFontColor:"#000000",labelFontColor:"#9ca3af",accentColor:"#007acc",borderColor:"#d7d7dc",bgColor:"#fdfdfd",hoverColor:"#d7d7dc",warnColor:"#e2b340",dangerColor:"#dc2626",tipsBgColor:"#f6f7f9",successColor:"#00c853",boxShadowColor:"rgba(0, 0, 0, 0.08)",nodeSelectedColor:"#3988ff33",markBgColor:"#fff8c5",markFontColor:"#24292f",imgBgColor:"#ffffff",hrBgColor:"#d0d7de",hrBorderColor:"#d8dee4",placeholderFontColor:"#6e7681",kbdBgColor:"#e5e5e5",kbdBorderColor:"#afb8c133",kbdFontColor:"#24292f",blockquoteBorderColor:"#d0d7de",blockquoteFontColor:"#57606a",tableTdBorderColor:"#d0d7de",tableTrBgColor:"#ffffff",tableTrDeepBgColor:"#f6f6f6",tableTrBorderColor:"#d8dee4",tableSelectorBgColor:"#e5e5e5",tableSelectorBgHoverColor:"#c6c6c6",tableSelectorBorderColor:"#c6c6c6",tableSelectorHightColor:"#5ea5f6",tableSelectorHightHoverColor:"#91bbe5",tableSelectorHightBorderColor:"#1c7ed6",tableSelectorCellBgColor:"#d7ecf9",tableSelectorCellBorderColor:"#1c7ed6",codeBgColor:"#afb8c133",preBgColor:"#e7e7e7",contextMenuBgColor:"#f6f7f9",contextMenuBgColorActive:"#F2F2F2",contextMenuBgColorHover:"#E8E8EC",slashMenuBorderColor:"rgb(229 229 229 / 1)",editorToolbarBgColor:"#EBEBEC",selectionMatchBgColor:"#fff8c5"};import tl,{css as ol}from"styled-components";import{css as el}from"styled-components";var Tn=el`
2
2
  --prosekit-list-bullet-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='2.5' fill='currentColor'/%3E%3C/svg%3E");
3
3
  --prosekit-list-toggle-open-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpolygon points='8,10 12,14 16,10' fill='currentColor'/%3E%3C/svg%3E");
4
4
  --prosekit-list-toggle-closed-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpolygon points='10,8 14,12 10,16' fill='currentColor'/%3E%3C/svg%3E");
@@ -146,7 +146,7 @@ var qa=Object.defineProperty;var Ga=Object.getOwnPropertyDescriptor;var M=(e,t,o
146
146
  }
147
147
  }
148
148
  }
149
- `;var Mt=el.div.attrs(e=>({rootFontSize:"15px",rootLineHeight:"1.6",...e}))`
149
+ `;var Pt=tl.div.attrs(e=>({rootFontSize:"15px",rootLineHeight:"1.6",...e}))`
150
150
  width: 100%;
151
151
  position: relative;
152
152
  /* white-space: pre-wrap; */
@@ -1296,12 +1296,12 @@ var qa=Object.defineProperty;var Ga=Object.getOwnPropertyDescriptor;var M=(e,t,o
1296
1296
  }
1297
1297
 
1298
1298
  /* Import flat list styles */
1299
- ${Sn}
1299
+ ${Tn}
1300
1300
 
1301
- ${e=>e.dark&&tl`
1301
+ ${e=>e.dark&&ol`
1302
1302
  color-scheme: dark;
1303
1303
  `}
1304
- `;import ol,{css as rl}from"styled-components";var Tn=ol.div.attrs(e=>({rootFontSize:"15px",rootLineHeight:"1.6",...e}))`
1304
+ `;import rl,{css as nl}from"styled-components";var vn=rl.div.attrs(e=>({rootFontSize:"15px",rootLineHeight:"1.6",...e}))`
1305
1305
  width: 100%;
1306
1306
  position: relative;
1307
1307
  white-space: pre-wrap;
@@ -1373,33 +1373,33 @@ var qa=Object.defineProperty;var Ga=Object.getOwnPropertyDescriptor;var M=(e,t,o
1373
1373
  color: #222;
1374
1374
  }
1375
1375
 
1376
- ${e=>e.dark&&rl`
1376
+ ${e=>e.dark&&nl`
1377
1377
  color-scheme: dark;
1378
1378
  `}
1379
- `;var zx=15,vn={lineHeightBase:"1.6",titleBarHeight:"30px",titleBarControlBtnWidth:"50px",fontBase:"15px",fontSm:"14px",fontXs:"12px",spaceXs:"4px",spaceSm:"8px",spaceBase:"10px",spaceL:"12px",spaceXl:"16px",smallBorderRadius:"4px",midBorderRadius:"8px",bigBorderRadius:"12px",black:"#74757D",white:"#E0E0E0",gray:"#C0C0C0",blue:"#0359D0",fontFamily:"'Open Sans', 'Clear Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif",codemirrorFontFamily:"'DejaVu Sans Mono', 'Source Code Pro', 'Droid Sans Mono', Consolas, monospace"},_o={codemirrorTheme:kn,styledConstants:{...vn,...wn}},st={codemirrorTheme:Cn,styledConstants:{...vn,...En}};var at=new Map,Oo={current:Ao(st.codemirrorTheme)},_n=ll.define(),Pt=cl.define({create(){return{query:new Ln({search:""}),active:null}},update(e,t){for(let o of t.effects)if(o.is(_n))return o.value;return e}}),yl=Ho.mark({class:"cm-search-match"}),xl=Ho.mark({class:"cm-search-active"}),kl=e=>{let t=[],o=[...e??[]];for(;o.length>0;){let r=o.shift();if(r){if(Array.isArray(r)){o.unshift(...r);continue}t.push(r)}}return t},Cl=ml.fromClass(class{constructor(e){this.decorations=this.buildDecorations(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.field(Pt)!==e.state.field(Pt))&&(this.decorations=this.buildDecorations(e.view))}buildDecorations(e){let{query:t,active:o}=e.state.field(Pt);if(!t.valid||!t.search)return Ho.none;let r=new al;for(let{from:n,to:i}of e.visibleRanges){let s=t.getCursor(e.state,n,i);for(;;){let a=s.next();if(a.done)break;let l=a.value,c=o&&o.from===l.from&&o.to===l.to?xl:yl;r.add(l.from,l.to,c)}}return r.finish()}},{decorations:e=>e.decorations}),Do=e=>{Oo.current=Ao(e),at.forEach(t=>{t.cm.dispatch({effects:t.editorTheme.reconfigure(Oo.current)})})},ak=(e,t=!1)=>{pe(e,t,null)},pe=(e,t=!1,o)=>{let r=new Ln({search:e,caseSensitive:t});at.forEach(n=>{let i=n.getProsemirrorContentRange(),s=o&&o.from>=i.from&&o.to<=i.to?{from:o.from-i.from,to:o.to-i.from}:null;n.setSearchState(r,s)})},Bn=e=>{if(!e)return!1;let t=!1;return at.forEach(o=>{let r=o.getProsemirrorContentRange();e.from>=r.from&&e.to<=r.to&&(o.scrollToPosition(e.from-r.from),t=!0)}),t},lk=e=>{let t=il(e.state,e.state.doc.length),o=[];return t?.iterate({from:0,to:e.state.doc.length,enter:({type:r,from:n,to:i})=>{r.name.startsWith("ATXHeading")&&o.push({from:n,to:i,value:e.state.doc.sliceString(n,i),type:r.name})}}),o},U=class{constructor({view:t,getPos:o,node:r,extensions:n=[],languageName:i,options:s={}}){this.toggleName="paragraph";this.id=bl();this.content="";this.updating=!1;this.copyButton=null;this.copyButtonContainer=null;this.view=t,this.getPos=o,this.node=r,this.languageConf=new Bo,this.editorTheme=new Bo,this.searchQueryConf=new Bo,this.schema=r.type.schema,this.languageName=i,this.loadLanguage=El,this.options=s,this.content=this.node.textContent;let a=Mn.changeFilter.of(c=>(c.docChanged||this.forwardSelection(),!0)),l=Mn.create({doc:this.node.textContent,extensions:[dl.of(this.codeMirrorKeymap()),a,this.searchQueryConf.of([Pt,Cl]),this.languageConf.of([]),this.editorTheme.of(Oo.current),...kl(n)]});this.cm=new Pn({state:l,dispatch:this.valueChanged.bind(this),...this.options.codemirrorEditorViewConfig||{}}),at.set(this.id,this),this.updateLanguage(),this.options.copyButton?.enabled!==!1&&this.createCopyButton()}update(t){if(t.type!==this.node.type)return!1;this.node=t,this.content=t.textContent,this.updateLanguage();let o=An(this.cm.state.doc.toString(),t.textContent);return o&&(this.updating=!0,this.cm.dispatch({changes:{from:o.from,to:o.to,insert:o.text}}),this.updating=!1),!0}setSelection(t,o){this.cm.focus(),this.updating=!0,this.cm.dispatch({selection:{anchor:t,head:o}}),this.updating=!1}updateLanguage(){let t=this.node.attrs.language;if(t===this.languageName)return;let o=this.loadLanguage(t);if(o){if(ul(o)){o.then(r=>{this.setLanguage(r),this.languageName=t});return}this.setLanguage(o),this.languageName=t}}destroy(){this.cm.destroy(),at.delete(this.id)}setSearchState(t,o){this.cm.dispatch({effects:_n.of({query:t,active:o})})}scrollToPosition(t){let o=Math.max(0,Math.min(t,this.cm.state.doc.length));this.cm.dispatch({effects:Pn.scrollIntoView(o,{y:"center"})})}getProsemirrorContentRange(){let t=this.getPos()+1;return{from:t,to:t+this.node.content.size}}forwardSelection(){if(!this.cm.hasFocus)return;let{state:t}=this.view,o=this.asProseMirrorSelection(t.doc);o.eq(t.selection)||this.view.dispatch(t.tr.setSelection(o))}setLanguage(t){this.cm.dispatch({effects:this.languageConf.reconfigure(t)})}valueChanged(t){if(!this.cm||!this.view||(this.cm.update([t]),!t.docChanged||this.updating))return;let o=An(this.node.textContent,t.state.doc.toString());if(o){let r=this.getPos()+1,n=this.view.state.tr.replaceWith(r+o.from,r+o.to,o.text?this.schema.text(o.text):[]);this.view.dispatch(n),this.options?.onValueChange?.(t.state.doc.toString())}}asProseMirrorSelection(t){let o=this.getPos()+1,{anchor:r,head:n}=this.cm.state.selection.main;return In.between(t.resolve(r+o),t.resolve(n+o))}codeMirrorKeymap(){let t=[nl,{key:"ArrowUp",run:this.maybeEscape("line",-1)},{key:"ArrowLeft",run:this.maybeEscape("char",-1)},{key:"ArrowDown",run:this.maybeEscape("line",1)},{key:"ArrowRight",run:this.maybeEscape("char",1)},{key:"Ctrl-Enter",run:()=>Nn(this.view.state,this.view.dispatch)?(this.view.focus(),!0):!1},{key:"Backspace",run:()=>{let{ranges:o}=this.cm.state.selection;if(!this.cm||!o||o.length>1)return!1;let r=o[0];if(r&&(!r.empty||r.anchor>0)||this.cm.state.doc.lines>=2)return!1;let{state:n}=this.view,i=pl(n.schema.nodes,this.toggleName),s=this.getPos(),a=fl({pos:s,tr:n.tr,content:i.createChecked({},this.node.content)});return a.setSelection(In.near(a.doc.resolve(s))),this.view.dispatch(a),this.view.focus(),!0}},...xn(this.options?.commandKeymapOptions)];return this.options?.useProsemirrorHistoryKey&&t.push({key:"Mod-z",run:()=>(hl(this.view.state,this.view.dispatch),this.view.focus(),!1)},{key:"Mod-y",mac:"Mod-Shift-z",run:()=>(Rn(this.view.state,this.view.dispatch),this.view.focus(),!1),preventDefault:!0},{linux:"Ctrl-Shift-z",run:()=>(Rn(this.view.state,this.view.dispatch),this.view.focus(),!1),preventDefault:!0}),t}maybeEscape(t,o){return r=>{let{state:n}=r;if(n.selection.ranges.some(d=>!d.empty))return!1;let{anchor:i}=n.selection.main,s=n.doc.lineAt(i),a=i-s.from;if(s.number!==(o<0?1:n.doc.lines)||t==="char"&&a!==(o<0?0:s.length))return!1;if(t==="line"&&o<0&&this.focusLanguageInput())return!0;let l=this.getPos()+(o<0?0:this.node.nodeSize),c=gl.near(this.view.state.doc.resolve(l),o);return o===1&&Nn(this.view.state,this.view.dispatch)?(this.view.focus(),!0):(this.view.dispatch(this.view.state.tr.setSelection(c).scrollIntoView()),this.view.focus(),!0)}}focusLanguageInput(){let t=this.view.nodeDOM(this.getPos());if(!t?.parentElement)return!1;let r=t.previousSibling;for(;r;){if(r instanceof HTMLElement&&r.classList.contains("code-block__menu")){let n=r.querySelector(".code-block__languages__input");return n?(n.focus(),!0):!1}r=r.previousSibling}return!1}createCopyButton(){if(!this.cm.dom||!this.options||!T())return;this.copyButton=document.createElement("div"),this.copyButton.className="cm-copy-btn",this.copyButton.innerHTML='<i class="ri-file-copy-line"></i>';let t="Copy code";this.copyButton.title=t,this.setupCopyButtonEvents(),this.cm.dom.appendChild(this.copyButton),this.copyButton.style.pointerEvents="auto"}setupCopyButtonEvents(){this.copyButton&&(this.copyButton.addEventListener("mouseenter",()=>{this.copyButton&&(this.copyButton.style.transform="translateY(-1px)")}),this.copyButton.addEventListener("mousedown",t=>{t.preventDefault(),t.stopPropagation()}),this.copyButton.addEventListener("mouseleave",()=>{this.copyButton&&(this.copyButton.style.transform="translateY(0)")}),this.copyButton.addEventListener("click",this.handleCopy.bind(this),{capture:!0}))}async handleCopy(t){if(t.stopPropagation(),t.preventDefault(),!this.options)return;let o=this.node.textContent;if(this.options.copyButton?.customCopyFunction)try{let r=this.options.copyButton.customCopyFunction(o);r instanceof Promise?await r&&this.showCopySuccess():r&&this.showCopySuccess();return}catch(r){console.error("Custom copy function failed:",r)}if(T()&&navigator.clipboard&&window.isSecureContext)try{await navigator.clipboard.writeText(o),this.showCopySuccess()}catch(r){console.error("Clipboard API failed:",r)}}showCopySuccess(){if(!this.copyButton||!this.options)return;let t=this.copyButton.title,o="Copied!";this.copyButton.innerHTML='<i class="ri-check-line"></i>',this.copyButton.title=o,this.copyButton.style.color="green",setTimeout(()=>{this.copyButton&&(this.copyButton.innerHTML='<i class="ri-file-copy-line"></i>',this.copyButton.title=t,this.copyButton.style.color="inherit")},1500)}},wl=()=>{let e={};for(let t of sl??[])for(let o of t.alias)e[o]=t;return e},El=e=>{if(typeof e!="string")return;let o=wl()[e.toLowerCase()];if(o)return o.support||o.load()};function An(e,t){if(e===t)return null;let o=0,r=e.length,n=t.length;for(;o<r&&e.charCodeAt(o)===t.charCodeAt(o);)++o;for(;r>o&&n>o&&e.charCodeAt(r-1)===t.charCodeAt(n-1);)r--,n--;return{from:o,to:r,text:t.slice(o,n)}}import{prosemirrorNodeToHtml as zy}from"@rme-sdk/main";import{Slice as Ky}from"@rme-sdk/pm";import{forwardRef as Wy,memo as Uy,useCallback as tn,useImperativeHandle as qy,useMemo as Gy,useRef as jy,useState as Qy}from"react";import{ProsemirrorDevTools as Uh}from"@rme-sdk/dev";import{Remirror as qh}from"@rme-sdk/react";import{memo as qs,useCallback as Gh,useMemo as jh}from"react";import{useEffect as Ll,useRef as Hn,useState as _l}from"react";import{createContext as Sl,useContext as Tl,useEffect as vl,useLayoutEffect as Ml,useRef as Pl}from"react";import{jsx as Al}from"react/jsx-runtime";function On(e){let t=Sl(null),o=Nl(t);return[n=>{let i=e(n);return Al(t.Provider,{value:i,children:n.children})},o,t]}function Nl(e){return(t,o)=>{let r=Tl(e),n=Rl(r);if(!r)throw new Error("`useContextHook` must be placed inside the `Provider` returned by the `createContextState` method");if(!t)return r;if(typeof t!="function")throw new TypeError("invalid arguments passed to `useContextHook`. This hook must be called with zero arguments, a getter function or a path string.");let i=t(r);if(!n||!o)return i;let s=t(n);return o(s,i)?s:i}}function Rl(e){let t=Pl(null);return Il(()=>{t.current=e}),t.current}var Il=typeof document<"u"?Ml:vl;function Fn(e,t){return On(o=>{let r=Hn(null),n=Hn(void 0),i=t?.(o),[s,a]=_l(()=>e({get:Dn(r),set:Vn(n),previousContext:void 0,props:o,state:i})),l=[...Object.values(o),i];return Ll(()=>{l.length!==0&&a(c=>e({get:Dn(r),set:Vn(n),previousContext:c,props:o,state:i}))},l),r.current=s,n.current=a,s})}function Dn(e){return t=>{if(!e.current)throw new Error("`get` called outside of function scope. `get` can only be called within a function.");if(!t)return e.current;if(typeof t!="function")throw new TypeError("Invalid arguments passed to `useContextHook`. The hook must be called with zero arguments, a getter function or a path string.");return t(e.current)}}function Vn(e){return t=>{if(!e.current)throw new Error("`set` called outside of function scope. `set` can only be called within a function.");e.current(o=>({...o,...typeof t=="function"?t(o):t}))}}import Bl from"react";import lt from"styled-components";import{jsx as te,jsxs as Nt}from"react/jsx-runtime";var Ol=lt.h1`
1379
+ `;var zx=15,Mn={lineHeightBase:"1.6",titleBarHeight:"30px",titleBarControlBtnWidth:"50px",fontBase:"15px",fontSm:"14px",fontXs:"12px",spaceXs:"4px",spaceSm:"8px",spaceBase:"10px",spaceL:"12px",spaceXl:"16px",smallBorderRadius:"4px",midBorderRadius:"8px",bigBorderRadius:"12px",black:"#74757D",white:"#E0E0E0",gray:"#C0C0C0",blue:"#0359D0",fontFamily:"'Open Sans', 'Clear Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif",codemirrorFontFamily:"'DejaVu Sans Mono', 'Source Code Pro', 'Droid Sans Mono', Consolas, monospace"},Bo={codemirrorTheme:Cn,styledConstants:{...Mn,...En}},st={codemirrorTheme:wn,styledConstants:{...Mn,...Sn}};var at=new Map,Ho={current:Lo(st.codemirrorTheme)},Bn=cl.define(),Nt=dl.define({create(){return{query:new _n({search:""}),active:null}},update(e,t){for(let o of t.effects)if(o.is(Bn))return o.value;return e}}),xl=Do.mark({class:"cm-search-match"}),kl=Do.mark({class:"cm-search-active"}),Cl=e=>{let t=[],o=[...e??[]];for(;o.length>0;){let r=o.shift();if(r){if(Array.isArray(r)){o.unshift(...r);continue}t.push(r)}}return t},wl=pl.fromClass(class{constructor(e){this.decorations=this.buildDecorations(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.field(Nt)!==e.state.field(Nt))&&(this.decorations=this.buildDecorations(e.view))}buildDecorations(e){let{query:t,active:o}=e.state.field(Nt);if(!t.valid||!t.search)return Do.none;let r=new ll;for(let{from:n,to:i}of e.visibleRanges){let s=t.getCursor(e.state,n,i);for(;;){let a=s.next();if(a.done)break;let l=a.value,c=o&&o.from===l.from&&o.to===l.to?kl:xl;r.add(l.from,l.to,c)}}return r.finish()}},{decorations:e=>e.decorations}),Vo=e=>{Ho.current=Lo(e),at.forEach(t=>{t.cm.dispatch({effects:t.editorTheme.reconfigure(Ho.current)})})},ak=(e,t=!1)=>{pe(e,t,null)},pe=(e,t=!1,o)=>{let r=new _n({search:e,caseSensitive:t});at.forEach(n=>{let i=n.getProsemirrorContentRange(),s=o&&o.from>=i.from&&o.to<=i.to?{from:o.from-i.from,to:o.to-i.from}:null;n.setSearchState(r,s)})},On=e=>{if(!e)return!1;let t=!1;return at.forEach(o=>{let r=o.getProsemirrorContentRange();e.from>=r.from&&e.to<=r.to&&(o.scrollToPosition(e.from-r.from),t=!0)}),t},lk=e=>{let t=sl(e.state,e.state.doc.length),o=[];return t?.iterate({from:0,to:e.state.doc.length,enter:({type:r,from:n,to:i})=>{r.name.startsWith("ATXHeading")&&o.push({from:n,to:i,value:e.state.doc.sliceString(n,i),type:r.name})}}),o},U=class{constructor({view:t,getPos:o,node:r,extensions:n=[],languageName:i,options:s={}}){this.toggleName="paragraph";this.id=yl();this.content="";this.updating=!1;this.copyButton=null;this.copyButtonContainer=null;this.view=t,this.getPos=o,this.node=r,this.languageConf=new Oo,this.editorTheme=new Oo,this.searchQueryConf=new Oo,this.schema=r.type.schema,this.languageName=i,this.loadLanguage=Sl,this.options=s,this.content=this.node.textContent;let a=Pn.changeFilter.of(c=>(c.docChanged||this.forwardSelection(),!0)),l=Pn.create({doc:this.node.textContent,extensions:[ml.of(this.codeMirrorKeymap()),a,this.searchQueryConf.of([Nt,wl]),this.languageConf.of([]),this.editorTheme.of(Ho.current),...Cl(n)]});this.cm=new Nn({state:l,dispatch:this.valueChanged.bind(this),...this.options.codemirrorEditorViewConfig||{}}),at.set(this.id,this),this.updateLanguage(),this.options.copyButton?.enabled!==!1&&this.createCopyButton()}update(t){if(t.type!==this.node.type)return!1;this.node=t,this.content=t.textContent,this.updateLanguage();let o=Ln(this.cm.state.doc.toString(),t.textContent);return o&&(this.updating=!0,this.cm.dispatch({changes:{from:o.from,to:o.to,insert:o.text}}),this.updating=!1),!0}setSelection(t,o){this.cm.focus(),this.updating=!0,this.cm.dispatch({selection:{anchor:t,head:o}}),this.updating=!1}updateLanguage(){let t=this.node.attrs.language;if(t===this.languageName)return;let o=this.loadLanguage(t);if(o){if(fl(o)){o.then(r=>{this.setLanguage(r),this.languageName=t});return}this.setLanguage(o),this.languageName=t}}destroy(){this.cm.destroy(),at.delete(this.id)}setSearchState(t,o){this.cm.dispatch({effects:Bn.of({query:t,active:o})})}scrollToPosition(t){let o=Math.max(0,Math.min(t,this.cm.state.doc.length));this.cm.dispatch({effects:Nn.scrollIntoView(o,{y:"center"})})}getProsemirrorContentRange(){let t=this.getPos()+1;return{from:t,to:t+this.node.content.size}}forwardSelection(){if(!this.cm.hasFocus)return;let{state:t}=this.view,o=this.asProseMirrorSelection(t.doc);o.eq(t.selection)||this.view.dispatch(t.tr.setSelection(o))}setLanguage(t){this.cm.dispatch({effects:this.languageConf.reconfigure(t)})}valueChanged(t){if(!this.cm||!this.view||(this.cm.update([t]),!t.docChanged||this.updating))return;let o=Ln(this.node.textContent,t.state.doc.toString());if(o){let r=this.getPos()+1,n=this.view.state.tr.replaceWith(r+o.from,r+o.to,o.text?this.schema.text(o.text):[]);this.view.dispatch(n),this.options?.onValueChange?.(t.state.doc.toString())}}asProseMirrorSelection(t){let o=this.getPos()+1,{anchor:r,head:n}=this.cm.state.selection.main;return An.between(t.resolve(r+o),t.resolve(n+o))}codeMirrorKeymap(){let t=[il,{key:"ArrowUp",run:this.maybeEscape("line",-1)},{key:"ArrowLeft",run:this.maybeEscape("char",-1)},{key:"ArrowDown",run:this.maybeEscape("line",1)},{key:"ArrowRight",run:this.maybeEscape("char",1)},{key:"Ctrl-Enter",run:()=>Rn(this.view.state,this.view.dispatch)?(this.view.focus(),!0):!1},{key:"Backspace",run:()=>{let{ranges:o}=this.cm.state.selection;if(!this.cm||!o||o.length>1)return!1;let r=o[0];if(r&&(!r.empty||r.anchor>0)||this.cm.state.doc.lines>=2)return!1;let{state:n}=this.view,i=ul(n.schema.nodes,this.toggleName),s=this.getPos(),a=hl({pos:s,tr:n.tr,content:i.createChecked({},this.node.content)});return a.setSelection(An.near(a.doc.resolve(s))),this.view.dispatch(a),this.view.focus(),!0}},...kn(this.options?.commandKeymapOptions)];return this.options?.useProsemirrorHistoryKey&&t.push({key:"Mod-z",run:()=>(gl(this.view.state,this.view.dispatch),this.view.focus(),!1)},{key:"Mod-y",mac:"Mod-Shift-z",run:()=>(In(this.view.state,this.view.dispatch),this.view.focus(),!1),preventDefault:!0},{linux:"Ctrl-Shift-z",run:()=>(In(this.view.state,this.view.dispatch),this.view.focus(),!1),preventDefault:!0}),t}maybeEscape(t,o){return r=>{let{state:n}=r;if(n.selection.ranges.some(d=>!d.empty))return!1;let{anchor:i}=n.selection.main,s=n.doc.lineAt(i),a=i-s.from;if(s.number!==(o<0?1:n.doc.lines)||t==="char"&&a!==(o<0?0:s.length))return!1;if(t==="line"&&o<0&&this.focusLanguageInput())return!0;let l=this.getPos()+(o<0?0:this.node.nodeSize),c=bl.near(this.view.state.doc.resolve(l),o);return o===1&&Rn(this.view.state,this.view.dispatch)?(this.view.focus(),!0):(this.view.dispatch(this.view.state.tr.setSelection(c).scrollIntoView()),this.view.focus(),!0)}}focusLanguageInput(){let t=this.view.nodeDOM(this.getPos());if(!t?.parentElement)return!1;let r=t.previousSibling;for(;r;){if(r instanceof HTMLElement&&r.classList.contains("code-block__menu")){let n=r.querySelector(".code-block__languages__input");return n?(n.focus(),!0):!1}r=r.previousSibling}return!1}createCopyButton(){if(!this.cm.dom||!this.options||!T())return;this.copyButton=document.createElement("div"),this.copyButton.className="cm-copy-btn",this.copyButton.innerHTML='<i class="ri-file-copy-line"></i>';let t="Copy code";this.copyButton.title=t,this.setupCopyButtonEvents(),this.cm.dom.appendChild(this.copyButton),this.copyButton.style.pointerEvents="auto"}setupCopyButtonEvents(){this.copyButton&&(this.copyButton.addEventListener("mouseenter",()=>{this.copyButton&&(this.copyButton.style.transform="translateY(-1px)")}),this.copyButton.addEventListener("mousedown",t=>{t.preventDefault(),t.stopPropagation()}),this.copyButton.addEventListener("mouseleave",()=>{this.copyButton&&(this.copyButton.style.transform="translateY(0)")}),this.copyButton.addEventListener("click",this.handleCopy.bind(this),{capture:!0}))}async handleCopy(t){if(t.stopPropagation(),t.preventDefault(),!this.options)return;let o=this.node.textContent;if(this.options.copyButton?.customCopyFunction)try{let r=this.options.copyButton.customCopyFunction(o);r instanceof Promise?await r&&this.showCopySuccess():r&&this.showCopySuccess();return}catch(r){console.error("Custom copy function failed:",r)}if(T()&&navigator.clipboard&&window.isSecureContext)try{await navigator.clipboard.writeText(o),this.showCopySuccess()}catch(r){console.error("Clipboard API failed:",r)}}showCopySuccess(){if(!this.copyButton||!this.options)return;let t=this.copyButton.title,o="Copied!";this.copyButton.innerHTML='<i class="ri-check-line"></i>',this.copyButton.title=o,this.copyButton.style.color="green",setTimeout(()=>{this.copyButton&&(this.copyButton.innerHTML='<i class="ri-file-copy-line"></i>',this.copyButton.title=t,this.copyButton.style.color="inherit")},1500)}},El=()=>{let e={};for(let t of al??[])for(let o of t.alias)e[o]=t;return e},Sl=e=>{if(typeof e!="string")return;let o=El()[e.toLowerCase()];if(o)return o.support||o.load()};function Ln(e,t){if(e===t)return null;let o=0,r=e.length,n=t.length;for(;o<r&&e.charCodeAt(o)===t.charCodeAt(o);)++o;for(;r>o&&n>o&&e.charCodeAt(r-1)===t.charCodeAt(n-1);)r--,n--;return{from:o,to:r,text:t.slice(o,n)}}import{prosemirrorNodeToHtml as zy}from"@rme-sdk/main";import{Slice as Ky}from"@rme-sdk/pm";import{forwardRef as Wy,memo as Uy,useCallback as on,useImperativeHandle as qy,useMemo as Gy,useRef as jy,useState as Qy}from"react";import{ProsemirrorDevTools as Uh}from"@rme-sdk/dev";import{Remirror as qh}from"@rme-sdk/react";import{memo as Gs,useCallback as Gh,useMemo as jh}from"react";import{useEffect as _l,useRef as Dn,useState as Bl}from"react";import{createContext as Tl,useContext as vl,useEffect as Ml,useLayoutEffect as Pl,useRef as Nl}from"react";import{jsx as Ll}from"react/jsx-runtime";function Hn(e){let t=Tl(null),o=Rl(t);return[n=>{let i=e(n);return Ll(t.Provider,{value:i,children:n.children})},o,t]}function Rl(e){return(t,o)=>{let r=vl(e),n=Il(r);if(!r)throw new Error("`useContextHook` must be placed inside the `Provider` returned by the `createContextState` method");if(!t)return r;if(typeof t!="function")throw new TypeError("invalid arguments passed to `useContextHook`. This hook must be called with zero arguments, a getter function or a path string.");let i=t(r);if(!n||!o)return i;let s=t(n);return o(s,i)?s:i}}function Il(e){let t=Nl(null);return Al(()=>{t.current=e}),t.current}var Al=typeof document<"u"?Pl:Ml;function $n(e,t){return Hn(o=>{let r=Dn(null),n=Dn(void 0),i=t?.(o),[s,a]=Bl(()=>e({get:Vn(r),set:Fn(n),previousContext:void 0,props:o,state:i})),l=[...Object.values(o),i];return _l(()=>{l.length!==0&&a(c=>e({get:Vn(r),set:Fn(n),previousContext:c,props:o,state:i}))},l),r.current=s,n.current=a,s})}function Vn(e){return t=>{if(!e.current)throw new Error("`get` called outside of function scope. `get` can only be called within a function.");if(!t)return e.current;if(typeof t!="function")throw new TypeError("Invalid arguments passed to `useContextHook`. The hook must be called with zero arguments, a getter function or a path string.");return t(e.current)}}function Fn(e){return t=>{if(!e.current)throw new Error("`set` called outside of function scope. `set` can only be called within a function.");e.current(o=>({...o,...typeof t=="function"?t(o):t}))}}import Ol from"react";import lt from"styled-components";import{jsx as te,jsxs as Rt}from"react/jsx-runtime";var Hl=lt.h1`
1380
1380
  color: ${({theme:e})=>e.dangerColor};
1381
- `,Hl=lt.div`
1381
+ `,Dl=lt.div`
1382
1382
  display: grid;
1383
1383
  gap: 12px;
1384
- `,Vo=lt.div`
1384
+ `,Fo=lt.div`
1385
1385
  display: grid;
1386
1386
  gap: 8px;
1387
- `,Fo=lt.div`
1387
+ `,$o=lt.div`
1388
1388
  font-weight: 600;
1389
- `,$o=lt.pre`
1389
+ `,zo=lt.pre`
1390
1390
  background: ${({theme:e})=>e.preBgColor};
1391
1391
  border-radius: 6px;
1392
1392
  padding: 12px;
1393
1393
  overflow: auto;
1394
1394
  white-space: pre-wrap;
1395
1395
  word-break: break-word;
1396
- `,Dl=e=>{let t=e.error?.name||"Error",o=e.error?.message||String(e.error),r=e.error?.stack,n=e.errorInfo?.componentStack;return Nt(Hl,{children:[te(Ol,{children:"Sorry, something went wrong!"}),Nt(Vo,{children:[te(Fo,{children:"Message"}),te($o,{children:`${t}: ${o}`})]}),r?Nt(Vo,{children:[te(Fo,{children:"Stack"}),te($o,{children:r})]}):null,n?Nt(Vo,{children:[te(Fo,{children:"Component Stack"}),te($o,{children:n.trim()})]}):null]})},zo=class extends Bl.Component{constructor(t){super(t),this.state={hasError:this.props.hasError??!1}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,o){console.error("[ErrorBoundary]",t,o),this.setState({errorInfo:o})}render(){let t=this.props.fallback??Dl;if(this.state.hasError){let o=this.props.error??this.state.error??new Error("Unknown error");return console.error(o),this.props.onError?.({error:o,errorInfo:this.state.errorInfo}),te(t,{error:o,errorInfo:this.state.errorInfo})}return this.props.children}},Ie=zo;import{useRemirrorContext as Vl}from"@rme-sdk/react";import{memo as Fl}from"react";import{jsx as zl}from"react/jsx-runtime";var $l=Fl(({children:e,...t})=>{let{getRootProps:o}=Vl(),{key:r,...n}=o(),i=Object.assign({position:"relative"},t.style);return zl("div",{...n,spellCheck:!1,...t,style:i,children:e})}),$n=$l;import{markdown as Fh}from"@codemirror/lang-markdown";import{CountExtension as $h}from"@rme-sdk/extension-count";import{DocExtension as zh}from"@rme-sdk/main/extensions";import{createReactManager as Kh}from"@rme-sdk/react";import{languages as Ks}from"@codemirror/language-data";import{placeholder as Ih}from"@codemirror/view";import{extension as Ah,findParentNodeOfType as Ws,isElementDomNode as Lh,isEqual as _h,isTextSelection as Bh,NodeExtension as Oh,nodeInputRule as Us,setBlockType as Hh}from"@rme-sdk/core";import{TextSelection as Ur}from"@rme-sdk/pm/state";import{Decoration as Dh,DecorationSet as So}from"@rme-sdk/pm/view";import{t as Vh}from"i18next";import{Mark as Qo}from"@rme-sdk/pm/model";import Jn from"markdown-it";import Kl from"markdown-it/lib/token.mjs";function Wl(e){return e.type==="list_item_open"&&["*","-"].includes(e.markup)}function Ul(e){return e.type==="paragraph_open"}function ql(e){return e.type==="inline"}var Gl=e=>{let t=!1,o=e.tokens,r=o.length;for(let n=r-3;n>=0;n--){let i=o[n];if(i.type==="ordered_list_open"&&i.attrs?.some(([s,a])=>{if(s==="start"){let l=parseInt(a,10);return!isNaN(l)&&l>=1&&i.attrPush(["order",a]),!0}return!1}),Wl(i)&&Ul(o[n+1])&&ql(o[n+2])){let s=o[n+2],a=/^\[([ |x])\]\s?/.exec(s.content);if(a){let l=a[1]==="x",c=a[0];if(s.content=s.content.slice(c.length),s.children&&s.children.length>0){let m=s.children.find(p=>p.type==="text");if(m){let p=m.content;p.startsWith(c)&&(m.content=p.slice(c.length))}}let d=new Kl("list_checkbox","input",0);d.attrPush(["type","checkbox"]),l&&d.attrPush(["checked",""]),o.splice(n+1,0,d),t=!0}}}return t};function jl(e){e.core.ruler.push("markdown-it-list-checkbox",Gl)}var zn=jl;import{normalizeReference as Ql}from"markdown-it/lib/common/utils.mjs";var Xl=/^!\[([^\]]*)\]\[([^\]]+)\]/g;function Yl(e,t){let o=e.pos,r=e.src.slice(o),n=Xl.exec(r);if(!n)return!1;let i=n[1]||"",s=(n[2]||"").trim(),a=e.env&&e.env.rmeReferences,l=Ql(s);if(!(a&&a[l]))return!1;if(!t){let d=e.push("md_image","",0);d.attrs={src:"",alt:i,"data-refer-label":s},d.tag="img"}return e.pos=o+n[0].length,!0}function Ko(e){e.inline.ruler.push("reference_image",Yl)}function Kn(e,t){var o=3,r="-",n=r.charCodeAt(0),i=r.length;function s(a,l,c,d){var m,p,f,u,y,b,x,E=!1,k=a.bMarks[l]+a.tShift[l],h=a.eMarks[l];if(l!==0||n!==a.src.charCodeAt(0))return!1;for(m=k+1;m<=h;m++)if(r[(m-k)%i]!==a.src[m]){x=m+1;break}if(f=Math.floor((m-k)/i),f<o)return!1;if(m-=(m-k)%i,d)return!0;for(p=l;p++,!(p>=c||a.src.slice(k,h)==="..."||(k=a.bMarks[p]+a.tShift[p],h=a.eMarks[p],k<h&&a.sCount[p]<a.blkIndent));)if(n===a.src.charCodeAt(k)&&!(a.sCount[p]-a.blkIndent>=4)){for(m=k+1;m<=h&&r[(m-k)%i]===a.src[m];m++);if(!(Math.floor((m-k)/i)<f)&&(m-=(m-k)%i,m=a.skipSpaces(m),!(m<h))){E=!0;break}}return y=a.parentType,b=a.lineMax,a.parentType="container",a.lineMax=p,u=a.push("fence",null,0),u.tag="code",u.hidden=!0,u.markup=a.src.slice(l,m),u.block=!0,u.map=[l,p+(E?1:0)],u.meta=a.src.slice(x,k-1),u.info="yaml",u.attrSet("front-matter",!0),u.content=u.meta,a.parentType=y,a.lineMax=b,a.line=p+(E?1:0),t(u.meta),!0}e.block.ruler.before("table","front_matter",s,{alt:["paragraph","reference","blockquote","list"]})}import oe from"markdown-it/lib/token.mjs";import Jl from"void-elements";import Wn from"html-parse-stringify";function Un(e){return/^<\/[a-zA-Z0-9]+\s*>$/.test(e)}function qn(e){let t=Wn.parse(e);return t&&t.length===1}var ue=e=>Wn.parse(e)[0]?.attrs||{};function Ae(e){let o=/<\/?([a-zA-Z0-9]+)\b[^>]*>/.exec(e);return o&&o.length>1?o[1].toLowerCase():""}function Rt(e){return e&&e.tagName?.toLocaleUpperCase()==="IMG"}function Gn(e){let{attrs:t}=e;if(t["data-refer-label"])return`![${t.alt||""}][${t["data-refer-label"]}]`;let o=t.alt||"",r=t.src||"",n=t.title?` "${t.title}"`:"";return`![${o}](${r}${n})`}function Le(e){let t="";if(e.attrs){let o=Object.entries(e.attrs).filter(([,r])=>r);o.length&&(t=`${o.map(([r,n])=>`${r}="${n}"`).join(" ")}`)}return e.voidElement?`<${e.tag} ${t} />`:`<${e.tag} ${t}></${e.tag}>`}var ct=["img","iframe","br"],re=["html_inline_node","html_image","iframe_inline","html_br","math_inline","md_image"],Wo={img:"html_image",iframe:"iframe_inline",br:"html_br"};function Zl(e){let t=[],o=[];for(let r=0;r<e.length;r++){let n=e[r];if(jn(n)){let i=Ae(n.content),s={tag:i,voidElement:!!Jl[i],isClosingTag:Un(n.content),index:r};s.voidElement?n.complete=!0:s.isClosingTag?t[t.length-1]?.tag===s.tag&&t.length>=1&&(o.push([t.pop(),s]),n.complete=!0):t.push(s)}}for(let r=0;r<o.length;r++){let n=o[r],i=n[0].index,s=n[1].index;o.findIndex(l=>l[0].index<i&&l[1].index>s)>=0&&(o.splice(r,1),r--)}return o}function ec(e,t,o){let r=new oe("html_inline_node","",0);for(let n=t;n<=o;n++)r.content+=e[n].content||"",r.complete=!0;return r.attrs={htmlText:r.content},e.splice(t,o-t+1,r),e}function tc(e){let t=Zl(e),o=0;t.forEach(r=>{let n=r[0].index+o,i=r[1].index+o;ec(e,n,i),o+=n-i}),e.forEach((r,n)=>{if(jn(r)){let i=Ae(r.content);if(Wo[i]){let s=new oe(Wo[i],"",0);s.content=r.content,s.attrs=ue(r.content),s.attrs.htmlText=s.content,e.splice(n,1,s)}else{let s=new oe("html_inline_node","",0);s.content=r.content,s.attrs={htmlText:s.content},e.splice(n,1,s)}}})}function oc(e){return e.type==="inline"}function jn(e){return e.type==="html_inline"}function rc(e){return e.type==="html_block"}var nc=e=>{let o=e.tokens,r=o.length;for(let n=0;n<=r-1;n++){let i=o[n];if(oc(i)){let s=i.children;s&&tc(s);let a=[],l=[];if(s?.forEach((c,d)=>{if(re.includes(c.type)){if(l.length>0){let m=new oe("inline","",0);m.children=[...l],m.content=l.map(p=>p.type==="softbreak"?`
1397
- `:p.content).join(""),a.push(m),l=[]}a.push(c)}else l.push(c)}),l.length>0){let c=new oe("inline","",0);c.children=l,c.content=l.map(d=>d.content).join(""),a.push(c),l=[]}i.children&&a.length>0&&(o.splice(n,1,...a),r+=a.length-1)}else if(rc(i)){let s=Ae(i.content);if(qn(i.content)&&ct.includes(s)){let a=new oe(Wo[s],"",0);a.content=i.content,a.attrs=ue(i.content),o.splice(n,1,new oe("paragraph_open","",0),a,new oe("paragraph_close","",0))}}}return!1};function ic(e){e.core.ruler.push("markdown-it-html-inline",nc)}var Qn=ic;import Uo from"markdown-it/lib/token.mjs";var sc=e=>{let t=!1,o=e.tokens,r=o.length;for(let n=0;n<=r-1;n++){let i=o[n],s=[];if(i.type==="html_image"){let a=i.attrs?.src||"",l=i.attrs?.alt||"",c=new Uo("md_image","img",0);c.attrs={src:a,alt:l,"data-rme-type":"html"},o.splice(n,1,c),t=!0;continue}if(i.type==="inline"&&i.children&&i.children.some(a=>a.type==="image"||a.type==="html_image")){i.children.forEach(l=>{if(l.type==="image"){let c=l.attrs?.[0]?.[1]||"",d=l.attrs?.[1]?.[1]||l.content||"",m=new Uo("md_image","img",0);m.attrs={src:c,alt:d},s.push(m),t=!0}else if(l.type==="html_image"){let c=l.attrs?.src||"",d=l.attrs?.alt||"",m=new Uo("md_image","img",0);m.attrs={src:c,alt:d,"data-rme-type":"html"},s.push(m),t=!0}else s.push(l)}),o.splice(n,1,...s),r+=s.length-1;continue}}return t};function qo(e){e.core.ruler.push("markdown-it-image",sc)}import Xn from"markdown-it/lib/token.mjs";var ac=e=>{let t=!1,o=e.tokens,r=o.length;for(let n=0;n<=r-1;n++){let i=o[n];if(i.type==="math_block"){let a=i.content||"",l=new Xn("math_block","",0);l.attrs={tex:i.attrs?.[0]?.[1]||""},l.content=a,l.block=!0,l.map=i.map,o[n]=l,t=!0}let s=[];if(i.type==="inline"&&i.children&&i.children.some(a=>a.type==="math_inline")){i.children.forEach(l=>{if(l.type==="math_inline"){let c=l.attrs?.tex||"",d=l.content||"",m=new Xn("math_inline","",0);m.attrs={tex:c},m.content=d,s.push(m),t=!0}else s.push(l)}),o.splice(n,1,...s),r+=s.length-1;continue}}return t};function Go(e){e.inline.ruler.after("escape","math_inline",(t,o)=>{let r=t.pos;if(t.src.charCodeAt(r)!==36||t.src.charCodeAt(r+1)===36)return!1;let i=r+1,s=i;for(;(s=t.src.indexOf("$",s))!==-1;){let a=0,l=s-1;for(;l>=0&&t.src[l]==="\\";)a++,l--;if(a%2===0)break;s++}if(s===-1)return!1;if(!o){let a=t.push("math_inline","",0),l=t.src.slice(i,s),c=t.src.slice(r,s+1);a.attrs={tex:l}}return t.pos=s+1,!0}),e.block.ruler.after("fence","math_block",(t,o,r,n)=>{let i=t.bMarks[o]+t.tShift[o],s=t.eMarks[o];if(i+2>s||t.src.charCodeAt(i)!==36||t.src.charCodeAt(i+1)!==36)return!1;if(i+=2,n)return!0;let a=o,l=!1,c="";for(;a++,!(a>=r);){let p=t.bMarks[a]+t.tShift[a],f=t.eMarks[a];if(t.src.charCodeAt(p)===36&&t.src.charCodeAt(p+1)===36){l=!0,i=p+2;break}}if(!l)return!1;c=t.getLines(o+1,a,t.tShift[o+1],!0);let d=t.getLines(o,a+1,t.tShift[o],!0),m=t.push("math_block","div",0);return m.block=!0,m.content=c,m.attrs=[["tex",c]],m.map=[o,a+1],t.line=a+1,!0},{alt:["paragraph","reference","blockquote","list"]}),e.core.ruler.push("markdown-it-math",ac)}import lc from"markdown-it/lib/token.mjs";var cc=e=>{let t=!1,o=e.tokens,r=o.length;for(let n=0;n<=r-1;n++){let i=o[n];if(i.type==="fence"&&i.info==="mermaid"){let s=i.content,a=new lc("mermaid_node","",0);a.content=s,o[n]=a}}return t};function dc(e){e.core.ruler.push("markdown-it-mermaid",cc)}var Yn=dc;import{isSpace as It,normalizeReference as mc}from"markdown-it/lib/common/utils.mjs";import dt from"markdown-it/lib/token.mjs";function pc(e,t,o,r){let n=e.bMarks[t]+e.tShift[t],i=e.eMarks[t],s=t+1;if(e.sCount[t]-e.blkIndent>=4||e.src.charCodeAt(n)!==91)return!1;function a(h){let g=e.lineMax;if(h>=g||e.isEmpty(h))return null;let S=!1;if(e.sCount[h]-e.blkIndent>3&&(S=!0),e.sCount[h]<0&&(S=!0),!S){let v=e.md.block.ruler.getRules("reference_def"),A=e.parentType;e.parentType="reference_def";let R=!1;for(let I=0,F=v.length;I<F;I++)if(v[I](e,h,g,!0)){R=!0;break}if(e.parentType=A,R)return null}let w=e.bMarks[h]+e.tShift[h],C=e.eMarks[h];return e.src.slice(w,C+1)}let l=e.src.slice(n,i+1);i=l.length;let c=-1;for(n=1;n<i;n++){let h=l.charCodeAt(n);if(h===91)return!1;if(h===93){c=n;break}else if(h===10){let g=a(s);g!==null&&(l+=g,i=l.length,s++)}else if(h===92&&(n++,n<i&&l.charCodeAt(n)===10)){let g=a(s);g!==null&&(l+=g,i=l.length,s++)}}if(c<0||l.charCodeAt(c+1)!==58)return!1;for(n=c+2;n<i;n++){let h=l.charCodeAt(n);if(h===10){let g=a(s);g!==null&&(l+=g,i=l.length,s++)}else if(!It(h))break}let d=e.md.helpers.parseLinkDestination(l,n,i);if(!d.ok)return!1;let m=e.md.normalizeLink(d.str);if(!e.md.validateLink(m))return!1;n=d.pos;let p=n,f=s,u=n;for(;n<i;n++){let h=l.charCodeAt(n);if(h===10){let g=a(s);g!==null&&(l+=g,i=l.length,s++)}else if(!It(h))break}let y=e.md.helpers.parseLinkTitle(l,n,i);for(;y.can_continue;){let h=a(s);if(h===null)break;l+=h,n=i,i=l.length,s++,y=e.md.helpers.parseLinkTitle(l,n,i,y)}let b;for(n<i&&u!==n&&y.ok?(b=y.str,n=y.pos):(b="",n=p,s=f);n<i;){let h=l.charCodeAt(n);if(!It(h))break;n++}if(n<i&&l.charCodeAt(n)!==10&&b)for(b="",n=p,s=f;n<i;){let h=l.charCodeAt(n);if(!It(h))break;n++}if(n<i&&l.charCodeAt(n)!==10)return!1;let x=l.slice(1,c),E=mc(x);if(!x)return!1;if(r)return!0;let k=e.push("reference_def","",0);return k.info=x,k.attrs=[["label",x],["href",m]],b&&k.attrs.push(["title",b]),k.map=[t,t+1],k.content=l,typeof e.env.rmeReferences>"u"&&(e.env.rmeReferences={}),typeof e.env.rmeReferences[x]>"u"&&(e.env.rmeReferences[E]={title:b,href:m,label:x}),e.line=s,!0}var uc=e=>{let t=!1,o=e.tokens,r=o.length;for(let n=0;n<=r-1;n++){let i=o[n];if(i.type==="reference_def"){console.log("reference_def",i);let s=i.attrs?.find(u=>u[0]==="label")?.[1]||"",a=i.attrs?.find(u=>u[0]==="href")?.[1]||"",l=i.attrs?.find(u=>u[0]==="title")?.[1]||"",c=new dt("reference_label","span",0),d=new dt("reference_href","span",0),m=new dt("reference_title","span",0);c.content=s,d.content=a,m.content=l;let p=new dt("reference_def_open","span",0),f=new dt("reference_def_close","span",0);p.attrs=[["label",s],["href",a],["title",l]],o.splice(n,1,p,c,d,m,f),n+=4,r+=4,t=!0}}return t};function jo(e){e.core.ruler.push("markdown-it-reference-def",uc),e.block.ruler.before("paragraph","reference_def",pc,{alt:["paragraph","reference"]})}var Xo=class extends Error{constructor(o,r){super(`MarkdownIt token type '${o}' not supported. `);this.tokenType=o;this.supportedTokenTypes=r;this.tokenType=o}},Yo=class{constructor(t,o){this.schema=t,this.stack=[{type:t.topNodeType,content:[]}],this.contextStack=[],this.contextTokenStack=[],this.marks=Qo.none,this.tokenHandlers=o}top(){return this.stack[this.stack.length-1]}push(t){this.stack.length&&this.top().content.push(t)}addText(t){if(!t)return;let r=this.top().content,n=r[r.length-1],i=this.schema.text(t,this.marks),s;n&&(s=this.mergeTextNode(n,i))?r[r.length-1]=s:r.push(i)}mergeTextNode(t,o){if(t.isText&&o.isText&&Qo.sameSet(t.marks,o.marks)){let r=(t.text||"")+(o.text||"");return t.type.schema.text(r,t.marks)}}openMark(t){this.marks=t.addToSet(this.marks)}closeMark(t){this.marks=t.removeFromSet(this.marks)}parseTokens(t){for(let o of t){let r=this.tokenHandlers[o.type];if(!r)return;if(!r)throw new Xo(o.type,Object.keys(this.tokenHandlers));o.type==="inline"&&o.children&&o.children.length>0?this.parseTokens(o.children):r(this,o)}}addNode(t,o,r){let n=t.createAndFill(o,r,this.marks);if(!n)throw new Error(`unexpected error: node is empty while creating ${t.name} node`);return this.push(n),n}openNode(t,o){this.stack.push({type:t,attrs:o,content:[]})}closeNode(){this.marks.length&&(this.marks=Qo.none);let t=this.stack.pop();if(!t)throw new Error("unexpected error: info is empty");return this.addNode(t.type,t.attrs,t.content)}openContext(t,o){this.contextStack.push(t),this.contextTokenStack.push(o)}closeContext(){this.contextStack.pop(),this.contextTokenStack.pop()}closeContextToken(){return this.contextTokenStack.pop()}topContext(){return this.contextStack[this.contextStack.length-1]}topContextToken(){return this.contextTokenStack[this.contextTokenStack.length-1]}};function fc(e){return e.endsWith(`
1398
- `)?e.slice(0,e.length-1):e}function hc(e,t,o){let r=o.nodes[e.node];if(r===void 0)throw new RangeError(`Can't find block type '${e.node}'`);e.hasOpenClose?(t[e.token+"_open"]=(n,i)=>{let s=e.getAttrs?e.getAttrs(i):void 0;n.openNode(r,s)},t[e.token+"_close"]=n=>{n.closeNode()}):t[e.token]=(n,i)=>{let s=e.getAttrs?e.getAttrs(i):void 0;n.openNode(r,s),n.addText(fc(i.content)),n.closeNode()}}function gc(e,t){t[e.token+"_open"]=(o,r)=>{o.openContext(e.context,r)},t[e.token+"_close"]=o=>{o.closeContext()}}function bc(e,t,o){let r=o.nodes[e.token];if(r===void 0)throw new RangeError(`Can't find inline type '${e.token}'`);t[e.token]=(n,i)=>{let s=i.attrs||null,a;i.content&&!r.isAtom&&(a=o.text(i.content));let l=o.nodes[i.type]?.createAndFill(s,a);l&&n.push(l)}}function yc(e,t){t[e.token]=(o,r)=>{o.addText(e.getText(r))}}function xc(e,t){let o={};for(let r of t)switch(r.type){case 1:yc(r,o);break;case 2:hc(r,o,e);break;case 5:gc(r,o);break;case 3:o[r.token]=()=>{};break;case 6:bc(r,o,e);break;case 4:o[r.token]=r.handler;break;default:throw new Error("unknown parser rule type")}return o}var At=class{constructor(t,o){this.schema=t,this.tokenizer=Jn("commonmark",{html:!0}).disable(["emphasis","autolink","backticks","entity","reference","link"]).enable(["table"]).use(Kn,function(r){console.log("Front matter content:",r)}).use(Qn).use(zn).use(Yn).use(Go).use(qo).use(Ko).use(jo),this.tokenizer.validateLink=r=>r.startsWith("data:")?!0:Jn().validateLink(r),this.tokenizer.normalizeLink=r=>r,this.tokenHandlers=xc(t,o)}parse(t){let o=new Yo(this.schema,this.tokenHandlers),r,n=this.tokenizer.parse(t,{});o.parseTokens(n);do r=o.closeNode();while(o.stack.length);return r}};import{DropCursorExtension as Ch}from"@rme-sdk/main/extensions";import{findParentNodeOfType as ui}from"@rme-sdk/core";import{TableCellExtension as Bc,TableExtension as Oc,TableHeaderCellExtension as Hc,TableRowExtension as Dc}from"@rme-sdk/extension-tables";import{TextSelection as ir}from"@rme-sdk/pm/state";import{TableMap as fi}from"@rme-sdk/pm/tables";import{convertCommand as kc,isTextSelection as Cc}from"@rme-sdk/core";import{Fragment as wc}from"@rme-sdk/pm/model";function Zn(e,t,o){return{Enter:kc((r,n)=>{if(!Cc(r.selection))return!1;let i=r.selection.$cursor;if(!i)return!1;let{nodeBefore:s}=r.selection.$from,a=s&&s.isText&&s.text;if(!a)return!1;let l=e.exec(a);if(!l)return!1;let[c,d]=[i.pos-l[0].length,i.pos],m=r.doc.resolve(c),p=t({match:l,start:c,end:d}),f=m.node(-1),u=m.index(-1),y=m.indexAfter(-1);if(!f.canReplace(u,y,wc.from(p)))return!1;let b=r.tr;return b=b.replaceRangeWith(c,d,p),o&&(b=o({tr:b})),n&&n(b),!0})}}import{findParentNodeOfType as Jo}from"@rme-sdk/core";import{CellSelection as Lt,TableMap as Ec}from"@rme-sdk/pm/tables";function ei(e,t){let o=Jo({selection:e.doc.resolve(t),types:"tableCell"});return o?(e.setSelection(Lt.rowSelection(e.doc.resolve(o.pos))),!0):!1}function ti(e,t){let o=Jo({selection:e.doc.resolve(t),types:"tableCell"});return o?(e.setSelection(Lt.colSelection(e.doc.resolve(o.pos))),!0):!1}function oi(e,t){let o=Jo({selection:e.doc.resolve(t),types:"table"});if(!o)return!1;let r=Ec.get(o.node);if(!r.map.length)return!1;let n=r.map[0],i=r.map[r.map.length-1];return e.setSelection(Lt.create(e.doc,o.start+n,o.start+i)),!0}function ri(e,t){return e.setSelection(Lt.create(e.doc,t)),!0}import{PlainExtension as _c}from"@rme-sdk/core";import{cx as rr}from"@rme-sdk/core";import{isCellSelection as mi,TableMap as Rc}from"@rme-sdk/pm/tables";import{Decoration as tr,DecorationSet as or}from"@rme-sdk/pm/view";import{getDocument as Sc,getId as Tc}from"@ocavue/utils";function _t(e,t,...o){if(!T())return null;let r=document.createElement(e);return t&&Object.entries(t).forEach(([n,i])=>{typeof i=="string"?r.setAttribute(n,i):r[n]=i}),o.length&&r.append(...o),r}function ni(e,t=!1){let o=e.cloneNode(!0),r=vc(e,o,t);return[o,r]}function vc(e,t,o){let r=[e],n=[t],i=[];for(;r.length>0&&r.length===n.length;){let s=r.shift(),a=n.shift();if(!s||!a)break;let l=Mc(s,a,o);l&&i.push(l),r.push(...Array.from(s.children)),n.push(...Array.from(a.children))}return i.join(`
1399
- `)}function Mc(e,t,o){if(!e||!t)return"";let r=e.ownerDocument?.defaultView;if(!r)return"";let n=r.getComputedStyle(e),i=t.style;if(!n||!i)return"";for(let a of n)i.setProperty(a,n.getPropertyValue(a),o?"important":n.getPropertyPriority(a)||"");let s=[];for(let a of[":before",":after"]){let l=r.getComputedStyle(e,a),c=r.getComputedStyle(t,a);if(!l)continue;let d=l.getPropertyValue("content");if(!(d&&d!=="none"&&d!=="normal"))continue;let p=[];for(let u of l){let y=l.getPropertyValue(u),b=l.getPropertyPriority(u),x=c.getPropertyValue(u),E=c.getPropertyPriority(u);(y!==x||b!==E)&&p.push(`${u}: ${y}${b?" !important":""};`)}let f=`clone-pseudo-element-${Tc()}`;t.classList.add(f),s.push(`.${f}${a} { ${p.join(" ")} }`)}return s.join(`
1400
- `)}function ii(e,t){if(!t)return;let r=Sc(e).createElement("style");r.textContent=t,e.appendChild(r)}function _e(e,t){if(!T())return null;let{iconName:o="ri-expand-left-right-line",labelName:r=""}=t,n=["cm-render-node-label-icon",o].join(" "),i=document.createElement("span");return i.innerHTML=`<i class="${n}"></i>${r}`,i.classList.add("cm-render-node-label"),e.appendChild(i),e.classList.add("cm-render-node"),i}import{findParentNodeOfType as Pc}from"@rme-sdk/core";import{TableMap as Bt}from"@rme-sdk/pm/tables";function ne(e){return Pc({selection:e,types:"table"})}function Zo(e,t,o){return t.cellsInRect(o).map(r=>{let n=e.node.nodeAt(r),i=r+e.start;if(!n)throw new RangeError(`unable to find a table cell node at position ${i}`);return{node:n,pos:i}})}function ai(e,t){let o=ne(e);if(!o)return[];let r=Bt.get(o.node);return t<0||t>=r.width?[]:Zo(o,r,{top:0,bottom:r.height,left:t,right:t+1})}function li(e,t){let o=ne(e);if(!o)return[];let r=Bt.get(o.node);return t<0||t>=r.height?[]:Zo(o,r,{top:t,bottom:t+1,left:0,right:r.width})}function ci(e,t){let o=ne(e);if(!o)return[];let r=Bt.get(o.node);return Zo(o,r,t)}var si=new WeakMap;function di(e){let t=si.get(e);return t||(t=Nc(e),si.set(e,t)),t}function Nc(e){let t=e.isColSelection(),o=e.isRowSelection();return t&&o?"table":t?"column":o?"row":"cell"}function er(e){let t=e.$anchorCell.node(-1),o=Bt.get(t),r=e.$anchorCell.start(-1);return o.rectBetween(e.$anchorCell.pos-r,e.$headCell.pos-r)}var nr="data-table-selector-type",Be=e=>{e.preventDefault()};function Ic(e,t,o){let r=_t("div",{class:rr("rme-table-body-selector rme-table-selector",o&&"rme-table-selector-highlight"),contenteditable:"false",[nr]:"body",onmousedown:Be,onmouseup:Be,onclick:n=>{n.preventDefault();let i=t();if(!i)return;let s=e.state.tr;oi(s,i)&&e.dispatch(s)}});return r.innerHTML='<svg viewBox="0 0 24 24" width="100%" height="100%" fill="currentColor" style="display: block;"><path d="M10 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 6a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm-4 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 6a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"></path></svg>',r}function Ac(e,t,o){return _t("div",{class:rr("rme-table-row-selector rme-table-selector",o&&"rme-table-selector-highlight"),contenteditable:"false",[nr]:"row",onmousedown:Be,onmouseup:Be,onclick:r=>{r.preventDefault();let n=t();if(!n)return;let i=e.state.tr;ei(i,n)&&e.dispatch(i)}})}function Lc(e,t,o){return _t("div",{class:rr("rme-table-column-selector rme-table-selector",o&&"rme-table-selector-highlight"),contenteditable:"false",[nr]:"column",onmousedown:Be,onmouseup:Be,onclick:r=>{r.preventDefault();let n=t();if(!n)return;let i=e.state.tr;ti(i,n)&&e.dispatch(i)}})}function pi(e){let{doc:t,selection:o}=e,r=ne(o);if(!r)return or.empty;let n=Rc.get(r.node);if(!n.map.length)return or.empty;let i=[],s=mi(o)?di(o):null,a=-1,l=-1,c=-1,d=-1;if(mi(o)){if(s==="table")a=0,l=n.height-1,c=0,d=n.width-1;else if(s==="row"){let f=er(o);a=f.top,l=f.bottom-1}else if(s==="column"){let f=er(o);c=f.left,d=f.right-1}}let m={side:-1,ignoreSelection:!0},p=ci(o,{top:0,bottom:1,left:0,right:1})[0];return i.push(tr.widget(p.pos+1,(f,u)=>Ic(f,u,s==="table"),{...m,key:`table-body-selector-${s==="table"}`})),ai(o,0).forEach((f,u)=>{let y=u>=a&&u<=l;i.push(tr.widget(f.pos+1,(b,x)=>Ac(b,x,y),{...m,key:`table-row-selector-${u}-${y}`}))}),li(o,0).forEach((f,u)=>{let y=u>=c&&u<=d;i.push(tr.widget(f.pos+1,(b,x)=>Lc(b,x,y),{...m,key:`table-column-selector-${u}-${y}`}))}),or.create(t,i)}var Ot=class extends _c{get name(){return"tableSelector"}createDecorations(t){return pi(t)}};var Ht=class extends Oc{constructor(){super(...arguments);this.createKeymap=()=>{let o=this.store.schema;return{...Zn(/^\|((?:[^\|]+\|){2,})\s*$/,({match:r})=>{let n=r[1].split("|").slice(0,-1).map(d=>(d=d.trim(),d||(d=" "),o.text(d))),i=n.map(d=>o.nodes.tableCell.create(null,d)),s=n.map(()=>o.nodes.tableCell.create(null)),a=o.nodes.tableRow.create(null,i),l=o.nodes.tableRow.create(null,s);return o.nodes.table.create(null,[a,l])},({tr:r})=>{let n=r.selection?.$cursor;if(n){let i=n.depth-1,s=n.posAtIndex(n.index(i)-1,i),a=r.doc.resolve(s);return r.setSelection(ir.near(a))}else return r}),ArrowUp:({state:r,dispatch:n})=>{let{selection:i}=r,{$head:s}=i,a=ui({selection:s,types:"tableCell"});if(!a)return!1;let c=a.node.content,d=s.pos-a.pos-1,m=hi(c);if(!(d<=m[0].end))return!1;let f=ne(i);if(!f)return!1;let u=fi.get(f.node),b=a.pos-f.start,x=-1,E=-1;for(let S=0;S<u.height;S++){for(let w=0;w<u.width;w++){let C=S*u.width+w;if(u.map[C]===b){x=S,E=w;break}}if(x!==-1)break}if(x===-1||x===0)return!1;let k=u.map[(x-1)*u.width+E];if(k===void 0)return!1;let h=f.start+k,g=r.tr.setSelection(ir.near(r.doc.resolve(h+1)));return n&&n(g),!0},ArrowDown:({state:r,dispatch:n})=>{let{selection:i}=r,{$head:s}=i,a=ui({selection:s,types:"tableCell"});if(!a)return!1;let c=a.node.content,d=s.pos-a.pos-1,m=hi(c);if(!(d>=m[m.length-1].start))return!1;let f=ne(i);if(!f)return!1;let u=fi.get(f.node),b=a.pos-f.start,x=-1,E=-1;for(let S=0;S<u.height;S++){for(let w=0;w<u.width;w++){let C=S*u.width+w;if(u.map[C]===b){x=S,E=w;break}}if(x!==-1)break}if(x===-1||x===u.height-1)return!1;let k=u.map[(x+1)*u.width+E];if(k===void 0)return!1;let h=f.start+k,g=r.tr.setSelection(ir.near(r.doc.resolve(h+1)));return n&&n(g),!0}}}}get name(){return"table"}fromMarkdown(){return[{type:2,token:"table",node:this.name,hasOpenClose:!0},{type:3,token:"thead_open"},{type:3,token:"thead_close"},{type:3,token:"tbody_open"},{type:3,token:"tbody_close"}]}toMarkdown({state:o,node:r}){let n=[],i=[];r.forEach((d,m,p)=>{let f=[];d.forEach((u,y,b)=>{let x="";for(let E=0;E<u.childCount;E++){let k=u.child(E);k.textContent?x+=k.textContent:k.type.name==="html_br"&&(x+="<br/>")}f.push(Vc(x.trim())),p===0&&(i[b]=1)}),n.push(f)});let s=i.length,a=new Array(s);n.forEach(d=>{d.forEach((m,p)=>{a[p]||(a[p]=3),a[p]=Math.max(m.length,a[p])})});let l=new Array(s);a.forEach((d,m)=>{switch(i[m]){case 4:l[m]=":"+"-".repeat(d-1);break;case 3:l[m]="-".repeat(d-1)+":";break;case 2:l[m]=":"+"-".repeat(d-2)+":";break;default:l[m]="-".repeat(d);break}}),n.splice(1,0,l);let c="";n.forEach(d=>{d.forEach((m,p)=>{c+="| ";let f=a[p];if(i[p]===2){let u=" ".repeat(Math.round((f-m.length)/2));c+=(u+m+u).padEnd(f)}else i[p]===3?c+=m.padStart(f):c+=m.padEnd(f);c+=" "}),c+=`|
1396
+ `,Vl=e=>{let t=e.error?.name||"Error",o=e.error?.message||String(e.error),r=e.error?.stack,n=e.errorInfo?.componentStack;return Rt(Dl,{children:[te(Hl,{children:"Sorry, something went wrong!"}),Rt(Fo,{children:[te($o,{children:"Message"}),te(zo,{children:`${t}: ${o}`})]}),r?Rt(Fo,{children:[te($o,{children:"Stack"}),te(zo,{children:r})]}):null,n?Rt(Fo,{children:[te($o,{children:"Component Stack"}),te(zo,{children:n.trim()})]}):null]})},Ko=class extends Ol.Component{constructor(t){super(t),this.state={hasError:this.props.hasError??!1}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,o){console.error("[ErrorBoundary]",t,o),this.setState({errorInfo:o})}render(){let t=this.props.fallback??Vl;if(this.state.hasError){let o=this.props.error??this.state.error??new Error("Unknown error");return console.error(o),this.props.onError?.({error:o,errorInfo:this.state.errorInfo}),te(t,{error:o,errorInfo:this.state.errorInfo})}return this.props.children}},Ie=Ko;import{useRemirrorContext as Fl}from"@rme-sdk/react";import{memo as $l}from"react";import{jsx as Kl}from"react/jsx-runtime";var zl=$l(({children:e,...t})=>{let{getRootProps:o}=Fl(),{key:r,...n}=o(),i=Object.assign({position:"relative"},t.style);return Kl("div",{...n,spellCheck:!1,...t,style:i,children:e})}),zn=zl;import{markdown as Fh}from"@codemirror/lang-markdown";import{CountExtension as $h}from"@rme-sdk/extension-count";import{DocExtension as zh}from"@rme-sdk/main/extensions";import{createReactManager as Kh}from"@rme-sdk/react";import{languages as Ws}from"@codemirror/language-data";import{placeholder as Ih}from"@codemirror/view";import{extension as Ah,findParentNodeOfType as Us,isElementDomNode as Lh,isEqual as _h,isTextSelection as Bh,NodeExtension as Oh,nodeInputRule as qs,setBlockType as Hh}from"@rme-sdk/core";import{TextSelection as qr}from"@rme-sdk/pm/state";import{Decoration as Dh,DecorationSet as To}from"@rme-sdk/pm/view";import{t as Vh}from"i18next";import{Mark as Xo}from"@rme-sdk/pm/model";import Zn from"markdown-it";import Wl from"markdown-it/lib/token.mjs";function Ul(e){return e.type==="list_item_open"&&["*","-"].includes(e.markup)}function ql(e){return e.type==="paragraph_open"}function Gl(e){return e.type==="inline"}var jl=e=>{let t=!1,o=e.tokens,r=o.length;for(let n=r-3;n>=0;n--){let i=o[n];if(i.type==="ordered_list_open"&&i.attrs?.some(([s,a])=>{if(s==="start"){let l=parseInt(a,10);return!isNaN(l)&&l>=1&&i.attrPush(["order",a]),!0}return!1}),Ul(i)&&ql(o[n+1])&&Gl(o[n+2])){let s=o[n+2],a=/^\[([ |x])\]\s?/.exec(s.content);if(a){let l=a[1]==="x",c=a[0];if(s.content=s.content.slice(c.length),s.children&&s.children.length>0){let m=s.children.find(p=>p.type==="text");if(m){let p=m.content;p.startsWith(c)&&(m.content=p.slice(c.length))}}let d=new Wl("list_checkbox","input",0);d.attrPush(["type","checkbox"]),l&&d.attrPush(["checked",""]),o.splice(n+1,0,d),t=!0}}}return t};function Ql(e){e.core.ruler.push("markdown-it-list-checkbox",jl)}var Kn=Ql;import{normalizeReference as Xl}from"markdown-it/lib/common/utils.mjs";var Yl=/^!\[([^\]]*)\]\[([^\]]+)\]/g;function Jl(e,t){let o=e.pos,r=e.src.slice(o),n=Yl.exec(r);if(!n)return!1;let i=n[1]||"",s=(n[2]||"").trim(),a=e.env&&e.env.rmeReferences,l=Xl(s);if(!(a&&a[l]))return!1;if(!t){let d=e.push("md_image","",0);d.attrs={src:"",alt:i,"data-refer-label":s},d.tag="img"}return e.pos=o+n[0].length,!0}function Wo(e){e.inline.ruler.push("reference_image",Jl)}function Wn(e,t){var o=3,r="-",n=r.charCodeAt(0),i=r.length;function s(a,l,c,d){var m,p,f,u,y,b,x,E=!1,k=a.bMarks[l]+a.tShift[l],h=a.eMarks[l];if(l!==0||n!==a.src.charCodeAt(0))return!1;for(m=k+1;m<=h;m++)if(r[(m-k)%i]!==a.src[m]){x=m+1;break}if(f=Math.floor((m-k)/i),f<o)return!1;if(m-=(m-k)%i,d)return!0;for(p=l;p++,!(p>=c||a.src.slice(k,h)==="..."||(k=a.bMarks[p]+a.tShift[p],h=a.eMarks[p],k<h&&a.sCount[p]<a.blkIndent));)if(n===a.src.charCodeAt(k)&&!(a.sCount[p]-a.blkIndent>=4)){for(m=k+1;m<=h&&r[(m-k)%i]===a.src[m];m++);if(!(Math.floor((m-k)/i)<f)&&(m-=(m-k)%i,m=a.skipSpaces(m),!(m<h))){E=!0;break}}return y=a.parentType,b=a.lineMax,a.parentType="container",a.lineMax=p,u=a.push("fence",null,0),u.tag="code",u.hidden=!0,u.markup=a.src.slice(l,m),u.block=!0,u.map=[l,p+(E?1:0)],u.meta=a.src.slice(x,k-1),u.info="yaml",u.attrSet("front-matter",!0),u.content=u.meta,a.parentType=y,a.lineMax=b,a.line=p+(E?1:0),t(u.meta),!0}e.block.ruler.before("table","front_matter",s,{alt:["paragraph","reference","blockquote","list"]})}import oe from"markdown-it/lib/token.mjs";import Zl from"void-elements";import Un from"html-parse-stringify";function qn(e){return/^<\/[a-zA-Z0-9]+\s*>$/.test(e)}function Gn(e){let t=Un.parse(e);return t&&t.length===1}var ue=e=>Un.parse(e)[0]?.attrs||{};function Ae(e){let o=/<\/?([a-zA-Z0-9]+)\b[^>]*>/.exec(e);return o&&o.length>1?o[1].toLowerCase():""}function It(e){return e&&e.tagName?.toLocaleUpperCase()==="IMG"}function jn(e){let{attrs:t}=e;if(t["data-refer-label"])return`![${t.alt||""}][${t["data-refer-label"]}]`;let o=t.alt||"",r=t.src||"",n=t.title?` "${t.title}"`:"";return`![${o}](${r}${n})`}function Le(e){let t="";if(e.attrs){let o=Object.entries(e.attrs).filter(([,r])=>r);o.length&&(t=`${o.map(([r,n])=>`${r}="${n}"`).join(" ")}`)}return e.voidElement?`<${e.tag} ${t} />`:`<${e.tag} ${t}></${e.tag}>`}var ct=["img","iframe","br"],re=["html_inline_node","html_image","iframe_inline","html_br","math_inline","md_image"],Uo={img:"html_image",iframe:"iframe_inline",br:"html_br"};function ec(e){let t=[],o=[];for(let r=0;r<e.length;r++){let n=e[r];if(Qn(n)){let i=Ae(n.content),s={tag:i,voidElement:!!Zl[i],isClosingTag:qn(n.content),index:r};s.voidElement?n.complete=!0:s.isClosingTag?t[t.length-1]?.tag===s.tag&&t.length>=1&&(o.push([t.pop(),s]),n.complete=!0):t.push(s)}}for(let r=0;r<o.length;r++){let n=o[r],i=n[0].index,s=n[1].index;o.findIndex(l=>l[0].index<i&&l[1].index>s)>=0&&(o.splice(r,1),r--)}return o}function tc(e,t,o){let r=new oe("html_inline_node","",0);for(let n=t;n<=o;n++)r.content+=e[n].content||"",r.complete=!0;return r.attrs={htmlText:r.content},e.splice(t,o-t+1,r),e}function oc(e){let t=ec(e),o=0;t.forEach(r=>{let n=r[0].index+o,i=r[1].index+o;tc(e,n,i),o+=n-i}),e.forEach((r,n)=>{if(Qn(r)){let i=Ae(r.content);if(Uo[i]){let s=new oe(Uo[i],"",0);s.content=r.content,s.attrs=ue(r.content),s.attrs.htmlText=s.content,e.splice(n,1,s)}else{let s=new oe("html_inline_node","",0);s.content=r.content,s.attrs={htmlText:s.content},e.splice(n,1,s)}}})}function rc(e){return e.type==="inline"}function Qn(e){return e.type==="html_inline"}function nc(e){return e.type==="html_block"}var ic=e=>{let o=e.tokens,r=o.length;for(let n=0;n<=r-1;n++){let i=o[n];if(rc(i)){let s=i.children;s&&oc(s);let a=[],l=[];if(s?.forEach((c,d)=>{if(re.includes(c.type)){if(l.length>0){let m=new oe("inline","",0);m.children=[...l],m.content=l.map(p=>p.type==="softbreak"?`
1397
+ `:p.content).join(""),a.push(m),l=[]}a.push(c)}else l.push(c)}),l.length>0){let c=new oe("inline","",0);c.children=l,c.content=l.map(d=>d.content).join(""),a.push(c),l=[]}i.children&&a.length>0&&(o.splice(n,1,...a),r+=a.length-1)}else if(nc(i)){let s=Ae(i.content);if(Gn(i.content)&&ct.includes(s)){let a=new oe(Uo[s],"",0);a.content=i.content,a.attrs=ue(i.content),o.splice(n,1,new oe("paragraph_open","",0),a,new oe("paragraph_close","",0))}}}return!1};function sc(e){e.core.ruler.push("markdown-it-html-inline",ic)}var Xn=sc;import qo from"markdown-it/lib/token.mjs";var ac=e=>{let t=!1,o=e.tokens,r=o.length;for(let n=0;n<=r-1;n++){let i=o[n],s=[];if(i.type==="html_image"){let a=i.attrs?.src||"",l=i.attrs?.alt||"",c=new qo("md_image","img",0);c.attrs={src:a,alt:l,"data-rme-type":"html"},o.splice(n,1,c),t=!0;continue}if(i.type==="inline"&&i.children&&i.children.some(a=>a.type==="image"||a.type==="html_image")){i.children.forEach(l=>{if(l.type==="image"){let c=l.attrs?.[0]?.[1]||"",d=l.attrs?.[1]?.[1]||l.content||"",m=new qo("md_image","img",0);m.attrs={src:c,alt:d},s.push(m),t=!0}else if(l.type==="html_image"){let c=l.attrs?.src||"",d=l.attrs?.alt||"",m=new qo("md_image","img",0);m.attrs={src:c,alt:d,"data-rme-type":"html"},s.push(m),t=!0}else s.push(l)}),o.splice(n,1,...s),r+=s.length-1;continue}}return t};function Go(e){e.core.ruler.push("markdown-it-image",ac)}import Yn from"markdown-it/lib/token.mjs";var lc=e=>{let t=!1,o=e.tokens,r=o.length;for(let n=0;n<=r-1;n++){let i=o[n];if(i.type==="math_block"){let a=i.content||"",l=new Yn("math_block","",0);l.attrs={tex:i.attrs?.[0]?.[1]||""},l.content=a,l.block=!0,l.map=i.map,o[n]=l,t=!0}let s=[];if(i.type==="inline"&&i.children&&i.children.some(a=>a.type==="math_inline")){i.children.forEach(l=>{if(l.type==="math_inline"){let c=l.attrs?.tex||"",d=l.content||"",m=new Yn("math_inline","",0);m.attrs={tex:c},m.content=d,s.push(m),t=!0}else s.push(l)}),o.splice(n,1,...s),r+=s.length-1;continue}}return t};function jo(e){e.inline.ruler.after("escape","math_inline",(t,o)=>{let r=t.pos;if(t.src.charCodeAt(r)!==36||t.src.charCodeAt(r+1)===36)return!1;let i=r+1,s=i;for(;(s=t.src.indexOf("$",s))!==-1;){let a=0,l=s-1;for(;l>=0&&t.src[l]==="\\";)a++,l--;if(a%2===0)break;s++}if(s===-1)return!1;if(!o){let a=t.push("math_inline","",0),l=t.src.slice(i,s),c=t.src.slice(r,s+1);a.attrs={tex:l}}return t.pos=s+1,!0}),e.block.ruler.after("fence","math_block",(t,o,r,n)=>{let i=t.bMarks[o]+t.tShift[o],s=t.eMarks[o];if(i+2>s||t.src.charCodeAt(i)!==36||t.src.charCodeAt(i+1)!==36)return!1;if(i+=2,n)return!0;let a=o,l=!1,c="";for(;a++,!(a>=r);){let p=t.bMarks[a]+t.tShift[a],f=t.eMarks[a];if(t.src.charCodeAt(p)===36&&t.src.charCodeAt(p+1)===36){l=!0,i=p+2;break}}if(!l)return!1;c=t.getLines(o+1,a,t.tShift[o+1],!0);let d=t.getLines(o,a+1,t.tShift[o],!0),m=t.push("math_block","div",0);return m.block=!0,m.content=c,m.attrs=[["tex",c]],m.map=[o,a+1],t.line=a+1,!0},{alt:["paragraph","reference","blockquote","list"]}),e.core.ruler.push("markdown-it-math",lc)}import cc from"markdown-it/lib/token.mjs";var dc=e=>{let t=!1,o=e.tokens,r=o.length;for(let n=0;n<=r-1;n++){let i=o[n];if(i.type==="fence"&&i.info==="mermaid"){let s=i.content,a=new cc("mermaid_node","",0);a.content=s,o[n]=a}}return t};function mc(e){e.core.ruler.push("markdown-it-mermaid",dc)}var Jn=mc;import{isSpace as At,normalizeReference as pc}from"markdown-it/lib/common/utils.mjs";import dt from"markdown-it/lib/token.mjs";function uc(e,t,o,r){let n=e.bMarks[t]+e.tShift[t],i=e.eMarks[t],s=t+1;if(e.sCount[t]-e.blkIndent>=4||e.src.charCodeAt(n)!==91)return!1;function a(h){let g=e.lineMax;if(h>=g||e.isEmpty(h))return null;let S=!1;if(e.sCount[h]-e.blkIndent>3&&(S=!0),e.sCount[h]<0&&(S=!0),!S){let v=e.md.block.ruler.getRules("reference_def"),A=e.parentType;e.parentType="reference_def";let R=!1;for(let I=0,F=v.length;I<F;I++)if(v[I](e,h,g,!0)){R=!0;break}if(e.parentType=A,R)return null}let w=e.bMarks[h]+e.tShift[h],C=e.eMarks[h];return e.src.slice(w,C+1)}let l=e.src.slice(n,i+1);i=l.length;let c=-1;for(n=1;n<i;n++){let h=l.charCodeAt(n);if(h===91)return!1;if(h===93){c=n;break}else if(h===10){let g=a(s);g!==null&&(l+=g,i=l.length,s++)}else if(h===92&&(n++,n<i&&l.charCodeAt(n)===10)){let g=a(s);g!==null&&(l+=g,i=l.length,s++)}}if(c<0||l.charCodeAt(c+1)!==58)return!1;for(n=c+2;n<i;n++){let h=l.charCodeAt(n);if(h===10){let g=a(s);g!==null&&(l+=g,i=l.length,s++)}else if(!At(h))break}let d=e.md.helpers.parseLinkDestination(l,n,i);if(!d.ok)return!1;let m=e.md.normalizeLink(d.str);if(!e.md.validateLink(m))return!1;n=d.pos;let p=n,f=s,u=n;for(;n<i;n++){let h=l.charCodeAt(n);if(h===10){let g=a(s);g!==null&&(l+=g,i=l.length,s++)}else if(!At(h))break}let y=e.md.helpers.parseLinkTitle(l,n,i);for(;y.can_continue;){let h=a(s);if(h===null)break;l+=h,n=i,i=l.length,s++,y=e.md.helpers.parseLinkTitle(l,n,i,y)}let b;for(n<i&&u!==n&&y.ok?(b=y.str,n=y.pos):(b="",n=p,s=f);n<i;){let h=l.charCodeAt(n);if(!At(h))break;n++}if(n<i&&l.charCodeAt(n)!==10&&b)for(b="",n=p,s=f;n<i;){let h=l.charCodeAt(n);if(!At(h))break;n++}if(n<i&&l.charCodeAt(n)!==10)return!1;let x=l.slice(1,c),E=pc(x);if(!x)return!1;if(r)return!0;let k=e.push("reference_def","",0);return k.info=x,k.attrs=[["label",x],["href",m]],b&&k.attrs.push(["title",b]),k.map=[t,t+1],k.content=l,typeof e.env.rmeReferences>"u"&&(e.env.rmeReferences={}),typeof e.env.rmeReferences[x]>"u"&&(e.env.rmeReferences[E]={title:b,href:m,label:x}),e.line=s,!0}var fc=e=>{let t=!1,o=e.tokens,r=o.length;for(let n=0;n<=r-1;n++){let i=o[n];if(i.type==="reference_def"){console.log("reference_def",i);let s=i.attrs?.find(u=>u[0]==="label")?.[1]||"",a=i.attrs?.find(u=>u[0]==="href")?.[1]||"",l=i.attrs?.find(u=>u[0]==="title")?.[1]||"",c=new dt("reference_label","span",0),d=new dt("reference_href","span",0),m=new dt("reference_title","span",0);c.content=s,d.content=a,m.content=l;let p=new dt("reference_def_open","span",0),f=new dt("reference_def_close","span",0);p.attrs=[["label",s],["href",a],["title",l]],o.splice(n,1,p,c,d,m,f),n+=4,r+=4,t=!0}}return t};function Qo(e){e.core.ruler.push("markdown-it-reference-def",fc),e.block.ruler.before("paragraph","reference_def",uc,{alt:["paragraph","reference"]})}var Yo=class extends Error{constructor(o,r){super(`MarkdownIt token type '${o}' not supported. `);this.tokenType=o;this.supportedTokenTypes=r;this.tokenType=o}},Jo=class{constructor(t,o){this.schema=t,this.stack=[{type:t.topNodeType,content:[]}],this.contextStack=[],this.contextTokenStack=[],this.marks=Xo.none,this.tokenHandlers=o}top(){return this.stack[this.stack.length-1]}push(t){this.stack.length&&this.top().content.push(t)}addText(t){if(!t)return;let r=this.top().content,n=r[r.length-1],i=this.schema.text(t,this.marks),s;n&&(s=this.mergeTextNode(n,i))?r[r.length-1]=s:r.push(i)}mergeTextNode(t,o){if(t.isText&&o.isText&&Xo.sameSet(t.marks,o.marks)){let r=(t.text||"")+(o.text||"");return t.type.schema.text(r,t.marks)}}openMark(t){this.marks=t.addToSet(this.marks)}closeMark(t){this.marks=t.removeFromSet(this.marks)}parseTokens(t){for(let o of t){let r=this.tokenHandlers[o.type];if(!r)return;if(!r)throw new Yo(o.type,Object.keys(this.tokenHandlers));o.type==="inline"&&o.children&&o.children.length>0?this.parseTokens(o.children):r(this,o)}}addNode(t,o,r){let n=t.createAndFill(o,r,this.marks);if(!n)throw new Error(`unexpected error: node is empty while creating ${t.name} node`);return this.push(n),n}openNode(t,o){this.stack.push({type:t,attrs:o,content:[]})}closeNode(){this.marks.length&&(this.marks=Xo.none);let t=this.stack.pop();if(!t)throw new Error("unexpected error: info is empty");return this.addNode(t.type,t.attrs,t.content)}openContext(t,o){this.contextStack.push(t),this.contextTokenStack.push(o)}closeContext(){this.contextStack.pop(),this.contextTokenStack.pop()}closeContextToken(){return this.contextTokenStack.pop()}topContext(){return this.contextStack[this.contextStack.length-1]}topContextToken(){return this.contextTokenStack[this.contextTokenStack.length-1]}};function hc(e){return e.endsWith(`
1398
+ `)?e.slice(0,e.length-1):e}function gc(e,t,o){let r=o.nodes[e.node];if(r===void 0)throw new RangeError(`Can't find block type '${e.node}'`);e.hasOpenClose?(t[e.token+"_open"]=(n,i)=>{let s=e.getAttrs?e.getAttrs(i):void 0;n.openNode(r,s)},t[e.token+"_close"]=n=>{n.closeNode()}):t[e.token]=(n,i)=>{let s=e.getAttrs?e.getAttrs(i):void 0;n.openNode(r,s),n.addText(hc(i.content)),n.closeNode()}}function bc(e,t){t[e.token+"_open"]=(o,r)=>{o.openContext(e.context,r)},t[e.token+"_close"]=o=>{o.closeContext()}}function yc(e,t,o){let r=o.nodes[e.token];if(r===void 0)throw new RangeError(`Can't find inline type '${e.token}'`);t[e.token]=(n,i)=>{let s=i.attrs||null,a;i.content&&!r.isAtom&&(a=o.text(i.content));let l=o.nodes[i.type]?.createAndFill(s,a);l&&n.push(l)}}function xc(e,t){t[e.token]=(o,r)=>{o.addText(e.getText(r))}}function kc(e,t){let o={};for(let r of t)switch(r.type){case 1:xc(r,o);break;case 2:gc(r,o,e);break;case 5:bc(r,o);break;case 3:o[r.token]=()=>{};break;case 6:yc(r,o,e);break;case 4:o[r.token]=r.handler;break;default:throw new Error("unknown parser rule type")}return o}var Lt=class{constructor(t,o){this.schema=t,this.tokenizer=Zn("commonmark",{html:!0}).disable(["emphasis","autolink","backticks","entity","reference","link"]).enable(["table"]).use(Wn,function(r){console.log("Front matter content:",r)}).use(Xn).use(Kn).use(Jn).use(jo).use(Go).use(Wo).use(Qo),this.tokenizer.validateLink=r=>r.startsWith("data:")?!0:Zn().validateLink(r),this.tokenizer.normalizeLink=r=>r,this.tokenHandlers=kc(t,o)}parse(t){let o=new Jo(this.schema,this.tokenHandlers),r,n=this.tokenizer.parse(t,{});o.parseTokens(n);do r=o.closeNode();while(o.stack.length);return r}};import{DropCursorExtension as Ch}from"@rme-sdk/main/extensions";import{findParentNodeOfType as fi}from"@rme-sdk/core";import{TableCellExtension as Oc,TableExtension as Hc,TableHeaderCellExtension as Dc,TableRowExtension as Vc}from"@rme-sdk/extension-tables";import{TextSelection as sr}from"@rme-sdk/pm/state";import{TableMap as hi}from"@rme-sdk/pm/tables";import{convertCommand as Cc,isTextSelection as wc}from"@rme-sdk/core";import{Fragment as Ec}from"@rme-sdk/pm/model";function ei(e,t,o){return{Enter:Cc((r,n)=>{if(!wc(r.selection))return!1;let i=r.selection.$cursor;if(!i)return!1;let{nodeBefore:s}=r.selection.$from,a=s&&s.isText&&s.text;if(!a)return!1;let l=e.exec(a);if(!l)return!1;let[c,d]=[i.pos-l[0].length,i.pos],m=r.doc.resolve(c),p=t({match:l,start:c,end:d}),f=m.node(-1),u=m.index(-1),y=m.indexAfter(-1);if(!f.canReplace(u,y,Ec.from(p)))return!1;let b=r.tr;return b=b.replaceRangeWith(c,d,p),o&&(b=o({tr:b})),n&&n(b),!0})}}import{findParentNodeOfType as Zo}from"@rme-sdk/core";import{CellSelection as _t,TableMap as Sc}from"@rme-sdk/pm/tables";function ti(e,t){let o=Zo({selection:e.doc.resolve(t),types:"tableCell"});return o?(e.setSelection(_t.rowSelection(e.doc.resolve(o.pos))),!0):!1}function oi(e,t){let o=Zo({selection:e.doc.resolve(t),types:"tableCell"});return o?(e.setSelection(_t.colSelection(e.doc.resolve(o.pos))),!0):!1}function ri(e,t){let o=Zo({selection:e.doc.resolve(t),types:"table"});if(!o)return!1;let r=Sc.get(o.node);if(!r.map.length)return!1;let n=r.map[0],i=r.map[r.map.length-1];return e.setSelection(_t.create(e.doc,o.start+n,o.start+i)),!0}function ni(e,t){return e.setSelection(_t.create(e.doc,t)),!0}import{PlainExtension as Bc}from"@rme-sdk/core";import{cx as nr}from"@rme-sdk/core";import{isCellSelection as pi,TableMap as Ic}from"@rme-sdk/pm/tables";import{Decoration as or,DecorationSet as rr}from"@rme-sdk/pm/view";import{getDocument as Tc,getId as vc}from"@ocavue/utils";function Bt(e,t,...o){if(!T())return null;let r=document.createElement(e);return t&&Object.entries(t).forEach(([n,i])=>{typeof i=="string"?r.setAttribute(n,i):r[n]=i}),o.length&&r.append(...o),r}function ii(e,t=!1){let o=e.cloneNode(!0),r=Mc(e,o,t);return[o,r]}function Mc(e,t,o){let r=[e],n=[t],i=[];for(;r.length>0&&r.length===n.length;){let s=r.shift(),a=n.shift();if(!s||!a)break;let l=Pc(s,a,o);l&&i.push(l),r.push(...Array.from(s.children)),n.push(...Array.from(a.children))}return i.join(`
1399
+ `)}function Pc(e,t,o){if(!e||!t)return"";let r=e.ownerDocument?.defaultView;if(!r)return"";let n=r.getComputedStyle(e),i=t.style;if(!n||!i)return"";for(let a of n)i.setProperty(a,n.getPropertyValue(a),o?"important":n.getPropertyPriority(a)||"");let s=[];for(let a of[":before",":after"]){let l=r.getComputedStyle(e,a),c=r.getComputedStyle(t,a);if(!l)continue;let d=l.getPropertyValue("content");if(!(d&&d!=="none"&&d!=="normal"))continue;let p=[];for(let u of l){let y=l.getPropertyValue(u),b=l.getPropertyPriority(u),x=c.getPropertyValue(u),E=c.getPropertyPriority(u);(y!==x||b!==E)&&p.push(`${u}: ${y}${b?" !important":""};`)}let f=`clone-pseudo-element-${vc()}`;t.classList.add(f),s.push(`.${f}${a} { ${p.join(" ")} }`)}return s.join(`
1400
+ `)}function si(e,t){if(!t)return;let r=Tc(e).createElement("style");r.textContent=t,e.appendChild(r)}function _e(e,t){if(!T())return null;let{iconName:o="ri-expand-left-right-line",labelName:r=""}=t,n=["cm-render-node-label-icon",o].join(" "),i=document.createElement("span");return i.innerHTML=`<i class="${n}"></i>${r}`,i.classList.add("cm-render-node-label"),e.appendChild(i),e.classList.add("cm-render-node"),i}import{findParentNodeOfType as Nc}from"@rme-sdk/core";import{TableMap as Ot}from"@rme-sdk/pm/tables";function ne(e){return Nc({selection:e,types:"table"})}function er(e,t,o){return t.cellsInRect(o).map(r=>{let n=e.node.nodeAt(r),i=r+e.start;if(!n)throw new RangeError(`unable to find a table cell node at position ${i}`);return{node:n,pos:i}})}function li(e,t){let o=ne(e);if(!o)return[];let r=Ot.get(o.node);return t<0||t>=r.width?[]:er(o,r,{top:0,bottom:r.height,left:t,right:t+1})}function ci(e,t){let o=ne(e);if(!o)return[];let r=Ot.get(o.node);return t<0||t>=r.height?[]:er(o,r,{top:t,bottom:t+1,left:0,right:r.width})}function di(e,t){let o=ne(e);if(!o)return[];let r=Ot.get(o.node);return er(o,r,t)}var ai=new WeakMap;function mi(e){let t=ai.get(e);return t||(t=Rc(e),ai.set(e,t)),t}function Rc(e){let t=e.isColSelection(),o=e.isRowSelection();return t&&o?"table":t?"column":o?"row":"cell"}function tr(e){let t=e.$anchorCell.node(-1),o=Ot.get(t),r=e.$anchorCell.start(-1);return o.rectBetween(e.$anchorCell.pos-r,e.$headCell.pos-r)}var ir="data-table-selector-type",Be=e=>{e.preventDefault()};function Ac(e,t,o){let r=Bt("div",{class:nr("rme-table-body-selector rme-table-selector",o&&"rme-table-selector-highlight"),contenteditable:"false",[ir]:"body",onmousedown:Be,onmouseup:Be,onclick:n=>{n.preventDefault();let i=t();if(!i)return;let s=e.state.tr;ri(s,i)&&e.dispatch(s)}});return r.innerHTML='<svg viewBox="0 0 24 24" width="100%" height="100%" fill="currentColor" style="display: block;"><path d="M10 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 6a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm-4 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 6a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"></path></svg>',r}function Lc(e,t,o){return Bt("div",{class:nr("rme-table-row-selector rme-table-selector",o&&"rme-table-selector-highlight"),contenteditable:"false",[ir]:"row",onmousedown:Be,onmouseup:Be,onclick:r=>{r.preventDefault();let n=t();if(!n)return;let i=e.state.tr;ti(i,n)&&e.dispatch(i)}})}function _c(e,t,o){return Bt("div",{class:nr("rme-table-column-selector rme-table-selector",o&&"rme-table-selector-highlight"),contenteditable:"false",[ir]:"column",onmousedown:Be,onmouseup:Be,onclick:r=>{r.preventDefault();let n=t();if(!n)return;let i=e.state.tr;oi(i,n)&&e.dispatch(i)}})}function ui(e){let{doc:t,selection:o}=e,r=ne(o);if(!r)return rr.empty;let n=Ic.get(r.node);if(!n.map.length)return rr.empty;let i=[],s=pi(o)?mi(o):null,a=-1,l=-1,c=-1,d=-1;if(pi(o)){if(s==="table")a=0,l=n.height-1,c=0,d=n.width-1;else if(s==="row"){let f=tr(o);a=f.top,l=f.bottom-1}else if(s==="column"){let f=tr(o);c=f.left,d=f.right-1}}let m={side:-1,ignoreSelection:!0},p=di(o,{top:0,bottom:1,left:0,right:1})[0];return i.push(or.widget(p.pos+1,(f,u)=>Ac(f,u,s==="table"),{...m,key:`table-body-selector-${s==="table"}`})),li(o,0).forEach((f,u)=>{let y=u>=a&&u<=l;i.push(or.widget(f.pos+1,(b,x)=>Lc(b,x,y),{...m,key:`table-row-selector-${u}-${y}`}))}),ci(o,0).forEach((f,u)=>{let y=u>=c&&u<=d;i.push(or.widget(f.pos+1,(b,x)=>_c(b,x,y),{...m,key:`table-column-selector-${u}-${y}`}))}),rr.create(t,i)}var Ht=class extends Bc{get name(){return"tableSelector"}createDecorations(t){return ui(t)}};var Dt=class extends Hc{constructor(){super(...arguments);this.createKeymap=()=>{let o=this.store.schema;return{...ei(/^\|((?:[^\|]+\|){2,})\s*$/,({match:r})=>{let n=r[1].split("|").slice(0,-1).map(d=>(d=d.trim(),d||(d=" "),o.text(d))),i=n.map(d=>o.nodes.tableCell.create(null,d)),s=n.map(()=>o.nodes.tableCell.create(null)),a=o.nodes.tableRow.create(null,i),l=o.nodes.tableRow.create(null,s);return o.nodes.table.create(null,[a,l])},({tr:r})=>{let n=r.selection?.$cursor;if(n){let i=n.depth-1,s=n.posAtIndex(n.index(i)-1,i),a=r.doc.resolve(s);return r.setSelection(sr.near(a))}else return r}),ArrowUp:({state:r,dispatch:n})=>{let{selection:i}=r,{$head:s}=i,a=fi({selection:s,types:"tableCell"});if(!a)return!1;let c=a.node.content,d=s.pos-a.pos-1,m=gi(c);if(!(d<=m[0].end))return!1;let f=ne(i);if(!f)return!1;let u=hi.get(f.node),b=a.pos-f.start,x=-1,E=-1;for(let S=0;S<u.height;S++){for(let w=0;w<u.width;w++){let C=S*u.width+w;if(u.map[C]===b){x=S,E=w;break}}if(x!==-1)break}if(x===-1||x===0)return!1;let k=u.map[(x-1)*u.width+E];if(k===void 0)return!1;let h=f.start+k,g=r.tr.setSelection(sr.near(r.doc.resolve(h+1)));return n&&n(g),!0},ArrowDown:({state:r,dispatch:n})=>{let{selection:i}=r,{$head:s}=i,a=fi({selection:s,types:"tableCell"});if(!a)return!1;let c=a.node.content,d=s.pos-a.pos-1,m=gi(c);if(!(d>=m[m.length-1].start))return!1;let f=ne(i);if(!f)return!1;let u=hi.get(f.node),b=a.pos-f.start,x=-1,E=-1;for(let S=0;S<u.height;S++){for(let w=0;w<u.width;w++){let C=S*u.width+w;if(u.map[C]===b){x=S,E=w;break}}if(x!==-1)break}if(x===-1||x===u.height-1)return!1;let k=u.map[(x+1)*u.width+E];if(k===void 0)return!1;let h=f.start+k,g=r.tr.setSelection(sr.near(r.doc.resolve(h+1)));return n&&n(g),!0}}}}get name(){return"table"}fromMarkdown(){return[{type:2,token:"table",node:this.name,hasOpenClose:!0},{type:3,token:"thead_open"},{type:3,token:"thead_close"},{type:3,token:"tbody_open"},{type:3,token:"tbody_close"}]}toMarkdown({state:o,node:r}){let n=[],i=[];r.forEach((d,m,p)=>{let f=[];d.forEach((u,y,b)=>{let x="";for(let E=0;E<u.childCount;E++){let k=u.child(E);k.textContent?x+=k.textContent:k.type.name==="html_br"&&(x+="<br/>")}f.push(Fc(x.trim())),p===0&&(i[b]=1)}),n.push(f)});let s=i.length,a=new Array(s);n.forEach(d=>{d.forEach((m,p)=>{a[p]||(a[p]=3),a[p]=Math.max(m.length,a[p])})});let l=new Array(s);a.forEach((d,m)=>{switch(i[m]){case 4:l[m]=":"+"-".repeat(d-1);break;case 3:l[m]="-".repeat(d-1)+":";break;case 2:l[m]=":"+"-".repeat(d-2)+":";break;default:l[m]="-".repeat(d);break}}),n.splice(1,0,l);let c="";n.forEach(d=>{d.forEach((m,p)=>{c+="| ";let f=a[p];if(i[p]===2){let u=" ".repeat(Math.round((f-m.length)/2));c+=(u+m+u).padEnd(f)}else i[p]===3?c+=m.padStart(f):c+=m.padEnd(f);c+=" "}),c+=`|
1401
1401
  `}),c+=`
1402
- `,o.text(c,!1)}createExtensions(){return[]}},Dt=class extends Dc{get name(){return"tableRow"}createNodeSpec(t,o){return{...super.createNodeSpec(t,o),allowGapCursor:!1}}fromMarkdown(){return[{type:2,token:"tr",node:this.name,hasOpenClose:!0}]}toMarkdown(){}createExtensions(){return[]}},Vt=class extends Hc{get name(){return"tableHeaderCell"}fromMarkdown(){return[]}toMarkdown(){}createExtensions(){return[]}},Ft=class extends Bc{get name(){return"tableCell"}createNodeSpec(t,o){return{...super.createNodeSpec(t,o),content:"inline*"}}createExtensions(){return[new Ot]}createCommands(){return{selectTableCell:({pos:t})=>({tr:o,dispatch:r})=>ri(o,t)?(r?.(o),!0):!1}}fromMarkdown(){return[{type:2,token:"th",node:this.name,hasOpenClose:!0},{type:2,token:"td",node:this.name,hasOpenClose:!0}]}toMarkdown(){}};function Vc(e){return e.replace(/\n/g,"")}function hi(e){let t=[{start:0,end:e.firstChild?.nodeSize||0,isText:e.firstChild?.isText||!1}],o=t[0];for(let r=1;r<e.childCount;r++){let n=e.child(r);if(n.isText&&o?.isText)o.end+=n.nodeSize;else{let i=o.end;t.push({start:i,end:i+n.nodeSize,isText:n.isText}),o=t[t.length-1]}}return t}import{CountExtension as wh}from"@rme-sdk/extension-count";import{corePreset as Eh}from"@rme-sdk/preset-core";import{ReactComponentExtension as Sh}from"@rme-sdk/react";import{extension as Gc,ExtensionTag as xi,NodeExtension as jc}from"@rme-sdk/core";import{TextSelection as Qc}from"@rme-sdk/pm/state";import{t as q}from"i18next";import{useEffect as Fc,useRef as gi,useState as pt}from"react";import fe from"styled-components";import{Button as Oe,Menu as bi}from"zens";var mt=e=>e.state.plugins.find(o=>o.spec.initialState?.isTransformerFlag===!0)?.getState(e.state)||{};import{jsx as $,jsxs as Y}from"react/jsx-runtime";function yi(e){let{supportProviderInfosMap:t,generateText:o,getPosition:r,defaultSelectProvider:n}=e,i=r(),[s,a]=pt(0),l=Object.keys(t),[c,d]=pt(n||l[0]),m=t[c],[p,f]=pt(m.models[0]),[u,y]=pt(""),[b,x]=pt(""),E=gi(null),k=gi(null);Fc(()=>{E.current?.focus()},[]);let h=mt(e.view),g=async()=>{a(1);try{k.current&&k.current.abort(),k.current=new AbortController;let C=await o({provider:c,model:p,prompt:b});if(k.current?.signal.aborted)return;C?(y(C),a(2)):a(3)}catch{a(3)}},S=()=>{switch(s){case 0:return Y(Oe,{size:"small",btnType:"primary",onClick:g,children:[$("i",{className:"ri-bard-line"}),q("ai.generate")]});case 1:return[Y(Oe,{size:"small",disabled:!0,children:[q("common.loading"),"..."]},"loading"),Y(Oe,{size:"small",onClick:()=>{k.current?.abort(),a(0)},children:[$("i",{className:"ri-stop-line"}),q("ai.stop")]},"stop")];case 2:return[$(Oe,{size:"small",btnType:"primary",onClick:()=>{if(u)try{let C=h.stringToDoc?.(u);if(C&&i!==void 0){let v=e.view.state.tr.replaceWith(i,i+1,C);e.view.dispatch(v)}}catch(C){console.log("ai-node error",C)}},children:q("common.accept")},"accept"),$(Oe,{size:"small",onClick:g,children:q("ai.regenerate")},"regenerate")];case 3:return $(Oe,{size:"small",btnType:"primary",onClick:g,children:q("ai.retry")})}};return Y($c,{children:[Y("div",{children:[(()=>{if(s===0)return null;if(s===1)return Y(sr,{children:[q("common.loading"),"..."]},1);if(s===2)return Y("div",{children:[$(sr,{children:q("ai.preview")},2),$("blockquote",{children:u})]});if(s===3)return $(Wc,{children:q("ai.error")})})(),$(sr,{children:q("ai.prompt")}),$(Kc,{ref:E,value:b,onChange:C=>x(C.target.value)})]}),$("div",{className:"divider"}),Y(Uc,{children:[Y(zc,{children:[$(bi,{menuButtonProps:{size:"small",style:{marginRight:"8px"}},items:l.map(C=>({label:C,value:C,handler:()=>{d(C),f(t[C]?.models[0])}})),children:c||"Select Provider"}),$(bi,{menuButtonProps:{size:"small"},items:m.models.map(C=>({label:C,value:C,handler:()=>{f(C)}})),children:p||"Select Model"})]}),$(qc,{children:S()})]})]})}var $c=fe.div`
1402
+ `,o.text(c,!1)}createExtensions(){return[]}},Vt=class extends Vc{get name(){return"tableRow"}createNodeSpec(t,o){return{...super.createNodeSpec(t,o),allowGapCursor:!1}}fromMarkdown(){return[{type:2,token:"tr",node:this.name,hasOpenClose:!0}]}toMarkdown(){}createExtensions(){return[]}},Ft=class extends Dc{get name(){return"tableHeaderCell"}fromMarkdown(){return[]}toMarkdown(){}createExtensions(){return[]}},$t=class extends Oc{get name(){return"tableCell"}createNodeSpec(t,o){return{...super.createNodeSpec(t,o),content:"inline*"}}createExtensions(){return[new Ht]}createCommands(){return{selectTableCell:({pos:t})=>({tr:o,dispatch:r})=>ni(o,t)?(r?.(o),!0):!1}}fromMarkdown(){return[{type:2,token:"th",node:this.name,hasOpenClose:!0},{type:2,token:"td",node:this.name,hasOpenClose:!0}]}toMarkdown(){}};function Fc(e){return e.replace(/\n/g,"")}function gi(e){let t=[{start:0,end:e.firstChild?.nodeSize||0,isText:e.firstChild?.isText||!1}],o=t[0];for(let r=1;r<e.childCount;r++){let n=e.child(r);if(n.isText&&o?.isText)o.end+=n.nodeSize;else{let i=o.end;t.push({start:i,end:i+n.nodeSize,isText:n.isText}),o=t[t.length-1]}}return t}import{CountExtension as wh}from"@rme-sdk/extension-count";import{corePreset as Eh}from"@rme-sdk/preset-core";import{ReactComponentExtension as Sh}from"@rme-sdk/react";import{extension as jc,ExtensionTag as ki,NodeExtension as Qc}from"@rme-sdk/core";import{TextSelection as Xc}from"@rme-sdk/pm/state";import{t as q}from"i18next";import{useEffect as $c,useRef as bi,useState as pt}from"react";import fe from"styled-components";import{Button as Oe,Menu as yi}from"zens";var mt=e=>e.state.plugins.find(o=>o.spec.initialState?.isTransformerFlag===!0)?.getState(e.state)||{};import{jsx as $,jsxs as Y}from"react/jsx-runtime";function xi(e){let{supportProviderInfosMap:t,generateText:o,getPosition:r,defaultSelectProvider:n}=e,i=r(),[s,a]=pt(0),l=Object.keys(t),[c,d]=pt(n||l[0]),m=t[c],[p,f]=pt(m.models[0]),[u,y]=pt(""),[b,x]=pt(""),E=bi(null),k=bi(null);$c(()=>{E.current?.focus()},[]);let h=mt(e.view),g=async()=>{a(1);try{k.current&&k.current.abort(),k.current=new AbortController;let C=await o({provider:c,model:p,prompt:b});if(k.current?.signal.aborted)return;C?(y(C),a(2)):a(3)}catch{a(3)}},S=()=>{switch(s){case 0:return Y(Oe,{size:"small",btnType:"primary",onClick:g,children:[$("i",{className:"ri-bard-line"}),q("ai.generate")]});case 1:return[Y(Oe,{size:"small",disabled:!0,children:[q("common.loading"),"..."]},"loading"),Y(Oe,{size:"small",onClick:()=>{k.current?.abort(),a(0)},children:[$("i",{className:"ri-stop-line"}),q("ai.stop")]},"stop")];case 2:return[$(Oe,{size:"small",btnType:"primary",onClick:()=>{if(u)try{let C=h.stringToDoc?.(u);if(C&&i!==void 0){let v=e.view.state.tr.replaceWith(i,i+1,C);e.view.dispatch(v)}}catch(C){console.log("ai-node error",C)}},children:q("common.accept")},"accept"),$(Oe,{size:"small",onClick:g,children:q("ai.regenerate")},"regenerate")];case 3:return $(Oe,{size:"small",btnType:"primary",onClick:g,children:q("ai.retry")})}};return Y(zc,{children:[Y("div",{children:[(()=>{if(s===0)return null;if(s===1)return Y(ar,{children:[q("common.loading"),"..."]},1);if(s===2)return Y("div",{children:[$(ar,{children:q("ai.preview")},2),$("blockquote",{children:u})]});if(s===3)return $(Uc,{children:q("ai.error")})})(),$(ar,{children:q("ai.prompt")}),$(Wc,{ref:E,value:b,onChange:C=>x(C.target.value)})]}),$("div",{className:"divider"}),Y(qc,{children:[Y(Kc,{children:[$(yi,{menuButtonProps:{size:"small",style:{marginRight:"8px"}},items:l.map(C=>({label:C,value:C,handler:()=>{d(C),f(t[C]?.models[0])}})),children:c||"Select Provider"}),$(yi,{menuButtonProps:{size:"small"},items:m.models.map(C=>({label:C,value:C,handler:()=>{f(C)}})),children:p||"Select Model"})]}),$(Gc,{children:S()})]})]})}var zc=fe.div`
1403
1403
  padding: 16px;
1404
1404
  border: 1px solid ${e=>e.theme.borderColor};
1405
1405
  user-select: none;
@@ -1410,14 +1410,14 @@ var qa=Object.defineProperty;var Ga=Object.getOwnPropertyDescriptor;var M=(e,t,o
1410
1410
  margin: 8px 0;
1411
1411
  border-bottom: 1px solid ${e=>e.theme.borderColor};
1412
1412
  }
1413
- `,zc=fe.div`
1413
+ `,Kc=fe.div`
1414
1414
  display: flex;
1415
1415
  margin-bottom: 8px;
1416
1416
  font-size: 12px;
1417
1417
  margin-right: 8px;
1418
1418
  user-select: none;
1419
1419
  -webkit-user-select: none;
1420
- `,Kc=fe.textarea`
1420
+ `,Wc=fe.textarea`
1421
1421
  width: -webkit-fill-available;
1422
1422
  min-height: 80px;
1423
1423
  max-height: 200px;
@@ -1431,14 +1431,14 @@ var qa=Object.defineProperty;var Ga=Object.getOwnPropertyDescriptor;var M=(e,t,o
1431
1431
  &:focus {
1432
1432
  background-color: transparent;
1433
1433
  }
1434
- `,sr=fe.div`
1434
+ `,ar=fe.div`
1435
1435
  margin-right: 8px;
1436
1436
  margin-bottom: 8px;
1437
1437
  font-size: 12px;
1438
1438
  font-weight: bold;
1439
1439
  user-select: none;
1440
1440
  -webkit-user-select: none;
1441
- `,Wc=fe.div`
1441
+ `,Uc=fe.div`
1442
1442
  margin-right: 8px;
1443
1443
  margin-bottom: 8px;
1444
1444
  font-size: 12px;
@@ -1446,28 +1446,28 @@ var qa=Object.defineProperty;var Ga=Object.getOwnPropertyDescriptor;var M=(e,t,o
1446
1446
  color: ${e=>e.theme.warnColor};
1447
1447
  user-select: none;
1448
1448
  -webkit-user-select: none;
1449
- `,Uc=fe.div`
1449
+ `,qc=fe.div`
1450
1450
  display: flex;
1451
1451
  justify-content: space-between;
1452
1452
  align-items: center;
1453
- `,qc=fe.div`
1453
+ `,Gc=fe.div`
1454
1454
  display: flex;
1455
1455
  align-items: center;
1456
1456
  gap: 8px;
1457
- `;import{jsx as Xc}from"react/jsx-runtime";var He=class extends jc{constructor(){super(...arguments);this.ReactComponent=o=>Xc(yi,{...o,...this.options})}get name(){return"ai_block"}createTags(){return[xi.Block,xi.Media]}createCommands(){return{createAiBlock:()=>o=>{let{tr:r,dispatch:n,state:i}=o;if(!r.selection.empty)return!1;let s=r.selection.anchor,a=this.type.create({});return n?.(r.replaceSelectionWith(a).scrollIntoView().setSelection(Qc.near(r.doc.resolve(s)))),!0}}}createNodeSpec(o,r){return{inline:!1,selectable:!0,...r,attrs:{...o.defaults()}}}};He=M([Gc({defaultOptions:{supportProviderInfosMap:{openai:{models:["gpt-3.5-turbo","gpt-4"]}}},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],He);import{BlockquoteExtension as Yc}from"@rme-sdk/main/extensions";var $t=class extends Yc{fromMarkdown(){return[{type:2,token:"blockquote",node:this.name,hasOpenClose:!0}]}toMarkdown({state:t,node:o}){t.wrapBlock("> ",null,o,()=>t.renderContent(o))}};import{extension as Jc,PlainExtension as Zc}from"@rme-sdk/core";import{DOMParser as ed,Fragment as ar,Slice as ki}from"@rme-sdk/pm/model";function lr(e){if(!e)return!1;if(Array.isArray(e))return e.length>1?!1:lr(e[0]);let t=e.content;return t?lr(t):e.type==="text"}function td(e){if(e.content.childCount===1){let t=e.content.firstChild;if(t?.type.name==="text"&&t.marks.length===0)return t;if(t?.type.name==="paragraph"&&t.childCount===1){let o=t.firstChild;if(o?.type.name==="text"&&o.marks.length===0)return o}}return!1}var De=class extends Zc{constructor(){super(...arguments);this.handleClipboardData=async({html:o="",text:r="",view:n})=>{if(console.log("clipboard html",o),console.log("clipboard text",r),!n.props.editable?.(n.state)||n.state.selection.$from.node().type.spec.code||o.length===0&&r.length===0)return!1;let l=mt(n).stringToDoc,c=n.state.schema,d=ed.fromSchema(c),m;if(o.length===0){let u=l?.(r);if(!u||typeof u=="string")return!1;let y=[];if(u.content.forEach((b,x)=>{b.type.name==="paragraph"&&x===0?b.content.forEach(E=>{y.push(E)}):y.push(b)}),this.processImagesInNodesSync(y,n),y.length===1)n.dispatch(n.state.tr.replaceSelectionWith(y[0],!1));else{let b=ar.from(y);n.dispatch(n.state.tr.replaceSelection(new ki(b,0,0)))}return!0}else{if(!T())return!1;let u=document.createElement("template");u.innerHTML=o,m=u.content.cloneNode(!0);try{m.querySelectorAll("a").forEach(b=>{let x=b.getAttribute("href"),E=b.textContent||"";x&&(b.textContent=`[${E}](${x})`)})}catch{}u.remove()}let p=d.parseSlice(m),f=td(p);return f?(f.attrs["data-rme-from-paste"]="true",n.dispatch(n.state.tr.replaceSelectionWith(f,!0)),!0):(this.processImagesInSliceAsync(p,n),n.dispatch(n.state.tr.replaceSelection(p)),!0)}}get name(){return"clipboard"}createPlugin(){return{props:{handlePaste:(o,r)=>{let{clipboardData:n}=r;if(!n||o.state.selection.$from.node().type.spec.code)return!1;let s=n.getData("text/plain"),a=n.getData("text/html");return this.handleClipboardData({text:s,html:a,view:o}),!0},clipboardTextSerializer:(o,r)=>{let n=r.state.schema,s=mt(r).docToString;if(lr(o.content.toJSON()))return o.content.textBetween(0,o.content.size,`
1457
+ `;import{jsx as Yc}from"react/jsx-runtime";var He=class extends Qc{constructor(){super(...arguments);this.ReactComponent=o=>Yc(xi,{...o,...this.options})}get name(){return"ai_block"}createTags(){return[ki.Block,ki.Media]}createCommands(){return{createAiBlock:()=>o=>{let{tr:r,dispatch:n,state:i}=o;if(!r.selection.empty)return!1;let s=r.selection.anchor,a=this.type.create({});return n?.(r.replaceSelectionWith(a).scrollIntoView().setSelection(Xc.near(r.doc.resolve(s)))),!0}}}createNodeSpec(o,r){return{inline:!1,selectable:!0,...r,attrs:{...o.defaults()}}}};He=M([jc({defaultOptions:{supportProviderInfosMap:{openai:{models:["gpt-3.5-turbo","gpt-4"]}}},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],He);import{BlockquoteExtension as Jc}from"@rme-sdk/main/extensions";var zt=class extends Jc{fromMarkdown(){return[{type:2,token:"blockquote",node:this.name,hasOpenClose:!0}]}toMarkdown({state:t,node:o}){t.wrapBlock("> ",null,o,()=>t.renderContent(o))}};import{extension as Zc,PlainExtension as ed}from"@rme-sdk/core";import{DOMParser as td,Fragment as lr,Slice as Ci}from"@rme-sdk/pm/model";function cr(e){if(!e)return!1;if(Array.isArray(e))return e.length>1?!1:cr(e[0]);let t=e.content;return t?cr(t):e.type==="text"}function od(e){if(e.content.childCount===1){let t=e.content.firstChild;if(t?.type.name==="text"&&t.marks.length===0)return t;if(t?.type.name==="paragraph"&&t.childCount===1){let o=t.firstChild;if(o?.type.name==="text"&&o.marks.length===0)return o}}return!1}var De=class extends ed{constructor(){super(...arguments);this.handleClipboardData=async({html:o="",text:r="",view:n})=>{if(console.log("clipboard html",o),console.log("clipboard text",r),!n.props.editable?.(n.state)||n.state.selection.$from.node().type.spec.code||o.length===0&&r.length===0)return!1;let l=mt(n).stringToDoc,c=n.state.schema,d=td.fromSchema(c),m;if(o.length===0){let u=l?.(r);if(!u||typeof u=="string")return!1;let y=[];if(u.content.forEach((b,x)=>{b.type.name==="paragraph"&&x===0?b.content.forEach(E=>{y.push(E)}):y.push(b)}),this.processImagesInNodesSync(y,n),y.length===1)n.dispatch(n.state.tr.replaceSelectionWith(y[0],!1));else{let b=lr.from(y);n.dispatch(n.state.tr.replaceSelection(new Ci(b,0,0)))}return!0}else{if(!T())return!1;let u=document.createElement("template");u.innerHTML=o,m=u.content.cloneNode(!0);try{m.querySelectorAll("a").forEach(b=>{let x=b.getAttribute("href"),E=b.textContent||"";x&&(b.textContent=`[${E}](${x})`)})}catch{}u.remove()}let p=d.parseSlice(m),f=od(p);return f?(f.attrs["data-rme-from-paste"]="true",n.dispatch(n.state.tr.replaceSelectionWith(f,!0)),!0):(this.processImagesInSliceAsync(p,n),n.dispatch(n.state.tr.replaceSelection(p)),!0)}}get name(){return"clipboard"}createPlugin(){return{props:{handlePaste:(o,r)=>{let{clipboardData:n}=r;if(!n||o.state.selection.$from.node().type.spec.code)return!1;let s=n.getData("text/plain"),a=n.getData("text/html");return this.handleClipboardData({text:s,html:a,view:o}),!0},clipboardTextSerializer:(o,r)=>{let n=r.state.schema,s=mt(r).docToString;if(cr(o.content.toJSON()))return o.content.textBetween(0,o.content.size,`
1458
1458
 
1459
- `);let l=n.topNodeType.createAndFill(void 0,o.content);return l&&s?.(l)||""},transformCopied:o=>{let r=s=>{if(s.marks.some(l=>l.attrs?.ignoreWhenCopy===!0&&s.type.name==="text")){let l=[];return s.content&&s.content.size>0&&s.content.forEach(c=>{l.push(...r(c))}),l}else{if(s.content&&s.content.size>0){let l=[];if(s.content.forEach(c=>{l.push(...r(c))}),l.length!==s.content.childCount)return[s.copy(ar.from(l))]}return[s]}},n=[];o.content.forEach(s=>{n.push(...r(s))});let i=ar.from(n);return new ki(i,o.openStart,o.openEnd)}}}}createCommands(){return{copy:()=>o=>o.tr.selection.empty?!1:(o.dispatch&&T()&&document.execCommand("copy"),!0),paste:()=>o=>{let{view:r}=o;return!r||!this.options.clipboardReadFunction?!1:(this.options.clipboardReadFunction().then(async n=>{let{html:i,text:s}=n;return!i&&!s?!1:await this.handleClipboardData({html:i,text:s,view:r})}),!0)},cut:()=>o=>o.tr.selection.empty?!1:(o.dispatch&&T()&&document.execCommand("cut"),!0)}}processImageNode(o,r){o.attrs["data-rme-from-paste"]="true"}processImagesInSliceAsync(o,r){let n=[],i=0,s=(a,l)=>{(a.type.name==="html_image"||a.type.name==="md_image")&&a.attrs.src&&n.push({node:a,pos:l}),a.content&&a.content.size>0&&a.content.forEach((c,d)=>{s(c,l+d+1)})};o.content.forEach((a,l)=>{s(a,i+l)}),n.map(({node:a,pos:l})=>{if(a.attrs.src)return this.processImageNode(a,r)})}processImagesInNodesSync(o,r){let n=i=>{(i.type.name==="html_image"||i.type.name==="md_image")&&i.attrs.src&&this.processImageNode(i,r),i.content&&i.content.size>0&&i.content.forEach(s=>{n(s)})};o.forEach(n)}};De=M([Jc({defaultOptions:{ignoredNodeTypes:[]},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],De);import{autocompletion as Ci,closeBrackets as wi,closeBracketsKeymap as od,completionKeymap as rd}from"@codemirror/autocomplete";import{defaultKeymap as Ei,history as nd,historyKeymap as id}from"@codemirror/commands";import{bracketMatching as Si,defaultHighlightStyle as Ti,foldGutter as sd,foldKeymap as ad,indentOnInput as ld,syntaxHighlighting as vi}from"@codemirror/language";import{lintKeymap as cd}from"@codemirror/lint";import{highlightSelectionMatches as Mi,searchKeymap as dd}from"@codemirror/search";import{EditorState as md}from"@codemirror/state";import{crosshairCursor as Pi,dropCursor as Ni,EditorView as Ri,highlightActiveLine as pd,highlightActiveLineGutter as ud,highlightSpecialChars as Ii,keymap as Ai,lineNumbers as Li}from"@codemirror/view";import{EditorView as Vw}from"@codemirror/view";var _i=[Ri.lineWrapping,Li({formatNumber:e=>e%10===0||e===1?`${e}`:""}),ud(),Ii(),nd(),sd(),Ni(),md.allowMultipleSelections.of(!0),ld(),vi(Ti,{fallback:!0}),Si(),wi(),Ci(),Pi(),pd(),Mi(),Ai.of([...od,...Ei,...dd,...id,...ad,...rd,...cd])],cr=[Ni(),Ii(),vi(Ti,{fallback:!0}),Si(),wi(),Ci(),Pi(),Mi(),Ai.of([...Ei])],dr=e=>{let t=[cr];return e?.lineWrapping&&t.push(Ri.lineWrapping),e?.lineNumbers&&t.push(Li()),t};import{extension as hd,PlainExtension as gd}from"@rme-sdk/core";import{Selection as fd}from"@rme-sdk/pm/state";function ut(e){return({dispatch:t,view:o,tr:r})=>{if(!o||!(r.selection.empty&&o.endOfTextblock(e)))return!1;let n=e==="left"||e==="up"?-1:1,i=r.selection.$head,s=fd.near(r.doc.resolve(n>0?i.after():i.before()),n);if(s.$head&&(s.$head.parent.type.name==="codeMirror"||s.$head.parent.type.name==="html_block"||s.$head.parent.type.name==="mermaid_node"||s.$head.parent.type.name==="math_block")){if(t?.(r.setSelection(s)),e==="down"&&s.$head.parent.type.name==="codeMirror"){let a=s.$head.before();requestAnimationFrame(()=>{o.dom.querySelector(`.code-block__menu[data-pos="${a}"]`)?.querySelector(".code-block__languages__input")?.focus()})}return!0}return!1}}var Ve=class extends gd{get name(){return"commonKeymap"}createKeymap(){return{ArrowLeft:ut("left"),ArrowRight:ut("right"),ArrowUp:ut("up"),ArrowDown:ut("down")}}};Ve=M([hd({defaultOptions:{},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],Ve);import{extension as bd,isTextSelection as Bi,PlainExtension as yd}from"@rme-sdk/core";import{Decoration as xd,DecorationSet as kd}from"@rme-sdk/pm/view";console.log("123");var Fe=class extends yd{get name(){return"copilot"}createPlugin(){let t={status:"idle",suggestion:"",pos:null,requestId:0},o=(s,a,l)=>{let c=a+l;for(;c>=0&&c<s.childCount;){let d=s.child(c);if(d.type.name==="paragraph")return d.textBetween(0,d.content.size,`
1459
+ `);let l=n.topNodeType.createAndFill(void 0,o.content);return l&&s?.(l)||""},transformCopied:o=>{let r=s=>{if(s.marks.some(l=>l.attrs?.ignoreWhenCopy===!0&&s.type.name==="text")){let l=[];return s.content&&s.content.size>0&&s.content.forEach(c=>{l.push(...r(c))}),l}else{if(s.content&&s.content.size>0){let l=[];if(s.content.forEach(c=>{l.push(...r(c))}),l.length!==s.content.childCount)return[s.copy(lr.from(l))]}return[s]}},n=[];o.content.forEach(s=>{n.push(...r(s))});let i=lr.from(n);return new Ci(i,o.openStart,o.openEnd)}}}}createCommands(){return{copy:()=>o=>o.tr.selection.empty?!1:(o.dispatch&&T()&&document.execCommand("copy"),!0),paste:()=>o=>{let{view:r}=o;return!r||!this.options.clipboardReadFunction?!1:(this.options.clipboardReadFunction().then(async n=>{let{html:i,text:s}=n;return!i&&!s?!1:await this.handleClipboardData({html:i,text:s,view:r})}),!0)},cut:()=>o=>o.tr.selection.empty?!1:(o.dispatch&&T()&&document.execCommand("cut"),!0)}}processImageNode(o,r){o.attrs["data-rme-from-paste"]="true"}processImagesInSliceAsync(o,r){let n=[],i=0,s=(a,l)=>{(a.type.name==="html_image"||a.type.name==="md_image")&&a.attrs.src&&n.push({node:a,pos:l}),a.content&&a.content.size>0&&a.content.forEach((c,d)=>{s(c,l+d+1)})};o.content.forEach((a,l)=>{s(a,i+l)}),n.map(({node:a,pos:l})=>{if(a.attrs.src)return this.processImageNode(a,r)})}processImagesInNodesSync(o,r){let n=i=>{(i.type.name==="html_image"||i.type.name==="md_image")&&i.attrs.src&&this.processImageNode(i,r),i.content&&i.content.size>0&&i.content.forEach(s=>{n(s)})};o.forEach(n)}};De=M([Zc({defaultOptions:{ignoredNodeTypes:[]},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],De);import{autocompletion as wi,closeBrackets as Ei,closeBracketsKeymap as rd,completionKeymap as nd}from"@codemirror/autocomplete";import{defaultKeymap as Si,history as id,historyKeymap as sd}from"@codemirror/commands";import{bracketMatching as Ti,defaultHighlightStyle as vi,foldGutter as ad,foldKeymap as ld,indentOnInput as cd,syntaxHighlighting as Mi}from"@codemirror/language";import{lintKeymap as dd}from"@codemirror/lint";import{highlightSelectionMatches as Pi,searchKeymap as md}from"@codemirror/search";import{EditorState as pd}from"@codemirror/state";import{crosshairCursor as Ni,dropCursor as Ri,EditorView as Ii,highlightActiveLine as ud,highlightActiveLineGutter as fd,highlightSpecialChars as Ai,keymap as Li,lineNumbers as _i}from"@codemirror/view";import{EditorView as Vw}from"@codemirror/view";var Bi=[Ii.lineWrapping,_i({formatNumber:e=>e%10===0||e===1?`${e}`:""}),fd(),Ai(),id(),ad(),Ri(),pd.allowMultipleSelections.of(!0),cd(),Mi(vi,{fallback:!0}),Ti(),Ei(),wi(),Ni(),ud(),Pi(),Li.of([...rd,...Si,...md,...sd,...ld,...nd,...dd])],dr=[Ri(),Ai(),Mi(vi,{fallback:!0}),Ti(),Ei(),wi(),Ni(),Pi(),Li.of([...Si])],mr=e=>{let t=[dr];return e?.lineWrapping&&t.push(Ii.lineWrapping),e?.lineNumbers&&t.push(_i()),t};import{extension as gd,PlainExtension as bd}from"@rme-sdk/core";import{Selection as hd}from"@rme-sdk/pm/state";function ut(e){return({dispatch:t,view:o,tr:r})=>{if(!o||!(r.selection.empty&&o.endOfTextblock(e)))return!1;let n=e==="left"||e==="up"?-1:1,i=r.selection.$head,s=hd.near(r.doc.resolve(n>0?i.after():i.before()),n);if(s.$head&&(s.$head.parent.type.name==="codeMirror"||s.$head.parent.type.name==="html_block"||s.$head.parent.type.name==="mermaid_node"||s.$head.parent.type.name==="math_block")){if(t?.(r.setSelection(s)),e==="down"&&s.$head.parent.type.name==="codeMirror"){let a=s.$head.before();requestAnimationFrame(()=>{o.dom.querySelector(`.code-block__menu[data-pos="${a}"]`)?.querySelector(".code-block__languages__input")?.focus()})}return!0}return!1}}var Ve=class extends bd{get name(){return"commonKeymap"}createKeymap(){return{ArrowLeft:ut("left"),ArrowRight:ut("right"),ArrowUp:ut("up"),ArrowDown:ut("down")}}};Ve=M([gd({defaultOptions:{},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],Ve);import{extension as yd,isTextSelection as Oi,PlainExtension as xd}from"@rme-sdk/core";import{Decoration as kd,DecorationSet as ft}from"@rme-sdk/pm/view";console.log("123");var Fe=class extends xd{get name(){return"copilot"}createPlugin(){let t={status:"idle",suggestion:"",pos:null,requestId:0},o=(s,a,l)=>{let c=a+l;for(;c>=0&&c<s.childCount;){let d=s.child(c);if(d.type.name==="paragraph")return d.textBetween(0,d.content.size,`
1460
1460
  `,`
1461
- `)||"";c+=l}return null},r=s=>{if(!Bi(s.selection)||!s.selection.empty)return null;let a=s.selection.$from,l=a.parent;if(!l.isTextblock)return null;let c=l.textBetween(0,a.parentOffset,`
1461
+ `)||"";c+=l}return null},r=s=>{if(!Oi(s.selection)||!s.selection.empty)return null;let a=s.selection.$from,l=a.parent;if(!l.isTextblock)return null;let c=l.textBetween(0,a.parentOffset,`
1462
1462
  `,`
1463
1463
  `),d=l.textBetween(a.parentOffset,l.content.size,`
1464
1464
  `,`
1465
1465
  `),m=this.options.maxContextChars??500,p=m>0&&c.length>m?c.slice(c.length-m):c,f=a.depth-1,u=f>=0?a.node(f):null,y=f>=0?a.index(f):-1,b=u&&y>=0?o(u,y,-1):null,x=u&&y>=0?o(u,y,1):null;return!(p.trim()||d.trim()||b?.trim()||x?.trim())?null:{context:{nodeType:l.type.name,textBefore:p,textAfter:d,prevParagraph:b,nextParagraph:x},pos:s.selection.from}},n=(s,a)=>{let l=s.replace(/\r\n/g,`
1466
- `);l.startsWith(a)&&(l=l.slice(a.length)),l=l.replace(/^\s+/,"");let c=this.options.maxSuggestionChars??500;return c>0&&l.length>c&&(l=l.slice(0,c)),l},i=(s,a)=>{let l=this.pluginKey.getState(s.state);if(!l||l.status!=="ready"||!l.suggestion)return!1;a?.preventDefault();let c=l.requestId+1;return s.dispatch(s.state.tr.insertText(l.suggestion).setMeta(this.pluginKey,{type:"clear",requestId:c})),!0};return{key:this.pluginKey,initialState:t,state:{init:()=>t,apply:(s,a)=>{let l=s.getMeta(this.pluginKey);if(l){if(l.type==="loading")return{...a,status:"loading",suggestion:"",pos:l.pos,requestId:l.requestId};if(l.type==="ready")return{...a,status:"ready",suggestion:l.suggestion,pos:l.pos,requestId:l.requestId};if(l.type==="clear")return{...a,status:"idle",suggestion:"",pos:null,requestId:l.requestId}}return s.docChanged||s.selectionSet?{...a,status:"idle",suggestion:"",pos:null}:a}},props:{decorations:s=>{let a=this.pluginKey.getState(s);if(!a||a.status!=="ready"||!a.pos||!Bi(s.selection)||!s.selection.empty||s.selection.from!==a.pos||!a.suggestion.trim())return null;let l=xd.widget(a.pos,()=>{if(!T())return null;let c=document.createElement("span");return c.className="rme-copilot-suggestion",c.textContent=a.suggestion,c});return kd.create(s.doc,[l])},handleKeyDown:(s,a)=>a.key!=="Tab"?!1:i(s,a)},view:s=>{let a=null,l=0,c=()=>{a&&(clearTimeout(a),a=null),l+=1,s.dispatch(s.state.tr.setMeta(this.pluginKey,{type:"clear",requestId:l}))},d=()=>{a&&clearTimeout(a),a=setTimeout(async()=>{let m=r(s.state);if(!m||!this.options.generateText)return;l+=1;let p=l;s.dispatch(s.state.tr.setMeta(this.pluginKey,{type:"loading",pos:m.pos,requestId:p}));try{let f=await this.options.generateText({context:m.context});if(console.log("currentRequestId",p,l),p!==l)return;let u=f?n(f,m.context.textBefore):"";if(!u.trim()){s.dispatch(s.state.tr.setMeta(this.pluginKey,{type:"clear",requestId:p}));return}s.dispatch(s.state.tr.setMeta(this.pluginKey,{type:"ready",pos:m.pos,suggestion:u,requestId:p}))}catch{p===l&&s.dispatch(s.state.tr.setMeta(this.pluginKey,{type:"clear",requestId:p}))}},this.options.debounceMs??500)};return{update:(m,p)=>{if(m!==s)return;let f=!m.state.doc.eq(p.doc),u=!m.state.selection.eq(p.selection);!f&&!u||(c(),f&&d())},destroy:()=>{a&&clearTimeout(a)}}}}}};Fe=M([bd({defaultOptions:{},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],Fe);import{extension as Cd,PlainExtension as wd}from"@rme-sdk/core";import{TextSelection as Oi}from"@rme-sdk/pm/state";import{getMatchHighlights as Ed,search as Sd,SearchQuery as zt,setSearchState as ft}from"prosemirror-search";function mr(e,t){return t<=0?0:(e%t+t)%t}var ie=class extends wd{constructor(){super(...arguments);this.find=({query:o,activeIndex:r,caseSensitive:n})=>o?({state:i,tr:s,dispatch:a})=>{let l=new zt({search:o,caseSensitive:n??!1});if(!l.valid)return!1;if(!a)return!0;ft(s,l);let c=null;if(r!=null){let d=this.collectQueryMatches(i,l),m=mr(r,d.length),p=d[m];p&&(s.setSelection(Oi.create(s.doc,p.from,p.to)).scrollIntoView(),c={from:p.from,to:p.to})}return a(s),pe(o,n??!1,c),this.scrollToActiveResult(c),!0}:this.stopFind();this.stopFind=()=>({tr:o,dispatch:r})=>(r&&(ft(o,new zt({search:""})),r(o),pe("",!1,null)),!0);this.findAndReplace=({query:o,caseSensitive:r,replacement:n,index:i})=>({state:s,tr:a,dispatch:l})=>{let c=new zt({search:o,replace:n,caseSensitive:r??!1});if(!c.valid)return!1;if(!l)return!0;let d=this.collectQueryMatches(s,c);if(!d.length)return ft(a,c),l(a),pe(o,r??!1,null),!1;let{activeIndex:m}=this.getHighlightRanges(s),p=mr(i??m??0,d.length),f=d[p];if(!f)return!1;ft(a,c);let u=c.getReplacements(s,f);for(let x=u.length-1;x>=0;x--){let{from:E,to:k,insert:h}=u[x];a.replaceRange(E,k,h)}let y=a.mapping.map(f.from),b=a.mapping.map(f.to);return a.setSelection(Oi.create(a.doc,y,b)).scrollIntoView(),l(a),pe(o,r??!1,{from:y,to:b}),this.scrollToActiveResult({from:y,to:b}),!0};this.findAndReplaceAll=({query:o,caseSensitive:r,replacement:n})=>({state:i,tr:s,dispatch:a})=>{let l=new zt({search:o,replace:n,caseSensitive:r??!1});if(!l.valid)return!1;if(!a)return!0;let c=this.collectQueryMatches(i,l);ft(s,l);for(let d=c.length-1;d>=0;d--){let m=l.getReplacements(i,c[d]);for(let p=m.length-1;p>=0;p--){let{from:f,to:u,insert:y}=m[p];s.replaceRange(f,u,y)}}return a(s),pe(o,r??!1,null),!0};this.findRanges=o=>{this.store.commands.find(o);let{ranges:r,activeIndex:n}=this.getHighlightRanges(this.store.view.state);return{activeIndex:n,ranges:r}}}get name(){return"find"}createCommands(){return{find:this.find,stopFind:this.stopFind,findAndReplace:this.findAndReplace,findAndReplaceAll:this.findAndReplaceAll}}createHelpers(){return{findRanges:this.findRanges}}createExternalPlugins(){return[Sd({})]}collectQueryMatches(o,r,n){if(!r.valid)return[];let i=[],s=n?.from??0,a=n?.to??o.doc.content.size,l=s;for(;l<=a;){let c=r.findNext(o,l,a);if(!c)break;i.push(c);let d=c.to>l?c.to:l+1;if(d>a)break;l=d}return i}scrollToActiveResult(o){if(!o||Bn(o))return;let r=this.store.view,n=r.state.doc.content.size,i=o.from;if(i>n)return;r.domAtPos(i).node?.scrollIntoView?.({block:"nearest",behavior:"smooth"})}getHighlightRanges(o){let r=Ed(o);if(!r)return{ranges:[],activeIndex:void 0};let i=r.find().map(d=>({from:d.from,to:d.to})).sort((d,m)=>d.from===m.from?d.to-m.to:d.from-m.from),s=i.map(({from:d,to:m})=>({from:d,to:m})),{from:a,to:l}=o.selection,c=i.findIndex(d=>d.from===a&&d.to===l);return{ranges:s,activeIndex:c>=0?c:void 0}}};ie=M([Cd({defaultOptions:{alwaysFind:!1},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],ie);import{PlainExtension as Td}from"@rme-sdk/core";var Kt=e=>[{regexp:/!\[([^\]]*)\]\(([^\s"]+(?:\s+[^\s"]+)*)?(?:\s+"(.*?)")?\)/,type:e,getAttributes:t=>{let[,o,r,n]=t;return{alt:o,src:r,title:n}}}],Wt=e=>[{regexp:new RegExp("<img[^>]*>"),type:e,getAttributes:t=>ue(t[0])}],Ut=e=>[{regexp:/\$\$(?!\$)/,type:e,getAttributes:()=>({tex:"",fromInput:!0})},{regexp:/<span[^>]*data-type=["']math-inline["'][^>]*><\/span>/,type:e,getAttributes:()=>({fromInput:!1})},{regexp:/\$([^$\n]+?)\$/,type:e,getAttributes:t=>({tex:t[1]??"",fromInput:!0})}];var Hi=["math_block","codeMirror","reference_def"],qt=class extends Td{constructor(o){super();this.inputRules=[...Kt("md_image"),...Ut("math_inline"),...Wt("html_image")];o?.rules&&(this.inputRules=[...this.inputRules,...o.rules])}get name(){return"handle_input"}addRule(o){this.inputRules.push(o)}createPlugin(){return{appendTransaction:(o,r,n)=>{if(!o.some(d=>d.docChanged))return null;let i=o[o.length-1];if(!i.docChanged)return null;let s=!1;if(i.mapping.maps.forEach(d=>{d.forEach((m,p,f,u)=>{n.doc.nodesBetween(f,u,(y,b)=>Hi.includes(y.type.name)?(s=!0,!1):!0)})}),s)return null;let a=null,l=n.schema,c=[];if(i.mapping.maps.forEach(d=>{d.forEach((m,p,f,u)=>{let y=Math.max(0,f-100),b=Math.min(n.doc.content.size,u+100);n.doc.nodesBetween(y,b,(x,E)=>{if(Hi.includes(x.type.name))return!1;if(!x.isText||!x.text)return!0;let h=n.doc.resolve(E).parent;if(["math_block","codeMirror","reference_def","html_block","mermaid_node"].includes(h.type.name))return!0;let S=x.text;for(let w of this.inputRules){let C;for(w.regexp.lastIndex=0;(C=w.regexp.exec(S))!==null;){let v=C.index??0,A=E+v,R=A+C[0].length;if(A>=0&&R<=n.doc.content.size){console.log("nodenode",x);let I=w.getAttributes?w.getAttributes(C):null;x.attrs["data-rme-from-paste"]==="true"&&I&&(I["data-rme-from-paste"]="true");let F=l.nodes[w.type];if(!F){console.warn(`Node type '${w.type}' not found in schema`);continue}let X;if(F.spec.atom)X=F.create(I);else{let W=null;w.getContent?W=w.getContent(C,l):W=l.text(C[0]),X=F.create(I,W)}c.push({from:A,to:R,node:X})}if(!w.regexp.global)break}}return!0})})}),c.length>0){c.sort((d,m)=>m.from-d.from),a=n.tr;for(let d of c)d.from>=0&&d.to<=a.doc.content.size&&(a=a.replaceWith(d.from,d.to,d.node))}return a&&a.docChanged?a:null}}}};import{convertCommand as Di}from"@rme-sdk/core";import{HardBreakExtension as vd}from"@rme-sdk/main/extensions";import{baseKeymap as Md,exitCode as Pd}from"@rme-sdk/pm/commands";import{chainCommands as Nd}from"@rme-sdk/pm";var Rd=["tableCell"],Gt=class extends vd{fromMarkdown(){return[]}toMarkdown({state:t,node:o,parent:r,index:n}){for(let i=n+1;i<r.childCount;i++)if(r.child(i).type!=o.type){t.write(`
1467
- `);return}}createKeymap(){let t=new Set(["heading"]),o=Di(Md.Enter),r=Nd(Di(Pd),n=>{let{state:i,tr:s,dispatch:a}=n,{$from:l,$to:c,from:d,to:m}=i.selection,p=!t.has(l.parent.type.name)&&!t.has(c.parent.type.name),f=l.parent.type.name;if(p){let u=i.schema;return Rd.includes(f)?a?.(s.replaceRangeWith(d,m,u.nodes.html_br.create())):a?.(s.replaceRangeWith(d,m,u.text(`
1468
- `))),!0}else return o(n)});return{"Mod-Enter":r,"Shift-Enter":r}}};import{convertCommand as Id,findParentNodeOfType as Ad}from"@rme-sdk/core";import{HeadingExtension as Ld}from"@rme-sdk/main/extensions";import{setBlockType as _d}from"@rme-sdk/pm/commands";var jt=class extends Ld{createNodeSpec(t,o){return{...super.createNodeSpec(t,o)}}createKeymap(){return{Backspace:({state:o,dispatch:r})=>{let{selection:n}=o,{$from:i}=n;if(!n.empty||i.parent.type.name!==this.name)return!1;let s=Ad({types:this.type,selection:n});if(s?.start!==n.from)return!1;let a=o.tr.setBlockType(s.start,s.start,o.schema.nodes.paragraph);return r&&r(a),!0}}}createCommands(){let t={};return this.options.levels.forEach(o=>{t[`toggleH${o}`]=()=>Id(_d(this.type,{level:o}))}),t}fromMarkdown(){return[{type:2,token:"heading",node:this.name,hasOpenClose:!0,getAttrs:t=>({level:+t.tag.slice(1)})}]}toMarkdown({state:t,node:o}){t.write(t.repeat("#",o.attrs.level)+" "),t.renderInline(o),t.closeBlock(o)}};import{ErrorConstant as Bd,ExtensionTag as Od,invariant as Hd,isEmptyBlockNode as Dd,isNodeSelection as Vd,NodeExtension as Fd,nodeInputRule as $d}from"@rme-sdk/core";import{TextSelection as zd}from"@rme-sdk/pm/state";var Qt=class extends Fd{constructor(){super(...arguments);this.insertHorizontalRule=()=>o=>{let{tr:r,dispatch:n}=o,i=r.selection.$anchor,s=i.parent;return s.type.name==="doc"||s.isAtom||s.isLeaf?!1:(n&&(r.selection.empty&&Dd(s)&&r.insert(i.pos+1,s),r.replaceSelectionWith(this.type.create()),this.updateFromNodeSelection(r),n(r.scrollIntoView())),!0)}}get name(){return"horizontalRule"}createTags(){return[Od.Block]}createNodeSpec(o,r){return{...r,attrs:o.defaults(),parseDOM:[{tag:"hr",getAttrs:o.parse},...r.parseDOM??[]],toDOM:n=>["hr",o.dom(n)]}}createInputRules(){return[$d({regexp:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type,beforeDispatch:({tr:o})=>{this.updateFromNodeSelection(o)}})]}updateFromNodeSelection(o){if(!Vd(o.selection)||o.selection.node.type.name!==this.name)return;let r=o.selection.$from.pos+1,{insertionNode:n}=this.options;if(!n)return;let i=this.store.schema.nodes[n];Hd(i,{code:Bd.EXTENSION,message:`'${n}' node provided as the insertionNode to the '${this.constructorName}' does not exist.`});let s=i.create();o.insert(r,s),o.setSelection(zd.near(o.doc.resolve(r+1)))}createCommands(){return{insertHorizontalRule:()=>this.insertHorizontalRule()}}fromMarkdown(){return[{type:2,token:"hr",node:this.name,hasOpenClose:!1}]}toMarkdown({state:o,node:r}){o.write("---"),o.closeBlock(r)}};import{extension as Kd,ExtensionTag as Wd,NodeExtension as Ud,nodeInputRule as qd}from"@rme-sdk/core";var he=class extends Ud{get name(){return"html_br"}createTags(){return[Wd.InlineNode]}createNodeSpec(t,o){return{inline:!0,selectable:!0,atom:!0,...o,attrs:{},parseDOM:[{tag:"br"}],toDOM:()=>["br"]}}createInputRules(){return[qd({regexp:new RegExp("<br/>"),type:this.type})]}fromMarkdown(){return[{type:6,token:"html_br",node:this.name}]}toMarkdown({state:t,node:o}){t.text("<br/>",!1)}};he.disableExtraAttributes=!0,he=M([Kd({defaultOptions:{}})],he);import{convertCommand as Xd,extension as Yd,isElementDomNode as Jd,NodeExtension as Zd,nodeInputRule as em}from"@rme-sdk/core";import{setBlockType as tm}from"@rme-sdk/pm/commands";import{TextSelection as om}from"@rme-sdk/pm/state";import rm from"markdown-it/lib/common/html_blocks.mjs";import{html as Gd}from"@codemirror/lang-html";import{Compartment as jd}from"@codemirror/state";function Qd(e){return e.replace(/\n+|\t/g,"")}var Xt=class{constructor(t,o,r,n){this._htmlSrcElt=null;this.destroying=!1;this.options={};this.ignoreMutation=()=>!0;this._node=t,this._outerView=o,this._getPos=r,this.schema=t.type.schema,n&&(this.options={...this.options,...n}),this.dom=document.createElement("div"),this.dom.classList.add("html-node"),this._htmlRenderElt=document.createElement("p"),this._htmlRenderElt.textContent="",this._htmlRenderElt.classList.add("html-node-render"),_e(this.dom,{labelName:"HTML"}).addEventListener("click",()=>this.ensureFocus()),this.dom.appendChild(this._htmlRenderElt),this._htmlSrcElt=document.createElement("span"),this._htmlSrcElt.classList.add("html-src","node-hide"),this.languageConf=new jd,this.dom.appendChild(this._htmlSrcElt),this.renderHtml()}ensureFocus(){this._outerView.hasFocus()&&(this._innerView?this._innerView.focus():this.openEditor())}update(t){return this._node=t,!!this.mfCodemirrorView?.update(t)}stopEvent(){return!0}renderHtml(){if(!this._htmlRenderElt)return;let o=Qd(this.mfCodemirrorView?.content||this._node.textContent).trim();if(o.length<1){for(;this._htmlRenderElt.firstChild;)this._htmlRenderElt.firstChild.remove();return}try{for(;this._htmlRenderElt.firstChild;)this._htmlRenderElt.firstChild.remove();this._htmlRenderElt.classList.remove("node-hide"),this._htmlRenderElt.classList.add("node-show");let n=new DOMParser().parseFromString(o,"text/html"),i=s=>{Array.from(s).forEach(l=>{if(Rt(l)&&l.src&&this.options.handleViewImgSrcUrl){let c=l.src;l.src.includes(location.origin)&&(c=l.src.split(location.origin)[1]),this.options.handleViewImgSrcUrl(c).then(d=>{l.src=d})}if(l.nodeType===Node.ELEMENT_NODE){let c=l;c.children.length>0&&i(c.children)}this._htmlRenderElt?.appendChild(l)})};i(n.body.childNodes)}catch{}}setSelection(t,o){this._innerView?this.mfCodemirrorView?.setSelection(t,o):(this.openEditor(),this.mfCodemirrorView.setSelection(t,o))}openEditor(){if(this._innerView)throw Error("inner view should not exist!");let t=[Gd()];this.options?.codemirrorExtensions&&t.push(...this.options.codemirrorExtensions),this.mfCodemirrorView=new U({view:this._outerView,node:this._node,getPos:this._getPos,languageName:"html",extensions:t,options:{useProsemirrorHistoryKey:!0,codemirrorEditorViewConfig:{parent:this._htmlSrcElt},copyButton:{enabled:!0,customCopyFunction:this.options?.customCopyFunction}}}),this._htmlSrcElt.classList.remove("node-hide"),this._innerView=this.mfCodemirrorView.cm,this._htmlRenderElt?.classList.add("node-hide");let o=this._node.textContent.length||0;this.setSelection(o,o),this._innerView.focus(),this._innerView.contentDOM.addEventListener("blur",()=>{this.destroying||this.closeEditor(!0)}),this.mfCodemirrorView.forwardSelection()}destroy(){this.destroying=!0,this.closeEditor(!1),this._htmlRenderElt&&(this._htmlRenderElt.remove(),delete this._htmlRenderElt),this._htmlSrcElt&&(this._htmlSrcElt.remove(),this._htmlSrcElt=null),this.dom.remove()}closeEditor(t=!0){this._innerView&&(this._innerView.destroy(),this._innerView=void 0),this.mfCodemirrorView&&(this.mfCodemirrorView.destroy(),this.mfCodemirrorView=void 0),t&&this.renderHtml()}};var $e=class extends Zd{constructor(){super(...arguments);this.createHtmlBlock=()=>Xd(tm(this.type))}get name(){return"html_block"}createNodeSpec(o,r){return{group:"block",content:"text*",defining:!0,...r,code:!0,marks:"",attrs:{language:{default:"html"},...o.defaults()},parseDOM:[{tag:"pre",getAttrs:n=>Jd(n)?o.parse(n):!1},...r.parseDOM??[]],toDOM(){return["pre",["code",0]]},isolating:!0}}createNodeViews(){return(o,r,n)=>new Xt(o,r,n,this.options)}createInputRules(){return[em({regexp:new RegExp("^</?("+an(rm,ct).join("|")+")(?=(\\s|/?>|$))","i"),type:this.type,beforeDispatch:({tr:r,start:n,match:i})=>{let s=r.doc.resolve(n);r.setSelection(om.near(s)),r.insertText(i[0])}})]}createCommands(){return{createHtmlBlock:this.createHtmlBlock}}fromMarkdown(){return[{type:2,token:"html_block",node:this.name,hasOpenClose:!1}]}toMarkdown({state:o,node:r}){o.write(`
1466
+ `);l.startsWith(a)&&(l=l.slice(a.length)),l=l.replace(/^\s+/,"");let c=this.options.maxSuggestionChars??500;return c>0&&l.length>c&&(l=l.slice(0,c)),l},i=(s,a)=>{let l=this.pluginKey.getState(s.state);if(!l||l.status!=="ready"||!l.suggestion)return!1;a?.preventDefault();let c=l.requestId+1;return s.dispatch(s.state.tr.insertText(l.suggestion).setMeta(this.pluginKey,{type:"clear",requestId:c})),!0};return{key:this.pluginKey,initialState:t,state:{init:()=>t,apply:(s,a)=>{let l=s.getMeta(this.pluginKey);if(l){if(l.type==="loading")return{...a,status:"loading",suggestion:"",pos:l.pos,requestId:l.requestId};if(l.type==="ready")return{...a,status:"ready",suggestion:l.suggestion,pos:l.pos,requestId:l.requestId};if(l.type==="clear")return{...a,status:"idle",suggestion:"",pos:null,requestId:l.requestId}}return s.docChanged||s.selectionSet?{...a,status:"idle",suggestion:"",pos:null}:a}},props:{decorations:s=>{let a=this.pluginKey.getState(s);if(!a||a.status!=="ready"||!a.pos)return ft.empty;if(!Oi(s.selection)||!s.selection.empty)return ft.empty;if(s.selection.from!==a.pos)return ft.empty;if(!a.suggestion.trim())return ft.empty;let l=kd.widget(a.pos,()=>{if(!T())return document.createTextNode("");let c=document.createElement("span");return c.className="rme-copilot-suggestion",c.textContent=a.suggestion,c});return ft.create(s.doc,[l])},handleKeyDown:(s,a)=>a.key!=="Tab"?!1:i(s,a)},view:s=>{let a=null,l=0,c=()=>{a&&(clearTimeout(a),a=null),l+=1,s.dispatch(s.state.tr.setMeta(this.pluginKey,{type:"clear",requestId:l}))},d=()=>{a&&clearTimeout(a),a=setTimeout(async()=>{let m=r(s.state);if(!m||!this.options.generateText)return;l+=1;let p=l;s.dispatch(s.state.tr.setMeta(this.pluginKey,{type:"loading",pos:m.pos,requestId:p}));try{let f=await this.options.generateText({context:m.context});if(console.log("currentRequestId",p,l),p!==l)return;let u=f?n(f,m.context.textBefore):"";if(!u.trim()){s.dispatch(s.state.tr.setMeta(this.pluginKey,{type:"clear",requestId:p}));return}s.dispatch(s.state.tr.setMeta(this.pluginKey,{type:"ready",pos:m.pos,suggestion:u,requestId:p}))}catch{p===l&&s.dispatch(s.state.tr.setMeta(this.pluginKey,{type:"clear",requestId:p}))}},this.options.debounceMs??500)};return{update:(m,p)=>{if(m!==s)return;let f=!m.state.doc.eq(p.doc),u=!m.state.selection.eq(p.selection);!f&&!u||(c(),f&&d())},destroy:()=>{a&&clearTimeout(a)}}}}}};Fe=M([yd({defaultOptions:{},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],Fe);import{extension as Cd,PlainExtension as wd}from"@rme-sdk/core";import{TextSelection as Hi}from"@rme-sdk/pm/state";import{getMatchHighlights as Ed,search as Sd,SearchQuery as Kt,setSearchState as ht}from"prosemirror-search";function pr(e,t){return t<=0?0:(e%t+t)%t}var ie=class extends wd{constructor(){super(...arguments);this.find=({query:o,activeIndex:r,caseSensitive:n})=>o?({state:i,tr:s,dispatch:a})=>{let l=new Kt({search:o,caseSensitive:n??!1});if(!l.valid)return!1;if(!a)return!0;ht(s,l);let c=null;if(r!=null){let d=this.collectQueryMatches(i,l),m=pr(r,d.length),p=d[m];p&&(s.setSelection(Hi.create(s.doc,p.from,p.to)).scrollIntoView(),c={from:p.from,to:p.to})}return a(s),pe(o,n??!1,c),this.scrollToActiveResult(c),!0}:this.stopFind();this.stopFind=()=>({tr:o,dispatch:r})=>(r&&(ht(o,new Kt({search:""})),r(o),pe("",!1,null)),!0);this.findAndReplace=({query:o,caseSensitive:r,replacement:n,index:i})=>({state:s,tr:a,dispatch:l})=>{let c=new Kt({search:o,replace:n,caseSensitive:r??!1});if(!c.valid)return!1;if(!l)return!0;let d=this.collectQueryMatches(s,c);if(!d.length)return ht(a,c),l(a),pe(o,r??!1,null),!1;let{activeIndex:m}=this.getHighlightRanges(s),p=pr(i??m??0,d.length),f=d[p];if(!f)return!1;ht(a,c);let u=c.getReplacements(s,f);for(let x=u.length-1;x>=0;x--){let{from:E,to:k,insert:h}=u[x];a.replaceRange(E,k,h)}let y=a.mapping.map(f.from),b=a.mapping.map(f.to);return a.setSelection(Hi.create(a.doc,y,b)).scrollIntoView(),l(a),pe(o,r??!1,{from:y,to:b}),this.scrollToActiveResult({from:y,to:b}),!0};this.findAndReplaceAll=({query:o,caseSensitive:r,replacement:n})=>({state:i,tr:s,dispatch:a})=>{let l=new Kt({search:o,replace:n,caseSensitive:r??!1});if(!l.valid)return!1;if(!a)return!0;let c=this.collectQueryMatches(i,l);ht(s,l);for(let d=c.length-1;d>=0;d--){let m=l.getReplacements(i,c[d]);for(let p=m.length-1;p>=0;p--){let{from:f,to:u,insert:y}=m[p];s.replaceRange(f,u,y)}}return a(s),pe(o,r??!1,null),!0};this.findRanges=o=>{this.store.commands.find(o);let{ranges:r,activeIndex:n}=this.getHighlightRanges(this.store.view.state);return{activeIndex:n,ranges:r}}}get name(){return"find"}createCommands(){return{find:this.find,stopFind:this.stopFind,findAndReplace:this.findAndReplace,findAndReplaceAll:this.findAndReplaceAll}}createHelpers(){return{findRanges:this.findRanges}}createExternalPlugins(){return[Sd({})]}collectQueryMatches(o,r,n){if(!r.valid)return[];let i=[],s=n?.from??0,a=n?.to??o.doc.content.size,l=s;for(;l<=a;){let c=r.findNext(o,l,a);if(!c)break;i.push(c);let d=c.to>l?c.to:l+1;if(d>a)break;l=d}return i}scrollToActiveResult(o){if(!o||On(o))return;let r=this.store.view,n=r.state.doc.content.size,i=o.from;if(i>n)return;r.domAtPos(i).node?.scrollIntoView?.({block:"nearest",behavior:"smooth"})}getHighlightRanges(o){let r=Ed(o);if(!r)return{ranges:[],activeIndex:void 0};let i=r.find().map(d=>({from:d.from,to:d.to})).sort((d,m)=>d.from===m.from?d.to-m.to:d.from-m.from),s=i.map(({from:d,to:m})=>({from:d,to:m})),{from:a,to:l}=o.selection,c=i.findIndex(d=>d.from===a&&d.to===l);return{ranges:s,activeIndex:c>=0?c:void 0}}};ie=M([Cd({defaultOptions:{alwaysFind:!1},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],ie);import{PlainExtension as Td}from"@rme-sdk/core";var Wt=e=>[{regexp:/!\[([^\]]*)\]\(([^\s"]+(?:\s+[^\s"]+)*)?(?:\s+"(.*?)")?\)/,type:e,getAttributes:t=>{let[,o,r,n]=t;return{alt:o,src:r,title:n}}}],Ut=e=>[{regexp:new RegExp("<img[^>]*>"),type:e,getAttributes:t=>ue(t[0])}],qt=e=>[{regexp:/\$\$(?!\$)/,type:e,getAttributes:()=>({tex:"",fromInput:!0})},{regexp:/<span[^>]*data-type=["']math-inline["'][^>]*><\/span>/,type:e,getAttributes:()=>({fromInput:!1})},{regexp:/\$([^$\n]+?)\$/,type:e,getAttributes:t=>({tex:t[1]??"",fromInput:!0})}];var Di=["math_block","codeMirror","reference_def"],Gt=class extends Td{constructor(o){super();this.inputRules=[...Wt("md_image"),...qt("math_inline"),...Ut("html_image")];o?.rules&&(this.inputRules=[...this.inputRules,...o.rules])}get name(){return"handle_input"}addRule(o){this.inputRules.push(o)}createPlugin(){return{appendTransaction:(o,r,n)=>{if(!o.some(d=>d.docChanged))return null;let i=o[o.length-1];if(!i.docChanged)return null;let s=!1;if(i.mapping.maps.forEach(d=>{d.forEach((m,p,f,u)=>{n.doc.nodesBetween(f,u,(y,b)=>Di.includes(y.type.name)?(s=!0,!1):!0)})}),s)return null;let a=null,l=n.schema,c=[];if(i.mapping.maps.forEach(d=>{d.forEach((m,p,f,u)=>{let y=Math.max(0,f-100),b=Math.min(n.doc.content.size,u+100);n.doc.nodesBetween(y,b,(x,E)=>{if(Di.includes(x.type.name))return!1;if(!x.isText||!x.text)return!0;let h=n.doc.resolve(E).parent;if(["math_block","codeMirror","reference_def","html_block","mermaid_node"].includes(h.type.name))return!0;let S=x.text;for(let w of this.inputRules){let C;for(w.regexp.lastIndex=0;(C=w.regexp.exec(S))!==null;){let v=C.index??0,A=E+v,R=A+C[0].length;if(A>=0&&R<=n.doc.content.size){console.log("nodenode",x);let I=w.getAttributes?w.getAttributes(C):null;x.attrs["data-rme-from-paste"]==="true"&&I&&(I["data-rme-from-paste"]="true");let F=l.nodes[w.type];if(!F){console.warn(`Node type '${w.type}' not found in schema`);continue}let X;if(F.spec.atom)X=F.create(I);else{let W=null;w.getContent?W=w.getContent(C,l):W=l.text(C[0]),X=F.create(I,W)}c.push({from:A,to:R,node:X})}if(!w.regexp.global)break}}return!0})})}),c.length>0){c.sort((d,m)=>m.from-d.from),a=n.tr;for(let d of c)d.from>=0&&d.to<=a.doc.content.size&&(a=a.replaceWith(d.from,d.to,d.node))}return a&&a.docChanged?a:null}}}};import{convertCommand as Vi}from"@rme-sdk/core";import{HardBreakExtension as vd}from"@rme-sdk/main/extensions";import{baseKeymap as Md,exitCode as Pd}from"@rme-sdk/pm/commands";import{chainCommands as Nd}from"@rme-sdk/pm";var Rd=["tableCell"],jt=class extends vd{fromMarkdown(){return[]}toMarkdown({state:t,node:o,parent:r,index:n}){for(let i=n+1;i<r.childCount;i++)if(r.child(i).type!=o.type){t.write(`
1467
+ `);return}}createKeymap(){let t=new Set(["heading"]),o=Vi(Md.Enter),r=Nd(Vi(Pd),n=>{let{state:i,tr:s,dispatch:a}=n,{$from:l,$to:c,from:d,to:m}=i.selection,p=!t.has(l.parent.type.name)&&!t.has(c.parent.type.name),f=l.parent.type.name;if(p){let u=i.schema;return Rd.includes(f)?a?.(s.replaceRangeWith(d,m,u.nodes.html_br.create())):a?.(s.replaceRangeWith(d,m,u.text(`
1468
+ `))),!0}else return o(n)});return{"Mod-Enter":r,"Shift-Enter":r}}};import{convertCommand as Id,findParentNodeOfType as Ad}from"@rme-sdk/core";import{HeadingExtension as Ld}from"@rme-sdk/main/extensions";import{setBlockType as _d}from"@rme-sdk/pm/commands";var Qt=class extends Ld{createNodeSpec(t,o){return{...super.createNodeSpec(t,o)}}createKeymap(){return{Backspace:({state:o,dispatch:r})=>{let{selection:n}=o,{$from:i}=n;if(!n.empty||i.parent.type.name!==this.name)return!1;let s=Ad({types:this.type,selection:n});if(s?.start!==n.from)return!1;let a=o.tr.setBlockType(s.start,s.start,o.schema.nodes.paragraph);return r&&r(a),!0}}}createCommands(){let t={};return this.options.levels.forEach(o=>{t[`toggleH${o}`]=()=>Id(_d(this.type,{level:o}))}),t}fromMarkdown(){return[{type:2,token:"heading",node:this.name,hasOpenClose:!0,getAttrs:t=>({level:+t.tag.slice(1)})}]}toMarkdown({state:t,node:o}){t.write(t.repeat("#",o.attrs.level)+" "),t.renderInline(o),t.closeBlock(o)}};import{ErrorConstant as Bd,ExtensionTag as Od,invariant as Hd,isEmptyBlockNode as Dd,isNodeSelection as Vd,NodeExtension as Fd,nodeInputRule as $d}from"@rme-sdk/core";import{TextSelection as zd}from"@rme-sdk/pm/state";var Xt=class extends Fd{constructor(){super(...arguments);this.insertHorizontalRule=()=>o=>{let{tr:r,dispatch:n}=o,i=r.selection.$anchor,s=i.parent;return s.type.name==="doc"||s.isAtom||s.isLeaf?!1:(n&&(r.selection.empty&&Dd(s)&&r.insert(i.pos+1,s),r.replaceSelectionWith(this.type.create()),this.updateFromNodeSelection(r),n(r.scrollIntoView())),!0)}}get name(){return"horizontalRule"}createTags(){return[Od.Block]}createNodeSpec(o,r){return{...r,attrs:o.defaults(),parseDOM:[{tag:"hr",getAttrs:o.parse},...r.parseDOM??[]],toDOM:n=>["hr",o.dom(n)]}}createInputRules(){return[$d({regexp:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type,beforeDispatch:({tr:o})=>{this.updateFromNodeSelection(o)}})]}updateFromNodeSelection(o){if(!Vd(o.selection)||o.selection.node.type.name!==this.name)return;let r=o.selection.$from.pos+1,{insertionNode:n}=this.options;if(!n)return;let i=this.store.schema.nodes[n];Hd(i,{code:Bd.EXTENSION,message:`'${n}' node provided as the insertionNode to the '${this.constructorName}' does not exist.`});let s=i.create();o.insert(r,s),o.setSelection(zd.near(o.doc.resolve(r+1)))}createCommands(){return{insertHorizontalRule:()=>this.insertHorizontalRule()}}fromMarkdown(){return[{type:2,token:"hr",node:this.name,hasOpenClose:!1}]}toMarkdown({state:o,node:r}){o.write("---"),o.closeBlock(r)}};import{extension as Kd,ExtensionTag as Wd,NodeExtension as Ud,nodeInputRule as qd}from"@rme-sdk/core";var he=class extends Ud{get name(){return"html_br"}createTags(){return[Wd.InlineNode]}createNodeSpec(t,o){return{inline:!0,selectable:!0,atom:!0,...o,attrs:{},parseDOM:[{tag:"br"}],toDOM:()=>["br"]}}createInputRules(){return[qd({regexp:new RegExp("<br/>"),type:this.type})]}fromMarkdown(){return[{type:6,token:"html_br",node:this.name}]}toMarkdown({state:t,node:o}){t.text("<br/>",!1)}};he.disableExtraAttributes=!0,he=M([Kd({defaultOptions:{}})],he);import{convertCommand as Xd,extension as Yd,isElementDomNode as Jd,NodeExtension as Zd,nodeInputRule as em}from"@rme-sdk/core";import{setBlockType as tm}from"@rme-sdk/pm/commands";import{TextSelection as om}from"@rme-sdk/pm/state";import rm from"markdown-it/lib/common/html_blocks.mjs";import{html as Gd}from"@codemirror/lang-html";import{Compartment as jd}from"@codemirror/state";function Qd(e){return e.replace(/\n+|\t/g,"")}var Yt=class{constructor(t,o,r,n){this._htmlSrcElt=null;this.destroying=!1;this.options={};this.ignoreMutation=()=>!0;this._node=t,this._outerView=o,this._getPos=r,this.schema=t.type.schema,n&&(this.options={...this.options,...n}),this.dom=document.createElement("div"),this.dom.classList.add("html-node"),this._htmlRenderElt=document.createElement("p"),this._htmlRenderElt.textContent="",this._htmlRenderElt.classList.add("html-node-render"),_e(this.dom,{labelName:"HTML"}).addEventListener("click",()=>this.ensureFocus()),this.dom.appendChild(this._htmlRenderElt),this._htmlSrcElt=document.createElement("span"),this._htmlSrcElt.classList.add("html-src","node-hide"),this.languageConf=new jd,this.dom.appendChild(this._htmlSrcElt),this.renderHtml()}ensureFocus(){this._outerView.hasFocus()&&(this._innerView?this._innerView.focus():this.openEditor())}update(t){return this._node=t,!!this.mfCodemirrorView?.update(t)}stopEvent(){return!0}renderHtml(){if(!this._htmlRenderElt)return;let o=Qd(this.mfCodemirrorView?.content||this._node.textContent).trim();if(o.length<1){for(;this._htmlRenderElt.firstChild;)this._htmlRenderElt.firstChild.remove();return}try{for(;this._htmlRenderElt.firstChild;)this._htmlRenderElt.firstChild.remove();this._htmlRenderElt.classList.remove("node-hide"),this._htmlRenderElt.classList.add("node-show");let n=new DOMParser().parseFromString(o,"text/html"),i=s=>{Array.from(s).forEach(l=>{if(It(l)&&l.src&&this.options.handleViewImgSrcUrl){let c=l.src;l.src.includes(location.origin)&&(c=l.src.split(location.origin)[1]),this.options.handleViewImgSrcUrl(c).then(d=>{l.src=d})}if(l.nodeType===Node.ELEMENT_NODE){let c=l;c.children.length>0&&i(c.children)}this._htmlRenderElt?.appendChild(l)})};i(n.body.childNodes)}catch{}}setSelection(t,o){this._innerView?this.mfCodemirrorView?.setSelection(t,o):(this.openEditor(),this.mfCodemirrorView.setSelection(t,o))}openEditor(){if(this._innerView)throw Error("inner view should not exist!");let t=[Gd()];this.options?.codemirrorExtensions&&t.push(...this.options.codemirrorExtensions),this.mfCodemirrorView=new U({view:this._outerView,node:this._node,getPos:this._getPos,languageName:"html",extensions:t,options:{useProsemirrorHistoryKey:!0,codemirrorEditorViewConfig:{parent:this._htmlSrcElt},copyButton:{enabled:!0,customCopyFunction:this.options?.customCopyFunction}}}),this._htmlSrcElt.classList.remove("node-hide"),this._innerView=this.mfCodemirrorView.cm,this._htmlRenderElt?.classList.add("node-hide");let o=this._node.textContent.length||0;this.setSelection(o,o),this._innerView.focus(),this._innerView.contentDOM.addEventListener("blur",()=>{this.destroying||this.closeEditor(!0)}),this.mfCodemirrorView.forwardSelection()}destroy(){this.destroying=!0,this.closeEditor(!1),this._htmlRenderElt&&(this._htmlRenderElt.remove(),delete this._htmlRenderElt),this._htmlSrcElt&&(this._htmlSrcElt.remove(),this._htmlSrcElt=null),this.dom.remove()}closeEditor(t=!0){this._innerView&&(this._innerView.destroy(),this._innerView=void 0),this.mfCodemirrorView&&(this.mfCodemirrorView.destroy(),this.mfCodemirrorView=void 0),t&&this.renderHtml()}};var $e=class extends Zd{constructor(){super(...arguments);this.createHtmlBlock=()=>Xd(tm(this.type))}get name(){return"html_block"}createNodeSpec(o,r){return{group:"block",content:"text*",defining:!0,...r,code:!0,marks:"",attrs:{language:{default:"html"},...o.defaults()},parseDOM:[{tag:"pre",getAttrs:n=>Jd(n)?o.parse(n):!1},...r.parseDOM??[]],toDOM(){return["pre",["code",0]]},isolating:!0}}createNodeViews(){return(o,r,n)=>new Yt(o,r,n,this.options)}createInputRules(){return[em({regexp:new RegExp("^</?("+ln(rm,ct).join("|")+")(?=(\\s|/?>|$))","i"),type:this.type,beforeDispatch:({tr:r,start:n,match:i})=>{let s=r.doc.resolve(n);r.setSelection(om.near(s)),r.insertText(i[0])}})]}createCommands(){return{createHtmlBlock:this.createHtmlBlock}}fromMarkdown(){return[{type:2,token:"html_block",node:this.name,hasOpenClose:!1}]}toMarkdown({state:o,node:r}){o.write(`
1469
1469
  `),o.text(r.textContent,!1),o.text(`
1470
- `),o.closeBlock(r),o.ensureNewLine()}};$e=M([Yd({defaultOptions:{},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],$e);import{ExtensionTag as mm,NodeExtension as pm,extension as um,nodeInputRule as fm}from"@rme-sdk/main";import hm from"markdown-it/lib/common/html_blocks.mjs";import{history as nm,redo as im,undo as sm}from"@rme-sdk/pm/history";import{keymap as am}from"@rme-sdk/pm/keymap";import{EditorState as lm,Plugin as cm,TextSelection as Vi}from"@rme-sdk/pm/state";import{EditorView as dm}from"@rme-sdk/pm/view";function Yt(e,t,o,r=!0,n){return(i,s)=>{let a=e.state,{to:l,from:c}=a.selection,{to:d,from:m}=i.selection;if(r&&d!==m)return!1;let p=t>0?d:m;if(o){let f=i.doc.nodeSize-2;if(t>0&&p<f||t<0&&p>0)return!1}if(s){n&&n(i.doc.textContent);let f=e.state,{to:u,from:y}=f.selection,b=t>0?u:y;e.dispatch(f.tr.setSelection(Vi.create(f.doc,b))),e.focus()}return!0}}var Jt=class{constructor(t,o,r){this.options={};this._node=t,this._outerView=o,this._getPos=r,this._isEditing=!1,this._tagName="span",this.dom=document.createElement(this._tagName),this.dom.classList.add("inline-input"),this._htmlRenderElt=document.createElement("span"),this._htmlRenderElt.textContent="",this._htmlRenderElt.classList.add("inline-input-render"),this.dom.appendChild(this._htmlRenderElt),this._htmlSrcElt=document.createElement("span"),this._htmlSrcElt.spellcheck=!1,this.dom.appendChild(this._htmlSrcElt),this.dom.addEventListener("click",()=>this.ensureFocus()),t.attrs.fromInput?setTimeout(()=>{this.openEditor()}):this.renderHtml()}destroy(){this.closeEditor(!1),this._htmlRenderElt&&(this._htmlRenderElt.remove(),delete this._htmlRenderElt),this._htmlSrcElt&&(this._htmlSrcElt.remove(),delete this._htmlSrcElt),this.dom.remove()}ensureFocus(){this._innerView&&this._outerView.hasFocus()&&this._innerView.focus()}update(t,o){return t.sameMarkup(this._node)?(this._node=t,console.log("update",t),this._isEditing||this.renderHtml(),!0):!1}selectNode(){this._outerView.editable&&(this._isEditing||this.openEditor())}deselectNode(){this._isEditing&&this.closeEditor()}stopEvent(t){return this._innerView!==void 0&&t.target!==void 0&&this._innerView.dom.contains(t.target)}ignoreMutation(){return!0}renderHtml(t=!1){if(!this._htmlRenderElt)return;let r=(this._innerView?.state.doc.textContent||this._node.attrs?.htmlText||"").trim();try{for(;this._htmlRenderElt.firstChild;)this._htmlRenderElt.firstChild.remove();let i=new DOMParser().parseFromString(r,"text/html"),s=[];i.body.childNodes.forEach(a=>{if(Rt(a)&&a.src&&this.options.handleViewImgSrcUrl){let l=a.src;a.src.includes(location.origin)&&(l=a.src.split(location.origin)[1]),this.options.handleViewImgSrcUrl(l).then(c=>{a.src=c})}s.push(a)}),s.forEach(a=>{this._htmlRenderElt.appendChild(a)}),t&&this._htmlRenderElt.classList.add("inline-input-preview")}catch(n){console.error(n),this._htmlRenderElt?.classList.add("parse-error"),this.dom.setAttribute("title",n.toString())}}dispatchInner(t){if(!this._innerView)return;let{state:o}=this._innerView.state.applyTransaction(t);this._innerView.updateState(o),this.renderHtml(!0)}openEditor(){if(this._innerView){console.warn("[HTMLInlineView] editor already open when openEditor was called");return}let t=n=>{let i=this._getPos();if(i!==void 0){let s=this._outerView.state.tr;s.setNodeAttribute(i,"fromInput",!1),s.setNodeAttribute(i,"htmlText",n),this._outerView.dispatch(s)}};this._innerView=new dm(this._htmlSrcElt,{state:lm.create({doc:this._outerView.state.schema.node("paragraph",null,[this._outerView.state.schema.text(this._node.attrs?.htmlText)]),plugins:[nm(),am({Tab:(n,i)=>(i&&i(n.tr.insertText(" ")),!0),ArrowLeft:Yt(this._outerView,-1,!0,!0,t),ArrowRight:Yt(this._outerView,1,!0,!0,t),ArrowUp:Yt(this._outerView,-1,!0,!0,t),ArrowDown:Yt(this._outerView,1,!0,!0,t),"Mod-z":(n,i,s)=>sm(n,i,s),"Shift-Mod-z":(n,i,s)=>im(n,i,s)}),new cm({props:{handleDOMEvents:{blur:n=>{let i=this._getPos();if(i!==void 0){let s=this._innerView?.state.doc.textContent||"",a=this._outerView.state.tr;a.setNodeAttribute(i,"fromInput",!1),a.setNodeAttribute(i,"htmlText",s),this._outerView.dispatch(a)}this.closeEditor()}}}})]}),dispatchTransaction:this.dispatchInner.bind(this)}),this._innerView.dom.classList.add("inline-input-src"),this._innerView.dom.classList.remove("ProseMirror");let o=this._innerView.state;this._innerView.focus();let r=o.doc.textContent.length||0;this._innerView.dispatch(o.tr.setSelection(Vi.create(o.doc,r))),this._htmlRenderElt?.classList.add("inline-input-preview"),this._isEditing=!0}closeEditor(t=!0){if(this._innerView){if(this._getPos()!==void 0){let r=this._innerView.state.doc.textContent||""}this._innerView?.destroy(),this._innerView=void 0}t&&(this.renderHtml(),this._htmlRenderElt?.classList.add("inline-input-render"),this._htmlRenderElt?.classList.remove("inline-input-preview")),this._isEditing=!1}};var gm="[a-zA-Z_:][a-zA-Z0-9:._-]*",bm="[^\"'=<>`\\x00-\\x20]+",ym="'[^']*'",xm='"[^"]*"',km="(?:"+bm+"|"+ym+"|"+xm+")",Cm="(?:\\s+"+gm+"(?:\\s*=\\s*"+km+")?)",wm="<[A-Za-z][A-Za-z0-9\\-]*"+Cm+"*\\s*\\/?>",Em="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",Sm=new RegExp("(?:"+wm+"|"+Em+")","g"),ge=class extends pm{get name(){return"html_inline_node"}createTags(){return[mm.InlineNode]}createNodeSpec(){return{inline:!0,selectable:!0,atom:!0,marks:"",attrs:{key:{default:""},htmlText:{default:""},fromInput:{default:!1}},toDOM:t=>{let o=document.createElement("span");return o.classList.add("inline-input-render"),o.innerHTML=t.attrs.htmlText,o}}}createNodeViews(){return(t,o,r)=>new Jt(t,o,r)}createInputRules(){return[fm({regexp:Sm,type:this.type,getAttributes:o=>({htmlText:o[0],fromInput:!0}),beforeDispatch:({tr:o,start:r,match:n})=>{let s=o.doc.resolve(r).node(1);console.log("last",s.lastChild),console.log("node",s)},shouldSkip:o=>{let r=Ae(o.fullMatch);return ct.includes(r)||hm.includes(r)?!0:(o.state.tr.replaceRangeWith(o.start,o.end,this.type.create({htmlText:o.fullMatch,fromInput:!0})),!1)}})]}fromMarkdown(){return[{type:6,token:"html_inline_node",node:this.name}]}toMarkdown({state:t,node:o}){t.text(o.attrs.htmlText||"")}};ge.disableExtraAttributes=!0,ge=M([um({staticKeys:[],handlerKeys:[],customHandlerKeys:[],defaultOptions:{handleViewImgSrcUrl:async e=>e}})],ge);import{cx as Om,extension as Hm,ExtensionTag as zi,NodeExtension as Dm,nodeInputRule as Vm,omitExtraAttributes as Fm}from"@rme-sdk/core";import{useRef as _m}from"react";import{Popover as Bm}from"zens";import{memo as Pm,useCallback as Fi,useEffect as Nm,useRef as be,useState as pr}from"react";import Rm from"styled-components";import Tm,{css as G}from"styled-components";import{jsx as Mm}from"react/jsx-runtime";var vm=Tm.span`
1470
+ `),o.closeBlock(r),o.ensureNewLine()}};$e=M([Yd({defaultOptions:{},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],$e);import{ExtensionTag as mm,NodeExtension as pm,extension as um,nodeInputRule as fm}from"@rme-sdk/main";import hm from"markdown-it/lib/common/html_blocks.mjs";import{history as nm,redo as im,undo as sm}from"@rme-sdk/pm/history";import{keymap as am}from"@rme-sdk/pm/keymap";import{EditorState as lm,Plugin as cm,TextSelection as Fi}from"@rme-sdk/pm/state";import{EditorView as dm}from"@rme-sdk/pm/view";function Jt(e,t,o,r=!0,n){return(i,s)=>{let a=e.state,{to:l,from:c}=a.selection,{to:d,from:m}=i.selection;if(r&&d!==m)return!1;let p=t>0?d:m;if(o){let f=i.doc.nodeSize-2;if(t>0&&p<f||t<0&&p>0)return!1}if(s){n&&n(i.doc.textContent);let f=e.state,{to:u,from:y}=f.selection,b=t>0?u:y;e.dispatch(f.tr.setSelection(Fi.create(f.doc,b))),e.focus()}return!0}}var Zt=class{constructor(t,o,r){this.options={};this._node=t,this._outerView=o,this._getPos=r,this._isEditing=!1,this._tagName="span",this.dom=document.createElement(this._tagName),this.dom.classList.add("inline-input"),this._htmlRenderElt=document.createElement("span"),this._htmlRenderElt.textContent="",this._htmlRenderElt.classList.add("inline-input-render"),this.dom.appendChild(this._htmlRenderElt),this._htmlSrcElt=document.createElement("span"),this._htmlSrcElt.spellcheck=!1,this.dom.appendChild(this._htmlSrcElt),this.dom.addEventListener("click",()=>this.ensureFocus()),t.attrs.fromInput?setTimeout(()=>{this.openEditor()}):this.renderHtml()}destroy(){this.closeEditor(!1),this._htmlRenderElt&&(this._htmlRenderElt.remove(),delete this._htmlRenderElt),this._htmlSrcElt&&(this._htmlSrcElt.remove(),delete this._htmlSrcElt),this.dom.remove()}ensureFocus(){this._innerView&&this._outerView.hasFocus()&&this._innerView.focus()}update(t,o){return t.sameMarkup(this._node)?(this._node=t,console.log("update",t),this._isEditing||this.renderHtml(),!0):!1}selectNode(){this._outerView.editable&&(this._isEditing||this.openEditor())}deselectNode(){this._isEditing&&this.closeEditor()}stopEvent(t){return this._innerView!==void 0&&t.target!==void 0&&this._innerView.dom.contains(t.target)}ignoreMutation(){return!0}renderHtml(t=!1){if(!this._htmlRenderElt)return;let r=(this._innerView?.state.doc.textContent||this._node.attrs?.htmlText||"").trim();try{for(;this._htmlRenderElt.firstChild;)this._htmlRenderElt.firstChild.remove();let i=new DOMParser().parseFromString(r,"text/html"),s=[];i.body.childNodes.forEach(a=>{if(It(a)&&a.src&&this.options.handleViewImgSrcUrl){let l=a.src;a.src.includes(location.origin)&&(l=a.src.split(location.origin)[1]),this.options.handleViewImgSrcUrl(l).then(c=>{a.src=c})}s.push(a)}),s.forEach(a=>{this._htmlRenderElt.appendChild(a)}),t&&this._htmlRenderElt.classList.add("inline-input-preview")}catch(n){console.error(n),this._htmlRenderElt?.classList.add("parse-error"),this.dom.setAttribute("title",n.toString())}}dispatchInner(t){if(!this._innerView)return;let{state:o}=this._innerView.state.applyTransaction(t);this._innerView.updateState(o),this.renderHtml(!0)}openEditor(){if(this._innerView){console.warn("[HTMLInlineView] editor already open when openEditor was called");return}let t=n=>{let i=this._getPos();if(i!==void 0){let s=this._outerView.state.tr;s.setNodeAttribute(i,"fromInput",!1),s.setNodeAttribute(i,"htmlText",n),this._outerView.dispatch(s)}};this._innerView=new dm(this._htmlSrcElt,{state:lm.create({doc:this._outerView.state.schema.node("paragraph",null,[this._outerView.state.schema.text(this._node.attrs?.htmlText)]),plugins:[nm(),am({Tab:(n,i)=>(i&&i(n.tr.insertText(" ")),!0),ArrowLeft:Jt(this._outerView,-1,!0,!0,t),ArrowRight:Jt(this._outerView,1,!0,!0,t),ArrowUp:Jt(this._outerView,-1,!0,!0,t),ArrowDown:Jt(this._outerView,1,!0,!0,t),"Mod-z":(n,i,s)=>sm(n,i,s),"Shift-Mod-z":(n,i,s)=>im(n,i,s)}),new cm({props:{handleDOMEvents:{blur:n=>{let i=this._getPos();if(i!==void 0){let s=this._innerView?.state.doc.textContent||"",a=this._outerView.state.tr;a.setNodeAttribute(i,"fromInput",!1),a.setNodeAttribute(i,"htmlText",s),this._outerView.dispatch(a)}this.closeEditor()}}}})]}),dispatchTransaction:this.dispatchInner.bind(this)}),this._innerView.dom.classList.add("inline-input-src"),this._innerView.dom.classList.remove("ProseMirror");let o=this._innerView.state;this._innerView.focus();let r=o.doc.textContent.length||0;this._innerView.dispatch(o.tr.setSelection(Fi.create(o.doc,r))),this._htmlRenderElt?.classList.add("inline-input-preview"),this._isEditing=!0}closeEditor(t=!0){if(this._innerView){if(this._getPos()!==void 0){let r=this._innerView.state.doc.textContent||""}this._innerView?.destroy(),this._innerView=void 0}t&&(this.renderHtml(),this._htmlRenderElt?.classList.add("inline-input-render"),this._htmlRenderElt?.classList.remove("inline-input-preview")),this._isEditing=!1}};var gm="[a-zA-Z_:][a-zA-Z0-9:._-]*",bm="[^\"'=<>`\\x00-\\x20]+",ym="'[^']*'",xm='"[^"]*"',km="(?:"+bm+"|"+ym+"|"+xm+")",Cm="(?:\\s+"+gm+"(?:\\s*=\\s*"+km+")?)",wm="<[A-Za-z][A-Za-z0-9\\-]*"+Cm+"*\\s*\\/?>",Em="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",Sm=new RegExp("(?:"+wm+"|"+Em+")","g"),ge=class extends pm{get name(){return"html_inline_node"}createTags(){return[mm.InlineNode]}createNodeSpec(){return{inline:!0,selectable:!0,atom:!0,marks:"",attrs:{key:{default:""},htmlText:{default:""},fromInput:{default:!1}},toDOM:t=>{let o=document.createElement("span");return o.classList.add("inline-input-render"),o.innerHTML=t.attrs.htmlText,o}}}createNodeViews(){return(t,o,r)=>new Zt(t,o,r)}createInputRules(){return[fm({regexp:Sm,type:this.type,getAttributes:o=>({htmlText:o[0],fromInput:!0}),beforeDispatch:({tr:o,start:r,match:n})=>{let s=o.doc.resolve(r).node(1);console.log("last",s.lastChild),console.log("node",s)},shouldSkip:o=>{let r=Ae(o.fullMatch);return ct.includes(r)||hm.includes(r)?!0:(o.state.tr.replaceRangeWith(o.start,o.end,this.type.create({htmlText:o.fullMatch,fromInput:!0})),!1)}})]}fromMarkdown(){return[{type:6,token:"html_inline_node",node:this.name}]}toMarkdown({state:t,node:o}){t.text(o.attrs.htmlText||"")}};ge.disableExtraAttributes=!0,ge=M([um({staticKeys:[],handlerKeys:[],customHandlerKeys:[],defaultOptions:{handleViewImgSrcUrl:async e=>e}})],ge);import{cx as Om,extension as Hm,ExtensionTag as Ki,NodeExtension as Dm,nodeInputRule as Vm,omitExtraAttributes as Fm}from"@rme-sdk/core";import{useRef as _m}from"react";import{Popover as Bm}from"zens";import{memo as Pm,useCallback as $i,useEffect as Nm,useRef as be,useState as ur}from"react";import Rm from"styled-components";import Tm,{css as G}from"styled-components";import{jsx as Mm}from"react/jsx-runtime";var vm=Tm.span`
1471
1471
  position: absolute;
1472
1472
  border-radius: 12px;
1473
1473
  border: 2px solid #fff;
@@ -1541,7 +1541,7 @@ var qa=Object.defineProperty;var Ga=Object.getOwnPropertyDescriptor;var M=(e,t,o
1541
1541
  width: 30px;
1542
1542
  cursor: row-resize;
1543
1543
  `;default:break}}}
1544
- `,ht=e=>{let t=o=>{e.onResizing&&e.onResizing(o,e.handleType)};return Mm(vm,{className:"resizeable-handle",visible:e.visible,selected:e.selected,handleType:e.handleType,onMouseDown:t})};import{jsx as Zt,jsxs as Lm}from"react/jsx-runtime";var Im=(e,t,o)=>{let r=null,n=0;return function(...i){let s=Date.now()-n,a=()=>{n=Date.now(),o(...i)};r&&clearTimeout(r),s>e?a():t||(r=setTimeout(a,e-s))}};var Am=Rm.div`
1544
+ `,gt=e=>{let t=o=>{e.onResizing&&e.onResizing(o,e.handleType)};return Mm(vm,{className:"resizeable-handle",visible:e.visible,selected:e.selected,handleType:e.handleType,onMouseDown:t})};import{jsx as eo,jsxs as Lm}from"react/jsx-runtime";var Im=(e,t,o)=>{let r=null,n=0;return function(...i){let s=Date.now()-n,a=()=>{n=Date.now(),o(...i)};r&&clearTimeout(r),s>e?a():t||(r=setTimeout(a,e-s))}};var Am=Rm.div`
1545
1545
  display: inline-flex;
1546
1546
  position: relative;
1547
1547
  max-width: 100%;
@@ -1551,14 +1551,14 @@ var qa=Object.defineProperty;var Ga=Object.getOwnPropertyDescriptor;var M=(e,t,o
1551
1551
  -ms-user-select: none; /* Edge, IE */
1552
1552
  border-radius: 2px;
1553
1553
  transition: all 0.15s ease-out;
1554
- `,ur=20,eo=Pm(e=>{let{node:t,aspectRatio:o=0,updateAttributes:r,selected:n,controlInit:i,onResize:s}=e,[a,l]=pr({}),[c,d]=pr(!1),[m,p]=pr(!1),f=be([]),u=be(null),y=be(0),b=be(0),x=be(0),E=be(0),k=be(!1),h=Fi((w,C)=>{w.preventDefault();let v=w.pageX,A=w.pageY,R=y.current||0,I=b.current||0;x.current=R,E.current=I,k.current=!0;let F=Im(100,!1,W=>{if(!k.current)return;let nt=W.pageX,it=W.pageY,Me=nt-v,Pe=it-A,H=null,z=null;if(o===0&&R&&I)switch(C){case 0:case 4:case 6:H=R+Me,z=I/R*H;break;case 1:case 5:case 7:H=R-Me,z=I/R*H;break;case 3:z=I+Pe,H=R/I*z;break;case 2:z=I-Pe,H=R/I*z;break}else if(o===1)switch(C){case 0:H=R+Me;break;case 1:H=R-Me;break;case 3:z=I+Pe;break;case 2:z=I-Pe;break;case 6:case 4:H=R+Me,z=I+Pe;break;case 7:case 5:H=R-Me,z=I+Pe;break}typeof H=="number"&&H<ur&&(o===0&&R&&I?(H=ur,z=I/R*H):o===1&&(H=ur)),H&&u.current&&k.current&&(x.current=Math.round(H),l(Io=>({...Io,width:x.current}))),z&&k.current&&(E.current=Math.round(z),l(Io=>({...Io,height:E.current})))}),X=W=>{W.preventDefault(),W.stopPropagation(),k.current=!1,T()&&(document.removeEventListener("mousemove",F),document.removeEventListener("mouseup",X));let nt=x.current,it=E.current;y.current=nt,b.current=it,l({width:nt,height:it}),r({...t.attrs,width:nt,height:it}),s?.(W)};T()&&(document.addEventListener("mousemove",F),document.addEventListener("mouseup",X)),f.current.push(()=>{k.current=!1,T()&&document.removeEventListener("mousemove",F)}),f.current.push(()=>{T()&&document.removeEventListener("mouseup",X)})},[o,t.attrs,r,s]),g=Fi((w,C)=>{p(!0),h(w,C)},[h]);Nm(()=>{let w=()=>{if(u.current){let{width:C,height:v}=u.current.getBoundingClientRect();y.current=C,b.current=v,x.current=C,E.current=v,l({width:C,height:v})}};return i?i(w):w(),()=>{f.current.forEach(C=>C()),f.current=[]}},[i]);let S=n||c;return Lm(Am,{ref:u,style:m?{width:`${a.width}px`,height:`${a.height}px`,aspectRatio:`${a.width} / ${a.height}`}:void 0,onMouseOver:()=>d(!0),onMouseOut:()=>d(!1),children:[Zt(ht,{visible:S,selected:n,onResizing:g,handleType:5}),Zt(ht,{visible:S,selected:n,onResizing:g,handleType:4}),Zt(ht,{visible:S,selected:n,onResizing:g,handleType:7}),Zt(ht,{visible:S,selected:n,onResizing:g,handleType:6}),e.children]})});import{jsx as fr}from"react/jsx-runtime";function $i(e){let{node:t,selected:o}=e,r=_m();return fr(Bm,{placement:"top-start",open:o,arrow:!1,children:fr(eo,{controlInit:n=>r.current=n,...e,children:fr("iframe",{onLoad:()=>r.current?.(),...t.attrs})})})}import{jsx as $m}from"react/jsx-runtime";var ze=class extends Dm{constructor(){super(...arguments);this.ReactComponent=o=>$m($i,{...o});this.addIframe=o=>({tr:r,dispatch:n})=>(n?.(r.replaceSelectionWith(this.type.create(o))),!0)}get name(){return"iframe_inline"}createTags(){return[zi.InlineNode,zi.Media]}createNodeSpec(o,r){let{defaultSource:n}=this.options;return{inline:!0,selectable:!0,atom:!0,...r,attrs:{...o.defaults(),src:n?{default:n}:{},allowFullScreen:{default:!0},frameBorder:{default:0},type:{default:"custom"},width:{default:null},height:{default:null}},parseDOM:[{tag:"iframe",getAttrs:i=>{let s=i.getAttribute("frameborder"),a=i.getAttribute("width"),l=i.getAttribute("height");return{...o.parse(i),type:i.getAttribute("data-embed-type")??void 0,height:l&&Number.parseInt(l,10)||void 0,width:a&&Number.parseInt(a,10)||void 0,allowFullScreen:i.getAttribute("allowfullscreen")!=="false",frameBorder:s?Number.parseInt(s,10):0,src:i.getAttribute("src")??""}}},...r.parseDOM??[]],toDOM:i=>{let{frameBorder:s,allowFullScreen:a,src:l,type:c,...d}=Fm(i.attrs,o),{class:m}=this.options;return["iframe",{...o.dom(i),...d,class:Om(m,`${m}-${c}`),src:l,"data-embed-type":c,allowfullscreen:a?"true":"false",frameBorder:s?.toString()}]}}}createCommands(){return{addIframe:this.addIframe}}createInputRules(){return[Vm({regexp:new RegExp("<iframe[^>]*>"),type:this.type,getAttributes:r=>ue(r[0])})]}fromMarkdown(){return[{type:6,token:"iframe_inline",node:this.name}]}toMarkdown({state:o,node:r}){o.text(Le({tag:"iframe",attrs:r.attrs,voidElement:!0}),!1)}};ze=M([Hm({defaultOptions:{defaultSource:"",class:"remirror-iframe",enableResizing:!1},staticKeys:["defaultSource","class"],handlerKeys:[],customHandlerKeys:[]})],ze);import{ErrorConstant as up,extension as fp,ExtensionTag as is,getTextSelection as hp,invariant as gp,isElementDomNode as bp,NodeExtension as yp,nodeInputRule as xp,omitExtraAttributes as kp}from"@rme-sdk/core";import{omit as sp}from"lodash";import{normalizeReference as rs}from"markdown-it/lib/common/utils.mjs";import{useCallback as ap,useEffect as ns,useEffectEvent as lp,useMemo as cp,useRef as Cr}from"react";import{Popover as dp,Image as mp}from"zens";import{t as ts}from"i18next";import{useState as to}from"react";import ke from"styled-components";import{Button as op,Input as rp}from"zens";import{memo as Gm,useCallback as gt,useEffect as Xi,useMemo as Yi,useRef as jm,useState as gr}from"react";import{useTranslation as Qm}from"react-i18next";import Ke,{css as Xm}from"styled-components";import{Input as Ym,Space as Jm}from"zens";var O={"heading-1":"ri-h-1","heading-2":"ri-h-2","heading-3":"ri-h-3","heading-4":"ri-h-4","heading-5":"ri-h-5","heading-6":"ri-h-6",paragraph:"ri-paragraph","list-bullet":"ri-list-unordered","list-ordered":"ri-list-ordered","list-task":"ri-list-check-3",codeMirror:"ri-code-box-line",table:"ri-table-line",blockquote:"ri-double-quotes-l",html_block:"ri-html5-line",math_block:"ri-formula",mermaid_node:"ri-flow-chart",horizontalRule:"ri-separator"};var ye=(e,t,o)=>e.dispatch(e.state.tr.setMeta(t,o)),xe=e=>e.key==="/",Ki=["Unidentified","Alt","AltGraph","CapsLock","Control","Fn","FnLock","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F20","F21","F22","F23","F24","Hyper","Meta","NumLock","PageDown","PageUp","Pause","PrintScreen","Redo","ScrollLock","Shift","Super","Symbol","SymbolLock","Enter","Tab","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","End","Home","PageDown","PageUp","Backspace","Clear","Copy","CrSel","Cut","Delete","EraseEof","ExSel","Insert","Paste","Redo","Undo","Accept","Again","Attn","Cancel","ContextMenu","Escape","Execute","Find","Finish","Help","Pause","Play","Props","Select","ZoomIn","ZoomOut","BrightnessDown","BrightnessUp","Eject","LogOff","Power","PowerOff","PrintScreen","Hibernate","Standby","WakeUp","AllCandidates","Alphanumeric","CodeInput","Compose","Convert","Dead","FinalMode","GroupFirst","GroupLast","GroupNext","GroupPrevious","ModeChange","NextCandidate","NonConvert","PreviousCandidate","Process","SingleCandidate","HangulMode","HanjaMode","JunjaMode","Eisu","Hankaku","Hiragana","HiraganaKatakana","KanaMode","KanjiMode","Katakana","Romaji","Zenkaku","ZenkakuHanaku"];import{jsx as zm}from"react/jsx-runtime";function Wi(){if(!T())return"Unknown";let e=window.navigator.userAgent,t=window.navigator.platform;return/Win/.test(t)||/Win/.test(e)?"Windows":/Mac/.test(t)||/Mac/.test(e)?"macOS":"Unknown"}function hr(){return Wi()==="macOS"?zm("i",{className:"ri-command-line"}):"Ctrl"}function Ui(){return Wi()==="macOS"?"metaKey":"ctrlKey"}import{useImperativeHandle as Km,useState as qi}from"react";import Wm from"styled-components";import{jsx as ji,jsxs as Gi}from"react/jsx-runtime";var Um=Wm.div.attrs(e=>e)`
1554
+ `,fr=20,to=Pm(e=>{let{node:t,aspectRatio:o=0,updateAttributes:r,selected:n,controlInit:i,onResize:s}=e,[a,l]=ur({}),[c,d]=ur(!1),[m,p]=ur(!1),f=be([]),u=be(null),y=be(0),b=be(0),x=be(0),E=be(0),k=be(!1),h=$i((w,C)=>{w.preventDefault();let v=w.pageX,A=w.pageY,R=y.current||0,I=b.current||0;x.current=R,E.current=I,k.current=!0;let F=Im(100,!1,W=>{if(!k.current)return;let nt=W.pageX,it=W.pageY,Me=nt-v,Pe=it-A,H=null,z=null;if(o===0&&R&&I)switch(C){case 0:case 4:case 6:H=R+Me,z=I/R*H;break;case 1:case 5:case 7:H=R-Me,z=I/R*H;break;case 3:z=I+Pe,H=R/I*z;break;case 2:z=I-Pe,H=R/I*z;break}else if(o===1)switch(C){case 0:H=R+Me;break;case 1:H=R-Me;break;case 3:z=I+Pe;break;case 2:z=I-Pe;break;case 6:case 4:H=R+Me,z=I+Pe;break;case 7:case 5:H=R-Me,z=I+Pe;break}typeof H=="number"&&H<fr&&(o===0&&R&&I?(H=fr,z=I/R*H):o===1&&(H=fr)),H&&u.current&&k.current&&(x.current=Math.round(H),l(Ao=>({...Ao,width:x.current}))),z&&k.current&&(E.current=Math.round(z),l(Ao=>({...Ao,height:E.current})))}),X=W=>{W.preventDefault(),W.stopPropagation(),k.current=!1,T()&&(document.removeEventListener("mousemove",F),document.removeEventListener("mouseup",X));let nt=x.current,it=E.current;y.current=nt,b.current=it,l({width:nt,height:it}),r({...t.attrs,width:nt,height:it}),s?.(W)};T()&&(document.addEventListener("mousemove",F),document.addEventListener("mouseup",X)),f.current.push(()=>{k.current=!1,T()&&document.removeEventListener("mousemove",F)}),f.current.push(()=>{T()&&document.removeEventListener("mouseup",X)})},[o,t.attrs,r,s]),g=$i((w,C)=>{p(!0),h(w,C)},[h]);Nm(()=>{let w=()=>{if(u.current){let{width:C,height:v}=u.current.getBoundingClientRect();y.current=C,b.current=v,x.current=C,E.current=v,l({width:C,height:v})}};return i?i(w):w(),()=>{f.current.forEach(C=>C()),f.current=[]}},[i]);let S=n||c;return Lm(Am,{ref:u,style:m?{width:`${a.width}px`,height:`${a.height}px`,aspectRatio:`${a.width} / ${a.height}`}:void 0,onMouseOver:()=>d(!0),onMouseOut:()=>d(!1),children:[eo(gt,{visible:S,selected:n,onResizing:g,handleType:5}),eo(gt,{visible:S,selected:n,onResizing:g,handleType:4}),eo(gt,{visible:S,selected:n,onResizing:g,handleType:7}),eo(gt,{visible:S,selected:n,onResizing:g,handleType:6}),e.children]})});import{jsx as hr}from"react/jsx-runtime";function zi(e){let{node:t,selected:o}=e,r=_m();return hr(Bm,{placement:"top-start",open:o,arrow:!1,children:hr(to,{controlInit:n=>r.current=n,...e,children:hr("iframe",{onLoad:()=>r.current?.(),...t.attrs})})})}import{jsx as $m}from"react/jsx-runtime";var ze=class extends Dm{constructor(){super(...arguments);this.ReactComponent=o=>$m(zi,{...o});this.addIframe=o=>({tr:r,dispatch:n})=>(n?.(r.replaceSelectionWith(this.type.create(o))),!0)}get name(){return"iframe_inline"}createTags(){return[Ki.InlineNode,Ki.Media]}createNodeSpec(o,r){let{defaultSource:n}=this.options;return{inline:!0,selectable:!0,atom:!0,...r,attrs:{...o.defaults(),src:n?{default:n}:{},allowFullScreen:{default:!0},frameBorder:{default:0},type:{default:"custom"},width:{default:null},height:{default:null}},parseDOM:[{tag:"iframe",getAttrs:i=>{let s=i.getAttribute("frameborder"),a=i.getAttribute("width"),l=i.getAttribute("height");return{...o.parse(i),type:i.getAttribute("data-embed-type")??void 0,height:l&&Number.parseInt(l,10)||void 0,width:a&&Number.parseInt(a,10)||void 0,allowFullScreen:i.getAttribute("allowfullscreen")!=="false",frameBorder:s?Number.parseInt(s,10):0,src:i.getAttribute("src")??""}}},...r.parseDOM??[]],toDOM:i=>{let{frameBorder:s,allowFullScreen:a,src:l,type:c,...d}=Fm(i.attrs,o),{class:m}=this.options;return["iframe",{...o.dom(i),...d,class:Om(m,`${m}-${c}`),src:l,"data-embed-type":c,allowfullscreen:a?"true":"false",frameBorder:s?.toString()}]}}}createCommands(){return{addIframe:this.addIframe}}createInputRules(){return[Vm({regexp:new RegExp("<iframe[^>]*>"),type:this.type,getAttributes:r=>ue(r[0])})]}fromMarkdown(){return[{type:6,token:"iframe_inline",node:this.name}]}toMarkdown({state:o,node:r}){o.text(Le({tag:"iframe",attrs:r.attrs,voidElement:!0}),!1)}};ze=M([Hm({defaultOptions:{defaultSource:"",class:"remirror-iframe",enableResizing:!1},staticKeys:["defaultSource","class"],handlerKeys:[],customHandlerKeys:[]})],ze);import{ErrorConstant as up,extension as fp,ExtensionTag as ss,getTextSelection as hp,invariant as gp,isElementDomNode as bp,NodeExtension as yp,nodeInputRule as xp,omitExtraAttributes as kp}from"@rme-sdk/core";import{omit as sp}from"lodash";import{normalizeReference as ns}from"markdown-it/lib/common/utils.mjs";import{useCallback as ap,useEffect as is,useEffectEvent as lp,useMemo as cp,useRef as wr}from"react";import{Popover as dp,Image as mp}from"zens";import{t as os}from"i18next";import{useState as oo}from"react";import ke from"styled-components";import{Button as op,Input as rp}from"zens";import{memo as Gm,useCallback as bt,useEffect as Yi,useMemo as Ji,useRef as jm,useState as br}from"react";import{useTranslation as Qm}from"react-i18next";import Ke,{css as Xm}from"styled-components";import{Input as Ym,Space as Jm}from"zens";var O={"heading-1":"ri-h-1","heading-2":"ri-h-2","heading-3":"ri-h-3","heading-4":"ri-h-4","heading-5":"ri-h-5","heading-6":"ri-h-6",paragraph:"ri-paragraph","list-bullet":"ri-list-unordered","list-ordered":"ri-list-ordered","list-task":"ri-list-check-3",codeMirror:"ri-code-box-line",table:"ri-table-line",blockquote:"ri-double-quotes-l",html_block:"ri-html5-line",math_block:"ri-formula",mermaid_node:"ri-flow-chart",horizontalRule:"ri-separator"};var ye=(e,t,o)=>e.dispatch(e.state.tr.setMeta(t,o)),xe=e=>e.key==="/",Wi=["Unidentified","Alt","AltGraph","CapsLock","Control","Fn","FnLock","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F20","F21","F22","F23","F24","Hyper","Meta","NumLock","PageDown","PageUp","Pause","PrintScreen","Redo","ScrollLock","Shift","Super","Symbol","SymbolLock","Enter","Tab","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","End","Home","PageDown","PageUp","Backspace","Clear","Copy","CrSel","Cut","Delete","EraseEof","ExSel","Insert","Paste","Redo","Undo","Accept","Again","Attn","Cancel","ContextMenu","Escape","Execute","Find","Finish","Help","Pause","Play","Props","Select","ZoomIn","ZoomOut","BrightnessDown","BrightnessUp","Eject","LogOff","Power","PowerOff","PrintScreen","Hibernate","Standby","WakeUp","AllCandidates","Alphanumeric","CodeInput","Compose","Convert","Dead","FinalMode","GroupFirst","GroupLast","GroupNext","GroupPrevious","ModeChange","NextCandidate","NonConvert","PreviousCandidate","Process","SingleCandidate","HangulMode","HanjaMode","JunjaMode","Eisu","Hankaku","Hiragana","HiraganaKatakana","KanaMode","KanjiMode","Katakana","Romaji","Zenkaku","ZenkakuHanaku"];import{jsx as zm}from"react/jsx-runtime";function Ui(){if(!T())return"Unknown";let e=window.navigator.userAgent,t=window.navigator.platform;return/Win/.test(t)||/Win/.test(e)?"Windows":/Mac/.test(t)||/Mac/.test(e)?"macOS":"Unknown"}function gr(){return Ui()==="macOS"?zm("i",{className:"ri-command-line"}):"Ctrl"}function qi(){return Ui()==="macOS"?"metaKey":"ctrlKey"}import{useImperativeHandle as Km,useState as Gi}from"react";import Wm from"styled-components";import{jsx as Qi,jsxs as ji}from"react/jsx-runtime";var Um=Wm.div.attrs(e=>e)`
1555
1555
  border: 1px solid ${e=>e.theme.borderColor};
1556
1556
  margin-right: 1px;
1557
1557
  margin-bottom: 1px;
1558
1558
  width: 10px;
1559
1559
  height: 10px;
1560
1560
  background-color: ${e=>e.inScope?e.theme.blue:e.theme.contextMenuBgColor};
1561
- `,qm=e=>{let{commands:t,closeMenu:o,ref:r}=e,[n,i]=qi(3),[s,a]=qi(3);Km(r,()=>({createTable:()=>{t.createTable({rowsCount:n,columnsCount:s,withHeaderRow:!1})},handleKeyDown:d=>{let m=()=>(a(b=>b+1),0),p=()=>d.metaKey||d.ctrlKey?1:(a(b=>b-1<1?1:b-1),0),f=()=>{i(b=>b-1<1?1:b-1)},u=()=>{i(b=>b+1)},y=()=>(t.createTable({rowsCount:n,columnsCount:s}),2);if(d.key==="ArrowRight")return m();if(d.key==="ArrowLeft")return p();if(d.key==="ArrowUp")return f();if(d.key==="ArrowDown")return u();if(d.key==="Enter")return y()}}));let l=10,c=8;return Gi("div",{children:[Gi("span",{children:["Rows: ",n," Cols: ",s]}),Array.from({length:l}).map((d,m)=>ji("div",{style:{display:"flex"},children:Array.from({length:c}).map((p,f)=>{let u=m<n&&f<s;return ji(Um,{inScope:u,onClick:()=>{t.createTable({rowsCount:m,columnsCount:f,withHeaderRow:!1}),o()}},f)})},m))]})},Qi=qm;import{Fragment as br,jsx as L,jsxs as V}from"react/jsx-runtime";var es=Gm(({rootRef:e,commands:t,closeMenu:o})=>{let r=jm({}),[n,i]=gr(""),{t:s}=Qm(),a=Yi(()=>{let g=[{title:"Text",id:"text",iconName:"ri-text",children:Array.from({length:6}).map((S,w)=>({title:`Heading ${w+1}`,id:`Heading${w+1}`,handler:()=>{t.toggleHeading({level:w+1})}}))},{title:"Table",id:"table",iconName:O.table,handler:()=>{r.current.table?.createTable()},Renderer:{id:"table",Component:L(Qi,{ref:S=>{r.current.table=S},commands:t,closeMenu:o})}},{title:"Code Block",id:"code-block",iconName:O.codeMirror,handler:()=>{t.createCodeMirror()}},{title:"Math Block",id:"math-block",iconName:O.math_block,handler:()=>{t.createMathBlock()}},{title:"Mermaid",id:"mermaid-block",iconName:O.mermaid_node,handler:()=>{t.createMermaidBlock()}},{title:"HTML Block",id:"html-block",iconName:O.html_block,handler:()=>{t.createHtmlBlock()}},{title:"Quote Block",id:"blockquote",iconName:O.blockquote,handler:()=>{t.toggleBlockquote()}},{title:"Horizontal Rule",id:"horizontal-rule",iconName:O.horizontalRule,handler:()=>{t.insertHorizontalRule()}}];return t.createAiBlock&&g.unshift({title:"AI",id:"ai",iconName:"ri-bard-line",handler:()=>{t.createAiBlock({})}}),g},[o,t]),l=Yi(()=>{if(!n.trim())return a;let h=n.toLowerCase();return a.filter(g=>!!(g.title.toLowerCase().includes(h)||g.children&&g.children.filter(w=>w.title.toLowerCase().includes(h)).length>0)).map(g=>{if(g.children&&n.trim()){let S=n.toLowerCase();if(g.title.toLowerCase().includes(S))return g;let w=g.children.filter(C=>C.title.toLowerCase().includes(S));return{...g,children:w}}return g})},[a,n]),[c,d]=gr(l[0]?.id),[m,p]=gr();Xi(()=>{l.length>0?(d(l[0].id),l[0].children?p(l[0].children[0].id):p(void 0)):(d(void 0),p(void 0))},[l]);let f=l.findIndex(h=>h.id===c),u=l[f],y=gt(()=>{if(m)if(u?.children){let g=u.children.findIndex(S=>S.id===m)+1;g<u.children.length&&p(u.children[g].id)}else u?.Renderer&&p(u.Renderer.id);else{let h=f+1;h<l.length&&d(l[h].id)}},[m,f,u?.Renderer,u?.children,l]),b=gt(()=>{if(m)if(u?.children){let g=u.children.findIndex(S=>S.id===m)-1;g>=0&&p(u.children[g].id)}else u?.Renderer&&p(u.Renderer.id);else{let h=f-1;h>=0&&d(l[h].id)}},[m,f,u?.Renderer,u?.children,l]),x=gt(()=>{u?.children?p(u.children[0].id):u?.Renderer&&p(u.Renderer.id)},[u]),E=gt(()=>{p(void 0)},[]),k=gt(h=>{i(h.target.value)},[]);return Xi(()=>{let h=g=>{if(g.key==="Escape")return o();if(g.isComposing||g.key==="Process")return;let S=g.key==="ArrowDown"||g.key==="ArrowUp"||g.key==="ArrowRight"||g.key==="ArrowLeft"||g.key==="Enter";if(!(n&&g[Ui()]===!1&&!S)){if(m){let w=r.current[m];if(w?.handleKeyDown){let C=w.handleKeyDown(g);if(C===2){o();return}else if(C===0)return}}if(g.key==="ArrowDown")y();else if(g.key==="ArrowUp")b();else if(g.key==="ArrowRight")x();else if(g.key==="ArrowLeft")E();else if(g.key==="Enter"){if(g.preventDefault(),g.stopPropagation(),m){let w=u?.children?.find(C=>C.id===m);w?.handler&&w.handler()}u?.handler&&u.handler(),o()}}};return T()&&document.addEventListener("keydown",h),()=>{T()&&document.removeEventListener("keydown",h)}},[m,y,E,x,b,o,l,u,n]),V("div",{ref:e,style:{display:"flex",flexDirection:"column"},children:[L(ep,{children:L(Ym,{type:"text",size:"small",style:{width:"100%"},placeholder:s("slashMenu.searchPlaceholder"),value:n,onChange:k,autoFocus:!0,onKeyDown:h=>{h.code==="Backspace"?n===""&&(h.preventDefault(),h.stopPropagation(),o?.()):xe(h)&&(n===""||n==="/")&&(h.preventDefault(),h.stopPropagation(),o?.({insertSlash:!0}))}})}),V(tp,{children:[V(Ji,{active:!0,location:"left",children:[l.map(h=>{let g=h.id===c;return L(Zi,{onClick:()=>{d(h.id),!h.children&&!h.Renderer&&h.handler&&(h.handler(),o())},onMouseEnter:()=>{d(h.id),h.children?.length?p(h.children[0].id):h.Renderer?p(h.Renderer.id):p(void 0)},selected:g,children:V(Jm,{size:4,children:[L("i",{className:h.iconName})," ",h.title]})},h.id)}),l.length===0&&L("div",{children:L("span",{children:s("slashMenu.noResults")})})]}),u?.children||u?.Renderer?.Component?L(Ji,{active:!!m,location:"right",children:u?.Renderer?u.Renderer.Component:u?.children?.map(h=>{let g=h.id===m;return L(Zi,{selected:g,onMouseEnter:()=>{p(h.id)},onClick:()=>{p(h.id),h.handler?.(),o()},children:h.title},h.id)})}):null]}),V(Zm,{children:[V(bt,{children:[n?V(br,{children:[L("kbd",{children:hr()}),L("span",{children:" + "})]}):null,L("kbd",{"aria-label":"Up Arrow",children:V("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[L("path",{d:"m5 12 7-7 7 7"}),L("path",{d:"M12 19V5"})]})}),L("kbd",{"aria-label":"Down Arrow",children:V("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[L("path",{d:"M12 5v14"}),L("path",{d:"m19 12-7 7-7-7"})]})}),u?.children||u?.Renderer?V(br,{children:[L("kbd",{"aria-label":"Left Arrow",children:V("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[L("path",{d:"m12 19-7-7 7-7"}),L("path",{d:"M19 12H5"})]})}),L("kbd",{"aria-label":"Right Arrow",children:V("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[L("path",{d:"M5 12h14"}),L("path",{d:"m12 5 7 7-7 7"})]})})]}):null,s("slashMenu.toNavigate")]}),V(bt,{children:[n?V(br,{children:[L("kbd",{children:hr()}),L("span",{children:" + "})]}):null,L("kbd",{"aria-label":"Enter",children:V("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[L("polyline",{points:"9 10 4 15 9 20"}),L("path",{d:"M20 4v7a4 4 0 0 1-4 4H4"})]})}),s("slashMenu.toSelect")]})]})]})}),Zm=Ke.div`
1561
+ `,qm=e=>{let{commands:t,closeMenu:o,ref:r}=e,[n,i]=Gi(3),[s,a]=Gi(3);Km(r,()=>({createTable:()=>{t.createTable({rowsCount:n,columnsCount:s,withHeaderRow:!1})},handleKeyDown:d=>{let m=()=>(a(b=>b+1),0),p=()=>d.metaKey||d.ctrlKey?1:(a(b=>b-1<1?1:b-1),0),f=()=>{i(b=>b-1<1?1:b-1)},u=()=>{i(b=>b+1)},y=()=>(t.createTable({rowsCount:n,columnsCount:s}),2);if(d.key==="ArrowRight")return m();if(d.key==="ArrowLeft")return p();if(d.key==="ArrowUp")return f();if(d.key==="ArrowDown")return u();if(d.key==="Enter")return y()}}));let l=10,c=8;return ji("div",{children:[ji("span",{children:["Rows: ",n," Cols: ",s]}),Array.from({length:l}).map((d,m)=>Qi("div",{style:{display:"flex"},children:Array.from({length:c}).map((p,f)=>{let u=m<n&&f<s;return Qi(Um,{inScope:u,onClick:()=>{t.createTable({rowsCount:m,columnsCount:f,withHeaderRow:!1}),o()}},f)})},m))]})},Xi=qm;import{Fragment as yr,jsx as L,jsxs as V}from"react/jsx-runtime";var ts=Gm(({rootRef:e,commands:t,closeMenu:o})=>{let r=jm({}),[n,i]=br(""),{t:s}=Qm(),a=Ji(()=>{let g=[{title:"Text",id:"text",iconName:"ri-text",children:Array.from({length:6}).map((S,w)=>({title:`Heading ${w+1}`,id:`Heading${w+1}`,handler:()=>{t.toggleHeading({level:w+1})}}))},{title:"Table",id:"table",iconName:O.table,handler:()=>{r.current.table?.createTable()},Renderer:{id:"table",Component:L(Xi,{ref:S=>{r.current.table=S},commands:t,closeMenu:o})}},{title:"Code Block",id:"code-block",iconName:O.codeMirror,handler:()=>{t.createCodeMirror()}},{title:"Math Block",id:"math-block",iconName:O.math_block,handler:()=>{t.createMathBlock()}},{title:"Mermaid",id:"mermaid-block",iconName:O.mermaid_node,handler:()=>{t.createMermaidBlock()}},{title:"HTML Block",id:"html-block",iconName:O.html_block,handler:()=>{t.createHtmlBlock()}},{title:"Quote Block",id:"blockquote",iconName:O.blockquote,handler:()=>{t.toggleBlockquote()}},{title:"Horizontal Rule",id:"horizontal-rule",iconName:O.horizontalRule,handler:()=>{t.insertHorizontalRule()}}];return t.createAiBlock&&g.unshift({title:"AI",id:"ai",iconName:"ri-bard-line",handler:()=>{t.createAiBlock({})}}),g},[o,t]),l=Ji(()=>{if(!n.trim())return a;let h=n.toLowerCase();return a.filter(g=>!!(g.title.toLowerCase().includes(h)||g.children&&g.children.filter(w=>w.title.toLowerCase().includes(h)).length>0)).map(g=>{if(g.children&&n.trim()){let S=n.toLowerCase();if(g.title.toLowerCase().includes(S))return g;let w=g.children.filter(C=>C.title.toLowerCase().includes(S));return{...g,children:w}}return g})},[a,n]),[c,d]=br(l[0]?.id),[m,p]=br();Yi(()=>{l.length>0?(d(l[0].id),l[0].children?p(l[0].children[0].id):p(void 0)):(d(void 0),p(void 0))},[l]);let f=l.findIndex(h=>h.id===c),u=l[f],y=bt(()=>{if(m)if(u?.children){let g=u.children.findIndex(S=>S.id===m)+1;g<u.children.length&&p(u.children[g].id)}else u?.Renderer&&p(u.Renderer.id);else{let h=f+1;h<l.length&&d(l[h].id)}},[m,f,u?.Renderer,u?.children,l]),b=bt(()=>{if(m)if(u?.children){let g=u.children.findIndex(S=>S.id===m)-1;g>=0&&p(u.children[g].id)}else u?.Renderer&&p(u.Renderer.id);else{let h=f-1;h>=0&&d(l[h].id)}},[m,f,u?.Renderer,u?.children,l]),x=bt(()=>{u?.children?p(u.children[0].id):u?.Renderer&&p(u.Renderer.id)},[u]),E=bt(()=>{p(void 0)},[]),k=bt(h=>{i(h.target.value)},[]);return Yi(()=>{let h=g=>{if(g.key==="Escape")return o();if(g.isComposing||g.key==="Process")return;let S=g.key==="ArrowDown"||g.key==="ArrowUp"||g.key==="ArrowRight"||g.key==="ArrowLeft"||g.key==="Enter";if(!(n&&g[qi()]===!1&&!S)){if(m){let w=r.current[m];if(w?.handleKeyDown){let C=w.handleKeyDown(g);if(C===2){o();return}else if(C===0)return}}if(g.key==="ArrowDown")y();else if(g.key==="ArrowUp")b();else if(g.key==="ArrowRight")x();else if(g.key==="ArrowLeft")E();else if(g.key==="Enter"){if(g.preventDefault(),g.stopPropagation(),m){let w=u?.children?.find(C=>C.id===m);w?.handler&&w.handler()}u?.handler&&u.handler(),o()}}};return T()&&document.addEventListener("keydown",h),()=>{T()&&document.removeEventListener("keydown",h)}},[m,y,E,x,b,o,l,u,n]),V("div",{ref:e,style:{display:"flex",flexDirection:"column"},children:[L(ep,{children:L(Ym,{type:"text",size:"small",style:{width:"100%"},placeholder:s("slashMenu.searchPlaceholder"),value:n,onChange:k,autoFocus:!0,onKeyDown:h=>{h.code==="Backspace"?n===""&&(h.preventDefault(),h.stopPropagation(),o?.()):xe(h)&&(n===""||n==="/")&&(h.preventDefault(),h.stopPropagation(),o?.({insertSlash:!0}))}})}),V(tp,{children:[V(Zi,{active:!0,location:"left",children:[l.map(h=>{let g=h.id===c;return L(es,{onClick:()=>{d(h.id),!h.children&&!h.Renderer&&h.handler&&(h.handler(),o())},onMouseEnter:()=>{d(h.id),h.children?.length?p(h.children[0].id):h.Renderer?p(h.Renderer.id):p(void 0)},selected:g,children:V(Jm,{size:4,children:[L("i",{className:h.iconName})," ",h.title]})},h.id)}),l.length===0&&L("div",{children:L("span",{children:s("slashMenu.noResults")})})]}),u?.children||u?.Renderer?.Component?L(Zi,{active:!!m,location:"right",children:u?.Renderer?u.Renderer.Component:u?.children?.map(h=>{let g=h.id===m;return L(es,{selected:g,onMouseEnter:()=>{p(h.id)},onClick:()=>{p(h.id),h.handler?.(),o()},children:h.title},h.id)})}):null]}),V(Zm,{children:[V(yt,{children:[n?V(yr,{children:[L("kbd",{children:gr()}),L("span",{children:" + "})]}):null,L("kbd",{"aria-label":"Up Arrow",children:V("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[L("path",{d:"m5 12 7-7 7 7"}),L("path",{d:"M12 19V5"})]})}),L("kbd",{"aria-label":"Down Arrow",children:V("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[L("path",{d:"M12 5v14"}),L("path",{d:"m19 12-7 7-7-7"})]})}),u?.children||u?.Renderer?V(yr,{children:[L("kbd",{"aria-label":"Left Arrow",children:V("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[L("path",{d:"m12 19-7-7 7-7"}),L("path",{d:"M19 12H5"})]})}),L("kbd",{"aria-label":"Right Arrow",children:V("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[L("path",{d:"M5 12h14"}),L("path",{d:"m12 5 7 7-7 7"})]})})]}):null,s("slashMenu.toNavigate")]}),V(yt,{children:[n?V(yr,{children:[L("kbd",{children:gr()}),L("span",{children:" + "})]}):null,L("kbd",{"aria-label":"Enter",children:V("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[L("polyline",{points:"9 10 4 15 9 20"}),L("path",{d:"M20 4v7a4 4 0 0 1-4 4H4"})]})}),s("slashMenu.toSelect")]})]})]})}),Zm=Ke.div`
1562
1562
  display: flex;
1563
1563
  justify-content: space-between;
1564
1564
  padding: ${e=>e.theme.spaceXs};
@@ -1566,7 +1566,7 @@ var qa=Object.defineProperty;var Ga=Object.getOwnPropertyDescriptor;var M=(e,t,o
1566
1566
  border-top: 1px solid ${e=>e.theme.slashMenuBorderColor};
1567
1567
  gap: 8px;
1568
1568
  font-size: 0.85em;
1569
- `,bt=Ke.div`
1569
+ `,yt=Ke.div`
1570
1570
  display: flex;
1571
1571
  gap: 0.25rem;
1572
1572
  white-space: nowrap;
@@ -1578,7 +1578,7 @@ var qa=Object.defineProperty;var Ga=Object.getOwnPropertyDescriptor;var M=(e,t,o
1578
1578
  align-items: center;
1579
1579
  font-size: 12px;
1580
1580
  }
1581
- `,Ji=Ke.div.attrs(e=>e)`
1581
+ `,Zi=Ke.div.attrs(e=>e)`
1582
1582
  display: flex;
1583
1583
  min-width: 130px;
1584
1584
  width: 100%;
@@ -1592,7 +1592,7 @@ var qa=Object.defineProperty;var Ga=Object.getOwnPropertyDescriptor;var M=(e,t,o
1592
1592
  overflow: visible;
1593
1593
  max-height: 260px;
1594
1594
  overflow-y: auto;
1595
- `,Zi=Ke.li.attrs(e=>({...e}))`
1595
+ `,es=Ke.li.attrs(e=>({...e}))`
1596
1596
  display: flex;
1597
1597
  cursor: default;
1598
1598
  align-items: center;
@@ -1630,7 +1630,7 @@ var qa=Object.defineProperty;var Ga=Object.getOwnPropertyDescriptor;var M=(e,t,o
1630
1630
  font-size: ${e=>e.theme.fontBase};
1631
1631
  line-height: normal;
1632
1632
  z-index: 100;
1633
- `,yr=ke.div`
1633
+ `,xr=ke.div`
1634
1634
  display: flex;
1635
1635
  flex-direction: column;
1636
1636
  gap: ${e=>e.theme.spaceXs};
@@ -1638,12 +1638,12 @@ var qa=Object.defineProperty;var Ga=Object.getOwnPropertyDescriptor;var M=(e,t,o
1638
1638
  display: flex;
1639
1639
  justify-content: flex-end;
1640
1640
  gap: ${e=>e.theme.spaceXs};
1641
- `,xr=ke.label`
1641
+ `,kr=ke.label`
1642
1642
  font-size: ${e=>e.theme.fontXs};
1643
1643
  font-weight: 600;
1644
1644
  color: ${e=>e.theme.labelFontColor};
1645
1645
  margin: 0;
1646
- `,kr=ke(rp)`
1646
+ `,Cr=ke(rp)`
1647
1647
  width: 100%;
1648
1648
  font-size: ${e=>e.theme.fontSm};
1649
1649
 
@@ -1694,26 +1694,26 @@ var qa=Object.defineProperty;var Ga=Object.getOwnPropertyDescriptor;var M=(e,t,o
1694
1694
  background-color: ${e=>e.theme.hoverColor};
1695
1695
  }
1696
1696
  }
1697
- `,os=e=>{let{node:t,referInfo:o,imageHostingHandler:r}=e,{src:n,alt:i}=t.attrs,[s,a]=to(n||""),[l,c]=to(i||""),[d,m]=to(o?.label||""),[p,f]=to(!1),u=!!o,y=g=>{let S=g.currentTarget.value;a(S),f(S!==n||l!==i||d!==o?.label)},b=g=>{let S=g.currentTarget.value;c(S),f(s!==n||S!==i||d!==o?.label)},x=g=>{let S=g.currentTarget.value;m(S),f(s!==n||l!==i||S!==o?.label)},E=()=>{if(e.updateAttributes){if(u)e.updateAttributes({...t.attrs,alt:l.trim(),referInfo:{...t.attrs.referInfo,label:d.trim()}});else{let g=t.attrs.src;g&&g!==s&&r?r(g).then(S=>{S!==g&&e.updateAttributes?.({...t.attrs,src:S,alt:l.trim()})}):e.updateAttributes({...t.attrs,src:s.trim(),alt:l.trim()})}f(!1)}},k=()=>{a(n||""),c(i||""),m(o?.label||""),f(!1)},h=g=>{g.key==="Enter"&&!g.shiftKey?(g.preventDefault(),E()):g.key==="Escape"&&(g.preventDefault(),k())};return se(np,{children:[u?se(yr,{children:[j(xr,{children:"Refer Label"}),j(kr,{placeholder:"Enter reference label...",value:d,onInput:x,onKeyDown:h})]}):se(yr,{children:[j(xr,{children:"URL"}),j(kr,{placeholder:"Enter image URL...",value:s,onInput:y,onKeyDown:h})]}),se(yr,{children:[j(xr,{children:"Alt"}),j(kr,{placeholder:"Enter alternative text for accessibility...",value:l,onInput:b,onKeyDown:h})]}),se(ip,{children:[se(bt,{children:[j("kbd",{"aria-label":"Esc",children:"Esc"}),ts("slashMenu.toCancel")]}),se(bt,{children:[j("kbd",{"aria-label":"Enter",children:se("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[j("polyline",{points:"9 10 4 15 9 20"}),j("path",{d:"M20 4v7a4 4 0 0 1-4 4H4"})]})}),ts("slashMenu.toSelect")]})]})]})};import{jsx as Ce}from"react/jsx-runtime";var pp="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAAAAACIM/FCAAAChElEQVR4Ae3aMW/TQBxAcb70k91AAiGuGlZAtOlQApWaDiSdklZq2RPUTm1xUWL3PgqSpygkXlh88N54nn7S2Trd3y/CP5IQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECPmPIEKECBEiRIgQIeX82+FBO0naB4eTRRkt5P7sNWt1Rw9RQvKThI2SYR4f5OoVW2rfRAYpT6hqHc8WeVHki9mgRdWwiAmyfA9AdrlaW5tlAHxcxQMpK8feRbGxPEkrSREN5ARg/y780V0GMIwFcgXwLg9byvsAN3FA8lfAfr7jYQZ0nqKAfAb21vYVwNruSoEvMUDuE+Ai7IKECZA+RAA5A7JiN6TMgFHzIeUb4DLshoQZ0H1uPGQOvFzVQZYtYNF4yBg4DnWQMAAmjYccArN6yBQ4ajzkAFjUQ+ZAv/GQNpDXQ3Kg03hIAhT1kAJIhLi1/vJl39Ic6Mf3+a2K8PM7BgahtgEwjuKI0lqGjSI8opRdYFb3sk/jODSGEZCVuyFFDzgPzYc8JMBkN2QMpI8RQMIQ2LvdBblNgdM4Lh/aQJaHrf3sAe2nKCDhGqCfb3VEcx1UNQTItlzQ3fYAvoZYIMUHgHRSbiyPU4BPZUSX2JWEbLZcW5v2qByrmMYKxZCq1mA6z4sin08HLapOy8gGPddtttT5HuHobZiwUXr6K85h6KjLWm/PH+MdTy/GR/12knb6g8mPZ38YECJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAh0fUb5q7oCGreEVEAAAAASUVORK5CYII=";function oo(e){let{node:t,selected:o,updateAttributes:r,handleViewImgSrcUrl:n,imagePasteHandler:i,imageHostingHandler:s,view:a}=e,l=Cr(null),c=Cr(null),d=Cr(null),m=t.attrs["data-rme-from-paste"]==="true",p=a.state.doc.content.content.filter(h=>h.type.name==="reference_def"),f=cp(()=>{let h;return p.forEach(g=>{let S=g.content.content.find(v=>v.type.name==="reference_label"),w=g.content.content.find(v=>v.type.name==="reference_href"),C=g.content.content.find(v=>v.type.name==="reference_title");!S?.textContent||!t.attrs["data-refer-label"]||rs(S?.textContent)===rs(t.attrs["data-refer-label"])&&(h={href:w?.textContent||"",title:C?.textContent||"",label:S?.textContent||""})}),h},[p]),u=lp(async()=>{let h=t.attrs.src||"";if(i)try{h=await i(t.attrs.src)}catch{}r({"data-rme-from-paste":null,src:h})});ns(()=>{m&&u()},[m]);let y=h=>{c.current=h};ns(()=>{let h=g=>{d.current&&c.current&&(!g.target||!(g.target instanceof Node)||!d.current.contains(g.target))&&c.current.setOpen(!1)};if(o&&T())return document.addEventListener("mousedown",h),()=>{document.removeEventListener("mousedown",h)}},[o]);let b=ap(()=>{r({"data-rme-type":"html"})},[r]),x=Ce("span",{className:"inline-loading",children:Ce("i",{className:"inline-loading-icon ri-loader-4-line"})});if(m)return x;let E=sp(t.attrs,"data-refer-label"),k=Ce(eo,{controlInit:h=>l.current=h,onResize:b,...e,children:Ce(mp,{...E,onLoad:()=>l.current?.(),src:f?.href||t.attrs.src,loader:x,imgPromise:()=>new Promise(async(h,g)=>{let S=f?.href||t.attrs.src||"",w=f?.href||t.attrs.src||"";if(n)try{S=await n(S)}catch{}let C=v=>{let A=new Image;A.src=v,A.onload=()=>{h(v)},A.onerror=()=>{v===w?g(pp):C(w)}};C(S)}),style:{width:"100%",height:"100%"}})},`${t.attrs.src}`);return Ce("div",{ref:d,style:{position:"relative",zIndex:o?10:"auto",lineHeight:0},children:Ce(dp,{customContent:Ce(os,{node:t,referInfo:f,imageHostingHandler:s,updateAttributes:(...h)=>{r(...h),c.current?.setOpen(!1)}},`${t.attrs.src}`),boxProps:{style:{display:"inline-flex"}},placement:"top-start",onStoreChange:y,toggleOnClick:!0,style:{zIndex:11},children:k})})}import{jsx as vp}from"react/jsx-runtime";var We=class extends yp{constructor(){super(...arguments);this.ReactComponent=o=>{let{handleViewImgSrcUrl:r,imageHostingHandler:n,imagePasteHandler:i}=this.options;return vp(oo,{handleViewImgSrcUrl:r,imagePasteHandler:i,imageHostingHandler:n,...o})}}get name(){return"html_image"}createTags(){return[is.InlineNode,is.Media]}createNodeSpec(o,r){let{preferPastedTextContent:n}=this.options;return{inline:!0,selectable:!0,atom:!0,...r,attrs:{...o.defaults(),alt:{default:""},crop:{default:null},height:{default:null},width:{default:null},rotate:{default:null},src:{default:null},title:{default:""},"data-file-name":{default:null},"data-rme-loading":{default:null},"data-rme-from-paste":{default:null}},parseDOM:[{tag:"img[src]",getAttrs:i=>{if(bp(i)){let s=Ep({element:i,parse:o.parse});return n&&s.src?.startsWith("file:///")?!1:s}return{}}},...r.parseDOM??[]],toDOM:i=>{let s=kp(i.attrs,o);return["img",{...o.dom(i),...s}]}}}insertImage(o,r){return({tr:n,dispatch:i})=>{let{from:s,to:a}=hp(r??n.selection,n.doc),l=this.type.create(o);return i?.(n.replaceRangeWith(s,a,l)),!0}}createInputRules(){return Wt(this.type).map(xp)}fromMarkdown(){return[{type:6,token:"html_image",node:this.name}]}toMarkdown({state:o,node:r}){o.text(Le({tag:"img",attrs:r.attrs,voidElement:!0}),!1)}};We=M([fp({defaultOptions:{createPlaceholder:Sp,handleViewImgSrcUrl:async e=>e,updatePlaceholder:()=>{},destroyPlaceholder:()=>{},uploadHandler:Tp,imageHostingHandler:async e=>e,preferPastedTextContent:!0,defaultInlineNode:"div"},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],We);var Cp=new Set(["image/jpeg","image/gif","image/png","image/jpg","image/svg","image/webp"]);function zT(e){return Cp.has(e.type)}function wp(e){let{width:t,height:o}=e.style;return t=t||e.getAttribute("width")||"",o=o||e.getAttribute("height")||"",{width:t,height:o}}function Ep({element:e,parse:t}){let{width:o,height:r}=wp(e);return{...t(e),alt:e.getAttribute("alt")??"",height:Number.parseInt(r||"0",10)||null,src:e.getAttribute("src")??null,title:e.getAttribute("title")??"",width:Number.parseInt(o||"0",10)||null,"data-file-name":e.getAttribute("data-file-name")??null}}function Sp(){return document.createElement("div")}function Tp(e){gp(e.length>0,{code:up.EXTENSION,message:"The upload handler was applied for the image extension without any valid files"});let t=0,o=[];for(let{file:r,progress:n}of e)o.push(()=>new Promise(i=>{let s=new FileReader;s.addEventListener("load",a=>{t+=1,n(t/e.length),i({src:a.target?.result,"data-file-name":r.name})},{once:!0}),s.readAsDataURL(r)}));return o}import{ErrorConstant as Mp,extension as Pp,ExtensionTag as ss,getTextSelection as Np,invariant as Rp,isElementDomNode as Ip,isNumber as Ap,NodeExtension as Lp,nodeInputRule as _p,omitExtraAttributes as Bp}from"@rme-sdk/core";import{insertPoint as Op}from"@rme-sdk/pm/transform";import{jsx as zp}from"react/jsx-runtime";var Ue=class extends Lp{constructor(){super(...arguments);this.ReactComponent=o=>{let{handleViewImgSrcUrl:r,imageHostingHandler:n,imagePasteHandler:i}=this.options;return zp(oo,{handleViewImgSrcUrl:r,imageHostingHandler:n,imagePasteHandler:i,...o})};this.uploadImage=(o,r)=>{let{updatePlaceholder:n,destroyPlaceholder:i,createPlaceholder:s}=this.options;return a=>{let{tr:l}=a,c=l.selection.from;return this.store.createPlaceholderCommand({promise:o,placeholder:{type:"widget",get pos(){return c},createElement:(d,m)=>{let p=s(d,m);return r?.(p),p},onUpdate:(d,m,p,f)=>{n(d,m,p,f)},onDestroy:(d,m)=>{i(d,m)}},onSuccess:(d,m,p)=>this.insertMarkdownImage(d,m)(p)}).validate(({tr:d,dispatch:m})=>{let p=Op(d.doc,c,this.type);return p==null?!1:(c=p,d.selection.empty||m?.(d.deleteSelection()),!0)},"unshift").generateCommand()(a)}};this.uploadFiles=o=>{let{uploadHandler:r}=this.options;return n=>{let{tr:i}=n,s=o.pos??i.selection.from,{files:a}=o,{commands:l,chain:c}=this.store,d=a.map((p,f)=>({file:p,progress:u=>{l.updatePlaceholder(m[f],u)}})),m=r(d);Ap(s)&&c.selectText(s);for(let p of m)c.uploadImage(p);return c.run(),!0}}}get name(){return"md_image"}createTags(){return[ss.InlineNode,ss.Media]}createNodeSpec(o,r){let{preferPastedTextContent:n}=this.options;return{inline:!0,selectable:!0,atom:!0,...r,attrs:{...o.defaults(),"data-rme-type":{default:"md"},alt:{default:""},crop:{default:null},height:{default:null},width:{default:null},rotate:{default:null},src:{default:null},title:{default:""},"data-refer-label":{default:""},"data-file-name":{default:null},"data-rme-from-paste":{default:null}},parseDOM:[{tag:"img[src]",getAttrs:i=>{if(Ip(i)){let s=Dp({element:i,parse:o.parse});return n&&s.src?.startsWith("file:///")?!1:s}return{}}},...r.parseDOM??[]],toDOM:i=>{let s=Bp(i.attrs,o);return["img",{...o.dom(i),...s}]}}}insertMarkdownImage(o,r){return({tr:n,dispatch:i})=>{let{from:s,to:a}=Np(r??n.selection,n.doc),l=this.type.create(o);return i?.(n.replaceRangeWith(s,a,l)),!0}}createCommands(){return{uploadImage:this.uploadImage,uploadFiles:this.uploadFiles}}fileUploadFileHandler(o,r,n){let{preferPastedTextContent:i}=this.options;if(i&&$p(r)&&r.clipboardData?.getData("text/plain"))return!1;let{chain:s}=this.store;return s.uploadFiles({files:o,pos:n}),s.run(),!0}createPasteRules(){return[{type:"file",regexp:/image/i,fileHandler:o=>{o.event.preventDefault();let r=o.type==="drop"?o.pos:void 0;return this.fileUploadFileHandler(o.files,o.event,r)}}]}createInputRules(){return Kt(this.type).map(_p)}fromMarkdown(){return[{type:6,token:"md_image",node:this.name}]}toMarkdown({state:o,node:r}){r.attrs["data-rme-type"]==="html"?o.text(Le({tag:"img",attrs:r.attrs,voidElement:!0})):o.text(Gn(r),!1)}};Ue=M([Pp({defaultOptions:{createPlaceholder:Vp,handleViewImgSrcUrl:async e=>e,updatePlaceholder:()=>{},destroyPlaceholder:()=>{},uploadHandler:Fp,imageHostingHandler:async e=>e,preferPastedTextContent:!0,defaultInlineNode:"div"},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],Ue);function Hp(e){let{width:t,height:o}=e.style;return t=t||e.getAttribute("width")||"",o=o||e.getAttribute("height")||"",{width:t,height:o}}function Dp({element:e,parse:t}){let{width:o,height:r}=Hp(e);return{...t(e),alt:e.getAttribute("alt")??"",height:Number.parseInt(r||"0",10)||null,src:e.getAttribute("src")??null,title:e.getAttribute("title")??"",width:Number.parseInt(o||"0",10)||null,"data-file-name":e.getAttribute("data-file-name")??null}}function Vp(){return document.createElement("div")}function Fp(e){Rp(e.length>0,{code:Mp.EXTENSION,message:"The upload handler was applied for the image extension without any valid files"});let t=0,o=[];for(let{file:r,progress:n}of e)o.push(()=>new Promise(i=>{let s=new FileReader;s.addEventListener("load",a=>{t+=1,n(t/e.length),i({src:a.target?.result,"data-file-name":r.name})},{once:!0}),s.readAsDataURL(r)}));return o}function $p(e){return e.clipboardData!==void 0}import{isTextSelection as Nu,PlainExtension as Ru}from"@rme-sdk/core";import{Decoration as Iu,DecorationSet as Au}from"@rme-sdk/pm/view";import{MarkExtension as K,extension as vu}from"@rme-sdk/core";function wr(e){return Kp(e)||Wp(e)?Up(e):e}function Kp(e){return e.startsWith("/")}function Wp(e){return e.startsWith("\\")||/^[A-Z]{1,2}:/.test(e)}function Up(e){let t=e;return t=t.replace(/\\/g,"/"),t[0]!=="/"&&(t=`/${t}`),encodeURI(`file://${t}`).replace(/[?#]/g,encodeURIComponent)}import{TextSelection as Cu}from"@rme-sdk/pm/state";import{Transform as yu}from"@rme-sdk/pm/transform";import{Fragment as jp,Mark as Qp,NodeRange as Xp,Slice as Yp}from"@rme-sdk/pm/model";import{Step as ls,StepResult as Jp}from"@rme-sdk/pm/transform";import{Step as as,StepMap as qp,StepResult as Gp}from"@rme-sdk/pm/transform";var yt=class e extends as{constructor(o){super();this.doc=o}apply(o){return Gp.ok(o)}getMap(){return qp.empty}invert(o){return new e(o)}map(){return null}merge(o){return null}toJSON(){return{stepType:"replaceDoc",doc:this.doc.toJSON()}}static fromJSON(o,r){let n=o.nodeFromJSON(r.doc);return new e(n)}};try{as.jsonID("replaceDoc",yt)}catch{}var qe=class e extends ls{constructor(o){if(o.length===0)throw new RangeError("BatchSetMarkStep: at least one chunk is required");let r=0;for(let[n,i]of o){if(r>n||n>i)throw new RangeError("BatchSetMarkStep: chunks must be sorted");r=i}super();this.chunks=o}apply(o){let r=this.chunks,n=r[0][0],i=r[r.length-1][1],s=o.resolve(n),a=o.resolve(i),l=s.sharedDepth(i),{start:c,parent:d}=new Xp(s,a,l),m=o.slice(c,i),p=0,f,u,y,b,x,E,k,h,g,S,w=cs(m.content,c,d,(C,v,A)=>{g=C;let R=[];for(;g&&p<r.length;){if(f=A+g.nodeSize,[u,y,k]=r[p],u>=y){p++;continue}if(u>=f){R.push(g);break}if(A>=y){p++;continue}b=Math.max(u,A),x=Math.min(y,f),b>A&&(R.push(g.cut(0,b-A)),g=g.cut(b-A),A=b),x<f&&([g,S]=[g.cut(0,x-A),g.cut(x-A)],f=x),h=g.marks;for(E of h)E.isInSet(k)||(h=E.removeFromSet(h));for(E of k)!E.isInSet(h)&&v?.type.allowsMarkType(E.type)&&(h=E.addToSet(h));g=g.mark(h),R.push(g),A+=g.nodeSize,g=S,S=null}return R});return Jp.fromReplace(o,c,i,new Yp(w,m.openStart,m.openEnd))}invert(o){return new yt(o)}map(){return null}merge(){return null}toJSON(){return{stepType:"batchSetMark",chunks:this.chunks.map(r=>[r[0],r[1],r[2].map(n=>n.toJSON())])}}static fromJSON(o,r){return new e(r.chunks.map(n=>[n[0],n[1],n[2].map(i=>Qp.fromJSON(o,i))]))}};try{ls.jsonID("batchSetMark",qe)}catch{}function cs(e,t,o,r){let n=[],i=t;for(let s=0;s<e.childCount;s++){let a=e.child(s);a.content.size&&(a=a.copy(cs(a.content,i+(a.isLeaf?0:1),a,r))),a.isInline?n.push(...r(a,o,i)):n.push(a),i+=a.nodeSize}return jp.fromArray(n)}function*Er(e){let t=e.content;for(let o=0,r=0;o<t.childCount;o++){let n=t.child(o);yield[n,r,o],r+=n.nodeSize}}function*ds(e){let t=e.start+1;for(let[o,,r]of Er(e.parent))if(!(r<e.startIndex)){if(r>=e.endIndex)break;yield[o,t],t+=o.nodeSize}}import Zp from"lodash";import{fromMarkdown as eu}from"mdast-util-from-markdown";import{gfmAutolinkLiteralFromMarkdown as ms}from"mdast-util-gfm-autolink-literal";import{gfmStrikethroughFromMarkdown as tu}from"mdast-util-gfm-strikethrough";import{gfmAutolinkLiteral as ou}from"micromark-extension-gfm-autolink-literal";import{gfmStrikethrough as ru}from"micromark-extension-gfm-strikethrough";var{cloneDeep:kv}=Zp;ms.transforms=[];function nu(e){return e.length<=1?e:e.includes("mdMark")?["mdMark"]:e.includes("mdCodeText")?["mdCodeText"]:e.includes("mdText")?e.filter(t=>t!=="mdText"):e}function iu(e,t){return[{marks:["mdText"],attrs:{depth:t,first:!0,last:!0},start:e.position.start.offset,end:e.position.end.offset}]}function su(e,t,o){let r=[{marks:["mdMark"],attrs:{depth:t,first:!0},start:e.position.start.offset,end:e.position.start.offset+2}];for(let n of e.children)for(let i of Ge(n,t+1,o))i.marks.push("mdStrong"),r.push(i);return r.push({marks:["mdMark"],attrs:{depth:t,last:!0},start:e.position.end.offset-2,end:e.position.end.offset}),r}function au(e,t,o){let r=[{marks:["mdMark"],attrs:{depth:t,first:!0},start:e.position.start.offset,end:e.position.start.offset+1}];for(let n of e.children)for(let i of Ge(n,t+1,o))i.marks.push("mdEm"),r.push(i);return r.push({marks:["mdMark"],attrs:{depth:t,last:!0},start:e.position.end.offset-1,end:e.position.end.offset}),r}function lu(e,t,o){let r=[{marks:["mdMark"],attrs:{depth:t,first:!0},start:e.position.start.offset,end:e.position.start.offset+2}];for(let n of e.children)for(let i of Ge(n,t+1,o))i.marks.push("mdDel"),r.push(i);return r.push({marks:["mdMark"],attrs:{depth:t,last:!0},start:e.position.end.offset-2,end:e.position.end.offset}),r}function cu(e,t){return[{marks:["mdMark"],attrs:{depth:t,first:!0},start:e.position.start.offset,end:e.position.start.offset+1},{marks:["mdCodeText"],attrs:{depth:t},start:e.position.start.offset+1,end:e.position.end.offset-1},{marks:["mdMark"],attrs:{depth:t,last:!0},start:e.position.end.offset-1,end:e.position.end.offset}]}function du(e,t){return[{marks:["mdLinkText"],attrs:{depth:t,first:!0,last:!0,href:e.url},start:e.position.start.offset,end:e.position.end.offset}]}function mu(e,t,o){let r=e.position.start.offset,n=e.position.end.offset,i=0;if(o){let c=0;o.forEach(d=>{re.includes(d.type.name)&&r<=c&&c<n&&i++,c+=d.nodeSize})}if(e.children.length===0)return[{marks:[i>0?"mdMark":"mdText"],attrs:{depth:t,first:!0,last:!1,ignoreWhenCopy:!0,linkHref:e.url},start:e.position.start.offset,end:e.position.start.offset+2},{marks:[i>0?"mdMark":"mdText"],attrs:{depth:t,first:!1,last:!0,ignoreWhenCopy:!0,linkHref:e.url},start:e.position.start.offset+2,end:n}];let s=e.children[0].position.start.offset,a=e.children[e.children.length-1].position.end.offset;if(i>0&&(a+=i),r===s&&n===a)return du(e,t);let l=[{marks:["mdMark"],attrs:{depth:t,first:!0,ignoreWhenCopy:!0},start:e.position.start.offset,end:e.position.start.offset+1}];for(let c of e.children)for(let d of Ge(c,t+1,o))d.marks.push("mdLinkText"),d.attrs.href=e.url,l.push(d);return a+2<n&&l.push({marks:["mdMark"],attrs:{depth:t,ignoreWhenCopy:!0},start:a,end:a+2},{marks:["mdLinkUri"],attrs:{depth:t,ignoreWhenCopy:!0},start:a+2,end:n-1}),l.push({marks:["mdMark"],attrs:{depth:t,last:!0,ignoreWhenCopy:!0},start:n-1,end:n}),l}function pu(e,t,o){let r=e.position.start.offset,n=e.position.end.offset,i=0;if(o){let c=0;o.forEach(d=>{re.includes(d.type.name)&&r<=c&&c<n&&i++,c+=d.nodeSize})}if(e.children.length===0)return[{marks:[i>0?"mdMark":"mdText"],attrs:{depth:t,first:!0,last:!1,ignoreWhenCopy:!0},start:e.position.start.offset,end:e.position.start.offset+2},{marks:[i>0?"mdMark":"mdText"],attrs:{depth:t,first:!1,last:!0,ignoreWhenCopy:!0},start:e.position.start.offset+2,end:n}];let s=e.children[0].position.start.offset,a=e.children[e.children.length-1].position.end.offset;i>0&&(a+=i);let l=[{marks:["mdMark"],attrs:{depth:t,first:!0,ignoreWhenCopy:!0},start:e.position.start.offset,end:e.position.start.offset+1}];for(let c of e.children)for(let d of Ge(c,t+1,o))d.marks.push("mdLinkText"),l.push(d);return a+2<n&&l.push({marks:["mdMark"],attrs:{depth:t,ignoreWhenCopy:!0},start:a,end:a+2},{marks:["mdLinkUri"],attrs:{depth:t,ignoreWhenCopy:!0},start:a+2,end:n-1}),l.push({marks:["mdMark"],attrs:{depth:t,last:!0,ignoreWhenCopy:!0},start:n-1,end:n}),l}function Ge(e,t,o){switch(e.type){case"text":return iu(e,t);case"strong":return su(e,t,o);case"emphasis":return au(e,t,o);case"delete":return lu(e,t,o);case"inlineCode":return cu(e,t);case"html":return[];case"break":return[];case"image":return[];case"imageReference":return[];case"footnote":return[];case"footnoteReference":return[];case"link":return mu(e,t,o);case"linkReference":return pu(e,t,o);default:return console.warn("unknow mdast token:",e),[]}}var uu={delete:!0,text:!0,emphasis:!0,strong:!0,html:!0,inlineCode:!0,break:!0,image:!0,imageReference:!0,footnote:!0,footnoteReference:!0,link:!0,linkReference:!0},fu={extensions:[{disable:{null:["blockQuote","characterEscape","codeFenced","codeIndented","headingAtx","htmlFlow","htmlText","list","thematicBreak","image"]}},ru({singleTilde:!1}),ou],mdastExtensions:[tu,ms]};function hu(e){try{let t=eu(e,fu);if(t.children.length===0)return[];let o=t.children[0];if(o.type!=="paragraph")throw Error(`unknow child type ${o.type}`);for(let r of o.children)if(!uu[r.type])throw Error(`got unknow phrasingContent token: ${JSON.stringify(r)}`);return o.children}catch(t){console.warn(`failed to parse inline markdown text ${JSON.stringify(e)}: ${t}`)}return[]}function gu(e){for(let t of e)t.end-t.start!==0&&(t.marks=nu(t.marks));return e}function bu(e,t,o=1){let r=[];for(let n of e)r=r.concat(Ge(n,o,t));return gu(r)}function ps(e,t,o){let n=e.doc.content.content.filter(a=>a.type?.name==="reference_def").map(a=>`[${a.attrs.label}]: ${a.attrs.href}${a.attrs.title?` "${a.attrs.title}"`:""}`).join(`
1697
+ `,rs=e=>{let{node:t,referInfo:o,imageHostingHandler:r}=e,{src:n,alt:i}=t.attrs,[s,a]=oo(n||""),[l,c]=oo(i||""),[d,m]=oo(o?.label||""),[p,f]=oo(!1),u=!!o,y=g=>{let S=g.currentTarget.value;a(S),f(S!==n||l!==i||d!==o?.label)},b=g=>{let S=g.currentTarget.value;c(S),f(s!==n||S!==i||d!==o?.label)},x=g=>{let S=g.currentTarget.value;m(S),f(s!==n||l!==i||S!==o?.label)},E=()=>{if(e.updateAttributes){if(u)e.updateAttributes({...t.attrs,alt:l.trim(),referInfo:{...t.attrs.referInfo,label:d.trim()}});else{let g=t.attrs.src;g&&g!==s&&r?r(g).then(S=>{S!==g&&e.updateAttributes?.({...t.attrs,src:S,alt:l.trim()})}):e.updateAttributes({...t.attrs,src:s.trim(),alt:l.trim()})}f(!1)}},k=()=>{a(n||""),c(i||""),m(o?.label||""),f(!1)},h=g=>{g.key==="Enter"&&!g.shiftKey?(g.preventDefault(),E()):g.key==="Escape"&&(g.preventDefault(),k())};return se(np,{children:[u?se(xr,{children:[j(kr,{children:"Refer Label"}),j(Cr,{placeholder:"Enter reference label...",value:d,onInput:x,onKeyDown:h})]}):se(xr,{children:[j(kr,{children:"URL"}),j(Cr,{placeholder:"Enter image URL...",value:s,onInput:y,onKeyDown:h})]}),se(xr,{children:[j(kr,{children:"Alt"}),j(Cr,{placeholder:"Enter alternative text for accessibility...",value:l,onInput:b,onKeyDown:h})]}),se(ip,{children:[se(yt,{children:[j("kbd",{"aria-label":"Esc",children:"Esc"}),os("slashMenu.toCancel")]}),se(yt,{children:[j("kbd",{"aria-label":"Enter",children:se("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[j("polyline",{points:"9 10 4 15 9 20"}),j("path",{d:"M20 4v7a4 4 0 0 1-4 4H4"})]})}),os("slashMenu.toSelect")]})]})]})};import{jsx as Ce}from"react/jsx-runtime";var pp="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAAAAACIM/FCAAAChElEQVR4Ae3aMW/TQBxAcb70k91AAiGuGlZAtOlQApWaDiSdklZq2RPUTm1xUWL3PgqSpygkXlh88N54nn7S2Trd3y/CP5IQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECPmPIEKECBEiRIgQIeX82+FBO0naB4eTRRkt5P7sNWt1Rw9RQvKThI2SYR4f5OoVW2rfRAYpT6hqHc8WeVHki9mgRdWwiAmyfA9AdrlaW5tlAHxcxQMpK8feRbGxPEkrSREN5ARg/y780V0GMIwFcgXwLg9byvsAN3FA8lfAfr7jYQZ0nqKAfAb21vYVwNruSoEvMUDuE+Ai7IKECZA+RAA5A7JiN6TMgFHzIeUb4DLshoQZ0H1uPGQOvFzVQZYtYNF4yBg4DnWQMAAmjYccArN6yBQ4ajzkAFjUQ+ZAv/GQNpDXQ3Kg03hIAhT1kAJIhLi1/vJl39Ic6Mf3+a2K8PM7BgahtgEwjuKI0lqGjSI8opRdYFb3sk/jODSGEZCVuyFFDzgPzYc8JMBkN2QMpI8RQMIQ2LvdBblNgdM4Lh/aQJaHrf3sAe2nKCDhGqCfb3VEcx1UNQTItlzQ3fYAvoZYIMUHgHRSbiyPU4BPZUSX2JWEbLZcW5v2qByrmMYKxZCq1mA6z4sin08HLapOy8gGPddtttT5HuHobZiwUXr6K85h6KjLWm/PH+MdTy/GR/12knb6g8mPZ38YECJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAh0fUb5q7oCGreEVEAAAAASUVORK5CYII=";function ro(e){let{node:t,selected:o,updateAttributes:r,handleViewImgSrcUrl:n,imagePasteHandler:i,imageHostingHandler:s,view:a}=e,l=wr(null),c=wr(null),d=wr(null),m=t.attrs["data-rme-from-paste"]==="true",p=a.state.doc.content.content.filter(h=>h.type.name==="reference_def"),f=cp(()=>{let h;return p.forEach(g=>{let S=g.content.content.find(v=>v.type.name==="reference_label"),w=g.content.content.find(v=>v.type.name==="reference_href"),C=g.content.content.find(v=>v.type.name==="reference_title");!S?.textContent||!t.attrs["data-refer-label"]||ns(S?.textContent)===ns(t.attrs["data-refer-label"])&&(h={href:w?.textContent||"",title:C?.textContent||"",label:S?.textContent||""})}),h},[p]),u=lp(async()=>{let h=t.attrs.src||"";if(i)try{h=await i(t.attrs.src)}catch{}r({"data-rme-from-paste":null,src:h})});is(()=>{m&&u()},[m]);let y=h=>{c.current=h};is(()=>{let h=g=>{d.current&&c.current&&(!g.target||!(g.target instanceof Node)||!d.current.contains(g.target))&&c.current.setOpen(!1)};if(o&&T())return document.addEventListener("mousedown",h),()=>{document.removeEventListener("mousedown",h)}},[o]);let b=ap(()=>{r({"data-rme-type":"html"})},[r]),x=Ce("span",{className:"inline-loading",children:Ce("i",{className:"inline-loading-icon ri-loader-4-line"})});if(m)return x;let E=sp(t.attrs,"data-refer-label"),k=Ce(to,{controlInit:h=>l.current=h,onResize:b,...e,children:Ce(mp,{...E,onLoad:()=>l.current?.(),src:f?.href||t.attrs.src,loader:x,imgPromise:()=>new Promise(async(h,g)=>{let S=f?.href||t.attrs.src||"",w=f?.href||t.attrs.src||"";if(n)try{S=await n(S)}catch{}let C=v=>{let A=new Image;A.src=v,A.onload=()=>{h(v)},A.onerror=()=>{v===w?g(pp):C(w)}};C(S)}),style:{width:"100%",height:"100%"}})},`${t.attrs.src}`);return Ce("div",{ref:d,style:{position:"relative",zIndex:o?10:"auto",lineHeight:0},children:Ce(dp,{customContent:Ce(rs,{node:t,referInfo:f,imageHostingHandler:s,updateAttributes:(...h)=>{r(...h),c.current?.setOpen(!1)}},`${t.attrs.src}`),boxProps:{style:{display:"inline-flex"}},placement:"top-start",onStoreChange:y,toggleOnClick:!0,style:{zIndex:11},children:k})})}import{jsx as vp}from"react/jsx-runtime";var We=class extends yp{constructor(){super(...arguments);this.ReactComponent=o=>{let{handleViewImgSrcUrl:r,imageHostingHandler:n,imagePasteHandler:i}=this.options;return vp(ro,{handleViewImgSrcUrl:r,imagePasteHandler:i,imageHostingHandler:n,...o})}}get name(){return"html_image"}createTags(){return[ss.InlineNode,ss.Media]}createNodeSpec(o,r){let{preferPastedTextContent:n}=this.options;return{inline:!0,selectable:!0,atom:!0,...r,attrs:{...o.defaults(),alt:{default:""},crop:{default:null},height:{default:null},width:{default:null},rotate:{default:null},src:{default:null},title:{default:""},"data-file-name":{default:null},"data-rme-loading":{default:null},"data-rme-from-paste":{default:null}},parseDOM:[{tag:"img[src]",getAttrs:i=>{if(bp(i)){let s=Ep({element:i,parse:o.parse});return n&&s.src?.startsWith("file:///")?!1:s}return{}}},...r.parseDOM??[]],toDOM:i=>{let s=kp(i.attrs,o);return["img",{...o.dom(i),...s}]}}}insertImage(o,r){return({tr:n,dispatch:i})=>{let{from:s,to:a}=hp(r??n.selection,n.doc),l=this.type.create(o);return i?.(n.replaceRangeWith(s,a,l)),!0}}createInputRules(){return Ut(this.type).map(xp)}fromMarkdown(){return[{type:6,token:"html_image",node:this.name}]}toMarkdown({state:o,node:r}){o.text(Le({tag:"img",attrs:r.attrs,voidElement:!0}),!1)}};We=M([fp({defaultOptions:{createPlaceholder:Sp,handleViewImgSrcUrl:async e=>e,updatePlaceholder:()=>{},destroyPlaceholder:()=>{},uploadHandler:Tp,imageHostingHandler:async e=>e,preferPastedTextContent:!0,defaultInlineNode:"div"},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],We);var Cp=new Set(["image/jpeg","image/gif","image/png","image/jpg","image/svg","image/webp"]);function zT(e){return Cp.has(e.type)}function wp(e){let{width:t,height:o}=e.style;return t=t||e.getAttribute("width")||"",o=o||e.getAttribute("height")||"",{width:t,height:o}}function Ep({element:e,parse:t}){let{width:o,height:r}=wp(e);return{...t(e),alt:e.getAttribute("alt")??"",height:Number.parseInt(r||"0",10)||null,src:e.getAttribute("src")??null,title:e.getAttribute("title")??"",width:Number.parseInt(o||"0",10)||null,"data-file-name":e.getAttribute("data-file-name")??null}}function Sp(){return document.createElement("div")}function Tp(e){gp(e.length>0,{code:up.EXTENSION,message:"The upload handler was applied for the image extension without any valid files"});let t=0,o=[];for(let{file:r,progress:n}of e)o.push(()=>new Promise(i=>{let s=new FileReader;s.addEventListener("load",a=>{t+=1,n(t/e.length),i({src:a.target?.result,"data-file-name":r.name})},{once:!0}),s.readAsDataURL(r)}));return o}import{ErrorConstant as Mp,extension as Pp,ExtensionTag as as,getTextSelection as Np,invariant as Rp,isElementDomNode as Ip,isNumber as Ap,NodeExtension as Lp,nodeInputRule as _p,omitExtraAttributes as Bp}from"@rme-sdk/core";import{insertPoint as Op}from"@rme-sdk/pm/transform";import{jsx as zp}from"react/jsx-runtime";var Ue=class extends Lp{constructor(){super(...arguments);this.ReactComponent=o=>{let{handleViewImgSrcUrl:r,imageHostingHandler:n,imagePasteHandler:i}=this.options;return zp(ro,{handleViewImgSrcUrl:r,imageHostingHandler:n,imagePasteHandler:i,...o})};this.uploadImage=(o,r)=>{let{updatePlaceholder:n,destroyPlaceholder:i,createPlaceholder:s}=this.options;return a=>{let{tr:l}=a,c=l.selection.from;return this.store.createPlaceholderCommand({promise:o,placeholder:{type:"widget",get pos(){return c},createElement:(d,m)=>{let p=s(d,m);return r?.(p),p},onUpdate:(d,m,p,f)=>{n(d,m,p,f)},onDestroy:(d,m)=>{i(d,m)}},onSuccess:(d,m,p)=>this.insertMarkdownImage(d,m)(p)}).validate(({tr:d,dispatch:m})=>{let p=Op(d.doc,c,this.type);return p==null?!1:(c=p,d.selection.empty||m?.(d.deleteSelection()),!0)},"unshift").generateCommand()(a)}};this.uploadFiles=o=>{let{uploadHandler:r}=this.options;return n=>{let{tr:i}=n,s=o.pos??i.selection.from,{files:a}=o,{commands:l,chain:c}=this.store,d=a.map((p,f)=>({file:p,progress:u=>{l.updatePlaceholder(m[f],u)}})),m=r(d);Ap(s)&&c.selectText(s);for(let p of m)c.uploadImage(p);return c.run(),!0}}}get name(){return"md_image"}createTags(){return[as.InlineNode,as.Media]}createNodeSpec(o,r){let{preferPastedTextContent:n}=this.options;return{inline:!0,selectable:!0,atom:!0,...r,attrs:{...o.defaults(),"data-rme-type":{default:"md"},alt:{default:""},crop:{default:null},height:{default:null},width:{default:null},rotate:{default:null},src:{default:null},title:{default:""},"data-refer-label":{default:""},"data-file-name":{default:null},"data-rme-from-paste":{default:null}},parseDOM:[{tag:"img[src]",getAttrs:i=>{if(Ip(i)){let s=Dp({element:i,parse:o.parse});return n&&s.src?.startsWith("file:///")?!1:s}return{}}},...r.parseDOM??[]],toDOM:i=>{let s=Bp(i.attrs,o);return["img",{...o.dom(i),...s}]}}}insertMarkdownImage(o,r){return({tr:n,dispatch:i})=>{let{from:s,to:a}=Np(r??n.selection,n.doc),l=this.type.create(o);return i?.(n.replaceRangeWith(s,a,l)),!0}}createCommands(){return{uploadImage:this.uploadImage,uploadFiles:this.uploadFiles}}fileUploadFileHandler(o,r,n){let{preferPastedTextContent:i}=this.options;if(i&&$p(r)&&r.clipboardData?.getData("text/plain"))return!1;let{chain:s}=this.store;return s.uploadFiles({files:o,pos:n}),s.run(),!0}createPasteRules(){return[{type:"file",regexp:/image/i,fileHandler:o=>{o.event.preventDefault();let r=o.type==="drop"?o.pos:void 0;return this.fileUploadFileHandler(o.files,o.event,r)}}]}createInputRules(){return Wt(this.type).map(_p)}fromMarkdown(){return[{type:6,token:"md_image",node:this.name}]}toMarkdown({state:o,node:r}){r.attrs["data-rme-type"]==="html"?o.text(Le({tag:"img",attrs:r.attrs,voidElement:!0})):o.text(jn(r),!1)}};Ue=M([Pp({defaultOptions:{createPlaceholder:Vp,handleViewImgSrcUrl:async e=>e,updatePlaceholder:()=>{},destroyPlaceholder:()=>{},uploadHandler:Fp,imageHostingHandler:async e=>e,preferPastedTextContent:!0,defaultInlineNode:"div"},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],Ue);function Hp(e){let{width:t,height:o}=e.style;return t=t||e.getAttribute("width")||"",o=o||e.getAttribute("height")||"",{width:t,height:o}}function Dp({element:e,parse:t}){let{width:o,height:r}=Hp(e);return{...t(e),alt:e.getAttribute("alt")??"",height:Number.parseInt(r||"0",10)||null,src:e.getAttribute("src")??null,title:e.getAttribute("title")??"",width:Number.parseInt(o||"0",10)||null,"data-file-name":e.getAttribute("data-file-name")??null}}function Vp(){return document.createElement("div")}function Fp(e){Rp(e.length>0,{code:Mp.EXTENSION,message:"The upload handler was applied for the image extension without any valid files"});let t=0,o=[];for(let{file:r,progress:n}of e)o.push(()=>new Promise(i=>{let s=new FileReader;s.addEventListener("load",a=>{t+=1,n(t/e.length),i({src:a.target?.result,"data-file-name":r.name})},{once:!0}),s.readAsDataURL(r)}));return o}function $p(e){return e.clipboardData!==void 0}import{isTextSelection as Nu,PlainExtension as Ru}from"@rme-sdk/core";import{Decoration as Iu,DecorationSet as Au}from"@rme-sdk/pm/view";import{MarkExtension as K,extension as vu}from"@rme-sdk/core";function Er(e){return Kp(e)||Wp(e)?Up(e):e}function Kp(e){return e.startsWith("/")}function Wp(e){return e.startsWith("\\")||/^[A-Z]{1,2}:/.test(e)}function Up(e){let t=e;return t=t.replace(/\\/g,"/"),t[0]!=="/"&&(t=`/${t}`),encodeURI(`file://${t}`).replace(/[?#]/g,encodeURIComponent)}import{TextSelection as Cu}from"@rme-sdk/pm/state";import{Transform as yu}from"@rme-sdk/pm/transform";import{Fragment as jp,Mark as Qp,NodeRange as Xp,Slice as Yp}from"@rme-sdk/pm/model";import{Step as cs,StepResult as Jp}from"@rme-sdk/pm/transform";import{Step as ls,StepMap as qp,StepResult as Gp}from"@rme-sdk/pm/transform";var xt=class e extends ls{constructor(o){super();this.doc=o}apply(o){return Gp.ok(o)}getMap(){return qp.empty}invert(o){return new e(o)}map(){return null}merge(o){return null}toJSON(){return{stepType:"replaceDoc",doc:this.doc.toJSON()}}static fromJSON(o,r){let n=o.nodeFromJSON(r.doc);return new e(n)}};try{ls.jsonID("replaceDoc",xt)}catch{}var qe=class e extends cs{constructor(o){if(o.length===0)throw new RangeError("BatchSetMarkStep: at least one chunk is required");let r=0;for(let[n,i]of o){if(r>n||n>i)throw new RangeError("BatchSetMarkStep: chunks must be sorted");r=i}super();this.chunks=o}apply(o){let r=this.chunks,n=r[0][0],i=r[r.length-1][1],s=o.resolve(n),a=o.resolve(i),l=s.sharedDepth(i),{start:c,parent:d}=new Xp(s,a,l),m=o.slice(c,i),p=0,f,u,y,b,x,E,k,h,g,S,w=ds(m.content,c,d,(C,v,A)=>{g=C;let R=[];for(;g&&p<r.length;){if(f=A+g.nodeSize,[u,y,k]=r[p],u>=y){p++;continue}if(u>=f){R.push(g);break}if(A>=y){p++;continue}b=Math.max(u,A),x=Math.min(y,f),b>A&&(R.push(g.cut(0,b-A)),g=g.cut(b-A),A=b),x<f&&([g,S]=[g.cut(0,x-A),g.cut(x-A)],f=x),h=g.marks;for(E of h)E.isInSet(k)||(h=E.removeFromSet(h));for(E of k)!E.isInSet(h)&&v?.type.allowsMarkType(E.type)&&(h=E.addToSet(h));g=g.mark(h),R.push(g),A+=g.nodeSize,g=S,S=null}return R});return Jp.fromReplace(o,c,i,new Yp(w,m.openStart,m.openEnd))}invert(o){return new xt(o)}map(){return null}merge(){return null}toJSON(){return{stepType:"batchSetMark",chunks:this.chunks.map(r=>[r[0],r[1],r[2].map(n=>n.toJSON())])}}static fromJSON(o,r){return new e(r.chunks.map(n=>[n[0],n[1],n[2].map(i=>Qp.fromJSON(o,i))]))}};try{cs.jsonID("batchSetMark",qe)}catch{}function ds(e,t,o,r){let n=[],i=t;for(let s=0;s<e.childCount;s++){let a=e.child(s);a.content.size&&(a=a.copy(ds(a.content,i+(a.isLeaf?0:1),a,r))),a.isInline?n.push(...r(a,o,i)):n.push(a),i+=a.nodeSize}return jp.fromArray(n)}function*Sr(e){let t=e.content;for(let o=0,r=0;o<t.childCount;o++){let n=t.child(o);yield[n,r,o],r+=n.nodeSize}}function*ms(e){let t=e.start+1;for(let[o,,r]of Sr(e.parent))if(!(r<e.startIndex)){if(r>=e.endIndex)break;yield[o,t],t+=o.nodeSize}}import Zp from"lodash";import{fromMarkdown as eu}from"mdast-util-from-markdown";import{gfmAutolinkLiteralFromMarkdown as ps}from"mdast-util-gfm-autolink-literal";import{gfmStrikethroughFromMarkdown as tu}from"mdast-util-gfm-strikethrough";import{gfmAutolinkLiteral as ou}from"micromark-extension-gfm-autolink-literal";import{gfmStrikethrough as ru}from"micromark-extension-gfm-strikethrough";var{cloneDeep:kv}=Zp;ps.transforms=[];function nu(e){return e.length<=1?e:e.includes("mdMark")?["mdMark"]:e.includes("mdCodeText")?["mdCodeText"]:e.includes("mdText")?e.filter(t=>t!=="mdText"):e}function iu(e,t){return[{marks:["mdText"],attrs:{depth:t,first:!0,last:!0},start:e.position.start.offset,end:e.position.end.offset}]}function su(e,t,o){let r=[{marks:["mdMark"],attrs:{depth:t,first:!0},start:e.position.start.offset,end:e.position.start.offset+2}];for(let n of e.children)for(let i of Ge(n,t+1,o))i.marks.push("mdStrong"),r.push(i);return r.push({marks:["mdMark"],attrs:{depth:t,last:!0},start:e.position.end.offset-2,end:e.position.end.offset}),r}function au(e,t,o){let r=[{marks:["mdMark"],attrs:{depth:t,first:!0},start:e.position.start.offset,end:e.position.start.offset+1}];for(let n of e.children)for(let i of Ge(n,t+1,o))i.marks.push("mdEm"),r.push(i);return r.push({marks:["mdMark"],attrs:{depth:t,last:!0},start:e.position.end.offset-1,end:e.position.end.offset}),r}function lu(e,t,o){let r=[{marks:["mdMark"],attrs:{depth:t,first:!0},start:e.position.start.offset,end:e.position.start.offset+2}];for(let n of e.children)for(let i of Ge(n,t+1,o))i.marks.push("mdDel"),r.push(i);return r.push({marks:["mdMark"],attrs:{depth:t,last:!0},start:e.position.end.offset-2,end:e.position.end.offset}),r}function cu(e,t){return[{marks:["mdMark"],attrs:{depth:t,first:!0},start:e.position.start.offset,end:e.position.start.offset+1},{marks:["mdCodeText"],attrs:{depth:t},start:e.position.start.offset+1,end:e.position.end.offset-1},{marks:["mdMark"],attrs:{depth:t,last:!0},start:e.position.end.offset-1,end:e.position.end.offset}]}function du(e,t){return[{marks:["mdLinkText"],attrs:{depth:t,first:!0,last:!0,href:e.url},start:e.position.start.offset,end:e.position.end.offset}]}function mu(e,t,o){let r=e.position.start.offset,n=e.position.end.offset,i=0;if(o){let c=0;o.forEach(d=>{re.includes(d.type.name)&&r<=c&&c<n&&i++,c+=d.nodeSize})}if(e.children.length===0)return[{marks:[i>0?"mdMark":"mdText"],attrs:{depth:t,first:!0,last:!1,ignoreWhenCopy:!0,linkHref:e.url},start:e.position.start.offset,end:e.position.start.offset+2},{marks:[i>0?"mdMark":"mdText"],attrs:{depth:t,first:!1,last:!0,ignoreWhenCopy:!0,linkHref:e.url},start:e.position.start.offset+2,end:n}];let s=e.children[0].position.start.offset,a=e.children[e.children.length-1].position.end.offset;if(i>0&&(a+=i),r===s&&n===a)return du(e,t);let l=[{marks:["mdMark"],attrs:{depth:t,first:!0,ignoreWhenCopy:!0},start:e.position.start.offset,end:e.position.start.offset+1}];for(let c of e.children)for(let d of Ge(c,t+1,o))d.marks.push("mdLinkText"),d.attrs.href=e.url,l.push(d);return a+2<n&&l.push({marks:["mdMark"],attrs:{depth:t,ignoreWhenCopy:!0},start:a,end:a+2},{marks:["mdLinkUri"],attrs:{depth:t,ignoreWhenCopy:!0},start:a+2,end:n-1}),l.push({marks:["mdMark"],attrs:{depth:t,last:!0,ignoreWhenCopy:!0},start:n-1,end:n}),l}function pu(e,t,o){let r=e.position.start.offset,n=e.position.end.offset,i=0;if(o){let c=0;o.forEach(d=>{re.includes(d.type.name)&&r<=c&&c<n&&i++,c+=d.nodeSize})}if(e.children.length===0)return[{marks:[i>0?"mdMark":"mdText"],attrs:{depth:t,first:!0,last:!1,ignoreWhenCopy:!0},start:e.position.start.offset,end:e.position.start.offset+2},{marks:[i>0?"mdMark":"mdText"],attrs:{depth:t,first:!1,last:!0,ignoreWhenCopy:!0},start:e.position.start.offset+2,end:n}];let s=e.children[0].position.start.offset,a=e.children[e.children.length-1].position.end.offset;i>0&&(a+=i);let l=[{marks:["mdMark"],attrs:{depth:t,first:!0,ignoreWhenCopy:!0},start:e.position.start.offset,end:e.position.start.offset+1}];for(let c of e.children)for(let d of Ge(c,t+1,o))d.marks.push("mdLinkText"),l.push(d);return a+2<n&&l.push({marks:["mdMark"],attrs:{depth:t,ignoreWhenCopy:!0},start:a,end:a+2},{marks:["mdLinkUri"],attrs:{depth:t,ignoreWhenCopy:!0},start:a+2,end:n-1}),l.push({marks:["mdMark"],attrs:{depth:t,last:!0,ignoreWhenCopy:!0},start:n-1,end:n}),l}function Ge(e,t,o){switch(e.type){case"text":return iu(e,t);case"strong":return su(e,t,o);case"emphasis":return au(e,t,o);case"delete":return lu(e,t,o);case"inlineCode":return cu(e,t);case"html":return[];case"break":return[];case"image":return[];case"imageReference":return[];case"footnote":return[];case"footnoteReference":return[];case"link":return mu(e,t,o);case"linkReference":return pu(e,t,o);default:return console.warn("unknow mdast token:",e),[]}}var uu={delete:!0,text:!0,emphasis:!0,strong:!0,html:!0,inlineCode:!0,break:!0,image:!0,imageReference:!0,footnote:!0,footnoteReference:!0,link:!0,linkReference:!0},fu={extensions:[{disable:{null:["blockQuote","characterEscape","codeFenced","codeIndented","headingAtx","htmlFlow","htmlText","list","thematicBreak","image"]}},ru({singleTilde:!1}),ou],mdastExtensions:[tu,ps]};function hu(e){try{let t=eu(e,fu);if(t.children.length===0)return[];let o=t.children[0];if(o.type!=="paragraph")throw Error(`unknow child type ${o.type}`);for(let r of o.children)if(!uu[r.type])throw Error(`got unknow phrasingContent token: ${JSON.stringify(r)}`);return o.children}catch(t){console.warn(`failed to parse inline markdown text ${JSON.stringify(e)}: ${t}`)}return[]}function gu(e){for(let t of e)t.end-t.start!==0&&(t.marks=nu(t.marks));return e}function bu(e,t,o=1){let r=[];for(let n of e)r=r.concat(Ge(n,o,t));return gu(r)}function us(e,t,o){let n=e.doc.content.content.filter(a=>a.type?.name==="reference_def").map(a=>`[${a.attrs.label}]: ${a.attrs.href}${a.attrs.title?` "${a.attrs.title}"`:""}`).join(`
1698
1698
 
1699
1699
  `),i=hu(`${t}
1700
1700
 
1701
- ${n}`);return bu(i,o)}function xu(e,t){if(t.length===0||e.length===0)return;let o=e[e.length-1],r=t[0];o[1]-1===r&&(o[0]+=1,o[1]+=1)}function ku(e,t,o,r,n){if(!o.textContent)return;let i=[],s=-1;for(let c=0;c<o.childCount;c++){let d=o.child(c);s+=d.nodeSize,re.includes(d.type.name)&&i.push(s)}if(o.type.name==="reference_def")return;let a=ps(e,o.textContent,o);if(a.length===0)return;let l=0;for(let c of a){let d=c.marks.map(y=>t.marks[y].create(c.attrs)),m=c.start+l,p=c.end+l,f=i.filter(y=>y>=m&&y<p),u=f.length;xu(n,f),n.push([r+c.start+l,r+c.end+l+u,d]),l+=u}}function us(e,t,o,r,n){o.attrs.inlineDecorateType!=="IGNORE"&&(o.isTextblock?ku(e,t,o,r,n):o.forEach((i,s)=>{us(e,t,i,r+s+1,n)}))}function ro(e,t,o,r){if(t.isTextblock){let n=e.doc.type.schema;us(e,n,t,o,r)}else for(let[n,i]of Er(t))ro(e,n,o+i+1,r)}function Sr(e){let t=new yu(e),o=[];return ro(t,e,0,o),o.length&&t.step(new qe(o)),t.doc}function Tr(e){if(e.isDestroyed)return;let t=e.state.tr;t.setMeta("addToHistory",!1),no(t)&&e.dispatch(t)}function no(e,t){e.setMeta("APPLY_MARKS",!0);let{$from:o,$to:r}=e.selection,n=o.blockRange(r),i=[];if(!n||t)ro(e,e.doc,0,i);else{let l=n.end;for(let[c,d]of ds(n))d<n.start||d>l||ro(e,c,d,i)}if(i.length===0)return!1;let s=e.doc.content.size,a=[];for(let[l,c,d]of i)l<0||c>s||l>=c||a.push([l,c,d]);if(a.length===0)return!1;try{e.step(new qe(a))}catch{return!1}return!!e.docChanged}function wu(e,t,o,r,n){for(let i=o;i<=r;i++)if(we(e.maybeChild(i),t))return i;if(n||o===r){if(we(e.maybeChild(o),"mdMark")&&we(e.maybeChild(o-1),t))return o-1;if(we(e.maybeChild(r),"mdMark")&&we(e.maybeChild(r+1),t))return r+1}return!1}function Eu({left:e,right:t,mark:o}){return r=>{let{tr:n,dispatch:i,state:s}=r,{$from:a,$to:l,empty:c}=s.selection,d=a.parent;if(!d||!d.isTextblock)return!1;let m=a.start();if(m<0)return!1;let p=a.index(),f=l.index();l.textOffset===0&&(c?p=Math.max(p-1,0):f>p&&f--);let u=wu(d,o,p,f,c);if(u!==!1){let y=!1;for(let b=u;b<d.childCount;b++){let x=d.child(b);we(x,"mdMark")&&x.text===t&&(fs(n,d,m,b),y=!0)}for(let b=u;b>=0;b--){let x=d.child(b);we(x,"mdMark")&&x.text===e&&(fs(n,d,m,b),y=!0)}if(y){if(i)try{no(n),i(n)}catch{return!1}return!0}}return!1}}function Su({left:e,right:t}){return o=>{let{tr:r,dispatch:n,state:i}=o,{$from:s,$to:a,anchor:l,head:c}=i.selection;if(n){r.insertText(t,a.pos),r.insertText(e,s.pos);let d=e.length;r.setSelection(Cu.create(r.doc,l+d,c+d)),no(r),n(r)}return!0}}function io({left:e,right:t,mark:o}){return r=>{let{$from:n,$to:i}=r.state.selection;return!n.sameParent(i)||!n.parent.type.isTextblock?!1:!!(Eu({left:e,right:t,mark:o})(r)||Su({left:e,right:t,mark:o})(r))}}function je(e){switch(e){case"mdStrong":return io({mark:e,left:"**",right:"**"});case"mdEm":return io({mark:e,left:"*",right:"*"});case"mdCodeText":return io({mark:e,left:"`",right:"`"});case"mdDel":return io({mark:e,left:"~~",right:"~~"});default:Tu(e)}}function Tu(e){throw new Error(`Unknown mark to toggle: ${e}`)}function we(e,t){return e?e.marks.some(o=>o.type.name===t):!1}function fs(e,t,o,r){if(r<0||r>=t.childCount)return e;let n=t.child(r);if(!n)return e;let i=e.doc.content.size;if(o<0||o>i)return e;let s=o;for(let c=0;c<r;c++){let d=t.child(c);d&&(s+=d.nodeSize)}let a=s,l=s+n.nodeSize;if(a<0||l>i||a>=l)return e;try{return e.delete(a,l)}catch{return e}}var J={depth:{default:0},ignoreWhenCopy:{default:!1},linkHref:{default:null}},hs={depth:{default:0},first:{default:!1},last:{default:!1},class:{default:""},ignoreWhenCopy:{default:!1},linkHref:{default:null}},vr=class extends K{static{this.disableExtraAttributes=!0}get name(){return"mdMark"}createMarkSpec(){return{inclusive:!1,attrs:hs,toDOM:t=>["span",{class:"md-mark","data-ignore-when-copy":t.attrs.ignoreWhenCopy},0]}}createCommands(){return{toggleInlineMark:je}}},Mr=class extends K{static{this.disableExtraAttributes=!0}get name(){return"mdText"}createMarkSpec(){return{attrs:hs,toDOM:t=>["span",{class:t.attrs.class},0]}}},Pr=class extends K{static{this.disableExtraAttributes=!0}get name(){return"mdEm"}createMarkSpec(){return{attrs:J,toDOM:()=>["em",0]}}createCommands(){return{toggleEmphasis:()=>t=>je(this.name)(t)}}},Nr=class extends K{static{this.disableExtraAttributes=!0}get name(){return"mdStrong"}createMarkSpec(){return{attrs:J,toDOM:()=>["strong",0]}}createCommands(){return{toggleStrong:()=>t=>je(this.name)(t)}}},Rr=class extends K{static{this.disableExtraAttributes=!0}get name(){return"mdCodeText"}createMarkSpec(){return{attrs:J,toDOM:()=>["code",0]}}createCommands(){return{toggleCodeText:()=>t=>je(this.name)(t)}}},Ir=class extends K{static{this.disableExtraAttributes=!0}get name(){return"mdCodeSpace"}createMarkSpec(){return{attrs:J,toDOM:()=>["span",0]}}},Ar=class extends K{static{this.disableExtraAttributes=!0}get name(){return"mdDel"}createMarkSpec(){return{attrs:J,toDOM:()=>["del",0]}}createCommands(){return{toggleDelete:()=>t=>je(this.name)(t)}}},Lr=class extends K{static{this.disableExtraAttributes=!0}get name(){return"mdLinkText"}createMarkSpec(){return{attrs:{...J,href:{default:""}},toDOM:t=>["a",{href:t.attrs.href},0]}}},_r=class extends K{static{this.disableExtraAttributes=!0}get name(){return"mdLinkUri"}createMarkSpec(){return{spanning:!1,attrs:J,toDOM:t=>["a",{class:"md-link","data-ignore-when-copy":t.attrs.ignoreWhenCopy},0]}}},Br=class extends K{static{this.disableExtraAttributes=!0}get name(){return"mdImgText"}createMarkSpec(){return{spanning:!1,attrs:J,toDOM:()=>["span",{class:"md-img-text"},0]}}},Mu=new Map,xt=class extends K{constructor(){super(...arguments);this.createNodeViews=()=>o=>{if(!T())return{dom:document.createElement("span")};let r=document.createElement("span"),n=document.createElement("img");this.options.handleViewImgSrcUrl?this.options.handleViewImgSrcUrl(o.attrs.href).then(s=>{n.setAttribute("src",wr(s)),Mu.set(o.attrs.href,s)}):n.setAttribute("src",wr(o.attrs.href));let i=document.createElement("span");return i.appendChild(n),i.appendChild(r),i.setAttribute("class","md-img-uri"),{dom:i,contentDOM:r}}}get name(){return"mdImgUri"}createMarkSpec(){return{spanning:!1,attrs:{...J,key:{default:""},href:{default:""}},toDOM:o=>["img",{src:o.attrs.href},0]}}};xt.disableExtraAttributes=!0,xt=M([vu({defaultOptions:{handleViewImgSrcUrl:async e=>e},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],xt);var Pu={mdMark:!0,mdLinkUri:!0,mdImgText:!0,mdHtmlInline:!0};function gs(e){return Pu[e]}var bs=(e={})=>[new vr,new Mr,new Pr,new Nr,new Rr,new Ir,new Ar,new Lr,new _r,new Br];function so(e){let t={};for(let o of e?.marks||[]){if(re.includes(e?.type.name||""))break;gs(o.type.name)&&(t.isAutoHideMark=!0),Object.assign(t,o.attrs)}return t}function ys(e,t,o,r){let n=[],i=t;for(let l=o;l<e.content.childCount;l++){let c=e.content.child(l),d=so(c);if(d.isAutoHideMark&&n.push([i,i+c.nodeSize]),i+=c.nodeSize,d.depth===1&&d.last)break}let s=so(e.maybeChild(o));if(s.depth===1&&s.first&&!r)return n;let a=t;for(let l=o-1;l>=0;l--){let c=e.content.child(l),d=so(c);if(d.isAutoHideMark&&n.push([a-c.nodeSize,a]),a-=c.nodeSize,d.depth===1&&d.first)break}return n}function Lu(){return{props:{decorations:e=>{if(!Nu(e.selection))return null;let t=e.selection.$anchor,o=t.parent;if(!o.isTextblock)return null;let r;if(t.textOffset===0)r=ys(o,t.pos,t.index(t.depth),!0);else{let n=t.index(t.depth),i=o.content.maybeChild(n);if(!i||!so(i).depth)return null;r=ys(o,t.pos-t.textOffset,t.index(t.depth),!1)}return Au.create(e.doc,r.map(([n,i])=>Iu.inline(n,i,{class:"show"})))}}}}var ao=class extends Ru{get name(){return"inlineDecoration"}createPlugin(){return Lu()}};import{TextSelection as xs}from"@rme-sdk/pm/state";import{PlainExtension as _u}from"@rme-sdk/main";var kt=class extends _u{get name(){return"inlineMark"}createPlugin(){let t=null,o=n=>{t&&clearTimeout(t),t=setTimeout(()=>{if(n.isDestroyed){t=null;return}let i=n.state.doc,s=n.state.selection,{$head:a,$anchor:l}=s;Tr(n);let c=i.content.size,d=Math.min(Math.max(a.pos,0),c),m=Math.min(Math.max(l.pos,0),c);if(d>=0&&d<=c&&m>=0&&m<=c)try{let p=i.resolve(d),f=i.resolve(m),u=p.parent===f.parent?xs.create(i,m,d):xs.create(i,d);n.dispatch(n.state.tr.setSelection(u))}catch{}t=null},10)},r=null;return{appendTransaction:n=>{let i=!1;for(let s of n)if(s.docChanged&&!s.getMeta("APPLY_MARKS")){i=!0;break}i&&r&&!r.isDestroyed&&o(r)},view:n=>(r=n,{})}}};import{isString as Du}from"@rme-sdk/core";import{InputRule as Bu}from"prosemirror-inputrules";import{findWrapping as Ou}from"prosemirror-transform";function Or(e){if(e==null)return null;let t=Number.parseInt(e,10);return Number.isInteger(t)?t:null}function ks(e){let t=e.attrs;switch(t.kind){case"task":return[["label",["input",{type:"checkbox",checked:t.checked?"":void 0}]]];case"toggle":return[];default:return[]}}var Cs="flatList";var ws="PROSEMIRROR_FLAT_LIST_TYPE_NAME";function lo(e){let t=e.cached[ws];if(!t){for(let o of Object.values(e.nodes))if((o.spec.group||"").split(" ").includes(Cs)){t=o.name;break}if(!t)throw new TypeError("[prosemirror-flat-list] Unable to find a flat list type in the schema");return e.cached[ws]=t,t}return t}function Es(e){return e.nodes[lo(e)]}function Ss(e){return lo(e.schema)===e.name}function Ts(e){return e?Ss(e.type):!1}function Hu(e){for(let t=e.depth;t>0;t--){let o=e.node(t);if(o.type.name==="tableCell"||o.type.name==="tableHeaderCell")return!0}return!1}function co(e,t){return new Bu(e,(o,r,n,i)=>{let s=o.tr;s.deleteRange(n,i);let a=s.selection.$from;if(Hu(a))return null;let l=a.index(-1)===0&&a.node(-1);if(l&&Ts(l)){let f=l.attrs,u=typeof t=="function"?t({match:r,attributes:f}):t,y=Object.entries(u).filter(([b,x])=>f[b]!==x);if(y.length===0)return null;{let b=a.before(-1);for(let[x,E]of y)s.setNodeAttribute(b,x,E);return s}}let d=s.doc.resolve(n).blockRange();if(!d)return null;let m=typeof t=="function"?t({match:r}):t,p=Ou(d,Es(o.schema),m);return p?s.wrap(d,p):null})}var vs=[co(/^\s?([*-])\s$/,{kind:"bullet",collapsed:!1}),co(/^\s?(\d+)\.\s$/,({match:e})=>{let t=Or(e[1]);return{kind:"ordered",collapsed:!1,order:t!=null&&t>=2?t:null}}),co(/^\s?\[([\sXx]?)]\s$/,({match:e})=>({kind:"task",checked:["x","X"].includes(e[1]),collapsed:!1})),co(/^\s?>>\s$/,{kind:"toggle"})];import{convertCommand as Q,ExtensionTag as Vu,NodeExtension as Fu}from"@rme-sdk/core";import{createDedentListCommand as $u,createIndentListCommand as zu,createListPlugins as Ku,createListSpec as Wu,createMoveListCommand as Uu,createSplitListCommand as qu,createToggleCollapsedCommand as Gu,createToggleListCommand as ju,createUnwrapListCommand as Qu,createWrapInListCommand as Xu,listKeymap as Yu,protectCollapsed as Ju}from"@rme-sdk/prosemirror-flat-list";var Ms=class{},mo=class extends Fu{static{this.disableExtraAttributes=!0}get name(){return"list"}createInputRules(){return vs}createTags(){return[Vu.Block]}createNodeSpec(){return Wu({toDomParams:{nativeList:!1,getMarkers:ks}})}createKeymap(){let t={};for(let[o,r]of Object.entries(Yu))t[o]=Q(r);return t.Tab=Ps(t["Mod-]"]),t["Shift-Tab"]=Ps(t["Mod-["]),t}createExternalPlugins(){return Ku({schema:this.store.schema})}createCommands(){return{indentList:t=>Q(zu(t)),dedentList:t=>Q($u(t)),unwrapList:t=>Q(Qu(t)),wrapInList:t=>Q(Xu(t)),moveList:t=>Q(Uu(t)),splitList:()=>Q(qu()),protectCollapsed:()=>Q(Ju),toggleCollapsed:t=>Q(Gu(t)),toggleList:t=>Q(ju(t))}}fromMarkdown(){return[{type:4,token:"list_item_open",handler:(t,o)=>{switch(t.topContext()){case"ordered_list":let r=t.topContextToken(),n;r?.type==="ordered_list_open"&&r?.attrs?.some(([i,s])=>i==="order"?(n=parseInt(s,10),t.closeContextToken(),!0):!1),t.openNode(this.type,{kind:"ordered",order:n});break;case"bullet_list":t.openNode(this.type,{kind:"bullet"});break;default:throw new Error("unknown context")}}},{type:4,token:"list_checkbox",handler:(t,o)=>{let r=t.stack[t.stack.length-1];if(r?.type.name==="list"){let n=o.attrGet("checked"),i={kind:"task",checked:Du(n)||!!n};r.attrs=i}else console.warn(`expect list but got ${r?.type.name}`)}},{type:4,token:"list_item_close",handler:t=>{t.closeNode()}},{type:5,token:"bullet_list",context:"bullet_list"},{type:5,token:"ordered_list",context:"ordered_list"}]}toMarkdown({state:t,node:o,counter:r}){let n=o.attrs,i="";n.kind==="ordered"?i=`${n.order!=null?n.order:r}. `:n.kind==="task"?i=n.checked?"- [x] ":"- [ ] ":n.kind==="bullet"&&(i="- "),t.wrapBlock(" ",i,o,()=>t.renderContent(o))}};function Ps(e){return(...t)=>(e(...t),!0)}function po(e){return e.type.name==="list"&&e.attrs.kind==="ordered"}import{extension as lf,ExtensionTag as cf,NodeExtension as df,nodeInputRule as mf,omitExtraAttributes as pf}from"@rme-sdk/core";import{history as Zu,redo as ef,undo as tf}from"@rme-sdk/pm/history";import{keymap as of}from"@rme-sdk/pm/keymap";import{EditorState as rf,Plugin as nf,TextSelection as Ns}from"@rme-sdk/pm/state";import{EditorView as sf}from"@rme-sdk/pm/view";import af from"katex";function uo(e,t,o,r=!0){return(n,i)=>{let s=e.state,{to:a,from:l}=s.selection,{to:c,from:d}=n.selection;if(r&&c!==d)return!1;let m=t>0?c:d;if(o){let p=n.doc.nodeSize-2;if(t>0&&m<p||t<0&&m>0)return!1}if(i){let p=t>0?a:l;e.dispatch(s.tr.setSelection(Ns.create(s.doc,p))),e.focus()}return!0}}var fo=class{constructor(t,o,r){this.openEditor=()=>{if(this._innerView)return;let t=this._node.attrs.tex??"";this._innerView=new sf(this._srcElt,{state:rf.create({doc:this._outerView.state.schema.node("paragraph",null,t?[this._outerView.state.schema.text(t)]:[this._outerView.state.schema.text("\u200B")]),plugins:[Zu(),of({ArrowLeft:uo(this._outerView,-1,!0),ArrowRight:uo(this._outerView,1,!0),ArrowUp:uo(this._outerView,-1,!0),ArrowDown:uo(this._outerView,1,!0),"Mod-z":(n,i,s)=>tf(n,i,s),"Shift-Mod-z":(n,i,s)=>ef(n,i,s),Backspace:n=>{let{from:i,to:s}=n.selection;if(i===0&&s===n.doc.content.size){let a=this._getPos();if(a!==void 0){let l=this._outerView.state.tr.delete(a,a+this._node.nodeSize);return this._outerView.dispatch(l),this._outerView.focus(),!0}}return!1}}),new nf({props:{handleDOMEvents:{blur:()=>{let n=this._getPos();if(n!==void 0){let i=(this._innerView?.state.doc.textContent||"").replace(/\u200b/g,""),s=this._outerView.state.tr;s.setNodeAttribute(n,"fromInput",!1),s.setNodeAttribute(n,"tex",i),this._outerView.dispatch(s)}return this.closeEditor(),!0}}}})]}),dispatchTransaction:this.dispatchInner.bind(this)}),this._innerView.dom.classList.add("inline-input-src"),this._innerView.dom.classList.remove("ProseMirror"),this._srcElt.style.display="inline";let o=this._innerView.state;this._innerView.focus();let r=o.doc.textContent.length||0;this._innerView.dispatch(o.tr.setSelection(Ns.create(o.doc,r))),this._renderElt?.classList.add("inline-input-preview"),this._isEditing=!0};this.closeEditor=(t=!0)=>{this._srcElt&&(this._srcElt.style.display="none"),this._innerView&&(this._innerView.destroy(),this._innerView=void 0),t&&this.renderTex(),this._isEditing=!1};this._node=t,this._outerView=o,this._getPos=r,this._isEditing=!1,this.dom=document.createElement("span"),this.dom.classList.add("inline-input"),this._renderElt=document.createElement("span"),this._renderElt.classList.add("inline-input-render"),this.dom.appendChild(this._renderElt),this._srcElt=document.createElement("span"),this._srcElt.spellcheck=!1,this._srcElt.style.display="none",this.dom.appendChild(this._srcElt),this.dom.addEventListener("click",()=>this.ensureFocus()),t.attrs.fromInput?setTimeout(()=>this.openEditor()):this.renderTex()}destroy(){this.closeEditor(!1),this._renderElt&&(this._renderElt.remove(),delete this._renderElt),this._srcElt&&(this._srcElt.remove(),delete this._srcElt),this.dom.remove()}ensureFocus(){this._innerView&&this._outerView.hasFocus()&&this._innerView.focus()}update(t,o){return t.sameMarkup(this._node)?(this._node=t,this._isEditing||this.renderTex(),!0):!1}selectNode(){this._outerView.editable&&(this._isEditing||this.openEditor())}deselectNode(){this._isEditing&&this.closeEditor()}stopEvent(t){return this._innerView!==void 0&&t.target!==void 0&&this._innerView.dom.contains(t.target)}ignoreMutation(){return!0}renderTex(t=!1){if(!this._renderElt)return;let r=(this._innerView?.state.doc.textContent??this._node.attrs.tex??"").replace(/\u200b/g,"").trim();try{for(;this._renderElt.firstChild;)this._renderElt.firstChild.remove();let n=document.createElement("span");n.setAttribute("data-type","math-inline"),af.render(r||"",n,{throwOnError:!1,displayMode:!1,output:"mathml"});let i=n;n.childElementCount===1&&n.firstElementChild&&(i=n.firstElementChild),this._renderElt.replaceWith(i),this._renderElt=i,this.dom.appendChild(this._renderElt),t?this._renderElt.classList.add("inline-input-preview"):(this._renderElt.classList.add("inline-input-render"),this._renderElt.classList.remove("inline-input-preview"))}catch(n){console.error(n),this._renderElt.classList.add("parse-error"),this.dom.setAttribute("title",String(n))}}dispatchInner(t){if(!this._innerView)return;let{state:o}=this._innerView.state.applyTransaction(t);this._innerView.updateState(o),this.renderTex(!0)}};var Ee=class extends df{get name(){return"math_inline"}createTags(){return[cf.InlineNode]}createNodeSpec(t,o){return{inline:!0,atom:!0,selectable:!0,marks:"",...o,attrs:{...t.defaults(),tex:{default:""},fromInput:{default:!1}},parseDOM:[{tag:'span[data-type="math-inline"]',getAttrs:r=>{let n=r;return{...t.parse(r),tex:n.getAttribute("data-tex")??""}}},...o.parseDOM??[]],toDOM:r=>{let n=pf(r.attrs,t);return["span",{...t.dom(r),"data-type":"math-inline","data-tex":n.tex}]}}}createInputRules(){return Ut(this.type).map(mf)}fromMarkdown(){return[{type:6,token:"math_inline",node:this.name,getAttrs:t=>({tex:t.attrs?.tex||""})}]}toMarkdown({state:t,node:o}){let r=o.attrs.tex;t.text(`$${r}$`,!1)}createNodeViews(){return(t,o,r)=>new fo(t,o,r)}};Ee.disableExtraAttributes=!0,Ee=M([lf({defaultOptions:{}})],Ee);import{convertCommand as hf,extension as gf,ExtensionTag as bf,NodeExtension as yf,nodeInputRule as xf}from"@rme-sdk/core";import{setBlockType as kf}from"@rme-sdk/pm/commands";import{latex as uf}from"codemirror-lang-latex";import ff from"katex";var ho=class{constructor(t,o,r,n){this.openEditor=()=>{if(this._innerView)return;let t=this._node.attrs.tex??"",o=[uf()];this.options?.codemirrorExtensions&&o.push(...this.options.codemirrorExtensions),this.mfCodemirrorView=new U({view:this._outerView,node:this._node,getPos:this._getPos,languageName:"LaTeX",extensions:o,options:{useProsemirrorHistoryKey:!0,codemirrorEditorViewConfig:{parent:this._srcElt},copyButton:{enabled:!0,customCopyFunction:this.options?.customCopyFunction}}}),this._srcElt.classList.remove("node-hide"),this._innerView=this.mfCodemirrorView.cm,this._renderElt?.classList.add("node-hide"),console.log("currentTex",t,this._node.textContent);let r=this._node.textContent.length||0;this.setSelection(r,r),this._innerView.focus(),this._innerView.contentDOM.addEventListener("blur",()=>{this.closeEditor(!0)}),this.mfCodemirrorView.forwardSelection()};this.closeEditor=(t=!0)=>{this._innerView&&(this._innerView.destroy(),this._innerView=void 0),this.mfCodemirrorView&&(this.mfCodemirrorView.destroy(),this.mfCodemirrorView=void 0),t&&this.renderTex()};this._node=t,this._outerView=o,this._getPos=r,this.options=n,this.dom=document.createElement("div"),this.dom.classList.add("math-block-nodeview"),this._renderElt=document.createElement("div"),this._renderElt.classList.add("math-block-render"),this.dom.appendChild(this._renderElt),this._srcElt=document.createElement("div"),this._srcElt.classList.add("html-src","node-hide");let i=_e(this.dom,{labelName:"LaTex"});this.dom.appendChild(this._srcElt),i.addEventListener("click",()=>this.ensureFocus()),t.attrs.fromInput?this.openEditor():this.renderTex()}destroy(){this.closeEditor(!1),this._renderElt&&(this._renderElt.remove(),delete this._renderElt),this._srcElt&&(this._srcElt.remove(),this._srcElt=void 0),this.dom.remove()}ensureFocus(){this._outerView.hasFocus()&&(this._innerView?this._innerView.focus():this.openEditor())}update(t,o){return this._node=t,!!this.mfCodemirrorView?.update(t)}setSelection(t,o){this._innerView?this.mfCodemirrorView?.setSelection(t,o):(this.openEditor(),this.mfCodemirrorView.setSelection(t,o))}stopEvent(){return!0}ignoreMutation(){return!0}renderTex(t=!1){if(!this._renderElt)return;let r=(this.mfCodemirrorView?.content||this._node.textContent).trim();try{for(;this._renderElt.firstChild;)this._renderElt.firstChild.remove();let n=document.createElement("div");n.setAttribute("data-type","math-block"),ff.render(r||"",n,{throwOnError:!1,displayMode:!1,output:"mathml"});let i=n;n.childElementCount===1&&n.firstElementChild&&(i=n.firstElementChild),this._renderElt.replaceWith(i),this._renderElt=i,this.dom.appendChild(this._renderElt),t?this._renderElt.classList.add("math-block-preview"):(this._renderElt.classList.add("math-block-render"),this._renderElt.classList.remove("math-block-preview"))}catch(n){console.error(n),this._renderElt.classList.add("parse-error"),this.dom.setAttribute("title",String(n))}}};var Qe=class extends yf{constructor(){super(...arguments);this.createMathBlock=(o={})=>hf(kf(this.type,{tex:"",fromInput:!0,...o}))}get name(){return"math_block"}createTags(){return[bf.Block]}createNodeSpec(o,r){return{group:"block",content:"text*",defining:!0,code:!0,marks:"",...r,attrs:{...o.defaults(),tex:{default:""},fromInput:{default:!1}},parseDOM:[{tag:'div[data-type="math-block"]',getAttrs:n=>o.parse(n)},...r.parseDOM??[]],toDOM:()=>["div",{"data-type":"math-block"},0],isolating:!0}}createNodeViews(){return(o,r,n)=>new ho(o,r,n,this.options)}createInputRules(){return[xf({regexp:/^\$\$$/,type:this.type,getAttributes:o=>({tex:o[1]??"",fromInput:!0})})]}createCommands(){return{createMathBlock:this.createMathBlock}}fromMarkdown(){return[{type:2,token:"math_block",node:this.name,hasOpenClose:!1,getAttrs:o=>({tex:o.attrs?.tex||""})}]}toMarkdown({state:o,node:r}){o.write(`$$
1701
+ ${n}`);return bu(i,o)}function xu(e,t){if(t.length===0||e.length===0)return;let o=e[e.length-1],r=t[0];o[1]-1===r&&(o[0]+=1,o[1]+=1)}function ku(e,t,o,r,n){if(!o.textContent)return;let i=[],s=-1;for(let c=0;c<o.childCount;c++){let d=o.child(c);s+=d.nodeSize,re.includes(d.type.name)&&i.push(s)}if(o.type.name==="reference_def")return;let a=us(e,o.textContent,o);if(a.length===0)return;let l=0;for(let c of a){let d=c.marks.map(y=>t.marks[y].create(c.attrs)),m=c.start+l,p=c.end+l,f=i.filter(y=>y>=m&&y<p),u=f.length;xu(n,f),n.push([r+c.start+l,r+c.end+l+u,d]),l+=u}}function fs(e,t,o,r,n){o.attrs.inlineDecorateType!=="IGNORE"&&(o.isTextblock?ku(e,t,o,r,n):o.forEach((i,s)=>{fs(e,t,i,r+s+1,n)}))}function no(e,t,o,r){if(t.isTextblock){let n=e.doc.type.schema;fs(e,n,t,o,r)}else for(let[n,i]of Sr(t))no(e,n,o+i+1,r)}function Tr(e){let t=new yu(e),o=[];return no(t,e,0,o),o.length&&t.step(new qe(o)),t.doc}function vr(e){if(e.isDestroyed)return;let t=e.state.tr;t.setMeta("addToHistory",!1),io(t)&&e.dispatch(t)}function io(e,t){e.setMeta("APPLY_MARKS",!0);let{$from:o,$to:r}=e.selection,n=o.blockRange(r),i=[];if(!n||t)no(e,e.doc,0,i);else{let l=n.end;for(let[c,d]of ms(n))d<n.start||d>l||no(e,c,d,i)}if(i.length===0)return!1;let s=e.doc.content.size,a=[];for(let[l,c,d]of i)l<0||c>s||l>=c||a.push([l,c,d]);if(a.length===0)return!1;try{e.step(new qe(a))}catch{return!1}return!!e.docChanged}function wu(e,t,o,r,n){for(let i=o;i<=r;i++)if(we(e.maybeChild(i),t))return i;if(n||o===r){if(we(e.maybeChild(o),"mdMark")&&we(e.maybeChild(o-1),t))return o-1;if(we(e.maybeChild(r),"mdMark")&&we(e.maybeChild(r+1),t))return r+1}return!1}function Eu({left:e,right:t,mark:o}){return r=>{let{tr:n,dispatch:i,state:s}=r,{$from:a,$to:l,empty:c}=s.selection,d=a.parent;if(!d||!d.isTextblock)return!1;let m=a.start();if(m<0)return!1;let p=a.index(),f=l.index();l.textOffset===0&&(c?p=Math.max(p-1,0):f>p&&f--);let u=wu(d,o,p,f,c);if(u!==!1){let y=!1;for(let b=u;b<d.childCount;b++){let x=d.child(b);we(x,"mdMark")&&x.text===t&&(hs(n,d,m,b),y=!0)}for(let b=u;b>=0;b--){let x=d.child(b);we(x,"mdMark")&&x.text===e&&(hs(n,d,m,b),y=!0)}if(y){if(i)try{io(n),i(n)}catch{return!1}return!0}}return!1}}function Su({left:e,right:t}){return o=>{let{tr:r,dispatch:n,state:i}=o,{$from:s,$to:a,anchor:l,head:c}=i.selection;if(n){r.insertText(t,a.pos),r.insertText(e,s.pos);let d=e.length;r.setSelection(Cu.create(r.doc,l+d,c+d)),io(r),n(r)}return!0}}function so({left:e,right:t,mark:o}){return r=>{let{$from:n,$to:i}=r.state.selection;return!n.sameParent(i)||!n.parent.type.isTextblock?!1:!!(Eu({left:e,right:t,mark:o})(r)||Su({left:e,right:t,mark:o})(r))}}function je(e){switch(e){case"mdStrong":return so({mark:e,left:"**",right:"**"});case"mdEm":return so({mark:e,left:"*",right:"*"});case"mdCodeText":return so({mark:e,left:"`",right:"`"});case"mdDel":return so({mark:e,left:"~~",right:"~~"});default:Tu(e)}}function Tu(e){throw new Error(`Unknown mark to toggle: ${e}`)}function we(e,t){return e?e.marks.some(o=>o.type.name===t):!1}function hs(e,t,o,r){if(r<0||r>=t.childCount)return e;let n=t.child(r);if(!n)return e;let i=e.doc.content.size;if(o<0||o>i)return e;let s=o;for(let c=0;c<r;c++){let d=t.child(c);d&&(s+=d.nodeSize)}let a=s,l=s+n.nodeSize;if(a<0||l>i||a>=l)return e;try{return e.delete(a,l)}catch{return e}}var J={depth:{default:0},ignoreWhenCopy:{default:!1},linkHref:{default:null}},gs={depth:{default:0},first:{default:!1},last:{default:!1},class:{default:""},ignoreWhenCopy:{default:!1},linkHref:{default:null}},Mr=class extends K{static{this.disableExtraAttributes=!0}get name(){return"mdMark"}createMarkSpec(){return{inclusive:!1,attrs:gs,toDOM:t=>["span",{class:"md-mark","data-ignore-when-copy":t.attrs.ignoreWhenCopy},0]}}createCommands(){return{toggleInlineMark:je}}},Pr=class extends K{static{this.disableExtraAttributes=!0}get name(){return"mdText"}createMarkSpec(){return{attrs:gs,toDOM:t=>["span",{class:t.attrs.class},0]}}},Nr=class extends K{static{this.disableExtraAttributes=!0}get name(){return"mdEm"}createMarkSpec(){return{attrs:J,toDOM:()=>["em",0]}}createCommands(){return{toggleEmphasis:()=>t=>je(this.name)(t)}}},Rr=class extends K{static{this.disableExtraAttributes=!0}get name(){return"mdStrong"}createMarkSpec(){return{attrs:J,toDOM:()=>["strong",0]}}createCommands(){return{toggleStrong:()=>t=>je(this.name)(t)}}},Ir=class extends K{static{this.disableExtraAttributes=!0}get name(){return"mdCodeText"}createMarkSpec(){return{attrs:J,toDOM:()=>["code",0]}}createCommands(){return{toggleCodeText:()=>t=>je(this.name)(t)}}},Ar=class extends K{static{this.disableExtraAttributes=!0}get name(){return"mdCodeSpace"}createMarkSpec(){return{attrs:J,toDOM:()=>["span",0]}}},Lr=class extends K{static{this.disableExtraAttributes=!0}get name(){return"mdDel"}createMarkSpec(){return{attrs:J,toDOM:()=>["del",0]}}createCommands(){return{toggleDelete:()=>t=>je(this.name)(t)}}},_r=class extends K{static{this.disableExtraAttributes=!0}get name(){return"mdLinkText"}createMarkSpec(){return{attrs:{...J,href:{default:""}},toDOM:t=>["a",{href:t.attrs.href},0]}}},Br=class extends K{static{this.disableExtraAttributes=!0}get name(){return"mdLinkUri"}createMarkSpec(){return{spanning:!1,attrs:J,toDOM:t=>["a",{class:"md-link","data-ignore-when-copy":t.attrs.ignoreWhenCopy},0]}}},Or=class extends K{static{this.disableExtraAttributes=!0}get name(){return"mdImgText"}createMarkSpec(){return{spanning:!1,attrs:J,toDOM:()=>["span",{class:"md-img-text"},0]}}},Mu=new Map,kt=class extends K{constructor(){super(...arguments);this.createNodeViews=()=>o=>{if(!T())return{dom:document.createElement("span")};let r=document.createElement("span"),n=document.createElement("img");this.options.handleViewImgSrcUrl?this.options.handleViewImgSrcUrl(o.attrs.href).then(s=>{n.setAttribute("src",Er(s)),Mu.set(o.attrs.href,s)}):n.setAttribute("src",Er(o.attrs.href));let i=document.createElement("span");return i.appendChild(n),i.appendChild(r),i.setAttribute("class","md-img-uri"),{dom:i,contentDOM:r}}}get name(){return"mdImgUri"}createMarkSpec(){return{spanning:!1,attrs:{...J,key:{default:""},href:{default:""}},toDOM:o=>["img",{src:o.attrs.href},0]}}};kt.disableExtraAttributes=!0,kt=M([vu({defaultOptions:{handleViewImgSrcUrl:async e=>e},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],kt);var Pu={mdMark:!0,mdLinkUri:!0,mdImgText:!0,mdHtmlInline:!0};function bs(e){return Pu[e]}var ys=(e={})=>[new Mr,new Pr,new Nr,new Rr,new Ir,new Ar,new Lr,new _r,new Br,new Or];function ao(e){let t={};for(let o of e?.marks||[]){if(re.includes(e?.type.name||""))break;bs(o.type.name)&&(t.isAutoHideMark=!0),Object.assign(t,o.attrs)}return t}function xs(e,t,o,r){let n=[],i=t;for(let l=o;l<e.content.childCount;l++){let c=e.content.child(l),d=ao(c);if(d.isAutoHideMark&&n.push([i,i+c.nodeSize]),i+=c.nodeSize,d.depth===1&&d.last)break}let s=ao(e.maybeChild(o));if(s.depth===1&&s.first&&!r)return n;let a=t;for(let l=o-1;l>=0;l--){let c=e.content.child(l),d=ao(c);if(d.isAutoHideMark&&n.push([a-c.nodeSize,a]),a-=c.nodeSize,d.depth===1&&d.first)break}return n}function Lu(){return{props:{decorations:e=>{if(!Nu(e.selection))return null;let t=e.selection.$anchor,o=t.parent;if(!o.isTextblock)return null;let r;if(t.textOffset===0)r=xs(o,t.pos,t.index(t.depth),!0);else{let n=t.index(t.depth),i=o.content.maybeChild(n);if(!i||!ao(i).depth)return null;r=xs(o,t.pos-t.textOffset,t.index(t.depth),!1)}return Au.create(e.doc,r.map(([n,i])=>Iu.inline(n,i,{class:"show"})))}}}}var lo=class extends Ru{get name(){return"inlineDecoration"}createPlugin(){return Lu()}};import{TextSelection as ks}from"@rme-sdk/pm/state";import{PlainExtension as _u}from"@rme-sdk/main";var Ct=class extends _u{get name(){return"inlineMark"}createPlugin(){let t=null,o=n=>{t&&clearTimeout(t),t=setTimeout(()=>{if(n.isDestroyed){t=null;return}let i=n.state.doc,s=n.state.selection,{$head:a,$anchor:l}=s;vr(n);let c=i.content.size,d=Math.min(Math.max(a.pos,0),c),m=Math.min(Math.max(l.pos,0),c);if(d>=0&&d<=c&&m>=0&&m<=c)try{let p=i.resolve(d),f=i.resolve(m),u=p.parent===f.parent?ks.create(i,m,d):ks.create(i,d);n.dispatch(n.state.tr.setSelection(u))}catch{}t=null},10)},r=null;return{appendTransaction:n=>{let i=!1;for(let s of n)if(s.docChanged&&!s.getMeta("APPLY_MARKS")){i=!0;break}i&&r&&!r.isDestroyed&&o(r)},view:n=>(r=n,{})}}};import{isString as Du}from"@rme-sdk/core";import{InputRule as Bu}from"prosemirror-inputrules";import{findWrapping as Ou}from"prosemirror-transform";function Hr(e){if(e==null)return null;let t=Number.parseInt(e,10);return Number.isInteger(t)?t:null}function Cs(e){let t=e.attrs;switch(t.kind){case"task":return[["label",["input",{type:"checkbox",checked:t.checked?"":void 0}]]];case"toggle":return[];default:return[]}}var ws="flatList";var Es="PROSEMIRROR_FLAT_LIST_TYPE_NAME";function co(e){let t=e.cached[Es];if(!t){for(let o of Object.values(e.nodes))if((o.spec.group||"").split(" ").includes(ws)){t=o.name;break}if(!t)throw new TypeError("[prosemirror-flat-list] Unable to find a flat list type in the schema");return e.cached[Es]=t,t}return t}function Ss(e){return e.nodes[co(e)]}function Ts(e){return co(e.schema)===e.name}function vs(e){return e?Ts(e.type):!1}function Hu(e){for(let t=e.depth;t>0;t--){let o=e.node(t);if(o.type.name==="tableCell"||o.type.name==="tableHeaderCell")return!0}return!1}function mo(e,t){return new Bu(e,(o,r,n,i)=>{let s=o.tr;s.deleteRange(n,i);let a=s.selection.$from;if(Hu(a))return null;let l=a.index(-1)===0&&a.node(-1);if(l&&vs(l)){let f=l.attrs,u=typeof t=="function"?t({match:r,attributes:f}):t,y=Object.entries(u).filter(([b,x])=>f[b]!==x);if(y.length===0)return null;{let b=a.before(-1);for(let[x,E]of y)s.setNodeAttribute(b,x,E);return s}}let d=s.doc.resolve(n).blockRange();if(!d)return null;let m=typeof t=="function"?t({match:r}):t,p=Ou(d,Ss(o.schema),m);return p?s.wrap(d,p):null})}var Ms=[mo(/^\s?([*-])\s$/,{kind:"bullet",collapsed:!1}),mo(/^\s?(\d+)\.\s$/,({match:e})=>{let t=Hr(e[1]);return{kind:"ordered",collapsed:!1,order:t!=null&&t>=2?t:null}}),mo(/^\s?\[([\sXx]?)]\s$/,({match:e})=>({kind:"task",checked:["x","X"].includes(e[1]),collapsed:!1})),mo(/^\s?>>\s$/,{kind:"toggle"})];import{convertCommand as Q,ExtensionTag as Vu,NodeExtension as Fu}from"@rme-sdk/core";import{createDedentListCommand as $u,createIndentListCommand as zu,createListPlugins as Ku,createListSpec as Wu,createMoveListCommand as Uu,createSplitListCommand as qu,createToggleCollapsedCommand as Gu,createToggleListCommand as ju,createUnwrapListCommand as Qu,createWrapInListCommand as Xu,listKeymap as Yu,protectCollapsed as Ju}from"@rme-sdk/prosemirror-flat-list";var Ps=class{},po=class extends Fu{static{this.disableExtraAttributes=!0}get name(){return"list"}createInputRules(){return Ms}createTags(){return[Vu.Block]}createNodeSpec(){return Wu({toDomParams:{nativeList:!1,getMarkers:Cs}})}createKeymap(){let t={};for(let[o,r]of Object.entries(Yu))t[o]=Q(r);return t.Tab=Ns(t["Mod-]"]),t["Shift-Tab"]=Ns(t["Mod-["]),t}createExternalPlugins(){return Ku({schema:this.store.schema})}createCommands(){return{indentList:t=>Q(zu(t)),dedentList:t=>Q($u(t)),unwrapList:t=>Q(Qu(t)),wrapInList:t=>Q(Xu(t)),moveList:t=>Q(Uu(t)),splitList:()=>Q(qu()),protectCollapsed:()=>Q(Ju),toggleCollapsed:t=>Q(Gu(t)),toggleList:t=>Q(ju(t))}}fromMarkdown(){return[{type:4,token:"list_item_open",handler:(t,o)=>{switch(t.topContext()){case"ordered_list":let r=t.topContextToken(),n;r?.type==="ordered_list_open"&&r?.attrs?.some(([i,s])=>i==="order"?(n=parseInt(s,10),t.closeContextToken(),!0):!1),t.openNode(this.type,{kind:"ordered",order:n});break;case"bullet_list":t.openNode(this.type,{kind:"bullet"});break;default:throw new Error("unknown context")}}},{type:4,token:"list_checkbox",handler:(t,o)=>{let r=t.stack[t.stack.length-1];if(r?.type.name==="list"){let n=o.attrGet("checked"),i={kind:"task",checked:Du(n)||!!n};r.attrs=i}else console.warn(`expect list but got ${r?.type.name}`)}},{type:4,token:"list_item_close",handler:t=>{t.closeNode()}},{type:5,token:"bullet_list",context:"bullet_list"},{type:5,token:"ordered_list",context:"ordered_list"}]}toMarkdown({state:t,node:o,counter:r}){let n=o.attrs,i="";n.kind==="ordered"?i=`${n.order!=null?n.order:r}. `:n.kind==="task"?i=n.checked?"- [x] ":"- [ ] ":n.kind==="bullet"&&(i="- "),t.wrapBlock(" ",i,o,()=>t.renderContent(o))}};function Ns(e){return(...t)=>(e(...t),!0)}function uo(e){return e.type.name==="list"&&e.attrs.kind==="ordered"}import{extension as lf,ExtensionTag as cf,NodeExtension as df,nodeInputRule as mf,omitExtraAttributes as pf}from"@rme-sdk/core";import{history as Zu,redo as ef,undo as tf}from"@rme-sdk/pm/history";import{keymap as of}from"@rme-sdk/pm/keymap";import{EditorState as rf,Plugin as nf,TextSelection as Rs}from"@rme-sdk/pm/state";import{EditorView as sf}from"@rme-sdk/pm/view";import af from"katex";function fo(e,t,o,r=!0){return(n,i)=>{let s=e.state,{to:a,from:l}=s.selection,{to:c,from:d}=n.selection;if(r&&c!==d)return!1;let m=t>0?c:d;if(o){let p=n.doc.nodeSize-2;if(t>0&&m<p||t<0&&m>0)return!1}if(i){let p=t>0?a:l;e.dispatch(s.tr.setSelection(Rs.create(s.doc,p))),e.focus()}return!0}}var ho=class{constructor(t,o,r){this.openEditor=()=>{if(this._innerView)return;let t=this._node.attrs.tex??"";this._innerView=new sf(this._srcElt,{state:rf.create({doc:this._outerView.state.schema.node("paragraph",null,t?[this._outerView.state.schema.text(t)]:[this._outerView.state.schema.text("\u200B")]),plugins:[Zu(),of({ArrowLeft:fo(this._outerView,-1,!0),ArrowRight:fo(this._outerView,1,!0),ArrowUp:fo(this._outerView,-1,!0),ArrowDown:fo(this._outerView,1,!0),"Mod-z":(n,i,s)=>tf(n,i,s),"Shift-Mod-z":(n,i,s)=>ef(n,i,s),Backspace:n=>{let{from:i,to:s}=n.selection;if(i===0&&s===n.doc.content.size){let a=this._getPos();if(a!==void 0){let l=this._outerView.state.tr.delete(a,a+this._node.nodeSize);return this._outerView.dispatch(l),this._outerView.focus(),!0}}return!1}}),new nf({props:{handleDOMEvents:{blur:()=>{let n=this._getPos();if(n!==void 0){let i=(this._innerView?.state.doc.textContent||"").replace(/\u200b/g,""),s=this._outerView.state.tr;s.setNodeAttribute(n,"fromInput",!1),s.setNodeAttribute(n,"tex",i),this._outerView.dispatch(s)}return this.closeEditor(),!0}}}})]}),dispatchTransaction:this.dispatchInner.bind(this)}),this._innerView.dom.classList.add("inline-input-src"),this._innerView.dom.classList.remove("ProseMirror"),this._srcElt.style.display="inline";let o=this._innerView.state;this._innerView.focus();let r=o.doc.textContent.length||0;this._innerView.dispatch(o.tr.setSelection(Rs.create(o.doc,r))),this._renderElt?.classList.add("inline-input-preview"),this._isEditing=!0};this.closeEditor=(t=!0)=>{this._srcElt&&(this._srcElt.style.display="none"),this._innerView&&(this._innerView.destroy(),this._innerView=void 0),t&&this.renderTex(),this._isEditing=!1};this._node=t,this._outerView=o,this._getPos=r,this._isEditing=!1,this.dom=document.createElement("span"),this.dom.classList.add("inline-input"),this._renderElt=document.createElement("span"),this._renderElt.classList.add("inline-input-render"),this.dom.appendChild(this._renderElt),this._srcElt=document.createElement("span"),this._srcElt.spellcheck=!1,this._srcElt.style.display="none",this.dom.appendChild(this._srcElt),this.dom.addEventListener("click",()=>this.ensureFocus()),t.attrs.fromInput?setTimeout(()=>this.openEditor()):this.renderTex()}destroy(){this.closeEditor(!1),this._renderElt&&(this._renderElt.remove(),delete this._renderElt),this._srcElt&&(this._srcElt.remove(),delete this._srcElt),this.dom.remove()}ensureFocus(){this._innerView&&this._outerView.hasFocus()&&this._innerView.focus()}update(t,o){return t.sameMarkup(this._node)?(this._node=t,this._isEditing||this.renderTex(),!0):!1}selectNode(){this._outerView.editable&&(this._isEditing||this.openEditor())}deselectNode(){this._isEditing&&this.closeEditor()}stopEvent(t){return this._innerView!==void 0&&t.target!==void 0&&this._innerView.dom.contains(t.target)}ignoreMutation(){return!0}renderTex(t=!1){if(!this._renderElt)return;let r=(this._innerView?.state.doc.textContent??this._node.attrs.tex??"").replace(/\u200b/g,"").trim();try{for(;this._renderElt.firstChild;)this._renderElt.firstChild.remove();let n=document.createElement("span");n.setAttribute("data-type","math-inline"),af.render(r||"",n,{throwOnError:!1,displayMode:!1,output:"mathml"});let i=n;n.childElementCount===1&&n.firstElementChild&&(i=n.firstElementChild),this._renderElt.replaceWith(i),this._renderElt=i,this.dom.appendChild(this._renderElt),t?this._renderElt.classList.add("inline-input-preview"):(this._renderElt.classList.add("inline-input-render"),this._renderElt.classList.remove("inline-input-preview"))}catch(n){console.error(n),this._renderElt.classList.add("parse-error"),this.dom.setAttribute("title",String(n))}}dispatchInner(t){if(!this._innerView)return;let{state:o}=this._innerView.state.applyTransaction(t);this._innerView.updateState(o),this.renderTex(!0)}};var Ee=class extends df{get name(){return"math_inline"}createTags(){return[cf.InlineNode]}createNodeSpec(t,o){return{inline:!0,atom:!0,selectable:!0,marks:"",...o,attrs:{...t.defaults(),tex:{default:""},fromInput:{default:!1}},parseDOM:[{tag:'span[data-type="math-inline"]',getAttrs:r=>{let n=r;return{...t.parse(r),tex:n.getAttribute("data-tex")??""}}},...o.parseDOM??[]],toDOM:r=>{let n=pf(r.attrs,t);return["span",{...t.dom(r),"data-type":"math-inline","data-tex":n.tex}]}}}createInputRules(){return qt(this.type).map(mf)}fromMarkdown(){return[{type:6,token:"math_inline",node:this.name,getAttrs:t=>({tex:t.attrs?.tex||""})}]}toMarkdown({state:t,node:o}){let r=o.attrs.tex;t.text(`$${r}$`,!1)}createNodeViews(){return(t,o,r)=>new ho(t,o,r)}};Ee.disableExtraAttributes=!0,Ee=M([lf({defaultOptions:{}})],Ee);import{convertCommand as hf,extension as gf,ExtensionTag as bf,NodeExtension as yf,nodeInputRule as xf}from"@rme-sdk/core";import{setBlockType as kf}from"@rme-sdk/pm/commands";import{latex as uf}from"codemirror-lang-latex";import ff from"katex";var go=class{constructor(t,o,r,n){this.openEditor=()=>{if(this._innerView)return;let t=this._node.attrs.tex??"",o=[uf()];this.options?.codemirrorExtensions&&o.push(...this.options.codemirrorExtensions),this.mfCodemirrorView=new U({view:this._outerView,node:this._node,getPos:this._getPos,languageName:"LaTeX",extensions:o,options:{useProsemirrorHistoryKey:!0,codemirrorEditorViewConfig:{parent:this._srcElt},copyButton:{enabled:!0,customCopyFunction:this.options?.customCopyFunction}}}),this._srcElt.classList.remove("node-hide"),this._innerView=this.mfCodemirrorView.cm,this._renderElt?.classList.add("node-hide"),console.log("currentTex",t,this._node.textContent);let r=this._node.textContent.length||0;this.setSelection(r,r),this._innerView.focus(),this._innerView.contentDOM.addEventListener("blur",()=>{this.closeEditor(!0)}),this.mfCodemirrorView.forwardSelection()};this.closeEditor=(t=!0)=>{this._innerView&&(this._innerView.destroy(),this._innerView=void 0),this.mfCodemirrorView&&(this.mfCodemirrorView.destroy(),this.mfCodemirrorView=void 0),t&&this.renderTex()};this._node=t,this._outerView=o,this._getPos=r,this.options=n,this.dom=document.createElement("div"),this.dom.classList.add("math-block-nodeview"),this._renderElt=document.createElement("div"),this._renderElt.classList.add("math-block-render"),this.dom.appendChild(this._renderElt),this._srcElt=document.createElement("div"),this._srcElt.classList.add("html-src","node-hide");let i=_e(this.dom,{labelName:"LaTex"});this.dom.appendChild(this._srcElt),i.addEventListener("click",()=>this.ensureFocus()),t.attrs.fromInput?this.openEditor():this.renderTex()}destroy(){this.closeEditor(!1),this._renderElt&&(this._renderElt.remove(),delete this._renderElt),this._srcElt&&(this._srcElt.remove(),this._srcElt=void 0),this.dom.remove()}ensureFocus(){this._outerView.hasFocus()&&(this._innerView?this._innerView.focus():this.openEditor())}update(t,o){return this._node=t,!!this.mfCodemirrorView?.update(t)}setSelection(t,o){this._innerView?this.mfCodemirrorView?.setSelection(t,o):(this.openEditor(),this.mfCodemirrorView.setSelection(t,o))}stopEvent(){return!0}ignoreMutation(){return!0}renderTex(t=!1){if(!this._renderElt)return;let r=(this.mfCodemirrorView?.content||this._node.textContent).trim();try{for(;this._renderElt.firstChild;)this._renderElt.firstChild.remove();let n=document.createElement("div");n.setAttribute("data-type","math-block"),ff.render(r||"",n,{throwOnError:!1,displayMode:!1,output:"mathml"});let i=n;n.childElementCount===1&&n.firstElementChild&&(i=n.firstElementChild),this._renderElt.replaceWith(i),this._renderElt=i,this.dom.appendChild(this._renderElt),t?this._renderElt.classList.add("math-block-preview"):(this._renderElt.classList.add("math-block-render"),this._renderElt.classList.remove("math-block-preview"))}catch(n){console.error(n),this._renderElt.classList.add("parse-error"),this.dom.setAttribute("title",String(n))}}};var Qe=class extends yf{constructor(){super(...arguments);this.createMathBlock=(o={})=>hf(kf(this.type,{tex:"",fromInput:!0,...o}))}get name(){return"math_block"}createTags(){return[bf.Block]}createNodeSpec(o,r){return{group:"block",content:"text*",defining:!0,code:!0,marks:"",...r,attrs:{...o.defaults(),tex:{default:""},fromInput:{default:!1}},parseDOM:[{tag:'div[data-type="math-block"]',getAttrs:n=>o.parse(n)},...r.parseDOM??[]],toDOM:()=>["div",{"data-type":"math-block"},0],isolating:!0}}createNodeViews(){return(o,r,n)=>new go(o,r,n,this.options)}createInputRules(){return[xf({regexp:/^\$\$$/,type:this.type,getAttributes:o=>({tex:o[1]??"",fromInput:!0})})]}createCommands(){return{createMathBlock:this.createMathBlock}}fromMarkdown(){return[{type:2,token:"math_block",node:this.name,hasOpenClose:!1,getAttrs:o=>({tex:o.attrs?.tex||""})}]}toMarkdown({state:o,node:r}){o.write(`$$
1702
1702
  `);let n=r.textContent||r.attrs.tex||"";o.text(n,!1),n.endsWith(`
1703
1703
  `)||o.text(`
1704
- `),o.write("$$"),o.closeBlock(r),o.ensureNewLine()}};Qe=M([gf({defaultOptions:{}})],Qe);import{convertCommand as Sf,extension as Tf,isElementDomNode as vf,NodeExtension as Mf,nodeInputRule as Pf}from"@rme-sdk/core";import{setBlockType as Nf}from"@rme-sdk/pm/commands";import{TextSelection as Rf}from"@rme-sdk/pm/state";import{Compartment as wf}from"@codemirror/state";import Ef from"mermaid";import Cf from"js-event-bus";var Ct=new Cf;var Rs={count:0},go=class{constructor(t,o,r,n){this._htmlSrcElt=null;this.destroying=!1;this.renderViewId=null;this.ignoreMutation=()=>!0;this.changeTheme=()=>{this.renderHtml()};this._node=t,this._outerView=o,this._getPos=r,this.schema=t.type.schema,this.options=n,this.dom=document.createElement("div"),this.dom.classList.add("mermaid-node"),this._htmlRenderElt=document.createElement("p"),this._htmlRenderElt.textContent="",this._htmlRenderElt.classList.add("html-node-render"),_e(this.dom,{labelName:"Mermaid"}).addEventListener("click",()=>this.ensureFocus()),this.dom.appendChild(this._htmlRenderElt),this.dom.appendChild(this._htmlRenderElt),this._htmlSrcElt=document.createElement("span"),this._htmlSrcElt.classList.add("mermaid-src","node-hide"),this.languageConf=new wf,this.dom.appendChild(this._htmlSrcElt),this.renderHtml(),Ct.on("change-theme",this.changeTheme)}ensureFocus(){this._outerView.hasFocus()&&(this._innerView?this._innerView.focus():this.openEditor())}update(t){return this._node=t,!!this.mfCodemirrorView?.update(t)}stopEvent(){return!0}renderHtml(){if(!this._htmlRenderElt||!T())return;let t=this.mfCodemirrorView?.content||this._node.textContent;try{this._htmlRenderElt.innerHTML="",this._htmlRenderElt.classList.remove("node-hide"),this._htmlRenderElt.classList.add("node-show"),Rs.count++;let o=`mermaid-${Rs.count}`;Ef.render(o,t).then(({svg:r,bindFunctions:n})=>{this._htmlRenderElt&&(this._htmlRenderElt.innerHTML=r,n?.(this._htmlRenderElt))}).catch(r=>{T()&&document.getElementById("d"+o)?.remove(),console.error("\u6E32\u67D3\u5931\u8D25:",o,r)})}catch{}}setSelection(t,o){this._innerView?this.mfCodemirrorView?.setSelection(t,o):(this.openEditor(),this.mfCodemirrorView.setSelection(t,o))}openEditor(){if(this._innerView)throw Error("inner view should not exist!");this.mfCodemirrorView=new U({view:this._outerView,node:this._node,getPos:this._getPos,languageName:"mermaid",extensions:this.options?.codemirrorExtensions||[cr],options:{useProsemirrorHistoryKey:!0,codemirrorEditorViewConfig:{parent:this._htmlSrcElt},copyButton:{enabled:!0,customCopyFunction:this.options?.customCopyFunction}}}),this._htmlSrcElt.classList.remove("node-hide"),this._innerView=this.mfCodemirrorView.cm,this._htmlRenderElt?.classList.add("node-hide");let t=this._node.textContent.length||0;this.setSelection(t,t),this._innerView.focus(),this._innerView.contentDOM.addEventListener("blur",()=>{this.destroying||this.closeEditor(!0)}),this.mfCodemirrorView.forwardSelection()}destroy(){this.destroying=!0,this.closeEditor(!1),this._htmlRenderElt&&(this._htmlRenderElt.remove(),delete this._htmlRenderElt),this._htmlSrcElt&&(this._htmlSrcElt.remove(),this._htmlSrcElt=null),this.dom.remove(),Ct.detach("change-theme",this.changeTheme)}closeEditor(t=!0){this._innerView&&(this._innerView.destroy(),this._innerView=void 0),this.mfCodemirrorView&&(this.mfCodemirrorView.destroy(),this.mfCodemirrorView=void 0),t&&this.renderHtml()}};var Xe=class extends Mf{constructor(){super(...arguments);this.createMermaidBlock=()=>Sf(Nf(this.type))}get name(){return"mermaid_node"}createNodeSpec(o,r){return{group:"block",content:"text*",defining:!0,...r,code:!0,marks:"",attrs:{...o.defaults()},parseDOM:[{tag:"pre",getAttrs:n=>vf(n)?o.parse(n):!1},...r.parseDOM??[]],toDOM(){return["pre",{"data-type":"mermaid"},0]},isolating:!0}}createNodeViews(){return(o,r,n)=>new go(o,r,n,this.options)}createInputRules(){return[Pf({regexp:/^```mermaid$/,type:this.type,beforeDispatch:({tr:r,start:n,match:i})=>{let s=r.doc.resolve(n);r.setSelection(Rf.near(s))}})]}createCommands(){return{createMermaidBlock:this.createMermaidBlock}}fromMarkdown(){return[{type:2,token:"mermaid_node",node:this.name,hasOpenClose:!1}]}toMarkdown({state:o,node:r}){o.write("```mermaid\n"),o.text(r.textContent,!1),o.text(`
1705
- `),o.write("```"),o.closeBlock(r),o.ensureNewLine()}};Xe=M([Tf({defaultOptions:{customCopyFunction:void 0},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],Xe);import{isHTMLElement as Bs}from"@ocavue/utils";import{PlainExtension as zf}from"@rme-sdk/core";import{NodeSelection as Os,TextSelection as Kf}from"@rme-sdk/pm/state";import{isHTMLElement as If}from"@ocavue/utils";import{NodeSelection as Af}from"@rme-sdk/pm/state";function Lf(e){let t=[[-1,e.state.doc]],o=[];for(;t.length>0;){let[r,n]=t.pop();if(r>=0){let i=e.nodeDOM(r);if(i&&If(i)){let s=i.getBoundingClientRect(),{top:a,bottom:l,left:c,right:d}=s;o.push([r,[c,a,d,a]],[r+n.nodeSize,[c,l,d,l]])}}if(n.isBlock&&!n.isTextblock){let i=r+1;for(let s of n.children)t.push([i,s]),i+=s.nodeSize}}return o}function Ls(e,t){let o=[],r,n,i=()=>{let d=e.dom.getBoundingClientRect(),m=e.state.doc;return o&&r&&n&&d.width===n.width&&d.height===n.height&&d.x===n.x&&d.y===n.y&&r.eq(m)||(n=d,r=m,o=Lf(e)),o},s=(d,m)=>{if(!e.editable||e.isDestroyed)return;let p=(y,b)=>{let[x,E]=y,[k,h]=b,g=As(d,E),S=As(d,h);return g-S||x-k},f=i();f.sort(p),f=f.slice(0,8);let u=f.find(y=>t?.({view:e,pos:y[0],event:m})!==!1);if(!(u&&Bf(e,u[0])))return u},a,l;return(d,m)=>(a&&_f(a,d)||(a=d,l=s(d,m)),l)}function _f(e,t){return e[0]===t[0]&&e[1]===t[1]}function Is(e,t){return Math.abs(e[0]-t[0])+Math.abs(e[1]-t[1])}function As(e,t){return Math.min(Is(e,[t[0],t[1]]),Is(e,[t[2],t[3]]))}function Bf(e,t){let o=e.dragging;if(!o)return;let{move:r}=o;if(!r)return;let n=e.state.selection;if(!(n instanceof Af))return;let{from:i,to:s}=n;return i<=t&&t<=s}import{isElement as Dr,isTextNode as Of}from"@ocavue/utils";function ae(e){let t=e.getBoundingClientRect();if(t.width===0&&t.height===0&&t.x===0&&t.y===0&&e.getClientRects().length===0){let r=Array.from(e.children).map(l=>ae(l));if(r.length===0)return t;if(r.length===1)return r[0];let{top:n,bottom:i,left:s,right:a}=r[0];for(let l=1;l<r.length;l++){let c=r[l];c.top<n&&(n=c.top),c.bottom>i&&(i=c.bottom),c.left<s&&(s=c.left),c.right>a&&(a=c.right)}return{top:n,bottom:i,left:s,right:a}}return t}function _s(e,t,o){let r=ae(e.dom);if(!Df(r,t,o))return;let n=e.state.doc,i=-1;for(;n;){if(n.isBlock&&(n.isTextblock||n.isAtom||n.type.spec.isolating))return{node:n,pos:i};let s=[],a=[];n.forEach((d,m)=>{s.push(d),a.push(m+i+1)});let l=0,c=s.length-1;for(;l<=c;){let d=c-(c-l>>1),m=e.nodeDOM(a[d]),p=Hf(m);if(!p){console.warn(`[rme] Unable to get rect at position: ${a[d]}`);return}if(p.top>o)c=d-1;else if(p.bottom<o)l=d+1;else{l=d;break}}if(l>c)return;n=s[l],i=a[l]}}function Hf(e){if(e&&Dr(e)&&e.isConnected)return ae(e)}function Df(e,t,o){return t>=e.left&&t<=e.right&&o>=e.top&&o<=e.bottom}function Vr(e,t){if(!(e&&!e.isConnected)&&!(t&&!t.isConnected))if(e&&t){let o=Vf(e),r=Hr(t);if(o&&r){let{top:n,bottom:i}=r,{left:s,right:a}=o;return{top:n,bottom:i,left:s,right:a}}else return o||r}else{if(e)return Hr(e);if(t)return Hr(t)}}function Vf(e){if(!Dr(e))return;let t=ae(e),o=e.ownerDocument.defaultView?.getComputedStyle(e),r=o&&Number.parseInt(o.marginLeft,10)||0,n=o&&Number.parseInt(o.marginRight,10)||0,i=t.left-r,s=t.right+n;return{top:t.top,bottom:t.bottom,left:i,right:s}}function Hr(e){if(Dr(e))return $f(e);if(Of(e))return Ff(e)}function Ff(e){let t=e.ownerDocument;if(!t)return;let o=t.createRange();return o.setStart(e,0),o.setEnd(e,0),o.getClientRects()[0]}function $f(e){if(e.nodeName==="BR")return e.getBoundingClientRect();let t=ae(e),o=e.ownerDocument.defaultView?.getComputedStyle(e),r=o&&Number.parseInt(o.marginLeft,10)||0,n=o&&Number.parseInt(o.marginRight,10)||0,i=t.left-r,s=t.right+n,a=o&&Number.parseInt(o.lineHeight,10)||24,l=o&&Number.parseInt(o.paddingTop,10)||0,c=o&&Number.parseInt(o.borderTopWidth,10)||0,d=t.top+l+c,m=d+a;return{top:d,bottom:m,left:i,right:s}}var Se=class extends zf{get name(){return"nodeIndicator"}createPlugin(){let t,o={node:null,pos:null,rect:null};return{initialState:o,state:{init:()=>o,apply:(r,n)=>{let i=r.getMeta(this.pluginKey);return i?{...n,...i}:r.docChanged?{...n}:n}},view:r=>(t=Ls(r),{}),props:{handleDrop:(r,n,i,s)=>{if(!t)return!1;let a=t([n.clientX,n.clientY],n);if(!a)return!1;n.preventDefault();let l=a[0],c=r.state.tr;if(s){let{node:u}=r.dragging||{};u?u.replace(c):c.deleteSelection()}let d=c.mapping.map(l),m=i.openStart==0&&i.openEnd==0&&i.content.childCount==1,p=c.doc;if(m?c.replaceRangeWith(d,d,i.content.firstChild):c.replaceRange(d,d,i),c.doc.eq(p))return!1;let f=c.doc.resolve(d);if(m&&Os.isSelectable(i.content.firstChild)&&f.nodeAfter&&f.nodeAfter.sameMarkup(i.content.firstChild))c.setSelection(new Os(f));else{let u=c.mapping.map(l);c.mapping.maps[c.mapping.maps.length-1].forEach((y,b,x,E)=>u=E),c.setSelection(Wf(r,f,c.doc.resolve(u)))}return r.focus(),r.dispatch(c.setMeta("uiEvent","drop")),!0},handleDOMEvents:{pointerout:(r,n)=>{let i=n.relatedTarget;return i&&r.dom.contains(i)||i&&i instanceof HTMLElement&&i.closest(".rme-block-handler")||this.pluginKey.getState(r.state)?.node!==null&&r.dispatch(r.state.tr.setMeta(this.pluginKey,{node:null,pos:null,rect:null})),!1},pointermove:(r,n)=>{r.__nodeIndicatorThrottled||(r.__nodeIndicatorThrottled=!0,requestAnimationFrame(()=>{r.__nodeIndicatorThrottled=!1,Uf(r,n,this.pluginKey)}))}}}}}};function Wf(e,t,o,r){return e.someProp("createSelectionBetween",n=>n(e,t,o))||Kf.between(t,o,r)}function Uf(e,t,o){let r=o.getState(e.state),{x:n,y:i}=t,s=_s(e,n,i);if(!s){r?.node!==null&&e.dispatch(e.state.tr.setMeta(o,{node:null,pos:null,rect:null}));return}let{node:a,pos:l}=s,c=e.nodeDOM(l);if(!c||!Bs(c)){r?.node!==null&&e.dispatch(e.state.tr.setMeta(o,{node:null,pos:null,rect:null}));return}let d=a,m=l,p=e.state.doc.resolve(l);if(p.depth>0&&p.index(p.depth)===0){let y=p.before(p.depth);d=p.parent,m=y}if(r?.pos===m&&r?.node&&d.type===r?.node.type)return;let f=e.nodeDOM(m);if(!f||!Bs(f))return;let u;if(p.depth>0&&p.index(p.depth)===0){let y=e.nodeDOM(p.before(p.depth));u=Vr(y,f)}else u=Vr(void 0,f);e.dispatch(e.state.tr.setMeta(o,{node:d,pos:m,rect:u||{}}))}import{ParagraphExtension as qf}from"@rme-sdk/main/extensions";var bo=class extends qf{createNodeSpec(t,o){return{...super.createNodeSpec(t,o),whitespace:"pre"}}fromMarkdown(){return[{type:2,token:"paragraph",node:this.name,hasOpenClose:!0}]}toMarkdown({state:t,node:o}){t.renderInline(o),t.closeBlock(o)}};import{extension as Gf,ManagerPhase as jf,PlainExtension as Qf}from"@rme-sdk/core";import{Decoration as Xf,DecorationSet as Yf}from"@rme-sdk/pm/view";var Ye=class extends Qf{get name(){return"placeholder"}createAttributes(){return{"aria-placeholder":this.options.placeholder}}createPlugin(){return{props:{decorations:t=>Jf({state:t,extension:this})}}}onSetOptions(t){let{changes:o}=t;o.placeholder.changed&&this.store.phase>=jf.EditorView&&this.store.updateAttributes()}};Ye=M([Gf({defaultOptions:{placeholder:""},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],Ye);function Jf(e){let{extension:t,state:o}=e,{emptyNodeClass:r,placeholder:n}=t.options,i=[];return o.doc.descendants((s,a,l)=>{if(s.type.name==="paragraph"&&s.content.size===0&&n&&o.selection.from-1===a&&l?.type.name==="doc"){let c=Xf.node(a,a+s.nodeSize,{class:r,"data-placeholder":n});i.push(c)}}),Yf.create(o.doc,i)}import{extension as Zf,ExtensionTag as yo,findParentNodeOfType as eh,isElementDomNode as th,NodeExtension as oh,nodeInputRule as rh}from"@rme-sdk/core";import{Decoration as nh,DecorationSet as Hs}from"@rme-sdk/pm/view";var Je=class extends oh{get name(){return"reference_def"}createTags(){return[yo.LastNodeCompatible,yo.TextBlock,yo.Block,yo.FormattingNode]}createNodeSpec(t,o){return{group:"reference",content:"reference_label reference_href reference_title*",...o,attrs:{...t.defaults(),label:{default:""},href:{default:""},title:{default:""}},parseDOM:[{tag:"div[data-reference-definition]",getAttrs:r=>{if(!th(r))return!1;let n=r.getAttribute("data-reference-label")||"",i=r.getAttribute("data-reference-href")||"",s=r.getAttribute("data-reference-title")||"";return{...t.parse(r),label:n,href:i,title:s}}},...o.parseDOM??[]],toDOM:r=>["div",{...t.dom(r),class:"reference-def"},0]}}createDecorations(t){let o=eh({types:this.type,selection:t.selection});return o?Hs.create(t.doc,[nh.node(o.pos,o.pos+o.node.nodeSize,{class:"rme-block-focus"})]):Hs.empty}createInputRules(){return[rh({regexp:/^\[([^\]]*)\]:\s*([^\s"]+(:\s+[^\s"]+)*)?(?:\s+"(.*?)")?/,type:this.type,getAttributes:t=>{let[,o,r,n]=t;return console.log("matchmatch",t),{label:o,ref:r,title:n}}})]}fromMarkdown(){return[{type:2,node:this.name,token:"reference_def",hasOpenClose:!0,getAttrs:t=>({label:t.attrs?.[0]?.[1]||"",href:t.attrs?.[1]?.[1]||"",title:t.attrs?.[2]?.[1]||""})}]}toMarkdown({state:t,node:o}){t.renderInline(o),t.closeBlock(o)}};Je=M([Zf({defaultOptions:{},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],Je);import{extension as Fr,ExtensionTag as $r,NodeExtension as zr}from"@rme-sdk/core";var Ze=class extends zr{get name(){return"reference_label"}createTags(){return[$r.InlineNode]}createNodeSpec(t,o){return{inline:!0,group:"reference_inline",content:"text*",...o,attrs:{...t.defaults()},toDOM:r=>["span",{...t.dom(r),class:"reference-definition-node__label"},["span",{contenteditable:"false",disabled:"true"},"\u200B"],["span",{},0],["span",{contenteditable:"false",disabled:"true"},"\u200B"]]}}fromMarkdown(){return[{type:6,token:"reference_label",getText:t=>t.content}]}toMarkdown({state:t,node:o}){t.write("["),t.text(o.textContent||""),t.write("]: ")}createKeymap(){return{Backspace:({state:t,dispatch:o})=>{let{selection:r}=t,{$from:n}=r;if(n.parent.type.name!==this.name)return!1;if(n.parent.textContent.length===0){let i=null,s=-1;for(let a=n.depth-1;a>=0;a--){let l=n.node(a);if(l.type.name==="reference_def"){i=l,s=n.start(a);break}}if(i&&s!==-1&&o)return o(t.tr.delete(s,s+i.nodeSize)),!0}return!1}}}};Ze=M([Fr({defaultOptions:{},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],Ze);var et=class extends zr{get name(){return"reference_href"}createTags(){return[$r.InlineNode]}createNodeSpec(t,o){return{inline:!0,group:"reference_inline",content:"text*",...o,attrs:{...t.defaults()},toDOM:r=>["span",{...t.dom(r),class:"reference-definition-node__href"},0]}}fromMarkdown(){return[{type:6,token:"reference_href",getText:t=>t.content}]}toMarkdown({state:t,node:o}){t.text(`${o.textContent||""} `)}};et=M([Fr({defaultOptions:{},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],et);var tt=class extends zr{get name(){return"reference_title"}createTags(){return[$r.InlineNode]}createNodeSpec(t,o){return{inline:!0,group:"reference_inline",content:"text*",...o,attrs:{...t.defaults()},toDOM:r=>["span",{...t.dom(r),class:"reference-definition-node__title"},0]}}fromMarkdown(){return[{type:6,token:"reference_title",getText:t=>t.content}]}toMarkdown({state:t,node:o}){o.textContent&&(t.write('"'),t.text(o.textContent||""),t.write('"'))}};tt=M([Fr({defaultOptions:{},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],tt);import{TextSelection as gP}from"@rme-sdk/pm/state";import{extension as ah,PlainExtension as lh}from"@rme-sdk/main";var ih=(e=!1)=>({shouldOpen:(t,o,r)=>{if(o.isComposing)return!1;let n=r.state,s=(n.selection.from<0||n.selection.from>n.doc.content.size?null:n.doc.resolve(n.selection.from))?.parent,a=s?.type.name==="paragraph",l=n.selection.$head.parentOffset,c=n.selection.$head.parent.textContent.slice(l-1,l),d=a&&s?.textContent===c,m=c==="\u200A"||c===""||c===" ";return!t.open&&xe(o)&&a&&(d||m||n.selection.from!==n.selection.to&&e)},shouldClose:(t,o)=>t.open&&(xe(o)||o.key==="Escape"||o.key==="Backspace")&&t.filter.length===0}),Ds=(e,t,o,r,n,i)=>{if(t.isComposing)return t.key==="Escape"||t.key==="Backspace"&&e.filter.length===0?"closeMenu":"Ignore";let s=n||ih(i);if(s.shouldOpen(e,t,o))return"openMenu";if(s.shouldClose(e,t,o))return"closeMenu";if(e.open){if(t.key==="ArrowDown")return"NextItem";if(t.key==="ArrowUp")return"PrevItem";if(t.key==="Enter"||t.key==="Tab")return"Execute";if(t.key==="Escape"||t.key==="Backspace"&&e.filter.length===0)return"closeMenu";if(e.filter.length>0&&t.key==="Backspace")return"removeChar";if(!r.includes(t.key))return"addChar";if(t.key==="ArrowLeft"||t.key==="ArrowRight")return"Catch"}return"Ignore"};var le=class extends lh{get name(){return"slash-menu"}createPlugin(){let t={open:!1,filter:"",ignoredKeys:Ki};return{props:{handleKeyDown(o,r){let n=o.state;if(!n)return!1;let i=this.getState(n);if(!i)return!1;switch(Ds(i,r,o,t.ignoredKeys)){case"openMenu":let a=n.selection.from<0||n.selection.from>n.doc.content.size?null:n.doc.resolve(n.selection.from),l=a?.parent,c=l?.type.name==="paragraph";return a?.depth===1?(c&&l.textContent==="/"&&a&&o.dispatch(n.tr.delete(a.start(),a.end()).setMeta(this.spec.key,{type:"open"})),ye(o,this.spec.key,{type:"open"}),!0):!1;case"closeMenu":return r.isComposing?ye(o,this.spec.key,{type:"close"}):xe(r)?o.dispatch(n.tr.insertText("/").setMeta(this.spec.key,{type:"close"})):ye(o,this.spec.key,{type:"close"}),!0;case"Execute":case"NextItem":case"PrevItem":case"addChar":case"removeChar":case"Catch":return!0;default:return!1}}},state:{init(){return t},apply(o,r){switch(o.getMeta(this.spec.key)?.type){case"open":return{...t,open:!0};case"close":return t;case"execute":return{...t,open:!0};default:return r}}},initialState:t}}};le=M([ah({defaultOptions:{}})],le);import{TextExtension as ch}from"@rme-sdk/main/extensions";var xo=class extends ch{fromMarkdown(){return[{type:1,token:"text",getText:t=>t.content},{type:1,token:"inline",getText:t=>t.content},{type:1,token:"softbreak",getText:t=>`
1706
- `}]}toMarkdown({state:t,node:o}){t.text(o.text||"")}};import{PlainExtension as dh,extension as mh}from"@rme-sdk/core";var ce=class extends dh{get name(){return"transformer"}createPlugin(){let t={isTransformerFlag:!0,stringToDoc:null,docToString:null};return{state:{init(){return t},apply:(o,r)=>{let n=o.getMeta(this.pluginKey);return n?{...r,stringToDoc:n.stringToDoc,docToString:n.docToString}:r}},initialState:t}}};ce=M([mh({defaultOptions:{}})],ce);import{ViewPlugin as ph}from"@codemirror/view";import{extension as uh,isTextSelection as fh,PlainExtension as hh}from"@rme-sdk/core";var Vs=32;function gh(e){if(!T())return!1;let o=window.getComputedStyle(e).overflowY;return o!=="visible"&&o!=="clip"&&e.scrollHeight>e.clientHeight}function bh(e){if(!T())return null;let t=e.dom.parentElement;for(;t;){if(gh(t))return t;t=t.parentElement}return document}function wt(e){return!e||!T()?0:e===document?window.scrollY:e.scrollTop}function yh(e){return!e||!T()?0:e===document?window.innerHeight:e.clientHeight}function xh(e){if(!e||!T())return 0;if(e===document){let t=document.scrollingElement;return t?t.scrollHeight-window.innerHeight:0}return e.scrollHeight-e.clientHeight}function kh(e,t){if(!(!e||!T())){if(e===document){window.scrollTo({top:t,behavior:"smooth"});return}e.scrollTo({top:t,behavior:"smooth"})}}function Fs(e){return!e||!T()||e===document?0:e.getBoundingClientRect().top}var Z=class extends hh{constructor(){super(...arguments);this.toggleTypewriterScroll=o=>({dispatch:r})=>{if(!r)return!0;let n=o!==void 0?o:!this.options.enabled;return this.setOptions({enabled:n}),!0};this.enableTypewriterScroll=()=>this.toggleTypewriterScroll(!0);this.disableTypewriterScroll=()=>this.toggleTypewriterScroll(!1)}get name(){return"typewriterScroll"}createCommands(){return{toggleTypewriterScroll:this.toggleTypewriterScroll,enableTypewriterScroll:this.enableTypewriterScroll,disableTypewriterScroll:this.disableTypewriterScroll}}createHelpers(){return{isTypewriterScrollEnabled:()=>this.options.enabled}}createCodeMirrorExtension(){let o=this;return ph.fromClass(class{constructor(){this.rafId=null}update(r){o.options.enabled&&(!r.docChanged&&!r.selectionSet||this.scheduleCenter(r))}scheduleCenter(r){this.rafId!==null&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame(()=>{this.rafId=null,this.centerCaretLine(r)})}centerCaretLine(r){if(!T())return;let{view:n}=r,s=n.state.selection.main.head,l=n.state.doc.lineAt(s).from,c=n.coordsAtPos(l);if(!c)return;let d=c.top,m=c.bottom,p=(d+m)/2,f=window.innerHeight/2,u=p-f;if(Math.abs(u)<=Vs)return;let y=window.scrollY,b=Math.max(0,Math.min(document.documentElement.scrollHeight-window.innerHeight,y+u));b!==y&&window.scrollTo({top:b,behavior:"smooth"})}destroy(){this.rafId!==null&&cancelAnimationFrame(this.rafId)}})}createPlugin(){let o=null,r=!1,n=()=>{o!==null&&(cancelAnimationFrame(o),o=null)},i=d=>{if(!T())return!1;let m=document.activeElement;return!m||m===d.dom||!d.dom.contains(m)?!1:!!m.closest(".cm-editor")},s=d=>{if(!this.options.enabled||r||!d.hasFocus())return;let m=bh(d),p=xh(m);if(!(p<=0))try{let f,u;if(i(d)){if(!T())return;let h=document.activeElement?.closest(".cm-editor");if(!h||!h.querySelector(".cm-content"))return;let S=window.getSelection();if(!S||S.rangeCount===0)return;let C=S.getRangeAt(0).getClientRects();if(C.length===0)return;let v=C[0],A=wt(m),R=Fs(m);f=A+v.top-R,u=A+v.bottom-R}else{let{selection:k}=d.state;if(!fh(k)||!k.empty)return;let h=d.coordsAtPos(k.head);if(!h)return;let g=wt(m),S=Fs(m);f=g+h.top-S,u=g+h.bottom-S}let y=(f+u)/2,b=wt(m)+yh(m)/2,x=y-b;if(Math.abs(x)<=Vs)return;let E=Math.max(0,Math.min(p,wt(m)+x));E!==wt(m)&&kh(m,E)}catch{return}},a=d=>{n(),T()&&(o=requestAnimationFrame(()=>{o=null,s(d)}))},l=()=>{c&&i(c)&&a(c)},c=null;return{view:d=>{c=d;let m=()=>{c&&i(c)&&a(c)};return T()&&document.addEventListener("selectionchange",m),{update:(p,f)=>{if(p!==d)return;let u=!p.state.doc.eq(f.doc),y=!p.state.selection.eq(f.selection);!u&&!y||a(p)},destroy:()=>{n(),T()&&document.removeEventListener("selectionchange",m),c=null}}},props:{handleDOMEvents:{compositionstart:()=>(r=!0,!1),compositionend:d=>(r=!1,a(d),!1),focus:d=>(a(d),!1),blur:()=>(n(),r=!1,!1)}}}}};Z=M([uh({defaultOptions:{enabled:!1},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],Z);function Th(e){let t=f=>(T()&&navigator.clipboard&&navigator.clipboard.writeText(f),!0),{handleViewImgSrcUrl:o,imageHostingHandler:r,imagePasteHandler:n,customCopyFunction:i=t,clipboardReadFunction:s=Tt,codemirrorOptions:a={},typewriterScroll:l={}}=e,c=new Z(l),d=l.enabled===!0?[c.createCodeMirrorExtension()]:[],m={customCopyFunction:i,codemirrorExtensions:[...dr({...a,lineNumbers:!0}),...d]},p=[...Eh({excludeExtensions:["paragraph","text"]}),...bs({handleViewImgSrcUrl:o}),new Ve,new wh({}),new We({handleViewImgSrcUrl:o,imageHostingHandler:r,imagePasteHandler:n}),new Ue({handleViewImgSrcUrl:o,imageHostingHandler:r,imagePasteHandler:n,uploadHandler:e.uploadImageHandler}),new qt,new he,new ze({enableResizing:!0}),new Ye({placeholder:"Type '/' for commands"}),new bo,new xo,new Gt,new $t,new jt({}),new mo,new de({extensions:[...dr({...a,lineNumbers:!0}),...d],useProsemirrorHistoryKey:!0,customCopyFunction:i}),new Qt({}),new Ht({resizable:!1}),new Vt,new Dt,new Ft,new ie({decoration:{style:"background-color: yellow; color: black"},activeDecoration:{style:"background-color: orange; color: black"}}),new ge({handleViewImgSrcUrl:o}),new De({imagePasteHandler:n,clipboardReadFunction:s}),new Sh({}),new Ch({className:"rme-drop-cursor"}),new le,new kt,new ao,new Qe(m),new $e({...m,handleViewImgSrcUrl:o}),new Xe(m),new Ee({}),new Je({}),new Ze({}),new et({}),new tt({}),new ce({}),new Se,c];return e.ai&&(p.unshift(new He(e.ai)),e.ai.copilot&&p.unshift(new Fe(e.ai.copilot))),p}var Kr=Th;var Wr=class{constructor(t){this.nodes=t,this.delimiter="",this.out="",this.closed=null,this.inTightList=!1}flushClose(t=2){if(this.closed){if(this.ensureNewLine(),t>1){let o=this.delimiter,r=/\s+$/.exec(o);r&&(o=o.slice(0,o.length-r[0].length));for(let n=1;n<t;n++)this.out+=o+`
1704
+ `),o.write("$$"),o.closeBlock(r),o.ensureNewLine()}};Qe=M([gf({defaultOptions:{}})],Qe);import{convertCommand as Sf,extension as Tf,isElementDomNode as vf,NodeExtension as Mf,nodeInputRule as Pf}from"@rme-sdk/core";import{setBlockType as Nf}from"@rme-sdk/pm/commands";import{TextSelection as Rf}from"@rme-sdk/pm/state";import{Compartment as wf}from"@codemirror/state";import Ef from"mermaid";import Cf from"js-event-bus";var wt=new Cf;var Is={count:0},bo=class{constructor(t,o,r,n){this._htmlSrcElt=null;this.destroying=!1;this.renderViewId=null;this.ignoreMutation=()=>!0;this.changeTheme=()=>{this.renderHtml()};this._node=t,this._outerView=o,this._getPos=r,this.schema=t.type.schema,this.options=n,this.dom=document.createElement("div"),this.dom.classList.add("mermaid-node"),this._htmlRenderElt=document.createElement("p"),this._htmlRenderElt.textContent="",this._htmlRenderElt.classList.add("html-node-render"),_e(this.dom,{labelName:"Mermaid"}).addEventListener("click",()=>this.ensureFocus()),this.dom.appendChild(this._htmlRenderElt),this.dom.appendChild(this._htmlRenderElt),this._htmlSrcElt=document.createElement("span"),this._htmlSrcElt.classList.add("mermaid-src","node-hide"),this.languageConf=new wf,this.dom.appendChild(this._htmlSrcElt),this.renderHtml(),wt.on("change-theme",this.changeTheme)}ensureFocus(){this._outerView.hasFocus()&&(this._innerView?this._innerView.focus():this.openEditor())}update(t){return this._node=t,!!this.mfCodemirrorView?.update(t)}stopEvent(){return!0}renderHtml(){if(!this._htmlRenderElt||!T())return;let t=this.mfCodemirrorView?.content||this._node.textContent;try{this._htmlRenderElt.innerHTML="",this._htmlRenderElt.classList.remove("node-hide"),this._htmlRenderElt.classList.add("node-show"),Is.count++;let o=`mermaid-${Is.count}`;Ef.render(o,t).then(({svg:r,bindFunctions:n})=>{this._htmlRenderElt&&(this._htmlRenderElt.innerHTML=r,n?.(this._htmlRenderElt))}).catch(r=>{T()&&document.getElementById("d"+o)?.remove(),console.error("\u6E32\u67D3\u5931\u8D25:",o,r)})}catch{}}setSelection(t,o){this._innerView?this.mfCodemirrorView?.setSelection(t,o):(this.openEditor(),this.mfCodemirrorView.setSelection(t,o))}openEditor(){if(this._innerView)throw Error("inner view should not exist!");this.mfCodemirrorView=new U({view:this._outerView,node:this._node,getPos:this._getPos,languageName:"mermaid",extensions:this.options?.codemirrorExtensions||[dr],options:{useProsemirrorHistoryKey:!0,codemirrorEditorViewConfig:{parent:this._htmlSrcElt},copyButton:{enabled:!0,customCopyFunction:this.options?.customCopyFunction}}}),this._htmlSrcElt.classList.remove("node-hide"),this._innerView=this.mfCodemirrorView.cm,this._htmlRenderElt?.classList.add("node-hide");let t=this._node.textContent.length||0;this.setSelection(t,t),this._innerView.focus(),this._innerView.contentDOM.addEventListener("blur",()=>{this.destroying||this.closeEditor(!0)}),this.mfCodemirrorView.forwardSelection()}destroy(){this.destroying=!0,this.closeEditor(!1),this._htmlRenderElt&&(this._htmlRenderElt.remove(),delete this._htmlRenderElt),this._htmlSrcElt&&(this._htmlSrcElt.remove(),this._htmlSrcElt=null),this.dom.remove(),wt.detach("change-theme",this.changeTheme)}closeEditor(t=!0){this._innerView&&(this._innerView.destroy(),this._innerView=void 0),this.mfCodemirrorView&&(this.mfCodemirrorView.destroy(),this.mfCodemirrorView=void 0),t&&this.renderHtml()}};var Xe=class extends Mf{constructor(){super(...arguments);this.createMermaidBlock=()=>Sf(Nf(this.type))}get name(){return"mermaid_node"}createNodeSpec(o,r){return{group:"block",content:"text*",defining:!0,...r,code:!0,marks:"",attrs:{...o.defaults()},parseDOM:[{tag:"pre",getAttrs:n=>vf(n)?o.parse(n):!1},...r.parseDOM??[]],toDOM(){return["pre",{"data-type":"mermaid"},0]},isolating:!0}}createNodeViews(){return(o,r,n)=>new bo(o,r,n,this.options)}createInputRules(){return[Pf({regexp:/^```mermaid$/,type:this.type,beforeDispatch:({tr:r,start:n,match:i})=>{let s=r.doc.resolve(n);r.setSelection(Rf.near(s))}})]}createCommands(){return{createMermaidBlock:this.createMermaidBlock}}fromMarkdown(){return[{type:2,token:"mermaid_node",node:this.name,hasOpenClose:!1}]}toMarkdown({state:o,node:r}){o.write("```mermaid\n"),o.text(r.textContent,!1),o.text(`
1705
+ `),o.write("```"),o.closeBlock(r),o.ensureNewLine()}};Xe=M([Tf({defaultOptions:{customCopyFunction:void 0},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],Xe);import{isHTMLElement as Os}from"@ocavue/utils";import{PlainExtension as zf}from"@rme-sdk/core";import{NodeSelection as Hs,TextSelection as Kf}from"@rme-sdk/pm/state";import{isHTMLElement as If}from"@ocavue/utils";import{NodeSelection as Af}from"@rme-sdk/pm/state";function Lf(e){let t=[[-1,e.state.doc]],o=[];for(;t.length>0;){let[r,n]=t.pop();if(r>=0){let i=e.nodeDOM(r);if(i&&If(i)){let s=i.getBoundingClientRect(),{top:a,bottom:l,left:c,right:d}=s;o.push([r,[c,a,d,a]],[r+n.nodeSize,[c,l,d,l]])}}if(n.isBlock&&!n.isTextblock){let i=r+1;for(let s of n.children)t.push([i,s]),i+=s.nodeSize}}return o}function _s(e,t){let o=[],r,n,i=()=>{let d=e.dom.getBoundingClientRect(),m=e.state.doc;return o&&r&&n&&d.width===n.width&&d.height===n.height&&d.x===n.x&&d.y===n.y&&r.eq(m)||(n=d,r=m,o=Lf(e)),o},s=(d,m)=>{if(!e.editable||e.isDestroyed)return;let p=(y,b)=>{let[x,E]=y,[k,h]=b,g=Ls(d,E),S=Ls(d,h);return g-S||x-k},f=i();f.sort(p),f=f.slice(0,8);let u=f.find(y=>t?.({view:e,pos:y[0],event:m})!==!1);if(!(u&&Bf(e,u[0])))return u},a,l;return(d,m)=>(a&&_f(a,d)||(a=d,l=s(d,m)),l)}function _f(e,t){return e[0]===t[0]&&e[1]===t[1]}function As(e,t){return Math.abs(e[0]-t[0])+Math.abs(e[1]-t[1])}function Ls(e,t){return Math.min(As(e,[t[0],t[1]]),As(e,[t[2],t[3]]))}function Bf(e,t){let o=e.dragging;if(!o)return;let{move:r}=o;if(!r)return;let n=e.state.selection;if(!(n instanceof Af))return;let{from:i,to:s}=n;return i<=t&&t<=s}import{isElement as Vr,isTextNode as Of}from"@ocavue/utils";function ae(e){let t=e.getBoundingClientRect();if(t.width===0&&t.height===0&&t.x===0&&t.y===0&&e.getClientRects().length===0){let r=Array.from(e.children).map(l=>ae(l));if(r.length===0)return t;if(r.length===1)return r[0];let{top:n,bottom:i,left:s,right:a}=r[0];for(let l=1;l<r.length;l++){let c=r[l];c.top<n&&(n=c.top),c.bottom>i&&(i=c.bottom),c.left<s&&(s=c.left),c.right>a&&(a=c.right)}return{top:n,bottom:i,left:s,right:a}}return t}function Bs(e,t,o){let r=ae(e.dom);if(!Df(r,t,o))return;let n=e.state.doc,i=-1;for(;n;){if(n.isBlock&&(n.isTextblock||n.isAtom||n.type.spec.isolating))return{node:n,pos:i};let s=[],a=[];n.forEach((d,m)=>{s.push(d),a.push(m+i+1)});let l=0,c=s.length-1;for(;l<=c;){let d=c-(c-l>>1),m=e.nodeDOM(a[d]),p=Hf(m);if(!p){console.warn(`[rme] Unable to get rect at position: ${a[d]}`);return}if(p.top>o)c=d-1;else if(p.bottom<o)l=d+1;else{l=d;break}}if(l>c)return;n=s[l],i=a[l]}}function Hf(e){if(e&&Vr(e)&&e.isConnected)return ae(e)}function Df(e,t,o){return t>=e.left&&t<=e.right&&o>=e.top&&o<=e.bottom}function Fr(e,t){if(!(e&&!e.isConnected)&&!(t&&!t.isConnected))if(e&&t){let o=Vf(e),r=Dr(t);if(o&&r){let{top:n,bottom:i}=r,{left:s,right:a}=o;return{top:n,bottom:i,left:s,right:a}}else return o||r}else{if(e)return Dr(e);if(t)return Dr(t)}}function Vf(e){if(!Vr(e))return;let t=ae(e),o=e.ownerDocument.defaultView?.getComputedStyle(e),r=o&&Number.parseInt(o.marginLeft,10)||0,n=o&&Number.parseInt(o.marginRight,10)||0,i=t.left-r,s=t.right+n;return{top:t.top,bottom:t.bottom,left:i,right:s}}function Dr(e){if(Vr(e))return $f(e);if(Of(e))return Ff(e)}function Ff(e){let t=e.ownerDocument;if(!t)return;let o=t.createRange();return o.setStart(e,0),o.setEnd(e,0),o.getClientRects()[0]}function $f(e){if(e.nodeName==="BR")return e.getBoundingClientRect();let t=ae(e),o=e.ownerDocument.defaultView?.getComputedStyle(e),r=o&&Number.parseInt(o.marginLeft,10)||0,n=o&&Number.parseInt(o.marginRight,10)||0,i=t.left-r,s=t.right+n,a=o&&Number.parseInt(o.lineHeight,10)||24,l=o&&Number.parseInt(o.paddingTop,10)||0,c=o&&Number.parseInt(o.borderTopWidth,10)||0,d=t.top+l+c,m=d+a;return{top:d,bottom:m,left:i,right:s}}var Se=class extends zf{get name(){return"nodeIndicator"}createPlugin(){let t,o={node:null,pos:null,rect:null};return{initialState:o,state:{init:()=>o,apply:(r,n)=>{let i=r.getMeta(this.pluginKey);return i?{...n,...i}:r.docChanged?{...n}:n}},view:r=>(t=_s(r),{}),props:{handleDrop:(r,n,i,s)=>{if(!t)return!1;let a=t([n.clientX,n.clientY],n);if(!a)return!1;n.preventDefault();let l=a[0],c=r.state.tr;if(s){let{node:u}=r.dragging||{};u?u.replace(c):c.deleteSelection()}let d=c.mapping.map(l),m=i.openStart==0&&i.openEnd==0&&i.content.childCount==1,p=c.doc;if(m?c.replaceRangeWith(d,d,i.content.firstChild):c.replaceRange(d,d,i),c.doc.eq(p))return!1;let f=c.doc.resolve(d);if(m&&Hs.isSelectable(i.content.firstChild)&&f.nodeAfter&&f.nodeAfter.sameMarkup(i.content.firstChild))c.setSelection(new Hs(f));else{let u=c.mapping.map(l);c.mapping.maps[c.mapping.maps.length-1].forEach((y,b,x,E)=>u=E),c.setSelection(Wf(r,f,c.doc.resolve(u)))}return r.focus(),r.dispatch(c.setMeta("uiEvent","drop")),!0},handleDOMEvents:{pointerout:(r,n)=>{let i=n.relatedTarget;return i&&r.dom.contains(i)||i&&i instanceof HTMLElement&&i.closest(".rme-block-handler")||this.pluginKey.getState(r.state)?.node!==null&&r.dispatch(r.state.tr.setMeta(this.pluginKey,{node:null,pos:null,rect:null})),!1},pointermove:(r,n)=>{r.__nodeIndicatorThrottled||(r.__nodeIndicatorThrottled=!0,requestAnimationFrame(()=>{r.__nodeIndicatorThrottled=!1,Uf(r,n,this.pluginKey)}))}}}}}};function Wf(e,t,o,r){return e.someProp("createSelectionBetween",n=>n(e,t,o))||Kf.between(t,o,r)}function Uf(e,t,o){let r=o.getState(e.state),{x:n,y:i}=t,s=Bs(e,n,i);if(!s){r?.node!==null&&e.dispatch(e.state.tr.setMeta(o,{node:null,pos:null,rect:null}));return}let{node:a,pos:l}=s,c=e.nodeDOM(l);if(!c||!Os(c)){r?.node!==null&&e.dispatch(e.state.tr.setMeta(o,{node:null,pos:null,rect:null}));return}let d=a,m=l,p=e.state.doc.resolve(l);if(p.depth>0&&p.index(p.depth)===0){let y=p.before(p.depth);d=p.parent,m=y}if(r?.pos===m&&r?.node&&d.type===r?.node.type)return;let f=e.nodeDOM(m);if(!f||!Os(f))return;let u;if(p.depth>0&&p.index(p.depth)===0){let y=e.nodeDOM(p.before(p.depth));u=Fr(y,f)}else u=Fr(void 0,f);e.dispatch(e.state.tr.setMeta(o,{node:d,pos:m,rect:u||{}}))}import{ParagraphExtension as qf}from"@rme-sdk/main/extensions";var yo=class extends qf{createNodeSpec(t,o){return{...super.createNodeSpec(t,o),whitespace:"pre"}}fromMarkdown(){return[{type:2,token:"paragraph",node:this.name,hasOpenClose:!0}]}toMarkdown({state:t,node:o}){t.renderInline(o),t.closeBlock(o)}};import{extension as Gf,ManagerPhase as jf,PlainExtension as Qf}from"@rme-sdk/core";import{Decoration as Xf,DecorationSet as Yf}from"@rme-sdk/pm/view";var Ye=class extends Qf{get name(){return"placeholder"}createAttributes(){return{"aria-placeholder":this.options.placeholder}}createPlugin(){return{props:{decorations:t=>Jf({state:t,extension:this})}}}onSetOptions(t){let{changes:o}=t;o.placeholder.changed&&this.store.phase>=jf.EditorView&&this.store.updateAttributes()}};Ye=M([Gf({defaultOptions:{placeholder:""},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],Ye);function Jf(e){let{extension:t,state:o}=e,{emptyNodeClass:r,placeholder:n}=t.options,i=[];return o.doc.descendants((s,a,l)=>{if(s.type.name==="paragraph"&&s.content.size===0&&n&&o.selection.from-1===a&&l?.type.name==="doc"){let c=Xf.node(a,a+s.nodeSize,{class:r,"data-placeholder":n});i.push(c)}}),Yf.create(o.doc,i)}import{extension as Zf,ExtensionTag as xo,findParentNodeOfType as eh,isElementDomNode as th,NodeExtension as oh,nodeInputRule as rh}from"@rme-sdk/core";import{Decoration as nh,DecorationSet as Ds}from"@rme-sdk/pm/view";var Je=class extends oh{get name(){return"reference_def"}createTags(){return[xo.LastNodeCompatible,xo.TextBlock,xo.Block,xo.FormattingNode]}createNodeSpec(t,o){return{group:"reference",content:"reference_label reference_href reference_title*",...o,attrs:{...t.defaults(),label:{default:""},href:{default:""},title:{default:""}},parseDOM:[{tag:"div[data-reference-definition]",getAttrs:r=>{if(!th(r))return!1;let n=r.getAttribute("data-reference-label")||"",i=r.getAttribute("data-reference-href")||"",s=r.getAttribute("data-reference-title")||"";return{...t.parse(r),label:n,href:i,title:s}}},...o.parseDOM??[]],toDOM:r=>["div",{...t.dom(r),class:"reference-def"},0]}}createDecorations(t){let o=eh({types:this.type,selection:t.selection});return o?Ds.create(t.doc,[nh.node(o.pos,o.pos+o.node.nodeSize,{class:"rme-block-focus"})]):Ds.empty}createInputRules(){return[rh({regexp:/^\[([^\]]*)\]:\s*([^\s"]+(:\s+[^\s"]+)*)?(?:\s+"(.*?)")?/,type:this.type,getAttributes:t=>{let[,o,r,n]=t;return console.log("matchmatch",t),{label:o,ref:r,title:n}}})]}fromMarkdown(){return[{type:2,node:this.name,token:"reference_def",hasOpenClose:!0,getAttrs:t=>({label:t.attrs?.[0]?.[1]||"",href:t.attrs?.[1]?.[1]||"",title:t.attrs?.[2]?.[1]||""})}]}toMarkdown({state:t,node:o}){t.renderInline(o),t.closeBlock(o)}};Je=M([Zf({defaultOptions:{},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],Je);import{extension as $r,ExtensionTag as zr,NodeExtension as Kr}from"@rme-sdk/core";var Ze=class extends Kr{get name(){return"reference_label"}createTags(){return[zr.InlineNode]}createNodeSpec(t,o){return{inline:!0,group:"reference_inline",content:"text*",...o,attrs:{...t.defaults()},toDOM:r=>["span",{...t.dom(r),class:"reference-definition-node__label"},["span",{contenteditable:"false",disabled:"true"},"\u200B"],["span",{},0],["span",{contenteditable:"false",disabled:"true"},"\u200B"]]}}fromMarkdown(){return[{type:6,token:"reference_label",getText:t=>t.content}]}toMarkdown({state:t,node:o}){t.write("["),t.text(o.textContent||""),t.write("]: ")}createKeymap(){return{Backspace:({state:t,dispatch:o})=>{let{selection:r}=t,{$from:n}=r;if(n.parent.type.name!==this.name)return!1;if(n.parent.textContent.length===0){let i=null,s=-1;for(let a=n.depth-1;a>=0;a--){let l=n.node(a);if(l.type.name==="reference_def"){i=l,s=n.start(a);break}}if(i&&s!==-1&&o)return o(t.tr.delete(s,s+i.nodeSize)),!0}return!1}}}};Ze=M([$r({defaultOptions:{},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],Ze);var et=class extends Kr{get name(){return"reference_href"}createTags(){return[zr.InlineNode]}createNodeSpec(t,o){return{inline:!0,group:"reference_inline",content:"text*",...o,attrs:{...t.defaults()},toDOM:r=>["span",{...t.dom(r),class:"reference-definition-node__href"},0]}}fromMarkdown(){return[{type:6,token:"reference_href",getText:t=>t.content}]}toMarkdown({state:t,node:o}){t.text(`${o.textContent||""} `)}};et=M([$r({defaultOptions:{},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],et);var tt=class extends Kr{get name(){return"reference_title"}createTags(){return[zr.InlineNode]}createNodeSpec(t,o){return{inline:!0,group:"reference_inline",content:"text*",...o,attrs:{...t.defaults()},toDOM:r=>["span",{...t.dom(r),class:"reference-definition-node__title"},0]}}fromMarkdown(){return[{type:6,token:"reference_title",getText:t=>t.content}]}toMarkdown({state:t,node:o}){o.textContent&&(t.write('"'),t.text(o.textContent||""),t.write('"'))}};tt=M([$r({defaultOptions:{},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],tt);import{TextSelection as gP}from"@rme-sdk/pm/state";import{extension as ah,PlainExtension as lh}from"@rme-sdk/main";var ih=(e=!1)=>({shouldOpen:(t,o,r)=>{if(o.isComposing)return!1;let n=r.state,s=(n.selection.from<0||n.selection.from>n.doc.content.size?null:n.doc.resolve(n.selection.from))?.parent,a=s?.type.name==="paragraph",l=n.selection.$head.parentOffset,c=n.selection.$head.parent.textContent.slice(l-1,l),d=a&&s?.textContent===c,m=c==="\u200A"||c===""||c===" ";return!t.open&&xe(o)&&a&&(d||m||n.selection.from!==n.selection.to&&e)},shouldClose:(t,o)=>t.open&&(xe(o)||o.key==="Escape"||o.key==="Backspace")&&t.filter.length===0}),Vs=(e,t,o,r,n,i)=>{if(t.isComposing)return t.key==="Escape"||t.key==="Backspace"&&e.filter.length===0?"closeMenu":"Ignore";let s=n||ih(i);if(s.shouldOpen(e,t,o))return"openMenu";if(s.shouldClose(e,t,o))return"closeMenu";if(e.open){if(t.key==="ArrowDown")return"NextItem";if(t.key==="ArrowUp")return"PrevItem";if(t.key==="Enter"||t.key==="Tab")return"Execute";if(t.key==="Escape"||t.key==="Backspace"&&e.filter.length===0)return"closeMenu";if(e.filter.length>0&&t.key==="Backspace")return"removeChar";if(!r.includes(t.key))return"addChar";if(t.key==="ArrowLeft"||t.key==="ArrowRight")return"Catch"}return"Ignore"};var le=class extends lh{get name(){return"slash-menu"}createPlugin(){let t={open:!1,filter:"",ignoredKeys:Wi};return{props:{handleKeyDown(o,r){let n=o.state;if(!n)return!1;let i=this.getState(n);if(!i)return!1;switch(Vs(i,r,o,t.ignoredKeys)){case"openMenu":let a=n.selection.from<0||n.selection.from>n.doc.content.size?null:n.doc.resolve(n.selection.from),l=a?.parent,c=l?.type.name==="paragraph";return a?.depth===1?(c&&l.textContent==="/"&&a&&o.dispatch(n.tr.delete(a.start(),a.end()).setMeta(this.spec.key,{type:"open"})),ye(o,this.spec.key,{type:"open"}),!0):!1;case"closeMenu":return r.isComposing?ye(o,this.spec.key,{type:"close"}):xe(r)?o.dispatch(n.tr.insertText("/").setMeta(this.spec.key,{type:"close"})):ye(o,this.spec.key,{type:"close"}),!0;case"Execute":case"NextItem":case"PrevItem":case"addChar":case"removeChar":case"Catch":return!0;default:return!1}}},state:{init(){return t},apply(o,r){switch(o.getMeta(this.spec.key)?.type){case"open":return{...t,open:!0};case"close":return t;case"execute":return{...t,open:!0};default:return r}}},initialState:t}}};le=M([ah({defaultOptions:{}})],le);import{TextExtension as ch}from"@rme-sdk/main/extensions";var ko=class extends ch{fromMarkdown(){return[{type:1,token:"text",getText:t=>t.content},{type:1,token:"inline",getText:t=>t.content},{type:1,token:"softbreak",getText:t=>`
1706
+ `}]}toMarkdown({state:t,node:o}){t.text(o.text||"")}};import{PlainExtension as dh,extension as mh}from"@rme-sdk/core";var ce=class extends dh{get name(){return"transformer"}createPlugin(){let t={isTransformerFlag:!0,stringToDoc:null,docToString:null};return{state:{init(){return t},apply:(o,r)=>{let n=o.getMeta(this.pluginKey);return n?{...r,stringToDoc:n.stringToDoc,docToString:n.docToString}:r}},initialState:t}}};ce=M([mh({defaultOptions:{}})],ce);import{ViewPlugin as ph}from"@codemirror/view";import{extension as uh,isTextSelection as fh,PlainExtension as hh}from"@rme-sdk/core";var Fs=32;function gh(e){if(!T())return!1;let o=window.getComputedStyle(e).overflowY;return o!=="visible"&&o!=="clip"&&e.scrollHeight>e.clientHeight}function bh(e){if(!T())return null;let t=e.dom.parentElement;for(;t;){if(gh(t))return t;t=t.parentElement}return document}function Et(e){return!e||!T()?0:e===document?window.scrollY:e.scrollTop}function yh(e){return!e||!T()?0:e===document?window.innerHeight:e.clientHeight}function xh(e){if(!e||!T())return 0;if(e===document){let t=document.scrollingElement;return t?t.scrollHeight-window.innerHeight:0}return e.scrollHeight-e.clientHeight}function kh(e,t){if(!(!e||!T())){if(e===document){window.scrollTo({top:t,behavior:"smooth"});return}e.scrollTo({top:t,behavior:"smooth"})}}function $s(e){return!e||!T()||e===document?0:e.getBoundingClientRect().top}var Z=class extends hh{constructor(){super(...arguments);this.toggleTypewriterScroll=o=>({dispatch:r})=>{if(!r)return!0;let n=o!==void 0?o:!this.options.enabled;return this.setOptions({enabled:n}),!0};this.enableTypewriterScroll=()=>this.toggleTypewriterScroll(!0);this.disableTypewriterScroll=()=>this.toggleTypewriterScroll(!1)}get name(){return"typewriterScroll"}createCommands(){return{toggleTypewriterScroll:this.toggleTypewriterScroll,enableTypewriterScroll:this.enableTypewriterScroll,disableTypewriterScroll:this.disableTypewriterScroll}}createHelpers(){return{isTypewriterScrollEnabled:()=>this.options.enabled}}createCodeMirrorExtension(){let o=this;return ph.fromClass(class{constructor(){this.rafId=null}update(r){o.options.enabled&&(!r.docChanged&&!r.selectionSet||this.scheduleCenter(r))}scheduleCenter(r){this.rafId!==null&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame(()=>{this.rafId=null,this.centerCaretLine(r)})}centerCaretLine(r){if(!T())return;let{view:n}=r,s=n.state.selection.main.head,l=n.state.doc.lineAt(s).from,c=n.coordsAtPos(l);if(!c)return;let d=c.top,m=c.bottom,p=(d+m)/2,f=window.innerHeight/2,u=p-f;if(Math.abs(u)<=Fs)return;let y=window.scrollY,b=Math.max(0,Math.min(document.documentElement.scrollHeight-window.innerHeight,y+u));b!==y&&window.scrollTo({top:b,behavior:"smooth"})}destroy(){this.rafId!==null&&cancelAnimationFrame(this.rafId)}})}createPlugin(){let o=null,r=!1,n=()=>{o!==null&&(cancelAnimationFrame(o),o=null)},i=d=>{if(!T())return!1;let m=document.activeElement;return!m||m===d.dom||!d.dom.contains(m)?!1:!!m.closest(".cm-editor")},s=d=>{if(!this.options.enabled||r||!d.hasFocus())return;let m=bh(d),p=xh(m);if(!(p<=0))try{let f,u;if(i(d)){if(!T())return;let h=document.activeElement?.closest(".cm-editor");if(!h||!h.querySelector(".cm-content"))return;let S=window.getSelection();if(!S||S.rangeCount===0)return;let C=S.getRangeAt(0).getClientRects();if(C.length===0)return;let v=C[0],A=Et(m),R=$s(m);f=A+v.top-R,u=A+v.bottom-R}else{let{selection:k}=d.state;if(!fh(k)||!k.empty)return;let h=d.coordsAtPos(k.head);if(!h)return;let g=Et(m),S=$s(m);f=g+h.top-S,u=g+h.bottom-S}let y=(f+u)/2,b=Et(m)+yh(m)/2,x=y-b;if(Math.abs(x)<=Fs)return;let E=Math.max(0,Math.min(p,Et(m)+x));E!==Et(m)&&kh(m,E)}catch{return}},a=d=>{n(),T()&&(o=requestAnimationFrame(()=>{o=null,s(d)}))},l=()=>{c&&i(c)&&a(c)},c=null;return{view:d=>{c=d;let m=()=>{c&&i(c)&&a(c)};return T()&&document.addEventListener("selectionchange",m),{update:(p,f)=>{if(p!==d)return;let u=!p.state.doc.eq(f.doc),y=!p.state.selection.eq(f.selection);!u&&!y||a(p)},destroy:()=>{n(),T()&&document.removeEventListener("selectionchange",m),c=null}}},props:{handleDOMEvents:{compositionstart:()=>(r=!0,!1),compositionend:d=>(r=!1,a(d),!1),focus:d=>(a(d),!1),blur:()=>(n(),r=!1,!1)}}}}};Z=M([uh({defaultOptions:{enabled:!1},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],Z);function Th(e){let t=f=>(T()&&navigator.clipboard&&navigator.clipboard.writeText(f),!0),{handleViewImgSrcUrl:o,imageHostingHandler:r,imagePasteHandler:n,customCopyFunction:i=t,clipboardReadFunction:s=vt,codemirrorOptions:a={},typewriterScroll:l={}}=e,c=new Z(l),d=l.enabled===!0?[c.createCodeMirrorExtension()]:[],m={customCopyFunction:i,codemirrorExtensions:[...mr({...a,lineNumbers:!0}),...d]},p=[...Eh({excludeExtensions:["paragraph","text"]}),...ys({handleViewImgSrcUrl:o}),new Ve,new wh({}),new We({handleViewImgSrcUrl:o,imageHostingHandler:r,imagePasteHandler:n}),new Ue({handleViewImgSrcUrl:o,imageHostingHandler:r,imagePasteHandler:n,uploadHandler:e.uploadImageHandler}),new Gt,new he,new ze({enableResizing:!0}),new Ye({placeholder:"Type '/' for commands"}),new yo,new ko,new jt,new zt,new Qt({}),new po,new de({extensions:[...mr({...a,lineNumbers:!0}),...d],useProsemirrorHistoryKey:!0,customCopyFunction:i}),new Xt({}),new Dt({resizable:!1}),new Ft,new Vt,new $t,new ie({decoration:{style:"background-color: yellow; color: black"},activeDecoration:{style:"background-color: orange; color: black"}}),new ge({handleViewImgSrcUrl:o}),new De({imagePasteHandler:n,clipboardReadFunction:s}),new Sh({}),new Ch({className:"rme-drop-cursor"}),new le,new Ct,new lo,new Qe(m),new $e({...m,handleViewImgSrcUrl:o}),new Xe(m),new Ee({}),new Je({}),new Ze({}),new et({}),new tt({}),new ce({}),new Se,c];return e.ai&&(p.unshift(new He(e.ai)),e.ai.copilot&&p.unshift(new Fe(e.ai.copilot))),p}var Wr=Th;var Ur=class{constructor(t){this.nodes=t,this.delimiter="",this.out="",this.closed=null,this.inTightList=!1}flushClose(t=2){if(this.closed){if(this.ensureNewLine(),t>1){let o=this.delimiter,r=/\s+$/.exec(o);r&&(o=o.slice(0,o.length-r[0].length));for(let n=1;n<t;n++)this.out+=o+`
1707
1707
  `}this.closed=null}}wrapBlock(t,o,r,n){let i=this.delimiter;this.write(o||t),this.delimiter=this.delimiter+t,n(),this.delimiter=i,this.closeBlock(r)}atBlank(){return/(^|\n)$/.test(this.out)}ensureNewLine(){this.atBlank()||(this.out+=`
1708
1708
  `)}write(t){this.flushClose(),this.delimiter&&this.atBlank()&&(this.out+=this.delimiter),t&&(this.out+=t)}closeBlock(t){this.closed=t}text(t,o=!0){let r=t.split(`
1709
1709
  `);for(let n=0;n<r.length;n++){let i=this.atBlank()||this.closed;this.write(),this.out+=o?this.esc(r[n],!!i):r[n],n!=r.length-1&&(this.out+=`
1710
- `)}}render(t,o,r,n=0){let i=this.nodes[t.type.name];if(i){if(!i)throw new Error(`Can't find node spec for type '${t.type.name}'`);i({state:this,node:t,parent:o,index:r,counter:n})}}renderContent(t){let o=0;if(t.forEach)t.forEach((r,n,i)=>{if(po(r)){let s=i>0?t.child(i-1):null;s&&!po(s)&&(o=0);let a=r.attrs;a.order!=null?o=a.order:o+=1}else o=0;this.render(r,t,i,o)});else{if(po(t)){let r=t.attrs;r.order!=null?o=r.order:o+=1}else o=0;this.render(t,t,0,o)}}renderInline(t){t.forEach((o,r,n)=>{o.isText?this.text(o.text||"",!1):this.render(o,t,n)})}renderList(t,o,r){this.closed&&this.closed.type===t.type?this.flushClose(3):this.inTightList?this.flushClose(1):this.flushClose(2);let n=this.inTightList;this.inTightList=!0,t.forEach((i,s,a)=>{a&&this.flushClose(1),this.wrapBlock(o,r(a),t,()=>this.render(i,t,a))}),this.inTightList=n}esc(t,o){return t=t.replace(/[`*\\~\[\]]/g,"\\$&"),o&&(t=t.replace(/^[:#\-*+]/,"\\$&").replace(/^(\d+)\./,"$1\\.")),t}quote(t){let o=t.includes('"')?t.includes("'")?"()":"''":'""';return o[0]+t+o[1]}repeat(t,o){let r="";for(let n=0;n<o;n++)r+=t;return r}getEnclosingWhitespace(t){return{leading:(/^(\s+)/.exec(t)||[])[0],trailing:(/(\s+)$/.exec(t)||[])[0]}}},ko=class{constructor(t){this.nodes=t}serialize(t){let o=new Wr(this.nodes);return o.renderContent(t),o.out}};import{languages as Co}from"@codemirror/language-data";import{computePosition as vh}from"@floating-ui/dom";import{Selection as $s}from"@rme-sdk/pm/state";import Mh from"fuse.js";import{t as Ph}from"i18next";var Nh=e=>{if(!T())return null;let t=document.createElement("ul");return t.classList.add("code-block__languages"),Co.forEach(o=>{let r=document.createElement("li");r.classList.add("code-block__language"),r.classList.toggle("code-block__language--active",o.name===e),r.innerText=o.name,t.append(r)}),t},ot=({keyword:e,languagesList:t,currentLanguage:o,highlightedIndex:r})=>{let n=Co;if(e&&(n=new Mh(Co,{keys:["name"]}).search(e).map(i=>i.item)),t.innerHTML="",n.length===0){let i=document.createElement("li");return i.classList.add("code-block__language","code-block__language--empty"),i.innerText="No results",t.append(i),n}return n.forEach((i,s)=>{let a=document.createElement("li");a.classList.add("code-block__language"),a.classList.toggle("code-block__language--active",i.name===o),a.classList.toggle("code-block__language--highlight",s===r),a.dataset.value=i.name,a.dataset.index=String(s),a.innerText=i.name,t.append(a)}),n},Rh=e=>{let t=[],o=i=>{i.target.classList.contains("code-block__languages__input")||n()},r=(i,s)=>{let a=e.node.attrs.language||"";a===wo&&(a="");let l=Nh(a),c=Co,d=-1,m=!1,p=k=>{let h=s();h!==void 0&&i.dispatch(i.state.tr.setNodeMarkup(h,void 0,{language:k}))},f=k=>{let h=s();if(h===void 0)return;let g=k<0?h:h+e.node.nodeSize,S=$s.near(i.state.doc.resolve(g),k);i.dispatch(i.state.tr.setSelection(S).scrollIntoView()),i.focus()},u=k=>{let h=s();if(h===void 0)return;let g=k<0?h+e.node.nodeSize-1:h+1,S=$s.near(i.state.doc.resolve(g),k);i.dispatch(i.state.tr.setSelection(S).scrollIntoView()),i.focus()},y=()=>{m||!l||(m=!0,t.push(()=>{m&&l&&(b.removeChild(l),m=!1)}),b.appendChild(l),vh(b,l,{placement:"bottom-start"}).then(({x:k,y:h})=>{Object.assign(l.style,{left:`${k}px`,top:`${h}px`})}))};if(!T()||!l)return document.createElement("div");let b=document.createElement("div"),x=document.createElement("input");b.classList.add("code-block__reference","code-block__reference--active"),x.classList.add("code-block__languages__input"),x.placeholder=Ph("codemirror.searchInputPlaceholder"),b.appendChild(x),x.value=a,x.addEventListener("focus",()=>{let k=c.findIndex(h=>h.name===a);d=k>=0?k:c.length>0?0:-1,c=ot({keyword:x.value,currentLanguage:a,languagesList:l,highlightedIndex:d})}),document.addEventListener("click",o,!0),x.addEventListener("input",k=>{if(k.target){m||y();let h=k.target.value;d=-1,c=ot({keyword:h,currentLanguage:a,languagesList:l,highlightedIndex:d}),p(h)}}),l?.addEventListener("click",k=>{let g=k.target.dataset.value;g&&(a=g,p(a),x.value=a,d=c.findIndex(S=>S.name===a),c=ot({keyword:x.value,currentLanguage:a,languagesList:l,highlightedIndex:d}))}),l?.addEventListener("mousemove",k=>{let g=k.target.dataset.index;g!==void 0&&(d=Number(g),c=ot({keyword:x.value,currentLanguage:a,languagesList:l,highlightedIndex:d}))}),x.addEventListener("keydown",k=>{if(k.key==="ArrowDown"){if(!m){k.preventDefault(),u(1);return}if(c.length===0)return;k.preventDefault(),d=(d+1)%c.length}else if(k.key==="ArrowUp"){if(!m){k.preventDefault(),f(-1);return}if(c.length===0)return;k.preventDefault(),d=(d-1+c.length)%c.length}else if(k.key==="Enter"){if(!m)return;c.length>0&&d>=0&&(k.preventDefault(),a=c[d].name,p(a),x.value=a)}else if(k.key==="Escape"){n();return}else return;m&&(c=ot({keyword:x.value,currentLanguage:a,languagesList:l,highlightedIndex:d}),l.querySelector(`[data-index="${d}"]`)?.scrollIntoView({block:"nearest"}))}),c=ot({keyword:a,currentLanguage:a,languagesList:l,highlightedIndex:d});let E=document.createElement("div");return E.classList.add("code-block__menu"),E.dataset.pos=String(e.pos),E.appendChild(b),E},n=()=>{t.forEach(i=>i()),t.length=0,T()&&document.removeEventListener("click",o)};return{create:r,destroy:n}},zs=Rh;var Eo=class{constructor({node:t,view:o,getPos:r,extensions:n,options:i,onCodemirrorViewLoad:s}){this.node=t,this.view=o,this.getPos=r,this.languageName="";let a=n;this.mfCodemirrorView=new U({view:this.view,getPos:this.getPos,node:this.node,extensions:a,languageName:this.languageName,options:i}),s&&s(this.mfCodemirrorView),this.cm=this.mfCodemirrorView.cm,this.dom=this.cm.dom}update(t){return this.node=t,this.mfCodemirrorView.update(t)}setSelection(t,o){this.mfCodemirrorView.setSelection(t,o)}focus(){this.cm.focus(),this.mfCodemirrorView.forwardSelection()}stopEvent(){return!0}destroy(){this.mfCodemirrorView.destroy()}};var wo="indent-code",de=class extends Oh{constructor(){super(...arguments);this.enterKey=({dispatch:o,tr:r})=>{if(!(Bh(r.selection)&&r.selection.empty))return!1;let{nodeBefore:n,parent:i}=r.selection.$anchor;if(!n?.isText||!i.type.isTextblock)return!1;let s=/^```(\S*)?$/,{text:a,nodeSize:l}=n,{textContent:c}=i;if(!a)return!1;let d=a.match(s),m=c.match(s);if(!d||!m)return!1;let p=d[1]??"",f=r.selection.$from.before(),u=f+l+1;return r.replaceWith(f,u,this.type.create({language:p})),r.setSelection(Ur.near(r.doc.resolve(f+1))),o&&o(r),!0};this.createCodeMirror=o=>Hh(this.type,o);this.updateCodeMirror=o=>{let r=this.type;return({state:n,dispatch:i,tr:s})=>{let a=Ws({types:r,selection:n.selection});return!a||_h(o,a.node.attrs)?!1:(s.setNodeMarkup(a.pos,r,{...a.node.attrs,...o}),i&&i(s),!0)}}}get name(){return"codeMirror"}createNodeSpec(o,r){return{group:"block",content:"text*",marks:"",defining:!0,...r,code:!0,selectable:!0,attrs:{...o.defaults(),"front-matter":{default:!1},language:{default:""}},parseDOM:[{tag:"pre",getAttrs:n=>Lh(n)?o.parse(n):!1},...r.parseDOM??[]],toDOM(){return["pre",["code",0]]},isolating:!0}}createNodeViews(){return(o,r,n)=>{let i=this.options.extensions??[];return o.attrs["front-matter"]===!0&&i.push(Ih(Vh("codemirror.frontMatterPlaceholder"))),this.nodeview=new Eo({node:o,view:r,getPos:n,extensions:i,toggleName:this.options.toggleName,options:{useProsemirrorHistoryKey:this.options.useProsemirrorHistoryKey,copyButton:{enabled:this.options.showCopyButton,customCopyFunction:this.options.customCopyFunction},commandKeymapOptions:this.options.commandKeymapOptions},onCodemirrorViewLoad:this.options.onCodemirrorViewLoad}),o.attrs["front-matter"]===!0&&this.nodeview?.dom?.setAttribute("data-front-matter","true"),this.nodeview}}createInputRules(){let o=/^---$/,r=/^```(?!mermaid)(\S*) $/,n=()=>({"front-matter":!0,language:"yaml"}),i=s=>({language:s[1]??""});return[Us({regexp:o,type:this.type,beforeDispatch:({tr:s,start:a})=>{let l=s.doc.resolve(a);s.setSelection(Ur.near(l))},getAttributes:n,shouldSkip:({state:s,start:a})=>s.doc.resolve(a).index(0)!==0}),Us({regexp:r,type:this.type,beforeDispatch:({tr:s,start:a})=>{let l=s.doc.resolve(a);s.setSelection(Ur.near(l))},getAttributes:i})]}createCommands(){return{createCodeMirror:this.createCodeMirror,updateCodeMirror:this.updateCodeMirror}}fromMarkdown(){return[{type:2,token:"fence",node:this.name,hasOpenClose:!1,getAttrs:o=>({language:o.info,"front-matter":o.attrGet("front-matter")})},{type:2,token:"code_block",node:this.name,hasOpenClose:!1,getAttrs:()=>({language:wo})}]}toMarkdown({state:o,node:r}){if(r.attrs["front-matter"]===!0){o.write(`---
1710
+ `)}}render(t,o,r,n=0){let i=this.nodes[t.type.name];if(i){if(!i)throw new Error(`Can't find node spec for type '${t.type.name}'`);i({state:this,node:t,parent:o,index:r,counter:n})}}renderContent(t){let o=0;if(t.forEach)t.forEach((r,n,i)=>{if(uo(r)){let s=i>0?t.child(i-1):null;s&&!uo(s)&&(o=0);let a=r.attrs;a.order!=null?o=a.order:o+=1}else o=0;this.render(r,t,i,o)});else{if(uo(t)){let r=t.attrs;r.order!=null?o=r.order:o+=1}else o=0;this.render(t,t,0,o)}}renderInline(t){t.forEach((o,r,n)=>{o.isText?this.text(o.text||"",!1):this.render(o,t,n)})}renderList(t,o,r){this.closed&&this.closed.type===t.type?this.flushClose(3):this.inTightList?this.flushClose(1):this.flushClose(2);let n=this.inTightList;this.inTightList=!0,t.forEach((i,s,a)=>{a&&this.flushClose(1),this.wrapBlock(o,r(a),t,()=>this.render(i,t,a))}),this.inTightList=n}esc(t,o){return t=t.replace(/[`*\\~\[\]]/g,"\\$&"),o&&(t=t.replace(/^[:#\-*+]/,"\\$&").replace(/^(\d+)\./,"$1\\.")),t}quote(t){let o=t.includes('"')?t.includes("'")?"()":"''":'""';return o[0]+t+o[1]}repeat(t,o){let r="";for(let n=0;n<o;n++)r+=t;return r}getEnclosingWhitespace(t){return{leading:(/^(\s+)/.exec(t)||[])[0],trailing:(/(\s+)$/.exec(t)||[])[0]}}},Co=class{constructor(t){this.nodes=t}serialize(t){let o=new Ur(this.nodes);return o.renderContent(t),o.out}};import{languages as wo}from"@codemirror/language-data";import{computePosition as vh}from"@floating-ui/dom";import{Selection as zs}from"@rme-sdk/pm/state";import Mh from"fuse.js";import{t as Ph}from"i18next";var Nh=e=>{if(!T())return null;let t=document.createElement("ul");return t.classList.add("code-block__languages"),wo.forEach(o=>{let r=document.createElement("li");r.classList.add("code-block__language"),r.classList.toggle("code-block__language--active",o.name===e),r.innerText=o.name,t.append(r)}),t},ot=({keyword:e,languagesList:t,currentLanguage:o,highlightedIndex:r})=>{let n=wo;if(e&&(n=new Mh(wo,{keys:["name"]}).search(e).map(i=>i.item)),t.innerHTML="",n.length===0){let i=document.createElement("li");return i.classList.add("code-block__language","code-block__language--empty"),i.innerText="No results",t.append(i),n}return n.forEach((i,s)=>{let a=document.createElement("li");a.classList.add("code-block__language"),a.classList.toggle("code-block__language--active",i.name===o),a.classList.toggle("code-block__language--highlight",s===r),a.dataset.value=i.name,a.dataset.index=String(s),a.innerText=i.name,t.append(a)}),n},Rh=e=>{let t=[],o=i=>{i.target.classList.contains("code-block__languages__input")||n()},r=(i,s)=>{let a=e.node.attrs.language||"";a===Eo&&(a="");let l=Nh(a),c=wo,d=-1,m=!1,p=k=>{let h=s();h!==void 0&&i.dispatch(i.state.tr.setNodeMarkup(h,void 0,{language:k}))},f=k=>{let h=s();if(h===void 0)return;let g=k<0?h:h+e.node.nodeSize,S=zs.near(i.state.doc.resolve(g),k);i.dispatch(i.state.tr.setSelection(S).scrollIntoView()),i.focus()},u=k=>{let h=s();if(h===void 0)return;let g=k<0?h+e.node.nodeSize-1:h+1,S=zs.near(i.state.doc.resolve(g),k);i.dispatch(i.state.tr.setSelection(S).scrollIntoView()),i.focus()},y=()=>{m||!l||(m=!0,t.push(()=>{m&&l&&(b.removeChild(l),m=!1)}),b.appendChild(l),vh(b,l,{placement:"bottom-start"}).then(({x:k,y:h})=>{Object.assign(l.style,{left:`${k}px`,top:`${h}px`})}))};if(!T()||!l)return document.createElement("div");let b=document.createElement("div"),x=document.createElement("input");b.classList.add("code-block__reference","code-block__reference--active"),x.classList.add("code-block__languages__input"),x.placeholder=Ph("codemirror.searchInputPlaceholder"),b.appendChild(x),x.value=a,x.addEventListener("focus",()=>{let k=c.findIndex(h=>h.name===a);d=k>=0?k:c.length>0?0:-1,c=ot({keyword:x.value,currentLanguage:a,languagesList:l,highlightedIndex:d})}),document.addEventListener("click",o,!0),x.addEventListener("input",k=>{if(k.target){m||y();let h=k.target.value;d=-1,c=ot({keyword:h,currentLanguage:a,languagesList:l,highlightedIndex:d}),p(h)}}),l?.addEventListener("click",k=>{let g=k.target.dataset.value;g&&(a=g,p(a),x.value=a,d=c.findIndex(S=>S.name===a),c=ot({keyword:x.value,currentLanguage:a,languagesList:l,highlightedIndex:d}))}),l?.addEventListener("mousemove",k=>{let g=k.target.dataset.index;g!==void 0&&(d=Number(g),c=ot({keyword:x.value,currentLanguage:a,languagesList:l,highlightedIndex:d}))}),x.addEventListener("keydown",k=>{if(k.key==="ArrowDown"){if(!m){k.preventDefault(),u(1);return}if(c.length===0)return;k.preventDefault(),d=(d+1)%c.length}else if(k.key==="ArrowUp"){if(!m){k.preventDefault(),f(-1);return}if(c.length===0)return;k.preventDefault(),d=(d-1+c.length)%c.length}else if(k.key==="Enter"){if(!m)return;c.length>0&&d>=0&&(k.preventDefault(),a=c[d].name,p(a),x.value=a)}else if(k.key==="Escape"){n();return}else return;m&&(c=ot({keyword:x.value,currentLanguage:a,languagesList:l,highlightedIndex:d}),l.querySelector(`[data-index="${d}"]`)?.scrollIntoView({block:"nearest"}))}),c=ot({keyword:a,currentLanguage:a,languagesList:l,highlightedIndex:d});let E=document.createElement("div");return E.classList.add("code-block__menu"),E.dataset.pos=String(e.pos),E.appendChild(b),E},n=()=>{t.forEach(i=>i()),t.length=0,T()&&document.removeEventListener("click",o)};return{create:r,destroy:n}},Ks=Rh;var So=class{constructor({node:t,view:o,getPos:r,extensions:n,options:i,onCodemirrorViewLoad:s}){this.node=t,this.view=o,this.getPos=r,this.languageName="";let a=n;this.mfCodemirrorView=new U({view:this.view,getPos:this.getPos,node:this.node,extensions:a,languageName:this.languageName,options:i}),s&&s(this.mfCodemirrorView),this.cm=this.mfCodemirrorView.cm,this.dom=this.cm.dom}update(t){return this.node=t,this.mfCodemirrorView.update(t)}setSelection(t,o){this.mfCodemirrorView.setSelection(t,o)}focus(){this.cm.focus(),this.mfCodemirrorView.forwardSelection()}stopEvent(){return!0}destroy(){this.mfCodemirrorView.destroy()}};var Eo="indent-code",de=class extends Oh{constructor(){super(...arguments);this.enterKey=({dispatch:o,tr:r})=>{if(!(Bh(r.selection)&&r.selection.empty))return!1;let{nodeBefore:n,parent:i}=r.selection.$anchor;if(!n?.isText||!i.type.isTextblock)return!1;let s=/^```(\S*)?$/,{text:a,nodeSize:l}=n,{textContent:c}=i;if(!a)return!1;let d=a.match(s),m=c.match(s);if(!d||!m)return!1;let p=d[1]??"",f=r.selection.$from.before(),u=f+l+1;return r.replaceWith(f,u,this.type.create({language:p})),r.setSelection(qr.near(r.doc.resolve(f+1))),o&&o(r),!0};this.createCodeMirror=o=>Hh(this.type,o);this.updateCodeMirror=o=>{let r=this.type;return({state:n,dispatch:i,tr:s})=>{let a=Us({types:r,selection:n.selection});return!a||_h(o,a.node.attrs)?!1:(s.setNodeMarkup(a.pos,r,{...a.node.attrs,...o}),i&&i(s),!0)}}}get name(){return"codeMirror"}createNodeSpec(o,r){return{group:"block",content:"text*",marks:"",defining:!0,...r,code:!0,selectable:!0,attrs:{...o.defaults(),"front-matter":{default:!1},language:{default:""}},parseDOM:[{tag:"pre",getAttrs:n=>Lh(n)?o.parse(n):!1},...r.parseDOM??[]],toDOM(){return["pre",["code",0]]},isolating:!0}}createNodeViews(){return(o,r,n)=>{let i=this.options.extensions??[];return o.attrs["front-matter"]===!0&&i.push(Ih(Vh("codemirror.frontMatterPlaceholder"))),this.nodeview=new So({node:o,view:r,getPos:n,extensions:i,toggleName:this.options.toggleName,options:{useProsemirrorHistoryKey:this.options.useProsemirrorHistoryKey,copyButton:{enabled:this.options.showCopyButton,customCopyFunction:this.options.customCopyFunction},commandKeymapOptions:this.options.commandKeymapOptions},onCodemirrorViewLoad:this.options.onCodemirrorViewLoad}),o.attrs["front-matter"]===!0&&this.nodeview?.dom?.setAttribute("data-front-matter","true"),this.nodeview}}createInputRules(){let o=/^---$/,r=/^```(?!mermaid)(\S*) $/,n=()=>({"front-matter":!0,language:"yaml"}),i=s=>({language:s[1]??""});return[qs({regexp:o,type:this.type,beforeDispatch:({tr:s,start:a})=>{let l=s.doc.resolve(a);s.setSelection(qr.near(l))},getAttributes:n,shouldSkip:({state:s,start:a})=>s.doc.resolve(a).index(0)!==0}),qs({regexp:r,type:this.type,beforeDispatch:({tr:s,start:a})=>{let l=s.doc.resolve(a);s.setSelection(qr.near(l))},getAttributes:i})]}createCommands(){return{createCodeMirror:this.createCodeMirror,updateCodeMirror:this.updateCodeMirror}}fromMarkdown(){return[{type:2,token:"fence",node:this.name,hasOpenClose:!1,getAttrs:o=>({language:o.info,"front-matter":o.attrGet("front-matter")})},{type:2,token:"code_block",node:this.name,hasOpenClose:!1,getAttrs:()=>({language:Eo})}]}toMarkdown({state:o,node:r}){if(r.attrs["front-matter"]===!0){o.write(`---
1711
1711
  `),o.write(r.textContent),r.textContent.endsWith(`
1712
1712
  `)||o.write(`
1713
1713
  `),o.write(`---
1714
- `);return}else r.attrs.language!==wo?(o.write("```"+(r.attrs.language||"")+`
1714
+ `);return}else r.attrs.language!==Eo?(o.write("```"+(r.attrs.language||"")+`
1715
1715
  `),o.text(r.textContent,!1),o.text(`
1716
- `),o.write("```"),o.closeBlock(r)):(o.wrapBlock(" "," ",r,()=>o.renderContent(r)),o.closeBlock(r));o.ensureNewLine()}createDecorations(o){if(this.options.hideDecoration)return So.empty;let r=Ws({types:this.type,selection:o.selection});if(!r||r.node.attrs["front-matter"]===!0)return So.empty;if(!Ks||Ks.length<=1)return So.empty;let{create:n,destroy:i}=zs(r),s=Dh.widget(r.pos,n,{ignoreSelection:!0,stopEvent:()=>!0,key:"language-menu",destroy:i});return So.create(o.doc,[s])}};de=M([Ah({defaultOptions:{hideDecoration:!1,extensions:null,toggleName:"paragraph",useProsemirrorHistoryKey:!1,onCodemirrorViewLoad:()=>{},showCopyButton:!0},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],de);function Wh(e){let t=e?.typewriterScroll??{},o=new Z(t),r=t.enabled===!0?[o.createCodeMirrorExtension()]:[];return Kh(()=>[new $h({}),new zh({content:"codeMirror"}),new ie({}),new de({hideDecoration:!0,showCopyButton:!1,extensions:[_i,Fh(),...r],onCodemirrorViewLoad:e?.onCodemirrorViewLoad,commandKeymapOptions:{overrideShortcutMap:e?.overrideShortcutMap,disableAllBuildInShortcuts:e?.disableAllBuildInShortcuts,clipboardReadFunction:e?.clipboardReadFunction}}),o])}var To=e=>{let t=Wh(e);return{manager:t,stringToDoc:n=>{let i=t.schema,s={language:e?.language||"markdown"},a=n?i.text(n):void 0;return i.nodes.doc.create({},i.nodes.codeMirror.create(s,a))},docToString:n=>n.textContent,view:"SourceCode"}};import{jsx as Te,jsxs as Zh}from"react/jsx-runtime";var[Qh,Xh]=Fn(({props:e})=>({...e})),Yh=qs(e=>{let{markdownToolBar:t,styleToken:o,textContainerProps:r={}}=e,{content:n,markText:i,hooks:s,isTesting:a,editable:l}=Xh(),c;try{c=i.stringToDoc(n)}catch(d){return Te(Ie,{hasError:!0,error:d,...e.errorHandler||{}})}return Te(Ie,{...e.errorHandler||{},children:Te(Tn,{...o,children:Zh(qh,{manager:i.manager,initialContent:c,hooks:s,editable:l,onChange:e.onChange,autoRender:!1,children:[Te($n,{...r}),t||null,a?Te(Uh,{}):null]})})})}),Jh=e=>{let{content:t,delegate:o,isTesting:r,hooks:n,markdownToolBar:i,styleToken:s=vo,sourceCodeTextContainerProps:a={}}=e,l=jh(()=>o??To(),[o]),c=Gh(d=>{try{e.onChange?.(d)}catch(m){console.error(m)}},[l,e]);return Te(Qh,{content:t,isTesting:r,markText:l,hooks:n,children:Te(Yh,{styleToken:s,textContainerProps:a,markdownToolBar:i,onChange:c,errorHandler:e.errorHandler})})},qr=qs(Jh);import{useRemirrorContext as eg}from"@rme-sdk/react-core";import{useEffect as tg}from"react";var Gs=e=>{let t=eg();tg(()=>{e&&e(t)},[e,t])};import{ProsemirrorDevTools as _y}from"@rme-sdk/dev";import{Remirror as By}from"@rme-sdk/react";import{memo as Oy,useCallback as Hy,useEffect as Dy,useMemo as Vy}from"react";import{isHTMLElement as yg}from"@ocavue/utils";import{NodeSelection as xg}from"@rme-sdk/pm/state";import{useCommands as kg,useExtension as Cg,useRemirrorContext as wg}from"@rme-sdk/react-core";import{t as Et}from"i18next";import{memo as Eg,useCallback as rt,useEffect as ta,useMemo as Mo,useRef as oa,useState as ra}from"react";import na from"styled-components";import{Dropdown as Sg}from"zens";import{isHTMLElement as Xs}from"@ocavue/utils";import{Fragment as og,Slice as rg}from"@rme-sdk/pm";import{NodeSelection as ng}from"@rme-sdk/pm/state";function js(e){if(!T())return null;let t=e.ownerDocument.defaultView;if(!t)return;let r=t.getComputedStyle(e).display;return r==="contents"&&e.childElementCount===1?e.firstElementChild:r==="none"?void 0:e}function Qs(e,t){if(!T())return;let{top:o,bottom:r,left:n,right:i}=ae(t),s=i-n,a=r-o,l=n,c=o,{clientX:d,clientY:m}=e,p=t.ownerDocument,f=p.createElement("div"),u=Math.round(l-d),y=Math.round(c-m),b=Math.max(u,0),x=Math.max(y,0);Object.assign(f.style,{position:"fixed",top:"-1000vh",left:"-1000vw",pointerEvents:"none",zIndex:"2147483647",borderLeft:`${b}px solid transparent`,borderTop:`${x}px solid transparent`,boxSizing:"border-box",width:`${s+b}px`,height:`${a+x}px`});let[E,k]=ni(t,!0);E.style.setProperty("opacity","0.7","important"),E.style.setProperty("margin","0","important"),E.style.setProperty("outline-color","transparent","important"),p.body.appendChild(f),f.appendChild(E),ii(f,k),e.dataTransfer?.setDragImage(f,Math.max(-u,0),Math.max(-y,0)),requestAnimationFrame(()=>{f.remove()})}function Ys(e,t,o){if(!o.dataTransfer)return;let{pos:r}=t;if(r==null)return;let n=e.nodeDOM(r);if(!n||!Xs(n))return;let i=js(n);!i||!Xs(i)||(o.dataTransfer.clearData(),o.dataTransfer.setData("text/html",i.outerHTML),o.dataTransfer.effectAllowed="copyMove",Qs(o,i))}function Js(e,t){let{node:o,pos:r}=t,n={slice:new rg(og.from(o),0,0),move:!0,node:ng.create(e.state.doc,r)};e.dragging=n}import{TextSelection as Qr}from"@rme-sdk/pm/state";import{useCommands as lI}from"@rme-sdk/react-core";import{useMemo as ig}from"react";import{useTranslation as mI}from"react-i18next";var sg=e=>t=>t.type.name==="heading"&&t.attrs.level===e,ag=e=>e.type.name==="paragraph",lg=e=>e.type.name==="codeMirror",cg=e=>e.type.name==="blockquote",Gr=e=>t=>t.type.name==="list"&&t.attrs.kind===e,Zs=e=>["paragraph","heading","codeMirror","blockquote","list"].includes(e.type.name),jr=e=>["paragraph","heading","codeMirror","blockquote","list"].includes(e.type.name),dg=e=>["paragraph","heading","blockquote","list"].includes(e.type.name),mg=e=>["paragraph","heading","codeMirror","list"].includes(e.type.name),pg=e=>{let{view:t,pos:o,node:r,tr:n}=e;n.delete(o,o+r.nodeSize);let i=Math.max(0,Math.min(o,n.doc.content.size));return n.setSelection(Qr.create(n.doc,i)),t.dispatch(n),t.focus(),!0},ug=e=>t=>{let{view:o,pos:r,tr:n}=t,i=o.state.schema.nodes.heading;return i?(n.setBlockType(r,r+t.node.nodeSize,i,{level:e}),o.dispatch(n),!0):!1},fg=e=>{let{view:t,pos:o,tr:r}=e,n=t.state.schema.nodes.paragraph;return n?(r.setBlockType(o,o+e.node.nodeSize,n),t.dispatch(r),!0):!1},hg=e=>{let{view:t,pos:o,node:r,tr:n}=e,i=t.state.schema.nodes.codeMirror;if(!i)return!1;let s=bg(r);n.delete(o,o+r.nodeSize);let a=i.create({language:""},t.state.schema.text(s));n.insert(o,a);let l=o+1;return n.setSelection(Qr.create(n.doc,l)),t.dispatch(n),!0},gg=e=>{let{view:t,pos:o,node:r,tr:n}=e,i=t.state.schema.nodes.blockquote,s=t.state.schema.nodes.paragraph;if(!i||!s)return!1;let a=r.content,l=s.create(null,a),c=i.create(null,l);n.delete(o,o+r.nodeSize),n.insert(o,c);let d=o+1;return n.setSelection(Qr.create(n.doc,d)),t.dispatch(n),!0},bg=e=>{let t="";return e.descendants(o=>{o.isText&&(t+=o.text)}),t},ea=(e,t)=>ig(()=>{let r=Array.from({length:6},(s,a)=>{let l=a+1;return{key:`heading-${l}`,label:e("blockType.heading",{level:l})||`Heading ${l}`,icon:O[`heading-${l}`]||"ri-heading",group:"transform",isActive:sg(l),isAvailable:Zs,transform:ug(l)}}),n=[{key:"paragraph",label:e("blockType.paragraph")||"Paragraph",icon:O.paragraph,group:"transform",isActive:ag,isAvailable:Zs,transform:fg},...r,{key:"code-block",label:e("blockType.codeBlock")||"Code Block",icon:O.codeMirror,group:"transform",isActive:lg,isAvailable:dg,transform:hg},{key:"blockquote",label:e("blockType.blockquote")||"Quote",icon:O.blockquote,group:"transform",isActive:cg,isAvailable:mg,transform:gg},{key:"bullet-list",label:e("blockType.bulletList")||"Bullet List",icon:O["list-bullet"],group:"transform",isActive:Gr("bullet"),isAvailable:jr,transform:s=>t.toggleBulletList?.enabled?.()?(t.toggleBulletList(),!0):!1},{key:"ordered-list",label:e("blockType.orderedList")||"Ordered List",icon:O["list-ordered"],group:"transform",isActive:Gr("ordered"),isAvailable:jr,transform:s=>t.toggleOrderedList?.enabled?.()?(t.toggleOrderedList(),!0):!1},{key:"task-list",label:e("blockType.taskList")||"Task List",icon:O["list-task"],group:"transform",isActive:Gr("task"),isAvailable:jr,transform:s=>t.toggleTaskList?.enabled?.()?(t.toggleTaskList(),!0):!1}],i=[{key:"delete",label:e("blockType.delete")||"Delete",icon:"ri-delete-bin-line",group:"actions",action:pg}];return[...n,...i]},[e,t]);import{jsx as me,jsxs as Mg}from"react/jsx-runtime";var ia=Eg(()=>{let{view:e}=wg({autoUpdate:!0}),t=Cg(Se),o=t?.getPluginState(),[r,n]=ra(!1),[i,s]=ra(null),a=kg(),l=ea(Et,a),c=oa(null),d=oa(o),m=rt(()=>{if(e&&t&&o&&o.pos!==null&&o.node){let w=e.state.tr;w.setSelection(xg.create(w.doc,o.pos)),e.dispatch(w)}},[e,t,o]),p=rt(w=>{if(e&&o&&o.pos!==null&&o.node&&o.node.isBlock){e.dom.classList.add("rme-dragging"),m();let C=e.nodeDOM(o.pos);C&&yg(C)&&(w.dataTransfer&&(w.dataTransfer.effectAllowed="move"),Ys(e,o,w),Js(e,o))}},[e,o,m]),f=rt(()=>{e&&e.dom.classList.remove("rme-dragging")},[e]),u=rt(w=>{let C=d.current;if(!e||!C||C.pos===null||!C.node)return;let v=l.find(X=>X.key===w);if(!v)return;let R=e.state.tr,I={view:e,pos:C.pos,node:C.node,tr:R},F=!1;v.group==="transform"&&v.transform?F=v.transform(I):v.group==="actions"&&v.action&&(F=v.action(I)),F&&n(!1)},[e,l]);ta(()=>{r||(d.current=o)},[o,r]),ta(()=>{if(r){let w=d.current;w?.rect&&s({left:w.rect.left-38,top:w.rect.top})}else s(null)},[r]);let y=r?d.current:o,b=Mo(()=>{let w=y?.node;return w?l.filter(C=>C.group==="transform"&&(!C.isAvailable||C.isAvailable(w))):[]},[l,y?.node]),x=Mo(()=>{let w=y?.node;return w?l.filter(C=>C.group==="actions"&&(!C.isAvailable||C.isAvailable(w))):[]},[l,y?.node]),E=Mo(()=>b.reduce((w,C)=>{let v=C.key.startsWith("heading")?"text":C.key.includes("list")?"list":"other";return w[v]||(w[v]=[]),w[v].push(C),w},{}),[b]),k={text:Et("blockTypeGroup.text")||"Text",list:Et("blockTypeGroup.list")||"List",other:Et("blockTypeGroup.other")||"Other"},h=Mo(()=>{if(!y?.node)return[];let w=[],C=[];return Object.entries(E).forEach(([v,A],R)=>{R>0&&C.push({type:"divider"}),C.push({key:`group-${v}`,label:k[v],disabled:!0}),A.forEach(I=>{C.push({key:I.key,label:I.label,icon:me("i",{className:I.icon})})})}),C.length>0&&w.push({key:"transform",label:Et("blockType.transformTo")||"Transform to",icon:me("i",{className:"ri-exchange-line"}),children:C}),x.length>0&&(w.push({type:"divider"}),x.forEach(v=>{w.push({key:v.key,label:v.label,icon:me("i",{className:v.icon}),danger:v.key==="delete"})})),w},[y?.node,E,x,k]),g=rt(w=>{u(w.key)},[u]),S=rt(()=>{if(!y?.node)return null;let w=y.node.type?.name||"";y.node.type?.name==="heading"&&(w=`heading-${y.node.attrs?.level}`),y.node.type?.name==="list"&&(w=`list-${y.node.attrs?.kind}`);let C=O[w];return C?me("i",{className:C}):null},[y?.node]);return!e||!y?.node?null:me(Sg,{menu:{items:h,onClick:g},trigger:["click"],placement:"bottomLeft",getPopupContainer:()=>document.body,raw:!0,open:r,onOpenChange:n,triggerRef:c,children:Mg(Tg,{ref:c,className:"rme-block-handler",draggable:"true",onClick:()=>n(!r),onDragStart:p,onDragEnd:f,style:{position:"fixed",left:`${i?.left??(o?.rect?.left?o.rect.left-38:0)}px`,top:`${i?.top??o?.rect?.top??0}px`},children:[me(vg,{onClick:m,children:S()}),me("div",{className:"rme-draggable-handler",children:me("i",{className:"ri-draggable"})})]},"rme-block-handler")})}),Tg=na.div`
1716
+ `),o.write("```"),o.closeBlock(r)):(o.wrapBlock(" "," ",r,()=>o.renderContent(r)),o.closeBlock(r));o.ensureNewLine()}createDecorations(o){if(this.options.hideDecoration)return To.empty;let r=Us({types:this.type,selection:o.selection});if(!r||r.node.attrs["front-matter"]===!0)return To.empty;if(!Ws||Ws.length<=1)return To.empty;let{create:n,destroy:i}=Ks(r),s=Dh.widget(r.pos,n,{ignoreSelection:!0,stopEvent:()=>!0,key:"language-menu",destroy:i});return To.create(o.doc,[s])}};de=M([Ah({defaultOptions:{hideDecoration:!1,extensions:null,toggleName:"paragraph",useProsemirrorHistoryKey:!1,onCodemirrorViewLoad:()=>{},showCopyButton:!0},staticKeys:[],handlerKeys:[],customHandlerKeys:[]})],de);function Wh(e){let t=e?.typewriterScroll??{},o=new Z(t),r=t.enabled===!0?[o.createCodeMirrorExtension()]:[];return Kh(()=>[new $h({}),new zh({content:"codeMirror"}),new ie({}),new de({hideDecoration:!0,showCopyButton:!1,extensions:[Bi,Fh(),...r],onCodemirrorViewLoad:e?.onCodemirrorViewLoad,commandKeymapOptions:{overrideShortcutMap:e?.overrideShortcutMap,disableAllBuildInShortcuts:e?.disableAllBuildInShortcuts,clipboardReadFunction:e?.clipboardReadFunction}}),o])}var vo=e=>{let t=Wh(e);return{manager:t,stringToDoc:n=>{let i=t.schema,s={language:e?.language||"markdown"},a=n?i.text(n):void 0;return i.nodes.doc.create({},i.nodes.codeMirror.create(s,a))},docToString:n=>n.textContent,view:"SourceCode"}};import{jsx as Te,jsxs as Zh}from"react/jsx-runtime";var[Qh,Xh]=$n(({props:e})=>({...e})),Yh=Gs(e=>{let{markdownToolBar:t,styleToken:o,textContainerProps:r={}}=e,{content:n,markText:i,hooks:s,isTesting:a,editable:l}=Xh(),c;try{c=i.stringToDoc(n)}catch(d){return Te(Ie,{hasError:!0,error:d,...e.errorHandler||{}})}return Te(Ie,{...e.errorHandler||{},children:Te(vn,{...o,children:Zh(qh,{manager:i.manager,initialContent:c,hooks:s,editable:l,onChange:e.onChange,autoRender:!1,children:[Te(zn,{...r}),t||null,a?Te(Uh,{}):null]})})})}),Jh=e=>{let{content:t,delegate:o,isTesting:r,hooks:n,markdownToolBar:i,styleToken:s=Mo,sourceCodeTextContainerProps:a={}}=e,l=jh(()=>o??vo(),[o]),c=Gh(d=>{try{e.onChange?.(d)}catch(m){console.error(m)}},[l,e]);return Te(Qh,{content:t,isTesting:r,markText:l,hooks:n,children:Te(Yh,{styleToken:s,textContainerProps:a,markdownToolBar:i,onChange:c,errorHandler:e.errorHandler})})},Gr=Gs(Jh);import{useRemirrorContext as eg}from"@rme-sdk/react-core";import{useEffect as tg}from"react";var js=e=>{let t=eg();tg(()=>{e&&e(t)},[e,t])};import{ProsemirrorDevTools as _y}from"@rme-sdk/dev";import{Remirror as By}from"@rme-sdk/react";import{memo as Oy,useCallback as Hy,useEffect as Dy,useMemo as Vy}from"react";import{isHTMLElement as yg}from"@ocavue/utils";import{NodeSelection as xg}from"@rme-sdk/pm/state";import{useCommands as kg,useExtension as Cg,useRemirrorContext as wg}from"@rme-sdk/react-core";import{t as St}from"i18next";import{memo as Eg,useCallback as rt,useEffect as oa,useMemo as Po,useRef as ra,useState as na}from"react";import ia from"styled-components";import{Dropdown as Sg}from"zens";import{isHTMLElement as Ys}from"@ocavue/utils";import{Fragment as og,Slice as rg}from"@rme-sdk/pm";import{NodeSelection as ng}from"@rme-sdk/pm/state";function Qs(e){if(!T())return null;let t=e.ownerDocument.defaultView;if(!t)return;let r=t.getComputedStyle(e).display;return r==="contents"&&e.childElementCount===1?e.firstElementChild:r==="none"?void 0:e}function Xs(e,t){if(!T())return;let{top:o,bottom:r,left:n,right:i}=ae(t),s=i-n,a=r-o,l=n,c=o,{clientX:d,clientY:m}=e,p=t.ownerDocument,f=p.createElement("div"),u=Math.round(l-d),y=Math.round(c-m),b=Math.max(u,0),x=Math.max(y,0);Object.assign(f.style,{position:"fixed",top:"-1000vh",left:"-1000vw",pointerEvents:"none",zIndex:"2147483647",borderLeft:`${b}px solid transparent`,borderTop:`${x}px solid transparent`,boxSizing:"border-box",width:`${s+b}px`,height:`${a+x}px`});let[E,k]=ii(t,!0);E.style.setProperty("opacity","0.7","important"),E.style.setProperty("margin","0","important"),E.style.setProperty("outline-color","transparent","important"),p.body.appendChild(f),f.appendChild(E),si(f,k),e.dataTransfer?.setDragImage(f,Math.max(-u,0),Math.max(-y,0)),requestAnimationFrame(()=>{f.remove()})}function Js(e,t,o){if(!o.dataTransfer)return;let{pos:r}=t;if(r==null)return;let n=e.nodeDOM(r);if(!n||!Ys(n))return;let i=Qs(n);!i||!Ys(i)||(o.dataTransfer.clearData(),o.dataTransfer.setData("text/html",i.outerHTML),o.dataTransfer.effectAllowed="copyMove",Xs(o,i))}function Zs(e,t){let{node:o,pos:r}=t,n={slice:new rg(og.from(o),0,0),move:!0,node:ng.create(e.state.doc,r)};e.dragging=n}import{TextSelection as Xr}from"@rme-sdk/pm/state";import{useCommands as lI}from"@rme-sdk/react-core";import{useMemo as ig}from"react";import{useTranslation as mI}from"react-i18next";var sg=e=>t=>t.type.name==="heading"&&t.attrs.level===e,ag=e=>e.type.name==="paragraph",lg=e=>e.type.name==="codeMirror",cg=e=>e.type.name==="blockquote",jr=e=>t=>t.type.name==="list"&&t.attrs.kind===e,ea=e=>["paragraph","heading","codeMirror","blockquote","list"].includes(e.type.name),Qr=e=>["paragraph","heading","codeMirror","blockquote","list"].includes(e.type.name),dg=e=>["paragraph","heading","blockquote","list"].includes(e.type.name),mg=e=>["paragraph","heading","codeMirror","list"].includes(e.type.name),pg=e=>{let{view:t,pos:o,node:r,tr:n}=e;n.delete(o,o+r.nodeSize);let i=Math.max(0,Math.min(o,n.doc.content.size));return n.setSelection(Xr.create(n.doc,i)),t.dispatch(n),t.focus(),!0},ug=e=>t=>{let{view:o,pos:r,tr:n}=t,i=o.state.schema.nodes.heading;return i?(n.setBlockType(r,r+t.node.nodeSize,i,{level:e}),o.dispatch(n),!0):!1},fg=e=>{let{view:t,pos:o,tr:r}=e,n=t.state.schema.nodes.paragraph;return n?(r.setBlockType(o,o+e.node.nodeSize,n),t.dispatch(r),!0):!1},hg=e=>{let{view:t,pos:o,node:r,tr:n}=e,i=t.state.schema.nodes.codeMirror;if(!i)return!1;let s=bg(r);n.delete(o,o+r.nodeSize);let a=i.create({language:""},t.state.schema.text(s));n.insert(o,a);let l=o+1;return n.setSelection(Xr.create(n.doc,l)),t.dispatch(n),!0},gg=e=>{let{view:t,pos:o,node:r,tr:n}=e,i=t.state.schema.nodes.blockquote,s=t.state.schema.nodes.paragraph;if(!i||!s)return!1;let a=r.content,l=s.create(null,a),c=i.create(null,l);n.delete(o,o+r.nodeSize),n.insert(o,c);let d=o+1;return n.setSelection(Xr.create(n.doc,d)),t.dispatch(n),!0},bg=e=>{let t="";return e.descendants(o=>{o.isText&&(t+=o.text)}),t},ta=(e,t)=>ig(()=>{let r=Array.from({length:6},(s,a)=>{let l=a+1;return{key:`heading-${l}`,label:e("blockType.heading",{level:l})||`Heading ${l}`,icon:O[`heading-${l}`]||"ri-heading",group:"transform",isActive:sg(l),isAvailable:ea,transform:ug(l)}}),n=[{key:"paragraph",label:e("blockType.paragraph")||"Paragraph",icon:O.paragraph,group:"transform",isActive:ag,isAvailable:ea,transform:fg},...r,{key:"code-block",label:e("blockType.codeBlock")||"Code Block",icon:O.codeMirror,group:"transform",isActive:lg,isAvailable:dg,transform:hg},{key:"blockquote",label:e("blockType.blockquote")||"Quote",icon:O.blockquote,group:"transform",isActive:cg,isAvailable:mg,transform:gg},{key:"bullet-list",label:e("blockType.bulletList")||"Bullet List",icon:O["list-bullet"],group:"transform",isActive:jr("bullet"),isAvailable:Qr,transform:s=>t.toggleBulletList?.enabled?.()?(t.toggleBulletList(),!0):!1},{key:"ordered-list",label:e("blockType.orderedList")||"Ordered List",icon:O["list-ordered"],group:"transform",isActive:jr("ordered"),isAvailable:Qr,transform:s=>t.toggleOrderedList?.enabled?.()?(t.toggleOrderedList(),!0):!1},{key:"task-list",label:e("blockType.taskList")||"Task List",icon:O["list-task"],group:"transform",isActive:jr("task"),isAvailable:Qr,transform:s=>t.toggleTaskList?.enabled?.()?(t.toggleTaskList(),!0):!1}],i=[{key:"delete",label:e("blockType.delete")||"Delete",icon:"ri-delete-bin-line",group:"actions",action:pg}];return[...n,...i]},[e,t]);import{jsx as me,jsxs as Mg}from"react/jsx-runtime";var sa=Eg(()=>{let{view:e}=wg({autoUpdate:!0}),t=Cg(Se),o=t?.getPluginState(),[r,n]=na(!1),[i,s]=na(null),a=kg(),l=ta(St,a),c=ra(null),d=ra(o),m=rt(()=>{if(e&&t&&o&&o.pos!==null&&o.node){let w=e.state.tr;w.setSelection(xg.create(w.doc,o.pos)),e.dispatch(w)}},[e,t,o]),p=rt(w=>{if(e&&o&&o.pos!==null&&o.node&&o.node.isBlock){e.dom.classList.add("rme-dragging"),m();let C=e.nodeDOM(o.pos);C&&yg(C)&&(w.dataTransfer&&(w.dataTransfer.effectAllowed="move"),Js(e,o,w),Zs(e,o))}},[e,o,m]),f=rt(()=>{e&&e.dom.classList.remove("rme-dragging")},[e]),u=rt(w=>{let C=d.current;if(!e||!C||C.pos===null||!C.node)return;let v=l.find(X=>X.key===w);if(!v)return;let R=e.state.tr,I={view:e,pos:C.pos,node:C.node,tr:R},F=!1;v.group==="transform"&&v.transform?F=v.transform(I):v.group==="actions"&&v.action&&(F=v.action(I)),F&&n(!1)},[e,l]);oa(()=>{r||(d.current=o)},[o,r]),oa(()=>{if(r){let w=d.current;w?.rect&&s({left:w.rect.left-38,top:w.rect.top})}else s(null)},[r]);let y=r?d.current:o,b=Po(()=>{let w=y?.node;return w?l.filter(C=>C.group==="transform"&&(!C.isAvailable||C.isAvailable(w))):[]},[l,y?.node]),x=Po(()=>{let w=y?.node;return w?l.filter(C=>C.group==="actions"&&(!C.isAvailable||C.isAvailable(w))):[]},[l,y?.node]),E=Po(()=>b.reduce((w,C)=>{let v=C.key.startsWith("heading")?"text":C.key.includes("list")?"list":"other";return w[v]||(w[v]=[]),w[v].push(C),w},{}),[b]),k={text:St("blockTypeGroup.text")||"Text",list:St("blockTypeGroup.list")||"List",other:St("blockTypeGroup.other")||"Other"},h=Po(()=>{if(!y?.node)return[];let w=[],C=[];return Object.entries(E).forEach(([v,A],R)=>{R>0&&C.push({type:"divider"}),C.push({key:`group-${v}`,label:k[v],disabled:!0}),A.forEach(I=>{C.push({key:I.key,label:I.label,icon:me("i",{className:I.icon})})})}),C.length>0&&w.push({key:"transform",label:St("blockType.transformTo")||"Transform to",icon:me("i",{className:"ri-exchange-line"}),children:C}),x.length>0&&(w.push({type:"divider"}),x.forEach(v=>{w.push({key:v.key,label:v.label,icon:me("i",{className:v.icon}),danger:v.key==="delete"})})),w},[y?.node,E,x,k]),g=rt(w=>{u(w.key)},[u]),S=rt(()=>{if(!y?.node)return null;let w=y.node.type?.name||"";y.node.type?.name==="heading"&&(w=`heading-${y.node.attrs?.level}`),y.node.type?.name==="list"&&(w=`list-${y.node.attrs?.kind}`);let C=O[w];return C?me("i",{className:C}):null},[y?.node]);return!e||!y?.node?null:me(Sg,{menu:{items:h,onClick:g},trigger:["click"],placement:"bottomLeft",getPopupContainer:()=>document.body,raw:!0,open:r,onOpenChange:n,triggerRef:c,children:Mg(Tg,{ref:c,className:"rme-block-handler",draggable:"true",onClick:()=>n(!r),onDragStart:p,onDragEnd:f,style:{position:"fixed",left:`${i?.left??(o?.rect?.left?o.rect.left-38:0)}px`,top:`${i?.top??o?.rect?.top??0}px`},children:[me(vg,{onClick:m,children:S()}),me("div",{className:"rme-draggable-handler",children:me("i",{className:"ri-draggable"})})]},"rme-block-handler")})}),Tg=ia.div`
1717
1717
  display: flex;
1718
1718
  align-items: center;
1719
1719
  justify-content: center;
@@ -1738,7 +1738,7 @@ ${n}`);return bu(i,o)}function xu(e,t){if(t.length===0||e.length===0)return;let
1738
1738
  border-radius: ${e=>e.theme.smallBorderRadius};
1739
1739
  cursor: grab;
1740
1740
  }
1741
- `,vg=na.div`
1741
+ `,vg=ia.div`
1742
1742
  display: flex;
1743
1743
  align-items: center;
1744
1744
  justify-content: center;
@@ -1746,14 +1746,14 @@ ${n}`);return bu(i,o)}function xu(e,t){if(t.length===0||e.length===0)return;let
1746
1746
  width: 18px;
1747
1747
  border-radius: ${e=>e.theme.smallBorderRadius};
1748
1748
  cursor: pointer;
1749
- `;import{useExtension as Pg,useRemirrorContext as Ng}from"@rme-sdk/react-core";import{useCallback as Rg,useEffect as Ig,useMemo as Ag,useRef as Lg,useState as _g}from"react";import{usePopper as Bg}from"react-popper";import Og from"styled-components";import{Fragment as Dg,jsx as Xr}from"react/jsx-runtime";var sa=()=>{let{view:e,getState:t,commands:o}=Ng({autoUpdate:!0});if(!e)return;let r=t(),n=Pg(le),i=n.getPluginState(),s=Lg(null);Ig(()=>{if(!s)return;let f=u=>{s.current&&(!u.target||!(u.target instanceof Node)||!s.current.contains(u?.target))&&ye(e,n.pluginKey,{type:"close"})};return T()&&document.addEventListener("mousedown",f),()=>{T()&&document.removeEventListener("mousedown",f)}},[e,s,n.pluginKey]);let[a,l]=_g(null),c=Ag(()=>{let f=e.domAtPos(r.selection.to)?.node,u=e.state.selection.to,y=e.coordsAtPos(u).left;if(!(f instanceof HTMLElement))return;let{top:b,height:x}=f.getBoundingClientRect();return{getBoundingClientRect(){return{top:b,right:y,bottom:b,left:y,width:0,height:x,x:y,y:b,toJSON:()=>JSON.stringify({top:b,right:y,bottom:b,left:y,width:0,height:x,x:y,y:b})}}}},[e,r]),{styles:d,attributes:m}=Bg(c,a,{placement:"bottom-start",modifiers:[{name:"flip",enabled:!0},{name:"preventOverflow"}]}),p=Rg(f=>{i.open&&(ye(e,n.pluginKey,{type:"close"}),f?.insertSlash&&e.dispatch(e.state.tr.insertText("/").setMeta(n.pluginKey,{type:"close"})),e.focus())},[e,i.open,n.pluginKey]);return Xr(Dg,{children:i.open?Xr(Hg,{ref:l,style:{...d.popper},...m.popper,children:Xr(es,{rootRef:s,commands:o,closeMenu:p})}):null})},Hg=Og.div`
1749
+ `;import{useExtension as Pg,useRemirrorContext as Ng}from"@rme-sdk/react-core";import{useCallback as Rg,useEffect as Ig,useMemo as Ag,useRef as Lg,useState as _g}from"react";import{usePopper as Bg}from"react-popper";import Og from"styled-components";import{Fragment as Dg,jsx as Yr}from"react/jsx-runtime";var aa=()=>{let{view:e,getState:t,commands:o}=Ng({autoUpdate:!0});if(!e)return;let r=t(),n=Pg(le),i=n.getPluginState(),s=Lg(null);Ig(()=>{if(!s)return;let f=u=>{s.current&&(!u.target||!(u.target instanceof Node)||!s.current.contains(u?.target))&&ye(e,n.pluginKey,{type:"close"})};return T()&&document.addEventListener("mousedown",f),()=>{T()&&document.removeEventListener("mousedown",f)}},[e,s,n.pluginKey]);let[a,l]=_g(null),c=Ag(()=>{let f=e.domAtPos(r.selection.to)?.node,u=e.state.selection.to,y=e.coordsAtPos(u).left;if(!(f instanceof HTMLElement))return;let{top:b,height:x}=f.getBoundingClientRect();return{getBoundingClientRect(){return{top:b,right:y,bottom:b,left:y,width:0,height:x,x:y,y:b,toJSON:()=>JSON.stringify({top:b,right:y,bottom:b,left:y,width:0,height:x,x:y,y:b})}}}},[e,r]),{styles:d,attributes:m}=Bg(c,a,{placement:"bottom-start",modifiers:[{name:"flip",enabled:!0},{name:"preventOverflow"}]}),p=Rg(f=>{i.open&&(ye(e,n.pluginKey,{type:"close"}),f?.insertSlash&&e.dispatch(e.state.tr.insertText("/").setMeta(n.pluginKey,{type:"close"})),e.focus())},[e,i.open,n.pluginKey]);return Yr(Dg,{children:i.open?Yr(Hg,{ref:l,style:{...d.popper},...m.popper,children:Yr(ts,{rootRef:s,commands:o,closeMenu:p})}):null})},Hg=Og.div`
1750
1750
  border-radius: 4px;
1751
1751
  border: 1px solid ${e=>e.theme.slashMenuBorderColor};
1752
1752
  z-index: 1000;
1753
- `;import{PositionerPortal as tb,useCommands as ob,useMultiPositioner as rb}from"@rme-sdk/react";import{useEffect as nb}from"react";import{useCommands as Vg}from"@rme-sdk/react";import{useRef as Fg,useState as $g}from"react";import{useTranslation as zg}from"react-i18next";import{Dropdown as Kg}from"zens";import{jsx as Po}from"react/jsx-runtime";var Wg=e=>{let{positioner:t}=e,o=Vg(),{t:r}=zg(),[n,i]=$g(!1),s=Fg(null),a=[{key:"insertColumnBefore",label:r("table.insertColumnBefore")},{key:"insertColumnAfter",label:r("table.insertColumnAfter")},{key:"insertRowBefore",label:r("table.insertRowBefore")},{key:"insertRowAfter",label:r("table.insertRowAfter")},{type:"divider"},{key:"deleteColumn",label:r("table.deleteColumn"),danger:!0},{key:"deleteRow",label:r("table.deleteRow"),danger:!0}],l=f=>{switch(f.key){case"insertColumnBefore":o.addTableColumnBefore();break;case"insertColumnAfter":o.addTableColumnAfter();break;case"insertRowBefore":o.addTableRowBefore();break;case"insertRowAfter":o.addTableRowAfter();break;case"deleteColumn":o.deleteTableColumn();break;case"deleteRow":o.deleteTableRow();break}},{ref:c,key:d,x:m,y:p}=t;return Po("div",{ref:c,style:{position:"absolute",left:m,top:p,width:20,height:20,zIndex:1},children:Po(Kg,{menu:{items:a,onClick:l},trigger:["click"],raw:!0,open:n,onOpenChange:i,triggerRef:s,getPopupContainer:()=>document.body,children:Po("div",{ref:s,onMouseDown:f=>{f.preventDefault()},onClick:()=>i(!n),style:{cursor:"pointer"},children:Po("i",{className:"ri-equalizer-line"})})})},d)},aa=Wg;import{useCommands as Ug}from"@rme-sdk/react";import qg from"styled-components";import{Tooltip as Gg}from"zens";import{jsx as Yr}from"react/jsx-runtime";var jg=qg.div`
1753
+ `;import{PositionerPortal as tb,useCommands as ob,useMultiPositioner as rb}from"@rme-sdk/react";import{useEffect as nb}from"react";import{useCommands as Vg}from"@rme-sdk/react";import{useRef as Fg,useState as $g}from"react";import{useTranslation as zg}from"react-i18next";import{Dropdown as Kg}from"zens";import{jsx as No}from"react/jsx-runtime";var Wg=e=>{let{positioner:t}=e,o=Vg(),{t:r}=zg(),[n,i]=$g(!1),s=Fg(null),a=[{key:"insertColumnBefore",label:r("table.insertColumnBefore")},{key:"insertColumnAfter",label:r("table.insertColumnAfter")},{key:"insertRowBefore",label:r("table.insertRowBefore")},{key:"insertRowAfter",label:r("table.insertRowAfter")},{type:"divider"},{key:"deleteColumn",label:r("table.deleteColumn"),danger:!0},{key:"deleteRow",label:r("table.deleteRow"),danger:!0}],l=f=>{switch(f.key){case"insertColumnBefore":o.addTableColumnBefore();break;case"insertColumnAfter":o.addTableColumnAfter();break;case"insertRowBefore":o.addTableRowBefore();break;case"insertRowAfter":o.addTableRowAfter();break;case"deleteColumn":o.deleteTableColumn();break;case"deleteRow":o.deleteTableRow();break}},{ref:c,key:d,x:m,y:p}=t;return No("div",{ref:c,style:{position:"absolute",left:m,top:p,width:20,height:20,zIndex:1},children:No(Kg,{menu:{items:a,onClick:l},trigger:["click"],raw:!0,open:n,onOpenChange:i,triggerRef:s,getPopupContainer:()=>document.body,children:No("div",{ref:s,onMouseDown:f=>{f.preventDefault()},onClick:()=>i(!n),style:{cursor:"pointer"},children:No("i",{className:"ri-equalizer-line"})})})},d)},la=Wg;import{useCommands as Ug}from"@rme-sdk/react";import qg from"styled-components";import{Tooltip as Gg}from"zens";import{jsx as Jr}from"react/jsx-runtime";var jg=qg.div`
1754
1754
  position: absolute;
1755
1755
  color: ${e=>e.theme.dangerColor};
1756
- `;function Qg(e){let{positioner:t}=e,o=Ug(),{ref:r,key:n,x:i,y:s}=t;return Yr(jg,{ref:r,style:{left:i-15+t.width/2,top:s+t.height,width:20,height:20},onMouseDown:a=>{a.preventDefault(),o.deleteTable()},children:Yr(Gg,{title:"delete",children:Yr("i",{className:"ri-delete-bin-line"})})},n)}var la=Qg;import{Positioner as No,hasStateChanged as Xg,isPositionVisible as Yg}from"@rme-sdk/extension-positioner";import{findParentNodeOfType as da,isElementDomNode as Jr}from"@rme-sdk/main";function Jg(e){return da({selection:e,types:"table"})}function Zg(e){return da({selection:e,types:["tableHeaderCell","tableCell"]})}var ma={y:-999999,x:-999999,width:0,height:0},ca={...ma,left:-999999,top:-999999,bottom:-999999,right:-999999},eb={...ma,rect:{...ca,toJSON:()=>ca},visible:!1},pa=No.create({hasChanged:Xg,getActive(e){let{state:t,view:o}=e,{selection:r}=t,n=Jg(r);if(!n)return No.EMPTY;let i=Zg(r);if(!i)return No.EMPTY;let{pos:s}=i,a=o.nodeDOM(n.pos),l=o.nodeDOM(s);if(!Jr(a)||!Jr(l))return No.EMPTY;let c=a.getBoundingClientRect(),d=l.getBoundingClientRect();return[{pos:n.pos,rect:new DOMRect(c.x,c.y,c.width,c.height)},{pos:s,rect:new DOMRect(d.x,c.y,d.width,c.height)}]},getID(e){return`${e.pos}`},getPosition(e){let{view:t,data:o}=e,r=t.nodeDOM(o.pos);if(!Jr(r))return eb;let n=r.getBoundingClientRect(),i=t.dom.getBoundingClientRect(),s=n.width,a=t.dom.scrollLeft+n.left-i.left,l=t.dom.scrollTop+n.top-i.top,c=n.height,d=new DOMRect(n.x,n.y,s,c);return{x:a,y:l,width:s,height:c,rect:d,visible:Yg(d,t.dom)}}});import{Fragment as fa,jsx as St}from"react/jsx-runtime";var ib=({positioner:e})=>{let t=rb(e,[]),{forceUpdatePositioners:o}=ob();if(nb(()=>{o()},[o]),t.length===0)return null;let r=[la,aa];return St(fa,{children:t.map((n,i)=>{let s=r[i];return St(s,{positioner:n},n.key)})})},sb=()=>St(fa,{children:St(tb,{children:St(ib,{positioner:pa})})}),ua=sb;import{isString as pb}from"@rme-sdk/core";import{useCallback as ub}from"react";import fb from"styled-components";import{Ariakit as hb,Tooltip as gb}from"zens";import{useHelpers as lb}from"@rme-sdk/react-core";import{useMemo as ha}from"react";import{t as cb}from"i18next";import{isArray as mA,isEqual as pA,isFunction as ab,isString as uA}from"@rme-sdk/core";function Ro(e,t){return ab(e)?e(t):e}var ga=({commandName:e,active:t,enabled:o,attrs:r})=>{let{getCommandOptions:n}=lb(),i=n(e),{description:s,label:a,icon:l,shortcut:c}=i||{},d=ha(()=>({active:t,attrs:r,enabled:o,t:cb}),[t,r,o]);return ha(()=>({description:Ro(s,d),label:Ro(a,d),icon:Ro(l,d),shortcut:""}),[d,s,a,l])};import{isString as db}from"@rme-sdk/core";import{jsx as mb}from"react/jsx-runtime";var ba=({icon:e})=>db(e)?mb("i",{className:e}):e;import{jsx as Zr}from"react/jsx-runtime";var _=({commandName:e,active:t=!1,enabled:o,attrs:r,onSelect:n,onChange:i,icon:s,displayShortcut:a=!0,"aria-label":l,label:c,...d})=>{let m=ub(x=>{n(),i?.(x)},[n,i]),p=ga({commandName:e,active:t,enabled:o,attrs:r}),f=null;p.icon&&(f=pb(p.icon)?p.icon:p.icon.name);let u=l??p.label??"",y=c??u,b=a&&p.shortcut?` (${p.shortcut})`:"";return Zr(gb,{title:`${y}${b}`,children:Zr(bb,{"aria-label":u,disabled:!o,...d,value:e,onClick:m,children:Zr(ba,{icon:s??f})})})},bb=fb(hb.ToolbarItem)`
1756
+ `;function Qg(e){let{positioner:t}=e,o=Ug(),{ref:r,key:n,x:i,y:s}=t;return Jr(jg,{ref:r,style:{left:i-15+t.width/2,top:s+t.height,width:20,height:20},onMouseDown:a=>{a.preventDefault(),o.deleteTable()},children:Jr(Gg,{title:"delete",children:Jr("i",{className:"ri-delete-bin-line"})})},n)}var ca=Qg;import{Positioner as Ro,hasStateChanged as Xg,isPositionVisible as Yg}from"@rme-sdk/extension-positioner";import{findParentNodeOfType as ma,isElementDomNode as Zr}from"@rme-sdk/main";function Jg(e){return ma({selection:e,types:"table"})}function Zg(e){return ma({selection:e,types:["tableHeaderCell","tableCell"]})}var pa={y:-999999,x:-999999,width:0,height:0},da={...pa,left:-999999,top:-999999,bottom:-999999,right:-999999},eb={...pa,rect:{...da,toJSON:()=>da},visible:!1},ua=Ro.create({hasChanged:Xg,getActive(e){let{state:t,view:o}=e,{selection:r}=t,n=Jg(r);if(!n)return Ro.EMPTY;let i=Zg(r);if(!i)return Ro.EMPTY;let{pos:s}=i,a=o.nodeDOM(n.pos),l=o.nodeDOM(s);if(!Zr(a)||!Zr(l))return Ro.EMPTY;let c=a.getBoundingClientRect(),d=l.getBoundingClientRect();return[{pos:n.pos,rect:new DOMRect(c.x,c.y,c.width,c.height)},{pos:s,rect:new DOMRect(d.x,c.y,d.width,c.height)}]},getID(e){return`${e.pos}`},getPosition(e){let{view:t,data:o}=e,r=t.nodeDOM(o.pos);if(!Zr(r))return eb;let n=r.getBoundingClientRect(),i=t.dom.getBoundingClientRect(),s=n.width,a=t.dom.scrollLeft+n.left-i.left,l=t.dom.scrollTop+n.top-i.top,c=n.height,d=new DOMRect(n.x,n.y,s,c);return{x:a,y:l,width:s,height:c,rect:d,visible:Yg(d,t.dom)}}});import{Fragment as ha,jsx as Tt}from"react/jsx-runtime";var ib=({positioner:e})=>{let t=rb(e,[]),{forceUpdatePositioners:o}=ob();if(nb(()=>{o()},[o]),t.length===0)return null;let r=[ca,la];return Tt(ha,{children:t.map((n,i)=>{let s=r[i];return Tt(s,{positioner:n},n.key)})})},sb=()=>Tt(ha,{children:Tt(tb,{children:Tt(ib,{positioner:ua})})}),fa=sb;import{isString as pb}from"@rme-sdk/core";import{useCallback as ub}from"react";import fb from"styled-components";import{Ariakit as hb,Tooltip as gb}from"zens";import{useHelpers as lb}from"@rme-sdk/react-core";import{useMemo as ga}from"react";import{t as cb}from"i18next";import{isArray as mA,isEqual as pA,isFunction as ab,isString as uA}from"@rme-sdk/core";function Io(e,t){return ab(e)?e(t):e}var ba=({commandName:e,active:t,enabled:o,attrs:r})=>{let{getCommandOptions:n}=lb(),i=n(e),{description:s,label:a,icon:l,shortcut:c}=i||{},d=ga(()=>({active:t,attrs:r,enabled:o,t:cb}),[t,r,o]);return ga(()=>({description:Io(s,d),label:Io(a,d),icon:Io(l,d),shortcut:""}),[d,s,a,l])};import{isString as db}from"@rme-sdk/core";import{jsx as mb}from"react/jsx-runtime";var ya=({icon:e})=>db(e)?mb("i",{className:e}):e;import{jsx as en}from"react/jsx-runtime";var _=({commandName:e,active:t=!1,enabled:o,attrs:r,onSelect:n,onChange:i,icon:s,displayShortcut:a=!0,"aria-label":l,label:c,...d})=>{let m=ub(x=>{n(),i?.(x)},[n,i]),p=ba({commandName:e,active:t,enabled:o,attrs:r}),f=null;p.icon&&(f=pb(p.icon)?p.icon:p.icon.name);let u=l??p.label??"",y=c??u,b=a&&p.shortcut?` (${p.shortcut})`:"";return en(gb,{title:`${y}${b}`,children:en(bb,{"aria-label":u,disabled:!o,...d,value:e,onClick:m,children:en(ya,{icon:s??f})})})},bb=fb(hb.ToolbarItem)`
1757
1757
  display: flex;
1758
1758
  flex-direction: column;
1759
1759
  align-items: center;
@@ -1768,7 +1768,7 @@ ${n}`);return bu(i,o)}function xu(e,t){if(t.length===0||e.length===0)return;let
1768
1768
  &:hover {
1769
1769
  background-color: ${e=>e.theme.hoverColor};
1770
1770
  }
1771
- `;import Ia from"styled-components";import{Ariakit as Aa}from"zens";import{useActive as yb,useCommands as xb}from"@rme-sdk/react-core";import{useCallback as kb}from"react";import{t as Cb}from"i18next";import{jsx as wb}from"react/jsx-runtime";var ya=({attrs:e={},...t})=>{let{insertHorizontalRule:o}=xb(),r=kb(()=>{o.enabled(e)&&o(e)},[o,e]),n=yb().codeMirror(),i=o.enabled(e);return wb(_,{...t,label:Cb("toolbar.separator"),icon:"ri-separator",commandName:"insertHorizontalRule",active:n,enabled:i,attrs:e,onSelect:r})};import{useCommands as Eb,useHelpers as Sb}from"@rme-sdk/react-core";import{t as Tb}from"i18next";import{useCallback as vb}from"react";import{jsx as Mb}from"react/jsx-runtime";var xa=e=>{let{redo:t}=Eb(),{redoDepth:o}=Sb(!0),r=vb(()=>{t.enabled()&&t()},[t]),n=o()>0;return Mb(_,{...e,label:Tb("toolbar.redo"),icon:"ri-arrow-go-forward-fill",commandName:"redo",active:!1,enabled:n,onSelect:r})};import{useActive as Pb,useCommands as Nb}from"@rme-sdk/react-core";import{useCallback as Rb}from"react";import{t as Ib}from"i18next";import{jsx as Ab}from"react/jsx-runtime";var ka=({...e})=>{let{toggleBlockquote:t}=Nb(),o=Rb(()=>{t.enabled()&&t()},[t]),r=Pb().blockquote(),n=t.enabled();return Ab(_,{...e,label:Ib("toolbar.blockquote"),icon:"ri-double-quotes-r",commandName:"toggleBlockquote",active:r,enabled:n,onSelect:o})};import{useActive as Lb,useCommands as _b}from"@rme-sdk/react-core";import{useCallback as Bb}from"react";import{t as Ob}from"i18next";import{jsx as Hb}from"react/jsx-runtime";var Ca=e=>{let{toggleStrong:t}=_b(),o=Bb(()=>{t.enabled()&&t()},[t]),r=Lb().mdStrong(),n=t.enabled();return Hb(_,{...e,label:Ob("toolbar.bold"),icon:"ri-bold",commandName:"toggleStrong",active:r,enabled:n,onSelect:o})};import{useActive as Db,useCommands as Vb}from"@rme-sdk/react-core";import{useCallback as Fb}from"react";import{t as $b}from"i18next";import{jsx as zb}from"react/jsx-runtime";var wa=e=>{let{toggleList:t}=Vb(),o=Fb(()=>{t&&t({})},[t]),r=Db().list();return zb(_,{...e,label:$b("toolbar.bulletList"),icon:"ri-list-unordered",commandName:"toggleList",active:r,enabled:!0,onSelect:o})};import{useActive as Kb,useCommands as Wb}from"@rme-sdk/react-core";import{useCallback as Ub}from"react";import{t as qb}from"i18next";import{jsx as Gb}from"react/jsx-runtime";var Ea=({attrs:e={},...t})=>{let{createCodeMirror:o}=Wb(),r=Ub(()=>{o.enabled(e)&&o(e)},[o,e]),n=Kb().codeMirror(),i=o.enabled(e);return Gb(_,{...t,label:qb("toolbar.codeBlock"),icon:"ri-code-box-line",commandName:"createCodeMirror",active:n,enabled:i,attrs:e,onSelect:r})};import{useActive as jb,useCommands as Qb}from"@rme-sdk/react-core";import{useCallback as Xb}from"react";import{t as Yb}from"i18next";import{jsx as Jb}from"react/jsx-runtime";var Sa=e=>{let{toggleCodeText:t}=Qb(),o=Xb(()=>{t.enabled()&&t()},[t]),r=jb().mdCodeText(),n=t.enabled();return Jb(_,{...e,label:Yb("toolbar.codeText"),icon:"ri-code-line",commandName:"toggleCodeText",active:r,enabled:n,onSelect:o})};import{useActive as Zb,useCommands as ey}from"@rme-sdk/react-core";import{useCallback as ty}from"react";import{t as oy}from"i18next";import{jsx as ry}from"react/jsx-runtime";var Ta=({attrs:e,...t})=>{let{toggleHeading:o}=ey(),r=ty(()=>{o.enabled(e)&&o(e)},[o,e]),n=Zb().heading(e),i=o.enabled(e);return ry(_,{...t,label:oy("toolbar.heading"),icon:"ri-heading",commandName:"toggleHeading",active:n,enabled:i,attrs:e,onSelect:r})};import{useActive as ny,useCommands as iy}from"@rme-sdk/react-core";import{useCallback as sy}from"react";import{t as ay}from"i18next";import{jsx as ly}from"react/jsx-runtime";var va=e=>{let{toggleEmphasis:t}=iy(),o=sy(()=>{t.enabled()&&t()},[t]),r=ny().mdEm(),n=t.enabled();return ly(_,{...e,label:ay("toolbar.italic"),icon:"ri-italic",commandName:"toggleEmphasis",active:r,enabled:n,onSelect:o})};import{useActive as cy,useCommands as dy}from"@rme-sdk/react-core";import{useCallback as my}from"react";import{t as py}from"i18next";import{jsx as uy}from"react/jsx-runtime";var Ma=e=>{let{toggleList:t}=dy(),o=my(()=>{t&&t({kind:"ordered"})},[t]),r=cy().list();return uy(_,{...e,label:py("toolbar.orderedList"),icon:"ri-list-ordered",commandName:"toggleList",active:r,enabled:!0,onSelect:o})};import{useActive as fy,useCommands as hy}from"@rme-sdk/react-core";import{useCallback as gy}from"react";import{t as by}from"i18next";import{jsx as yy}from"react/jsx-runtime";var Pa=e=>{let{toggleList:t}=hy(),o=gy(()=>{t&&t({kind:"task"})},[t]),r=fy().list();return yy(_,{...e,label:by("toolbar.taskList"),icon:"ri-list-check-3",commandName:"toggleList",active:r,enabled:!0,onSelect:o})};import{useCommands as xy,useHelpers as ky}from"@rme-sdk/react-core";import{t as Cy}from"i18next";import{useCallback as wy}from"react";import{jsx as Ey}from"react/jsx-runtime";var Na=e=>{let{undo:t}=xy(),{undoDepth:o}=ky(!0),r=wy(()=>{t.enabled()&&t()},[t]),n=o()>0;return Ey(_,{...e,label:Cy("toolbar.undo"),icon:"ri-arrow-go-back-fill",commandName:"undo",active:!1,enabled:n,onSelect:r})};import{jsx as D,jsxs as Ty}from"react/jsx-runtime";var La=e=>{let{prevActions:t=null,nextActions:o=null}=e;return Ty(Sy,{className:e.className,style:e.style,children:[t,D(Na,{}),D(xa,{}),D(Ra,{render:D("div",{})}),D(Ta,{}),D(Ca,{}),D(va,{}),D(ka,{}),D(Ea,{}),D(Sa,{}),D(ya,{}),D(Ra,{render:D("div",{})}),D(wa,{}),D(Ma,{}),D(Pa,{}),o]})},Sy=Ia(Aa.Toolbar)`
1771
+ `;import Aa from"styled-components";import{Ariakit as La}from"zens";import{useActive as yb,useCommands as xb}from"@rme-sdk/react-core";import{useCallback as kb}from"react";import{t as Cb}from"i18next";import{jsx as wb}from"react/jsx-runtime";var xa=({attrs:e={},...t})=>{let{insertHorizontalRule:o}=xb(),r=kb(()=>{o.enabled(e)&&o(e)},[o,e]),n=yb().codeMirror(),i=o.enabled(e);return wb(_,{...t,label:Cb("toolbar.separator"),icon:"ri-separator",commandName:"insertHorizontalRule",active:n,enabled:i,attrs:e,onSelect:r})};import{useCommands as Eb,useHelpers as Sb}from"@rme-sdk/react-core";import{t as Tb}from"i18next";import{useCallback as vb}from"react";import{jsx as Mb}from"react/jsx-runtime";var ka=e=>{let{redo:t}=Eb(),{redoDepth:o}=Sb(!0),r=vb(()=>{t.enabled()&&t()},[t]),n=o()>0;return Mb(_,{...e,label:Tb("toolbar.redo"),icon:"ri-arrow-go-forward-fill",commandName:"redo",active:!1,enabled:n,onSelect:r})};import{useActive as Pb,useCommands as Nb}from"@rme-sdk/react-core";import{useCallback as Rb}from"react";import{t as Ib}from"i18next";import{jsx as Ab}from"react/jsx-runtime";var Ca=({...e})=>{let{toggleBlockquote:t}=Nb(),o=Rb(()=>{t.enabled()&&t()},[t]),r=Pb().blockquote(),n=t.enabled();return Ab(_,{...e,label:Ib("toolbar.blockquote"),icon:"ri-double-quotes-r",commandName:"toggleBlockquote",active:r,enabled:n,onSelect:o})};import{useActive as Lb,useCommands as _b}from"@rme-sdk/react-core";import{useCallback as Bb}from"react";import{t as Ob}from"i18next";import{jsx as Hb}from"react/jsx-runtime";var wa=e=>{let{toggleStrong:t}=_b(),o=Bb(()=>{t.enabled()&&t()},[t]),r=Lb().mdStrong(),n=t.enabled();return Hb(_,{...e,label:Ob("toolbar.bold"),icon:"ri-bold",commandName:"toggleStrong",active:r,enabled:n,onSelect:o})};import{useActive as Db,useCommands as Vb}from"@rme-sdk/react-core";import{useCallback as Fb}from"react";import{t as $b}from"i18next";import{jsx as zb}from"react/jsx-runtime";var Ea=e=>{let{toggleList:t}=Vb(),o=Fb(()=>{t&&t({})},[t]),r=Db().list();return zb(_,{...e,label:$b("toolbar.bulletList"),icon:"ri-list-unordered",commandName:"toggleList",active:r,enabled:!0,onSelect:o})};import{useActive as Kb,useCommands as Wb}from"@rme-sdk/react-core";import{useCallback as Ub}from"react";import{t as qb}from"i18next";import{jsx as Gb}from"react/jsx-runtime";var Sa=({attrs:e={},...t})=>{let{createCodeMirror:o}=Wb(),r=Ub(()=>{o.enabled(e)&&o(e)},[o,e]),n=Kb().codeMirror(),i=o.enabled(e);return Gb(_,{...t,label:qb("toolbar.codeBlock"),icon:"ri-code-box-line",commandName:"createCodeMirror",active:n,enabled:i,attrs:e,onSelect:r})};import{useActive as jb,useCommands as Qb}from"@rme-sdk/react-core";import{useCallback as Xb}from"react";import{t as Yb}from"i18next";import{jsx as Jb}from"react/jsx-runtime";var Ta=e=>{let{toggleCodeText:t}=Qb(),o=Xb(()=>{t.enabled()&&t()},[t]),r=jb().mdCodeText(),n=t.enabled();return Jb(_,{...e,label:Yb("toolbar.codeText"),icon:"ri-code-line",commandName:"toggleCodeText",active:r,enabled:n,onSelect:o})};import{useActive as Zb,useCommands as ey}from"@rme-sdk/react-core";import{useCallback as ty}from"react";import{t as oy}from"i18next";import{jsx as ry}from"react/jsx-runtime";var va=({attrs:e,...t})=>{let{toggleHeading:o}=ey(),r=ty(()=>{o.enabled(e)&&o(e)},[o,e]),n=Zb().heading(e),i=o.enabled(e);return ry(_,{...t,label:oy("toolbar.heading"),icon:"ri-heading",commandName:"toggleHeading",active:n,enabled:i,attrs:e,onSelect:r})};import{useActive as ny,useCommands as iy}from"@rme-sdk/react-core";import{useCallback as sy}from"react";import{t as ay}from"i18next";import{jsx as ly}from"react/jsx-runtime";var Ma=e=>{let{toggleEmphasis:t}=iy(),o=sy(()=>{t.enabled()&&t()},[t]),r=ny().mdEm(),n=t.enabled();return ly(_,{...e,label:ay("toolbar.italic"),icon:"ri-italic",commandName:"toggleEmphasis",active:r,enabled:n,onSelect:o})};import{useActive as cy,useCommands as dy}from"@rme-sdk/react-core";import{useCallback as my}from"react";import{t as py}from"i18next";import{jsx as uy}from"react/jsx-runtime";var Pa=e=>{let{toggleList:t}=dy(),o=my(()=>{t&&t({kind:"ordered"})},[t]),r=cy().list();return uy(_,{...e,label:py("toolbar.orderedList"),icon:"ri-list-ordered",commandName:"toggleList",active:r,enabled:!0,onSelect:o})};import{useActive as fy,useCommands as hy}from"@rme-sdk/react-core";import{useCallback as gy}from"react";import{t as by}from"i18next";import{jsx as yy}from"react/jsx-runtime";var Na=e=>{let{toggleList:t}=hy(),o=gy(()=>{t&&t({kind:"task"})},[t]),r=fy().list();return yy(_,{...e,label:by("toolbar.taskList"),icon:"ri-list-check-3",commandName:"toggleList",active:r,enabled:!0,onSelect:o})};import{useCommands as xy,useHelpers as ky}from"@rme-sdk/react-core";import{t as Cy}from"i18next";import{useCallback as wy}from"react";import{jsx as Ey}from"react/jsx-runtime";var Ra=e=>{let{undo:t}=xy(),{undoDepth:o}=ky(!0),r=wy(()=>{t.enabled()&&t()},[t]),n=o()>0;return Ey(_,{...e,label:Cy("toolbar.undo"),icon:"ri-arrow-go-back-fill",commandName:"undo",active:!1,enabled:n,onSelect:r})};import{jsx as D,jsxs as Ty}from"react/jsx-runtime";var _a=e=>{let{prevActions:t=null,nextActions:o=null}=e;return Ty(Sy,{className:e.className,style:e.style,children:[t,D(Ra,{}),D(ka,{}),D(Ia,{render:D("div",{})}),D(va,{}),D(wa,{}),D(Ma,{}),D(Ca,{}),D(Sa,{}),D(Ta,{}),D(xa,{}),D(Ia,{render:D("div",{})}),D(Ea,{}),D(Pa,{}),D(Na,{}),o]})},Sy=Aa(La.Toolbar)`
1772
1772
  display: flex;
1773
1773
  flex-wrap: wrap;
1774
1774
  max-width: 100%;
@@ -1778,10 +1778,10 @@ ${n}`);return bu(i,o)}function xu(e,t){if(t.length===0||e.length===0)return;let
1778
1778
  font-size: ${e=>e.theme.fontSm};
1779
1779
  color: ${e=>e.theme.primaryFontColor};
1780
1780
  background-color: ${e=>e.theme.editorToolbarBgColor};
1781
- `,Ra=Ia(Aa.ToolbarSeparator)`
1781
+ `,Ia=Aa(La.ToolbarSeparator)`
1782
1782
  height: 0.5em;
1783
1783
  margin: 0 0.25em;
1784
1784
  border-right-width: 1px;
1785
1785
  border-right-style: solid;
1786
1786
  border-color: ${e=>e.theme.labelFontColor};
1787
- `;import{useRemirrorContext as vy}from"@rme-sdk/react";import{memo as My}from"react";import{jsx as Ny}from"react/jsx-runtime";var Py=My(({children:e,...t})=>{let{getRootProps:o}=vy(),{key:r,...n}=o(),i=Object.assign({position:"relative",padding:"0 40px"},t.style);return Ny("div",{...n,spellCheck:!1,...t,style:i,children:e})}),_a=Py;import{isExtension as Ry}from"@rme-sdk/core";import{createReactManager as Iy}from"@rme-sdk/react";function Ba(e){return!!(Ry(e)&&e.fromMarkdown&&e.toMarkdown)}function Ay(e){let t=[];for(let o of e.extensions)Ba(o)&&t.push(...o.fromMarkdown());return new At(e.schema,t)}function Ly(e){let t={};for(let o of e.extensions)Ba(o)&&(t[o.name]=o.toMarkdown);return new ko(t)}var ve=(e={})=>{let t={copy:"mod-c",paste:"mod-v",undo:"mod-z",redo:"mod-shift-z",cut:"mod-x",toggleH1:"mod-1",toggleH2:"mod-2",toggleH3:"mod-3",toggleH4:"mod-4",toggleH5:"mod-5",toggleH6:"mod-6",toggleStrong:"mod-b",toggleEmphasis:"mod-i",toggleCodeText:"mod-e",toggleDelete:"mod-shift-s"},o={...e.overrideShortcutMap||{}};e.disableAllBuildInShortcuts||Object.assign(o,t),delete o.paste;let r=Iy(()=>[...Kr(e)],{builtin:{overrideShortcutMap:o}}),n=Ay(r),i=Ly(r);return{view:"Wysiwyg",manager:r,stringToDoc:l=>{let c=n.parse(l);return Sr(c)},docToString:l=>i.serialize(l)}};import{jsx as ee,jsxs as $y}from"react/jsx-runtime";var Fy=e=>{let{content:t,hooks:o,delegate:r,wysiwygToolBar:n,isTesting:i,editable:s=!0,wysiwygToolBarOptions:a,styleToken:l=vo,wysiwygTextContainerProps:c={}}=e,d=Vy(()=>r??ve(),[r]),m=Hy(f=>{try{e.onChange?.(f)}catch(u){console.error(u)}},[d,e]);Dy(()=>{let f=d.manager.getExtension(ce);f&&d?.manager?.view?.dispatch(d.manager.view.state.tr.setMeta(f.pluginKey,{stringToDoc:d.stringToDoc,docToString:d.docToString}))},[d]);let p;try{p=d.stringToDoc(t)}catch(f){return ee(Ie,{hasError:!0,error:f,...e.errorHandler||{}})}return ee(Ie,{...e.errorHandler||{},children:ee(Mt,{...l,children:$y(By,{manager:d.manager,initialContent:p,hooks:o,editable:s,onChange:m,autoRender:!1,children:[a?.enable?ee(La,{...a?.compProps}):null,ee(_a,{...c}),ee(ua,{}),ee(ia,{}),ee(sa,{}),n||null,i?ee(_y,{}):null]})})})},en=Oy(Fy);import Oa from"html-parse-stringify";import{nanoid as Xy}from"nanoid";import{jsx as on}from"react/jsx-runtime";var A_=Uy(Wy((e,t)=>{let{initialType:o="wysiwyg",hooks:r=[],onContextMounted:n,...i}=e,[s,a]=Qy(o),l=jy(null),c=tn(()=>i.delegate?i.delegate:s==="sourceCode"?To():ve(i.delegateOptions),[i.delegate,i.delegateOptions,s]),d=tn(f=>{let u=l.current?.view;if(!u)return;let b=c().stringToDoc(f),x=u.state.tr.replace(0,u.state.doc.content.size,new Ky(b.content,0,0));u.dispatch(x)},[c]),m=tn(f=>{l.current=f,n?.(f)},[n]);qy(t,()=>({getType:()=>s,toggleType:f=>{a(f)},setContent:f=>{f!==i.content&&d(f)},exportHtml:async()=>new Promise(f=>{let u=i.content;typeof u=="string"&&(u=ve(i.delegateOptions).stringToDoc(u));let y=zy(u),b=Oa.parse(y),x=[],E=async k=>{let h=g=>{g&&(g.name==="img"&&g.attrs?.src&&i.delegateOptions?.handleViewImgSrcUrl&&x.push((async()=>{g.attrs.src=await i.delegateOptions?.handleViewImgSrcUrl?.(g.attrs.src),g.attrs.key=Xy()})()),g.children&&E(g.children))};for(let g=0;g<k.length;g++)h(k[g])};E(b),Promise.all(x).then(k=>{f(Oa.stringify(b))}).catch(()=>{f(y)})})}));let p=Gy(()=>[()=>Gs(m),...r],[m,r]);return s==="preview"?on(Ha,{doc:i.content,delegateOptions:i.delegateOptions}):s==="sourceCode"?on(qr,{...i,hooks:p}):on(en,{...i,hooks:p})})),vo={rootFontSize:"15px",rootLineHeight:"1.6"};import{ThemeProvider as Zy}from"styled-components";import{memo as ex,useEffect as Ka}from"react";import Fa from"i18next";import{initReactI18next as Jy}from"react-i18next";var Va={common:{loading:"Loading",accept:"Accept"},table:{insertColumnAfter:"insert column after",insertColumnBefore:"insert column before",insertRowAfter:"insert row after",insertRowBefore:"insert row before",deleteColumn:"delete column",deleteRow:"delete row"},codemirror:{searchInputPlaceholder:"Input language",frontMatterPlaceholder:"input yaml front matter"},ai:{generate:"Generate Text",stop:"Stop",retry:"Retry",regenerate:"Regenerate",preview:"Preview",error:"Error occurred",prompt:"Prompt"},toolbar:{undo:"Undo",redo:"Redo",separator:"Insert Separator",blockquote:"Blockquote",bold:"Bold",italic:"Italic",codeText:"Code Text",codeBlock:"Code Block",heading:"Heading",bulletList:"Bullet List",orderedList:"Ordered List",taskList:"Task List"},slashMenu:{searchPlaceholder:"Search menu items...",noResults:"No results",toNavigate:"to navigate",toSelect:"to select",toCancel:"to cancel"},blockType:{paragraph:"Paragraph",heading:"Heading {{level}}",codeBlock:"Code Block",blockquote:"Quote",bulletList:"Bullet List",orderedList:"Ordered List",taskList:"Task List",transformTo:"Transform to"},blockTypeGroup:{text:"Text",list:"List",other:"Other"}};async function $a(e={},t){await Fa.use(Jy).init({resources:{en:{translation:Va},...e},interpolation:{escapeValue:!1},fallbackLng:"en",...t})}function za(e){return Fa.changeLanguage(e)}import tx from"mermaid";import{jsx as ox}from"react/jsx-runtime";var j_=ex(({theme:e,i18n:t,children:o})=>{let r=e?.mode||"light",n=r==="dark"?_o.styledConstants:st.styledConstants,i=e?.token?{...n,...e.token}:n;return Ka(()=>{t?.locales&&$a(t.locales).then(()=>{t?.language&&za(t?.language)})},[t]),Ka(()=>{let s=e?.codemirrorTheme||r==="dark"?_o.codemirrorTheme:st.codemirrorTheme;Do(s),tx.initialize({theme:r==="dark"?"dark":"default"}),Ct.emit("change-theme")},[r,e?.codemirrorTheme,Do]),ox(Zy,{theme:i,children:o})});import{useEffect as ax,useState as lx}from"react";import{Icon as cx}from"zens";import{prosemirrorNodeToHtml as rx}from"@rme-sdk/main";import nn from"html-parse-stringify";import{normalizeReference as Wa}from"markdown-it/lib/common/utils.mjs";import nx from"mermaid";import{nanoid as rn}from"nanoid";var ix={img:[{checker:(e,t)=>e.name==="img"&&e.attrs?.src&&t?.handleViewImgSrcUrl,handler:async(e,t)=>{e.attrs.src=await t?.handleViewImgSrcUrl?.(e.attrs.src),e.attrs.key=rn()}},{checker:e=>e.name==="img"&&e.attrs?.["data-refer-label"],handler:async(e,t,o)=>{let r=e.attrs["data-refer-label"],n=o?.get(Wa(r));n?.href&&(e.attrs.src=n.href,n.title&&(e.attrs.title=n.title)),t?.handleViewImgSrcUrl&&e.attrs.src&&(e.attrs.src=await t.handleViewImgSrcUrl(e.attrs.src)),e.attrs.key=rn(),delete e.attrs["data-refer-label"]}}],pre:[{checker:e=>e.attrs["data-type"]==="mermaid",handler:async(e,t)=>{let o=e.children?.[0]?.content||"";if(T()){let i=document.createElement("div");i.innerHTML=o,o=i.textContent||""}let r=await nx.render(`mermaid_${sx.count++}`,o),n=nn.parse(r.svg);e.name="div",e.attrs={key:rn()},e.children=n}}]},sx={count:0},Ua=async(e,t)=>{let o=rx(e),r=nn.parse(o),n=new Map;for(let a of e.content.content)if(a.type.name==="reference_def"){let l="",c="",d="";for(let m of a.content.content)m.type.name==="reference_label"?l=m.textContent||"":m.type.name==="reference_href"?c=m.textContent||"":m.type.name==="reference_title"&&(d=m.textContent||"");l&&c&&n.set(Wa(l),{href:c,title:d})}console.log("preview",n,r);let i=[],s=a=>{let l=c=>{if(!c)return;let d=ix[c.name];if(d)for(let m of d)m.checker(c,t,n)&&i.push(m.handler(c,t,n));c.children&&s(c.children)};for(let c=0;c<a.length;c++)l(a[c])};s(r);try{return await Promise.all(i),nn.stringify(r)}catch{return o}};import{jsx as sn}from"react/jsx-runtime";var Ha=e=>{let{doc:t,delegateOptions:o}=e,[r,n]=lx(""),i=t;return typeof i=="string"&&(i=ve(o).stringToDoc(i)),ax(()=>{Ua(i,o).then(s=>{n(s)}).catch(s=>{e.onError?.(s),console.error(s)})},[e.onError]),r?sn(Mt,{dangerouslySetInnerHTML:{__html:r}}):sn("div",{style:{width:"100%",minHeight:"60px",display:"flex",justifyContent:"center",alignItems:"center"},children:sn(cx.Loading3QuartersOutlined,{spin:!0,size:40})})};import{useCommands as xB,useHelpers as kB,useKeymap as CB,useRemirrorContext as wB}from"@rme-sdk/react";var Da=(r=>(r.WYSIWYG="wysiwyg",r.SOURCECODE="sourceCode",r.PREVIEW="preview",r))(Da||{});export{_ as CommandButton,ba as CommandButtonIcon,A_ as Editor,Kr as EditorExtensions,Da as EditorViewType,We as HtmlImageExtension,mo as LineListExtension,Ms as MarkdownNodeExtension,Ue as MdImgUriExtension,U as MfCodemirrorView,Ha as Preview,Tn as SourceCodeThemeWrapper,qr as SourceEditor,j_ as ThemeProvider,en as WysiwygEditor,Mt as WysiwygThemeWrapper,La as WysiwygToolbar,Ps as alwaysTrue,Ay as buildMarkdownParser,Ly as buildMarkdownSerializer,Do as changeTheme,vn as common,An as computeChange,To as createSourceCodeDelegate,Wh as createSourceCodeManager,Ao as createTheme,ve as createWysiwygDelegate,_o as darkTheme,vo as defaultStyleToken,lk as extractMatches,wl as getLanguageMap,zT as isImageFileType,po as isOrderedListNode,st as lightTheme,El as loadLanguage,Bn as scrollCodemirrorToMatch,zx as tableSelectorSize,ak as updateCodemirrorSearchQuery,pe as updateCodemirrorSearchState,xB as useCommands,kB as useHelpers,CB as useKeymap,wB as useRemirrorContext};
1787
+ `;import{useRemirrorContext as vy}from"@rme-sdk/react";import{memo as My}from"react";import{jsx as Ny}from"react/jsx-runtime";var Py=My(({children:e,...t})=>{let{getRootProps:o}=vy(),{key:r,...n}=o(),i=Object.assign({position:"relative",padding:"0 40px"},t.style);return Ny("div",{...n,spellCheck:!1,...t,style:i,children:e})}),Ba=Py;import{isExtension as Ry}from"@rme-sdk/core";import{createReactManager as Iy}from"@rme-sdk/react";function Oa(e){return!!(Ry(e)&&e.fromMarkdown&&e.toMarkdown)}function Ay(e){let t=[];for(let o of e.extensions)Oa(o)&&t.push(...o.fromMarkdown());return new Lt(e.schema,t)}function Ly(e){let t={};for(let o of e.extensions)Oa(o)&&(t[o.name]=o.toMarkdown);return new Co(t)}var ve=(e={})=>{let t={copy:"mod-c",paste:"mod-v",undo:"mod-z",redo:"mod-shift-z",cut:"mod-x",toggleH1:"mod-1",toggleH2:"mod-2",toggleH3:"mod-3",toggleH4:"mod-4",toggleH5:"mod-5",toggleH6:"mod-6",toggleStrong:"mod-b",toggleEmphasis:"mod-i",toggleCodeText:"mod-e",toggleDelete:"mod-shift-s"},o={...e.overrideShortcutMap||{}};e.disableAllBuildInShortcuts||Object.assign(o,t),delete o.paste;let r=Iy(()=>[...Wr(e)],{builtin:{overrideShortcutMap:o}}),n=Ay(r),i=Ly(r);return{view:"Wysiwyg",manager:r,stringToDoc:l=>{let c=n.parse(l);return Tr(c)},docToString:l=>i.serialize(l)}};import{jsx as ee,jsxs as $y}from"react/jsx-runtime";var Fy=e=>{let{content:t,hooks:o,delegate:r,wysiwygToolBar:n,isTesting:i,editable:s=!0,wysiwygToolBarOptions:a,styleToken:l=Mo,wysiwygTextContainerProps:c={}}=e,d=Vy(()=>r??ve(),[r]),m=Hy(f=>{try{e.onChange?.(f)}catch(u){console.error(u)}},[d,e]);Dy(()=>{let f=d.manager.getExtension(ce);f&&d?.manager?.view?.dispatch(d.manager.view.state.tr.setMeta(f.pluginKey,{stringToDoc:d.stringToDoc,docToString:d.docToString}))},[d]);let p;try{p=d.stringToDoc(t)}catch(f){return ee(Ie,{hasError:!0,error:f,...e.errorHandler||{}})}return ee(Ie,{...e.errorHandler||{},children:ee(Pt,{...l,children:$y(By,{manager:d.manager,initialContent:p,hooks:o,editable:s,onChange:m,autoRender:!1,children:[a?.enable?ee(_a,{...a?.compProps}):null,ee(Ba,{...c}),ee(fa,{}),ee(sa,{}),ee(aa,{}),n||null,i?ee(_y,{}):null]})})})},tn=Oy(Fy);import Ha from"html-parse-stringify";import{nanoid as Xy}from"nanoid";import{jsx as rn}from"react/jsx-runtime";var A_=Uy(Wy((e,t)=>{let{initialType:o="wysiwyg",hooks:r=[],onContextMounted:n,...i}=e,[s,a]=Qy(o),l=jy(null),c=on(()=>i.delegate?i.delegate:s==="sourceCode"?vo():ve(i.delegateOptions),[i.delegate,i.delegateOptions,s]),d=on(f=>{let u=l.current?.view;if(!u)return;let b=c().stringToDoc(f),x=u.state.tr.replace(0,u.state.doc.content.size,new Ky(b.content,0,0));u.dispatch(x)},[c]),m=on(f=>{l.current=f,n?.(f)},[n]);qy(t,()=>({getType:()=>s,toggleType:f=>{a(f)},setContent:f=>{f!==i.content&&d(f)},exportHtml:async()=>new Promise(f=>{let u=i.content;typeof u=="string"&&(u=ve(i.delegateOptions).stringToDoc(u));let y=zy(u),b=Ha.parse(y),x=[],E=async k=>{let h=g=>{g&&(g.name==="img"&&g.attrs?.src&&i.delegateOptions?.handleViewImgSrcUrl&&x.push((async()=>{g.attrs.src=await i.delegateOptions?.handleViewImgSrcUrl?.(g.attrs.src),g.attrs.key=Xy()})()),g.children&&E(g.children))};for(let g=0;g<k.length;g++)h(k[g])};E(b),Promise.all(x).then(k=>{f(Ha.stringify(b))}).catch(()=>{f(y)})})}));let p=Gy(()=>[()=>js(m),...r],[m,r]);return s==="preview"?rn(Da,{doc:i.content,delegateOptions:i.delegateOptions}):s==="sourceCode"?rn(Gr,{...i,hooks:p}):rn(tn,{...i,hooks:p})})),Mo={rootFontSize:"15px",rootLineHeight:"1.6"};import{ThemeProvider as Zy}from"styled-components";import{memo as ex,useEffect as Wa}from"react";import $a from"i18next";import{initReactI18next as Jy}from"react-i18next";var Fa={common:{loading:"Loading",accept:"Accept"},table:{insertColumnAfter:"insert column after",insertColumnBefore:"insert column before",insertRowAfter:"insert row after",insertRowBefore:"insert row before",deleteColumn:"delete column",deleteRow:"delete row"},codemirror:{searchInputPlaceholder:"Input language",frontMatterPlaceholder:"input yaml front matter"},ai:{generate:"Generate Text",stop:"Stop",retry:"Retry",regenerate:"Regenerate",preview:"Preview",error:"Error occurred",prompt:"Prompt"},toolbar:{undo:"Undo",redo:"Redo",separator:"Insert Separator",blockquote:"Blockquote",bold:"Bold",italic:"Italic",codeText:"Code Text",codeBlock:"Code Block",heading:"Heading",bulletList:"Bullet List",orderedList:"Ordered List",taskList:"Task List"},slashMenu:{searchPlaceholder:"Search menu items...",noResults:"No results",toNavigate:"to navigate",toSelect:"to select",toCancel:"to cancel"},blockType:{paragraph:"Paragraph",heading:"Heading {{level}}",codeBlock:"Code Block",blockquote:"Quote",bulletList:"Bullet List",orderedList:"Ordered List",taskList:"Task List",transformTo:"Transform to"},blockTypeGroup:{text:"Text",list:"List",other:"Other"}};async function za(e={},t){await $a.use(Jy).init({resources:{en:{translation:Fa},...e},interpolation:{escapeValue:!1},fallbackLng:"en",...t})}function Ka(e){return $a.changeLanguage(e)}import tx from"mermaid";import{jsx as ox}from"react/jsx-runtime";var j_=ex(({theme:e,i18n:t,children:o})=>{let r=e?.mode||"light",n=r==="dark"?Bo.styledConstants:st.styledConstants,i=e?.token?{...n,...e.token}:n;return Wa(()=>{t?.locales&&za(t.locales).then(()=>{t?.language&&Ka(t?.language)})},[t]),Wa(()=>{let s=e?.codemirrorTheme||r==="dark"?Bo.codemirrorTheme:st.codemirrorTheme;Vo(s),tx.initialize({theme:r==="dark"?"dark":"default"}),wt.emit("change-theme")},[r,e?.codemirrorTheme,Vo]),ox(Zy,{theme:i,children:o})});import{useEffect as ax,useState as lx}from"react";import{Icon as cx}from"zens";import{prosemirrorNodeToHtml as rx}from"@rme-sdk/main";import sn from"html-parse-stringify";import{normalizeReference as Ua}from"markdown-it/lib/common/utils.mjs";import nx from"mermaid";import{nanoid as nn}from"nanoid";var ix={img:[{checker:(e,t)=>e.name==="img"&&e.attrs?.src&&t?.handleViewImgSrcUrl,handler:async(e,t)=>{e.attrs.src=await t?.handleViewImgSrcUrl?.(e.attrs.src),e.attrs.key=nn()}},{checker:e=>e.name==="img"&&e.attrs?.["data-refer-label"],handler:async(e,t,o)=>{let r=e.attrs["data-refer-label"],n=o?.get(Ua(r));n?.href&&(e.attrs.src=n.href,n.title&&(e.attrs.title=n.title)),t?.handleViewImgSrcUrl&&e.attrs.src&&(e.attrs.src=await t.handleViewImgSrcUrl(e.attrs.src)),e.attrs.key=nn(),delete e.attrs["data-refer-label"]}}],pre:[{checker:e=>e.attrs["data-type"]==="mermaid",handler:async(e,t)=>{let o=e.children?.[0]?.content||"";if(T()){let i=document.createElement("div");i.innerHTML=o,o=i.textContent||""}let r=await nx.render(`mermaid_${sx.count++}`,o),n=sn.parse(r.svg);e.name="div",e.attrs={key:nn()},e.children=n}}]},sx={count:0},qa=async(e,t)=>{let o=rx(e),r=sn.parse(o),n=new Map;for(let a of e.content.content)if(a.type.name==="reference_def"){let l="",c="",d="";for(let m of a.content.content)m.type.name==="reference_label"?l=m.textContent||"":m.type.name==="reference_href"?c=m.textContent||"":m.type.name==="reference_title"&&(d=m.textContent||"");l&&c&&n.set(Ua(l),{href:c,title:d})}console.log("preview",n,r);let i=[],s=a=>{let l=c=>{if(!c)return;let d=ix[c.name];if(d)for(let m of d)m.checker(c,t,n)&&i.push(m.handler(c,t,n));c.children&&s(c.children)};for(let c=0;c<a.length;c++)l(a[c])};s(r);try{return await Promise.all(i),sn.stringify(r)}catch{return o}};import{jsx as an}from"react/jsx-runtime";var Da=e=>{let{doc:t,delegateOptions:o}=e,[r,n]=lx(""),i=t;return typeof i=="string"&&(i=ve(o).stringToDoc(i)),ax(()=>{qa(i,o).then(s=>{n(s)}).catch(s=>{e.onError?.(s),console.error(s)})},[e.onError]),r?an(Pt,{dangerouslySetInnerHTML:{__html:r}}):an("div",{style:{width:"100%",minHeight:"60px",display:"flex",justifyContent:"center",alignItems:"center"},children:an(cx.Loading3QuartersOutlined,{spin:!0,size:40})})};import{useCommands as xB,useHelpers as kB,useKeymap as CB,useRemirrorContext as wB}from"@rme-sdk/react";var Va=(r=>(r.WYSIWYG="wysiwyg",r.SOURCECODE="sourceCode",r.PREVIEW="preview",r))(Va||{});export{_ as CommandButton,ya as CommandButtonIcon,A_ as Editor,Wr as EditorExtensions,Va as EditorViewType,We as HtmlImageExtension,po as LineListExtension,Ps as MarkdownNodeExtension,Ue as MdImgUriExtension,U as MfCodemirrorView,Da as Preview,vn as SourceCodeThemeWrapper,Gr as SourceEditor,j_ as ThemeProvider,tn as WysiwygEditor,Pt as WysiwygThemeWrapper,_a as WysiwygToolbar,Ns as alwaysTrue,Ay as buildMarkdownParser,Ly as buildMarkdownSerializer,Vo as changeTheme,Mn as common,Ln as computeChange,vo as createSourceCodeDelegate,Wh as createSourceCodeManager,Lo as createTheme,ve as createWysiwygDelegate,Bo as darkTheme,Mo as defaultStyleToken,lk as extractMatches,El as getLanguageMap,zT as isImageFileType,uo as isOrderedListNode,st as lightTheme,Sl as loadLanguage,On as scrollCodemirrorToMatch,zx as tableSelectorSize,ak as updateCodemirrorSearchQuery,pe as updateCodemirrorSearchState,xB as useCommands,kB as useHelpers,CB as useKeymap,wB as useRemirrorContext};