@meowdown/core 0.21.0 → 0.21.1
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.js +1 -1
- package/dist/style.css +37 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import{Priority as e,Priority as t,createMarkBuilders as n,createNodeBuilders as r,defineBaseCommands as i,defineBaseKeymap as a,defineCommands as o,defineHistory as s,defineKeymap as c,defineMarkSpec as l,defineMarkView as u,defineNodeAttr as d,defineNodeSpec as f,definePlugin as p,getMarkRange as m,getMarkType as ee,getNodeType as te,isApple as ne,isAtBlockStart as re,isTextSelection as ie,toggleNode as ae,union as h,unsetBlockType as oe,withPriority as se,withPriority as g,withSkipCodeBlock as ce}from"@prosekit/core";import{defineBlockquote as le}from"@prosekit/extensions/blockquote";import{defineCodeBlock as ue,defineCodeBlockHighlight as de}from"@prosekit/extensions/code-block";import{defineDoc as fe}from"@prosekit/extensions/doc";import{defineGapCursor as pe}from"@prosekit/extensions/gap-cursor";import{defineModClickPrevention as me}from"@prosekit/extensions/mod-click-prevention";import{defineText as he}from"@prosekit/extensions/text";import{defineVirtualSelection as ge}from"@prosekit/extensions/virtual-selection";import{Plugin as _,PluginKey as v,TextSelection as y}from"@prosekit/pm/state";import{Decoration as _e,DecorationSet as b}from"@prosekit/pm/view";import{LanguageDescription as ve}from"@codemirror/language";import{languages as ye}from"@codemirror/language-data";import{classHighlighter as be,highlightTree as xe}from"@lezer/highlight";import{createParser as Se}from"prosemirror-highlight/lezer";import{defineHeadingCommands as Ce,defineHeadingInputRule as we,defineHeadingSpec as Te}from"@prosekit/extensions/heading";import{defineHorizontalRule as Ee}from"@prosekit/extensions/horizontal-rule";import{ReplaceStep as De,Step as Oe,StepResult as ke,Transform as Ae}from"@prosekit/pm/transform";import{DOMSerializer as je,Mark as Me}from"@prosekit/pm/model";import{GFM as Ne,parser as Pe}from"@lezer/markdown";import{once as x}from"@ocavue/utils";import{defineInputRule as Fe}from"@prosekit/extensions/input-rule";import{defineListCommands as Ie,defineListDropIndicator as Le,defineListKeymap as Re,defineListPlugins as ze,defineListSerializer as Be,defineListSpec as Ve,wrapInList as S}from"@prosekit/extensions/list";import{wrappingListInputRule as C}from"prosemirror-flat-list";import{defineParagraphCommands as He,defineParagraphKeymap as Ue}from"@prosekit/extensions/paragraph";import{defineTableCellSpec as We,defineTableCommands as Ge,defineTableDropIndicator as Ke,defineTableEditingPlugin as qe,defineTableHeaderCellSpec as Je,defineTableRowSpec as Ye,defineTableSpec as Xe,deleteTable as Ze,isCellSelection as Qe}from"@prosekit/extensions/table";import{closeHistory as $e}from"@prosekit/pm/history";import et from"rehype-parse";import tt from"rehype-remark";import nt from"remark-gfm";import rt from"remark-stringify";import{unified as it}from"unified";import{triggerAutocomplete as at}from"@prosekit/extensions/autocomplete";import{definePlaceholder as ot}from"@prosekit/extensions/placeholder";import{defineReadonly as st}from"@prosekit/extensions/readonly";function w(e,t,n){let r=e.doc.content.size;if(t<0||t>r)return;let i=e.doc.resolve(t);if(!(!i.parent.isTextblock||i.parent.type.spec.code))return m(i,n)}const ct=new Set([`mdMark`,`mdLinkUri`]),lt=new Set([`mdImageSource`,`mdWikilinkSource`]),ut=new v(`mark-mode`);function dt(e){return new _({key:ut,state:{init:()=>e,apply:(e,t)=>t},props:{attributes:{"data-mark-mode":e},decorations:e===`focus`?e=>ht(e):void 0,clipboardTextSerializer:e===`show`?void 0:mt}})}function ft(e){return p(dt(e))}function pt(e){return ut.getState(e)}function mt(e){let t=[];return e.content.forEach(e=>{let n=[];e.descendants(e=>!e.isText||!e.text?!0:(!e.marks.some(e=>lt.has(e.type.name))&&e.marks.some(e=>ct.has(e.type.name))||n.push(e.text),!1)),t.push(n.join(``))}),t.join(`
|
|
2
|
-
`)}function ht(e){let{selection:t}=e;if(!t.empty)return b.empty;let n=t.$head,{parent:r}=n;if(!r.isTextblock||r.type.spec.code)return b.empty;let i=m(n,ee(e.schema,`mdPack`));return i?b.create(e.doc,[_e.inline(i.from,i.to,{class:`show`})]):b.empty}function T(e,t){let n=pt(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function E(e,t,n){for(let r of n){let n=w(e,t,r);if(n)return n}}function D(e,t,n){let r=E(e,t,n);return r&&r.to===t?r:void 0}function O(e,t,n){let r=E(e,t,n);return r&&r.from===t?r:void 0}function k(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=E(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function gt(e,t){return y.create(e.doc,t.from,t.to)}function _t(e){return(t,n)=>{let r=T(e,t);if(r.length===0||!ie(t.selection))return!1;let i=t.selection;if(i.empty){let e=O(t,i.from,r);if(e)return n?.(t.tr.setSelection(gt(t,e))),!0;if(D(t,i.from,r)){let e=t.doc.resolve(i.from);return i.from>=e.end()?!1:(n?.(t.tr.setSelection(y.create(t.doc,i.from+1))),!0)}return!1}let a=k(t,r);return a?(n?.(t.tr.setSelection(y.create(t.doc,a.to))),!0):!1}}function vt(e){return(t,n)=>{let r=T(e,t);if(r.length===0||!ie(t.selection))return!1;let i=t.selection;if(i.empty){let e=D(t,i.from,r);return e?(n?.(t.tr.setSelection(gt(t,e))),!0):!1}let a=k(t,r);return a?(n?.(t.tr.setSelection(y.create(t.doc,a.from))),!0):!1}}function yt(e){return(t,n)=>{let r=T(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=D(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!O(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function bt(e){return(t,n)=>{let r=T(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=O(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!D(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}function xt(e,t){return new _({key:new v(`atomic-mark-selection-${t}`),props:{decorations:n=>{let r=T(e,n);if(r.length===0)return;let i=k(n,r);if(i)return b.create(n.doc,[_e.inline(i.from,i.to,{class:t})])}}})}function St({marks:e,selectedClass:n}){return h(g(c({ArrowRight:_t(e),ArrowLeft:vt(e),Backspace:yt(e),Delete:bt(e)}),t.high),p(xt(e,n)))}const A=new Map,Ct=new Map;async function wt(e){let t=A.get(e);if(t!==void 0)return t;let n=ve.matchLanguageName(ye,e,!0);if(!n)return A.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),A.set(e,null),null}return A.set(e,r),r}function Tt(e,t){let n=Ct.get(e);if(n)return n;let r=Se({parse:e=>t.language.parser.parse(e.content),highlighter:be});return Ct.set(e,r),r}const Et=e=>{let t=e.language?.trim();if(!t)return[];let n=A.get(t);return n===null?[]:n?Tt(t,n)(e):wt(t).then(()=>void 0)};function Dt(){return de({parser:Et,nodeTypes:[`codeBlock`]})}function Ot(e,t){let n=t.language.parser.parse(e),r=[];return xe(n,be,(e,t,n)=>{r.push([e,t,n])}),r}function kt(e,t){let n=t.trim();if(!n)return[];let r=A.get(n);return r===null?[]:r?Ot(e,r):wt(n).then(t=>t?Ot(e,t):[])}function At(){return d({type:`doc`,attr:`frontmatter`,default:null})}function jt(){return f({name:`heading`,whitespace:`pre`})}function Mt(){return d({type:`heading`,attr:`setextUnderline`,default:null,toDOM:e=>e==null?null:[`data-setext-underline`,String(e)],parseDOM:e=>{let t=e.getAttribute(`data-setext-underline`);if(t==null)return null;let n=Number.parseInt(t,10);return Number.isSafeInteger(n)&&n>0?n:null}})}function j(e){return ce(ae({type:`heading`,attrs:{level:e}}))}const Nt=(e,t,n)=>re(e,n)?.parent.type.name===`heading`?oe()(e,t,n):!1;function Pt(){return c({"Mod-1":j(1),"Mod-2":j(2),"Mod-3":j(3),"Mod-4":j(4),"Mod-5":j(5),"Mod-6":j(6),Backspace:Nt})}function Ft(){return h(Te(),jt(),Mt(),we(),Ce(),Pt())}function It(){return d({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function Lt(){return h(Ee(),It())}function Rt(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function zt(e,t){let[n,r,i]=t;return[n,r,i.map(t=>Me.fromJSON(e,t))]}var M=class e extends Oe{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return ke.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 Ae(e),n.removeMark(i,c,t));for(let t of a)t.isInSet(l)||(n??=new Ae(e),n.addMark(i,c,t));return!1})}return ke.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return Bt;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 De(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(Rt)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>zt(t,e)))}};Oe.jsonID(`batchSetMark`,M);const Bt=new M([]),Vt=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),Ht=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function Ut(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function Wt(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!Vt.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!Ht.test(e))return!1;return!0}function Gt(e){return e===32||e===9||e===10||e===13}const Kt=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,qt=/[\s(*_~]/;function Jt(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function Yt(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function Xt(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&Yt(e,t,`)`)>Yt(e,t,`(`))t--;else if(n===`;`){let n=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(0,t));if(!n)break;t=n.index}else break}return t}const Zt={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!Jt(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!qt.test(r))return-1;let i=Kt.exec(e.slice(n,e.end));if(!i)return-1;let a=Xt(i[0]);return a===0||!Wt(Ut(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function Qt(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45||e===95||e>127&&/[\p{L}\p{N}]/u.test(String.fromCharCode(e))}function $t(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const en={defineNodes:[{name:`Hashtag`}],parseInline:[{name:`Hashtag`,parse(e,t,n){if(t!==35||!/\s|^$/.test(e.slice(n-1,n)))return-1;let r=n+1,i=!1;for(;r<e.end;){let t=e.char(r);if(!Qt(t))break;i||=$t(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},tn={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 nn(e){return e.end}const N=Pe.configure([Ne,en,tn,Zt]),rn=N.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:nn}]});function P(e){return N.parseInline(e,0)}function F(e,t,n=[]){for(let r of e)t(r)&&n.push(r),F(r.children,t,n);return n}function an(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const I=an(N);function on(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 sn(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 cn(){return e=>{let t=e.attrs,n=document.createElement(`span`);n.className=`md-wikilink-view`;let r=document.createElement(`span`);n.appendChild(r);let i=document.createElement(`span`);return i.className=`md-wikilink-label`,i.contentEditable=`false`,i.dataset.testid=`wikilink`,i.textContent=t.display||t.target,n.appendChild(i),{dom:n,contentDOM:r,ignoreMutation:e=>!r.contains(e.target)}}}function ln(){return u({name:`mdWikilinkView`,constructor:cn()})}const L=new Map([[I.Emphasis,`mdEm`],[I.StrongEmphasis,`mdStrong`],[I.InlineCode,`mdCode`],[I.Strikethrough,`mdDel`],[I.EmphasisMark,`mdMark`],[I.CodeMark,`mdMark`],[I.LinkMark,`mdMark`],[I.StrikethroughMark,`mdMark`],[I.URL,`mdLinkUri`],[I.Hashtag,`mdTag`],[I.WikilinkMark,`mdMark`]]);function un(e,t){let n=P(t),r=[];return R(n,[],0,t.length,t,e,r),r}function dn(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)||Wt(Ut(e)))return`https://${e}`}function R(e,t,n,r,i,a,o){let s=n;for(let n of e){n.from>s&&z(o,s,n.from,t);let e=n.type;if(e===I.Link)fn(n,t,i,a,o);else if(e===I.Image)pn(n,t,i,a,o);else if(e===I.Wikilink)mn(n,t,i,a,o);else if(e===I.URL){let e=dn(i.slice(n.from,n.to)),r=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();z(o,n.from,n.to,[...t,r])}else{let r;e===I.Emphasis?r=`italic`:e===I.StrongEmphasis?r=`bold`:e===I.InlineCode?r=`code`:e===I.Strikethrough?r=`strike`:e===I.Autolink&&(r=`autolink`);let s=r?[...t,a.mdPack.create({key:r})]:t,c=L.get(e),l=c?[...s,a[c].create()]:s;n.children.length===0?z(o,n.from,n.to,l):R(n.children,l,n.from,n.to,i,a,o)}s=n.to}s<r&&z(o,s,r,t)}function fn(e,t,n,r,i){let a=-1,o=null,s=0;for(let t of e.children)t.type===I.LinkMark?(s++,s===2&&(a=t.from)):t.type===I.URL&&o===null&&(o=t);let c=o?n.slice(o.from,o.to):``,l=c?r.mdLinkText.create({href:c}):null,u=e=>a>=0&&e<a&&l!==null,d=r.mdPack.create({key:`link_${c}`}),f=[...t,d],p=e.from;for(let t of e.children){if(t.from>p){let e=u(p)?[...f,l]:f;z(i,p,t.from,e)}let e=u(t.from)?[...f,l]:f;if(t.type===I.Wikilink){mn(t,e,n,r,i),p=t.to;continue}let a=L.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?z(i,t.from,t.to,o):R(t.children,o,t.from,t.to,n,r,i),p=t.to}p<e.to&&z(i,p,e.to,f)}function pn(e,t,n,r,i){let a=e.children.find(e=>e.type===I.URL);if(!a){fn(e,t,n,r,i);return}let o=e.children.filter(e=>e.type===I.LinkMark),s=n.slice(a.from,a.to),c=o.length>=2?n.slice(o[0].to,o[1].from):``,l=r.mdImageSource.create({src:s,alt:c}),u=r.mdImageView.create({src:s,alt:c}),d=r.mdPack.create({key:`image_${s}`}),f=e.to-1,p=e=>e>=f?[...t,d,l,u]:[...t,d,l],m=e.from;for(let t of e.children){t.from>m&&z(i,m,t.from,p(m));let e=L.get(t.type),a=e?[...p(t.from),r[e].create()]:p(t.from);t.children.length===0?z(i,t.from,t.to,a):R(t.children,a,t.from,t.to,n,r,i),m=t.to}m<e.to&&z(i,m,e.to,p(m))}function mn(e,t,n,r,i){let{target:a,display:o}=sn(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&&z(i,d,t.from,u(d));let e=r.mdMark.create();t.from<l&&t.to>l?(z(i,t.from,l,[...u(t.from),e]),z(i,l,t.to,[...u(l),e])):z(i,t.from,t.to,[...u(t.from),e]),d=t.to}d<e.to&&z(i,d,e.to,u(d))}function z(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&on(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const hn=x(()=>{let e=Or().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),gn=x(()=>r(hn())),_n=x(()=>n(hn())),vn=`meowdown_mark_builders`;function yn(e){let t=e.cached[vn];if(t)return t;let r=n(e);return e.cached[vn]=r,r}const bn=`meowdown_node_builders`;function xn(e){let t=e.cached[bn];if(t)return t;let n=r(e);return e.cached[bn]=n,n}const Sn=`inline-marks-applied`,Cn=new WeakMap;let wn=0,Tn=0;function En(e,t,n){let r=Cn.get(e);if(r?Tn++:(wn++,r=un(yn(n),e.textContent),Cn.set(e,r)),t===0)return r;let i=[];for(let[e,n,a]of r)i.push([e+t,n+t,a]);return i}function Dn(e,t){let n=1/0,r=-1/0;for(let t of e)for(let e of t.mapping.maps)e.forEach((e,t,i,a)=>{i<n&&(n=i),a>r&&(r=a)});let i=t.doc.content.size;return n>r?{from:0,to:i}:{from:Math.max(0,n),to:Math.min(i,r)}}function On(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=En(t,r+1,e.schema);return i.length>0&&n.push(...i),!1}),n}function kn(){return new _({key:new v(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(Sn))return null;let r=On(n,Dn(e,n));if(r.length===0)return null;let i=n.tr.step(new M(r));return i.setMeta(Sn,!0),i.setMeta(`addToHistory`,!1),i},view(e){return e.dispatch(An(e.state)),{}}})}function An(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function jn(){return p(kn())}function Mn(){return l({name:`mdImageView`,inclusive:!1,attrs:{src:{default:``},alt:{default:``}},toDOM:()=>[`span`,{class:`md-image-anchor`},0],parseDOM:[{tag:`span.md-image-anchor`}]})}function Nn(){return l({name:`mdImageSource`,inclusive:!1,attrs:{src:{default:``},alt:{default:``}},toDOM:()=>[`span`,{class:`md-image-source`},0],parseDOM:[{tag:`span.md-image-source`}]})}function Pn(){return l({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function Fn(){return l({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function In(){return l({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function Ln(){return l({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function Rn(){return l({name:`mdLinkText`,inclusive:!1,attrs:{href:{default:``}},toDOM:e=>[`a`,{class:`md-link`,href:e.attrs.href},0],parseDOM:[{tag:`a`,getAttrs:e=>({href:e.getAttribute(`href`)??``})}]})}function zn(){return l({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function Bn(){return l({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function Vn(){return l({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function Hn(){return l({name:`mdWikilinkSource`,inclusive:!1,attrs:{target:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink-source`},0],parseDOM:[{tag:`span.md-wikilink-source`}]})}function Un(){return l({name:`mdWikilinkView`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink-anchor`},0],parseDOM:[{tag:`span.md-wikilink-anchor`}]})}function Wn(){return l({name:`mdPack`,excludes:``,inclusive:!1,attrs:{key:{default:``}},toDOM:e=>[`span`,{class:`md-pack`,"data-key":e.attrs.key},0],parseDOM:[{tag:`span.md-pack`}]})}function Gn(){return h(Pn(),Fn(),In(),Ln(),Rn(),zn(),Bn(),Vn(),Hn(),Un(),Nn(),Mn(),Wn())}function Kn(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 B={em:{node:I.Emphasis,delim:`*`},strong:{node:I.StrongEmphasis,delim:`**`},code:{node:I.InlineCode,delim:"`"},del:{node:I.Strikethrough,delim:`~~`}},qn=new Set([I.EmphasisMark,I.CodeMark,I.LinkMark,I.StrikethroughMark]);function V(e){return[e.children[0],e.children.at(-1)]}function Jn(e){let{type:t,children:n}=e;if(t===I.Emphasis||t===I.StrongEmphasis||t===I.Strikethrough)return[n[0].to,n.at(-1).from];if(t===I.Link||t===I.Image){let e=n.find((e,t)=>t>0&&e.type===I.LinkMark);return e?[n[0].to,e.from]:null}return null}function H(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=Jn(r);return i&&i[0]<=t&&n<=i[1]?H(r.children,t,n):H(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function Yn(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return Yn(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}const U=e=>e===` `||e===` `;function Xn(e,t,n){for(;t<n&&U(e[t]);)t++;for(;n>t&&U(e[n-1]);)n--;return[t,n]}function Zn(e,t,n,r){let i=F(P(e),e=>e.type===r.node||qn.has(e.type));for(let r=t;r<n;r++)if(!U(e[r])&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function Qn(e,t,n,r,i){let a=P(e),o=F(a,e=>e.type===r.node);return i?tr(e,o,t,n):$n(e,a,o,t,n,r)}function $n(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=H(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]=V(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=er(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function er(e,t,n,r,i){if(i.node!==I.InlineCode)return[i.delim,i.delim];let a=e.slice(t,n);for(let e of[...r].sort((e,t)=>t.from-e.from))a=a.slice(0,e.from-t)+a.slice(e.to-t);let o="`".repeat(Kn(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function tr(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=V(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=Yn(a.children.slice(1,-1),s,c);s>t.to&&U(e[s-1]);)s--;for(;c<o.from&&U(e[c]);)c++;s>t.to?i.push({from:s,to:s,insert:e.slice(o.from,o.to)}):i.push({from:t.from,to:t.to,insert:``}),c<o.from?i.push({from:c,to:c,insert:e.slice(t.from,t.to)}):i.push({from:o.from,to:o.to,insert:``})}return i}function nr(e,t,n){let{delim:r}=n,i=r.length;if(e.slice(t-i,t)===r&&e.startsWith(r,t)&&e[t-i-1]!==r[0]&&e[t+i]!==r[0])return{kind:`unwrap`,from:t-i,to:t+i};let a=P(e),o=F(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=V(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return rr(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function rr(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=Jn(n);return!e||t<e[0]||t>e[1]?!0:rr(n.children,t)}return!1}function W(e){return(t,n)=>{if(t.selection.empty)return ir(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]=Xn(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:Zn(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>Qn(t.text,t.from,t.to,e,c).map(e=>({from:e.from+t.base,to:e.to+t.base,insert:e.insert})));if(l.length===0)return!1;if(n){let e=t.tr;l.sort((e,t)=>t.from-e.from||t.to-e.to);for(let t of l)t.insert?e.insertText(t.insert,t.from,t.to):e.delete(t.from,t.to);e.setSelection(y.create(e.doc,e.mapping.map(a,a<=o?1:-1),e.mapping.map(o,o<a?1:-1))),n(e.scrollIntoView())}return!0}}function ir(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=nr(i.textContent,r.parentOffset,e);if(!a)return!1;if(n){let i=r.start(),o=t.tr;a.kind===`unwrap`&&o.delete(i+a.from,i+a.to),a.kind===`move`&&o.setSelection(y.create(o.doc,i+a.pos)),a.kind===`insert`&&(o.insertText(e.delim+e.delim,i+a.pos),o.setSelection(y.create(o.doc,i+a.pos+e.delim.length))),n(o.scrollIntoView())}return!0}function ar(){return o({toggleEm:()=>W(B.em),toggleStrong:()=>W(B.strong),toggleCode:()=>W(B.code),toggleDel:()=>W(B.del)})}function or(){return c({"Mod-b":W(B.strong),"Mod-i":W(B.em),"Mod-e":W(B.code),"Mod-Shift-x":W(B.del)})}function sr(){return h(ar(),or())}function cr(){return d({type:`list`,attr:`marker`,default:null,splittable:!0,toDOM:e=>e===`)`||e===`*`||e===`+`?[`data-list-marker`,e]:null,parseDOM:e=>{let t=e.getAttribute(`data-list-marker`);return t===`)`||t===`*`||t===`+`?t:null}})}function lr(){return d({type:`list`,attr:`taskMarker`,default:null,splittable:!0,toDOM:e=>e===`X`?[`data-list-task-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-list-task-marker`)===`X`?`X`:null})}function ur(e){return e===2||e===3||e===4}function dr(){return d({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>ur(e)?[`data-list-marker-gap`,String(e)]:null,parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return ur(t)?t:1}})}const fr=[C(/^\s?([*-])\s$/,{kind:`bullet`,collapsed:!1}),C(/^\s?(\d+)\.\s$/,({match:e})=>{let t=e[1],n=t?parseInt(t,10):void 0;return{kind:`ordered`,collapsed:!1,order:n&&n>=2&&Number.isSafeInteger(n)?n:null}}),C(/^\s?\[([\sXx]?)]\s$/,({match:e})=>({kind:`task`,checked:[`x`,`X`].includes(e[1]),collapsed:!1})),C(/^\s?\+\s$/,{kind:`task`,marker:`+`,checked:!1,collapsed:!1})];function pr(){return h(fr.map(Fe))}function mr(){return S({kind:`task`,marker:`+`})}function hr(){return S({kind:`task`,marker:null})}function gr(){return o({wrapInCircleTask:mr,wrapInSquareTask:hr})}function _r(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 vr(){return(e,t,n)=>{let r=_r(e),i=r?.kind===`task`&&r.marker!==`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:r?.marker??null,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:null,checked:!1},S(a)(e,t,n)}}function yr(){return(e,t,n)=>{let r=_r(e),i=r?.kind===`task`&&r.marker===`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:`+`,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:`+`,checked:!1},S(a)(e,t,n)}}function br(){return c({"Mod-Enter":vr(),"Mod-Shift-Enter":yr()})}function xr(){return h(Ve(),ze(),Re(),Ie(),Be(),Le(),pr(),br(),cr(),lr(),dr(),gr())}function Sr(){return f({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function Cr(){return h(g(Sr(),t.highest),He(),Ue())}const wr=(e,t)=>{let{selection:n}=e;return!Qe(n)||!n.isColSelection()||!n.isRowSelection()?!1:Ze(e,t)};function Tr(){return g(c({Backspace:wr,Delete:wr}),t.high)}function Er(){return h(Xe(),Ye(),We(),Je(),qe({allowTableNodeSelection:!0}),Ge(),Ke(),Tr())}function Dr(){return h(Cr(),fe(),At(),he(),le(),xr(),Ft(),Er(),ue(),Lt(),Gn(),Dt(),jn(),sr(),ln(),St({marks:[{name:`mdImageSource`,modes:[`hide`]},{name:`mdWikilinkSource`,modes:[`hide`,`focus`,`show`]}],selectedClass:`md-atomic-selected`}),a(),i(),s(),pe(),ge(),me())}function Or(){return Dr()}function kr(e){let t;return p(new _({key:e.key,props:{handleDOMEvents:{mousedown:e=>{let{from:n,to:r,empty:i}=e.state.selection;return t={from:n,to:r,empty:i},!1}},handleClick:(n,r,i)=>{if(!i.target?.closest?.(e.selector))return!1;let a=e.findHitAt(n.state,r);return!a||!(ne?i.metaKey:i.ctrlKey)&&t?.empty&&t.from>=a.from&&t.to<=a.to?!1:(e.preventDefault&&i.preventDefault(),e.onClick(a.payload,i),!0)}}}))}const Ar=new v(`meowdown-wikilink-click`);function jr(e,t){let n=w(e,t,`mdWikilinkSource`);if(!n)return;let{target:r}=n.mark.attrs;return{from:n.from,to:n.to,target:r}}function Mr(e){return kr({key:Ar,selector:`.md-wikilink-label, .md-wikilink-source`,preventDefault:!1,findHitAt:(e,t)=>{let n=jr(e,t);return n?{from:n.from,to:n.to,payload:n.target}:void 0},onClick:(t,n)=>e({target:t,event:n})})}const Nr=new v(`meowdown-link-click`);function Pr(e,t){let n=w(e,t,`mdLinkText`);if(n)return{from:n.from,to:n.to,href:n.mark.attrs.href}}function Fr(e){return kr({key:Nr,selector:`.md-link`,preventDefault:!0,findHitAt:(e,t)=>{let n=Pr(e,t);return n?{from:n.from,to:n.to,payload:n.href}:void 0},onClick:(t,n)=>e({href:t,event:n})})}function Ir(){return typeof window>`u`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}const Lr=/^(?:www\.|mobile\.)?(?:twitter\.com|x\.com)$/i,Rr=/\/status(?:es)?\/(\d+)/;function zr(e){let t;try{t=new URL(e)}catch{return}if(Lr.test(t.hostname))return Rr.exec(t.pathname)?.[1]}const Br=e=>{let t=zr(e);if(!t)return;let n=Ir()?`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 Vr(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 Hr=/^(?:www\.|m\.)?(?:youtube\.com|youtube-nocookie\.com)$/i,Ur=/^(?:www\.)?youtu\.be$/i,Wr=/^[\w-]{11}$/;function Gr(e){let t;try{t=new URL(e)}catch{return}let n=null;if(Ur.test(t.hostname))n=t.pathname.slice(1);else if(Hr.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||!Wr.test(n))return;let r=t.searchParams.get(`start`)??t.searchParams.get(`t`),i=r?Kr(r):void 0;return{videoId:n,startSeconds:i}}function Kr(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 qr=[e=>{let t=Gr(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}},Br];function G(e){for(let t of qr){let n=t(e);if(n)return n}}function Jr(e){return/^https?:\/\//i.test(e)?e:void 0}function Yr(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`&&Vr(t),t}function Xr(e,t,n){let r=G(e);if(r){let e=document.createElement(`span`);return e.className=`md-image-preview md-image-preview-embed`,e.appendChild(Yr(r)),e}let i=(n.resolveImageUrl??Jr)(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 Zr(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=Xr(n.src,n.alt,e);return a&&(a.contentEditable=`false`,r.appendChild(a)),{dom:r,contentDOM:i,ignoreMutation:e=>!i.contains(e.target)}}}function Qr(e){return e?Array.from(e.files).filter(e=>e.type.startsWith(`image/`)):[]}const $r=e=>{console.error(`[meowdown] failed to save pasted image:`,e)};async function ei(e,t,n,r=$r,i){let a=i;for(let i of t){let t;try{t=await n(i)}catch(e){r(e,i);continue}if(!t||e.isDestroyed)continue;let o=``,s=a==null?e.state.tr.insertText(o):e.state.tr.insertText(o,a);e.dispatch(s),a!=null&&(a+=o.length)}}function ti(e){return new _({key:new v(`image-input`),props:{handlePaste:(t,n)=>{let r=Qr(n.clipboardData),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(ei(t,r,i,a),!0)},handleDrop:(t,n)=>{let r=Qr(n.dataTransfer),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(ei(t,r,i,a,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function ni(e={}){return h(u({name:`mdImageView`,constructor:Zr(e)}),g(p(ti(e)),t.high))}const ri=new v(`meowdown-image-click`);function ii(e,t){let n=w(e,t,`mdImageSource`);if(!n)return;let{src:r,alt:i}=n.mark.attrs;return{from:n.from,to:n.to,src:r,alt:i}}function ai(e){return p(new _({key:ri,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=ii(t.state,t.posAtDOM(a,0));return o?(e({src:o.src,alt:o.alt,event:r}),!0):!1}}}))}const oi=new v(`meowdown-embed-paste`);function si(e){let t=e.trim();if(!(!t||/\s/.test(t)))return G(t)?t:void 0}function ci(e,t){return e.clipboardData?.getData(`text/plain`)||t.content.textBetween(0,t.content.size,`
|
|
2
|
+
`)}function ht(e){let{selection:t}=e;if(!t.empty)return b.empty;let n=t.$head,{parent:r}=n;if(!r.isTextblock||r.type.spec.code)return b.empty;let i=m(n,ee(e.schema,`mdPack`));return i?b.create(e.doc,[_e.inline(i.from,i.to,{class:`show`})]):b.empty}function T(e,t){let n=pt(t);return n?e.flatMap(e=>e.modes.includes(n)?[e.name]:[]):[]}function E(e,t,n){for(let r of n){let n=w(e,t,r);if(n)return n}}function D(e,t,n){let r=E(e,t,n);return r&&r.to===t?r:void 0}function O(e,t,n){let r=E(e,t,n);return r&&r.from===t?r:void 0}function k(e,t){let{from:n,to:r,empty:i}=e.selection;if(i)return;let a=E(e,n,t);return a&&a.from===n&&a.to===r?a:void 0}function gt(e,t){return y.create(e.doc,t.from,t.to)}function _t(e){return(t,n)=>{let r=T(e,t);if(r.length===0||!ie(t.selection))return!1;let i=t.selection;if(i.empty){let e=O(t,i.from,r);if(e)return n?.(t.tr.setSelection(gt(t,e))),!0;if(D(t,i.from,r)){let e=t.doc.resolve(i.from);return i.from>=e.end()?!1:(n?.(t.tr.setSelection(y.create(t.doc,i.from+1))),!0)}return!1}let a=k(t,r);return a?(n?.(t.tr.setSelection(y.create(t.doc,a.to))),!0):!1}}function vt(e){return(t,n)=>{let r=T(e,t);if(r.length===0||!ie(t.selection))return!1;let i=t.selection;if(i.empty){let e=D(t,i.from,r);return e?(n?.(t.tr.setSelection(gt(t,e))),!0):!1}let a=k(t,r);return a?(n?.(t.tr.setSelection(y.create(t.doc,a.from))),!0):!1}}function yt(e){return(t,n)=>{let r=T(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=D(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!O(t,i,r)||i<=t.doc.resolve(i).start()?!1:(n?.(t.tr.delete(i-1,i)),!0)}}function bt(e){return(t,n)=>{let r=T(e,t);if(r.length===0||!t.selection.empty)return!1;let i=t.selection.from,a=O(t,i,r);return a?(n?.(t.tr.delete(a.from,a.to)),!0):!D(t,i,r)||i>=t.doc.resolve(i).end()?!1:(n?.(t.tr.delete(i,i+1)),!0)}}function xt(e,t){return new _({key:new v(`atomic-mark-selection-${t}`),props:{decorations:n=>{let r=T(e,n);if(r.length===0)return;let i=k(n,r);if(i)return b.create(n.doc,[_e.inline(i.from,i.to,{class:t})])}}})}function St({marks:e,selectedClass:n}){return h(g(c({ArrowRight:_t(e),ArrowLeft:vt(e),Backspace:yt(e),Delete:bt(e)}),t.high),p(xt(e,n)))}const A=new Map,Ct=new Map;async function wt(e){let t=A.get(e);if(t!==void 0)return t;let n=ve.matchLanguageName(ye,e,!0);if(!n)return A.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),A.set(e,null),null}return A.set(e,r),r}function Tt(e,t){let n=Ct.get(e);if(n)return n;let r=Se({parse:e=>t.language.parser.parse(e.content),highlighter:be});return Ct.set(e,r),r}const Et=e=>{let t=e.language?.trim();if(!t)return[];let n=A.get(t);return n===null?[]:n?Tt(t,n)(e):wt(t).then(()=>void 0)};function Dt(){return de({parser:Et,nodeTypes:[`codeBlock`]})}function Ot(e,t){let n=t.language.parser.parse(e),r=[];return xe(n,be,(e,t,n)=>{r.push([e,t,n])}),r}function kt(e,t){let n=t.trim();if(!n)return[];let r=A.get(n);return r===null?[]:r?Ot(e,r):wt(n).then(t=>t?Ot(e,t):[])}function At(){return d({type:`doc`,attr:`frontmatter`,default:null})}function jt(){return f({name:`heading`,whitespace:`pre`})}function Mt(){return d({type:`heading`,attr:`setextUnderline`,default:null,toDOM:e=>e==null?null:[`data-setext-underline`,String(e)],parseDOM:e=>{let t=e.getAttribute(`data-setext-underline`);if(t==null)return null;let n=Number.parseInt(t,10);return Number.isSafeInteger(n)&&n>0?n:null}})}function j(e){return ce(ae({type:`heading`,attrs:{level:e}}))}const Nt=(e,t,n)=>re(e,n)?.parent.type.name===`heading`?oe()(e,t,n):!1;function Pt(){return c({"Mod-1":j(1),"Mod-2":j(2),"Mod-3":j(3),"Mod-4":j(4),"Mod-5":j(5),"Mod-6":j(6),Backspace:Nt})}function Ft(){return h(Te(),jt(),Mt(),we(),Ce(),Pt())}function It(){return d({type:`horizontalRule`,attr:`marker`,default:null,toDOM:e=>e?[`data-hr-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-hr-marker`)})}function Lt(){return h(Ee(),It())}function Rt(e){let[t,n,r]=e;return[t,n,r.map(e=>e.toJSON())]}function zt(e,t){let[n,r,i]=t;return[n,r,i.map(t=>Me.fromJSON(e,t))]}var M=class e extends Oe{constructor(e){super(),this.chunks=e}apply(e){if(this.chunks.length===0)return ke.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 Ae(e),n.removeMark(i,c,t));for(let t of a)t.isInSet(l)||(n??=new Ae(e),n.addMark(i,c,t));return!1})}return ke.ok(n?n.doc:e)}invert(e){if(this.chunks.length===0)return Bt;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 De(i,a,e.slice(i,a),!1)}map(e){return null}toJSON(){return{stepType:`batchSetMark`,chunks:this.chunks.map(Rt)}}static fromJSON(t,n){let r=n.chunks;return new e(r.map(e=>zt(t,e)))}};Oe.jsonID(`batchSetMark`,M);const Bt=new M([]),Vt=new Set([`com`,`br`,`net`,`jp`,`org`,`in`,`de`,`ru`,`it`,`fr`]),Ht=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function Ut(e){let t=e.indexOf(`/`);return t===-1?e:e.slice(0,t)}function Wt(e){let t=e.split(`.`);if(t.length<2)return!1;let n=t[t.length-1].toLowerCase();if(!Vt.has(n)||t[t.length-2].length<3)return!1;for(let e of t)if(e.length>63||!Ht.test(e))return!1;return!0}function Gt(e){return e===32||e===9||e===10||e===13}const Kt=/^[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:\/[^\s<]*)?/i,qt=/[\s(*_~]/;function Jt(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45}function Yt(e,t,n){let r=0;for(let i=0;i<t;i++)e[i]===n&&r++;return r}function Xt(e){let t=e.length;for(;;){let n=e[t-1];if(/[?!.,:*_~]/.test(n)||n===`)`&&Yt(e,t,`)`)>Yt(e,t,`(`))t--;else if(n===`;`){let n=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(e.slice(0,t));if(!n)break;t=n.index}else break}return t}const Zt={parseInline:[{name:`BareAutolink`,before:`Link`,parse(e,t,n){if(!Jt(t)||e.hasOpenLink)return-1;let r=e.slice(n-1,n);if(r!==``&&!qt.test(r))return-1;let i=Kt.exec(e.slice(n,e.end));if(!i)return-1;let a=Xt(i[0]);return a===0||!Wt(Ut(i[0].slice(0,a)))?-1:e.addElement(e.elt(`URL`,n,n+a))}}]};function Qt(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45||e===95||e>127&&/[\p{L}\p{N}]/u.test(String.fromCharCode(e))}function $t(e){return e>=65&&e<=90||e>=97&&e<=122||e>127&&/\p{L}/u.test(String.fromCharCode(e))}const en={defineNodes:[{name:`Hashtag`}],parseInline:[{name:`Hashtag`,parse(e,t,n){if(t!==35||!/\s|^$/.test(e.slice(n-1,n)))return-1;let r=n+1,i=!1;for(;r<e.end;){let t=e.char(r);if(!Qt(t))break;i||=$t(t),r++}return i?e.addElement(e.elt(`Hashtag`,n,r)):-1}}]},tn={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 nn(e){return e.end}const N=Pe.configure([Ne,en,tn,Zt]),rn=N.configure({parseInline:[{name:`SkipInline`,before:`Escape`,parse:nn}]});function P(e){return N.parseInline(e,0)}function F(e,t,n=[]){for(let r of e)t(r)&&n.push(r),F(r.children,t,n);return n}function an(e){let t={};for(let n of e.nodeSet.types)t[n.name]=n.id;return t}const I=an(N);function on(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 sn(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 cn(){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 ln(){return u({name:`mdWikilinkView`,constructor:cn()})}const L=new Map([[I.Emphasis,`mdEm`],[I.StrongEmphasis,`mdStrong`],[I.InlineCode,`mdCode`],[I.Strikethrough,`mdDel`],[I.EmphasisMark,`mdMark`],[I.CodeMark,`mdMark`],[I.LinkMark,`mdMark`],[I.StrikethroughMark,`mdMark`],[I.URL,`mdLinkUri`],[I.Hashtag,`mdTag`],[I.WikilinkMark,`mdMark`]]);function un(e,t){let n=P(t),r=[];return R(n,[],0,t.length,t,e,r),r}function dn(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)||Wt(Ut(e)))return`https://${e}`}function R(e,t,n,r,i,a,o){let s=n;for(let n of e){n.from>s&&z(o,s,n.from,t);let e=n.type;if(e===I.Link)fn(n,t,i,a,o);else if(e===I.Image)pn(n,t,i,a,o);else if(e===I.Wikilink)mn(n,t,i,a,o);else if(e===I.URL){let e=dn(i.slice(n.from,n.to)),r=e?a.mdLinkText.create({href:e}):a.mdLinkUri.create();z(o,n.from,n.to,[...t,r])}else{let r;e===I.Emphasis?r=`italic`:e===I.StrongEmphasis?r=`bold`:e===I.InlineCode?r=`code`:e===I.Strikethrough?r=`strike`:e===I.Autolink&&(r=`autolink`);let s=r?[...t,a.mdPack.create({key:r})]:t,c=L.get(e),l=c?[...s,a[c].create()]:s;n.children.length===0?z(o,n.from,n.to,l):R(n.children,l,n.from,n.to,i,a,o)}s=n.to}s<r&&z(o,s,r,t)}function fn(e,t,n,r,i){let a=-1,o=null,s=0;for(let t of e.children)t.type===I.LinkMark?(s++,s===2&&(a=t.from)):t.type===I.URL&&o===null&&(o=t);let c=o?n.slice(o.from,o.to):``,l=c?r.mdLinkText.create({href:c}):null,u=e=>a>=0&&e<a&&l!==null,d=r.mdPack.create({key:`link_${c}`}),f=[...t,d],p=e.from;for(let t of e.children){if(t.from>p){let e=u(p)?[...f,l]:f;z(i,p,t.from,e)}let e=u(t.from)?[...f,l]:f;if(t.type===I.Wikilink){mn(t,e,n,r,i),p=t.to;continue}let a=L.get(t.type),o=a?[...e,r[a].create()]:e;t.children.length===0?z(i,t.from,t.to,o):R(t.children,o,t.from,t.to,n,r,i),p=t.to}p<e.to&&z(i,p,e.to,f)}function pn(e,t,n,r,i){let a=e.children.find(e=>e.type===I.URL);if(!a){fn(e,t,n,r,i);return}let o=e.children.filter(e=>e.type===I.LinkMark),s=n.slice(a.from,a.to),c=o.length>=2?n.slice(o[0].to,o[1].from):``,l=r.mdImageSource.create({src:s,alt:c}),u=r.mdImageView.create({src:s,alt:c}),d=r.mdPack.create({key:`image_${s}`}),f=e.to-1,p=e=>e>=f?[...t,d,l,u]:[...t,d,l],m=e.from;for(let t of e.children){t.from>m&&z(i,m,t.from,p(m));let e=L.get(t.type),a=e?[...p(t.from),r[e].create()]:p(t.from);t.children.length===0?z(i,t.from,t.to,a):R(t.children,a,t.from,t.to,n,r,i),m=t.to}m<e.to&&z(i,m,e.to,p(m))}function mn(e,t,n,r,i){let{target:a,display:o}=sn(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&&z(i,d,t.from,u(d));let e=r.mdMark.create();t.from<l&&t.to>l?(z(i,t.from,l,[...u(t.from),e]),z(i,l,t.to,[...u(l),e])):z(i,t.from,t.to,[...u(t.from),e]),d=t.to}d<e.to&&z(i,d,e.to,u(d))}function z(e,t,n,r){if(t>=n)return;let i=e.at(-1);if(i&&i[1]===t&&on(i[2],r)){e[e.length-1]=[i[0],n,i[2]];return}e.push([t,n,r])}const hn=x(()=>{let e=Or().schema;if(e==null)throw Error(`Unexpected empty schema`);return e}),gn=x(()=>r(hn())),_n=x(()=>n(hn())),vn=`meowdown_mark_builders`;function yn(e){let t=e.cached[vn];if(t)return t;let r=n(e);return e.cached[vn]=r,r}const bn=`meowdown_node_builders`;function xn(e){let t=e.cached[bn];if(t)return t;let n=r(e);return e.cached[bn]=n,n}const Sn=`inline-marks-applied`,Cn=new WeakMap;let wn=0,Tn=0;function En(e,t,n){let r=Cn.get(e);if(r?Tn++:(wn++,r=un(yn(n),e.textContent),Cn.set(e,r)),t===0)return r;let i=[];for(let[e,n,a]of r)i.push([e+t,n+t,a]);return i}function Dn(e,t){let n=1/0,r=-1/0;for(let t of e)for(let e of t.mapping.maps)e.forEach((e,t,i,a)=>{i<n&&(n=i),a>r&&(r=a)});let i=t.doc.content.size;return n>r?{from:0,to:i}:{from:Math.max(0,n),to:Math.min(i,r)}}function On(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=En(t,r+1,e.schema);return i.length>0&&n.push(...i),!1}),n}function kn(){return new _({key:new v(`inline-mark`),appendTransaction(e,t,n){for(let t of e)if(t.getMeta(Sn))return null;let r=On(n,Dn(e,n));if(r.length===0)return null;let i=n.tr.step(new M(r));return i.setMeta(Sn,!0),i.setMeta(`addToHistory`,!1),i},view(e){return e.dispatch(An(e.state)),{}}})}function An(e){return e.tr.setMeta(`inline-marks-trigger`,!0)}function jn(){return p(kn())}function Mn(){return l({name:`mdImageView`,inclusive:!1,attrs:{src:{default:``},alt:{default:``}},toDOM:()=>[`span`,{class:`md-image-anchor`},0],parseDOM:[{tag:`span.md-image-anchor`}]})}function Nn(){return l({name:`mdImageSource`,inclusive:!1,attrs:{src:{default:``},alt:{default:``}},toDOM:()=>[`span`,{class:`md-image-source`},0],parseDOM:[{tag:`span.md-image-source`}]})}function Pn(){return l({name:`mdMark`,inclusive:!1,toDOM:()=>[`span`,{class:`md-mark`},0],parseDOM:[{tag:`span.md-mark`}]})}function Fn(){return l({name:`mdEm`,toDOM:()=>[`em`,0],parseDOM:[{tag:`em`}]})}function In(){return l({name:`mdStrong`,toDOM:()=>[`strong`,0],parseDOM:[{tag:`strong`}]})}function Ln(){return l({name:`mdCode`,toDOM:()=>[`code`,0],parseDOM:[{tag:`code`}]})}function Rn(){return l({name:`mdLinkText`,inclusive:!1,attrs:{href:{default:``}},toDOM:e=>[`a`,{class:`md-link`,href:e.attrs.href},0],parseDOM:[{tag:`a`,getAttrs:e=>({href:e.getAttribute(`href`)??``})}]})}function zn(){return l({name:`mdLinkUri`,inclusive:!1,toDOM:()=>[`span`,{class:`md-link-uri`},0],parseDOM:[{tag:`span.md-link-uri`}]})}function Bn(){return l({name:`mdDel`,toDOM:()=>[`del`,0],parseDOM:[{tag:`del`}]})}function Vn(){return l({name:`mdTag`,toDOM:()=>[`span`,{class:`md-tag`},0],parseDOM:[{tag:`span.md-tag`}]})}function Hn(){return l({name:`mdWikilinkSource`,inclusive:!1,attrs:{target:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink-source`},0],parseDOM:[{tag:`span.md-wikilink-source`}]})}function Un(){return l({name:`mdWikilinkView`,inclusive:!1,attrs:{target:{default:``},display:{default:``}},toDOM:()=>[`span`,{class:`md-wikilink-anchor`},0],parseDOM:[{tag:`span.md-wikilink-anchor`}]})}function Wn(){return l({name:`mdPack`,excludes:``,inclusive:!1,attrs:{key:{default:``}},toDOM:e=>[`span`,{class:`md-pack`,"data-key":e.attrs.key},0],parseDOM:[{tag:`span.md-pack`}]})}function Gn(){return h(Pn(),Fn(),In(),Ln(),Rn(),zn(),Bn(),Vn(),Hn(),Un(),Nn(),Mn(),Wn())}function Kn(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 B={em:{node:I.Emphasis,delim:`*`},strong:{node:I.StrongEmphasis,delim:`**`},code:{node:I.InlineCode,delim:"`"},del:{node:I.Strikethrough,delim:`~~`}},qn=new Set([I.EmphasisMark,I.CodeMark,I.LinkMark,I.StrikethroughMark]);function V(e){return[e.children[0],e.children.at(-1)]}function Jn(e){let{type:t,children:n}=e;if(t===I.Emphasis||t===I.StrongEmphasis||t===I.Strikethrough)return[n[0].to,n.at(-1).from];if(t===I.Link||t===I.Image){let e=n.find((e,t)=>t>0&&e.type===I.LinkMark);return e?[n[0].to,e.from]:null}return null}function H(e,t,n){for(let r of e){if(r.to<=t||r.from>=n||t<=r.from&&r.to<=n)continue;let i=Jn(r);return i&&i[0]<=t&&n<=i[1]?H(r.children,t,n):H(e,Math.min(t,r.from),Math.max(n,r.to))}return[t,n]}function Yn(e,t,n){for(let r of e)if(!(r.to<=t||r.from>=n)&&(t>r.from||r.to>n))return Yn(e,Math.min(t,r.from),Math.max(n,r.to));return[t,n]}const U=e=>e===` `||e===` `;function Xn(e,t,n){for(;t<n&&U(e[t]);)t++;for(;n>t&&U(e[n-1]);)n--;return[t,n]}function Zn(e,t,n,r){let i=F(P(e),e=>e.type===r.node||qn.has(e.type));for(let r=t;r<n;r++)if(!U(e[r])&&i.every(e=>!(e.from<=r&&r<e.to)))return!1;return!0}function Qn(e,t,n,r,i){let a=P(e),o=F(a,e=>e.type===r.node);return i?tr(e,o,t,n):$n(e,a,o,t,n,r)}function $n(e,t,n,r,i,a){for(let e=0;e!==i-r;){e=i-r,[r,i]=H(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]=V(e);o.push({from:t.from,to:t.to,insert:``}),o.push({from:n.from,to:n.to,insert:``})}let[s,c]=er(e,r,i,o,a);return o.push({from:r,to:r,insert:s},{from:i,to:i,insert:c}),o}function er(e,t,n,r,i){if(i.node!==I.InlineCode)return[i.delim,i.delim];let a=e.slice(t,n);for(let e of[...r].sort((e,t)=>t.from-e.from))a=a.slice(0,e.from-t)+a.slice(e.to-t);let o="`".repeat(Kn(a)+1),s=a.startsWith("`")||a.endsWith("`")?` `:``;return[o+s,s+o]}function tr(e,t,n,r){let i=[];for(let a of t){if(a.to<=n||a.from>=r)continue;let[t,o]=V(a),s=Math.max(n,t.to),c=Math.min(r,o.from);for(s>=c&&([s,c]=[t.to,o.from]),[s,c]=Yn(a.children.slice(1,-1),s,c);s>t.to&&U(e[s-1]);)s--;for(;c<o.from&&U(e[c]);)c++;s>t.to?i.push({from:s,to:s,insert:e.slice(o.from,o.to)}):i.push({from:t.from,to:t.to,insert:``}),c<o.from?i.push({from:c,to:c,insert:e.slice(t.from,t.to)}):i.push({from:o.from,to:o.to,insert:``})}return i}function nr(e,t,n){let{delim:r}=n,i=r.length;if(e.slice(t-i,t)===r&&e.startsWith(r,t)&&e[t-i-1]!==r[0]&&e[t+i]!==r[0])return{kind:`unwrap`,from:t-i,to:t+i};let a=P(e),o=F(a,e=>e.type===n.node).findLast(e=>e.from<=t&&t<=e.to);if(o){let[e,n]=V(o);return{kind:`move`,pos:t===o.from?e.to:t===o.to?n.from:o.to}}return rr(a,t)||e[t-1]===r[0]||e[t]===r[0]?null:{kind:`insert`,pos:t}}function rr(e,t){for(let n of e)if(n.from<t&&t<n.to){let e=Jn(n);return!e||t<e[0]||t>e[1]?!0:rr(n.children,t)}return!1}function W(e){return(t,n)=>{if(t.selection.empty)return ir(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]=Xn(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:Zn(a,c,l,e)}),!1});let c=s.length>0&&s.every(e=>e.active),l=s.filter(e=>c||!e.active).flatMap(t=>Qn(t.text,t.from,t.to,e,c).map(e=>({from:e.from+t.base,to:e.to+t.base,insert:e.insert})));if(l.length===0)return!1;if(n){let e=t.tr;l.sort((e,t)=>t.from-e.from||t.to-e.to);for(let t of l)t.insert?e.insertText(t.insert,t.from,t.to):e.delete(t.from,t.to);e.setSelection(y.create(e.doc,e.mapping.map(a,a<=o?1:-1),e.mapping.map(o,o<a?1:-1))),n(e.scrollIntoView())}return!0}}function ir(e,t,n){let{$from:r}=t.selection,i=r.parent;if(!i.isTextblock||i.type.spec.code)return!1;let a=nr(i.textContent,r.parentOffset,e);if(!a)return!1;if(n){let i=r.start(),o=t.tr;a.kind===`unwrap`&&o.delete(i+a.from,i+a.to),a.kind===`move`&&o.setSelection(y.create(o.doc,i+a.pos)),a.kind===`insert`&&(o.insertText(e.delim+e.delim,i+a.pos),o.setSelection(y.create(o.doc,i+a.pos+e.delim.length))),n(o.scrollIntoView())}return!0}function ar(){return o({toggleEm:()=>W(B.em),toggleStrong:()=>W(B.strong),toggleCode:()=>W(B.code),toggleDel:()=>W(B.del)})}function or(){return c({"Mod-b":W(B.strong),"Mod-i":W(B.em),"Mod-e":W(B.code),"Mod-Shift-x":W(B.del)})}function sr(){return h(ar(),or())}function cr(){return d({type:`list`,attr:`marker`,default:null,splittable:!0,toDOM:e=>e===`)`||e===`*`||e===`+`?[`data-list-marker`,e]:null,parseDOM:e=>{let t=e.getAttribute(`data-list-marker`);return t===`)`||t===`*`||t===`+`?t:null}})}function lr(){return d({type:`list`,attr:`taskMarker`,default:null,splittable:!0,toDOM:e=>e===`X`?[`data-list-task-marker`,e]:null,parseDOM:e=>e.getAttribute(`data-list-task-marker`)===`X`?`X`:null})}function ur(e){return e===2||e===3||e===4}function dr(){return d({type:`list`,attr:`markerGap`,default:1,splittable:!0,toDOM:e=>ur(e)?[`data-list-marker-gap`,String(e)]:null,parseDOM:e=>{let t=Number.parseInt(e.getAttribute(`data-list-marker-gap`)??``,10);return ur(t)?t:1}})}const fr=[C(/^\s?([*-])\s$/,{kind:`bullet`,collapsed:!1}),C(/^\s?(\d+)\.\s$/,({match:e})=>{let t=e[1],n=t?parseInt(t,10):void 0;return{kind:`ordered`,collapsed:!1,order:n&&n>=2&&Number.isSafeInteger(n)?n:null}}),C(/^\s?\[([\sXx]?)]\s$/,({match:e})=>({kind:`task`,checked:[`x`,`X`].includes(e[1]),collapsed:!1})),C(/^\s?\+\s$/,{kind:`task`,marker:`+`,checked:!1,collapsed:!1})];function pr(){return h(fr.map(Fe))}function mr(){return S({kind:`task`,marker:`+`})}function hr(){return S({kind:`task`,marker:null})}function gr(){return o({wrapInCircleTask:mr,wrapInSquareTask:hr})}function _r(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 vr(){return(e,t,n)=>{let r=_r(e),i=r?.kind===`task`&&r.marker!==`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:r?.marker??null,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:null,checked:!1},S(a)(e,t,n)}}function yr(){return(e,t,n)=>{let r=_r(e),i=r?.kind===`task`&&r.marker===`+`,a;return a=i&&!r?.checked?{kind:`task`,marker:`+`,checked:!0}:i&&r?.checked?{kind:`bullet`,marker:null,checked:!1}:{kind:`task`,marker:`+`,checked:!1},S(a)(e,t,n)}}function br(){return c({"Mod-Enter":vr(),"Mod-Shift-Enter":yr()})}function xr(){return h(Ve(),ze(),Re(),Ie(),Be(),Le(),pr(),br(),cr(),lr(),dr(),gr())}function Sr(){return f({name:`paragraph`,content:`inline*`,group:`block`,whitespace:`pre`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}})}function Cr(){return h(g(Sr(),t.highest),He(),Ue())}const wr=(e,t)=>{let{selection:n}=e;return!Qe(n)||!n.isColSelection()||!n.isRowSelection()?!1:Ze(e,t)};function Tr(){return g(c({Backspace:wr,Delete:wr}),t.high)}function Er(){return h(Xe(),Ye(),We(),Je(),qe({allowTableNodeSelection:!0}),Ge(),Ke(),Tr())}function Dr(){return h(Cr(),fe(),At(),he(),le(),xr(),Ft(),Er(),ue(),Lt(),Gn(),Dt(),jn(),sr(),ln(),St({marks:[{name:`mdImageSource`,modes:[`hide`]},{name:`mdWikilinkSource`,modes:[`hide`,`focus`,`show`]}],selectedClass:`md-atomic-selected`}),a(),i(),s(),pe(),ge(),me())}function Or(){return Dr()}function kr(e){let t;return p(new _({key:e.key,props:{handleDOMEvents:{mousedown:e=>{let{from:n,to:r,empty:i}=e.state.selection;return t={from:n,to:r,empty:i},!1}},handleClick:(n,r,i)=>{if(!i.target?.closest?.(e.selector))return!1;let a=e.findHitAt(n.state,r);return!a||!(ne?i.metaKey:i.ctrlKey)&&t?.empty&&t.from>=a.from&&t.to<=a.to?!1:(e.preventDefault&&i.preventDefault(),e.onClick(a.payload,i),!0)}}}))}const Ar=new v(`meowdown-wikilink-click`);function jr(e,t){let n=w(e,t,`mdWikilinkSource`);if(!n)return;let{target:r}=n.mark.attrs;return{from:n.from,to:n.to,target:r}}function Mr(e){return kr({key:Ar,selector:`.md-wikilink-label, .md-wikilink-source`,preventDefault:!1,findHitAt:(e,t)=>{let n=jr(e,t);return n?{from:n.from,to:n.to,payload:n.target}:void 0},onClick:(t,n)=>e({target:t,event:n})})}const Nr=new v(`meowdown-link-click`);function Pr(e,t){let n=w(e,t,`mdLinkText`);if(n)return{from:n.from,to:n.to,href:n.mark.attrs.href}}function Fr(e){return kr({key:Nr,selector:`.md-link`,preventDefault:!0,findHitAt:(e,t)=>{let n=Pr(e,t);return n?{from:n.from,to:n.to,payload:n.href}:void 0},onClick:(t,n)=>e({href:t,event:n})})}function Ir(){return typeof window>`u`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}const Lr=/^(?:www\.|mobile\.)?(?:twitter\.com|x\.com)$/i,Rr=/\/status(?:es)?\/(\d+)/;function zr(e){let t;try{t=new URL(e)}catch{return}if(Lr.test(t.hostname))return Rr.exec(t.pathname)?.[1]}const Br=e=>{let t=zr(e);if(!t)return;let n=Ir()?`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 Vr(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 Hr=/^(?:www\.|m\.)?(?:youtube\.com|youtube-nocookie\.com)$/i,Ur=/^(?:www\.)?youtu\.be$/i,Wr=/^[\w-]{11}$/;function Gr(e){let t;try{t=new URL(e)}catch{return}let n=null;if(Ur.test(t.hostname))n=t.pathname.slice(1);else if(Hr.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||!Wr.test(n))return;let r=t.searchParams.get(`start`)??t.searchParams.get(`t`),i=r?Kr(r):void 0;return{videoId:n,startSeconds:i}}function Kr(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 qr=[e=>{let t=Gr(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}},Br];function G(e){for(let t of qr){let n=t(e);if(n)return n}}function Jr(e){return/^https?:\/\//i.test(e)?e:void 0}function Yr(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`&&Vr(t),t}function Xr(e,t,n){let r=G(e);if(r){let e=document.createElement(`span`);return e.className=`md-image-preview md-image-preview-embed`,e.appendChild(Yr(r)),e}let i=(n.resolveImageUrl??Jr)(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 Zr(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=Xr(n.src,n.alt,e);return a&&(a.contentEditable=`false`,r.appendChild(a)),{dom:r,contentDOM:i,ignoreMutation:e=>!i.contains(e.target)}}}function Qr(e){return e?Array.from(e.files).filter(e=>e.type.startsWith(`image/`)):[]}const $r=e=>{console.error(`[meowdown] failed to save pasted image:`,e)};async function ei(e,t,n,r=$r,i){let a=i;for(let i of t){let t;try{t=await n(i)}catch(e){r(e,i);continue}if(!t||e.isDestroyed)continue;let o=``,s=a==null?e.state.tr.insertText(o):e.state.tr.insertText(o,a);e.dispatch(s),a!=null&&(a+=o.length)}}function ti(e){return new _({key:new v(`image-input`),props:{handlePaste:(t,n)=>{let r=Qr(n.clipboardData),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(ei(t,r,i,a),!0)},handleDrop:(t,n)=>{let r=Qr(n.dataTransfer),{onImagePaste:i,onImageSaveError:a}=e;return r.length===0||!i?!1:(ei(t,r,i,a,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function ni(e={}){return h(u({name:`mdImageView`,constructor:Zr(e)}),g(p(ti(e)),t.high))}const ri=new v(`meowdown-image-click`);function ii(e,t){let n=w(e,t,`mdImageSource`);if(!n)return;let{src:r,alt:i}=n.mark.attrs;return{from:n.from,to:n.to,src:r,alt:i}}function ai(e){return p(new _({key:ri,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=ii(t.state,t.posAtDOM(a,0));return o?(e({src:o.src,alt:o.alt,event:r}),!0):!1}}}))}const oi=new v(`meowdown-embed-paste`);function si(e){let t=e.trim();if(!(!t||/\s/.test(t)))return G(t)?t:void 0}function ci(e,t){return e.clipboardData?.getData(`text/plain`)||t.content.textBetween(0,t.content.size,`
|
|
3
3
|
`)}function li(e,t){let{from:n,to:r}=e.state.selection;e.dispatch($e(e.state.tr.insertText(t,n,r)));let i=e.state.tr.insertText(``,n,n+t.length);e.dispatch($e(i))}function ui(){return p(new _({key:oi,props:{handlePaste:(e,t,n)=>{let r=e.state.selection.$from.parent;if(!r.inlineContent||r.type.spec.code)return!1;let i=ci(t,n);if(!i)return!1;let a=si(i);return a?(li(e,a),!0):!1}}}))}function di(){return it().use(et).use(tt).use(nt).use(rt,{bullet:`-`,emphasis:`*`,strong:`*`,fence:"`",fences:!0,rule:`-`,ruleRepetition:3,listItemIndent:`one`}).freeze()}const fi=x(di);function pi(e){return String(fi().processSync(e))}function K(e,t={}){let{nodes:n=gn(),frontmatter:r=!1}=t,i,a=e;if(r){let[t,n]=hi(e);i=t,n&&(a=e.slice(n))}let o=gi(n,rn.parse(a).cursor(),a);return n.doc(i===void 0?{}:{frontmatter:i},o)}const mi=/^---[ \t]*\r?\n([\s\S]*?\n)?---[ \t]*(?:\r?\n|$)/;function hi(e){let t=mi.exec(e);return t?[(t[1]??``).replace(/\r?\n$/,``),t[0].length]:[]}function gi(e,t,n){let r=[];if(!t.firstChild())return r;do r.push(...q(e,t,n));while(t.nextSibling());return t.parent(),r}function q(e,t,n){switch(t.type.id){case I.ATXHeading1:return[J(e,t,n,1,!1)];case I.ATXHeading2:return[J(e,t,n,2,!1)];case I.ATXHeading3:return[J(e,t,n,3,!1)];case I.ATXHeading4:return[J(e,t,n,4,!1)];case I.ATXHeading5:return[J(e,t,n,5,!1)];case I.ATXHeading6:return[J(e,t,n,6,!1)];case I.SetextHeading1:return[J(e,t,n,1,!0)];case I.SetextHeading2:return[J(e,t,n,2,!0)];case I.Paragraph:return[Z(e,t,n)];case I.HTMLBlock:case I.CommentBlock:case I.ProcessingInstructionBlock:return[Z(e,t,n)];case I.Blockquote:return[bi(e,t,n)];case I.BulletList:return xi(e,t,n,`bullet`);case I.OrderedList:return xi(e,t,n,`ordered`);case I.FencedCode:case I.CodeBlock:return[Ci(e,t,n)];case I.HorizontalRule:{let r=n.slice(t.from,t.to).trimEnd();return[e.horizontalRule({marker:r===`---`?null:r})]}case I.Table:return[wi(e,t,n)];case I.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 J(e,t,n,r,i){let a=t.from,o=t.from,s=t.to,c=-1,l=-1;if(t.firstChild()){t.type.id===I.HeaderMark&&t.from===a&&(o=t.to);let e=-1,n=-1,r=-1;do e=t.type.id,n=t.from,r=t.to;while(t.nextSibling());e===I.HeaderMark&&n>o&&(s=n,c=n,l=r),t.parent()}let u=yi(n.slice(o,s),Y(n,o)).trim(),d=i?_i(n,c,l)||1:null;return e.heading({level:r,setextUnderline:d},u)}function _i(e,t,n){if(t<0)return 0;let r=0;for(let i=t;i<n;i++){let t=e.charCodeAt(i);(t===61||t===45)&&r++}return r}function Y(e,t){let n=e.lastIndexOf(`
|
|
4
4
|
`,t-1)+1,r=0;for(let i=n;i<t;i++)r+=e.charCodeAt(i)===9?4-r%4:1;return r}function vi(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 yi(e,t){return t===0||!e.includes(`
|
|
5
5
|
`)?e:e.split(`
|
package/dist/style.css
CHANGED
|
@@ -410,7 +410,7 @@ img.ProseMirror-separator {
|
|
|
410
410
|
background: var(--meowdown-selection);
|
|
411
411
|
}
|
|
412
412
|
|
|
413
|
-
.ProseMirror.ProseMirror-hideselection ::selection {
|
|
413
|
+
.ProseMirror:has(.md-atomic-selected), .ProseMirror.ProseMirror-hideselection ::selection {
|
|
414
414
|
--meowdown-selection: transparent;
|
|
415
415
|
caret-color: #0000;
|
|
416
416
|
}
|
|
@@ -478,7 +478,7 @@ img.ProseMirror-separator {
|
|
|
478
478
|
display: block;
|
|
479
479
|
}
|
|
480
480
|
|
|
481
|
-
.ProseMirror[data-mark-mode="hide"] .md-image-view:has(.md-atomic-selected) .md-image-preview, .ProseMirror
|
|
481
|
+
.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 {
|
|
482
482
|
outline: 2px solid var(--meowdown-node-outline);
|
|
483
483
|
outline-offset: 2px;
|
|
484
484
|
background: var(--meowdown-node-selection);
|
|
@@ -539,3 +539,38 @@ img.ProseMirror-separator {
|
|
|
539
539
|
}
|
|
540
540
|
}
|
|
541
541
|
}
|
|
542
|
+
|
|
543
|
+
.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 {
|
|
544
|
+
vertical-align: bottom;
|
|
545
|
+
height: 100%;
|
|
546
|
+
display: inline-flex;
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
.ProseMirror[data-mark-mode="hide"] .md-image-view-content, .ProseMirror[data-mark-mode="focus"] .md-image-view-content {
|
|
550
|
+
overflow: hidden;
|
|
551
|
+
|
|
552
|
+
&:not(:has(.show)) {
|
|
553
|
+
width: 0;
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
.ProseMirror[data-mark-mode="hide"] .md-wikilink-view-content, .ProseMirror[data-mark-mode="focus"] .md-wikilink-view-content {
|
|
558
|
+
background-color: #0000;
|
|
559
|
+
width: 0;
|
|
560
|
+
min-width: 0;
|
|
561
|
+
max-width: 0;
|
|
562
|
+
overflow: visible;
|
|
563
|
+
|
|
564
|
+
& * {
|
|
565
|
+
color: #0000;
|
|
566
|
+
background-color: #0000;
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
.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) {
|
|
571
|
+
width: 0;
|
|
572
|
+
min-width: 0;
|
|
573
|
+
max-width: 0;
|
|
574
|
+
display: inline-flex;
|
|
575
|
+
overflow: visible;
|
|
576
|
+
}
|