@meowdown/core 0.36.0 → 0.36.2

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