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