@meowdown/core 0.42.0 → 0.43.0
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 +14 -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:
|
|
@@ -249,6 +248,13 @@ interface PositionRange {
|
|
|
249
248
|
interface LinkUnit {
|
|
250
249
|
/** Whole `[text](url "title")` (or autolink) range */
|
|
251
250
|
unit: PositionRange;
|
|
251
|
+
/**
|
|
252
|
+
* The visible text of the link: the `[ ]` interior for a full link, the URL
|
|
253
|
+
* between `< >` for an angle autolink, the whole unit for a bare autolink.
|
|
254
|
+
* Popovers anchor on it; the unit's edges can sit inside hidden syntax,
|
|
255
|
+
* whose collapsed glyphs measure at bogus coordinates.
|
|
256
|
+
*/
|
|
257
|
+
text: PositionRange;
|
|
252
258
|
/** Interior of `[ ]`. Absent for an autolink. */
|
|
253
259
|
label?: PositionRange;
|
|
254
260
|
/** Interior of `( )`. What `updateLink` rewrites. Absent for an autolink. */
|
|
@@ -274,11 +280,7 @@ interface LinkAttrs {
|
|
|
274
280
|
href?: string;
|
|
275
281
|
title?: string;
|
|
276
282
|
}
|
|
277
|
-
declare function insertLink({
|
|
278
|
-
href,
|
|
279
|
-
title,
|
|
280
|
-
wrapText
|
|
281
|
-
}?: {
|
|
283
|
+
declare function insertLink({ href, title, wrapText }?: {
|
|
282
284
|
href?: string;
|
|
283
285
|
title?: string;
|
|
284
286
|
wrapText?: boolean;
|
|
@@ -386,12 +388,12 @@ interface FileLinkOptions {
|
|
|
386
388
|
* with positions relative to the start of `text` (i.e. zero-based).
|
|
387
389
|
* Callers shift the chunks into the document's coordinate space.
|
|
388
390
|
*/
|
|
389
|
-
declare function inlineTextToMarkChunks(
|
|
390
|
-
|
|
391
|
-
marks: TypedMarkBuilders,
|
|
392
|
-
|
|
393
|
-
text: string,
|
|
394
|
-
|
|
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. */
|
|
395
397
|
options?: FileLinkOptions): MarkChunk[];
|
|
396
398
|
//#endregion
|
|
397
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 Ft(e){return Lt(e,void 0)}function It(e){return Lt(e,{key:`math`})}function Lt(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 Rt=[`mdImage`,`mdWikilink`,`mdFile`];function A(e,t){let n=k(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function zt(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=zt(e,t,n);return r&&r.to===t?r:void 0}function Bt(e,t,n){let r=zt(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=zt(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){return(t,n)=>{let r=A(e,t);if(r.length===0||!h(t.selection))return!1;let i=t.selection;if(i.empty){let e=Bt(t,i.from,r);if(e)return n?.(t.tr.setSelection(Ht(t,e))),!0;if(j(t,i.from,r)){let e=t.doc.resolve(i.from);return i.from>=e.end()?!1:(n?.(t.tr.setSelection(x.create(t.doc,i.from+1))),!0)}return!1}let a=Vt(t,r);return a?(n?.(t.tr.setSelection(x.create(t.doc,a.to))),!0):!1}}function Wt(e){return(t,n)=>{let r=A(e,t);if(r.length===0||!h(t.selection))return!1;let i=t.selection;if(i.empty){let e=j(t,i.from,r);return e?(n?.(t.tr.setSelection(Ht(t,e))),!0):!1}let a=Vt(t,r);return a?(n?.(t.tr.setSelection(x.create(t.doc,a.from))),!0):!1}}function Gt(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):!Bt(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function Kt(e){return(t,n)=>{let r=A(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=Bt(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 Jt(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=Vt(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 Yt({marks:e}){return g(_(l({ArrowRight:Ut(e),ArrowLeft:Wt(e),Backspace:Gt(e),Delete:Kt(e)}),t.high),m(Jt(e)))}const M=new Map,Xt=new Map,Zt={math:`latex`};async function Qt(e){let t=M.get(e);if(t!==void 0)return t;let n=Ee.matchLanguageName(De,Zt[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 $t(e,t){let n=Xt.get(e);if(n)return n;let r=Ae({parse:e=>t.language.parser.parse(e.content),highlighter:Oe});return Xt.set(e,r),r}const en=e=>{let t=e.language?.trim();if(!t)return[];let n=M.get(t);return n===null?[]:n?$t(t,n)(e):Qt(t).then(()=>void 0)};function tn(){return fe({parser:en,nodeTypes:[`codeBlock`]})}function nn(e,t){let n=t.language.parser.parse(e),r=[];return ke(n,Oe,(e,t,n)=>{r.push([e,t,n])}),r}function rn(e,t){let n=t.trim();if(!n)return[];let r=M.get(n);return r===null?[]:r?nn(e,r):Qt(n).then(t=>t?nn(e,t):[])}function an(){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 on(){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 sn(e){return{language:e[1]||``,fenceStyle:`tilde`}}function cn(){return Ne({regex:/^~~~(\S*)\s$/,type:`codeBlock`,attrs:sn})}function ln(){return je({regex:/^~~~(\S*)$/,type:`codeBlock`,attrs:sn})}function un(){return je({regex:/^\$\$$/,type:`codeBlock`,attrs:()=>({language:`math`,fenceStyle:`dollar`})})}function dn(){return g(de(),an(),on(),cn(),ln(),un())}function fn(e,t){return(n,r)=>{if(r){let i=x.create(n.doc,e,t);r(n.tr.setSelection(i))}return!0}}function pn(e,t,n){return(r,i)=>{if(i){let a=x.between(e,t,n);i(r.tr.setSelection(a))}return!0}}function mn(e){return(t,n)=>{if(!e.trim())return!1;let r=Z(e,{nodes:wo(t.schema)}).content;if(r.childCount===0)return!1;let i=r.childCount===1&&r.child(0).type.name===`paragraph`?new w(r,1,1):new w(r,0,w.maxOpen(r).openEnd);if(n){let e=t.tr,r=e.selection;(!h(r)||!r.empty)&&e.setSelection(x.near(r.$from)),n(e.replaceSelection(i).scrollIntoView())}return!0}}function hn(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);Pe(s),n(s.scrollIntoView())}return!0}}function gn(){return(e,t)=>(t&&t(e.tr.scrollIntoView()),!0)}function _n(){return o({insertMarkdown:mn,insertTrigger:hn,scrollIntoView:gn,selectText:fn,selectTextBetween:pn})}const vn=(e,t,n)=>{let{selection:r}=e;return r.empty||n?.composing?!1:(t?.(e.tr.setSelection(x.near(r.$head))),!0)};function yn(){return _(l({Escape:vn}),t.low)}function bn(){return f({type:`doc`,attr:`frontmatter`,default:null})}function xn(){return p({name:`heading`,whitespace:`pre`})}function Sn(){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 Cn(){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 wn=(e,t,n)=>ae(e,n)?.parent.type.name===`heading`?ce()(e,t,n):!1;function Tn(){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:wn})}function En(){return g(ze(),xn(),Sn(),Cn(),Re(),Le(),Tn())}function Dn(e,t){return t(e.state,e.dispatch,e)}const On=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]);function kn(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=kn(e,t);return n==null?!1:n.some(e=>On.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 An(e,t){return P(e,t-1)&&P(e,t)}function jn(e,t){if(!An(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 Mn(e,t,n){let r=kn(e,t);return r!=null&&n.isInSet(r)}function Nn(e,t){let n=kn(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&&Mn(e,r-1,n);)r--;let i=t+1;for(;i<s&&Mn(e,i,n);)i++;(c==null||i-r<c.to-c.from)&&(c={from:r,to:i})}return c}function Pn(e,t,n){let r=Nn(e,n===`from`?t.from:t.to-1);return r==null?!1:n===`from`?r.from===t.from:r.to===t.to}function Fn(e,t,n){let r=Pn(e,t,`from`),i=Pn(e,t,`to`);return r&&!i?t.from:i&&!r?t.to:n-t.from<=t.to-n?t.from:t.to}function In(e,t,n,r){if(!F(e,n))return n;let i=jn(e,n);if(i!=null)return r?Fn(e,i,n):n>=t?i.to:i.from;if(!r)return n;let a=I(e,n);if(a!=null&&Pn(e,a,`from`))return a.from;let o=L(e,n);return o!=null&&Pn(e,o,`to`)?o.to:n}function Ln(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 Rn(e,t){let n=Nn(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 zn=new b(`meowdown-hidden-run-snap`),Bn=new b(`meowdown-hidden-run-beforeinput`);function Vn(){let e=!1;return new y({key:zn,props:{handleDOMEvents:{compositionstart:()=>(e=!0,!1),compositionend:()=>(e=!1,!1)}},appendTransaction:(t,n,r)=>{if(e||k(r)!==`hide`)return null;let i=r.selection;if(!h(i))return null;let a=t.some(e=>e.getMeta(`pointer`)!=null);if(i.empty){let e=In(r,n.selection.head,i.head,a);return e===i.head?null:r.tr.setSelection(x.create(r.doc,e))}let o=jn(r,i.from)?.from??i.from,s=jn(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 Hn=(e,t)=>{if(k(e)!==`hide`)return!1;let n=e.selection;if(!h(n)||!n.empty)return!1;let r=In(e,n.head,n.head,!0);return r===n.head||t?.(e.tr.setSelection(x.create(e.doc,r))),!1};function Un(e){return(t,n)=>{if(k(t)!==`hide`)return!1;let r=t.selection;if(!h(r)||!r.empty)return!1;let i=r.$head;if(!i.parent.isTextblock||i.parent.type.spec.code)return!1;let a=e===-1?I(t,r.head):L(t,r.head);if(a==null)return!1;let o=Rn(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 Wn=Un(-1),Gn=Un(1);function Kn(){return new y({key:Bn,props:{handleDOMEvents:{beforeinput:(e,t)=>{if(e.composing)return!1;let n=t.inputType===`deleteContentBackward`?Wn:t.inputType===`deleteContentForward`?Gn:void 0;return n==null||!Dn(e,n)?!1:(t.preventDefault(),!0)}}}})}function qn(){return g(m(Vn()),m(Kn()),_(l({Enter:Hn,Backspace:Wn,Delete:Gn}),t.highest))}function Jn(){return f({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function Yn(){return g(Be(),Jn())}function Xn(){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 Zn(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function Qn(e,t){let[n,r,i]=t;return[n,r,i.map(t=>Ie.fromJSON(e,t))]}function $n(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 R=class e extends Ke{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return qe.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=Ie.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($n(l,c))return!1;n??=new Je(e);for(let e of l)n.removeMark(i,a,e);for(let e of c)n.addMark(i,a,e);return!1})}return qe.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return er;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 Ge(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(Zn)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>Qn(t,e)))}};Ke.jsonID(`batchSetMark`,R);const er=new R([]),tr=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),nr=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function rr(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function ir(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!tr.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!nr.test(e))return!1;return!0}function ar(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)||ir(rr(e)))return`https://${e}`}function z(e){return e===32||e===9||e===10||e===13}const or=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,sr=/[\s(*_~]/;function cr(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function lr(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function ur(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&lr(e,t,`)`)>lr(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 dr={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!cr(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!sr.test(r))return-1;let i=or.exec(e.slice(n,e.end));if(!i)return-1;let a=ur(i[0]);return a===0||!ir(rr(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function fr(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 pr(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const mr={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(!fr(t))break;i||=pr(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},hr={resolve:`Highlight`,mark:`HighlightMark`},gr=/[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~\u{A1}\u{2010}-\u{2027}]/u,_r={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=gr.test(r),c=gr.test(i);return e.addDelimiter(hr,n,n+2,!o&&(!c||a||s),!a&&(!s||o||c))}}]};function vr(e){return e>=48&&e<=57}function yr(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 br(e){let t=e.depth;return typeof t==`number`?t:2**53-1}const xr={defineNodes:[{name:`InlineMath`},{name:`InlineMathMark`},{name:`BlockMath`,block:!0},{name:`BlockMathMark`}],parseBlock:[{name:`BlockMath`,before:`FencedCode`,parse(e,t){if(!yr(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()||br(t)<e.depth);n=!1){if(yr(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 yr(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(z(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||z(e.char(t-1))||vr(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}}]},Sr=/^[a-z][a-z0-9+.-]*:\/\/[^\s<]+/i;function Cr(e){return e>=65&&e<=90||e>=97&&e<=122}const wr={parseInline:[{name:`SchemeAutolink`,after:`Autolink`,parse(e,t,n){if(!Cr(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!sr.test(r))return-1;let i=Sr.exec(e.slice(n,e.end));if(!i)return-1;let a=ur(i[0]);return a<=i[0].indexOf(`://`)+3?-1:e.addElement(e.elt(`URL`,n,n+a))}}]},Tr={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 Er(e){return e.end}const Dr=Xe.configure([Ye,mr,Tr,dr,wr,_r,xr]),Or=Dr.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:Er}]});function B(e){return Dr.parseInline(e,0)}function V(e,t,n=[]){for(let r of e)t(r)&&n.push(r),V(r.children,t,n);return n}function kr(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const H=kr(Dr),Ar=/^<!--\s*(\{[^}]*\})\s*-->$/,jr=/<!--\s*\{[^}]*\}\s*-->$/;function Mr(e){let t=Ar.exec(e.trim());if(!t)return;let n;try{n=JSON.parse(t[1])}catch{return}if(typeof n!=`object`||!n)return;let r=Nr(n);return Object.keys(r).length>0?r:void 0}function Nr(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 Pr(e){return`<!-- ${JSON.stringify(e)} -->`}function Fr(e){return e.replace(jr,``)}function Ir(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 Lr(){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 Rr(){return d({name:`mdWikilink`,constructor:Lr()})}const zr=new Map([[H.Emphasis,`mdEm`],[H.StrongEmphasis,`mdStrong`],[H.InlineCode,`mdCode`],[H.Strikethrough,`mdDel`],[H.Highlight,`mdHighlight`],[H.EmphasisMark,`mdMark`],[H.CodeMark,`mdMark`],[H.LinkMark,`mdMark`],[H.StrikethroughMark,`mdMark`],[H.HighlightMark,`mdMark`],[H.URL,`mdLinkUri`],[H.LinkTitle,`mdLinkTitle`],[H.Hashtag,`mdTag`],[H.WikilinkMark,`mdMark`]]);function Br(e,t,n){let r=B(t),i=[];return Hr(r,[],0,t.length,t,e,i,n),i}function Vr(e){return e.slice(1,-1).replaceAll(/\\(.)/g,`$1`)}function Hr(e,t,n,r,i,a,o,s){let c=n;for(let n=0;n<e.length;n++){let r=e[n];r.from>c&&U(o,c,r.from,t);let l=r.type;if(l===H.Link){let e=Gr(r,t,i,a,s);e?U(o,r.from,r.to,e):Kr(r,t,i,a,o)}else if(l===H.Image){let s=qr(r,e[n+1],i);Jr(r,t,i,a,o,s),s&&n++,c=s?s.to:r.to;continue}else if(l===H.Wikilink)Xr(r,t,i,a,o);else if(l===H.InlineMath)Yr(r,t,i,a,o);else if(l===H.URL){let e=ar(i.slice(r.from,r.to)),n=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();U(o,r.from,r.to,[...t,n])}else{let e;l===H.Emphasis?e=`italic`:l===H.StrongEmphasis?e=`bold`:l===H.InlineCode?e=`code`:l===H.Strikethrough?e=`strike`:l===H.Highlight?e=`highlight`:l===H.Autolink&&(e=`autolink`);let n=e?[...t,a.mdPack.create({key:e})]:t,c=zr.get(l),u=c?[...n,a[c].create()]:n;r.children.length===0?U(o,r.from,r.to,u):Hr(r.children,u,r.from,r.to,i,a,o,s)}c=r.to}c<r&&U(o,c,r,t)}function Ur(e){let t=-1,n=-1,r=null,i=null,a=0;for(let o of e.children)o.type===H.LinkMark?(a++,a===1&&(t=o.to),a===2&&(n=o.from)):o.type===H.URL&&r===null?r=o:o.type===H.LinkTitle&&i===null&&(i=o);return{labelFrom:t,labelTo:n,urlNode:r,titleNode:i}}function Wr(e){let t=e.split(/[?#]/,1)[0],n=t.split(/[/\\]/).findLast(Boolean)??t;try{return decodeURIComponent(n)}catch{return n}}function Gr(e,t,n,r,i){let a=i?.resolveFileLink;if(!a)return;let{labelFrom:o,labelTo:s,urlNode:c,titleNode:l}=Ur(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?Vr(n.slice(l.from,l.to)):``;if(!a({href:u,label:d,title:f}))return;let p=d||Wr(u);return[...t,r.mdFile.create({href:u,name:p,title:f})]}function Kr(e,t,n,r,i){let{labelTo:a,urlNode:o,titleNode:s}=Ur(e),c=o?n.slice(o.from,o.to):``,l=s?Vr(n.slice(s.from,s.to)):``,u=c?r.mdLinkText.create({href:c}):null,d=e=>a>=0&&e<a&&u!==null,f=r.mdPack.create({key:`link`,data:{href:c,title:l}}),p=[...t,f],m=e.from;for(let t of e.children){if(t.from>m){let e=d(m)?[...p,u]:p;U(i,m,t.from,e)}let e=d(t.from)?[...p,u]:p;if(t.type===H.Wikilink){Xr(t,e,n,r,i),m=t.to;continue}let a=zr.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?U(i,t.from,t.to,o):Hr(t.children,o,t.from,t.to,n,r,i,void 0),m=t.to}m<e.to&&U(i,m,e.to,p)}function qr(e,t,n){if(!t||t.type!==H.Comment||t.from!==e.to)return;let r=Mr(n.slice(t.from,t.to));if(r)return{magic:r,to:t.to}}function Jr(e,t,n,r,i,a){let o=e.children.find(e=>e.type===H.URL);if(!o){Kr(e,t,n,r,i);return}let s=e.children.filter(e=>e.type===H.LinkMark),c=e.children.find(e=>e.type===H.LinkTitle),l=n.slice(o.from,o.to),u=s.length>=2?n.slice(s[0].to,s[1].from):``,d=c?Vr(n.slice(c.from,c.to)):``,f=a?.magic.width??null,p=a?.magic.height??null,m=a?.to??e.to;U(i,e.from,m,[...t,r.mdImage.create({src:l,alt:u,title:d,width:f,height:p})])}function Yr(e,t,n,r,i){let a=e.children.filter(e=>e.type===H.InlineMathMark);if(a.length<2){U(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})];U(i,e.from,a[0].to,[...s,r.mdMark.create()]),U(i,a[0].to,a[1].from,s),U(i,a[1].from,e.to,[...s,r.mdMark.create()])}function Xr(e,t,n,r,i){let{target:a,display:o}=Ir(n.slice(e.from,e.to));U(i,e.from,e.to,[...t,r.mdWikilink.create({target:a,display:o})])}function U(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&$n(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const Zr=`inline-marks-applied`;let Qr=0,$r=0;function ei(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 ti(e){let t=new WeakMap;function n(n,r,i){let a=t.get(n);if(a?$r++:(Qr++,a=Br(So(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(Zr))return null;let i=r(n,ei(e,n));if(i.length===0)return null;let a=n.tr.step(new R(i));return a.setMeta(Zr,!0),a.setMeta(`addToHistory`,!1),a},view(e){return e.dispatch(ni(e.state)),{}}})}function ni(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function ri(e){return m(ti(e))}function ii(){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 ai(){return u({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function oi(){return u({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function si(){return u({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function ci(){return u({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function li(){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 ui(){return u({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function di(){return u({name:`mdLinkTitle`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-title`},0],parseDOM:[{tag:`span.md-link-title`}]})}function fi(){return u({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function pi(){return u({name:`mdHighlight`,toDOM:()=>[`mark`,0],parseDOM:[{tag:`mark`}]})}function mi(){return u({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function hi(){return u({name:`mdWikilink`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink`},0],parseDOM:[{tag:`span.md-wikilink`}]})}function gi(){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 _i(){return u({name:`mdMath`,inclusive:!1,attrs:{formula:{default:``}},toDOM:()=>[`span`,{class:`md-math`},0],parseDOM:[{tag:`span.md-math`}]})}function vi(){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 yi(){return g(ai(),oi(),si(),ci(),li(),ui(),di(),fi(),pi(),mi(),hi(),ii(),gi(),_i(),vi())}function bi(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 xi(e,t=0){return bi(e,96,t)}const W={em:{node:H.Emphasis,delim:`*`},strong:{node:H.StrongEmphasis,delim:`**`},code:{node:H.InlineCode,delim:"`"},del:{node:H.Strikethrough,delim:`~~`},highlight:{node:H.Highlight,delim:`==`}},Si=new Set([H.EmphasisMark,H.CodeMark,H.LinkMark,H.StrikethroughMark,H.HighlightMark]);function Ci(e){return[e.children[0],e.children.at(-1)]}function wi(e){let{type:t,children:n}=e;if(t===H.Emphasis||t===H.StrongEmphasis||t===H.Strikethrough||t===H.Highlight)return[n[0].to,n.at(-1).from];if(t===H.Link||t===H.Image){let e=n.find((e,t)=>t>0&&e.type===H.LinkMark);return e?[n[0].to,e.from]:null}return null}function Ti(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=wi(r);return i&&i[0]<=t&&n<=i[1]?Ti(r.children,t,n):Ti(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function Ei(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return Ei(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}function Di(e,t,n){for(;t<n&&z(e.charCodeAt(t));)t++;for(;n>t&&z(e.charCodeAt(n-1));)n--;return[t,n]}function Oi(e,t,n,r){let i=V(B(e),e=>e.type===r.node||Si.has(e.type));for(let r=t;r<n;r++)if(!z(e.charCodeAt(r))&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function ki(e,t,n,r,i){let a=B(e),o=V(a,e=>e.type===r.node);return i?Mi(e,o,t,n):Ai(e,a,o,t,n,r)}function Ai(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=Ti(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]=Ci(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=ji(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function ji(e,t,n,r,i){if(i.node!==H.InlineCode)return[i.delim,i.delim];let a=e.slice(t,n);for(let e of[...r].sort((e,t)=>t.from-e.from))a=a.slice(0,e.from-t)+a.slice(e.to-t);let o="`".repeat(xi(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function Mi(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=Ci(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=Ei(a.children.slice(1,-1),s,c);s>t.to&&z(e.charCodeAt(s-1));)s--;for(;c<o.from&&z(e.charCodeAt(c));)c++;s>t.to?i.push({from:s,to:s,insert:e.slice(o.from,o.to)}):i.push({from:t.from,to:t.to,insert:``}),c<o.from?i.push({from:c,to:c,insert:e.slice(t.from,t.to)}):i.push({from:o.from,to:o.to,insert:``})}return i}function Ni(e,t,n){let{delim:r}=n,i=r.length;if(e.slice(t-i,t)===r&&e.startsWith(r,t)&&e[t-i-1]!==r[0]&&e[t+i]!==r[0])return{kind:`unwrap`,from:t-i,to:t+i};let a=B(e),o=V(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=Ci(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return Pi(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function Pi(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=wi(n);return!e||t<e[0]||t>e[1]?!0:Pi(n.children,t)}return!1}function G(e){return(t,n)=>{if(t.selection.empty)return Fi(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]=Di(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:Oi(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>ki(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 Fi(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=Ni(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 Ii(){return o({toggleEm:()=>G(W.em),toggleStrong:()=>G(W.strong),toggleCode:()=>G(W.code),toggleDel:()=>G(W.del),toggleHighlight:()=>G(W.highlight)})}function Li(){return l({"Mod-b":G(W.strong),"Mod-i":G(W.em),"Mod-e":G(W.code),"Mod-Shift-x":G(W.del),"Mod-Shift-h":G(W.highlight)})}function Ri(){return g(Ii(),Li())}function zi(e,t,n){let r;return e.doc.nodesBetween(t.from,t.to,(e,i)=>(e.isText&&e.marks.some(e=>e.type.name===n)&&(r={from:Math.max(i,t.from),to:Math.min(i+e.nodeSize,t.to)}),!0)),r}function K(e,t){let n=D(e,t,`mdLinkText`),r=D(e,t,`mdPack`,{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`)return{unit:{from:i.from,to:i.to},href:o,title:``};let s=zi(e,i,`mdLinkUri`),c=s?s.from-2:i.to-3,l=s?s.from:i.to-1;return{unit:{from:i.from,to:i.to},label:{from:i.from+1,to:c},dest:{from:l,to:i.to-1},href:a.data.href,title:a.data.title}}function Bi(e){let t=e.trim();return t?ar(t)??t:``}function Vi(e,t){return e+(t?` "${t.replaceAll(/(["\\])/g,String.raw`\$1`)}"`:``)}function Hi(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]=Di(a.textContent,n.parentOffset,r.parentOffset);if(!(s>=c))return{from:o+s,to:o+c}}function Ui({href:e,title:t,wrapText:n=!0}={}){return(r,i)=>{let a=Hi(r);if(!a)return!1;if(i){let{from:o,to:s}=a,c=r.tr,l=`](${Vi(Bi(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 Wi(e){return(t,n)=>{let r=K(t,t.selection.from);if(!r?.dest)return!1;let i=Vi(Bi(e.href??r.href),e.title??r.title);return n&&n(t.tr.insertText(i,r.dest.from,r.dest.to).scrollIntoView()),!0}}function Gi(){return(e,t)=>{let n=K(e,e.selection.from);return n?.label?(t&&t(e.tr.delete(n.label.to,n.unit.to).delete(n.unit.from,n.label.from).scrollIntoView()),!0):!1}}function Ki(){return o({insertLink:Ui,updateLink:Wi,removeLink:Gi})}function qi(e){return(t,n,r)=>{let i=K(t,t.selection.from);if(i){if(n&&r){let{unit:{from:a,to:o}}=i;n(t.tr.setSelection(x.create(t.doc,a,o)).scrollIntoView()),r.focus(),e({from:a,to:o,link:i})}return!0}let a=Hi(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 Ji(e){return l({"Mod-k":qi(e)})}function Yi(){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 Xi(){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 Zi(e){return e===2||e===3||e===4}function Qi(){return f({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>Zi(e)?[`data-list-marker-gap`,String(e)]:null,parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return Zi(t)?t:1}})}const $i=[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 ea(){return g($i.map(Me))}function ta(){return T({kind:`task`,marker:`+`})}function na(){return T({kind:`task`,marker:null})}function ra(){return o({wrapInCircleTask:ta,wrapInSquareTask:na})}function ia(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 aa(){return(e,t,n)=>{let r=ia(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 oa(){return(e,t,n)=>{let r=ia(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 sa(e){return e.type.name===`list`&&e.attrs.kind===`bullet`&&e.childCount>=2&&e.firstChild?.type!==e.type}const ca=e=>{let t=e.attrs;return t.kind===`task`?{...t,checked:!t.checked}:sa(e)?{...t,collapsed:!t.collapsed}:t};function la(){return m(()=>[new y({props:{handleDOMEvents:{mousedown:(e,t)=>st({view:e,event:t,onListClick:ca})}}}),it(),new y({props:{transformCopied:ct}}),at()])}function ua(){return o({toggleListCollapsed:()=>ot({isToggleable:sa})})}function da(){return l({"Mod-Enter":aa(),"Mod-Shift-Enter":oa(),"Mod-.":ot({isToggleable:sa}),"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 fa(){return g(tt(),la(),$e(),Ze(),et(),Qe(),ea(),da(),Yi(),Xi(),Qi(),ra(),ua())}let pa;function ma(){return pa??=import(`katex`).then(e=>e.render),pa}function ha(e,t,n,r){try{e(n,t,{displayMode:r,throwOnError:!1,output:`mathml`})}catch(e){t.textContent=String(e)}}var ga=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;ma().then(t=>{e===this.#r&&ha(t,this.#n,e,!1)})}};function _a(){return d({name:`mdMath`,constructor:(e,t)=>new ga(e,t)})}function va(e){return e===`left`||e===`center`||e===`right`?e:null}function ya(){return f({type:`tableCell`,attr:`align`,default:null,toDOM:e=>e?[`data-align`,e]:null,parseDOM:e=>va(e.getAttribute(`data-align`))})}function ba(){return f({type:`tableHeaderCell`,attr:`align`,default:null,toDOM:e=>e?[`data-align`,e]:null,parseDOM:e=>va(e.getAttribute(`data-align`))})}function xa(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 Sa(e){return e.child(xa(e))}function Ca(e,t){return t>=e.childCount?null:e.child(t).attrs.align??null}function wa(e,t,n){if(e.childCount===0)return;let r=Sa(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=Ca(r,e);(t.attrs.align??null)!==i&&n.setNodeMarkup(o,void 0,{...t.attrs,align:i}),o+=t.nodeSize}i+=a.nodeSize}}function Ta(e){let t,n;for(let r of e){if(!r.docChanged)continue;t!=null&&n!=null&&(t=r.mapping.map(t,-1),n=r.mapping.map(n,1));let e=r.mapping;for(let[r,i]of e.maps.entries()){let a=e.slice(r+1);i.forEach((e,r,i,o)=>{let s=a.map(i,-1),c=a.map(o,1);t=t==null?s:Math.min(t,s),n=n==null?c:Math.max(n,c)})}}if(!(t==null||n==null))return{from:t,to:n}}function Ea(){return new y({key:new b(`table-align-sync`),appendTransaction(e,t,n){if(!e.some(e=>e.docChanged))return;let r=Ta(e);if(!r)return;let i=n.doc,a=Math.max(0,Math.min(r.from,i.content.size)),o=Math.max(a,Math.min(r.to,i.content.size)),s;return i.nodesBetween(a,o,(e,t)=>e.type.name===`table`?(s??=n.tr,wa(e,t,s),!1):!0),s?.docChanged?s:void 0}})}function Da(){return m(Ea())}function Oa(e){let{selection:t}=e;if(_t(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 ka(e){return(t,n)=>{let r=Oa(t);if(!r||r.table.childCount===0)return!1;if(n){let{table:i,tablePos:a,firstColumn:o,lastColumn:s}=r,c=xa(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 Aa(e){let t=Oa(e);if(!(!t||t.table.childCount===0))return Ca(Sa(t.table),t.lastColumn)??void 0}function ja(){return o({setTableColumnAlign:ka})}function Ma(){return g(ya(),ba(),Da(),ja())}function Na(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 Pa=`paragraph`;function Fa(){return g(p({name:`tableCell`,content:Pa}),p({name:`tableHeaderCell`,content:Pa}))}const Ia=(e,t)=>{let{selection:n}=e;return!_t(n)||!n.isColSelection()||!n.isRowSelection()?!1:gt(e,t)};function La(){return _(l({Backspace:Ia,Delete:Ia}),t.high)}function Ra(){return g(ht(),mt(),lt(),pt(),Fa(),Ma(),ft({allowTableNodeSelection:!0}),ut(),dt(),La())}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 Ba(e){return(t,n)=>{if(Na(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)?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 Va(e){return(t,n,r)=>nt(e)(t,n,r)||Ba(e===`up`?-1:1)(t,n,r)}function Ha(){return l({"Alt-ArrowUp":Va(`up`),"Alt-ArrowDown":Va(`down`)})}function Ua(){return p({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function Wa(){return g(_(Ua(),t.highest),vt(),yt())}const q=new b(`meowdownPendingReplacement`);function J(e){return q.getState(e)?.pending??null}function Ga(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 Ka=new y({key:q,state:{init:()=>({pending:null}),apply:(e,t)=>{let n=e.getMeta(q);if(n)return Ga(n,t);if(e.docChanged&&t.pending){let n=e.mapping.mapResult(t.pending.from,1),r=e.mapping.mapResult(t.pending.to,-1),i=Math.min(n.pos,r.pos),a=Math.max(n.pos,r.pos);return(n.deletedAfter&&r.deletedBefore||i>=a)&&t.pending.mode===`replace`?{pending:null,ended:{pending:t.pending,outcome:`discarded`}}:{pending:{...t.pending,from:i,to:a}}}return t}},props:{decorations:e=>{let t=J(e);return!t||t.from>=t.to?null:C.create(e.doc,[S.inline(t.from,t.to,{class:`md-pending-replacement`})])}}});function qa(e){return(t,n)=>{let{from:r,to:i,mode:a}=e;return r<0||i>t.doc.content.size||r>i||r===i&&a===`replace`?!1:(n?.(t.tr.setMeta(q,{type:`start`,from:r,to:i,mode:a})),!0)}}function Ja(e){return(t,n)=>J(t)?(n?.(t.tr.setMeta(q,{type:`append`,text:e})),!0):!1}function Ya(){return(e,t)=>J(e)?(t?.(e.tr.setMeta(q,{type:`discard`})),!0):!1}function Xa(e={}){return(t,n)=>{let r=J(t);if(!r||!r.text.trim())return!1;if(n){let i=e.mode??r.mode,a=wo(t.schema),o=Z(r.text,{nodes:a}),s=t.tr;if(s.setMeta(q,{type:`accept`}),i===`append`){let e=t.doc.resolve(r.to).after(1);s.insert(e,o.content),s.setSelection(x.near(s.doc.resolve(e+o.content.size),-1))}else{let e=t.doc.resolve(r.from),n=t.doc.resolve(r.to),i=o.childCount===1?o.firstChild:null;i?.type.name===`paragraph`&&e.sameParent(n)&&e.parent.isTextblock?(s.replaceWith(r.from,r.to,i.content),s.setSelection(x.near(s.doc.resolve(r.from+i.content.size),-1))):(s.replaceRange(r.from,r.to,new w(o.content,0,0)),s.setSelection(x.near(s.doc.resolve(s.mapping.map(r.to)),-1)))}n(s.scrollIntoView())}return!0}}function Za(){return o({startPendingReplacement:qa,appendPendingReplacementText:Ja,acceptPendingReplacement:Xa,discardPendingReplacement:Ya})}function Qa(){return l({"Mod-Enter":Xa(),Escape:Ya()})}function $a(){return g(m(Ka),Za(),Qa())}function eo(e){return m(new y({view:()=>({update:(t,n)=>{let r=q.getState(n),i=q.getState(t.state);!i||r===i||(i.pending?i.pending!==r?.pending&&e({type:`update`,pending:i.pending}):i.ended&&i.ended!==r?.ended&&e({type:`ended`,pending:i.ended.pending,outcome:i.ended.outcome}))}})}))}function Y(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 to(){return l({"Meta-ArrowUp":Y(-1,!1),"Meta-ArrowDown":Y(1,!1),"Shift-Meta-ArrowUp":Y(-1,!0),"Shift-Meta-ArrowDown":Y(1,!0)})}function no(e){return e.left===0&&e.top===0&&e.right===0&&e.bottom===0}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 no(r)?void 0:r}function ro(e){e.offsetWidth}const io=new b(`meowdown-virtual-caret`),ao=[`md-virtual-caret-blink`,`md-virtual-caret-blink2`];function oo(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 so(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 co(e){let t=e.state,n=t.selection.head;for(let r of Rt){let i=D(t,n,r);if(i==null||i.from!==n&&i.to!==n)continue;let a=lo(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 lo(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 uo(e){let t=e.height*.19999999999999996;return{left:e.left,top:e.top-t/2,height:e.height+t}}function fo(e){let t=oo(e)??so(e);return t==null?co(e):uo(t)}function po(e,t){return e==null||t==null?e===t:e.left===t.left&&e.top===t.top&&e.height===t.height}var mo=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=ao[this.#s]}#l=()=>{let e=this.#e;if(e.isDestroyed)return;let t=e.state,n=t.selection,r=h(n)&&n.empty?fo(e):void 0,i=r!=null&&k(t)===`hide`?Ln(t,n.head):void 0;if(po(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&&(ro(this.#n),this.#n.style.transitionProperty=``)}};function ho(){return m(new y({key:io,view:e=>new mo(e)}))}function go(e){return g(Wa(),ye(),bn(),Se(),ve(),fa(),En(),Ra(),dn(),Yn(),Xn(),yi(),tn(),yn(),Ha(),to(),ri(e),Ri(),Ki(),Rr(),_a(),Nt(e.markMode??`focus`),ho(),qn(),Yt({marks:Rt.map(e=>({name:e,modes:[`hide`,`focus`,`show`]}))}),a(),i(),c(),be(),Ce(),xe(),_n(),$a())}function _o(e={}){return go(e)}const vo=v(()=>{let e=_o().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),yo=v(()=>r(vo())),bo=v(()=>n(vo())),xo=`meowdown_mark_builders`;function So(e){let t=e.cached[xo];if(t)return t;let r=n(e);return e.cached[xo]=r,r}const Co=`meowdown_node_builders`;function wo(e){let t=e.cached[Co];if(t)return t;let n=r(e);return e.cached[Co]=n,n}function Z(e,t={}){let{nodes:n=yo(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=Eo(e);i=t,n&&(a=e.slice(n))}let o=Do(n,Or.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const To=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function Eo(e){let t=To.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function Do(e,t,n){let r=[];if(!t.firstChild())return r;let i;do i!=null&&Oo(r,e,n,i,t.from),i=t.to,r.push(...ko(e,t,n));while(t.nextSibling());return t.parent(),r}function Oo(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 ko(e,t,n){switch(t.type.id){case H.ATXHeading1:return[Q(e,t,n,1,!1)];case H.ATXHeading2:return[Q(e,t,n,2,!1)];case H.ATXHeading3:return[Q(e,t,n,3,!1)];case H.ATXHeading4:return[Q(e,t,n,4,!1)];case H.ATXHeading5:return[Q(e,t,n,5,!1)];case H.ATXHeading6:return[Q(e,t,n,6,!1)];case H.SetextHeading1:return[Q(e,t,n,1,!0)];case H.SetextHeading2:return[Q(e,t,n,2,!0)];case H.Paragraph:return[Fo(e,t,n)];case H.CommentBlock:return[Io(e,t,n)];case H.HTMLBlock:case H.ProcessingInstructionBlock:return[Fo(e,t,n)];case H.Blockquote:return[Lo(e,t,n)];case H.BulletList:return Ro(e,t,n,`bullet`);case H.OrderedList:return Ro(e,t,n,`ordered`);case H.FencedCode:case H.CodeBlock:return[Bo(e,t,n)];case H.BlockMath:return[Vo(e,t,n)];case H.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case H.Table:return[Ho(e,t,n)];case H.Task:return[Fo(e,t,n)];default:return n.slice(t.from,t.to).trim()===``?[]:(console.warn(`[meowdown] unsupported lezer block "${t.type.name}"`),[Fo(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===H.HeaderMark&&t.from===a&&(o=t.to);let e=-1,n=-1,r=-1;do e=t.type.id,n=t.from,r=t.to;while(t.nextSibling());e===H.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=No(n.slice(o,s),$(n,o)).trim(),d=i?Ao(n,c,l)||1:null,f=!i&&c>=0&&jo(n,c,l)||null;return e.heading({level:r,setextUnderline:d,closingHashes:f},u)}function Ao(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 jo(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 Ms=new b(`meowdown-embed-paste`);function Ns(e){let t=e.trim();if(!(!t||/\s/.test(t)))return As(t)?t:void 0}function Ps(e,t){let{from:n,to:r}=e.state.selection;e.dispatch(bt(e.state.tr.insertText(t,n,r)));let i=e.state.tr.insertText(``,n,n+t.length);e.dispatch(bt(i))}function Fs(){return m(new y({key:Ms,props:{handlePaste:(e,t,n)=>{let r=e.state.selection.$from.parent;if(!r.inlineContent||r.type.spec.code)return!1;let i=js(t,n);if(!i)return!1;let a=Ns(i);return a?(Ps(e,a),!0):!1}}}))}const Is=new b(`meowdown-exit-boundary`);function Ls(e,t){let{$anchor:n,$head:r}=e.selection,i=t>0?n.max(r):n.min(r),a=i.parent.inlineContent?i.depth?e.doc.resolve(t>0?i.after():i.before()):void 0:i;return!!(a&&Te.findFrom(a,t))}function Rs(e,t){let{state:n}=e,{selection:r}=n;return h(r)&&!r.empty||re(r)||r.$from.parent.inlineContent&&!e.endOfTextblock(t<0?`up`:`down`)?!0:Ls(n,t)}function zs(e){return new y({key:Is,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||Rs(t,r)||e({direction:r<0?`up`:`down`,event:n})===!1)}}})}function Bs(e){return _(m(zs(e)),t.low)}function Vs(e){return!!e.type?.startsWith(`image/`)}function Hs(e,t){return Vs(e)?``:`[${Gs(e.name)}](${t})`}function Us(e,t){return!e||!t.onFilePaste?[]:Array.from(e.files)}const Ws=e=>{console.error(`[meowdown] failed to save pasted file:`,e)};function Gs(e){return e.replaceAll(/[\\[\]]/g,String.raw`\$&`)}async function Ks(e,t,n,r){let{onFilePaste:i}=n;if(!i)return;let a=n.onFileSaveError??Ws,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=Hs(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 qs(e){return new y({key:new b(`file-paste`),props:{handlePaste:(t,n)=>{let r=Us(n.clipboardData,e);return r.length===0?!1:(Ks(t,r,e),!0)},handleDrop:(t,n)=>{let r=Us(n.dataTransfer,e);return r.length===0?!1:(Ks(t,r,e,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function Js(e={}){return _(m(qs(e)),t.high)}const Ys=new b(`meowdown-file-click`);function Xs(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 Zs(e){return m(new y({key:Ys,props:{handleClick:(t,n,r)=>{let i=r.target?.closest?.(`.md-file-view-preview`);if(!i)return!1;let a=i.closest(`.md-file-view`)?.querySelector(`.md-file-view-content`);if(!a)return!1;let o=Xs(t.state,t.posAtDOM(a,0));return o?(e({href:o.href,name:o.name,event:r}),!0):!1}}}))}const Qs=[`KB`,`MB`,`GB`,`TB`];function $s(e){let t=e,n=`B`;for(let e of Qs){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 ec=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 tc(e){let t=e.split(/[?#]/,1)[0],n=t.lastIndexOf(`.`);if(n<0)return`generic`;let r=t.slice(n+1).toLowerCase();return ec.get(r)??`generic`}const nc=`http://www.w3.org/2000/svg`;function rc(){let e=document.createElementNS(nc,`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(nc,`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 ic=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=tc(this.#a.href),this.#n.title=this.#a.name,this.#e.appendChild(this.#n),this.#n.appendChild(rc()),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=$s(n))}};function ac(e={}){return d({name:`mdFile`,constructor:t=>new ic(t,e)})}function oc(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 sc=new b(`meowdown-tag-click`);function cc(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 lc(e){return oc({key:sc,selector:`.md-tag`,preventDefault:!1,findPayloadAt:(e,t)=>cc(e,t)?.tag,onClick:(t,n)=>e({tag:t,event:n})})}const uc=new b(`meowdown-wikilink-click`);function dc(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 fc(e){return oc({key:uc,selector:`.md-wikilink-view-preview`,preventDefault:!1,findPayloadAt:(e,t)=>dc(e,t)?.target,onClick:(t,n)=>e({target:t,event:n})})}const pc=new b(`meowdown-follow-link`);function mc(e){return e.key!==`Enter`||e.shiftKey||e.altKey?!1:ie?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}function hc(e){return new y({key:pc,props:{handleKeyDown:(t,n)=>{if(!mc(n))return!1;let{state:r}=t,i=r.selection.head,a=e.onWikilinkClick&&dc(r,i);if(a)return e.onWikilinkClick?.({target:a.target,event:n}),!0;let o=e.onTagClick&&cc(r,i);if(o)return e.onTagClick?.({tag:o.tag,event:n}),!0;let s=e.onFileClick&&Xs(r,i);if(s)return e.onFileClick?.({href:s.href,name:s.name,event:n}),!0;let c=e.onLinkClick&&K(r,i);return c?(e.onLinkClick?.({href:c.href,event:n}),!0):!1}}})}function gc(e){return _(m(hc(e)),t.high)}const _c=(e,t)=>{let n={type:`highlight`,children:e.all(t)};return e.patch(t,n),n},vc=(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 yc(){return Tt().use(xt).use(St,{handlers:{mark:_c}}).use(Ct).use(wt,{bullet:`-`,emphasis:`*`,strong:`*`,fence:"`",fences:!0,rule:`-`,ruleRepetition:3,listItemIndent:`one`,handlers:{highlight:vc}}).freeze()}const bc=v(yc);function xc(e){return String(bc().processSync(e))}const Sc=new b(`meowdown-html-paste`);function Cc(){return m(new y({key:Sc,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=xc(e);if(!r.trim())return e;let i=Z(r,{nodes:wo(t.state.schema)}),a=Fe.fromSchema(t.state.schema),o=document.createElement(`div`);return o.append(a.serializeFragment(i.content)),o.innerHTML}}}))}const wc=new b(`meowdown-image-click`);function Tc(e){return e instanceof HTMLElement&&e.closest(`.md-image-view-preview`)}function Ec(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 Dc(e,t){let n=t.closest(`.md-image-view`)?.querySelector(`.md-image-view-content`);if(n)return Ec(e.state,e.posAtDOM(n,0))}function Oc(e,t){return Array.from(e).find(e=>e.identifier===t)}function kc(e,t){return Math.abs(t.clientX-e.clientX)<=10&&Math.abs(t.clientY-e.clientY)<=10}function Ac(e){let t=new WeakMap;return m(new y({key:wc,props:{handleDOMEvents:{pointerdown:(e,t)=>(Tc(t.target)&&t.pointerType!==`mouse`&&t.preventDefault(),!1),touchstart:(e,n)=>{if(t.delete(e),n.touches.length!==1||!Tc(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=Oc(n.changedTouches,r.identifier);return i&&!kc(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=Oc(r.changedTouches,i.identifier);if(!a||!kc(i,a))return!1;let o=Tc(r.target);if(!o)return!1;r.preventDefault();let s=Dc(n,o);return s&&e({src:s.src,alt:s.alt,event:r}),!0}},handleClick:(t,n,r)=>{let i=Tc(r.target);if(!i)return!1;let a=Dc(t,i);return a?(e({src:a.src,alt:a.alt,event:r}),!0):!1}}}))}function jc(e){return/^https?:\/\//i.test(e)?e:void 0}function Mc(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`&&Cs(t),t}function Nc(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 Pc(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=Fr(o),c=a.from+s.length,l=o.slice(s.length),u=Pr({...Mr(l)??{},width:Math.round(n),height:Math.round(r)});u!==l&&e.dispatch(e.state.tr.insertText(u,c,a.to))}var Fc=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)&&Nc(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=As(e);if(t){let e=document.createElement(`span`);return e.className=`md-image-view-preview md-atom-view-preview`,e.appendChild(Mc(t)),e}let n=(this.#n.resolveImageUrl??jc)(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){Dt(),Et();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,Nc(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)),Nc(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;Pc(this.#r,this.#t,t,n)}),this.#a=t,this.#o=n,t}};function Ic(e={}){return d({name:`mdImage`,constructor:(t,n)=>new Fc(t,n,e)})}const Lc={"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`},Rc=new b(`meowdown-link-click`);function zc(e){return oc({key:Rc,selector:`.md-link`,preventDefault:!0,findPayloadAt:(e,t)=>K(e,t)?.href,onClick:(t,n)=>e({href:t,event:n})})}function Bc(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 Vc(e){return Bc({selector:`.md-link`,findPayloadAt:(e,t)=>K(e,t),onHoverChange:e})}const Hc=new b(`meowdown-link-paste`);function Uc(e){let t=e.trim();if(!(!t||/\s/.test(t)))return ar(t)}function Wc(){return _(m(new y({key:Hc,props:{handlePaste:(e,t,n)=>{let r=js(t,n);if(!r)return!1;let i=Uc(r);return i?Dn(e,Ui({href:i,wrapText:!1})):!1}}})),t.high)}const Gc=new b(`meowdown-markdown-copy`);function Kc(){return m(new y({key:Gc,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?Go(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.0",
|
|
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",
|