@meowdown/core 0.15.1 → 0.16.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 +67 -2
- package/dist/index.js +12 -9
- package/dist/style.css +23 -4
- package/package.json +4 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,54 @@
|
|
|
1
|
-
import { Editor, ExtractNodeBuilders, PlainExtension, Priority, withPriority } from "@prosekit/core";
|
|
1
|
+
import { Editor, Extension, ExtractNodeBuilders, PlainExtension, Priority, Union, withPriority } from "@prosekit/core";
|
|
2
2
|
import { CodeBlockAttrs } from "@prosekit/extensions/code-block";
|
|
3
3
|
import { ProseMirrorNode } from "@prosekit/pm/model";
|
|
4
|
+
import { ListExtension } from "@prosekit/extensions/list";
|
|
4
5
|
import { PlaceholderOptions, definePlaceholder } from "@prosekit/extensions/placeholder";
|
|
5
6
|
import { defineReadonly } from "@prosekit/extensions/readonly";
|
|
6
7
|
|
|
8
|
+
//#region src/extensions/frontmatter.d.ts
|
|
9
|
+
/**
|
|
10
|
+
* The raw YAML frontmatter body, stored verbatim (the text between the opening
|
|
11
|
+
* and closing `---` fences, without a trailing newline).
|
|
12
|
+
*
|
|
13
|
+
* - `null` means the document has no frontmatter (the default).
|
|
14
|
+
* - `''` means an empty frontmatter block (`---\n---`).
|
|
15
|
+
* - any other string is the body, which may contain newlines.
|
|
16
|
+
*/
|
|
17
|
+
type Frontmatter = string | null;
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/extensions/list.d.ts
|
|
20
|
+
/**
|
|
21
|
+
* The marker for a list item.
|
|
22
|
+
*
|
|
23
|
+
* For ordered list items, the marker is `.` or `)`.
|
|
24
|
+
* For bullet and task list items, the marker is `-`, `*`, or `+`.
|
|
25
|
+
*
|
|
26
|
+
* Defaults to null if unknown.
|
|
27
|
+
*/
|
|
28
|
+
type ListMarker = '.' | ')' | '-' | '*' | '+' | null;
|
|
29
|
+
/**
|
|
30
|
+
* The character inside a checked task's checkbox.
|
|
31
|
+
*
|
|
32
|
+
* GFM marks a box checked with either `x` or `X`. Defaults to null, which the
|
|
33
|
+
* serializer emits as the canonical lowercase `x`.
|
|
34
|
+
*/
|
|
35
|
+
type TaskMarker = 'x' | 'X' | null;
|
|
36
|
+
type ListMarkerExtension = Extension<{
|
|
37
|
+
Nodes: {
|
|
38
|
+
list: {
|
|
39
|
+
marker?: ListMarker;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
}>;
|
|
43
|
+
type ListTaskMarkerExtension = Extension<{
|
|
44
|
+
Nodes: {
|
|
45
|
+
list: {
|
|
46
|
+
taskMarker?: TaskMarker;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
}>;
|
|
50
|
+
type MeowdownListExtension = Union<[ListExtension, ListMarkerExtension, ListTaskMarkerExtension]>;
|
|
51
|
+
//#endregion
|
|
7
52
|
//#region src/extensions/inline-marks.d.ts
|
|
8
53
|
interface MdImageViewAttrs {
|
|
9
54
|
src: string;
|
|
@@ -23,9 +68,25 @@ interface MdWikilinkViewAttrs {
|
|
|
23
68
|
target: string;
|
|
24
69
|
display: string;
|
|
25
70
|
}
|
|
71
|
+
interface MdPackAttrs {
|
|
72
|
+
/**
|
|
73
|
+
* Content-derived identity of one inline syntax unit. Adjacent units of the
|
|
74
|
+
* same kind are kept apart by it (so they do not merge into one mark run), and
|
|
75
|
+
* it stays stable when unrelated text in the block is edited, so editing one
|
|
76
|
+
* unit never re-marks the others. Values: `bold` | `italic` | `code` |
|
|
77
|
+
* `strike` | `autolink` | `link_${href}` | `image_${src}`.
|
|
78
|
+
*/
|
|
79
|
+
key: string;
|
|
80
|
+
}
|
|
26
81
|
//#endregion
|
|
27
82
|
//#region src/extensions/extension.d.ts
|
|
28
|
-
declare function defineEditorExtensionImpl(): import("@prosekit/core").Union<readonly [import("@prosekit/extensions/paragraph").ParagraphExtension, import("@prosekit/extensions/doc").DocExtension, import("@prosekit/
|
|
83
|
+
declare function defineEditorExtensionImpl(): import("@prosekit/core").Union<readonly [import("@prosekit/extensions/paragraph").ParagraphExtension, import("@prosekit/extensions/doc").DocExtension, import("@prosekit/core").Extension<{
|
|
84
|
+
Nodes: {
|
|
85
|
+
doc: {
|
|
86
|
+
frontmatter?: Frontmatter;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
}>, import("@prosekit/extensions/text").TextExtension, import("@prosekit/extensions/blockquote").BlockquoteExtension, MeowdownListExtension, import("@prosekit/core").Union<readonly [import("@prosekit/extensions/heading").HeadingSpecExtension, import("@prosekit/core").PlainExtension, import("@prosekit/extensions/heading").HeadingCommandsExtension, import("@prosekit/core").PlainExtension]>, import("@prosekit/core").Union<readonly [import("@prosekit/extensions/table").TableSpecExtension, import("@prosekit/extensions/table").TableRowSpecExtension, import("@prosekit/extensions/table").TableCellSpecExtension, import("@prosekit/extensions/table").TableHeaderCellSpecExtension, import("@prosekit/core").PlainExtension, import("@prosekit/extensions/table").TableCommandsExtension, import("@prosekit/core").PlainExtension]>, import("@prosekit/extensions/code-block").CodeBlockExtension, import("@prosekit/extensions/horizontal-rule").HorizontalRuleExtension, import("@prosekit/core").Union<readonly [import("@prosekit/core").Extension<{
|
|
29
90
|
Marks: {
|
|
30
91
|
mdMark: import("@prosekit/pm/model").Attrs;
|
|
31
92
|
};
|
|
@@ -73,6 +134,10 @@ declare function defineEditorExtensionImpl(): import("@prosekit/core").Union<rea
|
|
|
73
134
|
Marks: {
|
|
74
135
|
mdImageView: MdImageViewAttrs;
|
|
75
136
|
};
|
|
137
|
+
}>, import("@prosekit/core").Extension<{
|
|
138
|
+
Marks: {
|
|
139
|
+
mdPack: MdPackAttrs;
|
|
140
|
+
};
|
|
76
141
|
}>]>, import("@prosekit/core").Extension<import("@prosekit/core").ExtensionTyping<any, any, any>>, import("@prosekit/core").PlainExtension, import("@prosekit/core").Union<readonly [import("@prosekit/core").Extension<{
|
|
77
142
|
Commands: {
|
|
78
143
|
toggleEm: [];
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import{Priority as e,Priority as t,createMarkBuilders as n,createNodeBuilders as r,defineBaseCommands as i,defineBaseKeymap as a,defineCommands as o,defineHistory as s,defineKeymap as c,defineMarkSpec as l,defineMarkView as u,
|
|
2
|
-
`)}function Ze(e){let{$anchor:t,empty:n}=e.selection;if(!n)return b.empty;let r=t.parent;if(!r.isTextblock)return;let i=t.start(),a=t.parentOffset,o=Qe(r,a);if(o.size===0)return b.empty;let s=[],c=new Set,l=!1;for(let e of o)if(w.has(e)){if(l)continue;l=!0,et(r,i,a,s,c)}else $e(r,i,e,a,s,c);let u=s.map(([e,t])=>_e.inline(e,t,{class:`show`}));return b.create(e.doc,u)}function Qe(e,t){let n=new Set,r=0;return e.forEach(e=>{let i=r+e.nodeSize;if(t>=r&&t<=i)for(let t of e.marks){let e=t.type.name;Ve.has(e)&&n.add(e)}r=i}),n}function $e(e,t,n,r,i,a){let o=t,s=0,c=-1,l=-1;e.forEach(u=>{let d=u.marks.some(e=>e.type.name===n);d&&c===-1&&(c=o,l=s),!d&&c!==-1&&(r>=l&&r<=s&&T(e,t,c,o,i,a),c=-1,l=-1),o+=u.nodeSize,s+=u.nodeSize}),c!==-1&&r>=l&&r<=s&&T(e,t,c,o,i,a)}function et(e,t,n,r,i){let a=e.childCount;if(a===0)return;let o=-1,s=0;for(let t=0;t<a;t++){let r=e.child(t),i=s+r.nodeSize;if(n>=s&&n<=i&&r.marks.some(e=>w.has(e.type.name))){o=t;break}s=i}if(o===-1)return;let c=o;for(;c>0&&tt(e.child(c-1));)c--;let l=o;for(;l<a-1&&tt(e.child(l+1));)l++;let u=t;for(let t=0;t<c;t++)u+=e.child(t).nodeSize;let d=u;for(let t=c;t<=l;t++)d+=e.child(t).nodeSize;T(e,t,u,d,r,i)}function tt(e){let t=!1,n=!1,r=!1;for(let i of e.marks){let e=i.type.name;e===`mdMark`?t=!0:w.has(e)?n=!0:Ge.has(e)&&(r=!0)}return!!(n||t&&!r)}function T(e,t,n,r,i,a){let o=t;e.forEach(e=>{let t=o,s=o+e.nodeSize;if(t>=n&&s<=r)for(let n of e.marks){let e=n.type.name;if(He.has(e)){let e=`${t}_${s}`;a.has(e)||(a.add(e),i.push([t,s]));break}}o=s})}function E(e,t){let n=Ye(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function D(e,t,n){for(let r of n){let n=C(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 nt(e,t){return y.create(e.doc,t.from,t.to)}function rt(e){return(t,n)=>{let r=E(e,t);if(r.length===0||!m(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(nt(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(y.create(t.doc,i.from+1))),!0)}return!1}let a=A(t,r);return a?(n?.(t.tr.setSelection(y.create(t.doc,a.to))),!0):!1}}function it(e){return(t,n)=>{let r=E(e,t);if(r.length===0||!m(t.selection))return!1;let i=t.selection;if(i.empty){let e=O(t,i.from,r);return e?(n?.(t.tr.setSelection(nt(t,e))),!0):!1}let a=A(t,r);return a?(n?.(t.tr.setSelection(y.create(t.doc,a.from))),!0):!1}}function at(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 ot(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 st(e,t){return new _({key:new v(`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 b.create(n.doc,[_e.inline(i.from,i.to,{class:t})])}}})}function ct({marks:e,selectedClass:n}){return h(g(c({ArrowRight:rt(e),ArrowLeft:it(e),Backspace:at(e),Delete:ot(e)}),t.high),d(st(e,n)))}const j=new Map;async function lt(e){let t=ve.matchLanguageName(x,e,!0);if(!t){j.set(e,null);return}let n=t.support;if(!n)try{n=await t.load()}catch(t){console.error(`[meowdown] Failed to load language "${e}":`,t),j.set(e,null)}if(j.has(e))return;if(!n){j.set(e,null);return}let r=be({parse:e=>n.language.parser.parse(e.content),highlighter:ye});j.set(e,r)}const ut=e=>{let t=e.language?.trim();if(!t)return[];let n=j.get(t);return n?n(e):n===null?[]:lt(t)};function dt(){return ce({parser:ut,nodeTypes:[`codeBlock`]})}function M(e){return ae(ne({type:`heading`,attrs:{level:e}}))}const ft=(e,t,n)=>te(e,n)?.parent.type.name===`heading`?re()(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:ft})}function mt(){return h(Ce(),Se(),xe(),pt())}function ht(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=>De.fromJSON(e,t))]}var N=class e extends S{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return Te.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 Ee(e),n.removeMark(i,c,t));for(let t of a)t.isInSet(l)||(n??=new Ee(e),n.addMark(i,c,t));return!1})}return Te.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return _t;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 we(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(ht)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>gt(t,e)))}};S.jsonID(`batchSetMark`,N);const _t=new N([]),vt=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),yt=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function bt(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(!vt.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!yt.test(e))return!1;return!0}const St=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,Ct=/[\s(*_~]/;function wt(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function Tt(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function Et(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&Tt(e,t,`)`)>Tt(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 Dt={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!wt(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!Ct.test(r))return-1;let i=St.exec(e.slice(n,e.end));if(!i)return-1;let a=Et(i[0]);return a===0||!xt(bt(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function Ot(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 kt(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const At={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(!Ot(t))break;i||=kt(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},jt={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 Mt(e){return e.end}const P=ke.configure([Oe,At,jt,Dt]),Nt=P.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:Mt}]});function F(e){return P.parseInline(e,0)}function I(e,t,n=[]){for(let r of e)t(r)&&n.push(r),I(r.children,t,n);return n}function Pt(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const L=Pt(P);function Ft(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 It(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 Lt(){return e=>{let t=e.attrs,n=document.createElement(`span`);n.className=`md-wikilink-view`;let r=document.createElement(`span`);n.appendChild(r);let i=document.createElement(`span`);return i.className=`md-wikilink-label`,i.contentEditable=`false`,i.dataset.testid=`wikilink`,i.textContent=t.display||t.target,n.appendChild(i),{dom:n,contentDOM:r,ignoreMutation:e=>!r.contains(e.target)}}}function Rt(){return u({name:`mdWikilinkView`,constructor:Lt()})}const R=new Map([[L.Emphasis,`mdEm`],[L.StrongEmphasis,`mdStrong`],[L.InlineCode,`mdCode`],[L.Strikethrough,`mdDel`],[L.EmphasisMark,`mdMark`],[L.CodeMark,`mdMark`],[L.LinkMark,`mdMark`],[L.StrikethroughMark,`mdMark`],[L.URL,`mdLinkUri`],[L.Hashtag,`mdTag`],[L.WikilinkMark,`mdMark`]]);function zt(e,t){let n=F(t),r=[];return z(n,[],0,t.length,t,e,r),r}function Bt(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(bt(e)))return`https://${e}`}function z(e,t,n,r,i,a,o){let s=n;for(let n of e){if(n.from>s&&H(o,s,n.from,t),n.type===L.Link)B(n,t,i,a,o);else if(n.type===L.Image)Vt(n,t,i,a,o);else if(n.type===L.Wikilink)V(n,t,i,a,o);else if(n.type===L.URL){let e=Bt(i.slice(n.from,n.to)),r=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();H(o,n.from,n.to,[...t,r])}else{let e=R.get(n.type),r=e?[...t,a[e].create()]:t;n.children.length===0?H(o,n.from,n.to,r):z(n.children,r,n.from,n.to,i,a,o)}s=n.to}s<r&&H(o,s,r,t)}function B(e,t,n,r,i){let a=-1,o=null,s=0;for(let t of e.children)t.type===L.LinkMark?(s++,s===2&&(a=t.from)):t.type===L.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=e.from;for(let a of e.children){if(a.from>d){let e=u(d)?[...t,l]:t;H(i,d,a.from,e)}let e=u(a.from)?[...t,l]:t;if(a.type===L.Wikilink){V(a,e,n,r,i),d=a.to;continue}let o=R.get(a.type),s=o?[...e,r[o].create()]:e;a.children.length===0?H(i,a.from,a.to,s):z(a.children,s,a.from,a.to,n,r,i),d=a.to}d<e.to&&H(i,d,e.to,t)}function Vt(e,t,n,r,i){let a=e.children.find(e=>e.type===L.URL);if(!a){B(e,t,n,r,i);return}let o=e.children.filter(e=>e.type===L.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=e.to-1,f=e=>e>=d?[...t,l,u]:[...t,l],p=e.from;for(let t of e.children){t.from>p&&H(i,p,t.from,f(p));let e=R.get(t.type),a=e?[...f(t.from),r[e].create()]:f(t.from);t.children.length===0?H(i,t.from,t.to,a):z(t.children,a,t.from,t.to,n,r,i),p=t.to}p<e.to&&H(i,p,e.to,f(p))}function V(e,t,n,r,i){let{target:a,display:o}=It(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&&H(i,d,t.from,u(d));let e=r.mdMark.create();t.from<l&&t.to>l?(H(i,t.from,l,[...u(t.from),e]),H(i,l,t.to,[...u(l),e])):H(i,t.from,t.to,[...u(t.from),e]),d=t.to}d<e.to&&H(i,d,e.to,u(d))}function H(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&Ft(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const Ht=Ae(()=>{let e=Mn().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),Ut=Ae(()=>r(Ht())),U=`meowdown_mark_builders`;function Wt(e){let t=e.cached[U];if(t)return t;let r=n(e);return e.cached[U]=r,r}const W=`inline-marks-applied`,Gt=new WeakMap;let Kt=0,qt=0;function Jt(e,t,n){let r=Gt.get(e);if(r?qt++:(Kt++,r=zt(Wt(n),e.textContent),Gt.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 Yt(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 Xt(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=Jt(t,r+1,e.schema);return i.length>0&&n.push(...i),!1}),n}function Zt(){return new _({key:new v(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(W))return null;let r=Xt(n,Yt(e,n));if(r.length===0)return null;let i=n.tr.step(new N(r));return i.setMeta(W,!0),i.setMeta(`addToHistory`,!1),i},view(e){return e.dispatch(Qt(e.state)),{}}})}function Qt(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function $t(){return d(Zt())}function en(){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 tn(){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 nn(){return l({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function rn(){return l({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function an(){return l({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function on(){return l({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function sn(){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 cn(){return l({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function ln(){return l({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function un(){return l({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function dn(){return l({name:`mdWikilinkSource`,inclusive:!1,attrs:{target:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink-source`},0],parseDOM:[{tag:`span.md-wikilink-source`}]})}function fn(){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 pn(){return h(nn(),rn(),an(),on(),sn(),cn(),ln(),un(),dn(),fn(),tn(),en())}function mn(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 G={em:{node:L.Emphasis,delim:`*`},strong:{node:L.StrongEmphasis,delim:`**`},code:{node:L.InlineCode,delim:"`"},del:{node:L.Strikethrough,delim:`~~`}},hn=new Set([L.EmphasisMark,L.CodeMark,L.LinkMark,L.StrikethroughMark]);function K(e){return[e.children[0],e.children.at(-1)]}function gn(e){let{type:t,children:n}=e;if(t===L.Emphasis||t===L.StrongEmphasis||t===L.Strikethrough)return[n[0].to,n.at(-1).from];if(t===L.Link||t===L.Image){let e=n.find((e,t)=>t>0&&e.type===L.LinkMark);return e?[n[0].to,e.from]:null}return null}function q(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]?q(r.children,t,n):q(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function _n(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return _n(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}const J=e=>e===` `||e===` `;function vn(e,t,n){for(;t<n&&J(e[t]);)t++;for(;n>t&&J(e[n-1]);)n--;return[t,n]}function yn(e,t,n,r){let i=I(F(e),e=>e.type===r.node||hn.has(e.type));for(let r=t;r<n;r++)if(!J(e[r])&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function bn(e,t,n,r,i){let a=F(e),o=I(a,e=>e.type===r.node);return i?Cn(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]=q(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]=K(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=Sn(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function Sn(e,t,n,r,i){if(i.node!==L.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(mn(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function Cn(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=K(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=_n(a.children.slice(1,-1),s,c);s>t.to&&J(e[s-1]);)s--;for(;c<o.from&&J(e[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 wn(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=F(e),o=I(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=K(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return Tn(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function Tn(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:Tn(n.children,t)}return!1}function Y(e){return(t,n)=>{if(t.selection.empty)return En(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]=vn(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:yn(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>bn(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(y.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 En(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=wn(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(y.create(o.doc,i+a.pos)),a.kind===`insert`&&(o.insertText(e.delim+e.delim,i+a.pos),o.setSelection(y.create(o.doc,i+a.pos+e.delim.length))),n(o.scrollIntoView())}return!0}function Dn(){return o({toggleEm:()=>Y(G.em),toggleStrong:()=>Y(G.strong),toggleCode:()=>Y(G.code),toggleDel:()=>Y(G.del)})}function On(){return c({"Mod-b":Y(G.strong),"Mod-i":Y(G.em),"Mod-e":Y(G.code),"Mod-Shift-x":Y(G.del)})}function kn(){return h(Dn(),On())}function An(){return h(Le(),Ie(),je(),Fe(),Pe({allowTableNodeSelection:!0}),Me(),Ne())}function jn(){return h(me(),le(),he(),oe(),fe(),mt(),An(),se(),de(),pn(),dt(),$t(),kn(),Rt(),ct({marks:[{name:`mdImageSource`,modes:[`hide`]},{name:`mdWikilinkSource`,modes:[`hide`,`focus`,`show`]}],selectedClass:`md-atomic-selected`}),a(),i(),s(),ue(),ge(),pe())}function Mn(){return jn()}function X(e){let t;return d(new _({key:e.key,props:{handleDOMEvents:{mousedown:e=>{let{from:n,to:r,empty:i}=e.state.selection;return t={from:n,to:r,empty:i},!1}},handleClick:(n,r,i)=>{if(!i.target?.closest?.(e.selector))return!1;let a=e.findHitAt(n.state,r);return!a||!(ee?i.metaKey:i.ctrlKey)&&t?.empty&&t.from>=a.from&&t.to<=a.to?!1:(e.preventDefault&&i.preventDefault(),e.onClick(a.payload,i),!0)}}}))}const Nn=new v(`meowdown-wikilink-click`);function Pn(e,t){let n=C(e,t,`mdWikilinkSource`);if(!n)return;let{target:r}=n.mark.attrs;return{from:n.from,to:n.to,target:r}}function Fn(e){return X({key:Nn,selector:`.md-wikilink-label, .md-wikilink-source`,preventDefault:!1,findHitAt:(e,t)=>{let n=Pn(e,t);return n?{from:n.from,to:n.to,payload:n.target}:void 0},onClick:(t,n)=>e({target:t,event:n})})}const In=new v(`meowdown-link-click`);function Ln(e,t){let n=C(e,t,`mdLinkText`);if(n)return{from:n.from,to:n.to,href:n.mark.attrs.href}}function Rn(e){return X({key:In,selector:`.md-link`,preventDefault:!0,findHitAt:(e,t)=>{let n=Ln(e,t);return n?{from:n.from,to:n.to,payload:n.href}:void 0},onClick:(t,n)=>e({href:t,event:n})})}function zn(){return typeof window>`u`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}const Bn=/^(?:www\.|mobile\.)?(?:twitter\.com|x\.com)$/i,Vn=/\/status(?:es)?\/(\d+)/;function Hn(e){let t;try{t=new URL(e)}catch{return}if(Bn.test(t.hostname))return Vn.exec(t.pathname)?.[1]}const Un=e=>{let t=Hn(e);if(t)return{key:`tweet:${t}`,render:()=>{let e=zn()?`dark`:`light`,n=document.createElement(`iframe`);return n.src=`https://platform.twitter.com/embed/Tweet.html?id=${t}&theme=${e}&dnt=true`,n.title=`Tweet`,n.className=`md-embed md-embed-tweet`,n.dataset.testid=`tweet-embed`,n.loading=`lazy`,n.referrerPolicy=`strict-origin-when-cross-origin`,n.setAttribute(`frameborder`,`0`),Wn(n),n}}};function Wn(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=new MutationObserver(()=>{e.isConnected||(window.removeEventListener(`message`,t),n.disconnect())});n.observe(document.body,{childList:!0,subtree:!0})}const Gn=/^(?:www\.|m\.)?(?:youtube\.com|youtube-nocookie\.com)$/i,Kn=/^(?:www\.)?youtu\.be$/i,qn=/^[\w-]{11}$/;function Jn(e){let t;try{t=new URL(e)}catch{return}let n=null;if(Kn.test(t.hostname))n=t.pathname.slice(1);else if(Gn.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||!qn.test(n))return;let r=t.searchParams.get(`start`)??t.searchParams.get(`t`),i=r?Yn(r):void 0;return{videoId:n,startSeconds:i}}function Yn(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 Xn=[e=>{let t=Jn(e);if(!t)return;let n=t.startSeconds?`?start=${t.startSeconds}`:``;return{key:`youtube:${t.videoId}:${t.startSeconds??0}`,render:()=>{let e=document.createElement(`iframe`);return e.src=`https://www.youtube-nocookie.com/embed/${t.videoId}${n}`,e.title=`YouTube video`,e.className=`md-embed md-embed-youtube`,e.dataset.testid=`youtube-embed`,e.loading=`lazy`,e.referrerPolicy=`strict-origin-when-cross-origin`,e.setAttribute(`frameborder`,`0`),e.allow=`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen`,e.allowFullscreen=!0,e}}},Un];function Zn(e){for(let t of Xn){let n=t(e);if(n)return n}}function Qn(e){return/^https?:\/\//i.test(e)?e:void 0}function $n(e,t,n){let r=Zn(e);if(r){let e=document.createElement(`span`);return e.className=`md-image-preview md-image-preview-embed`,e.appendChild(r.render()),e}let i=(n.resolveImageUrl??Qn)(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 er(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=$n(n.src,n.alt,e);return a&&(a.contentEditable=`false`,r.appendChild(a)),{dom:r,contentDOM:i,ignoreMutation:e=>!i.contains(e.target)}}}function tr(e){return e?Array.from(e.files).filter(e=>e.type.startsWith(`image/`)):[]}const nr=e=>{console.error(`[meowdown] failed to save pasted image:`,e)};async function rr(e,t,n,r=nr,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 ir(e){return new _({key:new v(`image-input`),props:{handlePaste:(t,n)=>{let r=tr(n.clipboardData),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(rr(t,r,i,a),!0)},handleDrop:(t,n)=>{let r=tr(n.dataTransfer),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(rr(t,r,i,a,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function ar(e={}){return h(u({name:`mdImageView`,constructor:er(e)}),g(d(ir(e)),t.high))}const or=new v(`meowdown-image-click`);function sr(e,t){let n=C(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 cr(e){return d(new _({key:or,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=sr(t.state,t.posAtDOM(a,0));return o?(e({src:o.src,alt:o.alt,event:r}),!0):!1}}}))}const lr=new v(`meowdown-embed-paste`);function ur(e){let t=e.trim();if(!(!t||/\s/.test(t)))return Zn(t)?t:void 0}function dr(e,t){let{from:n,to:r}=e.state.selection;e.dispatch(Re(e.state.tr.insertText(t,n,r)));let i=e.state.tr.insertText(``,n,n+t.length);e.dispatch(Re(i))}function fr(){return d(new _({key:lr,props:{handlePaste:(e,t)=>{let n=e.state.selection.$from.parent;if(!n.inlineContent||n.type.spec.code)return!1;let r=t.clipboardData?.getData(`text/plain`);if(!r)return!1;let i=ur(r);return i?(dr(e,i),!0):!1}}}))}const pr=(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=p(e.schema,`list`),i=p(e.schema,`paragraph`),a=r.create({kind:`bullet`},i.create()),o=n.after(),s=e.tr.insert(o,a);s.setSelection(y.create(s.doc,o+2)),t(s.scrollIntoView())}return!0};function mr(){return g(c({Enter:pr}),t.high)}const hr={"Mod-b":`Bold`,"Mod-i":`Italic`,"Mod-e":`Inline code`,"Mod-Shift-x":`Strikethrough`,"Mod-1":`Heading 1`,"Mod-2":`Heading 2`,"Mod-3":`Heading 3`,"Mod-4":`Heading 4`,"Mod-5":`Heading 5`,"Mod-6":`Heading 6`},gr=new Set([`MscGen`,`Xù`,`MsGenny`,`Angular Template`,`Brainfuck`,`Esper`,`Oz`,`Factor`,`Squirrel`,`Yacas`,`mIRC`,`FCL`,`ECL`,`MUMPS`,`Pig`,`Asterisk`,`Z80`]),_r=x.map(e=>e.name).filter(e=>!gr.has(e)).map(e=>({label:e,value:e.toLowerCase()})).concat({label:`Plain text`,value:``}).sort((e,t)=>e.label.localeCompare(t.label));function vr(e){let t=new br;return xr(e,t),t.finish()}const yr=[``,`# `,`## `,`### `,`#### `,`##### `,`###### `];var br=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(`
|
|
1
|
+
import{Priority as e,Priority as t,createMarkBuilders as n,createNodeBuilders as r,defineBaseCommands as i,defineBaseKeymap as a,defineCommands as o,defineHistory as s,defineKeymap as c,defineMarkSpec as l,defineMarkView as u,defineNodeAttr as d,definePlugin as f,getMarkRange as p,getMarkType as m,getNodeType as h,isApple as ee,isAtBlockStart as te,isTextSelection as ne,toggleNode as re,union as g,unsetBlockType as ie,withPriority as ae,withPriority as _,withSkipCodeBlock as oe}from"@prosekit/core";import{defineBlockquote as se}from"@prosekit/extensions/blockquote";import{defineCodeBlock as ce,defineCodeBlockHighlight as le}from"@prosekit/extensions/code-block";import{defineDoc as ue}from"@prosekit/extensions/doc";import{defineGapCursor as de}from"@prosekit/extensions/gap-cursor";import{defineHorizontalRule as fe}from"@prosekit/extensions/horizontal-rule";import{defineModClickPrevention as pe}from"@prosekit/extensions/mod-click-prevention";import{defineParagraph as me}from"@prosekit/extensions/paragraph";import{defineText as he}from"@prosekit/extensions/text";import{defineVirtualSelection as ge}from"@prosekit/extensions/virtual-selection";import{Plugin as v,PluginKey as y,TextSelection as b}from"@prosekit/pm/state";import{Decoration as _e,DecorationSet as x}from"@prosekit/pm/view";import{LanguageDescription as ve}from"@codemirror/language";import{languages as S}from"@codemirror/language-data";import{classHighlighter as ye}from"@lezer/highlight";import{createParser as be}from"prosemirror-highlight/lezer";import{defineHeadingCommands as xe,defineHeadingInputRule as Se,defineHeadingSpec as Ce}from"@prosekit/extensions/heading";import{ReplaceStep as we,Step as Te,StepResult as Ee,Transform as De}from"@prosekit/pm/transform";import{Mark as Oe}from"@prosekit/pm/model";import{GFM as ke,parser as Ae}from"@lezer/markdown";import{once as je}from"@ocavue/utils";import{defineList as Me}from"@prosekit/extensions/list";import{defineTableCellSpec as Ne,defineTableCommands as Pe,defineTableDropIndicator as Fe,defineTableEditingPlugin as Ie,defineTableHeaderCellSpec as Le,defineTableRowSpec as Re,defineTableSpec as ze}from"@prosekit/extensions/table";import{closeHistory as C}from"@prosekit/pm/history";import{definePlaceholder as Be}from"@prosekit/extensions/placeholder";import{defineReadonly as Ve}from"@prosekit/extensions/readonly";function w(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 p(i,n)}const He=new Set([`mdMark`,`mdLinkUri`]),Ue=new Set([`mdImageSource`,`mdWikilinkSource`]),We=new y(`mark-mode`);function Ge(e){return new v({key:We,state:{init:()=>e,apply:(e,t)=>t},props:{attributes:{"data-mark-mode":e},decorations:e===`focus`?e=>Ye(e):void 0,clipboardTextSerializer:e===`show`?void 0:Je}})}function Ke(e){return f(Ge(e))}function qe(e){return We.getState(e)}function Je(e){let t=[];return e.content.forEach(e=>{let n=[];e.descendants(e=>!e.isText||!e.text?!0:(!e.marks.some(e=>Ue.has(e.type.name))&&e.marks.some(e=>He.has(e.type.name))||n.push(e.text),!1)),t.push(n.join(``))}),t.join(`
|
|
2
|
+
`)}function Ye(e){let{selection:t}=e;if(!t.empty)return x.empty;let n=t.$head,{parent:r}=n;if(!r.isTextblock||r.type.spec.code)return x.empty;let i=p(n,m(e.schema,`mdPack`));return i?x.create(e.doc,[_e.inline(i.from,i.to,{class:`show`})]):x.empty}function T(e,t){let n=qe(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function E(e,t,n){for(let r of n){let n=w(e,t,r);if(n)return n}}function D(e,t,n){let r=E(e,t,n);return r&&r.to===t?r:void 0}function O(e,t,n){let r=E(e,t,n);return r&&r.from===t?r:void 0}function k(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=E(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function Xe(e,t){return b.create(e.doc,t.from,t.to)}function Ze(e){return(t,n)=>{let r=T(e,t);if(r.length===0||!ne(t.selection))return!1;let i=t.selection;if(i.empty){let e=O(t,i.from,r);if(e)return n?.(t.tr.setSelection(Xe(t,e))),!0;if(D(t,i.from,r)){let e=t.doc.resolve(i.from);return i.from>=e.end()?!1:(n?.(t.tr.setSelection(b.create(t.doc,i.from+1))),!0)}return!1}let a=k(t,r);return a?(n?.(t.tr.setSelection(b.create(t.doc,a.to))),!0):!1}}function Qe(e){return(t,n)=>{let r=T(e,t);if(r.length===0||!ne(t.selection))return!1;let i=t.selection;if(i.empty){let e=D(t,i.from,r);return e?(n?.(t.tr.setSelection(Xe(t,e))),!0):!1}let a=k(t,r);return a?(n?.(t.tr.setSelection(b.create(t.doc,a.from))),!0):!1}}function $e(e){return(t,n)=>{let r=T(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=D(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!O(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function et(e){return(t,n)=>{let r=T(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):!D(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}function tt(e,t){return new v({key:new y(`atomic-mark-selection-${t}`),props:{decorations:n=>{let r=T(e,n);if(r.length===0)return;let i=k(n,r);if(i)return x.create(n.doc,[_e.inline(i.from,i.to,{class:t})])}}})}function nt({marks:e,selectedClass:n}){return g(_(c({ArrowRight:Ze(e),ArrowLeft:Qe(e),Backspace:$e(e),Delete:et(e)}),t.high),f(tt(e,n)))}const A=new Map;async function rt(e){let t=ve.matchLanguageName(S,e,!0);if(!t){A.set(e,null);return}let n=t.support;if(!n)try{n=await t.load()}catch(t){console.error(`[meowdown] Failed to load language "${e}":`,t),A.set(e,null)}if(A.has(e))return;if(!n){A.set(e,null);return}let r=be({parse:e=>n.language.parser.parse(e.content),highlighter:ye});A.set(e,r)}const it=e=>{let t=e.language?.trim();if(!t)return[];let n=A.get(t);return n?n(e):n===null?[]:rt(t)};function at(){return le({parser:it,nodeTypes:[`codeBlock`]})}function ot(){return d({type:`doc`,attr:`frontmatter`,default:null})}function j(e){return oe(re({type:`heading`,attrs:{level:e}}))}const st=(e,t,n)=>te(e,n)?.parent.type.name===`heading`?ie()(e,t,n):!1;function ct(){return c({"Mod-1":j(1),"Mod-2":j(2),"Mod-3":j(3),"Mod-4":j(4),"Mod-5":j(5),"Mod-6":j(6),Backspace:st})}function lt(){return g(Ce(),Se(),xe(),ct())}function ut(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function dt(e,t){let[n,r,i]=t;return[n,r,i.map(t=>Oe.fromJSON(e,t))]}var M=class e extends Te{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return Ee.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 De(e),n.removeMark(i,c,t));for(let t of a)t.isInSet(l)||(n??=new De(e),n.addMark(i,c,t));return!1})}return Ee.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return ft;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 we(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(ut)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>dt(t,e)))}};Te.jsonID(`batchSetMark`,M);const ft=new M([]),pt=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),mt=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function ht(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(!pt.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!mt.test(e))return!1;return!0}function _t(e){return e===32||e===9||e===10||e===13}const vt=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,yt=/[\s(*_~]/;function bt(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function xt(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function St(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&xt(e,t,`)`)>xt(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 Ct={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!bt(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!yt.test(r))return-1;let i=vt.exec(e.slice(n,e.end));if(!i)return-1;let a=St(i[0]);return a===0||!gt(ht(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function wt(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 Tt(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const Et={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(!wt(t))break;i||=Tt(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},Dt={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 Ot(e){return e.end}const N=Ae.configure([ke,Et,Dt,Ct]),kt=N.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:Ot}]});function P(e){return N.parseInline(e,0)}function F(e,t,n=[]){for(let r of e)t(r)&&n.push(r),F(r.children,t,n);return n}function At(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const I=At(N);function jt(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 Mt(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 Nt(){return e=>{let t=e.attrs,n=document.createElement(`span`);n.className=`md-wikilink-view`;let r=document.createElement(`span`);n.appendChild(r);let i=document.createElement(`span`);return i.className=`md-wikilink-label`,i.contentEditable=`false`,i.dataset.testid=`wikilink`,i.textContent=t.display||t.target,n.appendChild(i),{dom:n,contentDOM:r,ignoreMutation:e=>!r.contains(e.target)}}}function Pt(){return u({name:`mdWikilinkView`,constructor:Nt()})}const L=new Map([[I.Emphasis,`mdEm`],[I.StrongEmphasis,`mdStrong`],[I.InlineCode,`mdCode`],[I.Strikethrough,`mdDel`],[I.EmphasisMark,`mdMark`],[I.CodeMark,`mdMark`],[I.LinkMark,`mdMark`],[I.StrikethroughMark,`mdMark`],[I.URL,`mdLinkUri`],[I.Hashtag,`mdTag`],[I.WikilinkMark,`mdMark`]]);function Ft(e,t){let n=P(t),r=[];return R(n,[],0,t.length,t,e,r),r}function It(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(ht(e)))return`https://${e}`}function R(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===I.Link)z(n,t,i,a,o);else if(e===I.Image)Lt(n,t,i,a,o);else if(e===I.Wikilink)B(n,t,i,a,o);else if(e===I.URL){let e=It(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===I.Emphasis?r=`italic`:e===I.StrongEmphasis?r=`bold`:e===I.InlineCode?r=`code`:e===I.Strikethrough?r=`strike`:e===I.Autolink&&(r=`autolink`);let s=r?[...t,a.mdPack.create({key:r})]:t,c=L.get(e),l=c?[...s,a[c].create()]:s;n.children.length===0?V(o,n.from,n.to,l):R(n.children,l,n.from,n.to,i,a,o)}s=n.to}s<r&&V(o,s,r,t)}function z(e,t,n,r,i){let a=-1,o=null,s=0;for(let t of e.children)t.type===I.LinkMark?(s++,s===2&&(a=t.from)):t.type===I.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===I.Wikilink){B(t,e,n,r,i),p=t.to;continue}let a=L.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?V(i,t.from,t.to,o):R(t.children,o,t.from,t.to,n,r,i),p=t.to}p<e.to&&V(i,p,e.to,f)}function Lt(e,t,n,r,i){let a=e.children.find(e=>e.type===I.URL);if(!a){z(e,t,n,r,i);return}let o=e.children.filter(e=>e.type===I.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=L.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):R(t.children,a,t.from,t.to,n,r,i),m=t.to}m<e.to&&V(i,m,e.to,p(m))}function B(e,t,n,r,i){let{target:a,display:o}=Mt(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&&jt(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const Rt=je(()=>{let e=jn().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),zt=je(()=>r(Rt())),H=`meowdown_mark_builders`;function Bt(e){let t=e.cached[H];if(t)return t;let r=n(e);return e.cached[H]=r,r}const U=`inline-marks-applied`,Vt=new WeakMap;let Ht=0,Ut=0;function Wt(e,t,n){let r=Vt.get(e);if(r?Ut++:(Ht++,r=Ft(Bt(n),e.textContent),Vt.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 Gt(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 Kt(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=Wt(t,r+1,e.schema);return i.length>0&&n.push(...i),!1}),n}function qt(){return new v({key:new y(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(U))return null;let r=Kt(n,Gt(e,n));if(r.length===0)return null;let i=n.tr.step(new M(r));return i.setMeta(U,!0),i.setMeta(`addToHistory`,!1),i},view(e){return e.dispatch(Jt(e.state)),{}}})}function Jt(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function Yt(){return f(qt())}function Xt(){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 Zt(){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 Qt(){return l({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function $t(){return l({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function en(){return l({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function tn(){return l({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function nn(){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 rn(){return l({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function an(){return l({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function on(){return l({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function sn(){return l({name:`mdWikilinkSource`,inclusive:!1,attrs:{target:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink-source`},0],parseDOM:[{tag:`span.md-wikilink-source`}]})}function cn(){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 ln(){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 un(){return g(Qt(),$t(),en(),tn(),nn(),rn(),an(),on(),sn(),cn(),Zt(),Xt(),ln())}function dn(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 W={em:{node:I.Emphasis,delim:`*`},strong:{node:I.StrongEmphasis,delim:`**`},code:{node:I.InlineCode,delim:"`"},del:{node:I.Strikethrough,delim:`~~`}},fn=new Set([I.EmphasisMark,I.CodeMark,I.LinkMark,I.StrikethroughMark]);function G(e){return[e.children[0],e.children.at(-1)]}function K(e){let{type:t,children:n}=e;if(t===I.Emphasis||t===I.StrongEmphasis||t===I.Strikethrough)return[n[0].to,n.at(-1).from];if(t===I.Link||t===I.Image){let e=n.find((e,t)=>t>0&&e.type===I.LinkMark);return e?[n[0].to,e.from]:null}return null}function q(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=K(r);return i&&i[0]<=t&&n<=i[1]?q(r.children,t,n):q(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function pn(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return pn(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}const J=e=>e===` `||e===` `;function mn(e,t,n){for(;t<n&&J(e[t]);)t++;for(;n>t&&J(e[n-1]);)n--;return[t,n]}function hn(e,t,n,r){let i=F(P(e),e=>e.type===r.node||fn.has(e.type));for(let r=t;r<n;r++)if(!J(e[r])&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function gn(e,t,n,r,i){let a=P(e),o=F(a,e=>e.type===r.node);return i?yn(e,o,t,n):_n(e,a,o,t,n,r)}function _n(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=q(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]=G(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=vn(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function vn(e,t,n,r,i){if(i.node!==I.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(dn(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function yn(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=G(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=pn(a.children.slice(1,-1),s,c);s>t.to&&J(e[s-1]);)s--;for(;c<o.from&&J(e[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 bn(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=P(e),o=F(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=G(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return xn(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function xn(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=K(n);return!e||t<e[0]||t>e[1]?!0:xn(n.children,t)}return!1}function Y(e){return(t,n)=>{if(t.selection.empty)return Sn(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]=mn(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:hn(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>gn(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 Sn(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=bn(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 Cn(){return o({toggleEm:()=>Y(W.em),toggleStrong:()=>Y(W.strong),toggleCode:()=>Y(W.code),toggleDel:()=>Y(W.del)})}function wn(){return c({"Mod-b":Y(W.strong),"Mod-i":Y(W.em),"Mod-e":Y(W.code),"Mod-Shift-x":Y(W.del)})}function Tn(){return g(Cn(),wn())}function En(){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 Dn(){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 On(){return g(Me(),En(),Dn())}function kn(){return g(ze(),Re(),Ne(),Le(),Ie({allowTableNodeSelection:!0}),Pe(),Fe())}function An(){return g(me(),ue(),ot(),he(),se(),On(),lt(),kn(),ce(),fe(),un(),at(),Yt(),Tn(),Pt(),nt({marks:[{name:`mdImageSource`,modes:[`hide`]},{name:`mdWikilinkSource`,modes:[`hide`,`focus`,`show`]}],selectedClass:`md-atomic-selected`}),a(),i(),s(),de(),ge(),pe())}function jn(){return An()}function Mn(e){let t;return f(new v({key:e.key,props:{handleDOMEvents:{mousedown:e=>{let{from:n,to:r,empty:i}=e.state.selection;return t={from:n,to:r,empty:i},!1}},handleClick:(n,r,i)=>{if(!i.target?.closest?.(e.selector))return!1;let a=e.findHitAt(n.state,r);return!a||!(ee?i.metaKey:i.ctrlKey)&&t?.empty&&t.from>=a.from&&t.to<=a.to?!1:(e.preventDefault&&i.preventDefault(),e.onClick(a.payload,i),!0)}}}))}const Nn=new y(`meowdown-wikilink-click`);function Pn(e,t){let n=w(e,t,`mdWikilinkSource`);if(!n)return;let{target:r}=n.mark.attrs;return{from:n.from,to:n.to,target:r}}function Fn(e){return Mn({key:Nn,selector:`.md-wikilink-label, .md-wikilink-source`,preventDefault:!1,findHitAt:(e,t)=>{let n=Pn(e,t);return n?{from:n.from,to:n.to,payload:n.target}:void 0},onClick:(t,n)=>e({target:t,event:n})})}const In=new y(`meowdown-link-click`);function Ln(e,t){let n=w(e,t,`mdLinkText`);if(n)return{from:n.from,to:n.to,href:n.mark.attrs.href}}function Rn(e){return Mn({key:In,selector:`.md-link`,preventDefault:!0,findHitAt:(e,t)=>{let n=Ln(e,t);return n?{from:n.from,to:n.to,payload:n.href}:void 0},onClick:(t,n)=>e({href:t,event:n})})}function zn(){return typeof window>`u`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}const Bn=/^(?:www\.|mobile\.)?(?:twitter\.com|x\.com)$/i,Vn=/\/status(?:es)?\/(\d+)/;function Hn(e){let t;try{t=new URL(e)}catch{return}if(Bn.test(t.hostname))return Vn.exec(t.pathname)?.[1]}const Un=e=>{let t=Hn(e);if(t)return{key:`tweet:${t}`,render:()=>{let e=zn()?`dark`:`light`,n=document.createElement(`iframe`);return n.src=`https://platform.twitter.com/embed/Tweet.html?id=${t}&theme=${e}&dnt=true`,n.title=`Tweet`,n.className=`md-embed md-embed-tweet`,n.dataset.testid=`tweet-embed`,n.loading=`lazy`,n.referrerPolicy=`strict-origin-when-cross-origin`,n.setAttribute(`frameborder`,`0`),Wn(n),n}}};function Wn(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=new MutationObserver(()=>{e.isConnected||(window.removeEventListener(`message`,t),n.disconnect())});n.observe(document.body,{childList:!0,subtree:!0})}const Gn=/^(?:www\.|m\.)?(?:youtube\.com|youtube-nocookie\.com)$/i,Kn=/^(?:www\.)?youtu\.be$/i,qn=/^[\w-]{11}$/;function Jn(e){let t;try{t=new URL(e)}catch{return}let n=null;if(Kn.test(t.hostname))n=t.pathname.slice(1);else if(Gn.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||!qn.test(n))return;let r=t.searchParams.get(`start`)??t.searchParams.get(`t`),i=r?Yn(r):void 0;return{videoId:n,startSeconds:i}}function Yn(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 Xn=[e=>{let t=Jn(e);if(!t)return;let n=t.startSeconds?`?start=${t.startSeconds}`:``;return{key:`youtube:${t.videoId}:${t.startSeconds??0}`,render:()=>{let e=document.createElement(`iframe`);return e.src=`https://www.youtube-nocookie.com/embed/${t.videoId}${n}`,e.title=`YouTube video`,e.className=`md-embed md-embed-youtube`,e.dataset.testid=`youtube-embed`,e.loading=`lazy`,e.referrerPolicy=`strict-origin-when-cross-origin`,e.setAttribute(`frameborder`,`0`),e.allow=`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen`,e.allowFullscreen=!0,e}}},Un];function Zn(e){for(let t of Xn){let n=t(e);if(n)return n}}function Qn(e){return/^https?:\/\//i.test(e)?e:void 0}function $n(e,t,n){let r=Zn(e);if(r){let e=document.createElement(`span`);return e.className=`md-image-preview md-image-preview-embed`,e.appendChild(r.render()),e}let i=(n.resolveImageUrl??Qn)(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 er(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=$n(n.src,n.alt,e);return a&&(a.contentEditable=`false`,r.appendChild(a)),{dom:r,contentDOM:i,ignoreMutation:e=>!i.contains(e.target)}}}function tr(e){return e?Array.from(e.files).filter(e=>e.type.startsWith(`image/`)):[]}const nr=e=>{console.error(`[meowdown] failed to save pasted image:`,e)};async function rr(e,t,n,r=nr,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 ir(e){return new v({key:new y(`image-input`),props:{handlePaste:(t,n)=>{let r=tr(n.clipboardData),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(rr(t,r,i,a),!0)},handleDrop:(t,n)=>{let r=tr(n.dataTransfer),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(rr(t,r,i,a,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function ar(e={}){return g(u({name:`mdImageView`,constructor:er(e)}),_(f(ir(e)),t.high))}const or=new y(`meowdown-image-click`);function sr(e,t){let n=w(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 cr(e){return f(new v({key:or,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=sr(t.state,t.posAtDOM(a,0));return o?(e({src:o.src,alt:o.alt,event:r}),!0):!1}}}))}const lr=new y(`meowdown-embed-paste`);function ur(e){let t=e.trim();if(!(!t||/\s/.test(t)))return Zn(t)?t:void 0}function dr(e,t){return e.clipboardData?.getData(`text/plain`)||t.content.textBetween(0,t.content.size,`
|
|
3
|
+
`)}function fr(e,t){let{from:n,to:r}=e.state.selection;e.dispatch(C(e.state.tr.insertText(t,n,r)));let i=e.state.tr.insertText(``,n,n+t.length);e.dispatch(C(i))}function pr(){return f(new v({key:lr,props:{handlePaste:(e,t,n)=>{let r=e.state.selection.$from.parent;if(!r.inlineContent||r.type.spec.code)return!1;let i=dr(t,n);if(!i)return!1;let a=ur(i);return a?(fr(e,a),!0):!1}}}))}const mr=(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=h(e.schema,`list`),i=h(e.schema,`paragraph`),a=r.create({kind:`bullet`},i.create()),o=n.after(),s=e.tr.insert(o,a);s.setSelection(b.create(s.doc,o+2)),t(s.scrollIntoView())}return!0};function hr(){return _(c({Enter:mr}),t.high)}const gr={"Mod-b":`Bold`,"Mod-i":`Italic`,"Mod-e":`Inline code`,"Mod-Shift-x":`Strikethrough`,"Mod-1":`Heading 1`,"Mod-2":`Heading 2`,"Mod-3":`Heading 3`,"Mod-4":`Heading 4`,"Mod-5":`Heading 5`,"Mod-6":`Heading 6`},_r=new Set([`MscGen`,`Xù`,`MsGenny`,`Angular Template`,`Brainfuck`,`Esper`,`Oz`,`Factor`,`Squirrel`,`Yacas`,`mIRC`,`FCL`,`ECL`,`MUMPS`,`Pig`,`Asterisk`,`Z80`]),vr=S.map(e=>e.name).filter(e=>!_r.has(e)).map(e=>({label:e,value:e.toLowerCase()})).concat({label:`Plain text`,value:``}).sort((e,t)=>e.label.localeCompare(t.label));function yr(e){let t=new Sr;return br(e.attrs.frontmatter,t),Cr(e,t),t.finish()}function br(e,t){e!==null&&(t.write(`---`),t.write(`
|
|
4
|
+
`),e!==``&&(t.write(e),t.write(`
|
|
5
|
+
`)),t.write(`---`),t.closeBlock())}const xr=[``,`# `,`## `,`### `,`#### `,`##### `,`###### `];var Sr=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(`
|
|
3
6
|
`)){this.parts.push(e);return}let t=e.split(`
|
|
4
7
|
`);for(let e=0;e<t.length;e++)e>0&&this.parts.push(`
|
|
5
8
|
`,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(`
|
|
6
|
-
`),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=i}finish(){return this.parts.join(``).replace(/\s+$/,``)+`
|
|
9
|
+
`),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+$/,``)+`
|
|
7
10
|
`}emitDeferredBlankLine(){let e=this.deferredBlankPrefix;e!==null&&(this.parts.push(e.trimEnd(),`
|
|
8
|
-
`),this.deferredBlankPrefix=null)}};function
|
|
9
|
-
`),t.write(r),t.write(`
|
|
10
|
-
`),t.write(i),t.closeBlock()}function
|
|
11
|
+
`),this.deferredBlankPrefix=null)}};function Cr(e,t){switch(e.type.name){case`doc`:X(e,t);return;case`paragraph`:Er(e,t),t.closeBlock();return;case`heading`:{let n=e.attrs;t.write(xr[n.level]??`# `),Er(e,t),t.closeBlock();return}case`blockquote`:t.withPrefix(`> `,`> `,()=>X(e,t)),t.closeBlock();return;case`list`:Dr(e,t,Tr(e));return;case`codeBlock`:Or(e,t);return;case`horizontalRule`:t.write(`---`),t.closeBlock();return;case`table`:kr(e,t);return;case`text`:e.text&&t.write(e.text);return}}function X(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(),Cr(a,t),i++;continue}let o=i+1;for(;o<r&&e.child(o).type.name===`list`;)o++;let s=wr(e,i,o);for(let r=i;r<o;r++)(r===i?n&&i>0:s)&&t.suppressBlank(),Dr(e.child(r),t,s);i=o}}function wr(e,t,n){for(let r=t;r<n;r++)if(!Tr(e.child(r)))return!1;return!0}function Tr(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 Er(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 Dr(e,t,n){let r=e.attrs,i=r.marker===`*`||r.marker===`+`?r.marker:`-`,a=r.marker===`)`?`)`:`.`,o=r.taskMarker===`X`?`X`:`x`,s=r.kind===`ordered`?`${r.order??1}${a} `:r.kind===`task`?`${i} [${r.checked?o:` `}] `:`${i} `,c=` `.repeat(r.kind===`task`?2:s.length);t.withPrefix(c,s,()=>X(e,t,n)),t.closeBlock()}function Or(e,t){let n=e.attrs.language||``,r=e.textContent,i="`".repeat(dn(r,2)+1);t.write(i),n&&t.write(n),t.write(`
|
|
12
|
+
`),r&&(t.write(r),t.write(`
|
|
13
|
+
`)),t.write(i),t.closeBlock()}function kr(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(jr(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(Ar(s,i)),t.write(`
|
|
11
14
|
`),t.write(o);for(let e=0;e<n;e++)e!==a&&(t.write(`
|
|
12
|
-
`),t.write(
|
|
15
|
+
`),t.write(Ar(r[e],i)));t.closeBlock()}function Ar(e,t){let n=`|`;for(let r=0;r<t;r++)n+=` `+(e[r]??``)+` |`;return n}function jr(e){let t=e.textContent.trim();return!t.includes(`|`)&&!t.includes(`
|
|
13
16
|
`)?t:t.replaceAll(`|`,String.raw`\|`).replaceAll(`
|
|
14
|
-
`,` `)}function
|
|
15
|
-
`).filter(e=>e.trim()!==``)}function
|
|
17
|
+
`,` `)}function Mr(e,t=zt()){let[n,r]=Pr(e),i=r?e.slice(r):e,a=Fr(t,kt.parse(i).cursor(),i);return t.doc({frontmatter:n},a)}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(...Z(e,t,n));while(t.nextSibling());return t.parent(),r}function Z(e,t,n){switch(t.type.id){case I.ATXHeading1:return[Q(e,t,n,1)];case I.ATXHeading2:return[Q(e,t,n,2)];case I.ATXHeading3:return[Q(e,t,n,3)];case I.ATXHeading4:return[Q(e,t,n,4)];case I.ATXHeading5:return[Q(e,t,n,5)];case I.ATXHeading6:return[Q(e,t,n,6)];case I.SetextHeading1:return[Q(e,t,n,1)];case I.SetextHeading2:return[Q(e,t,n,2)];case I.Paragraph:return[$(e,t,n)];case I.HTMLBlock:case I.CommentBlock:case I.ProcessingInstructionBlock:return[$(e,t,n)];case I.Blockquote:return[Ir(e,t,n)];case I.BulletList:return Lr(e,t,n,`bullet`);case I.OrderedList:return Lr(e,t,n,`ordered`);case I.FencedCode:case I.CodeBlock:return[zr(e,t,n)];case I.HorizontalRule:return[e.horizontalRule()];case I.Table:return[Br(e,t,n)];case I.Task:return[$(e,t,n)];default:return n.slice(t.from,t.to).trim()===``?[]:(console.warn(`[meowdown] unsupported lezer block "${t.type.name}"`),[$(e,t,n)])}}function Q(e,t,n,r){let i=t.from,a=t.to;if(t.firstChild()){t.type.id===I.HeaderMark&&(i=t.to);let e=-1,n=-1;do e=t.type.id,n=t.from;while(t.nextSibling());e===I.HeaderMark&&n>i&&(a=n),t.parent()}let o=n.slice(i,a).trim();return e.heading({level:r},o)}function $(e,t,n){let r=t.from,i=t.to;if(t.firstChild()){let a=``,o=r;do t.type.id===I.QuoteMark&&(a+=n.slice(o,t.from),o=t.to,_t(n.charCodeAt(o))&&(o+=1));while(t.nextSibling());return t.parent(),a+=n.slice(o,i),a===``?e.paragraph():e.paragraph(a)}return e.paragraph(n.slice(r,i))}function Ir(e,t,n){let r=[];if(t.firstChild()){do{if(t.type.id===I.QuoteMark)continue;r.push(...Z(e,t,n))}while(t.nextSibling());t.parent()}return e.blockquote(r)}function Lr(e,t,n,r){let i=[];if(t.firstChild()){do t.type.id===I.ListItem&&i.push(Rr(e,t,n,r));while(t.nextSibling());t.parent()}return i}function Rr(e,t,n,r){let i=[],a,o,s,c;if(t.firstChild()){do{if(t.type.id===I.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?`+`:`-`}continue}if(r===`bullet`&&t.type.id===I.Task){let r=t.from,s=t.to;if(a=!1,t.firstChild()){if(t.type.id===I.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()}_t(n.charCodeAt(r))&&(r+=1);let c=n.slice(r,s);i.push(c===``?e.paragraph():e.paragraph(c));continue}i.push(...Z(e,t,n))}while(t.nextSibling());t.parent()}return e.list({kind:a==null?r:`task`,order:r===`ordered`?s??1:null,checked:a??!1,collapsed:!1,marker:c,taskMarker:o},i)}function zr(e,t,n){let r=``,i=``;if(t.firstChild()){do switch(t.type.id){case I.CodeInfo:r=n.slice(t.from,t.to);break;case I.CodeText:i=n.slice(t.from,t.to);break}while(t.nextSibling());t.parent()}return e.codeBlock({language:r},i)}function Br(e,t,n){let r=0;if(t.firstChild()){do t.type.id===I.TableDelimiter&&(r=Vr(n.slice(t.from,t.to)));while(t.nextSibling());t.parent()}let i=[];if(t.firstChild()){do{let a=t.type.id;a===I.TableHeader?i.push(Hr(e,t,n,!0,r)):a===I.TableRow&&i.push(Hr(e,t,n,!1,r))}while(t.nextSibling());t.parent()}return e.table(i)}function Vr(e){return e.split(`|`).filter(e=>e.trim()!==``).length}function Hr(e,t,n,r,i){let a=Array(i).fill(``);if(t.firstChild()){let e=t.type.id===I.TableDelimiter,r=0;do if(t.type.id===I.TableDelimiter)r++;else if(t.type.id===I.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 Ur(e){return e.replace(/\n+$/u,``)}function Wr(e){return e.split(`
|
|
18
|
+
`).filter(e=>e.trim()!==``)}function Gr(e){let t=yr(Mr(e));if(Ur(t)===Ur(e))return`exact`;let n=Wr(e),r=Wr(t);return n.length===r.length&&n.every((e,t)=>e===r[t])?`normalizing`:`lossy`}export{gr as EDITOR_KEY_BINDINGS,e as Priority,Gr as checkRoundTrip,vr as codeBlockLanguages,hr as defineBulletAfterHeading,jn as defineEditorExtension,pr as defineEmbedPaste,ar as defineImage,cr as defineImageClickHandler,Rn as defineLinkClickHandler,Ke as defineMarkMode,Be as definePlaceholder,Ve as defineReadonly,Fn as defineWikilinkClickHandler,yr as docToMarkdown,Mr as markdownToDoc,ae as withPriority};
|
package/dist/style.css
CHANGED
|
@@ -458,10 +458,29 @@ img.ProseMirror-separator {
|
|
|
458
458
|
text-decoration: underline 1px;
|
|
459
459
|
}
|
|
460
460
|
|
|
461
|
-
.ProseMirror
|
|
462
|
-
display:
|
|
461
|
+
.ProseMirror .md-pack {
|
|
462
|
+
display: contents;
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
.ProseMirror[data-mark-mode="hide"] {
|
|
466
|
+
& .md-mark, & .md-link-uri, & .md-image-source, & .md-wikilink-source {
|
|
467
|
+
display: none;
|
|
468
|
+
}
|
|
463
469
|
}
|
|
464
470
|
|
|
465
|
-
.ProseMirror[data-mark-mode="focus"]
|
|
466
|
-
|
|
471
|
+
.ProseMirror[data-mark-mode="focus"] {
|
|
472
|
+
& .md-wikilink-source {
|
|
473
|
+
display: none;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
& .md-mark, & .md-link-uri, & .md-image-source {
|
|
477
|
+
vertical-align: bottom;
|
|
478
|
+
letter-spacing: -2em;
|
|
479
|
+
display: inline-block;
|
|
480
|
+
overflow: hidden;
|
|
481
|
+
|
|
482
|
+
&:has(.show) {
|
|
483
|
+
letter-spacing: 0;
|
|
484
|
+
}
|
|
485
|
+
}
|
|
467
486
|
}
|
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.16.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -33,9 +33,10 @@
|
|
|
33
33
|
"@tsdown/css": "^0.22.3",
|
|
34
34
|
"@vitest/browser-playwright": "^4.1.9",
|
|
35
35
|
"dedent": "^1.7.2",
|
|
36
|
-
"diffable-html-snapshot": "^0.
|
|
36
|
+
"diffable-html-snapshot": "^0.3.0",
|
|
37
37
|
"tsdown": "^0.22.3",
|
|
38
|
-
"vitest": "^4.1.9"
|
|
38
|
+
"vitest": "^4.1.9",
|
|
39
|
+
"@meowdown/vitest": "0.0.0"
|
|
39
40
|
},
|
|
40
41
|
"publishConfig": {
|
|
41
42
|
"access": "public"
|