@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 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 but
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 MdImageViewAttrs {
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 MdWikilinkSourceAttrs {
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
- mdWikilinkSource: MdWikilinkSourceAttrs;
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
- mdImageView: MdImageViewAttrs;
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 ["mdImageView", "mdImageSource", "mdMark", "mdEm", "mdStrong", "mdCode", "mdLinkText", "mdLinkUri", "mdLinkTitle", "mdDel", "mdHighlight", "mdTag", "mdWikilinkSource", "mdWikilinkView", "mdPack"];
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 MdImageViewAttrs, type MdLinkTextAttrs, type MdWikilinkViewAttrs, type MeowdownHTMLCommentAttrs, type NodeName, type PlaceholderOptions, type PositionRange, Priority, type RoundTripFidelity, type TagClickHandler, type TagClickPayload, type TypedEditor, type TypedMarkBuilders, type VirtualElement, type WikilinkClickHandler, type WikilinkClickPayload, checkRoundTrip, codeBlockLanguages, defaultResolveImageUrl, defineBulletAfterHeading, defineCodeBlockSyntaxHighlight, defineEditorExtension, defineEmbedPaste, defineExitBoundaryHandler, defineHTMLComment, defineHTMLPaste, defineImage, defineImageClickHandler, defineLinkClickHandler, defineLinkCommands, defineLinkEditKeymap, defineLinkHoverHandler, defineMarkMode, defineMarkdownCopy, definePlaceholder, defineReadonly, defineTagClickHandler, defineWikilinkClickHandler, defineWikilinkTrigger, docToMarkdown, getCodeTokens, getLinkUnitAt, getMarkBuilders, getVirtualElementFromRange, inlineTextToMarkChunks, insertLink, listenForTweetHeight, markdownToDoc, matchEmbed, removeLink, updateLink, withPriority };
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 be,DecorationSet as C}from"@prosekit/pm/view";import{LanguageDescription as xe}from"@codemirror/language";import{languages as Se}from"@codemirror/language-data";import{classHighlighter as Ce,highlightTree as we}from"@lezer/highlight";import{createParser as Te}from"prosemirror-highlight/lezer";import{defineHeadingCommands as Ee,defineHeadingInputRule as De,defineHeadingSpec as Oe}from"@prosekit/extensions/heading";import{defineHorizontalRule as ke}from"@prosekit/extensions/horizontal-rule";import{ReplaceStep as Ae,Step as je,StepResult as Me,Transform as Ne}from"@prosekit/pm/transform";import{DOMSerializer as Pe,Mark as Fe}from"@prosekit/pm/model";import{GFM as Ie,parser as Le}from"@lezer/markdown";import{defineInputRule as Re}from"@prosekit/extensions/input-rule";import{defineListCommands as ze,defineListDropIndicator as Be,defineListKeymap as Ve,defineListPlugins as He,defineListSerializer as Ue,defineListSpec as We,wrapInList as w}from"@prosekit/extensions/list";import{wrappingListInputRule as T}from"prosemirror-flat-list";import{defineParagraphCommands as Ge,defineParagraphKeymap as Ke}from"@prosekit/extensions/paragraph";import{defineTableCellSpec as qe,defineTableCommands as Je,defineTableDropIndicator as Ye,defineTableEditingPlugin as Xe,defineTableHeaderCellSpec as Ze,defineTableRowSpec as Qe,defineTableSpec as $e,deleteTable as et,isCellSelection as tt}from"@prosekit/extensions/table";import{closeHistory as nt}from"@prosekit/pm/history";import rt from"rehype-parse";import it from"rehype-remark";import at from"remark-gfm";import ot from"remark-stringify";import{unified as st}from"unified";import{triggerAutocomplete as ct}from"@prosekit/extensions/autocomplete";function E(e,t,n){let r=e.doc.content.size;if(t<0||t>r)return;let i=e.doc.resolve(t);if(!(!i.parent.isTextblock||i.parent.type.spec.code))return h(i,n)}const lt=new Set([`mdMark`,`mdLinkUri`,`mdLinkTitle`]),ut=new Set([`mdImageSource`,`mdWikilinkSource`]),dt=new x(`mark-mode`);function ft(e){return new b({key:dt,state:{init:()=>e,apply:(e,t)=>t},props:{attributes:{"data-mark-mode":e},decorations:e===`focus`?e=>gt(e):void 0,clipboardTextSerializer:e===`show`?void 0:ht}})}function pt(e){return m(ft(e))}function mt(e){return dt.getState(e)}function ht(e){let t=[];return e.content.forEach(e=>{let n=[];e.descendants(e=>!e.isText||!e.text?!0:(!e.marks.some(e=>ut.has(e.type.name))&&e.marks.some(e=>lt.has(e.type.name))||n.push(e.text),!1)),t.push(n.join(``))}),t.join(`
2
- `)}function gt(e){let{selection:t}=e;if(!t.empty)return C.empty;let n=t.$head,{parent:r}=n;if(!r.isTextblock||r.type.spec.code)return C.empty;let i=h(n,ee(e.schema,`mdPack`));return i?C.create(e.doc,[be.inline(i.from,i.to,{class:`show`})]):C.empty}function D(e,t){let n=mt(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function _t(e,t,n){for(let r of n){let n=E(e,t,r);if(n)return n}}function O(e,t,n){let r=_t(e,t,n);return r&&r.to===t?r:void 0}function k(e,t,n){let r=_t(e,t,n);return r&&r.from===t?r:void 0}function A(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=_t(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function vt(e,t){return S.create(e.doc,t.from,t.to)}function yt(e){return(t,n)=>{let r=D(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=k(t,i.from,r);if(e)return n?.(t.tr.setSelection(vt(t,e))),!0;if(O(t,i.from,r)){let e=t.doc.resolve(i.from);return i.from>=e.end()?!1:(n?.(t.tr.setSelection(S.create(t.doc,i.from+1))),!0)}return!1}let a=A(t,r);return a?(n?.(t.tr.setSelection(S.create(t.doc,a.to))),!0):!1}}function bt(e){return(t,n)=>{let r=D(e,t);if(r.length===0||!g(t.selection))return!1;let i=t.selection;if(i.empty){let e=O(t,i.from,r);return e?(n?.(t.tr.setSelection(vt(t,e))),!0):!1}let a=A(t,r);return a?(n?.(t.tr.setSelection(S.create(t.doc,a.from))),!0):!1}}function xt(e){return(t,n)=>{let r=D(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=O(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!k(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function St(e){return(t,n)=>{let r=D(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=k(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!O(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}function Ct(e,t){return new b({key:new x(`atomic-mark-selection-${t}`),props:{decorations:n=>{let r=D(e,n);if(r.length===0)return;let i=A(n,r);if(i)return C.create(n.doc,[be.inline(i.from,i.to,{class:t})])}}})}function wt({marks:e,selectedClass:n}){return _(v(l({ArrowRight:yt(e),ArrowLeft:bt(e),Backspace:xt(e),Delete:St(e)}),t.high),m(Ct(e,n)))}const j=new Map,Tt=new Map;async function Et(e){let t=j.get(e);if(t!==void 0)return t;let n=xe.matchLanguageName(Se,e,!0);if(!n)return j.set(e,null),null;let r=n.support;if(!r)try{r=await n.load()}catch(t){return console.error(`[meowdown] Failed to load language "${e}":`,t),j.set(e,null),null}return j.set(e,r),r}function Dt(e,t){let n=Tt.get(e);if(n)return n;let r=Te({parse:e=>t.language.parser.parse(e.content),highlighter:Ce});return Tt.set(e,r),r}const Ot=e=>{let t=e.language?.trim();if(!t)return[];let n=j.get(t);return n===null?[]:n?Dt(t,n)(e):Et(t).then(()=>void 0)};function kt(){return pe({parser:Ot,nodeTypes:[`codeBlock`]})}function At(e,t){let n=t.language.parser.parse(e),r=[];return we(n,Ce,(e,t,n)=>{r.push([e,t,n])}),r}function jt(e,t){let n=t.trim();if(!n)return[];let r=j.get(n);return r===null?[]:r?At(e,r):Et(n).then(t=>t?At(e,t):[])}function Mt(e,t){return(n,r)=>{if(r){let i=S.create(n.doc,e,t);r(n.tr.setSelection(i))}return!0}}function Nt(e,t,n){return(r,i)=>{if(i){let a=S.between(e,t,n);i(r.tr.setSelection(a))}return!0}}function Pt(){return o({selectText:Mt,selectTextBetween:Nt})}function Ft(){return f({type:`doc`,attr:`frontmatter`,default:null})}function It(){return p({name:`heading`,whitespace:`pre`})}function Lt(){return f({type:`heading`,attr:`setextUnderline`,default:null,toDOM:e=>e==null?null:[`data-setext-underline`,String(e)],parseDOM:e=>{let t=e.getAttribute(`data-setext-underline`);if(t==null)return null;let n=Number.parseInt(t,10);return Number.isSafeInteger(n)&&n>0?n:null}})}function M(e){return se(ie({type:`heading`,attrs:{level:e}}))}const Rt=(e,t,n)=>re(e,n)?.parent.type.name===`heading`?ae()(e,t,n):!1;function zt(){return l({"Mod-1":M(1),"Mod-2":M(2),"Mod-3":M(3),"Mod-4":M(4),"Mod-5":M(5),"Mod-6":M(6),Backspace:Rt})}function Bt(){return _(Oe(),It(),Lt(),De(),Ee(),zt())}function Vt(){return f({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function Ht(){return _(ke(),Vt())}function Ut(){return p({name:`htmlComment`,group:`block`,atom:!0,selectable:!1,attrs:{content:{default:``}},toDOM:e=>[`div`,{"data-html-comment":e.attrs.content,style:`display: none`}],parseDOM:[{tag:`div[data-html-comment]`,getAttrs:e=>({content:e.getAttribute(`data-html-comment`)??``})}]})}function Wt(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function Gt(e,t){let[n,r,i]=t;return[n,r,i.map(t=>Fe.fromJSON(e,t))]}var N=class e extends je{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return Me.ok(e);let t=e.content.size,n;for(let[r,i,a]of this.chunks){if(r>=i)continue;let o=Math.max(0,Math.min(r,t)),s=Math.max(o,Math.min(i,t));o>=s||e.nodesBetween(o,s,(t,r)=>{if(!t.isText)return!0;let i=Math.max(o,r),c=Math.min(s,r+t.nodeSize);if(i>=c)return!1;let l=t.marks;for(let t of l)t.isInSet(a)||(n??=new Ne(e),n.removeMark(i,c,t));for(let t of a)t.isInSet(l)||(n??=new Ne(e),n.addMark(i,c,t));return!1})}return Me.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return Kt;let t=this.chunks[0][0],n=this.chunks[0][1];for(let[,e]of this.chunks)e>n&&(n=e);let r=e.content.size,i=Math.max(0,Math.min(t,r)),a=Math.max(i,Math.min(n,r));return new Ae(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(Wt)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>Gt(t,e)))}};je.jsonID(`batchSetMark`,N);const Kt=new N([]),qt=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),Jt=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function Yt(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function Xt(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!qt.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!Jt.test(e))return!1;return!0}function P(e){return e===32||e===9||e===10||e===13}const Zt=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,Qt=/[\s(*_~]/;function $t(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function en(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function tn(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&en(e,t,`)`)>en(e,t,`(`))t--;else if(n===`;`){let n=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(0,t));if(!n)break;t=n.index}else break}return t}const nn={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!$t(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!Qt.test(r))return-1;let i=Zt.exec(e.slice(n,e.end));if(!i)return-1;let a=tn(i[0]);return a===0||!Xt(Yt(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function rn(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45||e===95||e>127&&/[\p{L}\p{N}]/u.test(String.fromCharCode(e))}function an(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const on={defineNodes:[{name:`Hashtag`}],parseInline:[{name:`Hashtag`,parse(e,t,n){if(t!==35||!/\s|^$/.test(e.slice(n-1,n)))return-1;let r=n+1,i=!1;for(;r<e.end;){let t=e.char(r);if(!rn(t))break;i||=an(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},sn={resolve:`Highlight`,mark:`HighlightMark`},cn=/[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~\u{A1}\u{2010}-\u{2027}]/u,ln={defineNodes:[{name:`Highlight`},{name:`HighlightMark`}],parseInline:[{name:`Highlight`,after:`Emphasis`,parse(e,t,n){if(t!==61||e.char(n+1)!==61||e.char(n+2)===61)return-1;let r=e.slice(n-1,n),i=e.slice(n+2,n+3),a=/\s|^$/.test(r),o=/\s|^$/.test(i),s=cn.test(r),c=cn.test(i);return e.addDelimiter(sn,n,n+2,!o&&(!c||a||s),!a&&(!s||o||c))}}]},un={defineNodes:[{name:`Wikilink`},{name:`WikilinkMark`}],parseInline:[{name:`Wikilink`,before:`Link`,parse(e,t,n){if(t!==91||e.char(n+1)!==91)return-1;let r=!1;for(let t=n+2;t<e.end-1;t++){let i=e.char(t);if(i===93){if(e.char(t+1)!==93||!r)return-1;let i=t+2;return e.addElement(e.elt(`Wikilink`,n,i,[e.elt(`WikilinkMark`,n,n+2),e.elt(`WikilinkMark`,t,i)]))}if(i===91||i===10)return-1;i!==32&&i!==9&&(r=!0)}return-1}}]};function dn(e){return e.end}const F=Le.configure([Ie,on,un,nn,ln]),fn=F.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:dn}]});function I(e){return F.parseInline(e,0)}function L(e,t,n=[]){for(let r of e)t(r)&&n.push(r),L(r.children,t,n);return n}function pn(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const R=pn(F);function mn(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}function hn(e){let t=e.replace(/^\[\[/,``).replace(/\]\]$/,``),n=t.indexOf(`|`);return n<0?{target:t.trim(),display:``}:{target:t.slice(0,n).trim(),display:t.slice(n+1).trim()}}function gn(){return e=>{let t=e.attrs,n=document.createElement(`span`);n.className=`md-wikilink-view`;let r=document.createElement(`span`);r.className=`md-wikilink-label`,r.contentEditable=`false`,r.dataset.testid=`wikilink`,r.textContent=t.display||t.target,n.appendChild(r);let i=document.createElement(`span`);return i.className=`md-wikilink-view-content`,n.appendChild(i),{dom:n,contentDOM:i,ignoreMutation:e=>!i.contains(e.target)}}}function _n(){return d({name:`mdWikilinkView`,constructor:gn()})}const vn=new Map([[R.Emphasis,`mdEm`],[R.StrongEmphasis,`mdStrong`],[R.InlineCode,`mdCode`],[R.Strikethrough,`mdDel`],[R.Highlight,`mdHighlight`],[R.EmphasisMark,`mdMark`],[R.CodeMark,`mdMark`],[R.LinkMark,`mdMark`],[R.StrikethroughMark,`mdMark`],[R.HighlightMark,`mdMark`],[R.URL,`mdLinkUri`],[R.LinkTitle,`mdLinkTitle`],[R.Hashtag,`mdTag`],[R.WikilinkMark,`mdMark`]]);function yn(e,t){let n=I(t),r=[];return z(n,[],0,t.length,t,e,r),r}function bn(e){if(/^[a-z][a-z0-9+.-]*:/i.test(e))return e;if(/^[^\s@]+@[^\s@]+$/.test(e))return`mailto:${e}`;if(/^www\./i.test(e)||Xt(Yt(e)))return`https://${e}`}function xn(e){return e.slice(1,-1).replaceAll(/\\(.)/g,`$1`)}function z(e,t,n,r,i,a,o){let s=n;for(let n of e){n.from>s&&B(o,s,n.from,t);let e=n.type;if(e===R.Link)Sn(n,t,i,a,o);else if(e===R.Image)Cn(n,t,i,a,o);else if(e===R.Wikilink)wn(n,t,i,a,o);else if(e===R.URL){let e=bn(i.slice(n.from,n.to)),r=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();B(o,n.from,n.to,[...t,r])}else{let r;e===R.Emphasis?r=`italic`:e===R.StrongEmphasis?r=`bold`:e===R.InlineCode?r=`code`:e===R.Strikethrough?r=`strike`:e===R.Highlight?r=`highlight`:e===R.Autolink&&(r=`autolink`);let s=r?[...t,a.mdPack.create({key:r})]:t,c=vn.get(e),l=c?[...s,a[c].create()]:s;n.children.length===0?B(o,n.from,n.to,l):z(n.children,l,n.from,n.to,i,a,o)}s=n.to}s<r&&B(o,s,r,t)}function Sn(e,t,n,r,i){let a=-1,o=null,s=null,c=0;for(let t of e.children)t.type===R.LinkMark?(c++,c===2&&(a=t.from)):t.type===R.URL&&o===null?o=t:t.type===R.LinkTitle&&s===null&&(s=t);let l=o?n.slice(o.from,o.to):``,u=s?xn(n.slice(s.from,s.to)):``,d=l?r.mdLinkText.create({href:l}):null,f=e=>a>=0&&e<a&&d!==null,p=r.mdPack.create({key:`link`,data:{href:l,title:u}}),m=[...t,p],h=e.from;for(let t of e.children){if(t.from>h){let e=f(h)?[...m,d]:m;B(i,h,t.from,e)}let e=f(t.from)?[...m,d]:m;if(t.type===R.Wikilink){wn(t,e,n,r,i),h=t.to;continue}let a=vn.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?B(i,t.from,t.to,o):z(t.children,o,t.from,t.to,n,r,i),h=t.to}h<e.to&&B(i,h,e.to,m)}function Cn(e,t,n,r,i){let a=e.children.find(e=>e.type===R.URL);if(!a){Sn(e,t,n,r,i);return}let o=e.children.filter(e=>e.type===R.LinkMark),s=n.slice(a.from,a.to),c=o.length>=2?n.slice(o[0].to,o[1].from):``,l=r.mdImageSource.create({src:s,alt:c}),u=r.mdImageView.create({src:s,alt:c}),d=r.mdPack.create({key:`image`,data:{src:s}}),f=e.to-1,p=e=>e>=f?[...t,d,l,u]:[...t,d,l],m=e.from;for(let t of e.children){t.from>m&&B(i,m,t.from,p(m));let e=vn.get(t.type),a=e?[...p(t.from),r[e].create()]:p(t.from);t.children.length===0?B(i,t.from,t.to,a):z(t.children,a,t.from,t.to,n,r,i),m=t.to}m<e.to&&B(i,m,e.to,p(m))}function wn(e,t,n,r,i){let{target:a,display:o}=hn(n.slice(e.from,e.to)),s=r.mdWikilinkSource.create({target:a}),c=r.mdWikilinkView.create({target:a,display:o}),l=e.to-1,u=e=>e>=l?[...t,s,c]:[...t,s],d=e.from;for(let t of e.children){t.from>d&&B(i,d,t.from,u(d));let e=r.mdMark.create();t.from<l&&t.to>l?(B(i,t.from,l,[...u(t.from),e]),B(i,l,t.to,[...u(l),e])):B(i,t.from,t.to,[...u(t.from),e]),d=t.to}d<e.to&&B(i,d,e.to,u(d))}function B(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&mn(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const Tn=`inline-marks-applied`,En=new WeakMap;let Dn=0,On=0;function kn(e,t,n){let r=En.get(e);if(r?On++:(Dn++,r=yn(Yr(n),e.textContent),En.set(e,r)),t===0)return r;let i=[];for(let[e,n,a]of r)i.push([e+t,n+t,a]);return i}function An(e,t){let n=1/0,r=-1/0;for(let t of e)for(let e of t.mapping.maps)e.forEach((e,t,i,a)=>{i<n&&(n=i),a>r&&(r=a)});let i=t.doc.content.size;return n>r?{from:0,to:i}:{from:Math.max(0,n),to:Math.min(i,r)}}function jn(e,t){let n=[];return e.doc.nodesBetween(t.from,t.to,(t,r)=>{if(t.type.spec.code)return!1;if(!t.isTextblock)return!0;if(t.childCount===0)return!1;let i=kn(t,r+1,e.schema);return i.length>0&&n.push(...i),!1}),n}function Mn(){return new b({key:new x(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(Tn))return null;let r=jn(n,An(e,n));if(r.length===0)return null;let i=n.tr.step(new N(r));return i.setMeta(Tn,!0),i.setMeta(`addToHistory`,!1),i},view(e){return e.dispatch(Nn(e.state)),{}}})}function Nn(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function Pn(){return m(Mn())}function Fn(){return u({name:`mdImageView`,inclusive:!1,attrs:{src:{default:``},alt:{default:``}},toDOM:()=>[`span`,{class:`md-image-anchor`},0],parseDOM:[{tag:`span.md-image-anchor`}]})}function In(){return u({name:`mdImageSource`,inclusive:!1,attrs:{src:{default:``},alt:{default:``}},toDOM:()=>[`span`,{class:`md-image-source`},0],parseDOM:[{tag:`span.md-image-source`}]})}function Ln(){return u({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function Rn(){return u({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function zn(){return u({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function Bn(){return u({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function Vn(){return u({name:`mdLinkText`,inclusive:!1,attrs:{href:{default:``}},toDOM:e=>[`a`,{class:`md-link`,href:e.attrs.href},0],parseDOM:[{tag:`a`,getAttrs:e=>({href:e.getAttribute(`href`)??``})}]})}function Hn(){return u({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function Un(){return u({name:`mdLinkTitle`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-title`},0],parseDOM:[{tag:`span.md-link-title`}]})}function Wn(){return u({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function Gn(){return u({name:`mdHighlight`,toDOM:()=>[`mark`,0],parseDOM:[{tag:`mark`}]})}function Kn(){return u({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function qn(){return u({name:`mdWikilinkSource`,inclusive:!1,attrs:{target:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink-source`},0],parseDOM:[{tag:`span.md-wikilink-source`}]})}function Jn(){return u({name:`mdWikilinkView`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink-anchor`},0],parseDOM:[{tag:`span.md-wikilink-anchor`}]})}function Yn(){return u({name:`mdPack`,excludes:``,inclusive:!1,attrs:{key:{},data:{default:null}},toDOM:e=>[`span`,{class:`md-pack`,"data-key":e.attrs.key},0],parseDOM:[{tag:`span.md-pack`}]})}function Xn(){return _(Ln(),Rn(),zn(),Bn(),Vn(),Hn(),Un(),Wn(),Gn(),Kn(),qn(),Jn(),In(),Fn(),Yn())}function Zn(e,t=0){let n=t,r=0;for(let t=0;t<e.length;t++)e.charCodeAt(t)===96?(r++,r>n&&(n=r)):r=0;return n}const V={em:{node:R.Emphasis,delim:`*`},strong:{node:R.StrongEmphasis,delim:`**`},code:{node:R.InlineCode,delim:"`"},del:{node:R.Strikethrough,delim:`~~`},highlight:{node:R.Highlight,delim:`==`}},Qn=new Set([R.EmphasisMark,R.CodeMark,R.LinkMark,R.StrikethroughMark,R.HighlightMark]);function H(e){return[e.children[0],e.children.at(-1)]}function $n(e){let{type:t,children:n}=e;if(t===R.Emphasis||t===R.StrongEmphasis||t===R.Strikethrough||t===R.Highlight)return[n[0].to,n.at(-1).from];if(t===R.Link||t===R.Image){let e=n.find((e,t)=>t>0&&e.type===R.LinkMark);return e?[n[0].to,e.from]:null}return null}function er(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=$n(r);return i&&i[0]<=t&&n<=i[1]?er(r.children,t,n):er(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function tr(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return tr(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}function nr(e,t,n){for(;t<n&&P(e.charCodeAt(t));)t++;for(;n>t&&P(e.charCodeAt(n-1));)n--;return[t,n]}function rr(e,t,n,r){let i=L(I(e),e=>e.type===r.node||Qn.has(e.type));for(let r=t;r<n;r++)if(!P(e.charCodeAt(r))&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function ir(e,t,n,r,i){let a=I(e),o=L(a,e=>e.type===r.node);return i?sr(e,o,t,n):ar(e,a,o,t,n,r)}function ar(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=er(t,r,i);for(let e of n)e.to===r&&(r=e.from),e.from===i&&(i=e.to)}let o=[];for(let e of n)if(r<=e.from&&e.to<=i){let[t,n]=H(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=or(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function or(e,t,n,r,i){if(i.node!==R.InlineCode)return[i.delim,i.delim];let a=e.slice(t,n);for(let e of[...r].sort((e,t)=>t.from-e.from))a=a.slice(0,e.from-t)+a.slice(e.to-t);let o="`".repeat(Zn(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function sr(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=H(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=tr(a.children.slice(1,-1),s,c);s>t.to&&P(e.charCodeAt(s-1));)s--;for(;c<o.from&&P(e.charCodeAt(c));)c++;s>t.to?i.push({from:s,to:s,insert:e.slice(o.from,o.to)}):i.push({from:t.from,to:t.to,insert:``}),c<o.from?i.push({from:c,to:c,insert:e.slice(t.from,t.to)}):i.push({from:o.from,to:o.to,insert:``})}return i}function cr(e,t,n){let{delim:r}=n,i=r.length;if(e.slice(t-i,t)===r&&e.startsWith(r,t)&&e[t-i-1]!==r[0]&&e[t+i]!==r[0])return{kind:`unwrap`,from:t-i,to:t+i};let a=I(e),o=L(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=H(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return lr(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function lr(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=$n(n);return!e||t<e[0]||t>e[1]?!0:lr(n.children,t)}return!1}function U(e){return(t,n)=>{if(t.selection.empty)return ur(e,t,n);let{from:r,to:i,anchor:a,head:o}=t.selection,s=[];t.doc.nodesBetween(r,i,(t,n)=>{if(t.type.spec.code)return!1;if(!t.isTextblock)return!0;let a=t.textContent,o=n+1,[c,l]=nr(a,Math.max(r-o,0),Math.min(i-o,a.length));return c<l&&s.push({text:a,base:o,from:c,to:l,active:rr(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>ir(t.text,t.from,t.to,e,c).map(e=>({from:e.from+t.base,to:e.to+t.base,insert:e.insert})));if(l.length===0)return!1;if(n){let e=t.tr;l.sort((e,t)=>t.from-e.from||t.to-e.to);for(let t of l)t.insert?e.insertText(t.insert,t.from,t.to):e.delete(t.from,t.to);e.setSelection(S.create(e.doc,e.mapping.map(a,a<=o?1:-1),e.mapping.map(o,o<a?1:-1))),n(e.scrollIntoView())}return!0}}function ur(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=cr(i.textContent,r.parentOffset,e);if(!a)return!1;if(n){let i=r.start(),o=t.tr;a.kind===`unwrap`&&o.delete(i+a.from,i+a.to),a.kind===`move`&&o.setSelection(S.create(o.doc,i+a.pos)),a.kind===`insert`&&(o.insertText(e.delim+e.delim,i+a.pos),o.setSelection(S.create(o.doc,i+a.pos+e.delim.length))),n(o.scrollIntoView())}return!0}function dr(){return o({toggleEm:()=>U(V.em),toggleStrong:()=>U(V.strong),toggleCode:()=>U(V.code),toggleDel:()=>U(V.del),toggleHighlight:()=>U(V.highlight)})}function fr(){return l({"Mod-b":U(V.strong),"Mod-i":U(V.em),"Mod-e":U(V.code),"Mod-Shift-x":U(V.del),"Mod-Shift-h":U(V.highlight)})}function pr(){return _(dr(),fr())}function mr(e,t,n){let r;return e.doc.nodesBetween(t.from,t.to,(e,i)=>(e.isText&&e.marks.some(e=>e.type.name===n)&&(r={from:Math.max(i,t.from),to:Math.min(i+e.nodeSize,t.to)}),!0)),r}function W(e,t){let n=E(e,t,`mdLinkText`),r=E(e,t,`mdPack`),i=r??n;if(!i)return;let a=r?.mark.attrs,o=n?.mark.attrs?.href??``;if(!r||a?.key!==`link`)return{unit:{from:i.from,to:i.to},href:o,title:``};let s=mr(e,i,`mdLinkUri`),c=s?s.from-2:i.to-3,l=s?s.from:i.to-1;return{unit:{from:i.from,to:i.to},label:{from:i.from+1,to:c},dest:{from:l,to:i.to-1},href:a.data.href,title:a.data.title}}function hr(e){let t=e.trim();return t?bn(t)??t:``}function gr(e,t){return e+(t?` "${t.replaceAll(/(["\\])/g,String.raw`\$1`)}"`:``)}function _r(e){let{selection:t}=e,{$from:n,$to:r,empty:i}=t;if(i||!n.sameParent(r)||!g(t))return;let a=n.parent;if(!a.isTextblock||a.type.spec.code)return;let o=n.start(),[s,c]=nr(a.textContent,n.parentOffset,r.parentOffset);if(!(s>=c))return{from:o+s,to:o+c}}function vr(e={}){return(t,n)=>{let r=gr(hr(e.href??``),e.title??``),i=_r(t);if(!i)return!1;if(n){let{from:e,to:a}=i,o=t.tr,s=`](${r})`;o.insertText(s,a).insertText(`[`,e),n(o.setSelection(S.create(o.doc,e,a+1+s.length)).scrollIntoView())}return!0}}function yr(e){return(t,n)=>{let r=W(t,t.selection.from);if(!r?.dest)return!1;let i=gr(hr(e.href??r.href),e.title??r.title);return n&&n(t.tr.insertText(i,r.dest.from,r.dest.to).scrollIntoView()),!0}}function br(){return(e,t)=>{let n=W(e,e.selection.from);return n?.label?(t&&t(e.tr.delete(n.label.to,n.unit.to).delete(n.unit.from,n.label.from).scrollIntoView()),!0):!1}}function xr(){return o({insertLink:vr,updateLink:yr,removeLink:br})}function Sr(e){return(t,n,r)=>{let i=W(t,t.selection.from);if(i){if(n&&r){let{unit:{from:a,to:o}}=i;n(t.tr.setSelection(S.create(t.doc,a,o)).scrollIntoView()),r.focus(),e({from:a,to:o,link:i})}return!0}let a=_r(t);if(a){if(n&&r){let{from:i,to:o}=a;n(t.tr.setSelection(S.create(t.doc,i,o)).scrollIntoView()),r.focus(),e({from:i,to:o,link:void 0})}return!0}return!1}}function Cr(e){return l({"Mod-k":Sr(e)})}function wr(){return f({type:`list`,attr:`marker`,default:null,splittable:!0,toDOM:e=>e===`)`||e===`*`||e===`+`?[`data-list-marker`,e]:null,parseDOM:e=>{let t=e.getAttribute(`data-list-marker`);return t===`)`||t===`*`||t===`+`?t:null}})}function Tr(){return f({type:`list`,attr:`taskMarker`,default:null,splittable:!0,toDOM:e=>e===`X`?[`data-list-task-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-list-task-marker`)===`X`?`X`:null})}function Er(e){return e===2||e===3||e===4}function Dr(){return f({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>Er(e)?[`data-list-marker-gap`,String(e)]:null,parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return Er(t)?t:1}})}const Or=[T(/^\s?([*-])\s$/,{kind:`bullet`,collapsed:!1}),T(/^\s?(\d+)\.\s$/,({match:e})=>{let t=e[1],n=t?parseInt(t,10):void 0;return{kind:`ordered`,collapsed:!1,order:n&&n>=2&&Number.isSafeInteger(n)?n:null}}),T(/^\s?\[([\sXx]?)]\s$/,({match:e})=>({kind:`task`,checked:[`x`,`X`].includes(e[1]),collapsed:!1})),T(/^\s?\+\s$/,{kind:`task`,marker:`+`,checked:!1,collapsed:!1})];function kr(){return _(Or.map(Re))}function Ar(){return w({kind:`task`,marker:`+`})}function jr(){return w({kind:`task`,marker:null})}function Mr(){return o({wrapInCircleTask:Ar,wrapInSquareTask:jr})}function Nr(e){let{$from:t}=e.selection;for(let e=t.depth;e>0;e--){let n=t.node(e);if(n.type.name===`list`)return n.attrs}return null}function Pr(){return(e,t,n)=>{let r=Nr(e),i=r?.kind===`task`&&r.marker!==`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:r?.marker??null,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:null,checked:!1},w(a)(e,t,n)}}function Fr(){return(e,t,n)=>{let r=Nr(e),i=r?.kind===`task`&&r.marker===`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:`+`,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:`+`,checked:!1},w(a)(e,t,n)}}function Ir(){return l({"Mod-Enter":Pr(),"Mod-Shift-Enter":Fr()})}function Lr(){return _(We(),He(),Ve(),ze(),Ue(),Be(),kr(),Ir(),wr(),Tr(),Dr(),Mr())}function Rr(){return p({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function zr(){return _(v(Rr(),t.highest),Ge(),Ke())}const Br=(e,t)=>{let{selection:n}=e;return!tt(n)||!n.isColSelection()||!n.isRowSelection()?!1:et(e,t)};function Vr(){return v(l({Backspace:Br,Delete:Br}),t.high)}function Hr(){return _($e(),Qe(),qe(),Ze(),Xe({allowTableNodeSelection:!0}),Je(),Ye(),Vr())}function Ur(){return _(zr(),me(),Ft(),_e(),de(),Lr(),Bt(),Hr(),fe(),Ht(),Ut(),Xn(),kt(),Pn(),pr(),xr(),_n(),wt({marks:[{name:`mdImageSource`,modes:[`hide`]},{name:`mdWikilinkSource`,modes:[`hide`,`focus`,`show`]}],selectedClass:`md-atomic-selected`}),a(),i(),c(),he(),ve(),ge(),Pt())}function Wr(){return Ur()}const Gr=y(()=>{let e=Wr().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),Kr=y(()=>r(Gr())),qr=y(()=>n(Gr())),Jr=`meowdown_mark_builders`;function Yr(e){let t=e.cached[Jr];if(t)return t;let r=n(e);return e.cached[Jr]=r,r}const Xr=`meowdown_node_builders`;function Zr(e){let t=e.cached[Xr];if(t)return t;let n=r(e);return e.cached[Xr]=n,n}function G(e,t={}){let{nodes:n=Kr(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=$r(e);i=t,n&&(a=e.slice(n))}let o=ei(n,fn.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const Qr=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function $r(e){let t=Qr.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function ei(e,t,n){let r=[];if(!t.firstChild())return r;do r.push(...K(e,t,n));while(t.nextSibling());return t.parent(),r}function K(e,t,n){switch(t.type.id){case R.ATXHeading1:return[q(e,t,n,1,!1)];case R.ATXHeading2:return[q(e,t,n,2,!1)];case R.ATXHeading3:return[q(e,t,n,3,!1)];case R.ATXHeading4:return[q(e,t,n,4,!1)];case R.ATXHeading5:return[q(e,t,n,5,!1)];case R.ATXHeading6:return[q(e,t,n,6,!1)];case R.SetextHeading1:return[q(e,t,n,1,!0)];case R.SetextHeading2:return[q(e,t,n,2,!0)];case R.Paragraph:return[Z(e,t,n)];case R.CommentBlock:return[ri(e,t,n)];case R.HTMLBlock:case R.ProcessingInstructionBlock:return[Z(e,t,n)];case R.Blockquote:return[ii(e,t,n)];case R.BulletList:return ai(e,t,n,`bullet`);case R.OrderedList:return ai(e,t,n,`ordered`);case R.FencedCode:case R.CodeBlock:return[si(e,t,n)];case R.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case R.Table:return[ci(e,t,n)];case R.Task:return[Z(e,t,n)];default:return n.slice(t.from,t.to).trim()===``?[]:(console.warn(`[meowdown] unsupported lezer block "${t.type.name}"`),[Z(e,t,n)])}}function q(e,t,n,r,i){let a=t.from,o=t.from,s=t.to,c=-1,l=-1;if(t.firstChild()){t.type.id===R.HeaderMark&&t.from===a&&(o=t.to);let e=-1,n=-1,r=-1;do e=t.type.id,n=t.from,r=t.to;while(t.nextSibling());e===R.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=Y(n.slice(o,s),J(n,o)).trim(),d=i?ti(n,c,l)||1:null;return e.heading({level:r,setextUnderline:d},u)}function ti(e,t,n){if(t<0)return 0;let r=0;for(let i=t;i<n;i++){let t=e.charCodeAt(i);(t===61||t===45)&&r++}return r}function J(e,t){let n=e.lastIndexOf(`
3
- `,t-1)+1,r=0;for(let i=n;i<t;i++)r+=e.charCodeAt(i)===9?4-r%4:1;return r}function ni(e,t){let n=0,r=0;for(;r<e.length&&n<t;){let t=e.charCodeAt(r);if(t===32)n+=1;else if(t===9)n+=4-n%4;else break;r++}return e.slice(r)}function Y(e,t){return t===0||!e.includes(`
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:ni(e,t)).join(`
6
- `)}function X(e,t,n){return e.paragraph(Y(t,n))}function Z(e,t,n){let r=t.from,i=t.to,a=J(n,r);if(t.firstChild()){let o=``,s=r;do t.type.id===R.QuoteMark&&(o+=n.slice(s,t.from),s=t.to,P(n.charCodeAt(s))&&(s+=1));while(t.nextSibling());return t.parent(),o+=n.slice(s,i),X(e,o,a)}return X(e,n.slice(r,i),a)}function ri(e,t,n){let r=J(n,t.from),i=Y(n.slice(t.from,t.to),r);return e.htmlComment({content:i})}function ii(e,t,n){let r=[];if(t.firstChild()){do{if(t.type.id===R.QuoteMark)continue;r.push(...K(e,t,n))}while(t.nextSibling());t.parent()}return e.blockquote(r)}function ai(e,t,n,r){let i=[];if(t.firstChild()){do t.type.id===R.ListItem&&i.push(oi(e,t,n,r));while(t.nextSibling());t.parent()}return i}function oi(e,t,n,r){let i=[],a,o,s,c,l,u;if(t.firstChild()){do{if(t.type.id!==R.ListMark&&u==null&&(u=J(n,t.from)),t.type.id===R.ListMark){if(r===`ordered`){let e=n.charCodeAt(t.to-1);e===41?c=`)`:e===46&&(c=`.`);let r=Number.parseInt(n.slice(t.from,t.to),10);s=Number.isFinite(r)?r:1}else{let e=n.charCodeAt(t.from);c=e===42?`*`:e===43?`+`:`-`}l=J(n,t.to);continue}if(r===`bullet`&&t.type.id===R.Task){let r=t.from,s=t.to;if(a=!1,t.firstChild()){if(t.type.id===R.TaskMarker){let e=n.charCodeAt(t.from+1);e===120?(a=!0,o=`x`):e===88&&(a=!0,o=`X`),r=t.to}t.parent()}P(n.charCodeAt(r))&&(r+=1);let c=n.slice(r,s);i.push(X(e,c,J(n,r)));continue}i.push(...K(e,t,n))}while(t.nextSibling());t.parent()}let d=u!=null&&l!=null?u-l:1;return e.list({kind:a==null?r:`task`,order:r===`ordered`?s??1:null,checked:a??!1,collapsed:!1,marker:c,taskMarker:o,markerGap:d>=2&&d<=4?d:1},i)}function si(e,t,n){let r=``,i=``;if(t.firstChild()){do switch(t.type.id){case R.CodeInfo:r=n.slice(t.from,t.to);break;case R.CodeText:i+=n.slice(t.from,t.to);break}while(t.nextSibling());t.parent()}return e.codeBlock({language:r},i)}function ci(e,t,n){let r=0;if(t.firstChild()){do t.type.id===R.TableDelimiter&&(r=li(n.slice(t.from,t.to)));while(t.nextSibling());t.parent()}let i=[];if(t.firstChild()){do{let a=t.type.id;a===R.TableHeader?i.push(ui(e,t,n,!0,r)):a===R.TableRow&&i.push(ui(e,t,n,!1,r))}while(t.nextSibling());t.parent()}return e.table(i)}function li(e){return e.split(`|`).filter(e=>e.trim()!==``).length}function ui(e,t,n,r,i){let a=Array(i).fill(``);if(t.firstChild()){let e=t.type.id===R.TableDelimiter,r=0;do if(t.type.id===R.TableDelimiter)r++;else if(t.type.id===R.TableCell){let o=r-+!!e;o>=0&&o<i&&(a[o]=n.slice(t.from,t.to).trim().replaceAll(String.raw`\|`,`|`))}while(t.nextSibling());t.parent()}let o=a.map(t=>{let n=e.paragraph(t);return r?e.tableHeaderCell(n):e.tableCell(n)});return e.tableRow(o)}function Q(e,t={}){let n=new mi;return t.frontmatter&&di(e.attrs.frontmatter,n),hi(e,n),n.finish()}function di(e,t){e!==null&&(t.write(`---`),t.write(`
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 fi=[``,`# `,`## `,`### `,`#### `,`##### `,`###### `];function pi(e,t){let n=e.attrs,r=n.setextUnderline;if(r!=null&&e.content.size>0&&n.level<=2){$(e,t);let i=n.level===1?`=`:`-`;t.write(`
9
- `+i.repeat(Math.max(1,r))),t.closeBlock();return}t.write(fi[n.level]??`# `),$(e,t),t.closeBlock()}var mi=class{constructor(){this.parts=[],this.linePrefix=``,this.pendingFirst=null,this.atLineStart=!0,this.deferredBlankPrefix=null}write(e){if(e===``)return;if(this.emitDeferredBlankLine(),this.atLineStart&&=(this.parts.push(this.pendingFirst??this.linePrefix),this.pendingFirst=null,!1),!e.includes(`
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 hi(e,t){switch(e.type.name){case`doc`:gi(e,t);return;case`paragraph`:$(e,t),t.closeBlock();return;case`heading`:pi(e,t);return;case`blockquote`:t.withPrefix(`> `,`> `,()=>gi(e,t)),t.closeBlock();return;case`list`:yi(e,t,vi(e));return;case`codeBlock`:bi(e,t);return;case`horizontalRule`:{let{marker:n}=e.attrs;t.write(n||`---`),t.closeBlock();return}case`htmlComment`:{let{content:n}=e.attrs;t.write(n),t.closeBlock();return}case`table`:xi(e,t);return;case`text`:e.text&&t.write(e.text);return}}function gi(e,t,n=!1){let r=e.childCount,i=0;for(;i<r;){let a=e.child(i);if(a.type.name!==`list`){n&&i>0&&t.suppressBlank(),hi(a,t),i++;continue}let o=i+1;for(;o<r&&e.child(o).type.name===`list`;)o++;let s=_i(e,i,o);for(let r=i;r<o;r++)(r===i?n&&i>0:s)&&t.suppressBlank(),yi(e.child(r),t,s);i=o}}function _i(e,t,n){for(let r=t;r<n;r++)if(!vi(e.child(r)))return!1;return!0}function vi(e){let t=e.childCount;for(let n=0;n<t;n++){let t=e.child(n);if(t.type.name!==`list`&&!(t.type.name===`paragraph`&&n===0))return!1}return!0}function $(e,t){let n=e.childCount;for(let r=0;r<n;r++){let n=e.child(r);n.isText&&n.text&&t.write(n.text)}}function yi(e,t,n){let r=e.attrs,i=r.marker===`*`||r.marker===`+`?r.marker:`-`,a=r.marker===`)`?`)`:`.`,o=r.taskMarker===`X`?`X`:`x`,s=Math.min(Math.max(r.markerGap??1,1),4),c=`${r.kind===`ordered`?`${r.order??1}${a}`:i}${` `.repeat(s)}`,l=r.kind===`task`?`${c}[${r.checked?o:` `}] `:c,u=` `.repeat(c.length);t.withPrefix(u,l,()=>gi(e,t,n)),t.closeBlock()}function bi(e,t){let n=e.attrs.language||``,r=e.textContent,i="`".repeat(Zn(r,2)+1);t.write(i),n&&t.write(n),t.write(`
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 xi(e,t){let n=e.childCount;if(n===0)return;let r=[],i=0,a=-1;for(let t=0;t<n;t++){let n=e.child(t),o=[],s=!1;for(let e=0;e<n.childCount;e++){let t=n.child(e);t.type.name===`tableHeaderCell`&&(s=!0),o.push(Ci(t))}s&&a<0&&(a=t),o.length>i&&(i=o.length),r.push(o)}if(i===0)return;let o=`| `+Array(i).fill(`---`).join(` | `)+` |`,s=a>=0?r[a]:Array(i).fill(``);t.write(Si(s,i)),t.write(`
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(Si(r[e],i)));t.closeBlock()}function Si(e,t){let n=`|`;for(let r=0;r<t;r++)n+=` `+(e[r]??``)+` |`;return n}function Ci(e){let t=e.textContent.trim();return!t.includes(`|`)&&!t.includes(`
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 wi(e){return e.replace(/\n+$/u,``)}function Ti(e){return/^[\s>]*$/u.test(e)}function Ei(e){return e.split(`
22
- `).filter(e=>!Ti(e))}function Di(e,t={}){let n=Q(G(e,{frontmatter:t.frontmatter}),{frontmatter:t.frontmatter});if(wi(n)===wi(e))return`exact`;let r=Ei(e),i=Ei(n);return r.length===i.length&&r.every((e,t)=>e.trim()===i[t].trim())?`normalizing`:`lossy`}const Oi=(e,t)=>{let{$from:n,empty:r}=e.selection;if(!r||n.depth!==1||n.index(0)!==0||n.parent.type.name!==`heading`||n.parentOffset!==n.parent.content.size)return!1;if(t){let r=te(e.schema,`list`),i=te(e.schema,`paragraph`),a=r.create({kind:`bullet`},i.create()),o=n.after(),s=e.tr.insert(o,a);s.setSelection(S.create(s.doc,o+2)),t(s.scrollIntoView())}return!0};function ki(){return v(l({Enter:Oi}),t.high)}const Ai=new Set([`MscGen`,`Xù`,`MsGenny`,`Angular Template`,`Brainfuck`,`Esper`,`Oz`,`Factor`,`Squirrel`,`Yacas`,`mIRC`,`FCL`,`ECL`,`MUMPS`,`Pig`,`Asterisk`,`Z80`]),ji=Se.map(e=>e.name).filter(e=>!Ai.has(e)).map(e=>({label:e,value:e.toLowerCase()})).concat({label:`Plain text`,value:``}).sort((e,t)=>e.label.localeCompare(t.label));function Mi(){return typeof window>`u`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}const Ni=/^(?:www\.|mobile\.)?(?:twitter\.com|x\.com)$/i,Pi=/\/status(?:es)?\/(\d+)/;function Fi(e){let t;try{t=new URL(e)}catch{return}if(Ni.test(t.hostname))return Pi.exec(t.pathname)?.[1]}const Ii=e=>{let t=Fi(e);if(!t)return;let n=Mi()?`dark`:`light`;return{kind:`tweet`,key:`tweet:${t}`,src:`https://platform.twitter.com/embed/Tweet.html?id=${t}&theme=${n}&dnt=true`,title:`Tweet`,className:`md-embed md-embed-tweet`,testid:`tweet-embed`}};function Li(e){let t=t=>{if(t.source===e.contentWindow)try{let n=t.data?.[`twttr.embed`]?.params?.[0]?.height;typeof n==`number`&&(e.style.height=`${n}px`)}catch(e){console.warn(`[meowdown] failed to parse tweet resize message:`,e)}};window.addEventListener(`message`,t);let n=!1,r=()=>{n||(n=!0,window.removeEventListener(`message`,t),i.disconnect())},i=new MutationObserver(()=>{e.isConnected||r()});return i.observe(document.body,{childList:!0,subtree:!0}),r}const Ri=/^(?:www\.|m\.)?(?:youtube\.com|youtube-nocookie\.com)$/i,zi=/^(?:www\.)?youtu\.be$/i,Bi=/^[\w-]{11}$/;function Vi(e){let t;try{t=new URL(e)}catch{return}let n=null;if(zi.test(t.hostname))n=t.pathname.slice(1);else if(Ri.test(t.hostname)){let[,e,r]=t.pathname.split(`/`);t.pathname===`/watch`?n=t.searchParams.get(`v`):(e===`shorts`||e===`embed`||e===`live`)&&(n=r??null)}if(!n||!Bi.test(n))return;let r=t.searchParams.get(`start`)??t.searchParams.get(`t`),i=r?Hi(r):void 0;return{videoId:n,startSeconds:i}}function Hi(e){if(/^\d+$/.test(e))return Number(e);let t=/^(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s)?$/.exec(e);if(!(!t||!t[1]&&!t[2]&&!t[3]))return Number(t[1]??0)*3600+Number(t[2]??0)*60+Number(t[3]??0)}const Ui=[e=>{let t=Vi(e);if(!t)return;let n=t.startSeconds?`?start=${t.startSeconds}`:``;return{kind:`youtube`,key:`youtube:${t.videoId}:${t.startSeconds??0}`,src:`https://www.youtube-nocookie.com/embed/${t.videoId}${n}`,title:`YouTube video`,className:`md-embed md-embed-youtube`,testid:`youtube-embed`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen`,allowFullscreen:!0}},Ii];function Wi(e){for(let t of Ui){let n=t(e);if(n)return n}}const Gi=new x(`meowdown-embed-paste`);function Ki(e){let t=e.trim();if(!(!t||/\s/.test(t)))return Wi(t)?t:void 0}function qi(e,t){return e.clipboardData?.getData(`text/plain`)||t.content.textBetween(0,t.content.size,`
23
- `)}function Ji(e,t){let{from:n,to:r}=e.state.selection;e.dispatch(nt(e.state.tr.insertText(t,n,r)));let i=e.state.tr.insertText(`![](${t})`,n,n+t.length);e.dispatch(nt(i))}function Yi(){return m(new b({key:Gi,props:{handlePaste:(e,t,n)=>{let r=e.state.selection.$from.parent;if(!r.inlineContent||r.type.spec.code)return!1;let i=qi(t,n);if(!i)return!1;let a=Ki(i);return a?(Ji(e,a),!0):!1}}}))}const Xi=new x(`meowdown-exit-boundary`);function Zi(e,t){let{$anchor:n,$head:r}=e.selection,i=t>0?n.max(r):n.min(r),a=i.parent.inlineContent?i.depth?e.doc.resolve(t>0?i.after():i.before()):void 0:i;return!!(a&&ye.findFrom(a,t))}function Qi(e,t){let{state:n}=e,{selection:r}=n;return g(r)&&!r.empty||ne(r)||r.$from.parent.inlineContent&&!e.endOfTextblock(t<0?`up`:`down`)?!0:Zi(n,t)}function $i(e){return new b({key:Xi,props:{handleKeyDown:(t,n)=>{if(n.shiftKey||n.altKey||n.ctrlKey||n.metaKey)return!1;let r=n.key===`ArrowUp`?-1:n.key===`ArrowDown`?1:void 0;return!(!r||Qi(t,r)||e({direction:r<0?`up`:`down`,event:n})===!1)}}})}function ea(e){return v(m($i(e)),t.low)}const ta=(e,t)=>{let n={type:`highlight`,children:e.all(t)};return e.patch(t,n),n},na=(e,t,n,r)=>{let i=e,a=n.createTracker(r),o=a.move(`==`);return o+=a.move(n.containerPhrasing(i,{...a.current(),before:o,after:`=`})),o+=a.move(`==`),o};function ra(){return st().use(rt).use(it,{handlers:{mark:ta}}).use(at).use(ot,{bullet:`-`,emphasis:`*`,strong:`*`,fence:"`",fences:!0,rule:`-`,ruleRepetition:3,listItemIndent:`one`,handlers:{highlight:na}}).freeze()}const ia=y(ra);function aa(e){return String(ia().processSync(e))}const oa=new x(`meowdown-html-paste`);function sa(){return m(new b({key:oa,props:{transformPastedHTML:(e,t)=>{if(e.includes(`data-pm-slice`))return e;let n=t.state.selection.$from.parent;if(!n.inlineContent||n.type.spec.code)return e;let r=aa(e);if(!r.trim())return e;let i=G(r,{nodes:Zr(t.state.schema)}),a=Pe.fromSchema(t.state.schema),o=document.createElement(`div`);return o.append(a.serializeFragment(i.content)),o.innerHTML}}}))}const ca=new x(`meowdown-image-click`);function la(e,t){let n=E(e,t,`mdImageSource`);if(!n)return;let{src:r,alt:i}=n.mark.attrs;return{from:n.from,to:n.to,src:r,alt:i}}function ua(e){return m(new b({key:ca,props:{handleClick:(t,n,r)=>{let i=r.target?.closest?.(`.md-image-preview`);if(!i)return!1;let a=i.closest(`.md-image-view`)?.querySelector(`.md-image-view-content`);if(!a)return!1;let o=la(t.state,t.posAtDOM(a,0));return o?(e({src:o.src,alt:o.alt,event:r}),!0):!1}}}))}function da(e){return/^https?:\/\//i.test(e)?e:void 0}function fa(e){let t=document.createElement(`iframe`);return t.src=e.src,t.title=e.title,t.className=e.className,t.dataset.testid=e.testid,t.loading=`lazy`,t.referrerPolicy=`strict-origin-when-cross-origin`,t.setAttribute(`frameborder`,`0`),e.allow&&(t.allow=e.allow),e.allowFullscreen&&(t.allowFullscreen=!0),e.kind===`tweet`&&Li(t),t}function pa(e,t,n){let r=Wi(e);if(r){let e=document.createElement(`span`);return e.className=`md-image-preview md-image-preview-embed`,e.appendChild(fa(r)),e}let i=(n.resolveImageUrl??da)(e);if(!i)return;let a=document.createElement(`span`);a.className=`md-image-preview md-image-preview-img`,a.dataset.testid=`image-preview`;let o=document.createElement(`img`);return o.src=i,o.alt=t,o.draggable=!1,a.appendChild(o),a}function ma(e){return t=>{let n=t.attrs,r=document.createElement(`span`);r.className=`md-image-view`;let i=document.createElement(`span`);i.className=`md-image-view-content`,r.appendChild(i);let a=pa(n.src,n.alt,e);return a&&(a.contentEditable=`false`,r.appendChild(a)),{dom:r,contentDOM:i,ignoreMutation:e=>!i.contains(e.target)}}}function ha(e){return e?Array.from(e.files).filter(e=>e.type.startsWith(`image/`)):[]}const ga=e=>{console.error(`[meowdown] failed to save pasted image:`,e)};async function _a(e,t,n,r=ga,i){let a=i;for(let i of t){let t;try{t=await n(i)}catch(e){r(e,i);continue}if(!t||e.isDestroyed)continue;let o=`![](${t})`,s=a==null?e.state.tr.insertText(o):e.state.tr.insertText(o,a);e.dispatch(s),a!=null&&(a+=o.length)}}function va(e){return new b({key:new x(`image-input`),props:{handlePaste:(t,n)=>{let r=ha(n.clipboardData),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(_a(t,r,i,a),!0)},handleDrop:(t,n)=>{let r=ha(n.dataTransfer),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(_a(t,r,i,a,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function ya(e={}){return _(d({name:`mdImageView`,constructor:ma(e)}),v(m(va(e)),t.high))}const ba={"Mod-b":`Bold`,"Mod-i":`Italic`,"Mod-e":`Inline code`,"Mod-Shift-x":`Strikethrough`,"Mod-Shift-h":`Highlight`,"Mod-k":`Link`,"Mod-1":`Heading 1`,"Mod-2":`Heading 2`,"Mod-3":`Heading 3`,"Mod-4":`Heading 4`,"Mod-5":`Heading 5`,"Mod-6":`Heading 6`};function xa(e){return m(new b({key:e.key,props:{handleClick:(t,n,r)=>{if(!r.target?.closest?.(e.selector))return!1;let i=e.findPayloadAt(t.state,n);return i==null?!1:(e.preventDefault&&r.preventDefault(),e.onClick(i,r),!0)}}}))}const Sa=new x(`meowdown-link-click`);function Ca(e){return xa({key:Sa,selector:`.md-link`,preventDefault:!0,findPayloadAt:(e,t)=>W(e,t)?.href,onClick:(t,n)=>e({href:t,event:n})})}function wa(e){let t,n=(n,r)=>{let i=r.target;if(!i||!ue(i))return;let a=i.closest(e.selector);if(!a||a===t)return;let o=n.posAtDOM(a,0),s=e.findPayloadAt(n.state,o);s!=null&&(t=a,e.onHoverChange({payload:s,element:a}))},r=n=>{if(!t)return;let r=n.relatedTarget;r&&t.contains(r)||(t=void 0,e.onHoverChange(void 0))};return _(s(`mouseover`,(e,t)=>n(e,t)),s(`mouseout`,(e,t)=>r(t)))}function Ta(e){return wa({selector:`.md-link`,findPayloadAt:(e,t)=>W(e,t),onHoverChange:e})}const Ea=new x(`meowdown-markdown-copy`);function Da(){return m(new b({key:Ea,props:{clipboardTextSerializer:(e,t)=>{let n=e.content,r;try{r=t.state.schema.topNodeType.createAndFill(void 0,n)??void 0}catch{r=void 0}return r?Q(r).replace(/\n+$/,``):n.textBetween(0,n.size,`
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(`![](${t})`,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=`![](${t})`,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 Oa=new x(`meowdown-tag-click`);function ka(e,t){let n=E(e,t,`mdTag`);if(!n)return;let r=e.doc.textBetween(n.from,n.to),i=r.startsWith(`#`)?r.slice(1):r;return{from:n.from,to:n.to,tag:i}}function Aa(e){return xa({key:Oa,selector:`.md-tag`,preventDefault:!1,findPayloadAt:(e,t)=>ka(e,t)?.tag,onClick:(t,n)=>e({tag:t,event:n})})}const ja=new x(`meowdown-wikilink-click`);function Ma(e,t){let n=E(e,t,`mdWikilinkSource`);if(!n)return;let{target:r}=n.mark.attrs;return{from:n.from,to:n.to,target:r}}function Na(e){return xa({key:ja,selector:`.md-wikilink-label, .md-wikilink-source`,preventDefault:!1,findPayloadAt:(e,t)=>Ma(e,t)?.target,onClick:(t,n)=>e({target:t,event:n})})}const Pa=(e,t)=>{let{selection:n}=e;if(!n.empty&&!n.$head.sameParent(n.$anchor))return!1;let r=e.doc.textBetween(n.from,n.to);if(r.startsWith(`[[`))return!1;r.startsWith(`[`)&&(r=r.slice(1));let i=`[[`+r;if(t){let r=e.tr.insertText(i,n.from,n.to);r.setSelection(S.create(r.doc,n.from+i.length)),ct(r),t(r.scrollIntoView())}return!0};function Fa(){return l({"Mod-Shift-k":Pa})}function Ia(e,t){let n=()=>{let n=e.coordsAtPos(t.from),r=e.coordsAtPos(t.to),i=Math.min(n.left,r.left),a=Math.max(n.right,r.right),o=Math.min(n.top,r.top),s=Math.max(n.bottom,r.bottom);return new DOMRect(i,o,a-i,s-o)};return{getBoundingClientRect:n,getClientRects:()=>[n()]}}export{ba as EDITOR_KEY_BINDINGS,e as Priority,Di as checkRoundTrip,ji as codeBlockLanguages,da as defaultResolveImageUrl,ki as defineBulletAfterHeading,kt as defineCodeBlockSyntaxHighlight,Wr as defineEditorExtension,Yi as defineEmbedPaste,ea as defineExitBoundaryHandler,Ut as defineHTMLComment,sa as defineHTMLPaste,ya as defineImage,ua as defineImageClickHandler,Ca as defineLinkClickHandler,xr as defineLinkCommands,Cr as defineLinkEditKeymap,Ta as defineLinkHoverHandler,pt as defineMarkMode,Da as defineMarkdownCopy,ce as definePlaceholder,le as defineReadonly,Aa as defineTagClickHandler,Na as defineWikilinkClickHandler,Fa as defineWikilinkTrigger,Q as docToMarkdown,jt as getCodeTokens,W as getLinkUnitAt,qr as getMarkBuilders,Ia as getVirtualElementFromRange,yn as inlineTextToMarkChunks,vr as insertLink,Li as listenForTweetHeight,G as markdownToDoc,Wi as matchEmbed,br as removeLink,yr as updateLink,oe as withPriority};
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:has(.md-atomic-selected), .ProseMirror.ProseMirror-hideselection ::selection {
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: .35rem;
447
- padding: .1em .35em;
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, & .md-image-source, & .md-wikilink-source {
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-wikilink-source {
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[data-mark-mode="hide"] .md-wikilink-view-content, .ProseMirror[data-mark-mode="focus"] .md-wikilink-view-content, .ProseMirror[data-mark-mode="hide"] .md-image-view-content, .ProseMirror[data-mark-mode="focus"] .md-image-view-content {
555
- vertical-align: bottom;
556
- height: 100%;
557
- display: inline-flex;
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
- &:not(:has(.show)) {
564
- width: 0;
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
- .ProseMirror[data-mark-mode="hide"] .md-wikilink-view-content, .ProseMirror[data-mark-mode="focus"] .md-wikilink-view-content {
569
- background-color: #0000;
570
- width: 0;
571
- min-width: 0;
572
- max-width: 0;
573
- overflow: visible;
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[data-mark-mode="hide"] .md-wikilink-view-content :is(.md-mark, .md-wikilink-source), .ProseMirror[data-mark-mode="focus"] .md-wikilink-view-content :is(.md-mark, .md-wikilink-source), .ProseMirror[data-mark-mode="hide"] .md-image-view-content :is(.md-mark, .md-image-source), .ProseMirror[data-mark-mode="focus"] .md-image-view-content :is(.md-mark, .md-image-source) {
582
- width: 0;
583
- min-width: 0;
584
- max-width: 0;
585
- display: inline-flex;
586
- overflow: visible;
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
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@meowdown/core",
3
3
  "type": "module",
4
- "version": "0.26.0",
4
+ "version": "0.27.0",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",