@meowdown/core 0.28.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -52,19 +52,20 @@ const markdown = docToMarkdown(editor.state.doc)
52
52
 
53
53
  `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).
54
54
 
55
- | Key | Action | Markdown |
56
- | ------------- | ------------- | ------------------- |
57
- | `Mod-B` | Bold | `**bold**` |
58
- | `Mod-I` | Italic | `*italic*` |
59
- | `Mod-E` | Inline code | `` `code` `` |
60
- | `Mod-Shift-X` | Strikethrough | `~~strikethrough~~` |
61
- | `Mod-Shift-H` | Highlight | `==highlight==` |
62
- | `Mod-1` | Heading 1 | `# heading` |
63
- | `Mod-2` | Heading 2 | `## heading` |
64
- | `Mod-3` | Heading 3 | `### heading` |
65
- | `Mod-4` | Heading 4 | `#### heading` |
66
- | `Mod-5` | Heading 5 | `##### heading` |
67
- | `Mod-6` | Heading 6 | `###### heading` |
55
+ | Key | Action | Markdown |
56
+ | ------------- | ----------------------- | ------------------- |
57
+ | `Mod-B` | Bold | `**bold**` |
58
+ | `Mod-I` | Italic | `*italic*` |
59
+ | `Mod-E` | Inline code | `` `code` `` |
60
+ | `Mod-Shift-X` | Strikethrough | `~~strikethrough~~` |
61
+ | `Mod-Shift-H` | Highlight | `==highlight==` |
62
+ | `Mod-1` | Heading 1 | `# heading` |
63
+ | `Mod-2` | Heading 2 | `## heading` |
64
+ | `Mod-3` | Heading 3 | `### heading` |
65
+ | `Mod-4` | Heading 4 | `#### heading` |
66
+ | `Mod-5` | Heading 5 | `##### heading` |
67
+ | `Mod-6` | Heading 6 | `###### heading` |
68
+ | `Mod-.` | Fold or unfold a bullet | |
68
69
 
69
70
  `EDITOR_KEY_BINDINGS` is a literal (`as const`) object mapping every key above to its description, for host settings UIs and keybinding-collision checks.
70
71
 
package/dist/index.d.ts CHANGED
@@ -239,6 +239,10 @@ declare function defineEditorExtensionImpl(): import("@prosekit/core").Union<rea
239
239
  wrapInCircleTask: [];
240
240
  wrapInSquareTask: [];
241
241
  };
242
+ }>, import("@prosekit/core").Extension<{
243
+ Commands: {
244
+ toggleListCollapsed: [];
245
+ };
242
246
  }>]>, import("@prosekit/core").Union<readonly [import("@prosekit/extensions/heading").HeadingSpecExtension, import("@prosekit/core").Extension<{
243
247
  Nodes: {
244
248
  heading: import("@prosekit/extensions/heading").HeadingAttrs;
@@ -255,7 +259,15 @@ declare function defineEditorExtensionImpl(): import("@prosekit/core").Union<rea
255
259
  closingHashes?: number | null;
256
260
  };
257
261
  };
258
- }>, import("@prosekit/core").PlainExtension, import("@prosekit/extensions/heading").HeadingCommandsExtension, import("@prosekit/core").PlainExtension]>, import("@prosekit/core").Union<readonly [import("@prosekit/extensions/table").TableSpecExtension, import("@prosekit/extensions/table").TableRowSpecExtension, import("@prosekit/extensions/table").TableCellSpecExtension, import("@prosekit/extensions/table").TableHeaderCellSpecExtension, import("@prosekit/core").PlainExtension, import("@prosekit/extensions/table").TableCommandsExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension]>, import("@prosekit/extensions/code-block").CodeBlockExtension, MeowdownHorizontalRuleExtension, import("@prosekit/core").Extension<{
262
+ }>, import("@prosekit/core").PlainExtension, import("@prosekit/extensions/heading").HeadingCommandsExtension, import("@prosekit/core").PlainExtension]>, import("@prosekit/core").Union<readonly [import("@prosekit/extensions/table").TableSpecExtension, import("@prosekit/extensions/table").TableRowSpecExtension, import("@prosekit/extensions/table").TableCellSpecExtension, import("@prosekit/extensions/table").TableHeaderCellSpecExtension, import("@prosekit/core").Union<readonly [import("@prosekit/core").Extension<{
263
+ Nodes: {
264
+ tableCell: import("@prosekit/pm/model").Attrs;
265
+ };
266
+ }>, import("@prosekit/core").Extension<{
267
+ Nodes: {
268
+ tableHeaderCell: import("@prosekit/pm/model").Attrs;
269
+ };
270
+ }>]>, import("@prosekit/core").PlainExtension, import("@prosekit/extensions/table").TableCommandsExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension]>, import("@prosekit/extensions/code-block").CodeBlockExtension, MeowdownHorizontalRuleExtension, import("@prosekit/core").Extension<{
259
271
  Nodes: {
260
272
  htmlComment: MeowdownHTMLCommentAttrs;
261
273
  };
@@ -557,6 +569,7 @@ declare const EDITOR_KEY_BINDINGS: {
557
569
  readonly 'Mod-4': "Heading 4";
558
570
  readonly 'Mod-5': "Heading 5";
559
571
  readonly 'Mod-6': "Heading 6";
572
+ readonly 'Mod-.': "Fold or unfold a bullet";
560
573
  };
561
574
  //#endregion
562
575
  //#region src/extensions/link-click.d.ts
@@ -616,6 +629,13 @@ declare function defineMarkdownCopy(): PlainExtension;
616
629
  declare const NODE_NAMES: readonly ["doc", "text", "paragraph", "heading", "blockquote", "list", "codeBlock", "horizontalRule", "htmlComment", "table", "tableRow", "tableCell", "tableHeaderCell"];
617
630
  type NodeName = (typeof NODE_NAMES)[number];
618
631
  //#endregion
632
+ //#region src/extensions/table.d.ts
633
+ /**
634
+ * Whether the selection sits inside a table cell (data or header). Useful for
635
+ * gating block-creating UI, since cells hold inline content only.
636
+ */
637
+ declare function isSelectionInTableCell(state: EditorState): boolean;
638
+ //#endregion
619
639
  //#region src/extensions/tag-click.d.ts
620
640
  interface TagClickPayload {
621
641
  /** The tag name, without the leading `#`. */
@@ -646,4 +666,4 @@ declare function defineWikilinkTrigger(): PlainExtension;
646
666
  */
647
667
  declare function getVirtualElementFromRange(view: EditorView, range: PositionRange): VirtualElement;
648
668
  //#endregion
649
- export { type CheckRoundTripOptions, type CodeBlockAttrs, type CodeToken, type DocToMarkdownOptions, EDITOR_KEY_BINDINGS, type EditorExtension, type EmbedDescriptor, type ExitBoundaryHandler, type ExitBoundaryOptions, type ImageClickHandler, type ImageClickPayload, type ImageOptions, type LinkAttrs, type LinkClickHandler, type LinkClickPayload, type LinkCopyHandler, type LinkCopyPayload, type LinkEditHandler, type LinkEditOptions, type LinkHoverHandler, type LinkUnit, type MarkChunk, type MarkMode, type MarkName, type MarkdownToDocOptions, type MdImageAttrs, type MdLinkTextAttrs, type MdWikilinkAttrs, type MeowdownHTMLCommentAttrs, type NodeName, type PlaceholderOptions, type PositionRange, Priority, type RoundTripFidelity, type TagClickHandler, type TagClickPayload, type TypedEditor, type TypedMarkBuilders, type VirtualElement, type WikilinkClickHandler, type WikilinkClickPayload, checkRoundTrip, codeBlockLanguages, defaultResolveImageUrl, defineBulletAfterHeading, defineCodeBlockSyntaxHighlight, defineEditorExtension, defineEmbedPaste, defineExitBoundaryHandler, defineHTMLComment, defineHTMLPaste, defineImage, defineImageClickHandler, defineLinkClickHandler, defineLinkCommands, defineLinkEditKeymap, defineLinkHoverHandler, defineMarkMode, defineMarkdownCopy, definePlaceholder, defineReadonly, defineTagClickHandler, defineWikilinkClickHandler, defineWikilinkTrigger, docToMarkdown, getCodeTokens, getLinkUnitAt, getMarkBuilders, getVirtualElementFromRange, inlineTextToMarkChunks, insertLink, listenForTweetHeight, markdownToDoc, matchEmbed, removeLink, updateLink, withPriority };
669
+ export { type CheckRoundTripOptions, type CodeBlockAttrs, type CodeToken, type DocToMarkdownOptions, EDITOR_KEY_BINDINGS, type EditorExtension, type EmbedDescriptor, type ExitBoundaryHandler, type ExitBoundaryOptions, type ImageClickHandler, type ImageClickPayload, type ImageOptions, type LinkAttrs, type LinkClickHandler, type LinkClickPayload, type LinkCopyHandler, type LinkCopyPayload, type LinkEditHandler, type LinkEditOptions, type LinkHoverHandler, type LinkUnit, type MarkChunk, type MarkMode, type MarkName, type MarkdownToDocOptions, type MdImageAttrs, type MdLinkTextAttrs, type MdWikilinkAttrs, type MeowdownHTMLCommentAttrs, type NodeName, type PlaceholderOptions, type PositionRange, Priority, type RoundTripFidelity, type TagClickHandler, type TagClickPayload, type TypedEditor, type TypedMarkBuilders, type VirtualElement, type WikilinkClickHandler, type WikilinkClickPayload, checkRoundTrip, codeBlockLanguages, defaultResolveImageUrl, defineBulletAfterHeading, defineCodeBlockSyntaxHighlight, defineEditorExtension, defineEmbedPaste, defineExitBoundaryHandler, defineHTMLComment, defineHTMLPaste, defineImage, defineImageClickHandler, defineLinkClickHandler, defineLinkCommands, defineLinkEditKeymap, defineLinkHoverHandler, defineMarkMode, defineMarkdownCopy, definePlaceholder, defineReadonly, defineTagClickHandler, defineWikilinkClickHandler, defineWikilinkTrigger, docToMarkdown, getCodeTokens, getLinkUnitAt, getMarkBuilders, getVirtualElementFromRange, inlineTextToMarkChunks, insertLink, isSelectionInTableCell, listenForTweetHeight, markdownToDoc, matchEmbed, removeLink, updateLink, withPriority };
package/dist/index.js CHANGED
@@ -1,25 +1,25 @@
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 h,getMarkType as ee,getNodeType as te,isAllSelection as ne,isAtBlockStart as re,isTextSelection as g,toggleNode as ie,union as _,unsetBlockType as ae,withPriority as oe,withPriority as v,withSkipCodeBlock as se}from"@prosekit/core";import{definePlaceholder as ce}from"@prosekit/extensions/placeholder";import{defineReadonly as le}from"@prosekit/extensions/readonly";import{isElementLike as ue,once as y}from"@ocavue/utils";import{defineBlockquote as de}from"@prosekit/extensions/blockquote";import{defineCodeBlock as fe,defineCodeBlockHighlight as pe}from"@prosekit/extensions/code-block";import{defineDoc as me}from"@prosekit/extensions/doc";import{defineGapCursor as he}from"@prosekit/extensions/gap-cursor";import{defineModClickPrevention as ge}from"@prosekit/extensions/mod-click-prevention";import{defineText as _e}from"@prosekit/extensions/text";import{defineVirtualSelection as ve}from"@prosekit/extensions/virtual-selection";import{Plugin as b,PluginKey as x,Selection as ye,TextSelection as S}from"@prosekit/pm/state";import{Decoration as C,DecorationSet as w}from"@prosekit/pm/view";import{LanguageDescription as be}from"@codemirror/language";import{languages as xe}from"@codemirror/language-data";import{classHighlighter as Se,highlightTree as Ce}from"@lezer/highlight";import{createParser as we}from"prosemirror-highlight/lezer";import{defineHeadingCommands as Te,defineHeadingInputRule as Ee,defineHeadingSpec as De}from"@prosekit/extensions/heading";import{defineHorizontalRule as Oe}from"@prosekit/extensions/horizontal-rule";import{ReplaceStep as ke,Step as Ae,StepResult as je,Transform as Me}from"@prosekit/pm/transform";import{DOMSerializer as Ne,Mark as Pe}from"@prosekit/pm/model";import{GFM as Fe,parser as Ie}from"@lezer/markdown";import{defineInputRule as Le}from"@prosekit/extensions/input-rule";import{defineListCommands as Re,defineListDropIndicator as ze,defineListKeymap as Be,defineListPlugins as Ve,defineListSerializer as He,defineListSpec as Ue,wrapInList as T}from"@prosekit/extensions/list";import{wrappingListInputRule as E}from"prosemirror-flat-list";import{defineParagraphCommands as We,defineParagraphKeymap as Ge}from"@prosekit/extensions/paragraph";import{defineTableCellSpec as Ke,defineTableCommands as qe,defineTableDropIndicator as Je,defineTableEditingPlugin as Ye,defineTableHeaderCellSpec as Xe,defineTableRowSpec as Ze,defineTableSpec as Qe,deleteTable as $e,isCellSelection as et}from"@prosekit/extensions/table";import{closeHistory as tt}from"@prosekit/pm/history";import nt from"rehype-parse";import rt from"rehype-remark";import it from"remark-gfm";import at from"remark-stringify";import{unified as ot}from"unified";import{registerResizableHandleElement as st,registerResizableRootElement as ct}from"@prosekit/web/resizable";import{triggerAutocomplete as lt}from"@prosekit/extensions/autocomplete";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 h(i,n)}const ut=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]),dt=new x(`mark-mode`);function ft(e){return new b({key:dt,state:{init:()=>e,apply:(e,t)=>t},props:{attributes:{"data-mark-mode":e},decorations:e===`focus`?e=>gt(e):void 0,clipboardTextSerializer:e===`show`?void 0:ht}})}function pt(e){return m(ft(e))}function mt(e){return dt.getState(e)}function ht(e){let t=[];return e.content.forEach(e=>{let n=[];e.descendants(e=>!e.isText||!e.text?!0:(e.marks.some(e=>ut.has(e.type.name))||n.push(e.text),!1)),t.push(n.join(``))}),t.join(`
2
- `)}function gt(e){let{selection:t}=e;if(!t.empty)return w.empty;let n=t.$head,{parent:r}=n;if(!r.isTextblock||r.type.spec.code)return w.empty;let i=h(n,ee(e.schema,`mdPack`));return i?w.create(e.doc,[C.inline(i.from,i.to,{class:`show`})]):w.empty}function O(e,t){let n=mt(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function k(e,t,n){for(let r of n){let n=D(e,t,r);if(n)return n}}function A(e,t,n){let r=k(e,t,n);return r&&r.to===t?r:void 0}function j(e,t,n){let r=k(e,t,n);return r&&r.from===t?r:void 0}function M(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=k(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function _t(e,t){return S.create(e.doc,t.from,t.to)}function vt(e){return(t,n)=>{let r=O(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=j(t,i.from,r);if(e)return n?.(t.tr.setSelection(_t(t,e))),!0;if(A(t,i.from,r)){let e=t.doc.resolve(i.from);return i.from>=e.end()?!1:(n?.(t.tr.setSelection(S.create(t.doc,i.from+1))),!0)}return!1}let a=M(t,r);return a?(n?.(t.tr.setSelection(S.create(t.doc,a.to))),!0):!1}}function yt(e){return(t,n)=>{let r=O(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=A(t,i.from,r);return e?(n?.(t.tr.setSelection(_t(t,e))),!0):!1}let a=M(t,r);return a?(n?.(t.tr.setSelection(S.create(t.doc,a.from))),!0):!1}}function bt(e){return(t,n)=>{let r=O(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=A(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!j(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function xt(e){return(t,n)=>{let r=O(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=j(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!A(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}const St=`md-atom-selected`;function Ct(e){return new b({key:new x(`atom-mark-selection`),props:{decorations:t=>{let n=O(e,t);if(n.length===0)return;let r=M(t,n);if(r)return w.create(t.doc,[C.inline(r.from,r.to,{class:St})]);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(C.inline(t,t+e.nodeSize,{class:St}))}),w.create(t.doc,s)}}})}function wt({marks:e}){return _(v(l({ArrowRight:vt(e),ArrowLeft:yt(e),Backspace:bt(e),Delete:xt(e)}),t.high),m(Ct(e)))}const N=new Map,Tt=new Map;async function Et(e){let t=N.get(e);if(t!==void 0)return t;let n=be.matchLanguageName(xe,e,!0);if(!n)return N.set(e,null),null;let r=n.support;if(!r)try{r=await n.load()}catch(t){return console.error(`[meowdown] Failed to load language "${e}":`,t),N.set(e,null),null}return N.set(e,r),r}function Dt(e,t){let n=Tt.get(e);if(n)return n;let r=we({parse:e=>t.language.parser.parse(e.content),highlighter:Se});return Tt.set(e,r),r}const Ot=e=>{let t=e.language?.trim();if(!t)return[];let n=N.get(t);return n===null?[]:n?Dt(t,n)(e):Et(t).then(()=>void 0)};function kt(){return pe({parser:Ot,nodeTypes:[`codeBlock`]})}function At(e,t){let n=t.language.parser.parse(e),r=[];return Ce(n,Se,(e,t,n)=>{r.push([e,t,n])}),r}function jt(e,t){let n=t.trim();if(!n)return[];let r=N.get(n);return r===null?[]:r?At(e,r):Et(n).then(t=>t?At(e,t):[])}function Mt(e,t){return(n,r)=>{if(r){let i=S.create(n.doc,e,t);r(n.tr.setSelection(i))}return!0}}function Nt(e,t,n){return(r,i)=>{if(i){let a=S.between(e,t,n);i(r.tr.setSelection(a))}return!0}}function Pt(){return o({selectText:Mt,selectTextBetween:Nt})}function Ft(){return f({type:`doc`,attr:`frontmatter`,default:null})}function It(){return p({name:`heading`,whitespace:`pre`})}function Lt(){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 Rt(){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 P(e){return se(ie({type:`heading`,attrs:{level:e}}))}const zt=(e,t,n)=>re(e,n)?.parent.type.name===`heading`?ae()(e,t,n):!1;function Bt(){return l({"Mod-1":P(1),"Mod-2":P(2),"Mod-3":P(3),"Mod-4":P(4),"Mod-5":P(5),"Mod-6":P(6),Backspace:zt})}function Vt(){return _(De(),It(),Lt(),Rt(),Ee(),Te(),Bt())}function Ht(){return f({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function Ut(){return _(Oe(),Ht())}function Wt(){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 Gt(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function Kt(e,t){let[n,r,i]=t;return[n,r,i.map(t=>Pe.fromJSON(e,t))]}var F=class e extends Ae{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return je.ok(e);let t=e.content.size,n;for(let[r,i,a]of this.chunks){if(r>=i)continue;let o=Math.max(0,Math.min(r,t)),s=Math.max(o,Math.min(i,t));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 Me(e),n.removeMark(i,c,t));for(let t of a)t.isInSet(l)||(n??=new Me(e),n.addMark(i,c,t));return!1})}return je.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return qt;let t=this.chunks[0][0],n=this.chunks[0][1];for(let[,e]of this.chunks)e>n&&(n=e);let r=e.content.size,i=Math.max(0,Math.min(t,r)),a=Math.max(i,Math.min(n,r));return new ke(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(Gt)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>Kt(t,e)))}};Ae.jsonID(`batchSetMark`,F);const qt=new F([]),Jt=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),Yt=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function Xt(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function Zt(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!Jt.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!Yt.test(e))return!1;return!0}function I(e){return e===32||e===9||e===10||e===13}const Qt=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,$t=/[\s(*_~]/;function en(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function tn(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function nn(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&tn(e,t,`)`)>tn(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 rn={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!en(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!$t.test(r))return-1;let i=Qt.exec(e.slice(n,e.end));if(!i)return-1;let a=nn(i[0]);return a===0||!Zt(Xt(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function an(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 on(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const sn={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(!an(t))break;i||=on(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},cn={resolve:`Highlight`,mark:`HighlightMark`},ln=/[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~\u{A1}\u{2010}-\u{2027}]/u,un={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=ln.test(r),c=ln.test(i);return e.addDelimiter(cn,n,n+2,!o&&(!c||a||s),!a&&(!s||o||c))}}]},dn={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 fn(e){return e.end}const L=Ie.configure([Fe,sn,dn,rn,un]),pn=L.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:fn}]});function R(e){return L.parseInline(e,0)}function z(e,t,n=[]){for(let r of e)t(r)&&n.push(r),z(r.children,t,n);return n}function mn(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const B=mn(L),hn=/^<!--\s*(\{[^}]*\})\s*-->$/,gn=/<!--\s*\{[^}]*\}\s*-->$/;function _n(e){let t=hn.exec(e.trim());if(!t)return;let n;try{n=JSON.parse(t[1])}catch{return}if(typeof n!=`object`||!n)return;let r=vn(n);return Object.keys(r).length>0?r:void 0}function vn(e){let t={},{width:n}=e;return typeof n==`number`&&Number.isFinite(n)&&n>0&&(t.width=Math.round(n)),t}function yn(e){return`<!-- ${JSON.stringify(e)} -->`}function bn(e){return e.replace(gn,``)}function xn(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 Sn(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 Cn(){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 wn(){return d({name:`mdWikilink`,constructor:Cn()})}const Tn=new Map([[B.Emphasis,`mdEm`],[B.StrongEmphasis,`mdStrong`],[B.InlineCode,`mdCode`],[B.Strikethrough,`mdDel`],[B.Highlight,`mdHighlight`],[B.EmphasisMark,`mdMark`],[B.CodeMark,`mdMark`],[B.LinkMark,`mdMark`],[B.StrikethroughMark,`mdMark`],[B.HighlightMark,`mdMark`],[B.URL,`mdLinkUri`],[B.LinkTitle,`mdLinkTitle`],[B.Hashtag,`mdTag`],[B.WikilinkMark,`mdMark`]]);function En(e,t){let n=R(t),r=[];return V(n,[],0,t.length,t,e,r),r}function Dn(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)||Zt(Xt(e)))return`https://${e}`}function On(e){return e.slice(1,-1).replaceAll(/\\(.)/g,`$1`)}function V(e,t,n,r,i,a,o){let s=n;for(let n=0;n<e.length;n++){let r=e[n];r.from>s&&H(o,s,r.from,t);let c=r.type;if(c===B.Link)kn(r,t,i,a,o);else if(c===B.Image){let c=An(r,e[n+1],i);jn(r,t,i,a,o,c),c&&n++,s=c?c.to:r.to;continue}else if(c===B.Wikilink)Mn(r,t,i,a,o);else if(c===B.URL){let e=Dn(i.slice(r.from,r.to)),n=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();H(o,r.from,r.to,[...t,n])}else{let e;c===B.Emphasis?e=`italic`:c===B.StrongEmphasis?e=`bold`:c===B.InlineCode?e=`code`:c===B.Strikethrough?e=`strike`:c===B.Highlight?e=`highlight`:c===B.Autolink&&(e=`autolink`);let n=e?[...t,a.mdPack.create({key:e})]:t,s=Tn.get(c),l=s?[...n,a[s].create()]:n;r.children.length===0?H(o,r.from,r.to,l):V(r.children,l,r.from,r.to,i,a,o)}s=r.to}s<r&&H(o,s,r,t)}function kn(e,t,n,r,i){let a=-1,o=null,s=null,c=0;for(let t of e.children)t.type===B.LinkMark?(c++,c===2&&(a=t.from)):t.type===B.URL&&o===null?o=t:t.type===B.LinkTitle&&s===null&&(s=t);let l=o?n.slice(o.from,o.to):``,u=s?On(n.slice(s.from,s.to)):``,d=l?r.mdLinkText.create({href:l}):null,f=e=>a>=0&&e<a&&d!==null,p=r.mdPack.create({key:`link`,data:{href:l,title:u}}),m=[...t,p],h=e.from;for(let t of e.children){if(t.from>h){let e=f(h)?[...m,d]:m;H(i,h,t.from,e)}let e=f(t.from)?[...m,d]:m;if(t.type===B.Wikilink){Mn(t,e,n,r,i),h=t.to;continue}let a=Tn.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?H(i,t.from,t.to,o):V(t.children,o,t.from,t.to,n,r,i),h=t.to}h<e.to&&H(i,h,e.to,m)}function An(e,t,n){if(!t||t.type!==B.Comment||t.from!==e.to)return;let r=_n(n.slice(t.from,t.to));if(r)return{magic:r,to:t.to}}function jn(e,t,n,r,i,a){let o=e.children.find(e=>e.type===B.URL);if(!o){kn(e,t,n,r,i);return}let s=e.children.filter(e=>e.type===B.LinkMark),c=e.children.find(e=>e.type===B.LinkTitle),l=n.slice(o.from,o.to),u=s.length>=2?n.slice(s[0].to,s[1].from):``,d=c?On(n.slice(c.from,c.to)):``,f=a?.magic.width??null,p=a?.to??e.to;H(i,e.from,p,[...t,r.mdImage.create({src:l,alt:u,title:d,width:f})])}function Mn(e,t,n,r,i){let{target:a,display:o}=Sn(n.slice(e.from,e.to));H(i,e.from,e.to,[...t,r.mdWikilink.create({target:a,display:o})])}function H(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&xn(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const Nn=`inline-marks-applied`,Pn=new WeakMap;let Fn=0,In=0;function Ln(e,t,n){let r=Pn.get(e);if(r?In++:(Fn++,r=En(ei(n),e.textContent),Pn.set(e,r)),t===0)return r;let i=[];for(let[e,n,a]of r)i.push([e+t,n+t,a]);return i}function Rn(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 zn(e,t){let n=[];return e.doc.nodesBetween(t.from,t.to,(t,r)=>{if(t.type.spec.code)return!1;if(!t.isTextblock)return!0;if(t.childCount===0)return!1;let i=Ln(t,r+1,e.schema);return i.length>0&&n.push(...i),!1}),n}function Bn(){return new b({key:new x(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(Nn))return null;let r=zn(n,Rn(e,n));if(r.length===0)return null;let i=n.tr.step(new F(r));return i.setMeta(Nn,!0),i.setMeta(`addToHistory`,!1),i},view(e){return e.dispatch(Vn(e.state)),{}}})}function Vn(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function Hn(){return m(Bn())}function Un(){return u({name:`mdImage`,inclusive:!1,attrs:{src:{default:``},alt:{default:``},title:{default:``},width:{default:null}},toDOM:()=>[`span`,{class:`md-image`},0],parseDOM:[{tag:`span.md-image`}]})}function Wn(){return u({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function Gn(){return u({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function Kn(){return u({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function qn(){return u({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function Jn(){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 Yn(){return u({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function Xn(){return u({name:`mdLinkTitle`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-title`},0],parseDOM:[{tag:`span.md-link-title`}]})}function Zn(){return u({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function Qn(){return u({name:`mdHighlight`,toDOM:()=>[`mark`,0],parseDOM:[{tag:`mark`}]})}function $n(){return u({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function er(){return u({name:`mdWikilink`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink`},0],parseDOM:[{tag:`span.md-wikilink`}]})}function tr(){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 nr(){return _(Wn(),Gn(),Kn(),qn(),Jn(),Yn(),Xn(),Zn(),Qn(),$n(),er(),Un(),tr())}function rr(e,t=0){let n=t,r=0;for(let t=0;t<e.length;t++)e.charCodeAt(t)===96?(r++,r>n&&(n=r)):r=0;return n}const U={em:{node:B.Emphasis,delim:`*`},strong:{node:B.StrongEmphasis,delim:`**`},code:{node:B.InlineCode,delim:"`"},del:{node:B.Strikethrough,delim:`~~`},highlight:{node:B.Highlight,delim:`==`}},ir=new Set([B.EmphasisMark,B.CodeMark,B.LinkMark,B.StrikethroughMark,B.HighlightMark]);function W(e){return[e.children[0],e.children.at(-1)]}function ar(e){let{type:t,children:n}=e;if(t===B.Emphasis||t===B.StrongEmphasis||t===B.Strikethrough||t===B.Highlight)return[n[0].to,n.at(-1).from];if(t===B.Link||t===B.Image){let e=n.find((e,t)=>t>0&&e.type===B.LinkMark);return e?[n[0].to,e.from]:null}return null}function G(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=ar(r);return i&&i[0]<=t&&n<=i[1]?G(r.children,t,n):G(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function or(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return or(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}function sr(e,t,n){for(;t<n&&I(e.charCodeAt(t));)t++;for(;n>t&&I(e.charCodeAt(n-1));)n--;return[t,n]}function cr(e,t,n,r){let i=z(R(e),e=>e.type===r.node||ir.has(e.type));for(let r=t;r<n;r++)if(!I(e.charCodeAt(r))&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function lr(e,t,n,r,i){let a=R(e),o=z(a,e=>e.type===r.node);return i?fr(e,o,t,n):ur(e,a,o,t,n,r)}function ur(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=G(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]=W(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=dr(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function dr(e,t,n,r,i){if(i.node!==B.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(rr(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function fr(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=W(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=or(a.children.slice(1,-1),s,c);s>t.to&&I(e.charCodeAt(s-1));)s--;for(;c<o.from&&I(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 pr(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=R(e),o=z(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=W(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return mr(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function mr(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=ar(n);return!e||t<e[0]||t>e[1]?!0:mr(n.children,t)}return!1}function K(e){return(t,n)=>{if(t.selection.empty)return hr(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]=sr(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:cr(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>lr(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(S.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 hr(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=pr(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(S.create(o.doc,i+a.pos)),a.kind===`insert`&&(o.insertText(e.delim+e.delim,i+a.pos),o.setSelection(S.create(o.doc,i+a.pos+e.delim.length))),n(o.scrollIntoView())}return!0}function gr(){return o({toggleEm:()=>K(U.em),toggleStrong:()=>K(U.strong),toggleCode:()=>K(U.code),toggleDel:()=>K(U.del),toggleHighlight:()=>K(U.highlight)})}function _r(){return l({"Mod-b":K(U.strong),"Mod-i":K(U.em),"Mod-e":K(U.code),"Mod-Shift-x":K(U.del),"Mod-Shift-h":K(U.highlight)})}function vr(){return _(gr(),_r())}function yr(e,t,n){let r;return e.doc.nodesBetween(t.from,t.to,(e,i)=>(e.isText&&e.marks.some(e=>e.type.name===n)&&(r={from:Math.max(i,t.from),to:Math.min(i+e.nodeSize,t.to)}),!0)),r}function q(e,t){let n=D(e,t,`mdLinkText`),r=D(e,t,`mdPack`),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=yr(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 br(e){let t=e.trim();return t?Dn(t)??t:``}function xr(e,t){return e+(t?` "${t.replaceAll(/(["\\])/g,String.raw`\$1`)}"`:``)}function Sr(e){let{selection:t}=e,{$from:n,$to:r,empty:i}=t;if(i||!n.sameParent(r)||!g(t))return;let a=n.parent;if(!a.isTextblock||a.type.spec.code)return;let o=n.start(),[s,c]=sr(a.textContent,n.parentOffset,r.parentOffset);if(!(s>=c))return{from:o+s,to:o+c}}function Cr(e={}){return(t,n)=>{let r=xr(br(e.href??``),e.title??``),i=Sr(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(S.create(o.doc,e,a+1+s.length)).scrollIntoView())}return!0}}function wr(e){return(t,n)=>{let r=q(t,t.selection.from);if(!r?.dest)return!1;let i=xr(br(e.href??r.href),e.title??r.title);return n&&n(t.tr.insertText(i,r.dest.from,r.dest.to).scrollIntoView()),!0}}function Tr(){return(e,t)=>{let n=q(e,e.selection.from);return n?.label?(t&&t(e.tr.delete(n.label.to,n.unit.to).delete(n.unit.from,n.label.from).scrollIntoView()),!0):!1}}function Er(){return o({insertLink:Cr,updateLink:wr,removeLink:Tr})}function Dr(e){return(t,n,r)=>{let i=q(t,t.selection.from);if(i){if(n&&r){let{unit:{from:a,to:o}}=i;n(t.tr.setSelection(S.create(t.doc,a,o)).scrollIntoView()),r.focus(),e({from:a,to:o,link:i})}return!0}let a=Sr(t);if(a){if(n&&r){let{from:i,to:o}=a;n(t.tr.setSelection(S.create(t.doc,i,o)).scrollIntoView()),r.focus(),e({from:i,to:o,link:void 0})}return!0}return!1}}function Or(e){return l({"Mod-k":Dr(e)})}function kr(){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 Ar(){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 jr(e){return e===2||e===3||e===4}function Mr(){return f({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>jr(e)?[`data-list-marker-gap`,String(e)]:null,parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return jr(t)?t:1}})}const Nr=[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 Pr(){return _(Nr.map(Le))}function Fr(){return T({kind:`task`,marker:`+`})}function Ir(){return T({kind:`task`,marker:null})}function Lr(){return o({wrapInCircleTask:Fr,wrapInSquareTask:Ir})}function Rr(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 zr(){return(e,t,n)=>{let r=Rr(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 Br(){return(e,t,n)=>{let r=Rr(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 Vr(){return l({"Mod-Enter":zr(),"Mod-Shift-Enter":Br()})}function Hr(){return _(Ue(),Ve(),Be(),Re(),He(),ze(),Pr(),Vr(),kr(),Ar(),Mr(),Lr())}function Ur(){return p({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function Wr(){return _(v(Ur(),t.highest),We(),Ge())}const Gr=(e,t)=>{let{selection:n}=e;return!et(n)||!n.isColSelection()||!n.isRowSelection()?!1:$e(e,t)};function Kr(){return v(l({Backspace:Gr,Delete:Gr}),t.high)}function qr(){return _(Qe(),Ze(),Ke(),Xe(),Ye({allowTableNodeSelection:!0}),qe(),Je(),Kr())}function Jr(){return _(Wr(),me(),Ft(),_e(),de(),Hr(),Vt(),qr(),fe(),Ut(),Wt(),nr(),kt(),Hn(),vr(),Er(),wn(),wt({marks:[{name:`mdImage`,modes:[`hide`,`focus`,`show`]},{name:`mdWikilink`,modes:[`hide`,`focus`,`show`]}]}),a(),i(),c(),he(),ve(),ge(),Pt())}function Yr(){return Jr()}const Xr=y(()=>{let e=Yr().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),Zr=y(()=>r(Xr())),Qr=y(()=>n(Xr())),$r=`meowdown_mark_builders`;function ei(e){let t=e.cached[$r];if(t)return t;let r=n(e);return e.cached[$r]=r,r}const ti=`meowdown_node_builders`;function ni(e){let t=e.cached[ti];if(t)return t;let n=r(e);return e.cached[ti]=n,n}function J(e,t={}){let{nodes:n=Zr(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=ii(e);i=t,n&&(a=e.slice(n))}let o=ai(n,pn.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const ri=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function ii(e){let t=ri.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function ai(e,t,n){let r=[];if(!t.firstChild())return r;do r.push(...Y(e,t,n));while(t.nextSibling());return t.parent(),r}function Y(e,t,n){switch(t.type.id){case B.ATXHeading1:return[X(e,t,n,1,!1)];case B.ATXHeading2:return[X(e,t,n,2,!1)];case B.ATXHeading3:return[X(e,t,n,3,!1)];case B.ATXHeading4:return[X(e,t,n,4,!1)];case B.ATXHeading5:return[X(e,t,n,5,!1)];case B.ATXHeading6:return[X(e,t,n,6,!1)];case B.SetextHeading1:return[X(e,t,n,1,!0)];case B.SetextHeading2:return[X(e,t,n,2,!0)];case B.Paragraph:return[Q(e,t,n)];case B.CommentBlock:return[di(e,t,n)];case B.HTMLBlock:case B.ProcessingInstructionBlock:return[Q(e,t,n)];case B.Blockquote:return[fi(e,t,n)];case B.BulletList:return pi(e,t,n,`bullet`);case B.OrderedList:return pi(e,t,n,`ordered`);case B.FencedCode:case B.CodeBlock:return[hi(e,t,n)];case B.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case B.Table:return[gi(e,t,n)];case B.Task:return[Q(e,t,n)];default:return n.slice(t.from,t.to).trim()===``?[]:(console.warn(`[meowdown] unsupported lezer block "${t.type.name}"`),[Q(e,t,n)])}}function X(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===B.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===B.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=li(n.slice(o,s),Z(n,o)).trim(),d=i?oi(n,c,l)||1:null,f=!i&&c>=0&&si(n,c,l)||null;return e.heading({level:r,setextUnderline:d,closingHashes:f},u)}function oi(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 si(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 Z(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 ci(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 li(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 h,getMarkType as ee,getNodeType as te,isAllSelection as ne,isAtBlockStart as re,isTextSelection as g,toggleNode as ie,union as _,unsetBlockType as ae,withPriority as oe,withPriority as v,withSkipCodeBlock as se}from"@prosekit/core";import{definePlaceholder as ce}from"@prosekit/extensions/placeholder";import{defineReadonly as le}from"@prosekit/extensions/readonly";import{isElementLike as ue,once as y}from"@ocavue/utils";import{defineBlockquote as de}from"@prosekit/extensions/blockquote";import{defineCodeBlock as fe,defineCodeBlockHighlight as pe}from"@prosekit/extensions/code-block";import{defineDoc as me}from"@prosekit/extensions/doc";import{defineGapCursor as he}from"@prosekit/extensions/gap-cursor";import{defineModClickPrevention as ge}from"@prosekit/extensions/mod-click-prevention";import{defineText as _e}from"@prosekit/extensions/text";import{defineVirtualSelection as ve}from"@prosekit/extensions/virtual-selection";import{Plugin as b,PluginKey as x,Selection as ye,TextSelection as S}from"@prosekit/pm/state";import{Decoration as C,DecorationSet as w}from"@prosekit/pm/view";import{LanguageDescription as be}from"@codemirror/language";import{languages as xe}from"@codemirror/language-data";import{classHighlighter as Se,highlightTree as Ce}from"@lezer/highlight";import{createParser as we}from"prosemirror-highlight/lezer";import{defineHeadingCommands as Te,defineHeadingInputRule as Ee,defineHeadingSpec as De}from"@prosekit/extensions/heading";import{defineHorizontalRule as Oe}from"@prosekit/extensions/horizontal-rule";import{ReplaceStep as ke,Step as Ae,StepResult as je,Transform as Me}from"@prosekit/pm/transform";import{DOMSerializer as Ne,Mark as Pe}from"@prosekit/pm/model";import{GFM as Fe,parser as Ie}from"@lezer/markdown";import{defineInputRule as Le}from"@prosekit/extensions/input-rule";import{defineListCommands as Re,defineListDropIndicator as ze,defineListKeymap as Be,defineListSerializer as Ve,defineListSpec as He,wrapInList as T}from"@prosekit/extensions/list";import{createListRenderingPlugin as Ue,createSafariInputMethodWorkaroundPlugin as We,createToggleCollapsedCommand as Ge,handleListMarkerMouseDown as Ke,unwrapListSlice as qe,wrappingListInputRule as E}from"prosemirror-flat-list";import{defineParagraphCommands as Je,defineParagraphKeymap as Ye}from"@prosekit/extensions/paragraph";import{defineTableCellSpec as Xe,defineTableCommands as Ze,defineTableDropIndicator as Qe,defineTableEditingPlugin as $e,defineTableHeaderCellSpec as et,defineTableRowSpec as tt,defineTableSpec as nt,deleteTable as rt,isCellSelection as it}from"@prosekit/extensions/table";import{closeHistory as at}from"@prosekit/pm/history";import ot from"rehype-parse";import st from"rehype-remark";import ct from"remark-gfm";import lt from"remark-stringify";import{unified as ut}from"unified";import{registerResizableHandleElement as dt,registerResizableRootElement as ft}from"@prosekit/web/resizable";import{triggerAutocomplete as pt}from"@prosekit/extensions/autocomplete";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 h(i,n)}const mt=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]),ht=new x(`mark-mode`);function gt(e){return new b({key:ht,state:{init:()=>e,apply:(e,t)=>t},props:{attributes:{"data-mark-mode":e},decorations:e===`focus`?e=>bt(e):void 0,clipboardTextSerializer:e===`show`?void 0:yt}})}function _t(e){return m(gt(e))}function vt(e){return ht.getState(e)}function yt(e){let t=[];return e.content.forEach(e=>{let n=[];e.descendants(e=>!e.isText||!e.text?!0:(e.marks.some(e=>mt.has(e.type.name))||n.push(e.text),!1)),t.push(n.join(``))}),t.join(`
2
+ `)}function bt(e){let{selection:t}=e;if(!t.empty)return w.empty;let n=t.$head,{parent:r}=n;if(!r.isTextblock||r.type.spec.code)return w.empty;let i=h(n,ee(e.schema,`mdPack`));return i?w.create(e.doc,[C.inline(i.from,i.to,{class:`show`})]):w.empty}function O(e,t){let n=vt(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function k(e,t,n){for(let r of n){let n=D(e,t,r);if(n)return n}}function A(e,t,n){let r=k(e,t,n);return r&&r.to===t?r:void 0}function xt(e,t,n){let r=k(e,t,n);return r&&r.from===t?r:void 0}function j(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=k(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function St(e,t){return S.create(e.doc,t.from,t.to)}function Ct(e){return(t,n)=>{let r=O(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=xt(t,i.from,r);if(e)return n?.(t.tr.setSelection(St(t,e))),!0;if(A(t,i.from,r)){let e=t.doc.resolve(i.from);return i.from>=e.end()?!1:(n?.(t.tr.setSelection(S.create(t.doc,i.from+1))),!0)}return!1}let a=j(t,r);return a?(n?.(t.tr.setSelection(S.create(t.doc,a.to))),!0):!1}}function wt(e){return(t,n)=>{let r=O(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=A(t,i.from,r);return e?(n?.(t.tr.setSelection(St(t,e))),!0):!1}let a=j(t,r);return a?(n?.(t.tr.setSelection(S.create(t.doc,a.from))),!0):!1}}function Tt(e){return(t,n)=>{let r=O(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=A(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!xt(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function Et(e){return(t,n)=>{let r=O(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=xt(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!A(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}const Dt=`md-atom-selected`;function Ot(e){return new b({key:new x(`atom-mark-selection`),props:{decorations:t=>{let n=O(e,t);if(n.length===0)return;let r=j(t,n);if(r)return w.create(t.doc,[C.inline(r.from,r.to,{class:Dt})]);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(C.inline(t,t+e.nodeSize,{class:Dt}))}),w.create(t.doc,s)}}})}function kt({marks:e}){return _(v(l({ArrowRight:Ct(e),ArrowLeft:wt(e),Backspace:Tt(e),Delete:Et(e)}),t.high),m(Ot(e)))}const M=new Map,At=new Map;async function jt(e){let t=M.get(e);if(t!==void 0)return t;let n=be.matchLanguageName(xe,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 Mt(e,t){let n=At.get(e);if(n)return n;let r=we({parse:e=>t.language.parser.parse(e.content),highlighter:Se});return At.set(e,r),r}const Nt=e=>{let t=e.language?.trim();if(!t)return[];let n=M.get(t);return n===null?[]:n?Mt(t,n)(e):jt(t).then(()=>void 0)};function Pt(){return pe({parser:Nt,nodeTypes:[`codeBlock`]})}function Ft(e,t){let n=t.language.parser.parse(e),r=[];return Ce(n,Se,(e,t,n)=>{r.push([e,t,n])}),r}function It(e,t){let n=t.trim();if(!n)return[];let r=M.get(n);return r===null?[]:r?Ft(e,r):jt(n).then(t=>t?Ft(e,t):[])}function Lt(e,t){return(n,r)=>{if(r){let i=S.create(n.doc,e,t);r(n.tr.setSelection(i))}return!0}}function Rt(e,t,n){return(r,i)=>{if(i){let a=S.between(e,t,n);i(r.tr.setSelection(a))}return!0}}function zt(){return o({selectText:Lt,selectTextBetween:Rt})}function Bt(){return f({type:`doc`,attr:`frontmatter`,default:null})}function Vt(){return p({name:`heading`,whitespace:`pre`})}function Ht(){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 Ut(){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 se(ie({type:`heading`,attrs:{level:e}}))}const Wt=(e,t,n)=>re(e,n)?.parent.type.name===`heading`?ae()(e,t,n):!1;function Gt(){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:Wt})}function Kt(){return _(De(),Vt(),Ht(),Ut(),Ee(),Te(),Gt())}function qt(){return f({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function Jt(){return _(Oe(),qt())}function Yt(){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 Xt(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function Zt(e,t){let[n,r,i]=t;return[n,r,i.map(t=>Pe.fromJSON(e,t))]}var P=class e extends Ae{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return je.ok(e);let t=e.content.size,n;for(let[r,i,a]of this.chunks){if(r>=i)continue;let o=Math.max(0,Math.min(r,t)),s=Math.max(o,Math.min(i,t));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 Me(e),n.removeMark(i,c,t));for(let t of a)t.isInSet(l)||(n??=new Me(e),n.addMark(i,c,t));return!1})}return je.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return Qt;let t=this.chunks[0][0],n=this.chunks[0][1];for(let[,e]of this.chunks)e>n&&(n=e);let r=e.content.size,i=Math.max(0,Math.min(t,r)),a=Math.max(i,Math.min(n,r));return new ke(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(Xt)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>Zt(t,e)))}};Ae.jsonID(`batchSetMark`,P);const Qt=new P([]),$t=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),en=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function tn(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function nn(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!$t.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!en.test(e))return!1;return!0}function F(e){return e===32||e===9||e===10||e===13}const rn=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,an=/[\s(*_~]/;function on(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function sn(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function cn(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&sn(e,t,`)`)>sn(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 ln={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!on(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!an.test(r))return-1;let i=rn.exec(e.slice(n,e.end));if(!i)return-1;let a=cn(i[0]);return a===0||!nn(tn(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function un(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 dn(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const fn={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(!un(t))break;i||=dn(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},pn={resolve:`Highlight`,mark:`HighlightMark`},mn=/[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~\u{A1}\u{2010}-\u{2027}]/u,hn={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=mn.test(r),c=mn.test(i);return e.addDelimiter(pn,n,n+2,!o&&(!c||a||s),!a&&(!s||o||c))}}]},gn={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 _n(e){return e.end}const I=Ie.configure([Fe,fn,gn,ln,hn]),vn=I.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:_n}]});function L(e){return I.parseInline(e,0)}function R(e,t,n=[]){for(let r of e)t(r)&&n.push(r),R(r.children,t,n);return n}function yn(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const z=yn(I),bn=/^<!--\s*(\{[^}]*\})\s*-->$/,xn=/<!--\s*\{[^}]*\}\s*-->$/;function Sn(e){let t=bn.exec(e.trim());if(!t)return;let n;try{n=JSON.parse(t[1])}catch{return}if(typeof n!=`object`||!n)return;let r=Cn(n);return Object.keys(r).length>0?r:void 0}function Cn(e){let t={},{width:n}=e;return typeof n==`number`&&Number.isFinite(n)&&n>0&&(t.width=Math.round(n)),t}function wn(e){return`<!-- ${JSON.stringify(e)} -->`}function Tn(e){return e.replace(xn,``)}function En(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 Dn(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 On(){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 kn(){return d({name:`mdWikilink`,constructor:On()})}const An=new Map([[z.Emphasis,`mdEm`],[z.StrongEmphasis,`mdStrong`],[z.InlineCode,`mdCode`],[z.Strikethrough,`mdDel`],[z.Highlight,`mdHighlight`],[z.EmphasisMark,`mdMark`],[z.CodeMark,`mdMark`],[z.LinkMark,`mdMark`],[z.StrikethroughMark,`mdMark`],[z.HighlightMark,`mdMark`],[z.URL,`mdLinkUri`],[z.LinkTitle,`mdLinkTitle`],[z.Hashtag,`mdTag`],[z.WikilinkMark,`mdMark`]]);function jn(e,t){let n=L(t),r=[];return B(n,[],0,t.length,t,e,r),r}function Mn(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)||nn(tn(e)))return`https://${e}`}function Nn(e){return e.slice(1,-1).replaceAll(/\\(.)/g,`$1`)}function B(e,t,n,r,i,a,o){let s=n;for(let n=0;n<e.length;n++){let r=e[n];r.from>s&&V(o,s,r.from,t);let c=r.type;if(c===z.Link)Pn(r,t,i,a,o);else if(c===z.Image){let c=Fn(r,e[n+1],i);In(r,t,i,a,o,c),c&&n++,s=c?c.to:r.to;continue}else if(c===z.Wikilink)Ln(r,t,i,a,o);else if(c===z.URL){let e=Mn(i.slice(r.from,r.to)),n=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();V(o,r.from,r.to,[...t,n])}else{let e;c===z.Emphasis?e=`italic`:c===z.StrongEmphasis?e=`bold`:c===z.InlineCode?e=`code`:c===z.Strikethrough?e=`strike`:c===z.Highlight?e=`highlight`:c===z.Autolink&&(e=`autolink`);let n=e?[...t,a.mdPack.create({key:e})]:t,s=An.get(c),l=s?[...n,a[s].create()]:n;r.children.length===0?V(o,r.from,r.to,l):B(r.children,l,r.from,r.to,i,a,o)}s=r.to}s<r&&V(o,s,r,t)}function Pn(e,t,n,r,i){let a=-1,o=null,s=null,c=0;for(let t of e.children)t.type===z.LinkMark?(c++,c===2&&(a=t.from)):t.type===z.URL&&o===null?o=t:t.type===z.LinkTitle&&s===null&&(s=t);let l=o?n.slice(o.from,o.to):``,u=s?Nn(n.slice(s.from,s.to)):``,d=l?r.mdLinkText.create({href:l}):null,f=e=>a>=0&&e<a&&d!==null,p=r.mdPack.create({key:`link`,data:{href:l,title:u}}),m=[...t,p],h=e.from;for(let t of e.children){if(t.from>h){let e=f(h)?[...m,d]:m;V(i,h,t.from,e)}let e=f(t.from)?[...m,d]:m;if(t.type===z.Wikilink){Ln(t,e,n,r,i),h=t.to;continue}let a=An.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?V(i,t.from,t.to,o):B(t.children,o,t.from,t.to,n,r,i),h=t.to}h<e.to&&V(i,h,e.to,m)}function Fn(e,t,n){if(!t||t.type!==z.Comment||t.from!==e.to)return;let r=Sn(n.slice(t.from,t.to));if(r)return{magic:r,to:t.to}}function In(e,t,n,r,i,a){let o=e.children.find(e=>e.type===z.URL);if(!o){Pn(e,t,n,r,i);return}let s=e.children.filter(e=>e.type===z.LinkMark),c=e.children.find(e=>e.type===z.LinkTitle),l=n.slice(o.from,o.to),u=s.length>=2?n.slice(s[0].to,s[1].from):``,d=c?Nn(n.slice(c.from,c.to)):``,f=a?.magic.width??null,p=a?.to??e.to;V(i,e.from,p,[...t,r.mdImage.create({src:l,alt:u,title:d,width:f})])}function Ln(e,t,n,r,i){let{target:a,display:o}=Dn(n.slice(e.from,e.to));V(i,e.from,e.to,[...t,r.mdWikilink.create({target:a,display:o})])}function V(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&En(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const Rn=`inline-marks-applied`,zn=new WeakMap;let Bn=0,Vn=0;function Hn(e,t,n){let r=zn.get(e);if(r?Vn++:(Bn++,r=jn(di(n),e.textContent),zn.set(e,r)),t===0)return r;let i=[];for(let[e,n,a]of r)i.push([e+t,n+t,a]);return i}function Un(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 Wn(e,t){let n=[];return e.doc.nodesBetween(t.from,t.to,(t,r)=>{if(t.type.spec.code)return!1;if(!t.isTextblock)return!0;if(t.childCount===0)return!1;let i=Hn(t,r+1,e.schema);return i.length>0&&n.push(...i),!1}),n}function Gn(){return new b({key:new x(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(Rn))return null;let r=Wn(n,Un(e,n));if(r.length===0)return null;let i=n.tr.step(new P(r));return i.setMeta(Rn,!0),i.setMeta(`addToHistory`,!1),i},view(e){return e.dispatch(Kn(e.state)),{}}})}function Kn(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function qn(){return m(Gn())}function Jn(){return u({name:`mdImage`,inclusive:!1,attrs:{src:{default:``},alt:{default:``},title:{default:``},width:{default:null}},toDOM:()=>[`span`,{class:`md-image`},0],parseDOM:[{tag:`span.md-image`}]})}function Yn(){return u({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function Xn(){return u({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function Zn(){return u({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function Qn(){return u({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function $n(){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 er(){return u({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function tr(){return u({name:`mdLinkTitle`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-title`},0],parseDOM:[{tag:`span.md-link-title`}]})}function nr(){return u({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function rr(){return u({name:`mdHighlight`,toDOM:()=>[`mark`,0],parseDOM:[{tag:`mark`}]})}function ir(){return u({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function ar(){return u({name:`mdWikilink`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink`},0],parseDOM:[{tag:`span.md-wikilink`}]})}function or(){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 sr(){return _(Yn(),Xn(),Zn(),Qn(),$n(),er(),tr(),nr(),rr(),ir(),ar(),Jn(),or())}function cr(e,t=0){let n=t,r=0;for(let t=0;t<e.length;t++)e.charCodeAt(t)===96?(r++,r>n&&(n=r)):r=0;return n}const H={em:{node:z.Emphasis,delim:`*`},strong:{node:z.StrongEmphasis,delim:`**`},code:{node:z.InlineCode,delim:"`"},del:{node:z.Strikethrough,delim:`~~`},highlight:{node:z.Highlight,delim:`==`}},lr=new Set([z.EmphasisMark,z.CodeMark,z.LinkMark,z.StrikethroughMark,z.HighlightMark]);function U(e){return[e.children[0],e.children.at(-1)]}function ur(e){let{type:t,children:n}=e;if(t===z.Emphasis||t===z.StrongEmphasis||t===z.Strikethrough||t===z.Highlight)return[n[0].to,n.at(-1).from];if(t===z.Link||t===z.Image){let e=n.find((e,t)=>t>0&&e.type===z.LinkMark);return e?[n[0].to,e.from]:null}return null}function W(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=ur(r);return i&&i[0]<=t&&n<=i[1]?W(r.children,t,n):W(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function dr(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return dr(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}function fr(e,t,n){for(;t<n&&F(e.charCodeAt(t));)t++;for(;n>t&&F(e.charCodeAt(n-1));)n--;return[t,n]}function pr(e,t,n,r){let i=R(L(e),e=>e.type===r.node||lr.has(e.type));for(let r=t;r<n;r++)if(!F(e.charCodeAt(r))&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function mr(e,t,n,r,i){let a=L(e),o=R(a,e=>e.type===r.node);return i?_r(e,o,t,n):hr(e,a,o,t,n,r)}function hr(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=W(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]=U(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=gr(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function gr(e,t,n,r,i){if(i.node!==z.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(cr(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function _r(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=U(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=dr(a.children.slice(1,-1),s,c);s>t.to&&F(e.charCodeAt(s-1));)s--;for(;c<o.from&&F(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 vr(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=L(e),o=R(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=U(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return yr(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function yr(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=ur(n);return!e||t<e[0]||t>e[1]?!0:yr(n.children,t)}return!1}function G(e){return(t,n)=>{if(t.selection.empty)return br(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]=fr(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:pr(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>mr(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(S.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 br(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=vr(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(S.create(o.doc,i+a.pos)),a.kind===`insert`&&(o.insertText(e.delim+e.delim,i+a.pos),o.setSelection(S.create(o.doc,i+a.pos+e.delim.length))),n(o.scrollIntoView())}return!0}function xr(){return o({toggleEm:()=>G(H.em),toggleStrong:()=>G(H.strong),toggleCode:()=>G(H.code),toggleDel:()=>G(H.del),toggleHighlight:()=>G(H.highlight)})}function Sr(){return l({"Mod-b":G(H.strong),"Mod-i":G(H.em),"Mod-e":G(H.code),"Mod-Shift-x":G(H.del),"Mod-Shift-h":G(H.highlight)})}function Cr(){return _(xr(),Sr())}function wr(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=wr(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 Tr(e){let t=e.trim();return t?Mn(t)??t:``}function Er(e,t){return e+(t?` "${t.replaceAll(/(["\\])/g,String.raw`\$1`)}"`:``)}function Dr(e){let{selection:t}=e,{$from:n,$to:r,empty:i}=t;if(i||!n.sameParent(r)||!g(t))return;let a=n.parent;if(!a.isTextblock||a.type.spec.code)return;let o=n.start(),[s,c]=fr(a.textContent,n.parentOffset,r.parentOffset);if(!(s>=c))return{from:o+s,to:o+c}}function Or(e={}){return(t,n)=>{let r=Er(Tr(e.href??``),e.title??``),i=Dr(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(S.create(o.doc,e,a+1+s.length)).scrollIntoView())}return!0}}function kr(e){return(t,n)=>{let r=K(t,t.selection.from);if(!r?.dest)return!1;let i=Er(Tr(e.href??r.href),e.title??r.title);return n&&n(t.tr.insertText(i,r.dest.from,r.dest.to).scrollIntoView()),!0}}function Ar(){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 jr(){return o({insertLink:Or,updateLink:kr,removeLink:Ar})}function Mr(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(S.create(t.doc,a,o)).scrollIntoView()),r.focus(),e({from:a,to:o,link:i})}return!0}let a=Dr(t);if(a){if(n&&r){let{from:i,to:o}=a;n(t.tr.setSelection(S.create(t.doc,i,o)).scrollIntoView()),r.focus(),e({from:i,to:o,link:void 0})}return!0}return!1}}function Nr(e){return l({"Mod-k":Mr(e)})}function Pr(){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 Fr(){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 Ir(e){return e===2||e===3||e===4}function Lr(){return f({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>Ir(e)?[`data-list-marker-gap`,String(e)]:null,parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return Ir(t)?t:1}})}const Rr=[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 zr(){return _(Rr.map(Le))}function Br(){return T({kind:`task`,marker:`+`})}function Vr(){return T({kind:`task`,marker:null})}function Hr(){return o({wrapInCircleTask:Br,wrapInSquareTask:Vr})}function Ur(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 Wr(){return(e,t,n)=>{let r=Ur(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 Gr(){return(e,t,n)=>{let r=Ur(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 q(e){return e.type.name===`list`&&e.attrs.kind===`bullet`&&e.childCount>=2&&e.firstChild?.type!==e.type}const Kr=e=>{let t=e.attrs;return t.kind===`task`?{...t,checked:!t.checked}:q(e)?{...t,collapsed:!t.collapsed}:t};function qr(){return m(()=>[new b({props:{handleDOMEvents:{mousedown:(e,t)=>Ke({view:e,event:t,onListClick:Kr})}}}),Ue(),new b({props:{transformCopied:qe}}),We()])}function Jr(){return o({toggleListCollapsed:()=>Ge({isToggleable:q})})}function Yr(){return l({"Mod-Enter":Wr(),"Mod-Shift-Enter":Gr(),"Mod-.":Ge({isToggleable:q})})}function Xr(){return _(He(),qr(),Be(),Re(),Ve(),ze(),zr(),Yr(),Pr(),Fr(),Lr(),Hr(),Jr())}function Zr(){return p({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function Qr(){return _(v(Zr(),t.highest),Je(),Ye())}function $r(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 ei=`paragraph`;function ti(){return _(p({name:`tableCell`,content:ei}),p({name:`tableHeaderCell`,content:ei}))}const ni=(e,t)=>{let{selection:n}=e;return!it(n)||!n.isColSelection()||!n.isRowSelection()?!1:rt(e,t)};function ri(){return v(l({Backspace:ni,Delete:ni}),t.high)}function ii(){return _(nt(),tt(),Xe(),et(),ti(),$e({allowTableNodeSelection:!0}),Ze(),Qe(),ri())}function ai(){return _(Qr(),me(),Bt(),_e(),de(),Xr(),Kt(),ii(),fe(),Jt(),Yt(),sr(),Pt(),qn(),Cr(),jr(),kn(),kt({marks:[{name:`mdImage`,modes:[`hide`,`focus`,`show`]},{name:`mdWikilink`,modes:[`hide`,`focus`,`show`]}]}),a(),i(),c(),he(),ve(),ge(),zt())}function oi(){return ai()}const si=y(()=>{let e=oi().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),ci=y(()=>r(si())),li=y(()=>n(si())),ui=`meowdown_mark_builders`;function di(e){let t=e.cached[ui];if(t)return t;let r=n(e);return e.cached[ui]=r,r}const fi=`meowdown_node_builders`;function pi(e){let t=e.cached[fi];if(t)return t;let n=r(e);return e.cached[fi]=n,n}function J(e,t={}){let{nodes:n=ci(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=hi(e);i=t,n&&(a=e.slice(n))}let o=gi(n,vn.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const mi=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function hi(e){let t=mi.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function gi(e,t,n){let r=[];if(!t.firstChild())return r;do r.push(...Y(e,t,n));while(t.nextSibling());return t.parent(),r}function Y(e,t,n){switch(t.type.id){case z.ATXHeading1:return[X(e,t,n,1,!1)];case z.ATXHeading2:return[X(e,t,n,2,!1)];case z.ATXHeading3:return[X(e,t,n,3,!1)];case z.ATXHeading4:return[X(e,t,n,4,!1)];case z.ATXHeading5:return[X(e,t,n,5,!1)];case z.ATXHeading6:return[X(e,t,n,6,!1)];case z.SetextHeading1:return[X(e,t,n,1,!0)];case z.SetextHeading2:return[X(e,t,n,2,!0)];case z.Paragraph:return[$(e,t,n)];case z.CommentBlock:return[xi(e,t,n)];case z.HTMLBlock:case z.ProcessingInstructionBlock:return[$(e,t,n)];case z.Blockquote:return[Si(e,t,n)];case z.BulletList:return Ci(e,t,n,`bullet`);case z.OrderedList:return Ci(e,t,n,`ordered`);case z.FencedCode:case z.CodeBlock:return[Ti(e,t,n)];case z.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case z.Table:return[Ei(e,t,n)];case z.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 X(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===z.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===z.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=Q(n.slice(o,s),Z(n,o)).trim(),d=i?_i(n,c,l)||1:null,f=!i&&c>=0&&vi(n,c,l)||null;return e.heading({level:r,setextUnderline:d,closingHashes:f},u)}function _i(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 vi(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 Z(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 yi(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 Q(e,t){return t===0||!e.includes(`
4
4
  `)?e:e.split(`
5
- `).map((e,n)=>n===0?e:ci(e,t)).join(`
6
- `)}function ui(e,t,n){return e.paragraph(li(t,n))}function Q(e,t,n){let r=t.from,i=t.to,a=Z(n,r);if(t.firstChild()){let o=``,s=r;do t.type.id===B.QuoteMark&&(o+=n.slice(s,t.from),s=t.to,I(n.charCodeAt(s))&&(s+=1));while(t.nextSibling());return t.parent(),o+=n.slice(s,i),ui(e,o,a)}return ui(e,n.slice(r,i),a)}function di(e,t,n){let r=Z(n,t.from),i=li(n.slice(t.from,t.to),r);return e.htmlComment({content:i})}function fi(e,t,n){let r=[];if(t.firstChild()){do{if(t.type.id===B.QuoteMark)continue;r.push(...Y(e,t,n))}while(t.nextSibling());t.parent()}return e.blockquote(r)}function pi(e,t,n,r){let i=[];if(t.firstChild()){do t.type.id===B.ListItem&&i.push(mi(e,t,n,r));while(t.nextSibling());t.parent()}return i}function mi(e,t,n,r){let i=[],a,o,s,c,l,u;if(t.firstChild()){do{if(t.type.id!==B.ListMark&&u==null&&(u=Z(n,t.from)),t.type.id===B.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=Z(n,t.to);continue}if(r===`bullet`&&t.type.id===B.Task){let r=t.from,s=t.to;if(a=!1,t.firstChild()){if(t.type.id===B.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()}I(n.charCodeAt(r))&&(r+=1);let c=n.slice(r,s);i.push(ui(e,c,Z(n,r)));continue}i.push(...Y(e,t,n))}while(t.nextSibling());t.parent()}let d=u!=null&&l!=null?u-l:1;return e.list({kind:a==null?r:`task`,order:r===`ordered`?s??1:null,checked:a??!1,collapsed:!1,marker:c,taskMarker:o,markerGap:d>=2&&d<=4?d:1},i)}function hi(e,t,n){let r=``,i=``;if(t.firstChild()){do switch(t.type.id){case B.CodeInfo:r=n.slice(t.from,t.to);break;case B.CodeText:i+=n.slice(t.from,t.to);break}while(t.nextSibling());t.parent()}return e.codeBlock({language:r},i)}function gi(e,t,n){let r=0;if(t.firstChild()){do t.type.id===B.TableDelimiter&&(r=_i(n.slice(t.from,t.to)));while(t.nextSibling());t.parent()}let i=[];if(t.firstChild()){do{let a=t.type.id;a===B.TableHeader?i.push(vi(e,t,n,!0,r)):a===B.TableRow&&i.push(vi(e,t,n,!1,r))}while(t.nextSibling());t.parent()}return e.table(i)}function _i(e){return e.split(`|`).filter(e=>e.trim()!==``).length}function vi(e,t,n,r,i){let a=Array(i).fill(``);if(t.firstChild()){let e=t.type.id===B.TableDelimiter,r=0;do if(t.type.id===B.TableDelimiter)r++;else if(t.type.id===B.TableCell){let o=r-+!!e;o>=0&&o<i&&(a[o]=n.slice(t.from,t.to).trim().replaceAll(String.raw`\|`,`|`))}while(t.nextSibling());t.parent()}let o=a.map(t=>{let n=e.paragraph(t);return r?e.tableHeaderCell(n):e.tableCell(n)});return e.tableRow(o)}function yi(e,t={}){let n=new Ci;return t.frontmatter&&bi(e.attrs.frontmatter,n),wi(e,n),n.finish()}function bi(e,t){e!==null&&(t.write(`---`),t.write(`
5
+ `).map((e,n)=>n===0?e:yi(e,t)).join(`
6
+ `)}function bi(e,t,n){return e.paragraph(Q(t,n))}function $(e,t,n){let r=t.from,i=t.to,a=Z(n,r);if(t.firstChild()){let o=``,s=r;do t.type.id===z.QuoteMark&&(o+=n.slice(s,t.from),s=t.to,F(n.charCodeAt(s))&&(s+=1));while(t.nextSibling());return t.parent(),o+=n.slice(s,i),bi(e,o,a)}return bi(e,n.slice(r,i),a)}function xi(e,t,n){let r=Z(n,t.from),i=Q(n.slice(t.from,t.to),r);return e.htmlComment({content:i})}function Si(e,t,n){let r=[];if(t.firstChild()){do{if(t.type.id===z.QuoteMark)continue;r.push(...Y(e,t,n))}while(t.nextSibling());t.parent()}return e.blockquote(r)}function Ci(e,t,n,r){let i=[];if(t.firstChild()){do t.type.id===z.ListItem&&i.push(wi(e,t,n,r));while(t.nextSibling());t.parent()}return i}function wi(e,t,n,r){let i=[],a,o,s,c,l,u;if(t.firstChild()){do{if(t.type.id!==z.ListMark&&u==null&&(u=Z(n,t.from)),t.type.id===z.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=Z(n,t.to);continue}if(r===`bullet`&&t.type.id===z.Task){let r=t.from,s=t.to;if(a=!1,t.firstChild()){if(t.type.id===z.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()}F(n.charCodeAt(r))&&(r+=1);let c=n.slice(r,s);i.push(bi(e,c,Z(n,r)));continue}i.push(...Y(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 Ti(e,t,n){let r=``,i=``;if(t.firstChild()){do switch(t.type.id){case z.CodeInfo:r=n.slice(t.from,t.to);break;case z.CodeText:i+=n.slice(t.from,t.to);break}while(t.nextSibling());t.parent()}return e.codeBlock({language:r},i)}function Ei(e,t,n){let r=0;if(t.firstChild()){do t.type.id===z.TableDelimiter&&(r=Di(n.slice(t.from,t.to)));while(t.nextSibling());t.parent()}let i=[];if(t.firstChild()){do{let a=t.type.id;a===z.TableHeader?i.push(Oi(e,t,n,!0,r)):a===z.TableRow&&i.push(Oi(e,t,n,!1,r))}while(t.nextSibling());t.parent()}return e.table(i)}function Di(e){return e.split(`|`).filter(e=>e.trim()!==``).length}function Oi(e,t,n,r,i){let a=Array(i).fill(``);if(t.firstChild()){let e=t.type.id===z.TableDelimiter,r=0;do if(t.type.id===z.TableDelimiter)r++;else if(t.type.id===z.TableCell){let o=r-+!!e;o>=0&&o<i&&(a[o]=n.slice(t.from,t.to).trim().replaceAll(String.raw`\|`,`|`))}while(t.nextSibling());t.parent()}let o=a.map(t=>{let n=e.paragraph(t);return r?e.tableHeaderCell(n):e.tableCell(n)});return e.tableRow(o)}function ki(e,t={}){let n=new Ni;return t.frontmatter&&Ai(e.attrs.frontmatter,n),Pi(e,n),n.finish()}function Ai(e,t){e!==null&&(t.write(`---`),t.write(`
7
7
  `),e!==``&&(t.write(e),t.write(`
8
- `)),t.write(`---`),t.closeBlock())}const xi=[``,`# `,`## `,`### `,`#### `,`##### `,`###### `];function Si(e,t){let n=e.attrs,r=n.setextUnderline;if(r!=null&&e.content.size>0&&n.level<=2){Oi(e,t);let i=n.level===1?`=`:`-`;t.write(`
9
- `+i.repeat(Math.max(1,r))),t.closeBlock();return}t.write(xi[n.level]??`# `),Oi(e,t);let i=n.closingHashes;i!=null&&i>0&&t.write(` `+`#`.repeat(i)),t.closeBlock()}var Ci=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 ji=[``,`# `,`## `,`### `,`#### `,`##### `,`###### `];function Mi(e,t){let n=e.attrs,r=n.setextUnderline;if(r!=null&&e.content.size>0&&n.level<=2){Ri(e,t);let i=n.level===1?`=`:`-`;t.write(`
9
+ `+i.repeat(Math.max(1,r))),t.closeBlock();return}t.write(ji[n.level]??`# `),Ri(e,t);let i=n.closingHashes;i!=null&&i>0&&t.write(` `+`#`.repeat(i)),t.closeBlock()}var Ni=class{constructor(){this.parts=[],this.linePrefix=``,this.pendingFirst=null,this.atLineStart=!0,this.deferredBlankPrefix=null}write(e){if(e===``)return;if(this.emitDeferredBlankLine(),this.atLineStart&&=(this.parts.push(this.pendingFirst??this.linePrefix),this.pendingFirst=null,!1),!e.includes(`
10
10
  `)){this.parts.push(e);return}let t=e.split(`
11
11
  `);for(let e=0;e<t.length;e++)e>0&&this.parts.push(`
12
12
  `,this.linePrefix),t[e]!==``&&this.parts.push(t[e])}closeBlock(){this.atLineStart&&this.pendingFirst!==null&&(this.emitDeferredBlankLine(),this.parts.push(this.pendingFirst.trimEnd()),this.pendingFirst=null,this.atLineStart=!1),this.atLineStart||this.parts.push(`
13
13
  `),this.atLineStart=!0,this.deferredBlankPrefix=this.linePrefix}suppressBlank(){this.deferredBlankPrefix=null}withPrefix(e,t,n){let r=this.linePrefix,i=this.pendingFirst;if(this.linePrefix=r+e,t!==null){let e=i??r;this.pendingFirst=e+t}n(),this.linePrefix=r,this.pendingFirst=t===null?i:null}finish(){return this.parts.join(``).replace(/\s+$/,``)+`
14
14
  `}emitDeferredBlankLine(){let e=this.deferredBlankPrefix;e!==null&&(this.parts.push(e.trimEnd(),`
15
- `),this.deferredBlankPrefix=null)}};function wi(e,t){switch(e.type.name){case`doc`:Ti(e,t);return;case`paragraph`:Oi(e,t),t.closeBlock();return;case`heading`:Si(e,t);return;case`blockquote`:t.withPrefix(`> `,`> `,()=>Ti(e,t)),t.closeBlock();return;case`list`:ki(e,t,Di(e));return;case`codeBlock`:Ai(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`:ji(e,t);return;case`text`:e.text&&t.write(e.text);return}}function Ti(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(),wi(a,t),i++;continue}let o=i+1;for(;o<r&&e.child(o).type.name===`list`;)o++;let s=Ei(e,i,o);for(let r=i;r<o;r++)(r===i?n&&i>0:s)&&t.suppressBlank(),ki(e.child(r),t,s);i=o}}function Ei(e,t,n){for(let r=t;r<n;r++)if(!Di(e.child(r)))return!1;return!0}function Di(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 Oi(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 ki(e,t,n){let r=e.attrs,i=r.marker===`*`||r.marker===`+`?r.marker:`-`,a=r.marker===`)`?`)`:`.`,o=r.taskMarker===`X`?`X`:`x`,s=Math.min(Math.max(r.markerGap??1,1),4),c=`${r.kind===`ordered`?`${r.order??1}${a}`:i}${` `.repeat(s)}`,l=r.kind===`task`?`${c}[${r.checked?o:` `}] `:c,u=` `.repeat(c.length);t.withPrefix(u,l,()=>Ti(e,t,n)),t.closeBlock()}function Ai(e,t){let n=e.attrs.language||``,r=e.textContent,i="`".repeat(rr(r,2)+1);t.write(i),n&&t.write(n),t.write(`
15
+ `),this.deferredBlankPrefix=null)}};function Pi(e,t){switch(e.type.name){case`doc`:Fi(e,t);return;case`paragraph`:Ri(e,t),t.closeBlock();return;case`heading`:Mi(e,t);return;case`blockquote`:t.withPrefix(`> `,`> `,()=>Fi(e,t)),t.closeBlock();return;case`list`:zi(e,t,Li(e));return;case`codeBlock`:Bi(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`:Vi(e,t);return;case`text`:e.text&&t.write(e.text);return}}function Fi(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(),Pi(a,t),i++;continue}let o=i+1;for(;o<r&&e.child(o).type.name===`list`;)o++;let s=Ii(e,i,o);for(let r=i;r<o;r++)(r===i?n&&i>0:s)&&t.suppressBlank(),zi(e.child(r),t,s);i=o}}function Ii(e,t,n){for(let r=t;r<n;r++)if(!Li(e.child(r)))return!1;return!0}function Li(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 Ri(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 zi(e,t,n){let{kind:r,marker:i,order:a,taskMarker:o,collapsed:s,markerGap:c,checked:l}=e.attrs,u=r===`task`?i===`+`?`+`:i===`*`?`*`:`-`:s?`+`:i===`*`?`*`:`-`,d=i===`)`?`)`:`.`,f=o===`X`?`X`:`x`,p=Math.min(Math.max(c??1,1),4),m=`${r===`ordered`?`${a??1}${d}`:u}${` `.repeat(p)}`,h=r===`task`?`${m}[${l?f:` `}] `:m,ee=` `.repeat(m.length);t.withPrefix(ee,h,()=>Fi(e,t,n)),t.closeBlock()}function Bi(e,t){let n=e.attrs.language||``,r=e.textContent,i="`".repeat(cr(r,2)+1);t.write(i),n&&t.write(n),t.write(`
16
16
  `),r&&(t.write(r),t.write(`
17
- `)),t.write(i),t.closeBlock()}function ji(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(Ni(t))}s&&a<0&&(a=t),o.length>i&&(i=o.length),r.push(o)}if(i===0)return;let o=`| `+Array(i).fill(`---`).join(` | `)+` |`,s=a>=0?r[a]:Array(i).fill(``);t.write(Mi(s,i)),t.write(`
17
+ `)),t.write(i),t.closeBlock()}function Vi(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(Ui(t))}s&&a<0&&(a=t),o.length>i&&(i=o.length),r.push(o)}if(i===0)return;let o=`| `+Array(i).fill(`---`).join(` | `)+` |`,s=a>=0?r[a]:Array(i).fill(``);t.write(Hi(s,i)),t.write(`
18
18
  `),t.write(o);for(let e=0;e<n;e++)e!==a&&(t.write(`
19
- `),t.write(Mi(r[e],i)));t.closeBlock()}function Mi(e,t){let n=`|`;for(let r=0;r<t;r++)n+=` `+(e[r]??``)+` |`;return n}function Ni(e){let t=e.textContent.trim();return!t.includes(`|`)&&!t.includes(`
19
+ `),t.write(Hi(r[e],i)));t.closeBlock()}function Hi(e,t){let n=`|`;for(let r=0;r<t;r++)n+=` `+(e[r]??``)+` |`;return n}function Ui(e){let t=e.textContent.trim();return!t.includes(`|`)&&!t.includes(`
20
20
  `)?t:t.replaceAll(`|`,String.raw`\|`).replaceAll(`
21
- `,` `)}function Pi(e){return e.replace(/\n+$/u,``)}function Fi(e){return/^[\s>]*$/u.test(e)}function Ii(e){return e.split(`
22
- `).filter(e=>!Fi(e))}function Li(e){return e.trim().replaceAll(/\s+/gu,` `)}function Ri(e,t={}){let n=yi(J(e,{frontmatter:t.frontmatter}),{frontmatter:t.frontmatter});if(Pi(n)===Pi(e))return`exact`;let r=Ii(e),i=Ii(n);return r.length===i.length&&r.every((e,t)=>Li(e)===Li(i[t]))?`normalizing`:`lossy`}const zi=(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=te(e.schema,`list`),i=te(e.schema,`paragraph`),a=r.create({kind:`bullet`},i.create()),o=n.after(),s=e.tr.insert(o,a);s.setSelection(S.create(s.doc,o+2)),t(s.scrollIntoView())}return!0};function Bi(){return v(l({Enter:zi}),t.high)}const Vi=new Set([`MscGen`,`Xù`,`MsGenny`,`Angular Template`,`Brainfuck`,`Esper`,`Oz`,`Factor`,`Squirrel`,`Yacas`,`mIRC`,`FCL`,`ECL`,`MUMPS`,`Pig`,`Asterisk`,`Z80`]),Hi=xe.map(e=>e.name).filter(e=>!Vi.has(e)).map(e=>({label:e,value:e.toLowerCase()})).concat({label:`Plain text`,value:``}).sort((e,t)=>e.label.localeCompare(t.label));function Ui(){return typeof window>`u`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}const Wi=/^(?:www\.|mobile\.)?(?:twitter\.com|x\.com)$/i,Gi=/\/status(?:es)?\/(\d+)/;function Ki(e){let t;try{t=new URL(e)}catch{return}if(Wi.test(t.hostname))return Gi.exec(t.pathname)?.[1]}const qi=e=>{let t=Ki(e);if(!t)return;let n=Ui()?`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 Ji(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 Yi=/^(?:www\.|m\.)?(?:youtube\.com|youtube-nocookie\.com)$/i,Xi=/^(?:www\.)?youtu\.be$/i,Zi=/^[\w-]{11}$/;function Qi(e){let t;try{t=new URL(e)}catch{return}let n=null;if(Xi.test(t.hostname))n=t.pathname.slice(1);else if(Yi.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||!Zi.test(n))return;let r=t.searchParams.get(`start`)??t.searchParams.get(`t`),i=r?$i(r):void 0;return{videoId:n,startSeconds:i}}function $i(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 ea=[e=>{let t=Qi(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}},qi];function ta(e){for(let t of ea){let n=t(e);if(n)return n}}const na=new x(`meowdown-embed-paste`);function ra(e){let t=e.trim();if(!(!t||/\s/.test(t)))return ta(t)?t:void 0}function ia(e,t){return e.clipboardData?.getData(`text/plain`)||t.content.textBetween(0,t.content.size,`
23
- `)}function aa(e,t){let{from:n,to:r}=e.state.selection;e.dispatch(tt(e.state.tr.insertText(t,n,r)));let i=e.state.tr.insertText(`![](${t})`,n,n+t.length);e.dispatch(tt(i))}function oa(){return m(new b({key:na,props:{handlePaste:(e,t,n)=>{let r=e.state.selection.$from.parent;if(!r.inlineContent||r.type.spec.code)return!1;let i=ia(t,n);if(!i)return!1;let a=ra(i);return a?(aa(e,a),!0):!1}}}))}const sa=new x(`meowdown-exit-boundary`);function ca(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&&ye.findFrom(a,t))}function la(e,t){let{state:n}=e,{selection:r}=n;return g(r)&&!r.empty||ne(r)||r.$from.parent.inlineContent&&!e.endOfTextblock(t<0?`up`:`down`)?!0:ca(n,t)}function ua(e){return new b({key:sa,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||la(t,r)||e({direction:r<0?`up`:`down`,event:n})===!1)}}})}function da(e){return v(m(ua(e)),t.low)}const fa=(e,t)=>{let n={type:`highlight`,children:e.all(t)};return e.patch(t,n),n},pa=(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 ma(){return ot().use(nt).use(rt,{handlers:{mark:fa}}).use(it).use(at,{bullet:`-`,emphasis:`*`,strong:`*`,fence:"`",fences:!0,rule:`-`,ruleRepetition:3,listItemIndent:`one`,handlers:{highlight:pa}}).freeze()}const ha=y(ma);function ga(e){return String(ha().processSync(e))}const _a=new x(`meowdown-html-paste`);function va(){return m(new b({key:_a,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=ga(e);if(!r.trim())return e;let i=J(r,{nodes:ni(t.state.schema)}),a=Ne.fromSchema(t.state.schema),o=document.createElement(`div`);return o.append(a.serializeFragment(i.content)),o.innerHTML}}}))}const ya=new x(`meowdown-image-click`);function ba(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 xa(e){return m(new b({key:ya,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=ba(t.state,t.posAtDOM(a,0));return o?(e({src:o.src,alt:o.alt,event:r}),!0):!1}}}))}function Sa(e){return/^https?:\/\//i.test(e)?e:void 0}function Ca(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`&&Ji(t),t}function wa(e,t,n,r,i,a){let o=ta(e);if(o){let e=document.createElement(`span`);return e.className=`md-image-view-preview md-atom-view-preview`,e.appendChild(Ca(o)),e}let s=(r.resolveImageUrl??Sa)(e);if(!s)return;let c=document.createElement(`span`);return c.className=`md-image-view-preview md-atom-view-preview`,c.dataset.testid=`image-preview`,c.appendChild(Ta(s,t,n,i,a)),c}function Ta(e,t,n,r,i){ct(),st();let a=document.createElement(`prosekit-resizable-root`);a.className=`md-image-resizable`,a.dataset.testid=`image-resizable`,n!=null&&a.setAttribute(`data-width`,String(n));let o=document.createElement(`img`);o.src=e,o.alt=t,o.draggable=!1,o.addEventListener(`load`,()=>{let{naturalWidth:e,naturalHeight:t}=o,r=e/t;if(Number.isFinite(r)&&r>0&&a.setAttribute(`data-aspect-ratio`,String(r)),n==null&&e>0&&t>0){let t=Math.round(Math.min(e,500*r));a.setAttribute(`data-width`,String(t))}}),a.appendChild(o);let s=document.createElement(`prosekit-resizable-handle`);return s.className=`md-image-resize-handle`,s.setAttribute(`position`,`bottom-right`),s.addEventListener(`click`,e=>e.stopPropagation()),a.appendChild(s),a.addEventListener(`resizeEnd`,e=>{Ea(r,i,e.detail.width)}),a}function Ea(e,t,n){let r=e.posAtDOM(t,0),i=D(e.state,r,`mdImage`);if(!i)return;let a=e.state.doc.textBetween(i.from,i.to),o=bn(a),s=i.from+o.length,c=a.slice(o.length),l=yn({..._n(c)??{},width:Math.round(n)});l!==c&&e.dispatch(e.state.tr.insertText(l,s,i.to))}function Da(e){return(t,n)=>{let{src:r,alt:i,width:a}=t.attrs,o=document.createElement(`span`);o.className=`md-image-view md-atom-view`;let s=document.createElement(`span`);s.className=`md-image-view-content md-atom-view-content`;let c=wa(r,i,a,e,n,s);return c&&(c.contentEditable=`false`,o.appendChild(c)),o.appendChild(s),{dom:o,contentDOM:s,ignoreMutation:e=>!s.contains(e.target)}}}function Oa(e){return e?Array.from(e.files).filter(e=>e.type.startsWith(`image/`)):[]}const ka=e=>{console.error(`[meowdown] failed to save pasted image:`,e)};async function Aa(e,t,n,r=ka,i){let a=i;for(let i of t){let t;try{t=await n(i)}catch(e){r(e,i);continue}if(!t||e.isDestroyed)continue;let o=`![](${t})`,s=a==null?e.state.tr.insertText(o):e.state.tr.insertText(o,a);e.dispatch(s),a!=null&&(a+=o.length)}}function ja(e){return new b({key:new x(`image-input`),props:{handlePaste:(t,n)=>{let r=Oa(n.clipboardData),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(Aa(t,r,i,a),!0)},handleDrop:(t,n)=>{let r=Oa(n.dataTransfer),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(Aa(t,r,i,a,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function Ma(e={}){return _(d({name:`mdImage`,constructor:Da(e)}),v(m(ja(e)),t.high))}const Na={"Mod-b":`Bold`,"Mod-i":`Italic`,"Mod-e":`Inline code`,"Mod-Shift-x":`Strikethrough`,"Mod-Shift-h":`Highlight`,"Mod-k":`Link`,"Mod-1":`Heading 1`,"Mod-2":`Heading 2`,"Mod-3":`Heading 3`,"Mod-4":`Heading 4`,"Mod-5":`Heading 5`,"Mod-6":`Heading 6`};function $(e){return m(new b({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 Pa=new x(`meowdown-link-click`);function Fa(e){return $({key:Pa,selector:`.md-link`,preventDefault:!0,findPayloadAt:(e,t)=>q(e,t)?.href,onClick:(t,n)=>e({href:t,event:n})})}function Ia(e){let t,n=(n,r)=>{let i=r.target;if(!i||!ue(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 _(s(`mouseover`,(e,t)=>n(e,t)),s(`mouseout`,(e,t)=>r(t)))}function La(e){return Ia({selector:`.md-link`,findPayloadAt:(e,t)=>q(e,t),onHoverChange:e})}const Ra=new x(`meowdown-markdown-copy`);function za(){return m(new b({key:Ra,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?yi(r).replace(/\n+$/,``):n.textBetween(0,n.size,`
21
+ `,` `)}function Wi(e){return e.replace(/\n+$/u,``)}function Gi(e){return/^[\s>]*$/u.test(e)}function Ki(e){return e.split(`
22
+ `).filter(e=>!Gi(e))}function qi(e){return e.trim().replaceAll(/\s+/gu,` `)}function Ji(e,t={}){let n=ki(J(e,{frontmatter:t.frontmatter}),{frontmatter:t.frontmatter});if(Wi(n)===Wi(e))return`exact`;let r=Ki(e),i=Ki(n);return r.length===i.length&&r.every((e,t)=>qi(e)===qi(i[t]))?`normalizing`:`lossy`}const Yi=(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=te(e.schema,`list`),i=te(e.schema,`paragraph`),a=r.create({kind:`bullet`},i.create()),o=n.after(),s=e.tr.insert(o,a);s.setSelection(S.create(s.doc,o+2)),t(s.scrollIntoView())}return!0};function Xi(){return v(l({Enter:Yi}),t.high)}const Zi=new Set([`MscGen`,`Xù`,`MsGenny`,`Angular Template`,`Brainfuck`,`Esper`,`Oz`,`Factor`,`Squirrel`,`Yacas`,`mIRC`,`FCL`,`ECL`,`MUMPS`,`Pig`,`Asterisk`,`Z80`]),Qi=xe.map(e=>e.name).filter(e=>!Zi.has(e)).map(e=>({label:e,value:e.toLowerCase()})).concat({label:`Plain text`,value:``}).sort((e,t)=>e.label.localeCompare(t.label));function $i(){return typeof window>`u`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}const ea=/^(?:www\.|mobile\.)?(?:twitter\.com|x\.com)$/i,ta=/\/status(?:es)?\/(\d+)/;function na(e){let t;try{t=new URL(e)}catch{return}if(ea.test(t.hostname))return ta.exec(t.pathname)?.[1]}const ra=e=>{let t=na(e);if(!t)return;let n=$i()?`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 ia(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 aa=/^(?:www\.|m\.)?(?:youtube\.com|youtube-nocookie\.com)$/i,oa=/^(?:www\.)?youtu\.be$/i,sa=/^[\w-]{11}$/;function ca(e){let t;try{t=new URL(e)}catch{return}let n=null;if(oa.test(t.hostname))n=t.pathname.slice(1);else if(aa.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||!sa.test(n))return;let r=t.searchParams.get(`start`)??t.searchParams.get(`t`),i=r?la(r):void 0;return{videoId:n,startSeconds:i}}function la(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 ua=[e=>{let t=ca(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}},ra];function da(e){for(let t of ua){let n=t(e);if(n)return n}}const fa=new x(`meowdown-embed-paste`);function pa(e){let t=e.trim();if(!(!t||/\s/.test(t)))return da(t)?t:void 0}function ma(e,t){return e.clipboardData?.getData(`text/plain`)||t.content.textBetween(0,t.content.size,`
23
+ `)}function ha(e,t){let{from:n,to:r}=e.state.selection;e.dispatch(at(e.state.tr.insertText(t,n,r)));let i=e.state.tr.insertText(`![](${t})`,n,n+t.length);e.dispatch(at(i))}function ga(){return m(new b({key:fa,props:{handlePaste:(e,t,n)=>{let r=e.state.selection.$from.parent;if(!r.inlineContent||r.type.spec.code)return!1;let i=ma(t,n);if(!i)return!1;let a=pa(i);return a?(ha(e,a),!0):!1}}}))}const _a=new x(`meowdown-exit-boundary`);function va(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&&ye.findFrom(a,t))}function ya(e,t){let{state:n}=e,{selection:r}=n;return g(r)&&!r.empty||ne(r)||r.$from.parent.inlineContent&&!e.endOfTextblock(t<0?`up`:`down`)?!0:va(n,t)}function ba(e){return new b({key:_a,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||ya(t,r)||e({direction:r<0?`up`:`down`,event:n})===!1)}}})}function xa(e){return v(m(ba(e)),t.low)}const Sa=(e,t)=>{let n={type:`highlight`,children:e.all(t)};return e.patch(t,n),n},Ca=(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 wa(){return ut().use(ot).use(st,{handlers:{mark:Sa}}).use(ct).use(lt,{bullet:`-`,emphasis:`*`,strong:`*`,fence:"`",fences:!0,rule:`-`,ruleRepetition:3,listItemIndent:`one`,handlers:{highlight:Ca}}).freeze()}const Ta=y(wa);function Ea(e){return String(Ta().processSync(e))}const Da=new x(`meowdown-html-paste`);function Oa(){return m(new b({key:Da,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=Ea(e);if(!r.trim())return e;let i=J(r,{nodes:pi(t.state.schema)}),a=Ne.fromSchema(t.state.schema),o=document.createElement(`div`);return o.append(a.serializeFragment(i.content)),o.innerHTML}}}))}const ka=new x(`meowdown-image-click`);function Aa(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 ja(e){return m(new b({key:ka,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=Aa(t.state,t.posAtDOM(a,0));return o?(e({src:o.src,alt:o.alt,event:r}),!0):!1}}}))}function Ma(e){return/^https?:\/\//i.test(e)?e:void 0}function Na(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`&&ia(t),t}function Pa(e,t,n,r,i,a){let o=da(e);if(o){let e=document.createElement(`span`);return e.className=`md-image-view-preview md-atom-view-preview`,e.appendChild(Na(o)),e}let s=(r.resolveImageUrl??Ma)(e);if(!s)return;let c=document.createElement(`span`);return c.className=`md-image-view-preview md-atom-view-preview`,c.dataset.testid=`image-preview`,c.appendChild(Fa(s,t,n,i,a)),c}function Fa(e,t,n,r,i){ft(),dt();let a=document.createElement(`prosekit-resizable-root`);a.className=`md-image-resizable`,a.dataset.testid=`image-resizable`,n!=null&&a.setAttribute(`data-width`,String(n));let o=document.createElement(`img`);o.src=e,o.alt=t,o.draggable=!1,o.addEventListener(`load`,()=>{let{naturalWidth:e,naturalHeight:t}=o,r=e/t;if(Number.isFinite(r)&&r>0&&a.setAttribute(`data-aspect-ratio`,String(r)),n==null&&e>0&&t>0){let t=Math.round(Math.min(e,500*r));a.setAttribute(`data-width`,String(t))}}),a.appendChild(o);let s=document.createElement(`prosekit-resizable-handle`);return s.className=`md-image-resize-handle`,s.setAttribute(`position`,`bottom-right`),s.addEventListener(`click`,e=>e.stopPropagation()),a.appendChild(s),a.addEventListener(`resizeEnd`,e=>{Ia(r,i,e.detail.width)}),a}function Ia(e,t,n){let r=e.posAtDOM(t,0),i=D(e.state,r,`mdImage`);if(!i)return;let a=e.state.doc.textBetween(i.from,i.to),o=Tn(a),s=i.from+o.length,c=a.slice(o.length),l=wn({...Sn(c)??{},width:Math.round(n)});l!==c&&e.dispatch(e.state.tr.insertText(l,s,i.to))}function La(e){return(t,n)=>{let{src:r,alt:i,width:a}=t.attrs,o=document.createElement(`span`);o.className=`md-image-view md-atom-view`;let s=document.createElement(`span`);s.className=`md-image-view-content md-atom-view-content`;let c=Pa(r,i,a,e,n,s);return c&&(c.contentEditable=`false`,o.appendChild(c)),o.appendChild(s),{dom:o,contentDOM:s,ignoreMutation:e=>!s.contains(e.target)}}}function Ra(e){return e?Array.from(e.files).filter(e=>e.type.startsWith(`image/`)):[]}const za=e=>{console.error(`[meowdown] failed to save pasted image:`,e)};async function Ba(e,t,n,r=za,i){let a=i;for(let i of t){let t;try{t=await n(i)}catch(e){r(e,i);continue}if(!t||e.isDestroyed)continue;let o=`![](${t})`,s=a==null?e.state.tr.insertText(o):e.state.tr.insertText(o,a);e.dispatch(s),a!=null&&(a+=o.length)}}function Va(e){return new b({key:new x(`image-input`),props:{handlePaste:(t,n)=>{let r=Ra(n.clipboardData),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(Ba(t,r,i,a),!0)},handleDrop:(t,n)=>{let r=Ra(n.dataTransfer),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(Ba(t,r,i,a,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function Ha(e={}){return _(d({name:`mdImage`,constructor:La(e)}),v(m(Va(e)),t.high))}const Ua={"Mod-b":`Bold`,"Mod-i":`Italic`,"Mod-e":`Inline code`,"Mod-Shift-x":`Strikethrough`,"Mod-Shift-h":`Highlight`,"Mod-k":`Link`,"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`};function Wa(e){return m(new b({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 Ga=new x(`meowdown-link-click`);function Ka(e){return Wa({key:Ga,selector:`.md-link`,preventDefault:!0,findPayloadAt:(e,t)=>K(e,t)?.href,onClick:(t,n)=>e({href:t,event:n})})}function qa(e){let t,n=(n,r)=>{let i=r.target;if(!i||!ue(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 _(s(`mouseover`,(e,t)=>n(e,t)),s(`mouseout`,(e,t)=>r(t)))}function Ja(e){return qa({selector:`.md-link`,findPayloadAt:(e,t)=>K(e,t),onHoverChange:e})}const Ya=new x(`meowdown-markdown-copy`);function Xa(){return m(new b({key:Ya,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?ki(r).replace(/\n+$/,``):n.textBetween(0,n.size,`
24
24
  `,`
25
- `)}}}))}const Ba=new x(`meowdown-tag-click`);function Va(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 Ha(e){return $({key:Ba,selector:`.md-tag`,preventDefault:!1,findPayloadAt:(e,t)=>Va(e,t)?.tag,onClick:(t,n)=>e({tag:t,event:n})})}const Ua=new x(`meowdown-wikilink-click`);function Wa(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 Ga(e){return $({key:Ua,selector:`.md-wikilink-view-preview`,preventDefault:!1,findPayloadAt:(e,t)=>Wa(e,t)?.target,onClick:(t,n)=>e({target:t,event:n})})}const Ka=(e,t)=>{let{selection:n}=e;if(!n.empty&&!n.$head.sameParent(n.$anchor))return!1;let r=e.doc.textBetween(n.from,n.to);if(r.startsWith(`[[`))return!1;r.startsWith(`[`)&&(r=r.slice(1));let i=`[[`+r;if(t){let r=e.tr.insertText(i,n.from,n.to);r.setSelection(S.create(r.doc,n.from+i.length)),lt(r),t(r.scrollIntoView())}return!0};function qa(){return l({"Mod-Shift-k":Ka})}function Ja(e,t){let n=()=>{let n=e.coordsAtPos(t.from),r=e.coordsAtPos(t.to),i=Math.min(n.left,r.left),a=Math.max(n.right,r.right),o=Math.min(n.top,r.top),s=Math.max(n.bottom,r.bottom);return new DOMRect(i,o,a-i,s-o)};return{getBoundingClientRect:n,getClientRects:()=>[n()]}}export{Na as EDITOR_KEY_BINDINGS,e as Priority,Ri as checkRoundTrip,Hi as codeBlockLanguages,Sa as defaultResolveImageUrl,Bi as defineBulletAfterHeading,kt as defineCodeBlockSyntaxHighlight,Yr as defineEditorExtension,oa as defineEmbedPaste,da as defineExitBoundaryHandler,Wt as defineHTMLComment,va as defineHTMLPaste,Ma as defineImage,xa as defineImageClickHandler,Fa as defineLinkClickHandler,Er as defineLinkCommands,Or as defineLinkEditKeymap,La as defineLinkHoverHandler,pt as defineMarkMode,za as defineMarkdownCopy,ce as definePlaceholder,le as defineReadonly,Ha as defineTagClickHandler,Ga as defineWikilinkClickHandler,qa as defineWikilinkTrigger,yi as docToMarkdown,jt as getCodeTokens,q as getLinkUnitAt,Qr as getMarkBuilders,Ja as getVirtualElementFromRange,En as inlineTextToMarkChunks,Cr as insertLink,Ji as listenForTweetHeight,J as markdownToDoc,ta as matchEmbed,Tr as removeLink,wr as updateLink,oe as withPriority};
25
+ `)}}}))}const Za=new x(`meowdown-tag-click`);function Qa(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 $a(e){return Wa({key:Za,selector:`.md-tag`,preventDefault:!1,findPayloadAt:(e,t)=>Qa(e,t)?.tag,onClick:(t,n)=>e({tag:t,event:n})})}const eo=new x(`meowdown-wikilink-click`);function to(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 no(e){return Wa({key:eo,selector:`.md-wikilink-view-preview`,preventDefault:!1,findPayloadAt:(e,t)=>to(e,t)?.target,onClick:(t,n)=>e({target:t,event:n})})}const ro=(e,t)=>{let{selection:n}=e;if(!n.empty&&!n.$head.sameParent(n.$anchor))return!1;let r=e.doc.textBetween(n.from,n.to);if(r.startsWith(`[[`))return!1;r.startsWith(`[`)&&(r=r.slice(1));let i=`[[`+r;if(t){let r=e.tr.insertText(i,n.from,n.to);r.setSelection(S.create(r.doc,n.from+i.length)),pt(r),t(r.scrollIntoView())}return!0};function io(){return l({"Mod-Shift-k":ro})}function ao(e,t){let n=()=>{let n=e.coordsAtPos(t.from),r=e.coordsAtPos(t.to),i=Math.min(n.left,r.left),a=Math.max(n.right,r.right),o=Math.min(n.top,r.top),s=Math.max(n.bottom,r.bottom);return new DOMRect(i,o,a-i,s-o)};return{getBoundingClientRect:n,getClientRects:()=>[n()]}}export{Ua as EDITOR_KEY_BINDINGS,e as Priority,Ji as checkRoundTrip,Qi as codeBlockLanguages,Ma as defaultResolveImageUrl,Xi as defineBulletAfterHeading,Pt as defineCodeBlockSyntaxHighlight,oi as defineEditorExtension,ga as defineEmbedPaste,xa as defineExitBoundaryHandler,Yt as defineHTMLComment,Oa as defineHTMLPaste,Ha as defineImage,ja as defineImageClickHandler,Ka as defineLinkClickHandler,jr as defineLinkCommands,Nr as defineLinkEditKeymap,Ja as defineLinkHoverHandler,_t as defineMarkMode,Xa as defineMarkdownCopy,ce as definePlaceholder,le as defineReadonly,$a as defineTagClickHandler,no as defineWikilinkClickHandler,io as defineWikilinkTrigger,ki as docToMarkdown,It as getCodeTokens,K as getLinkUnitAt,li as getMarkBuilders,ao as getVirtualElementFromRange,jn as inlineTextToMarkChunks,Or as insertLink,$r as isSelectionInTableCell,ia as listenForTweetHeight,J as markdownToDoc,da as matchEmbed,Ar as removeLink,kr as updateLink,oe as withPriority};
package/dist/style.css CHANGED
@@ -163,6 +163,7 @@ img.ProseMirror-separator {
163
163
  --meowdown-node-outline: light-dark(#53f, #8870ff);
164
164
  --meowdown-node-selection: light-dark(#5533ff1a, #8870ff1f);
165
165
  --meowdown-selection: light-dark(#5533ff38, #8870ff4d);
166
+ --meowdown-fold-halo: var(--meowdown-accent);
166
167
  --meowdown-gutter: 3.5rem;
167
168
  }
168
169
 
@@ -313,6 +314,43 @@ img.ProseMirror-separator {
313
314
  }
314
315
  }
315
316
 
317
+ .ProseMirror .prosemirror-flat-list[data-list-kind="bullet"] {
318
+ &[data-list-collapsable] > .list-marker {
319
+ cursor: pointer;
320
+ }
321
+
322
+ &[data-list-collapsable]:before {
323
+ content: "";
324
+ inset-inline-start: 0;
325
+ background: radial-gradient(circle at center,
326
+ var(--meowdown-fold-halo) 0 .45rem,
327
+ transparent .45rem);
328
+ opacity: 0;
329
+ pointer-events: none;
330
+ width: 1lh;
331
+ height: 1lh;
332
+ transition: opacity .12s;
333
+ position: absolute;
334
+ top: 0;
335
+ }
336
+
337
+ &[data-list-collapsable]:has( > .list-marker:hover):before {
338
+ opacity: .2;
339
+ }
340
+
341
+ &[data-list-collapsable][data-list-collapsed]:before {
342
+ opacity: .35;
343
+ }
344
+
345
+ &[data-list-collapsable][data-list-collapsed]:has( > .list-marker:hover):before {
346
+ opacity: .45;
347
+ }
348
+
349
+ &[data-list-collapsable][data-list-collapsed] > .list-content > :nth-child(n+2) {
350
+ display: none;
351
+ }
352
+ }
353
+
316
354
  .ProseMirror pre {
317
355
  background: var(--meowdown-code-bg);
318
356
  font-family: var(--meowdown-font-mono);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@meowdown/core",
3
3
  "type": "module",
4
- "version": "0.28.0",
4
+ "version": "0.29.0",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",