@meowdown/core 0.35.0 → 0.36.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.d.ts +1 -0
- package/dist/index.js +16 -16
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -536,6 +536,7 @@ declare function defineEditorExtensionImpl(options: EditorExtensionOptions): imp
|
|
|
536
536
|
}>]>, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").BaseCommandsExtension, import("@prosekit/core").HistoryExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").Extension<{
|
|
537
537
|
Commands: {
|
|
538
538
|
insertMarkdown: [markdown: string];
|
|
539
|
+
insertTrigger: [text: string];
|
|
539
540
|
selectText: [anchor: number, head?: number | undefined];
|
|
540
541
|
selectTextBetween: [$anchor: import("@prosekit/pm/model").ResolvedPos, $head: import("@prosekit/pm/model").ResolvedPos, bias?: number | undefined];
|
|
541
542
|
};
|
package/dist/index.js
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
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 ee,getMarkType as te,getNodeType as ne,isAllSelection as re,isApple as ie,isAtBlockStart as ae,isNodeSelection as oe,isTextSelection as h,toggleNode as se,union as g,unsetBlockType as ce,withPriority as le,withPriority as _,withSkipCodeBlock as ue}from"@prosekit/core";import{definePlaceholder as de}from"@prosekit/extensions/placeholder";import{defineReadonly as fe}from"@prosekit/extensions/readonly";import{isElementLike as pe,once as v}from"@ocavue/utils";import{defineBlockquote as me}from"@prosekit/extensions/blockquote";import{defineDoc as he}from"@prosekit/extensions/doc";import{defineGapCursor as ge}from"@prosekit/extensions/gap-cursor";import{defineModClickPrevention as _e}from"@prosekit/extensions/mod-click-prevention";import{defineText as ve}from"@prosekit/extensions/text";import{defineVirtualSelection as ye}from"@prosekit/extensions/virtual-selection";import{NodeSelection as be,Plugin as y,PluginKey as b,Selection as xe,TextSelection as x}from"@prosekit/pm/state";import{Decoration as S,DecorationSet as C}from"@prosekit/pm/view";import{LanguageDescription as Se}from"@codemirror/language";import{languages as Ce}from"@codemirror/language-data";import{classHighlighter as we,highlightTree as Te}from"@lezer/highlight";import{defineCodeBlock as Ee,defineCodeBlockHighlight as De}from"@prosekit/extensions/code-block";import{createParser as Oe}from"prosemirror-highlight/lezer";import{defineTextBlockEnterRule as ke}from"@prosekit/extensions/enter-rule";import{defineInputRule as Ae,defineTextBlockInputRule as je}from"@prosekit/extensions/input-rule";import{DOMSerializer as
|
|
2
|
-
`)}function Nt(e){let{selection:t}=e;if(!t.empty)return C.empty;let n=t.$head,{parent:r}=n;if(!r.isTextblock||r.type.spec.code)return C.empty;let i=ee(n,te(e.schema,`mdPack`));return i?C.create(e.doc,[S.inline(i.from,i.to,{class:`show`})]):C.empty}const Pt=[`mdImage`,`mdWikilink`,`mdFile`];function k(e,t){let n=O(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function Ft(e,t,n){for(let r of n){let n=E(e,t,r);if(n)return n}}function A(e,t,n){let r=Ft(e,t,n);return r&&r.to===t?r:void 0}function It(e,t,n){let r=Ft(e,t,n);return r&&r.from===t?r:void 0}function Lt(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=Ft(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function Rt(e,t){return x.create(e.doc,t.from,t.to)}function zt(e){return(t,n)=>{let r=k(e,t);if(r.length===0||!h(t.selection))return!1;let i=t.selection;if(i.empty){let e=It(t,i.from,r);if(e)return n?.(t.tr.setSelection(Rt(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(x.create(t.doc,i.from+1))),!0)}return!1}let a=Lt(t,r);return a?(n?.(t.tr.setSelection(x.create(t.doc,a.to))),!0):!1}}function Bt(e){return(t,n)=>{let r=k(e,t);if(r.length===0||!h(t.selection))return!1;let i=t.selection;if(i.empty){let e=A(t,i.from,r);return e?(n?.(t.tr.setSelection(Rt(t,e))),!0):!1}let a=Lt(t,r);return a?(n?.(t.tr.setSelection(x.create(t.doc,a.from))),!0):!1}}function Vt(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):!It(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function Ht(e){return(t,n)=>{let r=k(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=It(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 Ut=`md-atom-selected`;function Wt(e){return new y({key:new b(`atom-mark-selection`),props:{decorations:t=>{let n=k(e,t);if(n.length===0)return;let r=Lt(t,n);if(r)return C.create(t.doc,[S.inline(r.from,r.to,{class:Ut})]);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(S.inline(t,t+e.nodeSize,{class:Ut}))}),C.create(t.doc,s)}}})}function Gt({marks:e}){return g(_(l({ArrowRight:zt(e),ArrowLeft:Bt(e),Backspace:Vt(e),Delete:Ht(e)}),t.high),m(Wt(e)))}const j=new Map,Kt=new Map;async function qt(e){let t=j.get(e);if(t!==void 0)return t;let n=Se.matchLanguageName(Ce,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 Jt(e,t){let n=Kt.get(e);if(n)return n;let r=Oe({parse:e=>t.language.parser.parse(e.content),highlighter:we});return Kt.set(e,r),r}const Yt=e=>{let t=e.language?.trim();if(!t)return[];let n=j.get(t);return n===null?[]:n?Jt(t,n)(e):qt(t).then(()=>void 0)};function Xt(){return De({parser:Yt,nodeTypes:[`codeBlock`]})}function Zt(e,t){let n=t.language.parser.parse(e),r=[];return Te(n,we,(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?Zt(e,r):qt(n).then(t=>t?Zt(e,t):[])}function $t(){return f({type:`codeBlock`,attr:`fenceStyle`,default:null,toDOM:e=>e==null?null:[`data-fence-style`,e],parseDOM:e=>{let t=e.getAttribute(`data-fence-style`);return t===`tilde`||t===`indented`?t:null}})}function en(){return f({type:`codeBlock`,attr:`fenceLength`,default:null,toDOM:e=>e==null?null:[`data-fence-length`,String(e)],parseDOM:e=>{let t=e.getAttribute(`data-fence-length`);if(t==null)return null;let n=Number.parseInt(t,10);return Number.isSafeInteger(n)&&n>3?n:null}})}function tn(e){return{language:e[1]||``,fenceStyle:`tilde`}}function nn(){return je({regex:/^~~~(\S*)\s$/,type:`codeBlock`,attrs:tn})}function rn(){return ke({regex:/^~~~(\S*)$/,type:`codeBlock`,attrs:tn})}function an(){return g(Ee(),$t(),en(),nn(),rn())}function on(e,t){return(n,r)=>{if(r){let i=x.create(n.doc,e,t);r(n.tr.setSelection(i))}return!0}}function sn(e,t,n){return(r,i)=>{if(i){let a=x.between(e,t,n);i(r.tr.setSelection(a))}return!0}}function cn(e){return(t,n)=>{if(!e.trim())return!1;let r=X(e,{nodes:Qa(t.schema)}).content;if(r.childCount===0)return!1;let i=r.childCount===1&&r.child(0).type.name===`paragraph`?new w(r,1,1):new w(r,0,w.maxOpen(r).openEnd);if(n){let e=t.tr,r=e.selection;(!h(r)||!r.empty)&&e.setSelection(x.near(r.$from)),n(e.replaceSelection(i).scrollIntoView())}return!0}}function ln(){return o({insertMarkdown:cn,selectText:on,selectTextBetween:sn})}const un=(e,t,n)=>{let{selection:r}=e;return r.empty||n?.composing?!1:(t?.(e.tr.setSelection(x.near(r.$head))),!0)};function dn(){return _(l({Escape:un}),t.low)}function fn(){return f({type:`doc`,attr:`frontmatter`,default:null})}function pn(){return p({name:`heading`,whitespace:`pre`})}function mn(){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 hn(){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 ue(se({type:`heading`,attrs:{level:e}}))}const gn=(e,t,n)=>ae(e,n)?.parent.type.name===`heading`?ce()(e,t,n):!1;function _n(){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:gn})}function vn(){return g(Ie(),pn(),mn(),hn(),Fe(),Pe(),_n())}const yn=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]);function bn(e,t){if(t<0||t+1>e.doc.content.size)return;let n=e.doc.resolve(t),r=n.parent.maybeChild(n.index());if(!(r==null||!r.isText))return r.marks}function N(e,t){let n=bn(e,t);return n==null?!1:n.some(e=>yn.has(e.type.name))}function P(e,t){if(t<0||t>e.doc.content.size)return!1;let n=e.doc.resolve(t);return n.parent.isTextblock&&!n.parent.type.spec.code}function F(e,t){if(!P(e,t))return;let n=e.doc.resolve(t).start(),r=t;for(;r>n&&N(e,r-1);)r--;return r<t?{from:r,to:t}:void 0}function I(e,t){if(!P(e,t))return;let n=e.doc.resolve(t).end(),r=t;for(;r<n&&N(e,r);)r++;return r>t?{from:t,to:r}:void 0}function xn(e,t){return N(e,t-1)&&N(e,t)}function Sn(e,t){if(!xn(e,t))return;let n=F(e,t),r=I(e,t);if(!(n==null||r==null))return{from:n.from,to:r.to}}function Cn(e,t,n){let r=bn(e,t);return r!=null&&n.isInSet(r)}function wn(e,t){let n=bn(e,t);if(n==null)return;let r=te(e.schema,`mdPack`),i=n.filter(e=>e.type===r);if(i.length===0)return;let a=e.doc.resolve(t),o=a.start(),s=a.end(),c;for(let n of i){let r=t;for(;r>o&&Cn(e,r-1,n);)r--;let i=t+1;for(;i<s&&Cn(e,i,n);)i++;(c==null||i-r<c.to-c.from)&&(c={from:r,to:i})}return c}function L(e,t,n){let r=wn(e,n===`from`?t.from:t.to-1);return r==null?!1:n===`from`?r.from===t.from:r.to===t.to}function Tn(e,t,n){let r=L(e,t,`from`),i=L(e,t,`to`);return r&&!i?t.from:i&&!r?t.to:n-t.from<=t.to-n?t.from:t.to}function En(e,t,n,r){if(!P(e,n))return n;let i=Sn(e,n);if(i!=null)return r?Tn(e,i,n):n>=t?i.to:i.from;if(!r)return n;let a=F(e,n);if(a!=null&&L(e,a,`from`))return a.from;let o=I(e,n);return o!=null&&L(e,o,`to`)?o.to:n}function Dn(e,t){if(!P(e,t))return;let n=N(e,t-1),r=N(e,t);if(n!==r)return r?`left`:`right`}function On(e,t){let n=wn(e,t);if(n==null)return[];let r=I(e,n.from),i=F(e,n.to),a=[];return i!=null&&a.push(i),r!=null&&(i==null||r.from!==i.from)&&a.push(r),a}const kn=new b(`meowdown-hidden-run-snap`),An=new b(`meowdown-hidden-run-beforeinput`);function jn(){let e=!1;return new y({key:kn,props:{handleDOMEvents:{compositionstart:()=>(e=!0,!1),compositionend:()=>(e=!1,!1)}},appendTransaction:(t,n,r)=>{if(e||O(r)!==`hide`)return null;let i=r.selection;if(!h(i))return null;let a=t.some(e=>e.getMeta(`pointer`)!=null);if(i.empty){let e=En(r,n.selection.head,i.head,a);return e===i.head?null:r.tr.setSelection(x.create(r.doc,e))}let o=Sn(r,i.from)?.from??i.from,s=Sn(r,i.to)?.to??i.to;if(o===i.from&&s===i.to)return null;let c=i.anchor===i.from?o:s,l=i.head===i.from?o:s;return r.tr.setSelection(x.create(r.doc,c,l))}})}const Mn=(e,t)=>{if(O(e)!==`hide`)return!1;let n=e.selection;if(!h(n)||!n.empty)return!1;let r=En(e,n.head,n.head,!0);return r===n.head||t?.(e.tr.setSelection(x.create(e.doc,r))),!1};function Nn(e){return(t,n)=>{if(O(t)!==`hide`)return!1;let r=t.selection;if(!h(r)||!r.empty)return!1;let i=r.$head;if(!i.parent.isTextblock||i.parent.type.spec.code)return!1;let a=e===-1?F(t,r.head):I(t,r.head);if(a==null)return!1;let o=On(t,e===-1?a.to-1:a.from),s=t.tr;if(o.length===0)s.delete(a.from,a.to);else for(let e of o)s.delete(e.from,e.to);return n?.(s),!0}}const Pn=Nn(-1),Fn=Nn(1);function In(){return new y({key:An,props:{handleDOMEvents:{beforeinput:(e,t)=>{if(e.composing)return!1;let n=t.inputType===`deleteContentBackward`?Pn:t.inputType===`deleteContentForward`?Fn:void 0;return n==null||!n(e.state,e.dispatch)?!1:(t.preventDefault(),!0)}}}})}function Ln(){return g(m(jn()),m(In()),_(l({Enter:Mn,Backspace:Pn,Delete:Fn}),t.highest))}function Rn(){return f({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function zn(){return g(Le(),Rn())}function Bn(){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 Vn(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function Hn(e,t){let[n,r,i]=t;return[n,r,i.map(t=>Ne.fromJSON(e,t))]}var R=class e extends Ue{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return We.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 Ge(e),n.removeMark(i,c,t));for(let t of a)t.isInSet(l)||(n??=new Ge(e),n.addMark(i,c,t));return!1})}return We.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return Un;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 He(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(Vn)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>Hn(t,e)))}};Ue.jsonID(`batchSetMark`,R);const Un=new R([]),Wn=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),Gn=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function Kn(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function qn(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!Wn.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!Gn.test(e))return!1;return!0}function z(e){return e===32||e===9||e===10||e===13}const Jn=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,Yn=/[\s(*_~]/;function Xn(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function Zn(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function Qn(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&Zn(e,t,`)`)>Zn(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 $n={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!Xn(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!Yn.test(r))return-1;let i=Jn.exec(e.slice(n,e.end));if(!i)return-1;let a=Qn(i[0]);return a===0||!qn(Kn(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function er(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 tr(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const nr={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(!er(t))break;i||=tr(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},rr={resolve:`Highlight`,mark:`HighlightMark`},ir=/[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~\u{A1}\u{2010}-\u{2027}]/u,ar={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=ir.test(r),c=ir.test(i);return e.addDelimiter(rr,n,n+2,!o&&(!c||a||s),!a&&(!s||o||c))}}]},or={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 sr(e){return e.end}const cr=qe.configure([Ke,nr,or,$n,ar]),lr=cr.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:sr}]});function B(e){return cr.parseInline(e,0)}function V(e,t,n=[]){for(let r of e)t(r)&&n.push(r),V(r.children,t,n);return n}function ur(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const H=ur(cr),dr=/^<!--\s*(\{[^}]*\})\s*-->$/,fr=/<!--\s*\{[^}]*\}\s*-->$/;function pr(e){let t=dr.exec(e.trim());if(!t)return;let n;try{n=JSON.parse(t[1])}catch{return}if(typeof n!=`object`||!n)return;let r=mr(n);return Object.keys(r).length>0?r:void 0}function mr(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 hr(e){return`<!-- ${JSON.stringify(e)} -->`}function gr(e){return e.replace(fr,``)}function _r(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 vr(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 yr(){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 br(){return d({name:`mdWikilink`,constructor:yr()})}const xr=new Map([[H.Emphasis,`mdEm`],[H.StrongEmphasis,`mdStrong`],[H.InlineCode,`mdCode`],[H.Strikethrough,`mdDel`],[H.Highlight,`mdHighlight`],[H.EmphasisMark,`mdMark`],[H.CodeMark,`mdMark`],[H.LinkMark,`mdMark`],[H.StrikethroughMark,`mdMark`],[H.HighlightMark,`mdMark`],[H.URL,`mdLinkUri`],[H.LinkTitle,`mdLinkTitle`],[H.Hashtag,`mdTag`],[H.WikilinkMark,`mdMark`]]);function Sr(e,t,n){let r=B(t),i=[];return Tr(r,[],0,t.length,t,e,i,n),i}function Cr(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)||qn(Kn(e)))return`https://${e}`}function wr(e){return e.slice(1,-1).replaceAll(/\\(.)/g,`$1`)}function Tr(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&&U(o,c,r.from,t);let l=r.type;if(l===H.Link){let e=Or(r,t,i,a,s);e?U(o,r.from,r.to,e):kr(r,t,i,a,o)}else if(l===H.Image){let s=Ar(r,e[n+1],i);jr(r,t,i,a,o,s),s&&n++,c=s?s.to:r.to;continue}else if(l===H.Wikilink)Mr(r,t,i,a,o);else if(l===H.URL){let e=Cr(i.slice(r.from,r.to)),n=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();U(o,r.from,r.to,[...t,n])}else{let e;l===H.Emphasis?e=`italic`:l===H.StrongEmphasis?e=`bold`:l===H.InlineCode?e=`code`:l===H.Strikethrough?e=`strike`:l===H.Highlight?e=`highlight`:l===H.Autolink&&(e=`autolink`);let n=e?[...t,a.mdPack.create({key:e})]:t,c=xr.get(l),u=c?[...n,a[c].create()]:n;r.children.length===0?U(o,r.from,r.to,u):Tr(r.children,u,r.from,r.to,i,a,o,s)}c=r.to}c<r&&U(o,c,r,t)}function Er(e){let t=-1,n=-1,r=null,i=null,a=0;for(let o of e.children)o.type===H.LinkMark?(a++,a===1&&(t=o.to),a===2&&(n=o.from)):o.type===H.URL&&r===null?r=o:o.type===H.LinkTitle&&i===null&&(i=o);return{labelFrom:t,labelTo:n,urlNode:r,titleNode:i}}function Dr(e){let t=e.split(/[?#]/,1)[0],n=t.split(/[/\\]/).findLast(Boolean)??t;try{return decodeURIComponent(n)}catch{return n}}function Or(e,t,n,r,i){let a=i?.resolveFileLink;if(!a)return;let{labelFrom:o,labelTo:s,urlNode:c,titleNode:l}=Er(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?wr(n.slice(l.from,l.to)):``;if(!a({href:u,label:d,title:f}))return;let p=d||Dr(u);return[...t,r.mdFile.create({href:u,name:p,title:f})]}function kr(e,t,n,r,i){let{labelTo:a,urlNode:o,titleNode:s}=Er(e),c=o?n.slice(o.from,o.to):``,l=s?wr(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;U(i,m,t.from,e)}let e=d(t.from)?[...p,u]:p;if(t.type===H.Wikilink){Mr(t,e,n,r,i),m=t.to;continue}let a=xr.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?U(i,t.from,t.to,o):Tr(t.children,o,t.from,t.to,n,r,i,void 0),m=t.to}m<e.to&&U(i,m,e.to,p)}function Ar(e,t,n){if(!t||t.type!==H.Comment||t.from!==e.to)return;let r=pr(n.slice(t.from,t.to));if(r)return{magic:r,to:t.to}}function jr(e,t,n,r,i,a){let o=e.children.find(e=>e.type===H.URL);if(!o){kr(e,t,n,r,i);return}let s=e.children.filter(e=>e.type===H.LinkMark),c=e.children.find(e=>e.type===H.LinkTitle),l=n.slice(o.from,o.to),u=s.length>=2?n.slice(s[0].to,s[1].from):``,d=c?wr(n.slice(c.from,c.to)):``,f=a?.magic.width??null,p=a?.magic.height??null,m=a?.to??e.to;U(i,e.from,m,[...t,r.mdImage.create({src:l,alt:u,title:d,width:f,height:p})])}function Mr(e,t,n,r,i){let{target:a,display:o}=vr(n.slice(e.from,e.to));U(i,e.from,e.to,[...t,r.mdWikilink.create({target:a,display:o})])}function U(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&_r(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const Nr=`inline-marks-applied`;let Pr=0,Fr=0;function Ir(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 Lr(e){let t=new WeakMap;function n(n,r,i){let a=t.get(n);if(a?Fr++:(Pr++,a=Sr(Xa(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 y({key:new b(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(Nr))return null;let i=r(n,Ir(e,n));if(i.length===0)return null;let a=n.tr.step(new R(i));return a.setMeta(Nr,!0),a.setMeta(`addToHistory`,!1),a},view(e){return e.dispatch(Rr(e.state)),{}}})}function Rr(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function zr(e){return m(Lr(e))}function Br(){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 Vr(){return u({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function Hr(){return u({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function Ur(){return u({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function Wr(){return u({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function Gr(){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 Kr(){return u({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function qr(){return u({name:`mdLinkTitle`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-title`},0],parseDOM:[{tag:`span.md-link-title`}]})}function Jr(){return u({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function Yr(){return u({name:`mdHighlight`,toDOM:()=>[`mark`,0],parseDOM:[{tag:`mark`}]})}function Xr(){return u({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function Zr(){return u({name:`mdWikilink`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink`},0],parseDOM:[{tag:`span.md-wikilink`}]})}function Qr(){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 $r(){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 ei(){return g(Vr(),Hr(),Ur(),Wr(),Gr(),Kr(),qr(),Jr(),Yr(),Xr(),Zr(),Br(),Qr(),$r())}function ti(e,t,n=0){let r=n,i=0;for(let n=0;n<e.length;n++)e.charCodeAt(n)===t?(i++,i>r&&(r=i)):i=0;return r}function ni(e,t=0){return ti(e,96,t)}const W={em:{node:H.Emphasis,delim:`*`},strong:{node:H.StrongEmphasis,delim:`**`},code:{node:H.InlineCode,delim:"`"},del:{node:H.Strikethrough,delim:`~~`},highlight:{node:H.Highlight,delim:`==`}},ri=new Set([H.EmphasisMark,H.CodeMark,H.LinkMark,H.StrikethroughMark,H.HighlightMark]);function ii(e){return[e.children[0],e.children.at(-1)]}function ai(e){let{type:t,children:n}=e;if(t===H.Emphasis||t===H.StrongEmphasis||t===H.Strikethrough||t===H.Highlight)return[n[0].to,n.at(-1).from];if(t===H.Link||t===H.Image){let e=n.find((e,t)=>t>0&&e.type===H.LinkMark);return e?[n[0].to,e.from]:null}return null}function oi(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=ai(r);return i&&i[0]<=t&&n<=i[1]?oi(r.children,t,n):oi(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function si(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return si(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}function ci(e,t,n){for(;t<n&&z(e.charCodeAt(t));)t++;for(;n>t&&z(e.charCodeAt(n-1));)n--;return[t,n]}function li(e,t,n,r){let i=V(B(e),e=>e.type===r.node||ri.has(e.type));for(let r=t;r<n;r++)if(!z(e.charCodeAt(r))&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function ui(e,t,n,r,i){let a=B(e),o=V(a,e=>e.type===r.node);return i?pi(e,o,t,n):di(e,a,o,t,n,r)}function di(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=oi(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]=ii(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=fi(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function fi(e,t,n,r,i){if(i.node!==H.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(ni(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function pi(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=ii(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=si(a.children.slice(1,-1),s,c);s>t.to&&z(e.charCodeAt(s-1));)s--;for(;c<o.from&&z(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 mi(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=B(e),o=V(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=ii(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return hi(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function hi(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=ai(n);return!e||t<e[0]||t>e[1]?!0:hi(n.children,t)}return!1}function G(e){return(t,n)=>{if(t.selection.empty)return gi(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]=ci(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:li(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>ui(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(x.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 gi(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=mi(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(x.create(o.doc,i+a.pos)),a.kind===`insert`&&(o.insertText(e.delim+e.delim,i+a.pos),o.setSelection(x.create(o.doc,i+a.pos+e.delim.length))),n(o.scrollIntoView())}return!0}function _i(){return o({toggleEm:()=>G(W.em),toggleStrong:()=>G(W.strong),toggleCode:()=>G(W.code),toggleDel:()=>G(W.del),toggleHighlight:()=>G(W.highlight)})}function vi(){return l({"Mod-b":G(W.strong),"Mod-i":G(W.em),"Mod-e":G(W.code),"Mod-Shift-x":G(W.del),"Mod-Shift-h":G(W.highlight)})}function yi(){return g(_i(),vi())}function bi(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=E(e,t,`mdLinkText`),r=E(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=bi(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 xi(e){let t=e.trim();return t?Cr(t)??t:``}function Si(e,t){return e+(t?` "${t.replaceAll(/(["\\])/g,String.raw`\$1`)}"`:``)}function Ci(e){let{selection:t}=e,{$from:n,$to:r,empty:i}=t;if(i||!n.sameParent(r)||!h(t))return;let a=n.parent;if(!a.isTextblock||a.type.spec.code)return;let o=n.start(),[s,c]=ci(a.textContent,n.parentOffset,r.parentOffset);if(!(s>=c))return{from:o+s,to:o+c}}function wi(e={}){return(t,n)=>{let r=Si(xi(e.href??``),e.title??``),i=Ci(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(x.create(o.doc,e,a+1+s.length)).scrollIntoView())}return!0}}function Ti(e){return(t,n)=>{let r=K(t,t.selection.from);if(!r?.dest)return!1;let i=Si(xi(e.href??r.href),e.title??r.title);return n&&n(t.tr.insertText(i,r.dest.from,r.dest.to).scrollIntoView()),!0}}function Ei(){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 Di(){return o({insertLink:wi,updateLink:Ti,removeLink:Ei})}function Oi(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(x.create(t.doc,a,o)).scrollIntoView()),r.focus(),e({from:a,to:o,link:i})}return!0}let a=Ci(t);if(a){if(n&&r){let{from:i,to:o}=a;n(t.tr.setSelection(x.create(t.doc,i,o)).scrollIntoView()),r.focus(),e({from:i,to:o,link:void 0})}return!0}return!1}}function ki(e){return l({"Mod-k":Oi(e)})}function Ai(){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 ji(){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 Mi(e){return e===2||e===3||e===4}function Ni(){return f({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>Mi(e)?[`data-list-marker-gap`,String(e)]:null,parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return Mi(t)?t:1}})}const Pi=[T(/^\s?([*-])\s$/,{kind:`bullet`,collapsed:!1}),T(/^\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}}),T(/^\s?\[([\sXx]?)]\s$/,({match:e})=>({kind:`task`,checked:[`x`,`X`].includes(e[1]),collapsed:!1})),T(/^\s?\+\s$/,{kind:`task`,marker:`+`,checked:!1,collapsed:!1})];function Fi(){return g(Pi.map(Ae))}function Ii(){return tt({kind:`task`,marker:`+`})}function Li(){return tt({kind:`task`,marker:null})}function Ri(){return o({wrapInCircleTask:Ii,wrapInSquareTask:Li})}function zi(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 Bi(){return(e,t,n)=>{let r=zi(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},tt(a)(e,t,n)}}function Vi(){return(e,t,n)=>{let r=zi(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},tt(a)(e,t,n)}}function Hi(e){return e.type.name===`list`&&e.attrs.kind===`bullet`&&e.childCount>=2&&e.firstChild?.type!==e.type}const Ui=e=>{let t=e.attrs;return t.kind===`task`?{...t,checked:!t.checked}:Hi(e)?{...t,collapsed:!t.collapsed}:t};function Wi(){return m(()=>[new y({props:{handleDOMEvents:{mousedown:(e,t)=>at({view:e,event:t,onListClick:Ui})}}}),nt(),new y({props:{transformCopied:ot}}),rt()])}function Gi(){return o({toggleListCollapsed:()=>it({isToggleable:Hi})})}function Ki(){return l({"Mod-Enter":Bi(),"Mod-Shift-Enter":Vi(),"Mod-.":it({isToggleable:Hi}),"Mod-Shift-7":et({kind:`ordered`,collapsed:!1}),"Mod-Shift-8":et({kind:`bullet`,collapsed:!1}),"Mod-Shift-9":et({kind:`task`,checked:!1,collapsed:!1})})}function qi(){return g(Qe(),Wi(),Xe(),Je(),Ze(),Ye(),Fi(),Ki(),Ai(),ji(),Ni(),Ri(),Gi())}function Ji(e){return e===`left`||e===`center`||e===`right`?e:null}function Yi(){return f({type:`tableCell`,attr:`align`,default:null,toDOM:e=>e?[`data-align`,e]:null,parseDOM:e=>Ji(e.getAttribute(`data-align`))})}function Xi(){return f({type:`tableHeaderCell`,attr:`align`,default:null,toDOM:e=>e?[`data-align`,e]:null,parseDOM:e=>Ji(e.getAttribute(`data-align`))})}function Zi(e){for(let t=0;t<e.childCount;t++){let n=e.child(t);for(let e=0;e<n.childCount;e++)if(n.child(e).type.name===`tableHeaderCell`)return t}return 0}function Qi(e){return e.child(Zi(e))}function $i(e,t){return t>=e.childCount?null:e.child(t).attrs.align??null}function ea(e,t,n){if(e.childCount===0)return;let r=Qi(e),i=t+1;for(let t=0;t<e.childCount;t++){let a=e.child(t),o=i+1;for(let e=0;e<a.childCount;e++){let t=a.child(e),i=$i(r,e);(t.attrs.align??null)!==i&&n.setNodeMarkup(o,void 0,{...t.attrs,align:i}),o+=t.nodeSize}i+=a.nodeSize}}function ta(e){let t,n;for(let r of e){if(!r.docChanged)continue;t!=null&&n!=null&&(t=r.mapping.map(t,-1),n=r.mapping.map(n,1));let e=r.mapping;for(let[r,i]of e.maps.entries()){let a=e.slice(r+1);i.forEach((e,r,i,o)=>{let s=a.map(i,-1),c=a.map(o,1);t=t==null?s:Math.min(t,s),n=n==null?c:Math.max(n,c)})}}if(!(t==null||n==null))return{from:t,to:n}}function na(){return new y({key:new b(`table-align-sync`),appendTransaction(e,t,n){if(!e.some(e=>e.docChanged))return;let r=ta(e);if(!r)return;let i=n.doc,a=Math.max(0,Math.min(r.from,i.content.size)),o=Math.max(a,Math.min(r.to,i.content.size)),s;return i.nodesBetween(a,o,(e,t)=>e.type.name===`table`?(s??=n.tr,ea(e,t,s),!1):!0),s?.docChanged?s:void 0}})}function ra(){return m(na())}function ia(e){let{selection:t}=e;if(ht(t)){let{$anchorCell:e,$headCell:n}=t,r=e.depth-1,i=e.index(),a=n.index();return{table:e.node(r),tablePos:e.before(r),firstColumn:Math.min(i,a),lastColumn:Math.max(i,a)}}let{$from:n}=t;for(let e=n.depth;e>2;e--){let t=n.node(e).type.name;if(t===`tableCell`||t===`tableHeaderCell`){let t=n.index(e-1);return{table:n.node(e-2),tablePos:n.before(e-2),firstColumn:t,lastColumn:t}}}}function aa(e){return(t,n)=>{let r=ia(t);if(!r||r.table.childCount===0)return!1;if(n){let{table:i,tablePos:a,firstColumn:o,lastColumn:s}=r,c=Zi(i),l=a+1;for(let e=0;e<c;e++)l+=i.child(e).nodeSize;let u=i.child(c),d=t.tr,f=l+1;for(let t=0;t<u.childCount;t++){let n=u.child(t);t>=o&&t<=s&&(n.attrs.align??null)!==e&&d.setNodeMarkup(f,void 0,{...n.attrs,align:e}),f+=n.nodeSize}n(d)}return!0}}function oa(e){let t=ia(e);if(!(!t||t.table.childCount===0))return $i(Qi(t.table),t.lastColumn)??void 0}function sa(){return o({setTableColumnAlign:aa})}function ca(){return g(Yi(),Xi(),ra(),sa())}function la(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 ua=`paragraph`;function da(){return g(p({name:`tableCell`,content:ua}),p({name:`tableHeaderCell`,content:ua}))}const fa=(e,t)=>{let{selection:n}=e;return!ht(n)||!n.isColSelection()||!n.isRowSelection()?!1:mt(e,t)};function pa(){return _(l({Backspace:fa,Delete:fa}),t.high)}function ma(){return g(pt(),ft(),st(),dt(),da(),ca(),ut({allowTableNodeSelection:!0}),ct(),lt(),pa())}function ha(e){let{selection:t}=e,{$from:n,$to:r}=t;if(oe(t)&&n.depth===0||n.depth>0&&r.depth>0&&n.index(0)===r.index(0))return n.index(0)}function ga(e){return(t,n)=>{if(la(t))return!1;let r=ha(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=oe(a)?be.create(u.doc,a.from+d):x.create(u.doc,a.anchor+d,a.head+d);u.setSelection(f),n(u.scrollIntoView())}return!0}}function _a(e){return(t,n,r)=>$e(e)(t,n,r)||ga(e===`up`?-1:1)(t,n,r)}function va(){return l({"Alt-ArrowUp":_a(`up`),"Alt-ArrowDown":_a(`down`)})}function ya(){return p({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function ba(){return g(_(ya(),t.highest),gt(),_t())}const q=new b(`meowdownPendingReplacement`);function J(e){return q.getState(e)?.pending??null}function xa(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 Sa=new y({key:q,state:{init:()=>({pending:null}),apply:(e,t)=>{let n=e.getMeta(q);if(n)return xa(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:C.create(e.doc,[S.inline(t.from,t.to,{class:`md-pending-replacement`})])}}});function Ca(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 wa(e){return(t,n)=>J(t)?(n?.(t.tr.setMeta(q,{type:`append`,text:e})),!0):!1}function Ta(){return(e,t)=>J(e)?(t?.(e.tr.setMeta(q,{type:`discard`})),!0):!1}function Ea(e={}){return(t,n)=>{let r=J(t);if(!r||!r.text.trim())return!1;if(n){let i=e.mode??r.mode,a=Qa(t.schema),o=X(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(x.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(x.near(s.doc.resolve(r.from+i.content.size),-1))):(s.replaceRange(r.from,r.to,new w(o.content,0,0)),s.setSelection(x.near(s.doc.resolve(s.mapping.map(r.to)),-1)))}n(s.scrollIntoView())}return!0}}function Da(){return o({startPendingReplacement:Ca,appendPendingReplacementText:wa,acceptPendingReplacement:Ea,discardPendingReplacement:Ta})}function Oa(){return l({"Mod-Enter":Ea(),Escape:Ta()})}function ka(){return g(m(Sa),Da(),Oa())}function Aa(e){return m(new y({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 ja(e){return e.left===0&&e.top===0&&e.right===0&&e.bottom===0}function Y(e,t,n){if(t<0||t>e.state.doc.content.size)return;let r;try{r=e.coordsAtPos(t,n)}catch{return}return ja(r)?void 0:r}function Ma(e){e.offsetWidth}const Na=new b(`meowdown-virtual-caret`),Pa=[`md-virtual-caret-blink`,`md-virtual-caret-blink2`];function Fa(e){let t=e.dom.ownerDocument.getSelection();if(t==null||t.rangeCount===0||!e.dom.contains(t.anchorNode))return;let n=t.getRangeAt(0).cloneRange();n.collapse(!0);let r=Array.from(n.getClientRects()).filter(e=>e.height>0);if(r.length===0)return;let i=r[r.length-1];return{left:i.left,top:i.top,height:i.height}}function Ia(e){let t=e.state,n=t.selection.head,r=F(t,n),i=I(t,n),a=r==null,o=[[n,a],[n,!a]];r!=null&&o.push([r.from,!0]),i!=null&&o.push([i.to,!1]);for(let[t,n]of o){let r=Y(e,t,n?-1:1);if(r!=null&&r.bottom>r.top)return{left:r.left,top:r.top,height:r.bottom-r.top}}}function La(e){let t=e.state,n=t.selection.head;for(let r of Pt){let i=E(t,n,r);if(i==null||i.from!==n&&i.to!==n)continue;let a=Ra(e,i.from+1);if(a==null)continue;let o=a.getBoundingClientRect();if(o.height!==0)return{left:i.to===n?o.right:o.left,top:o.top,height:o.height}}}function Ra(e,t){let{node:n}=e.domAtPos(t,0);return(n instanceof Element?n:n.parentElement)?.closest(`.md-atom-view`)?.querySelector(`.md-atom-view-preview`)??void 0}function za(e){let t=e.height*.19999999999999996;return{left:e.left,top:e.top-t/2,height:e.height+t}}function Ba(e){let t=Fa(e)??Ia(e);return t==null?La(e):za(t)}function Va(e,t){return e==null||t==null?e===t:e.left===t.left&&e.top===t.top&&e.height===t.height}var Ha=class{#e;#t;#n;#r;#i;#a;#o;#s=0;constructor(e){this.#e=e,this.#r=e.dom.ownerDocument,this.#t=this.#r.createElement(`div`),this.#t.className=`md-virtual-caret-layer`,this.#n=this.#t.appendChild(this.#r.createElement(`div`)),this.#n.className=`md-virtual-caret`,this.#n.dataset.testid=`virtual-caret`,e.dom.insertAdjacentElement(`afterend`,this.#t),this.#r.addEventListener(`selectionchange`,this.#l),typeof ResizeObserver<`u`&&(this.#i=new ResizeObserver(this.#l),this.#i.observe(e.dom)),this.#l()}update(e,t){e.state.selection.eq(t.selection)||this.#c(),this.#l()}destroy(){this.#r.removeEventListener(`selectionchange`,this.#l),this.#i?.disconnect(),this.#t.remove()}#c(){this.#s=1-this.#s,this.#n.style.animationName=Pa[this.#s]}#l=()=>{let e=this.#e;if(e.isDestroyed)return;let t=e.state,n=t.selection,r=h(n)&&n.empty?Ba(e):void 0,i=r!=null&&O(t)===`hide`?Dn(t,n.head):void 0;if(Va(r,this.#a)&&i===this.#o)return;let a=this.#a==null;if(this.#a=r,this.#o=i,i==null?delete this.#n.dataset.tail:this.#n.dataset.tail=i,r==null){this.#n.style.visibility=`hidden`;return}let o=this.#t.getBoundingClientRect();a&&(this.#n.style.transitionProperty=`none`),this.#n.style.visibility=``,this.#n.style.left=`${r.left-o.left}px`,this.#n.style.top=`${r.top-o.top}px`,this.#n.style.height=`${r.height}px`,a&&(Ma(this.#n),this.#n.style.transitionProperty=``)}};function Ua(){return m(new y({key:Na,view:e=>new Ha(e)}))}function Wa(e){return g(ba(),he(),fn(),ve(),me(),qi(),vn(),ma(),an(),zn(),Bn(),ei(),Xt(),dn(),va(),zr(e),yi(),Di(),br(),jt(e.markMode??`focus`),Ua(),Ln(),Gt({marks:Pt.map(e=>({name:e,modes:[`hide`,`focus`,`show`]}))}),a(),i(),c(),ge(),ye(),_e(),ln(),ka())}function Ga(e={}){return Wa(e)}const Ka=v(()=>{let e=Ga().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),qa=v(()=>r(Ka())),Ja=v(()=>n(Ka())),Ya=`meowdown_mark_builders`;function Xa(e){let t=e.cached[Ya];if(t)return t;let r=n(e);return e.cached[Ya]=r,r}const Za=`meowdown_node_builders`;function Qa(e){let t=e.cached[Za];if(t)return t;let n=r(e);return e.cached[Za]=n,n}function X(e,t={}){let{nodes:n=qa(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=eo(e);i=t,n&&(a=e.slice(n))}let o=to(n,lr.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const $a=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function eo(e){let t=$a.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function to(e,t,n){let r=[];if(!t.firstChild())return r;do r.push(...no(e,t,n));while(t.nextSibling());return t.parent(),r}function no(e,t,n){switch(t.type.id){case H.ATXHeading1:return[Z(e,t,n,1,!1)];case H.ATXHeading2:return[Z(e,t,n,2,!1)];case H.ATXHeading3:return[Z(e,t,n,3,!1)];case H.ATXHeading4:return[Z(e,t,n,4,!1)];case H.ATXHeading5:return[Z(e,t,n,5,!1)];case H.ATXHeading6:return[Z(e,t,n,6,!1)];case H.SetextHeading1:return[Z(e,t,n,1,!0)];case H.SetextHeading2:return[Z(e,t,n,2,!0)];case H.Paragraph:return[$(e,t,n)];case H.CommentBlock:return[co(e,t,n)];case H.HTMLBlock:case H.ProcessingInstructionBlock:return[$(e,t,n)];case H.Blockquote:return[lo(e,t,n)];case H.BulletList:return uo(e,t,n,`bullet`);case H.OrderedList:return uo(e,t,n,`ordered`);case H.FencedCode:case H.CodeBlock:return[po(e,t,n)];case H.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case H.Table:return[mo(e,t,n)];case H.Task:return[$(e,t,n)];default:return n.slice(t.from,t.to).trim()===``?[]:(console.warn(`[meowdown] unsupported lezer block "${t.type.name}"`),[$(e,t,n)])}}function Z(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===H.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===H.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=oo(n.slice(o,s),Q(n,o)).trim(),d=i?ro(n,c,l)||1:null,f=!i&&c>=0&&io(n,c,l)||null;return e.heading({level:r,setextUnderline:d,closingHashes:f},u)}function ro(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 io(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 Q(e,t){let n=e.lastIndexOf(`
|
|
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
|
|
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 ee,getMarkType as te,getNodeType as ne,isAllSelection as re,isApple as ie,isAtBlockStart as ae,isNodeSelection as oe,isTextSelection as h,toggleNode as se,union as g,unsetBlockType as ce,withPriority as le,withPriority as _,withSkipCodeBlock as ue}from"@prosekit/core";import{definePlaceholder as de}from"@prosekit/extensions/placeholder";import{defineReadonly as fe}from"@prosekit/extensions/readonly";import{isElementLike as pe,once as v}from"@ocavue/utils";import{defineBlockquote as me}from"@prosekit/extensions/blockquote";import{defineDoc as he}from"@prosekit/extensions/doc";import{defineGapCursor as ge}from"@prosekit/extensions/gap-cursor";import{defineModClickPrevention as _e}from"@prosekit/extensions/mod-click-prevention";import{defineText as ve}from"@prosekit/extensions/text";import{defineVirtualSelection as ye}from"@prosekit/extensions/virtual-selection";import{NodeSelection as be,Plugin as y,PluginKey as b,Selection as xe,TextSelection as x}from"@prosekit/pm/state";import{Decoration as S,DecorationSet as C}from"@prosekit/pm/view";import{LanguageDescription as Se}from"@codemirror/language";import{languages as Ce}from"@codemirror/language-data";import{classHighlighter as we,highlightTree as Te}from"@lezer/highlight";import{defineCodeBlock as Ee,defineCodeBlockHighlight as De}from"@prosekit/extensions/code-block";import{createParser as Oe}from"prosemirror-highlight/lezer";import{defineTextBlockEnterRule as ke}from"@prosekit/extensions/enter-rule";import{defineInputRule as Ae,defineTextBlockInputRule as je}from"@prosekit/extensions/input-rule";import{triggerAutocomplete as Me}from"@prosekit/extensions/autocomplete";import{DOMSerializer as Ne,Mark as Pe,Slice as w}from"@prosekit/pm/model";import{defineHeadingCommands as Fe,defineHeadingInputRule as Ie,defineHeadingSpec as Le}from"@prosekit/extensions/heading";import{defineHorizontalRule as Re}from"@prosekit/extensions/horizontal-rule";import{AddMarkStep as ze,AddNodeMarkStep as Be,RemoveMarkStep as Ve,RemoveNodeMarkStep as He,ReplaceStep as Ue,Step as We,StepResult as Ge,Transform as Ke}from"@prosekit/pm/transform";import{GFM as qe,parser as Je}from"@lezer/markdown";import{defineListCommands as Ye,defineListDropIndicator as Xe,defineListKeymap as Ze,defineListSerializer as Qe,defineListSpec as $e,moveList as et,toggleList as tt,wrapInList as T}from"@prosekit/extensions/list";import{createListRenderingPlugin as nt,createSafariInputMethodWorkaroundPlugin as rt,createToggleCollapsedCommand as it,handleListMarkerMouseDown as at,unwrapListSlice as ot,wrappingListInputRule as E}from"prosemirror-flat-list";import{defineTableCellSpec as st,defineTableCommands as ct,defineTableDropIndicator as lt,defineTableEditingPlugin as ut,defineTableHeaderCellSpec as dt,defineTableRowSpec as ft,defineTableSpec as pt,deleteTable as mt,isCellSelection as ht}from"@prosekit/extensions/table";import{defineParagraphCommands as gt,defineParagraphKeymap as _t}from"@prosekit/extensions/paragraph";import{closeHistory as vt}from"@prosekit/pm/history";import yt from"rehype-parse";import bt from"rehype-remark";import xt from"remark-gfm";import St from"remark-stringify";import{unified as Ct}from"unified";import{registerResizableHandleElement as wt,registerResizableRootElement as Tt}from"@prosekit/web/resizable";function D(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 ee(i,n)}const Et=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]),O=new b(`mark-mode`);function Dt(e){return O.getState(e)}function Ot(e){return new y({key:O,state:{init:()=>e,apply:(e,t)=>e.getMeta(O)??t},props:{attributes:t=>({"data-mark-mode":Dt(t)??e}),decorations:e=>Dt(e)===`focus`?Mt(e):void 0,clipboardTextSerializer:(e,t)=>Dt(t.state)===`show`?``:jt(e)}})}function kt(e){return(t,n)=>k(t)===e?!1:(n?.(t.tr.setMeta(O,e)),!0)}function At(e){return g(m(Ot(e)),o({setMarkMode:kt}))}function k(e){return O.getState(e)}function jt(e){let t=[];return e.content.forEach(e=>{let n=[];e.descendants(e=>!e.isText||!e.text?!0:(e.marks.some(e=>Et.has(e.type.name))||n.push(e.text),!1)),t.push(n.join(``))}),t.join(`
|
|
2
|
+
`)}function Mt(e){let{selection:t}=e;if(!t.empty)return C.empty;let n=t.$head,{parent:r}=n;if(!r.isTextblock||r.type.spec.code)return C.empty;let i=ee(n,te(e.schema,`mdPack`));return i?C.create(e.doc,[S.inline(i.from,i.to,{class:`show`})]):C.empty}const Nt=[`mdImage`,`mdWikilink`,`mdFile`];function A(e,t){let n=k(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function Pt(e,t,n){for(let r of n){let n=D(e,t,r);if(n)return n}}function j(e,t,n){let r=Pt(e,t,n);return r&&r.to===t?r:void 0}function Ft(e,t,n){let r=Pt(e,t,n);return r&&r.from===t?r:void 0}function It(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=Pt(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function Lt(e,t){return x.create(e.doc,t.from,t.to)}function Rt(e){return(t,n)=>{let r=A(e,t);if(r.length===0||!h(t.selection))return!1;let i=t.selection;if(i.empty){let e=Ft(t,i.from,r);if(e)return n?.(t.tr.setSelection(Lt(t,e))),!0;if(j(t,i.from,r)){let e=t.doc.resolve(i.from);return i.from>=e.end()?!1:(n?.(t.tr.setSelection(x.create(t.doc,i.from+1))),!0)}return!1}let a=It(t,r);return a?(n?.(t.tr.setSelection(x.create(t.doc,a.to))),!0):!1}}function zt(e){return(t,n)=>{let r=A(e,t);if(r.length===0||!h(t.selection))return!1;let i=t.selection;if(i.empty){let e=j(t,i.from,r);return e?(n?.(t.tr.setSelection(Lt(t,e))),!0):!1}let a=It(t,r);return a?(n?.(t.tr.setSelection(x.create(t.doc,a.from))),!0):!1}}function Bt(e){return(t,n)=>{let r=A(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=j(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!Ft(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function Vt(e){return(t,n)=>{let r=A(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=Ft(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!j(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}const Ht=`md-atom-selected`;function Ut(e){return new y({key:new b(`atom-mark-selection`),props:{decorations:t=>{let n=A(e,t);if(n.length===0||oe(t.selection))return;let r=It(t,n);if(r)return C.create(t.doc,[S.inline(r.from,r.to,{class:Ht})]);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(S.inline(t,t+e.nodeSize,{class:Ht}))}),C.create(t.doc,s)}}})}function Wt({marks:e}){return g(_(l({ArrowRight:Rt(e),ArrowLeft:zt(e),Backspace:Bt(e),Delete:Vt(e)}),t.high),m(Ut(e)))}const M=new Map,Gt=new Map;async function Kt(e){let t=M.get(e);if(t!==void 0)return t;let n=Se.matchLanguageName(Ce,e,!0);if(!n)return M.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),M.set(e,null),null}return M.set(e,r),r}function qt(e,t){let n=Gt.get(e);if(n)return n;let r=Oe({parse:e=>t.language.parser.parse(e.content),highlighter:we});return Gt.set(e,r),r}const Jt=e=>{let t=e.language?.trim();if(!t)return[];let n=M.get(t);return n===null?[]:n?qt(t,n)(e):Kt(t).then(()=>void 0)};function Yt(){return De({parser:Jt,nodeTypes:[`codeBlock`]})}function Xt(e,t){let n=t.language.parser.parse(e),r=[];return Te(n,we,(e,t,n)=>{r.push([e,t,n])}),r}function Zt(e,t){let n=t.trim();if(!n)return[];let r=M.get(n);return r===null?[]:r?Xt(e,r):Kt(n).then(t=>t?Xt(e,t):[])}function Qt(){return f({type:`codeBlock`,attr:`fenceStyle`,default:null,toDOM:e=>e==null?null:[`data-fence-style`,e],parseDOM:e=>{let t=e.getAttribute(`data-fence-style`);return t===`tilde`||t===`indented`?t:null}})}function $t(){return f({type:`codeBlock`,attr:`fenceLength`,default:null,toDOM:e=>e==null?null:[`data-fence-length`,String(e)],parseDOM:e=>{let t=e.getAttribute(`data-fence-length`);if(t==null)return null;let n=Number.parseInt(t,10);return Number.isSafeInteger(n)&&n>3?n:null}})}function en(e){return{language:e[1]||``,fenceStyle:`tilde`}}function tn(){return je({regex:/^~~~(\S*)\s$/,type:`codeBlock`,attrs:en})}function nn(){return ke({regex:/^~~~(\S*)$/,type:`codeBlock`,attrs:en})}function rn(){return g(Ee(),Qt(),$t(),tn(),nn())}function an(e,t){return(n,r)=>{if(r){let i=x.create(n.doc,e,t);r(n.tr.setSelection(i))}return!0}}function on(e,t,n){return(r,i)=>{if(i){let a=x.between(e,t,n);i(r.tr.setSelection(a))}return!0}}function sn(e){return(t,n)=>{if(!e.trim())return!1;let r=X(e,{nodes:$a(t.schema)}).content;if(r.childCount===0)return!1;let i=r.childCount===1&&r.child(0).type.name===`paragraph`?new w(r,1,1):new w(r,0,w.maxOpen(r).openEnd);if(n){let e=t.tr,r=e.selection;(!h(r)||!r.empty)&&e.setSelection(x.near(r.$from)),n(e.replaceSelection(i).scrollIntoView())}return!0}}function cn(e){return(t,n)=>{if(!e)return!1;let r=t.selection.$from;if(r.parent.type.spec.code)return!1;if(n){let i=r.parentOffset,a=i===0?``:r.parent.textBetween(i-1,i),o=a!==``&&!/\s/u.test(a),s=t.tr.insertText(o?` ${e}`:e);Me(s),n(s.scrollIntoView())}return!0}}function ln(){return o({insertMarkdown:sn,insertTrigger:cn,selectText:an,selectTextBetween:on})}const un=(e,t,n)=>{let{selection:r}=e;return r.empty||n?.composing?!1:(t?.(e.tr.setSelection(x.near(r.$head))),!0)};function dn(){return _(l({Escape:un}),t.low)}function fn(){return f({type:`doc`,attr:`frontmatter`,default:null})}function pn(){return p({name:`heading`,whitespace:`pre`})}function mn(){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 hn(){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 N(e){return ue(se({type:`heading`,attrs:{level:e}}))}const gn=(e,t,n)=>ae(e,n)?.parent.type.name===`heading`?ce()(e,t,n):!1;function _n(){return l({"Mod-1":N(1),"Mod-2":N(2),"Mod-3":N(3),"Mod-4":N(4),"Mod-5":N(5),"Mod-6":N(6),Backspace:gn})}function vn(){return g(Le(),pn(),mn(),hn(),Ie(),Fe(),_n())}const yn=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]);function bn(e,t){if(t<0||t+1>e.doc.content.size)return;let n=e.doc.resolve(t),r=n.parent.maybeChild(n.index());if(!(r==null||!r.isText))return r.marks}function P(e,t){let n=bn(e,t);return n==null?!1:n.some(e=>yn.has(e.type.name))}function F(e,t){if(t<0||t>e.doc.content.size)return!1;let n=e.doc.resolve(t);return n.parent.isTextblock&&!n.parent.type.spec.code}function I(e,t){if(!F(e,t))return;let n=e.doc.resolve(t).start(),r=t;for(;r>n&&P(e,r-1);)r--;return r<t?{from:r,to:t}:void 0}function L(e,t){if(!F(e,t))return;let n=e.doc.resolve(t).end(),r=t;for(;r<n&&P(e,r);)r++;return r>t?{from:t,to:r}:void 0}function xn(e,t){return P(e,t-1)&&P(e,t)}function Sn(e,t){if(!xn(e,t))return;let n=I(e,t),r=L(e,t);if(!(n==null||r==null))return{from:n.from,to:r.to}}function Cn(e,t,n){let r=bn(e,t);return r!=null&&n.isInSet(r)}function wn(e,t){let n=bn(e,t);if(n==null)return;let r=te(e.schema,`mdPack`),i=n.filter(e=>e.type===r);if(i.length===0)return;let a=e.doc.resolve(t),o=a.start(),s=a.end(),c;for(let n of i){let r=t;for(;r>o&&Cn(e,r-1,n);)r--;let i=t+1;for(;i<s&&Cn(e,i,n);)i++;(c==null||i-r<c.to-c.from)&&(c={from:r,to:i})}return c}function Tn(e,t,n){let r=wn(e,n===`from`?t.from:t.to-1);return r==null?!1:n===`from`?r.from===t.from:r.to===t.to}function En(e,t,n){let r=Tn(e,t,`from`),i=Tn(e,t,`to`);return r&&!i?t.from:i&&!r?t.to:n-t.from<=t.to-n?t.from:t.to}function Dn(e,t,n,r){if(!F(e,n))return n;let i=Sn(e,n);if(i!=null)return r?En(e,i,n):n>=t?i.to:i.from;if(!r)return n;let a=I(e,n);if(a!=null&&Tn(e,a,`from`))return a.from;let o=L(e,n);return o!=null&&Tn(e,o,`to`)?o.to:n}function On(e,t){if(!F(e,t))return;let n=P(e,t-1),r=P(e,t);if(n!==r)return r?`left`:`right`}function kn(e,t){let n=wn(e,t);if(n==null)return[];let r=L(e,n.from),i=I(e,n.to),a=[];return i!=null&&a.push(i),r!=null&&(i==null||r.from!==i.from)&&a.push(r),a}const An=new b(`meowdown-hidden-run-snap`),jn=new b(`meowdown-hidden-run-beforeinput`);function Mn(){let e=!1;return new y({key:An,props:{handleDOMEvents:{compositionstart:()=>(e=!0,!1),compositionend:()=>(e=!1,!1)}},appendTransaction:(t,n,r)=>{if(e||k(r)!==`hide`)return null;let i=r.selection;if(!h(i))return null;let a=t.some(e=>e.getMeta(`pointer`)!=null);if(i.empty){let e=Dn(r,n.selection.head,i.head,a);return e===i.head?null:r.tr.setSelection(x.create(r.doc,e))}let o=Sn(r,i.from)?.from??i.from,s=Sn(r,i.to)?.to??i.to;if(o===i.from&&s===i.to)return null;let c=i.anchor===i.from?o:s,l=i.head===i.from?o:s;return r.tr.setSelection(x.create(r.doc,c,l))}})}const Nn=(e,t)=>{if(k(e)!==`hide`)return!1;let n=e.selection;if(!h(n)||!n.empty)return!1;let r=Dn(e,n.head,n.head,!0);return r===n.head||t?.(e.tr.setSelection(x.create(e.doc,r))),!1};function Pn(e){return(t,n)=>{if(k(t)!==`hide`)return!1;let r=t.selection;if(!h(r)||!r.empty)return!1;let i=r.$head;if(!i.parent.isTextblock||i.parent.type.spec.code)return!1;let a=e===-1?I(t,r.head):L(t,r.head);if(a==null)return!1;let o=kn(t,e===-1?a.to-1:a.from),s=t.tr;if(o.length===0)s.delete(a.from,a.to);else for(let e of o)s.delete(e.from,e.to);return n?.(s),!0}}const Fn=Pn(-1),In=Pn(1);function Ln(){return new y({key:jn,props:{handleDOMEvents:{beforeinput:(e,t)=>{if(e.composing)return!1;let n=t.inputType===`deleteContentBackward`?Fn:t.inputType===`deleteContentForward`?In:void 0;return n==null||!n(e.state,e.dispatch)?!1:(t.preventDefault(),!0)}}}})}function Rn(){return g(m(Mn()),m(Ln()),_(l({Enter:Nn,Backspace:Fn,Delete:In}),t.highest))}function zn(){return f({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function Bn(){return g(Re(),zn())}function Vn(){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 Hn(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function Un(e,t){let[n,r,i]=t;return[n,r,i.map(t=>Pe.fromJSON(e,t))]}var R=class e extends We{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return Ge.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 Ke(e),n.removeMark(i,c,t));for(let t of a)t.isInSet(l)||(n??=new Ke(e),n.addMark(i,c,t));return!1})}return Ge.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return Wn;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 Ue(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(Hn)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>Un(t,e)))}};We.jsonID(`batchSetMark`,R);const Wn=new R([]),Gn=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),Kn=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function qn(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function Jn(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!Gn.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!Kn.test(e))return!1;return!0}function z(e){return e===32||e===9||e===10||e===13}const Yn=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,Xn=/[\s(*_~]/;function Zn(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function Qn(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function $n(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&Qn(e,t,`)`)>Qn(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 er={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!Zn(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!Xn.test(r))return-1;let i=Yn.exec(e.slice(n,e.end));if(!i)return-1;let a=$n(i[0]);return a===0||!Jn(qn(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function tr(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 nr(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const rr={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(!tr(t))break;i||=nr(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},ir={resolve:`Highlight`,mark:`HighlightMark`},ar=/[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~\u{A1}\u{2010}-\u{2027}]/u,or={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=ar.test(r),c=ar.test(i);return e.addDelimiter(ir,n,n+2,!o&&(!c||a||s),!a&&(!s||o||c))}}]},sr={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 cr(e){return e.end}const lr=Je.configure([qe,rr,sr,er,or]),ur=lr.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:cr}]});function B(e){return lr.parseInline(e,0)}function V(e,t,n=[]){for(let r of e)t(r)&&n.push(r),V(r.children,t,n);return n}function dr(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const H=dr(lr),fr=/^<!--\s*(\{[^}]*\})\s*-->$/,pr=/<!--\s*\{[^}]*\}\s*-->$/;function mr(e){let t=fr.exec(e.trim());if(!t)return;let n;try{n=JSON.parse(t[1])}catch{return}if(typeof n!=`object`||!n)return;let r=hr(n);return Object.keys(r).length>0?r:void 0}function hr(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 gr(e){return`<!-- ${JSON.stringify(e)} -->`}function _r(e){return e.replace(pr,``)}function vr(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 yr(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 br(){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 xr(){return d({name:`mdWikilink`,constructor:br()})}const Sr=new Map([[H.Emphasis,`mdEm`],[H.StrongEmphasis,`mdStrong`],[H.InlineCode,`mdCode`],[H.Strikethrough,`mdDel`],[H.Highlight,`mdHighlight`],[H.EmphasisMark,`mdMark`],[H.CodeMark,`mdMark`],[H.LinkMark,`mdMark`],[H.StrikethroughMark,`mdMark`],[H.HighlightMark,`mdMark`],[H.URL,`mdLinkUri`],[H.LinkTitle,`mdLinkTitle`],[H.Hashtag,`mdTag`],[H.WikilinkMark,`mdMark`]]);function Cr(e,t,n){let r=B(t),i=[];return Er(r,[],0,t.length,t,e,i,n),i}function wr(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)||Jn(qn(e)))return`https://${e}`}function Tr(e){return e.slice(1,-1).replaceAll(/\\(.)/g,`$1`)}function Er(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&&U(o,c,r.from,t);let l=r.type;if(l===H.Link){let e=kr(r,t,i,a,s);e?U(o,r.from,r.to,e):Ar(r,t,i,a,o)}else if(l===H.Image){let s=jr(r,e[n+1],i);Mr(r,t,i,a,o,s),s&&n++,c=s?s.to:r.to;continue}else if(l===H.Wikilink)Nr(r,t,i,a,o);else if(l===H.URL){let e=wr(i.slice(r.from,r.to)),n=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();U(o,r.from,r.to,[...t,n])}else{let e;l===H.Emphasis?e=`italic`:l===H.StrongEmphasis?e=`bold`:l===H.InlineCode?e=`code`:l===H.Strikethrough?e=`strike`:l===H.Highlight?e=`highlight`:l===H.Autolink&&(e=`autolink`);let n=e?[...t,a.mdPack.create({key:e})]:t,c=Sr.get(l),u=c?[...n,a[c].create()]:n;r.children.length===0?U(o,r.from,r.to,u):Er(r.children,u,r.from,r.to,i,a,o,s)}c=r.to}c<r&&U(o,c,r,t)}function Dr(e){let t=-1,n=-1,r=null,i=null,a=0;for(let o of e.children)o.type===H.LinkMark?(a++,a===1&&(t=o.to),a===2&&(n=o.from)):o.type===H.URL&&r===null?r=o:o.type===H.LinkTitle&&i===null&&(i=o);return{labelFrom:t,labelTo:n,urlNode:r,titleNode:i}}function Or(e){let t=e.split(/[?#]/,1)[0],n=t.split(/[/\\]/).findLast(Boolean)??t;try{return decodeURIComponent(n)}catch{return n}}function kr(e,t,n,r,i){let a=i?.resolveFileLink;if(!a)return;let{labelFrom:o,labelTo:s,urlNode:c,titleNode:l}=Dr(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?Tr(n.slice(l.from,l.to)):``;if(!a({href:u,label:d,title:f}))return;let p=d||Or(u);return[...t,r.mdFile.create({href:u,name:p,title:f})]}function Ar(e,t,n,r,i){let{labelTo:a,urlNode:o,titleNode:s}=Dr(e),c=o?n.slice(o.from,o.to):``,l=s?Tr(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;U(i,m,t.from,e)}let e=d(t.from)?[...p,u]:p;if(t.type===H.Wikilink){Nr(t,e,n,r,i),m=t.to;continue}let a=Sr.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?U(i,t.from,t.to,o):Er(t.children,o,t.from,t.to,n,r,i,void 0),m=t.to}m<e.to&&U(i,m,e.to,p)}function jr(e,t,n){if(!t||t.type!==H.Comment||t.from!==e.to)return;let r=mr(n.slice(t.from,t.to));if(r)return{magic:r,to:t.to}}function Mr(e,t,n,r,i,a){let o=e.children.find(e=>e.type===H.URL);if(!o){Ar(e,t,n,r,i);return}let s=e.children.filter(e=>e.type===H.LinkMark),c=e.children.find(e=>e.type===H.LinkTitle),l=n.slice(o.from,o.to),u=s.length>=2?n.slice(s[0].to,s[1].from):``,d=c?Tr(n.slice(c.from,c.to)):``,f=a?.magic.width??null,p=a?.magic.height??null,m=a?.to??e.to;U(i,e.from,m,[...t,r.mdImage.create({src:l,alt:u,title:d,width:f,height:p})])}function Nr(e,t,n,r,i){let{target:a,display:o}=yr(n.slice(e.from,e.to));U(i,e.from,e.to,[...t,r.mdWikilink.create({target:a,display:o})])}function U(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&vr(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const Pr=`inline-marks-applied`;let Fr=0,Ir=0;function Lr(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 Rr(e){let t=new WeakMap;function n(n,r,i){let a=t.get(n);if(a?Ir++:(Fr++,a=Cr(Za(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 y({key:new b(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(Pr))return null;let i=r(n,Lr(e,n));if(i.length===0)return null;let a=n.tr.step(new R(i));return a.setMeta(Pr,!0),a.setMeta(`addToHistory`,!1),a},view(e){return e.dispatch(zr(e.state)),{}}})}function zr(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function Br(e){return m(Rr(e))}function Vr(){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 Hr(){return u({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function Ur(){return u({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function Wr(){return u({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function Gr(){return u({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function Kr(){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 qr(){return u({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function Jr(){return u({name:`mdLinkTitle`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-title`},0],parseDOM:[{tag:`span.md-link-title`}]})}function Yr(){return u({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function Xr(){return u({name:`mdHighlight`,toDOM:()=>[`mark`,0],parseDOM:[{tag:`mark`}]})}function Zr(){return u({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function Qr(){return u({name:`mdWikilink`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink`},0],parseDOM:[{tag:`span.md-wikilink`}]})}function $r(){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 ei(){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 ti(){return g(Hr(),Ur(),Wr(),Gr(),Kr(),qr(),Jr(),Yr(),Xr(),Zr(),Qr(),Vr(),$r(),ei())}function ni(e,t,n=0){let r=n,i=0;for(let n=0;n<e.length;n++)e.charCodeAt(n)===t?(i++,i>r&&(r=i)):i=0;return r}function ri(e,t=0){return ni(e,96,t)}const W={em:{node:H.Emphasis,delim:`*`},strong:{node:H.StrongEmphasis,delim:`**`},code:{node:H.InlineCode,delim:"`"},del:{node:H.Strikethrough,delim:`~~`},highlight:{node:H.Highlight,delim:`==`}},ii=new Set([H.EmphasisMark,H.CodeMark,H.LinkMark,H.StrikethroughMark,H.HighlightMark]);function ai(e){return[e.children[0],e.children.at(-1)]}function oi(e){let{type:t,children:n}=e;if(t===H.Emphasis||t===H.StrongEmphasis||t===H.Strikethrough||t===H.Highlight)return[n[0].to,n.at(-1).from];if(t===H.Link||t===H.Image){let e=n.find((e,t)=>t>0&&e.type===H.LinkMark);return e?[n[0].to,e.from]:null}return null}function si(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=oi(r);return i&&i[0]<=t&&n<=i[1]?si(r.children,t,n):si(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function ci(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return ci(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}function li(e,t,n){for(;t<n&&z(e.charCodeAt(t));)t++;for(;n>t&&z(e.charCodeAt(n-1));)n--;return[t,n]}function ui(e,t,n,r){let i=V(B(e),e=>e.type===r.node||ii.has(e.type));for(let r=t;r<n;r++)if(!z(e.charCodeAt(r))&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function di(e,t,n,r,i){let a=B(e),o=V(a,e=>e.type===r.node);return i?mi(e,o,t,n):fi(e,a,o,t,n,r)}function fi(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=si(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]=ai(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=pi(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function pi(e,t,n,r,i){if(i.node!==H.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(ri(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function mi(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=ai(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=ci(a.children.slice(1,-1),s,c);s>t.to&&z(e.charCodeAt(s-1));)s--;for(;c<o.from&&z(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 hi(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=B(e),o=V(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=ai(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return gi(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function gi(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=oi(n);return!e||t<e[0]||t>e[1]?!0:gi(n.children,t)}return!1}function G(e){return(t,n)=>{if(t.selection.empty)return _i(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]=li(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:ui(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>di(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(x.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 _i(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=hi(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(x.create(o.doc,i+a.pos)),a.kind===`insert`&&(o.insertText(e.delim+e.delim,i+a.pos),o.setSelection(x.create(o.doc,i+a.pos+e.delim.length))),n(o.scrollIntoView())}return!0}function vi(){return o({toggleEm:()=>G(W.em),toggleStrong:()=>G(W.strong),toggleCode:()=>G(W.code),toggleDel:()=>G(W.del),toggleHighlight:()=>G(W.highlight)})}function yi(){return l({"Mod-b":G(W.strong),"Mod-i":G(W.em),"Mod-e":G(W.code),"Mod-Shift-x":G(W.del),"Mod-Shift-h":G(W.highlight)})}function bi(){return g(vi(),yi())}function xi(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=D(e,t,`mdLinkText`),r=D(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=xi(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 Si(e){let t=e.trim();return t?wr(t)??t:``}function Ci(e,t){return e+(t?` "${t.replaceAll(/(["\\])/g,String.raw`\$1`)}"`:``)}function wi(e){let{selection:t}=e,{$from:n,$to:r,empty:i}=t;if(i||!n.sameParent(r)||!h(t))return;let a=n.parent;if(!a.isTextblock||a.type.spec.code)return;let o=n.start(),[s,c]=li(a.textContent,n.parentOffset,r.parentOffset);if(!(s>=c))return{from:o+s,to:o+c}}function Ti(e={}){return(t,n)=>{let r=Ci(Si(e.href??``),e.title??``),i=wi(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(x.create(o.doc,e,a+1+s.length)).scrollIntoView())}return!0}}function Ei(e){return(t,n)=>{let r=K(t,t.selection.from);if(!r?.dest)return!1;let i=Ci(Si(e.href??r.href),e.title??r.title);return n&&n(t.tr.insertText(i,r.dest.from,r.dest.to).scrollIntoView()),!0}}function Di(){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 Oi(){return o({insertLink:Ti,updateLink:Ei,removeLink:Di})}function ki(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(x.create(t.doc,a,o)).scrollIntoView()),r.focus(),e({from:a,to:o,link:i})}return!0}let a=wi(t);if(a){if(n&&r){let{from:i,to:o}=a;n(t.tr.setSelection(x.create(t.doc,i,o)).scrollIntoView()),r.focus(),e({from:i,to:o,link:void 0})}return!0}return!1}}function Ai(e){return l({"Mod-k":ki(e)})}function ji(){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 Mi(){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 Ni(e){return e===2||e===3||e===4}function Pi(){return f({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>Ni(e)?[`data-list-marker-gap`,String(e)]:null,parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return Ni(t)?t:1}})}const Fi=[E(/^\s?([*-])\s$/,{kind:`bullet`,collapsed:!1}),E(/^\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}}),E(/^\s?\[([\sXx]?)]\s$/,({match:e})=>({kind:`task`,checked:[`x`,`X`].includes(e[1]),collapsed:!1})),E(/^\s?\+\s$/,{kind:`task`,marker:`+`,checked:!1,collapsed:!1})];function Ii(){return g(Fi.map(Ae))}function Li(){return T({kind:`task`,marker:`+`})}function Ri(){return T({kind:`task`,marker:null})}function zi(){return o({wrapInCircleTask:Li,wrapInSquareTask:Ri})}function Bi(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 Vi(){return(e,t,n)=>{let r=Bi(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},T(a)(e,t,n)}}function Hi(){return(e,t,n)=>{let r=Bi(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},T(a)(e,t,n)}}function Ui(e){return e.type.name===`list`&&e.attrs.kind===`bullet`&&e.childCount>=2&&e.firstChild?.type!==e.type}const Wi=e=>{let t=e.attrs;return t.kind===`task`?{...t,checked:!t.checked}:Ui(e)?{...t,collapsed:!t.collapsed}:t};function Gi(){return m(()=>[new y({props:{handleDOMEvents:{mousedown:(e,t)=>at({view:e,event:t,onListClick:Wi})}}}),nt(),new y({props:{transformCopied:ot}}),rt()])}function Ki(){return o({toggleListCollapsed:()=>it({isToggleable:Ui})})}function qi(){return l({"Mod-Enter":Vi(),"Mod-Shift-Enter":Hi(),"Mod-.":it({isToggleable:Ui}),"Mod-Shift-7":tt({kind:`ordered`,collapsed:!1}),"Mod-Shift-8":tt({kind:`bullet`,collapsed:!1}),"Mod-Shift-9":tt({kind:`task`,checked:!1,collapsed:!1})})}function Ji(){return g($e(),Gi(),Ze(),Ye(),Qe(),Xe(),Ii(),qi(),ji(),Mi(),Pi(),zi(),Ki())}function Yi(e){return e===`left`||e===`center`||e===`right`?e:null}function Xi(){return f({type:`tableCell`,attr:`align`,default:null,toDOM:e=>e?[`data-align`,e]:null,parseDOM:e=>Yi(e.getAttribute(`data-align`))})}function Zi(){return f({type:`tableHeaderCell`,attr:`align`,default:null,toDOM:e=>e?[`data-align`,e]:null,parseDOM:e=>Yi(e.getAttribute(`data-align`))})}function Qi(e){for(let t=0;t<e.childCount;t++){let n=e.child(t);for(let e=0;e<n.childCount;e++)if(n.child(e).type.name===`tableHeaderCell`)return t}return 0}function $i(e){return e.child(Qi(e))}function ea(e,t){return t>=e.childCount?null:e.child(t).attrs.align??null}function ta(e,t,n){if(e.childCount===0)return;let r=$i(e),i=t+1;for(let t=0;t<e.childCount;t++){let a=e.child(t),o=i+1;for(let e=0;e<a.childCount;e++){let t=a.child(e),i=ea(r,e);(t.attrs.align??null)!==i&&n.setNodeMarkup(o,void 0,{...t.attrs,align:i}),o+=t.nodeSize}i+=a.nodeSize}}function na(e){let t,n;for(let r of e){if(!r.docChanged)continue;t!=null&&n!=null&&(t=r.mapping.map(t,-1),n=r.mapping.map(n,1));let e=r.mapping;for(let[r,i]of e.maps.entries()){let a=e.slice(r+1);i.forEach((e,r,i,o)=>{let s=a.map(i,-1),c=a.map(o,1);t=t==null?s:Math.min(t,s),n=n==null?c:Math.max(n,c)})}}if(!(t==null||n==null))return{from:t,to:n}}function ra(){return new y({key:new b(`table-align-sync`),appendTransaction(e,t,n){if(!e.some(e=>e.docChanged))return;let r=na(e);if(!r)return;let i=n.doc,a=Math.max(0,Math.min(r.from,i.content.size)),o=Math.max(a,Math.min(r.to,i.content.size)),s;return i.nodesBetween(a,o,(e,t)=>e.type.name===`table`?(s??=n.tr,ta(e,t,s),!1):!0),s?.docChanged?s:void 0}})}function ia(){return m(ra())}function aa(e){let{selection:t}=e;if(ht(t)){let{$anchorCell:e,$headCell:n}=t,r=e.depth-1,i=e.index(),a=n.index();return{table:e.node(r),tablePos:e.before(r),firstColumn:Math.min(i,a),lastColumn:Math.max(i,a)}}let{$from:n}=t;for(let e=n.depth;e>2;e--){let t=n.node(e).type.name;if(t===`tableCell`||t===`tableHeaderCell`){let t=n.index(e-1);return{table:n.node(e-2),tablePos:n.before(e-2),firstColumn:t,lastColumn:t}}}}function oa(e){return(t,n)=>{let r=aa(t);if(!r||r.table.childCount===0)return!1;if(n){let{table:i,tablePos:a,firstColumn:o,lastColumn:s}=r,c=Qi(i),l=a+1;for(let e=0;e<c;e++)l+=i.child(e).nodeSize;let u=i.child(c),d=t.tr,f=l+1;for(let t=0;t<u.childCount;t++){let n=u.child(t);t>=o&&t<=s&&(n.attrs.align??null)!==e&&d.setNodeMarkup(f,void 0,{...n.attrs,align:e}),f+=n.nodeSize}n(d)}return!0}}function sa(e){let t=aa(e);if(!(!t||t.table.childCount===0))return ea($i(t.table),t.lastColumn)??void 0}function ca(){return o({setTableColumnAlign:oa})}function la(){return g(Xi(),Zi(),ia(),ca())}function ua(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 da=`paragraph`;function fa(){return g(p({name:`tableCell`,content:da}),p({name:`tableHeaderCell`,content:da}))}const pa=(e,t)=>{let{selection:n}=e;return!ht(n)||!n.isColSelection()||!n.isRowSelection()?!1:mt(e,t)};function ma(){return _(l({Backspace:pa,Delete:pa}),t.high)}function ha(){return g(pt(),ft(),st(),dt(),fa(),la(),ut({allowTableNodeSelection:!0}),ct(),lt(),ma())}function ga(e){let{selection:t}=e,{$from:n,$to:r}=t;if(oe(t)&&n.depth===0||n.depth>0&&r.depth>0&&n.index(0)===r.index(0))return n.index(0)}function _a(e){return(t,n)=>{if(ua(t))return!1;let r=ga(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=oe(a)?be.create(u.doc,a.from+d):x.create(u.doc,a.anchor+d,a.head+d);u.setSelection(f),n(u.scrollIntoView())}return!0}}function va(e){return(t,n,r)=>et(e)(t,n,r)||_a(e===`up`?-1:1)(t,n,r)}function ya(){return l({"Alt-ArrowUp":va(`up`),"Alt-ArrowDown":va(`down`)})}function ba(){return p({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function xa(){return g(_(ba(),t.highest),gt(),_t())}const q=new b(`meowdownPendingReplacement`);function J(e){return q.getState(e)?.pending??null}function Sa(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 Ca=new y({key:q,state:{init:()=>({pending:null}),apply:(e,t)=>{let n=e.getMeta(q);if(n)return Sa(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:C.create(e.doc,[S.inline(t.from,t.to,{class:`md-pending-replacement`})])}}});function wa(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 Ta(e){return(t,n)=>J(t)?(n?.(t.tr.setMeta(q,{type:`append`,text:e})),!0):!1}function Ea(){return(e,t)=>J(e)?(t?.(e.tr.setMeta(q,{type:`discard`})),!0):!1}function Da(e={}){return(t,n)=>{let r=J(t);if(!r||!r.text.trim())return!1;if(n){let i=e.mode??r.mode,a=$a(t.schema),o=X(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(x.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(x.near(s.doc.resolve(r.from+i.content.size),-1))):(s.replaceRange(r.from,r.to,new w(o.content,0,0)),s.setSelection(x.near(s.doc.resolve(s.mapping.map(r.to)),-1)))}n(s.scrollIntoView())}return!0}}function Oa(){return o({startPendingReplacement:wa,appendPendingReplacementText:Ta,acceptPendingReplacement:Da,discardPendingReplacement:Ea})}function ka(){return l({"Mod-Enter":Da(),Escape:Ea()})}function Aa(){return g(m(Ca),Oa(),ka())}function ja(e){return m(new y({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 Ma(e){return e.left===0&&e.top===0&&e.right===0&&e.bottom===0}function Y(e,t,n){if(t<0||t>e.state.doc.content.size)return;let r;try{r=e.coordsAtPos(t,n)}catch{return}return Ma(r)?void 0:r}function Na(e){e.offsetWidth}const Pa=new b(`meowdown-virtual-caret`),Fa=[`md-virtual-caret-blink`,`md-virtual-caret-blink2`];function Ia(e){let t=e.dom.ownerDocument.getSelection();if(t==null||t.rangeCount===0||!e.dom.contains(t.anchorNode))return;let n=t.getRangeAt(0).cloneRange();n.collapse(!0);let r=Array.from(n.getClientRects()).filter(e=>e.height>0);if(r.length===0)return;let i=r[r.length-1];return{left:i.left,top:i.top,height:i.height}}function La(e){let t=e.state,n=t.selection.head,r=I(t,n),i=L(t,n),a=r==null,o=[[n,a],[n,!a]];r!=null&&o.push([r.from,!0]),i!=null&&o.push([i.to,!1]);for(let[t,n]of o){let r=Y(e,t,n?-1:1);if(r!=null&&r.bottom>r.top)return{left:r.left,top:r.top,height:r.bottom-r.top}}}function Ra(e){let t=e.state,n=t.selection.head;for(let r of Nt){let i=D(t,n,r);if(i==null||i.from!==n&&i.to!==n)continue;let a=za(e,i.from+1);if(a==null)continue;let o=a.getBoundingClientRect();if(o.height!==0)return{left:i.to===n?o.right:o.left,top:o.top,height:o.height}}}function za(e,t){let{node:n}=e.domAtPos(t,0);return(n instanceof Element?n:n.parentElement)?.closest(`.md-atom-view`)?.querySelector(`.md-atom-view-preview`)??void 0}function Ba(e){let t=e.height*.19999999999999996;return{left:e.left,top:e.top-t/2,height:e.height+t}}function Va(e){let t=Ia(e)??La(e);return t==null?Ra(e):Ba(t)}function Ha(e,t){return e==null||t==null?e===t:e.left===t.left&&e.top===t.top&&e.height===t.height}var Ua=class{#e;#t;#n;#r;#i;#a;#o;#s=0;constructor(e){this.#e=e,this.#r=e.dom.ownerDocument,this.#t=this.#r.createElement(`div`),this.#t.className=`md-virtual-caret-layer`,this.#n=this.#t.appendChild(this.#r.createElement(`div`)),this.#n.className=`md-virtual-caret`,this.#n.dataset.testid=`virtual-caret`,e.dom.insertAdjacentElement(`afterend`,this.#t),this.#r.addEventListener(`selectionchange`,this.#l),typeof ResizeObserver<`u`&&(this.#i=new ResizeObserver(this.#l),this.#i.observe(e.dom)),this.#l()}update(e,t){e.state.selection.eq(t.selection)||this.#c(),this.#l()}destroy(){this.#r.removeEventListener(`selectionchange`,this.#l),this.#i?.disconnect(),this.#t.remove()}#c(){this.#s=1-this.#s,this.#n.style.animationName=Fa[this.#s]}#l=()=>{let e=this.#e;if(e.isDestroyed)return;let t=e.state,n=t.selection,r=h(n)&&n.empty?Va(e):void 0,i=r!=null&&k(t)===`hide`?On(t,n.head):void 0;if(Ha(r,this.#a)&&i===this.#o)return;let a=this.#a==null;if(this.#a=r,this.#o=i,i==null?delete this.#n.dataset.tail:this.#n.dataset.tail=i,r==null){this.#n.style.visibility=`hidden`;return}let o=this.#t.getBoundingClientRect();a&&(this.#n.style.transitionProperty=`none`),this.#n.style.visibility=``,this.#n.style.left=`${r.left-o.left}px`,this.#n.style.top=`${r.top-o.top}px`,this.#n.style.height=`${r.height}px`,a&&(Na(this.#n),this.#n.style.transitionProperty=``)}};function Wa(){return m(new y({key:Pa,view:e=>new Ua(e)}))}function Ga(e){return g(xa(),he(),fn(),ve(),me(),Ji(),vn(),ha(),rn(),Bn(),Vn(),ti(),Yt(),dn(),ya(),Br(e),bi(),Oi(),xr(),At(e.markMode??`focus`),Wa(),Rn(),Wt({marks:Nt.map(e=>({name:e,modes:[`hide`,`focus`,`show`]}))}),a(),i(),c(),ge(),ye(),_e(),ln(),Aa())}function Ka(e={}){return Ga(e)}const qa=v(()=>{let e=Ka().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),Ja=v(()=>r(qa())),Ya=v(()=>n(qa())),Xa=`meowdown_mark_builders`;function Za(e){let t=e.cached[Xa];if(t)return t;let r=n(e);return e.cached[Xa]=r,r}const Qa=`meowdown_node_builders`;function $a(e){let t=e.cached[Qa];if(t)return t;let n=r(e);return e.cached[Qa]=n,n}function X(e,t={}){let{nodes:n=Ja(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=to(e);i=t,n&&(a=e.slice(n))}let o=no(n,ur.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const eo=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function to(e){let t=eo.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function no(e,t,n){let r=[];if(!t.firstChild())return r;do r.push(...ro(e,t,n));while(t.nextSibling());return t.parent(),r}function ro(e,t,n){switch(t.type.id){case H.ATXHeading1:return[Z(e,t,n,1,!1)];case H.ATXHeading2:return[Z(e,t,n,2,!1)];case H.ATXHeading3:return[Z(e,t,n,3,!1)];case H.ATXHeading4:return[Z(e,t,n,4,!1)];case H.ATXHeading5:return[Z(e,t,n,5,!1)];case H.ATXHeading6:return[Z(e,t,n,6,!1)];case H.SetextHeading1:return[Z(e,t,n,1,!0)];case H.SetextHeading2:return[Z(e,t,n,2,!0)];case H.Paragraph:return[$(e,t,n)];case H.CommentBlock:return[lo(e,t,n)];case H.HTMLBlock:case H.ProcessingInstructionBlock:return[$(e,t,n)];case H.Blockquote:return[uo(e,t,n)];case H.BulletList:return fo(e,t,n,`bullet`);case H.OrderedList:return fo(e,t,n,`ordered`);case H.FencedCode:case H.CodeBlock:return[mo(e,t,n)];case H.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case H.Table:return[ho(e,t,n)];case H.Task:return[$(e,t,n)];default:return n.slice(t.from,t.to).trim()===``?[]:(console.warn(`[meowdown] unsupported lezer block "${t.type.name}"`),[$(e,t,n)])}}function Z(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===H.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===H.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=so(n.slice(o,s),Q(n,o)).trim(),d=i?io(n,c,l)||1:null,f=!i&&c>=0&&ao(n,c,l)||null;return e.heading({level:r,setextUnderline:d,closingHashes:f},u)}function io(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 ao(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 Q(e,t){let n=e.lastIndexOf(`
|
|
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 oo(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 so(e,t){return t===0||!e.includes(`
|
|
4
4
|
`)?e:e.split(`
|
|
5
|
-
`).map((e,n)=>n===0?e:
|
|
6
|
-
`)}function
|
|
5
|
+
`).map((e,n)=>n===0?e:oo(e,t)).join(`
|
|
6
|
+
`)}function co(e,t,n){return e.paragraph(so(t,n))}function $(e,t,n){let r=t.from,i=t.to,a=Q(n,r);if(t.firstChild()){let o=``,s=r;do t.type.id===H.QuoteMark&&(o+=n.slice(s,t.from),s=t.to,z(n.charCodeAt(s))&&(s+=1));while(t.nextSibling());return t.parent(),o+=n.slice(s,i),co(e,o,a)}return co(e,n.slice(r,i),a)}function lo(e,t,n){let r=Q(n,t.from),i=so(n.slice(t.from,t.to),r);return e.htmlComment({content:i})}function uo(e,t,n){let r=[];if(t.firstChild()){do{if(t.type.id===H.QuoteMark)continue;r.push(...ro(e,t,n))}while(t.nextSibling());t.parent()}return e.blockquote(r)}function fo(e,t,n,r){let i=[];if(t.firstChild()){do t.type.id===H.ListItem&&i.push(po(e,t,n,r));while(t.nextSibling());t.parent()}return i}function po(e,t,n,r){let i=[],a,o,s,c,l,u;if(t.firstChild()){do{if(t.type.id!==H.ListMark&&u==null&&(u=Q(n,t.from)),t.type.id===H.ListMark){if(r===`ordered`){let e=n.charCodeAt(t.to-1);e===41?c=`)`:e===46&&(c=`.`);let r=Number.parseInt(n.slice(t.from,t.to),10);s=Number.isFinite(r)?r:1}else{let e=n.charCodeAt(t.from);c=e===42?`*`:e===43?`+`:`-`}l=Q(n,t.to);continue}if(r===`bullet`&&t.type.id===H.Task){let r=t.from,s=t.to;if(a=!1,t.firstChild()){if(t.type.id===H.TaskMarker){let e=n.charCodeAt(t.from+1);e===120?(a=!0,o=`x`):e===88&&(a=!0,o=`X`),r=t.to}t.parent()}z(n.charCodeAt(r))&&(r+=1);let c=n.slice(r,s);i.push(co(e,c,Q(n,r)));continue}i.push(...ro(e,t,n))}while(t.nextSibling());t.parent()}let d=u!=null&&l!=null?u-l:1,f=a!=null,p=!f&&r===`bullet`&&c===`+`;return e.list({kind:f?`task`:r,order:r===`ordered`?s??1:null,checked:a??!1,collapsed:p,marker:p?null:c,taskMarker:o,markerGap:d>=2&&d<=4?d:1},i)}function mo(e,t,n){let r=t.type.id===H.CodeBlock,i=``,a=``,o=r?`indented`:null,s=null,c=!1;if(t.firstChild()){do switch(t.type.id){case H.CodeMark:{if(c)break;c=!0,n.charCodeAt(t.from)===126&&(o=`tilde`);let e=t.to-t.from;e>3&&(s=e);break}case H.CodeInfo:i=n.slice(t.from,t.to);break;case H.CodeText:a+=n.slice(t.from,t.to);break}while(t.nextSibling());t.parent()}return e.codeBlock({language:i,fenceStyle:o,fenceLength:s},a)}function ho(e,t,n){let r=[];if(t.firstChild()){do t.type.id===H.TableDelimiter&&(r=go(n.slice(t.from,t.to)));while(t.nextSibling());t.parent()}let i=[];if(t.firstChild()){do{let a=t.type.id;a===H.TableHeader?i.push(_o(e,t,n,!0,r)):a===H.TableRow&&i.push(_o(e,t,n,!1,r))}while(t.nextSibling());t.parent()}return e.table(i)}function go(e){return e.split(`|`).map(e=>e.trim()).filter(e=>e!==``).map(e=>{let t=e.startsWith(`:`),n=e.endsWith(`:`);return t&&n?`center`:t?`left`:n?`right`:null})}function _o(e,t,n,r,i){let a=i.length,o=Array(a).fill(``);if(t.firstChild()){let e=t.type.id===H.TableDelimiter,r=0;do if(t.type.id===H.TableDelimiter)r++;else if(t.type.id===H.TableCell){let i=r-+!!e;i>=0&&i<a&&(o[i]=n.slice(t.from,t.to).trim().replaceAll(String.raw`\|`,`|`))}while(t.nextSibling());t.parent()}let s=o.map((t,n)=>{let a=e.paragraph(t),o={align:i[n]};return r?e.tableHeaderCell(o,a):e.tableCell(o,a)});return e.tableRow(s)}function vo(e,t={}){let n=new So;return t.frontmatter&&yo(e.attrs.frontmatter,n),Co(e,n),n.finish()}function yo(e,t){e!==null&&(t.write(`---`),t.write(`
|
|
7
7
|
`),e!==``&&(t.write(e),t.write(`
|
|
8
|
-
`)),t.write(`---`),t.closeBlock())}const
|
|
9
|
-
`+i.repeat(Math.max(1,r))),t.closeBlock();return}t.write(
|
|
8
|
+
`)),t.write(`---`),t.closeBlock())}const bo=[``,`# `,`## `,`### `,`#### `,`##### `,`###### `];function xo(e,t){let n=e.attrs,r=n.setextUnderline;if(r!=null&&e.content.size>0&&n.level<=2){Do(e,t);let i=n.level===1?`=`:`-`;t.write(`
|
|
9
|
+
`+i.repeat(Math.max(1,r))),t.closeBlock();return}t.write(bo[n.level]??`# `),Do(e,t);let i=n.closingHashes;i!=null&&i>0&&t.write(` `+`#`.repeat(i)),t.closeBlock()}var So=class{constructor(){this.parts=[],this.linePrefix=``,this.pendingFirst=null,this.atLineStart=!0,this.deferredBlankPrefix=null}write(e){if(e===``)return;if(this.emitDeferredBlankLine(),this.atLineStart&&=(this.parts.push(this.pendingFirst??this.linePrefix),this.pendingFirst=null,!1),!e.includes(`
|
|
10
10
|
`)){this.parts.push(e);return}let t=e.split(`
|
|
11
11
|
`);for(let e=0;e<t.length;e++)e>0&&this.parts.push(`
|
|
12
12
|
`,this.linePrefix),t[e]!==``&&this.parts.push(t[e])}closeBlock(){this.atLineStart&&this.pendingFirst!==null&&(this.emitDeferredBlankLine(),this.parts.push(this.pendingFirst.trimEnd()),this.pendingFirst=null,this.atLineStart=!1),this.atLineStart||this.parts.push(`
|
|
13
13
|
`),this.atLineStart=!0,this.deferredBlankPrefix=this.linePrefix}suppressBlank(){this.deferredBlankPrefix=null}withPrefix(e,t,n){let r=this.linePrefix,i=this.pendingFirst;if(this.linePrefix=r+e,t!==null){let e=i??r;this.pendingFirst=e+t}n(),this.linePrefix=r,this.pendingFirst=t===null?i:null}finish(){return this.parts.join(``).replace(/\s+$/,``)+`
|
|
14
14
|
`}emitDeferredBlankLine(){let e=this.deferredBlankPrefix;e!==null&&(this.parts.push(e.trimEnd(),`
|
|
15
|
-
`),this.deferredBlankPrefix=null)}};function
|
|
15
|
+
`),this.deferredBlankPrefix=null)}};function Co(e,t){switch(e.type.name){case`doc`:wo(e,t);return;case`paragraph`:Do(e,t),t.closeBlock();return;case`heading`:xo(e,t);return;case`blockquote`:t.withPrefix(`> `,`> `,()=>wo(e,t)),t.closeBlock();return;case`list`:Oo(e,t,Eo(e));return;case`codeBlock`:ko(e,t);return;case`horizontalRule`:{let{marker:n}=e.attrs;t.write(n||`---`),t.closeBlock();return}case`htmlComment`:{let{content:n}=e.attrs;t.write(n),t.closeBlock();return}case`table`:jo(e,t);return;case`text`:e.text&&t.write(e.text);return}}function wo(e,t,n=!1){let r=e.childCount,i=0;for(;i<r;){let a=e.child(i);if(a.type.name!==`list`){n&&i>0&&t.suppressBlank(),Co(a,t),i++;continue}let o=i+1;for(;o<r&&e.child(o).type.name===`list`;)o++;let s=To(e,i,o);for(let r=i;r<o;r++)(r===i?n&&i>0:s)&&t.suppressBlank(),Oo(e.child(r),t,s);i=o}}function To(e,t,n){for(let r=t;r<n;r++)if(!Eo(e.child(r)))return!1;return!0}function Eo(e){let t=e.childCount;for(let n=0;n<t;n++){let t=e.child(n);if(t.type.name!==`list`&&!(t.type.name===`paragraph`&&n===0))return!1}return!0}function Do(e,t){let n=e.childCount;for(let r=0;r<n;r++){let n=e.child(r);n.isText&&n.text&&t.write(n.text)}}function Oo(e,t,n){let{kind:r,marker:i,order:a,taskMarker:o,collapsed:s,markerGap:c,checked:l}=e.attrs,u=r===`task`?i===`+`?`+`:i===`*`?`*`:`-`:s?`+`:i===`*`?`*`:`-`,d=i===`)`?`)`:`.`,f=o===`X`?`X`:`x`,p=Math.min(Math.max(c??1,1),4),m=`${r===`ordered`?`${a??1}${d}`:u}${` `.repeat(p)}`,ee=r===`task`?`${m}[${l?f:` `}] `:m,te=` `.repeat(m.length);t.withPrefix(te,ee,()=>wo(e,t,n)),t.closeBlock()}function ko(e,t){let n=e.attrs,r=n.language||``,i=e.textContent;if(n.fenceStyle===`indented`&&!r){let e=Ao(i);if(e!=null){t.write(e),t.closeBlock();return}}let a=n.fenceStyle===`tilde`,o=ni(i,a?126:96,2)+1,s=(a?`~`:"`").repeat(Math.max(n.fenceLength??0,o));t.write(s),r&&t.write(r),t.write(`
|
|
16
16
|
`),i&&(t.write(i),t.write(`
|
|
17
|
-
`)),t.write(s),t.closeBlock()}function
|
|
17
|
+
`)),t.write(s),t.closeBlock()}function Ao(e){if(e===``)return;let t=e.split(`
|
|
18
18
|
`);if(!(t[0]===``||t[t.length-1]===``)){for(let e=0;e<t.length;e++)t[e]!==``&&(t[e]=` ${t[e]}`);return t.join(`
|
|
19
|
-
`)}}function
|
|
19
|
+
`)}}function jo(e,t){let n=e.childCount;if(n===0)return;let r=[],i=0,a=-1;for(let t=0;t<n;t++){let n=e.child(t),o=[],s=!1;for(let e=0;e<n.childCount;e++){let t=n.child(e);t.type.name===`tableHeaderCell`&&(s=!0),o.push(Po(t))}s&&a<0&&(a=t),o.length>i&&(i=o.length),r.push(o)}if(i===0)return;let o=e.child(a>=0?a:0),s=[];for(let e=0;e<i;e++){let t=e<o.childCount?o.child(e):void 0,n=t?t.attrs.align:void 0;s.push(Mo(n))}let c=`| `+s.join(` | `)+` |`,l=a>=0?r[a]:Array(i).fill(``);t.write(No(l,i)),t.write(`
|
|
20
20
|
`),t.write(c);for(let e=0;e<n;e++)e!==a&&(t.write(`
|
|
21
|
-
`),t.write(
|
|
21
|
+
`),t.write(No(r[e],i)));t.closeBlock()}function Mo(e){switch(e){case`left`:return`:--`;case`center`:return`:-:`;case`right`:return`--:`;default:return`---`}}function No(e,t){let n=`|`;for(let r=0;r<t;r++)n+=` `+(e[r]??``)+` |`;return n}function Po(e){let t=e.textContent.trim();return!t.includes(`|`)&&!t.includes(`
|
|
22
22
|
`)?t:t.replaceAll(`|`,String.raw`\|`).replaceAll(`
|
|
23
|
-
`,` `)}function
|
|
24
|
-
`).filter(e=>!
|
|
25
|
-
`)}function as(e,t){let{from:n,to:r}=e.state.selection;e.dispatch(vt(e.state.tr.insertText(t,n,r)));let i=e.state.tr.insertText(``,n,n+t.length);e.dispatch(vt(i))}function os(){return m(new y({key:ns,props:{handlePaste:(e,t,n)=>{let r=e.state.selection.$from.parent;if(!r.inlineContent||r.type.spec.code)return!1;let i=is(t,n);if(!i)return!1;let a=rs(i);return a?(as(e,a),!0):!1}}}))}const ss=new b(`meowdown-exit-boundary`);function cs(e,t){let{$anchor:n,$head:r}=e.selection,i=t>0?n.max(r):n.min(r),a=i.parent.inlineContent?i.depth?e.doc.resolve(t>0?i.after():i.before()):void 0:i;return!!(a&&xe.findFrom(a,t))}function ls(e,t){let{state:n}=e,{selection:r}=n;return h(r)&&!r.empty||re(r)||r.$from.parent.inlineContent&&!e.endOfTextblock(t<0?`up`:`down`)?!0:cs(n,t)}function us(e){return new y({key:ss,props:{handleKeyDown:(t,n)=>{if(n.shiftKey||n.altKey||n.ctrlKey||n.metaKey)return!1;let r=n.key===`ArrowUp`?-1:n.key===`ArrowDown`?1:void 0;return!(!r||ls(t,r)||e({direction:r<0?`up`:`down`,event:n})===!1)}}})}function ds(e){return _(m(us(e)),t.low)}function fs(e){return!!e.type?.startsWith(`image/`)}function ps(e,t){return fs(e)?``:`[${gs(e.name)}](${t})`}function ms(e,t){return!e||!t.onFilePaste?[]:Array.from(e.files)}const hs=e=>{console.error(`[meowdown] failed to save pasted file:`,e)};function gs(e){return e.replaceAll(/[\\[\]]/g,String.raw`\$&`)}async function _s(e,t,n,r){let{onFilePaste:i}=n;if(!i)return;let a=n.onFileSaveError??hs,o=r,s=!1;for(let n of t){let t;try{t=await i(n)}catch(e){a(e,n);continue}if(!t||e.isDestroyed)continue;let r=ps(n,t),c=s?`\n${r}`:r,l=o==null?e.state.tr.insertText(c):e.state.tr.insertText(c,o);e.dispatch(l),s=!0,o!=null&&(o+=c.length)}}function vs(e){return new y({key:new b(`file-paste`),props:{handlePaste:(t,n)=>{let r=ms(n.clipboardData,e);return r.length===0?!1:(_s(t,r,e),!0)},handleDrop:(t,n)=>{let r=ms(n.dataTransfer,e);return r.length===0?!1:(_s(t,r,e,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function ys(e={}){return _(m(vs(e)),t.high)}const bs=new b(`meowdown-file-click`);function xs(e,t){let n=E(e,t,`mdFile`);if(!n)return;let{href:r,name:i}=n.mark.attrs;return{href:r,name:i}}function Ss(e){return m(new y({key:bs,props:{handleClick:(t,n,r)=>{let i=r.target?.closest?.(`.md-file-view-preview`);if(!i)return!1;let a=i.closest(`.md-file-view`)?.querySelector(`.md-file-view-content`);if(!a)return!1;let o=xs(t.state,t.posAtDOM(a,0));return o?(e({href:o.href,name:o.name,event:r}),!0):!1}}}))}const Cs=[`KB`,`MB`,`GB`,`TB`];function ws(e){let t=e,n=`B`;for(let e of Cs){if(t<999.5)break;t/=1e3,n=e}return n===`B`?`${Math.round(t)} B`:`${t<9.95?Math.round(t*10)/10:Math.round(t)} ${n}`}const Ts=new Map([[`pdf`,`pdf`],[`zip`,`archive`],[`tar`,`archive`],[`gz`,`archive`],[`tgz`,`archive`],[`rar`,`archive`],[`7z`,`archive`],[`doc`,`doc`],[`docx`,`doc`],[`pages`,`doc`],[`xls`,`sheet`],[`xlsx`,`sheet`],[`csv`,`sheet`],[`numbers`,`sheet`],[`ppt`,`slides`],[`pptx`,`slides`],[`key`,`slides`],[`mp3`,`audio`],[`wav`,`audio`],[`m4a`,`audio`],[`flac`,`audio`],[`ogg`,`audio`],[`mp4`,`video`],[`mov`,`video`],[`mkv`,`video`],[`webm`,`video`],[`txt`,`text`],[`md`,`text`]]);function Es(e){let t=e.split(/[?#]/,1)[0],n=t.lastIndexOf(`.`);if(n<0)return`generic`;let r=t.slice(n+1).toLowerCase();return Ts.get(r)??`generic`}const Ds=`http://www.w3.org/2000/svg`;function Os(){let e=document.createElementNS(Ds,`svg`);e.setAttribute(`class`,`md-file-view-icon`),e.setAttribute(`viewBox`,`0 0 24 24`),e.setAttribute(`aria-hidden`,`true`);for(let t of[`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,`M14 2v4a2 2 0 0 0 2 2h4`]){let n=document.createElementNS(Ds,`path`);n.setAttribute(`d`,t),n.setAttribute(`fill`,`none`),n.setAttribute(`stroke`,`currentColor`),n.setAttribute(`stroke-width`,`2`),n.setAttribute(`stroke-linecap`,`round`),n.setAttribute(`stroke-linejoin`,`round`),e.appendChild(n)}return e}var ks=class{#e;#t;#n;#r;#i;#a;#o=!1;constructor(e,t){this.#a=e.attrs,this.#e=document.createElement(`span`),this.#e.className=`md-file-view md-atom-view`,this.#n=document.createElement(`span`),this.#n.className=`md-file-view-preview md-atom-view-preview`,this.#n.contentEditable=`false`,this.#n.dataset.testid=`file-pill`,this.#n.dataset.fileKind=Es(this.#a.href),this.#n.title=this.#a.name,this.#e.appendChild(this.#n),this.#n.appendChild(Os()),this.#r=document.createElement(`span`),this.#r.className=`md-file-view-name`,this.#r.textContent=this.#a.name,this.#n.appendChild(this.#r),this.#i=document.createElement(`span`),this.#i.className=`md-file-view-size`,this.#i.dataset.testid=`file-pill-size`,this.#n.appendChild(this.#i),this.#t=document.createElement(`span`),this.#t.className=`md-file-view-content md-atom-view-content`,this.#e.appendChild(this.#t),this.#s(t.resolveFileInfo)}get dom(){return this.#e}get contentDOM(){return this.#t}update(e){let t=e.attrs,n=this.#a;return t.href===n.href?(this.#a=t,t.name!==n.name&&(this.#r.textContent=t.name,this.#n.title=t.name),!0):!1}ignoreMutation(e){return!this.#t.contains(e.target)}destroy(){this.#o=!0}async#s(e){if(!e)return;let t;try{t=await e(this.#a.href)}catch(e){console.error(`[meowdown] resolveFileInfo failed:`,e);return}if(this.#o||!t)return;let{size:n}=t;n==null||!Number.isFinite(n)||n<0||(this.#i.textContent=ws(n))}};function As(e={}){return d({name:`mdFile`,constructor:t=>new ks(t,e)})}function js(e){return m(new y({key:e.key,props:{handleClick:(t,n,r)=>{if(!r.target?.closest?.(e.selector))return!1;let i=e.findPayloadAt(t.state,n);return i==null?!1:(e.preventDefault&&r.preventDefault(),e.onClick(i,r),!0)}}}))}const Ms=new b(`meowdown-tag-click`);function Ns(e,t){let n=E(e,t,`mdTag`);if(!n)return;let r=e.doc.textBetween(n.from,n.to),i=r.startsWith(`#`)?r.slice(1):r;return{from:n.from,to:n.to,tag:i}}function Ps(e){return js({key:Ms,selector:`.md-tag`,preventDefault:!1,findPayloadAt:(e,t)=>Ns(e,t)?.tag,onClick:(t,n)=>e({tag:t,event:n})})}const Fs=new b(`meowdown-wikilink-click`);function Is(e,t){let n=E(e,t,`mdWikilink`);if(!n)return;let{target:r}=n.mark.attrs;return{from:n.from,to:n.to,target:r}}function Ls(e){return js({key:Fs,selector:`.md-wikilink-view-preview`,preventDefault:!1,findPayloadAt:(e,t)=>Is(e,t)?.target,onClick:(t,n)=>e({target:t,event:n})})}const Rs=new b(`meowdown-follow-link`);function zs(e){return e.key!==`Enter`||e.shiftKey||e.altKey?!1:ie?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}function Bs(e){return new y({key:Rs,props:{handleKeyDown:(t,n)=>{if(!zs(n))return!1;let{state:r}=t,i=r.selection.head,a=e.onWikilinkClick&&Is(r,i);if(a)return e.onWikilinkClick?.({target:a.target,event:n}),!0;let o=e.onTagClick&&Ns(r,i);if(o)return e.onTagClick?.({tag:o.tag,event:n}),!0;let s=e.onFileClick&&xs(r,i);if(s)return e.onFileClick?.({href:s.href,name:s.name,event:n}),!0;let c=e.onLinkClick&&K(r,i);return c?(e.onLinkClick?.({href:c.href,event:n}),!0):!1}}})}function Vs(e){return _(m(Bs(e)),t.high)}const Hs=(e,t)=>{let n={type:`highlight`,children:e.all(t)};return e.patch(t,n),n},Us=(e,t,n,r)=>{let i=e,a=n.createTracker(r),o=a.move(`==`);return o+=a.move(n.containerPhrasing(i,{...a.current(),before:o,after:`=`})),o+=a.move(`==`),o};function Ws(){return Ct().use(yt).use(bt,{handlers:{mark:Hs}}).use(xt).use(St,{bullet:`-`,emphasis:`*`,strong:`*`,fence:"`",fences:!0,rule:`-`,ruleRepetition:3,listItemIndent:`one`,handlers:{highlight:Us}}).freeze()}const Gs=v(Ws);function Ks(e){return String(Gs().processSync(e))}const qs=new b(`meowdown-html-paste`);function Js(){return m(new y({key:qs,props:{transformPastedHTML:(e,t)=>{if(e.includes(`data-pm-slice`))return e;let n=t.state.selection.$from.parent;if(!n.inlineContent||n.type.spec.code)return e;let r=Ks(e);if(!r.trim())return e;let i=X(r,{nodes:Qa(t.state.schema)}),a=Me.fromSchema(t.state.schema),o=document.createElement(`div`);return o.append(a.serializeFragment(i.content)),o.innerHTML}}}))}const Ys=new b(`meowdown-image-click`);function Xs(e,t){let n=E(e,t,`mdImage`);if(!n)return;let{src:r,alt:i}=n.mark.attrs;return{from:n.from,to:n.to,src:r,alt:i}}function Zs(e){return m(new y({key:Ys,props:{handleClick:(t,n,r)=>{let i=r.target?.closest?.(`.md-image-view-preview`);if(!i)return!1;let a=i.closest(`.md-image-view`)?.querySelector(`.md-image-view-content`);if(!a)return!1;let o=Xs(t.state,t.posAtDOM(a,0));return o?(e({src:o.src,alt:o.alt,event:r}),!0):!1}}}))}function Qs(e){return/^https?:\/\//i.test(e)?e:void 0}function $s(e){let t=document.createElement(`iframe`);return t.src=e.src,t.title=e.title,t.className=e.className,t.dataset.testid=e.testid,t.loading=`lazy`,t.referrerPolicy=`strict-origin-when-cross-origin`,t.setAttribute(`frameborder`,`0`),e.allow&&(t.allow=e.allow),e.allowFullscreen&&(t.allowFullscreen=!0),e.kind===`tweet`&&Jo(t),t}function ec(e,t,n,r){if(n!=null&&r!=null){e.setAttribute(`data-width`,String(n)),e.setAttribute(`data-height`,String(r));return}let i=t.naturalWidth/t.naturalHeight;if(!Number.isFinite(i)||i<=0){n!=null&&e.setAttribute(`data-width`,String(n)),r!=null&&e.setAttribute(`data-height`,String(r));return}let a=n==null?Math.min(t.naturalHeight,500):n/i,o=n??a*i;e.setAttribute(`data-width`,String(Math.round(o))),e.setAttribute(`data-height`,String(Math.round(a)))}function tc(e,t,n,r){let i=e.posAtDOM(t,0),a=E(e.state,i,`mdImage`);if(!a)return;let o=e.state.doc.textBetween(a.from,a.to),s=gr(o),c=a.from+s.length,l=o.slice(s.length),u=hr({...pr(l)??{},width:Math.round(n),height:Math.round(r)});u!==l&&e.dispatch(e.state.tr.insertText(u,c,a.to))}var nc=class{#e;#t;#n;#r;#i;#a;#o;constructor(e,t,n){this.#i=e.attrs,this.#n=n,this.#r=t,this.#e=document.createElement(`span`),this.#e.className=`md-image-view md-atom-view`,this.#t=document.createElement(`span`),this.#t.className=`md-image-view-content md-atom-view-content`;let r=this.#s();r&&(r.contentEditable=`false`,this.#e.appendChild(r)),this.#e.appendChild(this.#t)}get dom(){return this.#e}get contentDOM(){return this.#t}update(e){let t=e.attrs,n=this.#i;return t.src===n.src?(this.#i=t,this.#o&&t.alt!==n.alt&&(this.#o.alt=t.alt),this.#a&&this.#o&&(t.width!==n.width||t.height!==n.height)&&ec(this.#a,this.#o,t.width,t.height),!0):!1}ignoreMutation(e){return!this.#t.contains(e.target)}#s(){let{src:e}=this.#i,t=ts(e);if(t){let e=document.createElement(`span`);return e.className=`md-image-view-preview md-atom-view-preview`,e.appendChild($s(t)),e}let n=(this.#n.resolveImageUrl??Qs)(e);if(!n)return;let r=document.createElement(`span`);return r.className=`md-image-view-preview md-atom-view-preview`,r.dataset.testid=`image-preview`,r.appendChild(this.#c(n)),r}#c(e){Tt(),wt();let t=document.createElement(`prosekit-resizable-root`);t.className=`md-image-resizable`,t.dataset.testid=`image-resizable`,t.setAttribute(`data-loading`,``);let n=document.createElement(`img`);n.src=e,n.alt=this.#i.alt,n.draggable=!1,ec(t,n,this.#i.width,this.#i.height),n.addEventListener(`load`,()=>{t.removeAttribute(`data-loading`);let e=n.naturalWidth/n.naturalHeight;!Number.isFinite(e)||e<=0||(t.setAttribute(`data-aspect-ratio`,String(e)),ec(t,n,this.#i.width,this.#i.height))}),n.addEventListener(`error`,()=>{t.removeAttribute(`data-loading`)}),t.appendChild(n);let r=document.createElement(`prosekit-resizable-handle`);return r.className=`md-image-resize-handle`,r.setAttribute(`position`,`bottom-right`),r.addEventListener(`click`,e=>e.stopPropagation()),t.appendChild(r),t.addEventListener(`resizeEnd`,e=>{let{width:t,height:n}=e.detail;tc(this.#r,this.#t,t,n)}),this.#a=t,this.#o=n,t}};function rc(e={}){return d({name:`mdImage`,constructor:(t,n)=>new nc(t,n,e)})}const ic={"Mod-b":`Bold`,"Mod-i":`Italic`,"Mod-e":`Inline code`,"Mod-Shift-x":`Strikethrough`,"Mod-Shift-h":`Highlight`,"Mod-k":`Link`,"Mod-Shift-k":`Insert a wikilink`,"Mod-1":`Heading 1`,"Mod-2":`Heading 2`,"Mod-3":`Heading 3`,"Mod-4":`Heading 4`,"Mod-5":`Heading 5`,"Mod-6":`Heading 6`,"Mod-.":`Fold or unfold a bullet`,"Mod-Enter":`Follow the link under the caret, or cycle a checkbox task`,"Mod-Shift-Enter":`Cycle a circle checkbox task`,"Mod-Shift-7":`Ordered list`,"Mod-Shift-8":`Bullet list`,"Mod-Shift-9":`Checkbox task list`,"Alt-ArrowUp":`Move the block or list item up`,"Alt-ArrowDown":`Move the block or list item down`,Escape:`Collapse the selection`},ac=new b(`meowdown-link-click`);function oc(e){return js({key:ac,selector:`.md-link`,preventDefault:!0,findPayloadAt:(e,t)=>K(e,t)?.href,onClick:(t,n)=>e({href:t,event:n})})}function sc(e){let t,n=(n,r)=>{let i=r.target;if(!i||!pe(i))return;let a=i.closest(e.selector);if(!a||a===t)return;let o=n.posAtDOM(a,0),s=e.findPayloadAt(n.state,o);s!=null&&(t=a,e.onHoverChange({payload:s,element:a}))},r=n=>{if(!t)return;let r=n.relatedTarget;r&&t.contains(r)||(t=void 0,e.onHoverChange(void 0))};return g(s(`mouseover`,(e,t)=>n(e,t)),s(`mouseout`,(e,t)=>r(t)))}function cc(e){return sc({selector:`.md-link`,findPayloadAt:(e,t)=>K(e,t),onHoverChange:e})}const lc=new b(`meowdown-markdown-copy`);function uc(){return m(new y({key:lc,props:{clipboardTextSerializer:(e,t)=>{let n=e.content,r;try{r=t.state.schema.topNodeType.createAndFill(void 0,n)??void 0}catch{r=void 0}return r?_o(r).replace(/\n+$/,``):n.textBetween(0,n.size,`
|
|
23
|
+
`,` `)}function Fo(e){return e.replace(/\n+$/u,``)}function Io(e){return/^[\s>]*$/u.test(e)}function Lo(e){return e.split(`
|
|
24
|
+
`).filter(e=>!Io(e))}function Ro(e){return e.trim().replaceAll(/\s+/gu,` `)}function zo(e,t={}){let n=vo(X(e,{frontmatter:t.frontmatter}),{frontmatter:t.frontmatter});if(Fo(n)===Fo(e))return`exact`;let r=Lo(e),i=Lo(n);return r.length===i.length&&r.every((e,t)=>Ro(e)===Ro(i[t]))?`normalizing`:`lossy`}const Bo=(e,t)=>{let{$from:n,empty:r}=e.selection;if(!r||n.depth!==1||n.index(0)!==0||n.parent.type.name!==`heading`||n.parentOffset!==n.parent.content.size)return!1;if(t){let r=ne(e.schema,`list`),i=ne(e.schema,`paragraph`),a=r.create({kind:`bullet`},i.create()),o=n.after(),s=e.tr.insert(o,a);s.setSelection(x.create(s.doc,o+2)),t(s.scrollIntoView())}return!0};function Vo(){return _(l({Enter:Bo}),t.high)}const Ho=new Set([`MscGen`,`Xù`,`MsGenny`,`Angular Template`,`Brainfuck`,`Esper`,`Oz`,`Factor`,`Squirrel`,`Yacas`,`mIRC`,`FCL`,`ECL`,`MUMPS`,`Pig`,`Asterisk`,`Z80`]),Uo=Ce.map(e=>e.name).filter(e=>!Ho.has(e)).map(e=>({label:e,value:e.toLowerCase()})).concat({label:`Plain text`,value:``}).sort((e,t)=>e.label.localeCompare(t.label));function Wo(){return typeof window>`u`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}const Go=/^(?:www\.|mobile\.)?(?:twitter\.com|x\.com)$/i,Ko=/\/status(?:es)?\/(\d+)/;function qo(e){let t;try{t=new URL(e)}catch{return}if(Go.test(t.hostname))return Ko.exec(t.pathname)?.[1]}const Jo=e=>{let t=qo(e);if(!t)return;let n=Wo()?`dark`:`light`;return{kind:`tweet`,key:`tweet:${t}`,src:`https://platform.twitter.com/embed/Tweet.html?id=${t}&theme=${n}&dnt=true`,title:`Tweet`,className:`md-embed md-embed-tweet`,testid:`tweet-embed`}};function Yo(e){let t=t=>{if(t.source===e.contentWindow)try{let n=t.data?.[`twttr.embed`]?.params?.[0]?.height;typeof n==`number`&&(e.style.height=`${n}px`)}catch(e){console.warn(`[meowdown] failed to parse tweet resize message:`,e)}};window.addEventListener(`message`,t);let n=!1,r=()=>{n||(n=!0,window.removeEventListener(`message`,t),i.disconnect())},i=new MutationObserver(()=>{e.isConnected||r()});return i.observe(document.body,{childList:!0,subtree:!0}),r}const Xo=/^(?:www\.|m\.)?(?:youtube\.com|youtube-nocookie\.com)$/i,Zo=/^(?:www\.)?youtu\.be$/i,Qo=/^[\w-]{11}$/;function $o(e){let t;try{t=new URL(e)}catch{return}let n=null;if(Zo.test(t.hostname))n=t.pathname.slice(1);else if(Xo.test(t.hostname)){let[,e,r]=t.pathname.split(`/`);t.pathname===`/watch`?n=t.searchParams.get(`v`):(e===`shorts`||e===`embed`||e===`live`)&&(n=r??null)}if(!n||!Qo.test(n))return;let r=t.searchParams.get(`start`)??t.searchParams.get(`t`),i=r?es(r):void 0;return{videoId:n,startSeconds:i}}function es(e){if(/^\d+$/.test(e))return Number(e);let t=/^(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s)?$/.exec(e);if(!(!t||!t[1]&&!t[2]&&!t[3]))return Number(t[1]??0)*3600+Number(t[2]??0)*60+Number(t[3]??0)}const ts=[e=>{let t=$o(e);if(!t)return;let n=t.startSeconds?`?start=${t.startSeconds}`:``;return{kind:`youtube`,key:`youtube:${t.videoId}:${t.startSeconds??0}`,src:`https://www.youtube-nocookie.com/embed/${t.videoId}${n}`,title:`YouTube video`,className:`md-embed md-embed-youtube`,testid:`youtube-embed`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen`,allowFullscreen:!0}},Jo];function ns(e){for(let t of ts){let n=t(e);if(n)return n}}const rs=new b(`meowdown-embed-paste`);function is(e){let t=e.trim();if(!(!t||/\s/.test(t)))return ns(t)?t:void 0}function as(e,t){return e.clipboardData?.getData(`text/plain`)||t.content.textBetween(0,t.content.size,`
|
|
25
|
+
`)}function os(e,t){let{from:n,to:r}=e.state.selection;e.dispatch(vt(e.state.tr.insertText(t,n,r)));let i=e.state.tr.insertText(``,n,n+t.length);e.dispatch(vt(i))}function ss(){return m(new y({key:rs,props:{handlePaste:(e,t,n)=>{let r=e.state.selection.$from.parent;if(!r.inlineContent||r.type.spec.code)return!1;let i=as(t,n);if(!i)return!1;let a=is(i);return a?(os(e,a),!0):!1}}}))}const cs=new b(`meowdown-exit-boundary`);function ls(e,t){let{$anchor:n,$head:r}=e.selection,i=t>0?n.max(r):n.min(r),a=i.parent.inlineContent?i.depth?e.doc.resolve(t>0?i.after():i.before()):void 0:i;return!!(a&&xe.findFrom(a,t))}function us(e,t){let{state:n}=e,{selection:r}=n;return h(r)&&!r.empty||re(r)||r.$from.parent.inlineContent&&!e.endOfTextblock(t<0?`up`:`down`)?!0:ls(n,t)}function ds(e){return new y({key:cs,props:{handleKeyDown:(t,n)=>{if(n.shiftKey||n.altKey||n.ctrlKey||n.metaKey)return!1;let r=n.key===`ArrowUp`?-1:n.key===`ArrowDown`?1:void 0;return!(!r||us(t,r)||e({direction:r<0?`up`:`down`,event:n})===!1)}}})}function fs(e){return _(m(ds(e)),t.low)}function ps(e){return!!e.type?.startsWith(`image/`)}function ms(e,t){return ps(e)?``:`[${_s(e.name)}](${t})`}function hs(e,t){return!e||!t.onFilePaste?[]:Array.from(e.files)}const gs=e=>{console.error(`[meowdown] failed to save pasted file:`,e)};function _s(e){return e.replaceAll(/[\\[\]]/g,String.raw`\$&`)}async function vs(e,t,n,r){let{onFilePaste:i}=n;if(!i)return;let a=n.onFileSaveError??gs,o=r,s=!1;for(let n of t){let t;try{t=await i(n)}catch(e){a(e,n);continue}if(!t||e.isDestroyed)continue;let r=ms(n,t),c=s?`\n${r}`:r,l=o==null?e.state.tr.insertText(c):e.state.tr.insertText(c,o);e.dispatch(l),s=!0,o!=null&&(o+=c.length)}}function ys(e){return new y({key:new b(`file-paste`),props:{handlePaste:(t,n)=>{let r=hs(n.clipboardData,e);return r.length===0?!1:(vs(t,r,e),!0)},handleDrop:(t,n)=>{let r=hs(n.dataTransfer,e);return r.length===0?!1:(vs(t,r,e,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function bs(e={}){return _(m(ys(e)),t.high)}const xs=new b(`meowdown-file-click`);function Ss(e,t){let n=D(e,t,`mdFile`);if(!n)return;let{href:r,name:i}=n.mark.attrs;return{href:r,name:i}}function Cs(e){return m(new y({key:xs,props:{handleClick:(t,n,r)=>{let i=r.target?.closest?.(`.md-file-view-preview`);if(!i)return!1;let a=i.closest(`.md-file-view`)?.querySelector(`.md-file-view-content`);if(!a)return!1;let o=Ss(t.state,t.posAtDOM(a,0));return o?(e({href:o.href,name:o.name,event:r}),!0):!1}}}))}const ws=[`KB`,`MB`,`GB`,`TB`];function Ts(e){let t=e,n=`B`;for(let e of ws){if(t<999.5)break;t/=1e3,n=e}return n===`B`?`${Math.round(t)} B`:`${t<9.95?Math.round(t*10)/10:Math.round(t)} ${n}`}const Es=new Map([[`pdf`,`pdf`],[`zip`,`archive`],[`tar`,`archive`],[`gz`,`archive`],[`tgz`,`archive`],[`rar`,`archive`],[`7z`,`archive`],[`doc`,`doc`],[`docx`,`doc`],[`pages`,`doc`],[`xls`,`sheet`],[`xlsx`,`sheet`],[`csv`,`sheet`],[`numbers`,`sheet`],[`ppt`,`slides`],[`pptx`,`slides`],[`key`,`slides`],[`mp3`,`audio`],[`wav`,`audio`],[`m4a`,`audio`],[`flac`,`audio`],[`ogg`,`audio`],[`mp4`,`video`],[`mov`,`video`],[`mkv`,`video`],[`webm`,`video`],[`txt`,`text`],[`md`,`text`]]);function Ds(e){let t=e.split(/[?#]/,1)[0],n=t.lastIndexOf(`.`);if(n<0)return`generic`;let r=t.slice(n+1).toLowerCase();return Es.get(r)??`generic`}const Os=`http://www.w3.org/2000/svg`;function ks(){let e=document.createElementNS(Os,`svg`);e.setAttribute(`class`,`md-file-view-icon`),e.setAttribute(`viewBox`,`0 0 24 24`),e.setAttribute(`aria-hidden`,`true`);for(let t of[`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,`M14 2v4a2 2 0 0 0 2 2h4`]){let n=document.createElementNS(Os,`path`);n.setAttribute(`d`,t),n.setAttribute(`fill`,`none`),n.setAttribute(`stroke`,`currentColor`),n.setAttribute(`stroke-width`,`2`),n.setAttribute(`stroke-linecap`,`round`),n.setAttribute(`stroke-linejoin`,`round`),e.appendChild(n)}return e}var As=class{#e;#t;#n;#r;#i;#a;#o=!1;constructor(e,t){this.#a=e.attrs,this.#e=document.createElement(`span`),this.#e.className=`md-file-view md-atom-view`,this.#n=document.createElement(`span`),this.#n.className=`md-file-view-preview md-atom-view-preview`,this.#n.contentEditable=`false`,this.#n.dataset.testid=`file-pill`,this.#n.dataset.fileKind=Ds(this.#a.href),this.#n.title=this.#a.name,this.#e.appendChild(this.#n),this.#n.appendChild(ks()),this.#r=document.createElement(`span`),this.#r.className=`md-file-view-name`,this.#r.textContent=this.#a.name,this.#n.appendChild(this.#r),this.#i=document.createElement(`span`),this.#i.className=`md-file-view-size`,this.#i.dataset.testid=`file-pill-size`,this.#n.appendChild(this.#i),this.#t=document.createElement(`span`),this.#t.className=`md-file-view-content md-atom-view-content`,this.#e.appendChild(this.#t),this.#s(t.resolveFileInfo)}get dom(){return this.#e}get contentDOM(){return this.#t}update(e){let t=e.attrs,n=this.#a;return t.href===n.href?(this.#a=t,t.name!==n.name&&(this.#r.textContent=t.name,this.#n.title=t.name),!0):!1}ignoreMutation(e){return!this.#t.contains(e.target)}destroy(){this.#o=!0}async#s(e){if(!e)return;let t;try{t=await e(this.#a.href)}catch(e){console.error(`[meowdown] resolveFileInfo failed:`,e);return}if(this.#o||!t)return;let{size:n}=t;n==null||!Number.isFinite(n)||n<0||(this.#i.textContent=Ts(n))}};function js(e={}){return d({name:`mdFile`,constructor:t=>new As(t,e)})}function Ms(e){return m(new y({key:e.key,props:{handleClick:(t,n,r)=>{if(!r.target?.closest?.(e.selector))return!1;let i=e.findPayloadAt(t.state,n);return i==null?!1:(e.preventDefault&&r.preventDefault(),e.onClick(i,r),!0)}}}))}const Ns=new b(`meowdown-tag-click`);function Ps(e,t){let n=D(e,t,`mdTag`);if(!n)return;let r=e.doc.textBetween(n.from,n.to),i=r.startsWith(`#`)?r.slice(1):r;return{from:n.from,to:n.to,tag:i}}function Fs(e){return Ms({key:Ns,selector:`.md-tag`,preventDefault:!1,findPayloadAt:(e,t)=>Ps(e,t)?.tag,onClick:(t,n)=>e({tag:t,event:n})})}const Is=new b(`meowdown-wikilink-click`);function Ls(e,t){let n=D(e,t,`mdWikilink`);if(!n)return;let{target:r}=n.mark.attrs;return{from:n.from,to:n.to,target:r}}function Rs(e){return Ms({key:Is,selector:`.md-wikilink-view-preview`,preventDefault:!1,findPayloadAt:(e,t)=>Ls(e,t)?.target,onClick:(t,n)=>e({target:t,event:n})})}const zs=new b(`meowdown-follow-link`);function Bs(e){return e.key!==`Enter`||e.shiftKey||e.altKey?!1:ie?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}function Vs(e){return new y({key:zs,props:{handleKeyDown:(t,n)=>{if(!Bs(n))return!1;let{state:r}=t,i=r.selection.head,a=e.onWikilinkClick&&Ls(r,i);if(a)return e.onWikilinkClick?.({target:a.target,event:n}),!0;let o=e.onTagClick&&Ps(r,i);if(o)return e.onTagClick?.({tag:o.tag,event:n}),!0;let s=e.onFileClick&&Ss(r,i);if(s)return e.onFileClick?.({href:s.href,name:s.name,event:n}),!0;let c=e.onLinkClick&&K(r,i);return c?(e.onLinkClick?.({href:c.href,event:n}),!0):!1}}})}function Hs(e){return _(m(Vs(e)),t.high)}const Us=(e,t)=>{let n={type:`highlight`,children:e.all(t)};return e.patch(t,n),n},Ws=(e,t,n,r)=>{let i=e,a=n.createTracker(r),o=a.move(`==`);return o+=a.move(n.containerPhrasing(i,{...a.current(),before:o,after:`=`})),o+=a.move(`==`),o};function Gs(){return Ct().use(yt).use(bt,{handlers:{mark:Us}}).use(xt).use(St,{bullet:`-`,emphasis:`*`,strong:`*`,fence:"`",fences:!0,rule:`-`,ruleRepetition:3,listItemIndent:`one`,handlers:{highlight:Ws}}).freeze()}const Ks=v(Gs);function qs(e){return String(Ks().processSync(e))}const Js=new b(`meowdown-html-paste`);function Ys(){return m(new y({key:Js,props:{transformPastedHTML:(e,t)=>{if(e.includes(`data-pm-slice`))return e;let n=t.state.selection.$from.parent;if(!n.inlineContent||n.type.spec.code)return e;let r=qs(e);if(!r.trim())return e;let i=X(r,{nodes:$a(t.state.schema)}),a=Ne.fromSchema(t.state.schema),o=document.createElement(`div`);return o.append(a.serializeFragment(i.content)),o.innerHTML}}}))}const Xs=new b(`meowdown-image-click`);function Zs(e,t){let n=D(e,t,`mdImage`);if(!n)return;let{src:r,alt:i}=n.mark.attrs;return{from:n.from,to:n.to,src:r,alt:i}}function Qs(e){return m(new y({key:Xs,props:{handleClick:(t,n,r)=>{let i=r.target?.closest?.(`.md-image-view-preview`);if(!i)return!1;let a=i.closest(`.md-image-view`)?.querySelector(`.md-image-view-content`);if(!a)return!1;let o=Zs(t.state,t.posAtDOM(a,0));return o?(e({src:o.src,alt:o.alt,event:r}),!0):!1}}}))}function $s(e){return/^https?:\/\//i.test(e)?e:void 0}function ec(e){let t=document.createElement(`iframe`);return t.src=e.src,t.title=e.title,t.className=e.className,t.dataset.testid=e.testid,t.loading=`lazy`,t.referrerPolicy=`strict-origin-when-cross-origin`,t.setAttribute(`frameborder`,`0`),e.allow&&(t.allow=e.allow),e.allowFullscreen&&(t.allowFullscreen=!0),e.kind===`tweet`&&Yo(t),t}function tc(e,t,n,r){if(n!=null&&r!=null){e.setAttribute(`data-width`,String(n)),e.setAttribute(`data-height`,String(r));return}let i=t.naturalWidth/t.naturalHeight;if(!Number.isFinite(i)||i<=0){n!=null&&e.setAttribute(`data-width`,String(n)),r!=null&&e.setAttribute(`data-height`,String(r));return}let a=n==null?Math.min(t.naturalHeight,500):n/i,o=n??a*i;e.setAttribute(`data-width`,String(Math.round(o))),e.setAttribute(`data-height`,String(Math.round(a)))}function nc(e,t,n,r){let i=e.posAtDOM(t,0),a=D(e.state,i,`mdImage`);if(!a)return;let o=e.state.doc.textBetween(a.from,a.to),s=_r(o),c=a.from+s.length,l=o.slice(s.length),u=gr({...mr(l)??{},width:Math.round(n),height:Math.round(r)});u!==l&&e.dispatch(e.state.tr.insertText(u,c,a.to))}var rc=class{#e;#t;#n;#r;#i;#a;#o;constructor(e,t,n){this.#i=e.attrs,this.#n=n,this.#r=t,this.#e=document.createElement(`span`),this.#e.className=`md-image-view md-atom-view`,this.#t=document.createElement(`span`),this.#t.className=`md-image-view-content md-atom-view-content`;let r=this.#s();r&&(r.contentEditable=`false`,this.#e.appendChild(r)),this.#e.appendChild(this.#t)}get dom(){return this.#e}get contentDOM(){return this.#t}update(e){let t=e.attrs,n=this.#i;return t.src===n.src?(this.#i=t,this.#o&&t.alt!==n.alt&&(this.#o.alt=t.alt),this.#a&&this.#o&&(t.width!==n.width||t.height!==n.height)&&tc(this.#a,this.#o,t.width,t.height),!0):!1}ignoreMutation(e){return!this.#t.contains(e.target)}#s(){let{src:e}=this.#i,t=ns(e);if(t){let e=document.createElement(`span`);return e.className=`md-image-view-preview md-atom-view-preview`,e.appendChild(ec(t)),e}let n=(this.#n.resolveImageUrl??$s)(e);if(!n)return;let r=document.createElement(`span`);return r.className=`md-image-view-preview md-atom-view-preview`,r.dataset.testid=`image-preview`,r.appendChild(this.#c(n)),r}#c(e){Tt(),wt();let t=document.createElement(`prosekit-resizable-root`);t.className=`md-image-resizable`,t.dataset.testid=`image-resizable`,t.setAttribute(`data-loading`,``);let n=document.createElement(`img`);n.src=e,n.alt=this.#i.alt,n.draggable=!1,tc(t,n,this.#i.width,this.#i.height),n.addEventListener(`load`,()=>{t.removeAttribute(`data-loading`);let e=n.naturalWidth/n.naturalHeight;!Number.isFinite(e)||e<=0||(t.setAttribute(`data-aspect-ratio`,String(e)),tc(t,n,this.#i.width,this.#i.height))}),n.addEventListener(`error`,()=>{t.removeAttribute(`data-loading`)}),t.appendChild(n);let r=document.createElement(`prosekit-resizable-handle`);return r.className=`md-image-resize-handle`,r.setAttribute(`position`,`bottom-right`),r.addEventListener(`click`,e=>e.stopPropagation()),t.appendChild(r),t.addEventListener(`resizeEnd`,e=>{let{width:t,height:n}=e.detail;nc(this.#r,this.#t,t,n)}),this.#a=t,this.#o=n,t}};function ic(e={}){return d({name:`mdImage`,constructor:(t,n)=>new rc(t,n,e)})}const ac={"Mod-b":`Bold`,"Mod-i":`Italic`,"Mod-e":`Inline code`,"Mod-Shift-x":`Strikethrough`,"Mod-Shift-h":`Highlight`,"Mod-k":`Link`,"Mod-Shift-k":`Insert a wikilink`,"Mod-1":`Heading 1`,"Mod-2":`Heading 2`,"Mod-3":`Heading 3`,"Mod-4":`Heading 4`,"Mod-5":`Heading 5`,"Mod-6":`Heading 6`,"Mod-.":`Fold or unfold a bullet`,"Mod-Enter":`Follow the link under the caret, or cycle a checkbox task`,"Mod-Shift-Enter":`Cycle a circle checkbox task`,"Mod-Shift-7":`Ordered list`,"Mod-Shift-8":`Bullet list`,"Mod-Shift-9":`Checkbox task list`,"Alt-ArrowUp":`Move the block or list item up`,"Alt-ArrowDown":`Move the block or list item down`,Escape:`Collapse the selection`},oc=new b(`meowdown-link-click`);function sc(e){return Ms({key:oc,selector:`.md-link`,preventDefault:!0,findPayloadAt:(e,t)=>K(e,t)?.href,onClick:(t,n)=>e({href:t,event:n})})}function cc(e){let t,n=(n,r)=>{let i=r.target;if(!i||!pe(i))return;let a=i.closest(e.selector);if(!a||a===t)return;let o=n.posAtDOM(a,0),s=e.findPayloadAt(n.state,o);s!=null&&(t=a,e.onHoverChange({payload:s,element:a}))},r=n=>{if(!t)return;let r=n.relatedTarget;r&&t.contains(r)||(t=void 0,e.onHoverChange(void 0))};return g(s(`mouseover`,(e,t)=>n(e,t)),s(`mouseout`,(e,t)=>r(t)))}function lc(e){return cc({selector:`.md-link`,findPayloadAt:(e,t)=>K(e,t),onHoverChange:e})}const uc=new b(`meowdown-markdown-copy`);function dc(){return m(new y({key:uc,props:{clipboardTextSerializer:(e,t)=>{let n=e.content,r;try{r=t.state.schema.topNodeType.createAndFill(void 0,n)??void 0}catch{r=void 0}return r?vo(r).replace(/\n+$/,``):n.textBetween(0,n.size,`
|
|
26
26
|
`,`
|
|
27
|
-
`)}}}))}function
|
|
27
|
+
`)}}}))}function fc({allowEmpty:e}){return(t,n)=>{let{selection:r}=t;if(!h(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(x.create(e.doc,r.from+a.length)),Me(e),n(e.scrollIntoView())}return!0}}function pc(){return l({"Mod-Shift-k":fc({allowEmpty:!0}),"[":fc({allowEmpty:!1})})}function mc(e){let{selection:t,schema:n}=e;if(t.empty)return``;let r=t.content().content;try{return vo(n.topNodeType.create(null,r)).replace(/\n+$/,``)}catch{return e.doc.textBetween(t.from,t.to,`
|
|
28
28
|
|
|
29
|
-
`)}}function
|
|
29
|
+
`)}}function hc(e,t){let n=new DOMRect(0,0,0,0),r=()=>{if(e.isDestroyed)return n;let r=Y(e,t.from,1)??Y(e,t.from,-1),i=Y(e,t.to,-1)??Y(e,t.to,1);if(r==null||i==null)return n;let 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);return n=new DOMRect(a,s,o-a,c-s),n};return{getBoundingClientRect:r,getClientRects:()=>[r()]}}function gc(e){return e instanceof ze||e instanceof Be||e instanceof Ve||e instanceof He||e instanceof R}function _c(e){for(let t of e)for(let e of t.steps)if(!gc(e))return!0;return!1}function vc(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){_c(e)&&o()},view(e){return t=e,{destroy(){t=void 0}}}}}function yc(e){let t=new b(`spell-check`);return new y({key:t,state:{init:()=>vc(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 bc(e){return m(yc(e))}export{ac as EDITOR_KEY_BINDINGS,e as Priority,ms as buildFileMarkdown,zo as checkRoundTrip,Uo as codeBlockLanguages,$s as defaultResolveImageUrl,Vo as defineBulletAfterHeading,Yt as defineCodeBlockSyntaxHighlight,Ka as defineEditorExtension,ss as defineEmbedPaste,fs as defineExitBoundaryHandler,Cs as defineFileClickHandler,bs as defineFilePaste,js as defineFileView,Hs as defineFollowLinkHandler,Vn as defineHTMLComment,Ys as defineHTMLPaste,ic as defineImage,Qs as defineImageClickHandler,sc as defineLinkClickHandler,Oi as defineLinkCommands,Ai as defineLinkEditKeymap,lc as defineLinkHoverHandler,dc as defineMarkdownCopy,ja as definePendingReplacementHandler,de as definePlaceholder,fe as defineReadonly,bc as defineSpellCheckPlugin,Fs as defineTagClickHandler,Rs as defineWikilinkClickHandler,pc as defineWikilinkTrigger,vo as docToMarkdown,Zt as getCodeTokens,K as getLinkUnitAt,Ya as getMarkBuilders,J as getPendingReplacement,mc as getSelectedText,sa as getTableColumnAlign,hc as getVirtualElementFromRange,Cr as inlineTextToMarkChunks,Ti as insertLink,ua as isSelectionInTableCell,Yo as listenForTweetHeight,X as markdownToDoc,ns as matchEmbed,Di as removeLink,Ei as updateLink,le as withPriority};
|