@meowdown/core 0.60.0 → 0.62.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +28 -9
- package/dist/index.js +24 -24
- package/dist/style.css +26 -2
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -521,11 +521,9 @@ declare function defineEditorExtensionImpl(options: EditorExtensionOptions): imp
|
|
|
521
521
|
}>, import("@prosekit/core").Extension<{
|
|
522
522
|
Commands: {
|
|
523
523
|
cycleCheckableList: [];
|
|
524
|
+
cycleOrderedList: [];
|
|
524
525
|
wrapInCircleTask: [];
|
|
525
526
|
wrapInSquareTask: [];
|
|
526
|
-
};
|
|
527
|
-
}>, import("@prosekit/core").Extension<{
|
|
528
|
-
Commands: {
|
|
529
527
|
toggleListCollapsed: [];
|
|
530
528
|
};
|
|
531
529
|
}>]>, import("@prosekit/core").Union<readonly [import("@prosekit/extensions/heading").HeadingSpecExtension, import("@prosekit/core").Extension<{
|
|
@@ -646,7 +644,7 @@ declare function defineEditorExtensionImpl(options: EditorExtensionOptions): imp
|
|
|
646
644
|
Commands: {
|
|
647
645
|
setMarkMode: [mode: MarkMode];
|
|
648
646
|
};
|
|
649
|
-
}>]>, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").
|
|
647
|
+
}>]>, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").BaseCommandsExtension, import("@prosekit/core").HistoryExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").Extension<{
|
|
650
648
|
Commands: {
|
|
651
649
|
insertMarkdown: [markdown: string];
|
|
652
650
|
insertTrigger: [text: string];
|
|
@@ -809,11 +807,12 @@ interface EmbedDescriptor {
|
|
|
809
807
|
//#region src/extensions/tweet.d.ts
|
|
810
808
|
/**
|
|
811
809
|
* `Tweet.html` reports its rendered height via `postMessage`; size the iframe to
|
|
812
|
-
* fit
|
|
813
|
-
* the
|
|
814
|
-
* hook) is covered, while a
|
|
810
|
+
* fit and pass each reported height to `onHeight`. Returns a cleanup that
|
|
811
|
+
* removes the listener. The cleanup also runs once the iframe leaves the DOM, so
|
|
812
|
+
* the editor's DOM mark view (which has no destroy hook) is covered, while a
|
|
813
|
+
* React caller can call it on unmount.
|
|
815
814
|
*/
|
|
816
|
-
declare function listenForTweetHeight(iframe: HTMLIFrameElement): () => void;
|
|
815
|
+
declare function listenForTweetHeight(iframe: HTMLIFrameElement, onHeight?: (height: number) => void): () => void;
|
|
817
816
|
//#endregion
|
|
818
817
|
//#region src/extensions/embed.d.ts
|
|
819
818
|
/** Detect a tweet/YouTube embed in an image `src`, or `undefined` for a plain image. */
|
|
@@ -1010,6 +1009,13 @@ interface ImageOptions {
|
|
|
1010
1009
|
* that image. Defaults to `defaultResolveImageUrl`.
|
|
1011
1010
|
*/
|
|
1012
1011
|
resolveImageUrl?: ImageUrlResolver;
|
|
1012
|
+
/**
|
|
1013
|
+
* Whether to write the height a tweet embed reports back into the trailing
|
|
1014
|
+
* size comment, so the next load can seed the iframe at its final height.
|
|
1015
|
+
* Defaults to `true`; disable when the document must never change without a
|
|
1016
|
+
* user edit (e.g. deterministic tests).
|
|
1017
|
+
*/
|
|
1018
|
+
persistTweetHeight?: boolean;
|
|
1013
1019
|
}
|
|
1014
1020
|
/** Show an `src` as-is when it is an http(s) URL, otherwise skip rendering it. */
|
|
1015
1021
|
declare function defaultResolveImageUrl(src: string): string | undefined;
|
|
@@ -1116,6 +1122,19 @@ declare function defineViewAttributes(attributes: {
|
|
|
1116
1122
|
[name: string]: string;
|
|
1117
1123
|
})): PlainExtension;
|
|
1118
1124
|
//#endregion
|
|
1125
|
+
//#region src/extensions/virtual-caret.d.ts
|
|
1126
|
+
/**
|
|
1127
|
+
* Draws the caret as an overlay element and hides the native caret via CSS
|
|
1128
|
+
* (`caret-color: transparent`). The native DOM selection stays fully alive,
|
|
1129
|
+
* so IME, clicks, and typing keep their native behavior; only the caret pixels
|
|
1130
|
+
* are ours. Applies to every mark mode.
|
|
1131
|
+
*
|
|
1132
|
+
* `layer` is the element the caret draws into. The host owns its placement:
|
|
1133
|
+
* it must live outside the contenteditable and scroll together with the
|
|
1134
|
+
* content.
|
|
1135
|
+
*/
|
|
1136
|
+
declare function defineVirtualCaret(layer: HTMLElement): PlainExtension;
|
|
1137
|
+
//#endregion
|
|
1119
1138
|
//#region src/extensions/wikilink-hover.d.ts
|
|
1120
1139
|
/** A wikilink currently under the pointer. */
|
|
1121
1140
|
interface WikilinkHoverHit extends WikilinkHit {
|
|
@@ -1194,4 +1213,4 @@ declare function getSelectedText(state: EditorState): string;
|
|
|
1194
1213
|
*/
|
|
1195
1214
|
declare function getVirtualElementFromRange(view: EditorView, range: PositionRange): VirtualElement;
|
|
1196
1215
|
//#endregion
|
|
1197
|
-
export { type AcceptPendingReplacementOptions, type CheckRoundTripOptions, type CodeBlockAttrs, type CodeBlockFenceStyle, type CodeToken, type DocToMarkdownOptions, EDITOR_KEY_BINDINGS, type EditorExtension, type EditorExtensionOptions, type EmbedDescriptor, type ExitBoundaryHandler, type ExitBoundaryOptions, type FileClickHandler, type FileClickPayload, type FileInfo, type FileInfoResolver, type FileLinkOptions, type FileLinkPayload, type FileLinkResolver, type FilePasteHandler, type FilePasteOptions, type FileSaveErrorHandler, type FileViewOptions, type FollowLinkHandlers, type ImageClickHandler, type ImageClickPayload, type ImageOptions, type InlineMarkContext, type InlineMarkOptions, type KaTeXRender, type LanguageItem, type LinkAttrs, type LinkClickHandler, type LinkClickPayload, type LinkCopyHandler, type LinkCopyPayload, type LinkEditHandler, type LinkEditOptions, type LinkHoverHandler, type LinkUnit, type ListMarker, type MarkChunk, type MarkMode, type MarkName, type MarkdownToDocOptions, type MdFileAttrs, type MdImageAttrs, type MdLinkTextAttrs, type MdMathAttrs, type MdWikilinkAttrs, type MeowdownCodeBlockAttrs, type MeowdownHTMLCommentAttrs, type MeowdownListAttrs, type MeowdownTableCellAttrs, type NodeName, type ParsedWikiEmbed, type PendingReplacement, type PendingReplacementEvent, type PendingReplacementHandler, type PendingReplacementMode, type PendingReplacementOutcome, type PlaceholderOptions, type PositionRange, Priority, type ReferenceDefinition, type ReferenceDefinitionIndex, type ReferenceDefinitions, type RoundTripFidelity, type SearchStatus, type SearchStatusHandler, type StartPendingReplacementOptions, type TableColumnAlign, type TagClickHandler, type TagClickPayload, type TypedEditor, type TypedMarkBuilders, type VirtualElement, type WikiEmbedOptions, type WikiEmbedResolution, type WikiEmbedResolver, type WikilinkClickHandler, type WikilinkClickPayload, type WikilinkHoverHandler, type WikilinkHoverHit, buildFileMarkdown, checkRoundTrip, codeBlockLanguages, collectReferenceDefinitions, defaultResolveImageUrl, defineBulletAfterHeading, defineCodeBlockPreviewPlugin, defineCodeBlockSyntaxHighlight, defineEditorExtension, defineEmbedPaste, defineExitBoundaryHandler, defineFileClickHandler, defineFilePaste, defineFileView, defineFollowLinkHandler, defineHTMLComment, defineImage, defineImageClickHandler, defineLinkClickHandler, defineLinkCommands, defineLinkEditKeymap, defineLinkHoverHandler, defineLinkPaste, defineMath, definePendingReplacementHandler, definePlaceholder, defineReadonly, defineSearchStatusHandler, defineSpellCheckPlugin, defineSubstitution, defineTagClickHandler, defineViewAttributes, defineWikilinkClickHandler, defineWikilinkHoverHandler, defineWikilinkTrigger, docToMarkdown, formatFileSize, formatSizedWikiEmbed, getCodeTokens, getFileKind, getIsComposing, getLinkUnitAt, getMarkBuilders, getPendingReplacement, getSearchStatus, getSelectedText, getTableColumnAlign, getTextblockDisplayText, getVirtualElementFromRange, inlineTextToMarkChunks, inlineTextToMarkChunksWithContext, insertLink, isCodeBlockPreviewHiddenDecoration, isMarkOfType, isNodeOfType, isSelectionInTableCell, listenForTweetHeight, loadKaTeX, markdownToDoc, matchEmbed, parseWikiEmbed, removeLink, renderMathInto, updateLink, wikiEmbedBasename, withPriority };
|
|
1216
|
+
export { type AcceptPendingReplacementOptions, type CheckRoundTripOptions, type CodeBlockAttrs, type CodeBlockFenceStyle, type CodeToken, type DocToMarkdownOptions, EDITOR_KEY_BINDINGS, type EditorExtension, type EditorExtensionOptions, type EmbedDescriptor, type ExitBoundaryHandler, type ExitBoundaryOptions, type FileClickHandler, type FileClickPayload, type FileInfo, type FileInfoResolver, type FileLinkOptions, type FileLinkPayload, type FileLinkResolver, type FilePasteHandler, type FilePasteOptions, type FileSaveErrorHandler, type FileViewOptions, type FollowLinkHandlers, type ImageClickHandler, type ImageClickPayload, type ImageOptions, type InlineMarkContext, type InlineMarkOptions, type KaTeXRender, type LanguageItem, type LinkAttrs, type LinkClickHandler, type LinkClickPayload, type LinkCopyHandler, type LinkCopyPayload, type LinkEditHandler, type LinkEditOptions, type LinkHoverHandler, type LinkUnit, type ListMarker, type MarkChunk, type MarkMode, type MarkName, type MarkdownToDocOptions, type MdFileAttrs, type MdImageAttrs, type MdLinkTextAttrs, type MdMathAttrs, type MdWikilinkAttrs, type MeowdownCodeBlockAttrs, type MeowdownHTMLCommentAttrs, type MeowdownListAttrs, type MeowdownTableCellAttrs, type NodeName, type ParsedWikiEmbed, type PendingReplacement, type PendingReplacementEvent, type PendingReplacementHandler, type PendingReplacementMode, type PendingReplacementOutcome, type PlaceholderOptions, type PositionRange, Priority, type ReferenceDefinition, type ReferenceDefinitionIndex, type ReferenceDefinitions, type RoundTripFidelity, type SearchStatus, type SearchStatusHandler, type StartPendingReplacementOptions, type TableColumnAlign, type TagClickHandler, type TagClickPayload, type TypedEditor, type TypedMarkBuilders, type VirtualElement, type WikiEmbedOptions, type WikiEmbedResolution, type WikiEmbedResolver, type WikilinkClickHandler, type WikilinkClickPayload, type WikilinkHoverHandler, type WikilinkHoverHit, buildFileMarkdown, checkRoundTrip, codeBlockLanguages, collectReferenceDefinitions, defaultResolveImageUrl, defineBulletAfterHeading, defineCodeBlockPreviewPlugin, defineCodeBlockSyntaxHighlight, defineEditorExtension, defineEmbedPaste, defineExitBoundaryHandler, defineFileClickHandler, defineFilePaste, defineFileView, defineFollowLinkHandler, defineHTMLComment, defineImage, defineImageClickHandler, defineLinkClickHandler, defineLinkCommands, defineLinkEditKeymap, defineLinkHoverHandler, defineLinkPaste, defineMath, definePendingReplacementHandler, definePlaceholder, defineReadonly, defineSearchStatusHandler, defineSpellCheckPlugin, defineSubstitution, defineTagClickHandler, defineViewAttributes, defineVirtualCaret, defineWikilinkClickHandler, defineWikilinkHoverHandler, defineWikilinkTrigger, docToMarkdown, formatFileSize, formatSizedWikiEmbed, getCodeTokens, getFileKind, getIsComposing, getLinkUnitAt, getMarkBuilders, getPendingReplacement, getSearchStatus, getSelectedText, getTableColumnAlign, getTextblockDisplayText, getVirtualElementFromRange, inlineTextToMarkChunks, inlineTextToMarkChunksWithContext, insertLink, isCodeBlockPreviewHiddenDecoration, isMarkOfType, isNodeOfType, isSelectionInTableCell, listenForTweetHeight, loadKaTeX, markdownToDoc, matchEmbed, parseWikiEmbed, removeLink, renderMathInto, updateLink, wikiEmbedBasename, withPriority };
|
package/dist/index.js
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import{Priority as e,Priority as t,createMarkBuilders as n,createNodeBuilders as r,defineBaseCommands as i,defineBaseKeymap as a,defineClipboardSerializer as o,defineCommands as s,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 g,getNodeType as _,isAllSelection as v,isApple as ee,isAtBlockStart as te,isNodeSelection as ne,isTextSelection as y,setBlockType as re,toggleNode as ie,union as b,unsetBlockType as ae,withPriority as oe,withPriority as x,withSkipCodeBlock as se}from"@prosekit/core";import{defineCodeBlock as ce,defineCodeBlockHighlight as le,defineCodeBlockPreviewPlugin as ue,isCodeBlockPreviewHiddenDecoration as de}from"@prosekit/extensions/code-block";import{definePlaceholder as fe}from"@prosekit/extensions/placeholder";import{defineReadonly as pe}from"@prosekit/extensions/readonly";import{defineSearchCommands as me,defineSearchQuery as he,defineSearchStatusHandler as ge,getSearchStatus as _e,getSearchStatus as ve}from"@prosekit/extensions/search";import{LEZER_NODE_IDS as S,collectInlineElements as ye,getAutolinkHref as be,gfmBlockOnlyParser as xe,gfmParser as Se,isSpaceChar as C,parseInline as Ce}from"@meowdown/markdown";import{isElementLike as we,isHTMLElement as Te,isObject as Ee,once as De}from"@ocavue/utils";import{defineBlockquote as Oe}from"@prosekit/extensions/blockquote";import{defineDoc as ke}from"@prosekit/extensions/doc";import{defineGapCursor as Ae}from"@prosekit/extensions/gap-cursor";import{defineModClickPrevention as je}from"@prosekit/extensions/mod-click-prevention";import{defineText as Me}from"@prosekit/extensions/text";import{defineVirtualSelection as Ne}from"@prosekit/extensions/virtual-selection";import{NodeSelection as Pe,Plugin as w,PluginKey as T,Selection as Fe,TextSelection as E}from"@prosekit/pm/state";import{Decoration as Ie,DecorationSet as D}from"@prosekit/pm/view";import{NO_BREAK_SPACE as Le}from"unicode-by-name";import{defaultHandlers as Re}from"hast-util-to-mdast";import{defaultHandlers as ze}from"mdast-util-to-markdown";import Be from"rehype-parse";import Ve from"rehype-remark";import He from"remark-gfm";import Ue from"remark-stringify";import{unified as We}from"unified";import{DOMParser as Ge,DOMSerializer as Ke,Fragment as O,Mark as qe,Slice as k}from"@prosekit/pm/model";import{defineHeadingCommands as Je,defineHeadingInputRule as Ye,defineHeadingSpec as Xe}from"@prosekit/extensions/heading";import{defineParagraphCommands as Ze,defineParagraphKeymap as Qe}from"@prosekit/extensions/paragraph";import{LanguageDescription as $e}from"@codemirror/language";import{languages as et}from"@codemirror/language-data";import{classHighlighter as tt,highlightTree as nt}from"@lezer/highlight";import{createParser as rt}from"prosemirror-highlight/lezer";import{defineEnterRule as it,defineTextBlockEnterRule as at}from"@prosekit/extensions/enter-rule";import{defineInputRule as ot,defineTextBlockInputRule as st}from"@prosekit/extensions/input-rule";import{triggerAutocomplete as ct}from"@prosekit/extensions/autocomplete";import{defineListCommands as lt,defineListDropIndicator as ut,defineListKeymap as dt,defineListSpec as ft,moveList as pt,toggleList as mt,unwrapList as ht,wrapInList as gt}from"@prosekit/extensions/list";import{chainCommands as _t,lift as vt}from"@prosekit/pm/commands";import{defineHorizontalRule as yt}from"@prosekit/extensions/horizontal-rule";import{AddMarkStep as bt,AddNodeMarkStep as xt,AttrStep as St,RemoveMarkStep as Ct,RemoveNodeMarkStep as wt,ReplaceStep as Tt,Step as Et,StepResult as Dt,Transform as Ot}from"@prosekit/pm/transform";import{decodeString as kt}from"micromark-util-decode-string";import{normalizeIdentifier as At}from"micromark-util-normalize-identifier";import{createListRenderingPlugin as jt,createSafariInputMethodWorkaroundPlugin as Mt,createToggleCollapsedCommand as Nt,defaultAttributesGetter as Pt,findCheckboxInListItem as Ft,handleListMarkerMouseDown as It,joinListElements as Lt,listToDOM as Rt,unwrapListSlice as zt,wrappingListInputRule as Bt}from"prosemirror-flat-list";import{defineTableCellSpec as Vt,defineTableCommands as Ht,defineTableDropIndicator as Ut,defineTableEditingPlugin as Wt,defineTableHeaderCellSpec as Gt,defineTableRowSpec as Kt,defineTableSpec as qt,deleteTable as Jt,isCellSelection as Yt}from"@prosekit/extensions/table";import{closeHistory as Xt}from"@prosekit/pm/history";import{registerResizableHandleElement as Zt,registerResizableRootElement as Qt}from"@prosekit/web/resizable";import{InputRule as $t}from"@prosekit/pm/inputrules";function A(e,t,n,r){let i=e.doc.content.size;if(t<0||t>i)return;let a=e.doc.resolve(t);if(!(!a.parent.isTextblock||a.parent.type.spec.code))return h(a,n,r)}const en=new T(`mark-mode`);function tn(e){return en.getState(e)}function nn(e){return new w({key:en,state:{init:()=>e,apply:(e,t)=>e.getMeta(en)??t},props:{attributes:t=>({"data-mark-mode":tn(t)??e}),decorations:e=>{let t=tn(e);if(t===`focus`)return on(e);if(t===`hide`)return sn(e)}}})}function rn(e){return(t,n)=>j(t)===e?!1:(n?.(t.tr.setMeta(en,e)),!0)}function an(e){return b(m(nn(e)),s({setMarkMode:rn}))}function j(e){return en.getState(e)}function on(e){return cn(e,void 0)}function sn(e){return cn(e,{key:`math`})}function cn(e,t){let{selection:n}=e;if(!n.empty)return D.empty;let r=n.$head,{parent:i}=r;if(!i.isTextblock||i.type.spec.code)return D.empty;let a=h(r,g(e.schema,`mdPack`),t);return a?D.create(e.doc,[Ie.inline(a.from,a.to,{class:`show`})]):D.empty}const ln=[`mdImage`,`mdWikilink`,`mdFile`];function M(e,t){let n=j(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function un(e,t,n){for(let r of n){let n=A(e,t,r);if(n)return n}}function N(e,t,n){let r=un(e,t,n);return r&&r.to===t?r:void 0}function P(e,t,n){let r=un(e,t,n);return r&&r.from===t?r:void 0}function dn(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=un(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function fn(e,t){return E.create(e.doc,t.from,t.to)}function pn(e,t,n,r){let i=e.doc.resolve(t);if(!(r===-1?i.parentOffset===0:i.parentOffset===i.parent.content.size)||i.depth===0)return;let a=r===-1?P(e,t,n):N(e,t,n),o=r===-1?i.before():i.after(),s=Fe.findFrom(e.doc.resolve(o),r);if(!s)return;let c=y(s)?r===-1?N(e,s.head,n):P(e,s.head,n):void 0;if(a!=null||c!=null)return s}function mn(e){return(t,n)=>{let r=M(e,t);if(r.length===0||!y(t.selection))return!1;let i=t.selection;if(i.empty){let e=P(t,i.from,r);if(e)return n?.(t.tr.setSelection(fn(t,e))),!0;if(N(t,i.from,r)&&i.from<t.doc.resolve(i.from).end())return n?.(t.tr.setSelection(E.create(t.doc,i.from+1))),!0;let a=pn(t,i.from,r,1);return a?(n?.(t.tr.setSelection(a).scrollIntoView()),!0):!1}let a=dn(t,r);return a?(n?.(t.tr.setSelection(E.create(t.doc,a.to))),!0):!1}}function hn(e){return(t,n)=>{let r=M(e,t);if(r.length===0||!y(t.selection))return!1;let i=t.selection;if(i.empty){let e=N(t,i.from,r);if(e)return n?.(t.tr.setSelection(fn(t,e))),!0;let a=pn(t,i.from,r,-1);return a?(n?.(t.tr.setSelection(a).scrollIntoView()),!0):!1}let a=dn(t,r);return a?(n?.(t.tr.setSelection(E.create(t.doc,a.from))),!0):!1}}function gn(e,t){return(n,r)=>{let i=M(e,n);if(i.length===0||!y(n.selection))return!1;let{anchor:a,head:o}=n.selection,s=t===-1?N(n,o,i):P(n,o,i);if(s){let e=t===-1?s.from:s.to;return r?.(n.tr.setSelection(E.create(n.doc,a,e)).scrollIntoView()),!0}let c=pn(n,o,i,t);return!c||!y(c)?!1:(r?.(n.tr.setSelection(E.create(n.doc,a,c.head)).scrollIntoView()),!0)}}function _n(e){return(t,n)=>{let r=M(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=N(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!P(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function vn(e){return(t,n)=>{let r=M(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=P(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!N(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}const yn=`md-atom-selected`;function bn(e){return new w({key:new T(`atom-mark-selection`),props:{decorations:t=>{let n=M(e,t);if(n.length===0||ne(t.selection))return;let r=dn(t,n);if(r)return D.create(t.doc,[Ie.inline(r.from,r.to,{class:yn})]);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(Ie.inline(t,t+e.nodeSize,{class:yn}))}),D.create(t.doc,s)}}})}function xn({marks:e}){return b(x(l({ArrowRight:mn(e),ArrowLeft:hn(e),"Shift-ArrowRight":gn(e,1),"Shift-ArrowLeft":gn(e,-1),Backspace:_n(e),Delete:vn(e)}),t.high),m(bn(e)))}const Sn=(e,t)=>{let n={type:`highlight`,children:e.all(t)};return e.patch(t,n),n},Cn=(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 wn(e){return e.tagName===`input`&&e.properties.type===`checkbox`}function Tn(e){for(let t of e.children){if(t.type!==`element`)continue;if(wn(t))return t;if(t.tagName===`ul`||t.tagName===`ol`)continue;let e=Tn(t);if(e)return e}}function En(e){let t=e.properties.dataChecked,n=Tn(e);if(t==null&&e.properties.dataType!==`taskItem`&&e.properties.dataTaskListItem==null&&n===void 0)return;let r=typeof t==`string`?t!==`false`:!!n?.properties.checked,i=e.children.filter(e=>e.type!==`element`||!(wn(e)||e.tagName===`label`&&Tn(e)));for(let e of[`div`,`p`]){let t=i.length===1&&i[0].type===`element`?i[0]:void 0;t?.tagName===e&&(i=t.children)}let a={type:`element`,tagName:`input`,properties:{type:`checkbox`,checked:r},children:[]};return{...e,children:[a,...i]}}const Dn=(e,t)=>Re.li(e,En(t)??t);function On(e){return e.filter(e=>e.character!==`[`&&e.character!==`~`?!0:e.atBreak?e.character===`~`:!(Array.isArray(e.inConstruct)?e.inConstruct:e.inConstruct?[e.inConstruct]:[]).includes(`phrasing`))}const kn=(e,t,n,r)=>ze.text(e,t,{...n,unsafe:On(n.unsafe)},r);function An(){return We().use(Be).use(Ve,{handlers:{mark:Sn,li:Dn}}).use(He).use(Ue,{bullet:`-`,emphasis:`*`,strong:`*`,fence:"`",fences:!0,rule:`-`,ruleRepetition:3,listItemIndent:`one`,handlers:{highlight:Cn,text:kn}}).freeze()}const jn=De(An);function Mn(e){return String(jn().processSync(e))}function Nn(e){if(e==null)return;let t=Number.parseInt(e,10);return Number.isSafeInteger(t)?t:void 0}function Pn(e){let t=Nn(e);return t!=null&&t>0?t:void 0}function Fn(e,t){return e.type.name===t}const In=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]),Ln=new Set([`mdWikilink`,`mdImage`,`mdFile`,`mdMath`]);function Rn(e){return e.find(e=>Ln.has(e.type.name))}function zn(e){return e.some(e=>In.has(e.type.name))}function Bn(e){let t=[];return e.forEach(e=>{if(!e.isText||!e.text)return;let n=Rn(e.marks),r=t.at(-1);if(n!=null&&r!=null&&r.atom===n){r.text+=e.text,r.children.push(e);return}t.push({atom:n,text:e.text,children:[e]})}),t}const Vn={mdStrong:`strong`,mdEm:`em`,mdCode:`code`,mdDel:`del`,mdHighlight:`mark`,mdLinkText:`a`};function Hn(e,t,n={}){let r=document.createElement(e);r.setAttribute(`data-md`,t.textContent);for(let[e,t]of Object.entries(n))t!=null&&r.setAttribute(e,t);return Wn(t,r),r}function Un(e,t,n){return{tag:`${e}[data-md]`,node:t,priority:100,getAttrs:n,getContent:(e,t)=>{let n=(Te(e)?e:void 0)?.getAttribute(`data-md`)??``;return n?O.from(t.text(n)):O.empty}}}function Wn(e,t){let n=[];for(let r of Bn(e)){if(r.atom!=null){n.length=0,t.append(qn(r.atom,r.text));continue}for(let e of r.children)zn(e.marks)||(Gn(n,e.marks.filter(e=>Vn[e.type.name]),t),Kn(n.at(-1)?.element??t,e.text??``))}}function Gn(e,t,n){let r=0;for(;r<e.length&&r<t.length&&t[r].eq(e[r].mark);)r++;e.length=r;for(let i=r;i<t.length;i++){let r=t[i],a=document.createElement(Vn[r.type.name]??`span`);Fn(r,`mdLinkText`)&&a.setAttribute(`href`,r.attrs.href),(e.at(-1)?.element??n).append(a),e.push({mark:r,element:a})}}function Kn(e,t){let n=t.split(`
|
|
2
|
-
`);for(let[t,r]of n.entries())t>0&&e.append(document.createElement(`br`)),r&&e.append(document.createTextNode(r))}function
|
|
3
|
-
`.repeat(t-e.trailingNewlines))}function
|
|
4
|
-
`),!0;if(i===`STYLE`||i===`TITLE`)return!0;let a=i===`DIV`?1:i===`P`?2:0;a&&
|
|
5
|
-
`).replace(/^\n+/,``).replace(/\n+$/,``);if(!n)return
|
|
1
|
+
import{Priority as e,Priority as t,createMarkBuilders as n,createNodeBuilders as r,defineBaseCommands as i,defineBaseKeymap as a,defineClipboardSerializer as o,defineCommands as s,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 g,getNodeType as _,isAllSelection as v,isApple as ee,isAtBlockStart as te,isNodeSelection as ne,isTextSelection as y,setBlockType as re,toggleNode as ie,union as b,unsetBlockType as ae,withPriority as oe,withPriority as x,withSkipCodeBlock as se}from"@prosekit/core";import{defineCodeBlock as ce,defineCodeBlockHighlight as le,defineCodeBlockPreviewPlugin as ue,isCodeBlockPreviewHiddenDecoration as de}from"@prosekit/extensions/code-block";import{definePlaceholder as fe}from"@prosekit/extensions/placeholder";import{defineReadonly as pe}from"@prosekit/extensions/readonly";import{defineSearchCommands as me,defineSearchQuery as he,defineSearchStatusHandler as ge,getSearchStatus as _e,getSearchStatus as ve}from"@prosekit/extensions/search";import{LEZER_NODE_IDS as S,collectInlineElements as ye,getAutolinkHref as be,gfmBlockOnlyParser as xe,gfmParser as Se,isSpaceChar as C,parseInline as Ce}from"@meowdown/markdown";import{isElementLike as we,isHTMLElement as Te,isObject as Ee,once as De}from"@ocavue/utils";import{defineBlockquote as Oe}from"@prosekit/extensions/blockquote";import{defineDoc as ke}from"@prosekit/extensions/doc";import{defineGapCursor as Ae}from"@prosekit/extensions/gap-cursor";import{defineModClickPrevention as je}from"@prosekit/extensions/mod-click-prevention";import{defineText as Me}from"@prosekit/extensions/text";import{defineVirtualSelection as Ne}from"@prosekit/extensions/virtual-selection";import{NodeSelection as Pe,Plugin as w,PluginKey as T,Selection as Fe,TextSelection as E}from"@prosekit/pm/state";import{Decoration as D,DecorationSet as O}from"@prosekit/pm/view";import{NO_BREAK_SPACE as Ie}from"unicode-by-name";import{defaultHandlers as Le}from"hast-util-to-mdast";import{defaultHandlers as Re}from"mdast-util-to-markdown";import ze from"rehype-parse";import Be from"rehype-remark";import Ve from"remark-gfm";import He from"remark-stringify";import{unified as Ue}from"unified";import{DOMParser as We,DOMSerializer as Ge,Fragment as k,Mark as Ke,Slice as A}from"@prosekit/pm/model";import{defineHeadingCommands as qe,defineHeadingInputRule as Je,defineHeadingSpec as Ye}from"@prosekit/extensions/heading";import{defineParagraphCommands as Xe,defineParagraphKeymap as Ze}from"@prosekit/extensions/paragraph";import{LanguageDescription as Qe}from"@codemirror/language";import{languages as $e}from"@codemirror/language-data";import{classHighlighter as et,highlightTree as tt}from"@lezer/highlight";import{createParser as nt}from"prosemirror-highlight/lezer";import{defineEnterRule as rt,defineTextBlockEnterRule as it}from"@prosekit/extensions/enter-rule";import{defineInputRule as at,defineTextBlockInputRule as ot}from"@prosekit/extensions/input-rule";import{triggerAutocomplete as st}from"@prosekit/extensions/autocomplete";import{defineListCommands as ct,defineListDropIndicator as lt,defineListKeymap as ut,defineListSpec as dt,moveList as ft,toggleList as pt,unwrapList as mt,wrapInList as ht}from"@prosekit/extensions/list";import{chainCommands as gt,lift as _t}from"@prosekit/pm/commands";import{defineHorizontalRule as vt}from"@prosekit/extensions/horizontal-rule";import{AddMarkStep as yt,AddNodeMarkStep as bt,AttrStep as xt,RemoveMarkStep as St,RemoveNodeMarkStep as Ct,ReplaceStep as wt,Step as Tt,StepResult as Et,Transform as Dt}from"@prosekit/pm/transform";import{decodeString as Ot}from"micromark-util-decode-string";import{normalizeIdentifier as kt}from"micromark-util-normalize-identifier";import{createListRenderingPlugin as At,createSafariInputMethodWorkaroundPlugin as jt,createToggleCollapsedCommand as Mt,defaultAttributesGetter as Nt,findCheckboxInListItem as Pt,handleListMarkerMouseDown as Ft,joinListElements as It,listToDOM as Lt,unwrapListSlice as Rt,wrappingListInputRule as zt}from"prosemirror-flat-list";import{defineTableCellSpec as Bt,defineTableCommands as Vt,defineTableDropIndicator as Ht,defineTableEditingPlugin as Ut,defineTableHeaderCellSpec as Wt,defineTableRowSpec as Gt,defineTableSpec as Kt,deleteTable as qt,isCellSelection as Jt}from"@prosekit/extensions/table";import{closeHistory as Yt}from"@prosekit/pm/history";import{registerResizableHandleElement as Xt,registerResizableRootElement as Zt}from"@prosekit/web/resizable";import{InputRule as Qt}from"@prosekit/pm/inputrules";function j(e,t,n,r){let i=e.doc.content.size;if(t<0||t>i)return;let a=e.doc.resolve(t);if(!(!a.parent.isTextblock||a.parent.type.spec.code))return h(a,n,r)}const $t=new T(`mark-mode`);function en(e){return $t.getState(e)}function tn(e){return new w({key:$t,state:{init:()=>e,apply:(e,t)=>e.getMeta($t)??t},props:{attributes:t=>({"data-mark-mode":en(t)??e}),decorations:e=>{let t=en(e);if(t===`focus`)return an(e);if(t===`hide`)return on(e)}}})}function nn(e){return(t,n)=>M(t)===e?!1:(n?.(t.tr.setMeta($t,e)),!0)}function rn(e){return b(m(tn(e)),s({setMarkMode:nn}))}function M(e){return $t.getState(e)}function an(e){return sn(e,void 0)}function on(e){return sn(e,{key:`math`})}function sn(e,t){let{selection:n}=e;if(!n.empty)return O.empty;let r=n.$head,{parent:i}=r;if(!i.isTextblock||i.type.spec.code)return O.empty;let a=h(r,g(e.schema,`mdPack`),t);return a?O.create(e.doc,[D.inline(a.from,a.to,{class:`show`})]):O.empty}const cn=[`mdImage`,`mdWikilink`,`mdFile`];function N(e,t){let n=M(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function ln(e,t,n){for(let r of n){let n=j(e,t,r);if(n)return n}}function P(e,t,n){let r=ln(e,t,n);return r&&r.to===t?r:void 0}function F(e,t,n){let r=ln(e,t,n);return r&&r.from===t?r:void 0}function un(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=ln(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function dn(e,t){return E.create(e.doc,t.from,t.to)}function fn(e,t,n,r){let i=e.doc.resolve(t);if(!(r===-1?i.parentOffset===0:i.parentOffset===i.parent.content.size)||i.depth===0)return;let a=r===-1?F(e,t,n):P(e,t,n),o=r===-1?i.before():i.after(),s=Fe.findFrom(e.doc.resolve(o),r);if(!s)return;let c=y(s)?r===-1?P(e,s.head,n):F(e,s.head,n):void 0;if(a!=null||c!=null)return s}function pn(e){return(t,n)=>{let r=N(e,t);if(r.length===0||!y(t.selection))return!1;let i=t.selection;if(i.empty){let e=F(t,i.from,r);if(e)return n?.(t.tr.setSelection(dn(t,e))),!0;if(P(t,i.from,r)&&i.from<t.doc.resolve(i.from).end())return n?.(t.tr.setSelection(E.create(t.doc,i.from+1))),!0;let a=fn(t,i.from,r,1);return a?(n?.(t.tr.setSelection(a).scrollIntoView()),!0):!1}let a=un(t,r);return a?(n?.(t.tr.setSelection(E.create(t.doc,a.to))),!0):!1}}function mn(e){return(t,n)=>{let r=N(e,t);if(r.length===0||!y(t.selection))return!1;let i=t.selection;if(i.empty){let e=P(t,i.from,r);if(e)return n?.(t.tr.setSelection(dn(t,e))),!0;let a=fn(t,i.from,r,-1);return a?(n?.(t.tr.setSelection(a).scrollIntoView()),!0):!1}let a=un(t,r);return a?(n?.(t.tr.setSelection(E.create(t.doc,a.from))),!0):!1}}function hn(e,t){return(n,r)=>{let i=N(e,n);if(i.length===0||!y(n.selection))return!1;let{anchor:a,head:o}=n.selection,s=t===-1?P(n,o,i):F(n,o,i);if(s){let e=t===-1?s.from:s.to;return r?.(n.tr.setSelection(E.create(n.doc,a,e)).scrollIntoView()),!0}let c=fn(n,o,i,t);return!c||!y(c)?!1:(r?.(n.tr.setSelection(E.create(n.doc,a,c.head)).scrollIntoView()),!0)}}function gn(e){return(t,n)=>{let r=N(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=P(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!F(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function _n(e){return(t,n)=>{let r=N(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=F(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!P(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}const vn=`md-atom-selected`;function yn(e){return new w({key:new T(`atom-mark-selection`),props:{decorations:t=>{let n=N(e,t);if(n.length===0||ne(t.selection))return;let r=un(t,n);if(r)return O.create(t.doc,[D.inline(r.from,r.to,{class:vn})]);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(D.inline(t,t+e.nodeSize,{class:vn}))}),O.create(t.doc,s)}}})}function bn({marks:e}){return b(x(l({ArrowRight:pn(e),ArrowLeft:mn(e),"Shift-ArrowRight":hn(e,1),"Shift-ArrowLeft":hn(e,-1),Backspace:gn(e),Delete:_n(e)}),t.high),m(yn(e)))}const xn=(e,t)=>{let n={type:`highlight`,children:e.all(t)};return e.patch(t,n),n},Sn=(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 Cn(e){return e.tagName===`input`&&e.properties.type===`checkbox`}function wn(e){for(let t of e.children){if(t.type!==`element`)continue;if(Cn(t))return t;if(t.tagName===`ul`||t.tagName===`ol`)continue;let e=wn(t);if(e)return e}}function Tn(e){let t=e.properties.dataChecked,n=wn(e);if(t==null&&e.properties.dataType!==`taskItem`&&e.properties.dataTaskListItem==null&&n===void 0)return;let r=typeof t==`string`?t!==`false`:!!n?.properties.checked,i=e.children.filter(e=>e.type!==`element`||!(Cn(e)||e.tagName===`label`&&wn(e)));for(let e of[`div`,`p`]){let t=i.length===1&&i[0].type===`element`?i[0]:void 0;t?.tagName===e&&(i=t.children)}let a={type:`element`,tagName:`input`,properties:{type:`checkbox`,checked:r},children:[]};return{...e,children:[a,...i]}}const En=(e,t)=>Le.li(e,Tn(t)??t);function Dn(e){return e.filter(e=>e.character!==`[`&&e.character!==`~`?!0:e.atBreak?e.character===`~`:!(Array.isArray(e.inConstruct)?e.inConstruct:e.inConstruct?[e.inConstruct]:[]).includes(`phrasing`))}const On=(e,t,n,r)=>Re.text(e,t,{...n,unsafe:Dn(n.unsafe)},r);function kn(){return Ue().use(ze).use(Be,{handlers:{mark:xn,li:En}}).use(Ve).use(He,{bullet:`-`,emphasis:`*`,strong:`*`,fence:"`",fences:!0,rule:`-`,ruleRepetition:3,listItemIndent:`one`,handlers:{highlight:Sn,text:On}}).freeze()}const An=De(kn);function jn(e){return String(An().processSync(e))}function Mn(e){if(e==null)return;let t=Number.parseInt(e,10);return Number.isSafeInteger(t)?t:void 0}function Nn(e){let t=Mn(e);return t!=null&&t>0?t:void 0}function Pn(e,t){return e.type.name===t}const Fn=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]),In=new Set([`mdWikilink`,`mdImage`,`mdFile`,`mdMath`]);function Ln(e){return e.find(e=>In.has(e.type.name))}function Rn(e){return e.some(e=>Fn.has(e.type.name))}function zn(e){let t=[];return e.forEach(e=>{if(!e.isText||!e.text)return;let n=Ln(e.marks),r=t.at(-1);if(n!=null&&r!=null&&r.atom===n){r.text+=e.text,r.children.push(e);return}t.push({atom:n,text:e.text,children:[e]})}),t}const Bn={mdStrong:`strong`,mdEm:`em`,mdCode:`code`,mdDel:`del`,mdHighlight:`mark`,mdLinkText:`a`};function Vn(e,t,n={}){let r=document.createElement(e);r.setAttribute(`data-md`,t.textContent);for(let[e,t]of Object.entries(n))t!=null&&r.setAttribute(e,t);return Un(t,r),r}function Hn(e,t,n){return{tag:`${e}[data-md]`,node:t,priority:100,getAttrs:n,getContent:(e,t)=>{let n=(Te(e)?e:void 0)?.getAttribute(`data-md`)??``;return n?k.from(t.text(n)):k.empty}}}function Un(e,t){let n=[];for(let r of zn(e)){if(r.atom!=null){n.length=0,t.append(Kn(r.atom,r.text));continue}for(let e of r.children)Rn(e.marks)||(Wn(n,e.marks.filter(e=>Bn[e.type.name]),t),Gn(n.at(-1)?.element??t,e.text??``))}}function Wn(e,t,n){let r=0;for(;r<e.length&&r<t.length&&t[r].eq(e[r].mark);)r++;e.length=r;for(let i=r;i<t.length;i++){let r=t[i],a=document.createElement(Bn[r.type.name]??`span`);Pn(r,`mdLinkText`)&&a.setAttribute(`href`,r.attrs.href),(e.at(-1)?.element??n).append(a),e.push({mark:r,element:a})}}function Gn(e,t){let n=t.split(`
|
|
2
|
+
`);for(let[t,r]of n.entries())t>0&&e.append(document.createElement(`br`)),r&&e.append(document.createTextNode(r))}function Kn(e,t){switch(e.type.name){case`mdImage`:{let t=e.attrs,n=document.createElement(`img`);return n.setAttribute(`src`,t.src),t.alt&&n.setAttribute(`alt`,t.alt),t.title&&n.setAttribute(`title`,t.title),t.width!=null&&n.setAttribute(`width`,String(t.width)),t.height!=null&&n.setAttribute(`height`,String(t.height)),n}case`mdWikilink`:{let t=e.attrs;return document.createTextNode(t.display||t.target)}case`mdFile`:{let t=e.attrs,n=document.createElement(`a`);return n.setAttribute(`href`,t.href),n.append(document.createTextNode(t.name||t.href)),n}default:return document.createTextNode(t)}}function I(e,t){return e.type.name===t}function qn(){return p({name:`heading`,whitespace:`pre`})}function Jn(e){let t=e.attrs;return Vn(`h${t.level}`,e,{"data-setext-underline":t.setextUnderline==null?void 0:String(t.setextUnderline),"data-closing-hashes":t.closingHashes==null?void 0:String(t.closingHashes)})}function Yn(){return[1,2,3,4,5,6].map(e=>Hn(`h${e}`,`heading`,t=>({level:e,setextUnderline:Nn(t.getAttribute(`data-setext-underline`))??null,closingHashes:Nn(t.getAttribute(`data-closing-hashes`))??null})))}function Xn(){return f({type:`heading`,attr:`setextUnderline`,default:null,toDOM:e=>e==null?null:[`data-setext-underline`,String(e)],parseDOM:e=>Nn(e.getAttribute(`data-setext-underline`))??null})}function Zn(){return f({type:`heading`,attr:`closingHashes`,default:null,toDOM:e=>e==null?null:[`data-closing-hashes`,String(e)],parseDOM:e=>Nn(e.getAttribute(`data-closing-hashes`))??null})}function L(e){return se(ie({type:`heading`,attrs:{level:e}}))}const Qn=(e,t,n)=>{let r=te(e,n);return r!=null&&I(r.parent,`heading`)?ae()(e,t,n):!1};function $n(){return l({"Mod-1":L(1),"Mod-2":L(2),"Mod-3":L(3),"Mod-4":L(4),"Mod-5":L(5),"Mod-6":L(6),Backspace:Qn})}function er(){return b(Ye(),qn(),Xn(),Zn(),Je(),qe(),$n())}function tr(){return p({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function nr(e){return Vn(`p`,e)}function rr(){return[Hn(`p`,`paragraph`)]}function ir(){return b(x(tr(),t.highest),Xe(),Ze())}function ar(e){return{...e,paragraph:e=>({dom:nr(e)}),heading:e=>({dom:Jn(e)})}}function or(){return o({serializeFragmentWrapper:e=>(...t)=>{let n=e(...t);for(let e of n.children)e.setAttribute(`data-meowdown`,``);return n},nodesFromSchemaWrapper:e=>(...t)=>ar(e(...t))})}const sr=new WeakMap;function cr(e){let t=sr.get(e);return t??(t=new Ge(ar(Ge.nodesFromSchema(e)),Ge.marksFromSchema(e)),sr.set(e,t)),t}const lr=new T(`meowdown-html-paste`);function ur(e){return e.includes(`data-meowdown`)?!0:e.includes(`data-pm-slice`)&&e.includes(`md-mark`)}const dr=new Set([`html`,`head`,`body`,`meta`,`style`,`title`,`div`,`span`,`p`,`br`,`font`,`wbr`]);function fr(e){let t=new window.DOMParser().parseFromString(e,`text/html`),n={chunks:[],hasContent:!1,trailingNewlines:0,hasStyledLine:!1};if(hr(t.documentElement,n,!1)&&n.hasStyledLine)return n.chunks.join(``).replaceAll(Ie,` `)}function pr(e,t){!e.hasContent||e.trailingNewlines>=t||mr(e,`
|
|
3
|
+
`.repeat(t-e.trailingNewlines))}function mr(e,t){if(!t)return;e.chunks.push(t);let n=t.length;for(;n>0&&t.charCodeAt(n-1)===10;)n--;n===0?e.trailingNewlines+=t.length:(e.hasContent=!0,e.trailingNewlines=t.length-n)}function hr(e,t,n){if(e.nodeType===Node.TEXT_NODE)return mr(t,e.nodeValue??``),!0;if(e.nodeType!==Node.ELEMENT_NODE)return!0;let r=e,i=r.tagName;if(!dr.has(i.toLowerCase()))return!1;if(n||=i===`DIV`,n&&r.getAttribute(`style`)?.trim()&&(t.hasStyledLine=!0),i===`BR`)return mr(t,`
|
|
4
|
+
`),!0;if(i===`STYLE`||i===`TITLE`)return!0;let a=i===`DIV`?1:i===`P`?2:0;a&&pr(t,a);for(let r of e.childNodes)if(!hr(r,t,n))return!1;return a&&pr(t,a),!0}function gr(){return m(new w({key:lr,props:{transformPastedHTML:(e,t)=>{if(ur(e))return e;let n=t.state.selection.$from.parent;if(!n.inlineContent||n.type.spec.code)return e;let r=fr(e)??jn(e);if(!r.trim())return e;let i=Z(r,{nodes:Xc(t.state.schema)}),a=cr(t.state.schema),o=document.createElement(`div`);return o.append(a.serializeFragment(i.content)),o.innerHTML}}}))}function _r(e){return new We(e,[...rr(),...Yn(),...We.fromSchema(e).rules])}const vr=new T(`meowdown-clipboard-parser`);function yr(){return m(({schema:e})=>new w({key:vr,props:{clipboardParser:_r(e)}}))}function br(e,t){let n=t.replaceAll(/\r\n?/g,`
|
|
5
|
+
`).replace(/^\n+/,``).replace(/\n+$/,``);if(!n)return A.empty;let r=Z(n,{nodes:Xc(e)}),i=_(e,`paragraph`),a=+(r.childCount>0&&r.child(0).type===i),o=+(r.childCount>0&&r.child(r.childCount-1).type===i);return new A(r.content,a,o)}function xr(e,t,n){let r=n.marks(),i=Ge.fromSchema(e),a=document.createElement(`div`);for(let n of t.split(/(?:\r\n?|\n)+/)){let t=a.appendChild(document.createElement(`p`));n&&t.appendChild(i.serializeNode(e.text(n,r)))}return We.fromSchema(e).parseSlice(a,{preserveWhitespace:!0,context:n})}function Sr(){let e;return m(new w({key:new T(`meowdown-plain-paste`),props:{clipboardTextParser:(t,n,r,i)=>{let{schema:a}=i.state;return r?xr(a,t,n):e=br(a,t)},transformPasted:t=>{if(e==null)return t;let n=e;return e=void 0,n}}}))}function Cr(e,t,n=0){let r=n,i=0;for(let n=0;n<e.length;n++)e.charCodeAt(n)===t?(i++,i>r&&(r=i)):i=0;return r}function wr(e,t=0){return Cr(e,96,t)}function Tr(e,t={}){let n=new kr;return t.frontmatter&&Er(e.attrs.frontmatter,n),Ar(e,n),n.finish()}function Er(e,t){e!==null&&(t.write(`---`),t.write(`
|
|
6
6
|
`),e!==``&&(t.write(e),t.write(`
|
|
7
|
-
`)),t.write(`---`),t.closeBlock())}const
|
|
8
|
-
`+i.repeat(Math.max(1,r))),t.closeBlock();return}t.write(
|
|
7
|
+
`)),t.write(`---`),t.closeBlock())}const Dr=[``,`# `,`## `,`### `,`#### `,`##### `,`###### `];function Or(e,t){let n=e.attrs,r=n.setextUnderline;if(r!=null&&e.content.size>0&&n.level<=2){Pr(e,t);let i=n.level===1?`=`:`-`;t.write(`
|
|
8
|
+
`+i.repeat(Math.max(1,r))),t.closeBlock();return}t.write(Dr[n.level]??`# `),Pr(e,t);let i=n.closingHashes;i!=null&&i>0&&t.write(` `+`#`.repeat(i)),t.closeBlock()}var kr=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(`
|
|
9
9
|
`)){this.parts.push(e);return}let t=e.split(`
|
|
10
10
|
`);for(let e=0;e<t.length;e++)e>0&&this.parts.push(`
|
|
11
11
|
`,this.linePrefix),t[e]!==``&&this.parts.push(t[e])}closeEmptyBlock(){if(!this.atLineStart||this.pendingFirst!==null){this.closeBlock();return}this.parts.length!==0&&(this.emitDeferredBlankLine(),this.deferredBlankPrefix=this.linePrefix)}closeBlock(){this.atLineStart&&this.pendingFirst!==null&&(this.emitDeferredBlankLine(),this.parts.push(this.pendingFirst.trimEnd()),this.pendingFirst=null,this.atLineStart=!1),this.atLineStart||this.parts.push(`
|
|
12
12
|
`),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+$/,``)+`
|
|
13
13
|
`}emitDeferredBlankLine(){let e=this.deferredBlankPrefix;e!==null&&(this.parts.push(e.trimEnd(),`
|
|
14
|
-
`),this.deferredBlankPrefix=null)}};function
|
|
14
|
+
`),this.deferredBlankPrefix=null)}};function Ar(e,t){switch(e.type.name){case`doc`:jr(e,t);return;case`paragraph`:if(e.childCount===0){t.closeEmptyBlock();return}Pr(e,t),t.closeBlock();return;case`heading`:Or(e,t);return;case`blockquote`:t.withPrefix(`> `,`> `,()=>jr(e,t)),t.closeBlock();return;case`list`:Fr(e,t,Nr(e));return;case`codeBlock`:Ir(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`:zr(e,t);return;case`text`:e.text&&t.write(e.text);return}}function jr(e,t,n=!1){let r=e.childCount,i=0;for(;i<r;){let a=e.child(i);if(!I(a,`list`)){n&&i>0&&t.suppressBlank(),Ar(a,t),i++;continue}let o=i+1;for(;o<r&&I(e.child(o),`list`);)o++;let s=Mr(e,i,o);for(let r=i;r<o;r++)(r===i?n&&i>0:s)&&t.suppressBlank(),Fr(e.child(r),t,s);i=o}}function Mr(e,t,n){for(let r=t;r<n;r++)if(!Nr(e.child(r)))return!1;return!0}function Nr(e){let t=e.childCount;for(let n=0;n<t;n++){let t=e.child(n).type.name;if(t!==`list`&&(t!==`paragraph`||n!==0))return!1}return!0}function Pr(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 Fr(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,g=` `.repeat(m.length);t.withPrefix(g,h,()=>jr(e,t,n)),t.closeBlock()}function Ir(e,t){let n=e.attrs,r=n.language||``,i=e.textContent;if(n.fenceStyle===`indented`&&!r){let e=Lr(i);if(e!=null){t.write(e),t.closeBlock();return}}if(n.fenceStyle===`dollar`&&r===`math`&&!Rr(i)){t.write(`$$`),t.write(`
|
|
15
15
|
`),i&&(t.write(i),t.write(`
|
|
16
|
-
`)),t.write(`$$`),t.closeBlock();return}let a=n.fenceStyle===`tilde`,o=
|
|
16
|
+
`)),t.write(`$$`),t.closeBlock();return}let a=n.fenceStyle===`tilde`,o=Cr(i,a?126:96,2)+1,s=(a?`~`:"`").repeat(Math.max(n.fenceLength??0,o));t.write(s),r&&t.write(r),t.write(`
|
|
17
17
|
`),i&&(t.write(i),t.write(`
|
|
18
|
-
`)),t.write(s),t.closeBlock()}function
|
|
18
|
+
`)),t.write(s),t.closeBlock()}function Lr(e){if(e===``)return;let t=e.split(`
|
|
19
19
|
`);if(t[0]!==``&&t[t.length-1]!==``){for(let e=0;e<t.length;e++)t[e]!==``&&(t[e]=` ${t[e]}`);return t.join(`
|
|
20
|
-
`)}}function
|
|
21
|
-
`).some(e=>e.trim()===`$$`)}function
|
|
20
|
+
`)}}function Rr(e){return e.split(`
|
|
21
|
+
`).some(e=>e.trim()===`$$`)}function zr(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);I(t,`tableHeaderCell`)&&(s=!0),o.push(Hr(t))}s&&a<0&&(a=t),o.length>i&&(i=o.length),r.push(o)}if(i===0)return;let o=e.child(a>=0?a:0),s=[];for(let e=0;e<i;e++){let t=e<o.childCount?o.child(e):void 0,n=t?t.attrs.align:void 0;s.push(Br(n))}let c=`| `+s.join(` | `)+` |`,l=a>=0?r[a]:Array(i).fill(``);t.write(Vr(l,i)),t.write(`
|
|
22
22
|
`),t.write(c);for(let e=0;e<n;e++)e!==a&&(t.write(`
|
|
23
|
-
`),t.write(
|
|
23
|
+
`),t.write(Vr(r[e],i)));t.closeBlock()}function Br(e){switch(e){case`left`:return`:--`;case`center`:return`:-:`;case`right`:return`--:`;default:return`---`}}function Vr(e,t){let n=`|`;for(let r=0;r<t;r++)n+=` `+(e[r]??``)+` |`;return n}function Hr(e){let t=e.textContent.trim();return!t.includes(`|`)&&!t.includes(`
|
|
24
24
|
`)?t:t.replaceAll(`|`,String.raw`\|`).replaceAll(`
|
|
25
|
-
`,` `)}function
|
|
25
|
+
`,` `)}function Ur(e){if(e.depth===0)return!0;if(e.parentOffset!==0)return!1;for(let t=1;t<e.depth;t++)if(e.index(t)!==0)return!1;return!0}function Wr(e){if(e.depth===0)return!0;if(e.parentOffset!==e.parent.content.size)return!1;for(let t=1;t<e.depth;t++)if(e.indexAfter(t)!==e.node(t).childCount)return!1;return!0}function Gr(e,t,n){let r=Kr(e,t,n),i;try{i=e.topNodeType.createAndFill(void 0,r)??void 0}catch{i=void 0}return i?Tr(i).replace(/\n+$/,``):r.textBetween(0,r.size,`
|
|
26
26
|
`,`
|
|
27
|
-
`)}function
|
|
27
|
+
`)}function Kr(e,t,n){let{content:r,openStart:i,openEnd:a}=t;if(r.childCount===0||i===0&&a===0)return r;let o=y(n)&&Ur(n.$from),s=y(n)&&Wr(n.$to),c=r.childCount-1,l=[];return r.forEach((t,n,r)=>{r===0&&i>0&&!o?l.push(Jr(e,t)):r===c&&a>0&&!s?l.push(qr(e,t,a)):l.push(t)}),k.from(l)}function qr(e,t,n){if(I(t,`codeBlock`)||I(t,`table`))return Jr(e,t);if(I(t,`heading`)){let n=t.attrs;if(n.setextUnderline!=null)return Jr(e,t);if(n.closingHashes!=null)return t.type.create({...n,closingHashes:null},t.content,t.marks)}if(n<=1||t.childCount===0)return t;let r=t.childCount-1,i=t.child(r),a=qr(e,i,n-1);return a===i?t:t.copy(t.content.replaceChild(r,a))}function Jr(e,t){let n=_(e,`paragraph`),r=t.textBetween(0,t.content.size,`
|
|
28
28
|
`,`
|
|
29
|
-
`);return n.create(void 0,r?e.text(r):void 0)}function Xr(){return m(new w({key:new T(`meowdown-plain-text-copy`),props:{clipboardTextSerializer:(e,t)=>{let n=j(t.state)===`hide`?Zr(e):e;return Kr(t.state.schema,n,t.state.selection)}}}))}function Zr(e){return new k(Qr(e.content),e.openStart,e.openEnd)}function Qr(e){let t=[];return e.forEach(e=>{t.push(e.isTextblock?ei(e):$r(e))}),O.from(t)}function $r(e){return e.childCount>0?e.copy(Qr(e.content)):e}function ei(e){let t=e.type.schema,n=[];for(let r of Bn(e)){let e=r.atom;if(e!=null){if(Fn(e,`mdWikilink`)){let r=e.attrs,i=r.display||r.target;i&&n.push(t.text(i))}else n.push(...r.children);continue}for(let e of r.children)zn(e.marks)||n.push(e)}return e.copy(O.from(n))}function ti(){return b(sr(),Xr(),br(),_r(),Cr())}const L=new Map,ni=new Map,ri={math:`latex`};async function ii(e){let t=L.get(e);if(t!==void 0)return t;let n=$e.matchLanguageName(et,ri[e]??e,!0);if(!n)return L.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),L.set(e,null),null}return L.set(e,r),r}function ai(e,t){let n=ni.get(e);if(n)return n;let r=rt({parse:e=>t.language.parser.parse(e.content),highlighter:tt});return ni.set(e,r),r}const oi=e=>{let t=e.language?.trim();if(!t)return[];let n=L.get(t);return n===null?[]:n?ai(t,n)(e):ii(t).then(()=>void 0)};function si(){return le({parser:oi,nodeTypes:[`codeBlock`]})}function ci(e,t){let n=t.language.parser.parse(e),r=[];return nt(n,tt,(e,t,n)=>{r.push([e,t,n])}),r}function li(e,t){let n=t.trim();if(!n)return[];let r=L.get(n);return r===null?[]:r?ci(e,r):ii(n).then(t=>t?ci(e,t):[])}function ui(){return f({type:`codeBlock`,attr:`fenceStyle`,default:null,toDOM:e=>e==null?null:[`data-fence-style`,e],parseDOM:e=>{let t=e.getAttribute(`data-fence-style`);return t===`tilde`||t===`indented`||t===`dollar`?t:null}})}function di(){return f({type:`codeBlock`,attr:`fenceLength`,default:null,toDOM:e=>e==null?null:[`data-fence-length`,String(e)],parseDOM:e=>{let t=Nn(e.getAttribute(`data-fence-length`));return t!=null&&t>3?t:null}})}function fi(e){return{language:e[1]||``,fenceStyle:`tilde`}}function pi(){return st({regex:/^~~~(\S*)\s$/,type:`codeBlock`,attrs:fi})}function mi(){return at({regex:/^~~~(\S*)$/,type:`codeBlock`,attrs:fi})}function hi(){return at({regex:/^\$\$$/,type:`codeBlock`,attrs:()=>({language:`math`,fenceStyle:`dollar`})})}function gi(){return b(ce(),ui(),di(),pi(),mi(),hi())}function _i(e,t){return(n,r)=>{if(r){let i=E.create(n.doc,e,t);r(n.tr.setSelection(i))}return!0}}function vi(e,t,n){return(r,i)=>{if(i){let a=E.between(e,t,n);i(r.tr.setSelection(a))}return!0}}function yi(e){return(t,n)=>{if(!e.trim())return!1;let r=X(e,{nodes:al(t.schema)}).content;if(r.childCount===0)return!1;let i=r.childCount===1&&F(r.child(0),`paragraph`)?new k(r,1,1):new k(r,0,k.maxOpen(r).openEnd);if(n){let e=t.tr,r=e.selection;(!y(r)||!r.empty)&&e.setSelection(E.near(r.$from)),n(e.replaceSelection(i).scrollIntoView())}return!0}}function bi(e){return(t,n)=>{if(!e)return!1;let r=t.selection.$from;if(r.parent.type.spec.code)return!1;if(n){let i=r.parentOffset,a=i===0?``:r.parent.textBetween(i-1,i),o=a!==``&&!/\s/u.test(a),s=t.tr.insertText(o?` ${e}`:e);ct(s),n(s.scrollIntoView())}return!0}}function xi(){return _t(re({type:`paragraph`}),ht(),vt)}function Si(){return(e,t)=>(t&&t(e.tr.scrollIntoView()),!0)}function Ci(){return s({insertMarkdown:yi,insertTrigger:bi,scrollIntoView:Si,selectText:_i,selectTextBetween:vi,turnIntoText:xi})}const wi=new Set;function Ti(e){for(let t of wi)if(t!==e&&!t.isDestroyed&&t.editable&&t.dragging)return t}function Ei(e,t){let n=e.state.tr;if(t.node){if(e.state.doc.nodeAt(t.node.from)!==t.node.node)return;t.node.replace(n)}else n.deleteSelection();n.docChanged&&e.dispatch(n.setMeta(`uiEvent`,`drop`))}function Di(e,t,n,r){if(r||n.size===0)return!1;let i=Ti(e);if(!i)return!1;let a=i.dragging;if(!a||(ee?t.altKey:t.ctrlKey))return!1;i.dragging=null;let o=e.state.doc;return queueMicrotask(()=>{i.isDestroyed||e.isDestroyed||e.state.doc!==o&&Ei(i,a)}),!1}function Oi(){return new w({key:new T(`meowdown-cross-editor-drag`),view:e=>(wi.add(e),{destroy:()=>{wi.delete(e)}}),props:{handleDrop:Di}})}function ki(){return x(m(Oi()),t.high)}const Ai=(e,t,n)=>{let{selection:r}=e;return r.empty||n?.composing?!1:(t?.(e.tr.setSelection(E.near(r.$head))),!0)};function ji(){return x(l({Escape:Ai}),t.low)}const Mi=new w({props:{decorations:e=>{let{from:t,to:n,empty:r}=e.selection;if(!(r||ve(e).active===0))return D.create(e.doc,[Ie.inline(t,n,{class:`show`})])}}});function Ni(){return b(he(),me(),m(Mi))}function Pi(){return f({type:`doc`,attr:`frontmatter`,default:null})}let Fi=-1,Ii=!1;typeof window<`u`&&(window.addEventListener(`compositionstart`,()=>{Ii=!0},{capture:!0,passive:!0}),window.addEventListener(`compositionend`,()=>{Ii=!1,Fi=Date.now()},{capture:!0,passive:!0}));function Li(){return Ii||Fi>0&&Date.now()-Fi<=50}function Ri(e,t){return t(e.state,e.dispatch,e)}function zi(e,t){if(t<0||t+1>e.doc.content.size)return;let n=e.doc.resolve(t),r=n.parent.maybeChild(n.index());if(!(r==null||!r.isText))return r.marks}function R(e,t){let n=zi(e,t);return n!=null&&n.some(e=>In.has(e.type.name))}function Bi(e,t){if(t<0||t>e.doc.content.size)return!1;let n=e.doc.resolve(t);return n.parent.isTextblock&&!n.parent.type.spec.code}function z(e,t){if(!Bi(e,t))return;let n=e.doc.resolve(t).start(),r=t;for(;r>n&&R(e,r-1);)r--;return r<t?{from:r,to:t}:void 0}function B(e,t){if(!Bi(e,t))return;let n=e.doc.resolve(t).end(),r=t;for(;r<n&&R(e,r);)r++;return r>t?{from:t,to:r}:void 0}function Vi(e,t){return R(e,t-1)&&R(e,t)}function Hi(e,t){if(!Vi(e,t))return;let n=z(e,t);if(!n)return;let r=B(e,t);if(r)return{from:n.from,to:r.to}}function Ui(e,t,n){let r=zi(e,t);return r!=null&&n.isInSet(r)}function Wi(e,t){let n=zi(e,t);if(n==null)return;let r=g(e.schema,`mdPack`),i=n.filter(e=>e.type===r);if(i.length===0)return;let a=e.doc.resolve(t),o=a.start(),s=a.end(),c;for(let n of i){let r=t;for(;r>o&&Ui(e,r-1,n);)r--;let i=t+1;for(;i<s&&Ui(e,i,n);)i++;(c==null||i-r<c.to-c.from)&&(c={from:r,to:i})}return c}function Gi(e,t,n){let r=Wi(e,n===`from`?t.from:t.to-1);return r==null?!1:n===`from`?r.from===t.from:r.to===t.to}function Ki(e,t,n){let r=Gi(e,t,`from`),i=Gi(e,t,`to`);return r&&!i?t.from:i&&!r?t.to:n-t.from<=t.to-n?t.from:t.to}function qi(e,t,n,r){if(!Bi(e,n))return n;let i=Hi(e,n);if(i!=null)return r?Ki(e,i,n):n>=t?i.to:i.from;if(!r)return n;let a=z(e,n);if(a!=null&&Gi(e,a,`from`))return a.from;let o=B(e,n);return o!=null&&Gi(e,o,`to`)?o.to:n}function Ji(e,t){if(!Bi(e,t))return;let n=R(e,t-1),r=R(e,t);if(n!==r)return r?`left`:`right`}function Yi(e,t){let n=Wi(e,t);if(n==null)return[];let r=B(e,n.from),i=z(e,n.to),a=[];return i!=null&&a.push(i),r!=null&&(i==null||r.from!==i.from)&&a.push(r),a}const Xi=new T(`meowdown-hidden-run-snap`),Zi=new T(`meowdown-hidden-run-beforeinput`);function Qi(){return new w({key:Xi,appendTransaction:(e,t,n)=>{if(Li()||j(n)!==`hide`)return null;let r=n.selection;if(!y(r))return null;let i=e.some(e=>e.getMeta(`pointer`)!=null);if(r.empty){let e=qi(n,t.selection.head,r.head,i);return e===r.head?null:n.tr.setSelection(E.create(n.doc,e))}let a=Hi(n,r.from)?.from??r.from,o=Hi(n,r.to)?.to??r.to;if(a===r.from&&o===r.to)return null;let s=r.anchor===r.from?a:o,c=r.head===r.from?a:o;return n.tr.setSelection(E.create(n.doc,s,c))}})}const $i=(e,t)=>{if(j(e)!==`hide`)return!1;let n=e.selection;if(!y(n)||!n.empty)return!1;let r=qi(e,n.head,n.head,!0);return r===n.head||t?.(e.tr.setSelection(E.create(e.doc,r))),!1};function ea(e){return(t,n)=>{if(j(t)!==`hide`)return!1;let r=t.selection;if(!y(r)||!r.empty)return!1;let i=r.$head;if(!i.parent.isTextblock||i.parent.type.spec.code)return!1;let a=e===-1?z(t,r.head):B(t,r.head);if(a==null)return!1;let o=Yi(t,e===-1?a.to-1:a.from),s=t.tr;if(o.length===0)s.delete(a.from,a.to);else for(let e of o)s.delete(e.from,e.to);return n?.(s),!0}}const ta=ea(-1),na=ea(1);function ra(){return new w({key:Zi,props:{handleDOMEvents:{beforeinput:(e,t)=>{if(e.composing)return!1;let n=t.inputType===`deleteContentBackward`?ta:t.inputType===`deleteContentForward`?na:void 0;return n==null||!Ri(e,n)?!1:(t.preventDefault(),!0)}}}})}function ia(){return b(m(Qi()),m(ra()),x(l({Enter:$i,Backspace:ta,Delete:na}),t.highest))}function aa(){return f({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function oa(){return b(yt(),aa())}function sa(){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 ca(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function la(e,t){let[n,r,i]=t;return[n,r,i.map(t=>qe.fromJSON(e,t))]}function ua(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 da(e,t){let n=e.content.size,r;for(let[i,a,o]of t){if(i>=a)continue;let t=Math.max(0,Math.min(i,n)),s=Math.max(t,Math.min(a,n));if(t>=s)continue;let c=qe.setFrom(o);e.nodesBetween(t,s,(n,i)=>{if(!n.isText)return!0;let a=Math.max(t,i),o=Math.min(s,i+n.nodeSize);if(a>=o||ua(n.marks,c))return!1;r??=new Ot(e);for(let e of n.marks)r.removeMark(a,o,e);for(let e of c)r.addMark(a,o,e);return!1})}return Dt.ok(r?.doc??e)}function fa(e,t){let n=e.content.size,r=[...t].filter(([e,t])=>e<t&&e<n).sort((e,t)=>e[0]-t[0]);if(r.length===0)return Dt.ok(e);let i=r.map(([,,e])=>qe.setFrom(e)),a=Math.max(0,r[0][0]),o=0;for(let[,e]of r)e>o&&(o=e);if(o=Math.min(o,n),a>=o)return Dt.ok(e);let s=0;function c(e,t){let n=t+e.nodeSize;for(;s<r.length&&r[s][1]<=t;)s++;let a=[],o=t,c=!1;for(let t=s;t<r.length;t++){let[s,l]=r[t];if(s>=n)break;let u=Math.max(s,o),d=Math.min(l,n);if(u>=d)continue;u>o&&a.push({from:o,to:u,marks:void 0});let f=i[t],p=!ua(e.marks,f);p&&(c=!0),a.push({from:u,to:d,marks:p?f:void 0}),o=d}if(c)return o<n&&a.push({from:o,to:n,marks:void 0}),a.map(n=>{let r=e.cut(n.from-t,n.to-t);return n.marks==null?r:r.mark(n.marks)})}function l(e,t){let n,r=t;for(let t=0;t<e.childCount;t++){let i=e.child(t),s=r+i.nodeSize,u=i;if(s>a&&r<o){if(i.isText)u=c(i,r)??i;else if(i.childCount>0){let e=l(i,r+1);e!=null&&(u=i.copy(e))}}if(u!==i&&n==null){n=[];for(let r=0;r<t;r++)n.push(e.child(r))}n!=null&&(Array.isArray(u)?n.push(...u):n.push(u)),r=s}return n==null?void 0:O.fromArray(n)}let u=l(e,0);return Dt.ok(u==null?e:e.copy(u))}var pa=class e extends Et{constructor(e){super(),this.chunks=e}apply(e){return this.chunks.length===0?Dt.ok(e):this.chunks.length<=32?da(e,this.chunks):fa(e,this.chunks)}invert(e){if(this.chunks.length===0)return ma;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 Tt(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(ca)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>la(t,e)))}};Et.jsonID(`batchSetMark`,pa);const ma=new pa([]),ha=/^<!--\s*(\{[^}]*\})\s*-->$/,ga=/<!--\s*\{[^}]*\}\s*-->$/;function _a(e){let t=ha.exec(e.trim());if(!t)return;let n;try{n=JSON.parse(t[1])}catch{return}if(!Ee(n))return;let r=va(n);return Object.keys(r).length>0?r:void 0}function va(e){let t={},{width:n,height:r}=e;return typeof n==`number`&&Number.isFinite(n)&&n>0&&(t.width=Math.round(n)),typeof r==`number`&&Number.isFinite(r)&&r>0&&(t.height=Math.round(r)),t}function ya(e){return`<!-- ${JSON.stringify(e)} -->`}function ba(e){return e.replace(ga,``)}function xa(e){return At(e)}function Sa(e){if(e.length>1024)return!1;let t=e.search(/\S/);return t<0||e.charCodeAt(t)!==91?!1:e.includes(`]:`,t+1)}function Ca(e){if(!Sa(e))return;let t=Se.parse(e).topNode.firstChild;if(t?.type.id===S.LinkReference&&t.nextSibling==null)return t}function wa(e){return kt(e.startsWith(`<`)&&e.endsWith(`>`)?e.slice(1,-1):e)}function Ta(e){return e.length<2?``:kt(e.slice(1,-1))}function Ea(e){let t=Ca(e);if(t==null)return;let n=t.getChild(`LinkLabel`),r=t.getChild(`URL`);if(n==null||r==null)return;let i=xa(e.slice(n.from+1,n.to-1));if(i===``)return;let a=t.getChild(`LinkTitle`);return{key:i,href:wa(e.slice(r.from,r.to)),title:a==null?``:Ta(e.slice(a.from,a.to))}}function Da(e,t){return e==null?!0:F(e,`tableCell`)||F(e,`tableHeaderCell`)?!1:!F(e,`list`)||e.attrs.kind!==`task`||t>0}function Oa(e,t,n){return F(e,`paragraph`)&&Da(t,n)}const V=new WeakMap;function ka(e,t,n){if(!Oa(e,t,n))return;if(V.has(e))return V.get(e);let r=Ea(e.textContent);return V.set(e,r),r}function Aa(e,t,n){return ka(e,t,n)!=null}function ja(e){let t=new Map,n=new Set;return e.descendants((e,r,i,a)=>{if(e.type.spec.code)return!1;if(!e.isTextblock)return!0;let o=ka(e,i,a);return o!=null&&(n.add(e),t.has(o.key)||t.set(o.key,o)),!1}),{definitions:t,nodes:n}}function Ma(e,t,n){let r=e.content.size,i=!1;return e.nodesBetween(Math.max(0,t-1),Math.min(r,n+1),(e,t,n,r)=>i||e.type.spec.code?!1:e.isTextblock?(Oa(e,n,r)&&(V.has(e)?V.get(e)!=null:Sa(e.textContent))&&(i=!0),!1):!0),i}function Na(e){if(e.steps.some(e=>e instanceof St&&e.attr===`kind`))return!0;for(let[t,n]of e.mapping.maps.entries()){let r=e.docs[t],i=t+1<e.docs.length?e.docs[t+1]:e.doc,a=!1;if(n.forEach((e,t,n,o)=>{a||=Ma(r,e,t)||Ma(i,n,o)}),a)return!0}return!1}function Pa(e,t,n){return!t.docChanged||!Na(t)?e:ja(n)}const Fa=/^(\d+)(?:x(\d+))?$/i;function Ia(e){if(!e)return null;let t=Number.parseInt(e,10);return Number.isSafeInteger(t)&&t>0?t:null}function La(e){let t=e.replace(/^!\[\[/,``).replace(/\]\]$/,``),n=t.lastIndexOf(`|`);if(n<0)return{target:t.trim(),display:``,width:null,height:null};let r=t.slice(0,n).trim(),i=t.slice(n+1).trim(),a=Fa.exec(i);if(!a)return{target:r,display:i,width:null,height:null};let o=Ia(a[1]),s=Ia(a[2]);return o==null||a[2]&&s==null?{target:r,display:i,width:null,height:null}:{target:r,display:``,width:o,height:s}}function Ra(e,t,n){return`![[${e}|${Math.round(t)}x${Math.round(n)}]]`}function za(e){let t=e.split(/[?#]/,1)[0],n=t.split(/[/\\]/).findLast(Boolean)??t;try{return decodeURIComponent(n)}catch{return n}}function Ba(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 Va(){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 Ha(){return d({name:`mdWikilink`,constructor:Va()})}const Ua=new Map([[S.Emphasis,`mdEm`],[S.StrongEmphasis,`mdStrong`],[S.InlineCode,`mdCode`],[S.Strikethrough,`mdDel`],[S.Highlight,`mdHighlight`],[S.EmphasisMark,`mdMark`],[S.CodeMark,`mdMark`],[S.LinkMark,`mdMark`],[S.StrikethroughMark,`mdMark`],[S.HighlightMark,`mdMark`],[S.URL,`mdLinkUri`],[S.LinkTitle,`mdLinkTitle`],[S.Hashtag,`mdTag`],[S.WikilinkMark,`mdMark`]]);function Wa(e,t,n){return Ga(e,t,n)}function Ga(e,t,n,r){let i=Ce(t),a=[];return qa(i,[],0,t.length,t,e,a,n,r),a}function Ka(e){return e.slice(1,-1).replaceAll(/\\(.)/g,`$1`)}function qa(e,t,n,r,i,a,o,s,c){let l=n;for(let n=0;n<e.length;n++){let r=e[n];if(r.from>l&&H(o,l,r.from,t),r.type===S.Image){let u=io(r,e[n+1],i);ao(r,t,i,a,o,s,c,u),u&&n++,l=u?u.to:r.to;continue}Ja(r,t,i,a,o,s,c),l=r.to}l<r&&H(o,l,r,t)}function Ja(e,t,n,r,i,a,o){switch(e.type){case S.Link:return Za(e,t,n,r,i,a,o);case S.Wikilink:return so(e,t,n,r,i);case S.WikiEmbed:return co(e,t,n,r,i,a);case S.InlineMath:return oo(e,t,n,r,i);case S.URL:return Xa(e,t,n,r,i);default:return Ya(e,t,n,r,i,a,o)}}function Ya(e,t,n,r,i,a,o){let s=e.type,c;s===S.Emphasis?c=`italic`:s===S.StrongEmphasis?c=`bold`:s===S.InlineCode?c=`code`:s===S.Strikethrough?c=`strike`:s===S.Highlight?c=`highlight`:s===S.Autolink&&(c=`autolink`);let l=c?[...t,r.mdPack.create({key:c})]:t,u=Ua.get(s),d=u?[...l,r[u].create()]:l;e.children.length===0?H(i,e.from,e.to,d):qa(e.children,d,e.from,e.to,n,r,i,a,o)}function Xa(e,t,n,r,i){let a=be(n.slice(e.from,e.to)),o=a?r.mdLinkText.create({href:a}):r.mdLinkUri.create();H(i,e.from,e.to,[...t,o])}function Za(e,t,n,r,i,a,o){let s=Qa(e),c=$a(s,n,o);if(c==null){eo(e,t,n,r,i,a,o);return}let l=no(s,c,t,n,r,a);if(l){H(i,e.from,e.to,l);return}ro(e,s,c,t,n,r,i,a,o)}function Qa(e){let t=-1,n=-1,r=null,i=null,a=null,o=0,s=0;for(let c of e.children){let e=c.type;e===S.LinkMark?(s++,o++,o===1&&(t=c.to),o===2&&(n=c.from)):r==null&&e===S.URL?r=c:i==null&&e===S.LinkTitle?i=c:a==null&&e===S.LinkLabel&&(a=c)}return{labelFrom:t,labelTo:n,urlNode:r,titleNode:i,referenceLabelNode:a,linkMarkCount:s}}function $a(e,t,n){if(e.linkMarkCount>=3)return{href:e.urlNode==null?``:t.slice(e.urlNode.from,e.urlNode.to),title:e.titleNode==null?``:Ka(t.slice(e.titleNode.from,e.titleNode.to)),isReference:!1};if(e.labelFrom<0||e.labelTo<0||n?.isReferenceDefinition===!0)return;let r=t.slice(e.labelFrom,e.labelTo),i=xa(e.referenceLabelNode==null?r:t.slice(e.referenceLabelNode.from+1,e.referenceLabelNode.to-1)||r);if(i===``)return;n?.referencedKeys?.add(i);let a=n?.referenceDefinitions?.get(i);if(a!=null)return{href:a.href,title:a.title,isReference:!0}}function eo(e,t,n,r,i,a,o){qa(e.children.filter(e=>e.type!==S.LinkMark&&e.type!==S.LinkLabel),t,e.from,e.to,n,r,i,a,o)}function to(e){let t=e.split(/[?#]/,1)[0],n=t.split(/[/\\]/).findLast(Boolean)??t;try{return decodeURIComponent(n)}catch{return n}}function no(e,t,n,r,i,a){let o=a?.resolveFileLink;if(!o)return;let{labelFrom:s,labelTo:c}=e;if(s<0||c<0)return;let{href:l,title:u}=t;if(!l)return;let d=r.slice(s,c);if(!o({href:l,label:d,title:u}))return;let f=d||to(l);return[...n,i.mdFile.create({href:l,name:f,title:u})]}function ro(e,t,n,r,i,a,o,s,c){let{labelTo:l}=t,{href:u,title:d,isReference:f}=n,p=a.mdLinkText.create({href:u}),m=e=>l>=0&&e<l,h=f?{href:u,title:d,reference:!0}:{href:u,title:d},g=a.mdPack.create({key:`link`,data:h}),_=[...r,g],v=e.from;for(let t of e.children){if(t.from>v){let e=m(v)?[..._,p]:_;H(o,v,t.from,e)}let e=m(t.from)?[..._,p]:_;if(t.type===S.Wikilink){so(t,e,i,a,o),v=t.to;continue}if(t.type===S.WikiEmbed){co(t,e,i,a,o,s),v=t.to;continue}if(t.type===S.Image){ao(t,e,i,a,o,s,c),v=t.to;continue}if(f&&t.type===S.LinkLabel){H(o,t.from,t.to,[...e,a.mdMark.create()]),v=t.to;continue}let n=Ua.get(t.type),r=n?[...e,a[n].create()]:e;t.children.length===0?H(o,t.from,t.to,r):qa(t.children,r,t.from,t.to,i,a,o,s,c),v=t.to}v<e.to&&H(o,v,e.to,_)}function io(e,t,n){if(!t||t.type!==S.Comment||t.from!==e.to)return;let r=_a(n.slice(t.from,t.to));if(r)return{magic:r,to:t.to}}function ao(e,t,n,r,i,a,o,s){let c=$a(Qa(e),n,o);if(c==null){eo(e,t,n,r,i,a,o),s!=null&&H(i,e.to,s.to,t);return}let l=e.children.filter(e=>e.type===S.LinkMark),u=c.href,d=l.length>=2?n.slice(l[0].to,l[1].from):``,f=c.title,p=s?.magic.width??null,m=s?.magic.height??null,h=s?.to??e.to;H(i,e.from,h,[...t,r.mdImage.create({src:u,alt:d,title:f,width:p,height:m,syntax:null,wikiTarget:null})])}function oo(e,t,n,r,i){let a=e.children.filter(e=>e.type===S.InlineMathMark);if(a.length<2){H(i,e.from,e.to,t);return}let o=n.slice(a[0].to,a[1].from),s=[...t,r.mdPack.create({key:`math`}),r.mdMath.create({formula:o})];H(i,e.from,a[0].to,[...s,r.mdMark.create()]),H(i,a[0].to,a[1].from,s),H(i,a[1].from,e.to,[...s,r.mdMark.create()])}function so(e,t,n,r,i){let{target:a,display:o}=Ba(n.slice(e.from,e.to));H(i,e.from,e.to,[...t,r.mdWikilink.create({target:a,display:o})])}function co(e,t,n,r,i,a){let o=La(n.slice(e.from,e.to)),s=a?.resolveWikiEmbed?.(o);if(!s){H(i,e.from,e.to,t);return}if(s.kind===`image`){let n=s.src??o.target,a=(s.alt??o.display)||za(o.target);H(i,e.from,e.to,[...t,r.mdImage.create({src:n,alt:a,title:``,width:o.width,height:o.height,syntax:`wikiEmbed`,wikiTarget:o.target})]);return}if(s.kind===`file`){let n=s.href??o.target,a=(s.name??o.display)||za(o.target);H(i,e.from,e.to,[...t,r.mdFile.create({href:n,name:a,title:s.title??``})]);return}let c=s.target??o.target,l=s.display??o.display;H(i,e.from,e.to,[...t,r.mdWikilink.create({target:c,display:l})])}function H(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&ua(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const lo=`inline-marks-applied`,uo=`inline-marks-trigger`,fo=`inline-marks-restyle`,U=new T(`inline-mark`),po=new Set;let mo=0,ho=0;function go(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 _o(e){let t=new WeakMap;function n(e,t){for(let n of e)if(t.has(n))return!0;return!1}function r(e,t){let n=[];for(let[r,i,a]of e)n.push([r+t,i+t,a]);return n}function i(i,a,o,s,c,l){let u=t.get(i),d;if(u?.isReferenceDefinition===l&&!n(u.referencedKeys,c))ho++,d=u.chunks;else{mo++;let n=new Set;d=Ga(rl(o),i.textContent,e,{referenceDefinitions:s.definitions,isReferenceDefinition:l,referencedKeys:n}),t.set(i,{isReferenceDefinition:l,referencedKeys:n,chunks:d})}return a===0?d:r(d,a)}function a(e,r,a,o){let s=[],c=[],l=(l,u,d,f)=>{if(l.type.spec.code)return!1;if(!l.isTextblock)return!0;if(l.childCount===0)return!1;let p=t.get(l),m=u<=r.to&&u+l.nodeSize>=r.from,h=p==null||n(p.referencedKeys,o);if(!m&&!h)return!1;let g=i(l,u+1,e.schema,a,o,Aa(l,d,f));g.length>0&&s.push(...g);let _=t.get(l);return _!=null&&c.push({position:u,cached:_}),!1};return o.size===0?e.doc.nodesBetween(r.from,r.to,l):e.doc.descendants(l),{chunks:s,processed:c}}function o(e,n){for(let{position:r,cached:i}of n){let n=e.nodeAt(r);n?.isTextblock&&t.set(n,i)}}return new w({key:U,state:{init(e,t){return{references:ja(t.doc),pendingReferenceKeys:po}},apply(e,t,n,r){if(e.getMeta(fo)===!0)return t.pendingReferenceKeys.size===0?t:{references:t.references,pendingReferenceKeys:po};if(e.getMeta(lo))return t;let i=Pa(t.references,e,r.doc);if(i===t.references)return t;let a=bo(t.references.definitions,i.definitions);return a.size===0?{references:i,pendingReferenceKeys:t.pendingReferenceKeys}:{references:i,pendingReferenceKeys:xo(t.pendingReferenceKeys,a)}}},appendTransaction(e,t,n){for(let t of e)if(t.getMeta(lo))return null;let r=e.some(e=>e.getMeta(fo));if(!(r||e.some(e=>e.docChanged||e.getMeta(uo))))return null;let i=U.getState(n)?.references;if(i==null)return null;let s=r?U.getState(t)?.pendingReferenceKeys??po:po,{chunks:c,processed:l}=a(n,r?{from:0,to:0}:go(e,n),i,s);if(c.length===0)return null;let u=n.tr.step(new pa(c));return o(u.doc,l),u.setMeta(lo,!0),u.setMeta(`addToHistory`,!1),u},view(e){e.dispatch(vo(e.state));let t,n=e=>{t=void 0,!e.isDestroyed&&(U.getState(e.state)?.pendingReferenceKeys.size??0)!==0&&e.dispatch(e.state.tr.setMeta(fo,!0))};return{update(e,r){let i=U.getState(e.state);if((i?.pendingReferenceKeys.size??0)===0){t!=null&&clearTimeout(t),t=void 0;return}(t==null||U.getState(r)!==i)&&(t!=null&&clearTimeout(t),t=setTimeout(()=>n(e),200))},destroy(){t!=null&&clearTimeout(t)}}}})}function vo(e){return e.tr.setMeta(uo,!0)}function yo(e,t){return e?.href===t?.href&&e?.title===t?.title}function bo(e,t){if(e==null)return new Set(t.keys());let n=new Set;for(let[r,i]of e)yo(i,t.get(r))||n.add(r);for(let[r,i]of t)yo(i,e.get(r))||n.add(r);return n}function xo(e,t){if(e.size===0)return t;let n=new Set(e);for(let e of t)n.add(e);return n}function So(e){return m(_o(e))}function Co(){return u({name:`mdImage`,inclusive:!1,attrs:{src:{default:``},alt:{default:``},title:{default:``},width:{default:null},height:{default:null},syntax:{default:null},wikiTarget:{default:null}},toDOM:()=>[`span`,{class:`md-image`},0],parseDOM:[{tag:`span.md-image`}]})}function wo(){return u({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function To(){return u({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function Eo(){return u({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function Do(){return u({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function Oo(){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 ko(){return u({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function Ao(){return u({name:`mdLinkTitle`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-title`},0],parseDOM:[{tag:`span.md-link-title`}]})}function jo(){return u({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function Mo(){return u({name:`mdHighlight`,toDOM:()=>[`mark`,0],parseDOM:[{tag:`mark`}]})}function No(){return u({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function Po(){return u({name:`mdWikilink`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink`},0],parseDOM:[{tag:`span.md-wikilink`}]})}function Fo(){return u({name:`mdFile`,inclusive:!1,attrs:{href:{default:``},name:{default:``},title:{default:``}},toDOM:()=>[`span`,{class:`md-file`},0],parseDOM:[{tag:`span.md-file`}]})}function Io(){return u({name:`mdMath`,inclusive:!1,attrs:{formula:{default:``}},toDOM:()=>[`span`,{class:`md-math`},0],parseDOM:[{tag:`span.md-math`}]})}function Lo(){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 Ro(){return b(wo(),To(),Eo(),Do(),Oo(),ko(),Ao(),jo(),Mo(),No(),Po(),Co(),Fo(),Io(),Lo())}const W={em:{node:S.Emphasis,delim:`*`},strong:{node:S.StrongEmphasis,delim:`**`},code:{node:S.InlineCode,delim:"`"},del:{node:S.Strikethrough,delim:`~~`},highlight:{node:S.Highlight,delim:`==`}},zo=new Set([S.EmphasisMark,S.CodeMark,S.LinkMark,S.StrikethroughMark,S.HighlightMark]);function Bo(e){return[e.children[0],e.children.at(-1)]}function Vo(e){let{type:t,children:n}=e;if(t===S.Emphasis||t===S.StrongEmphasis||t===S.Strikethrough||t===S.Highlight)return[n[0].to,n.at(-1).from];if(t===S.Link||t===S.Image){let e=n.find((e,t)=>t>0&&e.type===S.LinkMark);return e?[n[0].to,e.from]:null}return null}function Ho(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=Vo(r);return i&&i[0]<=t&&n<=i[1]?Ho(r.children,t,n):Ho(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function Uo(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return Uo(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}function Wo(e,t,n){for(;t<n&&C(e.charCodeAt(t));)t++;for(;n>t&&C(e.charCodeAt(n-1));)n--;return[t,n]}function Go(e,t,n,r){let i=ye(Ce(e),e=>e.type===r.node||zo.has(e.type));for(let r=t;r<n;r++)if(!C(e.charCodeAt(r))&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function Ko(e,t,n,r,i){let a=Ce(e),o=ye(a,e=>e.type===r.node);return i?Yo(e,o,t,n):qo(e,a,o,t,n,r)}function qo(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=Ho(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]=Bo(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=Jo(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function Jo(e,t,n,r,i){if(i.node!==S.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(Tr(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function Yo(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=Bo(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=Uo(a.children.slice(1,-1),s,c);s>t.to&&C(e.charCodeAt(s-1));)s--;for(;c<o.from&&C(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 Xo(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=Ce(e),o=ye(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=Bo(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return Zo(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function Zo(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=Vo(n);return!e||t<e[0]||t>e[1]||Zo(n.children,t)}return!1}function G(e){return(t,n)=>{if(t.selection.empty)return Qo(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]=Wo(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:Go(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>Ko(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(E.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 Qo(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=Xo(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(E.create(o.doc,i+a.pos)),a.kind===`insert`&&(o.insertText(e.delim+e.delim,i+a.pos),o.setSelection(E.create(o.doc,i+a.pos+e.delim.length))),n(o.scrollIntoView())}return!0}function $o(){return s({toggleEm:()=>G(W.em),toggleStrong:()=>G(W.strong),toggleCode:()=>G(W.code),toggleDel:()=>G(W.del),toggleHighlight:()=>G(W.highlight)})}function es(){return l({"Mod-b":G(W.strong),"Mod-i":G(W.em),"Mod-e":G(W.code),"Mod-Shift-x":G(W.del),"Mod-Shift-h":G(W.highlight)})}function ts(){return b($o(),es())}function ns(e,t,n){let r;return e.doc.nodesBetween(t.from,t.to,(e,i)=>(e.isText&&e.marks.some(e=>Fn(e,n))&&(r={from:Math.max(i,t.from),to:Math.min(i+e.nodeSize,t.to)}),!0)),r}function K(e,t){let n=A(e,t,`mdLinkText`),r=A(e,t,`mdPack`,{key:`link`})??A(e,t,`mdPack`,{key:`autolink`}),i=r??n;if(!i)return;let a=r?.mark.attrs,o=n?.mark.attrs?.href??``;if(!r||a?.key!==`link`){let t={from:i.from,to:i.to};return{unit:t,text:a?.key===`autolink`?ns(e,t,`mdLinkText`)??{from:i.from+1,to:i.to-1}:t,href:o,title:``}}if(a.data.reference===!0){let e=n==null?{from:i.from,to:i.to}:{from:n.from+1,to:n.to};return{unit:{from:i.from,to:i.to},text:e,href:a.data.href,title:a.data.title}}let s=ns(e,i,`mdLinkUri`),c=s?s.from-2:i.to-3,l=s?s.from:i.to-1,u={from:i.from+1,to:c};return{unit:{from:i.from,to:i.to},text:u,label:u,dest:{from:l,to:i.to-1},href:a.data.href,title:a.data.title}}function rs(e){let t=e.trim();return t?be(t)??t:``}function is(e,t){return e+(t?` "${t.replaceAll(/(["\\])/g,String.raw`\$1`)}"`:``)}function as(e){let{selection:t}=e,{$from:n,$to:r,empty:i}=t;if(i||!n.sameParent(r)||!y(t))return;let a=n.parent;if(!a.isTextblock||a.type.spec.code)return;let o=n.start(),[s,c]=Wo(a.textContent,n.parentOffset,r.parentOffset);if(!(s>=c))return{from:o+s,to:o+c}}function os({href:e,title:t,wrapText:n=!0}={}){return(r,i)=>{let a=as(r);if(!a)return!1;if(i){let{from:o,to:s}=a,c=r.tr,l=`](${is(rs(e??``),t??``)})`;c.insertText(l,s).insertText(`[`,o);let u=s+1+l.length;c.setSelection(n?E.create(c.doc,o,u):E.create(c.doc,u)),c.scrollIntoView(),i(c)}return!0}}function ss(e){return(t,n)=>{let r=K(t,t.selection.from);if(!r?.dest)return!1;let i=is(rs(e.href??r.href),e.title??r.title);return n&&n(t.tr.insertText(i,r.dest.from,r.dest.to).scrollIntoView()),!0}}function cs(){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 ls(){return s({insertLink:os,updateLink:ss,removeLink:cs})}function us(e){return(t,n,r)=>{let i=K(t,t.selection.from);if(i){if(i.label==null||i.dest==null)return!1;if(n&&r){let{unit:{from:a,to:o}}=i;n(t.tr.setSelection(E.create(t.doc,a,o)).scrollIntoView()),r.focus(),e({from:a,to:o,link:i})}return!0}let a=as(t);if(a){if(n&&r){let{from:i,to:o}=a;n(t.tr.setSelection(E.create(t.doc,i,o)).scrollIntoView()),r.focus(),e({from:i,to:o,link:void 0})}return!0}return!1}}function ds(e){return l({"Mod-k":us(e)})}function fs(e){return e===`)`||e===`*`||e===`+`?e:void 0}function ps(e){return e===`X`?e:void 0}function ms(e){return _s(e)?String(e):void 0}function hs(){return f({type:`list`,attr:`marker`,default:null,splittable:!0,toDOM:e=>{let t=fs(e);return t==null?null:[`data-list-marker`,t]},parseDOM:e=>{let t=e.getAttribute(`data-list-marker`);return t===`)`||t===`*`||t===`+`?t:null}})}function gs(){return f({type:`list`,attr:`taskMarker`,default:null,splittable:!0,toDOM:e=>{let t=ps(e);return t==null?null:[`data-list-task-marker`,t]},parseDOM:e=>e.getAttribute(`data-list-task-marker`)===`X`?`X`:null})}function _s(e){return e===2||e===3||e===4}function vs(){return f({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>{let t=ms(e);return t==null?null:[`data-list-marker-gap`,t]},parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return _s(t)?t:1}})}function ys(e){let t=e.attrs;return{...Pt(e),"data-list-marker":fs(t.marker),"data-list-task-marker":ps(t.taskMarker),"data-list-marker-gap":ms(t.markerGap)}}function bs(){return o({serializeFragmentWrapper:e=>(...t)=>xs(Lt(e(...t))),serializeNodeWrapper:e=>(...t)=>{let n=e(...t);return we(n)?xs(Lt(n)):n},nodesFromSchemaWrapper:e=>(...t)=>({...e(...t),list:e=>Rt({node:e,nativeList:!0,getAttributes:ys})})})}function xs(e){we(e)&&Ss(e);for(let t of e.children)xs(t);return e}function Ss(e){if(!e.classList.contains(`prosemirror-flat-list`)||e.getAttribute(`data-list-kind`)!==`task`||e.children.length!==2)return;let t=e.children.item(0);if(!t||!t.classList.contains(`list-marker`))return;let n=Ft(t);if(!n)return;let r=e.children.item(1);if(!r||!r.classList.contains(`list-content`))return;let i=r.children.item(0);!i||![`P`,`H1`,`H2`,`H3`,`H4`,`H5`,`H6`].includes(i.tagName)||(e.replaceChildren(...r.children),i.prepend(n))}const Cs=[Bt(/^\s?([*-])\s$/,{kind:`bullet`,collapsed:!1}),Bt(/^\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}}),Bt(/^\s?\[([\sX]?)\]\s$/i,({match:e})=>({kind:`task`,checked:[`x`,`X`].includes(e[1]),collapsed:!1})),Bt(/^\s?\+\s$/,{kind:`task`,marker:`+`,checked:!1,collapsed:!1})];function ws(){return b(Cs.map(ot))}function Ts(){return gt({kind:`task`,marker:`+`})}function Es(){return gt({kind:`task`,marker:null})}function Ds(e){let{$from:t}=e.selection;for(let e=t.depth;e>0;e--){let n=t.node(e);if(F(n,`list`))return n.attrs}return null}function Os(){return(e,t,n)=>{let r=Ds(e);return(r?.kind===`task`?r.marker===`+`?Es():Ts():gt({kind:`task`,marker:null,checked:!1}))(e,t,n)}}function ks(){return s({cycleCheckableList:Os,wrapInCircleTask:Ts,wrapInSquareTask:Es})}function As(){return(e,t,n)=>{let r=Ds(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},gt(a)(e,t,n)}}function js(){return(e,t,n)=>{let r=Ds(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},gt(a)(e,t,n)}}function Ms(e){return F(e,`list`)&&e.attrs.kind===`bullet`&&e.childCount>=2&&e.firstChild?.type!==e.type}const Ns=e=>{let t=e.attrs;return t.kind===`task`?{...t,checked:!t.checked}:Ms(e)?{...t,collapsed:!t.collapsed}:t};function Ps(){return m(()=>[new w({props:{handleDOMEvents:{mousedown:(e,t)=>It({view:e,event:t,onListClick:Ns})}}}),jt(),new w({props:{transformCopied:zt}}),Mt()])}function Fs(){return s({toggleListCollapsed:()=>Nt({isToggleable:Ms})})}function Is(){return l({"Mod-Enter":As(),"Mod-Shift-Enter":js(),"Mod-.":Nt({isToggleable:Ms}),"Mod-Shift-7":mt({kind:`ordered`,collapsed:!1}),"Mod-Shift-8":mt({kind:`bullet`,collapsed:!1}),"Mod-Shift-9":mt({kind:`task`,checked:!1,collapsed:!1})})}function Ls(){return b(ft(),Ps(),dt(),lt(),bs(),ut(),ws(),Is(),hs(),gs(),vs(),ks(),Fs())}let Rs;function zs(){return Rs??=import(`./katex-chunk-Ch7kgbXr.js`).then(e=>e.render),Rs}function Bs(e,t,n,r){try{e(n,t,{displayMode:r,throwOnError:!1,output:`mathml`})}catch(e){t.textContent=String(e)}}var Vs=class{#e;#t;#n;#r;constructor(e,t){this.#r=e.attrs.formula,this.#e=document.createElement(`span`),this.#e.className=`md-math-view`,this.#n=document.createElement(`span`),this.#n.className=`md-math-view-preview`,this.#n.dataset.testid=`math-preview`,this.#n.contentEditable=`false`,this.#n.addEventListener(`mousedown`,e=>{e.preventDefault();let n=t.posAtDOM(this.#t,0);if(n<0)return;let r=E.near(t.state.doc.resolve(n),1);t.dispatch(t.state.tr.setSelection(r)),t.focus()}),this.#t=document.createElement(`span`),this.#t.className=`md-math-view-content`,this.#e.appendChild(this.#n),this.#e.appendChild(this.#t),this.#i()}get dom(){return this.#e}get contentDOM(){return this.#t}update(e){let t=e.attrs.formula;return t!==this.#r&&(this.#r=t,this.#i()),!0}ignoreMutation(e){return!this.#t.contains(e.target)}#i(){let e=this.#r;zs().then(t=>{e===this.#r&&Bs(t,this.#n,e,!1)})}};function Hs(){return d({name:`mdMath`,constructor:(e,t)=>new Vs(e,t)})}function Us(e){return e===`left`||e===`center`||e===`right`?e:null}function Ws(){return f({type:`tableCell`,attr:`align`,default:null,toDOM:e=>e?[`data-align`,e]:null,parseDOM:e=>Us(e.getAttribute(`data-align`))})}function Gs(){return f({type:`tableHeaderCell`,attr:`align`,default:null,toDOM:e=>e?[`data-align`,e]:null,parseDOM:e=>Us(e.getAttribute(`data-align`))})}function Ks(e){for(let t=0;t<e.childCount;t++){let n=e.child(t);for(let e=0;e<n.childCount;e++)if(F(n.child(e),`tableHeaderCell`))return t}return 0}function qs(e){return e.child(Ks(e))}function Js(e,t){return t>=e.childCount?null:e.child(t).attrs.align??null}function Ys(e,t,n){if(e.childCount===0)return;let r=qs(e),i=t+1;for(let t=0;t<e.childCount;t++){let a=e.child(t),o=i+1;for(let e=0;e<a.childCount;e++){let t=a.child(e),i=Js(r,e);(t.attrs.align??null)!==i&&n.setNodeMarkup(o,void 0,{...t.attrs,align:i}),o+=t.nodeSize}i+=a.nodeSize}}function Xs(e){let t,n;for(let r of e){if(!r.docChanged)continue;t!=null&&n!=null&&(t=r.mapping.map(t,-1),n=r.mapping.map(n,1));let e=r.mapping;for(let[r,i]of e.maps.entries()){let a=e.slice(r+1);i.forEach((e,r,i,o)=>{let s=a.map(i,-1),c=a.map(o,1);t=t==null?s:Math.min(t,s),n=n==null?c:Math.max(n,c)})}}if(t!=null&&n!=null)return{from:t,to:n}}function Zs(){return new w({key:new T(`table-align-sync`),appendTransaction(e,t,n){if(!e.some(e=>e.docChanged))return;let r=Xs(e);if(!r)return;let i=n.doc,a=Math.max(0,Math.min(r.from,i.content.size)),o=Math.max(a,Math.min(r.to,i.content.size)),s;return i.nodesBetween(a,o,(e,t)=>F(e,`table`)?(s??=n.tr,Ys(e,t,s),!1):!0),s?.docChanged?s:void 0}})}function Qs(){return m(Zs())}function $s(e){let{selection:t}=e;if(Yt(t)){let{$anchorCell:e,$headCell:n}=t,r=e.depth-1,i=e.index(),a=n.index();return{table:e.node(r),tablePos:e.before(r),firstColumn:Math.min(i,a),lastColumn:Math.max(i,a)}}let{$from:n}=t;for(let e=n.depth;e>2;e--){let t=n.node(e).type.name;if(t===`tableCell`||t===`tableHeaderCell`){let t=n.index(e-1);return{table:n.node(e-2),tablePos:n.before(e-2),firstColumn:t,lastColumn:t}}}}function ec(e){return(t,n)=>{let r=$s(t);if(!r||r.table.childCount===0)return!1;if(n){let{table:i,tablePos:a,firstColumn:o,lastColumn:s}=r,c=Ks(i),l=a+1;for(let e=0;e<c;e++)l+=i.child(e).nodeSize;let u=i.child(c),d=t.tr,f=l+1;for(let t=0;t<u.childCount;t++){let n=u.child(t);t>=o&&t<=s&&(n.attrs.align??null)!==e&&d.setNodeMarkup(f,void 0,{...n.attrs,align:e}),f+=n.nodeSize}n(d)}return!0}}function tc(e){let t=$s(e);if(!(!t||t.table.childCount===0))return Js(qs(t.table),t.lastColumn)??void 0}function nc(){return s({setTableColumnAlign:ec})}function rc(){return b(Ws(),Gs(),Qs(),nc())}function ic(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 ac=`paragraph`;function oc(){return b(p({name:`tableCell`,content:ac}),p({name:`tableHeaderCell`,content:ac}))}const sc=(e,t)=>{let{selection:n}=e;return!Yt(n)||!n.isColSelection()||!n.isRowSelection()?!1:Jt(e,t)};function cc(){return x(l({Backspace:sc,Delete:sc}),t.high)}function lc(){return b(qt(),Kt(),Vt(),Gt(),oc(),rc(),Wt({allowTableNodeSelection:!0}),Ht(),Ut(),cc())}function uc(e){let{selection:t}=e,{$from:n,$to:r}=t;if(ne(t)&&n.depth===0||n.depth>0&&r.depth>0&&n.index(0)===r.index(0))return n.index(0)}function dc(e){return(t,n)=>{if(ic(t))return!1;let r=uc(t);if(r==null)return!1;let i=r+e;if(i<0||i>=t.doc.childCount)return!1;if(n){let{selection:a}=t,o=Math.min(r,i),s=a.$from.posAtIndex(o,0),c=t.doc.child(o),l=t.doc.child(o+1),u=t.tr.replaceWith(s,s+c.nodeSize+l.nodeSize,[l,c]),d=e===-1?-c.nodeSize:l.nodeSize,f=ne(a)?Pe.create(u.doc,a.from+d):E.create(u.doc,a.anchor+d,a.head+d);u.setSelection(f),n(u.scrollIntoView())}return!0}}function fc(e){return(t,n,r)=>pt(e)(t,n,r)||dc(e===`up`?-1:1)(t,n,r)}function pc(){return l({"Alt-ArrowUp":fc(`up`),"Alt-ArrowDown":fc(`down`)})}const q=new T(`meowdownPendingReplacement`);function mc(e){return q.getState(e)?.pending??null}function hc(e,t){switch(e.type){case`start`:return{pending:{from:e.from,to:e.to,mode:e.mode,text:``}};case`append`:return t.pending?{pending:{...t.pending,text:t.pending.text+e.text}}:t;case`accept`:return t.pending?{pending:null,ended:{pending:t.pending,outcome:`accepted`}}:t;case`discard`:return t.pending?{pending:null,ended:{pending:t.pending,outcome:`discarded`}}:t}}const gc=new w({key:q,state:{init:()=>({pending:null}),apply:(e,t)=>{let n=e.getMeta(q);if(n)return hc(n,t);if(e.docChanged&&t.pending){let n=e.mapping.mapResult(t.pending.from,1),r=e.mapping.mapResult(t.pending.to,-1),i=Math.min(n.pos,r.pos),a=Math.max(n.pos,r.pos);return(n.deletedAfter&&r.deletedBefore||i>=a)&&t.pending.mode===`replace`?{pending:null,ended:{pending:t.pending,outcome:`discarded`}}:{pending:{...t.pending,from:i,to:a}}}return t}},props:{decorations:e=>{let t=mc(e);return!t||t.from>=t.to?null:D.create(e.doc,[Ie.inline(t.from,t.to,{class:`md-pending-replacement`})])}}});function _c(e){return(t,n)=>{let{from:r,to:i,mode:a}=e;return r<0||i>t.doc.content.size||r>i||r===i&&a===`replace`?!1:(n?.(t.tr.setMeta(q,{type:`start`,from:r,to:i,mode:a})),!0)}}function vc(e){return(t,n)=>mc(t)?(n?.(t.tr.setMeta(q,{type:`append`,text:e})),!0):!1}function yc(){return(e,t)=>mc(e)?(t?.(e.tr.setMeta(q,{type:`discard`})),!0):!1}function bc(e={}){return(t,n)=>{let r=mc(t);if(!r||!r.text.trim())return!1;if(n){let i=e.mode??r.mode,a=al(t.schema),o=X(r.text,{nodes:a}),s=t.tr;if(s.setMeta(q,{type:`accept`}),i===`append`){let e=t.doc.resolve(r.to).after(1);s.insert(e,o.content),s.setSelection(E.near(s.doc.resolve(e+o.content.size),-1))}else{let e=t.doc.resolve(r.from),n=t.doc.resolve(r.to),i=o.childCount===1?o.firstChild:null;i!=null&&F(i,`paragraph`)&&e.sameParent(n)&&e.parent.isTextblock?(s.replaceWith(r.from,r.to,i.content),s.setSelection(E.near(s.doc.resolve(r.from+i.content.size),-1))):(s.replaceRange(r.from,r.to,new k(o.content,0,0)),s.setSelection(E.near(s.doc.resolve(s.mapping.map(r.to)),-1)))}n(s.scrollIntoView())}return!0}}function xc(){return s({startPendingReplacement:_c,appendPendingReplacementText:vc,acceptPendingReplacement:bc,discardPendingReplacement:yc})}function Sc(){return l({"Mod-Enter":bc(),Escape:yc()})}function Cc(){return b(m(gc),xc(),Sc())}function wc(e){return m(new w({view:()=>({update:(t,n)=>{let r=q.getState(n),i=q.getState(t.state);!i||r===i||(i.pending?i.pending!==r?.pending&&e({type:`update`,pending:i.pending}):i.ended&&i.ended!==r?.ended&&e({type:`ended`,pending:i.ended.pending,outcome:i.ended.outcome}))}})}))}function Tc(e){return e.left===e.right&&e.top===e.bottom}function J(e,t,n){if(t<0||t>e.state.doc.content.size)return;let r;try{r=e.coordsAtPos(t,n)}catch{return}return Tc(r)?void 0:r}function Ec(e){let t=e.dom.ownerDocument.getSelection();if(t==null||t.rangeCount===0||!e.dom.contains(t.anchorNode))return;let n=t.getRangeAt(0).cloneRange();n.collapse(!0);let r=Array.from(n.getClientRects()).filter(e=>e.height>0);if(r.length===0)return;let i=r[r.length-1];return{left:i.left,top:i.top,height:i.height}}function Dc(e){let t=e.state,n=t.selection.head,r=z(t,n),i=B(t,n),a=t.doc.resolve(n),o=a.parentOffset>0&&a.parent.textBetween(a.parentOffset-1,a.parentOffset)===`
|
|
30
|
-
`,s=r==null&&!o,c=[[n,s],[n,!s]];r!=null&&c.push([r.from,!0]),i!=null&&c.push([i.to,!1]);for(let[t,n]of c){let r=
|
|
31
|
-
`,t-1)+1,r=0;for(let i=n;i<t;i++)r+=e.charCodeAt(i)===9?4-r%4:1;return r}function
|
|
29
|
+
`);return n.create(void 0,r?e.text(r):void 0)}function Yr(){return m(new w({key:new T(`meowdown-plain-text-copy`),props:{clipboardTextSerializer:(e,t)=>{let n=M(t.state)===`hide`?Xr(e):e;return Gr(t.state.schema,n,t.state.selection)}}}))}function Xr(e){return new A(Zr(e.content),e.openStart,e.openEnd)}function Zr(e){let t=[];return e.forEach(e=>{t.push(e.isTextblock?$r(e):Qr(e))}),k.from(t)}function Qr(e){return e.childCount>0?e.copy(Zr(e.content)):e}function $r(e){let t=e.type.schema,n=[];for(let r of zn(e)){let e=r.atom;if(e!=null){if(Pn(e,`mdWikilink`)){let r=e.attrs,i=r.display||r.target;i&&n.push(t.text(i))}else n.push(...r.children);continue}for(let e of r.children)Rn(e.marks)||n.push(e)}return e.copy(k.from(n))}function ei(){return b(or(),Yr(),yr(),gr(),Sr())}const R=new Map,ti=new Map,ni={math:`latex`};async function ri(e){let t=R.get(e);if(t!==void 0)return t;let n=Qe.matchLanguageName($e,ni[e]??e,!0);if(!n)return R.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),R.set(e,null),null}return R.set(e,r),r}function ii(e,t){let n=ti.get(e);if(n)return n;let r=nt({parse:e=>t.language.parser.parse(e.content),highlighter:et});return ti.set(e,r),r}const ai=e=>{let t=e.language?.trim();if(!t)return[];let n=R.get(t);return n===null?[]:n?ii(t,n)(e):ri(t).then(()=>void 0)};function oi(){return le({parser:ai,nodeTypes:[`codeBlock`]})}function si(e,t){let n=t.language.parser.parse(e),r=[];return tt(n,et,(e,t,n)=>{r.push([e,t,n])}),r}function ci(e,t){let n=t.trim();if(!n)return[];let r=R.get(n);return r===null?[]:r?si(e,r):ri(n).then(t=>t?si(e,t):[])}function li(){return f({type:`codeBlock`,attr:`fenceStyle`,default:null,toDOM:e=>e==null?null:[`data-fence-style`,e],parseDOM:e=>{let t=e.getAttribute(`data-fence-style`);return t===`tilde`||t===`indented`||t===`dollar`?t:null}})}function ui(){return f({type:`codeBlock`,attr:`fenceLength`,default:null,toDOM:e=>e==null?null:[`data-fence-length`,String(e)],parseDOM:e=>{let t=Mn(e.getAttribute(`data-fence-length`));return t!=null&&t>3?t:null}})}function di(e){return{language:e[1]||``,fenceStyle:`tilde`}}function fi(){return ot({regex:/^~~~(\S*)\s$/,type:`codeBlock`,attrs:di})}function pi(){return it({regex:/^~~~(\S*)$/,type:`codeBlock`,attrs:di})}function mi(){return it({regex:/^\$\$$/,type:`codeBlock`,attrs:()=>({language:`math`,fenceStyle:`dollar`})})}function hi(){return b(ce(),li(),ui(),fi(),pi(),mi())}function gi(e,t){return(n,r)=>{if(r){let i=E.create(n.doc,e,t);r(n.tr.setSelection(i))}return!0}}function _i(e,t,n){return(r,i)=>{if(i){let a=E.between(e,t,n);i(r.tr.setSelection(a))}return!0}}function vi(e){return(t,n)=>{if(!e.trim())return!1;let r=Z(e,{nodes:Xc(t.schema)}).content;if(r.childCount===0)return!1;let i=r.childCount===1&&I(r.child(0),`paragraph`)?new A(r,1,1):new A(r,0,A.maxOpen(r).openEnd);if(n){let e=t.tr,r=e.selection;(!y(r)||!r.empty)&&e.setSelection(E.near(r.$from)),n(e.replaceSelection(i).scrollIntoView())}return!0}}function yi(e){return(t,n)=>{if(!e)return!1;let r=t.selection.$from;if(r.parent.type.spec.code)return!1;if(n){let i=r.parentOffset,a=i===0?``:r.parent.textBetween(i-1,i),o=a!==``&&!/\s/u.test(a),s=t.tr.insertText(o?` ${e}`:e);st(s),n(s.scrollIntoView())}return!0}}function bi(){return gt(re({type:`paragraph`}),mt(),_t)}function xi(){return(e,t)=>(t&&t(e.tr.scrollIntoView()),!0)}function Si(){return s({insertMarkdown:vi,insertTrigger:yi,scrollIntoView:xi,selectText:gi,selectTextBetween:_i,turnIntoText:bi})}const Ci=new Set;function wi(e){for(let t of Ci)if(t!==e&&!t.isDestroyed&&t.editable&&t.dragging)return t}function Ti(e,t){let n=e.state.tr;if(t.node){if(e.state.doc.nodeAt(t.node.from)!==t.node.node)return;t.node.replace(n)}else n.deleteSelection();n.docChanged&&e.dispatch(n.setMeta(`uiEvent`,`drop`))}function Ei(e,t,n,r){if(r||n.size===0)return!1;let i=wi(e);if(!i)return!1;let a=i.dragging;if(!a||(ee?t.altKey:t.ctrlKey))return!1;i.dragging=null;let o=e.state.doc;return queueMicrotask(()=>{i.isDestroyed||e.isDestroyed||e.state.doc!==o&&Ti(i,a)}),!1}function Di(){return new w({key:new T(`meowdown-cross-editor-drag`),view:e=>(Ci.add(e),{destroy:()=>{Ci.delete(e)}}),props:{handleDrop:Ei}})}function Oi(){return x(m(Di()),t.high)}const ki=(e,t,n)=>{let{selection:r}=e;return r.empty||n?.composing?!1:(t?.(e.tr.setSelection(E.near(r.$head))),!0)};function Ai(){return x(l({Escape:ki}),t.low)}const ji=new w({props:{decorations:e=>{let{from:t,to:n,empty:r}=e.selection;if(!(r||ve(e).active===0))return O.create(e.doc,[D.inline(t,n,{class:`show`})])}}});function Mi(){return b(he(),me(),m(ji))}function Ni(){return f({type:`doc`,attr:`frontmatter`,default:null})}let Pi=-1,Fi=!1;typeof window<`u`&&(window.addEventListener(`compositionstart`,()=>{Fi=!0},{capture:!0,passive:!0}),window.addEventListener(`compositionend`,()=>{Fi=!1,Pi=Date.now()},{capture:!0,passive:!0}));function Ii(){return Fi||Pi>0&&Date.now()-Pi<=50}function Li(e,t){return t(e.state,e.dispatch,e)}function Ri(e,t){if(t<0||t+1>e.doc.content.size)return;let n=e.doc.resolve(t),r=n.parent.maybeChild(n.index());if(!(r==null||!r.isText))return r.marks}function z(e,t){let n=Ri(e,t);return n!=null&&n.some(e=>Fn.has(e.type.name))}function zi(e,t){if(t<0||t>e.doc.content.size)return!1;let n=e.doc.resolve(t);return n.parent.isTextblock&&!n.parent.type.spec.code}function B(e,t){if(!zi(e,t))return;let n=e.doc.resolve(t).start(),r=t;for(;r>n&&z(e,r-1);)r--;return r<t?{from:r,to:t}:void 0}function V(e,t){if(!zi(e,t))return;let n=e.doc.resolve(t).end(),r=t;for(;r<n&&z(e,r);)r++;return r>t?{from:t,to:r}:void 0}function Bi(e,t){return z(e,t-1)&&z(e,t)}function Vi(e,t){if(!Bi(e,t))return;let n=B(e,t);if(!n)return;let r=V(e,t);if(r)return{from:n.from,to:r.to}}function Hi(e,t,n){let r=Ri(e,t);return r!=null&&n.isInSet(r)}function Ui(e,t){let n=Ri(e,t);if(n==null)return;let r=g(e.schema,`mdPack`),i=n.filter(e=>e.type===r);if(i.length===0)return;let a=e.doc.resolve(t),o=a.start(),s=a.end(),c;for(let n of i){let r=t;for(;r>o&&Hi(e,r-1,n);)r--;let i=t+1;for(;i<s&&Hi(e,i,n);)i++;(c==null||i-r<c.to-c.from)&&(c={from:r,to:i})}return c}function Wi(e,t,n){let r=Ui(e,n===`from`?t.from:t.to-1);return r==null?!1:n===`from`?r.from===t.from:r.to===t.to}function Gi(e,t,n){let r=Wi(e,t,`from`),i=Wi(e,t,`to`);return r&&!i?t.from:i&&!r?t.to:n-t.from<=t.to-n?t.from:t.to}function Ki(e,t,n,r){if(!zi(e,n))return n;let i=Vi(e,n);if(i!=null)return r?Gi(e,i,n):n>=t?i.to:i.from;if(!r)return n;let a=B(e,n);if(a!=null&&Wi(e,a,`from`))return a.from;let o=V(e,n);return o!=null&&Wi(e,o,`to`)?o.to:n}function qi(e,t){if(!zi(e,t))return;let n=z(e,t-1),r=z(e,t);if(n!==r)return r?`left`:`right`}function Ji(e,t){let n=Ui(e,t);if(n==null)return[];let r=V(e,n.from),i=B(e,n.to),a=[];return i!=null&&a.push(i),r!=null&&(i==null||r.from!==i.from)&&a.push(r),a}const Yi=new T(`meowdown-hidden-run-snap`),Xi=new T(`meowdown-hidden-run-beforeinput`);function Zi(){return new w({key:Yi,appendTransaction:(e,t,n)=>{if(Ii()||M(n)!==`hide`)return null;let r=n.selection;if(!y(r))return null;let i=e.some(e=>e.getMeta(`pointer`)!=null);if(r.empty){let e=Ki(n,t.selection.head,r.head,i);return e===r.head?null:n.tr.setSelection(E.create(n.doc,e))}let a=Vi(n,r.from)?.from??r.from,o=Vi(n,r.to)?.to??r.to;if(a===r.from&&o===r.to)return null;let s=r.anchor===r.from?a:o,c=r.head===r.from?a:o;return n.tr.setSelection(E.create(n.doc,s,c))}})}const Qi=(e,t)=>{if(M(e)!==`hide`)return!1;let n=e.selection;if(!y(n)||!n.empty)return!1;let r=Ki(e,n.head,n.head,!0);return r===n.head||t?.(e.tr.setSelection(E.create(e.doc,r))),!1};function $i(e){return(t,n)=>{if(M(t)!==`hide`)return!1;let r=t.selection;if(!y(r)||!r.empty)return!1;let i=r.$head;if(!i.parent.isTextblock||i.parent.type.spec.code)return!1;let a=e===-1?B(t,r.head):V(t,r.head);if(a==null)return!1;let o=Ji(t,e===-1?a.to-1:a.from),s=t.tr;if(o.length===0)s.delete(a.from,a.to);else for(let e of o)s.delete(e.from,e.to);return n?.(s),!0}}const ea=$i(-1),ta=$i(1);function na(){return new w({key:Xi,props:{handleDOMEvents:{beforeinput:(e,t)=>{if(e.composing)return!1;let n=t.inputType===`deleteContentBackward`?ea:t.inputType===`deleteContentForward`?ta:void 0;return n==null||!Li(e,n)?!1:(t.preventDefault(),!0)}}}})}function ra(){return b(m(Zi()),m(na()),x(l({Enter:Qi,Backspace:ea,Delete:ta}),t.highest))}function ia(){return f({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function aa(){return b(vt(),ia())}function oa(){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 sa(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function ca(e,t){let[n,r,i]=t;return[n,r,i.map(t=>Ke.fromJSON(e,t))]}function la(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 ua(e,t){let n=e.content.size,r;for(let[i,a,o]of t){if(i>=a)continue;let t=Math.max(0,Math.min(i,n)),s=Math.max(t,Math.min(a,n));if(t>=s)continue;let c=Ke.setFrom(o);e.nodesBetween(t,s,(n,i)=>{if(!n.isText)return!0;let a=Math.max(t,i),o=Math.min(s,i+n.nodeSize);if(a>=o||la(n.marks,c))return!1;r??=new Dt(e);for(let e of n.marks)r.removeMark(a,o,e);for(let e of c)r.addMark(a,o,e);return!1})}return Et.ok(r?.doc??e)}function da(e,t){let n=e.content.size,r=[...t].filter(([e,t])=>e<t&&e<n).sort((e,t)=>e[0]-t[0]);if(r.length===0)return Et.ok(e);let i=r.map(([,,e])=>Ke.setFrom(e)),a=Math.max(0,r[0][0]),o=0;for(let[,e]of r)e>o&&(o=e);if(o=Math.min(o,n),a>=o)return Et.ok(e);let s=0;function c(e,t){let n=t+e.nodeSize;for(;s<r.length&&r[s][1]<=t;)s++;let a=[],o=t,c=!1;for(let t=s;t<r.length;t++){let[s,l]=r[t];if(s>=n)break;let u=Math.max(s,o),d=Math.min(l,n);if(u>=d)continue;u>o&&a.push({from:o,to:u,marks:void 0});let f=i[t],p=!la(e.marks,f);p&&(c=!0),a.push({from:u,to:d,marks:p?f:void 0}),o=d}if(c)return o<n&&a.push({from:o,to:n,marks:void 0}),a.map(n=>{let r=e.cut(n.from-t,n.to-t);return n.marks==null?r:r.mark(n.marks)})}function l(e,t){let n,r=t;for(let t=0;t<e.childCount;t++){let i=e.child(t),s=r+i.nodeSize,u=i;if(s>a&&r<o){if(i.isText)u=c(i,r)??i;else if(i.childCount>0){let e=l(i,r+1);e!=null&&(u=i.copy(e))}}if(u!==i&&n==null){n=[];for(let r=0;r<t;r++)n.push(e.child(r))}n!=null&&(Array.isArray(u)?n.push(...u):n.push(u)),r=s}return n==null?void 0:k.fromArray(n)}let u=l(e,0);return Et.ok(u==null?e:e.copy(u))}var fa=class e extends Tt{constructor(e){super(),this.chunks=e}apply(e){return this.chunks.length===0?Et.ok(e):this.chunks.length<=32?ua(e,this.chunks):da(e,this.chunks)}invert(e){if(this.chunks.length===0)return pa;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 wt(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(sa)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>ca(t,e)))}};Tt.jsonID(`batchSetMark`,fa);const pa=new fa([]),ma=/^<!--\s*(\{[^}]*\})\s*-->$/,ha=/<!--\s*\{[^}]*\}\s*-->$/;function ga(e){let t=ma.exec(e.trim());if(!t)return;let n;try{n=JSON.parse(t[1])}catch{return}if(!Ee(n))return;let r=_a(n.width),i=_a(n.height);if(!(!r&&!i))return{width:r,height:i}}function _a(e){if(typeof e==`number`&&Number.isFinite(e)&&e>0)return Math.round(e)}function va(e){return`<!-- ${JSON.stringify(e)} -->`}function ya(e){return e.replace(ha,``)}function ba(e){return kt(e)}function xa(e){if(e.length>1024)return!1;let t=e.search(/\S/);return t<0||e.charCodeAt(t)!==91?!1:e.includes(`]:`,t+1)}function Sa(e){if(!xa(e))return;let t=Se.parse(e).topNode.firstChild;if(t?.type.id===S.LinkReference&&t.nextSibling==null)return t}function Ca(e){return Ot(e.startsWith(`<`)&&e.endsWith(`>`)?e.slice(1,-1):e)}function wa(e){return e.length<2?``:Ot(e.slice(1,-1))}function Ta(e){let t=Sa(e);if(t==null)return;let n=t.getChild(`LinkLabel`),r=t.getChild(`URL`);if(n==null||r==null)return;let i=ba(e.slice(n.from+1,n.to-1));if(i===``)return;let a=t.getChild(`LinkTitle`);return{key:i,href:Ca(e.slice(r.from,r.to)),title:a==null?``:wa(e.slice(a.from,a.to))}}function Ea(e,t){return e==null?!0:I(e,`tableCell`)||I(e,`tableHeaderCell`)?!1:!I(e,`list`)||e.attrs.kind!==`task`||t>0}function Da(e,t,n){return I(e,`paragraph`)&&Ea(t,n)}const H=new WeakMap;function Oa(e,t,n){if(!Da(e,t,n))return;if(H.has(e))return H.get(e);let r=Ta(e.textContent);return H.set(e,r),r}function ka(e,t,n){return Oa(e,t,n)!=null}function Aa(e){let t=new Map,n=new Set;return e.descendants((e,r,i,a)=>{if(e.type.spec.code)return!1;if(!e.isTextblock)return!0;let o=Oa(e,i,a);return o!=null&&(n.add(e),t.has(o.key)||t.set(o.key,o)),!1}),{definitions:t,nodes:n}}function ja(e,t,n){let r=e.content.size,i=!1;return e.nodesBetween(Math.max(0,t-1),Math.min(r,n+1),(e,t,n,r)=>i||e.type.spec.code?!1:e.isTextblock?(Da(e,n,r)&&(H.has(e)?H.get(e)!=null:xa(e.textContent))&&(i=!0),!1):!0),i}function Ma(e){if(e.steps.some(e=>e instanceof xt&&e.attr===`kind`))return!0;for(let[t,n]of e.mapping.maps.entries()){let r=e.docs[t],i=t+1<e.docs.length?e.docs[t+1]:e.doc,a=!1;if(n.forEach((e,t,n,o)=>{a||=ja(r,e,t)||ja(i,n,o)}),a)return!0}return!1}function Na(e,t,n){return!t.docChanged||!Ma(t)?e:Aa(n)}const Pa=/^(\d+)(?:x(\d+))?$/i;function Fa(e){if(!e)return null;let t=Number.parseInt(e,10);return Number.isSafeInteger(t)&&t>0?t:null}function Ia(e){let t=e.replace(/^!\[\[/,``).replace(/\]\]$/,``),n=t.lastIndexOf(`|`);if(n<0)return{target:t.trim(),display:``,width:null,height:null};let r=t.slice(0,n).trim(),i=t.slice(n+1).trim(),a=Pa.exec(i);if(!a)return{target:r,display:i,width:null,height:null};let o=Fa(a[1]),s=Fa(a[2]);return o==null||a[2]&&s==null?{target:r,display:i,width:null,height:null}:{target:r,display:``,width:o,height:s}}function La(e,t,n){return`![[${e}|${Math.round(t)}x${Math.round(n)}]]`}function Ra(e){let t=e.split(/[?#]/,1)[0],n=t.split(/[/\\]/).findLast(Boolean)??t;try{return decodeURIComponent(n)}catch{return n}}function za(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 Ba(){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 Va(){return d({name:`mdWikilink`,constructor:Ba()})}const Ha=new Map([[S.Emphasis,`mdEm`],[S.StrongEmphasis,`mdStrong`],[S.InlineCode,`mdCode`],[S.Strikethrough,`mdDel`],[S.Highlight,`mdHighlight`],[S.EmphasisMark,`mdMark`],[S.CodeMark,`mdMark`],[S.LinkMark,`mdMark`],[S.StrikethroughMark,`mdMark`],[S.HighlightMark,`mdMark`],[S.URL,`mdLinkUri`],[S.LinkTitle,`mdLinkTitle`],[S.Hashtag,`mdTag`],[S.WikilinkMark,`mdMark`]]);function Ua(e,t,n){return Wa(e,t,n)}function Wa(e,t,n,r){let i=Ce(t),a=[];return Ka(i,[],0,t.length,t,e,a,n,r),a}function Ga(e){return e.slice(1,-1).replaceAll(/\\(.)/g,`$1`)}function Ka(e,t,n,r,i,a,o,s,c){let l=n;for(let n=0;n<e.length;n++){let r=e[n];if(r.from>l&&U(o,l,r.from,t),r.type===S.Image){let u=ro(r,e[n+1],i);io(r,t,i,a,o,s,c,u),u&&n++,l=u?u.to:r.to;continue}qa(r,t,i,a,o,s,c),l=r.to}l<r&&U(o,l,r,t)}function qa(e,t,n,r,i,a,o){switch(e.type){case S.Link:return Xa(e,t,n,r,i,a,o);case S.Wikilink:return oo(e,t,n,r,i);case S.WikiEmbed:return so(e,t,n,r,i,a);case S.InlineMath:return ao(e,t,n,r,i);case S.URL:return Ya(e,t,n,r,i);default:return Ja(e,t,n,r,i,a,o)}}function Ja(e,t,n,r,i,a,o){let s=e.type,c;s===S.Emphasis?c=`italic`:s===S.StrongEmphasis?c=`bold`:s===S.InlineCode?c=`code`:s===S.Strikethrough?c=`strike`:s===S.Highlight?c=`highlight`:s===S.Autolink&&(c=`autolink`);let l=c?[...t,r.mdPack.create({key:c})]:t,u=Ha.get(s),d=u?[...l,r[u].create()]:l;e.children.length===0?U(i,e.from,e.to,d):Ka(e.children,d,e.from,e.to,n,r,i,a,o)}function Ya(e,t,n,r,i){let a=be(n.slice(e.from,e.to)),o=a?r.mdLinkText.create({href:a}):r.mdLinkUri.create();U(i,e.from,e.to,[...t,o])}function Xa(e,t,n,r,i,a,o){let s=Za(e),c=Qa(s,n,o);if(c==null){$a(e,t,n,r,i,a,o);return}let l=to(s,c,t,n,r,a);if(l){U(i,e.from,e.to,l);return}no(e,s,c,t,n,r,i,a,o)}function Za(e){let t=-1,n=-1,r=null,i=null,a=null,o=0,s=0;for(let c of e.children){let e=c.type;e===S.LinkMark?(s++,o++,o===1&&(t=c.to),o===2&&(n=c.from)):r==null&&e===S.URL?r=c:i==null&&e===S.LinkTitle?i=c:a==null&&e===S.LinkLabel&&(a=c)}return{labelFrom:t,labelTo:n,urlNode:r,titleNode:i,referenceLabelNode:a,linkMarkCount:s}}function Qa(e,t,n){if(e.linkMarkCount>=3)return{href:e.urlNode==null?``:t.slice(e.urlNode.from,e.urlNode.to),title:e.titleNode==null?``:Ga(t.slice(e.titleNode.from,e.titleNode.to)),isReference:!1};if(e.labelFrom<0||e.labelTo<0||n?.isReferenceDefinition===!0)return;let r=t.slice(e.labelFrom,e.labelTo),i=ba(e.referenceLabelNode==null?r:t.slice(e.referenceLabelNode.from+1,e.referenceLabelNode.to-1)||r);if(i===``)return;n?.referencedKeys?.add(i);let a=n?.referenceDefinitions?.get(i);if(a!=null)return{href:a.href,title:a.title,isReference:!0}}function $a(e,t,n,r,i,a,o){Ka(e.children.filter(e=>e.type!==S.LinkMark&&e.type!==S.LinkLabel),t,e.from,e.to,n,r,i,a,o)}function eo(e){let t=e.split(/[?#]/,1)[0],n=t.split(/[/\\]/).findLast(Boolean)??t;try{return decodeURIComponent(n)}catch{return n}}function to(e,t,n,r,i,a){let o=a?.resolveFileLink;if(!o)return;let{labelFrom:s,labelTo:c}=e;if(s<0||c<0)return;let{href:l,title:u}=t;if(!l)return;let d=r.slice(s,c);if(!o({href:l,label:d,title:u}))return;let f=d||eo(l);return[...n,i.mdFile.create({href:l,name:f,title:u})]}function no(e,t,n,r,i,a,o,s,c){let{labelTo:l}=t,{href:u,title:d,isReference:f}=n,p=a.mdLinkText.create({href:u}),m=e=>l>=0&&e<l,h=f?{href:u,title:d,reference:!0}:{href:u,title:d},g=a.mdPack.create({key:`link`,data:h}),_=[...r,g],v=e.from;for(let t of e.children){if(t.from>v){let e=m(v)?[..._,p]:_;U(o,v,t.from,e)}let e=m(t.from)?[..._,p]:_;if(t.type===S.Wikilink){oo(t,e,i,a,o),v=t.to;continue}if(t.type===S.WikiEmbed){so(t,e,i,a,o,s),v=t.to;continue}if(t.type===S.Image){io(t,e,i,a,o,s,c),v=t.to;continue}if(f&&t.type===S.LinkLabel){U(o,t.from,t.to,[...e,a.mdMark.create()]),v=t.to;continue}let n=Ha.get(t.type),r=n?[...e,a[n].create()]:e;t.children.length===0?U(o,t.from,t.to,r):Ka(t.children,r,t.from,t.to,i,a,o,s,c),v=t.to}v<e.to&&U(o,v,e.to,_)}function ro(e,t,n){if(!t||t.type!==S.Comment||t.from!==e.to)return;let r=ga(n.slice(t.from,t.to));if(r)return{magic:r,to:t.to}}function io(e,t,n,r,i,a,o,s){let c=Qa(Za(e),n,o);if(c==null){$a(e,t,n,r,i,a,o),s!=null&&U(i,e.to,s.to,t);return}let l=e.children.filter(e=>e.type===S.LinkMark),u=c.href,d=l.length>=2?n.slice(l[0].to,l[1].from):``,f=c.title,p=s?.magic.width??null,m=s?.magic.height??null,h=s?.to??e.to;U(i,e.from,h,[...t,r.mdImage.create({src:u,alt:d,title:f,width:p,height:m,syntax:null,wikiTarget:null})])}function ao(e,t,n,r,i){let a=e.children.filter(e=>e.type===S.InlineMathMark);if(a.length<2){U(i,e.from,e.to,t);return}let o=n.slice(a[0].to,a[1].from),s=[...t,r.mdPack.create({key:`math`}),r.mdMath.create({formula:o})];U(i,e.from,a[0].to,[...s,r.mdMark.create()]),U(i,a[0].to,a[1].from,s),U(i,a[1].from,e.to,[...s,r.mdMark.create()])}function oo(e,t,n,r,i){let{target:a,display:o}=za(n.slice(e.from,e.to));U(i,e.from,e.to,[...t,r.mdWikilink.create({target:a,display:o})])}function so(e,t,n,r,i,a){let o=Ia(n.slice(e.from,e.to)),s=a?.resolveWikiEmbed?.(o);if(!s){U(i,e.from,e.to,t);return}if(s.kind===`image`){let n=s.src??o.target,a=(s.alt??o.display)||Ra(o.target);U(i,e.from,e.to,[...t,r.mdImage.create({src:n,alt:a,title:``,width:o.width,height:o.height,syntax:`wikiEmbed`,wikiTarget:o.target})]);return}if(s.kind===`file`){let n=s.href??o.target,a=(s.name??o.display)||Ra(o.target);U(i,e.from,e.to,[...t,r.mdFile.create({href:n,name:a,title:s.title??``})]);return}let c=s.target??o.target,l=s.display??o.display;U(i,e.from,e.to,[...t,r.mdWikilink.create({target:c,display:l})])}function U(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&la(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const co=`inline-marks-applied`,lo=`inline-marks-trigger`,uo=`inline-marks-restyle`,W=new T(`inline-mark`),fo=new Set;let po=0,mo=0;function ho(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 go(e){let t=new WeakMap;function n(e,t){for(let n of e)if(t.has(n))return!0;return!1}function r(e,t){let n=[];for(let[r,i,a]of e)n.push([r+t,i+t,a]);return n}function i(i,a,o,s,c,l){let u=t.get(i),d;if(u?.isReferenceDefinition===l&&!n(u.referencedKeys,c))mo++,d=u.chunks;else{po++;let n=new Set;d=Wa(Jc(o),i.textContent,e,{referenceDefinitions:s.definitions,isReferenceDefinition:l,referencedKeys:n}),t.set(i,{isReferenceDefinition:l,referencedKeys:n,chunks:d})}return a===0?d:r(d,a)}function a(e,r,a,o){let s=[],c=[],l=(l,u,d,f)=>{if(l.type.spec.code)return!1;if(!l.isTextblock)return!0;if(l.childCount===0)return!1;let p=t.get(l),m=u<=r.to&&u+l.nodeSize>=r.from,h=p==null||n(p.referencedKeys,o);if(!m&&!h)return!1;let g=i(l,u+1,e.schema,a,o,ka(l,d,f));g.length>0&&s.push(...g);let _=t.get(l);return _!=null&&c.push({position:u,cached:_}),!1};return o.size===0?e.doc.nodesBetween(r.from,r.to,l):e.doc.descendants(l),{chunks:s,processed:c}}function o(e,n){for(let{position:r,cached:i}of n){let n=e.nodeAt(r);n?.isTextblock&&t.set(n,i)}}return new w({key:W,state:{init(e,t){return{references:Aa(t.doc),pendingReferenceKeys:fo}},apply(e,t,n,r){if(e.getMeta(uo)===!0)return t.pendingReferenceKeys.size===0?t:{references:t.references,pendingReferenceKeys:fo};if(e.getMeta(co))return t;let i=Na(t.references,e,r.doc);if(i===t.references)return t;let a=yo(t.references.definitions,i.definitions);return a.size===0?{references:i,pendingReferenceKeys:t.pendingReferenceKeys}:{references:i,pendingReferenceKeys:bo(t.pendingReferenceKeys,a)}}},appendTransaction(e,t,n){for(let t of e)if(t.getMeta(co))return null;let r=e.some(e=>e.getMeta(uo));if(!(r||e.some(e=>e.docChanged||e.getMeta(lo))))return null;let i=W.getState(n)?.references;if(i==null)return null;let s=r?W.getState(t)?.pendingReferenceKeys??fo:fo,{chunks:c,processed:l}=a(n,r?{from:0,to:0}:ho(e,n),i,s);if(c.length===0)return null;let u=n.tr.step(new fa(c));return o(u.doc,l),u.setMeta(co,!0),u.setMeta(`addToHistory`,!1),u},view(e){e.dispatch(_o(e.state));let t,n=e=>{t=void 0,!e.isDestroyed&&(W.getState(e.state)?.pendingReferenceKeys.size??0)!==0&&e.dispatch(e.state.tr.setMeta(uo,!0))};return{update(e,r){let i=W.getState(e.state);if((i?.pendingReferenceKeys.size??0)===0){t!=null&&clearTimeout(t),t=void 0;return}(t==null||W.getState(r)!==i)&&(t!=null&&clearTimeout(t),t=setTimeout(()=>n(e),200))},destroy(){t!=null&&clearTimeout(t)}}}})}function _o(e){return e.tr.setMeta(lo,!0)}function vo(e,t){return e?.href===t?.href&&e?.title===t?.title}function yo(e,t){if(e==null)return new Set(t.keys());let n=new Set;for(let[r,i]of e)vo(i,t.get(r))||n.add(r);for(let[r,i]of t)vo(i,e.get(r))||n.add(r);return n}function bo(e,t){if(e.size===0)return t;let n=new Set(e);for(let e of t)n.add(e);return n}function xo(e){return m(go(e))}function So(){return u({name:`mdImage`,inclusive:!1,attrs:{src:{default:``},alt:{default:``},title:{default:``},width:{default:null},height:{default:null},syntax:{default:null},wikiTarget:{default:null}},toDOM:()=>[`span`,{class:`md-image`},0],parseDOM:[{tag:`span.md-image`}]})}function Co(){return u({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function wo(){return u({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function To(){return u({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function Eo(){return u({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function Do(){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 Oo(){return u({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function ko(){return u({name:`mdLinkTitle`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-title`},0],parseDOM:[{tag:`span.md-link-title`}]})}function Ao(){return u({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function jo(){return u({name:`mdHighlight`,toDOM:()=>[`mark`,0],parseDOM:[{tag:`mark`}]})}function Mo(){return u({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function No(){return u({name:`mdWikilink`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink`},0],parseDOM:[{tag:`span.md-wikilink`}]})}function Po(){return u({name:`mdFile`,inclusive:!1,attrs:{href:{default:``},name:{default:``},title:{default:``}},toDOM:()=>[`span`,{class:`md-file`},0],parseDOM:[{tag:`span.md-file`}]})}function Fo(){return u({name:`mdMath`,inclusive:!1,attrs:{formula:{default:``}},toDOM:()=>[`span`,{class:`md-math`},0],parseDOM:[{tag:`span.md-math`}]})}function Io(){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 Lo(){return b(Co(),wo(),To(),Eo(),Do(),Oo(),ko(),Ao(),jo(),Mo(),No(),So(),Po(),Fo(),Io())}const G={em:{node:S.Emphasis,delim:`*`},strong:{node:S.StrongEmphasis,delim:`**`},code:{node:S.InlineCode,delim:"`"},del:{node:S.Strikethrough,delim:`~~`},highlight:{node:S.Highlight,delim:`==`}},Ro=new Set([S.EmphasisMark,S.CodeMark,S.LinkMark,S.StrikethroughMark,S.HighlightMark]);function zo(e){return[e.children[0],e.children.at(-1)]}function Bo(e){let{type:t,children:n}=e;if(t===S.Emphasis||t===S.StrongEmphasis||t===S.Strikethrough||t===S.Highlight)return[n[0].to,n.at(-1).from];if(t===S.Link||t===S.Image){let e=n.find((e,t)=>t>0&&e.type===S.LinkMark);return e?[n[0].to,e.from]:null}return null}function Vo(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=Bo(r);return i&&i[0]<=t&&n<=i[1]?Vo(r.children,t,n):Vo(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function Ho(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return Ho(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}function Uo(e,t,n){for(;t<n&&C(e.charCodeAt(t));)t++;for(;n>t&&C(e.charCodeAt(n-1));)n--;return[t,n]}function Wo(e,t,n,r){let i=ye(Ce(e),e=>e.type===r.node||Ro.has(e.type));for(let r=t;r<n;r++)if(!C(e.charCodeAt(r))&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function Go(e,t,n,r,i){let a=Ce(e),o=ye(a,e=>e.type===r.node);return i?Jo(e,o,t,n):Ko(e,a,o,t,n,r)}function Ko(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=Vo(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]=zo(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=qo(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function qo(e,t,n,r,i){if(i.node!==S.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(wr(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function Jo(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=zo(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=Ho(a.children.slice(1,-1),s,c);s>t.to&&C(e.charCodeAt(s-1));)s--;for(;c<o.from&&C(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 Yo(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=Ce(e),o=ye(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=zo(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return Xo(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function Xo(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=Bo(n);return!e||t<e[0]||t>e[1]||Xo(n.children,t)}return!1}function K(e){return(t,n)=>{if(t.selection.empty)return Zo(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]=Uo(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:Wo(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>Go(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(E.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 Zo(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=Yo(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(E.create(o.doc,i+a.pos)),a.kind===`insert`&&(o.insertText(e.delim+e.delim,i+a.pos),o.setSelection(E.create(o.doc,i+a.pos+e.delim.length))),n(o.scrollIntoView())}return!0}function Qo(){return s({toggleEm:()=>K(G.em),toggleStrong:()=>K(G.strong),toggleCode:()=>K(G.code),toggleDel:()=>K(G.del),toggleHighlight:()=>K(G.highlight)})}function $o(){return l({"Mod-b":K(G.strong),"Mod-i":K(G.em),"Mod-e":K(G.code),"Mod-Shift-x":K(G.del),"Mod-Shift-h":K(G.highlight)})}function es(){return b(Qo(),$o())}function ts(e,t,n){let r;return e.doc.nodesBetween(t.from,t.to,(e,i)=>(e.isText&&e.marks.some(e=>Pn(e,n))&&(r={from:Math.max(i,t.from),to:Math.min(i+e.nodeSize,t.to)}),!0)),r}function q(e,t){let n=j(e,t,`mdLinkText`),r=j(e,t,`mdPack`,{key:`link`})??j(e,t,`mdPack`,{key:`autolink`}),i=r??n;if(!i)return;let a=r?.mark.attrs,o=n?.mark.attrs?.href??``;if(!r||a?.key!==`link`){let t={from:i.from,to:i.to};return{unit:t,text:a?.key===`autolink`?ts(e,t,`mdLinkText`)??{from:i.from+1,to:i.to-1}:t,href:o,title:``}}if(a.data.reference===!0){let e=n==null?{from:i.from,to:i.to}:{from:n.from+1,to:n.to};return{unit:{from:i.from,to:i.to},text:e,href:a.data.href,title:a.data.title}}let s=ts(e,i,`mdLinkUri`),c=s?s.from-2:i.to-3,l=s?s.from:i.to-1,u={from:i.from+1,to:c};return{unit:{from:i.from,to:i.to},text:u,label:u,dest:{from:l,to:i.to-1},href:a.data.href,title:a.data.title}}function ns(e){let t=e.trim();return t?be(t)??t:``}function rs(e,t){return e+(t?` "${t.replaceAll(/(["\\])/g,String.raw`\$1`)}"`:``)}function is(e){let{selection:t}=e,{$from:n,$to:r,empty:i}=t;if(i||!n.sameParent(r)||!y(t))return;let a=n.parent;if(!a.isTextblock||a.type.spec.code)return;let o=n.start(),[s,c]=Uo(a.textContent,n.parentOffset,r.parentOffset);if(!(s>=c))return{from:o+s,to:o+c}}function as({href:e,title:t,wrapText:n=!0}={}){return(r,i)=>{let a=is(r);if(!a)return!1;if(i){let{from:o,to:s}=a,c=r.tr,l=`](${rs(ns(e??``),t??``)})`;c.insertText(l,s).insertText(`[`,o);let u=s+1+l.length;c.setSelection(n?E.create(c.doc,o,u):E.create(c.doc,u)),c.scrollIntoView(),i(c)}return!0}}function os(e){return(t,n)=>{let r=q(t,t.selection.from);if(!r?.dest)return!1;let i=rs(ns(e.href??r.href),e.title??r.title);return n&&n(t.tr.insertText(i,r.dest.from,r.dest.to).scrollIntoView()),!0}}function ss(){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 cs(){return s({insertLink:as,updateLink:os,removeLink:ss})}function ls(e){return(t,n,r)=>{let i=q(t,t.selection.from);if(i){if(i.label==null||i.dest==null)return!1;if(n&&r){let{unit:{from:a,to:o}}=i;n(t.tr.setSelection(E.create(t.doc,a,o)).scrollIntoView()),r.focus(),e({from:a,to:o,link:i})}return!0}let a=is(t);if(a){if(n&&r){let{from:i,to:o}=a;n(t.tr.setSelection(E.create(t.doc,i,o)).scrollIntoView()),r.focus(),e({from:i,to:o,link:void 0})}return!0}return!1}}function us(e){return l({"Mod-k":ls(e)})}function ds(e){return e===`)`||e===`*`||e===`+`?e:void 0}function fs(e){return e===`X`?e:void 0}function ps(e){return gs(e)?String(e):void 0}function ms(){return f({type:`list`,attr:`marker`,default:null,splittable:!0,toDOM:e=>{let t=ds(e);return t==null?null:[`data-list-marker`,t]},parseDOM:e=>{let t=e.getAttribute(`data-list-marker`);return t===`)`||t===`*`||t===`+`?t:null}})}function hs(){return f({type:`list`,attr:`taskMarker`,default:null,splittable:!0,toDOM:e=>{let t=fs(e);return t==null?null:[`data-list-task-marker`,t]},parseDOM:e=>e.getAttribute(`data-list-task-marker`)===`X`?`X`:null})}function gs(e){return e===2||e===3||e===4}function _s(){return f({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>{let t=ps(e);return t==null?null:[`data-list-marker-gap`,t]},parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return gs(t)?t:1}})}function vs(e){let t=e.attrs;return{...Nt(e),"data-list-marker":ds(t.marker),"data-list-task-marker":fs(t.taskMarker),"data-list-marker-gap":ps(t.markerGap)}}function ys(){return o({serializeFragmentWrapper:e=>(...t)=>bs(It(e(...t))),serializeNodeWrapper:e=>(...t)=>{let n=e(...t);return we(n)?bs(It(n)):n},nodesFromSchemaWrapper:e=>(...t)=>({...e(...t),list:e=>Lt({node:e,nativeList:!0,getAttributes:vs})})})}function bs(e){we(e)&&xs(e);for(let t of e.children)bs(t);return e}function xs(e){if(!e.classList.contains(`prosemirror-flat-list`)||e.getAttribute(`data-list-kind`)!==`task`||e.children.length!==2)return;let t=e.children.item(0);if(!t||!t.classList.contains(`list-marker`))return;let n=Pt(t);if(!n)return;let r=e.children.item(1);if(!r||!r.classList.contains(`list-content`))return;let i=r.children.item(0);!i||![`P`,`H1`,`H2`,`H3`,`H4`,`H5`,`H6`].includes(i.tagName)||(e.replaceChildren(...r.children),i.prepend(n))}const Ss=[zt(/^\s?([*-])\s$/,{kind:`bullet`,collapsed:!1}),zt(/^\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}}),zt(/^\s?\[([\sX]?)\]\s$/i,({match:e})=>({kind:`task`,checked:[`x`,`X`].includes(e[1]),collapsed:!1})),zt(/^\s?\+\s$/,{kind:`task`,marker:`+`,checked:!1,collapsed:!1})];function Cs(){return b(Ss.map(at))}function ws(){return ht({kind:`task`,marker:`+`})}function Ts(){return ht({kind:`task`,marker:null})}function Es(e){let{$from:t}=e.selection;for(let e=t.depth;e>0;e--){let n=t.node(e);if(I(n,`list`))return n.attrs}return null}function Ds(){return(e,t,n)=>{let r=Es(e);return(r?.kind===`task`?r.marker===`+`?Ts():ws():ht({kind:`task`,marker:null,checked:!1}))(e,t,n)}}function Os(){return(e,t,n)=>{let r=Es(e);return pt(r?.kind===`bullet`||r?.kind===`ordered`?{kind:`ordered`,marker:null,checked:!1,collapsed:!1}:{kind:`bullet`,marker:null,checked:!1,collapsed:!1})(e,t,n)}}function ks(){return Mt({isToggleable:Ns})}function As(){return s({cycleCheckableList:Ds,cycleOrderedList:Os,wrapInCircleTask:ws,wrapInSquareTask:Ts,toggleListCollapsed:ks})}function js(){return(e,t,n)=>{let r=Es(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},ht(a)(e,t,n)}}function Ms(){return(e,t,n)=>{let r=Es(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},ht(a)(e,t,n)}}function Ns(e){return I(e,`list`)&&e.attrs.kind===`bullet`&&e.childCount>=2&&e.firstChild?.type!==e.type}const Ps=e=>{let t=e.attrs;return t.kind===`task`?{...t,checked:!t.checked}:Ns(e)?{...t,collapsed:!t.collapsed}:t};function Fs(){return m(()=>[new w({props:{handleDOMEvents:{mousedown:(e,t)=>Ft({view:e,event:t,onListClick:Ps})}}}),At(),new w({props:{transformCopied:Rt}}),jt()])}function Is(){return l({"Mod-Enter":js(),"Mod-Shift-Enter":Ms(),"Mod-.":Mt({isToggleable:Ns}),"Mod-Shift-7":pt({kind:`ordered`,collapsed:!1}),"Mod-Shift-8":pt({kind:`bullet`,collapsed:!1}),"Mod-Shift-9":pt({kind:`task`,checked:!1,collapsed:!1})})}function Ls(){return b(dt(),Fs(),ut(),ct(),ys(),lt(),Cs(),Is(),ms(),hs(),_s(),As())}let Rs;function zs(){return Rs??=import(`./katex-chunk-Ch7kgbXr.js`).then(e=>e.render),Rs}function Bs(e,t,n,r){try{e(n,t,{displayMode:r,throwOnError:!1,output:`mathml`})}catch(e){t.textContent=String(e)}}var Vs=class{#e;#t;#n;#r;constructor(e,t){this.#r=e.attrs.formula,this.#e=document.createElement(`span`),this.#e.className=`md-math-view`,this.#n=document.createElement(`span`),this.#n.className=`md-math-view-preview`,this.#n.dataset.testid=`math-preview`,this.#n.contentEditable=`false`,this.#n.addEventListener(`mousedown`,e=>{e.preventDefault();let n=t.posAtDOM(this.#t,0);if(n<0)return;let r=E.near(t.state.doc.resolve(n),1);t.dispatch(t.state.tr.setSelection(r)),t.focus()}),this.#t=document.createElement(`span`),this.#t.className=`md-math-view-content`,this.#e.appendChild(this.#n),this.#e.appendChild(this.#t),this.#i()}get dom(){return this.#e}get contentDOM(){return this.#t}update(e){let t=e.attrs.formula;return t!==this.#r&&(this.#r=t,this.#i()),!0}ignoreMutation(e){return!this.#t.contains(e.target)}#i(){let e=this.#r;zs().then(t=>{e===this.#r&&Bs(t,this.#n,e,!1)})}};function Hs(){return d({name:`mdMath`,constructor:(e,t)=>new Vs(e,t)})}function Us(e){return e===`left`||e===`center`||e===`right`?e:null}function Ws(){return f({type:`tableCell`,attr:`align`,default:null,toDOM:e=>e?[`data-align`,e]:null,parseDOM:e=>Us(e.getAttribute(`data-align`))})}function Gs(){return f({type:`tableHeaderCell`,attr:`align`,default:null,toDOM:e=>e?[`data-align`,e]:null,parseDOM:e=>Us(e.getAttribute(`data-align`))})}function Ks(e){for(let t=0;t<e.childCount;t++){let n=e.child(t);for(let e=0;e<n.childCount;e++)if(I(n.child(e),`tableHeaderCell`))return t}return 0}function qs(e){return e.child(Ks(e))}function Js(e,t){return t>=e.childCount?null:e.child(t).attrs.align??null}function Ys(e,t,n){if(e.childCount===0)return;let r=qs(e),i=t+1;for(let t=0;t<e.childCount;t++){let a=e.child(t),o=i+1;for(let e=0;e<a.childCount;e++){let t=a.child(e),i=Js(r,e);(t.attrs.align??null)!==i&&n.setNodeMarkup(o,void 0,{...t.attrs,align:i}),o+=t.nodeSize}i+=a.nodeSize}}function Xs(e){let t,n;for(let r of e){if(!r.docChanged)continue;t!=null&&n!=null&&(t=r.mapping.map(t,-1),n=r.mapping.map(n,1));let e=r.mapping;for(let[r,i]of e.maps.entries()){let a=e.slice(r+1);i.forEach((e,r,i,o)=>{let s=a.map(i,-1),c=a.map(o,1);t=t==null?s:Math.min(t,s),n=n==null?c:Math.max(n,c)})}}if(t!=null&&n!=null)return{from:t,to:n}}function Zs(){return new w({key:new T(`table-align-sync`),appendTransaction(e,t,n){if(!e.some(e=>e.docChanged))return;let r=Xs(e);if(!r)return;let i=n.doc,a=Math.max(0,Math.min(r.from,i.content.size)),o=Math.max(a,Math.min(r.to,i.content.size)),s;return i.nodesBetween(a,o,(e,t)=>I(e,`table`)?(s??=n.tr,Ys(e,t,s),!1):!0),s?.docChanged?s:void 0}})}function Qs(){return m(Zs())}function $s(e){let{selection:t}=e;if(Jt(t)){let{$anchorCell:e,$headCell:n}=t,r=e.depth-1,i=e.index(),a=n.index();return{table:e.node(r),tablePos:e.before(r),firstColumn:Math.min(i,a),lastColumn:Math.max(i,a)}}let{$from:n}=t;for(let e=n.depth;e>2;e--){let t=n.node(e).type.name;if(t===`tableCell`||t===`tableHeaderCell`){let t=n.index(e-1);return{table:n.node(e-2),tablePos:n.before(e-2),firstColumn:t,lastColumn:t}}}}function ec(e){return(t,n)=>{let r=$s(t);if(!r||r.table.childCount===0)return!1;if(n){let{table:i,tablePos:a,firstColumn:o,lastColumn:s}=r,c=Ks(i),l=a+1;for(let e=0;e<c;e++)l+=i.child(e).nodeSize;let u=i.child(c),d=t.tr,f=l+1;for(let t=0;t<u.childCount;t++){let n=u.child(t);t>=o&&t<=s&&(n.attrs.align??null)!==e&&d.setNodeMarkup(f,void 0,{...n.attrs,align:e}),f+=n.nodeSize}n(d)}return!0}}function tc(e){let t=$s(e);if(!(!t||t.table.childCount===0))return Js(qs(t.table),t.lastColumn)??void 0}function nc(){return s({setTableColumnAlign:ec})}function rc(){return b(Ws(),Gs(),Qs(),nc())}function ic(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 ac=`paragraph`;function oc(){return b(p({name:`tableCell`,content:ac}),p({name:`tableHeaderCell`,content:ac}))}const sc=(e,t)=>{let{selection:n}=e;return!Jt(n)||!n.isColSelection()||!n.isRowSelection()?!1:qt(e,t)};function cc(){return x(l({Backspace:sc,Delete:sc}),t.high)}function lc(){return b(Kt(),Gt(),Bt(),Wt(),oc(),rc(),Ut({allowTableNodeSelection:!0}),Vt(),Ht(),cc())}function uc(e){let{selection:t}=e,{$from:n,$to:r}=t;if(ne(t)&&n.depth===0||n.depth>0&&r.depth>0&&n.index(0)===r.index(0))return n.index(0)}function dc(e){return(t,n)=>{if(ic(t))return!1;let r=uc(t);if(r==null)return!1;let i=r+e;if(i<0||i>=t.doc.childCount)return!1;if(n){let{selection:a}=t,o=Math.min(r,i),s=a.$from.posAtIndex(o,0),c=t.doc.child(o),l=t.doc.child(o+1),u=t.tr.replaceWith(s,s+c.nodeSize+l.nodeSize,[l,c]),d=e===-1?-c.nodeSize:l.nodeSize,f=ne(a)?Pe.create(u.doc,a.from+d):E.create(u.doc,a.anchor+d,a.head+d);u.setSelection(f),n(u.scrollIntoView())}return!0}}function fc(e){return(t,n,r)=>ft(e)(t,n,r)||dc(e===`up`?-1:1)(t,n,r)}function pc(){return l({"Alt-ArrowUp":fc(`up`),"Alt-ArrowDown":fc(`down`)})}const J=new T(`meowdownPendingReplacement`);function mc(e){return J.getState(e)?.pending??null}function hc(e,t){switch(e.type){case`start`:return{pending:{from:e.from,to:e.to,mode:e.mode,text:``}};case`append`:return t.pending?{pending:{...t.pending,text:t.pending.text+e.text}}:t;case`accept`:return t.pending?{pending:null,ended:{pending:t.pending,outcome:`accepted`}}:t;case`discard`:return t.pending?{pending:null,ended:{pending:t.pending,outcome:`discarded`}}:t}}const gc=new w({key:J,state:{init:()=>({pending:null}),apply:(e,t)=>{let n=e.getMeta(J);if(n)return hc(n,t);if(e.docChanged&&t.pending){let n=e.mapping.mapResult(t.pending.from,1),r=e.mapping.mapResult(t.pending.to,-1),i=Math.min(n.pos,r.pos),a=Math.max(n.pos,r.pos);return(n.deletedAfter&&r.deletedBefore||i>=a)&&t.pending.mode===`replace`?{pending:null,ended:{pending:t.pending,outcome:`discarded`}}:{pending:{...t.pending,from:i,to:a}}}return t}},props:{decorations:e=>{let t=mc(e);return!t||t.from>=t.to?null:O.create(e.doc,[D.inline(t.from,t.to,{class:`md-pending-replacement`})])}}});function _c(e){return(t,n)=>{let{from:r,to:i,mode:a}=e;return r<0||i>t.doc.content.size||r>i||r===i&&a===`replace`?!1:(n?.(t.tr.setMeta(J,{type:`start`,from:r,to:i,mode:a})),!0)}}function vc(e){return(t,n)=>mc(t)?(n?.(t.tr.setMeta(J,{type:`append`,text:e})),!0):!1}function yc(){return(e,t)=>mc(e)?(t?.(e.tr.setMeta(J,{type:`discard`})),!0):!1}function bc(e={}){return(t,n)=>{let r=mc(t);if(!r||!r.text.trim())return!1;if(n){let i=e.mode??r.mode,a=Xc(t.schema),o=Z(r.text,{nodes:a}),s=t.tr;if(s.setMeta(J,{type:`accept`}),i===`append`){let e=t.doc.resolve(r.to).after(1);s.insert(e,o.content),s.setSelection(E.near(s.doc.resolve(e+o.content.size),-1))}else{let e=t.doc.resolve(r.from),n=t.doc.resolve(r.to),i=o.childCount===1?o.firstChild:null;i!=null&&I(i,`paragraph`)&&e.sameParent(n)&&e.parent.isTextblock?(s.replaceWith(r.from,r.to,i.content),s.setSelection(E.near(s.doc.resolve(r.from+i.content.size),-1))):(s.replaceRange(r.from,r.to,new A(o.content,0,0)),s.setSelection(E.near(s.doc.resolve(s.mapping.map(r.to)),-1)))}n(s.scrollIntoView())}return!0}}function xc(){return s({startPendingReplacement:_c,appendPendingReplacementText:vc,acceptPendingReplacement:bc,discardPendingReplacement:yc})}function Sc(){return l({"Mod-Enter":bc(),Escape:yc()})}function Cc(){return b(m(gc),xc(),Sc())}function wc(e){return m(new w({view:()=>({update:(t,n)=>{let r=J.getState(n),i=J.getState(t.state);!i||r===i||(i.pending?i.pending!==r?.pending&&e({type:`update`,pending:i.pending}):i.ended&&i.ended!==r?.ended&&e({type:`ended`,pending:i.ended.pending,outcome:i.ended.outcome}))}})}))}function Tc(e){return e.left===e.right&&e.top===e.bottom}function Y(e,t,n){if(t<0||t>e.state.doc.content.size)return;let r;try{r=e.coordsAtPos(t,n)}catch{return}return Tc(r)?void 0:r}function Ec(e){let t=e.dom.ownerDocument.getSelection();if(t==null||t.rangeCount===0||!e.dom.contains(t.anchorNode))return;let n=t.getRangeAt(0).cloneRange();n.collapse(!0);let r=Array.from(n.getClientRects()).filter(e=>e.height>0);if(r.length===0)return;let i=r[r.length-1];return{left:i.left,top:i.top,height:i.height}}function Dc(e){let t=e.state,n=t.selection.head,r=B(t,n),i=V(t,n),a=t.doc.resolve(n),o=a.parentOffset>0&&a.parent.textBetween(a.parentOffset-1,a.parentOffset)===`
|
|
30
|
+
`,s=r==null&&!o,c=[[n,s],[n,!s]];r!=null&&c.push([r.from,!0]),i!=null&&c.push([i.to,!1]);for(let[t,n]of c){let r=Y(e,t,n?-1:1);if(r!=null&&r.bottom>r.top)return{left:r.left,top:r.top,height:r.bottom-r.top}}}function Oc(e){let t=e.state,n=t.selection.head;for(let r of cn){let i=j(t,n,r);if(i==null||i.from!==n&&i.to!==n)continue;let a=Ac(e,i.from+1);if(a==null)continue;let o=Array.from(a.getClientRects()).filter(e=>e.height>0);if(o.length===0)continue;let s=i.to===n,c=s?o[o.length-1]:o[0];return{left:s?c.right:c.left,top:c.top,height:c.height}}}function kc(e,t,n){let r=e.state;for(let i of cn){let a=j(r,t,i);if(a==null)continue;let o=Ac(e,a.from+1);if(o==null)continue;let s=Array.from(o.getClientRects()).filter(e=>e.height>0);if(s.length!==0)return n===1?s[0]:s[s.length-1]}}function Ac(e,t){let{node:n}=e.domAtPos(t,0);return(n instanceof Element?n:n.parentElement)?.closest(`.md-atom-view`)?.querySelector(`.md-atom-view-preview`)??void 0}function jc(e){return Dc(e)??Oc(e)}const Mc=new T(`meowdown-scroll-to-selection`);function Nc(e){let t=e.state.selection;if(!y(t)||Y(e,t.head,1)!=null)return!1;let n=jc(e);if(n==null)return!1;let r=e.domAtPos(t.head).node;return Lc(e,{left:n.left,right:n.left,top:n.top,bottom:n.top+n.height},r),!0}function X(e,t){return typeof e==`number`?e:e[t]}function Pc(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11?t.host:t}function Fc(e){let t=e.defaultView?.visualViewport;return t?{left:0,right:t.width,top:0,bottom:t.height}:{left:0,right:e.documentElement.clientWidth,top:0,bottom:e.documentElement.clientHeight}}function Ic(e){let t=e.getBoundingClientRect(),n=t.width/e.offsetWidth||1,r=t.height/e.offsetHeight||1;return{left:t.left,right:t.left+e.clientWidth*n,top:t.top,bottom:t.top+e.clientHeight*r}}function Lc(e,t,n){let r=e.someProp(`scrollThreshold`)??0,i=e.someProp(`scrollMargin`)??5,a=e.dom.ownerDocument;for(let e=n;e;){if(e.nodeType!==1){e=Pc(e);continue}let n=e,o=n===a.body,s=o?Fc(a):Ic(n),c=0,l=0;if(t.top<s.top+X(r,`top`)?l=-(s.top-t.top+X(i,`top`)):t.bottom>s.bottom-X(r,`bottom`)&&(l=t.bottom-t.top>s.bottom-s.top?t.top+X(i,`top`)-s.top:t.bottom-s.bottom+X(i,`bottom`)),t.left<s.left+X(r,`left`)?c=-(s.left-t.left+X(i,`left`)):t.right>s.right-X(r,`right`)&&(c=t.right-s.right+X(i,`right`)),c||l)if(o)a.defaultView?.scrollBy(c,l);else{let e=n.scrollLeft,r=n.scrollTop;l&&(n.scrollTop+=l),c&&(n.scrollLeft+=c);let i=n.scrollLeft-e,a=n.scrollTop-r;t={left:t.left-i,top:t.top-a,right:t.right-i,bottom:t.bottom-a}}let u=o?`fixed`:getComputedStyle(n).position;if(/^(?:fixed|sticky)$/.test(u))break;e=u===`absolute`?n.offsetParent:Pc(n)}}function Rc(){return m(new w({key:Mc,props:{handleScrollToSelection:Nc}}))}function zc(e,t){return(n,r)=>{let i=e<0?Fe.atStart(n.doc):Fe.atEnd(n.doc),a=t?E.between(n.selection.$anchor,i.$head):i;return n.selection.eq(a)||r?.(n.tr.setSelection(a).scrollIntoView()),!0}}function Bc(){return l({"Meta-ArrowUp":zc(-1,!1),"Meta-ArrowDown":zc(1,!1),"Shift-Meta-ArrowUp":zc(-1,!0),"Shift-Meta-ArrowDown":zc(1,!0)})}function Vc(e){return m(new w({props:{attributes:e}}))}function Hc(e){return b(ir(),ke(),Ni(),Me(),Oe(),Ls(),er(),lc(),hi(),aa(),oa(),Lo(),Vc({class:`meowdown-content`}),oi(),Oi(),Ai(),pc(),Bc(),xo(e),es(),cs(),Va(),Hs(),rn(e.markMode??`focus`),ei(),Rc(),ra(),bn({marks:cn.map(e=>({name:e,modes:[`hide`,`focus`,`show`]}))}),a(),i(),c(),Ae(),Ne(),je(),Si(),Cc(),Mi())}function Uc(e={}){return Hc(e)}const Wc=De(()=>{let e=Uc().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),Gc=De(()=>r(Wc())),Kc=De(()=>n(Wc())),qc=`meowdown_mark_builders`;function Jc(e){let t=e.cached[qc];if(t)return t;let r=n(e);return e.cached[qc]=r,r}const Yc=`meowdown_node_builders`;function Xc(e){let t=e.cached[Yc];if(t)return t;let n=r(e);return e.cached[Yc]=n,n}function Z(e,t={}){let{nodes:n=Gc(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=Qc(e);i=t,n&&(a=e.slice(n))}let o=$c(n,xe.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const Zc=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function Qc(e){let t=Zc.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function $c(e,t,n){let r=[];if(!t.firstChild())return r;let i;do i!=null&&el(r,e,n,i,t.from),i=t.to,r.push(...tl(e,t,n));while(t.nextSibling());return t.parent(),r}function el(e,t,n,r,i){let a=0;for(let e=r;e<i;e++)n.charCodeAt(e)===10&&a++;for(let n=2;n<a;n++)e.push(t.paragraph())}function tl(e,t,n){switch(t.type.id){case S.ATXHeading1:return[Q(e,t,n,1,!1)];case S.ATXHeading2:return[Q(e,t,n,2,!1)];case S.ATXHeading3:return[Q(e,t,n,3,!1)];case S.ATXHeading4:return[Q(e,t,n,4,!1)];case S.ATXHeading5:return[Q(e,t,n,5,!1)];case S.ATXHeading6:return[Q(e,t,n,6,!1)];case S.SetextHeading1:return[Q(e,t,n,1,!0)];case S.SetextHeading2:return[Q(e,t,n,2,!0)];case S.Paragraph:return[sl(e,t,n)];case S.LinkReference:return[sl(e,t,n)];case S.CommentBlock:return[cl(e,t,n)];case S.HTMLBlock:case S.ProcessingInstructionBlock:return[sl(e,t,n)];case S.Blockquote:return[ll(e,t,n)];case S.BulletList:return ul(e,t,n,`bullet`);case S.OrderedList:return ul(e,t,n,`ordered`);case S.FencedCode:case S.CodeBlock:return[ml(e,t,n)];case S.BlockMath:return[hl(e,t,n)];case S.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case S.Table:return[gl(e,t,n)];case S.Task:return[sl(e,t,n)];default:return n.slice(t.from,t.to).trim()===``?[]:(console.warn(`[meowdown] unsupported lezer block "${t.type.name}"`),[sl(e,t,n)])}}function Q(e,t,n,r,i){let a=t.from,o=t.from,s=t.to,c=-1,l=-1;if(t.firstChild()){t.type.id===S.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===S.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=al(n.slice(o,s),$(n,o)).trim(),d=i?nl(n,c,l)||1:null,f=!i&&c>=0&&rl(n,c,l)||null;return e.heading({level:r,setextUnderline:d,closingHashes:f},u)}function nl(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 rl(e,t,n){if(t<0)return 0;let r=0;for(let i=t;i<n;i++)e.charCodeAt(i)===35&&r++;return r}function $(e,t){let n=e.lastIndexOf(`
|
|
31
|
+
`,t-1)+1,r=0;for(let i=n;i<t;i++)r+=e.charCodeAt(i)===9?4-r%4:1;return r}function il(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 al(e,t){return t===0||!e.includes(`
|
|
32
32
|
`)?e:e.split(`
|
|
33
|
-
`).map((e,n)=>n===0?e:
|
|
34
|
-
`)}function
|
|
35
|
-
`).filter(e=>!
|
|
36
|
-
`)}const tu=new T(`meowdown-embed-paste`);function nu(e){let t=e.trim();if(!(!t||/\s/.test(t)))return $l(t)?t:void 0}function ru(e,t){let{from:n,to:r}=e.state.selection;e.dispatch(Xt(e.state.tr.insertText(t,n,r)));let i=e.state.tr.insertText(``,n,n+t.length);e.dispatch(Xt(i))}function iu(){return m(new w({key:tu,props:{handlePaste:(e,t,n)=>{let r=e.state.selection.$from.parent;if(!r.inlineContent||r.type.spec.code)return!1;let i=eu(t,n);if(!i)return!1;let a=nu(i);return a?(ru(e,a),!0):!1}}}))}const au=new T(`meowdown-exit-boundary`);function ou(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&&Fe.findFrom(a,t))}function su(e,t){let{state:n}=e,{selection:r}=n;return y(r)&&!r.empty||v(r)||r.$from.parent.inlineContent&&!e.endOfTextblock(t<0?`up`:`down`)?!0:ou(n,t)}function cu(e){return new w({key:au,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||su(t,r)||e({direction:r<0?`up`:`down`,event:n})===!1)}}})}function lu(e){return x(m(cu(e)),t.low)}const uu=new T(`meowdown-file-click`);function du(e,t){let n=A(e,t,`mdFile`);if(!n)return;let{href:r,name:i}=n.mark.attrs;return{href:r,name:i}}function fu(e){return m(new w({key:uu,props:{handleClick:(t,n,r)=>{let i=r.target?.closest?.(`.md-file-view-preview`);if(!i)return!1;let a=i.closest(`.md-file-view`)?.querySelector(`.md-file-view-content`);if(!a)return!1;let o=du(t.state,t.posAtDOM(a,0));return o?(e({href:o.href,name:o.name,event:r}),!0):!1}}}))}const pu=new Set([`avif`,`bmp`,`gif`,`jpeg`,`jpg`,`png`,`svg`,`webp`]);function mu(e){if(e.type?.startsWith(`image/`))return!0;let t=e.name.lastIndexOf(`.`);if(t===-1)return!1;let n=e.name.slice(t+1).toLowerCase();return pu.has(n)}function hu(e,t){return mu(e)?``:`[${vu(e.name)}](${t})`}function gu(e,t){return!e||!t.onFilePaste?[]:Array.from(e.files)}const _u=e=>{console.error(`[meowdown] failed to save pasted file:`,e)};function vu(e){return e.replaceAll(/[\\[\]]/g,String.raw`\$&`)}async function yu(e,t,n,r){let{onFilePaste:i}=n;if(!i)return;let a=n.onFileSaveError??_u,o=r,s=!1;for(let n of t){let t;try{t=await i(n)}catch(e){a(e,n);continue}if(!t||e.isDestroyed)continue;let r=hu(n,t),c=s?`\n${r}`:r,l=o==null?e.state.tr.insertText(c):e.state.tr.insertText(c,o);e.dispatch(l),s=!0,o!=null&&(o+=c.length)}}function bu(e){return new w({key:new T(`file-paste`),props:{handlePaste:(t,n)=>{let r=gu(n.clipboardData,e);return r.length===0?!1:(yu(t,r,e),!0)},handleDrop:(t,n)=>{let r=gu(n.dataTransfer,e);return r.length===0?!1:(yu(t,r,e,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function xu(e={}){return x(m(bu(e)),t.high)}const Su=[`KB`,`MB`,`GB`,`TB`];function Cu(e){let t=e,n=`B`;for(let e of Su){if(t<999.5)break;t/=1e3,n=e}return n===`B`?`${Math.round(t)} B`:`${t<9.95?Math.round(t*10)/10:Math.round(t)} ${n}`}const wu=new Map([[`pdf`,`pdf`],[`zip`,`archive`],[`tar`,`archive`],[`gz`,`archive`],[`tgz`,`archive`],[`rar`,`archive`],[`7z`,`archive`],[`doc`,`doc`],[`docx`,`doc`],[`pages`,`doc`],[`xls`,`sheet`],[`xlsx`,`sheet`],[`csv`,`sheet`],[`numbers`,`sheet`],[`ppt`,`slides`],[`pptx`,`slides`],[`key`,`slides`],[`mp3`,`audio`],[`wav`,`audio`],[`m4a`,`audio`],[`flac`,`audio`],[`ogg`,`audio`],[`mp4`,`video`],[`mov`,`video`],[`mkv`,`video`],[`webm`,`video`],[`txt`,`text`],[`md`,`text`]]);function Tu(e){let t=e.split(/[?#]/,1)[0],n=t.lastIndexOf(`.`);if(n<0)return`generic`;let r=t.slice(n+1).toLowerCase();return wu.get(r)??`generic`}const Eu=`http://www.w3.org/2000/svg`;function Du(){let e=document.createElementNS(Eu,`svg`);e.setAttribute(`class`,`md-file-view-icon`),e.setAttribute(`viewBox`,`0 0 24 24`),e.setAttribute(`aria-hidden`,`true`);for(let t of[`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,`M14 2v4a2 2 0 0 0 2 2h4`]){let n=document.createElementNS(Eu,`path`);n.setAttribute(`d`,t),n.setAttribute(`fill`,`none`),n.setAttribute(`stroke`,`currentColor`),n.setAttribute(`stroke-width`,`2`),n.setAttribute(`stroke-linecap`,`round`),n.setAttribute(`stroke-linejoin`,`round`),e.appendChild(n)}return e}var Ou=class{#e;#t;#n;#r;#i;#a;#o=!1;constructor(e,t){this.#a=e.attrs,this.#e=document.createElement(`span`),this.#e.className=`md-file-view md-atom-view`,this.#n=document.createElement(`span`),this.#n.className=`md-file-view-preview md-atom-view-preview`,this.#n.contentEditable=`false`,this.#n.dataset.testid=`file-pill`,this.#n.dataset.fileKind=Tu(this.#a.href),this.#n.title=this.#a.name,this.#e.appendChild(this.#n),this.#n.appendChild(Du()),this.#r=document.createElement(`span`),this.#r.className=`md-file-view-name`,this.#r.textContent=this.#a.name,this.#n.appendChild(this.#r),this.#i=document.createElement(`span`),this.#i.className=`md-file-view-size`,this.#i.dataset.testid=`file-pill-size`,this.#n.appendChild(this.#i),this.#t=document.createElement(`span`),this.#t.className=`md-file-view-content md-atom-view-content`,this.#e.appendChild(this.#t),this.#s(t.resolveFileInfo)}get dom(){return this.#e}get contentDOM(){return this.#t}update(e){let t=e.attrs,n=this.#a;return t.href===n.href?(this.#a=t,t.name!==n.name&&(this.#r.textContent=t.name,this.#n.title=t.name),!0):!1}ignoreMutation(e){return!this.#t.contains(e.target)}destroy(){this.#o=!0}async#s(e){if(!e)return;let t;try{t=await e(this.#a.href)}catch(e){console.error(`[meowdown] resolveFileInfo failed:`,e);return}if(this.#o||!t)return;let{size:n}=t;n==null||!Number.isFinite(n)||n<0||(this.#i.textContent=Cu(n))}};function ku(e={}){return d({name:`mdFile`,constructor:t=>new Ou(t,e)})}function Au(e){return m(new w({key:e.key,props:{handleClick:(t,n,r)=>{let i=r.target?.closest?.(e.selector);if(!i)return!1;let a=e.findPayloadForElement?e.findPayloadForElement(t,i):e.findPayloadAt(t.state,n);return a==null?!1:(e.preventDefault&&r.preventDefault(),e.onClick(a,r),!0)}}}))}const ju=new T(`meowdown-tag-click`);function Mu(e,t){let n=A(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 Nu(e){return Au({key:ju,selector:`.md-tag`,preventDefault:!1,findPayloadAt:(e,t)=>Mu(e,t)?.tag,onClick:(t,n)=>e({tag:t,event:n})})}const Pu=new T(`meowdown-wikilink-click`);function Fu(e,t){let n=A(e,t,`mdWikilink`);if(!n)return;let{target:r}=n.mark.attrs;return{from:n.from,to:n.to,target:r}}function Iu(e,t){let n=t.closest(`.md-wikilink-view`)?.querySelector(`.md-wikilink-view-content`);if(n)return Fu(e.state,e.posAtDOM(n,0))}function Lu(e){return Au({key:Pu,selector:`.md-wikilink-view-preview`,preventDefault:!1,findPayloadAt:(e,t)=>Fu(e,t)?.target,findPayloadForElement:(e,t)=>Iu(e,t)?.target,onClick:(t,n)=>e({target:t,event:n})})}const Ru=new T(`meowdown-follow-link`);function zu(e){return e.key!==`Enter`||e.shiftKey||e.altKey?!1:ee?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}function Bu(e){return new w({key:Ru,props:{handleKeyDown:(t,n)=>{if(!zu(n))return!1;let{state:r}=t,i=r.selection.head,a=e.onWikilinkClick&&Fu(r,i);if(a)return e.onWikilinkClick?.({target:a.target,event:n}),!0;let o=e.onTagClick&&Mu(r,i);if(o)return e.onTagClick?.({tag:o.tag,event:n}),!0;let s=e.onFileClick&&du(r,i);if(s)return e.onFileClick?.({href:s.href,name:s.name,event:n}),!0;let c=e.onLinkClick&&K(r,i);return c?(e.onLinkClick?.({href:c.href,event:n}),!0):!1}}})}function Vu(e){return x(m(Bu(e)),t.high)}const Hu=new T(`meowdown-image-click`);function Uu(e){return e instanceof HTMLElement&&e.closest(`.md-image-view-preview`)}function Wu(e,t){let n=A(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 Gu(e,t){let n=t.closest(`.md-image-view`)?.querySelector(`.md-image-view-content`);if(n)return Wu(e.state,e.posAtDOM(n,0))}function Ku(e,t){return Array.from(e).find(e=>e.identifier===t)}function qu(e,t){return Math.abs(t.clientX-e.clientX)<=10&&Math.abs(t.clientY-e.clientY)<=10}function Ju(e){let t=new WeakMap;return m(new w({key:Hu,props:{handleDOMEvents:{pointerdown:(e,t)=>(Uu(t.target)&&t.pointerType!==`mouse`&&t.preventDefault(),!1),touchstart:(e,n)=>{if(t.delete(e),n.touches.length!==1||!Uu(n.target)||n.target instanceof HTMLElement&&n.target.closest(`.md-image-resize-handle`))return!1;let r=n.changedTouches[0];return r&&t.set(e,{identifier:r.identifier,clientX:r.clientX,clientY:r.clientY}),!1},touchmove:(e,n)=>{let r=t.get(e);if(!r)return!1;let i=Ku(n.changedTouches,r.identifier);return i&&!qu(r,i)&&t.delete(e),!1},touchcancel:e=>(t.delete(e),!1),touchend:(n,r)=>{let i=t.get(n);if(t.delete(n),!i||r.touches.length>0)return!1;let a=Ku(r.changedTouches,i.identifier);if(!a||!qu(i,a))return!1;let o=Uu(r.target);if(!o)return!1;r.preventDefault();let s=Gu(n,o);return s&&e({src:s.src,alt:s.alt,event:r}),!0}},handleClick:(t,n,r)=>{let i=Uu(r.target);if(!i)return!1;let a=Gu(t,i);return a?(e({src:a.src,alt:a.alt,event:r}),!0):!1}}}))}function Yu(e){return/^https?:\/\//i.test(e)?e:void 0}function Xu(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`&&Kl(t),t}function Zu(e,t,n,r){if(n!=null&&r!=null){e.setAttribute(`data-width`,String(n)),e.setAttribute(`data-height`,String(r));return}let i=t.naturalWidth/t.naturalHeight;if(!Number.isFinite(i)||i<=0){n!=null&&e.setAttribute(`data-width`,String(n)),r!=null&&e.setAttribute(`data-height`,String(r));return}let a=n==null?Math.min(t.naturalHeight,500):n/i,o=n??a*i;e.setAttribute(`data-width`,String(Math.round(o))),e.setAttribute(`data-height`,String(Math.round(a)))}function Qu(e,t,n,r){let i=e.posAtDOM(t,0),a=A(e.state,i,`mdImage`);if(!a)return;let o=e.state.doc.textBetween(a.from,a.to),s=a.mark.attrs;if(s.syntax===`wikiEmbed`){let t=s.wikiTarget||La(o).target;if(!t)return;let i=Ra(t,n,r);i!==o&&e.dispatch(e.state.tr.insertText(i,a.from,a.to));return}let c=ba(o),l=a.from+c.length,u=o.slice(c.length),d=ya({..._a(u)??{},width:Math.round(n),height:Math.round(r)});d!==u&&e.dispatch(e.state.tr.insertText(d,l,a.to))}var $u=class{#e;#t;#n;#r;#i;#a;#o;constructor(e,t,n){this.#i=e.attrs,this.#n=n,this.#r=t,this.#e=document.createElement(`span`),this.#e.className=`md-image-view md-atom-view`,this.#t=document.createElement(`span`),this.#t.className=`md-image-view-content md-atom-view-content`;let r=this.#s();r&&(r.contentEditable=`false`,this.#e.appendChild(r)),this.#e.appendChild(this.#t)}get dom(){return this.#e}get contentDOM(){return this.#t}update(e){let t=e.attrs,n=this.#i;return t.src===n.src?(this.#i=t,this.#o&&t.alt!==n.alt&&(this.#o.alt=t.alt),this.#a&&this.#o&&(t.width!==n.width||t.height!==n.height)&&Zu(this.#a,this.#o,t.width,t.height),!0):!1}ignoreMutation(e){return!this.#t.contains(e.target)}#s(){let{src:e}=this.#i,t=$l(e);if(t){let e=document.createElement(`span`);return e.className=`md-image-view-preview md-atom-view-preview`,e.appendChild(Xu(t)),e}let n=(this.#n.resolveImageUrl??Yu)(e);if(!n)return;let r=document.createElement(`span`);return r.className=`md-image-view-preview md-atom-view-preview`,r.dataset.testid=`image-preview`,r.appendChild(this.#c(n)),r}#c(e){Qt(),Zt();let t=document.createElement(`prosekit-resizable-root`);t.className=`md-image-resizable`,t.dataset.testid=`image-resizable`,t.setAttribute(`data-loading`,``);let n=document.createElement(`img`);n.src=e,n.alt=this.#i.alt,n.draggable=!1,Zu(t,n,this.#i.width,this.#i.height),n.addEventListener(`load`,()=>{t.removeAttribute(`data-loading`);let e=n.naturalWidth/n.naturalHeight;!Number.isFinite(e)||e<=0||(t.setAttribute(`data-aspect-ratio`,String(e)),Zu(t,n,this.#i.width,this.#i.height))}),n.addEventListener(`error`,()=>{t.removeAttribute(`data-loading`)}),t.appendChild(n);let r=document.createElement(`prosekit-resizable-handle`);return r.className=`md-image-resize-handle`,r.setAttribute(`position`,`bottom-right`),r.addEventListener(`click`,e=>e.stopPropagation()),t.appendChild(r),t.addEventListener(`resizeEnd`,e=>{let{width:t,height:n}=e.detail;Qu(this.#r,this.#t,t,n)}),this.#a=t,this.#o=n,t}};function ed(e={}){return d({name:`mdImage`,constructor:(t,n)=>new $u(t,n,e)})}const td={"Mod-b":`Bold`,"Mod-i":`Italic`,"Mod-e":`Inline code`,"Mod-Shift-x":`Strikethrough`,"Mod-Shift-h":`Highlight`,"Mod-k":`Link`,"Mod-Shift-k":`Insert a wikilink`,"Mod-1":`Heading 1`,"Mod-2":`Heading 2`,"Mod-3":`Heading 3`,"Mod-4":`Heading 4`,"Mod-5":`Heading 5`,"Mod-6":`Heading 6`,"Mod-.":`Fold or unfold a bullet`,"Mod-Enter":`Follow the link under the caret, or cycle a checkbox task`,"Mod-Shift-Enter":`Cycle a circle checkbox task`,"Mod-Shift-7":`Ordered list`,"Mod-Shift-8":`Bullet list`,"Mod-Shift-9":`Checkbox task list`,"Alt-ArrowUp":`Move the block or list item up`,"Alt-ArrowDown":`Move the block or list item down`,"Meta-ArrowUp":`Move the caret to the document start`,"Meta-ArrowDown":`Move the caret to the document end`,"Shift-Meta-ArrowUp":`Select to the document start`,"Shift-Meta-ArrowDown":`Select to the document end`,Escape:`Collapse the selection`},nd=new T(`meowdown-link-click`);function rd(e){return Au({key:nd,selector:`.md-link`,preventDefault:!0,findPayloadAt:(e,t)=>K(e,t)?.href,onClick:(t,n)=>e({href:t,event:n})})}function id(e){let t,n=(t,n)=>e.findPayloadForElement?e.findPayloadForElement(t,n):e.findPayloadAt(t.state,t.posAtDOM(n,0)),r=()=>{t&&(t=void 0,e.onHoverChange(void 0))},i=(i,a)=>{let o=a.target;if(!o||!we(o))return;let s=o.closest(e.selector);if(!s||!i.dom.contains(s)||s===t?.element)return;r();let c=n(i,s);c!=null&&(t={payload:c,element:s},e.onHoverChange(t))},a=e=>{if(!t)return;let n=e.relatedTarget;n instanceof Node&&t.element.contains(n)||r()};return m(new w({key:e.key,props:{handleDOMEvents:{mouseover:(e,t)=>(i(e,t),!1),mouseout:(e,t)=>(a(t),!1)}},view:()=>({update:i=>{if(!t)return;if(!t.element.isConnected||!i.dom.contains(t.element)){r();return}let a=n(i,t.element);if(a==null||!e.isSamePayload(t.payload,a)){r();return}t={...t,payload:a}},destroy:r})}))}const ad=new T(`meowdown-link-hover`);function od(e){return id({key:ad,selector:`.md-link`,findPayloadAt:(e,t)=>K(e,t),isSamePayload:(e,t)=>e.href===t.href&&e.title===t.title,onHoverChange:e})}const sd=new T(`meowdown-link-paste`);function cd(e){let t=e.trim();if(!(!t||/\s/.test(t)))return be(t)}function ld(){return x(m(new w({key:sd,props:{handlePaste:(e,t,n)=>{let r=eu(t,n);if(!r)return!1;let i=cd(r);return i?Ri(e,os({href:i,wrapText:!1})):!1}}})),t.high)}function ud(e){return e instanceof bt||e instanceof xt||e instanceof Ct||e instanceof wt||e instanceof pa}function dd(e){for(let t of e)for(let e of t.steps)if(!ud(e))return!0;return!1}function fd(e){let t,n,r=!1,i,a=()=>{let n=t&&!t.isDestroyed&&t.dom;if(!n)return;let a=e&&!r;a!==i&&(i=a,n.spellcheck=a)},o=()=>{n&&clearTimeout(n),r=!0,a(),n=setTimeout(()=>{r=!1,a()},1200)};return{pause:o,apply(e){dd(e)&&o()},view(e){return t=e,{destroy(){t=void 0}}}}}function pd(e){let t=new T(`spell-check`);return new w({key:t,state:{init:()=>fd(e),apply:(e,t)=>t},view(e){return t.getState(e.state)?.view(e)||{}},props:{handleDOMEvents:{beforeinput:e=>{t.getState(e.state)?.pause()}}},appendTransaction(e,n){t.getState(n)?.apply(e)}})}function md(e){return m(pd(e))}const hd=[[/<-/,`←`],[/(?<!-)->/,`→`],[/\(c\)/,`©`],[/\(r\)/,`®`],[/1\/2/,`½`],[/\+\/-/,`±`],[/!=/,`≠`],[/<</,`«`],[/>>/,`»`],[/(?<!<!)(?<!^(?:-[ \t]*)+)--/,`—`]],$=new T(`meowdown-substitution-undo`);function gd(e,t,n){let r=g(e.schema,`mdCode`);return e.doc.rangeHasMark(t,n,r)}function _d(e,t,n,r,i){if(gd(e,t,n))return null;let[,a]=r,o=i==null?a:`${a} `,s=e.tr.replaceWith(t,n,e.schema.text(o));return i!=null&&s.setMeta($,{from:t,to:t+o.length,before:i,after:o}),s}function vd(){return b(hd.map(e=>ot(new $t(new RegExp(String.raw`(?:${e[0].source})\s$`),(t,n,r,i)=>_d(t,r,i,e,n[0])))))}function yd(){return m(new w({key:$,state:{init:()=>null,apply:(e,t)=>{let n=e.getMeta($);if(n!==void 0)return n;if(!t)return null;let r=e.mapping.map(t.from),i=e.mapping.map(t.to);return e.selection.empty&&e.selection.from===i&&e.doc.textBetween(r,i)===t.after?{...t,from:r,to:i}:null}}}))}function bd(){return x(l({Backspace:(e,t)=>{let n=$.getState(e);return n?(t?.(e.tr.replaceWith(n.from,n.to,e.schema.text(n.before)).setMeta($,null)),!0):!1}}),t.highest)}function xd(){return b(yd(),bd())}function Sd(){return b(hd.map(e=>it({regex:RegExp(`(?:${e[0].source})$`),handler:({state:t,from:n,to:r})=>_d(t,n,r,e)})))}function Cd(){return b(vd(),xd(),Sd())}const wd=new T(`meowdown-wikilink-hover`);function Td(e){return id({key:wd,selector:`.md-wikilink-view-preview`,findPayloadAt:Fu,findPayloadForElement:Iu,isSamePayload:(e,t)=>e.target===t.target,onHoverChange:t=>{e(t?{...t.payload,element:t.element}:void 0)}})}function Ed(e,t={}){let n=[];return e.content.forEach(e=>{let r=[];e.descendants(e=>{if(!e.isText||!e.text)return!0;let n=e.marks.map(e=>e.type.name);return n.some(e=>In.has(e))&&!(t.preserveMathSource&&n.includes(`mdMath`))||r.push(e.text),!1}),n.push(r.join(``))}),n.join(`
|
|
37
|
-
`)}function
|
|
33
|
+
`).map((e,n)=>n===0?e:il(e,t)).join(`
|
|
34
|
+
`)}function ol(e,t,n){return e.paragraph(al(t,n))}function sl(e,t,n){let r=t.from,i=t.to,a=$(n,r);if(t.firstChild()){let o=``,s=r;do t.type.id===S.QuoteMark&&(o+=n.slice(s,t.from),s=t.to,C(n.charCodeAt(s))&&(s+=1));while(t.nextSibling());return t.parent(),o+=n.slice(s,i),ol(e,o,a)}return ol(e,n.slice(r,i),a)}function cl(e,t,n){let r=$(n,t.from),i=al(n.slice(t.from,t.to),r);return e.htmlComment({content:i})}function ll(e,t,n){let r=[];if(t.firstChild()){let i;do{if(t.type.id===S.QuoteMark)continue;i!=null&&el(r,e,n,i,t.from),i=t.to,r.push(...tl(e,t,n))}while(t.nextSibling());t.parent()}return e.blockquote(r)}function ul(e,t,n,r){let i=[];if(t.firstChild()){do t.type.id===S.ListItem&&i.push(pl(e,t,n,r));while(t.nextSibling());t.parent()}return i}function dl(e,t,n){if(n===`ordered`){let n=t.charCodeAt(e.to-1),r;n===41?r=`)`:n===46&&(r=`.`);let i=Number.parseInt(t.slice(e.from,e.to),10);return{marker:r,order:Number.isFinite(i)?i:1}}let r=t.charCodeAt(e.from);return{marker:r===42?`*`:r===43?`+`:`-`,order:void 0}}function fl(e,t,n){let r=t.from,i=t.to,a=!1,o;if(t.firstChild()){if(t.type.id===S.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()}C(n.charCodeAt(r))&&(r+=1);let s=ol(e,n.slice(r,i),$(n,r));return{checked:a,taskMarker:o,paragraph:s}}function pl(e,t,n,r){let i=[],a,o,s,c,l,u;if(t.firstChild()){do{if(t.type.id!==S.ListMark&&u==null&&(u=$(n,t.from)),t.type.id===S.ListMark){let e=dl(t,n,r);c=e.marker,s=e.order,l=$(n,t.to);continue}if(r===`bullet`&&t.type.id===S.Task){let r=fl(e,t,n);a=r.checked,o=r.taskMarker,i.push(r.paragraph);continue}i.push(...tl(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===`+`,m={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};return e.list(m,i)}function ml(e,t,n){let r=t.type.id===S.CodeBlock,i=``,a=``,o=r?`indented`:null,s=null,c=!1;if(t.firstChild()){do switch(t.type.id){case S.CodeMark:{if(c)break;c=!0,n.charCodeAt(t.from)===126&&(o=`tilde`);let e=t.to-t.from;e>3&&(s=e);break}case S.CodeInfo:i=n.slice(t.from,t.to);break;case S.CodeText:a+=n.slice(t.from,t.to);break}while(t.nextSibling());t.parent()}return e.codeBlock({language:i,fenceStyle:o,fenceLength:s},a)}function hl(e,t,n){let r=``;if(t.firstChild()){do t.type.id===S.CodeText&&(r+=n.slice(t.from,t.to));while(t.nextSibling());t.parent()}return e.codeBlock({language:`math`,fenceStyle:`dollar`,fenceLength:null},r)}function gl(e,t,n){let r=[];if(t.firstChild()){do t.type.id===S.TableDelimiter&&(r=_l(n.slice(t.from,t.to)));while(t.nextSibling());t.parent()}let i=[];if(t.firstChild()){do{let a=t.type.id;a===S.TableHeader?i.push(vl(e,t,n,!0,r)):a===S.TableRow&&i.push(vl(e,t,n,!1,r))}while(t.nextSibling());t.parent()}return e.table(i)}function _l(e){return e.split(`|`).map(e=>e.trim()).filter(e=>e!==``).map(e=>{let t=e.startsWith(`:`),n=e.endsWith(`:`);return t&&n?`center`:t?`left`:n?`right`:null})}function vl(e,t,n,r,i){let a=i.length,o=Array(a).fill(``);if(t.firstChild()){let e=t.type.id===S.TableDelimiter,r=0;do if(t.type.id===S.TableDelimiter)r++;else if(t.type.id===S.TableCell){let i=r-+!!e;i>=0&&i<a&&(o[i]=n.slice(t.from,t.to).trim().replaceAll(String.raw`\|`,`|`))}while(t.nextSibling());t.parent()}let s=o.map((t,n)=>{let a=e.paragraph(t),o={align:i[n]};return r?e.tableHeaderCell(o,a):e.tableCell(o,a)});return e.tableRow(s)}function yl(e){return e.replace(/\n+$/u,``)}function bl(e){return/^[\s>]*$/u.test(e)}function xl(e){return e.split(`
|
|
35
|
+
`).filter(e=>!bl(e))}function Sl(e){return e.trim().replaceAll(/\s+/gu,` `)}const Cl=/^:?-+:?$/u;function wl(e){let t=e.startsWith(`:`),n=e.endsWith(`:`);return t&&n?`:-:`:t?`:--`:n?`--:`:`---`}function Tl(e){if(!e.includes(`|`))return;let t=/^[\s>]*/u.exec(e)?.[0]??``,n=e.slice(t.length).trim().replace(/^\|/u,``).replace(/\|$/u,``).split(`|`).map(e=>Sl(e));return Sl(`${t} | ${(n.every(e=>Cl.test(e))?n.map(wl):n).join(` | `)} |`)}function El(e){return Tl(e)??Sl(e)}function Dl(e,t={}){let n=Tr(Z(e,{frontmatter:t.frontmatter}),{frontmatter:t.frontmatter});if(yl(n)===yl(e))return`exact`;let r=xl(e),i=xl(n);return r.length===i.length&&r.every((e,t)=>El(e)===El(i[t]))?`normalizing`:`lossy`}const Ol=(e,t)=>{let{$from:n,empty:r}=e.selection;if(!r||n.depth!==1||n.index(0)!==0||!I(n.parent,`heading`)||n.parentOffset!==n.parent.content.size)return!1;if(t){let r=_(e.schema,`list`),i=_(e.schema,`paragraph`),a=r.create({kind:`bullet`},i.create()),o=n.after(),s=e.tr.insert(o,a);s.setSelection(E.create(s.doc,o+2)),t(s.scrollIntoView())}return!0};function kl(){return x(l({Enter:Ol}),t.high)}const Al=new Set([`MscGen`,`Xù`,`MsGenny`,`Angular Template`,`Brainfuck`,`Esper`,`Oz`,`Factor`,`Squirrel`,`Yacas`,`mIRC`,`FCL`,`ECL`,`MUMPS`,`Pig`,`Asterisk`,`Z80`,`Mathematica`]),jl=$e.map(e=>({label:e.name,value:e.name.toLowerCase()})).filter(e=>!Al.has(e.label)).concat([{label:`Plain text`,value:``},{label:`Math`,value:`math`},{label:`Mermaid`,value:`mermaid`}]).sort((e,t)=>e.label.localeCompare(t.label));function Ml(){return typeof window>`u`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}const Nl=/^(?:www\.|mobile\.)?(?:twitter\.com|x\.com)$/i,Pl=/\/status(?:es)?\/(\d+)/;function Fl(e){let t;try{t=new URL(e)}catch{return}if(Nl.test(t.hostname))return Pl.exec(t.pathname)?.[1]}const Il=e=>{let t=Fl(e);if(!t)return;let n=Ml()?`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 Ll(e,t){let n=n=>{if(n.source===e.contentWindow)try{let r=n.data?.[`twttr.embed`]?.params?.[0]?.height;typeof r==`number`&&r>0&&(Rl(e,r),t?.(r))}catch(e){console.warn(`[meowdown] failed to parse tweet resize message:`,e)}};window.addEventListener(`message`,n);let r=!1,i=()=>{r||(r=!0,window.removeEventListener(`message`,n),a.disconnect())},a=new MutationObserver(()=>{e.isConnected||i()});return a.observe(document.body,{childList:!0,subtree:!0}),i}function Rl(e,t){t&&t>0&&(e.style.height=`${t}px`,e.dataset.sized=``)}const zl=/^(?:www\.|m\.)?(?:youtube\.com|youtube-nocookie\.com)$/i,Bl=/^(?:www\.)?youtu\.be$/i,Vl=/^[\w-]{11}$/;function Hl(e){let t;try{t=new URL(e)}catch{return}let n=null;if(Bl.test(t.hostname))n=t.pathname.slice(1);else if(zl.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||!Vl.test(n))return;let r=t.searchParams.get(`start`)??t.searchParams.get(`t`),i=r?Ul(r):void 0;return{videoId:n,startSeconds:i}}function Ul(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 Wl=[e=>{let t=Hl(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}},Il];function Gl(e){for(let t of Wl){let n=t(e);if(n)return n}}function Kl(e,t){return e.clipboardData?.getData(`text/plain`)||t.content.textBetween(0,t.content.size,`
|
|
36
|
+
`)}const ql=new T(`meowdown-embed-paste`);function Jl(e){let t=e.trim();if(!(!t||/\s/.test(t)))return Gl(t)?t:void 0}function Yl(e,t){let{from:n,to:r}=e.state.selection;e.dispatch(Yt(e.state.tr.insertText(t,n,r)));let i=e.state.tr.insertText(``,n,n+t.length);e.dispatch(Yt(i))}function Xl(){return m(new w({key:ql,props:{handlePaste:(e,t,n)=>{let r=e.state.selection.$from.parent;if(!r.inlineContent||r.type.spec.code)return!1;let i=Kl(t,n);if(!i)return!1;let a=Jl(i);return a?(Yl(e,a),!0):!1}}}))}const Zl=new T(`meowdown-exit-boundary`);function Ql(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&&Fe.findFrom(a,t))}function $l(e,t){let{state:n}=e,{selection:r}=n;return y(r)&&!r.empty||v(r)||r.$from.parent.inlineContent&&!e.endOfTextblock(t<0?`up`:`down`)?!0:Ql(n,t)}function eu(e){return new w({key:Zl,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||$l(t,r)||e({direction:r<0?`up`:`down`,event:n})===!1)}}})}function tu(e){return x(m(eu(e)),t.low)}const nu=new T(`meowdown-file-click`);function ru(e,t){let n=j(e,t,`mdFile`);if(!n)return;let{href:r,name:i}=n.mark.attrs;return{href:r,name:i}}function iu(e){return m(new w({key:nu,props:{handleClick:(t,n,r)=>{let i=r.target?.closest?.(`.md-file-view-preview`);if(!i)return!1;let a=i.closest(`.md-file-view`)?.querySelector(`.md-file-view-content`);if(!a)return!1;let o=ru(t.state,t.posAtDOM(a,0));return o?(e({href:o.href,name:o.name,event:r}),!0):!1}}}))}const au=new Set([`avif`,`bmp`,`gif`,`jpeg`,`jpg`,`png`,`svg`,`webp`]);function ou(e){if(e.type?.startsWith(`image/`))return!0;let t=e.name.lastIndexOf(`.`);if(t===-1)return!1;let n=e.name.slice(t+1).toLowerCase();return au.has(n)}function su(e,t){return ou(e)?``:`[${uu(e.name)}](${t})`}function cu(e,t){return!e||!t.onFilePaste?[]:Array.from(e.files)}const lu=e=>{console.error(`[meowdown] failed to save pasted file:`,e)};function uu(e){return e.replaceAll(/[\\[\]]/g,String.raw`\$&`)}async function du(e,t,n,r){let{onFilePaste:i}=n;if(!i)return;let a=n.onFileSaveError??lu,o=r,s=!1;for(let n of t){let t;try{t=await i(n)}catch(e){a(e,n);continue}if(!t||e.isDestroyed)continue;let r=su(n,t),c=s?`\n${r}`:r,l=o==null?e.state.tr.insertText(c):e.state.tr.insertText(c,o);e.dispatch(l),s=!0,o!=null&&(o+=c.length)}}function fu(e){return new w({key:new T(`file-paste`),props:{handlePaste:(t,n)=>{let r=cu(n.clipboardData,e);return r.length===0?!1:(du(t,r,e),!0)},handleDrop:(t,n)=>{let r=cu(n.dataTransfer,e);return r.length===0?!1:(du(t,r,e,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function pu(e={}){return x(m(fu(e)),t.high)}const mu=[`KB`,`MB`,`GB`,`TB`];function hu(e){let t=e,n=`B`;for(let e of mu){if(t<999.5)break;t/=1e3,n=e}return n===`B`?`${Math.round(t)} B`:`${t<9.95?Math.round(t*10)/10:Math.round(t)} ${n}`}const gu=new Map([[`pdf`,`pdf`],[`zip`,`archive`],[`tar`,`archive`],[`gz`,`archive`],[`tgz`,`archive`],[`rar`,`archive`],[`7z`,`archive`],[`doc`,`doc`],[`docx`,`doc`],[`pages`,`doc`],[`xls`,`sheet`],[`xlsx`,`sheet`],[`csv`,`sheet`],[`numbers`,`sheet`],[`ppt`,`slides`],[`pptx`,`slides`],[`key`,`slides`],[`mp3`,`audio`],[`wav`,`audio`],[`m4a`,`audio`],[`flac`,`audio`],[`ogg`,`audio`],[`mp4`,`video`],[`mov`,`video`],[`mkv`,`video`],[`webm`,`video`],[`txt`,`text`],[`md`,`text`]]);function _u(e){let t=e.split(/[?#]/,1)[0],n=t.lastIndexOf(`.`);if(n<0)return`generic`;let r=t.slice(n+1).toLowerCase();return gu.get(r)??`generic`}const vu=`http://www.w3.org/2000/svg`;function yu(){let e=document.createElementNS(vu,`svg`);e.setAttribute(`class`,`md-file-view-icon`),e.setAttribute(`viewBox`,`0 0 24 24`),e.setAttribute(`aria-hidden`,`true`);for(let t of[`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,`M14 2v4a2 2 0 0 0 2 2h4`]){let n=document.createElementNS(vu,`path`);n.setAttribute(`d`,t),n.setAttribute(`fill`,`none`),n.setAttribute(`stroke`,`currentColor`),n.setAttribute(`stroke-width`,`2`),n.setAttribute(`stroke-linecap`,`round`),n.setAttribute(`stroke-linejoin`,`round`),e.appendChild(n)}return e}var bu=class{#e;#t;#n;#r;#i;#a;#o=!1;constructor(e,t){this.#a=e.attrs,this.#e=document.createElement(`span`),this.#e.className=`md-file-view md-atom-view`,this.#n=document.createElement(`span`),this.#n.className=`md-file-view-preview md-atom-view-preview`,this.#n.contentEditable=`false`,this.#n.dataset.testid=`file-pill`,this.#n.dataset.fileKind=_u(this.#a.href),this.#n.title=this.#a.name,this.#e.appendChild(this.#n),this.#n.appendChild(yu()),this.#r=document.createElement(`span`),this.#r.className=`md-file-view-name`,this.#r.textContent=this.#a.name,this.#n.appendChild(this.#r),this.#i=document.createElement(`span`),this.#i.className=`md-file-view-size`,this.#i.dataset.testid=`file-pill-size`,this.#n.appendChild(this.#i),this.#t=document.createElement(`span`),this.#t.className=`md-file-view-content md-atom-view-content`,this.#e.appendChild(this.#t),this.#s(t.resolveFileInfo)}get dom(){return this.#e}get contentDOM(){return this.#t}update(e){let t=e.attrs,n=this.#a;return t.href===n.href?(this.#a=t,t.name!==n.name&&(this.#r.textContent=t.name,this.#n.title=t.name),!0):!1}ignoreMutation(e){return!this.#t.contains(e.target)}destroy(){this.#o=!0}async#s(e){if(!e)return;let t;try{t=await e(this.#a.href)}catch(e){console.error(`[meowdown] resolveFileInfo failed:`,e);return}if(this.#o||!t)return;let{size:n}=t;n==null||!Number.isFinite(n)||n<0||(this.#i.textContent=hu(n))}};function xu(e={}){return d({name:`mdFile`,constructor:t=>new bu(t,e)})}function Su(e){return m(new w({key:e.key,props:{handleClick:(t,n,r)=>{let i=r.target?.closest?.(e.selector);if(!i)return!1;let a=e.findPayloadForElement?e.findPayloadForElement(t,i):e.findPayloadAt(t.state,n);return a==null?!1:(e.preventDefault&&r.preventDefault(),e.onClick(a,r),!0)}}}))}const Cu=new T(`meowdown-tag-click`);function wu(e,t){let n=j(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 Tu(e){return Su({key:Cu,selector:`.md-tag`,preventDefault:!1,findPayloadAt:(e,t)=>wu(e,t)?.tag,onClick:(t,n)=>e({tag:t,event:n})})}const Eu=new T(`meowdown-wikilink-click`);function Du(e,t){let n=j(e,t,`mdWikilink`);if(!n)return;let{target:r}=n.mark.attrs;return{from:n.from,to:n.to,target:r}}function Ou(e,t){let n=t.closest(`.md-wikilink-view`)?.querySelector(`.md-wikilink-view-content`);if(n)return Du(e.state,e.posAtDOM(n,0))}function ku(e){return Su({key:Eu,selector:`.md-wikilink-view-preview`,preventDefault:!1,findPayloadAt:(e,t)=>Du(e,t)?.target,findPayloadForElement:(e,t)=>Ou(e,t)?.target,onClick:(t,n)=>e({target:t,event:n})})}const Au=new T(`meowdown-follow-link`);function ju(e){return e.key!==`Enter`||e.shiftKey||e.altKey?!1:ee?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}function Mu(e){return new w({key:Au,props:{handleKeyDown:(t,n)=>{if(!ju(n))return!1;let{state:r}=t,i=r.selection.head,a=e.onWikilinkClick&&Du(r,i);if(a)return e.onWikilinkClick?.({target:a.target,event:n}),!0;let o=e.onTagClick&&wu(r,i);if(o)return e.onTagClick?.({tag:o.tag,event:n}),!0;let s=e.onFileClick&&ru(r,i);if(s)return e.onFileClick?.({href:s.href,name:s.name,event:n}),!0;let c=e.onLinkClick&&q(r,i);return c?(e.onLinkClick?.({href:c.href,event:n}),!0):!1}}})}function Nu(e){return x(m(Mu(e)),t.high)}const Pu=new T(`meowdown-image-click`);function Fu(e){return e instanceof HTMLElement&&e.closest(`.md-image-view-preview`)}function Iu(e,t){let n=j(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 Lu(e,t){let n=t.closest(`.md-image-view`)?.querySelector(`.md-image-view-content`);if(n)return Iu(e.state,e.posAtDOM(n,0))}function Ru(e,t){return Array.from(e).find(e=>e.identifier===t)}function zu(e,t){return Math.abs(t.clientX-e.clientX)<=10&&Math.abs(t.clientY-e.clientY)<=10}function Bu(e){let t=new WeakMap;return m(new w({key:Pu,props:{handleDOMEvents:{pointerdown:(e,t)=>(Fu(t.target)&&t.pointerType!==`mouse`&&t.preventDefault(),!1),touchstart:(e,n)=>{if(t.delete(e),n.touches.length!==1||!Fu(n.target)||n.target instanceof HTMLElement&&n.target.closest(`.md-image-resize-handle`))return!1;let r=n.changedTouches[0];return r&&t.set(e,{identifier:r.identifier,clientX:r.clientX,clientY:r.clientY}),!1},touchmove:(e,n)=>{let r=t.get(e);if(!r)return!1;let i=Ru(n.changedTouches,r.identifier);return i&&!zu(r,i)&&t.delete(e),!1},touchcancel:e=>(t.delete(e),!1),touchend:(n,r)=>{let i=t.get(n);if(t.delete(n),!i||r.touches.length>0)return!1;let a=Ru(r.changedTouches,i.identifier);if(!a||!zu(i,a))return!1;let o=Fu(r.target);if(!o)return!1;r.preventDefault();let s=Lu(n,o);return s&&e({src:s.src,alt:s.alt,event:r}),!0}},handleClick:(t,n,r)=>{let i=Fu(r.target);if(!i)return!1;let a=Lu(t,i);return a?(e({src:a.src,alt:a.alt,event:r}),!0):!1}}}))}function Vu(e){return/^https?:\/\//i.test(e)?e:void 0}function Hu(e,t,n){let r=document.createElement(`iframe`);return r.src=e.src,r.title=e.title,r.className=e.className,r.dataset.testid=e.testid,r.loading=`lazy`,r.referrerPolicy=`strict-origin-when-cross-origin`,r.setAttribute(`frameborder`,`0`),e.allow&&(r.allow=e.allow),e.allowFullscreen&&(r.allowFullscreen=!0),e.kind===`tweet`&&(Rl(r,t),Ll(r,n)),r}function Uu(e,t,n){t!=null&&e.setAttribute(`data-width`,String(Math.ceil(t))),n!=null&&e.setAttribute(`data-height`,String(Math.ceil(n)))}function Wu(e,t,n,r){if(n!=null&&r!=null){Uu(e,n,r);return}let i=t.naturalWidth/t.naturalHeight;if(!Number.isFinite(i)||i<=0){Uu(e,n,r);return}let a=n==null?Math.min(t.naturalHeight,500):n/i;Uu(e,n??a*i,a)}function Gu(e,t,n,r){let i=e.state.doc.textBetween(t.from,t.to),a=ya(i),o=t.from+a.length,s=i.slice(a.length),c=va({...ga(s),...n});if(c===s)return;let l=e.state.tr.insertText(c,o,t.to);r||l.setMeta(`addToHistory`,!1),e.dispatch(l)}function Ku(e,t,n,r){let i=e.posAtDOM(t,0),a=j(e.state,i,`mdImage`);if(!a)return;let o=a.mark.attrs;if(o.syntax===`wikiEmbed`){let t=e.state.doc.textBetween(a.from,a.to),i=o.wikiTarget||Ia(t).target;if(!i)return;let s=La(i,n,r);s!==t&&e.dispatch(e.state.tr.insertText(s,a.from,a.to));return}Gu(e,a,{width:Math.round(n),height:Math.round(r)},!0)}function qu(e,t,n){if(!e.editable||!t.isConnected)return;let r=e.posAtDOM(t,0),i=j(e.state,r,`mdImage`);if(!i)return;let a=i.mark.attrs;a.height!=null&&Math.abs(n-a.height)<=8||Gu(e,i,{height:Math.round(n)},!1)}var Ju=class{#e;#t;#n;#r;#i;#a;#o;#s;#c;constructor(e,t,n){this.#a=e.attrs,this.#n=t,this.#r=n.resolveImageUrl,this.#i=n.persistTweetHeight??!0,this.#e=document.createElement(`span`),this.#e.className=`md-image-view md-atom-view`,this.#t=document.createElement(`span`),this.#t.className=`md-image-view-content md-atom-view-content`;let r=this.#l();r&&(r.contentEditable=`false`,this.#e.appendChild(r)),this.#e.appendChild(this.#t)}get dom(){return this.#e}get contentDOM(){return this.#t}update(e){let t=e.attrs,n=this.#a;return t.src===n.src?(this.#a=t,this.#s&&t.alt!==n.alt&&(this.#s.alt=t.alt),this.#o&&(t.width!==n.width||t.height!==n.height)&&(this.#s?Wu(this.#o,this.#s,t.width,t.height):Uu(this.#o,t.width,t.height)),this.#c&&t.height!==n.height&&Rl(this.#c,t.height),!0):!1}ignoreMutation(e){return!this.#t.contains(e.target)}#l(){let{src:e}=this.#a,t=Gl(e);if(t){let e=document.createElement(`span`);e.className=`md-image-view-preview md-atom-view-preview`;let n=this.#i?e=>{qu(this.#n,this.#t,e)}:void 0,r=Hu(t,this.#a.height,n);return t.kind===`tweet`&&(this.#c=r),e.appendChild(t.kind===`youtube`?this.#u(r):r),e}let n=(this.#r??Vu)(e);if(!n)return;let r=document.createElement(`span`);return r.className=`md-image-view-preview md-atom-view-preview`,r.dataset.testid=`image-preview`,r.appendChild(this.#d(n)),r}#u(e){Zt(),Xt();let t=document.createElement(`prosekit-resizable-root`);t.className=`md-embed-resizable`,t.dataset.testid=`embed-resizable`,t.setAttribute(`data-aspect-ratio`,`1.7777777777777777`),Uu(t,this.#a.width,this.#a.height),t.appendChild(e);let n=document.createElement(`prosekit-resizable-handle`);return n.className=`md-image-resize-handle`,n.setAttribute(`position`,`bottom-right`),n.addEventListener(`click`,e=>e.stopPropagation()),t.appendChild(n),t.addEventListener(`resizeEnd`,e=>{let{width:t,height:n}=e.detail;Ku(this.#n,this.#t,t,n)}),this.#o=t,t}#d(e){Zt(),Xt();let t=document.createElement(`prosekit-resizable-root`);t.className=`md-image-resizable`,t.dataset.testid=`image-resizable`,t.setAttribute(`data-loading`,``);let n=document.createElement(`img`);n.src=e,n.alt=this.#a.alt,n.draggable=!1,Wu(t,n,this.#a.width,this.#a.height),n.addEventListener(`load`,()=>{t.removeAttribute(`data-loading`);let e=n.naturalWidth/n.naturalHeight;!Number.isFinite(e)||e<=0||(t.setAttribute(`data-aspect-ratio`,String(e)),Wu(t,n,this.#a.width,this.#a.height))}),n.addEventListener(`error`,()=>{t.removeAttribute(`data-loading`)}),t.appendChild(n);let r=document.createElement(`prosekit-resizable-handle`);return r.className=`md-image-resize-handle`,r.setAttribute(`position`,`bottom-right`),r.addEventListener(`click`,e=>e.stopPropagation()),t.appendChild(r),t.addEventListener(`resizeEnd`,e=>{let{width:t,height:n}=e.detail;Ku(this.#n,this.#t,t,n)}),this.#o=t,this.#s=n,t}};function Yu(e={}){return d({name:`mdImage`,constructor:(t,n)=>new Ju(t,n,e)})}const Xu={"Mod-b":`Bold`,"Mod-i":`Italic`,"Mod-e":`Inline code`,"Mod-Shift-x":`Strikethrough`,"Mod-Shift-h":`Highlight`,"Mod-k":`Link`,"Mod-Shift-k":`Insert a wikilink`,"Mod-1":`Heading 1`,"Mod-2":`Heading 2`,"Mod-3":`Heading 3`,"Mod-4":`Heading 4`,"Mod-5":`Heading 5`,"Mod-6":`Heading 6`,"Mod-.":`Fold or unfold a bullet`,"Mod-Enter":`Follow the link under the caret, or cycle a checkbox task`,"Mod-Shift-Enter":`Cycle a circle checkbox task`,"Mod-Shift-7":`Ordered list`,"Mod-Shift-8":`Bullet list`,"Mod-Shift-9":`Checkbox task list`,"Alt-ArrowUp":`Move the block or list item up`,"Alt-ArrowDown":`Move the block or list item down`,"Meta-ArrowUp":`Move the caret to the document start`,"Meta-ArrowDown":`Move the caret to the document end`,"Shift-Meta-ArrowUp":`Select to the document start`,"Shift-Meta-ArrowDown":`Select to the document end`,Escape:`Collapse the selection`},Zu=new T(`meowdown-link-click`);function Qu(e){return Su({key:Zu,selector:`.md-link`,preventDefault:!0,findPayloadAt:(e,t)=>q(e,t)?.href,onClick:(t,n)=>e({href:t,event:n})})}function $u(e){let t,n=(t,n)=>e.findPayloadForElement?e.findPayloadForElement(t,n):e.findPayloadAt(t.state,t.posAtDOM(n,0)),r=()=>{t&&(t=void 0,e.onHoverChange(void 0))},i=(i,a)=>{let o=a.target;if(!o||!we(o))return;let s=o.closest(e.selector);if(!s||!i.dom.contains(s)||s===t?.element)return;r();let c=n(i,s);c!=null&&(t={payload:c,element:s},e.onHoverChange(t))},a=e=>{if(!t)return;let n=e.relatedTarget;n instanceof Node&&t.element.contains(n)||r()};return m(new w({key:e.key,props:{handleDOMEvents:{mouseover:(e,t)=>(i(e,t),!1),mouseout:(e,t)=>(a(t),!1)}},view:()=>({update:i=>{if(!t)return;if(!t.element.isConnected||!i.dom.contains(t.element)){r();return}let a=n(i,t.element);if(a==null||!e.isSamePayload(t.payload,a)){r();return}t={...t,payload:a}},destroy:r})}))}const ed=new T(`meowdown-link-hover`);function td(e){return $u({key:ed,selector:`.md-link`,findPayloadAt:(e,t)=>q(e,t),isSamePayload:(e,t)=>e.href===t.href&&e.title===t.title,onHoverChange:e})}const nd=new T(`meowdown-link-paste`);function rd(e){let t=e.trim();if(!(!t||/\s/.test(t)))return be(t)}function id(){return x(m(new w({key:nd,props:{handlePaste:(e,t,n)=>{let r=Kl(t,n);if(!r)return!1;let i=rd(r);return i?Li(e,as({href:i,wrapText:!1})):!1}}})),t.high)}function ad(e){return e instanceof yt||e instanceof bt||e instanceof St||e instanceof Ct||e instanceof fa}function od(e){for(let t of e)for(let e of t.steps)if(!ad(e))return!0;return!1}function sd(e){let t,n,r=!1,i,a=()=>{let n=t&&!t.isDestroyed&&t.dom;if(!n)return;let a=e&&!r;a!==i&&(i=a,n.spellcheck=a)},o=()=>{n&&clearTimeout(n),r=!0,a(),n=setTimeout(()=>{r=!1,a()},1200)};return{pause:o,apply(e){od(e)&&o()},view(e){return t=e,{destroy(){t=void 0}}}}}function cd(e){let t=new T(`spell-check`);return new w({key:t,state:{init:()=>sd(e),apply:(e,t)=>t},view(e){return t.getState(e.state)?.view(e)||{}},props:{handleDOMEvents:{beforeinput:e=>{t.getState(e.state)?.pause()}}},appendTransaction(e,n){t.getState(n)?.apply(e)}})}function ld(e){return m(cd(e))}const ud=[[/<-/,`←`],[/(?<!-)->/,`→`],[/\(c\)/,`©`],[/\(r\)/,`®`],[/1\/2/,`½`],[/\+\/-/,`±`],[/!=/,`≠`],[/<</,`«`],[/>>/,`»`],[/(?<!<!)(?<!^(?:-[ \t]*)+)--/,`—`]],dd=new T(`meowdown-substitution-undo`);function fd(e,t,n){let r=g(e.schema,`mdCode`);return e.doc.rangeHasMark(t,n,r)}function pd(e,t,n,r,i){if(fd(e,t,n))return null;let[,a]=r,o=i==null?a:`${a} `,s=e.tr.replaceWith(t,n,e.schema.text(o));return i!=null&&s.setMeta(dd,{from:t,to:t+o.length,before:i,after:o}),s}function md(){return b(ud.map(e=>at(new Qt(new RegExp(String.raw`(?:${e[0].source})\s$`),(t,n,r,i)=>pd(t,r,i,e,n[0])))))}function hd(){return m(new w({key:dd,state:{init:()=>null,apply:(e,t)=>{let n=e.getMeta(dd);if(n!==void 0)return n;if(!t)return null;let r=e.mapping.map(t.from),i=e.mapping.map(t.to);return e.selection.empty&&e.selection.from===i&&e.doc.textBetween(r,i)===t.after?{...t,from:r,to:i}:null}}}))}function gd(){return x(l({Backspace:(e,t)=>{let n=dd.getState(e);return n?(t?.(e.tr.replaceWith(n.from,n.to,e.schema.text(n.before)).setMeta(dd,null)),!0):!1}}),t.highest)}function _d(){return b(hd(),gd())}function vd(){return b(ud.map(e=>rt({regex:RegExp(`(?:${e[0].source})$`),handler:({state:t,from:n,to:r})=>pd(t,n,r,e)})))}function yd(){return b(md(),_d(),vd())}function bd(e){e.offsetWidth}const xd=new T(`meowdown-virtual-caret`),Sd=[`md-virtual-caret-blink`,`md-virtual-caret-blink2`],Cd=`data-meowdown-virtual-caret`;function wd(e){let t=e.height*.19999999999999996;return{left:e.left,top:e.top-t/2,height:e.height+t}}function Td(e){let t=Ec(e)??Dc(e);return t==null?Oc(e):wd(t)}function Ed(e,t){return e==null||t==null?e===t:e.left===t.left&&e.top===t.top&&e.height===t.height}var Dd=class{#e;#t;#n;#r;#i;#a;#o;#s=0;constructor(e,t){this.#e=e,this.#r=e.dom.ownerDocument,this.#t=t,this.#t.classList.add(`md-virtual-caret-layer`),this.#n=this.#t.appendChild(this.#r.createElement(`div`)),this.#n.className=`md-virtual-caret`,this.#n.dataset.testid=`virtual-caret`,this.#r.addEventListener(`selectionchange`,this.#d),e.dom.addEventListener(`focus`,this.#c),e.dom.addEventListener(`blur`,this.#l),typeof ResizeObserver<`u`&&(this.#i=new ResizeObserver(this.#d),this.#i.observe(e.dom)),e.hasFocus()&&this.#c(),this.#d()}update(e,t){e.state.selection.eq(t.selection)||this.#u(),this.#d()}destroy(){this.#r.removeEventListener(`selectionchange`,this.#d),this.#e.dom.removeEventListener(`focus`,this.#c),this.#e.dom.removeEventListener(`blur`,this.#l),this.#i?.disconnect(),this.#n.remove(),this.#t.classList.remove(`md-virtual-caret-layer`),delete this.#t.dataset.focused,this.#e.dom.removeAttribute(Cd)}#c=()=>{this.#t.dataset.focused=``};#l=()=>{delete this.#t.dataset.focused};#u(){this.#s=1-this.#s,this.#n.style.animationName=Sd[this.#s]}#d=()=>{let e=this.#e;if(e.isDestroyed)return;let t=e.state,n=t.selection,r=y(n)&&n.empty?Td(e):void 0,i;if(r!=null){let e=this.#t.getBoundingClientRect();i={left:r.left-e.left,top:r.top-e.top,height:r.height}}let a=i!=null&&M(t)===`hide`?qi(t,n.head):void 0;if(Ed(i,this.#a)&&a===this.#o)return;let o=this.#a==null;if(this.#a=i,this.#o=a,a==null?delete this.#n.dataset.tail:this.#n.dataset.tail=a,i==null){this.#n.style.visibility=`hidden`,e.dom.removeAttribute(Cd);return}o&&(this.#n.style.transitionProperty=`none`),this.#n.style.visibility=``,this.#n.style.left=`${i.left}px`,this.#n.style.top=`${i.top}px`,this.#n.style.height=`${i.height}px`,e.dom.setAttribute(Cd,``),o&&(bd(this.#n),this.#n.style.transitionProperty=``)}};function Od(e){return m(new w({key:xd,view:t=>new Dd(t,e)}))}const kd=new T(`meowdown-wikilink-hover`);function Ad(e){return $u({key:kd,selector:`.md-wikilink-view-preview`,findPayloadAt:Du,findPayloadForElement:Ou,isSamePayload:(e,t)=>e.target===t.target,onHoverChange:t=>{e(t?{...t.payload,element:t.element}:void 0)}})}function jd(e,t={}){let n=[];return e.content.forEach(e=>{let r=[];e.descendants(e=>{if(!e.isText||!e.text)return!0;let n=e.marks.map(e=>e.type.name);return n.some(e=>Fn.has(e))&&!(t.preserveMathSource&&n.includes(`mdMath`))||r.push(e.text),!1}),n.push(r.join(``))}),n.join(`
|
|
37
|
+
`)}function Md({allowEmpty:e}){return(t,n)=>{let{selection:r}=t;if(!y(r)||!e&&r.empty||!r.$head.sameParent(r.$anchor)||r.$head.parent.type.spec.code)return!1;let i=jd(r.content());if(i.startsWith(`[[`))return!1;i.startsWith(`[`)&&(i=i.slice(1));let a=`[[`+i;if(n){let e=t.tr.insertText(a,r.from,r.to);e.setSelection(E.create(e.doc,r.from+a.length)),st(e),n(e.scrollIntoView())}return!0}}function Nd(){return l({"Mod-Shift-k":Md({allowEmpty:!0}),"[":Md({allowEmpty:!1})})}function Pd(e){switch(e.type.name){case`mdWikilink`:{let t=e.attrs;return t.display||t.target}case`mdImage`:return e.attrs.alt;case`mdFile`:return e.attrs.name;case`mdMath`:return e.attrs.formula;default:return``}}function Fd(e){let t=``;for(let n of zn(e)){if(n.atom!=null){t+=Pd(n.atom);continue}for(let e of n.children)Rn(e.marks)||(t+=e.text??``)}return t}function Id(e){let{selection:t,schema:n}=e;if(t.empty)return``;let r=t.content().content;try{return Tr(n.topNodeType.create(null,r)).replace(/\n+$/,``)}catch{return e.doc.textBetween(t.from,t.to,`
|
|
38
38
|
|
|
39
|
-
`)}}function
|
|
39
|
+
`)}}function Ld(e,t,n){if(n===1){let r=V(e.state,t);return r&&Y(e,r.to,n)}else{let n=B(e.state,t);return n&&Y(e,n.from,-1)}}function Rd(e,t){let n=new DOMRect(0,0,0,0),r=()=>{if(e.isDestroyed)return n;let r=Y(e,t.from,1)??kc(e,t.from,1)??Ld(e,t.from,1)??Y(e,t.from,-1);if(r==null)return n;let i=Y(e,t.to,-1)??kc(e,t.to,-1)??Ld(e,t.to,-1)??Y(e,t.to,1);if(i==null)return n;let a=Math.min(r.left,i.left),o=Math.max(r.right,i.right),s=Math.min(r.top,i.top),c=Math.max(r.bottom,i.bottom);return n=new DOMRect(a,s,o-a,c-s),n};return{getBoundingClientRect:r,getClientRects:()=>[r()]}}export{Xu as EDITOR_KEY_BINDINGS,e as Priority,su as buildFileMarkdown,Dl as checkRoundTrip,jl as codeBlockLanguages,Aa as collectReferenceDefinitions,Vu as defaultResolveImageUrl,kl as defineBulletAfterHeading,ue as defineCodeBlockPreviewPlugin,oi as defineCodeBlockSyntaxHighlight,Uc as defineEditorExtension,Xl as defineEmbedPaste,tu as defineExitBoundaryHandler,iu as defineFileClickHandler,pu as defineFilePaste,xu as defineFileView,Nu as defineFollowLinkHandler,oa as defineHTMLComment,Yu as defineImage,Bu as defineImageClickHandler,Qu as defineLinkClickHandler,cs as defineLinkCommands,us as defineLinkEditKeymap,td as defineLinkHoverHandler,id as defineLinkPaste,Hs as defineMath,wc as definePendingReplacementHandler,fe as definePlaceholder,pe as defineReadonly,ge as defineSearchStatusHandler,ld as defineSpellCheckPlugin,yd as defineSubstitution,Tu as defineTagClickHandler,Vc as defineViewAttributes,Od as defineVirtualCaret,ku as defineWikilinkClickHandler,Ad as defineWikilinkHoverHandler,Nd as defineWikilinkTrigger,Tr as docToMarkdown,hu as formatFileSize,La as formatSizedWikiEmbed,ci as getCodeTokens,_u as getFileKind,Ii as getIsComposing,q as getLinkUnitAt,Kc as getMarkBuilders,mc as getPendingReplacement,_e as getSearchStatus,Id as getSelectedText,tc as getTableColumnAlign,Fd as getTextblockDisplayText,Rd as getVirtualElementFromRange,Ua as inlineTextToMarkChunks,Wa as inlineTextToMarkChunksWithContext,as as insertLink,de as isCodeBlockPreviewHiddenDecoration,Pn as isMarkOfType,I as isNodeOfType,ic as isSelectionInTableCell,Ll as listenForTweetHeight,zs as loadKaTeX,Z as markdownToDoc,Gl as matchEmbed,Ia as parseWikiEmbed,ss as removeLink,Bs as renderMathInto,os as updateLink,Ra as wikiEmbedBasename,oe as withPriority};
|
package/dist/style.css
CHANGED
|
@@ -249,7 +249,7 @@
|
|
|
249
249
|
}
|
|
250
250
|
}
|
|
251
251
|
|
|
252
|
-
.
|
|
252
|
+
.md-virtual-caret-layer[data-focused] .md-virtual-caret {
|
|
253
253
|
animation: 1.2s ease-in-out infinite md-virtual-caret-blink;
|
|
254
254
|
display: block;
|
|
255
255
|
}
|
|
@@ -627,6 +627,7 @@
|
|
|
627
627
|
border-radius: var(--meowdown-image-radius, .5rem);
|
|
628
628
|
border: 0;
|
|
629
629
|
width: 100%;
|
|
630
|
+
max-width: 100%;
|
|
630
631
|
display: block;
|
|
631
632
|
}
|
|
632
633
|
|
|
@@ -637,6 +638,29 @@
|
|
|
637
638
|
display: block;
|
|
638
639
|
}
|
|
639
640
|
|
|
641
|
+
.ProseMirror .md-embed-tweet:not([data-sized]) {
|
|
642
|
+
min-height: 250px;
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
.ProseMirror .md-embed-resizable {
|
|
646
|
+
isolation: isolate;
|
|
647
|
+
min-width: 2.5rem;
|
|
648
|
+
max-width: 100%;
|
|
649
|
+
min-height: 2.5rem;
|
|
650
|
+
display: block;
|
|
651
|
+
position: relative;
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
.ProseMirror .md-embed-resizable .md-embed-youtube {
|
|
655
|
+
aspect-ratio: auto;
|
|
656
|
+
width: 100%;
|
|
657
|
+
height: 100%;
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
.ProseMirror .md-embed-resizable[data-resizing] iframe {
|
|
661
|
+
pointer-events: none;
|
|
662
|
+
}
|
|
663
|
+
|
|
640
664
|
.ProseMirror .prosekit-placeholder:before {
|
|
641
665
|
content: attr(data-placeholder);
|
|
642
666
|
float: left;
|
|
@@ -817,7 +841,7 @@
|
|
|
817
841
|
transform: scale(.8);
|
|
818
842
|
}
|
|
819
843
|
|
|
820
|
-
& .md-image-resizable:hover .md-image-resize-handle, & .md-image-resizable[data-resizing] .md-image-resize-handle {
|
|
844
|
+
& .md-image-resizable:hover .md-image-resize-handle, & .md-image-resizable[data-resizing] .md-image-resize-handle, & .md-embed-resizable:hover .md-image-resize-handle, & .md-embed-resizable[data-resizing] .md-image-resize-handle {
|
|
821
845
|
opacity: 1;
|
|
822
846
|
pointer-events: auto;
|
|
823
847
|
transform: scale(1);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meowdown/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.62.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"remark-stringify": "^11.0.0",
|
|
44
44
|
"unicode-by-name": "^0.2.0",
|
|
45
45
|
"unified": "^11.0.5",
|
|
46
|
-
"@meowdown/markdown": "^0.
|
|
46
|
+
"@meowdown/markdown": "^0.62.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@ocavue/tsconfig": "^0.7.1",
|