@meowdown/core 0.32.0 → 0.33.1

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.
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import{Priority as e,Priority as t,createMarkBuilders as n,createNodeBuilders as r,defineBaseCommands as i,defineBaseKeymap as a,defineCommands as o,defineDOMEventHandler as s,defineHistory as c,defineKeymap as l,defineMarkSpec as u,defineMarkView as d,defineNodeAttr as f,defineNodeSpec as p,definePlugin as m,getMarkRange as h,getMarkType as ee,getNodeType as te,isAllSelection as ne,isApple as re,isAtBlockStart as ie,isNodeSelection as ae,isTextSelection as g,toggleNode as oe,union as _,unsetBlockType as se,withPriority as ce,withPriority as v,withSkipCodeBlock as le}from"@prosekit/core";import{definePlaceholder as ue}from"@prosekit/extensions/placeholder";import{defineReadonly as de}from"@prosekit/extensions/readonly";import{isElementLike as fe,once as y}from"@ocavue/utils";import{defineBlockquote as pe}from"@prosekit/extensions/blockquote";import{defineCodeBlock as me,defineCodeBlockHighlight as he}from"@prosekit/extensions/code-block";import{defineDoc as ge}from"@prosekit/extensions/doc";import{defineGapCursor as _e}from"@prosekit/extensions/gap-cursor";import{defineModClickPrevention as ve}from"@prosekit/extensions/mod-click-prevention";import{defineText as ye}from"@prosekit/extensions/text";import{defineVirtualSelection as be}from"@prosekit/extensions/virtual-selection";import{NodeSelection as xe,Plugin as b,PluginKey as x,Selection as Se,TextSelection as S}from"@prosekit/pm/state";import{Decoration as C,DecorationSet as w}from"@prosekit/pm/view";import{LanguageDescription as Ce}from"@codemirror/language";import{languages as we}from"@codemirror/language-data";import{classHighlighter as Te,highlightTree as Ee}from"@lezer/highlight";import{createParser as De}from"prosemirror-highlight/lezer";import{DOMSerializer as Oe,Mark as ke,Slice as T}from"@prosekit/pm/model";import{defineHeadingCommands as Ae,defineHeadingInputRule as je,defineHeadingSpec as Me}from"@prosekit/extensions/heading";import{defineHorizontalRule as Ne}from"@prosekit/extensions/horizontal-rule";import{AddMarkStep as Pe,AddNodeMarkStep as Fe,RemoveMarkStep as Ie,RemoveNodeMarkStep as Le,ReplaceStep as Re,Step as ze,StepResult as Be,Transform as Ve}from"@prosekit/pm/transform";import{GFM as He,parser as Ue}from"@lezer/markdown";import{defineInputRule as We}from"@prosekit/extensions/input-rule";import{defineListCommands as Ge,defineListDropIndicator as Ke,defineListKeymap as qe,defineListSerializer as Je,defineListSpec as Ye,moveList as Xe,toggleList as Ze,wrapInList as E}from"@prosekit/extensions/list";import{createListRenderingPlugin as Qe,createSafariInputMethodWorkaroundPlugin as $e,createToggleCollapsedCommand as et,handleListMarkerMouseDown as tt,unwrapListSlice as nt,wrappingListInputRule as D}from"prosemirror-flat-list";import{defineTableCellSpec as rt,defineTableCommands as it,defineTableDropIndicator as at,defineTableEditingPlugin as ot,defineTableHeaderCellSpec as st,defineTableRowSpec as ct,defineTableSpec as lt,deleteTable as ut,isCellSelection as dt}from"@prosekit/extensions/table";import{defineParagraphCommands as ft,defineParagraphKeymap as pt}from"@prosekit/extensions/paragraph";import{closeHistory as mt}from"@prosekit/pm/history";import ht from"rehype-parse";import gt from"rehype-remark";import _t from"remark-gfm";import vt from"remark-stringify";import{unified as yt}from"unified";import{registerResizableHandleElement as bt,registerResizableRootElement as xt}from"@prosekit/web/resizable";import{triggerAutocomplete as St}from"@prosekit/extensions/autocomplete";function O(e,t,n){let r=e.doc.content.size;if(t<0||t>r)return;let i=e.doc.resolve(t);if(!(!i.parent.isTextblock||i.parent.type.spec.code))return h(i,n)}const Ct=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]),wt=new x(`mark-mode`);function Tt(e){return new b({key:wt,state:{init:()=>e,apply:(e,t)=>t},props:{attributes:{"data-mark-mode":e},decorations:e===`focus`?e=>kt(e):void 0,clipboardTextSerializer:e===`show`?void 0:Ot}})}function Et(e){return m(Tt(e))}function Dt(e){return wt.getState(e)}function Ot(e){let t=[];return e.content.forEach(e=>{let n=[];e.descendants(e=>!e.isText||!e.text?!0:(e.marks.some(e=>Ct.has(e.type.name))||n.push(e.text),!1)),t.push(n.join(``))}),t.join(`
2
- `)}function kt(e){let{selection:t}=e;if(!t.empty)return w.empty;let n=t.$head,{parent:r}=n;if(!r.isTextblock||r.type.spec.code)return w.empty;let i=h(n,ee(e.schema,`mdPack`));return i?w.create(e.doc,[C.inline(i.from,i.to,{class:`show`})]):w.empty}function k(e,t){let n=Dt(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function At(e,t,n){for(let r of n){let n=O(e,t,r);if(n)return n}}function A(e,t,n){let r=At(e,t,n);return r&&r.to===t?r:void 0}function jt(e,t,n){let r=At(e,t,n);return r&&r.from===t?r:void 0}function Mt(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=At(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function Nt(e,t){return S.create(e.doc,t.from,t.to)}function Pt(e){return(t,n)=>{let r=k(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=jt(t,i.from,r);if(e)return n?.(t.tr.setSelection(Nt(t,e))),!0;if(A(t,i.from,r)){let e=t.doc.resolve(i.from);return i.from>=e.end()?!1:(n?.(t.tr.setSelection(S.create(t.doc,i.from+1))),!0)}return!1}let a=Mt(t,r);return a?(n?.(t.tr.setSelection(S.create(t.doc,a.to))),!0):!1}}function Ft(e){return(t,n)=>{let r=k(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=A(t,i.from,r);return e?(n?.(t.tr.setSelection(Nt(t,e))),!0):!1}let a=Mt(t,r);return a?(n?.(t.tr.setSelection(S.create(t.doc,a.from))),!0):!1}}function It(e){return(t,n)=>{let r=k(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=A(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!jt(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function Lt(e){return(t,n)=>{let r=k(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=jt(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!A(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}const Rt=`md-atom-selected`;function zt(e){return new b({key:new x(`atom-mark-selection`),props:{decorations:t=>{let n=k(e,t);if(n.length===0)return;let r=Mt(t,n);if(r)return w.create(t.doc,[C.inline(r.from,r.to,{class:Rt})]);let{from:i,to:a,empty:o}=t.selection;if(o)return null;let s=[];return t.doc.nodesBetween(i,a,(e,t)=>{e.marks.some(e=>n.includes(e.type.name))&&s.push(C.inline(t,t+e.nodeSize,{class:Rt}))}),w.create(t.doc,s)}}})}function Bt({marks:e}){return _(v(l({ArrowRight:Pt(e),ArrowLeft:Ft(e),Backspace:It(e),Delete:Lt(e)}),t.high),m(zt(e)))}const j=new Map,Vt=new Map;async function Ht(e){let t=j.get(e);if(t!==void 0)return t;let n=Ce.matchLanguageName(we,e,!0);if(!n)return j.set(e,null),null;let r=n.support;if(!r)try{r=await n.load()}catch(t){return console.error(`[meowdown] Failed to load language "${e}":`,t),j.set(e,null),null}return j.set(e,r),r}function Ut(e,t){let n=Vt.get(e);if(n)return n;let r=De({parse:e=>t.language.parser.parse(e.content),highlighter:Te});return Vt.set(e,r),r}const Wt=e=>{let t=e.language?.trim();if(!t)return[];let n=j.get(t);return n===null?[]:n?Ut(t,n)(e):Ht(t).then(()=>void 0)};function Gt(){return he({parser:Wt,nodeTypes:[`codeBlock`]})}function Kt(e,t){let n=t.language.parser.parse(e),r=[];return Ee(n,Te,(e,t,n)=>{r.push([e,t,n])}),r}function qt(e,t){let n=t.trim();if(!n)return[];let r=j.get(n);return r===null?[]:r?Kt(e,r):Ht(n).then(t=>t?Kt(e,t):[])}function Jt(e,t){return(n,r)=>{if(r){let i=S.create(n.doc,e,t);r(n.tr.setSelection(i))}return!0}}function Yt(e,t,n){return(r,i)=>{if(i){let a=S.between(e,t,n);i(r.tr.setSelection(a))}return!0}}function Xt(e){return(t,n)=>{if(!e.trim())return!1;let r=Y(e,{nodes:Hi(t.schema)}).content;if(r.childCount===0)return!1;let i=r.childCount===1&&r.child(0).type.name===`paragraph`?new T(r,1,1):new T(r,0,T.maxOpen(r).openEnd);return n&&n(t.tr.replaceSelection(i).scrollIntoView()),!0}}function Zt(){return o({insertMarkdown:Xt,selectText:Jt,selectTextBetween:Yt})}const Qt=(e,t,n)=>{let{selection:r}=e;return r.empty||n?.composing?!1:(t?.(e.tr.setSelection(S.near(r.$head))),!0)};function $t(){return v(l({Escape:Qt}),t.low)}function en(){return f({type:`doc`,attr:`frontmatter`,default:null})}function tn(){return p({name:`heading`,whitespace:`pre`})}function nn(){return f({type:`heading`,attr:`setextUnderline`,default:null,toDOM:e=>e==null?null:[`data-setext-underline`,String(e)],parseDOM:e=>{let t=e.getAttribute(`data-setext-underline`);if(t==null)return null;let n=Number.parseInt(t,10);return Number.isSafeInteger(n)&&n>0?n:null}})}function rn(){return f({type:`heading`,attr:`closingHashes`,default:null,toDOM:e=>e==null?null:[`data-closing-hashes`,String(e)],parseDOM:e=>{let t=e.getAttribute(`data-closing-hashes`);if(t==null)return null;let n=Number.parseInt(t,10);return Number.isSafeInteger(n)&&n>0?n:null}})}function M(e){return le(oe({type:`heading`,attrs:{level:e}}))}const an=(e,t,n)=>ie(e,n)?.parent.type.name===`heading`?se()(e,t,n):!1;function on(){return l({"Mod-1":M(1),"Mod-2":M(2),"Mod-3":M(3),"Mod-4":M(4),"Mod-5":M(5),"Mod-6":M(6),Backspace:an})}function sn(){return _(Me(),tn(),nn(),rn(),je(),Ae(),on())}function cn(){return f({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function ln(){return _(Ne(),cn())}function un(){return p({name:`htmlComment`,group:`block`,atom:!0,selectable:!1,attrs:{content:{default:``}},toDOM:e=>[`div`,{"data-html-comment":e.attrs.content,style:`display: none`}],parseDOM:[{tag:`div[data-html-comment]`,getAttrs:e=>({content:e.getAttribute(`data-html-comment`)??``})}]})}function dn(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function fn(e,t){let[n,r,i]=t;return[n,r,i.map(t=>ke.fromJSON(e,t))]}var N=class e extends ze{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return Be.ok(e);let t=e.content.size,n;for(let[r,i,a]of this.chunks){if(r>=i)continue;let o=Math.max(0,Math.min(r,t)),s=Math.max(o,Math.min(i,t));o>=s||e.nodesBetween(o,s,(t,r)=>{if(!t.isText)return!0;let i=Math.max(o,r),c=Math.min(s,r+t.nodeSize);if(i>=c)return!1;let l=t.marks;for(let t of l)t.isInSet(a)||(n??=new Ve(e),n.removeMark(i,c,t));for(let t of a)t.isInSet(l)||(n??=new Ve(e),n.addMark(i,c,t));return!1})}return Be.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return pn;let t=this.chunks[0][0],n=this.chunks[0][1];for(let[,e]of this.chunks)e>n&&(n=e);let r=e.content.size,i=Math.max(0,Math.min(t,r)),a=Math.max(i,Math.min(n,r));return new Re(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(dn)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>fn(t,e)))}};ze.jsonID(`batchSetMark`,N);const pn=new N([]),mn=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),hn=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function gn(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function _n(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!mn.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!hn.test(e))return!1;return!0}function P(e){return e===32||e===9||e===10||e===13}const vn=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,yn=/[\s(*_~]/;function bn(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function xn(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function Sn(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&xn(e,t,`)`)>xn(e,t,`(`))t--;else if(n===`;`){let n=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(0,t));if(!n)break;t=n.index}else break}return t}const Cn={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!bn(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!yn.test(r))return-1;let i=vn.exec(e.slice(n,e.end));if(!i)return-1;let a=Sn(i[0]);return a===0||!_n(gn(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function wn(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45||e===95||e>127&&/[\p{L}\p{N}]/u.test(String.fromCharCode(e))}function Tn(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const En={defineNodes:[{name:`Hashtag`}],parseInline:[{name:`Hashtag`,parse(e,t,n){if(t!==35||!/\s|^$/.test(e.slice(n-1,n)))return-1;let r=n+1,i=!1;for(;r<e.end;){let t=e.char(r);if(!wn(t))break;i||=Tn(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},Dn={resolve:`Highlight`,mark:`HighlightMark`},On=/[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~\u{A1}\u{2010}-\u{2027}]/u,kn={defineNodes:[{name:`Highlight`},{name:`HighlightMark`}],parseInline:[{name:`Highlight`,after:`Emphasis`,parse(e,t,n){if(t!==61||e.char(n+1)!==61||e.char(n+2)===61)return-1;let r=e.slice(n-1,n),i=e.slice(n+2,n+3),a=/\s|^$/.test(r),o=/\s|^$/.test(i),s=On.test(r),c=On.test(i);return e.addDelimiter(Dn,n,n+2,!o&&(!c||a||s),!a&&(!s||o||c))}}]},An={defineNodes:[{name:`Wikilink`},{name:`WikilinkMark`}],parseInline:[{name:`Wikilink`,before:`Link`,parse(e,t,n){if(t!==91||e.char(n+1)!==91)return-1;let r=!1;for(let t=n+2;t<e.end-1;t++){let i=e.char(t);if(i===93){if(e.char(t+1)!==93||!r)return-1;let i=t+2;return e.addElement(e.elt(`Wikilink`,n,i,[e.elt(`WikilinkMark`,n,n+2),e.elt(`WikilinkMark`,t,i)]))}if(i===91||i===10)return-1;i!==32&&i!==9&&(r=!0)}return-1}}]};function jn(e){return e.end}const F=Ue.configure([He,En,An,Cn,kn]),Mn=F.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:jn}]});function I(e){return F.parseInline(e,0)}function L(e,t,n=[]){for(let r of e)t(r)&&n.push(r),L(r.children,t,n);return n}function Nn(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const R=Nn(F),Pn=/^<!--\s*(\{[^}]*\})\s*-->$/,Fn=/<!--\s*\{[^}]*\}\s*-->$/;function In(e){let t=Pn.exec(e.trim());if(!t)return;let n;try{n=JSON.parse(t[1])}catch{return}if(typeof n!=`object`||!n)return;let r=Ln(n);return Object.keys(r).length>0?r:void 0}function Ln(e){let t={},{width:n,height:r}=e;return typeof n==`number`&&Number.isFinite(n)&&n>0&&(t.width=Math.round(n)),typeof r==`number`&&Number.isFinite(r)&&r>0&&(t.height=Math.round(r)),t}function Rn(e){return`<!-- ${JSON.stringify(e)} -->`}function zn(e){return e.replace(Fn,``)}function Bn(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}function Vn(e){let t=e.replace(/^\[\[/,``).replace(/\]\]$/,``),n=t.indexOf(`|`);return n<0?{target:t.trim(),display:``}:{target:t.slice(0,n).trim(),display:t.slice(n+1).trim()}}function Hn(){return e=>{let t=e.attrs,n=document.createElement(`span`);n.className=`md-wikilink-view md-atom-view`;let r=document.createElement(`span`);r.className=`md-wikilink-view-preview md-atom-view-preview`,r.contentEditable=`false`,r.dataset.testid=`wikilink`,n.appendChild(r);let i=document.createElement(`span`);i.className=`md-wikilink-view-label`,i.contentEditable=`false`,i.textContent=t.display||t.target,r.appendChild(i);let a=document.createElement(`span`);return a.className=`md-wikilink-view-content md-atom-view-content`,n.appendChild(a),{dom:n,contentDOM:a,ignoreMutation:e=>!a.contains(e.target)}}}function Un(){return d({name:`mdWikilink`,constructor:Hn()})}const Wn=new Map([[R.Emphasis,`mdEm`],[R.StrongEmphasis,`mdStrong`],[R.InlineCode,`mdCode`],[R.Strikethrough,`mdDel`],[R.Highlight,`mdHighlight`],[R.EmphasisMark,`mdMark`],[R.CodeMark,`mdMark`],[R.LinkMark,`mdMark`],[R.StrikethroughMark,`mdMark`],[R.HighlightMark,`mdMark`],[R.URL,`mdLinkUri`],[R.LinkTitle,`mdLinkTitle`],[R.Hashtag,`mdTag`],[R.WikilinkMark,`mdMark`]]);function Gn(e,t,n){let r=I(t),i=[];return B(r,[],0,t.length,t,e,i,n),i}function Kn(e){if(/^[a-z][a-z0-9+.-]*:/i.test(e))return e;if(/^[^\s@]+@[^\s@]+$/.test(e))return`mailto:${e}`;if(/^www\./i.test(e)||_n(gn(e)))return`https://${e}`}function z(e){return e.slice(1,-1).replaceAll(/\\(.)/g,`$1`)}function B(e,t,n,r,i,a,o,s){let c=n;for(let n=0;n<e.length;n++){let r=e[n];r.from>c&&V(o,c,r.from,t);let l=r.type;if(l===R.Link){let e=Yn(r,t,i,a,s);e?V(o,r.from,r.to,e):Xn(r,t,i,a,o)}else if(l===R.Image){let s=Zn(r,e[n+1],i);Qn(r,t,i,a,o,s),s&&n++,c=s?s.to:r.to;continue}else if(l===R.Wikilink)$n(r,t,i,a,o);else if(l===R.URL){let e=Kn(i.slice(r.from,r.to)),n=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();V(o,r.from,r.to,[...t,n])}else{let e;l===R.Emphasis?e=`italic`:l===R.StrongEmphasis?e=`bold`:l===R.InlineCode?e=`code`:l===R.Strikethrough?e=`strike`:l===R.Highlight?e=`highlight`:l===R.Autolink&&(e=`autolink`);let n=e?[...t,a.mdPack.create({key:e})]:t,c=Wn.get(l),u=c?[...n,a[c].create()]:n;r.children.length===0?V(o,r.from,r.to,u):B(r.children,u,r.from,r.to,i,a,o,s)}c=r.to}c<r&&V(o,c,r,t)}function qn(e){let t=-1,n=-1,r=null,i=null,a=0;for(let o of e.children)o.type===R.LinkMark?(a++,a===1&&(t=o.to),a===2&&(n=o.from)):o.type===R.URL&&r===null?r=o:o.type===R.LinkTitle&&i===null&&(i=o);return{labelFrom:t,labelTo:n,urlNode:r,titleNode:i}}function Jn(e){let t=e.split(/[?#]/,1)[0],n=t.split(/[/\\]/).findLast(Boolean)??t;try{return decodeURIComponent(n)}catch{return n}}function Yn(e,t,n,r,i){let a=i?.resolveFileLink;if(!a)return;let{labelFrom:o,labelTo:s,urlNode:c,titleNode:l}=qn(e);if(o<0||s<0||!c)return;let u=n.slice(c.from,c.to);if(!u)return;let d=n.slice(o,s),f=l?z(n.slice(l.from,l.to)):``;if(!a({href:u,label:d,title:f}))return;let p=d||Jn(u);return[...t,r.mdFile.create({href:u,name:p,title:f})]}function Xn(e,t,n,r,i){let{labelTo:a,urlNode:o,titleNode:s}=qn(e),c=o?n.slice(o.from,o.to):``,l=s?z(n.slice(s.from,s.to)):``,u=c?r.mdLinkText.create({href:c}):null,d=e=>a>=0&&e<a&&u!==null,f=r.mdPack.create({key:`link`,data:{href:c,title:l}}),p=[...t,f],m=e.from;for(let t of e.children){if(t.from>m){let e=d(m)?[...p,u]:p;V(i,m,t.from,e)}let e=d(t.from)?[...p,u]:p;if(t.type===R.Wikilink){$n(t,e,n,r,i),m=t.to;continue}let a=Wn.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?V(i,t.from,t.to,o):B(t.children,o,t.from,t.to,n,r,i,void 0),m=t.to}m<e.to&&V(i,m,e.to,p)}function Zn(e,t,n){if(!t||t.type!==R.Comment||t.from!==e.to)return;let r=In(n.slice(t.from,t.to));if(r)return{magic:r,to:t.to}}function Qn(e,t,n,r,i,a){let o=e.children.find(e=>e.type===R.URL);if(!o){Xn(e,t,n,r,i);return}let s=e.children.filter(e=>e.type===R.LinkMark),c=e.children.find(e=>e.type===R.LinkTitle),l=n.slice(o.from,o.to),u=s.length>=2?n.slice(s[0].to,s[1].from):``,d=c?z(n.slice(c.from,c.to)):``,f=a?.magic.width??null,p=a?.magic.height??null,m=a?.to??e.to;V(i,e.from,m,[...t,r.mdImage.create({src:l,alt:u,title:d,width:f,height:p})])}function $n(e,t,n,r,i){let{target:a,display:o}=Vn(n.slice(e.from,e.to));V(i,e.from,e.to,[...t,r.mdWikilink.create({target:a,display:o})])}function V(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&Bn(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const er=`inline-marks-applied`;let tr=0,nr=0;function rr(e,t){let n=1/0,r=-1/0;for(let t of e)for(let e of t.mapping.maps)e.forEach((e,t,i,a)=>{i<n&&(n=i),a>r&&(r=a)});let i=t.doc.content.size;return n>r?{from:0,to:i}:{from:Math.max(0,n),to:Math.min(i,r)}}function ir(e){let t=new WeakMap;function n(n,r,i){let a=t.get(n);if(a?nr++:(tr++,a=Gn(Bi(i),n.textContent,e),t.set(n,a)),r===0)return a;let o=[];for(let[e,t,n]of a)o.push([e+r,t+r,n]);return o}function r(e,t){let r=[];return e.doc.nodesBetween(t.from,t.to,(t,i)=>{if(t.type.spec.code)return!1;if(!t.isTextblock)return!0;if(t.childCount===0)return!1;let a=n(t,i+1,e.schema);return a.length>0&&r.push(...a),!1}),r}return new b({key:new x(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(er))return null;let i=r(n,rr(e,n));if(i.length===0)return null;let a=n.tr.step(new N(i));return a.setMeta(er,!0),a.setMeta(`addToHistory`,!1),a},view(e){return e.dispatch(ar(e.state)),{}}})}function ar(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function or(e){return m(ir(e))}function sr(){return u({name:`mdImage`,inclusive:!1,attrs:{src:{default:``},alt:{default:``},title:{default:``},width:{default:null},height:{default:null}},toDOM:()=>[`span`,{class:`md-image`},0],parseDOM:[{tag:`span.md-image`}]})}function cr(){return u({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function lr(){return u({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function ur(){return u({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function dr(){return u({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function fr(){return u({name:`mdLinkText`,inclusive:!1,attrs:{href:{default:``}},toDOM:e=>[`a`,{class:`md-link`,href:e.attrs.href},0],parseDOM:[{tag:`a`,getAttrs:e=>({href:e.getAttribute(`href`)??``})}]})}function pr(){return u({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function mr(){return u({name:`mdLinkTitle`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-title`},0],parseDOM:[{tag:`span.md-link-title`}]})}function hr(){return u({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function gr(){return u({name:`mdHighlight`,toDOM:()=>[`mark`,0],parseDOM:[{tag:`mark`}]})}function _r(){return u({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function vr(){return u({name:`mdWikilink`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink`},0],parseDOM:[{tag:`span.md-wikilink`}]})}function yr(){return u({name:`mdFile`,inclusive:!1,attrs:{href:{default:``},name:{default:``},title:{default:``}},toDOM:()=>[`span`,{class:`md-file`},0],parseDOM:[{tag:`span.md-file`}]})}function br(){return u({name:`mdPack`,excludes:``,inclusive:!1,attrs:{key:{},data:{default:null}},toDOM:e=>[`span`,{class:`md-pack`,"data-key":e.attrs.key},0],parseDOM:[{tag:`span.md-pack`}]})}function xr(){return _(cr(),lr(),ur(),dr(),fr(),pr(),mr(),hr(),gr(),_r(),vr(),sr(),yr(),br())}function Sr(e,t=0){let n=t,r=0;for(let t=0;t<e.length;t++)e.charCodeAt(t)===96?(r++,r>n&&(n=r)):r=0;return n}const H={em:{node:R.Emphasis,delim:`*`},strong:{node:R.StrongEmphasis,delim:`**`},code:{node:R.InlineCode,delim:"`"},del:{node:R.Strikethrough,delim:`~~`},highlight:{node:R.Highlight,delim:`==`}},Cr=new Set([R.EmphasisMark,R.CodeMark,R.LinkMark,R.StrikethroughMark,R.HighlightMark]);function U(e){return[e.children[0],e.children.at(-1)]}function wr(e){let{type:t,children:n}=e;if(t===R.Emphasis||t===R.StrongEmphasis||t===R.Strikethrough||t===R.Highlight)return[n[0].to,n.at(-1).from];if(t===R.Link||t===R.Image){let e=n.find((e,t)=>t>0&&e.type===R.LinkMark);return e?[n[0].to,e.from]:null}return null}function W(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=wr(r);return i&&i[0]<=t&&n<=i[1]?W(r.children,t,n):W(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function Tr(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return Tr(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}function Er(e,t,n){for(;t<n&&P(e.charCodeAt(t));)t++;for(;n>t&&P(e.charCodeAt(n-1));)n--;return[t,n]}function Dr(e,t,n,r){let i=L(I(e),e=>e.type===r.node||Cr.has(e.type));for(let r=t;r<n;r++)if(!P(e.charCodeAt(r))&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function Or(e,t,n,r,i){let a=I(e),o=L(a,e=>e.type===r.node);return i?jr(e,o,t,n):kr(e,a,o,t,n,r)}function kr(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=W(t,r,i);for(let e of n)e.to===r&&(r=e.from),e.from===i&&(i=e.to)}let o=[];for(let e of n)if(r<=e.from&&e.to<=i){let[t,n]=U(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=Ar(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function Ar(e,t,n,r,i){if(i.node!==R.InlineCode)return[i.delim,i.delim];let a=e.slice(t,n);for(let e of[...r].sort((e,t)=>t.from-e.from))a=a.slice(0,e.from-t)+a.slice(e.to-t);let o="`".repeat(Sr(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function jr(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=U(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=Tr(a.children.slice(1,-1),s,c);s>t.to&&P(e.charCodeAt(s-1));)s--;for(;c<o.from&&P(e.charCodeAt(c));)c++;s>t.to?i.push({from:s,to:s,insert:e.slice(o.from,o.to)}):i.push({from:t.from,to:t.to,insert:``}),c<o.from?i.push({from:c,to:c,insert:e.slice(t.from,t.to)}):i.push({from:o.from,to:o.to,insert:``})}return i}function Mr(e,t,n){let{delim:r}=n,i=r.length;if(e.slice(t-i,t)===r&&e.startsWith(r,t)&&e[t-i-1]!==r[0]&&e[t+i]!==r[0])return{kind:`unwrap`,from:t-i,to:t+i};let a=I(e),o=L(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=U(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return Nr(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function Nr(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=wr(n);return!e||t<e[0]||t>e[1]?!0:Nr(n.children,t)}return!1}function G(e){return(t,n)=>{if(t.selection.empty)return Pr(e,t,n);let{from:r,to:i,anchor:a,head:o}=t.selection,s=[];t.doc.nodesBetween(r,i,(t,n)=>{if(t.type.spec.code)return!1;if(!t.isTextblock)return!0;let a=t.textContent,o=n+1,[c,l]=Er(a,Math.max(r-o,0),Math.min(i-o,a.length));return c<l&&s.push({text:a,base:o,from:c,to:l,active:Dr(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>Or(t.text,t.from,t.to,e,c).map(e=>({from:e.from+t.base,to:e.to+t.base,insert:e.insert})));if(l.length===0)return!1;if(n){let e=t.tr;l.sort((e,t)=>t.from-e.from||t.to-e.to);for(let t of l)t.insert?e.insertText(t.insert,t.from,t.to):e.delete(t.from,t.to);e.setSelection(S.create(e.doc,e.mapping.map(a,a<=o?1:-1),e.mapping.map(o,o<a?1:-1))),n(e.scrollIntoView())}return!0}}function Pr(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=Mr(i.textContent,r.parentOffset,e);if(!a)return!1;if(n){let i=r.start(),o=t.tr;a.kind===`unwrap`&&o.delete(i+a.from,i+a.to),a.kind===`move`&&o.setSelection(S.create(o.doc,i+a.pos)),a.kind===`insert`&&(o.insertText(e.delim+e.delim,i+a.pos),o.setSelection(S.create(o.doc,i+a.pos+e.delim.length))),n(o.scrollIntoView())}return!0}function Fr(){return o({toggleEm:()=>G(H.em),toggleStrong:()=>G(H.strong),toggleCode:()=>G(H.code),toggleDel:()=>G(H.del),toggleHighlight:()=>G(H.highlight)})}function Ir(){return l({"Mod-b":G(H.strong),"Mod-i":G(H.em),"Mod-e":G(H.code),"Mod-Shift-x":G(H.del),"Mod-Shift-h":G(H.highlight)})}function Lr(){return _(Fr(),Ir())}function Rr(e,t,n){let r;return e.doc.nodesBetween(t.from,t.to,(e,i)=>(e.isText&&e.marks.some(e=>e.type.name===n)&&(r={from:Math.max(i,t.from),to:Math.min(i+e.nodeSize,t.to)}),!0)),r}function K(e,t){let n=O(e,t,`mdLinkText`),r=O(e,t,`mdPack`),i=r??n;if(!i)return;let a=r?.mark.attrs,o=n?.mark.attrs?.href??``;if(!r||a?.key!==`link`)return{unit:{from:i.from,to:i.to},href:o,title:``};let s=Rr(e,i,`mdLinkUri`),c=s?s.from-2:i.to-3,l=s?s.from:i.to-1;return{unit:{from:i.from,to:i.to},label:{from:i.from+1,to:c},dest:{from:l,to:i.to-1},href:a.data.href,title:a.data.title}}function zr(e){let t=e.trim();return t?Kn(t)??t:``}function Br(e,t){return e+(t?` "${t.replaceAll(/(["\\])/g,String.raw`\$1`)}"`:``)}function Vr(e){let{selection:t}=e,{$from:n,$to:r,empty:i}=t;if(i||!n.sameParent(r)||!g(t))return;let a=n.parent;if(!a.isTextblock||a.type.spec.code)return;let o=n.start(),[s,c]=Er(a.textContent,n.parentOffset,r.parentOffset);if(!(s>=c))return{from:o+s,to:o+c}}function Hr(e={}){return(t,n)=>{let r=Br(zr(e.href??``),e.title??``),i=Vr(t);if(!i)return!1;if(n){let{from:e,to:a}=i,o=t.tr,s=`](${r})`;o.insertText(s,a).insertText(`[`,e),n(o.setSelection(S.create(o.doc,e,a+1+s.length)).scrollIntoView())}return!0}}function Ur(e){return(t,n)=>{let r=K(t,t.selection.from);if(!r?.dest)return!1;let i=Br(zr(e.href??r.href),e.title??r.title);return n&&n(t.tr.insertText(i,r.dest.from,r.dest.to).scrollIntoView()),!0}}function Wr(){return(e,t)=>{let n=K(e,e.selection.from);return n?.label?(t&&t(e.tr.delete(n.label.to,n.unit.to).delete(n.unit.from,n.label.from).scrollIntoView()),!0):!1}}function Gr(){return o({insertLink:Hr,updateLink:Ur,removeLink:Wr})}function Kr(e){return(t,n,r)=>{let i=K(t,t.selection.from);if(i){if(n&&r){let{unit:{from:a,to:o}}=i;n(t.tr.setSelection(S.create(t.doc,a,o)).scrollIntoView()),r.focus(),e({from:a,to:o,link:i})}return!0}let a=Vr(t);if(a){if(n&&r){let{from:i,to:o}=a;n(t.tr.setSelection(S.create(t.doc,i,o)).scrollIntoView()),r.focus(),e({from:i,to:o,link:void 0})}return!0}return!1}}function qr(e){return l({"Mod-k":Kr(e)})}function Jr(){return f({type:`list`,attr:`marker`,default:null,splittable:!0,toDOM:e=>e===`)`||e===`*`||e===`+`?[`data-list-marker`,e]:null,parseDOM:e=>{let t=e.getAttribute(`data-list-marker`);return t===`)`||t===`*`||t===`+`?t:null}})}function Yr(){return f({type:`list`,attr:`taskMarker`,default:null,splittable:!0,toDOM:e=>e===`X`?[`data-list-task-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-list-task-marker`)===`X`?`X`:null})}function Xr(e){return e===2||e===3||e===4}function Zr(){return f({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>Xr(e)?[`data-list-marker-gap`,String(e)]:null,parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return Xr(t)?t:1}})}const Qr=[D(/^\s?([*-])\s$/,{kind:`bullet`,collapsed:!1}),D(/^\s?(\d+)\.\s$/,({match:e})=>{let t=e[1],n=t?parseInt(t,10):void 0;return{kind:`ordered`,collapsed:!1,order:n&&n>=2&&Number.isSafeInteger(n)?n:null}}),D(/^\s?\[([\sXx]?)]\s$/,({match:e})=>({kind:`task`,checked:[`x`,`X`].includes(e[1]),collapsed:!1})),D(/^\s?\+\s$/,{kind:`task`,marker:`+`,checked:!1,collapsed:!1})];function $r(){return _(Qr.map(We))}function ei(){return E({kind:`task`,marker:`+`})}function ti(){return E({kind:`task`,marker:null})}function ni(){return o({wrapInCircleTask:ei,wrapInSquareTask:ti})}function ri(e){let{$from:t}=e.selection;for(let e=t.depth;e>0;e--){let n=t.node(e);if(n.type.name===`list`)return n.attrs}return null}function ii(){return(e,t,n)=>{let r=ri(e),i=r?.kind===`task`&&r.marker!==`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:r?.marker??null,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:null,checked:!1},E(a)(e,t,n)}}function ai(){return(e,t,n)=>{let r=ri(e),i=r?.kind===`task`&&r.marker===`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:`+`,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:`+`,checked:!1},E(a)(e,t,n)}}function oi(e){return e.type.name===`list`&&e.attrs.kind===`bullet`&&e.childCount>=2&&e.firstChild?.type!==e.type}const si=e=>{let t=e.attrs;return t.kind===`task`?{...t,checked:!t.checked}:oi(e)?{...t,collapsed:!t.collapsed}:t};function ci(){return m(()=>[new b({props:{handleDOMEvents:{mousedown:(e,t)=>tt({view:e,event:t,onListClick:si})}}}),Qe(),new b({props:{transformCopied:nt}}),$e()])}function li(){return o({toggleListCollapsed:()=>et({isToggleable:oi})})}function ui(){return l({"Mod-Enter":ii(),"Mod-Shift-Enter":ai(),"Mod-.":et({isToggleable:oi}),"Mod-Shift-7":Ze({kind:`ordered`,collapsed:!1}),"Mod-Shift-8":Ze({kind:`bullet`,collapsed:!1}),"Mod-Shift-9":Ze({kind:`task`,checked:!1,collapsed:!1})})}function di(){return _(Ye(),ci(),qe(),Ge(),Je(),Ke(),$r(),ui(),Jr(),Yr(),Zr(),ni(),li())}function fi(e){let{$from:t}=e.selection;for(let e=t.depth;e>0;e--){let n=t.node(e).type.name;if(n===`tableCell`||n===`tableHeaderCell`)return!0}return!1}const pi=`paragraph`;function mi(){return _(p({name:`tableCell`,content:pi}),p({name:`tableHeaderCell`,content:pi}))}const hi=(e,t)=>{let{selection:n}=e;return!dt(n)||!n.isColSelection()||!n.isRowSelection()?!1:ut(e,t)};function gi(){return v(l({Backspace:hi,Delete:hi}),t.high)}function _i(){return _(lt(),ct(),rt(),st(),mi(),ot({allowTableNodeSelection:!0}),it(),at(),gi())}function vi(e){let{selection:t}=e,{$from:n,$to:r}=t;if(ae(t)&&n.depth===0||n.depth>0&&r.depth>0&&n.index(0)===r.index(0))return n.index(0)}function yi(e){return(t,n)=>{if(fi(t))return!1;let r=vi(t);if(r==null)return!1;let i=r+e;if(i<0||i>=t.doc.childCount)return!1;if(n){let{selection:a}=t,o=Math.min(r,i),s=a.$from.posAtIndex(o,0),c=t.doc.child(o),l=t.doc.child(o+1),u=t.tr.replaceWith(s,s+c.nodeSize+l.nodeSize,[l,c]),d=e===-1?-c.nodeSize:l.nodeSize,f=ae(a)?xe.create(u.doc,a.from+d):S.create(u.doc,a.anchor+d,a.head+d);u.setSelection(f),n(u.scrollIntoView())}return!0}}function bi(e){return(t,n,r)=>Xe(e)(t,n,r)||yi(e===`up`?-1:1)(t,n,r)}function xi(){return l({"Alt-ArrowUp":bi(`up`),"Alt-ArrowDown":bi(`down`)})}function Si(){return p({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function Ci(){return _(v(Si(),t.highest),ft(),pt())}const q=new x(`meowdownPendingReplacement`);function J(e){return q.getState(e)?.pending??null}function wi(e,t){switch(e.type){case`start`:return{pending:{from:e.from,to:e.to,mode:e.mode,text:``}};case`append`:return t.pending?{pending:{...t.pending,text:t.pending.text+e.text}}:t;case`accept`:return t.pending?{pending:null,ended:{pending:t.pending,outcome:`accepted`}}:t;case`discard`:return t.pending?{pending:null,ended:{pending:t.pending,outcome:`discarded`}}:t}}const Ti=new b({key:q,state:{init:()=>({pending:null}),apply:(e,t)=>{let n=e.getMeta(q);if(n)return wi(n,t);if(e.docChanged&&t.pending){let n=e.mapping.mapResult(t.pending.from,1),r=e.mapping.mapResult(t.pending.to,-1),i=Math.min(n.pos,r.pos),a=Math.max(n.pos,r.pos);return(n.deletedAfter&&r.deletedBefore||i>=a)&&t.pending.mode===`replace`?{pending:null,ended:{pending:t.pending,outcome:`discarded`}}:{pending:{...t.pending,from:i,to:a}}}return t}},props:{decorations:e=>{let t=J(e);return!t||t.from>=t.to?null:w.create(e.doc,[C.inline(t.from,t.to,{class:`md-pending-replacement`})])}}});function Ei(e){return(t,n)=>{let{from:r,to:i,mode:a}=e;return r<0||i>t.doc.content.size||r>i||r===i&&a===`replace`?!1:(n?.(t.tr.setMeta(q,{type:`start`,from:r,to:i,mode:a})),!0)}}function Di(e){return(t,n)=>J(t)?(n?.(t.tr.setMeta(q,{type:`append`,text:e})),!0):!1}function Oi(){return(e,t)=>J(e)?(t?.(e.tr.setMeta(q,{type:`discard`})),!0):!1}function ki(e={}){return(t,n)=>{let r=J(t);if(!r||!r.text.trim())return!1;if(n){let i=e.mode??r.mode,a=Hi(t.schema),o=Y(r.text,{nodes:a}),s=t.tr;if(s.setMeta(q,{type:`accept`}),i===`append`){let e=t.doc.resolve(r.to).after(1);s.insert(e,o.content),s.setSelection(S.near(s.doc.resolve(e+o.content.size),-1))}else{let e=t.doc.resolve(r.from),n=t.doc.resolve(r.to),i=o.childCount===1?o.firstChild:null;i?.type.name===`paragraph`&&e.sameParent(n)&&e.parent.isTextblock?(s.replaceWith(r.from,r.to,i.content),s.setSelection(S.near(s.doc.resolve(r.from+i.content.size),-1))):(s.replaceRange(r.from,r.to,new T(o.content,0,0)),s.setSelection(S.near(s.doc.resolve(s.mapping.map(r.to)),-1)))}n(s.scrollIntoView())}return!0}}function Ai(){return o({startPendingReplacement:Ei,appendPendingReplacementText:Di,acceptPendingReplacement:ki,discardPendingReplacement:Oi})}function ji(){return l({"Mod-Enter":ki(),Escape:Oi()})}function Mi(){return _(m(Ti),Ai(),ji())}function Ni(e){return m(new b({view:()=>({update:(t,n)=>{let r=q.getState(n),i=q.getState(t.state);!i||r===i||(i.pending?i.pending!==r?.pending&&e({type:`update`,pending:i.pending}):i.ended&&i.ended!==r?.ended&&e({type:`ended`,pending:i.ended.pending,outcome:i.ended.outcome}))}})}))}function Pi(e){return _(Ci(),ge(),en(),ye(),pe(),di(),sn(),_i(),me(),ln(),un(),xr(),Gt(),$t(),xi(),or(e),Lr(),Gr(),Un(),Bt({marks:[{name:`mdImage`,modes:[`hide`,`focus`,`show`]},{name:`mdWikilink`,modes:[`hide`,`focus`,`show`]},{name:`mdFile`,modes:[`hide`,`focus`,`show`]}]}),a(),i(),c(),_e(),be(),ve(),Zt(),Mi())}function Fi(e={}){return Pi(e)}const Ii=y(()=>{let e=Fi().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),Li=y(()=>r(Ii())),Ri=y(()=>n(Ii())),zi=`meowdown_mark_builders`;function Bi(e){let t=e.cached[zi];if(t)return t;let r=n(e);return e.cached[zi]=r,r}const Vi=`meowdown_node_builders`;function Hi(e){let t=e.cached[Vi];if(t)return t;let n=r(e);return e.cached[Vi]=n,n}function Y(e,t={}){let{nodes:n=Li(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=Wi(e);i=t,n&&(a=e.slice(n))}let o=Gi(n,Mn.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const Ui=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function Wi(e){let t=Ui.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function Gi(e,t,n){let r=[];if(!t.firstChild())return r;do r.push(...Ki(e,t,n));while(t.nextSibling());return t.parent(),r}function Ki(e,t,n){switch(t.type.id){case R.ATXHeading1:return[X(e,t,n,1,!1)];case R.ATXHeading2:return[X(e,t,n,2,!1)];case R.ATXHeading3:return[X(e,t,n,3,!1)];case R.ATXHeading4:return[X(e,t,n,4,!1)];case R.ATXHeading5:return[X(e,t,n,5,!1)];case R.ATXHeading6:return[X(e,t,n,6,!1)];case R.SetextHeading1:return[X(e,t,n,1,!0)];case R.SetextHeading2:return[X(e,t,n,2,!0)];case R.Paragraph:return[Q(e,t,n)];case R.CommentBlock:return[Qi(e,t,n)];case R.HTMLBlock:case R.ProcessingInstructionBlock:return[Q(e,t,n)];case R.Blockquote:return[$i(e,t,n)];case R.BulletList:return ea(e,t,n,`bullet`);case R.OrderedList:return ea(e,t,n,`ordered`);case R.FencedCode:case R.CodeBlock:return[na(e,t,n)];case R.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case R.Table:return[ra(e,t,n)];case R.Task:return[Q(e,t,n)];default:return n.slice(t.from,t.to).trim()===``?[]:(console.warn(`[meowdown] unsupported lezer block "${t.type.name}"`),[Q(e,t,n)])}}function X(e,t,n,r,i){let a=t.from,o=t.from,s=t.to,c=-1,l=-1;if(t.firstChild()){t.type.id===R.HeaderMark&&t.from===a&&(o=t.to);let e=-1,n=-1,r=-1;do e=t.type.id,n=t.from,r=t.to;while(t.nextSibling());e===R.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=Xi(n.slice(o,s),Z(n,o)).trim(),d=i?qi(n,c,l)||1:null,f=!i&&c>=0&&Ji(n,c,l)||null;return e.heading({level:r,setextUnderline:d,closingHashes:f},u)}function qi(e,t,n){if(t<0)return 0;let r=0;for(let i=t;i<n;i++){let t=e.charCodeAt(i);(t===61||t===45)&&r++}return r}function Ji(e,t,n){if(t<0)return 0;let r=0;for(let i=t;i<n;i++)e.charCodeAt(i)===35&&r++;return r}function Z(e,t){let n=e.lastIndexOf(`
2
+ `)}function kt(e){let{selection:t}=e;if(!t.empty)return w.empty;let n=t.$head,{parent:r}=n;if(!r.isTextblock||r.type.spec.code)return w.empty;let i=h(n,ee(e.schema,`mdPack`));return i?w.create(e.doc,[C.inline(i.from,i.to,{class:`show`})]):w.empty}function k(e,t){let n=Dt(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function At(e,t,n){for(let r of n){let n=O(e,t,r);if(n)return n}}function A(e,t,n){let r=At(e,t,n);return r&&r.to===t?r:void 0}function jt(e,t,n){let r=At(e,t,n);return r&&r.from===t?r:void 0}function Mt(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=At(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function Nt(e,t){return S.create(e.doc,t.from,t.to)}function Pt(e){return(t,n)=>{let r=k(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=jt(t,i.from,r);if(e)return n?.(t.tr.setSelection(Nt(t,e))),!0;if(A(t,i.from,r)){let e=t.doc.resolve(i.from);return i.from>=e.end()?!1:(n?.(t.tr.setSelection(S.create(t.doc,i.from+1))),!0)}return!1}let a=Mt(t,r);return a?(n?.(t.tr.setSelection(S.create(t.doc,a.to))),!0):!1}}function Ft(e){return(t,n)=>{let r=k(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=A(t,i.from,r);return e?(n?.(t.tr.setSelection(Nt(t,e))),!0):!1}let a=Mt(t,r);return a?(n?.(t.tr.setSelection(S.create(t.doc,a.from))),!0):!1}}function It(e){return(t,n)=>{let r=k(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=A(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!jt(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function Lt(e){return(t,n)=>{let r=k(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=jt(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!A(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}const Rt=`md-atom-selected`;function zt(e){return new b({key:new x(`atom-mark-selection`),props:{decorations:t=>{let n=k(e,t);if(n.length===0)return;let r=Mt(t,n);if(r)return w.create(t.doc,[C.inline(r.from,r.to,{class:Rt})]);let{from:i,to:a,empty:o}=t.selection;if(o)return null;let s=[];return t.doc.nodesBetween(i,a,(e,t)=>{e.marks.some(e=>n.includes(e.type.name))&&s.push(C.inline(t,t+e.nodeSize,{class:Rt}))}),w.create(t.doc,s)}}})}function Bt({marks:e}){return _(v(l({ArrowRight:Pt(e),ArrowLeft:Ft(e),Backspace:It(e),Delete:Lt(e)}),t.high),m(zt(e)))}const j=new Map,Vt=new Map;async function Ht(e){let t=j.get(e);if(t!==void 0)return t;let n=Ce.matchLanguageName(we,e,!0);if(!n)return j.set(e,null),null;let r=n.support;if(!r)try{r=await n.load()}catch(t){return console.error(`[meowdown] Failed to load language "${e}":`,t),j.set(e,null),null}return j.set(e,r),r}function Ut(e,t){let n=Vt.get(e);if(n)return n;let r=De({parse:e=>t.language.parser.parse(e.content),highlighter:Te});return Vt.set(e,r),r}const Wt=e=>{let t=e.language?.trim();if(!t)return[];let n=j.get(t);return n===null?[]:n?Ut(t,n)(e):Ht(t).then(()=>void 0)};function Gt(){return he({parser:Wt,nodeTypes:[`codeBlock`]})}function Kt(e,t){let n=t.language.parser.parse(e),r=[];return Ee(n,Te,(e,t,n)=>{r.push([e,t,n])}),r}function qt(e,t){let n=t.trim();if(!n)return[];let r=j.get(n);return r===null?[]:r?Kt(e,r):Ht(n).then(t=>t?Kt(e,t):[])}function Jt(e,t){return(n,r)=>{if(r){let i=S.create(n.doc,e,t);r(n.tr.setSelection(i))}return!0}}function Yt(e,t,n){return(r,i)=>{if(i){let a=S.between(e,t,n);i(r.tr.setSelection(a))}return!0}}function Xt(e){return(t,n)=>{if(!e.trim())return!1;let r=Y(e,{nodes:Hi(t.schema)}).content;if(r.childCount===0)return!1;let i=r.childCount===1&&r.child(0).type.name===`paragraph`?new T(r,1,1):new T(r,0,T.maxOpen(r).openEnd);if(n){let e=t.tr,r=e.selection;(!g(r)||!r.empty)&&e.setSelection(S.near(r.$from)),n(e.replaceSelection(i).scrollIntoView())}return!0}}function Zt(){return o({insertMarkdown:Xt,selectText:Jt,selectTextBetween:Yt})}const Qt=(e,t,n)=>{let{selection:r}=e;return r.empty||n?.composing?!1:(t?.(e.tr.setSelection(S.near(r.$head))),!0)};function $t(){return v(l({Escape:Qt}),t.low)}function en(){return f({type:`doc`,attr:`frontmatter`,default:null})}function tn(){return p({name:`heading`,whitespace:`pre`})}function nn(){return f({type:`heading`,attr:`setextUnderline`,default:null,toDOM:e=>e==null?null:[`data-setext-underline`,String(e)],parseDOM:e=>{let t=e.getAttribute(`data-setext-underline`);if(t==null)return null;let n=Number.parseInt(t,10);return Number.isSafeInteger(n)&&n>0?n:null}})}function rn(){return f({type:`heading`,attr:`closingHashes`,default:null,toDOM:e=>e==null?null:[`data-closing-hashes`,String(e)],parseDOM:e=>{let t=e.getAttribute(`data-closing-hashes`);if(t==null)return null;let n=Number.parseInt(t,10);return Number.isSafeInteger(n)&&n>0?n:null}})}function M(e){return le(oe({type:`heading`,attrs:{level:e}}))}const an=(e,t,n)=>ie(e,n)?.parent.type.name===`heading`?se()(e,t,n):!1;function on(){return l({"Mod-1":M(1),"Mod-2":M(2),"Mod-3":M(3),"Mod-4":M(4),"Mod-5":M(5),"Mod-6":M(6),Backspace:an})}function sn(){return _(Me(),tn(),nn(),rn(),je(),Ae(),on())}function cn(){return f({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function ln(){return _(Ne(),cn())}function un(){return p({name:`htmlComment`,group:`block`,atom:!0,selectable:!1,attrs:{content:{default:``}},toDOM:e=>[`div`,{"data-html-comment":e.attrs.content,style:`display: none`}],parseDOM:[{tag:`div[data-html-comment]`,getAttrs:e=>({content:e.getAttribute(`data-html-comment`)??``})}]})}function dn(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function fn(e,t){let[n,r,i]=t;return[n,r,i.map(t=>ke.fromJSON(e,t))]}var N=class e extends ze{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return Be.ok(e);let t=e.content.size,n;for(let[r,i,a]of this.chunks){if(r>=i)continue;let o=Math.max(0,Math.min(r,t)),s=Math.max(o,Math.min(i,t));o>=s||e.nodesBetween(o,s,(t,r)=>{if(!t.isText)return!0;let i=Math.max(o,r),c=Math.min(s,r+t.nodeSize);if(i>=c)return!1;let l=t.marks;for(let t of l)t.isInSet(a)||(n??=new Ve(e),n.removeMark(i,c,t));for(let t of a)t.isInSet(l)||(n??=new Ve(e),n.addMark(i,c,t));return!1})}return Be.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return pn;let t=this.chunks[0][0],n=this.chunks[0][1];for(let[,e]of this.chunks)e>n&&(n=e);let r=e.content.size,i=Math.max(0,Math.min(t,r)),a=Math.max(i,Math.min(n,r));return new Re(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(dn)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>fn(t,e)))}};ze.jsonID(`batchSetMark`,N);const pn=new N([]),mn=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),hn=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function gn(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function _n(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!mn.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!hn.test(e))return!1;return!0}function P(e){return e===32||e===9||e===10||e===13}const vn=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,yn=/[\s(*_~]/;function bn(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function xn(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function Sn(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&xn(e,t,`)`)>xn(e,t,`(`))t--;else if(n===`;`){let n=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(0,t));if(!n)break;t=n.index}else break}return t}const Cn={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!bn(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!yn.test(r))return-1;let i=vn.exec(e.slice(n,e.end));if(!i)return-1;let a=Sn(i[0]);return a===0||!_n(gn(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function wn(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45||e===95||e>127&&/[\p{L}\p{N}]/u.test(String.fromCharCode(e))}function Tn(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const En={defineNodes:[{name:`Hashtag`}],parseInline:[{name:`Hashtag`,parse(e,t,n){if(t!==35||!/\s|^$/.test(e.slice(n-1,n)))return-1;let r=n+1,i=!1;for(;r<e.end;){let t=e.char(r);if(!wn(t))break;i||=Tn(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},Dn={resolve:`Highlight`,mark:`HighlightMark`},On=/[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~\u{A1}\u{2010}-\u{2027}]/u,kn={defineNodes:[{name:`Highlight`},{name:`HighlightMark`}],parseInline:[{name:`Highlight`,after:`Emphasis`,parse(e,t,n){if(t!==61||e.char(n+1)!==61||e.char(n+2)===61)return-1;let r=e.slice(n-1,n),i=e.slice(n+2,n+3),a=/\s|^$/.test(r),o=/\s|^$/.test(i),s=On.test(r),c=On.test(i);return e.addDelimiter(Dn,n,n+2,!o&&(!c||a||s),!a&&(!s||o||c))}}]},An={defineNodes:[{name:`Wikilink`},{name:`WikilinkMark`}],parseInline:[{name:`Wikilink`,before:`Link`,parse(e,t,n){if(t!==91||e.char(n+1)!==91)return-1;let r=!1;for(let t=n+2;t<e.end-1;t++){let i=e.char(t);if(i===93){if(e.char(t+1)!==93||!r)return-1;let i=t+2;return e.addElement(e.elt(`Wikilink`,n,i,[e.elt(`WikilinkMark`,n,n+2),e.elt(`WikilinkMark`,t,i)]))}if(i===91||i===10)return-1;i!==32&&i!==9&&(r=!0)}return-1}}]};function jn(e){return e.end}const F=Ue.configure([He,En,An,Cn,kn]),Mn=F.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:jn}]});function I(e){return F.parseInline(e,0)}function L(e,t,n=[]){for(let r of e)t(r)&&n.push(r),L(r.children,t,n);return n}function Nn(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const R=Nn(F),Pn=/^<!--\s*(\{[^}]*\})\s*-->$/,Fn=/<!--\s*\{[^}]*\}\s*-->$/;function In(e){let t=Pn.exec(e.trim());if(!t)return;let n;try{n=JSON.parse(t[1])}catch{return}if(typeof n!=`object`||!n)return;let r=Ln(n);return Object.keys(r).length>0?r:void 0}function Ln(e){let t={},{width:n,height:r}=e;return typeof n==`number`&&Number.isFinite(n)&&n>0&&(t.width=Math.round(n)),typeof r==`number`&&Number.isFinite(r)&&r>0&&(t.height=Math.round(r)),t}function Rn(e){return`<!-- ${JSON.stringify(e)} -->`}function zn(e){return e.replace(Fn,``)}function Bn(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}function Vn(e){let t=e.replace(/^\[\[/,``).replace(/\]\]$/,``),n=t.indexOf(`|`);return n<0?{target:t.trim(),display:``}:{target:t.slice(0,n).trim(),display:t.slice(n+1).trim()}}function Hn(){return e=>{let t=e.attrs,n=document.createElement(`span`);n.className=`md-wikilink-view md-atom-view`;let r=document.createElement(`span`);r.className=`md-wikilink-view-preview md-atom-view-preview`,r.contentEditable=`false`,r.dataset.testid=`wikilink`,n.appendChild(r);let i=document.createElement(`span`);i.className=`md-wikilink-view-label`,i.contentEditable=`false`,i.textContent=t.display||t.target,r.appendChild(i);let a=document.createElement(`span`);return a.className=`md-wikilink-view-content md-atom-view-content`,n.appendChild(a),{dom:n,contentDOM:a,ignoreMutation:e=>!a.contains(e.target)}}}function Un(){return d({name:`mdWikilink`,constructor:Hn()})}const Wn=new Map([[R.Emphasis,`mdEm`],[R.StrongEmphasis,`mdStrong`],[R.InlineCode,`mdCode`],[R.Strikethrough,`mdDel`],[R.Highlight,`mdHighlight`],[R.EmphasisMark,`mdMark`],[R.CodeMark,`mdMark`],[R.LinkMark,`mdMark`],[R.StrikethroughMark,`mdMark`],[R.HighlightMark,`mdMark`],[R.URL,`mdLinkUri`],[R.LinkTitle,`mdLinkTitle`],[R.Hashtag,`mdTag`],[R.WikilinkMark,`mdMark`]]);function Gn(e,t,n){let r=I(t),i=[];return B(r,[],0,t.length,t,e,i,n),i}function Kn(e){if(/^[a-z][a-z0-9+.-]*:/i.test(e))return e;if(/^[^\s@]+@[^\s@]+$/.test(e))return`mailto:${e}`;if(/^www\./i.test(e)||_n(gn(e)))return`https://${e}`}function z(e){return e.slice(1,-1).replaceAll(/\\(.)/g,`$1`)}function B(e,t,n,r,i,a,o,s){let c=n;for(let n=0;n<e.length;n++){let r=e[n];r.from>c&&V(o,c,r.from,t);let l=r.type;if(l===R.Link){let e=Yn(r,t,i,a,s);e?V(o,r.from,r.to,e):Xn(r,t,i,a,o)}else if(l===R.Image){let s=Zn(r,e[n+1],i);Qn(r,t,i,a,o,s),s&&n++,c=s?s.to:r.to;continue}else if(l===R.Wikilink)$n(r,t,i,a,o);else if(l===R.URL){let e=Kn(i.slice(r.from,r.to)),n=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();V(o,r.from,r.to,[...t,n])}else{let e;l===R.Emphasis?e=`italic`:l===R.StrongEmphasis?e=`bold`:l===R.InlineCode?e=`code`:l===R.Strikethrough?e=`strike`:l===R.Highlight?e=`highlight`:l===R.Autolink&&(e=`autolink`);let n=e?[...t,a.mdPack.create({key:e})]:t,c=Wn.get(l),u=c?[...n,a[c].create()]:n;r.children.length===0?V(o,r.from,r.to,u):B(r.children,u,r.from,r.to,i,a,o,s)}c=r.to}c<r&&V(o,c,r,t)}function qn(e){let t=-1,n=-1,r=null,i=null,a=0;for(let o of e.children)o.type===R.LinkMark?(a++,a===1&&(t=o.to),a===2&&(n=o.from)):o.type===R.URL&&r===null?r=o:o.type===R.LinkTitle&&i===null&&(i=o);return{labelFrom:t,labelTo:n,urlNode:r,titleNode:i}}function Jn(e){let t=e.split(/[?#]/,1)[0],n=t.split(/[/\\]/).findLast(Boolean)??t;try{return decodeURIComponent(n)}catch{return n}}function Yn(e,t,n,r,i){let a=i?.resolveFileLink;if(!a)return;let{labelFrom:o,labelTo:s,urlNode:c,titleNode:l}=qn(e);if(o<0||s<0||!c)return;let u=n.slice(c.from,c.to);if(!u)return;let d=n.slice(o,s),f=l?z(n.slice(l.from,l.to)):``;if(!a({href:u,label:d,title:f}))return;let p=d||Jn(u);return[...t,r.mdFile.create({href:u,name:p,title:f})]}function Xn(e,t,n,r,i){let{labelTo:a,urlNode:o,titleNode:s}=qn(e),c=o?n.slice(o.from,o.to):``,l=s?z(n.slice(s.from,s.to)):``,u=c?r.mdLinkText.create({href:c}):null,d=e=>a>=0&&e<a&&u!==null,f=r.mdPack.create({key:`link`,data:{href:c,title:l}}),p=[...t,f],m=e.from;for(let t of e.children){if(t.from>m){let e=d(m)?[...p,u]:p;V(i,m,t.from,e)}let e=d(t.from)?[...p,u]:p;if(t.type===R.Wikilink){$n(t,e,n,r,i),m=t.to;continue}let a=Wn.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?V(i,t.from,t.to,o):B(t.children,o,t.from,t.to,n,r,i,void 0),m=t.to}m<e.to&&V(i,m,e.to,p)}function Zn(e,t,n){if(!t||t.type!==R.Comment||t.from!==e.to)return;let r=In(n.slice(t.from,t.to));if(r)return{magic:r,to:t.to}}function Qn(e,t,n,r,i,a){let o=e.children.find(e=>e.type===R.URL);if(!o){Xn(e,t,n,r,i);return}let s=e.children.filter(e=>e.type===R.LinkMark),c=e.children.find(e=>e.type===R.LinkTitle),l=n.slice(o.from,o.to),u=s.length>=2?n.slice(s[0].to,s[1].from):``,d=c?z(n.slice(c.from,c.to)):``,f=a?.magic.width??null,p=a?.magic.height??null,m=a?.to??e.to;V(i,e.from,m,[...t,r.mdImage.create({src:l,alt:u,title:d,width:f,height:p})])}function $n(e,t,n,r,i){let{target:a,display:o}=Vn(n.slice(e.from,e.to));V(i,e.from,e.to,[...t,r.mdWikilink.create({target:a,display:o})])}function V(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&Bn(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const er=`inline-marks-applied`;let tr=0,nr=0;function rr(e,t){let n=1/0,r=-1/0;for(let t of e)for(let e of t.mapping.maps)e.forEach((e,t,i,a)=>{i<n&&(n=i),a>r&&(r=a)});let i=t.doc.content.size;return n>r?{from:0,to:i}:{from:Math.max(0,n),to:Math.min(i,r)}}function ir(e){let t=new WeakMap;function n(n,r,i){let a=t.get(n);if(a?nr++:(tr++,a=Gn(Bi(i),n.textContent,e),t.set(n,a)),r===0)return a;let o=[];for(let[e,t,n]of a)o.push([e+r,t+r,n]);return o}function r(e,t){let r=[];return e.doc.nodesBetween(t.from,t.to,(t,i)=>{if(t.type.spec.code)return!1;if(!t.isTextblock)return!0;if(t.childCount===0)return!1;let a=n(t,i+1,e.schema);return a.length>0&&r.push(...a),!1}),r}return new b({key:new x(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(er))return null;let i=r(n,rr(e,n));if(i.length===0)return null;let a=n.tr.step(new N(i));return a.setMeta(er,!0),a.setMeta(`addToHistory`,!1),a},view(e){return e.dispatch(ar(e.state)),{}}})}function ar(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function or(e){return m(ir(e))}function sr(){return u({name:`mdImage`,inclusive:!1,attrs:{src:{default:``},alt:{default:``},title:{default:``},width:{default:null},height:{default:null}},toDOM:()=>[`span`,{class:`md-image`},0],parseDOM:[{tag:`span.md-image`}]})}function cr(){return u({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function lr(){return u({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function ur(){return u({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function dr(){return u({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function fr(){return u({name:`mdLinkText`,inclusive:!1,attrs:{href:{default:``}},toDOM:e=>[`a`,{class:`md-link`,href:e.attrs.href},0],parseDOM:[{tag:`a`,getAttrs:e=>({href:e.getAttribute(`href`)??``})}]})}function pr(){return u({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function mr(){return u({name:`mdLinkTitle`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-title`},0],parseDOM:[{tag:`span.md-link-title`}]})}function hr(){return u({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function gr(){return u({name:`mdHighlight`,toDOM:()=>[`mark`,0],parseDOM:[{tag:`mark`}]})}function _r(){return u({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function vr(){return u({name:`mdWikilink`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink`},0],parseDOM:[{tag:`span.md-wikilink`}]})}function yr(){return u({name:`mdFile`,inclusive:!1,attrs:{href:{default:``},name:{default:``},title:{default:``}},toDOM:()=>[`span`,{class:`md-file`},0],parseDOM:[{tag:`span.md-file`}]})}function br(){return u({name:`mdPack`,excludes:``,inclusive:!1,attrs:{key:{},data:{default:null}},toDOM:e=>[`span`,{class:`md-pack`,"data-key":e.attrs.key},0],parseDOM:[{tag:`span.md-pack`}]})}function xr(){return _(cr(),lr(),ur(),dr(),fr(),pr(),mr(),hr(),gr(),_r(),vr(),sr(),yr(),br())}function Sr(e,t=0){let n=t,r=0;for(let t=0;t<e.length;t++)e.charCodeAt(t)===96?(r++,r>n&&(n=r)):r=0;return n}const H={em:{node:R.Emphasis,delim:`*`},strong:{node:R.StrongEmphasis,delim:`**`},code:{node:R.InlineCode,delim:"`"},del:{node:R.Strikethrough,delim:`~~`},highlight:{node:R.Highlight,delim:`==`}},Cr=new Set([R.EmphasisMark,R.CodeMark,R.LinkMark,R.StrikethroughMark,R.HighlightMark]);function U(e){return[e.children[0],e.children.at(-1)]}function wr(e){let{type:t,children:n}=e;if(t===R.Emphasis||t===R.StrongEmphasis||t===R.Strikethrough||t===R.Highlight)return[n[0].to,n.at(-1).from];if(t===R.Link||t===R.Image){let e=n.find((e,t)=>t>0&&e.type===R.LinkMark);return e?[n[0].to,e.from]:null}return null}function W(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=wr(r);return i&&i[0]<=t&&n<=i[1]?W(r.children,t,n):W(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function Tr(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return Tr(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}function Er(e,t,n){for(;t<n&&P(e.charCodeAt(t));)t++;for(;n>t&&P(e.charCodeAt(n-1));)n--;return[t,n]}function Dr(e,t,n,r){let i=L(I(e),e=>e.type===r.node||Cr.has(e.type));for(let r=t;r<n;r++)if(!P(e.charCodeAt(r))&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function Or(e,t,n,r,i){let a=I(e),o=L(a,e=>e.type===r.node);return i?jr(e,o,t,n):kr(e,a,o,t,n,r)}function kr(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=W(t,r,i);for(let e of n)e.to===r&&(r=e.from),e.from===i&&(i=e.to)}let o=[];for(let e of n)if(r<=e.from&&e.to<=i){let[t,n]=U(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=Ar(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function Ar(e,t,n,r,i){if(i.node!==R.InlineCode)return[i.delim,i.delim];let a=e.slice(t,n);for(let e of[...r].sort((e,t)=>t.from-e.from))a=a.slice(0,e.from-t)+a.slice(e.to-t);let o="`".repeat(Sr(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function jr(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=U(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=Tr(a.children.slice(1,-1),s,c);s>t.to&&P(e.charCodeAt(s-1));)s--;for(;c<o.from&&P(e.charCodeAt(c));)c++;s>t.to?i.push({from:s,to:s,insert:e.slice(o.from,o.to)}):i.push({from:t.from,to:t.to,insert:``}),c<o.from?i.push({from:c,to:c,insert:e.slice(t.from,t.to)}):i.push({from:o.from,to:o.to,insert:``})}return i}function Mr(e,t,n){let{delim:r}=n,i=r.length;if(e.slice(t-i,t)===r&&e.startsWith(r,t)&&e[t-i-1]!==r[0]&&e[t+i]!==r[0])return{kind:`unwrap`,from:t-i,to:t+i};let a=I(e),o=L(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=U(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return Nr(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function Nr(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=wr(n);return!e||t<e[0]||t>e[1]?!0:Nr(n.children,t)}return!1}function G(e){return(t,n)=>{if(t.selection.empty)return Pr(e,t,n);let{from:r,to:i,anchor:a,head:o}=t.selection,s=[];t.doc.nodesBetween(r,i,(t,n)=>{if(t.type.spec.code)return!1;if(!t.isTextblock)return!0;let a=t.textContent,o=n+1,[c,l]=Er(a,Math.max(r-o,0),Math.min(i-o,a.length));return c<l&&s.push({text:a,base:o,from:c,to:l,active:Dr(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>Or(t.text,t.from,t.to,e,c).map(e=>({from:e.from+t.base,to:e.to+t.base,insert:e.insert})));if(l.length===0)return!1;if(n){let e=t.tr;l.sort((e,t)=>t.from-e.from||t.to-e.to);for(let t of l)t.insert?e.insertText(t.insert,t.from,t.to):e.delete(t.from,t.to);e.setSelection(S.create(e.doc,e.mapping.map(a,a<=o?1:-1),e.mapping.map(o,o<a?1:-1))),n(e.scrollIntoView())}return!0}}function Pr(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=Mr(i.textContent,r.parentOffset,e);if(!a)return!1;if(n){let i=r.start(),o=t.tr;a.kind===`unwrap`&&o.delete(i+a.from,i+a.to),a.kind===`move`&&o.setSelection(S.create(o.doc,i+a.pos)),a.kind===`insert`&&(o.insertText(e.delim+e.delim,i+a.pos),o.setSelection(S.create(o.doc,i+a.pos+e.delim.length))),n(o.scrollIntoView())}return!0}function Fr(){return o({toggleEm:()=>G(H.em),toggleStrong:()=>G(H.strong),toggleCode:()=>G(H.code),toggleDel:()=>G(H.del),toggleHighlight:()=>G(H.highlight)})}function Ir(){return l({"Mod-b":G(H.strong),"Mod-i":G(H.em),"Mod-e":G(H.code),"Mod-Shift-x":G(H.del),"Mod-Shift-h":G(H.highlight)})}function Lr(){return _(Fr(),Ir())}function Rr(e,t,n){let r;return e.doc.nodesBetween(t.from,t.to,(e,i)=>(e.isText&&e.marks.some(e=>e.type.name===n)&&(r={from:Math.max(i,t.from),to:Math.min(i+e.nodeSize,t.to)}),!0)),r}function K(e,t){let n=O(e,t,`mdLinkText`),r=O(e,t,`mdPack`),i=r??n;if(!i)return;let a=r?.mark.attrs,o=n?.mark.attrs?.href??``;if(!r||a?.key!==`link`)return{unit:{from:i.from,to:i.to},href:o,title:``};let s=Rr(e,i,`mdLinkUri`),c=s?s.from-2:i.to-3,l=s?s.from:i.to-1;return{unit:{from:i.from,to:i.to},label:{from:i.from+1,to:c},dest:{from:l,to:i.to-1},href:a.data.href,title:a.data.title}}function zr(e){let t=e.trim();return t?Kn(t)??t:``}function Br(e,t){return e+(t?` "${t.replaceAll(/(["\\])/g,String.raw`\$1`)}"`:``)}function Vr(e){let{selection:t}=e,{$from:n,$to:r,empty:i}=t;if(i||!n.sameParent(r)||!g(t))return;let a=n.parent;if(!a.isTextblock||a.type.spec.code)return;let o=n.start(),[s,c]=Er(a.textContent,n.parentOffset,r.parentOffset);if(!(s>=c))return{from:o+s,to:o+c}}function Hr(e={}){return(t,n)=>{let r=Br(zr(e.href??``),e.title??``),i=Vr(t);if(!i)return!1;if(n){let{from:e,to:a}=i,o=t.tr,s=`](${r})`;o.insertText(s,a).insertText(`[`,e),n(o.setSelection(S.create(o.doc,e,a+1+s.length)).scrollIntoView())}return!0}}function Ur(e){return(t,n)=>{let r=K(t,t.selection.from);if(!r?.dest)return!1;let i=Br(zr(e.href??r.href),e.title??r.title);return n&&n(t.tr.insertText(i,r.dest.from,r.dest.to).scrollIntoView()),!0}}function Wr(){return(e,t)=>{let n=K(e,e.selection.from);return n?.label?(t&&t(e.tr.delete(n.label.to,n.unit.to).delete(n.unit.from,n.label.from).scrollIntoView()),!0):!1}}function Gr(){return o({insertLink:Hr,updateLink:Ur,removeLink:Wr})}function Kr(e){return(t,n,r)=>{let i=K(t,t.selection.from);if(i){if(n&&r){let{unit:{from:a,to:o}}=i;n(t.tr.setSelection(S.create(t.doc,a,o)).scrollIntoView()),r.focus(),e({from:a,to:o,link:i})}return!0}let a=Vr(t);if(a){if(n&&r){let{from:i,to:o}=a;n(t.tr.setSelection(S.create(t.doc,i,o)).scrollIntoView()),r.focus(),e({from:i,to:o,link:void 0})}return!0}return!1}}function qr(e){return l({"Mod-k":Kr(e)})}function Jr(){return f({type:`list`,attr:`marker`,default:null,splittable:!0,toDOM:e=>e===`)`||e===`*`||e===`+`?[`data-list-marker`,e]:null,parseDOM:e=>{let t=e.getAttribute(`data-list-marker`);return t===`)`||t===`*`||t===`+`?t:null}})}function Yr(){return f({type:`list`,attr:`taskMarker`,default:null,splittable:!0,toDOM:e=>e===`X`?[`data-list-task-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-list-task-marker`)===`X`?`X`:null})}function Xr(e){return e===2||e===3||e===4}function Zr(){return f({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>Xr(e)?[`data-list-marker-gap`,String(e)]:null,parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return Xr(t)?t:1}})}const Qr=[D(/^\s?([*-])\s$/,{kind:`bullet`,collapsed:!1}),D(/^\s?(\d+)\.\s$/,({match:e})=>{let t=e[1],n=t?parseInt(t,10):void 0;return{kind:`ordered`,collapsed:!1,order:n&&n>=2&&Number.isSafeInteger(n)?n:null}}),D(/^\s?\[([\sXx]?)]\s$/,({match:e})=>({kind:`task`,checked:[`x`,`X`].includes(e[1]),collapsed:!1})),D(/^\s?\+\s$/,{kind:`task`,marker:`+`,checked:!1,collapsed:!1})];function $r(){return _(Qr.map(We))}function ei(){return E({kind:`task`,marker:`+`})}function ti(){return E({kind:`task`,marker:null})}function ni(){return o({wrapInCircleTask:ei,wrapInSquareTask:ti})}function ri(e){let{$from:t}=e.selection;for(let e=t.depth;e>0;e--){let n=t.node(e);if(n.type.name===`list`)return n.attrs}return null}function ii(){return(e,t,n)=>{let r=ri(e),i=r?.kind===`task`&&r.marker!==`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:r?.marker??null,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:null,checked:!1},E(a)(e,t,n)}}function ai(){return(e,t,n)=>{let r=ri(e),i=r?.kind===`task`&&r.marker===`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:`+`,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:`+`,checked:!1},E(a)(e,t,n)}}function oi(e){return e.type.name===`list`&&e.attrs.kind===`bullet`&&e.childCount>=2&&e.firstChild?.type!==e.type}const si=e=>{let t=e.attrs;return t.kind===`task`?{...t,checked:!t.checked}:oi(e)?{...t,collapsed:!t.collapsed}:t};function ci(){return m(()=>[new b({props:{handleDOMEvents:{mousedown:(e,t)=>tt({view:e,event:t,onListClick:si})}}}),Qe(),new b({props:{transformCopied:nt}}),$e()])}function li(){return o({toggleListCollapsed:()=>et({isToggleable:oi})})}function ui(){return l({"Mod-Enter":ii(),"Mod-Shift-Enter":ai(),"Mod-.":et({isToggleable:oi}),"Mod-Shift-7":Ze({kind:`ordered`,collapsed:!1}),"Mod-Shift-8":Ze({kind:`bullet`,collapsed:!1}),"Mod-Shift-9":Ze({kind:`task`,checked:!1,collapsed:!1})})}function di(){return _(Ye(),ci(),qe(),Ge(),Je(),Ke(),$r(),ui(),Jr(),Yr(),Zr(),ni(),li())}function fi(e){let{$from:t}=e.selection;for(let e=t.depth;e>0;e--){let n=t.node(e).type.name;if(n===`tableCell`||n===`tableHeaderCell`)return!0}return!1}const pi=`paragraph`;function mi(){return _(p({name:`tableCell`,content:pi}),p({name:`tableHeaderCell`,content:pi}))}const hi=(e,t)=>{let{selection:n}=e;return!dt(n)||!n.isColSelection()||!n.isRowSelection()?!1:ut(e,t)};function gi(){return v(l({Backspace:hi,Delete:hi}),t.high)}function _i(){return _(lt(),ct(),rt(),st(),mi(),ot({allowTableNodeSelection:!0}),it(),at(),gi())}function vi(e){let{selection:t}=e,{$from:n,$to:r}=t;if(ae(t)&&n.depth===0||n.depth>0&&r.depth>0&&n.index(0)===r.index(0))return n.index(0)}function yi(e){return(t,n)=>{if(fi(t))return!1;let r=vi(t);if(r==null)return!1;let i=r+e;if(i<0||i>=t.doc.childCount)return!1;if(n){let{selection:a}=t,o=Math.min(r,i),s=a.$from.posAtIndex(o,0),c=t.doc.child(o),l=t.doc.child(o+1),u=t.tr.replaceWith(s,s+c.nodeSize+l.nodeSize,[l,c]),d=e===-1?-c.nodeSize:l.nodeSize,f=ae(a)?xe.create(u.doc,a.from+d):S.create(u.doc,a.anchor+d,a.head+d);u.setSelection(f),n(u.scrollIntoView())}return!0}}function bi(e){return(t,n,r)=>Xe(e)(t,n,r)||yi(e===`up`?-1:1)(t,n,r)}function xi(){return l({"Alt-ArrowUp":bi(`up`),"Alt-ArrowDown":bi(`down`)})}function Si(){return p({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function Ci(){return _(v(Si(),t.highest),ft(),pt())}const q=new x(`meowdownPendingReplacement`);function J(e){return q.getState(e)?.pending??null}function wi(e,t){switch(e.type){case`start`:return{pending:{from:e.from,to:e.to,mode:e.mode,text:``}};case`append`:return t.pending?{pending:{...t.pending,text:t.pending.text+e.text}}:t;case`accept`:return t.pending?{pending:null,ended:{pending:t.pending,outcome:`accepted`}}:t;case`discard`:return t.pending?{pending:null,ended:{pending:t.pending,outcome:`discarded`}}:t}}const Ti=new b({key:q,state:{init:()=>({pending:null}),apply:(e,t)=>{let n=e.getMeta(q);if(n)return wi(n,t);if(e.docChanged&&t.pending){let n=e.mapping.mapResult(t.pending.from,1),r=e.mapping.mapResult(t.pending.to,-1),i=Math.min(n.pos,r.pos),a=Math.max(n.pos,r.pos);return(n.deletedAfter&&r.deletedBefore||i>=a)&&t.pending.mode===`replace`?{pending:null,ended:{pending:t.pending,outcome:`discarded`}}:{pending:{...t.pending,from:i,to:a}}}return t}},props:{decorations:e=>{let t=J(e);return!t||t.from>=t.to?null:w.create(e.doc,[C.inline(t.from,t.to,{class:`md-pending-replacement`})])}}});function Ei(e){return(t,n)=>{let{from:r,to:i,mode:a}=e;return r<0||i>t.doc.content.size||r>i||r===i&&a===`replace`?!1:(n?.(t.tr.setMeta(q,{type:`start`,from:r,to:i,mode:a})),!0)}}function Di(e){return(t,n)=>J(t)?(n?.(t.tr.setMeta(q,{type:`append`,text:e})),!0):!1}function Oi(){return(e,t)=>J(e)?(t?.(e.tr.setMeta(q,{type:`discard`})),!0):!1}function ki(e={}){return(t,n)=>{let r=J(t);if(!r||!r.text.trim())return!1;if(n){let i=e.mode??r.mode,a=Hi(t.schema),o=Y(r.text,{nodes:a}),s=t.tr;if(s.setMeta(q,{type:`accept`}),i===`append`){let e=t.doc.resolve(r.to).after(1);s.insert(e,o.content),s.setSelection(S.near(s.doc.resolve(e+o.content.size),-1))}else{let e=t.doc.resolve(r.from),n=t.doc.resolve(r.to),i=o.childCount===1?o.firstChild:null;i?.type.name===`paragraph`&&e.sameParent(n)&&e.parent.isTextblock?(s.replaceWith(r.from,r.to,i.content),s.setSelection(S.near(s.doc.resolve(r.from+i.content.size),-1))):(s.replaceRange(r.from,r.to,new T(o.content,0,0)),s.setSelection(S.near(s.doc.resolve(s.mapping.map(r.to)),-1)))}n(s.scrollIntoView())}return!0}}function Ai(){return o({startPendingReplacement:Ei,appendPendingReplacementText:Di,acceptPendingReplacement:ki,discardPendingReplacement:Oi})}function ji(){return l({"Mod-Enter":ki(),Escape:Oi()})}function Mi(){return _(m(Ti),Ai(),ji())}function Ni(e){return m(new b({view:()=>({update:(t,n)=>{let r=q.getState(n),i=q.getState(t.state);!i||r===i||(i.pending?i.pending!==r?.pending&&e({type:`update`,pending:i.pending}):i.ended&&i.ended!==r?.ended&&e({type:`ended`,pending:i.ended.pending,outcome:i.ended.outcome}))}})}))}function Pi(e){return _(Ci(),ge(),en(),ye(),pe(),di(),sn(),_i(),me(),ln(),un(),xr(),Gt(),$t(),xi(),or(e),Lr(),Gr(),Un(),Bt({marks:[{name:`mdImage`,modes:[`hide`,`focus`,`show`]},{name:`mdWikilink`,modes:[`hide`,`focus`,`show`]},{name:`mdFile`,modes:[`hide`,`focus`,`show`]}]}),a(),i(),c(),_e(),be(),ve(),Zt(),Mi())}function Fi(e={}){return Pi(e)}const Ii=y(()=>{let e=Fi().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),Li=y(()=>r(Ii())),Ri=y(()=>n(Ii())),zi=`meowdown_mark_builders`;function Bi(e){let t=e.cached[zi];if(t)return t;let r=n(e);return e.cached[zi]=r,r}const Vi=`meowdown_node_builders`;function Hi(e){let t=e.cached[Vi];if(t)return t;let n=r(e);return e.cached[Vi]=n,n}function Y(e,t={}){let{nodes:n=Li(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=Wi(e);i=t,n&&(a=e.slice(n))}let o=Gi(n,Mn.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const Ui=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function Wi(e){let t=Ui.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function Gi(e,t,n){let r=[];if(!t.firstChild())return r;do r.push(...Ki(e,t,n));while(t.nextSibling());return t.parent(),r}function Ki(e,t,n){switch(t.type.id){case R.ATXHeading1:return[X(e,t,n,1,!1)];case R.ATXHeading2:return[X(e,t,n,2,!1)];case R.ATXHeading3:return[X(e,t,n,3,!1)];case R.ATXHeading4:return[X(e,t,n,4,!1)];case R.ATXHeading5:return[X(e,t,n,5,!1)];case R.ATXHeading6:return[X(e,t,n,6,!1)];case R.SetextHeading1:return[X(e,t,n,1,!0)];case R.SetextHeading2:return[X(e,t,n,2,!0)];case R.Paragraph:return[Q(e,t,n)];case R.CommentBlock:return[Qi(e,t,n)];case R.HTMLBlock:case R.ProcessingInstructionBlock:return[Q(e,t,n)];case R.Blockquote:return[$i(e,t,n)];case R.BulletList:return ea(e,t,n,`bullet`);case R.OrderedList:return ea(e,t,n,`ordered`);case R.FencedCode:case R.CodeBlock:return[na(e,t,n)];case R.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case R.Table:return[ra(e,t,n)];case R.Task:return[Q(e,t,n)];default:return n.slice(t.from,t.to).trim()===``?[]:(console.warn(`[meowdown] unsupported lezer block "${t.type.name}"`),[Q(e,t,n)])}}function X(e,t,n,r,i){let a=t.from,o=t.from,s=t.to,c=-1,l=-1;if(t.firstChild()){t.type.id===R.HeaderMark&&t.from===a&&(o=t.to);let e=-1,n=-1,r=-1;do e=t.type.id,n=t.from,r=t.to;while(t.nextSibling());e===R.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=Xi(n.slice(o,s),Z(n,o)).trim(),d=i?qi(n,c,l)||1:null,f=!i&&c>=0&&Ji(n,c,l)||null;return e.heading({level:r,setextUnderline:d,closingHashes:f},u)}function qi(e,t,n){if(t<0)return 0;let r=0;for(let i=t;i<n;i++){let t=e.charCodeAt(i);(t===61||t===45)&&r++}return r}function Ji(e,t,n){if(t<0)return 0;let r=0;for(let i=t;i<n;i++)e.charCodeAt(i)===35&&r++;return r}function Z(e,t){let n=e.lastIndexOf(`
3
3
  `,t-1)+1,r=0;for(let i=n;i<t;i++)r+=e.charCodeAt(i)===9?4-r%4:1;return r}function Yi(e,t){let n=0,r=0;for(;r<e.length&&n<t;){let t=e.charCodeAt(r);if(t===32)n+=1;else if(t===9)n+=4-n%4;else break;r++}return e.slice(r)}function Xi(e,t){return t===0||!e.includes(`
4
4
  `)?e:e.split(`
5
5
  `).map((e,n)=>n===0?e:Yi(e,t)).join(`
@@ -24,4 +24,4 @@ import{Priority as e,Priority as t,createMarkBuilders as n,createNodeBuilders as
24
24
  `,`
25
25
  `)}}}))}function Qo({allowEmpty:e}){return(t,n)=>{let{selection:r}=t;if(!g(r)||!e&&r.empty||!r.$head.sameParent(r.$anchor)||r.$head.parent.type.spec.code)return!1;let i=t.doc.textBetween(r.from,r.to);if(i.startsWith(`[[`))return!1;i.startsWith(`[`)&&(i=i.slice(1));let a=`[[`+i;if(n){let e=t.tr.insertText(a,r.from,r.to);e.setSelection(S.create(e.doc,r.from+a.length)),St(e),n(e.scrollIntoView())}return!0}}function $o(){return l({"Mod-Shift-k":Qo({allowEmpty:!0}),"[":Qo({allowEmpty:!1})})}function es(e){let{selection:t,schema:n}=e;if(t.empty)return``;let r=t.content().content;try{return $(n.topNodeType.create(null,r)).replace(/\n+$/,``)}catch{return e.doc.textBetween(t.from,t.to,`
26
26
 
27
- `)}}function ts(e,t){let n=new DOMRect(0,0,0,0),r=()=>{if(e.isDestroyed)return n;try{let r=e.coordsAtPos(t.from),i=e.coordsAtPos(t.to),a=Math.min(r.left,i.left),o=Math.max(r.right,i.right),s=Math.min(r.top,i.top),c=Math.max(r.bottom,i.bottom);n=new DOMRect(a,s,o-a,c-s)}catch{}return n};return{getBoundingClientRect:r,getClientRects:()=>[r()]}}function ns(e){return e instanceof Pe||e instanceof Fe||e instanceof Ie||e instanceof Le||e instanceof N}function rs(e){for(let t of e)for(let e of t.steps)if(!ns(e))return!0;return!1}function is(e){let t,n,r=!1,i,a=()=>{let n=t&&!t.isDestroyed&&t.dom;if(!n)return;let a=e&&!r;a!==i&&(i=a,n.spellcheck=a)},o=()=>{n&&clearTimeout(n),r=!0,a(),n=setTimeout(()=>{r=!1,a()},1200)};return{pause:o,apply(e){rs(e)&&o()},view(e){return t=e,{destroy(){t=void 0}}}}}function as(e){let t=new x(`spell-check`);return new b({key:t,state:{init:()=>is(e),apply:(e,t)=>t},view(e){return t.getState(e.state)?.view(e)||{}},props:{handleDOMEvents:{beforeinput:e=>{t.getState(e.state)?.pause()}}},appendTransaction(e,n){t.getState(n)?.apply(e)}})}function os(e){return m(as(e))}export{Go as EDITOR_KEY_BINDINGS,e as Priority,$a as buildFileMarkdown,wa as checkRoundTrip,Oa as codeBlockLanguages,zo as defaultResolveImageUrl,Ea as defineBulletAfterHeading,Gt as defineCodeBlockSyntaxHighlight,Fi as defineEditorExtension,Ka as defineEmbedPaste,Za as defineExitBoundaryHandler,co as defineFileClickHandler,ao as defineFilePaste,_o as defineFileView,Oo as defineFollowLinkHandler,un as defineHTMLComment,Fo as defineHTMLPaste,Wo as defineImage,Ro as defineImageClickHandler,qo as defineLinkClickHandler,Gr as defineLinkCommands,qr as defineLinkEditKeymap,Yo as defineLinkHoverHandler,Et as defineMarkMode,Zo as defineMarkdownCopy,Ni as definePendingReplacementHandler,ue as definePlaceholder,de as defineReadonly,os as defineSpellCheckPlugin,xo as defineTagClickHandler,wo as defineWikilinkClickHandler,$o as defineWikilinkTrigger,$ as docToMarkdown,qt as getCodeTokens,K as getLinkUnitAt,Ri as getMarkBuilders,J as getPendingReplacement,es as getSelectedText,ts as getVirtualElementFromRange,Gn as inlineTextToMarkChunks,Hr as insertLink,fi as isSelectionInTableCell,Pa as listenForTweetHeight,Y as markdownToDoc,Va as matchEmbed,Wr as removeLink,Ur as updateLink,ce as withPriority};
27
+ `)}}function ts(e,t){let n=new DOMRect(0,0,0,0),r=()=>{if(e.isDestroyed)return n;try{let r=rs(e,t.from,1),i=rs(e,t.to,-1),a=Math.min(r.left,i.left),o=Math.max(r.right,i.right),s=Math.min(r.top,i.top),c=Math.max(r.bottom,i.bottom);n=new DOMRect(a,s,o-a,c-s)}catch{}return n};return{getBoundingClientRect:r,getClientRects:()=>[r()]}}function ns(e){return e.left===0&&e.top===0&&e.right===0&&e.bottom===0}function rs(e,t,n){let r=e.coordsAtPos(t,n);return ns(r)?e.coordsAtPos(t,-n):r}function is(e){return e instanceof Pe||e instanceof Fe||e instanceof Ie||e instanceof Le||e instanceof N}function as(e){for(let t of e)for(let e of t.steps)if(!is(e))return!0;return!1}function os(e){let t,n,r=!1,i,a=()=>{let n=t&&!t.isDestroyed&&t.dom;if(!n)return;let a=e&&!r;a!==i&&(i=a,n.spellcheck=a)},o=()=>{n&&clearTimeout(n),r=!0,a(),n=setTimeout(()=>{r=!1,a()},1200)};return{pause:o,apply(e){as(e)&&o()},view(e){return t=e,{destroy(){t=void 0}}}}}function ss(e){let t=new x(`spell-check`);return new b({key:t,state:{init:()=>os(e),apply:(e,t)=>t},view(e){return t.getState(e.state)?.view(e)||{}},props:{handleDOMEvents:{beforeinput:e=>{t.getState(e.state)?.pause()}}},appendTransaction(e,n){t.getState(n)?.apply(e)}})}function cs(e){return m(ss(e))}export{Go as EDITOR_KEY_BINDINGS,e as Priority,$a as buildFileMarkdown,wa as checkRoundTrip,Oa as codeBlockLanguages,zo as defaultResolveImageUrl,Ea as defineBulletAfterHeading,Gt as defineCodeBlockSyntaxHighlight,Fi as defineEditorExtension,Ka as defineEmbedPaste,Za as defineExitBoundaryHandler,co as defineFileClickHandler,ao as defineFilePaste,_o as defineFileView,Oo as defineFollowLinkHandler,un as defineHTMLComment,Fo as defineHTMLPaste,Wo as defineImage,Ro as defineImageClickHandler,qo as defineLinkClickHandler,Gr as defineLinkCommands,qr as defineLinkEditKeymap,Yo as defineLinkHoverHandler,Et as defineMarkMode,Zo as defineMarkdownCopy,Ni as definePendingReplacementHandler,ue as definePlaceholder,de as defineReadonly,cs as defineSpellCheckPlugin,xo as defineTagClickHandler,wo as defineWikilinkClickHandler,$o as defineWikilinkTrigger,$ as docToMarkdown,qt as getCodeTokens,K as getLinkUnitAt,Ri as getMarkBuilders,J as getPendingReplacement,es as getSelectedText,ts as getVirtualElementFromRange,Gn as inlineTextToMarkChunks,Hr as insertLink,fi as isSelectionInTableCell,Pa as listenForTweetHeight,Y as markdownToDoc,Va as matchEmbed,Wr as removeLink,Ur as updateLink,ce as withPriority};
package/dist/style.css CHANGED
@@ -555,21 +555,20 @@
555
555
 
556
556
  .ProseMirror[data-mark-mode="focus"] {
557
557
  & .md-mark, & .md-link-uri, & .md-link-title {
558
- vertical-align: bottom;
559
- letter-spacing: -2em;
560
- display: inline-block;
561
- overflow: hidden;
558
+ opacity: 0;
559
+ font-size: 0;
560
+ display: inline;
562
561
 
563
562
  &:has(.show) {
564
- letter-spacing: 0;
563
+ opacity: 1;
564
+ font-size: inherit;
565
565
  }
566
566
  }
567
567
  }
568
568
 
569
569
  .ProseMirror {
570
570
  & .md-atom-view {
571
- vertical-align: bottom;
572
- display: inline-block;
571
+ display: contents;
573
572
  }
574
573
 
575
574
  & .md-atom-view-preview {
@@ -593,16 +592,7 @@
593
592
  }
594
593
 
595
594
  & .md-atom-view-content {
596
- letter-spacing: -2em;
597
- box-sizing: border-box;
598
- color: #0000;
599
- background-color: #0000;
600
- align-items: end;
601
- width: 2px;
602
- margin-left: 2px;
603
- margin-right: -4px;
604
- display: inline-flex;
605
- overflow: visible;
595
+ display: none;
606
596
  }
607
597
  }
608
598
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@meowdown/core",
3
3
  "type": "module",
4
- "version": "0.32.0",
4
+ "version": "0.33.1",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",