@meowdown/core 0.48.0 → 0.50.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 +87 -20
- package/dist/index.js +20 -20
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ import { defineReadonly } from "@prosekit/extensions/readonly";
|
|
|
5
5
|
import { Command, EditorState, PluginKey } from "@prosekit/pm/state";
|
|
6
6
|
import { EditorView } from "@prosekit/pm/view";
|
|
7
7
|
import { Mark, ProseMirrorNode } from "@prosekit/pm/model";
|
|
8
|
-
import { HorizontalRuleExtension } from "@prosekit/extensions/horizontal-rule";
|
|
9
8
|
import { ListAttrs } from "@prosekit/extensions/list";
|
|
9
|
+
import { HorizontalRuleExtension } from "@prosekit/extensions/horizontal-rule";
|
|
10
10
|
import { render } from "katex";
|
|
11
11
|
import { VirtualElement } from "@floating-ui/dom";
|
|
12
12
|
//#region src/converters/check-roundtrip.d.ts
|
|
@@ -169,9 +169,8 @@ declare function defineHTMLComment(): HTMLCommentExtension;
|
|
|
169
169
|
//#endregion
|
|
170
170
|
//#region src/extensions/inline-marks.d.ts
|
|
171
171
|
/**
|
|
172
|
-
* Attributes of the `mdImage` mark, derived from
|
|
173
|
-
*
|
|
174
|
-
* `<!-- {"width":N,"height":M} -->`.
|
|
172
|
+
* Attributes of the `mdImage` mark, derived from either ``
|
|
173
|
+
* (plus an optional trailing size comment) or a resolved wiki image embed.
|
|
175
174
|
*/
|
|
176
175
|
interface MdImageAttrs {
|
|
177
176
|
/** The image destination, exactly as written in the source. */
|
|
@@ -184,6 +183,10 @@ interface MdImageAttrs {
|
|
|
184
183
|
width: number | null;
|
|
185
184
|
/** Display height in CSS pixels from the trailing comment, or `null`. */
|
|
186
185
|
height: number | null;
|
|
186
|
+
/** `wikiEmbed` when the source is `![[target]]`; otherwise `null`. */
|
|
187
|
+
syntax: 'wikiEmbed' | null;
|
|
188
|
+
/** Original wiki-embed target used when persisting a resized image, or `null`. */
|
|
189
|
+
wikiTarget: string | null;
|
|
187
190
|
}
|
|
188
191
|
interface MdLinkTextAttrs {
|
|
189
192
|
href: string;
|
|
@@ -361,6 +364,57 @@ declare function definePendingReplacementHandler(handler: PendingReplacementHand
|
|
|
361
364
|
*/
|
|
362
365
|
type MarkChunk = readonly [from: number, to: number, marks: readonly Mark[]];
|
|
363
366
|
//#endregion
|
|
367
|
+
//#region src/extensions/wiki-embed.d.ts
|
|
368
|
+
/** The parsed source payload of an Obsidian-style `![[target]]` embed. */
|
|
369
|
+
interface ParsedWikiEmbed {
|
|
370
|
+
/** Target before an optional alias or size suffix. */
|
|
371
|
+
target: string;
|
|
372
|
+
/** Non-size suffix after `|`, or `''` when absent. */
|
|
373
|
+
display: string;
|
|
374
|
+
/** Requested display width in CSS pixels, or `null`. */
|
|
375
|
+
width: number | null;
|
|
376
|
+
/** Requested display height in CSS pixels, or `null`. */
|
|
377
|
+
height: number | null;
|
|
378
|
+
}
|
|
379
|
+
/** A resolved wiki embed rendered through Meowdown's existing atom views. */
|
|
380
|
+
type WikiEmbedResolution = {
|
|
381
|
+
kind: 'image';
|
|
382
|
+
/** Source passed to `resolveImageUrl` and image click handlers. Defaults to `target`. */
|
|
383
|
+
src?: string;
|
|
384
|
+
/** Image alt text. Defaults to the alias or target basename. */
|
|
385
|
+
alt?: string;
|
|
386
|
+
} | {
|
|
387
|
+
kind: 'file';
|
|
388
|
+
/** Destination passed to file metadata and click handlers. Defaults to `target`. */
|
|
389
|
+
href?: string;
|
|
390
|
+
/** File pill label. Defaults to the alias or target basename. */
|
|
391
|
+
name?: string;
|
|
392
|
+
/** Optional file title. */
|
|
393
|
+
title?: string;
|
|
394
|
+
} | {
|
|
395
|
+
kind: 'note';
|
|
396
|
+
/** Target passed to wikilink click handlers. Defaults to the source target. */
|
|
397
|
+
target?: string;
|
|
398
|
+
/** Chip label. Defaults to the source alias or resolved target. */
|
|
399
|
+
display?: string;
|
|
400
|
+
};
|
|
401
|
+
/**
|
|
402
|
+
* Classifies one wiki embed for rendering. Return `undefined` to leave the
|
|
403
|
+
* source literal and editable. The resolver participates in the parse cache,
|
|
404
|
+
* so it must be pure: the same payload must always return the same result.
|
|
405
|
+
*/
|
|
406
|
+
type WikiEmbedResolver = (embed: ParsedWikiEmbed) => WikiEmbedResolution | undefined;
|
|
407
|
+
/** Host options for wiki-embed parsing. */
|
|
408
|
+
interface WikiEmbedOptions {
|
|
409
|
+
resolveWikiEmbed?: WikiEmbedResolver;
|
|
410
|
+
}
|
|
411
|
+
/** Parse `![[target]]`, `![[target|alias]]`, `![[target|width]]`, or `![[target|widthxheight]]`. */
|
|
412
|
+
declare function parseWikiEmbed(source: string): ParsedWikiEmbed;
|
|
413
|
+
/** Rewrite a wiki image embed with a persisted display size. */
|
|
414
|
+
declare function formatSizedWikiEmbed(target: string, width: number, height: number): string;
|
|
415
|
+
/** Last path component of a target, with a note heading/block fragment removed. */
|
|
416
|
+
declare function wikiEmbedBasename(target: string): string;
|
|
417
|
+
//#endregion
|
|
364
418
|
//#region src/extensions/inline-text-to-mark-chunks.d.ts
|
|
365
419
|
/** What {@link FileLinkResolver} sees for one `[label](url)` link. */
|
|
366
420
|
interface FileLinkPayload {
|
|
@@ -383,6 +437,8 @@ type FileLinkResolver = (link: FileLinkPayload) => boolean;
|
|
|
383
437
|
interface FileLinkOptions {
|
|
384
438
|
resolveFileLink?: FileLinkResolver;
|
|
385
439
|
}
|
|
440
|
+
/** Host options that influence source-backed inline atom parsing. */
|
|
441
|
+
type InlineMarkOptions = FileLinkOptions & WikiEmbedOptions;
|
|
386
442
|
/**
|
|
387
443
|
* Walk a textblock's inline content and produce a list of mark chunks
|
|
388
444
|
* with positions relative to the start of `text` (i.e. zero-based).
|
|
@@ -394,7 +450,7 @@ marks: TypedMarkBuilders,
|
|
|
394
450
|
/** The raw inline text of one textblock (no block prefix). */
|
|
395
451
|
text: string,
|
|
396
452
|
/** Host options; omit for the default parse. */
|
|
397
|
-
options?:
|
|
453
|
+
options?: InlineMarkOptions): MarkChunk[];
|
|
398
454
|
//#endregion
|
|
399
455
|
//#region src/extensions/mark-mode.d.ts
|
|
400
456
|
/**
|
|
@@ -579,6 +635,7 @@ declare function defineEditorExtensionImpl(options: EditorExtensionOptions): imp
|
|
|
579
635
|
scrollIntoView: [];
|
|
580
636
|
selectText: [anchor: number, head?: number | undefined];
|
|
581
637
|
selectTextBetween: [$anchor: import("@prosekit/pm/model").ResolvedPos, $head: import("@prosekit/pm/model").ResolvedPos, bias?: number | undefined];
|
|
638
|
+
turnIntoText: [];
|
|
582
639
|
};
|
|
583
640
|
}>, import("@prosekit/core").Union<readonly [import("@prosekit/core").PlainExtension, import("@prosekit/core").Extension<{
|
|
584
641
|
Commands: {
|
|
@@ -591,10 +648,11 @@ declare function defineEditorExtensionImpl(options: EditorExtensionOptions): imp
|
|
|
591
648
|
type EditorExtension = ReturnType<typeof defineEditorExtensionImpl>;
|
|
592
649
|
/**
|
|
593
650
|
* Options for {@link defineEditorExtension}. Creation-time configuration:
|
|
594
|
-
* `resolveFileLink`
|
|
595
|
-
* requires rebuilding the editor; `markMode` is
|
|
651
|
+
* `resolveFileLink` and `resolveWikiEmbed` are baked into the editor's parse
|
|
652
|
+
* pipeline, so changing them requires rebuilding the editor; `markMode` is
|
|
653
|
+
* only the initial value.
|
|
596
654
|
*/
|
|
597
|
-
type EditorExtensionOptions =
|
|
655
|
+
type EditorExtensionOptions = InlineMarkOptions & {
|
|
598
656
|
/**
|
|
599
657
|
* The initial mark mode, applied from the first paint. Defaults to
|
|
600
658
|
* `'focus'`. Switch later with the `setMarkMode` command.
|
|
@@ -768,8 +826,8 @@ interface FilePasteOptions {
|
|
|
768
826
|
/**
|
|
769
827
|
* Persist a pasted/dropped file and return its markdown destination, or
|
|
770
828
|
* `undefined` to decline (nothing is inserted, but the event is consumed).
|
|
771
|
-
* An image (`image/*` MIME type
|
|
772
|
-
* a `[name](src)` link.
|
|
829
|
+
* An image (`image/*` MIME type or a recognized image filename extension)
|
|
830
|
+
* inserts ``; any other file inserts a `[name](src)` link.
|
|
773
831
|
*/
|
|
774
832
|
onFilePaste?: FilePasteHandler;
|
|
775
833
|
/** Called when persisting a pasted/dropped file throws. Defaults to `console.error`. */
|
|
@@ -777,10 +835,10 @@ interface FilePasteOptions {
|
|
|
777
835
|
}
|
|
778
836
|
/**
|
|
779
837
|
* The markdown a saved file becomes: `` for an image (a
|
|
780
|
-
* `type` starting with `image/`
|
|
781
|
-
* with `\`, `[`, and `]` escaped in the
|
|
782
|
-
* inserts file links itself (e.g. an
|
|
783
|
-
* byte-identical to a paste/drop.
|
|
838
|
+
* `type` starting with `image/` or a recognized image filename extension), a
|
|
839
|
+
* `[name](destination)` link otherwise, with `\`, `[`, and `]` escaped in the
|
|
840
|
+
* name. Exported so a host command that inserts file links itself (e.g. an
|
|
841
|
+
* attach-file picker) produces markdown byte-identical to a paste/drop.
|
|
784
842
|
*/
|
|
785
843
|
declare function buildFileMarkdown(file: {
|
|
786
844
|
name: string;
|
|
@@ -796,7 +854,7 @@ declare function defineFilePaste(options?: FilePasteOptions): PlainExtension;
|
|
|
796
854
|
//#region src/extensions/file-click.d.ts
|
|
797
855
|
/** Payload for {@link FileClickHandler}. */
|
|
798
856
|
interface FileClickPayload {
|
|
799
|
-
/** The
|
|
857
|
+
/** The resolved destination from `[name](href)` or a claimed `![[target]]`. */
|
|
800
858
|
href: string;
|
|
801
859
|
/** The file name shown on the pill. */
|
|
802
860
|
name: string;
|
|
@@ -833,9 +891,11 @@ interface FileViewOptions {
|
|
|
833
891
|
/** Resolve the metadata (file size) shown on a pill. Omit to show none. */
|
|
834
892
|
resolveFileInfo?: FileInfoResolver;
|
|
835
893
|
}
|
|
894
|
+
/** Classify a file destination for the pill's `data-file-kind` attribute. */
|
|
895
|
+
declare function getFileKind(href: string): string;
|
|
836
896
|
/**
|
|
837
|
-
* Render a claimed file link (the `mdFile` mark
|
|
838
|
-
*
|
|
897
|
+
* Render a claimed file link or wiki embed (the `mdFile` mark) as an inline
|
|
898
|
+
* pill: a file-kind icon, the file name, and the size once
|
|
839
899
|
* `resolveFileInfo` supplies it. The pill never loads the file's content;
|
|
840
900
|
* clicks are reported through `defineFileClickHandler`.
|
|
841
901
|
*/
|
|
@@ -899,7 +959,7 @@ declare function defineFollowLinkHandler(handlers: FollowLinkHandlers): PlainExt
|
|
|
899
959
|
//#region src/extensions/image-click.d.ts
|
|
900
960
|
/** Payload for {@link ImageClickHandler}. */
|
|
901
961
|
interface ImageClickPayload {
|
|
902
|
-
/** The
|
|
962
|
+
/** The resolved source from `` or a claimed `![[target]]`. */
|
|
903
963
|
src: string;
|
|
904
964
|
/** The image alt text. */
|
|
905
965
|
alt: string;
|
|
@@ -1076,11 +1136,18 @@ declare function getSelectedText(state: EditorState): string;
|
|
|
1076
1136
|
*
|
|
1077
1137
|
* Positioning libraries re-measure asynchronously (resize observers, animation
|
|
1078
1138
|
* frames), so a measurement can fire after the view is destroyed or the range
|
|
1079
|
-
* no longer resolves
|
|
1139
|
+
* no longer resolves; those return the last known rect instead of throwing.
|
|
1080
1140
|
*/
|
|
1081
1141
|
declare function getVirtualElementFromRange(view: EditorView, range: PositionRange): VirtualElement;
|
|
1082
1142
|
//#endregion
|
|
1083
1143
|
//#region src/extensions/spell-check.d.ts
|
|
1084
1144
|
declare function defineSpellCheckPlugin(spellCheck: boolean): import("@prosekit/core").PlainExtension;
|
|
1085
1145
|
//#endregion
|
|
1086
|
-
|
|
1146
|
+
//#region src/utils/format-file-size.d.ts
|
|
1147
|
+
/**
|
|
1148
|
+
* Format a byte count for display on a file pill: decimal units (1 KB =
|
|
1149
|
+
* 1000 B, matching macOS Finder), one decimal below 10, integers otherwise.
|
|
1150
|
+
*/
|
|
1151
|
+
declare function formatFileSize(bytes: number): string;
|
|
1152
|
+
//#endregion
|
|
1153
|
+
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 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 RoundTripFidelity, 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, defaultResolveImageUrl, defineBulletAfterHeading, defineCodeBlockPreviewPlugin, defineCodeBlockSyntaxHighlight, defineEditorExtension, defineEmbedPaste, defineExitBoundaryHandler, defineFileClickHandler, defineFilePaste, defineFileView, defineFollowLinkHandler, defineHTMLComment, defineImage, defineImageClickHandler, defineLinkClickHandler, defineLinkCommands, defineLinkEditKeymap, defineLinkHoverHandler, defineLinkPaste, defineMath, definePendingReplacementHandler, definePlaceholder, defineReadonly, defineSpellCheckPlugin, defineSubstitution, defineTagClickHandler, defineWikilinkClickHandler, defineWikilinkHoverHandler, defineWikilinkTrigger, docToMarkdown, formatFileSize, formatSizedWikiEmbed, getCodeTokens, getFileKind, getLinkUnitAt, getMarkBuilders, getPendingReplacement, getSelectedText, getTableColumnAlign, getVirtualElementFromRange, inlineTextToMarkChunks, insertLink, isCodeBlockPreviewHiddenDecoration, isSelectionInTableCell, listenForTweetHeight, loadKaTeX, markdownToDoc, matchEmbed, parseWikiEmbed, removeLink, renderMathInto, updateLink, wikiEmbedBasename, withPriority };
|
package/dist/index.js
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
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 ee,getMarkType as te,getNodeType as ne,isAllSelection as re,isApple as ie,isAtBlockStart as ae,isNodeSelection as oe,isTextSelection as h,toggleNode as se,union as g,unsetBlockType as ce,withPriority as le,withPriority as _,withSkipCodeBlock as ue}from"@prosekit/core";import{defineCodeBlock as de,defineCodeBlockHighlight as fe,defineCodeBlockPreviewPlugin as pe,isCodeBlockPreviewHiddenDecoration as me}from"@prosekit/extensions/code-block";import{definePlaceholder as he}from"@prosekit/extensions/placeholder";import{defineReadonly as ge}from"@prosekit/extensions/readonly";import{isElementLike as _e,isHTMLElement as ve,once as ye}from"@ocavue/utils";import{defineBlockquote as be}from"@prosekit/extensions/blockquote";import{defineDoc as xe}from"@prosekit/extensions/doc";import{defineGapCursor as Se}from"@prosekit/extensions/gap-cursor";import{defineModClickPrevention as Ce}from"@prosekit/extensions/mod-click-prevention";import{defineText as we}from"@prosekit/extensions/text";import{defineVirtualSelection as Te}from"@prosekit/extensions/virtual-selection";import{NodeSelection as Ee,Plugin as v,PluginKey as y,Selection as De,TextSelection as b}from"@prosekit/pm/state";import{Decoration as Oe,DecorationSet as x}from"@prosekit/pm/view";import ke from"rehype-parse";import Ae from"rehype-remark";import je from"remark-gfm";import Me from"remark-stringify";import{unified as Ne}from"unified";import{DOMParser as Pe,DOMSerializer as S,Fragment as C,Mark as Fe,Slice as w}from"@prosekit/pm/model";import{defineHeadingCommands as Ie,defineHeadingInputRule as Le,defineHeadingSpec as Re}from"@prosekit/extensions/heading";import{defineParagraphCommands as ze,defineParagraphKeymap as Be}from"@prosekit/extensions/paragraph";import{LanguageDescription as Ve}from"@codemirror/language";import{languages as He}from"@codemirror/language-data";import{classHighlighter as Ue,highlightTree as We}from"@lezer/highlight";import{createParser as Ge}from"prosemirror-highlight/lezer";import{defineEnterRule as Ke,defineTextBlockEnterRule as qe}from"@prosekit/extensions/enter-rule";import{defineInputRule as Je,defineTextBlockInputRule as Ye}from"@prosekit/extensions/input-rule";import{triggerAutocomplete as Xe}from"@prosekit/extensions/autocomplete";import{defineHorizontalRule as Ze}from"@prosekit/extensions/horizontal-rule";import{AddMarkStep as Qe,AddNodeMarkStep as $e,RemoveMarkStep as et,RemoveNodeMarkStep as tt,ReplaceStep as nt,Step as rt,StepResult as it,Transform as at}from"@prosekit/pm/transform";import{GFM as ot,parser as st}from"@lezer/markdown";import{defineListCommands as ct,defineListDropIndicator as lt,defineListKeymap as ut,defineListSpec as dt,moveList as ft,toggleList as pt,wrapInList as T}from"@prosekit/extensions/list";import{createListRenderingPlugin as mt,createSafariInputMethodWorkaroundPlugin as ht,createToggleCollapsedCommand as gt,defaultAttributesGetter as _t,findCheckboxInListItem as vt,handleListMarkerMouseDown as yt,joinListElements as bt,listToDOM as xt,unwrapListSlice as St,wrappingListInputRule as Ct}from"prosemirror-flat-list";import{defineTableCellSpec as wt,defineTableCommands as Tt,defineTableDropIndicator as Et,defineTableEditingPlugin as Dt,defineTableHeaderCellSpec as Ot,defineTableRowSpec as kt,defineTableSpec as At,deleteTable as jt,isCellSelection as Mt}from"@prosekit/extensions/table";import{closeHistory as Nt}from"@prosekit/pm/history";import{registerResizableHandleElement as Pt,registerResizableRootElement as Ft}from"@prosekit/web/resizable";import{InputRule as It}from"@prosekit/pm/inputrules";function E(e,t,n,r){let i=e.doc.content.size;if(t<0||t>i)return;let a=e.doc.resolve(t);if(!(!a.parent.isTextblock||a.parent.type.spec.code))return ee(a,n,r)}const D=new y(`mark-mode`);function Lt(e){return D.getState(e)}function Rt(e){return new v({key:D,state:{init:()=>e,apply:(e,t)=>e.getMeta(D)??t},props:{attributes:t=>({"data-mark-mode":Lt(t)??e}),decorations:e=>{let t=Lt(e);if(t===`focus`)return Vt(e);if(t===`hide`)return Ht(e)}}})}function zt(e){return(t,n)=>O(t)===e?!1:(n?.(t.tr.setMeta(D,e)),!0)}function Bt(e){return g(m(Rt(e)),s({setMarkMode:zt}))}function O(e){return D.getState(e)}function Vt(e){return Ut(e,void 0)}function Ht(e){return Ut(e,{key:`math`})}function Ut(e,t){let{selection:n}=e;if(!n.empty)return x.empty;let r=n.$head,{parent:i}=r;if(!i.isTextblock||i.type.spec.code)return x.empty;let a=ee(r,te(e.schema,`mdPack`),t);return a?x.create(e.doc,[Oe.inline(a.from,a.to,{class:`show`})]):x.empty}const Wt=[`mdImage`,`mdWikilink`,`mdFile`];function k(e,t){let n=O(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function Gt(e,t,n){for(let r of n){let n=E(e,t,r);if(n)return n}}function A(e,t,n){let r=Gt(e,t,n);return r&&r.to===t?r:void 0}function j(e,t,n){let r=Gt(e,t,n);return r&&r.from===t?r:void 0}function Kt(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=Gt(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function qt(e,t){return b.create(e.doc,t.from,t.to)}function Jt(e,t,n,r){let i=e.doc.resolve(t);if(!(r===-1?i.parentOffset===0:i.parentOffset===i.parent.content.size)||i.depth===0)return;let a=r===-1?j(e,t,n):A(e,t,n),o=r===-1?i.before():i.after(),s=De.findFrom(e.doc.resolve(o),r);if(!s)return;let c=h(s)?r===-1?A(e,s.head,n):j(e,s.head,n):void 0;if(!(a==null&&c==null))return s}function Yt(e){return(t,n)=>{let r=k(e,t);if(r.length===0||!h(t.selection))return!1;let i=t.selection;if(i.empty){let e=j(t,i.from,r);if(e)return n?.(t.tr.setSelection(qt(t,e))),!0;if(A(t,i.from,r)&&i.from<t.doc.resolve(i.from).end())return n?.(t.tr.setSelection(b.create(t.doc,i.from+1))),!0;let a=Jt(t,i.from,r,1);return a?(n?.(t.tr.setSelection(a).scrollIntoView()),!0):!1}let a=Kt(t,r);return a?(n?.(t.tr.setSelection(b.create(t.doc,a.to))),!0):!1}}function Xt(e){return(t,n)=>{let r=k(e,t);if(r.length===0||!h(t.selection))return!1;let i=t.selection;if(i.empty){let e=A(t,i.from,r);if(e)return n?.(t.tr.setSelection(qt(t,e))),!0;let a=Jt(t,i.from,r,-1);return a?(n?.(t.tr.setSelection(a).scrollIntoView()),!0):!1}let a=Kt(t,r);return a?(n?.(t.tr.setSelection(b.create(t.doc,a.from))),!0):!1}}function Zt(e,t){return(n,r)=>{let i=k(e,n);if(i.length===0||!h(n.selection))return!1;let{anchor:a,head:o}=n.selection,s=t===-1?A(n,o,i):j(n,o,i);if(s){let e=t===-1?s.from:s.to;return r?.(n.tr.setSelection(b.create(n.doc,a,e)).scrollIntoView()),!0}let c=Jt(n,o,i,t);return!c||!h(c)?!1:(r?.(n.tr.setSelection(b.create(n.doc,a,c.head)).scrollIntoView()),!0)}}function Qt(e){return(t,n)=>{let r=k(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=A(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!j(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function $t(e){return(t,n)=>{let r=k(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=j(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!A(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}const en=`md-atom-selected`;function tn(e){return new v({key:new y(`atom-mark-selection`),props:{decorations:t=>{let n=k(e,t);if(n.length===0||oe(t.selection))return;let r=Kt(t,n);if(r)return x.create(t.doc,[Oe.inline(r.from,r.to,{class:en})]);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(Oe.inline(t,t+e.nodeSize,{class:en}))}),x.create(t.doc,s)}}})}function nn({marks:e}){return g(_(l({ArrowRight:Yt(e),ArrowLeft:Xt(e),"Shift-ArrowRight":Zt(e,1),"Shift-ArrowLeft":Zt(e,-1),Backspace:Qt(e),Delete:$t(e)}),t.high),m(tn(e)))}const rn=(e,t)=>{let n={type:`highlight`,children:e.all(t)};return e.patch(t,n),n},an=(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 on(){return Ne().use(ke).use(Ae,{handlers:{mark:rn}}).use(je).use(Me,{bullet:`-`,emphasis:`*`,strong:`*`,fence:"`",fences:!0,rule:`-`,ruleRepetition:3,listItemIndent:`one`,handlers:{highlight:an}}).freeze()}const sn=ye(on);function cn(e){return String(sn().processSync(e))}function ln(e){if(e==null)return;let t=Number.parseInt(e,10);return Number.isSafeInteger(t)?t:void 0}function un(e){let t=ln(e);return t!=null&&t>0?t:void 0}const dn=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]),fn=new Set([`mdImage`,`mdWikilink`,`mdMath`,`mdFile`]),pn={mdStrong:`strong`,mdEm:`em`,mdCode:`code`,mdDel:`del`,mdHighlight:`mark`,mdLinkText:`a`};function mn(e){return e.find(e=>fn.has(e.type.name))}function hn(e){return e.some(e=>dn.has(e.type.name))}function gn(e){let t=[];return e.forEach(e=>{if(!e.isText||!e.text)return;let n=mn(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}function _n(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 yn(t,r),r}function vn(e,t,n){return{tag:`${e}[data-md]`,node:t,priority:100,getAttrs:n,getContent:(e,t)=>{let n=(ve(e)?e:void 0)?.getAttribute(`data-md`)??``;return n?C.from(t.text(n)):C.empty}}}function yn(e,t){let n=[];for(let r of gn(e)){if(r.atom!=null){n.length=0,t.append(Sn(r.atom,r.text));continue}for(let e of r.children)hn(e.marks)||(bn(n,e.marks.filter(e=>pn[e.type.name]),t),xn(n.at(-1)?.element??t,e.text??``))}}function bn(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(pn[r.type.name]??`span`);r.type.name===`mdLinkText`&&a.setAttribute(`href`,r.attrs.href),(e.at(-1)?.element??n).append(a),e.push({mark:r,element:a})}}function xn(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
|
-
`).replace(/^\n+/,``).replace(/\n+$/,``);if(!n)return w.empty;let r=
|
|
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 ee,getNodeType as te,isAllSelection as ne,isApple as re,isAtBlockStart as ie,isNodeSelection as ae,isTextSelection as g,setBlockType as oe,toggleNode as se,union as _,unsetBlockType as ce,withPriority as le,withPriority as v,withSkipCodeBlock as ue}from"@prosekit/core";import{defineCodeBlock as de,defineCodeBlockHighlight as fe,defineCodeBlockPreviewPlugin as pe,isCodeBlockPreviewHiddenDecoration as me}from"@prosekit/extensions/code-block";import{definePlaceholder as he}from"@prosekit/extensions/placeholder";import{defineReadonly as ge}from"@prosekit/extensions/readonly";import{isElementLike as _e,isHTMLElement as ve,once as ye}from"@ocavue/utils";import{defineBlockquote as be}from"@prosekit/extensions/blockquote";import{defineDoc as xe}from"@prosekit/extensions/doc";import{defineGapCursor as Se}from"@prosekit/extensions/gap-cursor";import{defineModClickPrevention as Ce}from"@prosekit/extensions/mod-click-prevention";import{defineText as we}from"@prosekit/extensions/text";import{defineVirtualSelection as Te}from"@prosekit/extensions/virtual-selection";import{NodeSelection as Ee,Plugin as y,PluginKey as b,Selection as De,TextSelection as x}from"@prosekit/pm/state";import{Decoration as Oe,DecorationSet as S}from"@prosekit/pm/view";import ke from"rehype-parse";import Ae from"rehype-remark";import je from"remark-gfm";import Me from"remark-stringify";import{unified as Ne}from"unified";import{DOMParser as Pe,DOMSerializer as Fe,Fragment as C,Mark as Ie,Slice as w}from"@prosekit/pm/model";import{defineHeadingCommands as Le,defineHeadingInputRule as Re,defineHeadingSpec as ze}from"@prosekit/extensions/heading";import{defineParagraphCommands as Be,defineParagraphKeymap as Ve}from"@prosekit/extensions/paragraph";import{LanguageDescription as He}from"@codemirror/language";import{languages as Ue}from"@codemirror/language-data";import{classHighlighter as We,highlightTree as Ge}from"@lezer/highlight";import{createParser as Ke}from"prosemirror-highlight/lezer";import{defineEnterRule as qe,defineTextBlockEnterRule as Je}from"@prosekit/extensions/enter-rule";import{defineInputRule as Ye,defineTextBlockInputRule as Xe}from"@prosekit/extensions/input-rule";import{triggerAutocomplete as Ze}from"@prosekit/extensions/autocomplete";import{defineListCommands as Qe,defineListDropIndicator as $e,defineListKeymap as et,defineListSpec as tt,moveList as nt,toggleList as rt,unwrapList as it,wrapInList as T}from"@prosekit/extensions/list";import{chainCommands as at,lift as ot}from"@prosekit/pm/commands";import{defineHorizontalRule as st}from"@prosekit/extensions/horizontal-rule";import{AddMarkStep as ct,AddNodeMarkStep as lt,RemoveMarkStep as ut,RemoveNodeMarkStep as dt,ReplaceStep as ft,Step as pt,StepResult as mt,Transform as ht}from"@prosekit/pm/transform";import{GFM as gt,parser as _t}from"@lezer/markdown";import{createListRenderingPlugin as vt,createSafariInputMethodWorkaroundPlugin as yt,createToggleCollapsedCommand as bt,defaultAttributesGetter as xt,findCheckboxInListItem as St,handleListMarkerMouseDown as Ct,joinListElements as wt,listToDOM as Tt,unwrapListSlice as Et,wrappingListInputRule as Dt}from"prosemirror-flat-list";import{defineTableCellSpec as Ot,defineTableCommands as kt,defineTableDropIndicator as At,defineTableEditingPlugin as jt,defineTableHeaderCellSpec as Mt,defineTableRowSpec as Nt,defineTableSpec as Pt,deleteTable as Ft,isCellSelection as It}from"@prosekit/extensions/table";import{closeHistory as Lt}from"@prosekit/pm/history";import{registerResizableHandleElement as Rt,registerResizableRootElement as zt}from"@prosekit/web/resizable";import{InputRule as Bt}from"@prosekit/pm/inputrules";function E(e,t,n,r){let i=e.doc.content.size;if(t<0||t>i)return;let a=e.doc.resolve(t);if(!(!a.parent.isTextblock||a.parent.type.spec.code))return h(a,n,r)}const D=new b(`mark-mode`);function Vt(e){return D.getState(e)}function Ht(e){return new y({key:D,state:{init:()=>e,apply:(e,t)=>e.getMeta(D)??t},props:{attributes:t=>({"data-mark-mode":Vt(t)??e}),decorations:e=>{let t=Vt(e);if(t===`focus`)return Gt(e);if(t===`hide`)return Kt(e)}}})}function Ut(e){return(t,n)=>O(t)===e?!1:(n?.(t.tr.setMeta(D,e)),!0)}function Wt(e){return _(m(Ht(e)),s({setMarkMode:Ut}))}function O(e){return D.getState(e)}function Gt(e){return qt(e,void 0)}function Kt(e){return qt(e,{key:`math`})}function qt(e,t){let{selection:n}=e;if(!n.empty)return S.empty;let r=n.$head,{parent:i}=r;if(!i.isTextblock||i.type.spec.code)return S.empty;let a=h(r,ee(e.schema,`mdPack`),t);return a?S.create(e.doc,[Oe.inline(a.from,a.to,{class:`show`})]):S.empty}const Jt=[`mdImage`,`mdWikilink`,`mdFile`];function k(e,t){let n=O(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function Yt(e,t,n){for(let r of n){let n=E(e,t,r);if(n)return n}}function A(e,t,n){let r=Yt(e,t,n);return r&&r.to===t?r:void 0}function j(e,t,n){let r=Yt(e,t,n);return r&&r.from===t?r:void 0}function Xt(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=Yt(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function Zt(e,t){return x.create(e.doc,t.from,t.to)}function Qt(e,t,n,r){let i=e.doc.resolve(t);if(!(r===-1?i.parentOffset===0:i.parentOffset===i.parent.content.size)||i.depth===0)return;let a=r===-1?j(e,t,n):A(e,t,n),o=r===-1?i.before():i.after(),s=De.findFrom(e.doc.resolve(o),r);if(!s)return;let c=g(s)?r===-1?A(e,s.head,n):j(e,s.head,n):void 0;if(!(a==null&&c==null))return s}function $t(e){return(t,n)=>{let r=k(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=j(t,i.from,r);if(e)return n?.(t.tr.setSelection(Zt(t,e))),!0;if(A(t,i.from,r)&&i.from<t.doc.resolve(i.from).end())return n?.(t.tr.setSelection(x.create(t.doc,i.from+1))),!0;let a=Qt(t,i.from,r,1);return a?(n?.(t.tr.setSelection(a).scrollIntoView()),!0):!1}let a=Xt(t,r);return a?(n?.(t.tr.setSelection(x.create(t.doc,a.to))),!0):!1}}function en(e){return(t,n)=>{let r=k(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=A(t,i.from,r);if(e)return n?.(t.tr.setSelection(Zt(t,e))),!0;let a=Qt(t,i.from,r,-1);return a?(n?.(t.tr.setSelection(a).scrollIntoView()),!0):!1}let a=Xt(t,r);return a?(n?.(t.tr.setSelection(x.create(t.doc,a.from))),!0):!1}}function tn(e,t){return(n,r)=>{let i=k(e,n);if(i.length===0||!g(n.selection))return!1;let{anchor:a,head:o}=n.selection,s=t===-1?A(n,o,i):j(n,o,i);if(s){let e=t===-1?s.from:s.to;return r?.(n.tr.setSelection(x.create(n.doc,a,e)).scrollIntoView()),!0}let c=Qt(n,o,i,t);return!c||!g(c)?!1:(r?.(n.tr.setSelection(x.create(n.doc,a,c.head)).scrollIntoView()),!0)}}function nn(e){return(t,n)=>{let r=k(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=A(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!j(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function rn(e){return(t,n)=>{let r=k(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=j(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!A(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}const an=`md-atom-selected`;function on(e){return new y({key:new b(`atom-mark-selection`),props:{decorations:t=>{let n=k(e,t);if(n.length===0||ae(t.selection))return;let r=Xt(t,n);if(r)return S.create(t.doc,[Oe.inline(r.from,r.to,{class:an})]);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(Oe.inline(t,t+e.nodeSize,{class:an}))}),S.create(t.doc,s)}}})}function sn({marks:e}){return _(v(l({ArrowRight:$t(e),ArrowLeft:en(e),"Shift-ArrowRight":tn(e,1),"Shift-ArrowLeft":tn(e,-1),Backspace:nn(e),Delete:rn(e)}),t.high),m(on(e)))}const cn=(e,t)=>{let n={type:`highlight`,children:e.all(t)};return e.patch(t,n),n},ln=(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 un(){return Ne().use(ke).use(Ae,{handlers:{mark:cn}}).use(je).use(Me,{bullet:`-`,emphasis:`*`,strong:`*`,fence:"`",fences:!0,rule:`-`,ruleRepetition:3,listItemIndent:`one`,handlers:{highlight:ln}}).freeze()}const dn=ye(un);function fn(e){return String(dn().processSync(e))}function pn(e){if(e==null)return;let t=Number.parseInt(e,10);return Number.isSafeInteger(t)?t:void 0}function mn(e){let t=pn(e);return t!=null&&t>0?t:void 0}const hn=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]),gn=new Set([`mdImage`,`mdWikilink`,`mdMath`,`mdFile`]),_n={mdStrong:`strong`,mdEm:`em`,mdCode:`code`,mdDel:`del`,mdHighlight:`mark`,mdLinkText:`a`};function vn(e){return e.find(e=>gn.has(e.type.name))}function yn(e){return e.some(e=>hn.has(e.type.name))}function bn(e){let t=[];return e.forEach(e=>{if(!e.isText||!e.text)return;let n=vn(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}function xn(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 Cn(t,r),r}function Sn(e,t,n){return{tag:`${e}[data-md]`,node:t,priority:100,getAttrs:n,getContent:(e,t)=>{let n=(ve(e)?e:void 0)?.getAttribute(`data-md`)??``;return n?C.from(t.text(n)):C.empty}}}function Cn(e,t){let n=[];for(let r of bn(e)){if(r.atom!=null){n.length=0,t.append(En(r.atom,r.text));continue}for(let e of r.children)yn(e.marks)||(wn(n,e.marks.filter(e=>_n[e.type.name]),t),Tn(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(_n[r.type.name]??`span`);r.type.name===`mdLinkText`&&a.setAttribute(`href`,r.attrs.href),(e.at(-1)?.element??n).append(a),e.push({mark:r,element:a})}}function Tn(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 En(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 Dn(){return p({name:`heading`,whitespace:`pre`})}function On(e){let t=e.attrs;return xn(`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 kn(){return[1,2,3,4,5,6].map(e=>Sn(`h${e}`,`heading`,t=>({level:e,setextUnderline:mn(t.getAttribute(`data-setext-underline`))??null,closingHashes:mn(t.getAttribute(`data-closing-hashes`))??null})))}function An(){return f({type:`heading`,attr:`setextUnderline`,default:null,toDOM:e=>e==null?null:[`data-setext-underline`,String(e)],parseDOM:e=>mn(e.getAttribute(`data-setext-underline`))??null})}function jn(){return f({type:`heading`,attr:`closingHashes`,default:null,toDOM:e=>e==null?null:[`data-closing-hashes`,String(e)],parseDOM:e=>mn(e.getAttribute(`data-closing-hashes`))??null})}function M(e){return ue(se({type:`heading`,attrs:{level:e}}))}const Mn=(e,t,n)=>ie(e,n)?.parent.type.name===`heading`&&ce()(e,t,n);function Nn(){return l({"Mod-1":M(1),"Mod-2":M(2),"Mod-3":M(3),"Mod-4":M(4),"Mod-5":M(5),"Mod-6":M(6),Backspace:Mn})}function Pn(){return _(ze(),Dn(),An(),jn(),Re(),Le(),Nn())}function Fn(){return p({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function In(e){return xn(`p`,e)}function Ln(){return[Sn(`p`,`paragraph`)]}function Rn(){return _(v(Fn(),t.highest),Be(),Ve())}function zn(e){return{...e,paragraph:e=>({dom:In(e)}),heading:e=>({dom:On(e)})}}function Bn(){return o({serializeFragmentWrapper:e=>(...t)=>{let n=e(...t);for(let e of n.children)e.setAttribute(`data-meowdown`,``);return n},nodesFromSchemaWrapper:e=>(...t)=>zn(e(...t))})}const Vn=new WeakMap;function Hn(e){let t=Vn.get(e);return t??(t=new Fe(zn(Fe.nodesFromSchema(e)),Fe.marksFromSchema(e)),Vn.set(e,t)),t}const Un=new b(`meowdown-html-paste`);function Wn(e){return e.includes(`data-meowdown`)?!0:e.includes(`data-pm-slice`)&&e.includes(`md-mark`)}function Gn(){return m(new y({key:Un,props:{transformPastedHTML:(e,t)=>{if(Wn(e))return e;let n=t.state.selection.$from.parent;if(!n.inlineContent||n.type.spec.code)return e;let r=fn(e);if(!r.trim())return e;let i=X(r,{nodes:hc(t.state.schema)}),a=Hn(t.state.schema),o=document.createElement(`div`);return o.append(a.serializeFragment(i.content)),o.innerHTML}}}))}function Kn(e){return new Pe(e,[...Ln(),...kn(),...Pe.fromSchema(e).rules])}const qn=new b(`meowdown-clipboard-parser`);function Jn(){return m(({schema:e})=>new y({key:qn,props:{clipboardParser:Kn(e)}}))}function Yn(e,t){let n=t.replaceAll(/\r\n?/g,`
|
|
3
|
+
`).replace(/^\n+/,``).replace(/\n+$/,``);if(!n)return w.empty;let r=te(e,`paragraph`),i=[],a=n.split(/(\n{2,})/);for(let t=0;t<a.length;t++){let n=a[t];if(t%2==0)i.push(r.create(null,n?e.text(n):void 0));else{let e=n.length-1;for(let t=1;t<e;t++)i.push(r.create())}}return w.maxOpen(C.from(i))}function Xn(e,t,n){let r=n.marks(),i=Fe.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 Pe.fromSchema(e).parseSlice(a,{preserveWhitespace:!0,context:n})}function Zn(){return m(new y({key:new b(`meowdown-plain-paste`),props:{clipboardTextParser:(e,t,n,r)=>{let{schema:i}=r.state;return n?Xn(i,e,t):Yn(i,e)}}}))}function N(e){return e===32||e===9||e===10||e===13}function Qn(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 $n(e,t=0){return Qn(e,96,t)}function er(e,t={}){let n=new ir;return t.frontmatter&&tr(e.attrs.frontmatter,n),ar(e,n),n.finish()}function tr(e,t){e!==null&&(t.write(`---`),t.write(`
|
|
4
4
|
`),e!==``&&(t.write(e),t.write(`
|
|
5
|
-
`)),t.write(`---`),t.closeBlock())}const
|
|
6
|
-
`+i.repeat(Math.max(1,r))),t.closeBlock();return}t.write(
|
|
5
|
+
`)),t.write(`---`),t.closeBlock())}const nr=[``,`# `,`## `,`### `,`#### `,`##### `,`###### `];function rr(e,t){let n=e.attrs,r=n.setextUnderline;if(r!=null&&e.content.size>0&&n.level<=2){lr(e,t);let i=n.level===1?`=`:`-`;t.write(`
|
|
6
|
+
`+i.repeat(Math.max(1,r))),t.closeBlock();return}t.write(nr[n.level]??`# `),lr(e,t);let i=n.closingHashes;i!=null&&i>0&&t.write(` `+`#`.repeat(i)),t.closeBlock()}var ir=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(`
|
|
7
7
|
`)){this.parts.push(e);return}let t=e.split(`
|
|
8
8
|
`);for(let e=0;e<t.length;e++)e>0&&this.parts.push(`
|
|
9
9
|
`,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(`
|
|
10
10
|
`),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+$/,``)+`
|
|
11
11
|
`}emitDeferredBlankLine(){let e=this.deferredBlankPrefix;e!==null&&(this.parts.push(e.trimEnd(),`
|
|
12
|
-
`),this.deferredBlankPrefix=null)}};function
|
|
12
|
+
`),this.deferredBlankPrefix=null)}};function ar(e,t){switch(e.type.name){case`doc`:or(e,t);return;case`paragraph`:if(e.childCount===0){t.closeEmptyBlock();return}lr(e,t),t.closeBlock();return;case`heading`:rr(e,t);return;case`blockquote`:t.withPrefix(`> `,`> `,()=>or(e,t)),t.closeBlock();return;case`list`:ur(e,t,cr(e));return;case`codeBlock`:dr(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`:mr(e,t);return;case`text`:e.text&&t.write(e.text);return}}function or(e,t,n=!1){let r=e.childCount,i=0;for(;i<r;){let a=e.child(i);if(a.type.name!==`list`){n&&i>0&&t.suppressBlank(),ar(a,t),i++;continue}let o=i+1;for(;o<r&&e.child(o).type.name===`list`;)o++;let s=sr(e,i,o);for(let r=i;r<o;r++)(r===i?n&&i>0:s)&&t.suppressBlank(),ur(e.child(r),t,s);i=o}}function sr(e,t,n){for(let r=t;r<n;r++)if(!cr(e.child(r)))return!1;return!0}function cr(e){let t=e.childCount;for(let n=0;n<t;n++){let t=e.child(n);if(t.type.name!==`list`&&!(t.type.name===`paragraph`&&n===0))return!1}return!0}function lr(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 ur(e,t,n){let{kind:r,marker:i,order:a,taskMarker:o,collapsed:s,markerGap:c,checked:l}=e.attrs,u=r===`task`?i===`+`?`+`:i===`*`?`*`:`-`:s?`+`:i===`*`?`*`:`-`,d=i===`)`?`)`:`.`,f=o===`X`?`X`:`x`,p=Math.min(Math.max(c??1,1),4),m=`${r===`ordered`?`${a??1}${d}`:u}${` `.repeat(p)}`,h=r===`task`?`${m}[${l?f:` `}] `:m,ee=` `.repeat(m.length);t.withPrefix(ee,h,()=>or(e,t,n)),t.closeBlock()}function dr(e,t){let n=e.attrs,r=n.language||``,i=e.textContent;if(n.fenceStyle===`indented`&&!r){let e=fr(i);if(e!=null){t.write(e),t.closeBlock();return}}if(n.fenceStyle===`dollar`&&r===`math`&&!pr(i)){t.write(`$$`),t.write(`
|
|
13
13
|
`),i&&(t.write(i),t.write(`
|
|
14
|
-
`)),t.write(`$$`),t.closeBlock();return}let a=n.fenceStyle===`tilde`,o=
|
|
14
|
+
`)),t.write(`$$`),t.closeBlock();return}let a=n.fenceStyle===`tilde`,o=Qn(i,a?126:96,2)+1,s=(a?`~`:"`").repeat(Math.max(n.fenceLength??0,o));t.write(s),r&&t.write(r),t.write(`
|
|
15
15
|
`),i&&(t.write(i),t.write(`
|
|
16
|
-
`)),t.write(s),t.closeBlock()}function
|
|
16
|
+
`)),t.write(s),t.closeBlock()}function fr(e){if(e===``)return;let t=e.split(`
|
|
17
17
|
`);if(!(t[0]===``||t[t.length-1]===``)){for(let e=0;e<t.length;e++)t[e]!==``&&(t[e]=` ${t[e]}`);return t.join(`
|
|
18
|
-
`)}}function
|
|
19
|
-
`).some(e=>e.trim()===`$$`)}function
|
|
18
|
+
`)}}function pr(e){return e.split(`
|
|
19
|
+
`).some(e=>e.trim()===`$$`)}function mr(e,t){let n=e.childCount;if(n===0)return;let r=[],i=0,a=-1;for(let t=0;t<n;t++){let n=e.child(t),o=[],s=!1;for(let e=0;e<n.childCount;e++){let t=n.child(e);t.type.name===`tableHeaderCell`&&(s=!0),o.push(_r(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(hr(n))}let c=`| `+s.join(` | `)+` |`,l=a>=0?r[a]:Array(i).fill(``);t.write(gr(l,i)),t.write(`
|
|
20
20
|
`),t.write(c);for(let e=0;e<n;e++)e!==a&&(t.write(`
|
|
21
|
-
`),t.write(
|
|
21
|
+
`),t.write(gr(r[e],i)));t.closeBlock()}function hr(e){switch(e){case`left`:return`:--`;case`center`:return`:-:`;case`right`:return`--:`;default:return`---`}}function gr(e,t){let n=`|`;for(let r=0;r<t;r++)n+=` `+(e[r]??``)+` |`;return n}function _r(e){let t=e.textContent.trim();return!t.includes(`|`)&&!t.includes(`
|
|
22
22
|
`)?t:t.replaceAll(`|`,String.raw`\|`).replaceAll(`
|
|
23
|
-
`,` `)}function
|
|
23
|
+
`,` `)}function vr(e,t){let n=t.content,r;try{r=e.topNodeType.createAndFill(void 0,n)??void 0}catch{r=void 0}return r?er(r).replace(/\n+$/,``):n.textBetween(0,n.size,`
|
|
24
24
|
`,`
|
|
25
|
-
`)}function mr(){return m(new v({key:new y(`meowdown-plain-text-copy`),props:{clipboardTextSerializer:(e,t)=>{let n=O(t.state)===`hide`?hr(e):e;return pr(t.state.schema,n)}}}))}function hr(e){return new w(gr(e.content),e.openStart,e.openEnd)}function gr(e){let t=[];return e.forEach(e=>{t.push(e.isTextblock?vr(e):_r(e))}),C.from(t)}function _r(e){return e.childCount>0?e.copy(gr(e.content)):e}function vr(e){let t=e.type.schema,n=[];for(let r of gn(e)){let e=r.atom;if(e!=null){if(e.type.name===`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)hn(e.marks)||n.push(e)}return e.copy(C.from(n))}function yr(){return g(In(),mr(),Wn(),Vn(),qn())}const F=new Map,br=new Map,xr={math:`latex`};async function Sr(e){let t=F.get(e);if(t!==void 0)return t;let n=Ve.matchLanguageName(He,xr[e]??e,!0);if(!n)return F.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),F.set(e,null),null}return F.set(e,r),r}function Cr(e,t){let n=br.get(e);if(n)return n;let r=Ge({parse:e=>t.language.parser.parse(e.content),highlighter:Ue});return br.set(e,r),r}const wr=e=>{let t=e.language?.trim();if(!t)return[];let n=F.get(t);return n===null?[]:n?Cr(t,n)(e):Sr(t).then(()=>void 0)};function Tr(){return fe({parser:wr,nodeTypes:[`codeBlock`]})}function Er(e,t){let n=t.language.parser.parse(e),r=[];return We(n,Ue,(e,t,n)=>{r.push([e,t,n])}),r}function Dr(e,t){let n=t.trim();if(!n)return[];let r=F.get(n);return r===null?[]:r?Er(e,r):Sr(n).then(t=>t?Er(e,t):[])}function Or(){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 kr(){return f({type:`codeBlock`,attr:`fenceLength`,default:null,toDOM:e=>e==null?null:[`data-fence-length`,String(e)],parseDOM:e=>{let t=ln(e.getAttribute(`data-fence-length`));return t!=null&&t>3?t:null}})}function Ar(e){return{language:e[1]||``,fenceStyle:`tilde`}}function jr(){return Ye({regex:/^~~~(\S*)\s$/,type:`codeBlock`,attrs:Ar})}function Mr(){return qe({regex:/^~~~(\S*)$/,type:`codeBlock`,attrs:Ar})}function Nr(){return qe({regex:/^\$\$$/,type:`codeBlock`,attrs:()=>({language:`math`,fenceStyle:`dollar`})})}function Pr(){return g(de(),Or(),kr(),jr(),Mr(),Nr())}function Fr(e,t){return(n,r)=>{if(r){let i=b.create(n.doc,e,t);r(n.tr.setSelection(i))}return!0}}function Ir(e,t,n){return(r,i)=>{if(i){let a=b.between(e,t,n);i(r.tr.setSelection(a))}return!0}}function Lr(e){return(t,n)=>{if(!e.trim())return!1;let r=X(e,{nodes:nc(t.schema)}).content;if(r.childCount===0)return!1;let i=r.childCount===1&&r.child(0).type.name===`paragraph`?new w(r,1,1):new w(r,0,w.maxOpen(r).openEnd);if(n){let e=t.tr,r=e.selection;(!h(r)||!r.empty)&&e.setSelection(b.near(r.$from)),n(e.replaceSelection(i).scrollIntoView())}return!0}}function Rr(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);Xe(s),n(s.scrollIntoView())}return!0}}function zr(){return(e,t)=>(t&&t(e.tr.scrollIntoView()),!0)}function Br(){return s({insertMarkdown:Lr,insertTrigger:Rr,scrollIntoView:zr,selectText:Fr,selectTextBetween:Ir})}const Vr=(e,t,n)=>{let{selection:r}=e;return r.empty||n?.composing?!1:(t?.(e.tr.setSelection(b.near(r.$head))),!0)};function Hr(){return _(l({Escape:Vr}),t.low)}function Ur(){return f({type:`doc`,attr:`frontmatter`,default:null})}function Wr(e,t){return t(e.state,e.dispatch,e)}const Gr=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]);function Kr(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 I(e,t){let n=Kr(e,t);return n!=null&&n.some(e=>Gr.has(e.type.name))}function L(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 R(e,t){if(!L(e,t))return;let n=e.doc.resolve(t).start(),r=t;for(;r>n&&I(e,r-1);)r--;return r<t?{from:r,to:t}:void 0}function z(e,t){if(!L(e,t))return;let n=e.doc.resolve(t).end(),r=t;for(;r<n&&I(e,r);)r++;return r>t?{from:t,to:r}:void 0}function qr(e,t){return I(e,t-1)&&I(e,t)}function Jr(e,t){if(!qr(e,t))return;let n=R(e,t),r=z(e,t);if(!(n==null||r==null))return{from:n.from,to:r.to}}function Yr(e,t,n){let r=Kr(e,t);return r!=null&&n.isInSet(r)}function Xr(e,t){let n=Kr(e,t);if(n==null)return;let r=te(e.schema,`mdPack`),i=n.filter(e=>e.type===r);if(i.length===0)return;let a=e.doc.resolve(t),o=a.start(),s=a.end(),c;for(let n of i){let r=t;for(;r>o&&Yr(e,r-1,n);)r--;let i=t+1;for(;i<s&&Yr(e,i,n);)i++;(c==null||i-r<c.to-c.from)&&(c={from:r,to:i})}return c}function B(e,t,n){let r=Xr(e,n===`from`?t.from:t.to-1);return r==null?!1:n===`from`?r.from===t.from:r.to===t.to}function Zr(e,t,n){let r=B(e,t,`from`),i=B(e,t,`to`);return r&&!i?t.from:i&&!r?t.to:n-t.from<=t.to-n?t.from:t.to}function Qr(e,t,n,r){if(!L(e,n))return n;let i=Jr(e,n);if(i!=null)return r?Zr(e,i,n):n>=t?i.to:i.from;if(!r)return n;let a=R(e,n);if(a!=null&&B(e,a,`from`))return a.from;let o=z(e,n);return o!=null&&B(e,o,`to`)?o.to:n}function $r(e,t){if(!L(e,t))return;let n=I(e,t-1),r=I(e,t);if(n!==r)return r?`left`:`right`}function ei(e,t){let n=Xr(e,t);if(n==null)return[];let r=z(e,n.from),i=R(e,n.to),a=[];return i!=null&&a.push(i),r!=null&&(i==null||r.from!==i.from)&&a.push(r),a}const ti=new y(`meowdown-hidden-run-snap`),ni=new y(`meowdown-hidden-run-beforeinput`);function ri(){let e=!1;return new v({key:ti,props:{handleDOMEvents:{compositionstart:()=>(e=!0,!1),compositionend:()=>(e=!1,!1)}},appendTransaction:(t,n,r)=>{if(e||O(r)!==`hide`)return null;let i=r.selection;if(!h(i))return null;let a=t.some(e=>e.getMeta(`pointer`)!=null);if(i.empty){let e=Qr(r,n.selection.head,i.head,a);return e===i.head?null:r.tr.setSelection(b.create(r.doc,e))}let o=Jr(r,i.from)?.from??i.from,s=Jr(r,i.to)?.to??i.to;if(o===i.from&&s===i.to)return null;let c=i.anchor===i.from?o:s,l=i.head===i.from?o:s;return r.tr.setSelection(b.create(r.doc,c,l))}})}const ii=(e,t)=>{if(O(e)!==`hide`)return!1;let n=e.selection;if(!h(n)||!n.empty)return!1;let r=Qr(e,n.head,n.head,!0);return r===n.head||t?.(e.tr.setSelection(b.create(e.doc,r))),!1};function ai(e){return(t,n)=>{if(O(t)!==`hide`)return!1;let r=t.selection;if(!h(r)||!r.empty)return!1;let i=r.$head;if(!i.parent.isTextblock||i.parent.type.spec.code)return!1;let a=e===-1?R(t,r.head):z(t,r.head);if(a==null)return!1;let o=ei(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 oi=ai(-1),si=ai(1);function ci(){return new v({key:ni,props:{handleDOMEvents:{beforeinput:(e,t)=>{if(e.composing)return!1;let n=t.inputType===`deleteContentBackward`?oi:t.inputType===`deleteContentForward`?si:void 0;return n==null||!Wr(e,n)?!1:(t.preventDefault(),!0)}}}})}function li(){return g(m(ri()),m(ci()),_(l({Enter:ii,Backspace:oi,Delete:si}),t.highest))}function ui(){return f({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function di(){return g(Ze(),ui())}function fi(){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 pi(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function mi(e,t){let[n,r,i]=t;return[n,r,i.map(t=>Fe.fromJSON(e,t))]}function hi(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}var gi=class e extends rt{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return it.ok(e);let t=e.content.size,n;for(let[r,i,a]of this.chunks){if(r>=i)continue;let o=Math.max(0,Math.min(r,t)),s=Math.max(o,Math.min(i,t));if(o>=s)continue;let c=Fe.setFrom(a);e.nodesBetween(o,s,(t,r)=>{if(!t.isText)return!0;let i=Math.max(o,r),a=Math.min(s,r+t.nodeSize);if(i>=a)return!1;let l=t.marks;if(hi(l,c))return!1;n??=new at(e);for(let e of l)n.removeMark(i,a,e);for(let e of c)n.addMark(i,a,e);return!1})}return it.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return _i;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 nt(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(pi)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>mi(t,e)))}};rt.jsonID(`batchSetMark`,gi);const _i=new gi([]),vi=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),yi=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function bi(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function xi(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!vi.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!yi.test(e))return!1;return!0}function Si(e){if(/^[a-z][a-z0-9+.-]*:/i.test(e))return e;if(/^[^\s@]+@[^\s@]+$/.test(e))return`mailto:${e}`;if(/^www\./i.test(e)||xi(bi(e)))return`https://${e}`}const Ci=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,wi=/[\s(*_~]/;function Ti(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function Ei(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function Di(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&Ei(e,t,`)`)>Ei(e,t,`(`))t--;else if(n===`;`){let n=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(0,t));if(!n)break;t=n.index}else break}return t}const Oi={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!Ti(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!wi.test(r))return-1;let i=Ci.exec(e.slice(n,e.end));if(!i)return-1;let a=Di(i[0]);return a===0||!xi(bi(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function ki(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45||e===95||e>127&&/[\p{L}\p{N}]/u.test(String.fromCharCode(e))}function Ai(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const ji={defineNodes:[{name:`Hashtag`}],parseInline:[{name:`Hashtag`,parse(e,t,n){if(t!==35||!/\s|^$/.test(e.slice(n-1,n)))return-1;let r=n+1,i=!1;for(;r<e.end;){let t=e.char(r);if(!ki(t))break;i||=Ai(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},Mi={resolve:`Highlight`,mark:`HighlightMark`},Ni=/[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~\u{A1}\u{2010}-\u{2027}]/u,Pi={defineNodes:[{name:`Highlight`},{name:`HighlightMark`}],parseInline:[{name:`Highlight`,after:`Emphasis`,parse(e,t,n){if(t!==61||e.char(n+1)!==61||e.char(n+2)===61)return-1;let r=e.slice(n-1,n),i=e.slice(n+2,n+3),a=/\s|^$/.test(r),o=/\s|^$/.test(i),s=Ni.test(r),c=Ni.test(i);return e.addDelimiter(Mi,n,n+2,!o&&(!c||a||s),!a&&(!s||o||c))}}]};function Fi(e){return e>=48&&e<=57}function Ii(e){return e.next!==36||e.text.charCodeAt(e.pos+1)!==36||e.text.charCodeAt(e.pos+2)===36?!1:e.skipSpace(e.pos+2)===e.text.length}function Li(e){let t=e.depth;return typeof t==`number`?t:2**53-1}const Ri={defineNodes:[{name:`InlineMath`},{name:`InlineMathMark`},{name:`BlockMath`,block:!0},{name:`BlockMathMark`}],parseBlock:[{name:`BlockMath`,before:`FencedCode`,parse(e,t){if(!Ii(t))return!1;let n=e.lineStart+t.pos,r=[e.elt(`BlockMathMark`,n,n+2)];for(let n=!0,i=!0,a=!1;!(!e.nextLine()||Li(t)<e.depth);n=!1){if(Ii(t)){i&&a&&r.push(e.elt(`CodeText`,e.lineStart-1,e.lineStart)),r.push(e.elt(`BlockMathMark`,e.lineStart+t.pos,e.lineStart+t.pos+2)),e.nextLine();break}a=!0,n||(r.push(e.elt(`CodeText`,e.lineStart-1,e.lineStart)),i=!1);let o=e.lineStart+t.basePos,s=e.lineStart+t.text.length;o<s&&(r.push(e.elt(`CodeText`,o,s)),i=!1)}return e.addElement(e.elt(`BlockMath`,n,e.prevLineEnd(),r)),!0},endLeaf(e,t){return Ii(t)}}],parseInline:[{name:`InlineMath`,after:`InlineCode`,parse(e,t,n){if(t!==36||e.char(n-1)===36)return-1;let r=e.char(n+1)===36?2:1;if(e.char(n+r)===36)return-1;let i=n+r;if(N(e.char(i)))return-1;for(let t=i;t<e.end;t++){let a=e.char(t);if(a===10)return-1;if(a===92){t++;continue}if(a!==36)continue;let o=1;for(;e.char(t+o)===36;)o++;if(o!==r||N(e.char(t-1))||Fi(e.char(t+o)))return-1;let s=t+o;return e.addElement(e.elt(`InlineMath`,n,s,[e.elt(`InlineMathMark`,n,i),e.elt(`InlineMathMark`,t,s)]))}return-1}}]},zi=/^[a-z][a-z0-9+.-]*:\/\/[^\s<]+/i;function Bi(e){return e>=65&&e<=90||e>=97&&e<=122}const Vi={parseInline:[{name:`SchemeAutolink`,after:`Autolink`,parse(e,t,n){if(!Bi(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!wi.test(r))return-1;let i=zi.exec(e.slice(n,e.end));if(!i)return-1;let a=Di(i[0]);return a<=i[0].indexOf(`://`)+3?-1:e.addElement(e.elt(`URL`,n,n+a))}}]},Hi={defineNodes:[{name:`Wikilink`},{name:`WikilinkMark`}],parseInline:[{name:`Wikilink`,before:`Link`,parse(e,t,n){if(t!==91||e.char(n+1)!==91)return-1;let r=!1;for(let t=n+2;t<e.end-1;t++){let i=e.char(t);if(i===93){if(e.char(t+1)!==93||!r)return-1;let i=t+2;return e.addElement(e.elt(`Wikilink`,n,i,[e.elt(`WikilinkMark`,n,n+2),e.elt(`WikilinkMark`,t,i)]))}if(i===91||i===10)return-1;i!==32&&i!==9&&(r=!0)}return-1}}]};function Ui(e){return e.end}const Wi=st.configure([ot,ji,Hi,Oi,Vi,Pi,Ri]),Gi=Wi.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:Ui}]});function Ki(e){return Wi.parseInline(e,0)}function qi(e,t,n=[]){for(let r of e)t(r)&&n.push(r),qi(r.children,t,n);return n}function Ji(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const V=Ji(Wi),Yi=/^<!--\s*(\{[^}]*\})\s*-->$/,Xi=/<!--\s*\{[^}]*\}\s*-->$/;function Zi(e){let t=Yi.exec(e.trim());if(!t)return;let n;try{n=JSON.parse(t[1])}catch{return}if(typeof n!=`object`||!n)return;let r=Qi(n);return Object.keys(r).length>0?r:void 0}function Qi(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 $i(e){return`<!-- ${JSON.stringify(e)} -->`}function ea(e){return e.replace(Xi,``)}function ta(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 na(){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 ra(){return d({name:`mdWikilink`,constructor:na()})}const ia=new Map([[V.Emphasis,`mdEm`],[V.StrongEmphasis,`mdStrong`],[V.InlineCode,`mdCode`],[V.Strikethrough,`mdDel`],[V.Highlight,`mdHighlight`],[V.EmphasisMark,`mdMark`],[V.CodeMark,`mdMark`],[V.LinkMark,`mdMark`],[V.StrikethroughMark,`mdMark`],[V.HighlightMark,`mdMark`],[V.URL,`mdLinkUri`],[V.LinkTitle,`mdLinkTitle`],[V.Hashtag,`mdTag`],[V.WikilinkMark,`mdMark`]]);function aa(e,t,n){let r=Ki(t),i=[];return sa(r,[],0,t.length,t,e,i,n),i}function oa(e){return e.slice(1,-1).replaceAll(/\\(.)/g,`$1`)}function sa(e,t,n,r,i,a,o,s){let c=n;for(let n=0;n<e.length;n++){let r=e[n];r.from>c&&H(o,c,r.from,t);let l=r.type;if(l===V.Link){let e=ua(r,t,i,a,s);e?H(o,r.from,r.to,e):da(r,t,i,a,o)}else if(l===V.Image){let s=fa(r,e[n+1],i);pa(r,t,i,a,o,s),s&&n++,c=s?s.to:r.to;continue}else if(l===V.Wikilink)ha(r,t,i,a,o);else if(l===V.InlineMath)ma(r,t,i,a,o);else if(l===V.URL){let e=Si(i.slice(r.from,r.to)),n=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();H(o,r.from,r.to,[...t,n])}else{let e;l===V.Emphasis?e=`italic`:l===V.StrongEmphasis?e=`bold`:l===V.InlineCode?e=`code`:l===V.Strikethrough?e=`strike`:l===V.Highlight?e=`highlight`:l===V.Autolink&&(e=`autolink`);let n=e?[...t,a.mdPack.create({key:e})]:t,c=ia.get(l),u=c?[...n,a[c].create()]:n;r.children.length===0?H(o,r.from,r.to,u):sa(r.children,u,r.from,r.to,i,a,o,s)}c=r.to}c<r&&H(o,c,r,t)}function ca(e){let t=-1,n=-1,r=null,i=null,a=0;for(let o of e.children)o.type===V.LinkMark?(a++,a===1&&(t=o.to),a===2&&(n=o.from)):o.type===V.URL&&r===null?r=o:o.type===V.LinkTitle&&i===null&&(i=o);return{labelFrom:t,labelTo:n,urlNode:r,titleNode:i}}function la(e){let t=e.split(/[?#]/,1)[0],n=t.split(/[/\\]/).findLast(Boolean)??t;try{return decodeURIComponent(n)}catch{return n}}function ua(e,t,n,r,i){let a=i?.resolveFileLink;if(!a)return;let{labelFrom:o,labelTo:s,urlNode:c,titleNode:l}=ca(e);if(o<0||s<0||!c)return;let u=n.slice(c.from,c.to);if(!u)return;let d=n.slice(o,s),f=l?oa(n.slice(l.from,l.to)):``;if(!a({href:u,label:d,title:f}))return;let p=d||la(u);return[...t,r.mdFile.create({href:u,name:p,title:f})]}function da(e,t,n,r,i){let{labelTo:a,urlNode:o,titleNode:s}=ca(e),c=o?n.slice(o.from,o.to):``,l=s?oa(n.slice(s.from,s.to)):``,u=c?r.mdLinkText.create({href:c}):null,d=e=>a>=0&&e<a&&u!==null,f=r.mdPack.create({key:`link`,data:{href:c,title:l}}),p=[...t,f],m=e.from;for(let t of e.children){if(t.from>m){let e=d(m)?[...p,u]:p;H(i,m,t.from,e)}let e=d(t.from)?[...p,u]:p;if(t.type===V.Wikilink){ha(t,e,n,r,i),m=t.to;continue}let a=ia.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?H(i,t.from,t.to,o):sa(t.children,o,t.from,t.to,n,r,i,void 0),m=t.to}m<e.to&&H(i,m,e.to,p)}function fa(e,t,n){if(!t||t.type!==V.Comment||t.from!==e.to)return;let r=Zi(n.slice(t.from,t.to));if(r)return{magic:r,to:t.to}}function pa(e,t,n,r,i,a){let o=e.children.find(e=>e.type===V.URL);if(!o){da(e,t,n,r,i);return}let s=e.children.filter(e=>e.type===V.LinkMark),c=e.children.find(e=>e.type===V.LinkTitle),l=n.slice(o.from,o.to),u=s.length>=2?n.slice(s[0].to,s[1].from):``,d=c?oa(n.slice(c.from,c.to)):``,f=a?.magic.width??null,p=a?.magic.height??null,m=a?.to??e.to;H(i,e.from,m,[...t,r.mdImage.create({src:l,alt:u,title:d,width:f,height:p})])}function ma(e,t,n,r,i){let a=e.children.filter(e=>e.type===V.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 ha(e,t,n,r,i){let{target:a,display:o}=ta(n.slice(e.from,e.to));H(i,e.from,e.to,[...t,r.mdWikilink.create({target:a,display:o})])}function H(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&hi(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const ga=`inline-marks-applied`;let _a=0,va=0;function ya(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 ba(e){let t=new WeakMap;function n(n,r,i){let a=t.get(n);if(a?va++:(_a++,a=aa(ec(i),n.textContent,e),t.set(n,a)),r===0)return a;let o=[];for(let[e,t,n]of a)o.push([e+r,t+r,n]);return o}function r(e,t){let r=[];return e.doc.nodesBetween(t.from,t.to,(t,i)=>{if(t.type.spec.code)return!1;if(!t.isTextblock)return!0;if(t.childCount===0)return!1;let a=n(t,i+1,e.schema);return a.length>0&&r.push(...a),!1}),r}return new v({key:new y(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(ga))return null;let i=r(n,ya(e,n));if(i.length===0)return null;let a=n.tr.step(new gi(i));return a.setMeta(ga,!0),a.setMeta(`addToHistory`,!1),a},view(e){return e.dispatch(xa(e.state)),{}}})}function xa(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function Sa(e){return m(ba(e))}function Ca(){return u({name:`mdImage`,inclusive:!1,attrs:{src:{default:``},alt:{default:``},title:{default:``},width:{default:null},height:{default:null}},toDOM:()=>[`span`,{class:`md-image`},0],parseDOM:[{tag:`span.md-image`}]})}function wa(){return u({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function Ta(){return u({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function Ea(){return u({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function Da(){return u({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function Oa(){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 ka(){return u({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function Aa(){return u({name:`mdLinkTitle`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-title`},0],parseDOM:[{tag:`span.md-link-title`}]})}function ja(){return u({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function Ma(){return u({name:`mdHighlight`,toDOM:()=>[`mark`,0],parseDOM:[{tag:`mark`}]})}function Na(){return u({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function Pa(){return u({name:`mdWikilink`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink`},0],parseDOM:[{tag:`span.md-wikilink`}]})}function Fa(){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 Ia(){return u({name:`mdMath`,inclusive:!1,attrs:{formula:{default:``}},toDOM:()=>[`span`,{class:`md-math`},0],parseDOM:[{tag:`span.md-math`}]})}function La(){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 Ra(){return g(wa(),Ta(),Ea(),Da(),Oa(),ka(),Aa(),ja(),Ma(),Na(),Pa(),Ca(),Fa(),Ia(),La())}const U={em:{node:V.Emphasis,delim:`*`},strong:{node:V.StrongEmphasis,delim:`**`},code:{node:V.InlineCode,delim:"`"},del:{node:V.Strikethrough,delim:`~~`},highlight:{node:V.Highlight,delim:`==`}},za=new Set([V.EmphasisMark,V.CodeMark,V.LinkMark,V.StrikethroughMark,V.HighlightMark]);function Ba(e){return[e.children[0],e.children.at(-1)]}function Va(e){let{type:t,children:n}=e;if(t===V.Emphasis||t===V.StrongEmphasis||t===V.Strikethrough||t===V.Highlight)return[n[0].to,n.at(-1).from];if(t===V.Link||t===V.Image){let e=n.find((e,t)=>t>0&&e.type===V.LinkMark);return e?[n[0].to,e.from]:null}return null}function Ha(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=Va(r);return i&&i[0]<=t&&n<=i[1]?Ha(r.children,t,n):Ha(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function Ua(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return Ua(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}function Wa(e,t,n){for(;t<n&&N(e.charCodeAt(t));)t++;for(;n>t&&N(e.charCodeAt(n-1));)n--;return[t,n]}function Ga(e,t,n,r){let i=qi(Ki(e),e=>e.type===r.node||za.has(e.type));for(let r=t;r<n;r++)if(!N(e.charCodeAt(r))&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function Ka(e,t,n,r,i){let a=Ki(e),o=qi(a,e=>e.type===r.node);return i?Ya(e,o,t,n):qa(e,a,o,t,n,r)}function qa(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=Ha(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]=Ba(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=Ja(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function Ja(e,t,n,r,i){if(i.node!==V.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(Yn(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function Ya(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=Ba(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=Ua(a.children.slice(1,-1),s,c);s>t.to&&N(e.charCodeAt(s-1));)s--;for(;c<o.from&&N(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 Xa(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=Ki(e),o=qi(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=Ba(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return Za(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function Za(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=Va(n);return!e||t<e[0]||t>e[1]||Za(n.children,t)}return!1}function W(e){return(t,n)=>{if(t.selection.empty)return Qa(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]=Wa(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:Ga(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>Ka(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(b.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 Qa(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=Xa(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(b.create(o.doc,i+a.pos)),a.kind===`insert`&&(o.insertText(e.delim+e.delim,i+a.pos),o.setSelection(b.create(o.doc,i+a.pos+e.delim.length))),n(o.scrollIntoView())}return!0}function $a(){return s({toggleEm:()=>W(U.em),toggleStrong:()=>W(U.strong),toggleCode:()=>W(U.code),toggleDel:()=>W(U.del),toggleHighlight:()=>W(U.highlight)})}function eo(){return l({"Mod-b":W(U.strong),"Mod-i":W(U.em),"Mod-e":W(U.code),"Mod-Shift-x":W(U.del),"Mod-Shift-h":W(U.highlight)})}function to(){return g($a(),eo())}function no(e,t,n){let r;return e.doc.nodesBetween(t.from,t.to,(e,i)=>(e.isText&&e.marks.some(e=>e.type.name===n)&&(r={from:Math.max(i,t.from),to:Math.min(i+e.nodeSize,t.to)}),!0)),r}function G(e,t){let n=E(e,t,`mdLinkText`),r=E(e,t,`mdPack`,{key:`link`})??E(e,t,`mdPack`,{key:`autolink`}),i=r??n;if(!i)return;let a=r?.mark.attrs,o=n?.mark.attrs?.href??``;if(!r||a?.key!==`link`){let t={from:i.from,to:i.to};return{unit:t,text:a?.key===`autolink`?no(e,t,`mdLinkText`)??{from:i.from+1,to:i.to-1}:t,href:o,title:``}}let s=no(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 ro(e){let t=e.trim();return t?Si(t)??t:``}function io(e,t){return e+(t?` "${t.replaceAll(/(["\\])/g,String.raw`\$1`)}"`:``)}function ao(e){let{selection:t}=e,{$from:n,$to:r,empty:i}=t;if(i||!n.sameParent(r)||!h(t))return;let a=n.parent;if(!a.isTextblock||a.type.spec.code)return;let o=n.start(),[s,c]=Wa(a.textContent,n.parentOffset,r.parentOffset);if(!(s>=c))return{from:o+s,to:o+c}}function oo({href:e,title:t,wrapText:n=!0}={}){return(r,i)=>{let a=ao(r);if(!a)return!1;if(i){let{from:o,to:s}=a,c=r.tr,l=`](${io(ro(e??``),t??``)})`;c.insertText(l,s).insertText(`[`,o);let u=s+1+l.length;c.setSelection(n?b.create(c.doc,o,u):b.create(c.doc,u)),c.scrollIntoView(),i(c)}return!0}}function so(e){return(t,n)=>{let r=G(t,t.selection.from);if(!r?.dest)return!1;let i=io(ro(e.href??r.href),e.title??r.title);return n&&n(t.tr.insertText(i,r.dest.from,r.dest.to).scrollIntoView()),!0}}function co(){return(e,t)=>{let n=G(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 lo(){return s({insertLink:oo,updateLink:so,removeLink:co})}function uo(e){return(t,n,r)=>{let i=G(t,t.selection.from);if(i){if(n&&r){let{unit:{from:a,to:o}}=i;n(t.tr.setSelection(b.create(t.doc,a,o)).scrollIntoView()),r.focus(),e({from:a,to:o,link:i})}return!0}let a=ao(t);if(a){if(n&&r){let{from:i,to:o}=a;n(t.tr.setSelection(b.create(t.doc,i,o)).scrollIntoView()),r.focus(),e({from:i,to:o,link:void 0})}return!0}return!1}}function fo(e){return l({"Mod-k":uo(e)})}function po(e){return e===`)`||e===`*`||e===`+`?e:void 0}function mo(e){return e===`X`?e:void 0}function ho(e){return vo(e)?String(e):void 0}function go(){return f({type:`list`,attr:`marker`,default:null,splittable:!0,toDOM:e=>{let t=po(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 _o(){return f({type:`list`,attr:`taskMarker`,default:null,splittable:!0,toDOM:e=>{let t=mo(e);return t==null?null:[`data-list-task-marker`,t]},parseDOM:e=>e.getAttribute(`data-list-task-marker`)===`X`?`X`:null})}function vo(e){return e===2||e===3||e===4}function yo(){return f({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>{let t=ho(e);return t==null?null:[`data-list-marker-gap`,t]},parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return vo(t)?t:1}})}function bo(e){let t=e.attrs;return{..._t(e),"data-list-marker":po(t.marker),"data-list-task-marker":mo(t.taskMarker),"data-list-marker-gap":ho(t.markerGap)}}function xo(){return o({serializeFragmentWrapper:e=>(...t)=>So(bt(e(...t))),serializeNodeWrapper:e=>(...t)=>{let n=e(...t);return _e(n)?So(bt(n)):n},nodesFromSchemaWrapper:e=>(...t)=>({...e(...t),list:e=>xt({node:e,nativeList:!0,getAttributes:bo})})})}function So(e){_e(e)&&Co(e);for(let t of e.children)So(t);return e}function Co(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=vt(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 wo=[Ct(/^\s?([*-])\s$/,{kind:`bullet`,collapsed:!1}),Ct(/^\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}}),Ct(/^\s?\[([\sX]?)\]\s$/i,({match:e})=>({kind:`task`,checked:[`x`,`X`].includes(e[1]),collapsed:!1})),Ct(/^\s?\+\s$/,{kind:`task`,marker:`+`,checked:!1,collapsed:!1})];function To(){return g(wo.map(Je))}function Eo(){return T({kind:`task`,marker:`+`})}function Do(){return T({kind:`task`,marker:null})}function Oo(e){let{$from:t}=e.selection;for(let e=t.depth;e>0;e--){let n=t.node(e);if(n.type.name===`list`)return n.attrs}return null}function ko(){return(e,t,n)=>{let r=Oo(e);return(r?.kind===`task`?r.marker===`+`?Do():Eo():T({kind:`task`,marker:null,checked:!1}))(e,t,n)}}function Ao(){return s({cycleCheckableList:ko,wrapInCircleTask:Eo,wrapInSquareTask:Do})}function jo(){return(e,t,n)=>{let r=Oo(e),i=r?.kind===`task`&&r.marker!==`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:r?.marker??null,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:null,checked:!1},T(a)(e,t,n)}}function Mo(){return(e,t,n)=>{let r=Oo(e),i=r?.kind===`task`&&r.marker===`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:`+`,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:`+`,checked:!1},T(a)(e,t,n)}}function No(e){return e.type.name===`list`&&e.attrs.kind===`bullet`&&e.childCount>=2&&e.firstChild?.type!==e.type}const Po=e=>{let t=e.attrs;return t.kind===`task`?{...t,checked:!t.checked}:No(e)?{...t,collapsed:!t.collapsed}:t};function Fo(){return m(()=>[new v({props:{handleDOMEvents:{mousedown:(e,t)=>yt({view:e,event:t,onListClick:Po})}}}),mt(),new v({props:{transformCopied:St}}),ht()])}function Io(){return s({toggleListCollapsed:()=>gt({isToggleable:No})})}function Lo(){return l({"Mod-Enter":jo(),"Mod-Shift-Enter":Mo(),"Mod-.":gt({isToggleable:No}),"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 Ro(){return g(dt(),Fo(),ut(),ct(),xo(),lt(),To(),Lo(),go(),_o(),yo(),Ao(),Io())}let zo;function Bo(){return zo??=import(`katex`).then(e=>e.render),zo}function Vo(e,t,n,r){try{e(n,t,{displayMode:r,throwOnError:!1,output:`mathml`})}catch(e){t.textContent=String(e)}}var Ho=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=b.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;Bo().then(t=>{e===this.#r&&Vo(t,this.#n,e,!1)})}};function Uo(){return d({name:`mdMath`,constructor:(e,t)=>new Ho(e,t)})}function Wo(e){return e===`left`||e===`center`||e===`right`?e:null}function Go(){return f({type:`tableCell`,attr:`align`,default:null,toDOM:e=>e?[`data-align`,e]:null,parseDOM:e=>Wo(e.getAttribute(`data-align`))})}function Ko(){return f({type:`tableHeaderCell`,attr:`align`,default:null,toDOM:e=>e?[`data-align`,e]:null,parseDOM:e=>Wo(e.getAttribute(`data-align`))})}function qo(e){for(let t=0;t<e.childCount;t++){let n=e.child(t);for(let e=0;e<n.childCount;e++)if(n.child(e).type.name===`tableHeaderCell`)return t}return 0}function Jo(e){return e.child(qo(e))}function Yo(e,t){return t>=e.childCount?null:e.child(t).attrs.align??null}function Xo(e,t,n){if(e.childCount===0)return;let r=Jo(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=Yo(r,e);(t.attrs.align??null)!==i&&n.setNodeMarkup(o,void 0,{...t.attrs,align:i}),o+=t.nodeSize}i+=a.nodeSize}}function Zo(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 Qo(){return new v({key:new y(`table-align-sync`),appendTransaction(e,t,n){if(!e.some(e=>e.docChanged))return;let r=Zo(e);if(!r)return;let i=n.doc,a=Math.max(0,Math.min(r.from,i.content.size)),o=Math.max(a,Math.min(r.to,i.content.size)),s;return i.nodesBetween(a,o,(e,t)=>e.type.name===`table`?(s??=n.tr,Xo(e,t,s),!1):!0),s?.docChanged?s:void 0}})}function $o(){return m(Qo())}function es(e){let{selection:t}=e;if(Mt(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 ts(e){return(t,n)=>{let r=es(t);if(!r||r.table.childCount===0)return!1;if(n){let{table:i,tablePos:a,firstColumn:o,lastColumn:s}=r,c=qo(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 ns(e){let t=es(e);if(!(!t||t.table.childCount===0))return Yo(Jo(t.table),t.lastColumn)??void 0}function rs(){return s({setTableColumnAlign:ts})}function is(){return g(Go(),Ko(),$o(),rs())}function as(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 os=`paragraph`;function ss(){return g(p({name:`tableCell`,content:os}),p({name:`tableHeaderCell`,content:os}))}const cs=(e,t)=>{let{selection:n}=e;return!Mt(n)||!n.isColSelection()||!n.isRowSelection()?!1:jt(e,t)};function ls(){return _(l({Backspace:cs,Delete:cs}),t.high)}function us(){return g(At(),kt(),wt(),Ot(),ss(),is(),Dt({allowTableNodeSelection:!0}),Tt(),Et(),ls())}function ds(e){let{selection:t}=e,{$from:n,$to:r}=t;if(oe(t)&&n.depth===0||n.depth>0&&r.depth>0&&n.index(0)===r.index(0))return n.index(0)}function fs(e){return(t,n)=>{if(as(t))return!1;let r=ds(t);if(r==null)return!1;let i=r+e;if(i<0||i>=t.doc.childCount)return!1;if(n){let{selection:a}=t,o=Math.min(r,i),s=a.$from.posAtIndex(o,0),c=t.doc.child(o),l=t.doc.child(o+1),u=t.tr.replaceWith(s,s+c.nodeSize+l.nodeSize,[l,c]),d=e===-1?-c.nodeSize:l.nodeSize,f=oe(a)?Ee.create(u.doc,a.from+d):b.create(u.doc,a.anchor+d,a.head+d);u.setSelection(f),n(u.scrollIntoView())}return!0}}function ps(e){return(t,n,r)=>ft(e)(t,n,r)||fs(e===`up`?-1:1)(t,n,r)}function ms(){return l({"Alt-ArrowUp":ps(`up`),"Alt-ArrowDown":ps(`down`)})}const K=new y(`meowdownPendingReplacement`);function q(e){return K.getState(e)?.pending??null}function hs(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 gs=new v({key:K,state:{init:()=>({pending:null}),apply:(e,t)=>{let n=e.getMeta(K);if(n)return hs(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=q(e);return!t||t.from>=t.to?null:x.create(e.doc,[Oe.inline(t.from,t.to,{class:`md-pending-replacement`})])}}});function _s(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(K,{type:`start`,from:r,to:i,mode:a})),!0)}}function vs(e){return(t,n)=>q(t)?(n?.(t.tr.setMeta(K,{type:`append`,text:e})),!0):!1}function ys(){return(e,t)=>q(e)?(t?.(e.tr.setMeta(K,{type:`discard`})),!0):!1}function bs(e={}){return(t,n)=>{let r=q(t);if(!r||!r.text.trim())return!1;if(n){let i=e.mode??r.mode,a=nc(t.schema),o=X(r.text,{nodes:a}),s=t.tr;if(s.setMeta(K,{type:`accept`}),i===`append`){let e=t.doc.resolve(r.to).after(1);s.insert(e,o.content),s.setSelection(b.near(s.doc.resolve(e+o.content.size),-1))}else{let e=t.doc.resolve(r.from),n=t.doc.resolve(r.to),i=o.childCount===1?o.firstChild:null;i?.type.name===`paragraph`&&e.sameParent(n)&&e.parent.isTextblock?(s.replaceWith(r.from,r.to,i.content),s.setSelection(b.near(s.doc.resolve(r.from+i.content.size),-1))):(s.replaceRange(r.from,r.to,new w(o.content,0,0)),s.setSelection(b.near(s.doc.resolve(s.mapping.map(r.to)),-1)))}n(s.scrollIntoView())}return!0}}function xs(){return s({startPendingReplacement:_s,appendPendingReplacementText:vs,acceptPendingReplacement:bs,discardPendingReplacement:ys})}function Ss(){return l({"Mod-Enter":bs(),Escape:ys()})}function Cs(){return g(m(gs),xs(),Ss())}function ws(e){return m(new v({view:()=>({update:(t,n)=>{let r=K.getState(n),i=K.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 Ts(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 Ts(r)?void 0:r}function Es(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 Ds(e){let t=e.state,n=t.selection.head,r=R(t,n),i=z(t,n),a=r==null,o=[[n,a],[n,!a]];r!=null&&o.push([r.from,!0]),i!=null&&o.push([i.to,!1]);for(let[t,n]of o){let r=J(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 Os(e){let t=e.state,n=t.selection.head;for(let r of Wt){let i=E(t,n,r);if(i==null||i.from!==n&&i.to!==n)continue;let a=ks(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 ks(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 As(e){return Ds(e)??Os(e)}const js=new y(`meowdown-scroll-to-selection`);function Ms(e){let t=e.state.selection;if(!h(t)||J(e,t.head,1)!=null)return!1;let n=As(e);if(n==null)return!1;let r=e.domAtPos(t.head).node;return Is(e,{left:n.left,right:n.left,top:n.top,bottom:n.top+n.height},r),!0}function Y(e,t){return typeof e==`number`?e:e[t]}function Ns(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11?t.host:t}function Ps(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 Fs(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 Is(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=Ns(e);continue}let n=e,o=n===a.body,s=o?Ps(a):Fs(n),c=0,l=0;if(t.top<s.top+Y(r,`top`)?l=-(s.top-t.top+Y(i,`top`)):t.bottom>s.bottom-Y(r,`bottom`)&&(l=t.bottom-t.top>s.bottom-s.top?t.top+Y(i,`top`)-s.top:t.bottom-s.bottom+Y(i,`bottom`)),t.left<s.left+Y(r,`left`)?c=-(s.left-t.left+Y(i,`left`)):t.right>s.right-Y(r,`right`)&&(c=t.right-s.right+Y(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:Ns(n)}}function Ls(){return m(new v({key:js,props:{handleScrollToSelection:Ms}}))}function Rs(e,t){return(n,r)=>{let i=e<0?De.atStart(n.doc):De.atEnd(n.doc),a=t?b.between(n.selection.$anchor,i.$head):i;return n.selection.eq(a)||r?.(n.tr.setSelection(a).scrollIntoView()),!0}}function zs(){return l({"Meta-ArrowUp":Rs(-1,!1),"Meta-ArrowDown":Rs(1,!1),"Shift-Meta-ArrowUp":Rs(-1,!0),"Shift-Meta-ArrowDown":Rs(1,!0)})}function Bs(e){e.offsetWidth}const Vs=new y(`meowdown-virtual-caret`),Hs=[`md-virtual-caret-blink`,`md-virtual-caret-blink2`];function Us(e){let t=e.height*.19999999999999996;return{left:e.left,top:e.top-t/2,height:e.height+t}}function Ws(e){let t=Es(e)??Ds(e);return t==null?Os(e):Us(t)}function Gs(e,t){return e==null||t==null?e===t:e.left===t.left&&e.top===t.top&&e.height===t.height}var Ks=class{#e;#t;#n;#r;#i;#a;#o;#s=0;constructor(e){this.#e=e,this.#r=e.dom.ownerDocument,this.#t=this.#r.createElement(`div`),this.#t.className=`md-virtual-caret-layer`,this.#n=this.#t.appendChild(this.#r.createElement(`div`)),this.#n.className=`md-virtual-caret`,this.#n.dataset.testid=`virtual-caret`,e.dom.insertAdjacentElement(`afterend`,this.#t),this.#r.addEventListener(`selectionchange`,this.#l),typeof ResizeObserver<`u`&&(this.#i=new ResizeObserver(this.#l),this.#i.observe(e.dom)),this.#l()}update(e,t){e.state.selection.eq(t.selection)||this.#c(),this.#l()}destroy(){this.#r.removeEventListener(`selectionchange`,this.#l),this.#i?.disconnect(),this.#t.remove()}#c(){this.#s=1-this.#s,this.#n.style.animationName=Hs[this.#s]}#l=()=>{let e=this.#e;if(e.isDestroyed)return;let t=e.state,n=t.selection,r=h(n)&&n.empty?Ws(e):void 0,i=r!=null&&O(t)===`hide`?$r(t,n.head):void 0;if(Gs(r,this.#a)&&i===this.#o)return;let a=this.#a==null;if(this.#a=r,this.#o=i,i==null?delete this.#n.dataset.tail:this.#n.dataset.tail=i,r==null){this.#n.style.visibility=`hidden`;return}let o=this.#t.getBoundingClientRect();a&&(this.#n.style.transitionProperty=`none`),this.#n.style.visibility=``,this.#n.style.left=`${r.left-o.left}px`,this.#n.style.top=`${r.top-o.top}px`,this.#n.style.height=`${r.height}px`,a&&(Bs(this.#n),this.#n.style.transitionProperty=``)}};function qs(){return m(new v({key:Vs,view:e=>new Ks(e)}))}function Js(e){return g(Pn(),xe(),Ur(),we(),be(),Ro(),An(),us(),Pr(),di(),fi(),Ra(),Tr(),Hr(),ms(),zs(),Sa(e),to(),lo(),ra(),Uo(),Bt(e.markMode??`focus`),yr(),qs(),Ls(),li(),nn({marks:Wt.map(e=>({name:e,modes:[`hide`,`focus`,`show`]}))}),a(),i(),c(),Se(),Te(),Ce(),Br(),Cs())}function Ys(e={}){return Js(e)}const Xs=ye(()=>{let e=Ys().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),Zs=ye(()=>r(Xs())),Qs=ye(()=>n(Xs())),$s=`meowdown_mark_builders`;function ec(e){let t=e.cached[$s];if(t)return t;let r=n(e);return e.cached[$s]=r,r}const tc=`meowdown_node_builders`;function nc(e){let t=e.cached[tc];if(t)return t;let n=r(e);return e.cached[tc]=n,n}function X(e,t={}){let{nodes:n=Zs(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=ic(e);i=t,n&&(a=e.slice(n))}let o=ac(n,Gi.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const rc=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function ic(e){let t=rc.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function ac(e,t,n){let r=[];if(!t.firstChild())return r;let i;do i!=null&&oc(r,e,n,i,t.from),i=t.to,r.push(...sc(e,t,n));while(t.nextSibling());return t.parent(),r}function oc(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 sc(e,t,n){switch(t.type.id){case V.ATXHeading1:return[Z(e,t,n,1,!1)];case V.ATXHeading2:return[Z(e,t,n,2,!1)];case V.ATXHeading3:return[Z(e,t,n,3,!1)];case V.ATXHeading4:return[Z(e,t,n,4,!1)];case V.ATXHeading5:return[Z(e,t,n,5,!1)];case V.ATXHeading6:return[Z(e,t,n,6,!1)];case V.SetextHeading1:return[Z(e,t,n,1,!0)];case V.SetextHeading2:return[Z(e,t,n,2,!0)];case V.Paragraph:return[pc(e,t,n)];case V.CommentBlock:return[mc(e,t,n)];case V.HTMLBlock:case V.ProcessingInstructionBlock:return[pc(e,t,n)];case V.Blockquote:return[hc(e,t,n)];case V.BulletList:return gc(e,t,n,`bullet`);case V.OrderedList:return gc(e,t,n,`ordered`);case V.FencedCode:case V.CodeBlock:return[vc(e,t,n)];case V.BlockMath:return[yc(e,t,n)];case V.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case V.Table:return[bc(e,t,n)];case V.Task:return[pc(e,t,n)];default:return n.slice(t.from,t.to).trim()===``?[]:(console.warn(`[meowdown] unsupported lezer block "${t.type.name}"`),[pc(e,t,n)])}}function Z(e,t,n,r,i){let a=t.from,o=t.from,s=t.to,c=-1,l=-1;if(t.firstChild()){t.type.id===V.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===V.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=dc(n.slice(o,s),Q(n,o)).trim(),d=i?cc(n,c,l)||1:null,f=!i&&c>=0&&lc(n,c,l)||null;return e.heading({level:r,setextUnderline:d,closingHashes:f},u)}function cc(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 lc(e,t,n){if(t<0)return 0;let r=0;for(let i=t;i<n;i++)e.charCodeAt(i)===35&&r++;return r}function Q(e,t){let n=e.lastIndexOf(`
|
|
26
|
-
`,t-1)+1,r=0;for(let i=n;i<t;i++)r+=e.charCodeAt(i)===9?4-r%4:1;return r}function
|
|
25
|
+
`)}function yr(){return m(new y({key:new b(`meowdown-plain-text-copy`),props:{clipboardTextSerializer:(e,t)=>{let n=O(t.state)===`hide`?br(e):e;return vr(t.state.schema,n)}}}))}function br(e){return new w(xr(e.content),e.openStart,e.openEnd)}function xr(e){let t=[];return e.forEach(e=>{t.push(e.isTextblock?Cr(e):Sr(e))}),C.from(t)}function Sr(e){return e.childCount>0?e.copy(xr(e.content)):e}function Cr(e){let t=e.type.schema,n=[];for(let r of bn(e)){let e=r.atom;if(e!=null){if(e.type.name===`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)yn(e.marks)||n.push(e)}return e.copy(C.from(n))}function wr(){return _(Bn(),yr(),Jn(),Gn(),Zn())}const P=new Map,Tr=new Map,Er={math:`latex`};async function Dr(e){let t=P.get(e);if(t!==void 0)return t;let n=He.matchLanguageName(Ue,Er[e]??e,!0);if(!n)return P.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),P.set(e,null),null}return P.set(e,r),r}function Or(e,t){let n=Tr.get(e);if(n)return n;let r=Ke({parse:e=>t.language.parser.parse(e.content),highlighter:We});return Tr.set(e,r),r}const kr=e=>{let t=e.language?.trim();if(!t)return[];let n=P.get(t);return n===null?[]:n?Or(t,n)(e):Dr(t).then(()=>void 0)};function Ar(){return fe({parser:kr,nodeTypes:[`codeBlock`]})}function jr(e,t){let n=t.language.parser.parse(e),r=[];return Ge(n,We,(e,t,n)=>{r.push([e,t,n])}),r}function Mr(e,t){let n=t.trim();if(!n)return[];let r=P.get(n);return r===null?[]:r?jr(e,r):Dr(n).then(t=>t?jr(e,t):[])}function Nr(){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 Pr(){return f({type:`codeBlock`,attr:`fenceLength`,default:null,toDOM:e=>e==null?null:[`data-fence-length`,String(e)],parseDOM:e=>{let t=pn(e.getAttribute(`data-fence-length`));return t!=null&&t>3?t:null}})}function Fr(e){return{language:e[1]||``,fenceStyle:`tilde`}}function Ir(){return Xe({regex:/^~~~(\S*)\s$/,type:`codeBlock`,attrs:Fr})}function Lr(){return Je({regex:/^~~~(\S*)$/,type:`codeBlock`,attrs:Fr})}function Rr(){return Je({regex:/^\$\$$/,type:`codeBlock`,attrs:()=>({language:`math`,fenceStyle:`dollar`})})}function zr(){return _(de(),Nr(),Pr(),Ir(),Lr(),Rr())}function Br(e,t){return(n,r)=>{if(r){let i=x.create(n.doc,e,t);r(n.tr.setSelection(i))}return!0}}function Vr(e,t,n){return(r,i)=>{if(i){let a=x.between(e,t,n);i(r.tr.setSelection(a))}return!0}}function Hr(e){return(t,n)=>{if(!e.trim())return!1;let r=X(e,{nodes:hc(t.schema)}).content;if(r.childCount===0)return!1;let i=r.childCount===1&&r.child(0).type.name===`paragraph`?new w(r,1,1):new w(r,0,w.maxOpen(r).openEnd);if(n){let e=t.tr,r=e.selection;(!g(r)||!r.empty)&&e.setSelection(x.near(r.$from)),n(e.replaceSelection(i).scrollIntoView())}return!0}}function Ur(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);Ze(s),n(s.scrollIntoView())}return!0}}function Wr(){return at(oe({type:`paragraph`}),it(),ot)}function Gr(){return(e,t)=>(t&&t(e.tr.scrollIntoView()),!0)}function Kr(){return s({insertMarkdown:Hr,insertTrigger:Ur,scrollIntoView:Gr,selectText:Br,selectTextBetween:Vr,turnIntoText:Wr})}const qr=(e,t,n)=>{let{selection:r}=e;return r.empty||n?.composing?!1:(t?.(e.tr.setSelection(x.near(r.$head))),!0)};function Jr(){return v(l({Escape:qr}),t.low)}function Yr(){return f({type:`doc`,attr:`frontmatter`,default:null})}function Xr(e,t){return t(e.state,e.dispatch,e)}const Zr=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]);function Qr(e,t){if(t<0||t+1>e.doc.content.size)return;let n=e.doc.resolve(t),r=n.parent.maybeChild(n.index());if(!(r==null||!r.isText))return r.marks}function F(e,t){let n=Qr(e,t);return n!=null&&n.some(e=>Zr.has(e.type.name))}function $r(e,t){if(t<0||t>e.doc.content.size)return!1;let n=e.doc.resolve(t);return n.parent.isTextblock&&!n.parent.type.spec.code}function I(e,t){if(!$r(e,t))return;let n=e.doc.resolve(t).start(),r=t;for(;r>n&&F(e,r-1);)r--;return r<t?{from:r,to:t}:void 0}function L(e,t){if(!$r(e,t))return;let n=e.doc.resolve(t).end(),r=t;for(;r<n&&F(e,r);)r++;return r>t?{from:t,to:r}:void 0}function ei(e,t){return F(e,t-1)&&F(e,t)}function ti(e,t){if(!ei(e,t))return;let n=I(e,t);if(!n)return;let r=L(e,t);if(r)return{from:n.from,to:r.to}}function ni(e,t,n){let r=Qr(e,t);return r!=null&&n.isInSet(r)}function ri(e,t){let n=Qr(e,t);if(n==null)return;let r=ee(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&&ni(e,r-1,n);)r--;let i=t+1;for(;i<s&&ni(e,i,n);)i++;(c==null||i-r<c.to-c.from)&&(c={from:r,to:i})}return c}function ii(e,t,n){let r=ri(e,n===`from`?t.from:t.to-1);return r==null?!1:n===`from`?r.from===t.from:r.to===t.to}function ai(e,t,n){let r=ii(e,t,`from`),i=ii(e,t,`to`);return r&&!i?t.from:i&&!r?t.to:n-t.from<=t.to-n?t.from:t.to}function oi(e,t,n,r){if(!$r(e,n))return n;let i=ti(e,n);if(i!=null)return r?ai(e,i,n):n>=t?i.to:i.from;if(!r)return n;let a=I(e,n);if(a!=null&&ii(e,a,`from`))return a.from;let o=L(e,n);return o!=null&&ii(e,o,`to`)?o.to:n}function si(e,t){if(!$r(e,t))return;let n=F(e,t-1),r=F(e,t);if(n!==r)return r?`left`:`right`}function ci(e,t){let n=ri(e,t);if(n==null)return[];let r=L(e,n.from),i=I(e,n.to),a=[];return i!=null&&a.push(i),r!=null&&(i==null||r.from!==i.from)&&a.push(r),a}const li=new b(`meowdown-hidden-run-snap`),ui=new b(`meowdown-hidden-run-beforeinput`);function di(){let e=!1;return new y({key:li,props:{handleDOMEvents:{compositionstart:()=>(e=!0,!1),compositionend:()=>(e=!1,!1)}},appendTransaction:(t,n,r)=>{if(e||O(r)!==`hide`)return null;let i=r.selection;if(!g(i))return null;let a=t.some(e=>e.getMeta(`pointer`)!=null);if(i.empty){let e=oi(r,n.selection.head,i.head,a);return e===i.head?null:r.tr.setSelection(x.create(r.doc,e))}let o=ti(r,i.from)?.from??i.from,s=ti(r,i.to)?.to??i.to;if(o===i.from&&s===i.to)return null;let c=i.anchor===i.from?o:s,l=i.head===i.from?o:s;return r.tr.setSelection(x.create(r.doc,c,l))}})}const fi=(e,t)=>{if(O(e)!==`hide`)return!1;let n=e.selection;if(!g(n)||!n.empty)return!1;let r=oi(e,n.head,n.head,!0);return r===n.head||t?.(e.tr.setSelection(x.create(e.doc,r))),!1};function pi(e){return(t,n)=>{if(O(t)!==`hide`)return!1;let r=t.selection;if(!g(r)||!r.empty)return!1;let i=r.$head;if(!i.parent.isTextblock||i.parent.type.spec.code)return!1;let a=e===-1?I(t,r.head):L(t,r.head);if(a==null)return!1;let o=ci(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 mi=pi(-1),hi=pi(1);function gi(){return new y({key:ui,props:{handleDOMEvents:{beforeinput:(e,t)=>{if(e.composing)return!1;let n=t.inputType===`deleteContentBackward`?mi:t.inputType===`deleteContentForward`?hi:void 0;return n==null||!Xr(e,n)?!1:(t.preventDefault(),!0)}}}})}function _i(){return _(m(di()),m(gi()),v(l({Enter:fi,Backspace:mi,Delete:hi}),t.highest))}function vi(){return f({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function yi(){return _(st(),vi())}function bi(){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 xi(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function Si(e,t){let[n,r,i]=t;return[n,r,i.map(t=>Ie.fromJSON(e,t))]}function Ci(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}var R=class e extends pt{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return mt.ok(e);let t=e.content.size,n;for(let[r,i,a]of this.chunks){if(r>=i)continue;let o=Math.max(0,Math.min(r,t)),s=Math.max(o,Math.min(i,t));if(o>=s)continue;let c=Ie.setFrom(a);e.nodesBetween(o,s,(t,r)=>{if(!t.isText)return!0;let i=Math.max(o,r),a=Math.min(s,r+t.nodeSize);if(i>=a)return!1;let l=t.marks;if(Ci(l,c))return!1;n??=new ht(e);for(let e of l)n.removeMark(i,a,e);for(let e of c)n.addMark(i,a,e);return!1})}return mt.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return wi;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 ft(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(xi)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>Si(t,e)))}};pt.jsonID(`batchSetMark`,R);const wi=new R([]),Ti=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),Ei=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function Di(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function Oi(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!Ti.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!Ei.test(e))return!1;return!0}function ki(e){if(/^[a-z][a-z0-9+.-]*:/i.test(e))return e;if(/^[^\s@]+@[^\s@]+$/.test(e))return`mailto:${e}`;if(/^www\./i.test(e)||Oi(Di(e)))return`https://${e}`}const Ai=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,ji=/[\s(*_~]/;function Mi(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function Ni(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function Pi(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&Ni(e,t,`)`)>Ni(e,t,`(`))t--;else if(n===`;`){let n=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(0,t));if(!n)break;t=n.index}else break}return t}const Fi={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!Mi(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!ji.test(r))return-1;let i=Ai.exec(e.slice(n,e.end));if(!i)return-1;let a=Pi(i[0]);return a===0||!Oi(Di(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function Ii(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45||e===95||e>127&&/[\p{L}\p{N}]/u.test(String.fromCharCode(e))}function Li(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const Ri={defineNodes:[{name:`Hashtag`}],parseInline:[{name:`Hashtag`,parse(e,t,n){if(t!==35||!/\s|^$/.test(e.slice(n-1,n)))return-1;let r=n+1,i=!1;for(;r<e.end;){let t=e.char(r);if(!Ii(t))break;i||=Li(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},zi={resolve:`Highlight`,mark:`HighlightMark`},Bi=/[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~\u{A1}\u{2010}-\u{2027}]/u,Vi={defineNodes:[{name:`Highlight`},{name:`HighlightMark`}],parseInline:[{name:`Highlight`,after:`Emphasis`,parse(e,t,n){if(t!==61||e.char(n+1)!==61||e.char(n+2)===61)return-1;let r=e.slice(n-1,n),i=e.slice(n+2,n+3),a=/\s|^$/.test(r),o=/\s|^$/.test(i),s=Bi.test(r),c=Bi.test(i);return e.addDelimiter(zi,n,n+2,!o&&(!c||a||s),!a&&(!s||o||c))}}]};function Hi(e){return e>=48&&e<=57}function Ui(e){return e.next!==36||e.text.charCodeAt(e.pos+1)!==36||e.text.charCodeAt(e.pos+2)===36?!1:e.skipSpace(e.pos+2)===e.text.length}function Wi(e){let t=e.depth;return typeof t==`number`?t:2**53-1}const Gi={defineNodes:[{name:`InlineMath`},{name:`InlineMathMark`},{name:`BlockMath`,block:!0},{name:`BlockMathMark`}],parseBlock:[{name:`BlockMath`,before:`FencedCode`,parse(e,t){if(!Ui(t))return!1;let n=e.lineStart+t.pos,r=[e.elt(`BlockMathMark`,n,n+2)];for(let n=!0,i=!0,a=!1;!(!e.nextLine()||Wi(t)<e.depth);n=!1){if(Ui(t)){i&&a&&r.push(e.elt(`CodeText`,e.lineStart-1,e.lineStart)),r.push(e.elt(`BlockMathMark`,e.lineStart+t.pos,e.lineStart+t.pos+2)),e.nextLine();break}a=!0,n||(r.push(e.elt(`CodeText`,e.lineStart-1,e.lineStart)),i=!1);let o=e.lineStart+t.basePos,s=e.lineStart+t.text.length;o<s&&(r.push(e.elt(`CodeText`,o,s)),i=!1)}return e.addElement(e.elt(`BlockMath`,n,e.prevLineEnd(),r)),!0},endLeaf(e,t){return Ui(t)}}],parseInline:[{name:`InlineMath`,after:`InlineCode`,parse(e,t,n){if(t!==36||e.char(n-1)===36)return-1;let r=e.char(n+1)===36?2:1;if(e.char(n+r)===36)return-1;let i=n+r;if(N(e.char(i)))return-1;for(let t=i;t<e.end;t++){let a=e.char(t);if(a===10)return-1;if(a===92){t++;continue}if(a!==36)continue;let o=1;for(;e.char(t+o)===36;)o++;if(o!==r||N(e.char(t-1))||Hi(e.char(t+o)))return-1;let s=t+o;return e.addElement(e.elt(`InlineMath`,n,s,[e.elt(`InlineMathMark`,n,i),e.elt(`InlineMathMark`,t,s)]))}return-1}}]},Ki=/^[a-z][a-z0-9+.-]*:\/\/[^\s<]+/i;function qi(e){return e>=65&&e<=90||e>=97&&e<=122}const Ji={parseInline:[{name:`SchemeAutolink`,after:`Autolink`,parse(e,t,n){if(!qi(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!ji.test(r))return-1;let i=Ki.exec(e.slice(n,e.end));if(!i)return-1;let a=Pi(i[0]);return a<=i[0].indexOf(`://`)+3?-1:e.addElement(e.elt(`URL`,n,n+a))}}]},Yi={defineNodes:[{name:`WikiEmbed`},{name:`WikiEmbedMark`}],parseInline:[{name:`WikiEmbed`,before:`Link`,parse(e,t,n){if(t!==33||e.char(n+1)!==91||e.char(n+2)!==91)return-1;let r=!1;for(let t=n+3;t<e.end-1;t++){let i=e.char(t);if(i===93){if(e.char(t+1)!==93||!r)return-1;let i=t+2;return e.addElement(e.elt(`WikiEmbed`,n,i,[e.elt(`WikiEmbedMark`,n,n+3),e.elt(`WikiEmbedMark`,t,i)]))}if(i===91||i===10)return-1;i!==32&&i!==9&&(r=!0)}return-1}}]},Xi={defineNodes:[{name:`Wikilink`},{name:`WikilinkMark`}],parseInline:[{name:`Wikilink`,before:`Link`,parse(e,t,n){if(t!==91||e.char(n+1)!==91)return-1;let r=!1;for(let t=n+2;t<e.end-1;t++){let i=e.char(t);if(i===93){if(e.char(t+1)!==93||!r)return-1;let i=t+2;return e.addElement(e.elt(`Wikilink`,n,i,[e.elt(`WikilinkMark`,n,n+2),e.elt(`WikilinkMark`,t,i)]))}if(i===91||i===10)return-1;i!==32&&i!==9&&(r=!0)}return-1}}]};function Zi(e){return e.end}const Qi=_t.configure([gt,Ri,Yi,Xi,Fi,Ji,Vi,Gi]),$i=Qi.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:Zi}]});function z(e){return Qi.parseInline(e,0)}function B(e,t,n=[]){for(let r of e)t(r)&&n.push(r),B(r.children,t,n);return n}function ea(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const V=ea(Qi),ta=/^<!--\s*(\{[^}]*\})\s*-->$/,na=/<!--\s*\{[^}]*\}\s*-->$/;function ra(e){let t=ta.exec(e.trim());if(!t)return;let n;try{n=JSON.parse(t[1])}catch{return}if(typeof n!=`object`||!n)return;let r=ia(n);return Object.keys(r).length>0?r:void 0}function ia(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 aa(e){return`<!-- ${JSON.stringify(e)} -->`}function oa(e){return e.replace(na,``)}const sa=/^(\d+)(?:x(\d+))?$/i;function ca(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=sa.exec(i);if(!a)return{target:r,display:i,width:null,height:null};let o=ca(a[1]),s=ca(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 ua(e,t,n){return`![[${e}|${Math.round(t)}x${Math.round(n)}]]`}function da(e){let t=e.split(/[?#]/,1)[0],n=t.split(/[/\\]/).findLast(Boolean)??t;try{return decodeURIComponent(n)}catch{return n}}function fa(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 pa(){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 ma(){return d({name:`mdWikilink`,constructor:pa()})}const ha=new Map([[V.Emphasis,`mdEm`],[V.StrongEmphasis,`mdStrong`],[V.InlineCode,`mdCode`],[V.Strikethrough,`mdDel`],[V.Highlight,`mdHighlight`],[V.EmphasisMark,`mdMark`],[V.CodeMark,`mdMark`],[V.LinkMark,`mdMark`],[V.StrikethroughMark,`mdMark`],[V.HighlightMark,`mdMark`],[V.URL,`mdLinkUri`],[V.LinkTitle,`mdLinkTitle`],[V.Hashtag,`mdTag`],[V.WikilinkMark,`mdMark`]]);function ga(e,t,n){let r=z(t),i=[];return va(r,[],0,t.length,t,e,i,n),i}function _a(e){return e.slice(1,-1).replaceAll(/\\(.)/g,`$1`)}function va(e,t,n,r,i,a,o,s){let c=n;for(let n=0;n<e.length;n++){let r=e[n];r.from>c&&H(o,c,r.from,t);let l=r.type;if(l===V.Link){let e=xa(r,t,i,a,s);e?H(o,r.from,r.to,e):Sa(r,t,i,a,o,s)}else if(l===V.Image){let s=Ca(r,e[n+1],i);wa(r,t,i,a,o,s),s&&n++,c=s?s.to:r.to;continue}else if(l===V.Wikilink)Ea(r,t,i,a,o);else if(l===V.WikiEmbed)Da(r,t,i,a,o,s);else if(l===V.InlineMath)Ta(r,t,i,a,o);else if(l===V.URL){let e=ki(i.slice(r.from,r.to)),n=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();H(o,r.from,r.to,[...t,n])}else{let e;l===V.Emphasis?e=`italic`:l===V.StrongEmphasis?e=`bold`:l===V.InlineCode?e=`code`:l===V.Strikethrough?e=`strike`:l===V.Highlight?e=`highlight`:l===V.Autolink&&(e=`autolink`);let n=e?[...t,a.mdPack.create({key:e})]:t,c=ha.get(l),u=c?[...n,a[c].create()]:n;r.children.length===0?H(o,r.from,r.to,u):va(r.children,u,r.from,r.to,i,a,o,s)}c=r.to}c<r&&H(o,c,r,t)}function ya(e){let t=-1,n=-1,r=null,i=null,a=0;for(let o of e.children)o.type===V.LinkMark?(a++,a===1&&(t=o.to),a===2&&(n=o.from)):o.type===V.URL&&r===null?r=o:o.type===V.LinkTitle&&i===null&&(i=o);return{labelFrom:t,labelTo:n,urlNode:r,titleNode:i}}function ba(e){let t=e.split(/[?#]/,1)[0],n=t.split(/[/\\]/).findLast(Boolean)??t;try{return decodeURIComponent(n)}catch{return n}}function xa(e,t,n,r,i){let a=i?.resolveFileLink;if(!a)return;let{labelFrom:o,labelTo:s,urlNode:c,titleNode:l}=ya(e);if(o<0||s<0||!c)return;let u=n.slice(c.from,c.to);if(!u)return;let d=n.slice(o,s),f=l?_a(n.slice(l.from,l.to)):``;if(!a({href:u,label:d,title:f}))return;let p=d||ba(u);return[...t,r.mdFile.create({href:u,name:p,title:f})]}function Sa(e,t,n,r,i,a){let{labelTo:o,urlNode:s,titleNode:c}=ya(e),l=s?n.slice(s.from,s.to):``,u=c?_a(n.slice(c.from,c.to)):``,d=l?r.mdLinkText.create({href:l}):null,f=e=>o>=0&&e<o&&d!==null,p=r.mdPack.create({key:`link`,data:{href:l,title:u}}),m=[...t,p],h=e.from;for(let t of e.children){if(t.from>h){let e=f(h)?[...m,d]:m;H(i,h,t.from,e)}let e=f(t.from)?[...m,d]:m;if(t.type===V.Wikilink){Ea(t,e,n,r,i),h=t.to;continue}if(t.type===V.WikiEmbed){Da(t,e,n,r,i,a),h=t.to;continue}let o=ha.get(t.type),s=o?[...e,r[o].create()]:e;t.children.length===0?H(i,t.from,t.to,s):va(t.children,s,t.from,t.to,n,r,i,a),h=t.to}h<e.to&&H(i,h,e.to,m)}function Ca(e,t,n){if(!t||t.type!==V.Comment||t.from!==e.to)return;let r=ra(n.slice(t.from,t.to));if(r)return{magic:r,to:t.to}}function wa(e,t,n,r,i,a){let o=e.children.find(e=>e.type===V.URL);if(!o){Sa(e,t,n,r,i,void 0);return}let s=e.children.filter(e=>e.type===V.LinkMark),c=e.children.find(e=>e.type===V.LinkTitle),l=n.slice(o.from,o.to),u=s.length>=2?n.slice(s[0].to,s[1].from):``,d=c?_a(n.slice(c.from,c.to)):``,f=a?.magic.width??null,p=a?.magic.height??null,m=a?.to??e.to;H(i,e.from,m,[...t,r.mdImage.create({src:l,alt:u,title:d,width:f,height:p,syntax:null,wikiTarget:null})])}function Ta(e,t,n,r,i){let a=e.children.filter(e=>e.type===V.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 Ea(e,t,n,r,i){let{target:a,display:o}=fa(n.slice(e.from,e.to));H(i,e.from,e.to,[...t,r.mdWikilink.create({target:a,display:o})])}function Da(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)||da(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)||da(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&&Ci(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const Oa=`inline-marks-applied`;let ka=0,Aa=0;function ja(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 Ma(e){let t=new WeakMap;function n(n,r,i){let a=t.get(n);if(a?Aa++:(ka++,a=ga(pc(i),n.textContent,e),t.set(n,a)),r===0)return a;let o=[];for(let[e,t,n]of a)o.push([e+r,t+r,n]);return o}function r(e,t){let r=[];return e.doc.nodesBetween(t.from,t.to,(t,i)=>{if(t.type.spec.code)return!1;if(!t.isTextblock)return!0;if(t.childCount===0)return!1;let a=n(t,i+1,e.schema);return a.length>0&&r.push(...a),!1}),r}return new y({key:new b(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(Oa))return null;let i=r(n,ja(e,n));if(i.length===0)return null;let a=n.tr.step(new R(i));return a.setMeta(Oa,!0),a.setMeta(`addToHistory`,!1),a},view(e){return e.dispatch(Na(e.state)),{}}})}function Na(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function Pa(e){return m(Ma(e))}function Fa(){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 Ia(){return u({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function La(){return u({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function Ra(){return u({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function za(){return u({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function Ba(){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 Va(){return u({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function Ha(){return u({name:`mdLinkTitle`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-title`},0],parseDOM:[{tag:`span.md-link-title`}]})}function Ua(){return u({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function Wa(){return u({name:`mdHighlight`,toDOM:()=>[`mark`,0],parseDOM:[{tag:`mark`}]})}function Ga(){return u({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function Ka(){return u({name:`mdWikilink`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink`},0],parseDOM:[{tag:`span.md-wikilink`}]})}function qa(){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 Ja(){return u({name:`mdMath`,inclusive:!1,attrs:{formula:{default:``}},toDOM:()=>[`span`,{class:`md-math`},0],parseDOM:[{tag:`span.md-math`}]})}function Ya(){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 Xa(){return _(Ia(),La(),Ra(),za(),Ba(),Va(),Ha(),Ua(),Wa(),Ga(),Ka(),Fa(),qa(),Ja(),Ya())}const U={em:{node:V.Emphasis,delim:`*`},strong:{node:V.StrongEmphasis,delim:`**`},code:{node:V.InlineCode,delim:"`"},del:{node:V.Strikethrough,delim:`~~`},highlight:{node:V.Highlight,delim:`==`}},Za=new Set([V.EmphasisMark,V.CodeMark,V.LinkMark,V.StrikethroughMark,V.HighlightMark]);function Qa(e){return[e.children[0],e.children.at(-1)]}function $a(e){let{type:t,children:n}=e;if(t===V.Emphasis||t===V.StrongEmphasis||t===V.Strikethrough||t===V.Highlight)return[n[0].to,n.at(-1).from];if(t===V.Link||t===V.Image){let e=n.find((e,t)=>t>0&&e.type===V.LinkMark);return e?[n[0].to,e.from]:null}return null}function eo(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=$a(r);return i&&i[0]<=t&&n<=i[1]?eo(r.children,t,n):eo(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function to(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return to(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}function no(e,t,n){for(;t<n&&N(e.charCodeAt(t));)t++;for(;n>t&&N(e.charCodeAt(n-1));)n--;return[t,n]}function ro(e,t,n,r){let i=B(z(e),e=>e.type===r.node||Za.has(e.type));for(let r=t;r<n;r++)if(!N(e.charCodeAt(r))&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function io(e,t,n,r,i){let a=z(e),o=B(a,e=>e.type===r.node);return i?so(e,o,t,n):ao(e,a,o,t,n,r)}function ao(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=eo(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]=Qa(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=oo(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function oo(e,t,n,r,i){if(i.node!==V.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($n(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function so(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=Qa(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=to(a.children.slice(1,-1),s,c);s>t.to&&N(e.charCodeAt(s-1));)s--;for(;c<o.from&&N(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 co(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=z(e),o=B(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=Qa(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return lo(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function lo(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=$a(n);return!e||t<e[0]||t>e[1]||lo(n.children,t)}return!1}function W(e){return(t,n)=>{if(t.selection.empty)return uo(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]=no(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:ro(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>io(t.text,t.from,t.to,e,c).map(e=>({from:e.from+t.base,to:e.to+t.base,insert:e.insert})));if(l.length===0)return!1;if(n){let e=t.tr;l.sort((e,t)=>t.from-e.from||t.to-e.to);for(let t of l)t.insert?e.insertText(t.insert,t.from,t.to):e.delete(t.from,t.to);e.setSelection(x.create(e.doc,e.mapping.map(a,a<=o?1:-1),e.mapping.map(o,o<a?1:-1))),n(e.scrollIntoView())}return!0}}function uo(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=co(i.textContent,r.parentOffset,e);if(!a)return!1;if(n){let i=r.start(),o=t.tr;a.kind===`unwrap`&&o.delete(i+a.from,i+a.to),a.kind===`move`&&o.setSelection(x.create(o.doc,i+a.pos)),a.kind===`insert`&&(o.insertText(e.delim+e.delim,i+a.pos),o.setSelection(x.create(o.doc,i+a.pos+e.delim.length))),n(o.scrollIntoView())}return!0}function fo(){return s({toggleEm:()=>W(U.em),toggleStrong:()=>W(U.strong),toggleCode:()=>W(U.code),toggleDel:()=>W(U.del),toggleHighlight:()=>W(U.highlight)})}function po(){return l({"Mod-b":W(U.strong),"Mod-i":W(U.em),"Mod-e":W(U.code),"Mod-Shift-x":W(U.del),"Mod-Shift-h":W(U.highlight)})}function mo(){return _(fo(),po())}function ho(e,t,n){let r;return e.doc.nodesBetween(t.from,t.to,(e,i)=>(e.isText&&e.marks.some(e=>e.type.name===n)&&(r={from:Math.max(i,t.from),to:Math.min(i+e.nodeSize,t.to)}),!0)),r}function G(e,t){let n=E(e,t,`mdLinkText`),r=E(e,t,`mdPack`,{key:`link`})??E(e,t,`mdPack`,{key:`autolink`}),i=r??n;if(!i)return;let a=r?.mark.attrs,o=n?.mark.attrs?.href??``;if(!r||a?.key!==`link`){let t={from:i.from,to:i.to};return{unit:t,text:a?.key===`autolink`?ho(e,t,`mdLinkText`)??{from:i.from+1,to:i.to-1}:t,href:o,title:``}}let s=ho(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 go(e){let t=e.trim();return t?ki(t)??t:``}function _o(e,t){return e+(t?` "${t.replaceAll(/(["\\])/g,String.raw`\$1`)}"`:``)}function vo(e){let{selection:t}=e,{$from:n,$to:r,empty:i}=t;if(i||!n.sameParent(r)||!g(t))return;let a=n.parent;if(!a.isTextblock||a.type.spec.code)return;let o=n.start(),[s,c]=no(a.textContent,n.parentOffset,r.parentOffset);if(!(s>=c))return{from:o+s,to:o+c}}function yo({href:e,title:t,wrapText:n=!0}={}){return(r,i)=>{let a=vo(r);if(!a)return!1;if(i){let{from:o,to:s}=a,c=r.tr,l=`](${_o(go(e??``),t??``)})`;c.insertText(l,s).insertText(`[`,o);let u=s+1+l.length;c.setSelection(n?x.create(c.doc,o,u):x.create(c.doc,u)),c.scrollIntoView(),i(c)}return!0}}function bo(e){return(t,n)=>{let r=G(t,t.selection.from);if(!r?.dest)return!1;let i=_o(go(e.href??r.href),e.title??r.title);return n&&n(t.tr.insertText(i,r.dest.from,r.dest.to).scrollIntoView()),!0}}function xo(){return(e,t)=>{let n=G(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 So(){return s({insertLink:yo,updateLink:bo,removeLink:xo})}function Co(e){return(t,n,r)=>{let i=G(t,t.selection.from);if(i){if(n&&r){let{unit:{from:a,to:o}}=i;n(t.tr.setSelection(x.create(t.doc,a,o)).scrollIntoView()),r.focus(),e({from:a,to:o,link:i})}return!0}let a=vo(t);if(a){if(n&&r){let{from:i,to:o}=a;n(t.tr.setSelection(x.create(t.doc,i,o)).scrollIntoView()),r.focus(),e({from:i,to:o,link:void 0})}return!0}return!1}}function wo(e){return l({"Mod-k":Co(e)})}function To(e){return e===`)`||e===`*`||e===`+`?e:void 0}function Eo(e){return e===`X`?e:void 0}function Do(e){return Ao(e)?String(e):void 0}function Oo(){return f({type:`list`,attr:`marker`,default:null,splittable:!0,toDOM:e=>{let t=To(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 ko(){return f({type:`list`,attr:`taskMarker`,default:null,splittable:!0,toDOM:e=>{let t=Eo(e);return t==null?null:[`data-list-task-marker`,t]},parseDOM:e=>e.getAttribute(`data-list-task-marker`)===`X`?`X`:null})}function Ao(e){return e===2||e===3||e===4}function jo(){return f({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>{let t=Do(e);return t==null?null:[`data-list-marker-gap`,t]},parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return Ao(t)?t:1}})}function Mo(e){let t=e.attrs;return{...xt(e),"data-list-marker":To(t.marker),"data-list-task-marker":Eo(t.taskMarker),"data-list-marker-gap":Do(t.markerGap)}}function No(){return o({serializeFragmentWrapper:e=>(...t)=>Po(wt(e(...t))),serializeNodeWrapper:e=>(...t)=>{let n=e(...t);return _e(n)?Po(wt(n)):n},nodesFromSchemaWrapper:e=>(...t)=>({...e(...t),list:e=>Tt({node:e,nativeList:!0,getAttributes:Mo})})})}function Po(e){_e(e)&&Fo(e);for(let t of e.children)Po(t);return e}function Fo(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=St(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 Io=[Dt(/^\s?([*-])\s$/,{kind:`bullet`,collapsed:!1}),Dt(/^\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}}),Dt(/^\s?\[([\sX]?)\]\s$/i,({match:e})=>({kind:`task`,checked:[`x`,`X`].includes(e[1]),collapsed:!1})),Dt(/^\s?\+\s$/,{kind:`task`,marker:`+`,checked:!1,collapsed:!1})];function Lo(){return _(Io.map(Ye))}function Ro(){return T({kind:`task`,marker:`+`})}function zo(){return T({kind:`task`,marker:null})}function Bo(e){let{$from:t}=e.selection;for(let e=t.depth;e>0;e--){let n=t.node(e);if(n.type.name===`list`)return n.attrs}return null}function Vo(){return(e,t,n)=>{let r=Bo(e);return(r?.kind===`task`?r.marker===`+`?zo():Ro():T({kind:`task`,marker:null,checked:!1}))(e,t,n)}}function Ho(){return s({cycleCheckableList:Vo,wrapInCircleTask:Ro,wrapInSquareTask:zo})}function Uo(){return(e,t,n)=>{let r=Bo(e),i=r?.kind===`task`&&r.marker!==`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:r?.marker??null,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:null,checked:!1},T(a)(e,t,n)}}function Wo(){return(e,t,n)=>{let r=Bo(e),i=r?.kind===`task`&&r.marker===`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:`+`,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:`+`,checked:!1},T(a)(e,t,n)}}function Go(e){return e.type.name===`list`&&e.attrs.kind===`bullet`&&e.childCount>=2&&e.firstChild?.type!==e.type}const Ko=e=>{let t=e.attrs;return t.kind===`task`?{...t,checked:!t.checked}:Go(e)?{...t,collapsed:!t.collapsed}:t};function qo(){return m(()=>[new y({props:{handleDOMEvents:{mousedown:(e,t)=>Ct({view:e,event:t,onListClick:Ko})}}}),vt(),new y({props:{transformCopied:Et}}),yt()])}function Jo(){return s({toggleListCollapsed:()=>bt({isToggleable:Go})})}function Yo(){return l({"Mod-Enter":Uo(),"Mod-Shift-Enter":Wo(),"Mod-.":bt({isToggleable:Go}),"Mod-Shift-7":rt({kind:`ordered`,collapsed:!1}),"Mod-Shift-8":rt({kind:`bullet`,collapsed:!1}),"Mod-Shift-9":rt({kind:`task`,checked:!1,collapsed:!1})})}function Xo(){return _(tt(),qo(),et(),Qe(),No(),$e(),Lo(),Yo(),Oo(),ko(),jo(),Ho(),Jo())}let Zo;function Qo(){return Zo??=import(`katex`).then(e=>e.render),Zo}function $o(e,t,n,r){try{e(n,t,{displayMode:r,throwOnError:!1,output:`mathml`})}catch(e){t.textContent=String(e)}}var es=class{#e;#t;#n;#r;constructor(e,t){this.#r=e.attrs.formula,this.#e=document.createElement(`span`),this.#e.className=`md-math-view`,this.#n=document.createElement(`span`),this.#n.className=`md-math-view-preview`,this.#n.dataset.testid=`math-preview`,this.#n.contentEditable=`false`,this.#n.addEventListener(`mousedown`,e=>{e.preventDefault();let n=t.posAtDOM(this.#t,0);if(n<0)return;let r=x.near(t.state.doc.resolve(n),1);t.dispatch(t.state.tr.setSelection(r)),t.focus()}),this.#t=document.createElement(`span`),this.#t.className=`md-math-view-content`,this.#e.appendChild(this.#n),this.#e.appendChild(this.#t),this.#i()}get dom(){return this.#e}get contentDOM(){return this.#t}update(e){let t=e.attrs.formula;return t!==this.#r&&(this.#r=t,this.#i()),!0}ignoreMutation(e){return!this.#t.contains(e.target)}#i(){let e=this.#r;Qo().then(t=>{e===this.#r&&$o(t,this.#n,e,!1)})}};function ts(){return d({name:`mdMath`,constructor:(e,t)=>new es(e,t)})}function ns(e){return e===`left`||e===`center`||e===`right`?e:null}function rs(){return f({type:`tableCell`,attr:`align`,default:null,toDOM:e=>e?[`data-align`,e]:null,parseDOM:e=>ns(e.getAttribute(`data-align`))})}function is(){return f({type:`tableHeaderCell`,attr:`align`,default:null,toDOM:e=>e?[`data-align`,e]:null,parseDOM:e=>ns(e.getAttribute(`data-align`))})}function as(e){for(let t=0;t<e.childCount;t++){let n=e.child(t);for(let e=0;e<n.childCount;e++)if(n.child(e).type.name===`tableHeaderCell`)return t}return 0}function os(e){return e.child(as(e))}function ss(e,t){return t>=e.childCount?null:e.child(t).attrs.align??null}function cs(e,t,n){if(e.childCount===0)return;let r=os(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=ss(r,e);(t.attrs.align??null)!==i&&n.setNodeMarkup(o,void 0,{...t.attrs,align:i}),o+=t.nodeSize}i+=a.nodeSize}}function ls(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 us(){return new y({key:new b(`table-align-sync`),appendTransaction(e,t,n){if(!e.some(e=>e.docChanged))return;let r=ls(e);if(!r)return;let i=n.doc,a=Math.max(0,Math.min(r.from,i.content.size)),o=Math.max(a,Math.min(r.to,i.content.size)),s;return i.nodesBetween(a,o,(e,t)=>e.type.name===`table`?(s??=n.tr,cs(e,t,s),!1):!0),s?.docChanged?s:void 0}})}function ds(){return m(us())}function fs(e){let{selection:t}=e;if(It(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 ps(e){return(t,n)=>{let r=fs(t);if(!r||r.table.childCount===0)return!1;if(n){let{table:i,tablePos:a,firstColumn:o,lastColumn:s}=r,c=as(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 ms(e){let t=fs(e);if(!(!t||t.table.childCount===0))return ss(os(t.table),t.lastColumn)??void 0}function hs(){return s({setTableColumnAlign:ps})}function gs(){return _(rs(),is(),ds(),hs())}function _s(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 vs=`paragraph`;function ys(){return _(p({name:`tableCell`,content:vs}),p({name:`tableHeaderCell`,content:vs}))}const bs=(e,t)=>{let{selection:n}=e;return!It(n)||!n.isColSelection()||!n.isRowSelection()?!1:Ft(e,t)};function xs(){return v(l({Backspace:bs,Delete:bs}),t.high)}function Ss(){return _(Pt(),Nt(),Ot(),Mt(),ys(),gs(),jt({allowTableNodeSelection:!0}),kt(),At(),xs())}function Cs(e){let{selection:t}=e,{$from:n,$to:r}=t;if(ae(t)&&n.depth===0||n.depth>0&&r.depth>0&&n.index(0)===r.index(0))return n.index(0)}function ws(e){return(t,n)=>{if(_s(t))return!1;let r=Cs(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=ae(a)?Ee.create(u.doc,a.from+d):x.create(u.doc,a.anchor+d,a.head+d);u.setSelection(f),n(u.scrollIntoView())}return!0}}function Ts(e){return(t,n,r)=>nt(e)(t,n,r)||ws(e===`up`?-1:1)(t,n,r)}function Es(){return l({"Alt-ArrowUp":Ts(`up`),"Alt-ArrowDown":Ts(`down`)})}const K=new b(`meowdownPendingReplacement`);function q(e){return K.getState(e)?.pending??null}function Ds(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 Os=new y({key:K,state:{init:()=>({pending:null}),apply:(e,t)=>{let n=e.getMeta(K);if(n)return Ds(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=q(e);return!t||t.from>=t.to?null:S.create(e.doc,[Oe.inline(t.from,t.to,{class:`md-pending-replacement`})])}}});function ks(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(K,{type:`start`,from:r,to:i,mode:a})),!0)}}function As(e){return(t,n)=>q(t)?(n?.(t.tr.setMeta(K,{type:`append`,text:e})),!0):!1}function js(){return(e,t)=>q(e)?(t?.(e.tr.setMeta(K,{type:`discard`})),!0):!1}function Ms(e={}){return(t,n)=>{let r=q(t);if(!r||!r.text.trim())return!1;if(n){let i=e.mode??r.mode,a=hc(t.schema),o=X(r.text,{nodes:a}),s=t.tr;if(s.setMeta(K,{type:`accept`}),i===`append`){let e=t.doc.resolve(r.to).after(1);s.insert(e,o.content),s.setSelection(x.near(s.doc.resolve(e+o.content.size),-1))}else{let e=t.doc.resolve(r.from),n=t.doc.resolve(r.to),i=o.childCount===1?o.firstChild:null;i?.type.name===`paragraph`&&e.sameParent(n)&&e.parent.isTextblock?(s.replaceWith(r.from,r.to,i.content),s.setSelection(x.near(s.doc.resolve(r.from+i.content.size),-1))):(s.replaceRange(r.from,r.to,new w(o.content,0,0)),s.setSelection(x.near(s.doc.resolve(s.mapping.map(r.to)),-1)))}n(s.scrollIntoView())}return!0}}function Ns(){return s({startPendingReplacement:ks,appendPendingReplacementText:As,acceptPendingReplacement:Ms,discardPendingReplacement:js})}function Ps(){return l({"Mod-Enter":Ms(),Escape:js()})}function Fs(){return _(m(Os),Ns(),Ps())}function Is(e){return m(new y({view:()=>({update:(t,n)=>{let r=K.getState(n),i=K.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 Ls(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 Ls(r)?void 0:r}function Rs(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 zs(e){let t=e.state,n=t.selection.head,r=I(t,n),i=L(t,n),a=r==null,o=[[n,a],[n,!a]];r!=null&&o.push([r.from,!0]),i!=null&&o.push([i.to,!1]);for(let[t,n]of o){let r=J(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 Bs(e){let t=e.state,n=t.selection.head;for(let r of Jt){let i=E(t,n,r);if(i==null||i.from!==n&&i.to!==n)continue;let a=Hs(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 Vs(e,t,n){let r=e.state;for(let i of Jt){let a=E(r,t,i);if(a==null)continue;let o=Hs(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 Hs(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 Us(e){return zs(e)??Bs(e)}const Ws=new b(`meowdown-scroll-to-selection`);function Gs(e){let t=e.state.selection;if(!g(t)||J(e,t.head,1)!=null)return!1;let n=Us(e);if(n==null)return!1;let r=e.domAtPos(t.head).node;return Ys(e,{left:n.left,right:n.left,top:n.top,bottom:n.top+n.height},r),!0}function Y(e,t){return typeof e==`number`?e:e[t]}function Ks(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11?t.host:t}function qs(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 Js(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 Ys(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=Ks(e);continue}let n=e,o=n===a.body,s=o?qs(a):Js(n),c=0,l=0;if(t.top<s.top+Y(r,`top`)?l=-(s.top-t.top+Y(i,`top`)):t.bottom>s.bottom-Y(r,`bottom`)&&(l=t.bottom-t.top>s.bottom-s.top?t.top+Y(i,`top`)-s.top:t.bottom-s.bottom+Y(i,`bottom`)),t.left<s.left+Y(r,`left`)?c=-(s.left-t.left+Y(i,`left`)):t.right>s.right-Y(r,`right`)&&(c=t.right-s.right+Y(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:Ks(n)}}function Xs(){return m(new y({key:Ws,props:{handleScrollToSelection:Gs}}))}function Zs(e,t){return(n,r)=>{let i=e<0?De.atStart(n.doc):De.atEnd(n.doc),a=t?x.between(n.selection.$anchor,i.$head):i;return n.selection.eq(a)||r?.(n.tr.setSelection(a).scrollIntoView()),!0}}function Qs(){return l({"Meta-ArrowUp":Zs(-1,!1),"Meta-ArrowDown":Zs(1,!1),"Shift-Meta-ArrowUp":Zs(-1,!0),"Shift-Meta-ArrowDown":Zs(1,!0)})}function $s(e){e.offsetWidth}const ec=new b(`meowdown-virtual-caret`),tc=[`md-virtual-caret-blink`,`md-virtual-caret-blink2`];function nc(e){let t=e.height*.19999999999999996;return{left:e.left,top:e.top-t/2,height:e.height+t}}function rc(e){let t=Rs(e)??zs(e);return t==null?Bs(e):nc(t)}function ic(e,t){return e==null||t==null?e===t:e.left===t.left&&e.top===t.top&&e.height===t.height}var ac=class{#e;#t;#n;#r;#i;#a;#o;#s=0;constructor(e){this.#e=e,this.#r=e.dom.ownerDocument,this.#t=this.#r.createElement(`div`),this.#t.className=`md-virtual-caret-layer`,this.#n=this.#t.appendChild(this.#r.createElement(`div`)),this.#n.className=`md-virtual-caret`,this.#n.dataset.testid=`virtual-caret`,e.dom.insertAdjacentElement(`afterend`,this.#t),this.#r.addEventListener(`selectionchange`,this.#l),typeof ResizeObserver<`u`&&(this.#i=new ResizeObserver(this.#l),this.#i.observe(e.dom)),this.#l()}update(e,t){e.state.selection.eq(t.selection)||this.#c(),this.#l()}destroy(){this.#r.removeEventListener(`selectionchange`,this.#l),this.#i?.disconnect(),this.#t.remove()}#c(){this.#s=1-this.#s,this.#n.style.animationName=tc[this.#s]}#l=()=>{let e=this.#e;if(e.isDestroyed)return;let t=e.state,n=t.selection,r=g(n)&&n.empty?rc(e):void 0,i=r!=null&&O(t)===`hide`?si(t,n.head):void 0;if(ic(r,this.#a)&&i===this.#o)return;let a=this.#a==null;if(this.#a=r,this.#o=i,i==null?delete this.#n.dataset.tail:this.#n.dataset.tail=i,r==null){this.#n.style.visibility=`hidden`;return}let o=this.#t.getBoundingClientRect();a&&(this.#n.style.transitionProperty=`none`),this.#n.style.visibility=``,this.#n.style.left=`${r.left-o.left}px`,this.#n.style.top=`${r.top-o.top}px`,this.#n.style.height=`${r.height}px`,a&&($s(this.#n),this.#n.style.transitionProperty=``)}};function oc(){return m(new y({key:ec,view:e=>new ac(e)}))}function sc(e){return _(Rn(),xe(),Yr(),we(),be(),Xo(),Pn(),Ss(),zr(),yi(),bi(),Xa(),Ar(),Jr(),Es(),Qs(),Pa(e),mo(),So(),ma(),ts(),Wt(e.markMode??`focus`),wr(),oc(),Xs(),_i(),sn({marks:Jt.map(e=>({name:e,modes:[`hide`,`focus`,`show`]}))}),a(),i(),c(),Se(),Te(),Ce(),Kr(),Fs())}function cc(e={}){return sc(e)}const lc=ye(()=>{let e=cc().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),uc=ye(()=>r(lc())),dc=ye(()=>n(lc())),fc=`meowdown_mark_builders`;function pc(e){let t=e.cached[fc];if(t)return t;let r=n(e);return e.cached[fc]=r,r}const mc=`meowdown_node_builders`;function hc(e){let t=e.cached[mc];if(t)return t;let n=r(e);return e.cached[mc]=n,n}function X(e,t={}){let{nodes:n=uc(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=_c(e);i=t,n&&(a=e.slice(n))}let o=vc(n,$i.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const gc=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function _c(e){let t=gc.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function vc(e,t,n){let r=[];if(!t.firstChild())return r;let i;do i!=null&&yc(r,e,n,i,t.from),i=t.to,r.push(...bc(e,t,n));while(t.nextSibling());return t.parent(),r}function yc(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 bc(e,t,n){switch(t.type.id){case V.ATXHeading1:return[Z(e,t,n,1,!1)];case V.ATXHeading2:return[Z(e,t,n,2,!1)];case V.ATXHeading3:return[Z(e,t,n,3,!1)];case V.ATXHeading4:return[Z(e,t,n,4,!1)];case V.ATXHeading5:return[Z(e,t,n,5,!1)];case V.ATXHeading6:return[Z(e,t,n,6,!1)];case V.SetextHeading1:return[Z(e,t,n,1,!0)];case V.SetextHeading2:return[Z(e,t,n,2,!0)];case V.Paragraph:return[Ec(e,t,n)];case V.CommentBlock:return[Dc(e,t,n)];case V.HTMLBlock:case V.ProcessingInstructionBlock:return[Ec(e,t,n)];case V.Blockquote:return[Oc(e,t,n)];case V.BulletList:return kc(e,t,n,`bullet`);case V.OrderedList:return kc(e,t,n,`ordered`);case V.FencedCode:case V.CodeBlock:return[jc(e,t,n)];case V.BlockMath:return[Mc(e,t,n)];case V.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case V.Table:return[Nc(e,t,n)];case V.Task:return[Ec(e,t,n)];default:return n.slice(t.from,t.to).trim()===``?[]:(console.warn(`[meowdown] unsupported lezer block "${t.type.name}"`),[Ec(e,t,n)])}}function Z(e,t,n,r,i){let a=t.from,o=t.from,s=t.to,c=-1,l=-1;if(t.firstChild()){t.type.id===V.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===V.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=wc(n.slice(o,s),Q(n,o)).trim(),d=i?xc(n,c,l)||1:null,f=!i&&c>=0&&Sc(n,c,l)||null;return e.heading({level:r,setextUnderline:d,closingHashes:f},u)}function xc(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 Sc(e,t,n){if(t<0)return 0;let r=0;for(let i=t;i<n;i++)e.charCodeAt(i)===35&&r++;return r}function Q(e,t){let n=e.lastIndexOf(`
|
|
26
|
+
`,t-1)+1,r=0;for(let i=n;i<t;i++)r+=e.charCodeAt(i)===9?4-r%4:1;return r}function Cc(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 wc(e,t){return t===0||!e.includes(`
|
|
27
27
|
`)?e:e.split(`
|
|
28
|
-
`).map((e,n)=>n===0?e:
|
|
29
|
-
`)}function
|
|
30
|
-
`).filter(e=>!
|
|
31
|
-
`)}const Kc=new y(`meowdown-embed-paste`);function qc(e){let t=e.trim();if(!(!t||/\s/.test(t)))return Wc(t)?t:void 0}function Jc(e,t){let{from:n,to:r}=e.state.selection;e.dispatch(Nt(e.state.tr.insertText(t,n,r)));let i=e.state.tr.insertText(``,n,n+t.length);e.dispatch(Nt(i))}function Yc(){return m(new v({key:Kc,props:{handlePaste:(e,t,n)=>{let r=e.state.selection.$from.parent;if(!r.inlineContent||r.type.spec.code)return!1;let i=Gc(t,n);if(!i)return!1;let a=qc(i);return a?(Jc(e,a),!0):!1}}}))}const Xc=new y(`meowdown-exit-boundary`);function Zc(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&&De.findFrom(a,t))}function Qc(e,t){let{state:n}=e,{selection:r}=n;return h(r)&&!r.empty||re(r)||r.$from.parent.inlineContent&&!e.endOfTextblock(t<0?`up`:`down`)?!0:Zc(n,t)}function $c(e){return new v({key:Xc,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||Qc(t,r)||e({direction:r<0?`up`:`down`,event:n})===!1)}}})}function el(e){return _(m($c(e)),t.low)}function tl(e){return!!e.type?.startsWith(`image/`)}function nl(e,t){return tl(e)?``:`[${al(e.name)}](${t})`}function rl(e,t){return!e||!t.onFilePaste?[]:Array.from(e.files)}const il=e=>{console.error(`[meowdown] failed to save pasted file:`,e)};function al(e){return e.replaceAll(/[\\[\]]/g,String.raw`\$&`)}async function ol(e,t,n,r){let{onFilePaste:i}=n;if(!i)return;let a=n.onFileSaveError??il,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=nl(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 sl(e){return new v({key:new y(`file-paste`),props:{handlePaste:(t,n)=>{let r=rl(n.clipboardData,e);return r.length===0?!1:(ol(t,r,e),!0)},handleDrop:(t,n)=>{let r=rl(n.dataTransfer,e);return r.length===0?!1:(ol(t,r,e,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function cl(e={}){return _(m(sl(e)),t.high)}const ll=new y(`meowdown-file-click`);function ul(e,t){let n=E(e,t,`mdFile`);if(!n)return;let{href:r,name:i}=n.mark.attrs;return{href:r,name:i}}function dl(e){return m(new v({key:ll,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=ul(t.state,t.posAtDOM(a,0));return o?(e({href:o.href,name:o.name,event:r}),!0):!1}}}))}const fl=[`KB`,`MB`,`GB`,`TB`];function pl(e){let t=e,n=`B`;for(let e of fl){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 ml=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 hl(e){let t=e.split(/[?#]/,1)[0],n=t.lastIndexOf(`.`);if(n<0)return`generic`;let r=t.slice(n+1).toLowerCase();return ml.get(r)??`generic`}const gl=`http://www.w3.org/2000/svg`;function _l(){let e=document.createElementNS(gl,`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(gl,`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 vl=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=hl(this.#a.href),this.#n.title=this.#a.name,this.#e.appendChild(this.#n),this.#n.appendChild(_l()),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=pl(n))}};function yl(e={}){return d({name:`mdFile`,constructor:t=>new vl(t,e)})}function bl(e){return m(new v({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 xl=new y(`meowdown-tag-click`);function Sl(e,t){let n=E(e,t,`mdTag`);if(!n)return;let r=e.doc.textBetween(n.from,n.to),i=r.startsWith(`#`)?r.slice(1):r;return{from:n.from,to:n.to,tag:i}}function Cl(e){return bl({key:xl,selector:`.md-tag`,preventDefault:!1,findPayloadAt:(e,t)=>Sl(e,t)?.tag,onClick:(t,n)=>e({tag:t,event:n})})}const wl=new y(`meowdown-wikilink-click`);function Tl(e,t){let n=E(e,t,`mdWikilink`);if(!n)return;let{target:r}=n.mark.attrs;return{from:n.from,to:n.to,target:r}}function El(e,t){let n=t.closest(`.md-wikilink-view`)?.querySelector(`.md-wikilink-view-content`);if(n)return Tl(e.state,e.posAtDOM(n,0))}function Dl(e){return bl({key:wl,selector:`.md-wikilink-view-preview`,preventDefault:!1,findPayloadAt:(e,t)=>Tl(e,t)?.target,findPayloadForElement:(e,t)=>El(e,t)?.target,onClick:(t,n)=>e({target:t,event:n})})}const Ol=new y(`meowdown-follow-link`);function kl(e){return e.key!==`Enter`||e.shiftKey||e.altKey?!1:ie?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}function Al(e){return new v({key:Ol,props:{handleKeyDown:(t,n)=>{if(!kl(n))return!1;let{state:r}=t,i=r.selection.head,a=e.onWikilinkClick&&Tl(r,i);if(a)return e.onWikilinkClick?.({target:a.target,event:n}),!0;let o=e.onTagClick&&Sl(r,i);if(o)return e.onTagClick?.({tag:o.tag,event:n}),!0;let s=e.onFileClick&&ul(r,i);if(s)return e.onFileClick?.({href:s.href,name:s.name,event:n}),!0;let c=e.onLinkClick&&G(r,i);return c?(e.onLinkClick?.({href:c.href,event:n}),!0):!1}}})}function jl(e){return _(m(Al(e)),t.high)}const Ml=new y(`meowdown-image-click`);function Nl(e){return e instanceof HTMLElement&&e.closest(`.md-image-view-preview`)}function Pl(e,t){let n=E(e,t,`mdImage`);if(!n)return;let{src:r,alt:i}=n.mark.attrs;return{from:n.from,to:n.to,src:r,alt:i}}function Fl(e,t){let n=t.closest(`.md-image-view`)?.querySelector(`.md-image-view-content`);if(n)return Pl(e.state,e.posAtDOM(n,0))}function Il(e,t){return Array.from(e).find(e=>e.identifier===t)}function Ll(e,t){return Math.abs(t.clientX-e.clientX)<=10&&Math.abs(t.clientY-e.clientY)<=10}function Rl(e){let t=new WeakMap;return m(new v({key:Ml,props:{handleDOMEvents:{pointerdown:(e,t)=>(Nl(t.target)&&t.pointerType!==`mouse`&&t.preventDefault(),!1),touchstart:(e,n)=>{if(t.delete(e),n.touches.length!==1||!Nl(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=Il(n.changedTouches,r.identifier);return i&&!Ll(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=Il(r.changedTouches,i.identifier);if(!a||!Ll(i,a))return!1;let o=Nl(r.target);if(!o)return!1;r.preventDefault();let s=Fl(n,o);return s&&e({src:s.src,alt:s.alt,event:r}),!0}},handleClick:(t,n,r)=>{let i=Nl(r.target);if(!i)return!1;let a=Fl(t,i);return a?(e({src:a.src,alt:a.alt,event:r}),!0):!1}}}))}function zl(e){return/^https?:\/\//i.test(e)?e:void 0}function Bl(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`&&Lc(t),t}function Vl(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 Hl(e,t,n,r){let i=e.posAtDOM(t,0),a=E(e.state,i,`mdImage`);if(!a)return;let o=e.state.doc.textBetween(a.from,a.to),s=ea(o),c=a.from+s.length,l=o.slice(s.length),u=$i({...Zi(l)??{},width:Math.round(n),height:Math.round(r)});u!==l&&e.dispatch(e.state.tr.insertText(u,c,a.to))}var Ul=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)&&Vl(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=Wc(e);if(t){let e=document.createElement(`span`);return e.className=`md-image-view-preview md-atom-view-preview`,e.appendChild(Bl(t)),e}let n=(this.#n.resolveImageUrl??zl)(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){Ft(),Pt();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,Vl(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)),Vl(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;Hl(this.#r,this.#t,t,n)}),this.#a=t,this.#o=n,t}};function Wl(e={}){return d({name:`mdImage`,constructor:(t,n)=>new Ul(t,n,e)})}const Gl={"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`},Kl=new y(`meowdown-link-click`);function ql(e){return bl({key:Kl,selector:`.md-link`,preventDefault:!0,findPayloadAt:(e,t)=>G(e,t)?.href,onClick:(t,n)=>e({href:t,event:n})})}function Jl(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||!_e(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 v({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 Yl=new y(`meowdown-link-hover`);function Xl(e){return Jl({key:Yl,selector:`.md-link`,findPayloadAt:(e,t)=>G(e,t),isSamePayload:(e,t)=>e.href===t.href&&e.title===t.title,onHoverChange:e})}const Zl=new y(`meowdown-link-paste`);function Ql(e){let t=e.trim();if(!(!t||/\s/.test(t)))return Si(t)}function $l(){return _(m(new v({key:Zl,props:{handlePaste:(e,t,n)=>{let r=Gc(t,n);if(!r)return!1;let i=Ql(r);return i?Wr(e,oo({href:i,wrapText:!1})):!1}}})),t.high)}const eu=[[/<-/,`←`],[/(?<!-)->/,`→`],[/\(c\)/,`©`],[/\(r\)/,`®`],[/1\/2/,`½`],[/\+\/-/,`±`],[/!=/,`≠`],[/<</,`«`],[/>>/,`»`],[/(?<!<!)(?<!^(?:-[ \t]*)+)--/,`—`]],$=new y(`meowdown-substitution-undo`);function tu(e,t,n){let r=te(e.schema,`mdCode`);return e.doc.rangeHasMark(t,n,r)}function nu(e,t,n,r,i){if(tu(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 ru(){return g(eu.map(e=>Je(new It(new RegExp(String.raw`(?:${e[0].source})\s$`),(t,n,r,i)=>nu(t,r,i,e,n[0])))))}function iu(){return m(new v({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 au(){return _(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 ou(){return g(iu(),au())}function su(){return g(eu.map(e=>Ke({regex:RegExp(`(?:${e[0].source})$`),handler:({state:t,from:n,to:r})=>nu(t,n,r,e)})))}function cu(){return g(ru(),ou(),su())}const lu=new y(`meowdown-wikilink-hover`);function uu(e){return Jl({key:lu,selector:`.md-wikilink-view-preview`,findPayloadAt:Tl,findPayloadForElement:El,isSamePayload:(e,t)=>e.target===t.target,onHoverChange:t=>{e(t?{...t.payload,element:t.element}:void 0)}})}const du=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]);function fu(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=>du.has(e))&&!(t.preserveMathSource&&n.includes(`mdMath`))||r.push(e.text),!1}),n.push(r.join(``))}),n.join(`
|
|
32
|
-
`)}function
|
|
28
|
+
`).map((e,n)=>n===0?e:Cc(e,t)).join(`
|
|
29
|
+
`)}function Tc(e,t,n){return e.paragraph(wc(t,n))}function Ec(e,t,n){let r=t.from,i=t.to,a=Q(n,r);if(t.firstChild()){let o=``,s=r;do t.type.id===V.QuoteMark&&(o+=n.slice(s,t.from),s=t.to,N(n.charCodeAt(s))&&(s+=1));while(t.nextSibling());return t.parent(),o+=n.slice(s,i),Tc(e,o,a)}return Tc(e,n.slice(r,i),a)}function Dc(e,t,n){let r=Q(n,t.from),i=wc(n.slice(t.from,t.to),r);return e.htmlComment({content:i})}function Oc(e,t,n){let r=[];if(t.firstChild()){let i;do{if(t.type.id===V.QuoteMark)continue;i!=null&&yc(r,e,n,i,t.from),i=t.to,r.push(...bc(e,t,n))}while(t.nextSibling());t.parent()}return e.blockquote(r)}function kc(e,t,n,r){let i=[];if(t.firstChild()){do t.type.id===V.ListItem&&i.push(Ac(e,t,n,r));while(t.nextSibling());t.parent()}return i}function Ac(e,t,n,r){let i=[],a,o,s,c,l,u;if(t.firstChild()){do{if(t.type.id!==V.ListMark&&u==null&&(u=Q(n,t.from)),t.type.id===V.ListMark){if(r===`ordered`){let e=n.charCodeAt(t.to-1);e===41?c=`)`:e===46&&(c=`.`);let r=Number.parseInt(n.slice(t.from,t.to),10);s=Number.isFinite(r)?r:1}else{let e=n.charCodeAt(t.from);c=e===42?`*`:e===43?`+`:`-`}l=Q(n,t.to);continue}if(r===`bullet`&&t.type.id===V.Task){let r=t.from,s=t.to;if(a=!1,t.firstChild()){if(t.type.id===V.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()}N(n.charCodeAt(r))&&(r+=1);let c=n.slice(r,s);i.push(Tc(e,c,Q(n,r)));continue}i.push(...bc(e,t,n))}while(t.nextSibling());t.parent()}let d=u!=null&&l!=null?u-l:1,f=a!=null,p=!f&&r===`bullet`&&c===`+`;return e.list({kind:f?`task`:r,order:r===`ordered`?s??1:null,checked:a??!1,collapsed:p,marker:p?null:c,taskMarker:o,markerGap:d>=2&&d<=4?d:1},i)}function jc(e,t,n){let r=t.type.id===V.CodeBlock,i=``,a=``,o=r?`indented`:null,s=null,c=!1;if(t.firstChild()){do switch(t.type.id){case V.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 V.CodeInfo:i=n.slice(t.from,t.to);break;case V.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 Mc(e,t,n){let r=``;if(t.firstChild()){do t.type.id===V.CodeText&&(r+=n.slice(t.from,t.to));while(t.nextSibling());t.parent()}return e.codeBlock({language:`math`,fenceStyle:`dollar`,fenceLength:null},r)}function Nc(e,t,n){let r=[];if(t.firstChild()){do t.type.id===V.TableDelimiter&&(r=Pc(n.slice(t.from,t.to)));while(t.nextSibling());t.parent()}let i=[];if(t.firstChild()){do{let a=t.type.id;a===V.TableHeader?i.push(Fc(e,t,n,!0,r)):a===V.TableRow&&i.push(Fc(e,t,n,!1,r))}while(t.nextSibling());t.parent()}return e.table(i)}function Pc(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 Fc(e,t,n,r,i){let a=i.length,o=Array(a).fill(``);if(t.firstChild()){let e=t.type.id===V.TableDelimiter,r=0;do if(t.type.id===V.TableDelimiter)r++;else if(t.type.id===V.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 Ic(e){return e.replace(/\n+$/u,``)}function Lc(e){return/^[\s>]*$/u.test(e)}function Rc(e){return e.split(`
|
|
30
|
+
`).filter(e=>!Lc(e))}function zc(e){return e.trim().replaceAll(/\s+/gu,` `)}function Bc(e,t={}){let n=er(X(e,{frontmatter:t.frontmatter}),{frontmatter:t.frontmatter});if(Ic(n)===Ic(e))return`exact`;let r=Rc(e),i=Rc(n);return r.length===i.length&&r.every((e,t)=>zc(e)===zc(i[t]))?`normalizing`:`lossy`}const Vc=(e,t)=>{let{$from:n,empty:r}=e.selection;if(!r||n.depth!==1||n.index(0)!==0||n.parent.type.name!==`heading`||n.parentOffset!==n.parent.content.size)return!1;if(t){let r=te(e.schema,`list`),i=te(e.schema,`paragraph`),a=r.create({kind:`bullet`},i.create()),o=n.after(),s=e.tr.insert(o,a);s.setSelection(x.create(s.doc,o+2)),t(s.scrollIntoView())}return!0};function Hc(){return v(l({Enter:Vc}),t.high)}const Uc=new Set([`MscGen`,`Xù`,`MsGenny`,`Angular Template`,`Brainfuck`,`Esper`,`Oz`,`Factor`,`Squirrel`,`Yacas`,`mIRC`,`FCL`,`ECL`,`MUMPS`,`Pig`,`Asterisk`,`Z80`,`Mathematica`]),Wc=Ue.map(e=>({label:e.name,value:e.name.toLowerCase()})).filter(e=>!Uc.has(e.label)).concat([{label:`Plain text`,value:``},{label:`Math`,value:`math`}]).sort((e,t)=>e.label.localeCompare(t.label));function Gc(){return typeof window>`u`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}const Kc=/^(?:www\.|mobile\.)?(?:twitter\.com|x\.com)$/i,qc=/\/status(?:es)?\/(\d+)/;function Jc(e){let t;try{t=new URL(e)}catch{return}if(Kc.test(t.hostname))return qc.exec(t.pathname)?.[1]}const Yc=e=>{let t=Jc(e);if(!t)return;let n=Gc()?`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 Xc(e){let t=t=>{if(t.source===e.contentWindow)try{let n=t.data?.[`twttr.embed`]?.params?.[0]?.height;typeof n==`number`&&(e.style.height=`${n}px`)}catch(e){console.warn(`[meowdown] failed to parse tweet resize message:`,e)}};window.addEventListener(`message`,t);let n=!1,r=()=>{n||(n=!0,window.removeEventListener(`message`,t),i.disconnect())},i=new MutationObserver(()=>{e.isConnected||r()});return i.observe(document.body,{childList:!0,subtree:!0}),r}const Zc=/^(?:www\.|m\.)?(?:youtube\.com|youtube-nocookie\.com)$/i,Qc=/^(?:www\.)?youtu\.be$/i,$c=/^[\w-]{11}$/;function el(e){let t;try{t=new URL(e)}catch{return}let n=null;if(Qc.test(t.hostname))n=t.pathname.slice(1);else if(Zc.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||!$c.test(n))return;let r=t.searchParams.get(`start`)??t.searchParams.get(`t`),i=r?tl(r):void 0;return{videoId:n,startSeconds:i}}function tl(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 nl=[e=>{let t=el(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}},Yc];function rl(e){for(let t of nl){let n=t(e);if(n)return n}}function il(e,t){return e.clipboardData?.getData(`text/plain`)||t.content.textBetween(0,t.content.size,`
|
|
31
|
+
`)}const al=new b(`meowdown-embed-paste`);function ol(e){let t=e.trim();if(!(!t||/\s/.test(t)))return rl(t)?t:void 0}function sl(e,t){let{from:n,to:r}=e.state.selection;e.dispatch(Lt(e.state.tr.insertText(t,n,r)));let i=e.state.tr.insertText(``,n,n+t.length);e.dispatch(Lt(i))}function cl(){return m(new y({key:al,props:{handlePaste:(e,t,n)=>{let r=e.state.selection.$from.parent;if(!r.inlineContent||r.type.spec.code)return!1;let i=il(t,n);if(!i)return!1;let a=ol(i);return a?(sl(e,a),!0):!1}}}))}const ll=new b(`meowdown-exit-boundary`);function ul(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&&De.findFrom(a,t))}function dl(e,t){let{state:n}=e,{selection:r}=n;return g(r)&&!r.empty||ne(r)||r.$from.parent.inlineContent&&!e.endOfTextblock(t<0?`up`:`down`)?!0:ul(n,t)}function fl(e){return new y({key:ll,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||dl(t,r)||e({direction:r<0?`up`:`down`,event:n})===!1)}}})}function pl(e){return v(m(fl(e)),t.low)}const ml=new Set([`avif`,`bmp`,`gif`,`jpeg`,`jpg`,`png`,`svg`,`webp`]);function hl(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 ml.has(n)}function gl(e,t){return hl(e)?``:`[${yl(e.name)}](${t})`}function _l(e,t){return!e||!t.onFilePaste?[]:Array.from(e.files)}const vl=e=>{console.error(`[meowdown] failed to save pasted file:`,e)};function yl(e){return e.replaceAll(/[\\[\]]/g,String.raw`\$&`)}async function bl(e,t,n,r){let{onFilePaste:i}=n;if(!i)return;let a=n.onFileSaveError??vl,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=gl(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 xl(e){return new y({key:new b(`file-paste`),props:{handlePaste:(t,n)=>{let r=_l(n.clipboardData,e);return r.length===0?!1:(bl(t,r,e),!0)},handleDrop:(t,n)=>{let r=_l(n.dataTransfer,e);return r.length===0?!1:(bl(t,r,e,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function Sl(e={}){return v(m(xl(e)),t.high)}const Cl=new b(`meowdown-file-click`);function wl(e,t){let n=E(e,t,`mdFile`);if(!n)return;let{href:r,name:i}=n.mark.attrs;return{href:r,name:i}}function Tl(e){return m(new y({key:Cl,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=wl(t.state,t.posAtDOM(a,0));return o?(e({href:o.href,name:o.name,event:r}),!0):!1}}}))}const El=[`KB`,`MB`,`GB`,`TB`];function Dl(e){let t=e,n=`B`;for(let e of El){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 Ol=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 kl(e){let t=e.split(/[?#]/,1)[0],n=t.lastIndexOf(`.`);if(n<0)return`generic`;let r=t.slice(n+1).toLowerCase();return Ol.get(r)??`generic`}const Al=`http://www.w3.org/2000/svg`;function jl(){let e=document.createElementNS(Al,`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(Al,`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 Ml=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=kl(this.#a.href),this.#n.title=this.#a.name,this.#e.appendChild(this.#n),this.#n.appendChild(jl()),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=Dl(n))}};function Nl(e={}){return d({name:`mdFile`,constructor:t=>new Ml(t,e)})}function Pl(e){return m(new y({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 Fl=new b(`meowdown-tag-click`);function Il(e,t){let n=E(e,t,`mdTag`);if(!n)return;let r=e.doc.textBetween(n.from,n.to),i=r.startsWith(`#`)?r.slice(1):r;return{from:n.from,to:n.to,tag:i}}function Ll(e){return Pl({key:Fl,selector:`.md-tag`,preventDefault:!1,findPayloadAt:(e,t)=>Il(e,t)?.tag,onClick:(t,n)=>e({tag:t,event:n})})}const Rl=new b(`meowdown-wikilink-click`);function zl(e,t){let n=E(e,t,`mdWikilink`);if(!n)return;let{target:r}=n.mark.attrs;return{from:n.from,to:n.to,target:r}}function Bl(e,t){let n=t.closest(`.md-wikilink-view`)?.querySelector(`.md-wikilink-view-content`);if(n)return zl(e.state,e.posAtDOM(n,0))}function Vl(e){return Pl({key:Rl,selector:`.md-wikilink-view-preview`,preventDefault:!1,findPayloadAt:(e,t)=>zl(e,t)?.target,findPayloadForElement:(e,t)=>Bl(e,t)?.target,onClick:(t,n)=>e({target:t,event:n})})}const Hl=new b(`meowdown-follow-link`);function Ul(e){return e.key!==`Enter`||e.shiftKey||e.altKey?!1:re?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}function Wl(e){return new y({key:Hl,props:{handleKeyDown:(t,n)=>{if(!Ul(n))return!1;let{state:r}=t,i=r.selection.head,a=e.onWikilinkClick&&zl(r,i);if(a)return e.onWikilinkClick?.({target:a.target,event:n}),!0;let o=e.onTagClick&&Il(r,i);if(o)return e.onTagClick?.({tag:o.tag,event:n}),!0;let s=e.onFileClick&&wl(r,i);if(s)return e.onFileClick?.({href:s.href,name:s.name,event:n}),!0;let c=e.onLinkClick&&G(r,i);return c?(e.onLinkClick?.({href:c.href,event:n}),!0):!1}}})}function Gl(e){return v(m(Wl(e)),t.high)}const Kl=new b(`meowdown-image-click`);function ql(e){return e instanceof HTMLElement&&e.closest(`.md-image-view-preview`)}function Jl(e,t){let n=E(e,t,`mdImage`);if(!n)return;let{src:r,alt:i}=n.mark.attrs;return{from:n.from,to:n.to,src:r,alt:i}}function Yl(e,t){let n=t.closest(`.md-image-view`)?.querySelector(`.md-image-view-content`);if(n)return Jl(e.state,e.posAtDOM(n,0))}function Xl(e,t){return Array.from(e).find(e=>e.identifier===t)}function Zl(e,t){return Math.abs(t.clientX-e.clientX)<=10&&Math.abs(t.clientY-e.clientY)<=10}function Ql(e){let t=new WeakMap;return m(new y({key:Kl,props:{handleDOMEvents:{pointerdown:(e,t)=>(ql(t.target)&&t.pointerType!==`mouse`&&t.preventDefault(),!1),touchstart:(e,n)=>{if(t.delete(e),n.touches.length!==1||!ql(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=Xl(n.changedTouches,r.identifier);return i&&!Zl(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=Xl(r.changedTouches,i.identifier);if(!a||!Zl(i,a))return!1;let o=ql(r.target);if(!o)return!1;r.preventDefault();let s=Yl(n,o);return s&&e({src:s.src,alt:s.alt,event:r}),!0}},handleClick:(t,n,r)=>{let i=ql(r.target);if(!i)return!1;let a=Yl(t,i);return a?(e({src:a.src,alt:a.alt,event:r}),!0):!1}}}))}function $l(e){return/^https?:\/\//i.test(e)?e:void 0}function eu(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`&&Xc(t),t}function tu(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 nu(e,t,n,r){let i=e.posAtDOM(t,0),a=E(e.state,i,`mdImage`);if(!a)return;let o=e.state.doc.textBetween(a.from,a.to),s=a.mark.attrs;if(s.syntax===`wikiEmbed`){let t=s.wikiTarget||la(o).target;if(!t)return;let i=ua(t,n,r);i!==o&&e.dispatch(e.state.tr.insertText(i,a.from,a.to));return}let c=oa(o),l=a.from+c.length,u=o.slice(c.length),d=aa({...ra(u)??{},width:Math.round(n),height:Math.round(r)});d!==u&&e.dispatch(e.state.tr.insertText(d,l,a.to))}var ru=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)&&tu(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=rl(e);if(t){let e=document.createElement(`span`);return e.className=`md-image-view-preview md-atom-view-preview`,e.appendChild(eu(t)),e}let n=(this.#n.resolveImageUrl??$l)(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){zt(),Rt();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,tu(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)),tu(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;nu(this.#r,this.#t,t,n)}),this.#a=t,this.#o=n,t}};function iu(e={}){return d({name:`mdImage`,constructor:(t,n)=>new ru(t,n,e)})}const au={"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`},ou=new b(`meowdown-link-click`);function su(e){return Pl({key:ou,selector:`.md-link`,preventDefault:!0,findPayloadAt:(e,t)=>G(e,t)?.href,onClick:(t,n)=>e({href:t,event:n})})}function cu(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||!_e(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 y({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 lu=new b(`meowdown-link-hover`);function uu(e){return cu({key:lu,selector:`.md-link`,findPayloadAt:(e,t)=>G(e,t),isSamePayload:(e,t)=>e.href===t.href&&e.title===t.title,onHoverChange:e})}const du=new b(`meowdown-link-paste`);function fu(e){let t=e.trim();if(!(!t||/\s/.test(t)))return ki(t)}function pu(){return v(m(new y({key:du,props:{handlePaste:(e,t,n)=>{let r=il(t,n);if(!r)return!1;let i=fu(r);return i?Xr(e,yo({href:i,wrapText:!1})):!1}}})),t.high)}const mu=[[/<-/,`←`],[/(?<!-)->/,`→`],[/\(c\)/,`©`],[/\(r\)/,`®`],[/1\/2/,`½`],[/\+\/-/,`±`],[/!=/,`≠`],[/<</,`«`],[/>>/,`»`],[/(?<!<!)(?<!^(?:-[ \t]*)+)--/,`—`]],$=new b(`meowdown-substitution-undo`);function hu(e,t,n){let r=ee(e.schema,`mdCode`);return e.doc.rangeHasMark(t,n,r)}function gu(e,t,n,r,i){if(hu(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 _u(){return _(mu.map(e=>Ye(new Bt(new RegExp(String.raw`(?:${e[0].source})\s$`),(t,n,r,i)=>gu(t,r,i,e,n[0])))))}function vu(){return m(new y({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 yu(){return v(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 bu(){return _(vu(),yu())}function xu(){return _(mu.map(e=>qe({regex:RegExp(`(?:${e[0].source})$`),handler:({state:t,from:n,to:r})=>gu(t,n,r,e)})))}function Su(){return _(_u(),bu(),xu())}const Cu=new b(`meowdown-wikilink-hover`);function wu(e){return cu({key:Cu,selector:`.md-wikilink-view-preview`,findPayloadAt:zl,findPayloadForElement:Bl,isSamePayload:(e,t)=>e.target===t.target,onHoverChange:t=>{e(t?{...t.payload,element:t.element}:void 0)}})}const Tu=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]);function Eu(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=>Tu.has(e))&&!(t.preserveMathSource&&n.includes(`mdMath`))||r.push(e.text),!1}),n.push(r.join(``))}),n.join(`
|
|
32
|
+
`)}function Du({allowEmpty:e}){return(t,n)=>{let{selection:r}=t;if(!g(r)||!e&&r.empty||!r.$head.sameParent(r.$anchor)||r.$head.parent.type.spec.code)return!1;let i=Eu(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(x.create(e.doc,r.from+a.length)),Ze(e),n(e.scrollIntoView())}return!0}}function Ou(){return l({"Mod-Shift-k":Du({allowEmpty:!0}),"[":Du({allowEmpty:!1})})}function ku(e){let{selection:t,schema:n}=e;if(t.empty)return``;let r=t.content().content;try{return er(n.topNodeType.create(null,r)).replace(/\n+$/,``)}catch{return e.doc.textBetween(t.from,t.to,`
|
|
33
33
|
|
|
34
|
-
`)}}function
|
|
34
|
+
`)}}function Au(e,t,n){if(n===1){let r=L(e.state,t);return r&&J(e,r.to,n)}else{let n=I(e.state,t);return n&&J(e,n.from,-1)}}function ju(e,t){let n=new DOMRect(0,0,0,0),r=()=>{if(e.isDestroyed)return n;let r=J(e,t.from,1)??Vs(e,t.from,1)??Au(e,t.from,1)??J(e,t.from,-1);if(r==null)return n;let i=J(e,t.to,-1)??Vs(e,t.to,-1)??Au(e,t.to,-1)??J(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()]}}function Mu(e){return e instanceof ct||e instanceof lt||e instanceof ut||e instanceof dt||e instanceof R}function Nu(e){for(let t of e)for(let e of t.steps)if(!Mu(e))return!0;return!1}function Pu(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){Nu(e)&&o()},view(e){return t=e,{destroy(){t=void 0}}}}}function Fu(e){let t=new b(`spell-check`);return new y({key:t,state:{init:()=>Pu(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 Iu(e){return m(Fu(e))}export{au as EDITOR_KEY_BINDINGS,e as Priority,gl as buildFileMarkdown,Bc as checkRoundTrip,Wc as codeBlockLanguages,$l as defaultResolveImageUrl,Hc as defineBulletAfterHeading,pe as defineCodeBlockPreviewPlugin,Ar as defineCodeBlockSyntaxHighlight,cc as defineEditorExtension,cl as defineEmbedPaste,pl as defineExitBoundaryHandler,Tl as defineFileClickHandler,Sl as defineFilePaste,Nl as defineFileView,Gl as defineFollowLinkHandler,bi as defineHTMLComment,iu as defineImage,Ql as defineImageClickHandler,su as defineLinkClickHandler,So as defineLinkCommands,wo as defineLinkEditKeymap,uu as defineLinkHoverHandler,pu as defineLinkPaste,ts as defineMath,Is as definePendingReplacementHandler,he as definePlaceholder,ge as defineReadonly,Iu as defineSpellCheckPlugin,Su as defineSubstitution,Ll as defineTagClickHandler,Vl as defineWikilinkClickHandler,wu as defineWikilinkHoverHandler,Ou as defineWikilinkTrigger,er as docToMarkdown,Dl as formatFileSize,ua as formatSizedWikiEmbed,Mr as getCodeTokens,kl as getFileKind,G as getLinkUnitAt,dc as getMarkBuilders,q as getPendingReplacement,ku as getSelectedText,ms as getTableColumnAlign,ju as getVirtualElementFromRange,ga as inlineTextToMarkChunks,yo as insertLink,me as isCodeBlockPreviewHiddenDecoration,_s as isSelectionInTableCell,Xc as listenForTweetHeight,Qo as loadKaTeX,X as markdownToDoc,rl as matchEmbed,la as parseWikiEmbed,xo as removeLink,$o as renderMathInto,bo as updateLink,da as wikiEmbedBasename,le as withPriority};
|