@meowdown/core 0.42.1 → 0.43.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 +7 -12
- package/dist/index.js +18 -18
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -9,7 +9,6 @@ import { HorizontalRuleExtension } from "@prosekit/extensions/horizontal-rule";
|
|
|
9
9
|
import { ListAttrs } from "@prosekit/extensions/list";
|
|
10
10
|
import { render } from "katex";
|
|
11
11
|
import { VirtualElement } from "@floating-ui/dom";
|
|
12
|
-
|
|
13
12
|
//#region src/converters/check-roundtrip.d.ts
|
|
14
13
|
/**
|
|
15
14
|
* How faithfully markdown survives a parse-then-serialize round trip:
|
|
@@ -281,11 +280,7 @@ interface LinkAttrs {
|
|
|
281
280
|
href?: string;
|
|
282
281
|
title?: string;
|
|
283
282
|
}
|
|
284
|
-
declare function insertLink({
|
|
285
|
-
href,
|
|
286
|
-
title,
|
|
287
|
-
wrapText
|
|
288
|
-
}?: {
|
|
283
|
+
declare function insertLink({ href, title, wrapText }?: {
|
|
289
284
|
href?: string;
|
|
290
285
|
title?: string;
|
|
291
286
|
wrapText?: boolean;
|
|
@@ -393,12 +388,12 @@ interface FileLinkOptions {
|
|
|
393
388
|
* with positions relative to the start of `text` (i.e. zero-based).
|
|
394
389
|
* Callers shift the chunks into the document's coordinate space.
|
|
395
390
|
*/
|
|
396
|
-
declare function inlineTextToMarkChunks(
|
|
397
|
-
|
|
398
|
-
marks: TypedMarkBuilders,
|
|
399
|
-
|
|
400
|
-
text: string,
|
|
401
|
-
|
|
391
|
+
declare function inlineTextToMarkChunks(
|
|
392
|
+
/** Typed mark builders bound to the target schema. */
|
|
393
|
+
marks: TypedMarkBuilders,
|
|
394
|
+
/** The raw inline text of one textblock (no block prefix). */
|
|
395
|
+
text: string,
|
|
396
|
+
/** Host options; omit for the default parse. */
|
|
402
397
|
options?: FileLinkOptions): MarkChunk[];
|
|
403
398
|
//#endregion
|
|
404
399
|
//#region src/extensions/mark-mode.d.ts
|
package/dist/index.js
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import{Priority as e,Priority as t,createMarkBuilders as n,createNodeBuilders as r,defineBaseCommands as i,defineBaseKeymap as a,
|
|
2
|
-
`)}function It(e){return Rt(e,void 0)}function Lt(e){return Rt(e,{key:`math`})}function Rt(e,t){let{selection:n}=e;if(!n.empty)return S.empty;let r=n.$head,{parent:i}=r;if(!i.isTextblock||i.type.spec.code)return S.empty;let a=ee(r,te(e.schema,`mdPack`),t);return a?S.create(e.doc,[Ee.inline(a.from,a.to,{class:`show`})]):S.empty}const zt=[`mdImage`,`mdWikilink`,`mdFile`];function k(e,t){let n=O(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function Bt(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=Bt(e,t,n);return r&&r.to===t?r:void 0}function j(e,t,n){let r=Bt(e,t,n);return r&&r.from===t?r:void 0}function Vt(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=Bt(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function Ht(e,t){return x.create(e.doc,t.from,t.to)}function Ut(e,t,n,r){let i=e.doc.resolve(t);if(!(r===-1?i.parentOffset===0:i.parentOffset===i.parent.content.size)||i.depth===0)return;let a=r===-1?j(e,t,n):A(e,t,n),o=r===-1?i.before():i.after(),s=Te.findFrom(e.doc.resolve(o),r);if(!s)return;let c=h(s)?r===-1?A(e,s.head,n):j(e,s.head,n):void 0;if(!(a==null&&c==null))return s}function Wt(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=j(t,i.from,r);if(e)return n?.(t.tr.setSelection(Ht(t,e))),!0;if(A(t,i.from,r)&&i.from<t.doc.resolve(i.from).end())return n?.(t.tr.setSelection(x.create(t.doc,i.from+1))),!0;let a=Ut(t,i.from,r,1);return a?(n?.(t.tr.setSelection(a).scrollIntoView()),!0):!1}let a=Vt(t,r);return a?(n?.(t.tr.setSelection(x.create(t.doc,a.to))),!0):!1}}function Gt(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);if(e)return n?.(t.tr.setSelection(Ht(t,e))),!0;let a=Ut(t,i.from,r,-1);return a?(n?.(t.tr.setSelection(a).scrollIntoView()),!0):!1}let a=Vt(t,r);return a?(n?.(t.tr.setSelection(x.create(t.doc,a.from))),!0):!1}}function Kt(e,t){return(n,r)=>{let i=k(e,n);if(i.length===0||!h(n.selection))return!1;let{anchor:a,head:o}=n.selection,s=t===-1?A(n,o,i):j(n,o,i);if(s){let e=t===-1?s.from:s.to;return r?.(n.tr.setSelection(x.create(n.doc,a,e)).scrollIntoView()),!0}let c=Ut(n,o,i,t);return!c||!h(c)?!1:(r?.(n.tr.setSelection(x.create(n.doc,a,c.head)).scrollIntoView()),!0)}}function qt(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):!j(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function Jt(e){return(t,n)=>{let r=k(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):!A(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}const Yt=`md-atom-selected`;function Xt(e){return new y({key:new b(`atom-mark-selection`),props:{decorations:t=>{let n=k(e,t);if(n.length===0||oe(t.selection))return;let r=Vt(t,n);if(r)return S.create(t.doc,[Ee.inline(r.from,r.to,{class:Yt})]);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(Ee.inline(t,t+e.nodeSize,{class:Yt}))}),S.create(t.doc,s)}}})}function Zt({marks:e}){return g(_(l({ArrowRight:Wt(e),ArrowLeft:Gt(e),"Shift-ArrowRight":Kt(e,1),"Shift-ArrowLeft":Kt(e,-1),Backspace:qt(e),Delete:Jt(e)}),t.high),m(Xt(e)))}const M=new Map,Qt=new Map,$t={math:`latex`};async function en(e){let t=M.get(e);if(t!==void 0)return t;let n=De.matchLanguageName(Oe,$t[e]??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 tn(e,t){let n=Qt.get(e);if(n)return n;let r=je({parse:e=>t.language.parser.parse(e.content),highlighter:ke});return Qt.set(e,r),r}const nn=e=>{let t=e.language?.trim();if(!t)return[];let n=M.get(t);return n===null?[]:n?tn(t,n)(e):en(t).then(()=>void 0)};function rn(){return fe({parser:nn,nodeTypes:[`codeBlock`]})}function an(e,t){let n=t.language.parser.parse(e),r=[];return Ae(n,ke,(e,t,n)=>{r.push([e,t,n])}),r}function on(e,t){let n=t.trim();if(!n)return[];let r=M.get(n);return r===null?[]:r?an(e,r):en(n).then(t=>t?an(e,t):[])}function sn(){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===`dollar`?t:null}})}function cn(){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 ln(e){return{language:e[1]||``,fenceStyle:`tilde`}}function un(){return Pe({regex:/^~~~(\S*)\s$/,type:`codeBlock`,attrs:ln})}function dn(){return Me({regex:/^~~~(\S*)$/,type:`codeBlock`,attrs:ln})}function fn(){return Me({regex:/^\$\$$/,type:`codeBlock`,attrs:()=>({language:`math`,fenceStyle:`dollar`})})}function pn(){return g(de(),sn(),cn(),un(),dn(),fn())}function mn(e,t){return(n,r)=>{if(r){let i=x.create(n.doc,e,t);r(n.tr.setSelection(i))}return!0}}function hn(e,t,n){return(r,i)=>{if(i){let a=x.between(e,t,n);i(r.tr.setSelection(a))}return!0}}function gn(e){return(t,n)=>{if(!e.trim())return!1;let r=Z(e,{nodes:Eo(t.schema)}).content;if(r.childCount===0)return!1;let i=r.childCount===1&&r.child(0).type.name===`paragraph`?new C(r,1,1):new C(r,0,C.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 _n(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);Fe(s),n(s.scrollIntoView())}return!0}}function vn(){return(e,t)=>(t&&t(e.tr.scrollIntoView()),!0)}function yn(){return o({insertMarkdown:gn,insertTrigger:_n,scrollIntoView:vn,selectText:mn,selectTextBetween:hn})}const bn=(e,t,n)=>{let{selection:r}=e;return r.empty||n?.composing?!1:(t?.(e.tr.setSelection(x.near(r.$head))),!0)};function xn(){return _(l({Escape:bn}),t.low)}function Sn(){return f({type:`doc`,attr:`frontmatter`,default:null})}function Cn(){return p({name:`heading`,whitespace:`pre`})}function wn(){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 Tn(){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 En=(e,t,n)=>ae(e,n)?.parent.type.name===`heading`?ce()(e,t,n):!1;function Dn(){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:En})}function On(){return g(Be(),Cn(),wn(),Tn(),ze(),Re(),Dn())}function kn(e,t){return t(e.state,e.dispatch,e)}const An=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]);function jn(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=jn(e,t);return n==null?!1:n.some(e=>An.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 Mn(e,t){return P(e,t-1)&&P(e,t)}function Nn(e,t){if(!Mn(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 Pn(e,t,n){let r=jn(e,t);return r!=null&&n.isInSet(r)}function Fn(e,t){let n=jn(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&&Pn(e,r-1,n);)r--;let i=t+1;for(;i<s&&Pn(e,i,n);)i++;(c==null||i-r<c.to-c.from)&&(c={from:r,to:i})}return c}function R(e,t,n){let r=Fn(e,n===`from`?t.from:t.to-1);return r==null?!1:n===`from`?r.from===t.from:r.to===t.to}function In(e,t,n){let r=R(e,t,`from`),i=R(e,t,`to`);return r&&!i?t.from:i&&!r?t.to:n-t.from<=t.to-n?t.from:t.to}function Ln(e,t,n,r){if(!F(e,n))return n;let i=Nn(e,n);if(i!=null)return r?In(e,i,n):n>=t?i.to:i.from;if(!r)return n;let a=I(e,n);if(a!=null&&R(e,a,`from`))return a.from;let o=L(e,n);return o!=null&&R(e,o,`to`)?o.to:n}function Rn(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 zn(e,t){let n=Fn(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 Bn=new b(`meowdown-hidden-run-snap`),Vn=new b(`meowdown-hidden-run-beforeinput`);function Hn(){let e=!1;return new y({key:Bn,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=Ln(r,n.selection.head,i.head,a);return e===i.head?null:r.tr.setSelection(x.create(r.doc,e))}let o=Nn(r,i.from)?.from??i.from,s=Nn(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 Un=(e,t)=>{if(O(e)!==`hide`)return!1;let n=e.selection;if(!h(n)||!n.empty)return!1;let r=Ln(e,n.head,n.head,!0);return r===n.head||t?.(e.tr.setSelection(x.create(e.doc,r))),!1};function Wn(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?I(t,r.head):L(t,r.head);if(a==null)return!1;let o=zn(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 Gn=Wn(-1),Kn=Wn(1);function qn(){return new y({key:Vn,props:{handleDOMEvents:{beforeinput:(e,t)=>{if(e.composing)return!1;let n=t.inputType===`deleteContentBackward`?Gn:t.inputType===`deleteContentForward`?Kn:void 0;return n==null||!kn(e,n)?!1:(t.preventDefault(),!0)}}}})}function Jn(){return g(m(Hn()),m(qn()),_(l({Enter:Un,Backspace:Gn,Delete:Kn}),t.highest))}function Yn(){return f({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function Xn(){return g(Ve(),Yn())}function Zn(){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 Qn(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function $n(e,t){let[n,r,i]=t;return[n,r,i.map(t=>Le.fromJSON(e,t))]}function er(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}var z=class e extends qe{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return Je.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));if(o>=s)continue;let c=Le.setFrom(a);e.nodesBetween(o,s,(t,r)=>{if(!t.isText)return!0;let i=Math.max(o,r),a=Math.min(s,r+t.nodeSize);if(i>=a)return!1;let l=t.marks;if(er(l,c))return!1;n??=new Ye(e);for(let e of l)n.removeMark(i,a,e);for(let e of c)n.addMark(i,a,e);return!1})}return Je.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return tr;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 Ke(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(Qn)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>$n(t,e)))}};qe.jsonID(`batchSetMark`,z);const tr=new z([]),nr=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),rr=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function ir(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function ar(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!nr.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!rr.test(e))return!1;return!0}function or(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)||ar(ir(e)))return`https://${e}`}function B(e){return e===32||e===9||e===10||e===13}const sr=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,cr=/[\s(*_~]/;function lr(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function ur(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function dr(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&ur(e,t,`)`)>ur(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 fr={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!lr(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!cr.test(r))return-1;let i=sr.exec(e.slice(n,e.end));if(!i)return-1;let a=dr(i[0]);return a===0||!ar(ir(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function pr(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 mr(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const hr={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(!pr(t))break;i||=mr(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},gr={resolve:`Highlight`,mark:`HighlightMark`},_r=/[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~\u{A1}\u{2010}-\u{2027}]/u,vr={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=_r.test(r),c=_r.test(i);return e.addDelimiter(gr,n,n+2,!o&&(!c||a||s),!a&&(!s||o||c))}}]};function yr(e){return e>=48&&e<=57}function br(e){return e.next!==36||e.text.charCodeAt(e.pos+1)!==36||e.text.charCodeAt(e.pos+2)===36?!1:e.skipSpace(e.pos+2)===e.text.length}function xr(e){let t=e.depth;return typeof t==`number`?t:2**53-1}const Sr={defineNodes:[{name:`InlineMath`},{name:`InlineMathMark`},{name:`BlockMath`,block:!0},{name:`BlockMathMark`}],parseBlock:[{name:`BlockMath`,before:`FencedCode`,parse(e,t){if(!br(t))return!1;let n=e.lineStart+t.pos,r=[e.elt(`BlockMathMark`,n,n+2)];for(let n=!0,i=!0,a=!1;!(!e.nextLine()||xr(t)<e.depth);n=!1){if(br(t)){i&&a&&r.push(e.elt(`CodeText`,e.lineStart-1,e.lineStart)),r.push(e.elt(`BlockMathMark`,e.lineStart+t.pos,e.lineStart+t.pos+2)),e.nextLine();break}a=!0,n||(r.push(e.elt(`CodeText`,e.lineStart-1,e.lineStart)),i=!1);let o=e.lineStart+t.basePos,s=e.lineStart+t.text.length;o<s&&(r.push(e.elt(`CodeText`,o,s)),i=!1)}return e.addElement(e.elt(`BlockMath`,n,e.prevLineEnd(),r)),!0},endLeaf(e,t){return br(t)}}],parseInline:[{name:`InlineMath`,after:`InlineCode`,parse(e,t,n){if(t!==36||e.char(n-1)===36)return-1;let r=e.char(n+1)===36?2:1;if(e.char(n+r)===36)return-1;let i=n+r;if(B(e.char(i)))return-1;for(let t=i;t<e.end;t++){let a=e.char(t);if(a===10)return-1;if(a===92){t++;continue}if(a!==36)continue;let o=1;for(;e.char(t+o)===36;)o++;if(o!==r||B(e.char(t-1))||yr(e.char(t+o)))return-1;let s=t+o;return e.addElement(e.elt(`InlineMath`,n,s,[e.elt(`InlineMathMark`,n,i),e.elt(`InlineMathMark`,t,s)]))}return-1}}]},Cr=/^[a-z][a-z0-9+.-]*:\/\/[^\s<]+/i;function wr(e){return e>=65&&e<=90||e>=97&&e<=122}const Tr={parseInline:[{name:`SchemeAutolink`,after:`Autolink`,parse(e,t,n){if(!wr(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!cr.test(r))return-1;let i=Cr.exec(e.slice(n,e.end));if(!i)return-1;let a=dr(i[0]);return a<=i[0].indexOf(`://`)+3?-1:e.addElement(e.elt(`URL`,n,n+a))}}]},Er={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 Dr(e){return e.end}const Or=Ze.configure([Xe,hr,Er,fr,Tr,vr,Sr]),kr=Or.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:Dr}]});function V(e){return Or.parseInline(e,0)}function H(e,t,n=[]){for(let r of e)t(r)&&n.push(r),H(r.children,t,n);return n}function Ar(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const U=Ar(Or),jr=/^<!--\s*(\{[^}]*\})\s*-->$/,Mr=/<!--\s*\{[^}]*\}\s*-->$/;function Nr(e){let t=jr.exec(e.trim());if(!t)return;let n;try{n=JSON.parse(t[1])}catch{return}if(typeof n!=`object`||!n)return;let r=Pr(n);return Object.keys(r).length>0?r:void 0}function Pr(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 Fr(e){return`<!-- ${JSON.stringify(e)} -->`}function Ir(e){return e.replace(Mr,``)}function Lr(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 Rr(){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 zr(){return d({name:`mdWikilink`,constructor:Rr()})}const Br=new Map([[U.Emphasis,`mdEm`],[U.StrongEmphasis,`mdStrong`],[U.InlineCode,`mdCode`],[U.Strikethrough,`mdDel`],[U.Highlight,`mdHighlight`],[U.EmphasisMark,`mdMark`],[U.CodeMark,`mdMark`],[U.LinkMark,`mdMark`],[U.StrikethroughMark,`mdMark`],[U.HighlightMark,`mdMark`],[U.URL,`mdLinkUri`],[U.LinkTitle,`mdLinkTitle`],[U.Hashtag,`mdTag`],[U.WikilinkMark,`mdMark`]]);function Vr(e,t,n){let r=V(t),i=[];return Ur(r,[],0,t.length,t,e,i,n),i}function Hr(e){return e.slice(1,-1).replaceAll(/\\(.)/g,`$1`)}function Ur(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&&W(o,c,r.from,t);let l=r.type;if(l===U.Link){let e=Kr(r,t,i,a,s);e?W(o,r.from,r.to,e):qr(r,t,i,a,o)}else if(l===U.Image){let s=Jr(r,e[n+1],i);Yr(r,t,i,a,o,s),s&&n++,c=s?s.to:r.to;continue}else if(l===U.Wikilink)Zr(r,t,i,a,o);else if(l===U.InlineMath)Xr(r,t,i,a,o);else if(l===U.URL){let e=or(i.slice(r.from,r.to)),n=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();W(o,r.from,r.to,[...t,n])}else{let e;l===U.Emphasis?e=`italic`:l===U.StrongEmphasis?e=`bold`:l===U.InlineCode?e=`code`:l===U.Strikethrough?e=`strike`:l===U.Highlight?e=`highlight`:l===U.Autolink&&(e=`autolink`);let n=e?[...t,a.mdPack.create({key:e})]:t,c=Br.get(l),u=c?[...n,a[c].create()]:n;r.children.length===0?W(o,r.from,r.to,u):Ur(r.children,u,r.from,r.to,i,a,o,s)}c=r.to}c<r&&W(o,c,r,t)}function Wr(e){let t=-1,n=-1,r=null,i=null,a=0;for(let o of e.children)o.type===U.LinkMark?(a++,a===1&&(t=o.to),a===2&&(n=o.from)):o.type===U.URL&&r===null?r=o:o.type===U.LinkTitle&&i===null&&(i=o);return{labelFrom:t,labelTo:n,urlNode:r,titleNode:i}}function Gr(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}=Wr(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?Hr(n.slice(l.from,l.to)):``;if(!a({href:u,label:d,title:f}))return;let p=d||Gr(u);return[...t,r.mdFile.create({href:u,name:p,title:f})]}function qr(e,t,n,r,i){let{labelTo:a,urlNode:o,titleNode:s}=Wr(e),c=o?n.slice(o.from,o.to):``,l=s?Hr(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;W(i,m,t.from,e)}let e=d(t.from)?[...p,u]:p;if(t.type===U.Wikilink){Zr(t,e,n,r,i),m=t.to;continue}let a=Br.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?W(i,t.from,t.to,o):Ur(t.children,o,t.from,t.to,n,r,i,void 0),m=t.to}m<e.to&&W(i,m,e.to,p)}function Jr(e,t,n){if(!t||t.type!==U.Comment||t.from!==e.to)return;let r=Nr(n.slice(t.from,t.to));if(r)return{magic:r,to:t.to}}function Yr(e,t,n,r,i,a){let o=e.children.find(e=>e.type===U.URL);if(!o){qr(e,t,n,r,i);return}let s=e.children.filter(e=>e.type===U.LinkMark),c=e.children.find(e=>e.type===U.LinkTitle),l=n.slice(o.from,o.to),u=s.length>=2?n.slice(s[0].to,s[1].from):``,d=c?Hr(n.slice(c.from,c.to)):``,f=a?.magic.width??null,p=a?.magic.height??null,m=a?.to??e.to;W(i,e.from,m,[...t,r.mdImage.create({src:l,alt:u,title:d,width:f,height:p})])}function Xr(e,t,n,r,i){let a=e.children.filter(e=>e.type===U.InlineMathMark);if(a.length<2){W(i,e.from,e.to,t);return}let o=n.slice(a[0].to,a[1].from),s=[...t,r.mdPack.create({key:`math`}),r.mdMath.create({formula:o})];W(i,e.from,a[0].to,[...s,r.mdMark.create()]),W(i,a[0].to,a[1].from,s),W(i,a[1].from,e.to,[...s,r.mdMark.create()])}function Zr(e,t,n,r,i){let{target:a,display:o}=Lr(n.slice(e.from,e.to));W(i,e.from,e.to,[...t,r.mdWikilink.create({target:a,display:o})])}function W(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&er(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const Qr=`inline-marks-applied`;let $r=0,ei=0;function ti(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 ni(e){let t=new WeakMap;function n(n,r,i){let a=t.get(n);if(a?ei++:($r++,a=Vr(wo(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(Qr))return null;let i=r(n,ti(e,n));if(i.length===0)return null;let a=n.tr.step(new z(i));return a.setMeta(Qr,!0),a.setMeta(`addToHistory`,!1),a},view(e){return e.dispatch(ri(e.state)),{}}})}function ri(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function ii(e){return m(ni(e))}function ai(){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 oi(){return u({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function si(){return u({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function ci(){return u({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function li(){return u({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function ui(){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 di(){return u({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function fi(){return u({name:`mdLinkTitle`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-title`},0],parseDOM:[{tag:`span.md-link-title`}]})}function pi(){return u({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function mi(){return u({name:`mdHighlight`,toDOM:()=>[`mark`,0],parseDOM:[{tag:`mark`}]})}function hi(){return u({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function gi(){return u({name:`mdWikilink`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink`},0],parseDOM:[{tag:`span.md-wikilink`}]})}function _i(){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 vi(){return u({name:`mdMath`,inclusive:!1,attrs:{formula:{default:``}},toDOM:()=>[`span`,{class:`md-math`},0],parseDOM:[{tag:`span.md-math`}]})}function yi(){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 bi(){return g(oi(),si(),ci(),li(),ui(),di(),fi(),pi(),mi(),hi(),gi(),ai(),_i(),vi(),yi())}function xi(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 Si(e,t=0){return xi(e,96,t)}const G={em:{node:U.Emphasis,delim:`*`},strong:{node:U.StrongEmphasis,delim:`**`},code:{node:U.InlineCode,delim:"`"},del:{node:U.Strikethrough,delim:`~~`},highlight:{node:U.Highlight,delim:`==`}},Ci=new Set([U.EmphasisMark,U.CodeMark,U.LinkMark,U.StrikethroughMark,U.HighlightMark]);function wi(e){return[e.children[0],e.children.at(-1)]}function Ti(e){let{type:t,children:n}=e;if(t===U.Emphasis||t===U.StrongEmphasis||t===U.Strikethrough||t===U.Highlight)return[n[0].to,n.at(-1).from];if(t===U.Link||t===U.Image){let e=n.find((e,t)=>t>0&&e.type===U.LinkMark);return e?[n[0].to,e.from]:null}return null}function Ei(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=Ti(r);return i&&i[0]<=t&&n<=i[1]?Ei(r.children,t,n):Ei(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function Di(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return Di(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}function Oi(e,t,n){for(;t<n&&B(e.charCodeAt(t));)t++;for(;n>t&&B(e.charCodeAt(n-1));)n--;return[t,n]}function ki(e,t,n,r){let i=H(V(e),e=>e.type===r.node||Ci.has(e.type));for(let r=t;r<n;r++)if(!B(e.charCodeAt(r))&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function Ai(e,t,n,r,i){let a=V(e),o=H(a,e=>e.type===r.node);return i?Ni(e,o,t,n):ji(e,a,o,t,n,r)}function ji(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=Ei(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]=wi(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=Mi(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function Mi(e,t,n,r,i){if(i.node!==U.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(Si(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function Ni(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=wi(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=Di(a.children.slice(1,-1),s,c);s>t.to&&B(e.charCodeAt(s-1));)s--;for(;c<o.from&&B(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 Pi(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=V(e),o=H(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=wi(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return Fi(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function Fi(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=Ti(n);return!e||t<e[0]||t>e[1]?!0:Fi(n.children,t)}return!1}function K(e){return(t,n)=>{if(t.selection.empty)return Ii(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]=Oi(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:ki(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>Ai(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 Ii(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=Pi(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 Li(){return o({toggleEm:()=>K(G.em),toggleStrong:()=>K(G.strong),toggleCode:()=>K(G.code),toggleDel:()=>K(G.del),toggleHighlight:()=>K(G.highlight)})}function Ri(){return l({"Mod-b":K(G.strong),"Mod-i":K(G.em),"Mod-e":K(G.code),"Mod-Shift-x":K(G.del),"Mod-Shift-h":K(G.highlight)})}function zi(){return g(Li(),Ri())}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 q(e,t){let n=E(e,t,`mdLinkText`),r=E(e,t,`mdPack`,{key:`link`})??E(e,t,`mdPack`,{key:`autolink`}),i=r??n;if(!i)return;let a=r?.mark.attrs,o=n?.mark.attrs?.href??``;if(!r||a?.key!==`link`){let t={from:i.from,to:i.to};return{unit:t,text:a?.key===`autolink`?Bi(e,t,`mdLinkText`)??{from:i.from+1,to:i.to-1}:t,href:o,title:``}}let s=Bi(e,i,`mdLinkUri`),c=s?s.from-2:i.to-3,l=s?s.from:i.to-1,u={from:i.from+1,to:c};return{unit:{from:i.from,to:i.to},text:u,label:u,dest:{from:l,to:i.to-1},href:a.data.href,title:a.data.title}}function Vi(e){let t=e.trim();return t?or(t)??t:``}function Hi(e,t){return e+(t?` "${t.replaceAll(/(["\\])/g,String.raw`\$1`)}"`:``)}function Ui(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]=Oi(a.textContent,n.parentOffset,r.parentOffset);if(!(s>=c))return{from:o+s,to:o+c}}function Wi({href:e,title:t,wrapText:n=!0}={}){return(r,i)=>{let a=Ui(r);if(!a)return!1;if(i){let{from:o,to:s}=a,c=r.tr,l=`](${Hi(Vi(e??``),t??``)})`;c.insertText(l,s).insertText(`[`,o);let u=s+1+l.length;c.setSelection(n?x.create(c.doc,o,u):x.create(c.doc,u)),c.scrollIntoView(),i(c)}return!0}}function Gi(e){return(t,n)=>{let r=q(t,t.selection.from);if(!r?.dest)return!1;let i=Hi(Vi(e.href??r.href),e.title??r.title);return n&&n(t.tr.insertText(i,r.dest.from,r.dest.to).scrollIntoView()),!0}}function Ki(){return(e,t)=>{let n=q(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 qi(){return o({insertLink:Wi,updateLink:Gi,removeLink:Ki})}function Ji(e){return(t,n,r)=>{let i=q(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=Ui(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 Yi(e){return l({"Mod-k":Ji(e)})}function Xi(){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 Zi(){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 Qi(e){return e===2||e===3||e===4}function $i(){return f({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>Qi(e)?[`data-list-marker-gap`,String(e)]:null,parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return Qi(t)?t:1}})}const ea=[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?\[([\sX]?)\]\s$/i,({match:e})=>({kind:`task`,checked:[`x`,`X`].includes(e[1]),collapsed:!1})),T(/^\s?\+\s$/,{kind:`task`,marker:`+`,checked:!1,collapsed:!1})];function ta(){return g(ea.map(Ne))}function na(){return w({kind:`task`,marker:`+`})}function ra(){return w({kind:`task`,marker:null})}function ia(){return o({wrapInCircleTask:na,wrapInSquareTask:ra})}function aa(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 oa(){return(e,t,n)=>{let r=aa(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},w(a)(e,t,n)}}function sa(){return(e,t,n)=>{let r=aa(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},w(a)(e,t,n)}}function ca(e){return e.type.name===`list`&&e.attrs.kind===`bullet`&&e.childCount>=2&&e.firstChild?.type!==e.type}const la=e=>{let t=e.attrs;return t.kind===`task`?{...t,checked:!t.checked}:ca(e)?{...t,collapsed:!t.collapsed}:t};function ua(){return m(()=>[new y({props:{handleDOMEvents:{mousedown:(e,t)=>ct({view:e,event:t,onListClick:la})}}}),at(),new y({props:{transformCopied:lt}}),ot()])}function da(){return o({toggleListCollapsed:()=>st({isToggleable:ca})})}function fa(){return l({"Mod-Enter":oa(),"Mod-Shift-Enter":sa(),"Mod-.":st({isToggleable:ca}),"Mod-Shift-7":it({kind:`ordered`,collapsed:!1}),"Mod-Shift-8":it({kind:`bullet`,collapsed:!1}),"Mod-Shift-9":it({kind:`task`,checked:!1,collapsed:!1})})}function pa(){return g(nt(),ua(),et(),Qe(),tt(),$e(),ta(),fa(),Xi(),Zi(),$i(),ia(),da())}let ma;function ha(){return ma??=import(`katex`).then(e=>e.render),ma}function ga(e,t,n,r){try{e(n,t,{displayMode:r,throwOnError:!1,output:`mathml`})}catch(e){t.textContent=String(e)}}var _a=class{#e;#t;#n;#r;constructor(e,t){this.#r=e.attrs.formula,this.#e=document.createElement(`span`),this.#e.className=`md-math-view`,this.#n=document.createElement(`span`),this.#n.className=`md-math-view-preview`,this.#n.dataset.testid=`math-preview`,this.#n.contentEditable=`false`,this.#n.addEventListener(`mousedown`,e=>{e.preventDefault();let n=t.posAtDOM(this.#t,0);if(n<0)return;let r=x.near(t.state.doc.resolve(n),1);t.dispatch(t.state.tr.setSelection(r)),t.focus()}),this.#t=document.createElement(`span`),this.#t.className=`md-math-view-content`,this.#e.appendChild(this.#n),this.#e.appendChild(this.#t),this.#i()}get dom(){return this.#e}get contentDOM(){return this.#t}update(e){let t=e.attrs.formula;return t!==this.#r&&(this.#r=t,this.#i()),!0}ignoreMutation(e){return!this.#t.contains(e.target)}#i(){let e=this.#r;ha().then(t=>{e===this.#r&&ga(t,this.#n,e,!1)})}};function va(){return d({name:`mdMath`,constructor:(e,t)=>new _a(e,t)})}function ya(e){return e===`left`||e===`center`||e===`right`?e:null}function ba(){return f({type:`tableCell`,attr:`align`,default:null,toDOM:e=>e?[`data-align`,e]:null,parseDOM:e=>ya(e.getAttribute(`data-align`))})}function xa(){return f({type:`tableHeaderCell`,attr:`align`,default:null,toDOM:e=>e?[`data-align`,e]:null,parseDOM:e=>ya(e.getAttribute(`data-align`))})}function Sa(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 Ca(e){return e.child(Sa(e))}function wa(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=Ca(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=wa(r,e);(t.attrs.align??null)!==i&&n.setNodeMarkup(o,void 0,{...t.attrs,align:i}),o+=t.nodeSize}i+=a.nodeSize}}function Ea(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 Da(){return new y({key:new b(`table-align-sync`),appendTransaction(e,t,n){if(!e.some(e=>e.docChanged))return;let r=Ea(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 Oa(){return m(Da())}function ka(e){let{selection:t}=e;if(vt(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=ka(t);if(!r||r.table.childCount===0)return!1;if(n){let{table:i,tablePos:a,firstColumn:o,lastColumn:s}=r,c=Sa(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 ja(e){let t=ka(e);if(!(!t||t.table.childCount===0))return wa(Ca(t.table),t.lastColumn)??void 0}function Ma(){return o({setTableColumnAlign:Aa})}function Na(){return g(ba(),xa(),Oa(),Ma())}function Pa(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 Fa=`paragraph`;function Ia(){return g(p({name:`tableCell`,content:Fa}),p({name:`tableHeaderCell`,content:Fa}))}const La=(e,t)=>{let{selection:n}=e;return!vt(n)||!n.isColSelection()||!n.isRowSelection()?!1:_t(e,t)};function Ra(){return _(l({Backspace:La,Delete:La}),t.high)}function za(){return g(gt(),ht(),ut(),mt(),Ia(),Na(),pt({allowTableNodeSelection:!0}),dt(),ft(),Ra())}function Ba(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 Va(e){return(t,n)=>{if(Pa(t))return!1;let r=Ba(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)?we.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 Ha(e){return(t,n,r)=>rt(e)(t,n,r)||Va(e===`up`?-1:1)(t,n,r)}function Ua(){return l({"Alt-ArrowUp":Ha(`up`),"Alt-ArrowDown":Ha(`down`)})}function Wa(){return p({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function Ga(){return g(_(Wa(),t.highest),yt(),bt())}const J=new b(`meowdownPendingReplacement`);function Y(e){return J.getState(e)?.pending??null}function Ka(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 qa=new y({key:J,state:{init:()=>({pending:null}),apply:(e,t)=>{let n=e.getMeta(J);if(n)return Ka(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=Y(e);return!t||t.from>=t.to?null:S.create(e.doc,[Ee.inline(t.from,t.to,{class:`md-pending-replacement`})])}}});function Ja(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(J,{type:`start`,from:r,to:i,mode:a})),!0)}}function Ya(e){return(t,n)=>Y(t)?(n?.(t.tr.setMeta(J,{type:`append`,text:e})),!0):!1}function Xa(){return(e,t)=>Y(e)?(t?.(e.tr.setMeta(J,{type:`discard`})),!0):!1}function Za(e={}){return(t,n)=>{let r=Y(t);if(!r||!r.text.trim())return!1;if(n){let i=e.mode??r.mode,a=Eo(t.schema),o=Z(r.text,{nodes:a}),s=t.tr;if(s.setMeta(J,{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 C(o.content,0,0)),s.setSelection(x.near(s.doc.resolve(s.mapping.map(r.to)),-1)))}n(s.scrollIntoView())}return!0}}function Qa(){return o({startPendingReplacement:Ja,appendPendingReplacementText:Ya,acceptPendingReplacement:Za,discardPendingReplacement:Xa})}function $a(){return l({"Mod-Enter":Za(),Escape:Xa()})}function eo(){return g(m(qa),Qa(),$a())}function to(e){return m(new y({view:()=>({update:(t,n)=>{let r=J.getState(n),i=J.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 no(e,t){return(n,r)=>{let i=e<0?Te.atStart(n.doc):Te.atEnd(n.doc),a=t?x.between(n.selection.$anchor,i.$head):i;return n.selection.eq(a)||r?.(n.tr.setSelection(a).scrollIntoView()),!0}}function ro(){return l({"Meta-ArrowUp":no(-1,!1),"Meta-ArrowDown":no(1,!1),"Shift-Meta-ArrowUp":no(-1,!0),"Shift-Meta-ArrowDown":no(1,!0)})}function io(e){return e.left===e.right&&e.top===e.bottom}function X(e,t,n){if(t<0||t>e.state.doc.content.size)return;let r;try{r=e.coordsAtPos(t,n)}catch{return}return io(r)?void 0:r}function ao(e){e.offsetWidth}const oo=new b(`meowdown-virtual-caret`),so=[`md-virtual-caret-blink`,`md-virtual-caret-blink2`];function co(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 lo(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=X(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 uo(e){let t=e.state,n=t.selection.head;for(let r of zt){let i=E(t,n,r);if(i==null||i.from!==n&&i.to!==n)continue;let a=fo(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 fo(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 po(e){let t=e.height*.19999999999999996;return{left:e.left,top:e.top-t/2,height:e.height+t}}function mo(e){let t=co(e)??lo(e);return t==null?uo(e):po(t)}function ho(e,t){return e==null||t==null?e===t:e.left===t.left&&e.top===t.top&&e.height===t.height}var go=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=so[this.#s]}#l=()=>{let e=this.#e;if(e.isDestroyed)return;let t=e.state,n=t.selection,r=h(n)&&n.empty?mo(e):void 0,i=r!=null&&O(t)===`hide`?Rn(t,n.head):void 0;if(ho(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&&(ao(this.#n),this.#n.style.transitionProperty=``)}};function _o(){return m(new y({key:oo,view:e=>new go(e)}))}function vo(e){return g(Ga(),ye(),Sn(),Se(),ve(),pa(),On(),za(),pn(),Xn(),Zn(),bi(),rn(),xn(),Ua(),ro(),ii(e),zi(),qi(),zr(),va(),Pt(e.markMode??`focus`),_o(),Jn(),Zt({marks:zt.map(e=>({name:e,modes:[`hide`,`focus`,`show`]}))}),a(),i(),c(),be(),Ce(),xe(),yn(),eo())}function yo(e={}){return vo(e)}const bo=v(()=>{let e=yo().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),xo=v(()=>r(bo())),So=v(()=>n(bo())),Co=`meowdown_mark_builders`;function wo(e){let t=e.cached[Co];if(t)return t;let r=n(e);return e.cached[Co]=r,r}const To=`meowdown_node_builders`;function Eo(e){let t=e.cached[To];if(t)return t;let n=r(e);return e.cached[To]=n,n}function Z(e,t={}){let{nodes:n=xo(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=Oo(e);i=t,n&&(a=e.slice(n))}let o=ko(n,kr.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const Do=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function Oo(e){let t=Do.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function ko(e,t,n){let r=[];if(!t.firstChild())return r;let i;do i!=null&&Ao(r,e,n,i,t.from),i=t.to,r.push(...jo(e,t,n));while(t.nextSibling());return t.parent(),r}function Ao(e,t,n,r,i){let a=0;for(let e=r;e<i;e++)n.charCodeAt(e)===10&&a++;for(let n=2;n<a;n++)e.push(t.paragraph())}function jo(e,t,n){switch(t.type.id){case U.ATXHeading1:return[Q(e,t,n,1,!1)];case U.ATXHeading2:return[Q(e,t,n,2,!1)];case U.ATXHeading3:return[Q(e,t,n,3,!1)];case U.ATXHeading4:return[Q(e,t,n,4,!1)];case U.ATXHeading5:return[Q(e,t,n,5,!1)];case U.ATXHeading6:return[Q(e,t,n,6,!1)];case U.SetextHeading1:return[Q(e,t,n,1,!0)];case U.SetextHeading2:return[Q(e,t,n,2,!0)];case U.Paragraph:return[Lo(e,t,n)];case U.CommentBlock:return[Ro(e,t,n)];case U.HTMLBlock:case U.ProcessingInstructionBlock:return[Lo(e,t,n)];case U.Blockquote:return[zo(e,t,n)];case U.BulletList:return Bo(e,t,n,`bullet`);case U.OrderedList:return Bo(e,t,n,`ordered`);case U.FencedCode:case U.CodeBlock:return[Ho(e,t,n)];case U.BlockMath:return[Uo(e,t,n)];case U.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case U.Table:return[Wo(e,t,n)];case U.Task:return[Lo(e,t,n)];default:return n.slice(t.from,t.to).trim()===``?[]:(console.warn(`[meowdown] unsupported lezer block "${t.type.name}"`),[Lo(e,t,n)])}}function Q(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===U.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===U.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=Fo(n.slice(o,s),$(n,o)).trim(),d=i?Mo(n,c,l)||1:null,f=!i&&c>=0&&No(n,c,l)||null;return e.heading({level:r,setextUnderline:d,closingHashes:f},u)}function Mo(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 No(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 $(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,defineClipboardSerializer as o,defineCommands as s,defineDOMEventHandler as c,defineHistory as l,defineKeymap as u,defineMarkSpec as d,defineMarkView as f,defineNodeAttr as p,defineNodeSpec as m,definePlugin as h,getMarkRange as ee,getMarkType as te,getNodeType as ne,isAllSelection as re,isApple as ie,isAtBlockStart as ae,isNodeSelection as oe,isTextSelection as g,toggleNode as se,union as _,unsetBlockType as ce,withPriority as le,withPriority as v,withSkipCodeBlock as ue}from"@prosekit/core";import{defineCodeBlock as de,defineCodeBlockHighlight as fe,defineCodeBlockPreviewPlugin as pe,isCodeBlockPreviewHiddenDecoration as me}from"@prosekit/extensions/code-block";import{definePlaceholder as he}from"@prosekit/extensions/placeholder";import{defineReadonly as ge}from"@prosekit/extensions/readonly";import{isElementLike as _e,once as ve}from"@ocavue/utils";import{defineBlockquote as ye}from"@prosekit/extensions/blockquote";import{defineDoc as be}from"@prosekit/extensions/doc";import{defineGapCursor as xe}from"@prosekit/extensions/gap-cursor";import{defineModClickPrevention as Se}from"@prosekit/extensions/mod-click-prevention";import{defineText as Ce}from"@prosekit/extensions/text";import{defineVirtualSelection as we}from"@prosekit/extensions/virtual-selection";import{NodeSelection as Te,Plugin as y,PluginKey as b,Selection as Ee,TextSelection as x}from"@prosekit/pm/state";import{Decoration as S,DecorationSet as C}from"@prosekit/pm/view";import{LanguageDescription as De}from"@codemirror/language";import{languages as Oe}from"@codemirror/language-data";import{classHighlighter as ke,highlightTree as Ae}from"@lezer/highlight";import{createParser as je}from"prosemirror-highlight/lezer";import{defineTextBlockEnterRule as Me}from"@prosekit/extensions/enter-rule";import{defineInputRule as Ne,defineTextBlockInputRule as Pe}from"@prosekit/extensions/input-rule";import{triggerAutocomplete as Fe}from"@prosekit/extensions/autocomplete";import{DOMSerializer as Ie,Mark as Le,Slice as w}from"@prosekit/pm/model";import{defineHeadingCommands as Re,defineHeadingInputRule as ze,defineHeadingSpec as Be}from"@prosekit/extensions/heading";import{defineHorizontalRule as Ve}from"@prosekit/extensions/horizontal-rule";import{AddMarkStep as He,AddNodeMarkStep as Ue,RemoveMarkStep as We,RemoveNodeMarkStep as Ge,ReplaceStep as Ke,Step as qe,StepResult as Je,Transform as Ye}from"@prosekit/pm/transform";import{GFM as Xe,parser as Ze}from"@lezer/markdown";import{defineListCommands as Qe,defineListDropIndicator as $e,defineListKeymap as et,defineListSpec as tt,moveList as nt,toggleList as rt,wrapInList as T}from"@prosekit/extensions/list";import{createListRenderingPlugin as it,createSafariInputMethodWorkaroundPlugin as at,createToggleCollapsedCommand as ot,defaultAttributesGetter as st,findCheckboxInListItem as ct,handleListMarkerMouseDown as lt,joinListElements as ut,listToDOM as dt,unwrapListSlice as ft,wrappingListInputRule as E}from"prosemirror-flat-list";import{defineTableCellSpec as pt,defineTableCommands as mt,defineTableDropIndicator as ht,defineTableEditingPlugin as gt,defineTableHeaderCellSpec as _t,defineTableRowSpec as vt,defineTableSpec as yt,deleteTable as bt,isCellSelection as xt}from"@prosekit/extensions/table";import{defineParagraphCommands as St,defineParagraphKeymap as Ct}from"@prosekit/extensions/paragraph";import{closeHistory as wt}from"@prosekit/pm/history";import Tt from"rehype-parse";import Et from"rehype-remark";import Dt from"remark-gfm";import Ot from"remark-stringify";import{unified as kt}from"unified";import{registerResizableHandleElement as At,registerResizableRootElement as jt}from"@prosekit/web/resizable";function D(e,t,n,r){let i=e.doc.content.size;if(t<0||t>i)return;let a=e.doc.resolve(t);if(!(!a.parent.isTextblock||a.parent.type.spec.code))return ee(a,n,r)}const Mt=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]),Nt=new Set([`mdMath`]),O=new b(`mark-mode`);function Pt(e){return O.getState(e)}function Ft(e){return new y({key:O,state:{init:()=>e,apply:(e,t)=>e.getMeta(O)??t},props:{attributes:t=>({"data-mark-mode":Pt(t)??e}),decorations:e=>{let t=Pt(e);if(t===`focus`)return zt(e);if(t===`hide`)return Bt(e)},clipboardTextSerializer:(e,t)=>Pt(t.state)===`show`?``:Rt(e)}})}function It(e){return(t,n)=>k(t)===e?!1:(n?.(t.tr.setMeta(O,e)),!0)}function Lt(e){return _(h(Ft(e)),s({setMarkMode:It}))}function k(e){return O.getState(e)}function Rt(e){let t=[];return e.content.forEach(e=>{let n=[];e.descendants(e=>{if(!e.isText||!e.text)return!0;let t=e.marks.map(e=>e.type.name);return t.some(e=>Mt.has(e))&&!t.some(e=>Nt.has(e))||n.push(e.text),!1}),t.push(n.join(``))}),t.join(`
|
|
2
|
+
`)}function zt(e){return Vt(e,void 0)}function Bt(e){return Vt(e,{key:`math`})}function Vt(e,t){let{selection:n}=e;if(!n.empty)return C.empty;let r=n.$head,{parent:i}=r;if(!i.isTextblock||i.type.spec.code)return C.empty;let a=ee(r,te(e.schema,`mdPack`),t);return a?C.create(e.doc,[S.inline(a.from,a.to,{class:`show`})]):C.empty}const Ht=[`mdImage`,`mdWikilink`,`mdFile`];function A(e,t){let n=k(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function Ut(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=Ut(e,t,n);return r&&r.to===t?r:void 0}function M(e,t,n){let r=Ut(e,t,n);return r&&r.from===t?r:void 0}function Wt(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=Ut(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function Gt(e,t){return x.create(e.doc,t.from,t.to)}function Kt(e,t,n,r){let i=e.doc.resolve(t);if(!(r===-1?i.parentOffset===0:i.parentOffset===i.parent.content.size)||i.depth===0)return;let a=r===-1?M(e,t,n):j(e,t,n),o=r===-1?i.before():i.after(),s=Ee.findFrom(e.doc.resolve(o),r);if(!s)return;let c=g(s)?r===-1?j(e,s.head,n):M(e,s.head,n):void 0;if(!(a==null&&c==null))return s}function qt(e){return(t,n)=>{let r=A(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=M(t,i.from,r);if(e)return n?.(t.tr.setSelection(Gt(t,e))),!0;if(j(t,i.from,r)&&i.from<t.doc.resolve(i.from).end())return n?.(t.tr.setSelection(x.create(t.doc,i.from+1))),!0;let a=Kt(t,i.from,r,1);return a?(n?.(t.tr.setSelection(a).scrollIntoView()),!0):!1}let a=Wt(t,r);return a?(n?.(t.tr.setSelection(x.create(t.doc,a.to))),!0):!1}}function Jt(e){return(t,n)=>{let r=A(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=j(t,i.from,r);if(e)return n?.(t.tr.setSelection(Gt(t,e))),!0;let a=Kt(t,i.from,r,-1);return a?(n?.(t.tr.setSelection(a).scrollIntoView()),!0):!1}let a=Wt(t,r);return a?(n?.(t.tr.setSelection(x.create(t.doc,a.from))),!0):!1}}function Yt(e,t){return(n,r)=>{let i=A(e,n);if(i.length===0||!g(n.selection))return!1;let{anchor:a,head:o}=n.selection,s=t===-1?j(n,o,i):M(n,o,i);if(s){let e=t===-1?s.from:s.to;return r?.(n.tr.setSelection(x.create(n.doc,a,e)).scrollIntoView()),!0}let c=Kt(n,o,i,t);return!c||!g(c)?!1:(r?.(n.tr.setSelection(x.create(n.doc,a,c.head)).scrollIntoView()),!0)}}function Xt(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):!M(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function Zt(e){return(t,n)=>{let r=A(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=M(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 Qt=`md-atom-selected`;function $t(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=Wt(t,n);if(r)return C.create(t.doc,[S.inline(r.from,r.to,{class:Qt})]);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:Qt}))}),C.create(t.doc,s)}}})}function en({marks:e}){return _(v(u({ArrowRight:qt(e),ArrowLeft:Jt(e),"Shift-ArrowRight":Yt(e,1),"Shift-ArrowLeft":Yt(e,-1),Backspace:Xt(e),Delete:Zt(e)}),t.high),h($t(e)))}const N=new Map,tn=new Map,nn={math:`latex`};async function rn(e){let t=N.get(e);if(t!==void 0)return t;let n=De.matchLanguageName(Oe,nn[e]??e,!0);if(!n)return N.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),N.set(e,null),null}return N.set(e,r),r}function an(e,t){let n=tn.get(e);if(n)return n;let r=je({parse:e=>t.language.parser.parse(e.content),highlighter:ke});return tn.set(e,r),r}const on=e=>{let t=e.language?.trim();if(!t)return[];let n=N.get(t);return n===null?[]:n?an(t,n)(e):rn(t).then(()=>void 0)};function sn(){return fe({parser:on,nodeTypes:[`codeBlock`]})}function cn(e,t){let n=t.language.parser.parse(e),r=[];return Ae(n,ke,(e,t,n)=>{r.push([e,t,n])}),r}function ln(e,t){let n=t.trim();if(!n)return[];let r=N.get(n);return r===null?[]:r?cn(e,r):rn(n).then(t=>t?cn(e,t):[])}function un(){return p({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===`dollar`?t:null}})}function dn(){return p({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 fn(e){return{language:e[1]||``,fenceStyle:`tilde`}}function pn(){return Pe({regex:/^~~~(\S*)\s$/,type:`codeBlock`,attrs:fn})}function mn(){return Me({regex:/^~~~(\S*)$/,type:`codeBlock`,attrs:fn})}function hn(){return Me({regex:/^\$\$$/,type:`codeBlock`,attrs:()=>({language:`math`,fenceStyle:`dollar`})})}function gn(){return _(de(),un(),dn(),pn(),mn(),hn())}function _n(e,t){return(n,r)=>{if(r){let i=x.create(n.doc,e,t);r(n.tr.setSelection(i))}return!0}}function vn(e,t,n){return(r,i)=>{if(i){let a=x.between(e,t,n);i(r.tr.setSelection(a))}return!0}}function yn(e){return(t,n)=>{if(!e.trim())return!1;let r=Z(e,{nodes:Lo(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;(!g(r)||!r.empty)&&e.setSelection(x.near(r.$from)),n(e.replaceSelection(i).scrollIntoView())}return!0}}function bn(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);Fe(s),n(s.scrollIntoView())}return!0}}function xn(){return(e,t)=>(t&&t(e.tr.scrollIntoView()),!0)}function Sn(){return s({insertMarkdown:yn,insertTrigger:bn,scrollIntoView:xn,selectText:_n,selectTextBetween:vn})}const Cn=(e,t,n)=>{let{selection:r}=e;return r.empty||n?.composing?!1:(t?.(e.tr.setSelection(x.near(r.$head))),!0)};function wn(){return v(u({Escape:Cn}),t.low)}function Tn(){return p({type:`doc`,attr:`frontmatter`,default:null})}function En(){return m({name:`heading`,whitespace:`pre`})}function Dn(){return p({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 On(){return p({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 P(e){return ue(se({type:`heading`,attrs:{level:e}}))}const kn=(e,t,n)=>ae(e,n)?.parent.type.name===`heading`&&ce()(e,t,n);function An(){return u({"Mod-1":P(1),"Mod-2":P(2),"Mod-3":P(3),"Mod-4":P(4),"Mod-5":P(5),"Mod-6":P(6),Backspace:kn})}function jn(){return _(Be(),En(),Dn(),On(),ze(),Re(),An())}function Mn(e,t){return t(e.state,e.dispatch,e)}const Nn=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]);function Pn(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 F(e,t){let n=Pn(e,t);return n!=null&&n.some(e=>Nn.has(e.type.name))}function Fn(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(!Fn(e,t))return;let n=e.doc.resolve(t).start(),r=t;for(;r>n&&F(e,r-1);)r--;return r<t?{from:r,to:t}:void 0}function L(e,t){if(!Fn(e,t))return;let n=e.doc.resolve(t).end(),r=t;for(;r<n&&F(e,r);)r++;return r>t?{from:t,to:r}:void 0}function In(e,t){return F(e,t-1)&&F(e,t)}function Ln(e,t){if(!In(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 Rn(e,t,n){let r=Pn(e,t);return r!=null&&n.isInSet(r)}function zn(e,t){let n=Pn(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&&Rn(e,r-1,n);)r--;let i=t+1;for(;i<s&&Rn(e,i,n);)i++;(c==null||i-r<c.to-c.from)&&(c={from:r,to:i})}return c}function R(e,t,n){let r=zn(e,n===`from`?t.from:t.to-1);return r==null?!1:n===`from`?r.from===t.from:r.to===t.to}function Bn(e,t,n){let r=R(e,t,`from`),i=R(e,t,`to`);return r&&!i?t.from:i&&!r?t.to:n-t.from<=t.to-n?t.from:t.to}function Vn(e,t,n,r){if(!Fn(e,n))return n;let i=Ln(e,n);if(i!=null)return r?Bn(e,i,n):n>=t?i.to:i.from;if(!r)return n;let a=I(e,n);if(a!=null&&R(e,a,`from`))return a.from;let o=L(e,n);return o!=null&&R(e,o,`to`)?o.to:n}function Hn(e,t){if(!Fn(e,t))return;let n=F(e,t-1),r=F(e,t);if(n!==r)return r?`left`:`right`}function Un(e,t){let n=zn(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 Wn=new b(`meowdown-hidden-run-snap`),Gn=new b(`meowdown-hidden-run-beforeinput`);function Kn(){let e=!1;return new y({key:Wn,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(!g(i))return null;let a=t.some(e=>e.getMeta(`pointer`)!=null);if(i.empty){let e=Vn(r,n.selection.head,i.head,a);return e===i.head?null:r.tr.setSelection(x.create(r.doc,e))}let o=Ln(r,i.from)?.from??i.from,s=Ln(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 qn=(e,t)=>{if(k(e)!==`hide`)return!1;let n=e.selection;if(!g(n)||!n.empty)return!1;let r=Vn(e,n.head,n.head,!0);return r===n.head||t?.(e.tr.setSelection(x.create(e.doc,r))),!1};function Jn(e){return(t,n)=>{if(k(t)!==`hide`)return!1;let r=t.selection;if(!g(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=Un(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 Yn=Jn(-1),Xn=Jn(1);function Zn(){return new y({key:Gn,props:{handleDOMEvents:{beforeinput:(e,t)=>{if(e.composing)return!1;let n=t.inputType===`deleteContentBackward`?Yn:t.inputType===`deleteContentForward`?Xn:void 0;return n==null||!Mn(e,n)?!1:(t.preventDefault(),!0)}}}})}function Qn(){return _(h(Kn()),h(Zn()),v(u({Enter:qn,Backspace:Yn,Delete:Xn}),t.highest))}function $n(){return p({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function er(){return _(Ve(),$n())}function tr(){return m({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 nr(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function rr(e,t){let[n,r,i]=t;return[n,r,i.map(t=>Le.fromJSON(e,t))]}function ir(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}var z=class e extends qe{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return Je.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));if(o>=s)continue;let c=Le.setFrom(a);e.nodesBetween(o,s,(t,r)=>{if(!t.isText)return!0;let i=Math.max(o,r),a=Math.min(s,r+t.nodeSize);if(i>=a)return!1;let l=t.marks;if(ir(l,c))return!1;n??=new Ye(e);for(let e of l)n.removeMark(i,a,e);for(let e of c)n.addMark(i,a,e);return!1})}return Je.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return ar;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 Ke(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(nr)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>rr(t,e)))}};qe.jsonID(`batchSetMark`,z);const ar=new z([]),or=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),sr=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function cr(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function lr(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!or.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!sr.test(e))return!1;return!0}function ur(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)||lr(cr(e)))return`https://${e}`}function B(e){return e===32||e===9||e===10||e===13}const dr=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,fr=/[\s(*_~]/;function pr(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function mr(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function hr(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&mr(e,t,`)`)>mr(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 gr={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!pr(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!fr.test(r))return-1;let i=dr.exec(e.slice(n,e.end));if(!i)return-1;let a=hr(i[0]);return a===0||!lr(cr(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function _r(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 vr(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const yr={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(!_r(t))break;i||=vr(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},br={resolve:`Highlight`,mark:`HighlightMark`},xr=/[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~\u{A1}\u{2010}-\u{2027}]/u,Sr={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=xr.test(r),c=xr.test(i);return e.addDelimiter(br,n,n+2,!o&&(!c||a||s),!a&&(!s||o||c))}}]};function Cr(e){return e>=48&&e<=57}function wr(e){return e.next!==36||e.text.charCodeAt(e.pos+1)!==36||e.text.charCodeAt(e.pos+2)===36?!1:e.skipSpace(e.pos+2)===e.text.length}function Tr(e){let t=e.depth;return typeof t==`number`?t:2**53-1}const Er={defineNodes:[{name:`InlineMath`},{name:`InlineMathMark`},{name:`BlockMath`,block:!0},{name:`BlockMathMark`}],parseBlock:[{name:`BlockMath`,before:`FencedCode`,parse(e,t){if(!wr(t))return!1;let n=e.lineStart+t.pos,r=[e.elt(`BlockMathMark`,n,n+2)];for(let n=!0,i=!0,a=!1;!(!e.nextLine()||Tr(t)<e.depth);n=!1){if(wr(t)){i&&a&&r.push(e.elt(`CodeText`,e.lineStart-1,e.lineStart)),r.push(e.elt(`BlockMathMark`,e.lineStart+t.pos,e.lineStart+t.pos+2)),e.nextLine();break}a=!0,n||(r.push(e.elt(`CodeText`,e.lineStart-1,e.lineStart)),i=!1);let o=e.lineStart+t.basePos,s=e.lineStart+t.text.length;o<s&&(r.push(e.elt(`CodeText`,o,s)),i=!1)}return e.addElement(e.elt(`BlockMath`,n,e.prevLineEnd(),r)),!0},endLeaf(e,t){return wr(t)}}],parseInline:[{name:`InlineMath`,after:`InlineCode`,parse(e,t,n){if(t!==36||e.char(n-1)===36)return-1;let r=e.char(n+1)===36?2:1;if(e.char(n+r)===36)return-1;let i=n+r;if(B(e.char(i)))return-1;for(let t=i;t<e.end;t++){let a=e.char(t);if(a===10)return-1;if(a===92){t++;continue}if(a!==36)continue;let o=1;for(;e.char(t+o)===36;)o++;if(o!==r||B(e.char(t-1))||Cr(e.char(t+o)))return-1;let s=t+o;return e.addElement(e.elt(`InlineMath`,n,s,[e.elt(`InlineMathMark`,n,i),e.elt(`InlineMathMark`,t,s)]))}return-1}}]},Dr=/^[a-z][a-z0-9+.-]*:\/\/[^\s<]+/i;function Or(e){return e>=65&&e<=90||e>=97&&e<=122}const kr={parseInline:[{name:`SchemeAutolink`,after:`Autolink`,parse(e,t,n){if(!Or(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!fr.test(r))return-1;let i=Dr.exec(e.slice(n,e.end));if(!i)return-1;let a=hr(i[0]);return a<=i[0].indexOf(`://`)+3?-1:e.addElement(e.elt(`URL`,n,n+a))}}]},Ar={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 jr(e){return e.end}const Mr=Ze.configure([Xe,yr,Ar,gr,kr,Sr,Er]),Nr=Mr.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:jr}]});function V(e){return Mr.parseInline(e,0)}function H(e,t,n=[]){for(let r of e)t(r)&&n.push(r),H(r.children,t,n);return n}function Pr(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const U=Pr(Mr),Fr=/^<!--\s*(\{[^}]*\})\s*-->$/,Ir=/<!--\s*\{[^}]*\}\s*-->$/;function Lr(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=Rr(n);return Object.keys(r).length>0?r:void 0}function Rr(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 zr(e){return`<!-- ${JSON.stringify(e)} -->`}function Br(e){return e.replace(Ir,``)}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 Hr(){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 Ur(){return f({name:`mdWikilink`,constructor:Hr()})}const Wr=new Map([[U.Emphasis,`mdEm`],[U.StrongEmphasis,`mdStrong`],[U.InlineCode,`mdCode`],[U.Strikethrough,`mdDel`],[U.Highlight,`mdHighlight`],[U.EmphasisMark,`mdMark`],[U.CodeMark,`mdMark`],[U.LinkMark,`mdMark`],[U.StrikethroughMark,`mdMark`],[U.HighlightMark,`mdMark`],[U.URL,`mdLinkUri`],[U.LinkTitle,`mdLinkTitle`],[U.Hashtag,`mdTag`],[U.WikilinkMark,`mdMark`]]);function Gr(e,t,n){let r=V(t),i=[];return qr(r,[],0,t.length,t,e,i,n),i}function Kr(e){return e.slice(1,-1).replaceAll(/\\(.)/g,`$1`)}function qr(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&&W(o,c,r.from,t);let l=r.type;if(l===U.Link){let e=Xr(r,t,i,a,s);e?W(o,r.from,r.to,e):Zr(r,t,i,a,o)}else if(l===U.Image){let s=Qr(r,e[n+1],i);$r(r,t,i,a,o,s),s&&n++,c=s?s.to:r.to;continue}else if(l===U.Wikilink)ti(r,t,i,a,o);else if(l===U.InlineMath)ei(r,t,i,a,o);else if(l===U.URL){let e=ur(i.slice(r.from,r.to)),n=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();W(o,r.from,r.to,[...t,n])}else{let e;l===U.Emphasis?e=`italic`:l===U.StrongEmphasis?e=`bold`:l===U.InlineCode?e=`code`:l===U.Strikethrough?e=`strike`:l===U.Highlight?e=`highlight`:l===U.Autolink&&(e=`autolink`);let n=e?[...t,a.mdPack.create({key:e})]:t,c=Wr.get(l),u=c?[...n,a[c].create()]:n;r.children.length===0?W(o,r.from,r.to,u):qr(r.children,u,r.from,r.to,i,a,o,s)}c=r.to}c<r&&W(o,c,r,t)}function Jr(e){let t=-1,n=-1,r=null,i=null,a=0;for(let o of e.children)o.type===U.LinkMark?(a++,a===1&&(t=o.to),a===2&&(n=o.from)):o.type===U.URL&&r===null?r=o:o.type===U.LinkTitle&&i===null&&(i=o);return{labelFrom:t,labelTo:n,urlNode:r,titleNode:i}}function Yr(e){let t=e.split(/[?#]/,1)[0],n=t.split(/[/\\]/).findLast(Boolean)??t;try{return decodeURIComponent(n)}catch{return n}}function Xr(e,t,n,r,i){let a=i?.resolveFileLink;if(!a)return;let{labelFrom:o,labelTo:s,urlNode:c,titleNode:l}=Jr(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?Kr(n.slice(l.from,l.to)):``;if(!a({href:u,label:d,title:f}))return;let p=d||Yr(u);return[...t,r.mdFile.create({href:u,name:p,title:f})]}function Zr(e,t,n,r,i){let{labelTo:a,urlNode:o,titleNode:s}=Jr(e),c=o?n.slice(o.from,o.to):``,l=s?Kr(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;W(i,m,t.from,e)}let e=d(t.from)?[...p,u]:p;if(t.type===U.Wikilink){ti(t,e,n,r,i),m=t.to;continue}let a=Wr.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?W(i,t.from,t.to,o):qr(t.children,o,t.from,t.to,n,r,i,void 0),m=t.to}m<e.to&&W(i,m,e.to,p)}function Qr(e,t,n){if(!t||t.type!==U.Comment||t.from!==e.to)return;let r=Lr(n.slice(t.from,t.to));if(r)return{magic:r,to:t.to}}function $r(e,t,n,r,i,a){let o=e.children.find(e=>e.type===U.URL);if(!o){Zr(e,t,n,r,i);return}let s=e.children.filter(e=>e.type===U.LinkMark),c=e.children.find(e=>e.type===U.LinkTitle),l=n.slice(o.from,o.to),u=s.length>=2?n.slice(s[0].to,s[1].from):``,d=c?Kr(n.slice(c.from,c.to)):``,f=a?.magic.width??null,p=a?.magic.height??null,m=a?.to??e.to;W(i,e.from,m,[...t,r.mdImage.create({src:l,alt:u,title:d,width:f,height:p})])}function ei(e,t,n,r,i){let a=e.children.filter(e=>e.type===U.InlineMathMark);if(a.length<2){W(i,e.from,e.to,t);return}let o=n.slice(a[0].to,a[1].from),s=[...t,r.mdPack.create({key:`math`}),r.mdMath.create({formula:o})];W(i,e.from,a[0].to,[...s,r.mdMark.create()]),W(i,a[0].to,a[1].from,s),W(i,a[1].from,e.to,[...s,r.mdMark.create()])}function ti(e,t,n,r,i){let{target:a,display:o}=Vr(n.slice(e.from,e.to));W(i,e.from,e.to,[...t,r.mdWikilink.create({target:a,display:o})])}function W(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&ir(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const ni=`inline-marks-applied`;let ri=0,ii=0;function ai(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 oi(e){let t=new WeakMap;function n(n,r,i){let a=t.get(n);if(a?ii++:(ri++,a=Gr(Fo(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(ni))return null;let i=r(n,ai(e,n));if(i.length===0)return null;let a=n.tr.step(new z(i));return a.setMeta(ni,!0),a.setMeta(`addToHistory`,!1),a},view(e){return e.dispatch(si(e.state)),{}}})}function si(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function ci(e){return h(oi(e))}function li(){return d({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 ui(){return d({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function di(){return d({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function fi(){return d({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function pi(){return d({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function mi(){return d({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 hi(){return d({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function gi(){return d({name:`mdLinkTitle`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-title`},0],parseDOM:[{tag:`span.md-link-title`}]})}function _i(){return d({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function vi(){return d({name:`mdHighlight`,toDOM:()=>[`mark`,0],parseDOM:[{tag:`mark`}]})}function yi(){return d({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function bi(){return d({name:`mdWikilink`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink`},0],parseDOM:[{tag:`span.md-wikilink`}]})}function xi(){return d({name:`mdFile`,inclusive:!1,attrs:{href:{default:``},name:{default:``},title:{default:``}},toDOM:()=>[`span`,{class:`md-file`},0],parseDOM:[{tag:`span.md-file`}]})}function Si(){return d({name:`mdMath`,inclusive:!1,attrs:{formula:{default:``}},toDOM:()=>[`span`,{class:`md-math`},0],parseDOM:[{tag:`span.md-math`}]})}function Ci(){return d({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 wi(){return _(ui(),di(),fi(),pi(),mi(),hi(),gi(),_i(),vi(),yi(),bi(),li(),xi(),Si(),Ci())}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 Ei(e,t=0){return Ti(e,96,t)}const G={em:{node:U.Emphasis,delim:`*`},strong:{node:U.StrongEmphasis,delim:`**`},code:{node:U.InlineCode,delim:"`"},del:{node:U.Strikethrough,delim:`~~`},highlight:{node:U.Highlight,delim:`==`}},Di=new Set([U.EmphasisMark,U.CodeMark,U.LinkMark,U.StrikethroughMark,U.HighlightMark]);function Oi(e){return[e.children[0],e.children.at(-1)]}function ki(e){let{type:t,children:n}=e;if(t===U.Emphasis||t===U.StrongEmphasis||t===U.Strikethrough||t===U.Highlight)return[n[0].to,n.at(-1).from];if(t===U.Link||t===U.Image){let e=n.find((e,t)=>t>0&&e.type===U.LinkMark);return e?[n[0].to,e.from]:null}return null}function Ai(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=ki(r);return i&&i[0]<=t&&n<=i[1]?Ai(r.children,t,n):Ai(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function ji(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return ji(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}function Mi(e,t,n){for(;t<n&&B(e.charCodeAt(t));)t++;for(;n>t&&B(e.charCodeAt(n-1));)n--;return[t,n]}function Ni(e,t,n,r){let i=H(V(e),e=>e.type===r.node||Di.has(e.type));for(let r=t;r<n;r++)if(!B(e.charCodeAt(r))&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function Pi(e,t,n,r,i){let a=V(e),o=H(a,e=>e.type===r.node);return i?Li(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]=Ai(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]=Oi(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=Ii(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function Ii(e,t,n,r,i){if(i.node!==U.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(Ei(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function Li(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=Oi(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=ji(a.children.slice(1,-1),s,c);s>t.to&&B(e.charCodeAt(s-1));)s--;for(;c<o.from&&B(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 Ri(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=V(e),o=H(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=Oi(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return zi(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function zi(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=ki(n);return!e||t<e[0]||t>e[1]||zi(n.children,t)}return!1}function K(e){return(t,n)=>{if(t.selection.empty)return Bi(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]=Mi(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:Ni(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>Pi(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 Bi(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=Ri(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 s({toggleEm:()=>K(G.em),toggleStrong:()=>K(G.strong),toggleCode:()=>K(G.code),toggleDel:()=>K(G.del),toggleHighlight:()=>K(G.highlight)})}function Hi(){return u({"Mod-b":K(G.strong),"Mod-i":K(G.em),"Mod-e":K(G.code),"Mod-Shift-x":K(G.del),"Mod-Shift-h":K(G.highlight)})}function Ui(){return _(Vi(),Hi())}function Wi(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 q(e,t){let n=D(e,t,`mdLinkText`),r=D(e,t,`mdPack`,{key:`link`})??D(e,t,`mdPack`,{key:`autolink`}),i=r??n;if(!i)return;let a=r?.mark.attrs,o=n?.mark.attrs?.href??``;if(!r||a?.key!==`link`){let t={from:i.from,to:i.to};return{unit:t,text:a?.key===`autolink`?Wi(e,t,`mdLinkText`)??{from:i.from+1,to:i.to-1}:t,href:o,title:``}}let s=Wi(e,i,`mdLinkUri`),c=s?s.from-2:i.to-3,l=s?s.from:i.to-1,u={from:i.from+1,to:c};return{unit:{from:i.from,to:i.to},text:u,label:u,dest:{from:l,to:i.to-1},href:a.data.href,title:a.data.title}}function Gi(e){let t=e.trim();return t?ur(t)??t:``}function Ki(e,t){return e+(t?` "${t.replaceAll(/(["\\])/g,String.raw`\$1`)}"`:``)}function qi(e){let{selection:t}=e,{$from:n,$to:r,empty:i}=t;if(i||!n.sameParent(r)||!g(t))return;let a=n.parent;if(!a.isTextblock||a.type.spec.code)return;let o=n.start(),[s,c]=Mi(a.textContent,n.parentOffset,r.parentOffset);if(!(s>=c))return{from:o+s,to:o+c}}function Ji({href:e,title:t,wrapText:n=!0}={}){return(r,i)=>{let a=qi(r);if(!a)return!1;if(i){let{from:o,to:s}=a,c=r.tr,l=`](${Ki(Gi(e??``),t??``)})`;c.insertText(l,s).insertText(`[`,o);let u=s+1+l.length;c.setSelection(n?x.create(c.doc,o,u):x.create(c.doc,u)),c.scrollIntoView(),i(c)}return!0}}function Yi(e){return(t,n)=>{let r=q(t,t.selection.from);if(!r?.dest)return!1;let i=Ki(Gi(e.href??r.href),e.title??r.title);return n&&n(t.tr.insertText(i,r.dest.from,r.dest.to).scrollIntoView()),!0}}function Xi(){return(e,t)=>{let n=q(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 Zi(){return s({insertLink:Ji,updateLink:Yi,removeLink:Xi})}function Qi(e){return(t,n,r)=>{let i=q(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=qi(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 $i(e){return u({"Mod-k":Qi(e)})}function ea(e){return e===`)`||e===`*`||e===`+`?e:void 0}function ta(e){return e===`X`?e:void 0}function na(e){return aa(e)?String(e):void 0}function ra(){return p({type:`list`,attr:`marker`,default:null,splittable:!0,toDOM:e=>{let t=ea(e);return t==null?null:[`data-list-marker`,t]},parseDOM:e=>{let t=e.getAttribute(`data-list-marker`);return t===`)`||t===`*`||t===`+`?t:null}})}function ia(){return p({type:`list`,attr:`taskMarker`,default:null,splittable:!0,toDOM:e=>{let t=ta(e);return t==null?null:[`data-list-task-marker`,t]},parseDOM:e=>e.getAttribute(`data-list-task-marker`)===`X`?`X`:null})}function aa(e){return e===2||e===3||e===4}function oa(){return p({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>{let t=na(e);return t==null?null:[`data-list-marker-gap`,t]},parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return aa(t)?t:1}})}function sa(e){let t=e.attrs;return{...st(e),"data-list-marker":ea(t.marker),"data-list-task-marker":ta(t.taskMarker),"data-list-marker-gap":na(t.markerGap)}}function ca(){return o({serializeFragmentWrapper:e=>(...t)=>la(ut(e(...t))),serializeNodeWrapper:e=>(...t)=>{let n=e(...t);return _e(n)?la(ut(n)):n},nodesFromSchemaWrapper:e=>(...t)=>({...e(...t),list:e=>dt({node:e,nativeList:!0,getAttributes:sa})})})}function la(e){_e(e)&&ua(e);for(let t of e.children)la(t);return e}function ua(e){if(!e.classList.contains(`prosemirror-flat-list`)||e.getAttribute(`data-list-kind`)!==`task`||e.children.length!==2)return;let t=e.children.item(0);if(!t||!t.classList.contains(`list-marker`))return;let n=ct(t);if(!n)return;let r=e.children.item(1);if(!r||!r.classList.contains(`list-content`))return;let i=r.children.item(0);!i||![`P`,`H1`,`H2`,`H3`,`H4`,`H5`,`H6`].includes(i.tagName)||(e.replaceChildren(...r.children),i.prepend(n))}const da=[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?\[([\sX]?)\]\s$/i,({match:e})=>({kind:`task`,checked:[`x`,`X`].includes(e[1]),collapsed:!1})),E(/^\s?\+\s$/,{kind:`task`,marker:`+`,checked:!1,collapsed:!1})];function fa(){return _(da.map(Ne))}function pa(){return T({kind:`task`,marker:`+`})}function ma(){return T({kind:`task`,marker:null})}function ha(){return s({wrapInCircleTask:pa,wrapInSquareTask:ma})}function ga(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 _a(){return(e,t,n)=>{let r=ga(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 va(){return(e,t,n)=>{let r=ga(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 ya(e){return e.type.name===`list`&&e.attrs.kind===`bullet`&&e.childCount>=2&&e.firstChild?.type!==e.type}const ba=e=>{let t=e.attrs;return t.kind===`task`?{...t,checked:!t.checked}:ya(e)?{...t,collapsed:!t.collapsed}:t};function xa(){return h(()=>[new y({props:{handleDOMEvents:{mousedown:(e,t)=>lt({view:e,event:t,onListClick:ba})}}}),it(),new y({props:{transformCopied:ft}}),at()])}function Sa(){return s({toggleListCollapsed:()=>ot({isToggleable:ya})})}function Ca(){return u({"Mod-Enter":_a(),"Mod-Shift-Enter":va(),"Mod-.":ot({isToggleable:ya}),"Mod-Shift-7":rt({kind:`ordered`,collapsed:!1}),"Mod-Shift-8":rt({kind:`bullet`,collapsed:!1}),"Mod-Shift-9":rt({kind:`task`,checked:!1,collapsed:!1})})}function wa(){return _(tt(),xa(),et(),Qe(),ca(),$e(),fa(),Ca(),ra(),ia(),oa(),ha(),Sa())}let Ta;function Ea(){return Ta??=import(`katex`).then(e=>e.render),Ta}function Da(e,t,n,r){try{e(n,t,{displayMode:r,throwOnError:!1,output:`mathml`})}catch(e){t.textContent=String(e)}}var Oa=class{#e;#t;#n;#r;constructor(e,t){this.#r=e.attrs.formula,this.#e=document.createElement(`span`),this.#e.className=`md-math-view`,this.#n=document.createElement(`span`),this.#n.className=`md-math-view-preview`,this.#n.dataset.testid=`math-preview`,this.#n.contentEditable=`false`,this.#n.addEventListener(`mousedown`,e=>{e.preventDefault();let n=t.posAtDOM(this.#t,0);if(n<0)return;let r=x.near(t.state.doc.resolve(n),1);t.dispatch(t.state.tr.setSelection(r)),t.focus()}),this.#t=document.createElement(`span`),this.#t.className=`md-math-view-content`,this.#e.appendChild(this.#n),this.#e.appendChild(this.#t),this.#i()}get dom(){return this.#e}get contentDOM(){return this.#t}update(e){let t=e.attrs.formula;return t!==this.#r&&(this.#r=t,this.#i()),!0}ignoreMutation(e){return!this.#t.contains(e.target)}#i(){let e=this.#r;Ea().then(t=>{e===this.#r&&Da(t,this.#n,e,!1)})}};function ka(){return f({name:`mdMath`,constructor:(e,t)=>new Oa(e,t)})}function Aa(e){return e===`left`||e===`center`||e===`right`?e:null}function ja(){return p({type:`tableCell`,attr:`align`,default:null,toDOM:e=>e?[`data-align`,e]:null,parseDOM:e=>Aa(e.getAttribute(`data-align`))})}function Ma(){return p({type:`tableHeaderCell`,attr:`align`,default:null,toDOM:e=>e?[`data-align`,e]:null,parseDOM:e=>Aa(e.getAttribute(`data-align`))})}function Na(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 Pa(e){return e.child(Na(e))}function Fa(e,t){return t>=e.childCount?null:e.child(t).attrs.align??null}function Ia(e,t,n){if(e.childCount===0)return;let r=Pa(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=Fa(r,e);(t.attrs.align??null)!==i&&n.setNodeMarkup(o,void 0,{...t.attrs,align:i}),o+=t.nodeSize}i+=a.nodeSize}}function La(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=La(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,Ia(e,t,s),!1):!0),s?.docChanged?s:void 0}})}function za(){return h(Ra())}function Ba(e){let{selection:t}=e;if(xt(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 Va(e){return(t,n)=>{let r=Ba(t);if(!r||r.table.childCount===0)return!1;if(n){let{table:i,tablePos:a,firstColumn:o,lastColumn:s}=r,c=Na(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 Ha(e){let t=Ba(e);if(!(!t||t.table.childCount===0))return Fa(Pa(t.table),t.lastColumn)??void 0}function Ua(){return s({setTableColumnAlign:Va})}function Wa(){return _(ja(),Ma(),za(),Ua())}function Ga(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 Ka=`paragraph`;function qa(){return _(m({name:`tableCell`,content:Ka}),m({name:`tableHeaderCell`,content:Ka}))}const Ja=(e,t)=>{let{selection:n}=e;return!xt(n)||!n.isColSelection()||!n.isRowSelection()?!1:bt(e,t)};function Ya(){return v(u({Backspace:Ja,Delete:Ja}),t.high)}function Xa(){return _(yt(),vt(),pt(),_t(),qa(),Wa(),gt({allowTableNodeSelection:!0}),mt(),ht(),Ya())}function Za(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 Qa(e){return(t,n)=>{if(Ga(t))return!1;let r=Za(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)?Te.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)=>nt(e)(t,n,r)||Qa(e===`up`?-1:1)(t,n,r)}function eo(){return u({"Alt-ArrowUp":$a(`up`),"Alt-ArrowDown":$a(`down`)})}function to(){return m({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function no(){return _(v(to(),t.highest),St(),Ct())}const J=new b(`meowdownPendingReplacement`);function Y(e){return J.getState(e)?.pending??null}function ro(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 io=new y({key:J,state:{init:()=>({pending:null}),apply:(e,t)=>{let n=e.getMeta(J);if(n)return ro(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=Y(e);return!t||t.from>=t.to?null:C.create(e.doc,[S.inline(t.from,t.to,{class:`md-pending-replacement`})])}}});function ao(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(J,{type:`start`,from:r,to:i,mode:a})),!0)}}function oo(e){return(t,n)=>Y(t)?(n?.(t.tr.setMeta(J,{type:`append`,text:e})),!0):!1}function so(){return(e,t)=>Y(e)?(t?.(e.tr.setMeta(J,{type:`discard`})),!0):!1}function co(e={}){return(t,n)=>{let r=Y(t);if(!r||!r.text.trim())return!1;if(n){let i=e.mode??r.mode,a=Lo(t.schema),o=Z(r.text,{nodes:a}),s=t.tr;if(s.setMeta(J,{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 lo(){return s({startPendingReplacement:ao,appendPendingReplacementText:oo,acceptPendingReplacement:co,discardPendingReplacement:so})}function uo(){return u({"Mod-Enter":co(),Escape:so()})}function fo(){return _(h(io),lo(),uo())}function po(e){return h(new y({view:()=>({update:(t,n)=>{let r=J.getState(n),i=J.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 mo(e,t){return(n,r)=>{let i=e<0?Ee.atStart(n.doc):Ee.atEnd(n.doc),a=t?x.between(n.selection.$anchor,i.$head):i;return n.selection.eq(a)||r?.(n.tr.setSelection(a).scrollIntoView()),!0}}function ho(){return u({"Meta-ArrowUp":mo(-1,!1),"Meta-ArrowDown":mo(1,!1),"Shift-Meta-ArrowUp":mo(-1,!0),"Shift-Meta-ArrowDown":mo(1,!0)})}function go(e){return e.left===e.right&&e.top===e.bottom}function X(e,t,n){if(t<0||t>e.state.doc.content.size)return;let r;try{r=e.coordsAtPos(t,n)}catch{return}return go(r)?void 0:r}function _o(e){e.offsetWidth}const vo=new b(`meowdown-virtual-caret`),yo=[`md-virtual-caret-blink`,`md-virtual-caret-blink2`];function bo(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 xo(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=X(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 So(e){let t=e.state,n=t.selection.head;for(let r of Ht){let i=D(t,n,r);if(i==null||i.from!==n&&i.to!==n)continue;let a=Co(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 Co(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 wo(e){let t=e.height*.19999999999999996;return{left:e.left,top:e.top-t/2,height:e.height+t}}function To(e){let t=bo(e)??xo(e);return t==null?So(e):wo(t)}function Eo(e,t){return e==null||t==null?e===t:e.left===t.left&&e.top===t.top&&e.height===t.height}var Do=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=yo[this.#s]}#l=()=>{let e=this.#e;if(e.isDestroyed)return;let t=e.state,n=t.selection,r=g(n)&&n.empty?To(e):void 0,i=r!=null&&k(t)===`hide`?Hn(t,n.head):void 0;if(Eo(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&&(_o(this.#n),this.#n.style.transitionProperty=``)}};function Oo(){return h(new y({key:vo,view:e=>new Do(e)}))}function ko(e){return _(no(),be(),Tn(),Ce(),ye(),wa(),jn(),Xa(),gn(),er(),tr(),wi(),sn(),wn(),eo(),ho(),ci(e),Ui(),Zi(),Ur(),ka(),Lt(e.markMode??`focus`),Oo(),Qn(),en({marks:Ht.map(e=>({name:e,modes:[`hide`,`focus`,`show`]}))}),a(),i(),l(),xe(),we(),Se(),Sn(),fo())}function Ao(e={}){return ko(e)}const jo=ve(()=>{let e=Ao().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),Mo=ve(()=>r(jo())),No=ve(()=>n(jo())),Po=`meowdown_mark_builders`;function Fo(e){let t=e.cached[Po];if(t)return t;let r=n(e);return e.cached[Po]=r,r}const Io=`meowdown_node_builders`;function Lo(e){let t=e.cached[Io];if(t)return t;let n=r(e);return e.cached[Io]=n,n}function Z(e,t={}){let{nodes:n=Mo(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=zo(e);i=t,n&&(a=e.slice(n))}let o=Bo(n,Nr.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const Ro=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function zo(e){let t=Ro.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function Bo(e,t,n){let r=[];if(!t.firstChild())return r;let i;do i!=null&&Vo(r,e,n,i,t.from),i=t.to,r.push(...Ho(e,t,n));while(t.nextSibling());return t.parent(),r}function Vo(e,t,n,r,i){let a=0;for(let e=r;e<i;e++)n.charCodeAt(e)===10&&a++;for(let n=2;n<a;n++)e.push(t.paragraph())}function Ho(e,t,n){switch(t.type.id){case U.ATXHeading1:return[Q(e,t,n,1,!1)];case U.ATXHeading2:return[Q(e,t,n,2,!1)];case U.ATXHeading3:return[Q(e,t,n,3,!1)];case U.ATXHeading4:return[Q(e,t,n,4,!1)];case U.ATXHeading5:return[Q(e,t,n,5,!1)];case U.ATXHeading6:return[Q(e,t,n,6,!1)];case U.SetextHeading1:return[Q(e,t,n,1,!0)];case U.SetextHeading2:return[Q(e,t,n,2,!0)];case U.Paragraph:return[Jo(e,t,n)];case U.CommentBlock:return[Yo(e,t,n)];case U.HTMLBlock:case U.ProcessingInstructionBlock:return[Jo(e,t,n)];case U.Blockquote:return[Xo(e,t,n)];case U.BulletList:return Zo(e,t,n,`bullet`);case U.OrderedList:return Zo(e,t,n,`ordered`);case U.FencedCode:case U.CodeBlock:return[$o(e,t,n)];case U.BlockMath:return[es(e,t,n)];case U.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case U.Table:return[ts(e,t,n)];case U.Task:return[Jo(e,t,n)];default:return n.slice(t.from,t.to).trim()===``?[]:(console.warn(`[meowdown] unsupported lezer block "${t.type.name}"`),[Jo(e,t,n)])}}function Q(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===U.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===U.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=Ko(n.slice(o,s),$(n,o)).trim(),d=i?Uo(n,c,l)||1:null,f=!i&&c>=0&&Wo(n,c,l)||null;return e.heading({level:r,setextUnderline:d,closingHashes:f},u)}function Uo(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 Wo(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 $(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 Go(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 Ko(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:Go(e,t)).join(`
|
|
6
|
+
`)}function qo(e,t,n){return e.paragraph(Ko(t,n))}function Jo(e,t,n){let r=t.from,i=t.to,a=$(n,r);if(t.firstChild()){let o=``,s=r;do t.type.id===U.QuoteMark&&(o+=n.slice(s,t.from),s=t.to,B(n.charCodeAt(s))&&(s+=1));while(t.nextSibling());return t.parent(),o+=n.slice(s,i),qo(e,o,a)}return qo(e,n.slice(r,i),a)}function Yo(e,t,n){let r=$(n,t.from),i=Ko(n.slice(t.from,t.to),r);return e.htmlComment({content:i})}function Xo(e,t,n){let r=[];if(t.firstChild()){let i;do{if(t.type.id===U.QuoteMark)continue;i!=null&&Vo(r,e,n,i,t.from),i=t.to,r.push(...Ho(e,t,n))}while(t.nextSibling());t.parent()}return e.blockquote(r)}function Zo(e,t,n,r){let i=[];if(t.firstChild()){do t.type.id===U.ListItem&&i.push(Qo(e,t,n,r));while(t.nextSibling());t.parent()}return i}function Qo(e,t,n,r){let i=[],a,o,s,c,l,u;if(t.firstChild()){do{if(t.type.id!==U.ListMark&&u==null&&(u=$(n,t.from)),t.type.id===U.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=$(n,t.to);continue}if(r===`bullet`&&t.type.id===U.Task){let r=t.from,s=t.to;if(a=!1,t.firstChild()){if(t.type.id===U.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()}B(n.charCodeAt(r))&&(r+=1);let c=n.slice(r,s);i.push(qo(e,c,$(n,r)));continue}i.push(...Ho(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 $o(e,t,n){let r=t.type.id===U.CodeBlock,i=``,a=``,o=r?`indented`:null,s=null,c=!1;if(t.firstChild()){do switch(t.type.id){case U.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 U.CodeInfo:i=n.slice(t.from,t.to);break;case U.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 es(e,t,n){let r=``;if(t.firstChild()){do t.type.id===U.CodeText&&(r+=n.slice(t.from,t.to));while(t.nextSibling());t.parent()}return e.codeBlock({language:`math`,fenceStyle:`dollar`,fenceLength:null},r)}function ts(e,t,n){let r=[];if(t.firstChild()){do t.type.id===U.TableDelimiter&&(r=ns(n.slice(t.from,t.to)));while(t.nextSibling());t.parent()}let i=[];if(t.firstChild()){do{let a=t.type.id;a===U.TableHeader?i.push(rs(e,t,n,!0,r)):a===U.TableRow&&i.push(rs(e,t,n,!1,r))}while(t.nextSibling());t.parent()}return e.table(i)}function ns(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 rs(e,t,n,r,i){let a=i.length,o=Array(a).fill(``);if(t.firstChild()){let e=t.type.id===U.TableDelimiter,r=0;do if(t.type.id===U.TableDelimiter)r++;else if(t.type.id===U.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 is(e,t={}){let n=new cs;return t.frontmatter&&as(e.attrs.frontmatter,n),ls(e,n),n.finish()}function as(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 os=[``,`# `,`## `,`### `,`#### `,`##### `,`###### `];function ss(e,t){let n=e.attrs,r=n.setextUnderline;if(r!=null&&e.content.size>0&&n.level<=2){ps(e,t);let i=n.level===1?`=`:`-`;t.write(`
|
|
9
|
+
`+i.repeat(Math.max(1,r))),t.closeBlock();return}t.write(os[n.level]??`# `),ps(e,t);let i=n.closingHashes;i!=null&&i>0&&t.write(` `+`#`.repeat(i)),t.closeBlock()}var cs=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])}closeEmptyBlock(){if(!this.atLineStart||this.pendingFirst!==null){this.closeBlock();return}this.parts.length!==0&&(this.emitDeferredBlankLine(),this.deferredBlankPrefix=this.linePrefix)}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 ls(e,t){switch(e.type.name){case`doc`:us(e,t);return;case`paragraph`:if(e.childCount===0){t.closeEmptyBlock();return}ps(e,t),t.closeBlock();return;case`heading`:ss(e,t);return;case`blockquote`:t.withPrefix(`> `,`> `,()=>us(e,t)),t.closeBlock();return;case`list`:ms(e,t,fs(e));return;case`codeBlock`:hs(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`:vs(e,t);return;case`text`:e.text&&t.write(e.text);return}}function us(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(),ls(a,t),i++;continue}let o=i+1;for(;o<r&&e.child(o).type.name===`list`;)o++;let s=ds(e,i,o);for(let r=i;r<o;r++)(r===i?n&&i>0:s)&&t.suppressBlank(),ms(e.child(r),t,s);i=o}}function ds(e,t,n){for(let r=t;r<n;r++)if(!fs(e.child(r)))return!1;return!0}function fs(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 ps(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 ms(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)}`,h=r===`task`?`${m}[${l?f:` `}] `:m,ee=` `.repeat(m.length);t.withPrefix(ee,h,()=>us(e,t,n)),t.closeBlock()}function hs(e,t){let n=e.attrs,r=n.language||``,i=e.textContent;if(n.fenceStyle===`indented`&&!r){let e=gs(i);if(e!=null){t.write(e),t.closeBlock();return}}if(n.fenceStyle===`dollar`&&r===`math`&&!_s(i)){t.write(`$$`),t.write(`
|
|
16
16
|
`),i&&(t.write(i),t.write(`
|
|
17
|
-
`)),t.write(`$$`),t.closeBlock();return}let a=n.fenceStyle===`tilde`,o=
|
|
17
|
+
`)),t.write(`$$`),t.closeBlock();return}let a=n.fenceStyle===`tilde`,o=Ti(i,a?126:96,2)+1,s=(a?`~`:"`").repeat(Math.max(n.fenceLength??0,o));t.write(s),r&&t.write(r),t.write(`
|
|
18
18
|
`),i&&(t.write(i),t.write(`
|
|
19
|
-
`)),t.write(s),t.closeBlock()}function
|
|
19
|
+
`)),t.write(s),t.closeBlock()}function gs(e){if(e===``)return;let t=e.split(`
|
|
20
20
|
`);if(!(t[0]===``||t[t.length-1]===``)){for(let e=0;e<t.length;e++)t[e]!==``&&(t[e]=` ${t[e]}`);return t.join(`
|
|
21
|
-
`)}}function
|
|
22
|
-
`).some(e=>e.trim()===`$$`)}function
|
|
21
|
+
`)}}function _s(e){return e.split(`
|
|
22
|
+
`).some(e=>e.trim()===`$$`)}function vs(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(xs(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(ys(n))}let c=`| `+s.join(` | `)+` |`,l=a>=0?r[a]:Array(i).fill(``);t.write(bs(l,i)),t.write(`
|
|
23
23
|
`),t.write(c);for(let e=0;e<n;e++)e!==a&&(t.write(`
|
|
24
|
-
`),t.write(
|
|
24
|
+
`),t.write(bs(r[e],i)));t.closeBlock()}function ys(e){switch(e){case`left`:return`:--`;case`center`:return`:-:`;case`right`:return`--:`;default:return`---`}}function bs(e,t){let n=`|`;for(let r=0;r<t;r++)n+=` `+(e[r]??``)+` |`;return n}function xs(e){let t=e.textContent.trim();return!t.includes(`|`)&&!t.includes(`
|
|
25
25
|
`)?t:t.replaceAll(`|`,String.raw`\|`).replaceAll(`
|
|
26
|
-
`,` `)}function
|
|
27
|
-
`).filter(e=>!
|
|
28
|
-
`)}const Ps=new b(`meowdown-embed-paste`);function Fs(e){let t=e.trim();if(!(!t||/\s/.test(t)))return Ms(t)?t:void 0}function Is(e,t){let{from:n,to:r}=e.state.selection;e.dispatch(xt(e.state.tr.insertText(t,n,r)));let i=e.state.tr.insertText(``,n,n+t.length);e.dispatch(xt(i))}function Ls(){return m(new y({key:Ps,props:{handlePaste:(e,t,n)=>{let r=e.state.selection.$from.parent;if(!r.inlineContent||r.type.spec.code)return!1;let i=Ns(t,n);if(!i)return!1;let a=Fs(i);return a?(Is(e,a),!0):!1}}}))}const Rs=new b(`meowdown-exit-boundary`);function zs(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&&Te.findFrom(a,t))}function Bs(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:zs(n,t)}function Vs(e){return new y({key:Rs,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||Bs(t,r)||e({direction:r<0?`up`:`down`,event:n})===!1)}}})}function Hs(e){return _(m(Vs(e)),t.low)}function Us(e){return!!e.type?.startsWith(`image/`)}function Ws(e,t){return Us(e)?``:`[${qs(e.name)}](${t})`}function Gs(e,t){return!e||!t.onFilePaste?[]:Array.from(e.files)}const Ks=e=>{console.error(`[meowdown] failed to save pasted file:`,e)};function qs(e){return e.replaceAll(/[\\[\]]/g,String.raw`\$&`)}async function Js(e,t,n,r){let{onFilePaste:i}=n;if(!i)return;let a=n.onFileSaveError??Ks,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=Ws(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=Gs(n.clipboardData,e);return r.length===0?!1:(Js(t,r,e),!0)},handleDrop:(t,n)=>{let r=Gs(n.dataTransfer,e);return r.length===0?!1:(Js(t,r,e,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function Xs(e={}){return _(m(Ys(e)),t.high)}const Zs=new b(`meowdown-file-click`);function Qs(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 $s(e){return m(new y({key:Zs,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=Qs(t.state,t.posAtDOM(a,0));return o?(e({href:o.href,name:o.name,event:r}),!0):!1}}}))}const ec=[`KB`,`MB`,`GB`,`TB`];function tc(e){let t=e,n=`B`;for(let e of ec){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 nc=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 rc(e){let t=e.split(/[?#]/,1)[0],n=t.lastIndexOf(`.`);if(n<0)return`generic`;let r=t.slice(n+1).toLowerCase();return nc.get(r)??`generic`}const ic=`http://www.w3.org/2000/svg`;function ac(){let e=document.createElementNS(ic,`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(ic,`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 oc=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=rc(this.#a.href),this.#n.title=this.#a.name,this.#e.appendChild(this.#n),this.#n.appendChild(ac()),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=tc(n))}};function sc(e={}){return d({name:`mdFile`,constructor:t=>new oc(t,e)})}function cc(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 lc=new b(`meowdown-tag-click`);function uc(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 dc(e){return cc({key:lc,selector:`.md-tag`,preventDefault:!1,findPayloadAt:(e,t)=>uc(e,t)?.tag,onClick:(t,n)=>e({tag:t,event:n})})}const fc=new b(`meowdown-wikilink-click`);function pc(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 mc(e){return cc({key:fc,selector:`.md-wikilink-view-preview`,preventDefault:!1,findPayloadAt:(e,t)=>pc(e,t)?.target,onClick:(t,n)=>e({target:t,event:n})})}const hc=new b(`meowdown-follow-link`);function gc(e){return e.key!==`Enter`||e.shiftKey||e.altKey?!1:ie?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}function _c(e){return new y({key:hc,props:{handleKeyDown:(t,n)=>{if(!gc(n))return!1;let{state:r}=t,i=r.selection.head,a=e.onWikilinkClick&&pc(r,i);if(a)return e.onWikilinkClick?.({target:a.target,event:n}),!0;let o=e.onTagClick&&uc(r,i);if(o)return e.onTagClick?.({tag:o.tag,event:n}),!0;let s=e.onFileClick&&Qs(r,i);if(s)return e.onFileClick?.({href:s.href,name:s.name,event:n}),!0;let c=e.onLinkClick&&q(r,i);return c?(e.onLinkClick?.({href:c.href,event:n}),!0):!1}}})}function vc(e){return _(m(_c(e)),t.high)}const yc=(e,t)=>{let n={type:`highlight`,children:e.all(t)};return e.patch(t,n),n},bc=(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 xc(){return Et().use(St).use(Ct,{handlers:{mark:yc}}).use(wt).use(Tt,{bullet:`-`,emphasis:`*`,strong:`*`,fence:"`",fences:!0,rule:`-`,ruleRepetition:3,listItemIndent:`one`,handlers:{highlight:bc}}).freeze()}const Sc=v(xc);function Cc(e){return String(Sc().processSync(e))}const wc=new b(`meowdown-html-paste`);function Tc(){return m(new y({key:wc,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=Cc(e);if(!r.trim())return e;let i=Z(r,{nodes:Eo(t.state.schema)}),a=Ie.fromSchema(t.state.schema),o=document.createElement(`div`);return o.append(a.serializeFragment(i.content)),o.innerHTML}}}))}const Ec=new b(`meowdown-image-click`);function Dc(e){return e instanceof HTMLElement&&e.closest(`.md-image-view-preview`)}function Oc(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 kc(e,t){let n=t.closest(`.md-image-view`)?.querySelector(`.md-image-view-content`);if(n)return Oc(e.state,e.posAtDOM(n,0))}function Ac(e,t){return Array.from(e).find(e=>e.identifier===t)}function jc(e,t){return Math.abs(t.clientX-e.clientX)<=10&&Math.abs(t.clientY-e.clientY)<=10}function Mc(e){let t=new WeakMap;return m(new y({key:Ec,props:{handleDOMEvents:{pointerdown:(e,t)=>(Dc(t.target)&&t.pointerType!==`mouse`&&t.preventDefault(),!1),touchstart:(e,n)=>{if(t.delete(e),n.touches.length!==1||!Dc(n.target)||n.target instanceof HTMLElement&&n.target.closest(`.md-image-resize-handle`))return!1;let r=n.changedTouches[0];return r&&t.set(e,{identifier:r.identifier,clientX:r.clientX,clientY:r.clientY}),!1},touchmove:(e,n)=>{let r=t.get(e);if(!r)return!1;let i=Ac(n.changedTouches,r.identifier);return i&&!jc(r,i)&&t.delete(e),!1},touchcancel:e=>(t.delete(e),!1),touchend:(n,r)=>{let i=t.get(n);if(t.delete(n),!i||r.touches.length>0)return!1;let a=Ac(r.changedTouches,i.identifier);if(!a||!jc(i,a))return!1;let o=Dc(r.target);if(!o)return!1;r.preventDefault();let s=kc(n,o);return s&&e({src:s.src,alt:s.alt,event:r}),!0}},handleClick:(t,n,r)=>{let i=Dc(r.target);if(!i)return!1;let a=kc(t,i);return a?(e({src:a.src,alt:a.alt,event:r}),!0):!1}}}))}function Nc(e){return/^https?:\/\//i.test(e)?e:void 0}function Pc(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`&&Ts(t),t}function Fc(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 Ic(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=Ir(o),c=a.from+s.length,l=o.slice(s.length),u=Fr({...Nr(l)??{},width:Math.round(n),height:Math.round(r)});u!==l&&e.dispatch(e.state.tr.insertText(u,c,a.to))}var Lc=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)&&Fc(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=Ms(e);if(t){let e=document.createElement(`span`);return e.className=`md-image-view-preview md-atom-view-preview`,e.appendChild(Pc(t)),e}let n=(this.#n.resolveImageUrl??Nc)(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){Ot(),Dt();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,Fc(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)),Fc(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;Ic(this.#r,this.#t,t,n)}),this.#a=t,this.#o=n,t}};function Rc(e={}){return d({name:`mdImage`,constructor:(t,n)=>new Lc(t,n,e)})}const zc={"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`,"Meta-ArrowUp":`Move the caret to the document start`,"Meta-ArrowDown":`Move the caret to the document end`,"Shift-Meta-ArrowUp":`Select to the document start`,"Shift-Meta-ArrowDown":`Select to the document end`,Escape:`Collapse the selection`},Bc=new b(`meowdown-link-click`);function Vc(e){return cc({key:Bc,selector:`.md-link`,preventDefault:!0,findPayloadAt:(e,t)=>q(e,t)?.href,onClick:(t,n)=>e({href:t,event:n})})}function Hc(e){let t,n=(n,r)=>{let i=r.target;if(!i||!_e(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 Uc(e){return Hc({selector:`.md-link`,findPayloadAt:(e,t)=>q(e,t),onHoverChange:e})}const Wc=new b(`meowdown-link-paste`);function Gc(e){let t=e.trim();if(!(!t||/\s/.test(t)))return or(t)}function Kc(){return _(m(new y({key:Wc,props:{handlePaste:(e,t,n)=>{let r=Ns(t,n);if(!r)return!1;let i=Gc(r);return i?kn(e,Wi({href:i,wrapText:!1})):!1}}})),t.high)}const qc=new b(`meowdown-markdown-copy`);function Jc(){return m(new y({key:qc,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?qo(r).replace(/\n+$/,``):n.textBetween(0,n.size,`
|
|
26
|
+
`,` `)}function Ss(e){return e.replace(/\n+$/u,``)}function Cs(e){return/^[\s>]*$/u.test(e)}function ws(e){return e.split(`
|
|
27
|
+
`).filter(e=>!Cs(e))}function Ts(e){return e.trim().replaceAll(/\s+/gu,` `)}function Es(e,t={}){let n=is(Z(e,{frontmatter:t.frontmatter}),{frontmatter:t.frontmatter});if(Ss(n)===Ss(e))return`exact`;let r=ws(e),i=ws(n);return r.length===i.length&&r.every((e,t)=>Ts(e)===Ts(i[t]))?`normalizing`:`lossy`}const Ds=(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 Os(){return v(u({Enter:Ds}),t.high)}const ks=new Set([`MscGen`,`Xù`,`MsGenny`,`Angular Template`,`Brainfuck`,`Esper`,`Oz`,`Factor`,`Squirrel`,`Yacas`,`mIRC`,`FCL`,`ECL`,`MUMPS`,`Pig`,`Asterisk`,`Z80`,`Mathematica`]),As=Oe.map(e=>({label:e.name,value:e.name.toLowerCase()})).filter(e=>!ks.has(e.label)).concat([{label:`Plain text`,value:``},{label:`Math`,value:`math`}]).sort((e,t)=>e.label.localeCompare(t.label));function js(){return typeof window>`u`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}const Ms=/^(?:www\.|mobile\.)?(?:twitter\.com|x\.com)$/i,Ns=/\/status(?:es)?\/(\d+)/;function Ps(e){let t;try{t=new URL(e)}catch{return}if(Ms.test(t.hostname))return Ns.exec(t.pathname)?.[1]}const Fs=e=>{let t=Ps(e);if(!t)return;let n=js()?`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 Is(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 Ls=/^(?:www\.|m\.)?(?:youtube\.com|youtube-nocookie\.com)$/i,Rs=/^(?:www\.)?youtu\.be$/i,zs=/^[\w-]{11}$/;function Bs(e){let t;try{t=new URL(e)}catch{return}let n=null;if(Rs.test(t.hostname))n=t.pathname.slice(1);else if(Ls.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||!zs.test(n))return;let r=t.searchParams.get(`start`)??t.searchParams.get(`t`),i=r?Vs(r):void 0;return{videoId:n,startSeconds:i}}function Vs(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 Hs=[e=>{let t=Bs(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}},Fs];function Us(e){for(let t of Hs){let n=t(e);if(n)return n}}function Ws(e,t){return e.clipboardData?.getData(`text/plain`)||t.content.textBetween(0,t.content.size,`
|
|
28
|
+
`)}const Gs=new b(`meowdown-embed-paste`);function Ks(e){let t=e.trim();if(!(!t||/\s/.test(t)))return Us(t)?t:void 0}function qs(e,t){let{from:n,to:r}=e.state.selection;e.dispatch(wt(e.state.tr.insertText(t,n,r)));let i=e.state.tr.insertText(``,n,n+t.length);e.dispatch(wt(i))}function Js(){return h(new y({key:Gs,props:{handlePaste:(e,t,n)=>{let r=e.state.selection.$from.parent;if(!r.inlineContent||r.type.spec.code)return!1;let i=Ws(t,n);if(!i)return!1;let a=Ks(i);return a?(qs(e,a),!0):!1}}}))}const Ys=new b(`meowdown-exit-boundary`);function Xs(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&&Ee.findFrom(a,t))}function Zs(e,t){let{state:n}=e,{selection:r}=n;return g(r)&&!r.empty||re(r)||r.$from.parent.inlineContent&&!e.endOfTextblock(t<0?`up`:`down`)?!0:Xs(n,t)}function Qs(e){return new y({key:Ys,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||Zs(t,r)||e({direction:r<0?`up`:`down`,event:n})===!1)}}})}function $s(e){return v(h(Qs(e)),t.low)}function ec(e){return!!e.type?.startsWith(`image/`)}function tc(e,t){return ec(e)?``:`[${ic(e.name)}](${t})`}function nc(e,t){return!e||!t.onFilePaste?[]:Array.from(e.files)}const rc=e=>{console.error(`[meowdown] failed to save pasted file:`,e)};function ic(e){return e.replaceAll(/[\\[\]]/g,String.raw`\$&`)}async function ac(e,t,n,r){let{onFilePaste:i}=n;if(!i)return;let a=n.onFileSaveError??rc,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=tc(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 oc(e){return new y({key:new b(`file-paste`),props:{handlePaste:(t,n)=>{let r=nc(n.clipboardData,e);return r.length===0?!1:(ac(t,r,e),!0)},handleDrop:(t,n)=>{let r=nc(n.dataTransfer,e);return r.length===0?!1:(ac(t,r,e,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function sc(e={}){return v(h(oc(e)),t.high)}const cc=new b(`meowdown-file-click`);function lc(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 uc(e){return h(new y({key:cc,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=lc(t.state,t.posAtDOM(a,0));return o?(e({href:o.href,name:o.name,event:r}),!0):!1}}}))}const dc=[`KB`,`MB`,`GB`,`TB`];function fc(e){let t=e,n=`B`;for(let e of dc){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 pc=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 mc(e){let t=e.split(/[?#]/,1)[0],n=t.lastIndexOf(`.`);if(n<0)return`generic`;let r=t.slice(n+1).toLowerCase();return pc.get(r)??`generic`}const hc=`http://www.w3.org/2000/svg`;function gc(){let e=document.createElementNS(hc,`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(hc,`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 _c=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=mc(this.#a.href),this.#n.title=this.#a.name,this.#e.appendChild(this.#n),this.#n.appendChild(gc()),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=fc(n))}};function vc(e={}){return f({name:`mdFile`,constructor:t=>new _c(t,e)})}function yc(e){return h(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 bc=new b(`meowdown-tag-click`);function xc(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 Sc(e){return yc({key:bc,selector:`.md-tag`,preventDefault:!1,findPayloadAt:(e,t)=>xc(e,t)?.tag,onClick:(t,n)=>e({tag:t,event:n})})}const Cc=new b(`meowdown-wikilink-click`);function wc(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 Tc(e){return yc({key:Cc,selector:`.md-wikilink-view-preview`,preventDefault:!1,findPayloadAt:(e,t)=>wc(e,t)?.target,onClick:(t,n)=>e({target:t,event:n})})}const Ec=new b(`meowdown-follow-link`);function Dc(e){return e.key!==`Enter`||e.shiftKey||e.altKey?!1:ie?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}function Oc(e){return new y({key:Ec,props:{handleKeyDown:(t,n)=>{if(!Dc(n))return!1;let{state:r}=t,i=r.selection.head,a=e.onWikilinkClick&&wc(r,i);if(a)return e.onWikilinkClick?.({target:a.target,event:n}),!0;let o=e.onTagClick&&xc(r,i);if(o)return e.onTagClick?.({tag:o.tag,event:n}),!0;let s=e.onFileClick&&lc(r,i);if(s)return e.onFileClick?.({href:s.href,name:s.name,event:n}),!0;let c=e.onLinkClick&&q(r,i);return c?(e.onLinkClick?.({href:c.href,event:n}),!0):!1}}})}function kc(e){return v(h(Oc(e)),t.high)}const Ac=(e,t)=>{let n={type:`highlight`,children:e.all(t)};return e.patch(t,n),n},jc=(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 Mc(){return kt().use(Tt).use(Et,{handlers:{mark:Ac}}).use(Dt).use(Ot,{bullet:`-`,emphasis:`*`,strong:`*`,fence:"`",fences:!0,rule:`-`,ruleRepetition:3,listItemIndent:`one`,handlers:{highlight:jc}}).freeze()}const Nc=ve(Mc);function Pc(e){return String(Nc().processSync(e))}const Fc=new b(`meowdown-html-paste`);function Ic(){return h(new y({key:Fc,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=Pc(e);if(!r.trim())return e;let i=Z(r,{nodes:Lo(t.state.schema)}),a=Ie.fromSchema(t.state.schema),o=document.createElement(`div`);return o.append(a.serializeFragment(i.content)),o.innerHTML}}}))}const Lc=new b(`meowdown-image-click`);function Rc(e){return e instanceof HTMLElement&&e.closest(`.md-image-view-preview`)}function zc(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 Bc(e,t){let n=t.closest(`.md-image-view`)?.querySelector(`.md-image-view-content`);if(n)return zc(e.state,e.posAtDOM(n,0))}function Vc(e,t){return Array.from(e).find(e=>e.identifier===t)}function Hc(e,t){return Math.abs(t.clientX-e.clientX)<=10&&Math.abs(t.clientY-e.clientY)<=10}function Uc(e){let t=new WeakMap;return h(new y({key:Lc,props:{handleDOMEvents:{pointerdown:(e,t)=>(Rc(t.target)&&t.pointerType!==`mouse`&&t.preventDefault(),!1),touchstart:(e,n)=>{if(t.delete(e),n.touches.length!==1||!Rc(n.target)||n.target instanceof HTMLElement&&n.target.closest(`.md-image-resize-handle`))return!1;let r=n.changedTouches[0];return r&&t.set(e,{identifier:r.identifier,clientX:r.clientX,clientY:r.clientY}),!1},touchmove:(e,n)=>{let r=t.get(e);if(!r)return!1;let i=Vc(n.changedTouches,r.identifier);return i&&!Hc(r,i)&&t.delete(e),!1},touchcancel:e=>(t.delete(e),!1),touchend:(n,r)=>{let i=t.get(n);if(t.delete(n),!i||r.touches.length>0)return!1;let a=Vc(r.changedTouches,i.identifier);if(!a||!Hc(i,a))return!1;let o=Rc(r.target);if(!o)return!1;r.preventDefault();let s=Bc(n,o);return s&&e({src:s.src,alt:s.alt,event:r}),!0}},handleClick:(t,n,r)=>{let i=Rc(r.target);if(!i)return!1;let a=Bc(t,i);return a?(e({src:a.src,alt:a.alt,event:r}),!0):!1}}}))}function Wc(e){return/^https?:\/\//i.test(e)?e:void 0}function Gc(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`&&Is(t),t}function Kc(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 qc(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=Br(o),c=a.from+s.length,l=o.slice(s.length),u=zr({...Lr(l)??{},width:Math.round(n),height:Math.round(r)});u!==l&&e.dispatch(e.state.tr.insertText(u,c,a.to))}var Jc=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)&&Kc(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=Us(e);if(t){let e=document.createElement(`span`);return e.className=`md-image-view-preview md-atom-view-preview`,e.appendChild(Gc(t)),e}let n=(this.#n.resolveImageUrl??Wc)(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){jt(),At();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,Kc(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)),Kc(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;qc(this.#r,this.#t,t,n)}),this.#a=t,this.#o=n,t}};function Yc(e={}){return f({name:`mdImage`,constructor:(t,n)=>new Jc(t,n,e)})}const Xc={"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`,"Meta-ArrowUp":`Move the caret to the document start`,"Meta-ArrowDown":`Move the caret to the document end`,"Shift-Meta-ArrowUp":`Select to the document start`,"Shift-Meta-ArrowDown":`Select to the document end`,Escape:`Collapse the selection`},Zc=new b(`meowdown-link-click`);function Qc(e){return yc({key:Zc,selector:`.md-link`,preventDefault:!0,findPayloadAt:(e,t)=>q(e,t)?.href,onClick:(t,n)=>e({href:t,event:n})})}function $c(e){let t,n=(n,r)=>{let i=r.target;if(!i||!_e(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 _(c(`mouseover`,(e,t)=>n(e,t)),c(`mouseout`,(e,t)=>r(t)))}function el(e){return $c({selector:`.md-link`,findPayloadAt:(e,t)=>q(e,t),onHoverChange:e})}const tl=new b(`meowdown-link-paste`);function nl(e){let t=e.trim();if(!(!t||/\s/.test(t)))return ur(t)}function rl(){return v(h(new y({key:tl,props:{handlePaste:(e,t,n)=>{let r=Ws(t,n);if(!r)return!1;let i=nl(r);return i?Mn(e,Ji({href:i,wrapText:!1})):!1}}})),t.high)}const il=new b(`meowdown-markdown-copy`);function al(){return h(new y({key:il,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?is(r).replace(/\n+$/,``):n.textBetween(0,n.size,`
|
|
29
29
|
`,`
|
|
30
|
-
`)}}}))}function
|
|
30
|
+
`)}}}))}function ol({allowEmpty:e}){return(t,n)=>{let{selection:r}=t;if(!g(r)||!e&&r.empty||!r.$head.sameParent(r.$anchor)||r.$head.parent.type.spec.code)return!1;let i=t.doc.textBetween(r.from,r.to);if(i.startsWith(`[[`))return!1;i.startsWith(`[`)&&(i=i.slice(1));let a=`[[`+i;if(n){let e=t.tr.insertText(a,r.from,r.to);e.setSelection(x.create(e.doc,r.from+a.length)),Fe(e),n(e.scrollIntoView())}return!0}}function sl(){return u({"Mod-Shift-k":ol({allowEmpty:!0}),"[":ol({allowEmpty:!1})})}function cl(e){let{selection:t,schema:n}=e;if(t.empty)return``;let r=t.content().content;try{return is(n.topNodeType.create(null,r)).replace(/\n+$/,``)}catch{return e.doc.textBetween(t.from,t.to,`
|
|
31
31
|
|
|
32
|
-
`)}}function
|
|
32
|
+
`)}}function ll(e,t){let n=new DOMRect(0,0,0,0),r=()=>{if(e.isDestroyed)return n;let r=X(e,t.from,1)??X(e,t.from,-1),i=X(e,t.to,-1)??X(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 ul(e){return e instanceof He||e instanceof Ue||e instanceof We||e instanceof Ge||e instanceof z}function dl(e){for(let t of e)for(let e of t.steps)if(!ul(e))return!0;return!1}function fl(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){dl(e)&&o()},view(e){return t=e,{destroy(){t=void 0}}}}}function pl(e){let t=new b(`spell-check`);return new y({key:t,state:{init:()=>fl(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 ml(e){return h(pl(e))}export{Xc as EDITOR_KEY_BINDINGS,e as Priority,tc as buildFileMarkdown,Es as checkRoundTrip,As as codeBlockLanguages,Wc as defaultResolveImageUrl,Os as defineBulletAfterHeading,pe as defineCodeBlockPreviewPlugin,sn as defineCodeBlockSyntaxHighlight,Ao as defineEditorExtension,Js as defineEmbedPaste,$s as defineExitBoundaryHandler,uc as defineFileClickHandler,sc as defineFilePaste,vc as defineFileView,kc as defineFollowLinkHandler,tr as defineHTMLComment,Ic as defineHTMLPaste,Yc as defineImage,Uc as defineImageClickHandler,Qc as defineLinkClickHandler,Zi as defineLinkCommands,$i as defineLinkEditKeymap,el as defineLinkHoverHandler,rl as defineLinkPaste,al as defineMarkdownCopy,ka as defineMath,po as definePendingReplacementHandler,he as definePlaceholder,ge as defineReadonly,ml as defineSpellCheckPlugin,Sc as defineTagClickHandler,Tc as defineWikilinkClickHandler,sl as defineWikilinkTrigger,is as docToMarkdown,ln as getCodeTokens,q as getLinkUnitAt,No as getMarkBuilders,Y as getPendingReplacement,cl as getSelectedText,Ha as getTableColumnAlign,ll as getVirtualElementFromRange,Gr as inlineTextToMarkChunks,Ji as insertLink,me as isCodeBlockPreviewHiddenDecoration,Ga as isSelectionInTableCell,Is as listenForTweetHeight,Ea as loadKaTeX,Z as markdownToDoc,Us as matchEmbed,Xi as removeLink,Da as renderMathInto,Yi as updateLink,le as withPriority};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meowdown/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.43.1",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"@lezer/markdown": "^1.6.4",
|
|
27
27
|
"@ocavue/utils": "^1.7.0",
|
|
28
28
|
"@prosekit/core": "^0.13.0-beta.5",
|
|
29
|
-
"@prosekit/extensions": "^0.18.0-beta.
|
|
29
|
+
"@prosekit/extensions": "^0.18.0-beta.15",
|
|
30
30
|
"@prosekit/pm": "^0.1.19-beta.2",
|
|
31
|
-
"@prosekit/web": "^0.9.0-beta.
|
|
31
|
+
"@prosekit/web": "^0.9.0-beta.20",
|
|
32
32
|
"katex": "^0.17.0",
|
|
33
33
|
"prosemirror-flat-list": "^0.7.1",
|
|
34
34
|
"prosemirror-highlight": "^0.15.2",
|