@meowdown/core 0.24.1 → 0.25.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 +122 -12
- package/dist/index.js +14 -14
- package/dist/style.css +4 -4
- package/package.json +2 -1
package/dist/index.d.ts
CHANGED
|
@@ -2,8 +2,12 @@ import { Editor, Extension, ExtractMarkBuilders, ExtractNodeBuilders, PlainExten
|
|
|
2
2
|
import { PlaceholderOptions, definePlaceholder } from "@prosekit/extensions/placeholder";
|
|
3
3
|
import { defineReadonly } from "@prosekit/extensions/readonly";
|
|
4
4
|
import { CodeBlockAttrs } from "@prosekit/extensions/code-block";
|
|
5
|
+
import { Command, EditorState } from "@prosekit/pm/state";
|
|
6
|
+
import { EditorView } from "@prosekit/pm/view";
|
|
5
7
|
import { HorizontalRuleExtension } from "@prosekit/extensions/horizontal-rule";
|
|
6
8
|
import { Mark, ProseMirrorNode } from "@prosekit/pm/model";
|
|
9
|
+
import { VirtualElement } from "@floating-ui/dom";
|
|
10
|
+
|
|
7
11
|
//#region src/converters/check-roundtrip.d.ts
|
|
8
12
|
/**
|
|
9
13
|
* How faithfully markdown survives a parse-then-serialize round trip:
|
|
@@ -121,16 +125,86 @@ interface MdWikilinkViewAttrs {
|
|
|
121
125
|
target: string;
|
|
122
126
|
display: string;
|
|
123
127
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
128
|
+
/** mdPack keys for units that store no extra data; the syntax marks carry it. */
|
|
129
|
+
type MdPackSimpleKey = 'bold' | 'italic' | 'code' | 'strike' | 'highlight' | 'autolink';
|
|
130
|
+
/**
|
|
131
|
+
* Content-derived identity of one inline syntax unit. Adjacent units of the
|
|
132
|
+
* same kind are kept apart by it (so they do not merge into one mark run), and
|
|
133
|
+
* it stays stable when unrelated text in the block is edited, so editing one
|
|
134
|
+
* unit never re-marks the others. `data` carries the unit's parsed payload (a
|
|
135
|
+
* link's `href`/`title`, an image's `src`) so callers read it off the mark
|
|
136
|
+
* instead of re-parsing the text.
|
|
137
|
+
*/
|
|
138
|
+
type MdPackAttrs = {
|
|
139
|
+
key: 'link';
|
|
140
|
+
data: {
|
|
141
|
+
href: string;
|
|
142
|
+
title: string;
|
|
143
|
+
};
|
|
144
|
+
} | {
|
|
145
|
+
key: 'image';
|
|
146
|
+
data: {
|
|
147
|
+
src: string;
|
|
148
|
+
};
|
|
149
|
+
} | {
|
|
150
|
+
key: MdPackSimpleKey;
|
|
151
|
+
data?: null;
|
|
152
|
+
};
|
|
153
|
+
//#endregion
|
|
154
|
+
//#region src/utils/range.d.ts
|
|
155
|
+
interface PositionRange {
|
|
156
|
+
from: number;
|
|
157
|
+
to: number;
|
|
158
|
+
}
|
|
159
|
+
//#endregion
|
|
160
|
+
//#region src/extensions/get-link-unit-at.d.ts
|
|
161
|
+
interface LinkUnit {
|
|
162
|
+
/** Whole `[text](url "title")` (or autolink) range */
|
|
163
|
+
unit: PositionRange;
|
|
164
|
+
/** Interior of `[ ]`. Absent for an autolink. */
|
|
165
|
+
label?: PositionRange;
|
|
166
|
+
/** Interior of `( )`. What `updateLink` rewrites. Absent for an autolink. */
|
|
167
|
+
dest?: PositionRange;
|
|
168
|
+
/** The link URL. Could be an empty string. */
|
|
169
|
+
href: string;
|
|
170
|
+
/** The link title, unquoted. Could be an empty string. */
|
|
171
|
+
title: string;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* The link covering `pos`, with its sub-ranges (`label`, `dest`) and parsed
|
|
175
|
+
* `href`/`title`. The single query the commands and the hover/click handlers
|
|
176
|
+
* share, replacing the old `findLinkAt`.
|
|
177
|
+
*
|
|
178
|
+
* Derived entirely from the marks already on the document (no re-parse): the
|
|
179
|
+
* `mdPack` unit gives the shape and carries the `href`/`title` in its `data`, and
|
|
180
|
+
* the `mdLinkUri` run locates the `( )` body.
|
|
181
|
+
*/
|
|
182
|
+
declare function getLinkUnitAt(state: EditorState, pos: number): LinkUnit | undefined;
|
|
183
|
+
//#endregion
|
|
184
|
+
//#region src/extensions/link-commands.d.ts
|
|
185
|
+
interface LinkAttrs {
|
|
186
|
+
href?: string;
|
|
187
|
+
title?: string;
|
|
188
|
+
}
|
|
189
|
+
declare function insertLink(attrs?: LinkAttrs): Command;
|
|
190
|
+
/** Rewrite the `( ... )` of the link at the caret/selection. */
|
|
191
|
+
declare function updateLink(attrs: LinkAttrs): Command;
|
|
192
|
+
/** Unwrap the link at the caret: keep the label text, drop the syntax. */
|
|
193
|
+
declare function removeLink(): Command;
|
|
194
|
+
declare function defineLinkCommands(): import("@prosekit/core").Extension<{
|
|
195
|
+
Commands: {
|
|
196
|
+
insertLink: [attrs?: LinkAttrs | undefined];
|
|
197
|
+
updateLink: [attrs: LinkAttrs];
|
|
198
|
+
removeLink: [];
|
|
199
|
+
};
|
|
200
|
+
}>;
|
|
201
|
+
interface LinkEditOptions {
|
|
202
|
+
from: number;
|
|
203
|
+
to: number;
|
|
204
|
+
link: LinkUnit | undefined;
|
|
133
205
|
}
|
|
206
|
+
type LinkEditHandler = (options: LinkEditOptions) => void;
|
|
207
|
+
declare function defineLinkEditKeymap(onLinkEdit: LinkEditHandler): PlainExtension;
|
|
134
208
|
//#endregion
|
|
135
209
|
//#region src/extensions/extension.d.ts
|
|
136
210
|
declare function defineEditorExtensionImpl(): import("@prosekit/core").Union<readonly [import("@prosekit/core").Extension<{
|
|
@@ -208,6 +282,10 @@ declare function defineEditorExtensionImpl(): import("@prosekit/core").Union<rea
|
|
|
208
282
|
Marks: {
|
|
209
283
|
mdLinkUri: import("@prosekit/pm/model").Attrs;
|
|
210
284
|
};
|
|
285
|
+
}>, import("@prosekit/core").Extension<{
|
|
286
|
+
Marks: {
|
|
287
|
+
mdLinkTitle: import("@prosekit/pm/model").Attrs;
|
|
288
|
+
};
|
|
211
289
|
}>, import("@prosekit/core").Extension<{
|
|
212
290
|
Marks: {
|
|
213
291
|
mdDel: import("@prosekit/pm/model").Attrs;
|
|
@@ -248,7 +326,18 @@ declare function defineEditorExtensionImpl(): import("@prosekit/core").Union<rea
|
|
|
248
326
|
toggleDel: [];
|
|
249
327
|
toggleHighlight: [];
|
|
250
328
|
};
|
|
251
|
-
}>, import("@prosekit/core").PlainExtension]>, import("@prosekit/core").
|
|
329
|
+
}>, import("@prosekit/core").PlainExtension]>, import("@prosekit/core").Extension<{
|
|
330
|
+
Commands: {
|
|
331
|
+
insertLink: [attrs?: LinkAttrs | undefined];
|
|
332
|
+
updateLink: [attrs: LinkAttrs];
|
|
333
|
+
removeLink: [];
|
|
334
|
+
};
|
|
335
|
+
}>, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").BaseCommandsExtension, import("@prosekit/core").HistoryExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").Extension<{
|
|
336
|
+
Commands: {
|
|
337
|
+
selectText: [anchor: number, head?: number | undefined];
|
|
338
|
+
selectTextBetween: [$anchor: import("@prosekit/pm/model").ResolvedPos, $head: import("@prosekit/pm/model").ResolvedPos, bias?: number | undefined];
|
|
339
|
+
};
|
|
340
|
+
}>]>;
|
|
252
341
|
type EditorExtension = ReturnType<typeof defineEditorExtensionImpl>;
|
|
253
342
|
declare function defineEditorExtension(): EditorExtension;
|
|
254
343
|
type TypedEditor = Editor<EditorExtension>;
|
|
@@ -468,6 +557,7 @@ declare const EDITOR_KEY_BINDINGS: {
|
|
|
468
557
|
readonly 'Mod-e': "Inline code";
|
|
469
558
|
readonly 'Mod-Shift-x': "Strikethrough";
|
|
470
559
|
readonly 'Mod-Shift-h': "Highlight";
|
|
560
|
+
readonly 'Mod-k': "Link";
|
|
471
561
|
readonly 'Mod-1': "Heading 1";
|
|
472
562
|
readonly 'Mod-2': "Heading 2";
|
|
473
563
|
readonly 'Mod-3': "Heading 3";
|
|
@@ -482,8 +572,22 @@ interface LinkClickPayload {
|
|
|
482
572
|
event: MouseEvent;
|
|
483
573
|
}
|
|
484
574
|
type LinkClickHandler = (payload: LinkClickPayload) => void;
|
|
575
|
+
interface LinkCopyPayload {
|
|
576
|
+
href: string;
|
|
577
|
+
}
|
|
578
|
+
type LinkCopyHandler = (payload: LinkCopyPayload) => void;
|
|
485
579
|
declare function defineLinkClickHandler(onClick: LinkClickHandler): PlainExtension;
|
|
486
580
|
//#endregion
|
|
581
|
+
//#region src/extensions/mark-hover.d.ts
|
|
582
|
+
interface MarkHoverHit<Payload> {
|
|
583
|
+
payload: Payload;
|
|
584
|
+
element: HTMLElement;
|
|
585
|
+
}
|
|
586
|
+
//#endregion
|
|
587
|
+
//#region src/extensions/link-hover.d.ts
|
|
588
|
+
type LinkHoverHandler = (hit: MarkHoverHit<LinkUnit> | undefined) => void;
|
|
589
|
+
declare function defineLinkHoverHandler(onHoverChange: LinkHoverHandler): PlainExtension;
|
|
590
|
+
//#endregion
|
|
487
591
|
//#region src/extensions/mark-mode.d.ts
|
|
488
592
|
/**
|
|
489
593
|
* Controls how markdown syntax characters are rendered and how the
|
|
@@ -497,7 +601,7 @@ type MarkMode = 'hide' | 'focus' | 'show';
|
|
|
497
601
|
declare function defineMarkMode(mode: MarkMode): PlainExtension;
|
|
498
602
|
//#endregion
|
|
499
603
|
//#region src/extensions/mark-names.d.ts
|
|
500
|
-
declare const MARK_NAMES: readonly ["mdImageView", "mdImageSource", "mdMark", "mdEm", "mdStrong", "mdCode", "mdLinkText", "mdLinkUri", "mdDel", "mdHighlight", "mdTag", "mdWikilinkSource", "mdWikilinkView", "mdPack"];
|
|
604
|
+
declare const MARK_NAMES: readonly ["mdImageView", "mdImageSource", "mdMark", "mdEm", "mdStrong", "mdCode", "mdLinkText", "mdLinkUri", "mdLinkTitle", "mdDel", "mdHighlight", "mdTag", "mdWikilinkSource", "mdWikilinkView", "mdPack"];
|
|
501
605
|
type MarkName = (typeof MARK_NAMES)[number];
|
|
502
606
|
//#endregion
|
|
503
607
|
//#region src/extensions/markdown-copy.d.ts
|
|
@@ -543,4 +647,10 @@ declare function defineWikilinkClickHandler(onClick: WikilinkClickHandler): Plai
|
|
|
543
647
|
*/
|
|
544
648
|
declare function defineWikilinkTrigger(): PlainExtension;
|
|
545
649
|
//#endregion
|
|
546
|
-
|
|
650
|
+
//#region src/utils/virtual-element.d.ts
|
|
651
|
+
/**
|
|
652
|
+
* Returns a Floating-UI virtual element tracking a document range.
|
|
653
|
+
*/
|
|
654
|
+
declare function getVirtualElementFromRange(view: EditorView, range: PositionRange): VirtualElement;
|
|
655
|
+
//#endregion
|
|
656
|
+
export { type CheckRoundTripOptions, type CodeBlockAttrs, type CodeToken, type DocToMarkdownOptions, EDITOR_KEY_BINDINGS, type EditorExtension, type EmbedDescriptor, type ExitBoundaryHandler, type ExitBoundaryOptions, type ImageClickHandler, type ImageClickPayload, type ImageOptions, type LinkAttrs, type LinkClickHandler, type LinkClickPayload, type LinkCopyHandler, type LinkCopyPayload, type LinkEditHandler, type LinkEditOptions, type LinkHoverHandler, type LinkUnit, type MarkChunk, type MarkMode, type MarkName, type MarkdownToDocOptions, type MdImageViewAttrs, type MdLinkTextAttrs, type MdWikilinkViewAttrs, type MeowdownHTMLCommentAttrs, type NodeName, type PlaceholderOptions, type PositionRange, Priority, type RoundTripFidelity, type TagClickHandler, type TagClickPayload, type TypedEditor, type TypedMarkBuilders, type VirtualElement, type WikilinkClickHandler, type WikilinkClickPayload, checkRoundTrip, codeBlockLanguages, defaultResolveImageUrl, defineBulletAfterHeading, defineCodeBlockSyntaxHighlight, defineEditorExtension, defineEmbedPaste, defineExitBoundaryHandler, defineHTMLComment, defineHTMLPaste, defineImage, defineImageClickHandler, defineLinkClickHandler, defineLinkCommands, defineLinkEditKeymap, defineLinkHoverHandler, defineMarkMode, defineMarkdownCopy, definePlaceholder, defineReadonly, defineTagClickHandler, defineWikilinkClickHandler, defineWikilinkTrigger, docToMarkdown, getCodeTokens, getLinkUnitAt, getMarkBuilders, getVirtualElementFromRange, inlineTextToMarkChunks, insertLink, listenForTweetHeight, markdownToDoc, matchEmbed, removeLink, updateLink, withPriority };
|
package/dist/index.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import{Priority as e,Priority as t,createMarkBuilders as n,createNodeBuilders as r,defineBaseCommands as i,defineBaseKeymap as a,defineCommands as o,
|
|
2
|
-
`)}function ht(e){let{selection:t}=e;if(!t.empty)return S.empty;let n=t.$head,{parent:r}=n;if(!r.isTextblock||r.type.spec.code)return S.empty;let i=m(n,ee(e.schema,`mdPack`));return i?S.create(e.doc,[ye.inline(i.from,i.to,{class:`show`})]):S.empty}function E(e,t){let n=pt(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function D(e,t,n){for(let r of n){let n=T(e,t,r);if(n)return n}}function O(e,t,n){let r=D(e,t,n);return r&&r.to===t?r:void 0}function k(e,t,n){let r=D(e,t,n);return r&&r.from===t?r:void 0}function A(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=D(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function gt(e,t){return x.create(e.doc,t.from,t.to)}function _t(e){return(t,n)=>{let r=E(e,t);if(r.length===0||!h(t.selection))return!1;let i=t.selection;if(i.empty){let e=k(t,i.from,r);if(e)return n?.(t.tr.setSelection(gt(t,e))),!0;if(O(t,i.from,r)){let e=t.doc.resolve(i.from);return i.from>=e.end()?!1:(n?.(t.tr.setSelection(x.create(t.doc,i.from+1))),!0)}return!1}let a=A(t,r);return a?(n?.(t.tr.setSelection(x.create(t.doc,a.to))),!0):!1}}function vt(e){return(t,n)=>{let r=E(e,t);if(r.length===0||!h(t.selection))return!1;let i=t.selection;if(i.empty){let e=O(t,i.from,r);return e?(n?.(t.tr.setSelection(gt(t,e))),!0):!1}let a=A(t,r);return a?(n?.(t.tr.setSelection(x.create(t.doc,a.from))),!0):!1}}function yt(e){return(t,n)=>{let r=E(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=O(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!k(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function bt(e){return(t,n)=>{let r=E(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=k(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!O(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}function xt(e,t){return new y({key:new b(`atomic-mark-selection-${t}`),props:{decorations:n=>{let r=E(e,n);if(r.length===0)return;let i=A(n,r);if(i)return S.create(n.doc,[ye.inline(i.from,i.to,{class:t})])}}})}function St({marks:e,selectedClass:n}){return g(_(c({ArrowRight:_t(e),ArrowLeft:vt(e),Backspace:yt(e),Delete:bt(e)}),t.high),p(xt(e,n)))}const j=new Map,Ct=new Map;async function wt(e){let t=j.get(e);if(t!==void 0)return t;let n=be.matchLanguageName(xe,e,!0);if(!n)return j.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),j.set(e,null),null}return j.set(e,r),r}function Tt(e,t){let n=Ct.get(e);if(n)return n;let r=we({parse:e=>t.language.parser.parse(e.content),highlighter:Se});return Ct.set(e,r),r}const Et=e=>{let t=e.language?.trim();if(!t)return[];let n=j.get(t);return n===null?[]:n?Tt(t,n)(e):wt(t).then(()=>void 0)};function Dt(){return fe({parser:Et,nodeTypes:[`codeBlock`]})}function Ot(e,t){let n=t.language.parser.parse(e),r=[];return Ce(n,Se,(e,t,n)=>{r.push([e,t,n])}),r}function kt(e,t){let n=t.trim();if(!n)return[];let r=j.get(n);return r===null?[]:r?Ot(e,r):wt(n).then(t=>t?Ot(e,t):[])}function At(){return d({type:`doc`,attr:`frontmatter`,default:null})}function jt(){return f({name:`heading`,whitespace:`pre`})}function Mt(){return d({type:`heading`,attr:`setextUnderline`,default:null,toDOM:e=>e==null?null:[`data-setext-underline`,String(e)],parseDOM:e=>{let t=e.getAttribute(`data-setext-underline`);if(t==null)return null;let n=Number.parseInt(t,10);return Number.isSafeInteger(n)&&n>0?n:null}})}function M(e){return se(ie({type:`heading`,attrs:{level:e}}))}const Nt=(e,t,n)=>re(e,n)?.parent.type.name===`heading`?ae()(e,t,n):!1;function Pt(){return c({"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:Nt})}function Ft(){return g(De(),jt(),Mt(),Ee(),Te(),Pt())}function It(){return d({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function Lt(){return g(Oe(),It())}function Rt(){return f({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 zt(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function Bt(e,t){let[n,r,i]=t;return[n,r,i.map(t=>Pe.fromJSON(e,t))]}var N=class e extends Ae{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return je.ok(e);let t=e.content.size,n;for(let[r,i,a]of this.chunks){if(r>=i)continue;let o=Math.max(0,Math.min(r,t)),s=Math.max(o,Math.min(i,t));o>=s||e.nodesBetween(o,s,(t,r)=>{if(!t.isText)return!0;let i=Math.max(o,r),c=Math.min(s,r+t.nodeSize);if(i>=c)return!1;let l=t.marks;for(let t of l)t.isInSet(a)||(n??=new Me(e),n.removeMark(i,c,t));for(let t of a)t.isInSet(l)||(n??=new Me(e),n.addMark(i,c,t));return!1})}return je.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return Vt;let t=this.chunks[0][0],n=this.chunks[0][1];for(let[,e]of this.chunks)e>n&&(n=e);let r=e.content.size,i=Math.max(0,Math.min(t,r)),a=Math.max(i,Math.min(n,r));return new ke(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(zt)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>Bt(t,e)))}};Ae.jsonID(`batchSetMark`,N);const Vt=new N([]),Ht=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),Ut=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function Wt(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function Gt(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!Ht.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!Ut.test(e))return!1;return!0}function P(e){return e===32||e===9||e===10||e===13}const Kt=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,qt=/[\s(*_~]/;function Jt(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function Yt(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function Xt(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&Yt(e,t,`)`)>Yt(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 Zt={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!Jt(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!qt.test(r))return-1;let i=Kt.exec(e.slice(n,e.end));if(!i)return-1;let a=Xt(i[0]);return a===0||!Gt(Wt(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function Qt(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 $t(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const en={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(!Qt(t))break;i||=$t(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},tn={resolve:`Highlight`,mark:`HighlightMark`},nn=/[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~\u{A1}\u{2010}-\u{2027}]/u,rn={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=nn.test(r),c=nn.test(i);return e.addDelimiter(tn,n,n+2,!o&&(!c||a||s),!a&&(!s||o||c))}}]},an={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 on(e){return e.end}const F=Ie.configure([Fe,en,an,Zt,rn]),sn=F.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:on}]});function I(e){return F.parseInline(e,0)}function L(e,t,n=[]){for(let r of e)t(r)&&n.push(r),L(r.children,t,n);return n}function cn(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const R=cn(F);function ln(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}function un(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 dn(){return e=>{let t=e.attrs,n=document.createElement(`span`);n.className=`md-wikilink-view`;let r=document.createElement(`span`);r.className=`md-wikilink-label`,r.contentEditable=`false`,r.dataset.testid=`wikilink`,r.textContent=t.display||t.target,n.appendChild(r);let i=document.createElement(`span`);return i.className=`md-wikilink-view-content`,n.appendChild(i),{dom:n,contentDOM:i,ignoreMutation:e=>!i.contains(e.target)}}}function fn(){return u({name:`mdWikilinkView`,constructor:dn()})}const z=new Map([[R.Emphasis,`mdEm`],[R.StrongEmphasis,`mdStrong`],[R.InlineCode,`mdCode`],[R.Strikethrough,`mdDel`],[R.Highlight,`mdHighlight`],[R.EmphasisMark,`mdMark`],[R.CodeMark,`mdMark`],[R.LinkMark,`mdMark`],[R.StrikethroughMark,`mdMark`],[R.HighlightMark,`mdMark`],[R.URL,`mdLinkUri`],[R.Hashtag,`mdTag`],[R.WikilinkMark,`mdMark`]]);function pn(e,t){let n=I(t),r=[];return B(n,[],0,t.length,t,e,r),r}function mn(e){if(/^[a-z][a-z0-9+.-]*:/i.test(e))return e;if(/^[^\s@]+@[^\s@]+$/.test(e))return`mailto:${e}`;if(/^www\./i.test(e)||Gt(Wt(e)))return`https://${e}`}function B(e,t,n,r,i,a,o){let s=n;for(let n of e){n.from>s&&V(o,s,n.from,t);let e=n.type;if(e===R.Link)hn(n,t,i,a,o);else if(e===R.Image)gn(n,t,i,a,o);else if(e===R.Wikilink)_n(n,t,i,a,o);else if(e===R.URL){let e=mn(i.slice(n.from,n.to)),r=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();V(o,n.from,n.to,[...t,r])}else{let r;e===R.Emphasis?r=`italic`:e===R.StrongEmphasis?r=`bold`:e===R.InlineCode?r=`code`:e===R.Strikethrough?r=`strike`:e===R.Highlight?r=`highlight`:e===R.Autolink&&(r=`autolink`);let s=r?[...t,a.mdPack.create({key:r})]:t,c=z.get(e),l=c?[...s,a[c].create()]:s;n.children.length===0?V(o,n.from,n.to,l):B(n.children,l,n.from,n.to,i,a,o)}s=n.to}s<r&&V(o,s,r,t)}function hn(e,t,n,r,i){let a=-1,o=null,s=0;for(let t of e.children)t.type===R.LinkMark?(s++,s===2&&(a=t.from)):t.type===R.URL&&o===null&&(o=t);let c=o?n.slice(o.from,o.to):``,l=c?r.mdLinkText.create({href:c}):null,u=e=>a>=0&&e<a&&l!==null,d=r.mdPack.create({key:`link_${c}`}),f=[...t,d],p=e.from;for(let t of e.children){if(t.from>p){let e=u(p)?[...f,l]:f;V(i,p,t.from,e)}let e=u(t.from)?[...f,l]:f;if(t.type===R.Wikilink){_n(t,e,n,r,i),p=t.to;continue}let a=z.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?V(i,t.from,t.to,o):B(t.children,o,t.from,t.to,n,r,i),p=t.to}p<e.to&&V(i,p,e.to,f)}function gn(e,t,n,r,i){let a=e.children.find(e=>e.type===R.URL);if(!a){hn(e,t,n,r,i);return}let o=e.children.filter(e=>e.type===R.LinkMark),s=n.slice(a.from,a.to),c=o.length>=2?n.slice(o[0].to,o[1].from):``,l=r.mdImageSource.create({src:s,alt:c}),u=r.mdImageView.create({src:s,alt:c}),d=r.mdPack.create({key:`image_${s}`}),f=e.to-1,p=e=>e>=f?[...t,d,l,u]:[...t,d,l],m=e.from;for(let t of e.children){t.from>m&&V(i,m,t.from,p(m));let e=z.get(t.type),a=e?[...p(t.from),r[e].create()]:p(t.from);t.children.length===0?V(i,t.from,t.to,a):B(t.children,a,t.from,t.to,n,r,i),m=t.to}m<e.to&&V(i,m,e.to,p(m))}function _n(e,t,n,r,i){let{target:a,display:o}=un(n.slice(e.from,e.to)),s=r.mdWikilinkSource.create({target:a}),c=r.mdWikilinkView.create({target:a,display:o}),l=e.to-1,u=e=>e>=l?[...t,s,c]:[...t,s],d=e.from;for(let t of e.children){t.from>d&&V(i,d,t.from,u(d));let e=r.mdMark.create();t.from<l&&t.to>l?(V(i,t.from,l,[...u(t.from),e]),V(i,l,t.to,[...u(l),e])):V(i,t.from,t.to,[...u(t.from),e]),d=t.to}d<e.to&&V(i,d,e.to,u(d))}function V(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&ln(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const vn=`inline-marks-applied`,yn=new WeakMap;let bn=0,xn=0;function Sn(e,t,n){let r=yn.get(e);if(r?xn++:(bn++,r=pn(Ar(n),e.textContent),yn.set(e,r)),t===0)return r;let i=[];for(let[e,n,a]of r)i.push([e+t,n+t,a]);return i}function Cn(e,t){let n=1/0,r=-1/0;for(let t of e)for(let e of t.mapping.maps)e.forEach((e,t,i,a)=>{i<n&&(n=i),a>r&&(r=a)});let i=t.doc.content.size;return n>r?{from:0,to:i}:{from:Math.max(0,n),to:Math.min(i,r)}}function wn(e,t){let n=[];return e.doc.nodesBetween(t.from,t.to,(t,r)=>{if(t.type.spec.code)return!1;if(!t.isTextblock)return!0;if(t.childCount===0)return!1;let i=Sn(t,r+1,e.schema);return i.length>0&&n.push(...i),!1}),n}function Tn(){return new y({key:new b(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(vn))return null;let r=wn(n,Cn(e,n));if(r.length===0)return null;let i=n.tr.step(new N(r));return i.setMeta(vn,!0),i.setMeta(`addToHistory`,!1),i},view(e){return e.dispatch(En(e.state)),{}}})}function En(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function Dn(){return p(Tn())}function On(){return l({name:`mdImageView`,inclusive:!1,attrs:{src:{default:``},alt:{default:``}},toDOM:()=>[`span`,{class:`md-image-anchor`},0],parseDOM:[{tag:`span.md-image-anchor`}]})}function kn(){return l({name:`mdImageSource`,inclusive:!1,attrs:{src:{default:``},alt:{default:``}},toDOM:()=>[`span`,{class:`md-image-source`},0],parseDOM:[{tag:`span.md-image-source`}]})}function An(){return l({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function jn(){return l({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function Mn(){return l({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function Nn(){return l({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function Pn(){return l({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 Fn(){return l({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function In(){return l({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function Ln(){return l({name:`mdHighlight`,toDOM:()=>[`mark`,0],parseDOM:[{tag:`mark`}]})}function Rn(){return l({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function zn(){return l({name:`mdWikilinkSource`,inclusive:!1,attrs:{target:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink-source`},0],parseDOM:[{tag:`span.md-wikilink-source`}]})}function Bn(){return l({name:`mdWikilinkView`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink-anchor`},0],parseDOM:[{tag:`span.md-wikilink-anchor`}]})}function Vn(){return l({name:`mdPack`,excludes:``,inclusive:!1,attrs:{key:{default:``}},toDOM:e=>[`span`,{class:`md-pack`,"data-key":e.attrs.key},0],parseDOM:[{tag:`span.md-pack`}]})}function Hn(){return g(An(),jn(),Mn(),Nn(),Pn(),Fn(),In(),Ln(),Rn(),zn(),Bn(),kn(),On(),Vn())}function Un(e,t=0){let n=t,r=0;for(let t=0;t<e.length;t++)e.charCodeAt(t)===96?(r++,r>n&&(n=r)):r=0;return n}const H={em:{node:R.Emphasis,delim:`*`},strong:{node:R.StrongEmphasis,delim:`**`},code:{node:R.InlineCode,delim:"`"},del:{node:R.Strikethrough,delim:`~~`},highlight:{node:R.Highlight,delim:`==`}},Wn=new Set([R.EmphasisMark,R.CodeMark,R.LinkMark,R.StrikethroughMark,R.HighlightMark]);function U(e){return[e.children[0],e.children.at(-1)]}function Gn(e){let{type:t,children:n}=e;if(t===R.Emphasis||t===R.StrongEmphasis||t===R.Strikethrough||t===R.Highlight)return[n[0].to,n.at(-1).from];if(t===R.Link||t===R.Image){let e=n.find((e,t)=>t>0&&e.type===R.LinkMark);return e?[n[0].to,e.from]:null}return null}function W(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=Gn(r);return i&&i[0]<=t&&n<=i[1]?W(r.children,t,n):W(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function Kn(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return Kn(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}function qn(e,t,n){for(;t<n&&P(e.charCodeAt(t));)t++;for(;n>t&&P(e.charCodeAt(n-1));)n--;return[t,n]}function Jn(e,t,n,r){let i=L(I(e),e=>e.type===r.node||Wn.has(e.type));for(let r=t;r<n;r++)if(!P(e.charCodeAt(r))&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function Yn(e,t,n,r,i){let a=I(e),o=L(a,e=>e.type===r.node);return i?Qn(e,o,t,n):Xn(e,a,o,t,n,r)}function Xn(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=W(t,r,i);for(let e of n)e.to===r&&(r=e.from),e.from===i&&(i=e.to)}let o=[];for(let e of n)if(r<=e.from&&e.to<=i){let[t,n]=U(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=Zn(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function Zn(e,t,n,r,i){if(i.node!==R.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(Un(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function Qn(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=U(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=Kn(a.children.slice(1,-1),s,c);s>t.to&&P(e.charCodeAt(s-1));)s--;for(;c<o.from&&P(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 $n(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=I(e),o=L(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=U(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return er(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function er(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=Gn(n);return!e||t<e[0]||t>e[1]?!0:er(n.children,t)}return!1}function G(e){return(t,n)=>{if(t.selection.empty)return tr(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]=qn(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:Jn(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>Yn(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 tr(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=$n(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 nr(){return o({toggleEm:()=>G(H.em),toggleStrong:()=>G(H.strong),toggleCode:()=>G(H.code),toggleDel:()=>G(H.del),toggleHighlight:()=>G(H.highlight)})}function rr(){return c({"Mod-b":G(H.strong),"Mod-i":G(H.em),"Mod-e":G(H.code),"Mod-Shift-x":G(H.del),"Mod-Shift-h":G(H.highlight)})}function ir(){return g(nr(),rr())}function ar(){return d({type:`list`,attr:`marker`,default:null,splittable:!0,toDOM:e=>e===`)`||e===`*`||e===`+`?[`data-list-marker`,e]:null,parseDOM:e=>{let t=e.getAttribute(`data-list-marker`);return t===`)`||t===`*`||t===`+`?t:null}})}function or(){return d({type:`list`,attr:`taskMarker`,default:null,splittable:!0,toDOM:e=>e===`X`?[`data-list-task-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-list-task-marker`)===`X`?`X`:null})}function sr(e){return e===2||e===3||e===4}function cr(){return d({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>sr(e)?[`data-list-marker-gap`,String(e)]:null,parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return sr(t)?t:1}})}const lr=[w(/^\s?([*-])\s$/,{kind:`bullet`,collapsed:!1}),w(/^\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}}),w(/^\s?\[([\sXx]?)]\s$/,({match:e})=>({kind:`task`,checked:[`x`,`X`].includes(e[1]),collapsed:!1})),w(/^\s?\+\s$/,{kind:`task`,marker:`+`,checked:!1,collapsed:!1})];function ur(){return g(lr.map(Le))}function dr(){return C({kind:`task`,marker:`+`})}function fr(){return C({kind:`task`,marker:null})}function pr(){return o({wrapInCircleTask:dr,wrapInSquareTask:fr})}function mr(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 hr(){return(e,t,n)=>{let r=mr(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},C(a)(e,t,n)}}function gr(){return(e,t,n)=>{let r=mr(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},C(a)(e,t,n)}}function _r(){return c({"Mod-Enter":hr(),"Mod-Shift-Enter":gr()})}function vr(){return g(Ue(),Ve(),Be(),Re(),He(),ze(),ur(),_r(),ar(),or(),cr(),pr())}function yr(){return f({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function br(){return g(_(yr(),t.highest),We(),Ge())}const xr=(e,t)=>{let{selection:n}=e;return!et(n)||!n.isColSelection()||!n.isRowSelection()?!1:$e(e,t)};function Sr(){return _(c({Backspace:xr,Delete:xr}),t.high)}function Cr(){return g(Qe(),Ze(),Ke(),Xe(),Ye({allowTableNodeSelection:!0}),qe(),Je(),Sr())}function wr(){return g(br(),pe(),At(),ge(),ue(),vr(),Ft(),Cr(),de(),Lt(),Rt(),Hn(),Dt(),Dn(),ir(),fn(),St({marks:[{name:`mdImageSource`,modes:[`hide`]},{name:`mdWikilinkSource`,modes:[`hide`,`focus`,`show`]}],selectedClass:`md-atomic-selected`}),a(),i(),s(),me(),_e(),he())}function Tr(){return wr()}const Er=v(()=>{let e=Tr().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),Dr=v(()=>r(Er())),Or=v(()=>n(Er())),kr=`meowdown_mark_builders`;function Ar(e){let t=e.cached[kr];if(t)return t;let r=n(e);return e.cached[kr]=r,r}const jr=`meowdown_node_builders`;function Mr(e){let t=e.cached[jr];if(t)return t;let n=r(e);return e.cached[jr]=n,n}function K(e,t={}){let{nodes:n=Dr(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=Pr(e);i=t,n&&(a=e.slice(n))}let o=Fr(n,sn.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const Nr=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function Pr(e){let t=Nr.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function Fr(e,t,n){let r=[];if(!t.firstChild())return r;do r.push(...q(e,t,n));while(t.nextSibling());return t.parent(),r}function q(e,t,n){switch(t.type.id){case R.ATXHeading1:return[J(e,t,n,1,!1)];case R.ATXHeading2:return[J(e,t,n,2,!1)];case R.ATXHeading3:return[J(e,t,n,3,!1)];case R.ATXHeading4:return[J(e,t,n,4,!1)];case R.ATXHeading5:return[J(e,t,n,5,!1)];case R.ATXHeading6:return[J(e,t,n,6,!1)];case R.SetextHeading1:return[J(e,t,n,1,!0)];case R.SetextHeading2:return[J(e,t,n,2,!0)];case R.Paragraph:return[Q(e,t,n)];case R.CommentBlock:return[Rr(e,t,n)];case R.HTMLBlock:case R.ProcessingInstructionBlock:return[Q(e,t,n)];case R.Blockquote:return[zr(e,t,n)];case R.BulletList:return Br(e,t,n,`bullet`);case R.OrderedList:return Br(e,t,n,`ordered`);case R.FencedCode:case R.CodeBlock:return[Hr(e,t,n)];case R.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case R.Table:return[Ur(e,t,n)];case R.Task:return[Q(e,t,n)];default:return n.slice(t.from,t.to).trim()===``?[]:(console.warn(`[meowdown] unsupported lezer block "${t.type.name}"`),[Q(e,t,n)])}}function J(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===R.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===R.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=X(n.slice(o,s),Y(n,o)).trim(),d=i?Ir(n,c,l)||1:null;return e.heading({level:r,setextUnderline:d},u)}function Ir(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 Y(e,t){let n=e.lastIndexOf(`
|
|
3
|
-
`,t-1)+1,r=0;for(let i=n;i<t;i++)r+=e.charCodeAt(i)===9?4-r%4:1;return r}function
|
|
1
|
+
import{Priority as e,Priority as t,createMarkBuilders as n,createNodeBuilders as r,defineBaseCommands as i,defineBaseKeymap as a,defineCommands as o,defineDOMEventHandler as s,defineHistory as c,defineKeymap as l,defineMarkSpec as u,defineMarkView as d,defineNodeAttr as f,defineNodeSpec as p,definePlugin as m,getMarkRange as h,getMarkType as ee,getNodeType as te,isAllSelection as ne,isAtBlockStart as re,isTextSelection as g,toggleNode as ie,union as _,unsetBlockType as ae,withPriority as oe,withPriority as v,withSkipCodeBlock as se}from"@prosekit/core";import{definePlaceholder as ce}from"@prosekit/extensions/placeholder";import{defineReadonly as le}from"@prosekit/extensions/readonly";import{isElementLike as ue,once as y}from"@ocavue/utils";import{defineBlockquote as de}from"@prosekit/extensions/blockquote";import{defineCodeBlock as fe,defineCodeBlockHighlight as pe}from"@prosekit/extensions/code-block";import{defineDoc as me}from"@prosekit/extensions/doc";import{defineGapCursor as he}from"@prosekit/extensions/gap-cursor";import{defineModClickPrevention as ge}from"@prosekit/extensions/mod-click-prevention";import{defineText as _e}from"@prosekit/extensions/text";import{defineVirtualSelection as ve}from"@prosekit/extensions/virtual-selection";import{Plugin as b,PluginKey as x,Selection as ye,TextSelection as S}from"@prosekit/pm/state";import{Decoration as be,DecorationSet as C}from"@prosekit/pm/view";import{LanguageDescription as xe}from"@codemirror/language";import{languages as Se}from"@codemirror/language-data";import{classHighlighter as Ce,highlightTree as we}from"@lezer/highlight";import{createParser as Te}from"prosemirror-highlight/lezer";import{defineHeadingCommands as Ee,defineHeadingInputRule as De,defineHeadingSpec as Oe}from"@prosekit/extensions/heading";import{defineHorizontalRule as ke}from"@prosekit/extensions/horizontal-rule";import{ReplaceStep as Ae,Step as je,StepResult as Me,Transform as Ne}from"@prosekit/pm/transform";import{DOMSerializer as Pe,Mark as Fe}from"@prosekit/pm/model";import{GFM as Ie,parser as Le}from"@lezer/markdown";import{defineInputRule as Re}from"@prosekit/extensions/input-rule";import{defineListCommands as ze,defineListDropIndicator as Be,defineListKeymap as Ve,defineListPlugins as He,defineListSerializer as Ue,defineListSpec as We,wrapInList as w}from"@prosekit/extensions/list";import{wrappingListInputRule as T}from"prosemirror-flat-list";import{defineParagraphCommands as Ge,defineParagraphKeymap as Ke}from"@prosekit/extensions/paragraph";import{defineTableCellSpec as qe,defineTableCommands as Je,defineTableDropIndicator as Ye,defineTableEditingPlugin as Xe,defineTableHeaderCellSpec as Ze,defineTableRowSpec as Qe,defineTableSpec as $e,deleteTable as et,isCellSelection as tt}from"@prosekit/extensions/table";import{closeHistory as nt}from"@prosekit/pm/history";import rt from"rehype-parse";import it from"rehype-remark";import at from"remark-gfm";import ot from"remark-stringify";import{unified as st}from"unified";import{triggerAutocomplete as ct}from"@prosekit/extensions/autocomplete";function E(e,t,n){let r=e.doc.content.size;if(t<0||t>r)return;let i=e.doc.resolve(t);if(!(!i.parent.isTextblock||i.parent.type.spec.code))return h(i,n)}const lt=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]),ut=new Set([`mdImageSource`,`mdWikilinkSource`]),dt=new x(`mark-mode`);function ft(e){return new b({key:dt,state:{init:()=>e,apply:(e,t)=>t},props:{attributes:{"data-mark-mode":e},decorations:e===`focus`?e=>gt(e):void 0,clipboardTextSerializer:e===`show`?void 0:ht}})}function pt(e){return m(ft(e))}function mt(e){return dt.getState(e)}function ht(e){let t=[];return e.content.forEach(e=>{let n=[];e.descendants(e=>!e.isText||!e.text?!0:(!e.marks.some(e=>ut.has(e.type.name))&&e.marks.some(e=>lt.has(e.type.name))||n.push(e.text),!1)),t.push(n.join(``))}),t.join(`
|
|
2
|
+
`)}function gt(e){let{selection:t}=e;if(!t.empty)return C.empty;let n=t.$head,{parent:r}=n;if(!r.isTextblock||r.type.spec.code)return C.empty;let i=h(n,ee(e.schema,`mdPack`));return i?C.create(e.doc,[be.inline(i.from,i.to,{class:`show`})]):C.empty}function D(e,t){let n=mt(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function _t(e,t,n){for(let r of n){let n=E(e,t,r);if(n)return n}}function O(e,t,n){let r=_t(e,t,n);return r&&r.to===t?r:void 0}function k(e,t,n){let r=_t(e,t,n);return r&&r.from===t?r:void 0}function A(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=_t(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function vt(e,t){return S.create(e.doc,t.from,t.to)}function yt(e){return(t,n)=>{let r=D(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=k(t,i.from,r);if(e)return n?.(t.tr.setSelection(vt(t,e))),!0;if(O(t,i.from,r)){let e=t.doc.resolve(i.from);return i.from>=e.end()?!1:(n?.(t.tr.setSelection(S.create(t.doc,i.from+1))),!0)}return!1}let a=A(t,r);return a?(n?.(t.tr.setSelection(S.create(t.doc,a.to))),!0):!1}}function bt(e){return(t,n)=>{let r=D(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=O(t,i.from,r);return e?(n?.(t.tr.setSelection(vt(t,e))),!0):!1}let a=A(t,r);return a?(n?.(t.tr.setSelection(S.create(t.doc,a.from))),!0):!1}}function xt(e){return(t,n)=>{let r=D(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=O(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!k(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function St(e){return(t,n)=>{let r=D(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=k(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!O(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}function Ct(e,t){return new b({key:new x(`atomic-mark-selection-${t}`),props:{decorations:n=>{let r=D(e,n);if(r.length===0)return;let i=A(n,r);if(i)return C.create(n.doc,[be.inline(i.from,i.to,{class:t})])}}})}function wt({marks:e,selectedClass:n}){return _(v(l({ArrowRight:yt(e),ArrowLeft:bt(e),Backspace:xt(e),Delete:St(e)}),t.high),m(Ct(e,n)))}const j=new Map,Tt=new Map;async function Et(e){let t=j.get(e);if(t!==void 0)return t;let n=xe.matchLanguageName(Se,e,!0);if(!n)return j.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),j.set(e,null),null}return j.set(e,r),r}function Dt(e,t){let n=Tt.get(e);if(n)return n;let r=Te({parse:e=>t.language.parser.parse(e.content),highlighter:Ce});return Tt.set(e,r),r}const Ot=e=>{let t=e.language?.trim();if(!t)return[];let n=j.get(t);return n===null?[]:n?Dt(t,n)(e):Et(t).then(()=>void 0)};function kt(){return pe({parser:Ot,nodeTypes:[`codeBlock`]})}function At(e,t){let n=t.language.parser.parse(e),r=[];return we(n,Ce,(e,t,n)=>{r.push([e,t,n])}),r}function jt(e,t){let n=t.trim();if(!n)return[];let r=j.get(n);return r===null?[]:r?At(e,r):Et(n).then(t=>t?At(e,t):[])}function Mt(e,t){return(n,r)=>{if(r){let i=S.create(n.doc,e,t);r(n.tr.setSelection(i))}return!0}}function Nt(e,t,n){return(r,i)=>{if(i){let a=S.between(e,t,n);i(r.tr.setSelection(a))}return!0}}function Pt(){return o({selectText:Mt,selectTextBetween:Nt})}function Ft(){return f({type:`doc`,attr:`frontmatter`,default:null})}function It(){return p({name:`heading`,whitespace:`pre`})}function Lt(){return f({type:`heading`,attr:`setextUnderline`,default:null,toDOM:e=>e==null?null:[`data-setext-underline`,String(e)],parseDOM:e=>{let t=e.getAttribute(`data-setext-underline`);if(t==null)return null;let n=Number.parseInt(t,10);return Number.isSafeInteger(n)&&n>0?n:null}})}function M(e){return se(ie({type:`heading`,attrs:{level:e}}))}const Rt=(e,t,n)=>re(e,n)?.parent.type.name===`heading`?ae()(e,t,n):!1;function zt(){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:Rt})}function Bt(){return _(Oe(),It(),Lt(),De(),Ee(),zt())}function Vt(){return f({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function Ht(){return _(ke(),Vt())}function Ut(){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 Wt(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function Gt(e,t){let[n,r,i]=t;return[n,r,i.map(t=>Fe.fromJSON(e,t))]}var N=class e extends je{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return Me.ok(e);let t=e.content.size,n;for(let[r,i,a]of this.chunks){if(r>=i)continue;let o=Math.max(0,Math.min(r,t)),s=Math.max(o,Math.min(i,t));o>=s||e.nodesBetween(o,s,(t,r)=>{if(!t.isText)return!0;let i=Math.max(o,r),c=Math.min(s,r+t.nodeSize);if(i>=c)return!1;let l=t.marks;for(let t of l)t.isInSet(a)||(n??=new Ne(e),n.removeMark(i,c,t));for(let t of a)t.isInSet(l)||(n??=new Ne(e),n.addMark(i,c,t));return!1})}return Me.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return Kt;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 Ae(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(Wt)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>Gt(t,e)))}};je.jsonID(`batchSetMark`,N);const Kt=new N([]),qt=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),Jt=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function Yt(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function Xt(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!qt.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!Jt.test(e))return!1;return!0}function P(e){return e===32||e===9||e===10||e===13}const Zt=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,Qt=/[\s(*_~]/;function $t(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function en(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function tn(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&en(e,t,`)`)>en(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 nn={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!$t(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!Qt.test(r))return-1;let i=Zt.exec(e.slice(n,e.end));if(!i)return-1;let a=tn(i[0]);return a===0||!Xt(Yt(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function rn(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 an(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const on={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(!rn(t))break;i||=an(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},sn={resolve:`Highlight`,mark:`HighlightMark`},cn=/[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~\u{A1}\u{2010}-\u{2027}]/u,ln={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=cn.test(r),c=cn.test(i);return e.addDelimiter(sn,n,n+2,!o&&(!c||a||s),!a&&(!s||o||c))}}]},un={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 dn(e){return e.end}const F=Le.configure([Ie,on,un,nn,ln]),fn=F.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:dn}]});function I(e){return F.parseInline(e,0)}function L(e,t,n=[]){for(let r of e)t(r)&&n.push(r),L(r.children,t,n);return n}function pn(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const R=pn(F);function mn(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}function hn(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 gn(){return e=>{let t=e.attrs,n=document.createElement(`span`);n.className=`md-wikilink-view`;let r=document.createElement(`span`);r.className=`md-wikilink-label`,r.contentEditable=`false`,r.dataset.testid=`wikilink`,r.textContent=t.display||t.target,n.appendChild(r);let i=document.createElement(`span`);return i.className=`md-wikilink-view-content`,n.appendChild(i),{dom:n,contentDOM:i,ignoreMutation:e=>!i.contains(e.target)}}}function _n(){return d({name:`mdWikilinkView`,constructor:gn()})}const vn=new Map([[R.Emphasis,`mdEm`],[R.StrongEmphasis,`mdStrong`],[R.InlineCode,`mdCode`],[R.Strikethrough,`mdDel`],[R.Highlight,`mdHighlight`],[R.EmphasisMark,`mdMark`],[R.CodeMark,`mdMark`],[R.LinkMark,`mdMark`],[R.StrikethroughMark,`mdMark`],[R.HighlightMark,`mdMark`],[R.URL,`mdLinkUri`],[R.LinkTitle,`mdLinkTitle`],[R.Hashtag,`mdTag`],[R.WikilinkMark,`mdMark`]]);function yn(e,t){let n=I(t),r=[];return z(n,[],0,t.length,t,e,r),r}function bn(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)||Xt(Yt(e)))return`https://${e}`}function xn(e){return e.slice(1,-1).replaceAll(/\\(.)/g,`$1`)}function z(e,t,n,r,i,a,o){let s=n;for(let n of e){n.from>s&&B(o,s,n.from,t);let e=n.type;if(e===R.Link)Sn(n,t,i,a,o);else if(e===R.Image)Cn(n,t,i,a,o);else if(e===R.Wikilink)wn(n,t,i,a,o);else if(e===R.URL){let e=bn(i.slice(n.from,n.to)),r=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();B(o,n.from,n.to,[...t,r])}else{let r;e===R.Emphasis?r=`italic`:e===R.StrongEmphasis?r=`bold`:e===R.InlineCode?r=`code`:e===R.Strikethrough?r=`strike`:e===R.Highlight?r=`highlight`:e===R.Autolink&&(r=`autolink`);let s=r?[...t,a.mdPack.create({key:r})]:t,c=vn.get(e),l=c?[...s,a[c].create()]:s;n.children.length===0?B(o,n.from,n.to,l):z(n.children,l,n.from,n.to,i,a,o)}s=n.to}s<r&&B(o,s,r,t)}function Sn(e,t,n,r,i){let a=-1,o=null,s=null,c=0;for(let t of e.children)t.type===R.LinkMark?(c++,c===2&&(a=t.from)):t.type===R.URL&&o===null?o=t:t.type===R.LinkTitle&&s===null&&(s=t);let l=o?n.slice(o.from,o.to):``,u=s?xn(n.slice(s.from,s.to)):``,d=l?r.mdLinkText.create({href:l}):null,f=e=>a>=0&&e<a&&d!==null,p=r.mdPack.create({key:`link`,data:{href:l,title:u}}),m=[...t,p],h=e.from;for(let t of e.children){if(t.from>h){let e=f(h)?[...m,d]:m;B(i,h,t.from,e)}let e=f(t.from)?[...m,d]:m;if(t.type===R.Wikilink){wn(t,e,n,r,i),h=t.to;continue}let a=vn.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?B(i,t.from,t.to,o):z(t.children,o,t.from,t.to,n,r,i),h=t.to}h<e.to&&B(i,h,e.to,m)}function Cn(e,t,n,r,i){let a=e.children.find(e=>e.type===R.URL);if(!a){Sn(e,t,n,r,i);return}let o=e.children.filter(e=>e.type===R.LinkMark),s=n.slice(a.from,a.to),c=o.length>=2?n.slice(o[0].to,o[1].from):``,l=r.mdImageSource.create({src:s,alt:c}),u=r.mdImageView.create({src:s,alt:c}),d=r.mdPack.create({key:`image`,data:{src:s}}),f=e.to-1,p=e=>e>=f?[...t,d,l,u]:[...t,d,l],m=e.from;for(let t of e.children){t.from>m&&B(i,m,t.from,p(m));let e=vn.get(t.type),a=e?[...p(t.from),r[e].create()]:p(t.from);t.children.length===0?B(i,t.from,t.to,a):z(t.children,a,t.from,t.to,n,r,i),m=t.to}m<e.to&&B(i,m,e.to,p(m))}function wn(e,t,n,r,i){let{target:a,display:o}=hn(n.slice(e.from,e.to)),s=r.mdWikilinkSource.create({target:a}),c=r.mdWikilinkView.create({target:a,display:o}),l=e.to-1,u=e=>e>=l?[...t,s,c]:[...t,s],d=e.from;for(let t of e.children){t.from>d&&B(i,d,t.from,u(d));let e=r.mdMark.create();t.from<l&&t.to>l?(B(i,t.from,l,[...u(t.from),e]),B(i,l,t.to,[...u(l),e])):B(i,t.from,t.to,[...u(t.from),e]),d=t.to}d<e.to&&B(i,d,e.to,u(d))}function B(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&mn(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const Tn=`inline-marks-applied`,En=new WeakMap;let Dn=0,On=0;function kn(e,t,n){let r=En.get(e);if(r?On++:(Dn++,r=yn(Yr(n),e.textContent),En.set(e,r)),t===0)return r;let i=[];for(let[e,n,a]of r)i.push([e+t,n+t,a]);return i}function An(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 jn(e,t){let n=[];return e.doc.nodesBetween(t.from,t.to,(t,r)=>{if(t.type.spec.code)return!1;if(!t.isTextblock)return!0;if(t.childCount===0)return!1;let i=kn(t,r+1,e.schema);return i.length>0&&n.push(...i),!1}),n}function Mn(){return new b({key:new x(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(Tn))return null;let r=jn(n,An(e,n));if(r.length===0)return null;let i=n.tr.step(new N(r));return i.setMeta(Tn,!0),i.setMeta(`addToHistory`,!1),i},view(e){return e.dispatch(Nn(e.state)),{}}})}function Nn(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function Pn(){return m(Mn())}function Fn(){return u({name:`mdImageView`,inclusive:!1,attrs:{src:{default:``},alt:{default:``}},toDOM:()=>[`span`,{class:`md-image-anchor`},0],parseDOM:[{tag:`span.md-image-anchor`}]})}function In(){return u({name:`mdImageSource`,inclusive:!1,attrs:{src:{default:``},alt:{default:``}},toDOM:()=>[`span`,{class:`md-image-source`},0],parseDOM:[{tag:`span.md-image-source`}]})}function Ln(){return u({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function Rn(){return u({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function zn(){return u({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function Bn(){return u({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function Vn(){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 Hn(){return u({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function Un(){return u({name:`mdLinkTitle`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-title`},0],parseDOM:[{tag:`span.md-link-title`}]})}function Wn(){return u({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function Gn(){return u({name:`mdHighlight`,toDOM:()=>[`mark`,0],parseDOM:[{tag:`mark`}]})}function Kn(){return u({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function qn(){return u({name:`mdWikilinkSource`,inclusive:!1,attrs:{target:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink-source`},0],parseDOM:[{tag:`span.md-wikilink-source`}]})}function Jn(){return u({name:`mdWikilinkView`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink-anchor`},0],parseDOM:[{tag:`span.md-wikilink-anchor`}]})}function Yn(){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 Xn(){return _(Ln(),Rn(),zn(),Bn(),Vn(),Hn(),Un(),Wn(),Gn(),Kn(),qn(),Jn(),In(),Fn(),Yn())}function Zn(e,t=0){let n=t,r=0;for(let t=0;t<e.length;t++)e.charCodeAt(t)===96?(r++,r>n&&(n=r)):r=0;return n}const V={em:{node:R.Emphasis,delim:`*`},strong:{node:R.StrongEmphasis,delim:`**`},code:{node:R.InlineCode,delim:"`"},del:{node:R.Strikethrough,delim:`~~`},highlight:{node:R.Highlight,delim:`==`}},Qn=new Set([R.EmphasisMark,R.CodeMark,R.LinkMark,R.StrikethroughMark,R.HighlightMark]);function H(e){return[e.children[0],e.children.at(-1)]}function $n(e){let{type:t,children:n}=e;if(t===R.Emphasis||t===R.StrongEmphasis||t===R.Strikethrough||t===R.Highlight)return[n[0].to,n.at(-1).from];if(t===R.Link||t===R.Image){let e=n.find((e,t)=>t>0&&e.type===R.LinkMark);return e?[n[0].to,e.from]:null}return null}function er(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=$n(r);return i&&i[0]<=t&&n<=i[1]?er(r.children,t,n):er(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function tr(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return tr(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}function nr(e,t,n){for(;t<n&&P(e.charCodeAt(t));)t++;for(;n>t&&P(e.charCodeAt(n-1));)n--;return[t,n]}function rr(e,t,n,r){let i=L(I(e),e=>e.type===r.node||Qn.has(e.type));for(let r=t;r<n;r++)if(!P(e.charCodeAt(r))&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function ir(e,t,n,r,i){let a=I(e),o=L(a,e=>e.type===r.node);return i?sr(e,o,t,n):ar(e,a,o,t,n,r)}function ar(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=er(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]=H(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=or(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function or(e,t,n,r,i){if(i.node!==R.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(Zn(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function sr(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=H(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=tr(a.children.slice(1,-1),s,c);s>t.to&&P(e.charCodeAt(s-1));)s--;for(;c<o.from&&P(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 cr(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=I(e),o=L(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=H(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return lr(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function lr(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=$n(n);return!e||t<e[0]||t>e[1]?!0:lr(n.children,t)}return!1}function U(e){return(t,n)=>{if(t.selection.empty)return ur(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]=nr(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:rr(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>ir(t.text,t.from,t.to,e,c).map(e=>({from:e.from+t.base,to:e.to+t.base,insert:e.insert})));if(l.length===0)return!1;if(n){let e=t.tr;l.sort((e,t)=>t.from-e.from||t.to-e.to);for(let t of l)t.insert?e.insertText(t.insert,t.from,t.to):e.delete(t.from,t.to);e.setSelection(S.create(e.doc,e.mapping.map(a,a<=o?1:-1),e.mapping.map(o,o<a?1:-1))),n(e.scrollIntoView())}return!0}}function ur(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=cr(i.textContent,r.parentOffset,e);if(!a)return!1;if(n){let i=r.start(),o=t.tr;a.kind===`unwrap`&&o.delete(i+a.from,i+a.to),a.kind===`move`&&o.setSelection(S.create(o.doc,i+a.pos)),a.kind===`insert`&&(o.insertText(e.delim+e.delim,i+a.pos),o.setSelection(S.create(o.doc,i+a.pos+e.delim.length))),n(o.scrollIntoView())}return!0}function dr(){return o({toggleEm:()=>U(V.em),toggleStrong:()=>U(V.strong),toggleCode:()=>U(V.code),toggleDel:()=>U(V.del),toggleHighlight:()=>U(V.highlight)})}function fr(){return l({"Mod-b":U(V.strong),"Mod-i":U(V.em),"Mod-e":U(V.code),"Mod-Shift-x":U(V.del),"Mod-Shift-h":U(V.highlight)})}function pr(){return _(dr(),fr())}function mr(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 W(e,t){let n=E(e,t,`mdLinkText`),r=E(e,t,`mdPack`),i=r??n;if(!i)return;let a=r?.mark.attrs,o=n?.mark.attrs?.href??``;if(!r||a?.key!==`link`)return{unit:{from:i.from,to:i.to},href:o,title:``};let s=mr(e,i,`mdLinkUri`),c=s?s.from-2:i.to-3,l=s?s.from:i.to-1;return{unit:{from:i.from,to:i.to},label:{from:i.from+1,to:c},dest:{from:l,to:i.to-1},href:a.data.href,title:a.data.title}}function hr(e){let t=e.trim();return t?bn(t)??t:``}function gr(e,t){return e+(t?` "${t.replaceAll(/(["\\])/g,String.raw`\$1`)}"`:``)}function _r(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]=nr(a.textContent,n.parentOffset,r.parentOffset);if(!(s>=c))return{from:o+s,to:o+c}}function vr(e={}){return(t,n)=>{let r=gr(hr(e.href??``),e.title??``),i=_r(t);if(!i)return!1;if(n){let{from:e,to:a}=i,o=t.tr,s=`](${r})`;o.insertText(s,a).insertText(`[`,e),n(o.setSelection(S.create(o.doc,e,a+1+s.length)).scrollIntoView())}return!0}}function yr(e){return(t,n)=>{let r=W(t,t.selection.from);if(!r?.dest)return!1;let i=gr(hr(e.href??r.href),e.title??r.title);return n&&n(t.tr.insertText(i,r.dest.from,r.dest.to).scrollIntoView()),!0}}function br(){return(e,t)=>{let n=W(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 xr(){return o({insertLink:vr,updateLink:yr,removeLink:br})}function Sr(e){return(t,n,r)=>{let i=W(t,t.selection.from);if(i){if(n&&r){let{unit:{from:a,to:o}}=i;n(t.tr.setSelection(S.create(t.doc,a,o)).scrollIntoView()),r.focus(),e({from:a,to:o,link:i})}return!0}let a=_r(t);if(a){if(n&&r){let{from:i,to:o}=a;n(t.tr.setSelection(S.create(t.doc,i,o)).scrollIntoView()),r.focus(),e({from:i,to:o,link:void 0})}return!0}return!1}}function Cr(e){return l({"Mod-k":Sr(e)})}function wr(){return f({type:`list`,attr:`marker`,default:null,splittable:!0,toDOM:e=>e===`)`||e===`*`||e===`+`?[`data-list-marker`,e]:null,parseDOM:e=>{let t=e.getAttribute(`data-list-marker`);return t===`)`||t===`*`||t===`+`?t:null}})}function Tr(){return f({type:`list`,attr:`taskMarker`,default:null,splittable:!0,toDOM:e=>e===`X`?[`data-list-task-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-list-task-marker`)===`X`?`X`:null})}function Er(e){return e===2||e===3||e===4}function Dr(){return f({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>Er(e)?[`data-list-marker-gap`,String(e)]:null,parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return Er(t)?t:1}})}const Or=[T(/^\s?([*-])\s$/,{kind:`bullet`,collapsed:!1}),T(/^\s?(\d+)\.\s$/,({match:e})=>{let t=e[1],n=t?parseInt(t,10):void 0;return{kind:`ordered`,collapsed:!1,order:n&&n>=2&&Number.isSafeInteger(n)?n:null}}),T(/^\s?\[([\sXx]?)]\s$/,({match:e})=>({kind:`task`,checked:[`x`,`X`].includes(e[1]),collapsed:!1})),T(/^\s?\+\s$/,{kind:`task`,marker:`+`,checked:!1,collapsed:!1})];function kr(){return _(Or.map(Re))}function Ar(){return w({kind:`task`,marker:`+`})}function jr(){return w({kind:`task`,marker:null})}function Mr(){return o({wrapInCircleTask:Ar,wrapInSquareTask:jr})}function Nr(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 Pr(){return(e,t,n)=>{let r=Nr(e),i=r?.kind===`task`&&r.marker!==`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:r?.marker??null,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:null,checked:!1},w(a)(e,t,n)}}function Fr(){return(e,t,n)=>{let r=Nr(e),i=r?.kind===`task`&&r.marker===`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:`+`,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:`+`,checked:!1},w(a)(e,t,n)}}function Ir(){return l({"Mod-Enter":Pr(),"Mod-Shift-Enter":Fr()})}function Lr(){return _(We(),He(),Ve(),ze(),Ue(),Be(),kr(),Ir(),wr(),Tr(),Dr(),Mr())}function Rr(){return p({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function zr(){return _(v(Rr(),t.highest),Ge(),Ke())}const Br=(e,t)=>{let{selection:n}=e;return!tt(n)||!n.isColSelection()||!n.isRowSelection()?!1:et(e,t)};function Vr(){return v(l({Backspace:Br,Delete:Br}),t.high)}function Hr(){return _($e(),Qe(),qe(),Ze(),Xe({allowTableNodeSelection:!0}),Je(),Ye(),Vr())}function Ur(){return _(zr(),me(),Ft(),_e(),de(),Lr(),Bt(),Hr(),fe(),Ht(),Ut(),Xn(),kt(),Pn(),pr(),xr(),_n(),wt({marks:[{name:`mdImageSource`,modes:[`hide`]},{name:`mdWikilinkSource`,modes:[`hide`,`focus`,`show`]}],selectedClass:`md-atomic-selected`}),a(),i(),c(),he(),ve(),ge(),Pt())}function Wr(){return Ur()}const Gr=y(()=>{let e=Wr().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),Kr=y(()=>r(Gr())),qr=y(()=>n(Gr())),Jr=`meowdown_mark_builders`;function Yr(e){let t=e.cached[Jr];if(t)return t;let r=n(e);return e.cached[Jr]=r,r}const Xr=`meowdown_node_builders`;function Zr(e){let t=e.cached[Xr];if(t)return t;let n=r(e);return e.cached[Xr]=n,n}function G(e,t={}){let{nodes:n=Kr(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=$r(e);i=t,n&&(a=e.slice(n))}let o=ei(n,fn.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const Qr=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function $r(e){let t=Qr.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function ei(e,t,n){let r=[];if(!t.firstChild())return r;do r.push(...K(e,t,n));while(t.nextSibling());return t.parent(),r}function K(e,t,n){switch(t.type.id){case R.ATXHeading1:return[q(e,t,n,1,!1)];case R.ATXHeading2:return[q(e,t,n,2,!1)];case R.ATXHeading3:return[q(e,t,n,3,!1)];case R.ATXHeading4:return[q(e,t,n,4,!1)];case R.ATXHeading5:return[q(e,t,n,5,!1)];case R.ATXHeading6:return[q(e,t,n,6,!1)];case R.SetextHeading1:return[q(e,t,n,1,!0)];case R.SetextHeading2:return[q(e,t,n,2,!0)];case R.Paragraph:return[Z(e,t,n)];case R.CommentBlock:return[ri(e,t,n)];case R.HTMLBlock:case R.ProcessingInstructionBlock:return[Z(e,t,n)];case R.Blockquote:return[ii(e,t,n)];case R.BulletList:return ai(e,t,n,`bullet`);case R.OrderedList:return ai(e,t,n,`ordered`);case R.FencedCode:case R.CodeBlock:return[si(e,t,n)];case R.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case R.Table:return[ci(e,t,n)];case R.Task:return[Z(e,t,n)];default:return n.slice(t.from,t.to).trim()===``?[]:(console.warn(`[meowdown] unsupported lezer block "${t.type.name}"`),[Z(e,t,n)])}}function q(e,t,n,r,i){let a=t.from,o=t.from,s=t.to,c=-1,l=-1;if(t.firstChild()){t.type.id===R.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===R.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=Y(n.slice(o,s),J(n,o)).trim(),d=i?ti(n,c,l)||1:null;return e.heading({level:r,setextUnderline:d},u)}function ti(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 J(e,t){let n=e.lastIndexOf(`
|
|
3
|
+
`,t-1)+1,r=0;for(let i=n;i<t;i++)r+=e.charCodeAt(i)===9?4-r%4:1;return r}function ni(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 Y(e,t){return t===0||!e.includes(`
|
|
4
4
|
`)?e:e.split(`
|
|
5
|
-
`).map((e,n)=>n===0?e:
|
|
6
|
-
`)}function
|
|
5
|
+
`).map((e,n)=>n===0?e:ni(e,t)).join(`
|
|
6
|
+
`)}function X(e,t,n){return e.paragraph(Y(t,n))}function Z(e,t,n){let r=t.from,i=t.to,a=J(n,r);if(t.firstChild()){let o=``,s=r;do t.type.id===R.QuoteMark&&(o+=n.slice(s,t.from),s=t.to,P(n.charCodeAt(s))&&(s+=1));while(t.nextSibling());return t.parent(),o+=n.slice(s,i),X(e,o,a)}return X(e,n.slice(r,i),a)}function ri(e,t,n){let r=J(n,t.from),i=Y(n.slice(t.from,t.to),r);return e.htmlComment({content:i})}function ii(e,t,n){let r=[];if(t.firstChild()){do{if(t.type.id===R.QuoteMark)continue;r.push(...K(e,t,n))}while(t.nextSibling());t.parent()}return e.blockquote(r)}function ai(e,t,n,r){let i=[];if(t.firstChild()){do t.type.id===R.ListItem&&i.push(oi(e,t,n,r));while(t.nextSibling());t.parent()}return i}function oi(e,t,n,r){let i=[],a,o,s,c,l,u;if(t.firstChild()){do{if(t.type.id!==R.ListMark&&u==null&&(u=J(n,t.from)),t.type.id===R.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=J(n,t.to);continue}if(r===`bullet`&&t.type.id===R.Task){let r=t.from,s=t.to;if(a=!1,t.firstChild()){if(t.type.id===R.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()}P(n.charCodeAt(r))&&(r+=1);let c=n.slice(r,s);i.push(X(e,c,J(n,r)));continue}i.push(...K(e,t,n))}while(t.nextSibling());t.parent()}let d=u!=null&&l!=null?u-l:1;return e.list({kind:a==null?r:`task`,order:r===`ordered`?s??1:null,checked:a??!1,collapsed:!1,marker:c,taskMarker:o,markerGap:d>=2&&d<=4?d:1},i)}function si(e,t,n){let r=``,i=``;if(t.firstChild()){do switch(t.type.id){case R.CodeInfo:r=n.slice(t.from,t.to);break;case R.CodeText:i+=n.slice(t.from,t.to);break}while(t.nextSibling());t.parent()}return e.codeBlock({language:r},i)}function ci(e,t,n){let r=0;if(t.firstChild()){do t.type.id===R.TableDelimiter&&(r=li(n.slice(t.from,t.to)));while(t.nextSibling());t.parent()}let i=[];if(t.firstChild()){do{let a=t.type.id;a===R.TableHeader?i.push(ui(e,t,n,!0,r)):a===R.TableRow&&i.push(ui(e,t,n,!1,r))}while(t.nextSibling());t.parent()}return e.table(i)}function li(e){return e.split(`|`).filter(e=>e.trim()!==``).length}function ui(e,t,n,r,i){let a=Array(i).fill(``);if(t.firstChild()){let e=t.type.id===R.TableDelimiter,r=0;do if(t.type.id===R.TableDelimiter)r++;else if(t.type.id===R.TableCell){let o=r-+!!e;o>=0&&o<i&&(a[o]=n.slice(t.from,t.to).trim().replaceAll(String.raw`\|`,`|`))}while(t.nextSibling());t.parent()}let o=a.map(t=>{let n=e.paragraph(t);return r?e.tableHeaderCell(n):e.tableCell(n)});return e.tableRow(o)}function Q(e,t={}){let n=new mi;return t.frontmatter&&di(e.attrs.frontmatter,n),hi(e,n),n.finish()}function di(e,t){e!==null&&(t.write(`---`),t.write(`
|
|
7
7
|
`),e!==``&&(t.write(e),t.write(`
|
|
8
|
-
`)),t.write(`---`),t.closeBlock())}const
|
|
9
|
-
`+i.repeat(Math.max(1,r))),t.closeBlock();return}t.write(
|
|
8
|
+
`)),t.write(`---`),t.closeBlock())}const fi=[``,`# `,`## `,`### `,`#### `,`##### `,`###### `];function pi(e,t){let n=e.attrs,r=n.setextUnderline;if(r!=null&&e.content.size>0&&n.level<=2){$(e,t);let i=n.level===1?`=`:`-`;t.write(`
|
|
9
|
+
`+i.repeat(Math.max(1,r))),t.closeBlock();return}t.write(fi[n.level]??`# `),$(e,t),t.closeBlock()}var mi=class{constructor(){this.parts=[],this.linePrefix=``,this.pendingFirst=null,this.atLineStart=!0,this.deferredBlankPrefix=null}write(e){if(e===``)return;if(this.emitDeferredBlankLine(),this.atLineStart&&=(this.parts.push(this.pendingFirst??this.linePrefix),this.pendingFirst=null,!1),!e.includes(`
|
|
10
10
|
`)){this.parts.push(e);return}let t=e.split(`
|
|
11
11
|
`);for(let e=0;e<t.length;e++)e>0&&this.parts.push(`
|
|
12
12
|
`,this.linePrefix),t[e]!==``&&this.parts.push(t[e])}closeBlock(){this.atLineStart&&this.pendingFirst!==null&&(this.emitDeferredBlankLine(),this.parts.push(this.pendingFirst.trimEnd()),this.pendingFirst=null,this.atLineStart=!1),this.atLineStart||this.parts.push(`
|
|
13
13
|
`),this.atLineStart=!0,this.deferredBlankPrefix=this.linePrefix}suppressBlank(){this.deferredBlankPrefix=null}withPrefix(e,t,n){let r=this.linePrefix,i=this.pendingFirst;if(this.linePrefix=r+e,t!==null){let e=i??r;this.pendingFirst=e+t}n(),this.linePrefix=r,this.pendingFirst=t===null?i:null}finish(){return this.parts.join(``).replace(/\s+$/,``)+`
|
|
14
14
|
`}emitDeferredBlankLine(){let e=this.deferredBlankPrefix;e!==null&&(this.parts.push(e.trimEnd(),`
|
|
15
|
-
`),this.deferredBlankPrefix=null)}};function
|
|
15
|
+
`),this.deferredBlankPrefix=null)}};function hi(e,t){switch(e.type.name){case`doc`:gi(e,t);return;case`paragraph`:$(e,t),t.closeBlock();return;case`heading`:pi(e,t);return;case`blockquote`:t.withPrefix(`> `,`> `,()=>gi(e,t)),t.closeBlock();return;case`list`:yi(e,t,vi(e));return;case`codeBlock`:bi(e,t);return;case`horizontalRule`:{let{marker:n}=e.attrs;t.write(n||`---`),t.closeBlock();return}case`htmlComment`:{let{content:n}=e.attrs;t.write(n),t.closeBlock();return}case`table`:xi(e,t);return;case`text`:e.text&&t.write(e.text);return}}function gi(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(),hi(a,t),i++;continue}let o=i+1;for(;o<r&&e.child(o).type.name===`list`;)o++;let s=_i(e,i,o);for(let r=i;r<o;r++)(r===i?n&&i>0:s)&&t.suppressBlank(),yi(e.child(r),t,s);i=o}}function _i(e,t,n){for(let r=t;r<n;r++)if(!vi(e.child(r)))return!1;return!0}function vi(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 $(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 yi(e,t,n){let r=e.attrs,i=r.marker===`*`||r.marker===`+`?r.marker:`-`,a=r.marker===`)`?`)`:`.`,o=r.taskMarker===`X`?`X`:`x`,s=Math.min(Math.max(r.markerGap??1,1),4),c=`${r.kind===`ordered`?`${r.order??1}${a}`:i}${` `.repeat(s)}`,l=r.kind===`task`?`${c}[${r.checked?o:` `}] `:c,u=` `.repeat(c.length);t.withPrefix(u,l,()=>gi(e,t,n)),t.closeBlock()}function bi(e,t){let n=e.attrs.language||``,r=e.textContent,i="`".repeat(Zn(r,2)+1);t.write(i),n&&t.write(n),t.write(`
|
|
16
16
|
`),r&&(t.write(r),t.write(`
|
|
17
|
-
`)),t.write(i),t.closeBlock()}function
|
|
17
|
+
`)),t.write(i),t.closeBlock()}function xi(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(Ci(t))}s&&a<0&&(a=t),o.length>i&&(i=o.length),r.push(o)}if(i===0)return;let o=`| `+Array(i).fill(`---`).join(` | `)+` |`,s=a>=0?r[a]:Array(i).fill(``);t.write(Si(s,i)),t.write(`
|
|
18
18
|
`),t.write(o);for(let e=0;e<n;e++)e!==a&&(t.write(`
|
|
19
|
-
`),t.write(
|
|
19
|
+
`),t.write(Si(r[e],i)));t.closeBlock()}function Si(e,t){let n=`|`;for(let r=0;r<t;r++)n+=` `+(e[r]??``)+` |`;return n}function Ci(e){let t=e.textContent.trim();return!t.includes(`|`)&&!t.includes(`
|
|
20
20
|
`)?t:t.replaceAll(`|`,String.raw`\|`).replaceAll(`
|
|
21
|
-
`,` `)}function
|
|
22
|
-
`).filter(e=>!
|
|
23
|
-
`)}function
|
|
21
|
+
`,` `)}function wi(e){return e.replace(/\n+$/u,``)}function Ti(e){return/^[\s>]*$/u.test(e)}function Ei(e){return e.split(`
|
|
22
|
+
`).filter(e=>!Ti(e))}function Di(e,t={}){let n=Q(G(e,{frontmatter:t.frontmatter}),{frontmatter:t.frontmatter});if(wi(n)===wi(e))return`exact`;let r=Ei(e),i=Ei(n);return r.length===i.length&&r.every((e,t)=>e.trimEnd()===i[t].trimEnd())?`normalizing`:`lossy`}const Oi=(e,t)=>{let{$from:n,empty:r}=e.selection;if(!r||n.depth!==1||n.index(0)!==0||n.parent.type.name!==`heading`||n.parentOffset!==n.parent.content.size)return!1;if(t){let r=te(e.schema,`list`),i=te(e.schema,`paragraph`),a=r.create({kind:`bullet`},i.create()),o=n.after(),s=e.tr.insert(o,a);s.setSelection(S.create(s.doc,o+2)),t(s.scrollIntoView())}return!0};function ki(){return v(l({Enter:Oi}),t.high)}const Ai=new Set([`MscGen`,`Xù`,`MsGenny`,`Angular Template`,`Brainfuck`,`Esper`,`Oz`,`Factor`,`Squirrel`,`Yacas`,`mIRC`,`FCL`,`ECL`,`MUMPS`,`Pig`,`Asterisk`,`Z80`]),ji=Se.map(e=>e.name).filter(e=>!Ai.has(e)).map(e=>({label:e,value:e.toLowerCase()})).concat({label:`Plain text`,value:``}).sort((e,t)=>e.label.localeCompare(t.label));function Mi(){return typeof window>`u`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}const Ni=/^(?:www\.|mobile\.)?(?:twitter\.com|x\.com)$/i,Pi=/\/status(?:es)?\/(\d+)/;function Fi(e){let t;try{t=new URL(e)}catch{return}if(Ni.test(t.hostname))return Pi.exec(t.pathname)?.[1]}const Ii=e=>{let t=Fi(e);if(!t)return;let n=Mi()?`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 Li(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 Ri=/^(?:www\.|m\.)?(?:youtube\.com|youtube-nocookie\.com)$/i,zi=/^(?:www\.)?youtu\.be$/i,Bi=/^[\w-]{11}$/;function Vi(e){let t;try{t=new URL(e)}catch{return}let n=null;if(zi.test(t.hostname))n=t.pathname.slice(1);else if(Ri.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||!Bi.test(n))return;let r=t.searchParams.get(`start`)??t.searchParams.get(`t`),i=r?Hi(r):void 0;return{videoId:n,startSeconds:i}}function Hi(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 Ui=[e=>{let t=Vi(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}},Ii];function Wi(e){for(let t of Ui){let n=t(e);if(n)return n}}const Gi=new x(`meowdown-embed-paste`);function Ki(e){let t=e.trim();if(!(!t||/\s/.test(t)))return Wi(t)?t:void 0}function qi(e,t){return e.clipboardData?.getData(`text/plain`)||t.content.textBetween(0,t.content.size,`
|
|
23
|
+
`)}function Ji(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 Yi(){return m(new b({key:Gi,props:{handlePaste:(e,t,n)=>{let r=e.state.selection.$from.parent;if(!r.inlineContent||r.type.spec.code)return!1;let i=qi(t,n);if(!i)return!1;let a=Ki(i);return a?(Ji(e,a),!0):!1}}}))}const Xi=new x(`meowdown-exit-boundary`);function Zi(e,t){let{$anchor:n,$head:r}=e.selection,i=t>0?n.max(r):n.min(r),a=i.parent.inlineContent?i.depth?e.doc.resolve(t>0?i.after():i.before()):void 0:i;return!!(a&&ye.findFrom(a,t))}function Qi(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:Zi(n,t)}function $i(e){return new b({key:Xi,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||Qi(t,r)||e({direction:r<0?`up`:`down`,event:n})===!1)}}})}function ea(e){return v(m($i(e)),t.low)}const ta=(e,t)=>{let n={type:`highlight`,children:e.all(t)};return e.patch(t,n),n},na=(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 ra(){return st().use(rt).use(it,{handlers:{mark:ta}}).use(at).use(ot,{bullet:`-`,emphasis:`*`,strong:`*`,fence:"`",fences:!0,rule:`-`,ruleRepetition:3,listItemIndent:`one`,handlers:{highlight:na}}).freeze()}const ia=y(ra);function aa(e){return String(ia().processSync(e))}const oa=new x(`meowdown-html-paste`);function sa(){return m(new b({key:oa,props:{transformPastedHTML:(e,t)=>{if(e.includes(`data-pm-slice`))return e;let n=t.state.selection.$from.parent;if(!n.inlineContent||n.type.spec.code)return e;let r=aa(e);if(!r.trim())return e;let i=G(r,{nodes:Zr(t.state.schema)}),a=Pe.fromSchema(t.state.schema),o=document.createElement(`div`);return o.append(a.serializeFragment(i.content)),o.innerHTML}}}))}const ca=new x(`meowdown-image-click`);function la(e,t){let n=E(e,t,`mdImageSource`);if(!n)return;let{src:r,alt:i}=n.mark.attrs;return{from:n.from,to:n.to,src:r,alt:i}}function ua(e){return m(new b({key:ca,props:{handleClick:(t,n,r)=>{let i=r.target?.closest?.(`.md-image-preview`);if(!i)return!1;let a=i.closest(`.md-image-view`)?.querySelector(`.md-image-view-content`);if(!a)return!1;let o=la(t.state,t.posAtDOM(a,0));return o?(e({src:o.src,alt:o.alt,event:r}),!0):!1}}}))}function da(e){return/^https?:\/\//i.test(e)?e:void 0}function fa(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`&&Li(t),t}function pa(e,t,n){let r=Wi(e);if(r){let e=document.createElement(`span`);return e.className=`md-image-preview md-image-preview-embed`,e.appendChild(fa(r)),e}let i=(n.resolveImageUrl??da)(e);if(!i)return;let a=document.createElement(`span`);a.className=`md-image-preview md-image-preview-img`,a.dataset.testid=`image-preview`;let o=document.createElement(`img`);return o.src=i,o.alt=t,o.draggable=!1,a.appendChild(o),a}function ma(e){return t=>{let n=t.attrs,r=document.createElement(`span`);r.className=`md-image-view`;let i=document.createElement(`span`);i.className=`md-image-view-content`,r.appendChild(i);let a=pa(n.src,n.alt,e);return a&&(a.contentEditable=`false`,r.appendChild(a)),{dom:r,contentDOM:i,ignoreMutation:e=>!i.contains(e.target)}}}function ha(e){return e?Array.from(e.files).filter(e=>e.type.startsWith(`image/`)):[]}const ga=e=>{console.error(`[meowdown] failed to save pasted image:`,e)};async function _a(e,t,n,r=ga,i){let a=i;for(let i of t){let t;try{t=await n(i)}catch(e){r(e,i);continue}if(!t||e.isDestroyed)continue;let o=``,s=a==null?e.state.tr.insertText(o):e.state.tr.insertText(o,a);e.dispatch(s),a!=null&&(a+=o.length)}}function va(e){return new b({key:new x(`image-input`),props:{handlePaste:(t,n)=>{let r=ha(n.clipboardData),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(_a(t,r,i,a),!0)},handleDrop:(t,n)=>{let r=ha(n.dataTransfer),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(_a(t,r,i,a,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function ya(e={}){return _(d({name:`mdImageView`,constructor:ma(e)}),v(m(va(e)),t.high))}const ba={"Mod-b":`Bold`,"Mod-i":`Italic`,"Mod-e":`Inline code`,"Mod-Shift-x":`Strikethrough`,"Mod-Shift-h":`Highlight`,"Mod-k":`Link`,"Mod-1":`Heading 1`,"Mod-2":`Heading 2`,"Mod-3":`Heading 3`,"Mod-4":`Heading 4`,"Mod-5":`Heading 5`,"Mod-6":`Heading 6`};function xa(e){return m(new b({key:e.key,props:{handleClick:(t,n,r)=>{if(!r.target?.closest?.(e.selector))return!1;let i=e.findPayloadAt(t.state,n);return i==null?!1:(e.preventDefault&&r.preventDefault(),e.onClick(i,r),!0)}}}))}const Sa=new x(`meowdown-link-click`);function Ca(e){return xa({key:Sa,selector:`.md-link`,preventDefault:!0,findPayloadAt:(e,t)=>W(e,t)?.href,onClick:(t,n)=>e({href:t,event:n})})}function wa(e){let t,n=(n,r)=>{let i=r.target;if(!i||!ue(i))return;let a=i.closest(e.selector);if(!a||a===t)return;let o=n.posAtDOM(a,0),s=e.findPayloadAt(n.state,o);s!=null&&(t=a,e.onHoverChange({payload:s,element:a}))},r=n=>{if(!t)return;let r=n.relatedTarget;r&&t.contains(r)||(t=void 0,e.onHoverChange(void 0))};return _(s(`mouseover`,(e,t)=>n(e,t)),s(`mouseout`,(e,t)=>r(t)))}function Ta(e){return wa({selector:`.md-link`,findPayloadAt:(e,t)=>W(e,t),onHoverChange:e})}const Ea=new x(`meowdown-markdown-copy`);function Da(){return m(new b({key:Ea,props:{clipboardTextSerializer:(e,t)=>{let n=e.content,r;try{r=t.state.schema.topNodeType.createAndFill(void 0,n)??void 0}catch{r=void 0}return r?Q(r).replace(/\n+$/,``):n.textBetween(0,n.size,`
|
|
24
24
|
`,`
|
|
25
|
-
`)}}}))}const
|
|
25
|
+
`)}}}))}const Oa=new x(`meowdown-tag-click`);function ka(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 Aa(e){return xa({key:Oa,selector:`.md-tag`,preventDefault:!1,findPayloadAt:(e,t)=>ka(e,t)?.tag,onClick:(t,n)=>e({tag:t,event:n})})}const ja=new x(`meowdown-wikilink-click`);function Ma(e,t){let n=E(e,t,`mdWikilinkSource`);if(!n)return;let{target:r}=n.mark.attrs;return{from:n.from,to:n.to,target:r}}function Na(e){return xa({key:ja,selector:`.md-wikilink-label, .md-wikilink-source`,preventDefault:!1,findPayloadAt:(e,t)=>Ma(e,t)?.target,onClick:(t,n)=>e({target:t,event:n})})}const Pa=(e,t)=>{let{selection:n}=e;if(!n.empty&&!n.$head.sameParent(n.$anchor))return!1;let r=e.doc.textBetween(n.from,n.to);if(r.startsWith(`[[`))return!1;r.startsWith(`[`)&&(r=r.slice(1));let i=`[[`+r;if(t){let r=e.tr.insertText(i,n.from,n.to);r.setSelection(S.create(r.doc,n.from+i.length)),ct(r),t(r.scrollIntoView())}return!0};function Fa(){return l({"Mod-Shift-k":Pa})}function Ia(e,t){let n=()=>{let n=e.coordsAtPos(t.from),r=e.coordsAtPos(t.to),i=Math.min(n.left,r.left),a=Math.max(n.right,r.right),o=Math.min(n.top,r.top),s=Math.max(n.bottom,r.bottom);return new DOMRect(i,o,a-i,s-o)};return{getBoundingClientRect:n,getClientRects:()=>[n()]}}export{ba as EDITOR_KEY_BINDINGS,e as Priority,Di as checkRoundTrip,ji as codeBlockLanguages,da as defaultResolveImageUrl,ki as defineBulletAfterHeading,kt as defineCodeBlockSyntaxHighlight,Wr as defineEditorExtension,Yi as defineEmbedPaste,ea as defineExitBoundaryHandler,Ut as defineHTMLComment,sa as defineHTMLPaste,ya as defineImage,ua as defineImageClickHandler,Ca as defineLinkClickHandler,xr as defineLinkCommands,Cr as defineLinkEditKeymap,Ta as defineLinkHoverHandler,pt as defineMarkMode,Da as defineMarkdownCopy,ce as definePlaceholder,le as defineReadonly,Aa as defineTagClickHandler,Na as defineWikilinkClickHandler,Fa as defineWikilinkTrigger,Q as docToMarkdown,jt as getCodeTokens,W as getLinkUnitAt,qr as getMarkBuilders,Ia as getVirtualElementFromRange,yn as inlineTextToMarkChunks,vr as insertLink,Li as listenForTweetHeight,G as markdownToDoc,Wi as matchEmbed,br as removeLink,yr as updateLink,oe as withPriority};
|
package/dist/style.css
CHANGED
|
@@ -416,7 +416,7 @@ img.ProseMirror-separator {
|
|
|
416
416
|
caret-color: #0000;
|
|
417
417
|
}
|
|
418
418
|
|
|
419
|
-
.ProseMirror ::selection {
|
|
419
|
+
.ProseMirror ::selection, .ProseMirror .prosekit-virtual-selection {
|
|
420
420
|
background: var(--meowdown-selection);
|
|
421
421
|
}
|
|
422
422
|
|
|
@@ -517,7 +517,7 @@ img.ProseMirror-separator {
|
|
|
517
517
|
opacity: .7;
|
|
518
518
|
}
|
|
519
519
|
|
|
520
|
-
.ProseMirror .md-link-uri {
|
|
520
|
+
.ProseMirror .md-link-uri, .ProseMirror .md-link-title {
|
|
521
521
|
color: var(--meowdown-accent);
|
|
522
522
|
text-underline-offset: 2px;
|
|
523
523
|
opacity: .7;
|
|
@@ -529,7 +529,7 @@ img.ProseMirror-separator {
|
|
|
529
529
|
}
|
|
530
530
|
|
|
531
531
|
.ProseMirror[data-mark-mode="hide"] {
|
|
532
|
-
& .md-mark, & .md-link-uri, & .md-image-source, & .md-wikilink-source {
|
|
532
|
+
& .md-mark, & .md-link-uri, & .md-link-title, & .md-image-source, & .md-wikilink-source {
|
|
533
533
|
display: none;
|
|
534
534
|
}
|
|
535
535
|
}
|
|
@@ -539,7 +539,7 @@ img.ProseMirror-separator {
|
|
|
539
539
|
display: none;
|
|
540
540
|
}
|
|
541
541
|
|
|
542
|
-
& .md-mark, & .md-link-uri, & .md-image-source {
|
|
542
|
+
& .md-mark, & .md-link-uri, & .md-link-title, & .md-image-source {
|
|
543
543
|
vertical-align: bottom;
|
|
544
544
|
letter-spacing: -2em;
|
|
545
545
|
display: inline-block;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meowdown/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.25.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@codemirror/language": "^6.12.3",
|
|
22
22
|
"@codemirror/language-data": "^6.5.2",
|
|
23
|
+
"@floating-ui/dom": "^1.7.6",
|
|
23
24
|
"@lezer/common": "^1.5.2",
|
|
24
25
|
"@lezer/highlight": "^1.2.3",
|
|
25
26
|
"@lezer/markdown": "^1.6.4",
|