@meowdown/core 0.26.0 → 0.27.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 +8 -22
- package/dist/index.js +14 -14
- package/dist/style.css +72 -75
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -88,7 +88,7 @@ type HTMLCommentExtension = Extension<{
|
|
|
88
88
|
/**
|
|
89
89
|
* A block-level HTML comment (`<!-- ... -->`) as an invisible, atomic node.
|
|
90
90
|
*
|
|
91
|
-
* Markdown is the source of truth, so a comment must survive a round-trip
|
|
91
|
+
* Markdown is the source of truth, so a comment must survive a round-trip, but
|
|
92
92
|
* a comment is, by definition, not rendered output. Rather than spilling the raw
|
|
93
93
|
* `<!-- ... -->` into a paragraph (where it reads as body text), the parser maps
|
|
94
94
|
* a `CommentBlock` onto this node: the text rides on the `content` attribute and
|
|
@@ -107,21 +107,15 @@ type HTMLCommentExtension = Extension<{
|
|
|
107
107
|
declare function defineHTMLComment(): HTMLCommentExtension;
|
|
108
108
|
//#endregion
|
|
109
109
|
//#region src/extensions/inline-marks.d.ts
|
|
110
|
-
interface
|
|
111
|
-
src: string;
|
|
112
|
-
alt: string;
|
|
113
|
-
}
|
|
114
|
-
interface MdImageSourceAttrs {
|
|
110
|
+
interface MdImageAttrs {
|
|
115
111
|
src: string;
|
|
116
112
|
alt: string;
|
|
113
|
+
title: string;
|
|
117
114
|
}
|
|
118
115
|
interface MdLinkTextAttrs {
|
|
119
116
|
href: string;
|
|
120
117
|
}
|
|
121
|
-
interface
|
|
122
|
-
target: string;
|
|
123
|
-
}
|
|
124
|
-
interface MdWikilinkViewAttrs {
|
|
118
|
+
interface MdWikilinkAttrs {
|
|
125
119
|
target: string;
|
|
126
120
|
display: string;
|
|
127
121
|
}
|
|
@@ -300,19 +294,11 @@ declare function defineEditorExtensionImpl(): import("@prosekit/core").Union<rea
|
|
|
300
294
|
};
|
|
301
295
|
}>, import("@prosekit/core").Extension<{
|
|
302
296
|
Marks: {
|
|
303
|
-
|
|
304
|
-
};
|
|
305
|
-
}>, import("@prosekit/core").Extension<{
|
|
306
|
-
Marks: {
|
|
307
|
-
mdWikilinkView: MdWikilinkViewAttrs;
|
|
308
|
-
};
|
|
309
|
-
}>, import("@prosekit/core").Extension<{
|
|
310
|
-
Marks: {
|
|
311
|
-
mdImageSource: MdImageSourceAttrs;
|
|
297
|
+
mdWikilink: MdWikilinkAttrs;
|
|
312
298
|
};
|
|
313
299
|
}>, import("@prosekit/core").Extension<{
|
|
314
300
|
Marks: {
|
|
315
|
-
|
|
301
|
+
mdImage: MdImageAttrs;
|
|
316
302
|
};
|
|
317
303
|
}>, import("@prosekit/core").Extension<{
|
|
318
304
|
Marks: {
|
|
@@ -601,7 +587,7 @@ type MarkMode = 'hide' | 'focus' | 'show';
|
|
|
601
587
|
declare function defineMarkMode(mode: MarkMode): PlainExtension;
|
|
602
588
|
//#endregion
|
|
603
589
|
//#region src/extensions/mark-names.d.ts
|
|
604
|
-
declare const MARK_NAMES: readonly ["
|
|
590
|
+
declare const MARK_NAMES: readonly ["mdWikilink", "mdImage", "mdMark", "mdEm", "mdStrong", "mdCode", "mdLinkText", "mdLinkUri", "mdLinkTitle", "mdDel", "mdHighlight", "mdTag", "mdPack"];
|
|
605
591
|
type MarkName = (typeof MARK_NAMES)[number];
|
|
606
592
|
//#endregion
|
|
607
593
|
//#region src/extensions/markdown-copy.d.ts
|
|
@@ -653,4 +639,4 @@ declare function defineWikilinkTrigger(): PlainExtension;
|
|
|
653
639
|
*/
|
|
654
640
|
declare function getVirtualElementFromRange(view: EditorView, range: PositionRange): VirtualElement;
|
|
655
641
|
//#endregion
|
|
656
|
-
export { type CheckRoundTripOptions, type CodeBlockAttrs, type CodeToken, type DocToMarkdownOptions, EDITOR_KEY_BINDINGS, type EditorExtension, type EmbedDescriptor, type ExitBoundaryHandler, type ExitBoundaryOptions, type ImageClickHandler, type ImageClickPayload, type ImageOptions, type LinkAttrs, type LinkClickHandler, type LinkClickPayload, type LinkCopyHandler, type LinkCopyPayload, type LinkEditHandler, type LinkEditOptions, type LinkHoverHandler, type LinkUnit, type MarkChunk, type MarkMode, type MarkName, type MarkdownToDocOptions, type
|
|
642
|
+
export { type CheckRoundTripOptions, type CodeBlockAttrs, type CodeToken, type DocToMarkdownOptions, EDITOR_KEY_BINDINGS, type EditorExtension, type EmbedDescriptor, type ExitBoundaryHandler, type ExitBoundaryOptions, type ImageClickHandler, type ImageClickPayload, type ImageOptions, type LinkAttrs, type LinkClickHandler, type LinkClickPayload, type LinkCopyHandler, type LinkCopyPayload, type LinkEditHandler, type LinkEditOptions, type LinkHoverHandler, type LinkUnit, type MarkChunk, type MarkMode, type MarkName, type MarkdownToDocOptions, type MdImageAttrs, type MdLinkTextAttrs, type MdWikilinkAttrs, type MeowdownHTMLCommentAttrs, type NodeName, type PlaceholderOptions, type PositionRange, Priority, type RoundTripFidelity, type TagClickHandler, type TagClickPayload, type TypedEditor, type TypedMarkBuilders, type VirtualElement, type WikilinkClickHandler, type WikilinkClickPayload, checkRoundTrip, codeBlockLanguages, defaultResolveImageUrl, defineBulletAfterHeading, defineCodeBlockSyntaxHighlight, defineEditorExtension, defineEmbedPaste, defineExitBoundaryHandler, defineHTMLComment, defineHTMLPaste, defineImage, defineImageClickHandler, defineLinkClickHandler, defineLinkCommands, defineLinkEditKeymap, defineLinkHoverHandler, defineMarkMode, defineMarkdownCopy, definePlaceholder, defineReadonly, defineTagClickHandler, defineWikilinkClickHandler, defineWikilinkTrigger, docToMarkdown, getCodeTokens, getLinkUnitAt, getMarkBuilders, getVirtualElementFromRange, inlineTextToMarkChunks, insertLink, listenForTweetHeight, markdownToDoc, matchEmbed, removeLink, updateLink, withPriority };
|
package/dist/index.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import{Priority as e,Priority as t,createMarkBuilders as n,createNodeBuilders as r,defineBaseCommands as i,defineBaseKeymap as a,defineCommands as o,defineDOMEventHandler as s,defineHistory as c,defineKeymap as l,defineMarkSpec as u,defineMarkView as d,defineNodeAttr as f,defineNodeSpec as p,definePlugin as m,getMarkRange as h,getMarkType as ee,getNodeType as te,isAllSelection as ne,isAtBlockStart as re,isTextSelection as g,toggleNode as ie,union as _,unsetBlockType as ae,withPriority as oe,withPriority as v,withSkipCodeBlock as se}from"@prosekit/core";import{definePlaceholder as ce}from"@prosekit/extensions/placeholder";import{defineReadonly as le}from"@prosekit/extensions/readonly";import{isElementLike as ue,once as y}from"@ocavue/utils";import{defineBlockquote as de}from"@prosekit/extensions/blockquote";import{defineCodeBlock as fe,defineCodeBlockHighlight as pe}from"@prosekit/extensions/code-block";import{defineDoc as me}from"@prosekit/extensions/doc";import{defineGapCursor as he}from"@prosekit/extensions/gap-cursor";import{defineModClickPrevention as ge}from"@prosekit/extensions/mod-click-prevention";import{defineText as _e}from"@prosekit/extensions/text";import{defineVirtualSelection as ve}from"@prosekit/extensions/virtual-selection";import{Plugin as b,PluginKey as x,Selection as ye,TextSelection as S}from"@prosekit/pm/state";import{Decoration as
|
|
2
|
-
`)}function gt(e){let{selection:t}=e;if(!t.empty)return C.empty;let n=t.$head,{parent:r}=n;if(!r.isTextblock||r.type.spec.code)return C.empty;let i=h(n,ee(e.schema,`mdPack`));return i?C.create(e.doc,[be.inline(i.from,i.to,{class:`show`})]):C.empty}function D(e,t){let n=mt(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function _t(e,t,n){for(let r of n){let n=E(e,t,r);if(n)return n}}function O(e,t,n){let r=_t(e,t,n);return r&&r.to===t?r:void 0}function k(e,t,n){let r=_t(e,t,n);return r&&r.from===t?r:void 0}function A(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=_t(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function vt(e,t){return S.create(e.doc,t.from,t.to)}function yt(e){return(t,n)=>{let r=D(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=k(t,i.from,r);if(e)return n?.(t.tr.setSelection(vt(t,e))),!0;if(O(t,i.from,r)){let e=t.doc.resolve(i.from);return i.from>=e.end()?!1:(n?.(t.tr.setSelection(S.create(t.doc,i.from+1))),!0)}return!1}let a=A(t,r);return a?(n?.(t.tr.setSelection(S.create(t.doc,a.to))),!0):!1}}function bt(e){return(t,n)=>{let r=D(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=O(t,i.from,r);return e?(n?.(t.tr.setSelection(vt(t,e))),!0):!1}let a=A(t,r);return a?(n?.(t.tr.setSelection(S.create(t.doc,a.from))),!0):!1}}function xt(e){return(t,n)=>{let r=D(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=O(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!k(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function St(e){return(t,n)=>{let r=D(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=k(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!O(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}function Ct(e,t){return new b({key:new x(`atomic-mark-selection-${t}`),props:{decorations:n=>{let r=D(e,n);if(r.length===0)return;let i=A(n,r);if(i)return C.create(n.doc,[be.inline(i.from,i.to,{class:t})])}}})}function wt({marks:e,selectedClass:n}){return _(v(l({ArrowRight:yt(e),ArrowLeft:bt(e),Backspace:xt(e),Delete:St(e)}),t.high),m(Ct(e,n)))}const j=new Map,Tt=new Map;async function Et(e){let t=j.get(e);if(t!==void 0)return t;let n=xe.matchLanguageName(Se,e,!0);if(!n)return j.set(e,null),null;let r=n.support;if(!r)try{r=await n.load()}catch(t){return console.error(`[meowdown] Failed to load language "${e}":`,t),j.set(e,null),null}return j.set(e,r),r}function Dt(e,t){let n=Tt.get(e);if(n)return n;let r=Te({parse:e=>t.language.parser.parse(e.content),highlighter:Ce});return Tt.set(e,r),r}const Ot=e=>{let t=e.language?.trim();if(!t)return[];let n=j.get(t);return n===null?[]:n?Dt(t,n)(e):Et(t).then(()=>void 0)};function kt(){return pe({parser:Ot,nodeTypes:[`codeBlock`]})}function At(e,t){let n=t.language.parser.parse(e),r=[];return we(n,Ce,(e,t,n)=>{r.push([e,t,n])}),r}function jt(e,t){let n=t.trim();if(!n)return[];let r=j.get(n);return r===null?[]:r?At(e,r):Et(n).then(t=>t?At(e,t):[])}function Mt(e,t){return(n,r)=>{if(r){let i=S.create(n.doc,e,t);r(n.tr.setSelection(i))}return!0}}function Nt(e,t,n){return(r,i)=>{if(i){let a=S.between(e,t,n);i(r.tr.setSelection(a))}return!0}}function Pt(){return o({selectText:Mt,selectTextBetween:Nt})}function Ft(){return f({type:`doc`,attr:`frontmatter`,default:null})}function It(){return p({name:`heading`,whitespace:`pre`})}function Lt(){return f({type:`heading`,attr:`setextUnderline`,default:null,toDOM:e=>e==null?null:[`data-setext-underline`,String(e)],parseDOM:e=>{let t=e.getAttribute(`data-setext-underline`);if(t==null)return null;let n=Number.parseInt(t,10);return Number.isSafeInteger(n)&&n>0?n:null}})}function M(e){return se(ie({type:`heading`,attrs:{level:e}}))}const Rt=(e,t,n)=>re(e,n)?.parent.type.name===`heading`?ae()(e,t,n):!1;function zt(){return l({"Mod-1":M(1),"Mod-2":M(2),"Mod-3":M(3),"Mod-4":M(4),"Mod-5":M(5),"Mod-6":M(6),Backspace:Rt})}function Bt(){return _(Oe(),It(),Lt(),De(),Ee(),zt())}function Vt(){return f({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function Ht(){return _(ke(),Vt())}function Ut(){return p({name:`htmlComment`,group:`block`,atom:!0,selectable:!1,attrs:{content:{default:``}},toDOM:e=>[`div`,{"data-html-comment":e.attrs.content,style:`display: none`}],parseDOM:[{tag:`div[data-html-comment]`,getAttrs:e=>({content:e.getAttribute(`data-html-comment`)??``})}]})}function Wt(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function Gt(e,t){let[n,r,i]=t;return[n,r,i.map(t=>Fe.fromJSON(e,t))]}var N=class e extends je{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return Me.ok(e);let t=e.content.size,n;for(let[r,i,a]of this.chunks){if(r>=i)continue;let o=Math.max(0,Math.min(r,t)),s=Math.max(o,Math.min(i,t));o>=s||e.nodesBetween(o,s,(t,r)=>{if(!t.isText)return!0;let i=Math.max(o,r),c=Math.min(s,r+t.nodeSize);if(i>=c)return!1;let l=t.marks;for(let t of l)t.isInSet(a)||(n??=new Ne(e),n.removeMark(i,c,t));for(let t of a)t.isInSet(l)||(n??=new Ne(e),n.addMark(i,c,t));return!1})}return Me.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return Kt;let t=this.chunks[0][0],n=this.chunks[0][1];for(let[,e]of this.chunks)e>n&&(n=e);let r=e.content.size,i=Math.max(0,Math.min(t,r)),a=Math.max(i,Math.min(n,r));return new Ae(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(Wt)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>Gt(t,e)))}};je.jsonID(`batchSetMark`,N);const Kt=new N([]),qt=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),Jt=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function Yt(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function Xt(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!qt.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!Jt.test(e))return!1;return!0}function P(e){return e===32||e===9||e===10||e===13}const Zt=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,Qt=/[\s(*_~]/;function $t(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function en(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function tn(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&en(e,t,`)`)>en(e,t,`(`))t--;else if(n===`;`){let n=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(0,t));if(!n)break;t=n.index}else break}return t}const nn={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!$t(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!Qt.test(r))return-1;let i=Zt.exec(e.slice(n,e.end));if(!i)return-1;let a=tn(i[0]);return a===0||!Xt(Yt(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function rn(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45||e===95||e>127&&/[\p{L}\p{N}]/u.test(String.fromCharCode(e))}function an(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const on={defineNodes:[{name:`Hashtag`}],parseInline:[{name:`Hashtag`,parse(e,t,n){if(t!==35||!/\s|^$/.test(e.slice(n-1,n)))return-1;let r=n+1,i=!1;for(;r<e.end;){let t=e.char(r);if(!rn(t))break;i||=an(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},sn={resolve:`Highlight`,mark:`HighlightMark`},cn=/[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~\u{A1}\u{2010}-\u{2027}]/u,ln={defineNodes:[{name:`Highlight`},{name:`HighlightMark`}],parseInline:[{name:`Highlight`,after:`Emphasis`,parse(e,t,n){if(t!==61||e.char(n+1)!==61||e.char(n+2)===61)return-1;let r=e.slice(n-1,n),i=e.slice(n+2,n+3),a=/\s|^$/.test(r),o=/\s|^$/.test(i),s=cn.test(r),c=cn.test(i);return e.addDelimiter(sn,n,n+2,!o&&(!c||a||s),!a&&(!s||o||c))}}]},un={defineNodes:[{name:`Wikilink`},{name:`WikilinkMark`}],parseInline:[{name:`Wikilink`,before:`Link`,parse(e,t,n){if(t!==91||e.char(n+1)!==91)return-1;let r=!1;for(let t=n+2;t<e.end-1;t++){let i=e.char(t);if(i===93){if(e.char(t+1)!==93||!r)return-1;let i=t+2;return e.addElement(e.elt(`Wikilink`,n,i,[e.elt(`WikilinkMark`,n,n+2),e.elt(`WikilinkMark`,t,i)]))}if(i===91||i===10)return-1;i!==32&&i!==9&&(r=!0)}return-1}}]};function dn(e){return e.end}const F=Le.configure([Ie,on,un,nn,ln]),fn=F.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:dn}]});function I(e){return F.parseInline(e,0)}function L(e,t,n=[]){for(let r of e)t(r)&&n.push(r),L(r.children,t,n);return n}function pn(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const R=pn(F);function mn(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}function hn(e){let t=e.replace(/^\[\[/,``).replace(/\]\]$/,``),n=t.indexOf(`|`);return n<0?{target:t.trim(),display:``}:{target:t.slice(0,n).trim(),display:t.slice(n+1).trim()}}function gn(){return e=>{let t=e.attrs,n=document.createElement(`span`);n.className=`md-wikilink-view`;let r=document.createElement(`span`);r.className=`md-wikilink-label`,r.contentEditable=`false`,r.dataset.testid=`wikilink`,r.textContent=t.display||t.target,n.appendChild(r);let i=document.createElement(`span`);return i.className=`md-wikilink-view-content`,n.appendChild(i),{dom:n,contentDOM:i,ignoreMutation:e=>!i.contains(e.target)}}}function _n(){return d({name:`mdWikilinkView`,constructor:gn()})}const vn=new Map([[R.Emphasis,`mdEm`],[R.StrongEmphasis,`mdStrong`],[R.InlineCode,`mdCode`],[R.Strikethrough,`mdDel`],[R.Highlight,`mdHighlight`],[R.EmphasisMark,`mdMark`],[R.CodeMark,`mdMark`],[R.LinkMark,`mdMark`],[R.StrikethroughMark,`mdMark`],[R.HighlightMark,`mdMark`],[R.URL,`mdLinkUri`],[R.LinkTitle,`mdLinkTitle`],[R.Hashtag,`mdTag`],[R.WikilinkMark,`mdMark`]]);function yn(e,t){let n=I(t),r=[];return z(n,[],0,t.length,t,e,r),r}function bn(e){if(/^[a-z][a-z0-9+.-]*:/i.test(e))return e;if(/^[^\s@]+@[^\s@]+$/.test(e))return`mailto:${e}`;if(/^www\./i.test(e)||Xt(Yt(e)))return`https://${e}`}function xn(e){return e.slice(1,-1).replaceAll(/\\(.)/g,`$1`)}function z(e,t,n,r,i,a,o){let s=n;for(let n of e){n.from>s&&B(o,s,n.from,t);let e=n.type;if(e===R.Link)Sn(n,t,i,a,o);else if(e===R.Image)Cn(n,t,i,a,o);else if(e===R.Wikilink)wn(n,t,i,a,o);else if(e===R.URL){let e=bn(i.slice(n.from,n.to)),r=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();B(o,n.from,n.to,[...t,r])}else{let r;e===R.Emphasis?r=`italic`:e===R.StrongEmphasis?r=`bold`:e===R.InlineCode?r=`code`:e===R.Strikethrough?r=`strike`:e===R.Highlight?r=`highlight`:e===R.Autolink&&(r=`autolink`);let s=r?[...t,a.mdPack.create({key:r})]:t,c=vn.get(e),l=c?[...s,a[c].create()]:s;n.children.length===0?B(o,n.from,n.to,l):z(n.children,l,n.from,n.to,i,a,o)}s=n.to}s<r&&B(o,s,r,t)}function Sn(e,t,n,r,i){let a=-1,o=null,s=null,c=0;for(let t of e.children)t.type===R.LinkMark?(c++,c===2&&(a=t.from)):t.type===R.URL&&o===null?o=t:t.type===R.LinkTitle&&s===null&&(s=t);let l=o?n.slice(o.from,o.to):``,u=s?xn(n.slice(s.from,s.to)):``,d=l?r.mdLinkText.create({href:l}):null,f=e=>a>=0&&e<a&&d!==null,p=r.mdPack.create({key:`link`,data:{href:l,title:u}}),m=[...t,p],h=e.from;for(let t of e.children){if(t.from>h){let e=f(h)?[...m,d]:m;B(i,h,t.from,e)}let e=f(t.from)?[...m,d]:m;if(t.type===R.Wikilink){wn(t,e,n,r,i),h=t.to;continue}let a=vn.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?B(i,t.from,t.to,o):z(t.children,o,t.from,t.to,n,r,i),h=t.to}h<e.to&&B(i,h,e.to,m)}function Cn(e,t,n,r,i){let a=e.children.find(e=>e.type===R.URL);if(!a){Sn(e,t,n,r,i);return}let o=e.children.filter(e=>e.type===R.LinkMark),s=n.slice(a.from,a.to),c=o.length>=2?n.slice(o[0].to,o[1].from):``,l=r.mdImageSource.create({src:s,alt:c}),u=r.mdImageView.create({src:s,alt:c}),d=r.mdPack.create({key:`image`,data:{src:s}}),f=e.to-1,p=e=>e>=f?[...t,d,l,u]:[...t,d,l],m=e.from;for(let t of e.children){t.from>m&&B(i,m,t.from,p(m));let e=vn.get(t.type),a=e?[...p(t.from),r[e].create()]:p(t.from);t.children.length===0?B(i,t.from,t.to,a):z(t.children,a,t.from,t.to,n,r,i),m=t.to}m<e.to&&B(i,m,e.to,p(m))}function wn(e,t,n,r,i){let{target:a,display:o}=hn(n.slice(e.from,e.to)),s=r.mdWikilinkSource.create({target:a}),c=r.mdWikilinkView.create({target:a,display:o}),l=e.to-1,u=e=>e>=l?[...t,s,c]:[...t,s],d=e.from;for(let t of e.children){t.from>d&&B(i,d,t.from,u(d));let e=r.mdMark.create();t.from<l&&t.to>l?(B(i,t.from,l,[...u(t.from),e]),B(i,l,t.to,[...u(l),e])):B(i,t.from,t.to,[...u(t.from),e]),d=t.to}d<e.to&&B(i,d,e.to,u(d))}function B(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&mn(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const Tn=`inline-marks-applied`,En=new WeakMap;let Dn=0,On=0;function kn(e,t,n){let r=En.get(e);if(r?On++:(Dn++,r=yn(Yr(n),e.textContent),En.set(e,r)),t===0)return r;let i=[];for(let[e,n,a]of r)i.push([e+t,n+t,a]);return i}function An(e,t){let n=1/0,r=-1/0;for(let t of e)for(let e of t.mapping.maps)e.forEach((e,t,i,a)=>{i<n&&(n=i),a>r&&(r=a)});let i=t.doc.content.size;return n>r?{from:0,to:i}:{from:Math.max(0,n),to:Math.min(i,r)}}function jn(e,t){let n=[];return e.doc.nodesBetween(t.from,t.to,(t,r)=>{if(t.type.spec.code)return!1;if(!t.isTextblock)return!0;if(t.childCount===0)return!1;let i=kn(t,r+1,e.schema);return i.length>0&&n.push(...i),!1}),n}function Mn(){return new b({key:new x(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(Tn))return null;let r=jn(n,An(e,n));if(r.length===0)return null;let i=n.tr.step(new N(r));return i.setMeta(Tn,!0),i.setMeta(`addToHistory`,!1),i},view(e){return e.dispatch(Nn(e.state)),{}}})}function Nn(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function Pn(){return m(Mn())}function Fn(){return u({name:`mdImageView`,inclusive:!1,attrs:{src:{default:``},alt:{default:``}},toDOM:()=>[`span`,{class:`md-image-anchor`},0],parseDOM:[{tag:`span.md-image-anchor`}]})}function In(){return u({name:`mdImageSource`,inclusive:!1,attrs:{src:{default:``},alt:{default:``}},toDOM:()=>[`span`,{class:`md-image-source`},0],parseDOM:[{tag:`span.md-image-source`}]})}function Ln(){return u({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function Rn(){return u({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function zn(){return u({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function Bn(){return u({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function Vn(){return u({name:`mdLinkText`,inclusive:!1,attrs:{href:{default:``}},toDOM:e=>[`a`,{class:`md-link`,href:e.attrs.href},0],parseDOM:[{tag:`a`,getAttrs:e=>({href:e.getAttribute(`href`)??``})}]})}function Hn(){return u({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function Un(){return u({name:`mdLinkTitle`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-title`},0],parseDOM:[{tag:`span.md-link-title`}]})}function Wn(){return u({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function Gn(){return u({name:`mdHighlight`,toDOM:()=>[`mark`,0],parseDOM:[{tag:`mark`}]})}function Kn(){return u({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function qn(){return u({name:`mdWikilinkSource`,inclusive:!1,attrs:{target:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink-source`},0],parseDOM:[{tag:`span.md-wikilink-source`}]})}function Jn(){return u({name:`mdWikilinkView`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink-anchor`},0],parseDOM:[{tag:`span.md-wikilink-anchor`}]})}function Yn(){return u({name:`mdPack`,excludes:``,inclusive:!1,attrs:{key:{},data:{default:null}},toDOM:e=>[`span`,{class:`md-pack`,"data-key":e.attrs.key},0],parseDOM:[{tag:`span.md-pack`}]})}function Xn(){return _(Ln(),Rn(),zn(),Bn(),Vn(),Hn(),Un(),Wn(),Gn(),Kn(),qn(),Jn(),In(),Fn(),Yn())}function Zn(e,t=0){let n=t,r=0;for(let t=0;t<e.length;t++)e.charCodeAt(t)===96?(r++,r>n&&(n=r)):r=0;return n}const V={em:{node:R.Emphasis,delim:`*`},strong:{node:R.StrongEmphasis,delim:`**`},code:{node:R.InlineCode,delim:"`"},del:{node:R.Strikethrough,delim:`~~`},highlight:{node:R.Highlight,delim:`==`}},Qn=new Set([R.EmphasisMark,R.CodeMark,R.LinkMark,R.StrikethroughMark,R.HighlightMark]);function H(e){return[e.children[0],e.children.at(-1)]}function $n(e){let{type:t,children:n}=e;if(t===R.Emphasis||t===R.StrongEmphasis||t===R.Strikethrough||t===R.Highlight)return[n[0].to,n.at(-1).from];if(t===R.Link||t===R.Image){let e=n.find((e,t)=>t>0&&e.type===R.LinkMark);return e?[n[0].to,e.from]:null}return null}function er(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=$n(r);return i&&i[0]<=t&&n<=i[1]?er(r.children,t,n):er(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function tr(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return tr(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}function nr(e,t,n){for(;t<n&&P(e.charCodeAt(t));)t++;for(;n>t&&P(e.charCodeAt(n-1));)n--;return[t,n]}function rr(e,t,n,r){let i=L(I(e),e=>e.type===r.node||Qn.has(e.type));for(let r=t;r<n;r++)if(!P(e.charCodeAt(r))&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function ir(e,t,n,r,i){let a=I(e),o=L(a,e=>e.type===r.node);return i?sr(e,o,t,n):ar(e,a,o,t,n,r)}function ar(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=er(t,r,i);for(let e of n)e.to===r&&(r=e.from),e.from===i&&(i=e.to)}let o=[];for(let e of n)if(r<=e.from&&e.to<=i){let[t,n]=H(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=or(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function or(e,t,n,r,i){if(i.node!==R.InlineCode)return[i.delim,i.delim];let a=e.slice(t,n);for(let e of[...r].sort((e,t)=>t.from-e.from))a=a.slice(0,e.from-t)+a.slice(e.to-t);let o="`".repeat(Zn(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function sr(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=H(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=tr(a.children.slice(1,-1),s,c);s>t.to&&P(e.charCodeAt(s-1));)s--;for(;c<o.from&&P(e.charCodeAt(c));)c++;s>t.to?i.push({from:s,to:s,insert:e.slice(o.from,o.to)}):i.push({from:t.from,to:t.to,insert:``}),c<o.from?i.push({from:c,to:c,insert:e.slice(t.from,t.to)}):i.push({from:o.from,to:o.to,insert:``})}return i}function cr(e,t,n){let{delim:r}=n,i=r.length;if(e.slice(t-i,t)===r&&e.startsWith(r,t)&&e[t-i-1]!==r[0]&&e[t+i]!==r[0])return{kind:`unwrap`,from:t-i,to:t+i};let a=I(e),o=L(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=H(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return lr(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function lr(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=$n(n);return!e||t<e[0]||t>e[1]?!0:lr(n.children,t)}return!1}function U(e){return(t,n)=>{if(t.selection.empty)return ur(e,t,n);let{from:r,to:i,anchor:a,head:o}=t.selection,s=[];t.doc.nodesBetween(r,i,(t,n)=>{if(t.type.spec.code)return!1;if(!t.isTextblock)return!0;let a=t.textContent,o=n+1,[c,l]=nr(a,Math.max(r-o,0),Math.min(i-o,a.length));return c<l&&s.push({text:a,base:o,from:c,to:l,active:rr(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>ir(t.text,t.from,t.to,e,c).map(e=>({from:e.from+t.base,to:e.to+t.base,insert:e.insert})));if(l.length===0)return!1;if(n){let e=t.tr;l.sort((e,t)=>t.from-e.from||t.to-e.to);for(let t of l)t.insert?e.insertText(t.insert,t.from,t.to):e.delete(t.from,t.to);e.setSelection(S.create(e.doc,e.mapping.map(a,a<=o?1:-1),e.mapping.map(o,o<a?1:-1))),n(e.scrollIntoView())}return!0}}function ur(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=cr(i.textContent,r.parentOffset,e);if(!a)return!1;if(n){let i=r.start(),o=t.tr;a.kind===`unwrap`&&o.delete(i+a.from,i+a.to),a.kind===`move`&&o.setSelection(S.create(o.doc,i+a.pos)),a.kind===`insert`&&(o.insertText(e.delim+e.delim,i+a.pos),o.setSelection(S.create(o.doc,i+a.pos+e.delim.length))),n(o.scrollIntoView())}return!0}function dr(){return o({toggleEm:()=>U(V.em),toggleStrong:()=>U(V.strong),toggleCode:()=>U(V.code),toggleDel:()=>U(V.del),toggleHighlight:()=>U(V.highlight)})}function fr(){return l({"Mod-b":U(V.strong),"Mod-i":U(V.em),"Mod-e":U(V.code),"Mod-Shift-x":U(V.del),"Mod-Shift-h":U(V.highlight)})}function pr(){return _(dr(),fr())}function mr(e,t,n){let r;return e.doc.nodesBetween(t.from,t.to,(e,i)=>(e.isText&&e.marks.some(e=>e.type.name===n)&&(r={from:Math.max(i,t.from),to:Math.min(i+e.nodeSize,t.to)}),!0)),r}function W(e,t){let n=E(e,t,`mdLinkText`),r=E(e,t,`mdPack`),i=r??n;if(!i)return;let a=r?.mark.attrs,o=n?.mark.attrs?.href??``;if(!r||a?.key!==`link`)return{unit:{from:i.from,to:i.to},href:o,title:``};let s=mr(e,i,`mdLinkUri`),c=s?s.from-2:i.to-3,l=s?s.from:i.to-1;return{unit:{from:i.from,to:i.to},label:{from:i.from+1,to:c},dest:{from:l,to:i.to-1},href:a.data.href,title:a.data.title}}function hr(e){let t=e.trim();return t?bn(t)??t:``}function gr(e,t){return e+(t?` "${t.replaceAll(/(["\\])/g,String.raw`\$1`)}"`:``)}function _r(e){let{selection:t}=e,{$from:n,$to:r,empty:i}=t;if(i||!n.sameParent(r)||!g(t))return;let a=n.parent;if(!a.isTextblock||a.type.spec.code)return;let o=n.start(),[s,c]=nr(a.textContent,n.parentOffset,r.parentOffset);if(!(s>=c))return{from:o+s,to:o+c}}function vr(e={}){return(t,n)=>{let r=gr(hr(e.href??``),e.title??``),i=_r(t);if(!i)return!1;if(n){let{from:e,to:a}=i,o=t.tr,s=`](${r})`;o.insertText(s,a).insertText(`[`,e),n(o.setSelection(S.create(o.doc,e,a+1+s.length)).scrollIntoView())}return!0}}function yr(e){return(t,n)=>{let r=W(t,t.selection.from);if(!r?.dest)return!1;let i=gr(hr(e.href??r.href),e.title??r.title);return n&&n(t.tr.insertText(i,r.dest.from,r.dest.to).scrollIntoView()),!0}}function br(){return(e,t)=>{let n=W(e,e.selection.from);return n?.label?(t&&t(e.tr.delete(n.label.to,n.unit.to).delete(n.unit.from,n.label.from).scrollIntoView()),!0):!1}}function xr(){return o({insertLink:vr,updateLink:yr,removeLink:br})}function Sr(e){return(t,n,r)=>{let i=W(t,t.selection.from);if(i){if(n&&r){let{unit:{from:a,to:o}}=i;n(t.tr.setSelection(S.create(t.doc,a,o)).scrollIntoView()),r.focus(),e({from:a,to:o,link:i})}return!0}let a=_r(t);if(a){if(n&&r){let{from:i,to:o}=a;n(t.tr.setSelection(S.create(t.doc,i,o)).scrollIntoView()),r.focus(),e({from:i,to:o,link:void 0})}return!0}return!1}}function Cr(e){return l({"Mod-k":Sr(e)})}function wr(){return f({type:`list`,attr:`marker`,default:null,splittable:!0,toDOM:e=>e===`)`||e===`*`||e===`+`?[`data-list-marker`,e]:null,parseDOM:e=>{let t=e.getAttribute(`data-list-marker`);return t===`)`||t===`*`||t===`+`?t:null}})}function Tr(){return f({type:`list`,attr:`taskMarker`,default:null,splittable:!0,toDOM:e=>e===`X`?[`data-list-task-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-list-task-marker`)===`X`?`X`:null})}function Er(e){return e===2||e===3||e===4}function Dr(){return f({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>Er(e)?[`data-list-marker-gap`,String(e)]:null,parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return Er(t)?t:1}})}const Or=[T(/^\s?([*-])\s$/,{kind:`bullet`,collapsed:!1}),T(/^\s?(\d+)\.\s$/,({match:e})=>{let t=e[1],n=t?parseInt(t,10):void 0;return{kind:`ordered`,collapsed:!1,order:n&&n>=2&&Number.isSafeInteger(n)?n:null}}),T(/^\s?\[([\sXx]?)]\s$/,({match:e})=>({kind:`task`,checked:[`x`,`X`].includes(e[1]),collapsed:!1})),T(/^\s?\+\s$/,{kind:`task`,marker:`+`,checked:!1,collapsed:!1})];function kr(){return _(Or.map(Re))}function Ar(){return w({kind:`task`,marker:`+`})}function jr(){return w({kind:`task`,marker:null})}function Mr(){return o({wrapInCircleTask:Ar,wrapInSquareTask:jr})}function Nr(e){let{$from:t}=e.selection;for(let e=t.depth;e>0;e--){let n=t.node(e);if(n.type.name===`list`)return n.attrs}return null}function Pr(){return(e,t,n)=>{let r=Nr(e),i=r?.kind===`task`&&r.marker!==`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:r?.marker??null,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:null,checked:!1},w(a)(e,t,n)}}function Fr(){return(e,t,n)=>{let r=Nr(e),i=r?.kind===`task`&&r.marker===`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:`+`,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:`+`,checked:!1},w(a)(e,t,n)}}function Ir(){return l({"Mod-Enter":Pr(),"Mod-Shift-Enter":Fr()})}function Lr(){return _(We(),He(),Ve(),ze(),Ue(),Be(),kr(),Ir(),wr(),Tr(),Dr(),Mr())}function Rr(){return p({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function zr(){return _(v(Rr(),t.highest),Ge(),Ke())}const Br=(e,t)=>{let{selection:n}=e;return!tt(n)||!n.isColSelection()||!n.isRowSelection()?!1:et(e,t)};function Vr(){return v(l({Backspace:Br,Delete:Br}),t.high)}function Hr(){return _($e(),Qe(),qe(),Ze(),Xe({allowTableNodeSelection:!0}),Je(),Ye(),Vr())}function Ur(){return _(zr(),me(),Ft(),_e(),de(),Lr(),Bt(),Hr(),fe(),Ht(),Ut(),Xn(),kt(),Pn(),pr(),xr(),_n(),wt({marks:[{name:`mdImageSource`,modes:[`hide`]},{name:`mdWikilinkSource`,modes:[`hide`,`focus`,`show`]}],selectedClass:`md-atomic-selected`}),a(),i(),c(),he(),ve(),ge(),Pt())}function Wr(){return Ur()}const Gr=y(()=>{let e=Wr().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),Kr=y(()=>r(Gr())),qr=y(()=>n(Gr())),Jr=`meowdown_mark_builders`;function Yr(e){let t=e.cached[Jr];if(t)return t;let r=n(e);return e.cached[Jr]=r,r}const Xr=`meowdown_node_builders`;function Zr(e){let t=e.cached[Xr];if(t)return t;let n=r(e);return e.cached[Xr]=n,n}function G(e,t={}){let{nodes:n=Kr(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=$r(e);i=t,n&&(a=e.slice(n))}let o=ei(n,fn.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const Qr=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function $r(e){let t=Qr.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function ei(e,t,n){let r=[];if(!t.firstChild())return r;do r.push(...K(e,t,n));while(t.nextSibling());return t.parent(),r}function K(e,t,n){switch(t.type.id){case R.ATXHeading1:return[q(e,t,n,1,!1)];case R.ATXHeading2:return[q(e,t,n,2,!1)];case R.ATXHeading3:return[q(e,t,n,3,!1)];case R.ATXHeading4:return[q(e,t,n,4,!1)];case R.ATXHeading5:return[q(e,t,n,5,!1)];case R.ATXHeading6:return[q(e,t,n,6,!1)];case R.SetextHeading1:return[q(e,t,n,1,!0)];case R.SetextHeading2:return[q(e,t,n,2,!0)];case R.Paragraph:return[Z(e,t,n)];case R.CommentBlock:return[ri(e,t,n)];case R.HTMLBlock:case R.ProcessingInstructionBlock:return[Z(e,t,n)];case R.Blockquote:return[ii(e,t,n)];case R.BulletList:return ai(e,t,n,`bullet`);case R.OrderedList:return ai(e,t,n,`ordered`);case R.FencedCode:case R.CodeBlock:return[si(e,t,n)];case R.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case R.Table:return[ci(e,t,n)];case R.Task:return[Z(e,t,n)];default:return n.slice(t.from,t.to).trim()===``?[]:(console.warn(`[meowdown] unsupported lezer block "${t.type.name}"`),[Z(e,t,n)])}}function q(e,t,n,r,i){let a=t.from,o=t.from,s=t.to,c=-1,l=-1;if(t.firstChild()){t.type.id===R.HeaderMark&&t.from===a&&(o=t.to);let e=-1,n=-1,r=-1;do e=t.type.id,n=t.from,r=t.to;while(t.nextSibling());e===R.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=Y(n.slice(o,s),J(n,o)).trim(),d=i?ti(n,c,l)||1:null;return e.heading({level:r,setextUnderline:d},u)}function ti(e,t,n){if(t<0)return 0;let r=0;for(let i=t;i<n;i++){let t=e.charCodeAt(i);(t===61||t===45)&&r++}return r}function J(e,t){let n=e.lastIndexOf(`
|
|
3
|
-
`,t-1)+1,r=0;for(let i=n;i<t;i++)r+=e.charCodeAt(i)===9?4-r%4:1;return r}function
|
|
1
|
+
import{Priority as e,Priority as t,createMarkBuilders as n,createNodeBuilders as r,defineBaseCommands as i,defineBaseKeymap as a,defineCommands as o,defineDOMEventHandler as s,defineHistory as c,defineKeymap as l,defineMarkSpec as u,defineMarkView as d,defineNodeAttr as f,defineNodeSpec as p,definePlugin as m,getMarkRange as h,getMarkType as ee,getNodeType as te,isAllSelection as ne,isAtBlockStart as re,isTextSelection as g,toggleNode as ie,union as _,unsetBlockType as ae,withPriority as oe,withPriority as v,withSkipCodeBlock as se}from"@prosekit/core";import{definePlaceholder as ce}from"@prosekit/extensions/placeholder";import{defineReadonly as le}from"@prosekit/extensions/readonly";import{isElementLike as ue,once as y}from"@ocavue/utils";import{defineBlockquote as de}from"@prosekit/extensions/blockquote";import{defineCodeBlock as fe,defineCodeBlockHighlight as pe}from"@prosekit/extensions/code-block";import{defineDoc as me}from"@prosekit/extensions/doc";import{defineGapCursor as he}from"@prosekit/extensions/gap-cursor";import{defineModClickPrevention as ge}from"@prosekit/extensions/mod-click-prevention";import{defineText as _e}from"@prosekit/extensions/text";import{defineVirtualSelection as ve}from"@prosekit/extensions/virtual-selection";import{Plugin as b,PluginKey as x,Selection as ye,TextSelection as S}from"@prosekit/pm/state";import{Decoration as C,DecorationSet as w}from"@prosekit/pm/view";import{LanguageDescription as be}from"@codemirror/language";import{languages as xe}from"@codemirror/language-data";import{classHighlighter as Se,highlightTree as Ce}from"@lezer/highlight";import{createParser as we}from"prosemirror-highlight/lezer";import{defineHeadingCommands as Te,defineHeadingInputRule as Ee,defineHeadingSpec as De}from"@prosekit/extensions/heading";import{defineHorizontalRule as Oe}from"@prosekit/extensions/horizontal-rule";import{ReplaceStep as ke,Step as Ae,StepResult as je,Transform as Me}from"@prosekit/pm/transform";import{DOMSerializer as Ne,Mark as Pe}from"@prosekit/pm/model";import{GFM as Fe,parser as Ie}from"@lezer/markdown";import{defineInputRule as Le}from"@prosekit/extensions/input-rule";import{defineListCommands as Re,defineListDropIndicator as ze,defineListKeymap as Be,defineListPlugins as Ve,defineListSerializer as He,defineListSpec as Ue,wrapInList as T}from"@prosekit/extensions/list";import{wrappingListInputRule as E}from"prosemirror-flat-list";import{defineParagraphCommands as We,defineParagraphKeymap as Ge}from"@prosekit/extensions/paragraph";import{defineTableCellSpec as Ke,defineTableCommands as qe,defineTableDropIndicator as Je,defineTableEditingPlugin as Ye,defineTableHeaderCellSpec as Xe,defineTableRowSpec as Ze,defineTableSpec as Qe,deleteTable as $e,isCellSelection as et}from"@prosekit/extensions/table";import{closeHistory as tt}from"@prosekit/pm/history";import nt from"rehype-parse";import rt from"rehype-remark";import it from"remark-gfm";import at from"remark-stringify";import{unified as ot}from"unified";import{triggerAutocomplete as st}from"@prosekit/extensions/autocomplete";function D(e,t,n){let r=e.doc.content.size;if(t<0||t>r)return;let i=e.doc.resolve(t);if(!(!i.parent.isTextblock||i.parent.type.spec.code))return h(i,n)}const ct=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]),lt=new x(`mark-mode`);function ut(e){return new b({key:lt,state:{init:()=>e,apply:(e,t)=>t},props:{attributes:{"data-mark-mode":e},decorations:e===`focus`?e=>mt(e):void 0,clipboardTextSerializer:e===`show`?void 0:pt}})}function dt(e){return m(ut(e))}function ft(e){return lt.getState(e)}function pt(e){let t=[];return e.content.forEach(e=>{let n=[];e.descendants(e=>!e.isText||!e.text?!0:(e.marks.some(e=>ct.has(e.type.name))||n.push(e.text),!1)),t.push(n.join(``))}),t.join(`
|
|
2
|
+
`)}function mt(e){let{selection:t}=e;if(!t.empty)return w.empty;let n=t.$head,{parent:r}=n;if(!r.isTextblock||r.type.spec.code)return w.empty;let i=h(n,ee(e.schema,`mdPack`));return i?w.create(e.doc,[C.inline(i.from,i.to,{class:`show`})]):w.empty}function O(e,t){let n=ft(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function k(e,t,n){for(let r of n){let n=D(e,t,r);if(n)return n}}function A(e,t,n){let r=k(e,t,n);return r&&r.to===t?r:void 0}function j(e,t,n){let r=k(e,t,n);return r&&r.from===t?r:void 0}function ht(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=k(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function gt(e,t){return S.create(e.doc,t.from,t.to)}function _t(e){return(t,n)=>{let r=O(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=j(t,i.from,r);if(e)return n?.(t.tr.setSelection(gt(t,e))),!0;if(A(t,i.from,r)){let e=t.doc.resolve(i.from);return i.from>=e.end()?!1:(n?.(t.tr.setSelection(S.create(t.doc,i.from+1))),!0)}return!1}let a=ht(t,r);return a?(n?.(t.tr.setSelection(S.create(t.doc,a.to))),!0):!1}}function vt(e){return(t,n)=>{let r=O(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=A(t,i.from,r);return e?(n?.(t.tr.setSelection(gt(t,e))),!0):!1}let a=ht(t,r);return a?(n?.(t.tr.setSelection(S.create(t.doc,a.from))),!0):!1}}function yt(e){return(t,n)=>{let r=O(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=A(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!j(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function bt(e){return(t,n)=>{let r=O(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=j(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!A(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}const xt=`md-atom-selected`;function St(e){return new b({key:new x(`atom-mark-selection`),props:{decorations:t=>{let n=O(e,t);if(n.length===0)return;let r=ht(t,n);if(r)return w.create(t.doc,[C.inline(r.from,r.to,{class:xt})]);let{from:i,to:a,empty:o}=t.selection;if(o)return null;let s=[];return t.doc.nodesBetween(i,a,(e,t)=>{e.marks.some(e=>n.includes(e.type.name))&&s.push(C.inline(t,t+e.nodeSize,{class:xt}))}),w.create(t.doc,s)}}})}function Ct({marks:e}){return _(v(l({ArrowRight:_t(e),ArrowLeft:vt(e),Backspace:yt(e),Delete:bt(e)}),t.high),m(St(e)))}const M=new Map,wt=new Map;async function Tt(e){let t=M.get(e);if(t!==void 0)return t;let n=be.matchLanguageName(xe,e,!0);if(!n)return M.set(e,null),null;let r=n.support;if(!r)try{r=await n.load()}catch(t){return console.error(`[meowdown] Failed to load language "${e}":`,t),M.set(e,null),null}return M.set(e,r),r}function Et(e,t){let n=wt.get(e);if(n)return n;let r=we({parse:e=>t.language.parser.parse(e.content),highlighter:Se});return wt.set(e,r),r}const Dt=e=>{let t=e.language?.trim();if(!t)return[];let n=M.get(t);return n===null?[]:n?Et(t,n)(e):Tt(t).then(()=>void 0)};function Ot(){return pe({parser:Dt,nodeTypes:[`codeBlock`]})}function kt(e,t){let n=t.language.parser.parse(e),r=[];return Ce(n,Se,(e,t,n)=>{r.push([e,t,n])}),r}function At(e,t){let n=t.trim();if(!n)return[];let r=M.get(n);return r===null?[]:r?kt(e,r):Tt(n).then(t=>t?kt(e,t):[])}function jt(e,t){return(n,r)=>{if(r){let i=S.create(n.doc,e,t);r(n.tr.setSelection(i))}return!0}}function Mt(e,t,n){return(r,i)=>{if(i){let a=S.between(e,t,n);i(r.tr.setSelection(a))}return!0}}function Nt(){return o({selectText:jt,selectTextBetween:Mt})}function Pt(){return f({type:`doc`,attr:`frontmatter`,default:null})}function Ft(){return p({name:`heading`,whitespace:`pre`})}function It(){return f({type:`heading`,attr:`setextUnderline`,default:null,toDOM:e=>e==null?null:[`data-setext-underline`,String(e)],parseDOM:e=>{let t=e.getAttribute(`data-setext-underline`);if(t==null)return null;let n=Number.parseInt(t,10);return Number.isSafeInteger(n)&&n>0?n:null}})}function N(e){return se(ie({type:`heading`,attrs:{level:e}}))}const Lt=(e,t,n)=>re(e,n)?.parent.type.name===`heading`?ae()(e,t,n):!1;function Rt(){return l({"Mod-1":N(1),"Mod-2":N(2),"Mod-3":N(3),"Mod-4":N(4),"Mod-5":N(5),"Mod-6":N(6),Backspace:Lt})}function zt(){return _(De(),Ft(),It(),Ee(),Te(),Rt())}function Bt(){return f({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function Vt(){return _(Oe(),Bt())}function Ht(){return p({name:`htmlComment`,group:`block`,atom:!0,selectable:!1,attrs:{content:{default:``}},toDOM:e=>[`div`,{"data-html-comment":e.attrs.content,style:`display: none`}],parseDOM:[{tag:`div[data-html-comment]`,getAttrs:e=>({content:e.getAttribute(`data-html-comment`)??``})}]})}function Ut(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function Wt(e,t){let[n,r,i]=t;return[n,r,i.map(t=>Pe.fromJSON(e,t))]}var P=class e extends Ae{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return je.ok(e);let t=e.content.size,n;for(let[r,i,a]of this.chunks){if(r>=i)continue;let o=Math.max(0,Math.min(r,t)),s=Math.max(o,Math.min(i,t));o>=s||e.nodesBetween(o,s,(t,r)=>{if(!t.isText)return!0;let i=Math.max(o,r),c=Math.min(s,r+t.nodeSize);if(i>=c)return!1;let l=t.marks;for(let t of l)t.isInSet(a)||(n??=new Me(e),n.removeMark(i,c,t));for(let t of a)t.isInSet(l)||(n??=new Me(e),n.addMark(i,c,t));return!1})}return je.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return Gt;let t=this.chunks[0][0],n=this.chunks[0][1];for(let[,e]of this.chunks)e>n&&(n=e);let r=e.content.size,i=Math.max(0,Math.min(t,r)),a=Math.max(i,Math.min(n,r));return new ke(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(Ut)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>Wt(t,e)))}};Ae.jsonID(`batchSetMark`,P);const Gt=new P([]),Kt=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),qt=/^[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 Yt(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||!qt.test(e))return!1;return!0}function F(e){return e===32||e===9||e===10||e===13}const Xt=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,Zt=/[\s(*_~]/;function Qt(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function $t(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function en(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&$t(e,t,`)`)>$t(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 tn={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!Qt(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!Zt.test(r))return-1;let i=Xt.exec(e.slice(n,e.end));if(!i)return-1;let a=en(i[0]);return a===0||!Yt(Jt(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function nn(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 rn(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const an={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(!nn(t))break;i||=rn(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},on={resolve:`Highlight`,mark:`HighlightMark`},sn=/[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~\u{A1}\u{2010}-\u{2027}]/u,cn={defineNodes:[{name:`Highlight`},{name:`HighlightMark`}],parseInline:[{name:`Highlight`,after:`Emphasis`,parse(e,t,n){if(t!==61||e.char(n+1)!==61||e.char(n+2)===61)return-1;let r=e.slice(n-1,n),i=e.slice(n+2,n+3),a=/\s|^$/.test(r),o=/\s|^$/.test(i),s=sn.test(r),c=sn.test(i);return e.addDelimiter(on,n,n+2,!o&&(!c||a||s),!a&&(!s||o||c))}}]},ln={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 un(e){return e.end}const I=Ie.configure([Fe,an,ln,tn,cn]),dn=I.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:un}]});function L(e){return I.parseInline(e,0)}function R(e,t,n=[]){for(let r of e)t(r)&&n.push(r),R(r.children,t,n);return n}function fn(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const z=fn(I);function pn(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 mn(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 hn(){return e=>{let t=e.attrs,n=document.createElement(`span`);n.className=`md-wikilink-view md-atom-view`;let r=document.createElement(`span`);r.className=`md-wikilink-view-preview md-atom-view-preview`,r.contentEditable=`false`,r.dataset.testid=`wikilink`,n.appendChild(r);let i=document.createElement(`span`);i.className=`md-wikilink-view-label`,i.contentEditable=`false`,i.textContent=t.display||t.target,r.appendChild(i);let a=document.createElement(`span`);return a.className=`md-wikilink-view-content md-atom-view-content`,n.appendChild(a),{dom:n,contentDOM:a,ignoreMutation:e=>!a.contains(e.target)}}}function gn(){return d({name:`mdWikilink`,constructor:hn()})}const _n=new Map([[z.Emphasis,`mdEm`],[z.StrongEmphasis,`mdStrong`],[z.InlineCode,`mdCode`],[z.Strikethrough,`mdDel`],[z.Highlight,`mdHighlight`],[z.EmphasisMark,`mdMark`],[z.CodeMark,`mdMark`],[z.LinkMark,`mdMark`],[z.StrikethroughMark,`mdMark`],[z.HighlightMark,`mdMark`],[z.URL,`mdLinkUri`],[z.LinkTitle,`mdLinkTitle`],[z.Hashtag,`mdTag`],[z.WikilinkMark,`mdMark`]]);function vn(e,t){let n=L(t),r=[];return B(n,[],0,t.length,t,e,r),r}function yn(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)||Yt(Jt(e)))return`https://${e}`}function bn(e){return e.slice(1,-1).replaceAll(/\\(.)/g,`$1`)}function B(e,t,n,r,i,a,o){let s=n;for(let n of e){n.from>s&&V(o,s,n.from,t);let e=n.type;if(e===z.Link)xn(n,t,i,a,o);else if(e===z.Image)Sn(n,t,i,a,o);else if(e===z.Wikilink)Cn(n,t,i,a,o);else if(e===z.URL){let e=yn(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===z.Emphasis?r=`italic`:e===z.StrongEmphasis?r=`bold`:e===z.InlineCode?r=`code`:e===z.Strikethrough?r=`strike`:e===z.Highlight?r=`highlight`:e===z.Autolink&&(r=`autolink`);let s=r?[...t,a.mdPack.create({key:r})]:t,c=_n.get(e),l=c?[...s,a[c].create()]:s;n.children.length===0?V(o,n.from,n.to,l):B(n.children,l,n.from,n.to,i,a,o)}s=n.to}s<r&&V(o,s,r,t)}function xn(e,t,n,r,i){let a=-1,o=null,s=null,c=0;for(let t of e.children)t.type===z.LinkMark?(c++,c===2&&(a=t.from)):t.type===z.URL&&o===null?o=t:t.type===z.LinkTitle&&s===null&&(s=t);let l=o?n.slice(o.from,o.to):``,u=s?bn(n.slice(s.from,s.to)):``,d=l?r.mdLinkText.create({href:l}):null,f=e=>a>=0&&e<a&&d!==null,p=r.mdPack.create({key:`link`,data:{href:l,title:u}}),m=[...t,p],h=e.from;for(let t of e.children){if(t.from>h){let e=f(h)?[...m,d]:m;V(i,h,t.from,e)}let e=f(t.from)?[...m,d]:m;if(t.type===z.Wikilink){Cn(t,e,n,r,i),h=t.to;continue}let a=_n.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?V(i,t.from,t.to,o):B(t.children,o,t.from,t.to,n,r,i),h=t.to}h<e.to&&V(i,h,e.to,m)}function Sn(e,t,n,r,i){let a=e.children.find(e=>e.type===z.URL);if(!a){xn(e,t,n,r,i);return}let o=e.children.filter(e=>e.type===z.LinkMark),s=e.children.find(e=>e.type===z.LinkTitle),c=n.slice(a.from,a.to),l=o.length>=2?n.slice(o[0].to,o[1].from):``,u=s?bn(n.slice(s.from,s.to)):``;V(i,e.from,e.to,[...t,r.mdImage.create({src:c,alt:l,title:u})])}function Cn(e,t,n,r,i){let{target:a,display:o}=mn(n.slice(e.from,e.to));V(i,e.from,e.to,[...t,r.mdWikilink.create({target:a,display:o})])}function V(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&pn(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const wn=`inline-marks-applied`,Tn=new WeakMap;let En=0,Dn=0;function On(e,t,n){let r=Tn.get(e);if(r?Dn++:(En++,r=vn(Gr(n),e.textContent),Tn.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 kn(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 An(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=On(t,r+1,e.schema);return i.length>0&&n.push(...i),!1}),n}function jn(){return new b({key:new x(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(wn))return null;let r=An(n,kn(e,n));if(r.length===0)return null;let i=n.tr.step(new P(r));return i.setMeta(wn,!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 Nn(){return m(jn())}function Pn(){return u({name:`mdImage`,inclusive:!1,attrs:{src:{default:``},alt:{default:``},title:{default:``}},toDOM:()=>[`span`,{class:`md-image`},0],parseDOM:[{tag:`span.md-image`}]})}function Fn(){return u({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function In(){return u({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function Ln(){return u({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function Rn(){return u({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function zn(){return u({name:`mdLinkText`,inclusive:!1,attrs:{href:{default:``}},toDOM:e=>[`a`,{class:`md-link`,href:e.attrs.href},0],parseDOM:[{tag:`a`,getAttrs:e=>({href:e.getAttribute(`href`)??``})}]})}function Bn(){return u({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function Vn(){return u({name:`mdLinkTitle`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-title`},0],parseDOM:[{tag:`span.md-link-title`}]})}function Hn(){return u({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function Un(){return u({name:`mdHighlight`,toDOM:()=>[`mark`,0],parseDOM:[{tag:`mark`}]})}function Wn(){return u({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function Gn(){return u({name:`mdWikilink`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink`},0],parseDOM:[{tag:`span.md-wikilink`}]})}function Kn(){return u({name:`mdPack`,excludes:``,inclusive:!1,attrs:{key:{},data:{default:null}},toDOM:e=>[`span`,{class:`md-pack`,"data-key":e.attrs.key},0],parseDOM:[{tag:`span.md-pack`}]})}function qn(){return _(Fn(),In(),Ln(),Rn(),zn(),Bn(),Vn(),Hn(),Un(),Wn(),Gn(),Pn(),Kn())}function Jn(e,t=0){let n=t,r=0;for(let t=0;t<e.length;t++)e.charCodeAt(t)===96?(r++,r>n&&(n=r)):r=0;return n}const H={em:{node:z.Emphasis,delim:`*`},strong:{node:z.StrongEmphasis,delim:`**`},code:{node:z.InlineCode,delim:"`"},del:{node:z.Strikethrough,delim:`~~`},highlight:{node:z.Highlight,delim:`==`}},Yn=new Set([z.EmphasisMark,z.CodeMark,z.LinkMark,z.StrikethroughMark,z.HighlightMark]);function U(e){return[e.children[0],e.children.at(-1)]}function Xn(e){let{type:t,children:n}=e;if(t===z.Emphasis||t===z.StrongEmphasis||t===z.Strikethrough||t===z.Highlight)return[n[0].to,n.at(-1).from];if(t===z.Link||t===z.Image){let e=n.find((e,t)=>t>0&&e.type===z.LinkMark);return e?[n[0].to,e.from]:null}return null}function W(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=Xn(r);return i&&i[0]<=t&&n<=i[1]?W(r.children,t,n):W(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function Zn(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return Zn(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}function Qn(e,t,n){for(;t<n&&F(e.charCodeAt(t));)t++;for(;n>t&&F(e.charCodeAt(n-1));)n--;return[t,n]}function $n(e,t,n,r){let i=R(L(e),e=>e.type===r.node||Yn.has(e.type));for(let r=t;r<n;r++)if(!F(e.charCodeAt(r))&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function er(e,t,n,r,i){let a=L(e),o=R(a,e=>e.type===r.node);return i?rr(e,o,t,n):tr(e,a,o,t,n,r)}function tr(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=W(t,r,i);for(let e of n)e.to===r&&(r=e.from),e.from===i&&(i=e.to)}let o=[];for(let e of n)if(r<=e.from&&e.to<=i){let[t,n]=U(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=nr(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function nr(e,t,n,r,i){if(i.node!==z.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(Jn(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function rr(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=U(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=Zn(a.children.slice(1,-1),s,c);s>t.to&&F(e.charCodeAt(s-1));)s--;for(;c<o.from&&F(e.charCodeAt(c));)c++;s>t.to?i.push({from:s,to:s,insert:e.slice(o.from,o.to)}):i.push({from:t.from,to:t.to,insert:``}),c<o.from?i.push({from:c,to:c,insert:e.slice(t.from,t.to)}):i.push({from:o.from,to:o.to,insert:``})}return i}function ir(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=L(e),o=R(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=U(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return ar(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function ar(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=Xn(n);return!e||t<e[0]||t>e[1]?!0:ar(n.children,t)}return!1}function G(e){return(t,n)=>{if(t.selection.empty)return or(e,t,n);let{from:r,to:i,anchor:a,head:o}=t.selection,s=[];t.doc.nodesBetween(r,i,(t,n)=>{if(t.type.spec.code)return!1;if(!t.isTextblock)return!0;let a=t.textContent,o=n+1,[c,l]=Qn(a,Math.max(r-o,0),Math.min(i-o,a.length));return c<l&&s.push({text:a,base:o,from:c,to:l,active:$n(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>er(t.text,t.from,t.to,e,c).map(e=>({from:e.from+t.base,to:e.to+t.base,insert:e.insert})));if(l.length===0)return!1;if(n){let e=t.tr;l.sort((e,t)=>t.from-e.from||t.to-e.to);for(let t of l)t.insert?e.insertText(t.insert,t.from,t.to):e.delete(t.from,t.to);e.setSelection(S.create(e.doc,e.mapping.map(a,a<=o?1:-1),e.mapping.map(o,o<a?1:-1))),n(e.scrollIntoView())}return!0}}function or(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=ir(i.textContent,r.parentOffset,e);if(!a)return!1;if(n){let i=r.start(),o=t.tr;a.kind===`unwrap`&&o.delete(i+a.from,i+a.to),a.kind===`move`&&o.setSelection(S.create(o.doc,i+a.pos)),a.kind===`insert`&&(o.insertText(e.delim+e.delim,i+a.pos),o.setSelection(S.create(o.doc,i+a.pos+e.delim.length))),n(o.scrollIntoView())}return!0}function sr(){return o({toggleEm:()=>G(H.em),toggleStrong:()=>G(H.strong),toggleCode:()=>G(H.code),toggleDel:()=>G(H.del),toggleHighlight:()=>G(H.highlight)})}function cr(){return l({"Mod-b":G(H.strong),"Mod-i":G(H.em),"Mod-e":G(H.code),"Mod-Shift-x":G(H.del),"Mod-Shift-h":G(H.highlight)})}function lr(){return _(sr(),cr())}function ur(e,t,n){let r;return e.doc.nodesBetween(t.from,t.to,(e,i)=>(e.isText&&e.marks.some(e=>e.type.name===n)&&(r={from:Math.max(i,t.from),to:Math.min(i+e.nodeSize,t.to)}),!0)),r}function K(e,t){let n=D(e,t,`mdLinkText`),r=D(e,t,`mdPack`),i=r??n;if(!i)return;let a=r?.mark.attrs,o=n?.mark.attrs?.href??``;if(!r||a?.key!==`link`)return{unit:{from:i.from,to:i.to},href:o,title:``};let s=ur(e,i,`mdLinkUri`),c=s?s.from-2:i.to-3,l=s?s.from:i.to-1;return{unit:{from:i.from,to:i.to},label:{from:i.from+1,to:c},dest:{from:l,to:i.to-1},href:a.data.href,title:a.data.title}}function dr(e){let t=e.trim();return t?yn(t)??t:``}function fr(e,t){return e+(t?` "${t.replaceAll(/(["\\])/g,String.raw`\$1`)}"`:``)}function pr(e){let{selection:t}=e,{$from:n,$to:r,empty:i}=t;if(i||!n.sameParent(r)||!g(t))return;let a=n.parent;if(!a.isTextblock||a.type.spec.code)return;let o=n.start(),[s,c]=Qn(a.textContent,n.parentOffset,r.parentOffset);if(!(s>=c))return{from:o+s,to:o+c}}function mr(e={}){return(t,n)=>{let r=fr(dr(e.href??``),e.title??``),i=pr(t);if(!i)return!1;if(n){let{from:e,to:a}=i,o=t.tr,s=`](${r})`;o.insertText(s,a).insertText(`[`,e),n(o.setSelection(S.create(o.doc,e,a+1+s.length)).scrollIntoView())}return!0}}function hr(e){return(t,n)=>{let r=K(t,t.selection.from);if(!r?.dest)return!1;let i=fr(dr(e.href??r.href),e.title??r.title);return n&&n(t.tr.insertText(i,r.dest.from,r.dest.to).scrollIntoView()),!0}}function gr(){return(e,t)=>{let n=K(e,e.selection.from);return n?.label?(t&&t(e.tr.delete(n.label.to,n.unit.to).delete(n.unit.from,n.label.from).scrollIntoView()),!0):!1}}function _r(){return o({insertLink:mr,updateLink:hr,removeLink:gr})}function vr(e){return(t,n,r)=>{let i=K(t,t.selection.from);if(i){if(n&&r){let{unit:{from:a,to:o}}=i;n(t.tr.setSelection(S.create(t.doc,a,o)).scrollIntoView()),r.focus(),e({from:a,to:o,link:i})}return!0}let a=pr(t);if(a){if(n&&r){let{from:i,to:o}=a;n(t.tr.setSelection(S.create(t.doc,i,o)).scrollIntoView()),r.focus(),e({from:i,to:o,link:void 0})}return!0}return!1}}function yr(e){return l({"Mod-k":vr(e)})}function br(){return f({type:`list`,attr:`marker`,default:null,splittable:!0,toDOM:e=>e===`)`||e===`*`||e===`+`?[`data-list-marker`,e]:null,parseDOM:e=>{let t=e.getAttribute(`data-list-marker`);return t===`)`||t===`*`||t===`+`?t:null}})}function xr(){return f({type:`list`,attr:`taskMarker`,default:null,splittable:!0,toDOM:e=>e===`X`?[`data-list-task-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-list-task-marker`)===`X`?`X`:null})}function Sr(e){return e===2||e===3||e===4}function Cr(){return f({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>Sr(e)?[`data-list-marker-gap`,String(e)]:null,parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return Sr(t)?t:1}})}const wr=[E(/^\s?([*-])\s$/,{kind:`bullet`,collapsed:!1}),E(/^\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}}),E(/^\s?\[([\sXx]?)]\s$/,({match:e})=>({kind:`task`,checked:[`x`,`X`].includes(e[1]),collapsed:!1})),E(/^\s?\+\s$/,{kind:`task`,marker:`+`,checked:!1,collapsed:!1})];function Tr(){return _(wr.map(Le))}function Er(){return T({kind:`task`,marker:`+`})}function Dr(){return T({kind:`task`,marker:null})}function Or(){return o({wrapInCircleTask:Er,wrapInSquareTask:Dr})}function kr(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 Ar(){return(e,t,n)=>{let r=kr(e),i=r?.kind===`task`&&r.marker!==`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:r?.marker??null,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:null,checked:!1},T(a)(e,t,n)}}function jr(){return(e,t,n)=>{let r=kr(e),i=r?.kind===`task`&&r.marker===`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:`+`,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:`+`,checked:!1},T(a)(e,t,n)}}function Mr(){return l({"Mod-Enter":Ar(),"Mod-Shift-Enter":jr()})}function Nr(){return _(Ue(),Ve(),Be(),Re(),He(),ze(),Tr(),Mr(),br(),xr(),Cr(),Or())}function Pr(){return p({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function Fr(){return _(v(Pr(),t.highest),We(),Ge())}const Ir=(e,t)=>{let{selection:n}=e;return!et(n)||!n.isColSelection()||!n.isRowSelection()?!1:$e(e,t)};function Lr(){return v(l({Backspace:Ir,Delete:Ir}),t.high)}function Rr(){return _(Qe(),Ze(),Ke(),Xe(),Ye({allowTableNodeSelection:!0}),qe(),Je(),Lr())}function zr(){return _(Fr(),me(),Pt(),_e(),de(),Nr(),zt(),Rr(),fe(),Vt(),Ht(),qn(),Ot(),Nn(),lr(),_r(),gn(),Ct({marks:[{name:`mdImage`,modes:[`hide`,`focus`,`show`]},{name:`mdWikilink`,modes:[`hide`,`focus`,`show`]}]}),a(),i(),c(),he(),ve(),ge(),Nt())}function Br(){return zr()}const Vr=y(()=>{let e=Br().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),Hr=y(()=>r(Vr())),Ur=y(()=>n(Vr())),Wr=`meowdown_mark_builders`;function Gr(e){let t=e.cached[Wr];if(t)return t;let r=n(e);return e.cached[Wr]=r,r}const Kr=`meowdown_node_builders`;function qr(e){let t=e.cached[Kr];if(t)return t;let n=r(e);return e.cached[Kr]=n,n}function q(e,t={}){let{nodes:n=Hr(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=Yr(e);i=t,n&&(a=e.slice(n))}let o=Xr(n,dn.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const Jr=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function Yr(e){let t=Jr.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function Xr(e,t,n){let r=[];if(!t.firstChild())return r;do r.push(...J(e,t,n));while(t.nextSibling());return t.parent(),r}function J(e,t,n){switch(t.type.id){case z.ATXHeading1:return[Y(e,t,n,1,!1)];case z.ATXHeading2:return[Y(e,t,n,2,!1)];case z.ATXHeading3:return[Y(e,t,n,3,!1)];case z.ATXHeading4:return[Y(e,t,n,4,!1)];case z.ATXHeading5:return[Y(e,t,n,5,!1)];case z.ATXHeading6:return[Y(e,t,n,6,!1)];case z.SetextHeading1:return[Y(e,t,n,1,!0)];case z.SetextHeading2:return[Y(e,t,n,2,!0)];case z.Paragraph:return[Q(e,t,n)];case z.CommentBlock:return[ei(e,t,n)];case z.HTMLBlock:case z.ProcessingInstructionBlock:return[Q(e,t,n)];case z.Blockquote:return[ti(e,t,n)];case z.BulletList:return ni(e,t,n,`bullet`);case z.OrderedList:return ni(e,t,n,`ordered`);case z.FencedCode:case z.CodeBlock:return[ii(e,t,n)];case z.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case z.Table:return[ai(e,t,n)];case z.Task:return[Q(e,t,n)];default:return n.slice(t.from,t.to).trim()===``?[]:(console.warn(`[meowdown] unsupported lezer block "${t.type.name}"`),[Q(e,t,n)])}}function Y(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===z.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===z.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=$r(n.slice(o,s),X(n,o)).trim(),d=i?Zr(n,c,l)||1:null;return e.heading({level:r,setextUnderline:d},u)}function Zr(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 X(e,t){let n=e.lastIndexOf(`
|
|
3
|
+
`,t-1)+1,r=0;for(let i=n;i<t;i++)r+=e.charCodeAt(i)===9?4-r%4:1;return r}function Qr(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 $r(e,t){return t===0||!e.includes(`
|
|
4
4
|
`)?e:e.split(`
|
|
5
|
-
`).map((e,n)=>n===0?e:
|
|
6
|
-
`)}function
|
|
5
|
+
`).map((e,n)=>n===0?e:Qr(e,t)).join(`
|
|
6
|
+
`)}function Z(e,t,n){return e.paragraph($r(t,n))}function Q(e,t,n){let r=t.from,i=t.to,a=X(n,r);if(t.firstChild()){let o=``,s=r;do t.type.id===z.QuoteMark&&(o+=n.slice(s,t.from),s=t.to,F(n.charCodeAt(s))&&(s+=1));while(t.nextSibling());return t.parent(),o+=n.slice(s,i),Z(e,o,a)}return Z(e,n.slice(r,i),a)}function ei(e,t,n){let r=X(n,t.from),i=$r(n.slice(t.from,t.to),r);return e.htmlComment({content:i})}function ti(e,t,n){let r=[];if(t.firstChild()){do{if(t.type.id===z.QuoteMark)continue;r.push(...J(e,t,n))}while(t.nextSibling());t.parent()}return e.blockquote(r)}function ni(e,t,n,r){let i=[];if(t.firstChild()){do t.type.id===z.ListItem&&i.push(ri(e,t,n,r));while(t.nextSibling());t.parent()}return i}function ri(e,t,n,r){let i=[],a,o,s,c,l,u;if(t.firstChild()){do{if(t.type.id!==z.ListMark&&u==null&&(u=X(n,t.from)),t.type.id===z.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=X(n,t.to);continue}if(r===`bullet`&&t.type.id===z.Task){let r=t.from,s=t.to;if(a=!1,t.firstChild()){if(t.type.id===z.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()}F(n.charCodeAt(r))&&(r+=1);let c=n.slice(r,s);i.push(Z(e,c,X(n,r)));continue}i.push(...J(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 ii(e,t,n){let r=``,i=``;if(t.firstChild()){do switch(t.type.id){case z.CodeInfo:r=n.slice(t.from,t.to);break;case z.CodeText:i+=n.slice(t.from,t.to);break}while(t.nextSibling());t.parent()}return e.codeBlock({language:r},i)}function ai(e,t,n){let r=0;if(t.firstChild()){do t.type.id===z.TableDelimiter&&(r=oi(n.slice(t.from,t.to)));while(t.nextSibling());t.parent()}let i=[];if(t.firstChild()){do{let a=t.type.id;a===z.TableHeader?i.push(si(e,t,n,!0,r)):a===z.TableRow&&i.push(si(e,t,n,!1,r))}while(t.nextSibling());t.parent()}return e.table(i)}function oi(e){return e.split(`|`).filter(e=>e.trim()!==``).length}function si(e,t,n,r,i){let a=Array(i).fill(``);if(t.firstChild()){let e=t.type.id===z.TableDelimiter,r=0;do if(t.type.id===z.TableDelimiter)r++;else if(t.type.id===z.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 ci(e,t={}){let n=new fi;return t.frontmatter&&li(e.attrs.frontmatter,n),pi(e,n),n.finish()}function li(e,t){e!==null&&(t.write(`---`),t.write(`
|
|
7
7
|
`),e!==``&&(t.write(e),t.write(`
|
|
8
|
-
`)),t.write(`---`),t.closeBlock())}const
|
|
9
|
-
`+i.repeat(Math.max(1,r))),t.closeBlock();return}t.write(
|
|
8
|
+
`)),t.write(`---`),t.closeBlock())}const ui=[``,`# `,`## `,`### `,`#### `,`##### `,`###### `];function di(e,t){let n=e.attrs,r=n.setextUnderline;if(r!=null&&e.content.size>0&&n.level<=2){_i(e,t);let i=n.level===1?`=`:`-`;t.write(`
|
|
9
|
+
`+i.repeat(Math.max(1,r))),t.closeBlock();return}t.write(ui[n.level]??`# `),_i(e,t),t.closeBlock()}var fi=class{constructor(){this.parts=[],this.linePrefix=``,this.pendingFirst=null,this.atLineStart=!0,this.deferredBlankPrefix=null}write(e){if(e===``)return;if(this.emitDeferredBlankLine(),this.atLineStart&&=(this.parts.push(this.pendingFirst??this.linePrefix),this.pendingFirst=null,!1),!e.includes(`
|
|
10
10
|
`)){this.parts.push(e);return}let t=e.split(`
|
|
11
11
|
`);for(let e=0;e<t.length;e++)e>0&&this.parts.push(`
|
|
12
12
|
`,this.linePrefix),t[e]!==``&&this.parts.push(t[e])}closeBlock(){this.atLineStart&&this.pendingFirst!==null&&(this.emitDeferredBlankLine(),this.parts.push(this.pendingFirst.trimEnd()),this.pendingFirst=null,this.atLineStart=!1),this.atLineStart||this.parts.push(`
|
|
13
13
|
`),this.atLineStart=!0,this.deferredBlankPrefix=this.linePrefix}suppressBlank(){this.deferredBlankPrefix=null}withPrefix(e,t,n){let r=this.linePrefix,i=this.pendingFirst;if(this.linePrefix=r+e,t!==null){let e=i??r;this.pendingFirst=e+t}n(),this.linePrefix=r,this.pendingFirst=t===null?i:null}finish(){return this.parts.join(``).replace(/\s+$/,``)+`
|
|
14
14
|
`}emitDeferredBlankLine(){let e=this.deferredBlankPrefix;e!==null&&(this.parts.push(e.trimEnd(),`
|
|
15
|
-
`),this.deferredBlankPrefix=null)}};function
|
|
15
|
+
`),this.deferredBlankPrefix=null)}};function pi(e,t){switch(e.type.name){case`doc`:mi(e,t);return;case`paragraph`:_i(e,t),t.closeBlock();return;case`heading`:di(e,t);return;case`blockquote`:t.withPrefix(`> `,`> `,()=>mi(e,t)),t.closeBlock();return;case`list`:vi(e,t,gi(e));return;case`codeBlock`:yi(e,t);return;case`horizontalRule`:{let{marker:n}=e.attrs;t.write(n||`---`),t.closeBlock();return}case`htmlComment`:{let{content:n}=e.attrs;t.write(n),t.closeBlock();return}case`table`:bi(e,t);return;case`text`:e.text&&t.write(e.text);return}}function mi(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(),pi(a,t),i++;continue}let o=i+1;for(;o<r&&e.child(o).type.name===`list`;)o++;let s=hi(e,i,o);for(let r=i;r<o;r++)(r===i?n&&i>0:s)&&t.suppressBlank(),vi(e.child(r),t,s);i=o}}function hi(e,t,n){for(let r=t;r<n;r++)if(!gi(e.child(r)))return!1;return!0}function gi(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 _i(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 vi(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,()=>mi(e,t,n)),t.closeBlock()}function yi(e,t){let n=e.attrs.language||``,r=e.textContent,i="`".repeat(Jn(r,2)+1);t.write(i),n&&t.write(n),t.write(`
|
|
16
16
|
`),r&&(t.write(r),t.write(`
|
|
17
|
-
`)),t.write(i),t.closeBlock()}function
|
|
17
|
+
`)),t.write(i),t.closeBlock()}function bi(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(Si(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(xi(s,i)),t.write(`
|
|
18
18
|
`),t.write(o);for(let e=0;e<n;e++)e!==a&&(t.write(`
|
|
19
|
-
`),t.write(
|
|
19
|
+
`),t.write(xi(r[e],i)));t.closeBlock()}function xi(e,t){let n=`|`;for(let r=0;r<t;r++)n+=` `+(e[r]??``)+` |`;return n}function Si(e){let t=e.textContent.trim();return!t.includes(`|`)&&!t.includes(`
|
|
20
20
|
`)?t:t.replaceAll(`|`,String.raw`\|`).replaceAll(`
|
|
21
|
-
`,` `)}function
|
|
22
|
-
`).filter(e=>!
|
|
23
|
-
`)}function
|
|
21
|
+
`,` `)}function Ci(e){return e.replace(/\n+$/u,``)}function wi(e){return/^[\s>]*$/u.test(e)}function Ti(e){return e.split(`
|
|
22
|
+
`).filter(e=>!wi(e))}function Ei(e,t={}){let n=ci(q(e,{frontmatter:t.frontmatter}),{frontmatter:t.frontmatter});if(Ci(n)===Ci(e))return`exact`;let r=Ti(e),i=Ti(n);return r.length===i.length&&r.every((e,t)=>e.trim()===i[t].trim())?`normalizing`:`lossy`}const Di=(e,t)=>{let{$from:n,empty:r}=e.selection;if(!r||n.depth!==1||n.index(0)!==0||n.parent.type.name!==`heading`||n.parentOffset!==n.parent.content.size)return!1;if(t){let r=te(e.schema,`list`),i=te(e.schema,`paragraph`),a=r.create({kind:`bullet`},i.create()),o=n.after(),s=e.tr.insert(o,a);s.setSelection(S.create(s.doc,o+2)),t(s.scrollIntoView())}return!0};function Oi(){return v(l({Enter:Di}),t.high)}const ki=new Set([`MscGen`,`Xù`,`MsGenny`,`Angular Template`,`Brainfuck`,`Esper`,`Oz`,`Factor`,`Squirrel`,`Yacas`,`mIRC`,`FCL`,`ECL`,`MUMPS`,`Pig`,`Asterisk`,`Z80`]),Ai=xe.map(e=>e.name).filter(e=>!ki.has(e)).map(e=>({label:e,value:e.toLowerCase()})).concat({label:`Plain text`,value:``}).sort((e,t)=>e.label.localeCompare(t.label));function ji(){return typeof window>`u`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}const Mi=/^(?:www\.|mobile\.)?(?:twitter\.com|x\.com)$/i,Ni=/\/status(?:es)?\/(\d+)/;function Pi(e){let t;try{t=new URL(e)}catch{return}if(Mi.test(t.hostname))return Ni.exec(t.pathname)?.[1]}const Fi=e=>{let t=Pi(e);if(!t)return;let n=ji()?`dark`:`light`;return{kind:`tweet`,key:`tweet:${t}`,src:`https://platform.twitter.com/embed/Tweet.html?id=${t}&theme=${n}&dnt=true`,title:`Tweet`,className:`md-embed md-embed-tweet`,testid:`tweet-embed`}};function Ii(e){let t=t=>{if(t.source===e.contentWindow)try{let n=t.data?.[`twttr.embed`]?.params?.[0]?.height;typeof n==`number`&&(e.style.height=`${n}px`)}catch(e){console.warn(`[meowdown] failed to parse tweet resize message:`,e)}};window.addEventListener(`message`,t);let n=!1,r=()=>{n||(n=!0,window.removeEventListener(`message`,t),i.disconnect())},i=new MutationObserver(()=>{e.isConnected||r()});return i.observe(document.body,{childList:!0,subtree:!0}),r}const Li=/^(?:www\.|m\.)?(?:youtube\.com|youtube-nocookie\.com)$/i,Ri=/^(?:www\.)?youtu\.be$/i,zi=/^[\w-]{11}$/;function Bi(e){let t;try{t=new URL(e)}catch{return}let n=null;if(Ri.test(t.hostname))n=t.pathname.slice(1);else if(Li.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||!zi.test(n))return;let r=t.searchParams.get(`start`)??t.searchParams.get(`t`),i=r?Vi(r):void 0;return{videoId:n,startSeconds:i}}function Vi(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 Hi=[e=>{let t=Bi(e);if(!t)return;let n=t.startSeconds?`?start=${t.startSeconds}`:``;return{kind:`youtube`,key:`youtube:${t.videoId}:${t.startSeconds??0}`,src:`https://www.youtube-nocookie.com/embed/${t.videoId}${n}`,title:`YouTube video`,className:`md-embed md-embed-youtube`,testid:`youtube-embed`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen`,allowFullscreen:!0}},Fi];function Ui(e){for(let t of Hi){let n=t(e);if(n)return n}}const Wi=new x(`meowdown-embed-paste`);function Gi(e){let t=e.trim();if(!(!t||/\s/.test(t)))return Ui(t)?t:void 0}function Ki(e,t){return e.clipboardData?.getData(`text/plain`)||t.content.textBetween(0,t.content.size,`
|
|
23
|
+
`)}function qi(e,t){let{from:n,to:r}=e.state.selection;e.dispatch(tt(e.state.tr.insertText(t,n,r)));let i=e.state.tr.insertText(``,n,n+t.length);e.dispatch(tt(i))}function Ji(){return m(new b({key:Wi,props:{handlePaste:(e,t,n)=>{let r=e.state.selection.$from.parent;if(!r.inlineContent||r.type.spec.code)return!1;let i=Ki(t,n);if(!i)return!1;let a=Gi(i);return a?(qi(e,a),!0):!1}}}))}const Yi=new x(`meowdown-exit-boundary`);function Xi(e,t){let{$anchor:n,$head:r}=e.selection,i=t>0?n.max(r):n.min(r),a=i.parent.inlineContent?i.depth?e.doc.resolve(t>0?i.after():i.before()):void 0:i;return!!(a&&ye.findFrom(a,t))}function Zi(e,t){let{state:n}=e,{selection:r}=n;return g(r)&&!r.empty||ne(r)||r.$from.parent.inlineContent&&!e.endOfTextblock(t<0?`up`:`down`)?!0:Xi(n,t)}function Qi(e){return new b({key:Yi,props:{handleKeyDown:(t,n)=>{if(n.shiftKey||n.altKey||n.ctrlKey||n.metaKey)return!1;let r=n.key===`ArrowUp`?-1:n.key===`ArrowDown`?1:void 0;return!(!r||Zi(t,r)||e({direction:r<0?`up`:`down`,event:n})===!1)}}})}function $i(e){return v(m(Qi(e)),t.low)}const ea=(e,t)=>{let n={type:`highlight`,children:e.all(t)};return e.patch(t,n),n},ta=(e,t,n,r)=>{let i=e,a=n.createTracker(r),o=a.move(`==`);return o+=a.move(n.containerPhrasing(i,{...a.current(),before:o,after:`=`})),o+=a.move(`==`),o};function na(){return ot().use(nt).use(rt,{handlers:{mark:ea}}).use(it).use(at,{bullet:`-`,emphasis:`*`,strong:`*`,fence:"`",fences:!0,rule:`-`,ruleRepetition:3,listItemIndent:`one`,handlers:{highlight:ta}}).freeze()}const ra=y(na);function ia(e){return String(ra().processSync(e))}const aa=new x(`meowdown-html-paste`);function oa(){return m(new b({key:aa,props:{transformPastedHTML:(e,t)=>{if(e.includes(`data-pm-slice`))return e;let n=t.state.selection.$from.parent;if(!n.inlineContent||n.type.spec.code)return e;let r=ia(e);if(!r.trim())return e;let i=q(r,{nodes:qr(t.state.schema)}),a=Ne.fromSchema(t.state.schema),o=document.createElement(`div`);return o.append(a.serializeFragment(i.content)),o.innerHTML}}}))}const sa=new x(`meowdown-image-click`);function ca(e,t){let n=D(e,t,`mdImage`);if(!n)return;let{src:r,alt:i}=n.mark.attrs;return{from:n.from,to:n.to,src:r,alt:i}}function la(e){return m(new b({key:sa,props:{handleClick:(t,n,r)=>{let i=r.target?.closest?.(`.md-image-view-preview`);if(!i)return!1;let a=i.closest(`.md-image-view`)?.querySelector(`.md-image-view-content`);if(!a)return!1;let o=ca(t.state,t.posAtDOM(a,0));return o?(e({src:o.src,alt:o.alt,event:r}),!0):!1}}}))}function ua(e){return/^https?:\/\//i.test(e)?e:void 0}function da(e){let t=document.createElement(`iframe`);return t.src=e.src,t.title=e.title,t.className=e.className,t.dataset.testid=e.testid,t.loading=`lazy`,t.referrerPolicy=`strict-origin-when-cross-origin`,t.setAttribute(`frameborder`,`0`),e.allow&&(t.allow=e.allow),e.allowFullscreen&&(t.allowFullscreen=!0),e.kind===`tweet`&&Ii(t),t}function fa(e,t,n){let r=Ui(e);if(r){let e=document.createElement(`span`);return e.className=`md-image-view-preview md-atom-view-preview`,e.appendChild(da(r)),e}let i=(n.resolveImageUrl??ua)(e);if(!i)return;let a=document.createElement(`span`);a.className=`md-image-view-preview md-atom-view-preview`,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 pa(e){return t=>{let{src:n,alt:r}=t.attrs,i=document.createElement(`span`);i.className=`md-image-view md-atom-view`;let a=document.createElement(`span`);a.className=`md-image-view-content md-atom-view-content`;let o=fa(n,r,e);return o&&(o.contentEditable=`false`,i.appendChild(o)),i.appendChild(a),{dom:i,contentDOM:a,ignoreMutation:e=>!a.contains(e.target)}}}function ma(e){return e?Array.from(e.files).filter(e=>e.type.startsWith(`image/`)):[]}const ha=e=>{console.error(`[meowdown] failed to save pasted image:`,e)};async function ga(e,t,n,r=ha,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 _a(e){return new b({key:new x(`image-input`),props:{handlePaste:(t,n)=>{let r=ma(n.clipboardData),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(ga(t,r,i,a),!0)},handleDrop:(t,n)=>{let r=ma(n.dataTransfer),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(ga(t,r,i,a,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function va(e={}){return _(d({name:`mdImage`,constructor:pa(e)}),v(m(_a(e)),t.high))}const ya={"Mod-b":`Bold`,"Mod-i":`Italic`,"Mod-e":`Inline code`,"Mod-Shift-x":`Strikethrough`,"Mod-Shift-h":`Highlight`,"Mod-k":`Link`,"Mod-1":`Heading 1`,"Mod-2":`Heading 2`,"Mod-3":`Heading 3`,"Mod-4":`Heading 4`,"Mod-5":`Heading 5`,"Mod-6":`Heading 6`};function $(e){return m(new b({key:e.key,props:{handleClick:(t,n,r)=>{if(!r.target?.closest?.(e.selector))return!1;let i=e.findPayloadAt(t.state,n);return i==null?!1:(e.preventDefault&&r.preventDefault(),e.onClick(i,r),!0)}}}))}const ba=new x(`meowdown-link-click`);function xa(e){return $({key:ba,selector:`.md-link`,preventDefault:!0,findPayloadAt:(e,t)=>K(e,t)?.href,onClick:(t,n)=>e({href:t,event:n})})}function Sa(e){let t,n=(n,r)=>{let i=r.target;if(!i||!ue(i))return;let a=i.closest(e.selector);if(!a||a===t)return;let o=n.posAtDOM(a,0),s=e.findPayloadAt(n.state,o);s!=null&&(t=a,e.onHoverChange({payload:s,element:a}))},r=n=>{if(!t)return;let r=n.relatedTarget;r&&t.contains(r)||(t=void 0,e.onHoverChange(void 0))};return _(s(`mouseover`,(e,t)=>n(e,t)),s(`mouseout`,(e,t)=>r(t)))}function Ca(e){return Sa({selector:`.md-link`,findPayloadAt:(e,t)=>K(e,t),onHoverChange:e})}const wa=new x(`meowdown-markdown-copy`);function Ta(){return m(new b({key:wa,props:{clipboardTextSerializer:(e,t)=>{let n=e.content,r;try{r=t.state.schema.topNodeType.createAndFill(void 0,n)??void 0}catch{r=void 0}return r?ci(r).replace(/\n+$/,``):n.textBetween(0,n.size,`
|
|
24
24
|
`,`
|
|
25
|
-
`)}}}))}const
|
|
25
|
+
`)}}}))}const Ea=new x(`meowdown-tag-click`);function Da(e,t){let n=D(e,t,`mdTag`);if(!n)return;let r=e.doc.textBetween(n.from,n.to),i=r.startsWith(`#`)?r.slice(1):r;return{from:n.from,to:n.to,tag:i}}function Oa(e){return $({key:Ea,selector:`.md-tag`,preventDefault:!1,findPayloadAt:(e,t)=>Da(e,t)?.tag,onClick:(t,n)=>e({tag:t,event:n})})}const ka=new x(`meowdown-wikilink-click`);function Aa(e,t){let n=D(e,t,`mdWikilink`);if(!n)return;let{target:r}=n.mark.attrs;return{from:n.from,to:n.to,target:r}}function ja(e){return $({key:ka,selector:`.md-wikilink-view-preview`,preventDefault:!1,findPayloadAt:(e,t)=>Aa(e,t)?.target,onClick:(t,n)=>e({target:t,event:n})})}const Ma=(e,t)=>{let{selection:n}=e;if(!n.empty&&!n.$head.sameParent(n.$anchor))return!1;let r=e.doc.textBetween(n.from,n.to);if(r.startsWith(`[[`))return!1;r.startsWith(`[`)&&(r=r.slice(1));let i=`[[`+r;if(t){let r=e.tr.insertText(i,n.from,n.to);r.setSelection(S.create(r.doc,n.from+i.length)),st(r),t(r.scrollIntoView())}return!0};function Na(){return l({"Mod-Shift-k":Ma})}function Pa(e,t){let n=()=>{let n=e.coordsAtPos(t.from),r=e.coordsAtPos(t.to),i=Math.min(n.left,r.left),a=Math.max(n.right,r.right),o=Math.min(n.top,r.top),s=Math.max(n.bottom,r.bottom);return new DOMRect(i,o,a-i,s-o)};return{getBoundingClientRect:n,getClientRects:()=>[n()]}}export{ya as EDITOR_KEY_BINDINGS,e as Priority,Ei as checkRoundTrip,Ai as codeBlockLanguages,ua as defaultResolveImageUrl,Oi as defineBulletAfterHeading,Ot as defineCodeBlockSyntaxHighlight,Br as defineEditorExtension,Ji as defineEmbedPaste,$i as defineExitBoundaryHandler,Ht as defineHTMLComment,oa as defineHTMLPaste,va as defineImage,la as defineImageClickHandler,xa as defineLinkClickHandler,_r as defineLinkCommands,yr as defineLinkEditKeymap,Ca as defineLinkHoverHandler,dt as defineMarkMode,Ta as defineMarkdownCopy,ce as definePlaceholder,le as defineReadonly,Oa as defineTagClickHandler,ja as defineWikilinkClickHandler,Na as defineWikilinkTrigger,ci as docToMarkdown,At as getCodeTokens,K as getLinkUnitAt,Ur as getMarkBuilders,Pa as getVirtualElementFromRange,vn as inlineTextToMarkChunks,mr as insertLink,Ii as listenForTweetHeight,q as markdownToDoc,Ui as matchEmbed,gr as removeLink,hr as updateLink,oe as withPriority};
|
package/dist/style.css
CHANGED
|
@@ -420,7 +420,7 @@ img.ProseMirror-separator {
|
|
|
420
420
|
background: var(--meowdown-selection);
|
|
421
421
|
}
|
|
422
422
|
|
|
423
|
-
.ProseMirror
|
|
423
|
+
.ProseMirror.ProseMirror-hideselection ::selection {
|
|
424
424
|
--meowdown-selection: transparent;
|
|
425
425
|
caret-color: #0000;
|
|
426
426
|
}
|
|
@@ -443,35 +443,8 @@ img.ProseMirror-separator {
|
|
|
443
443
|
background: color-mix(in oklab, var(--meowdown-accent) 10%, transparent);
|
|
444
444
|
color: color-mix(in oklab, var(--meowdown-accent) 80%, var(--meowdown-heading));
|
|
445
445
|
cursor: pointer;
|
|
446
|
-
border-radius:
|
|
447
|
-
padding:
|
|
448
|
-
}
|
|
449
|
-
|
|
450
|
-
.ProseMirror .md-wikilink-label, .ProseMirror .md-wikilink-source {
|
|
451
|
-
color: var(--meowdown-accent);
|
|
452
|
-
text-underline-offset: 2px;
|
|
453
|
-
cursor: pointer;
|
|
454
|
-
text-decoration: underline 1px dashed;
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
.ProseMirror[data-mark-mode="show"] .md-wikilink-label {
|
|
458
|
-
display: none;
|
|
459
|
-
}
|
|
460
|
-
|
|
461
|
-
.ProseMirror .md-image-preview-img {
|
|
462
|
-
vertical-align: bottom;
|
|
463
|
-
display: inline-block;
|
|
464
|
-
}
|
|
465
|
-
|
|
466
|
-
.ProseMirror .md-image-preview-img img {
|
|
467
|
-
max-height: var(--meowdown-image-max-height, 24rem);
|
|
468
|
-
border-radius: var(--meowdown-image-radius, .5rem);
|
|
469
|
-
max-width: 100%;
|
|
470
|
-
}
|
|
471
|
-
|
|
472
|
-
.ProseMirror .md-image-preview-embed {
|
|
473
|
-
margin-block: .5rem;
|
|
474
|
-
display: block;
|
|
446
|
+
border-radius: 6px;
|
|
447
|
+
padding: 2px 6px;
|
|
475
448
|
}
|
|
476
449
|
|
|
477
450
|
.ProseMirror .md-embed-youtube {
|
|
@@ -489,21 +462,6 @@ img.ProseMirror-separator {
|
|
|
489
462
|
display: block;
|
|
490
463
|
}
|
|
491
464
|
|
|
492
|
-
.ProseMirror[data-mark-mode="hide"] .md-image-view:has(.md-atomic-selected) .md-image-preview, .ProseMirror .md-wikilink-view:has(.md-atomic-selected) .md-wikilink-label {
|
|
493
|
-
outline: 2px solid var(--meowdown-node-outline);
|
|
494
|
-
outline-offset: 2px;
|
|
495
|
-
background: var(--meowdown-node-selection);
|
|
496
|
-
border-radius: .25rem;
|
|
497
|
-
}
|
|
498
|
-
|
|
499
|
-
.ProseMirror[data-mark-mode="hide"] .md-image-view:has(.md-atomic-selected) .md-image-preview {
|
|
500
|
-
border-radius: var(--meowdown-image-radius, .5rem);
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
.ProseMirror:has(.md-atomic-selected) {
|
|
504
|
-
caret-color: #0000;
|
|
505
|
-
}
|
|
506
|
-
|
|
507
465
|
.ProseMirror .prosekit-placeholder:before {
|
|
508
466
|
content: attr(data-placeholder);
|
|
509
467
|
float: left;
|
|
@@ -529,17 +487,13 @@ img.ProseMirror-separator {
|
|
|
529
487
|
}
|
|
530
488
|
|
|
531
489
|
.ProseMirror[data-mark-mode="hide"] {
|
|
532
|
-
& .md-mark, & .md-link-uri, & .md-link-title
|
|
490
|
+
& .md-mark, & .md-link-uri, & .md-link-title {
|
|
533
491
|
display: none;
|
|
534
492
|
}
|
|
535
493
|
}
|
|
536
494
|
|
|
537
495
|
.ProseMirror[data-mark-mode="focus"] {
|
|
538
|
-
& .md-
|
|
539
|
-
display: none;
|
|
540
|
-
}
|
|
541
|
-
|
|
542
|
-
& .md-mark, & .md-link-uri, & .md-link-title, & .md-image-source {
|
|
496
|
+
& .md-mark, & .md-link-uri, & .md-link-title {
|
|
543
497
|
vertical-align: bottom;
|
|
544
498
|
letter-spacing: -2em;
|
|
545
499
|
display: inline-block;
|
|
@@ -551,37 +505,80 @@ img.ProseMirror-separator {
|
|
|
551
505
|
}
|
|
552
506
|
}
|
|
553
507
|
|
|
554
|
-
.ProseMirror
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
}
|
|
559
|
-
|
|
560
|
-
.ProseMirror[data-mark-mode="hide"] .md-image-view-content, .ProseMirror[data-mark-mode="focus"] .md-image-view-content {
|
|
561
|
-
overflow: hidden;
|
|
508
|
+
.ProseMirror {
|
|
509
|
+
& .md-atom-view {
|
|
510
|
+
vertical-align: bottom;
|
|
511
|
+
display: inline-block;
|
|
512
|
+
}
|
|
562
513
|
|
|
563
|
-
|
|
564
|
-
|
|
514
|
+
& .md-atom-view-preview {
|
|
515
|
+
vertical-align: bottom;
|
|
516
|
+
-webkit-user-select: none;
|
|
517
|
+
user-select: none;
|
|
518
|
+
border-radius: 6px;
|
|
519
|
+
display: inline-block;
|
|
520
|
+
overflow: hidden;
|
|
565
521
|
}
|
|
566
|
-
}
|
|
567
522
|
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
523
|
+
& .md-atom-view:has(.md-atom-selected) {
|
|
524
|
+
& .md-atom-view-preview {
|
|
525
|
+
outline: 2px solid var(--meowdown-node-outline);
|
|
526
|
+
background: var(--meowdown-selection);
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
& ::selection {
|
|
530
|
+
background-color: #0000;
|
|
531
|
+
}
|
|
532
|
+
}
|
|
574
533
|
|
|
575
|
-
&
|
|
534
|
+
& .md-atom-view-content {
|
|
535
|
+
letter-spacing: -2em;
|
|
536
|
+
box-sizing: border-box;
|
|
576
537
|
color: #0000;
|
|
577
538
|
background-color: #0000;
|
|
539
|
+
align-items: end;
|
|
540
|
+
width: 2px;
|
|
541
|
+
margin-left: 2px;
|
|
542
|
+
margin-right: -4px;
|
|
543
|
+
display: inline-flex;
|
|
544
|
+
overflow: visible;
|
|
578
545
|
}
|
|
579
546
|
}
|
|
580
547
|
|
|
581
|
-
.ProseMirror
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
548
|
+
.ProseMirror {
|
|
549
|
+
& .md-image-view {
|
|
550
|
+
margin-left: 2px;
|
|
551
|
+
margin-right: 2px;
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
& .md-image-view-preview {
|
|
555
|
+
outline-offset: 2px;
|
|
556
|
+
border-radius: 6px;
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
& .md-image-view-preview img {
|
|
560
|
+
max-height: var(--meowdown-image-max-height, 24rem);
|
|
561
|
+
border-radius: var(--meowdown-image-radius, .5rem);
|
|
562
|
+
max-width: 100%;
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
.ProseMirror {
|
|
567
|
+
& .md-wikilink-view-label {
|
|
568
|
+
background: color-mix(in oklab, var(--meowdown-accent) 10%, transparent);
|
|
569
|
+
color: color-mix(in oklab, var(--meowdown-accent) 80%, var(--meowdown-heading));
|
|
570
|
+
text-underline-offset: 2px;
|
|
571
|
+
cursor: pointer;
|
|
572
|
+
border-radius: 6px;
|
|
573
|
+
padding: 2px 5px;
|
|
574
|
+
text-decoration-line: underline;
|
|
575
|
+
text-decoration-style: dashed;
|
|
576
|
+
text-decoration-thickness: 1px;
|
|
577
|
+
overflow: hidden;
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
& .md-wikilink-view:has(.md-atom-selected) .md-wikilink-view-label {
|
|
581
|
+
background-color: #0000;
|
|
582
|
+
outline-color: #0000;
|
|
583
|
+
}
|
|
587
584
|
}
|