@meowdown/core 0.17.4 → 0.18.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 +25 -17
- package/dist/index.js +13 -13
- package/dist/style.css +44 -0
- package/package.json +3 -2
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import { Editor, Extension, ExtractNodeBuilders, PlainExtension, Priority, Union
|
|
|
2
2
|
import { CodeBlockAttrs } from "@prosekit/extensions/code-block";
|
|
3
3
|
import { HorizontalRuleExtension } from "@prosekit/extensions/horizontal-rule";
|
|
4
4
|
import { ProseMirrorNode } from "@prosekit/pm/model";
|
|
5
|
-
import { ListExtension } from "@prosekit/extensions/list";
|
|
6
5
|
import { PlaceholderOptions, definePlaceholder } from "@prosekit/extensions/placeholder";
|
|
7
6
|
import { defineReadonly } from "@prosekit/extensions/readonly";
|
|
8
7
|
|
|
@@ -23,6 +22,7 @@ type Frontmatter = string | null;
|
|
|
23
22
|
*
|
|
24
23
|
* For ordered list items, the marker is `.` or `)`.
|
|
25
24
|
* For bullet and task list items, the marker is `-`, `*`, or `+`.
|
|
25
|
+
* For a task list item, the marker `+` renders a circle checkbox, while the other markers render a square checkbox.
|
|
26
26
|
*
|
|
27
27
|
* Defaults to null if unknown.
|
|
28
28
|
*/
|
|
@@ -34,21 +34,6 @@ type ListMarker = '.' | ')' | '-' | '*' | '+' | null;
|
|
|
34
34
|
* serializer emits as the canonical lowercase `x`.
|
|
35
35
|
*/
|
|
36
36
|
type TaskMarker = 'x' | 'X' | null;
|
|
37
|
-
type ListMarkerExtension = Extension<{
|
|
38
|
-
Nodes: {
|
|
39
|
-
list: {
|
|
40
|
-
marker?: ListMarker;
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
|
-
}>;
|
|
44
|
-
type ListTaskMarkerExtension = Extension<{
|
|
45
|
-
Nodes: {
|
|
46
|
-
list: {
|
|
47
|
-
taskMarker?: TaskMarker;
|
|
48
|
-
};
|
|
49
|
-
};
|
|
50
|
-
}>;
|
|
51
|
-
type MeowdownListExtension = Union<[ListExtension, ListMarkerExtension, ListTaskMarkerExtension]>;
|
|
52
37
|
//#endregion
|
|
53
38
|
//#region src/extensions/horizontal-rule.d.ts
|
|
54
39
|
interface MeowdownHorizontalRuleAttrs {
|
|
@@ -110,7 +95,30 @@ declare function defineEditorExtensionImpl(): import("@prosekit/core").Union<rea
|
|
|
110
95
|
frontmatter?: Frontmatter;
|
|
111
96
|
};
|
|
112
97
|
};
|
|
113
|
-
}>, import("@prosekit/extensions/text").TextExtension, import("@prosekit/extensions/blockquote").BlockquoteExtension,
|
|
98
|
+
}>, import("@prosekit/extensions/text").TextExtension, import("@prosekit/extensions/blockquote").BlockquoteExtension, import("@prosekit/core").Union<readonly [import("@prosekit/extensions/list").ListSpecExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/extensions/list").ListCommandsExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").PlainExtension, import("@prosekit/core").Extension<{
|
|
99
|
+
Nodes: {
|
|
100
|
+
list: {
|
|
101
|
+
marker?: ListMarker;
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
}>, import("@prosekit/core").Extension<{
|
|
105
|
+
Nodes: {
|
|
106
|
+
list: {
|
|
107
|
+
taskMarker?: TaskMarker;
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
}>, import("@prosekit/core").Extension<{
|
|
111
|
+
Nodes: {
|
|
112
|
+
list: {
|
|
113
|
+
markerGap?: number;
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
}>, import("@prosekit/core").Extension<{
|
|
117
|
+
Commands: {
|
|
118
|
+
wrapInCircleTask: [];
|
|
119
|
+
wrapInSquareTask: [];
|
|
120
|
+
};
|
|
121
|
+
}>]>, import("@prosekit/core").Union<readonly [import("@prosekit/extensions/heading").HeadingSpecExtension, import("@prosekit/core").Extension<{
|
|
114
122
|
Nodes: {
|
|
115
123
|
heading: import("@prosekit/extensions/heading").HeadingAttrs;
|
|
116
124
|
};
|
package/dist/index.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
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,defineNodeSpec as f,definePlugin as p,getMarkRange as m,getMarkType as ee,getNodeType as
|
|
2
|
-
`)}function tt(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=m(n,ee(e.schema,`mdPack`));return i?x.create(e.doc,[ge.inline(i.from,i.to,{class:`show`})]):x.empty}function C(e,t){let n=$e(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function w(e,t,n){for(let r of n){let n=S(e,t,r);if(n)return n}}function T(e,t,n){let r=w(e,t,n);return r&&r.to===t?r:void 0}function E(e,t,n){let r=w(e,t,n);return r&&r.from===t?r:void 0}function D(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=w(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function nt(e,t){return b.create(e.doc,t.from,t.to)}function rt(e){return(t,n)=>{let r=C(e,t);if(r.length===0||!re(t.selection))return!1;let i=t.selection;if(i.empty){let e=E(t,i.from,r);if(e)return n?.(t.tr.setSelection(nt(t,e))),!0;if(T(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=D(t,r);return a?(n?.(t.tr.setSelection(b.create(t.doc,a.to))),!0):!1}}function it(e){return(t,n)=>{let r=C(e,t);if(r.length===0||!re(t.selection))return!1;let i=t.selection;if(i.empty){let e=T(t,i.from,r);return e?(n?.(t.tr.setSelection(nt(t,e))),!0):!1}let a=D(t,r);return a?(n?.(t.tr.setSelection(b.create(t.doc,a.from))),!0):!1}}function at(e){return(t,n)=>{let r=C(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=T(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!E(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=C(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=E(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!T(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}function st(e,t){return new v({key:new y(`atomic-mark-selection-${t}`),props:{decorations:n=>{let r=C(e,n);if(r.length===0)return;let i=D(n,r);if(i)return x.create(n.doc,[ge.inline(i.from,i.to,{class:t})])}}})}function ct({marks:e,selectedClass:n}){return g(_(c({ArrowRight:rt(e),ArrowLeft:it(e),Backspace:at(e),Delete:ot(e)}),t.high),p(st(e,n)))}const O=new Map;async function lt(e){let t=_e.matchLanguageName(ve,e,!0);if(!t){O.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),O.set(e,null)}if(O.has(e))return;if(!n){O.set(e,null);return}let r=be({parse:e=>n.language.parser.parse(e.content),highlighter:ye});O.set(e,r)}const ut=e=>{let t=e.language?.trim();if(!t)return[];let n=O.get(t);return n?n(e):n===null?[]:lt(t)};function dt(){return ue({parser:ut,nodeTypes:[`codeBlock`]})}function ft(){return d({type:`doc`,attr:`frontmatter`,default:null})}function pt(){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 k(e){return se(ie({type:`heading`,attrs:{level:e}}))}const ht=(e,t,n)=>ne(e,n)?.parent.type.name===`heading`?ae()(e,t,n):!1;function gt(){return c({"Mod-1":k(1),"Mod-2":k(2),"Mod-3":k(3),"Mod-4":k(4),"Mod-5":k(5),"Mod-6":k(6),Backspace:ht})}function _t(){return g(Ce(),pt(),mt(),Se(),xe(),gt())}function vt(){return d({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function yt(){return g(we(),vt())}function bt(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function xt(e,t){let[n,r,i]=t;return[n,r,i.map(t=>ke.fromJSON(e,t))]}var A=class e extends Ee{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return De.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 Oe(e),n.removeMark(i,c,t));for(let t of a)t.isInSet(l)||(n??=new Oe(e),n.addMark(i,c,t));return!1})}return De.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return St;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 Te(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(bt)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>xt(t,e)))}};Ee.jsonID(`batchSetMark`,A);const St=new A([]),Ct=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),wt=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function Tt(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function Et(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!Ct.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!wt.test(e))return!1;return!0}function Dt(e){return e===32||e===9||e===10||e===13}const Ot=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,kt=/[\s(*_~]/;function At(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function jt(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function Mt(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&jt(e,t,`)`)>jt(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 Nt={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!At(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!kt.test(r))return-1;let i=Ot.exec(e.slice(n,e.end));if(!i)return-1;let a=Mt(i[0]);return a===0||!Et(Tt(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function Pt(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 Ft(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const It={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(!Pt(t))break;i||=Ft(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},Lt={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 Rt(e){return e.end}const j=je.configure([Ae,It,Lt,Nt]),zt=j.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:Rt}]});function M(e){return j.parseInline(e,0)}function N(e,t,n=[]){for(let r of e)t(r)&&n.push(r),N(r.children,t,n);return n}function Bt(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const P=Bt(j);function Vt(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 Ht(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 Ut(){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 Wt(){return u({name:`mdWikilinkView`,constructor:Ut()})}const F=new Map([[P.Emphasis,`mdEm`],[P.StrongEmphasis,`mdStrong`],[P.InlineCode,`mdCode`],[P.Strikethrough,`mdDel`],[P.EmphasisMark,`mdMark`],[P.CodeMark,`mdMark`],[P.LinkMark,`mdMark`],[P.StrikethroughMark,`mdMark`],[P.URL,`mdLinkUri`],[P.Hashtag,`mdTag`],[P.WikilinkMark,`mdMark`]]);function Gt(e,t){let n=M(t),r=[];return I(n,[],0,t.length,t,e,r),r}function Kt(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)||Et(Tt(e)))return`https://${e}`}function I(e,t,n,r,i,a,o){let s=n;for(let n of e){n.from>s&&R(o,s,n.from,t);let e=n.type;if(e===P.Link)qt(n,t,i,a,o);else if(e===P.Image)Jt(n,t,i,a,o);else if(e===P.Wikilink)L(n,t,i,a,o);else if(e===P.URL){let e=Kt(i.slice(n.from,n.to)),r=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();R(o,n.from,n.to,[...t,r])}else{let r;e===P.Emphasis?r=`italic`:e===P.StrongEmphasis?r=`bold`:e===P.InlineCode?r=`code`:e===P.Strikethrough?r=`strike`:e===P.Autolink&&(r=`autolink`);let s=r?[...t,a.mdPack.create({key:r})]:t,c=F.get(e),l=c?[...s,a[c].create()]:s;n.children.length===0?R(o,n.from,n.to,l):I(n.children,l,n.from,n.to,i,a,o)}s=n.to}s<r&&R(o,s,r,t)}function qt(e,t,n,r,i){let a=-1,o=null,s=0;for(let t of e.children)t.type===P.LinkMark?(s++,s===2&&(a=t.from)):t.type===P.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;R(i,p,t.from,e)}let e=u(t.from)?[...f,l]:f;if(t.type===P.Wikilink){L(t,e,n,r,i),p=t.to;continue}let a=F.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?R(i,t.from,t.to,o):I(t.children,o,t.from,t.to,n,r,i),p=t.to}p<e.to&&R(i,p,e.to,f)}function Jt(e,t,n,r,i){let a=e.children.find(e=>e.type===P.URL);if(!a){qt(e,t,n,r,i);return}let o=e.children.filter(e=>e.type===P.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&&R(i,m,t.from,p(m));let e=F.get(t.type),a=e?[...p(t.from),r[e].create()]:p(t.from);t.children.length===0?R(i,t.from,t.to,a):I(t.children,a,t.from,t.to,n,r,i),m=t.to}m<e.to&&R(i,m,e.to,p(m))}function L(e,t,n,r,i){let{target:a,display:o}=Ht(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&&R(i,d,t.from,u(d));let e=r.mdMark.create();t.from<l&&t.to>l?(R(i,t.from,l,[...u(t.from),e]),R(i,l,t.to,[...u(l),e])):R(i,t.from,t.to,[...u(t.from),e]),d=t.to}d<e.to&&R(i,d,e.to,u(d))}function R(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&Vt(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const Yt=Me(()=>{let e=Kn().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),Xt=Me(()=>r(Yt())),z=`meowdown_mark_builders`;function Zt(e){let t=e.cached[z];if(t)return t;let r=n(e);return e.cached[z]=r,r}const B=`inline-marks-applied`,Qt=new WeakMap;let $t=0,en=0;function tn(e,t,n){let r=Qt.get(e);if(r?en++:($t++,r=Gt(Zt(n),e.textContent),Qt.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 nn(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 rn(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=tn(t,r+1,e.schema);return i.length>0&&n.push(...i),!1}),n}function an(){return new v({key:new y(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(B))return null;let r=rn(n,nn(e,n));if(r.length===0)return null;let i=n.tr.step(new A(r));return i.setMeta(B,!0),i.setMeta(`addToHistory`,!1),i},view(e){return e.dispatch(on(e.state)),{}}})}function on(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function sn(){return p(an())}function cn(){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 ln(){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 un(){return l({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function dn(){return l({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function fn(){return l({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function pn(){return l({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function mn(){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 hn(){return l({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function gn(){return l({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function _n(){return l({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function vn(){return l({name:`mdWikilinkSource`,inclusive:!1,attrs:{target:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink-source`},0],parseDOM:[{tag:`span.md-wikilink-source`}]})}function yn(){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 bn(){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 xn(){return g(un(),dn(),fn(),pn(),mn(),hn(),gn(),_n(),vn(),yn(),ln(),cn(),bn())}function Sn(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:P.Emphasis,delim:`*`},strong:{node:P.StrongEmphasis,delim:`**`},code:{node:P.InlineCode,delim:"`"},del:{node:P.Strikethrough,delim:`~~`}},Cn=new Set([P.EmphasisMark,P.CodeMark,P.LinkMark,P.StrikethroughMark]);function H(e){return[e.children[0],e.children.at(-1)]}function wn(e){let{type:t,children:n}=e;if(t===P.Emphasis||t===P.StrongEmphasis||t===P.Strikethrough)return[n[0].to,n.at(-1).from];if(t===P.Link||t===P.Image){let e=n.find((e,t)=>t>0&&e.type===P.LinkMark);return e?[n[0].to,e.from]:null}return null}function U(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=wn(r);return i&&i[0]<=t&&n<=i[1]?U(r.children,t,n):U(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function W(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return W(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}const G=e=>e===` `||e===` `;function Tn(e,t,n){for(;t<n&&G(e[t]);)t++;for(;n>t&&G(e[n-1]);)n--;return[t,n]}function En(e,t,n,r){let i=N(M(e),e=>e.type===r.node||Cn.has(e.type));for(let r=t;r<n;r++)if(!G(e[r])&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function Dn(e,t,n,r,i){let a=M(e),o=N(a,e=>e.type===r.node);return i?An(e,o,t,n):On(e,a,o,t,n,r)}function On(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=U(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]=kn(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function kn(e,t,n,r,i){if(i.node!==P.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(Sn(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function An(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]=W(a.children.slice(1,-1),s,c);s>t.to&&G(e[s-1]);)s--;for(;c<o.from&&G(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 jn(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=M(e),o=N(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 Mn(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function Mn(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=wn(n);return!e||t<e[0]||t>e[1]?!0:Mn(n.children,t)}return!1}function K(e){return(t,n)=>{if(t.selection.empty)return Nn(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]=Tn(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:En(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>Dn(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 Nn(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=jn(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 Pn(){return o({toggleEm:()=>K(V.em),toggleStrong:()=>K(V.strong),toggleCode:()=>K(V.code),toggleDel:()=>K(V.del)})}function Fn(){return c({"Mod-b":K(V.strong),"Mod-i":K(V.em),"Mod-e":K(V.code),"Mod-Shift-x":K(V.del)})}function In(){return g(Pn(),Fn())}function Ln(){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 Rn(){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 zn(){return g(Ne(),Ln(),Rn())}function Bn(){return f({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function Vn(){return g(_(Bn(),t.highest),Pe(),Fe())}const Hn=(e,t)=>{let{selection:n}=e;return!We(n)||!n.isColSelection()||!n.isRowSelection()?!1:Ue(e,t)};function Un(){return _(c({Backspace:Hn,Delete:Hn}),t.high)}function Wn(){return g(He(),Ve(),Ie(),Be(),ze({allowTableNodeSelection:!0}),Le(),Re(),Un())}function Gn(){return g(Vn(),de(),ft(),me(),ce(),zn(),_t(),Wn(),le(),yt(),xn(),dt(),sn(),In(),Wt(),ct({marks:[{name:`mdImageSource`,modes:[`hide`]},{name:`mdWikilinkSource`,modes:[`hide`,`focus`,`show`]}],selectedClass:`md-atomic-selected`}),a(),i(),s(),fe(),he(),pe())}function Kn(){return Gn()}function qn(e){let t;return p(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||!(te?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 Jn=new y(`meowdown-wikilink-click`);function Yn(e,t){let n=S(e,t,`mdWikilinkSource`);if(!n)return;let{target:r}=n.mark.attrs;return{from:n.from,to:n.to,target:r}}function Xn(e){return qn({key:Jn,selector:`.md-wikilink-label, .md-wikilink-source`,preventDefault:!1,findHitAt:(e,t)=>{let n=Yn(e,t);return n?{from:n.from,to:n.to,payload:n.target}:void 0},onClick:(t,n)=>e({target:t,event:n})})}const Zn=new y(`meowdown-link-click`);function Qn(e,t){let n=S(e,t,`mdLinkText`);if(n)return{from:n.from,to:n.to,href:n.mark.attrs.href}}function $n(e){return qn({key:Zn,selector:`.md-link`,preventDefault:!0,findHitAt:(e,t)=>{let n=Qn(e,t);return n?{from:n.from,to:n.to,payload:n.href}:void 0},onClick:(t,n)=>e({href:t,event:n})})}function er(){return typeof window>`u`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}const tr=/^(?:www\.|mobile\.)?(?:twitter\.com|x\.com)$/i,nr=/\/status(?:es)?\/(\d+)/;function rr(e){let t;try{t=new URL(e)}catch{return}if(tr.test(t.hostname))return nr.exec(t.pathname)?.[1]}const ir=e=>{let t=rr(e);if(t)return{key:`tweet:${t}`,render:()=>{let e=er()?`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`),ar(n),n}}};function ar(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 or=/^(?:www\.|m\.)?(?:youtube\.com|youtube-nocookie\.com)$/i,sr=/^(?:www\.)?youtu\.be$/i,cr=/^[\w-]{11}$/;function lr(e){let t;try{t=new URL(e)}catch{return}let n=null;if(sr.test(t.hostname))n=t.pathname.slice(1);else if(or.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||!cr.test(n))return;let r=t.searchParams.get(`start`)??t.searchParams.get(`t`),i=r?ur(r):void 0;return{videoId:n,startSeconds:i}}function ur(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 dr=[e=>{let t=lr(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}}},ir];function fr(e){for(let t of dr){let n=t(e);if(n)return n}}function pr(e){return/^https?:\/\//i.test(e)?e:void 0}function mr(e,t,n){let r=fr(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??pr)(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 hr(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=mr(n.src,n.alt,e);return a&&(a.contentEditable=`false`,r.appendChild(a)),{dom:r,contentDOM:i,ignoreMutation:e=>!i.contains(e.target)}}}function gr(e){return e?Array.from(e.files).filter(e=>e.type.startsWith(`image/`)):[]}const _r=e=>{console.error(`[meowdown] failed to save pasted image:`,e)};async function vr(e,t,n,r=_r,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 yr(e){return new v({key:new y(`image-input`),props:{handlePaste:(t,n)=>{let r=gr(n.clipboardData),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(vr(t,r,i,a),!0)},handleDrop:(t,n)=>{let r=gr(n.dataTransfer),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(vr(t,r,i,a,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function br(e={}){return g(u({name:`mdImageView`,constructor:hr(e)}),_(p(yr(e)),t.high))}const xr=new y(`meowdown-image-click`);function Sr(e,t){let n=S(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 p(new v({key:xr,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 wr=new y(`meowdown-embed-paste`);function Tr(e){let t=e.trim();if(!(!t||/\s/.test(t)))return fr(t)?t:void 0}function Er(e,t){return e.clipboardData?.getData(`text/plain`)||t.content.textBetween(0,t.content.size,`
|
|
3
|
-
`)}function
|
|
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,defineNodeSpec as f,definePlugin as p,getMarkRange as m,getMarkType as ee,getNodeType as te,isApple as ne,isAtBlockStart as re,isTextSelection as ie,toggleNode as ae,union as h,unsetBlockType as oe,withPriority as se,withPriority as g,withSkipCodeBlock as ce}from"@prosekit/core";import{defineBlockquote as le}from"@prosekit/extensions/blockquote";import{defineCodeBlock as ue,defineCodeBlockHighlight as de}from"@prosekit/extensions/code-block";import{defineDoc as fe}from"@prosekit/extensions/doc";import{defineGapCursor as pe}from"@prosekit/extensions/gap-cursor";import{defineModClickPrevention as me}from"@prosekit/extensions/mod-click-prevention";import{defineText as he}from"@prosekit/extensions/text";import{defineVirtualSelection as ge}from"@prosekit/extensions/virtual-selection";import{Plugin as _,PluginKey as v,TextSelection as y}from"@prosekit/pm/state";import{Decoration as _e,DecorationSet as b}from"@prosekit/pm/view";import{LanguageDescription as ve}from"@codemirror/language";import{languages as ye}from"@codemirror/language-data";import{classHighlighter as be}from"@lezer/highlight";import{createParser as xe}from"prosemirror-highlight/lezer";import{defineHeadingCommands as Se,defineHeadingInputRule as Ce,defineHeadingSpec as we}from"@prosekit/extensions/heading";import{defineHorizontalRule as Te}from"@prosekit/extensions/horizontal-rule";import{ReplaceStep as Ee,Step as De,StepResult as x,Transform as Oe}from"@prosekit/pm/transform";import{Mark as ke}from"@prosekit/pm/model";import{GFM as Ae,parser as je}from"@lezer/markdown";import{once as Me}from"@ocavue/utils";import{defineInputRule as Ne}from"@prosekit/extensions/input-rule";import{defineListCommands as Pe,defineListDropIndicator as Fe,defineListKeymap as Ie,defineListPlugins as Le,defineListSerializer as Re,defineListSpec as ze,wrapInList as S}from"@prosekit/extensions/list";import{wrappingListInputRule as C}from"prosemirror-flat-list";import{defineParagraphCommands as Be,defineParagraphKeymap as Ve}from"@prosekit/extensions/paragraph";import{defineTableCellSpec as He,defineTableCommands as Ue,defineTableDropIndicator as We,defineTableEditingPlugin as Ge,defineTableHeaderCellSpec as Ke,defineTableRowSpec as qe,defineTableSpec as Je,deleteTable as Ye,isCellSelection as Xe}from"@prosekit/extensions/table";import{closeHistory as Ze}from"@prosekit/pm/history";import{definePlaceholder as Qe}from"@prosekit/extensions/placeholder";import{defineReadonly as $e}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 m(i,n)}const et=new Set([`mdMark`,`mdLinkUri`]),tt=new Set([`mdImageSource`,`mdWikilinkSource`]),nt=new v(`mark-mode`);function rt(e){return new _({key:nt,state:{init:()=>e,apply:(e,t)=>t},props:{attributes:{"data-mark-mode":e},decorations:e===`focus`?e=>st(e):void 0,clipboardTextSerializer:e===`show`?void 0:ot}})}function it(e){return p(rt(e))}function at(e){return nt.getState(e)}function ot(e){let t=[];return e.content.forEach(e=>{let n=[];e.descendants(e=>!e.isText||!e.text?!0:(!e.marks.some(e=>tt.has(e.type.name))&&e.marks.some(e=>et.has(e.type.name))||n.push(e.text),!1)),t.push(n.join(``))}),t.join(`
|
|
2
|
+
`)}function st(e){let{selection:t}=e;if(!t.empty)return b.empty;let n=t.$head,{parent:r}=n;if(!r.isTextblock||r.type.spec.code)return b.empty;let i=m(n,ee(e.schema,`mdPack`));return i?b.create(e.doc,[_e.inline(i.from,i.to,{class:`show`})]):b.empty}function T(e,t){let n=at(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 ct(e,t){return y.create(e.doc,t.from,t.to)}function lt(e){return(t,n)=>{let r=T(e,t);if(r.length===0||!ie(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(ct(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(y.create(t.doc,i.from+1))),!0)}return!1}let a=k(t,r);return a?(n?.(t.tr.setSelection(y.create(t.doc,a.to))),!0):!1}}function ut(e){return(t,n)=>{let r=T(e,t);if(r.length===0||!ie(t.selection))return!1;let i=t.selection;if(i.empty){let e=D(t,i.from,r);return e?(n?.(t.tr.setSelection(ct(t,e))),!0):!1}let a=k(t,r);return a?(n?.(t.tr.setSelection(y.create(t.doc,a.from))),!0):!1}}function dt(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 ft(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 pt(e,t){return new _({key:new v(`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 b.create(n.doc,[_e.inline(i.from,i.to,{class:t})])}}})}function mt({marks:e,selectedClass:n}){return h(g(c({ArrowRight:lt(e),ArrowLeft:ut(e),Backspace:dt(e),Delete:ft(e)}),t.high),p(pt(e,n)))}const A=new Map;async function ht(e){let t=ve.matchLanguageName(ye,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=xe({parse:e=>n.language.parser.parse(e.content),highlighter:be});A.set(e,r)}const gt=e=>{let t=e.language?.trim();if(!t)return[];let n=A.get(t);return n?n(e):n===null?[]:ht(t)};function _t(){return de({parser:gt,nodeTypes:[`codeBlock`]})}function vt(){return d({type:`doc`,attr:`frontmatter`,default:null})}function yt(){return f({name:`heading`,whitespace:`pre`})}function bt(){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 j(e){return ce(ae({type:`heading`,attrs:{level:e}}))}const xt=(e,t,n)=>re(e,n)?.parent.type.name===`heading`?oe()(e,t,n):!1;function St(){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:xt})}function Ct(){return h(we(),yt(),bt(),Ce(),Se(),St())}function wt(){return d({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function Tt(){return h(Te(),wt())}function Et(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=>ke.fromJSON(e,t))]}var M=class e extends De{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return x.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 Oe(e),n.removeMark(i,c,t));for(let t of a)t.isInSet(l)||(n??=new Oe(e),n.addMark(i,c,t));return!1})}return x.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return Ot;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 Ee(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(Et)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>Dt(t,e)))}};De.jsonID(`batchSetMark`,M);const Ot=new M([]),kt=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),At=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function jt(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function Mt(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!kt.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!At.test(e))return!1;return!0}function Nt(e){return e===32||e===9||e===10||e===13}const Pt=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,Ft=/[\s(*_~]/;function It(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function Lt(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function Rt(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&Lt(e,t,`)`)>Lt(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(!It(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!Ft.test(r))return-1;let i=Pt.exec(e.slice(n,e.end));if(!i)return-1;let a=Rt(i[0]);return a===0||!Mt(jt(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function Bt(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 Vt(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const Ht={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(!Bt(t))break;i||=Vt(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},Ut={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 Wt(e){return e.end}const N=je.configure([Ae,Ht,Ut,zt]),Gt=N.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:Wt}]});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 Kt(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const I=Kt(N);function qt(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 Jt(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 Yt(){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 Xt(){return u({name:`mdWikilinkView`,constructor:Yt()})}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 Zt(e,t){let n=P(t),r=[];return R(n,[],0,t.length,t,e,r),r}function Qt(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)||Mt(jt(e)))return`https://${e}`}function R(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===I.Link)$t(n,t,i,a,o);else if(e===I.Image)en(n,t,i,a,o);else if(e===I.Wikilink)z(n,t,i,a,o);else if(e===I.URL){let e=Qt(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===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?B(o,n.from,n.to,l):R(n.children,l,n.from,n.to,i,a,o)}s=n.to}s<r&&B(o,s,r,t)}function $t(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;B(i,p,t.from,e)}let e=u(t.from)?[...f,l]:f;if(t.type===I.Wikilink){z(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?B(i,t.from,t.to,o):R(t.children,o,t.from,t.to,n,r,i),p=t.to}p<e.to&&B(i,p,e.to,f)}function en(e,t,n,r,i){let a=e.children.find(e=>e.type===I.URL);if(!a){$t(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&&B(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?B(i,t.from,t.to,a):R(t.children,a,t.from,t.to,n,r,i),m=t.to}m<e.to&&B(i,m,e.to,p(m))}function z(e,t,n,r,i){let{target:a,display:o}=Jt(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&&qt(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const tn=Me(()=>{let e=fr().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),nn=Me(()=>r(tn())),rn=`meowdown_mark_builders`;function an(e){let t=e.cached[rn];if(t)return t;let r=n(e);return e.cached[rn]=r,r}const on=`inline-marks-applied`,sn=new WeakMap;let cn=0,ln=0;function un(e,t,n){let r=sn.get(e);if(r?ln++:(cn++,r=Zt(an(n),e.textContent),sn.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 dn(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 fn(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=un(t,r+1,e.schema);return i.length>0&&n.push(...i),!1}),n}function pn(){return new _({key:new v(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(on))return null;let r=fn(n,dn(e,n));if(r.length===0)return null;let i=n.tr.step(new M(r));return i.setMeta(on,!0),i.setMeta(`addToHistory`,!1),i},view(e){return e.dispatch(mn(e.state)),{}}})}function mn(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function hn(){return p(pn())}function gn(){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 _n(){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 vn(){return l({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function yn(){return l({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function bn(){return l({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function xn(){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 wn(){return l({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function Tn(){return l({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function En(){return l({name:`mdWikilinkSource`,inclusive:!1,attrs:{target:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink-source`},0],parseDOM:[{tag:`span.md-wikilink-source`}]})}function Dn(){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 On(){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 kn(){return h(vn(),yn(),bn(),xn(),Sn(),Cn(),wn(),Tn(),En(),Dn(),_n(),gn(),On())}function An(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:I.Emphasis,delim:`*`},strong:{node:I.StrongEmphasis,delim:`**`},code:{node:I.InlineCode,delim:"`"},del:{node:I.Strikethrough,delim:`~~`}},jn=new Set([I.EmphasisMark,I.CodeMark,I.LinkMark,I.StrikethroughMark]);function H(e){return[e.children[0],e.children.at(-1)]}function Mn(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 U(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=Mn(r);return i&&i[0]<=t&&n<=i[1]?U(r.children,t,n):U(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function Nn(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return Nn(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}const W=e=>e===` `||e===` `;function Pn(e,t,n){for(;t<n&&W(e[t]);)t++;for(;n>t&&W(e[n-1]);)n--;return[t,n]}function Fn(e,t,n,r){let i=F(P(e),e=>e.type===r.node||jn.has(e.type));for(let r=t;r<n;r++)if(!W(e[r])&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function In(e,t,n,r,i){let a=P(e),o=F(a,e=>e.type===r.node);return i?zn(e,o,t,n):Ln(e,a,o,t,n,r)}function Ln(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=U(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]=Rn(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function Rn(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(An(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function zn(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]=Nn(a.children.slice(1,-1),s,c);s>t.to&&W(e[s-1]);)s--;for(;c<o.from&&W(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]=H(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return Vn(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function Vn(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=Mn(n);return!e||t<e[0]||t>e[1]?!0:Vn(n.children,t)}return!1}function G(e){return(t,n)=>{if(t.selection.empty)return Hn(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]=Pn(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:Fn(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>In(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 Hn(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(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 Un(){return o({toggleEm:()=>G(V.em),toggleStrong:()=>G(V.strong),toggleCode:()=>G(V.code),toggleDel:()=>G(V.del)})}function Wn(){return c({"Mod-b":G(V.strong),"Mod-i":G(V.em),"Mod-e":G(V.code),"Mod-Shift-x":G(V.del)})}function Gn(){return h(Un(),Wn())}function Kn(){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 qn(){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 Jn(e){return e===2||e===3||e===4}function Yn(){return d({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>Jn(e)?[`data-list-marker-gap`,String(e)]:null,parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return Jn(t)?t:1}})}const Xn=[C(/^\s?([*-])\s$/,{kind:`bullet`,collapsed:!1}),C(/^\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}}),C(/^\s?\[([\sXx]?)]\s$/,({match:e})=>({kind:`task`,checked:[`x`,`X`].includes(e[1]),collapsed:!1})),C(/^\s?\+\s$/,{kind:`task`,marker:`+`,checked:!1,collapsed:!1})];function Zn(){return h(Xn.map(Ne))}function Qn(){return S({kind:`task`,marker:`+`})}function $n(){return S({kind:`task`,marker:null})}function er(){return o({wrapInCircleTask:Qn,wrapInSquareTask:$n})}function tr(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 nr(){return(e,t,n)=>{let r=tr(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},S(a)(e,t,n)}}function rr(){return(e,t,n)=>{let r=tr(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},S(a)(e,t,n)}}function ir(){return c({"Mod-Enter":nr(),"Mod-Shift-Enter":rr()})}function ar(){return h(ze(),Le(),Ie(),Pe(),Re(),Fe(),Zn(),ir(),Kn(),qn(),Yn(),er())}function or(){return f({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function sr(){return h(g(or(),t.highest),Be(),Ve())}const cr=(e,t)=>{let{selection:n}=e;return!Xe(n)||!n.isColSelection()||!n.isRowSelection()?!1:Ye(e,t)};function lr(){return g(c({Backspace:cr,Delete:cr}),t.high)}function ur(){return h(Je(),qe(),He(),Ke(),Ge({allowTableNodeSelection:!0}),Ue(),We(),lr())}function dr(){return h(sr(),fe(),vt(),he(),le(),ar(),Ct(),ur(),ue(),Tt(),kn(),_t(),hn(),Gn(),Xt(),mt({marks:[{name:`mdImageSource`,modes:[`hide`]},{name:`mdWikilinkSource`,modes:[`hide`,`focus`,`show`]}],selectedClass:`md-atomic-selected`}),a(),i(),s(),pe(),ge(),me())}function fr(){return dr()}function pr(e){let t;return p(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||!(ne?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 mr=new v(`meowdown-wikilink-click`);function hr(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 gr(e){return pr({key:mr,selector:`.md-wikilink-label, .md-wikilink-source`,preventDefault:!1,findHitAt:(e,t)=>{let n=hr(e,t);return n?{from:n.from,to:n.to,payload:n.target}:void 0},onClick:(t,n)=>e({target:t,event:n})})}const _r=new v(`meowdown-link-click`);function vr(e,t){let n=w(e,t,`mdLinkText`);if(n)return{from:n.from,to:n.to,href:n.mark.attrs.href}}function yr(e){return pr({key:_r,selector:`.md-link`,preventDefault:!0,findHitAt:(e,t)=>{let n=vr(e,t);return n?{from:n.from,to:n.to,payload:n.href}:void 0},onClick:(t,n)=>e({href:t,event:n})})}function br(){return typeof window>`u`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}const xr=/^(?:www\.|mobile\.)?(?:twitter\.com|x\.com)$/i,Sr=/\/status(?:es)?\/(\d+)/;function Cr(e){let t;try{t=new URL(e)}catch{return}if(xr.test(t.hostname))return Sr.exec(t.pathname)?.[1]}const wr=e=>{let t=Cr(e);if(t)return{key:`tweet:${t}`,render:()=>{let e=br()?`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`),Tr(n),n}}};function Tr(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 Er=/^(?:www\.|m\.)?(?:youtube\.com|youtube-nocookie\.com)$/i,Dr=/^(?:www\.)?youtu\.be$/i,Or=/^[\w-]{11}$/;function kr(e){let t;try{t=new URL(e)}catch{return}let n=null;if(Dr.test(t.hostname))n=t.pathname.slice(1);else if(Er.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||!Or.test(n))return;let r=t.searchParams.get(`start`)??t.searchParams.get(`t`),i=r?Ar(r):void 0;return{videoId:n,startSeconds:i}}function Ar(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 jr=[e=>{let t=kr(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}}},wr];function Mr(e){for(let t of jr){let n=t(e);if(n)return n}}function Nr(e){return/^https?:\/\//i.test(e)?e:void 0}function Pr(e,t,n){let r=Mr(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??Nr)(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 Fr(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=Pr(n.src,n.alt,e);return a&&(a.contentEditable=`false`,r.appendChild(a)),{dom:r,contentDOM:i,ignoreMutation:e=>!i.contains(e.target)}}}function Ir(e){return e?Array.from(e.files).filter(e=>e.type.startsWith(`image/`)):[]}const Lr=e=>{console.error(`[meowdown] failed to save pasted image:`,e)};async function Rr(e,t,n,r=Lr,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 zr(e){return new _({key:new v(`image-input`),props:{handlePaste:(t,n)=>{let r=Ir(n.clipboardData),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(Rr(t,r,i,a),!0)},handleDrop:(t,n)=>{let r=Ir(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 Br(e={}){return h(u({name:`mdImageView`,constructor:Fr(e)}),g(p(zr(e)),t.high))}const Vr=new v(`meowdown-image-click`);function Hr(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 Ur(e){return p(new _({key:Vr,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=Hr(t.state,t.posAtDOM(a,0));return o?(e({src:o.src,alt:o.alt,event:r}),!0):!1}}}))}const Wr=new v(`meowdown-embed-paste`);function Gr(e){let t=e.trim();if(!(!t||/\s/.test(t)))return Mr(t)?t:void 0}function Kr(e,t){return e.clipboardData?.getData(`text/plain`)||t.content.textBetween(0,t.content.size,`
|
|
3
|
+
`)}function qr(e,t){let{from:n,to:r}=e.state.selection;e.dispatch(Ze(e.state.tr.insertText(t,n,r)));let i=e.state.tr.insertText(``,n,n+t.length);e.dispatch(Ze(i))}function Jr(){return p(new _({key:Wr,props:{handlePaste:(e,t,n)=>{let r=e.state.selection.$from.parent;if(!r.inlineContent||r.type.spec.code)return!1;let i=Kr(t,n);if(!i)return!1;let a=Gr(i);return a?(qr(e,a),!0):!1}}}))}const Yr=(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(y.create(s.doc,o+2)),t(s.scrollIntoView())}return!0};function Xr(){return g(c({Enter:Yr}),t.high)}const Zr={"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`},Qr=new Set([`MscGen`,`Xù`,`MsGenny`,`Angular Template`,`Brainfuck`,`Esper`,`Oz`,`Factor`,`Squirrel`,`Yacas`,`mIRC`,`FCL`,`ECL`,`MUMPS`,`Pig`,`Asterisk`,`Z80`]),$r=ye.map(e=>e.name).filter(e=>!Qr.has(e)).map(e=>({label:e,value:e.toLowerCase()})).concat({label:`Plain text`,value:``}).sort((e,t)=>e.label.localeCompare(t.label));function ei(e,t={}){let n=new ii;return t.frontmatter&&ti(e.attrs.frontmatter,n),ai(e,n),n.finish()}function ti(e,t){e!==null&&(t.write(`---`),t.write(`
|
|
4
4
|
`),e!==``&&(t.write(e),t.write(`
|
|
5
|
-
`)),t.write(`---`),t.closeBlock())}const
|
|
6
|
-
`+i.repeat(Math.max(1,r))),t.closeBlock();return}t.write(
|
|
5
|
+
`)),t.write(`---`),t.closeBlock())}const ni=[``,`# `,`## `,`### `,`#### `,`##### `,`###### `];function ri(e,t){let n=e.attrs,r=n.setextUnderline;if(r!=null&&e.content.size>0&&n.level<=2){q(e,t);let i=n.level===1?`=`:`-`;t.write(`
|
|
6
|
+
`+i.repeat(Math.max(1,r))),t.closeBlock();return}t.write(ni[n.level]??`# `),q(e,t),t.closeBlock()}var ii=class{constructor(){this.parts=[],this.linePrefix=``,this.pendingFirst=null,this.atLineStart=!0,this.deferredBlankPrefix=null}write(e){if(e===``)return;if(this.emitDeferredBlankLine(),this.atLineStart&&=(this.parts.push(this.pendingFirst??this.linePrefix),this.pendingFirst=null,!1),!e.includes(`
|
|
7
7
|
`)){this.parts.push(e);return}let t=e.split(`
|
|
8
8
|
`);for(let e=0;e<t.length;e++)e>0&&this.parts.push(`
|
|
9
9
|
`,this.linePrefix),t[e]!==``&&this.parts.push(t[e])}closeBlock(){this.atLineStart&&this.pendingFirst!==null&&(this.emitDeferredBlankLine(),this.parts.push(this.pendingFirst.trimEnd()),this.pendingFirst=null,this.atLineStart=!1),this.atLineStart||this.parts.push(`
|
|
10
10
|
`),this.atLineStart=!0,this.deferredBlankPrefix=this.linePrefix}suppressBlank(){this.deferredBlankPrefix=null}withPrefix(e,t,n){let r=this.linePrefix,i=this.pendingFirst;if(this.linePrefix=r+e,t!==null){let e=i??r;this.pendingFirst=e+t}n(),this.linePrefix=r,this.pendingFirst=t===null?i:null}finish(){return this.parts.join(``).replace(/\s+$/,``)+`
|
|
11
11
|
`}emitDeferredBlankLine(){let e=this.deferredBlankPrefix;e!==null&&(this.parts.push(e.trimEnd(),`
|
|
12
|
-
`),this.deferredBlankPrefix=null)}};function
|
|
12
|
+
`),this.deferredBlankPrefix=null)}};function ai(e,t){switch(e.type.name){case`doc`:K(e,t);return;case`paragraph`:q(e,t),t.closeBlock();return;case`heading`:ri(e,t);return;case`blockquote`:t.withPrefix(`> `,`> `,()=>K(e,t)),t.closeBlock();return;case`list`:ci(e,t,si(e));return;case`codeBlock`:li(e,t);return;case`horizontalRule`:{let{marker:n}=e.attrs;t.write(n||`---`),t.closeBlock();return}case`table`:ui(e,t);return;case`text`:e.text&&t.write(e.text);return}}function K(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(),ai(a,t),i++;continue}let o=i+1;for(;o<r&&e.child(o).type.name===`list`;)o++;let s=oi(e,i,o);for(let r=i;r<o;r++)(r===i?n&&i>0:s)&&t.suppressBlank(),ci(e.child(r),t,s);i=o}}function oi(e,t,n){for(let r=t;r<n;r++)if(!si(e.child(r)))return!1;return!0}function si(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 q(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 ci(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,()=>K(e,t,n)),t.closeBlock()}function li(e,t){let n=e.attrs.language||``,r=e.textContent,i="`".repeat(An(r,2)+1);t.write(i),n&&t.write(n),t.write(`
|
|
13
13
|
`),r&&(t.write(r),t.write(`
|
|
14
|
-
`)),t.write(i),t.closeBlock()}function
|
|
14
|
+
`)),t.write(i),t.closeBlock()}function ui(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(di(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(J(s,i)),t.write(`
|
|
15
15
|
`),t.write(o);for(let e=0;e<n;e++)e!==a&&(t.write(`
|
|
16
|
-
`),t.write(
|
|
16
|
+
`),t.write(J(r[e],i)));t.closeBlock()}function J(e,t){let n=`|`;for(let r=0;r<t;r++)n+=` `+(e[r]??``)+` |`;return n}function di(e){let t=e.textContent.trim();return!t.includes(`|`)&&!t.includes(`
|
|
17
17
|
`)?t:t.replaceAll(`|`,String.raw`\|`).replaceAll(`
|
|
18
|
-
`,` `)}function
|
|
19
|
-
`,t-1)+1,r=0;for(let i=n;i<t;i++)r+=e.charCodeAt(i)===9?4-r%4:1;return r}function
|
|
18
|
+
`,` `)}function fi(e,t={}){let{nodes:n=nn(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=mi(e);i=t,n&&(a=e.slice(n))}let o=hi(n,Gt.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const pi=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function mi(e){let t=pi.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function hi(e,t,n){let r=[];if(!t.firstChild())return r;do r.push(...Y(e,t,n));while(t.nextSibling());return t.parent(),r}function Y(e,t,n){switch(t.type.id){case I.ATXHeading1:return[X(e,t,n,1,!1)];case I.ATXHeading2:return[X(e,t,n,2,!1)];case I.ATXHeading3:return[X(e,t,n,3,!1)];case I.ATXHeading4:return[X(e,t,n,4,!1)];case I.ATXHeading5:return[X(e,t,n,5,!1)];case I.ATXHeading6:return[X(e,t,n,6,!1)];case I.SetextHeading1:return[X(e,t,n,1,!0)];case I.SetextHeading2:return[X(e,t,n,2,!0)];case I.Paragraph:return[$(e,t,n)];case I.HTMLBlock:case I.CommentBlock:case I.ProcessingInstructionBlock:return[$(e,t,n)];case I.Blockquote:return[yi(e,t,n)];case I.BulletList:return bi(e,t,n,`bullet`);case I.OrderedList:return bi(e,t,n,`ordered`);case I.FencedCode:case I.CodeBlock:return[Si(e,t,n)];case I.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case I.Table:return[Ci(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 X(e,t,n,r,i){let a=t.from,o=t.from,s=t.to,c=-1,l=-1;if(t.firstChild()){t.type.id===I.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===I.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=vi(n.slice(o,s),Z(n,o)).trim(),d=i?gi(n,c,l)||1:null;return e.heading({level:r,setextUnderline:d},u)}function gi(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 Z(e,t){let n=e.lastIndexOf(`
|
|
19
|
+
`,t-1)+1,r=0;for(let i=n;i<t;i++)r+=e.charCodeAt(i)===9?4-r%4:1;return r}function _i(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 vi(e,t){return t===0||!e.includes(`
|
|
20
20
|
`)?e:e.split(`
|
|
21
|
-
`).map((e,n)=>n===0?e:
|
|
22
|
-
`)}function Q(e,t,n){return e.paragraph(
|
|
23
|
-
`).filter(e=>!
|
|
21
|
+
`).map((e,n)=>n===0?e:_i(e,t)).join(`
|
|
22
|
+
`)}function Q(e,t,n){return e.paragraph(vi(t,n))}function $(e,t,n){let r=t.from,i=t.to,a=Z(n,r);if(t.firstChild()){let o=``,s=r;do t.type.id===I.QuoteMark&&(o+=n.slice(s,t.from),s=t.to,Nt(n.charCodeAt(s))&&(s+=1));while(t.nextSibling());return t.parent(),o+=n.slice(s,i),Q(e,o,a)}return Q(e,n.slice(r,i),a)}function yi(e,t,n){let r=[];if(t.firstChild()){do{if(t.type.id===I.QuoteMark)continue;r.push(...Y(e,t,n))}while(t.nextSibling());t.parent()}return e.blockquote(r)}function bi(e,t,n,r){let i=[];if(t.firstChild()){do t.type.id===I.ListItem&&i.push(xi(e,t,n,r));while(t.nextSibling());t.parent()}return i}function xi(e,t,n,r){let i=[],a,o,s,c,l,u;if(t.firstChild()){do{if(t.type.id!==I.ListMark&&u==null&&(u=Z(n,t.from)),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?`+`:`-`}l=Z(n,t.to);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()}Nt(n.charCodeAt(r))&&(r+=1);let c=n.slice(r,s);i.push(Q(e,c,Z(n,r)));continue}i.push(...Y(e,t,n))}while(t.nextSibling());t.parent()}let d=u!=null&&l!=null?u-l:1;return e.list({kind:a==null?r:`task`,order:r===`ordered`?s??1:null,checked:a??!1,collapsed:!1,marker:c,taskMarker:o,markerGap:d>=2&&d<=4?d:1},i)}function Si(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 Ci(e,t,n){let r=0;if(t.firstChild()){do t.type.id===I.TableDelimiter&&(r=wi(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(Ti(e,t,n,!0,r)):a===I.TableRow&&i.push(Ti(e,t,n,!1,r))}while(t.nextSibling());t.parent()}return e.table(i)}function wi(e){return e.split(`|`).filter(e=>e.trim()!==``).length}function Ti(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 Ei(e){return e.replace(/\n+$/u,``)}function Di(e){return/^[\s>]*$/u.test(e)}function Oi(e){return e.split(`
|
|
23
|
+
`).filter(e=>!Di(e))}function ki(e,t={}){let n=ei(fi(e,{frontmatter:t.frontmatter}),{frontmatter:t.frontmatter});if(Ei(n)===Ei(e))return`exact`;let r=Oi(e),i=Oi(n);return r.length===i.length&&r.every((e,t)=>e.trimEnd()===i[t].trimEnd())?`normalizing`:`lossy`}export{Zr as EDITOR_KEY_BINDINGS,e as Priority,ki as checkRoundTrip,$r as codeBlockLanguages,Xr as defineBulletAfterHeading,fr as defineEditorExtension,Jr as defineEmbedPaste,Br as defineImage,Ur as defineImageClickHandler,yr as defineLinkClickHandler,it as defineMarkMode,Qe as definePlaceholder,$e as defineReadonly,gr as defineWikilinkClickHandler,ei as docToMarkdown,fi as markdownToDoc,se as withPriority};
|
package/dist/style.css
CHANGED
|
@@ -259,6 +259,50 @@ img.ProseMirror-separator {
|
|
|
259
259
|
margin-top: .25em;
|
|
260
260
|
}
|
|
261
261
|
|
|
262
|
+
.ProseMirror .prosemirror-flat-list[data-list-kind="task"] {
|
|
263
|
+
transition: opacity .2s;
|
|
264
|
+
|
|
265
|
+
&[data-list-checked] {
|
|
266
|
+
opacity: .5;
|
|
267
|
+
|
|
268
|
+
& .prosemirror-flat-list[data-list-kind="task"][data-list-checked] {
|
|
269
|
+
opacity: 1;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
& > .list-marker {
|
|
274
|
+
transition: transform .12s;
|
|
275
|
+
|
|
276
|
+
&:hover {
|
|
277
|
+
transform: scale(1.1);
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
& input[type="checkbox"] {
|
|
281
|
+
-webkit-appearance: none;
|
|
282
|
+
appearance: none;
|
|
283
|
+
box-sizing: border-box;
|
|
284
|
+
border: 1.5px solid var(--meowdown-border);
|
|
285
|
+
background: center / 100% 100% no-repeat;
|
|
286
|
+
border-radius: .25rem;
|
|
287
|
+
width: .95rem;
|
|
288
|
+
height: .95rem;
|
|
289
|
+
transition: background-color .15s, border-color .15s;
|
|
290
|
+
|
|
291
|
+
&:checked {
|
|
292
|
+
background-color: var(--meowdown-accent);
|
|
293
|
+
background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
|
|
294
|
+
border-color: #0000;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
&[data-list-marker="+"] > .list-marker input[type="checkbox"] {
|
|
300
|
+
border-radius: 100rem;
|
|
301
|
+
width: 1.05rem;
|
|
302
|
+
height: 1.05rem;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
|
|
262
306
|
.ProseMirror pre {
|
|
263
307
|
background: var(--meowdown-code-bg);
|
|
264
308
|
font-family: var(--meowdown-font-mono);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meowdown/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.18.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -25,8 +25,9 @@
|
|
|
25
25
|
"@lezer/markdown": "^1.6.4",
|
|
26
26
|
"@ocavue/utils": "^1.7.0",
|
|
27
27
|
"@prosekit/core": "^0.13.0-beta.3",
|
|
28
|
-
"@prosekit/extensions": "^0.17.5-beta.
|
|
28
|
+
"@prosekit/extensions": "^0.17.5-beta.7",
|
|
29
29
|
"@prosekit/pm": "^0.1.19-beta.0",
|
|
30
|
+
"prosemirror-flat-list": "^0.6.0",
|
|
30
31
|
"prosemirror-highlight": "^0.15.2"
|
|
31
32
|
},
|
|
32
33
|
"devDependencies": {
|