@meowdown/core 0.40.0 → 0.40.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.d.ts +14 -4
- package/dist/index.js +3 -3
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -905,13 +905,23 @@ interface ImageClickPayload {
|
|
|
905
905
|
src: string;
|
|
906
906
|
/** The image alt text. */
|
|
907
907
|
alt: string;
|
|
908
|
-
/**
|
|
909
|
-
|
|
908
|
+
/**
|
|
909
|
+
* The originating click or touch tap. Read the target or position a popover
|
|
910
|
+
* from it; a touch surface delivers the `touchend` instead of a click.
|
|
911
|
+
*/
|
|
912
|
+
event: MouseEvent | TouchEvent;
|
|
910
913
|
}
|
|
911
914
|
type ImageClickHandler = (payload: ImageClickPayload) => void;
|
|
912
915
|
/**
|
|
913
|
-
* Call `onClick` when the user clicks a rendered image preview, with
|
|
914
|
-
* image's markdown `src`, `alt`, and the originating
|
|
916
|
+
* Call `onClick` when the user clicks or taps a rendered image preview, with
|
|
917
|
+
* the image's markdown `src`, `alt`, and the originating event.
|
|
918
|
+
*
|
|
919
|
+
* Touch taps are handled from `touchend` rather than the synthetic click:
|
|
920
|
+
* previews live inside the editor contenteditable, and iOS WebKit's
|
|
921
|
+
* tap-to-focus is a native gesture default action that only cancelling the
|
|
922
|
+
* `touchend` can suppress — otherwise a tap briefly focuses the editor and
|
|
923
|
+
* raises the software keyboard before the handler opens its own surface
|
|
924
|
+
* (such as a lightbox).
|
|
915
925
|
*/
|
|
916
926
|
declare function defineImageClickHandler(onClick: ImageClickHandler): PlainExtension;
|
|
917
927
|
//#endregion
|
package/dist/index.js
CHANGED
|
@@ -25,8 +25,8 @@ import{Priority as e,Priority as t,createMarkBuilders as n,createNodeBuilders as
|
|
|
25
25
|
`)?t:t.replaceAll(`|`,String.raw`\|`).replaceAll(`
|
|
26
26
|
`,` `)}function cs(e){return e.replace(/\n+$/u,``)}function ls(e){return/^[\s>]*$/u.test(e)}function us(e){return e.split(`
|
|
27
27
|
`).filter(e=>!ls(e))}function ds(e){return e.trim().replaceAll(/\s+/gu,` `)}function fs(e,t={}){let n=Wo(Z(e,{frontmatter:t.frontmatter}),{frontmatter:t.frontmatter});if(cs(n)===cs(e))return`exact`;let r=us(e),i=us(n);return r.length===i.length&&r.every((e,t)=>ds(e)===ds(i[t]))?`normalizing`:`lossy`}const ps=(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=ne(e.schema,`list`),i=ne(e.schema,`paragraph`),a=r.create({kind:`bullet`},i.create()),o=n.after(),s=e.tr.insert(o,a);s.setSelection(x.create(s.doc,o+2)),t(s.scrollIntoView())}return!0};function ms(){return _(l({Enter:ps}),t.high)}const hs=new Set([`MscGen`,`Xù`,`MsGenny`,`Angular Template`,`Brainfuck`,`Esper`,`Oz`,`Factor`,`Squirrel`,`Yacas`,`mIRC`,`FCL`,`ECL`,`MUMPS`,`Pig`,`Asterisk`,`Z80`,`Mathematica`]),gs=De.map(e=>({label:e.name,value:e.name.toLowerCase()})).filter(e=>!hs.has(e.label)).concat([{label:`Plain text`,value:``},{label:`Math`,value:`math`}]).sort((e,t)=>e.label.localeCompare(t.label));function _s(){return typeof window>`u`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}const vs=/^(?:www\.|mobile\.)?(?:twitter\.com|x\.com)$/i,ys=/\/status(?:es)?\/(\d+)/;function bs(e){let t;try{t=new URL(e)}catch{return}if(vs.test(t.hostname))return ys.exec(t.pathname)?.[1]}const xs=e=>{let t=bs(e);if(!t)return;let n=_s()?`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 Ss(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 Cs=/^(?:www\.|m\.)?(?:youtube\.com|youtube-nocookie\.com)$/i,ws=/^(?:www\.)?youtu\.be$/i,Ts=/^[\w-]{11}$/;function Es(e){let t;try{t=new URL(e)}catch{return}let n=null;if(ws.test(t.hostname))n=t.pathname.slice(1);else if(Cs.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||!Ts.test(n))return;let r=t.searchParams.get(`start`)??t.searchParams.get(`t`),i=r?Ds(r):void 0;return{videoId:n,startSeconds:i}}function Ds(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 Os=[e=>{let t=Es(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}},xs];function ks(e){for(let t of Os){let n=t(e);if(n)return n}}function As(e,t){return e.clipboardData?.getData(`text/plain`)||t.content.textBetween(0,t.content.size,`
|
|
28
|
-
`)}const js=new b(`meowdown-embed-paste`);function Ms(e){let t=e.trim();if(!(!t||/\s/.test(t)))return ks(t)?t:void 0}function Ns(e,t){let{from:n,to:r}=e.state.selection;e.dispatch(bt(e.state.tr.insertText(t,n,r)));let i=e.state.tr.insertText(``,n,n+t.length);e.dispatch(bt(i))}function Ps(){return m(new y({key:js,props:{handlePaste:(e,t,n)=>{let r=e.state.selection.$from.parent;if(!r.inlineContent||r.type.spec.code)return!1;let i=As(t,n);if(!i)return!1;let a=Ms(i);return a?(Ns(e,a),!0):!1}}}))}const Fs=new b(`meowdown-exit-boundary`);function Is(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&&Te.findFrom(a,t))}function Ls(e,t){let{state:n}=e,{selection:r}=n;return h(r)&&!r.empty||re(r)||r.$from.parent.inlineContent&&!e.endOfTextblock(t<0?`up`:`down`)?!0:Is(n,t)}function Rs(e){return new y({key:Fs,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||Ls(t,r)||e({direction:r<0?`up`:`down`,event:n})===!1)}}})}function zs(e){return _(m(Rs(e)),t.low)}function Bs(e){return!!e.type?.startsWith(`image/`)}function Vs(e,t){return Bs(e)?``:`[${Ws(e.name)}](${t})`}function Hs(e,t){return!e||!t.onFilePaste?[]:Array.from(e.files)}const Us=e=>{console.error(`[meowdown] failed to save pasted file:`,e)};function Ws(e){return e.replaceAll(/[\\[\]]/g,String.raw`\$&`)}async function Gs(e,t,n,r){let{onFilePaste:i}=n;if(!i)return;let a=n.onFileSaveError??Us,o=r,s=!1;for(let n of t){let t;try{t=await i(n)}catch(e){a(e,n);continue}if(!t||e.isDestroyed)continue;let r=Vs(n,t),c=s?`\n${r}`:r,l=o==null?e.state.tr.insertText(c):e.state.tr.insertText(c,o);e.dispatch(l),s=!0,o!=null&&(o+=c.length)}}function Ks(e){return new y({key:new b(`file-paste`),props:{handlePaste:(t,n)=>{let r=Hs(n.clipboardData,e);return r.length===0?!1:(Gs(t,r,e),!0)},handleDrop:(t,n)=>{let r=Hs(n.dataTransfer,e);return r.length===0?!1:(Gs(t,r,e,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function qs(e={}){return _(m(Ks(e)),t.high)}const Js=new b(`meowdown-file-click`);function Ys(e,t){let n=D(e,t,`mdFile`);if(!n)return;let{href:r,name:i}=n.mark.attrs;return{href:r,name:i}}function Xs(e){return m(new y({key:Js,props:{handleClick:(t,n,r)=>{let i=r.target?.closest?.(`.md-file-view-preview`);if(!i)return!1;let a=i.closest(`.md-file-view`)?.querySelector(`.md-file-view-content`);if(!a)return!1;let o=Ys(t.state,t.posAtDOM(a,0));return o?(e({href:o.href,name:o.name,event:r}),!0):!1}}}))}const Zs=[`KB`,`MB`,`GB`,`TB`];function Qs(e){let t=e,n=`B`;for(let e of Zs){if(t<999.5)break;t/=1e3,n=e}return n===`B`?`${Math.round(t)} B`:`${t<9.95?Math.round(t*10)/10:Math.round(t)} ${n}`}const $s=new Map([[`pdf`,`pdf`],[`zip`,`archive`],[`tar`,`archive`],[`gz`,`archive`],[`tgz`,`archive`],[`rar`,`archive`],[`7z`,`archive`],[`doc`,`doc`],[`docx`,`doc`],[`pages`,`doc`],[`xls`,`sheet`],[`xlsx`,`sheet`],[`csv`,`sheet`],[`numbers`,`sheet`],[`ppt`,`slides`],[`pptx`,`slides`],[`key`,`slides`],[`mp3`,`audio`],[`wav`,`audio`],[`m4a`,`audio`],[`flac`,`audio`],[`ogg`,`audio`],[`mp4`,`video`],[`mov`,`video`],[`mkv`,`video`],[`webm`,`video`],[`txt`,`text`],[`md`,`text`]]);function ec(e){let t=e.split(/[?#]/,1)[0],n=t.lastIndexOf(`.`);if(n<0)return`generic`;let r=t.slice(n+1).toLowerCase();return $s.get(r)??`generic`}const tc=`http://www.w3.org/2000/svg`;function nc(){let e=document.createElementNS(tc,`svg`);e.setAttribute(`class`,`md-file-view-icon`),e.setAttribute(`viewBox`,`0 0 24 24`),e.setAttribute(`aria-hidden`,`true`);for(let t of[`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,`M14 2v4a2 2 0 0 0 2 2h4`]){let n=document.createElementNS(tc,`path`);n.setAttribute(`d`,t),n.setAttribute(`fill`,`none`),n.setAttribute(`stroke`,`currentColor`),n.setAttribute(`stroke-width`,`2`),n.setAttribute(`stroke-linecap`,`round`),n.setAttribute(`stroke-linejoin`,`round`),e.appendChild(n)}return e}var rc=class{#e;#t;#n;#r;#i;#a;#o=!1;constructor(e,t){this.#a=e.attrs,this.#e=document.createElement(`span`),this.#e.className=`md-file-view md-atom-view`,this.#n=document.createElement(`span`),this.#n.className=`md-file-view-preview md-atom-view-preview`,this.#n.contentEditable=`false`,this.#n.dataset.testid=`file-pill`,this.#n.dataset.fileKind=ec(this.#a.href),this.#n.title=this.#a.name,this.#e.appendChild(this.#n),this.#n.appendChild(nc()),this.#r=document.createElement(`span`),this.#r.className=`md-file-view-name`,this.#r.textContent=this.#a.name,this.#n.appendChild(this.#r),this.#i=document.createElement(`span`),this.#i.className=`md-file-view-size`,this.#i.dataset.testid=`file-pill-size`,this.#n.appendChild(this.#i),this.#t=document.createElement(`span`),this.#t.className=`md-file-view-content md-atom-view-content`,this.#e.appendChild(this.#t),this.#s(t.resolveFileInfo)}get dom(){return this.#e}get contentDOM(){return this.#t}update(e){let t=e.attrs,n=this.#a;return t.href===n.href?(this.#a=t,t.name!==n.name&&(this.#r.textContent=t.name,this.#n.title=t.name),!0):!1}ignoreMutation(e){return!this.#t.contains(e.target)}destroy(){this.#o=!0}async#s(e){if(!e)return;let t;try{t=await e(this.#a.href)}catch(e){console.error(`[meowdown] resolveFileInfo failed:`,e);return}if(this.#o||!t)return;let{size:n}=t;n==null||!Number.isFinite(n)||n<0||(this.#i.textContent=Qs(n))}};function ic(e={}){return d({name:`mdFile`,constructor:t=>new rc(t,e)})}function ac(e){return m(new y({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 oc=new b(`meowdown-tag-click`);function sc(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 cc(e){return ac({key:oc,selector:`.md-tag`,preventDefault:!1,findPayloadAt:(e,t)=>sc(e,t)?.tag,onClick:(t,n)=>e({tag:t,event:n})})}const lc=new b(`meowdown-wikilink-click`);function uc(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 dc(e){return ac({key:lc,selector:`.md-wikilink-view-preview`,preventDefault:!1,findPayloadAt:(e,t)=>uc(e,t)?.target,onClick:(t,n)=>e({target:t,event:n})})}const fc=new b(`meowdown-follow-link`);function pc(e){return e.key!==`Enter`||e.shiftKey||e.altKey?!1:ie?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}function mc(e){return new y({key:fc,props:{handleKeyDown:(t,n)=>{if(!pc(n))return!1;let{state:r}=t,i=r.selection.head,a=e.onWikilinkClick&&uc(r,i);if(a)return e.onWikilinkClick?.({target:a.target,event:n}),!0;let o=e.onTagClick&&sc(r,i);if(o)return e.onTagClick?.({tag:o.tag,event:n}),!0;let s=e.onFileClick&&Ys(r,i);if(s)return e.onFileClick?.({href:s.href,name:s.name,event:n}),!0;let c=e.onLinkClick&&K(r,i);return c?(e.onLinkClick?.({href:c.href,event:n}),!0):!1}}})}function hc(e){return _(m(mc(e)),t.high)}const gc=(e,t)=>{let n={type:`highlight`,children:e.all(t)};return e.patch(t,n),n},_c=(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 vc(){return Tt().use(xt).use(St,{handlers:{mark:gc}}).use(Ct).use(wt,{bullet:`-`,emphasis:`*`,strong:`*`,fence:"`",fences:!0,rule:`-`,ruleRepetition:3,listItemIndent:`one`,handlers:{highlight:_c}}).freeze()}const yc=v(vc);function bc(e){return String(yc().processSync(e))}const xc=new b(`meowdown-html-paste`);function Sc(){return m(new y({key:xc,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=bc(e);if(!r.trim())return e;let i=Z(r,{nodes:Co(t.state.schema)}),a=Fe.fromSchema(t.state.schema),o=document.createElement(`div`);return o.append(a.serializeFragment(i.content)),o.innerHTML}}}))}const Cc=new b(`meowdown-image-click`);function wc(e){return e instanceof HTMLElement&&e.closest(`.md-image-view-preview`)}function Tc(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 Ec(e){return m(new y({key:Cc,props:{handleDOMEvents:{pointerdown:(e,t)=>(wc(t.target)&&t.pointerType!==`mouse`&&t.preventDefault(),!1)},handleClick:(t,n,r)=>{let i=wc(r.target);if(!i)return!1;let a=i.closest(`.md-image-view`)?.querySelector(`.md-image-view-content`);if(!a)return!1;let o=Tc(t.state,t.posAtDOM(a,0));return o?(e({src:o.src,alt:o.alt,event:r}),!0):!1}}}))}function Dc(e){return/^https?:\/\//i.test(e)?e:void 0}function Oc(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`&&Ss(t),t}function kc(e,t,n,r){if(n!=null&&r!=null){e.setAttribute(`data-width`,String(n)),e.setAttribute(`data-height`,String(r));return}let i=t.naturalWidth/t.naturalHeight;if(!Number.isFinite(i)||i<=0){n!=null&&e.setAttribute(`data-width`,String(n)),r!=null&&e.setAttribute(`data-height`,String(r));return}let a=n==null?Math.min(t.naturalHeight,500):n/i,o=n??a*i;e.setAttribute(`data-width`,String(Math.round(o))),e.setAttribute(`data-height`,String(Math.round(a)))}function Ac(e,t,n,r){let i=e.posAtDOM(t,0),a=D(e.state,i,`mdImage`);if(!a)return;let o=e.state.doc.textBetween(a.from,a.to),s=Pr(o),c=a.from+s.length,l=o.slice(s.length),u=Nr({...jr(l)??{},width:Math.round(n),height:Math.round(r)});u!==l&&e.dispatch(e.state.tr.insertText(u,c,a.to))}var jc=class{#e;#t;#n;#r;#i;#a;#o;constructor(e,t,n){this.#i=e.attrs,this.#n=n,this.#r=t,this.#e=document.createElement(`span`),this.#e.className=`md-image-view md-atom-view`,this.#t=document.createElement(`span`),this.#t.className=`md-image-view-content md-atom-view-content`;let r=this.#s();r&&(r.contentEditable=`false`,this.#e.appendChild(r)),this.#e.appendChild(this.#t)}get dom(){return this.#e}get contentDOM(){return this.#t}update(e){let t=e.attrs,n=this.#i;return t.src===n.src?(this.#i=t,this.#o&&t.alt!==n.alt&&(this.#o.alt=t.alt),this.#a&&this.#o&&(t.width!==n.width||t.height!==n.height)&&kc(this.#a,this.#o,t.width,t.height),!0):!1}ignoreMutation(e){return!this.#t.contains(e.target)}#s(){let{src:e}=this.#i,t=ks(e);if(t){let e=document.createElement(`span`);return e.className=`md-image-view-preview md-atom-view-preview`,e.appendChild(Oc(t)),e}let n=(this.#n.resolveImageUrl??Dc)(e);if(!n)return;let r=document.createElement(`span`);return r.className=`md-image-view-preview md-atom-view-preview`,r.dataset.testid=`image-preview`,r.appendChild(this.#c(n)),r}#c(e){Dt(),Et();let t=document.createElement(`prosekit-resizable-root`);t.className=`md-image-resizable`,t.dataset.testid=`image-resizable`,t.setAttribute(`data-loading`,``);let n=document.createElement(`img`);n.src=e,n.alt=this.#i.alt,n.draggable=!1,kc(t,n,this.#i.width,this.#i.height),n.addEventListener(`load`,()=>{t.removeAttribute(`data-loading`);let e=n.naturalWidth/n.naturalHeight;!Number.isFinite(e)||e<=0||(t.setAttribute(`data-aspect-ratio`,String(e)),kc(t,n,this.#i.width,this.#i.height))}),n.addEventListener(`error`,()=>{t.removeAttribute(`data-loading`)}),t.appendChild(n);let r=document.createElement(`prosekit-resizable-handle`);return r.className=`md-image-resize-handle`,r.setAttribute(`position`,`bottom-right`),r.addEventListener(`click`,e=>e.stopPropagation()),t.appendChild(r),t.addEventListener(`resizeEnd`,e=>{let{width:t,height:n}=e.detail;Ac(this.#r,this.#t,t,n)}),this.#a=t,this.#o=n,t}};function Mc(e={}){return d({name:`mdImage`,constructor:(t,n)=>new jc(t,n,e)})}const Nc={"Mod-b":`Bold`,"Mod-i":`Italic`,"Mod-e":`Inline code`,"Mod-Shift-x":`Strikethrough`,"Mod-Shift-h":`Highlight`,"Mod-k":`Link`,"Mod-Shift-k":`Insert a wikilink`,"Mod-1":`Heading 1`,"Mod-2":`Heading 2`,"Mod-3":`Heading 3`,"Mod-4":`Heading 4`,"Mod-5":`Heading 5`,"Mod-6":`Heading 6`,"Mod-.":`Fold or unfold a bullet`,"Mod-Enter":`Follow the link under the caret, or cycle a checkbox task`,"Mod-Shift-Enter":`Cycle a circle checkbox task`,"Mod-Shift-7":`Ordered list`,"Mod-Shift-8":`Bullet list`,"Mod-Shift-9":`Checkbox task list`,"Alt-ArrowUp":`Move the block or list item up`,"Alt-ArrowDown":`Move the block or list item down`,"Meta-ArrowUp":`Move the caret to the document start`,"Meta-ArrowDown":`Move the caret to the document end`,"Shift-Meta-ArrowUp":`Select to the document start`,"Shift-Meta-ArrowDown":`Select to the document end`,Escape:`Collapse the selection`},Pc=new b(`meowdown-link-click`);function Fc(e){return ac({key:Pc,selector:`.md-link`,preventDefault:!0,findPayloadAt:(e,t)=>K(e,t)?.href,onClick:(t,n)=>e({href:t,event:n})})}function Ic(e){let t,n=(n,r)=>{let i=r.target;if(!i||!_e(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 g(s(`mouseover`,(e,t)=>n(e,t)),s(`mouseout`,(e,t)=>r(t)))}function Lc(e){return Ic({selector:`.md-link`,findPayloadAt:(e,t)=>K(e,t),onHoverChange:e})}const Rc=new b(`meowdown-link-paste`);function zc(e){let t=e.trim();if(!(!t||/\s/.test(t)))return ir(t)}function Bc(){return _(m(new y({key:Rc,props:{handlePaste:(e,t,n)=>{let r=As(t,n);if(!r)return!1;let i=zc(r);return i?En(e,Hi({href:i,wrapText:!1})):!1}}})),t.high)}const Vc=new b(`meowdown-markdown-copy`);function Hc(){return m(new y({key:Vc,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?Wo(r).replace(/\n+$/,``):n.textBetween(0,n.size,`
|
|
28
|
+
`)}const js=new b(`meowdown-embed-paste`);function Ms(e){let t=e.trim();if(!(!t||/\s/.test(t)))return ks(t)?t:void 0}function Ns(e,t){let{from:n,to:r}=e.state.selection;e.dispatch(bt(e.state.tr.insertText(t,n,r)));let i=e.state.tr.insertText(``,n,n+t.length);e.dispatch(bt(i))}function Ps(){return m(new y({key:js,props:{handlePaste:(e,t,n)=>{let r=e.state.selection.$from.parent;if(!r.inlineContent||r.type.spec.code)return!1;let i=As(t,n);if(!i)return!1;let a=Ms(i);return a?(Ns(e,a),!0):!1}}}))}const Fs=new b(`meowdown-exit-boundary`);function Is(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&&Te.findFrom(a,t))}function Ls(e,t){let{state:n}=e,{selection:r}=n;return h(r)&&!r.empty||re(r)||r.$from.parent.inlineContent&&!e.endOfTextblock(t<0?`up`:`down`)?!0:Is(n,t)}function Rs(e){return new y({key:Fs,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||Ls(t,r)||e({direction:r<0?`up`:`down`,event:n})===!1)}}})}function zs(e){return _(m(Rs(e)),t.low)}function Bs(e){return!!e.type?.startsWith(`image/`)}function Vs(e,t){return Bs(e)?``:`[${Ws(e.name)}](${t})`}function Hs(e,t){return!e||!t.onFilePaste?[]:Array.from(e.files)}const Us=e=>{console.error(`[meowdown] failed to save pasted file:`,e)};function Ws(e){return e.replaceAll(/[\\[\]]/g,String.raw`\$&`)}async function Gs(e,t,n,r){let{onFilePaste:i}=n;if(!i)return;let a=n.onFileSaveError??Us,o=r,s=!1;for(let n of t){let t;try{t=await i(n)}catch(e){a(e,n);continue}if(!t||e.isDestroyed)continue;let r=Vs(n,t),c=s?`\n${r}`:r,l=o==null?e.state.tr.insertText(c):e.state.tr.insertText(c,o);e.dispatch(l),s=!0,o!=null&&(o+=c.length)}}function Ks(e){return new y({key:new b(`file-paste`),props:{handlePaste:(t,n)=>{let r=Hs(n.clipboardData,e);return r.length===0?!1:(Gs(t,r,e),!0)},handleDrop:(t,n)=>{let r=Hs(n.dataTransfer,e);return r.length===0?!1:(Gs(t,r,e,t.posAtCoords({left:n.clientX,top:n.clientY})?.pos),!0)}}})}function qs(e={}){return _(m(Ks(e)),t.high)}const Js=new b(`meowdown-file-click`);function Ys(e,t){let n=D(e,t,`mdFile`);if(!n)return;let{href:r,name:i}=n.mark.attrs;return{href:r,name:i}}function Xs(e){return m(new y({key:Js,props:{handleClick:(t,n,r)=>{let i=r.target?.closest?.(`.md-file-view-preview`);if(!i)return!1;let a=i.closest(`.md-file-view`)?.querySelector(`.md-file-view-content`);if(!a)return!1;let o=Ys(t.state,t.posAtDOM(a,0));return o?(e({href:o.href,name:o.name,event:r}),!0):!1}}}))}const Zs=[`KB`,`MB`,`GB`,`TB`];function Qs(e){let t=e,n=`B`;for(let e of Zs){if(t<999.5)break;t/=1e3,n=e}return n===`B`?`${Math.round(t)} B`:`${t<9.95?Math.round(t*10)/10:Math.round(t)} ${n}`}const $s=new Map([[`pdf`,`pdf`],[`zip`,`archive`],[`tar`,`archive`],[`gz`,`archive`],[`tgz`,`archive`],[`rar`,`archive`],[`7z`,`archive`],[`doc`,`doc`],[`docx`,`doc`],[`pages`,`doc`],[`xls`,`sheet`],[`xlsx`,`sheet`],[`csv`,`sheet`],[`numbers`,`sheet`],[`ppt`,`slides`],[`pptx`,`slides`],[`key`,`slides`],[`mp3`,`audio`],[`wav`,`audio`],[`m4a`,`audio`],[`flac`,`audio`],[`ogg`,`audio`],[`mp4`,`video`],[`mov`,`video`],[`mkv`,`video`],[`webm`,`video`],[`txt`,`text`],[`md`,`text`]]);function ec(e){let t=e.split(/[?#]/,1)[0],n=t.lastIndexOf(`.`);if(n<0)return`generic`;let r=t.slice(n+1).toLowerCase();return $s.get(r)??`generic`}const tc=`http://www.w3.org/2000/svg`;function nc(){let e=document.createElementNS(tc,`svg`);e.setAttribute(`class`,`md-file-view-icon`),e.setAttribute(`viewBox`,`0 0 24 24`),e.setAttribute(`aria-hidden`,`true`);for(let t of[`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,`M14 2v4a2 2 0 0 0 2 2h4`]){let n=document.createElementNS(tc,`path`);n.setAttribute(`d`,t),n.setAttribute(`fill`,`none`),n.setAttribute(`stroke`,`currentColor`),n.setAttribute(`stroke-width`,`2`),n.setAttribute(`stroke-linecap`,`round`),n.setAttribute(`stroke-linejoin`,`round`),e.appendChild(n)}return e}var rc=class{#e;#t;#n;#r;#i;#a;#o=!1;constructor(e,t){this.#a=e.attrs,this.#e=document.createElement(`span`),this.#e.className=`md-file-view md-atom-view`,this.#n=document.createElement(`span`),this.#n.className=`md-file-view-preview md-atom-view-preview`,this.#n.contentEditable=`false`,this.#n.dataset.testid=`file-pill`,this.#n.dataset.fileKind=ec(this.#a.href),this.#n.title=this.#a.name,this.#e.appendChild(this.#n),this.#n.appendChild(nc()),this.#r=document.createElement(`span`),this.#r.className=`md-file-view-name`,this.#r.textContent=this.#a.name,this.#n.appendChild(this.#r),this.#i=document.createElement(`span`),this.#i.className=`md-file-view-size`,this.#i.dataset.testid=`file-pill-size`,this.#n.appendChild(this.#i),this.#t=document.createElement(`span`),this.#t.className=`md-file-view-content md-atom-view-content`,this.#e.appendChild(this.#t),this.#s(t.resolveFileInfo)}get dom(){return this.#e}get contentDOM(){return this.#t}update(e){let t=e.attrs,n=this.#a;return t.href===n.href?(this.#a=t,t.name!==n.name&&(this.#r.textContent=t.name,this.#n.title=t.name),!0):!1}ignoreMutation(e){return!this.#t.contains(e.target)}destroy(){this.#o=!0}async#s(e){if(!e)return;let t;try{t=await e(this.#a.href)}catch(e){console.error(`[meowdown] resolveFileInfo failed:`,e);return}if(this.#o||!t)return;let{size:n}=t;n==null||!Number.isFinite(n)||n<0||(this.#i.textContent=Qs(n))}};function ic(e={}){return d({name:`mdFile`,constructor:t=>new rc(t,e)})}function ac(e){return m(new y({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 oc=new b(`meowdown-tag-click`);function sc(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 cc(e){return ac({key:oc,selector:`.md-tag`,preventDefault:!1,findPayloadAt:(e,t)=>sc(e,t)?.tag,onClick:(t,n)=>e({tag:t,event:n})})}const lc=new b(`meowdown-wikilink-click`);function uc(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 dc(e){return ac({key:lc,selector:`.md-wikilink-view-preview`,preventDefault:!1,findPayloadAt:(e,t)=>uc(e,t)?.target,onClick:(t,n)=>e({target:t,event:n})})}const fc=new b(`meowdown-follow-link`);function pc(e){return e.key!==`Enter`||e.shiftKey||e.altKey?!1:ie?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}function mc(e){return new y({key:fc,props:{handleKeyDown:(t,n)=>{if(!pc(n))return!1;let{state:r}=t,i=r.selection.head,a=e.onWikilinkClick&&uc(r,i);if(a)return e.onWikilinkClick?.({target:a.target,event:n}),!0;let o=e.onTagClick&&sc(r,i);if(o)return e.onTagClick?.({tag:o.tag,event:n}),!0;let s=e.onFileClick&&Ys(r,i);if(s)return e.onFileClick?.({href:s.href,name:s.name,event:n}),!0;let c=e.onLinkClick&&K(r,i);return c?(e.onLinkClick?.({href:c.href,event:n}),!0):!1}}})}function hc(e){return _(m(mc(e)),t.high)}const gc=(e,t)=>{let n={type:`highlight`,children:e.all(t)};return e.patch(t,n),n},_c=(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 vc(){return Tt().use(xt).use(St,{handlers:{mark:gc}}).use(Ct).use(wt,{bullet:`-`,emphasis:`*`,strong:`*`,fence:"`",fences:!0,rule:`-`,ruleRepetition:3,listItemIndent:`one`,handlers:{highlight:_c}}).freeze()}const yc=v(vc);function bc(e){return String(yc().processSync(e))}const xc=new b(`meowdown-html-paste`);function Sc(){return m(new y({key:xc,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=bc(e);if(!r.trim())return e;let i=Z(r,{nodes:Co(t.state.schema)}),a=Fe.fromSchema(t.state.schema),o=document.createElement(`div`);return o.append(a.serializeFragment(i.content)),o.innerHTML}}}))}const Cc=new b(`meowdown-image-click`);function wc(e){return e instanceof HTMLElement&&e.closest(`.md-image-view-preview`)}function Tc(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 Ec(e,t){let n=t.closest(`.md-image-view`)?.querySelector(`.md-image-view-content`);if(n)return Tc(e.state,e.posAtDOM(n,0))}function Dc(e,t){return Array.from(e).find(e=>e.identifier===t)}function Oc(e,t){return Math.abs(t.clientX-e.clientX)<=10&&Math.abs(t.clientY-e.clientY)<=10}function kc(e){let t=new WeakMap;return m(new y({key:Cc,props:{handleDOMEvents:{pointerdown:(e,t)=>(wc(t.target)&&t.pointerType!==`mouse`&&t.preventDefault(),!1),touchstart:(e,n)=>{if(t.delete(e),n.touches.length!==1||!wc(n.target)||n.target instanceof HTMLElement&&n.target.closest(`.md-image-resize-handle`))return!1;let r=n.changedTouches[0];return r&&t.set(e,{identifier:r.identifier,clientX:r.clientX,clientY:r.clientY}),!1},touchmove:(e,n)=>{let r=t.get(e);if(!r)return!1;let i=Dc(n.changedTouches,r.identifier);return i&&!Oc(r,i)&&t.delete(e),!1},touchcancel:e=>(t.delete(e),!1),touchend:(n,r)=>{let i=t.get(n);if(t.delete(n),!i||r.touches.length>0)return!1;let a=Dc(r.changedTouches,i.identifier);if(!a||!Oc(i,a))return!1;let o=wc(r.target);if(!o)return!1;r.preventDefault();let s=Ec(n,o);return s&&e({src:s.src,alt:s.alt,event:r}),!0}},handleClick:(t,n,r)=>{let i=wc(r.target);if(!i)return!1;let a=Ec(t,i);return a?(e({src:a.src,alt:a.alt,event:r}),!0):!1}}}))}function Ac(e){return/^https?:\/\//i.test(e)?e:void 0}function jc(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`&&Ss(t),t}function Mc(e,t,n,r){if(n!=null&&r!=null){e.setAttribute(`data-width`,String(n)),e.setAttribute(`data-height`,String(r));return}let i=t.naturalWidth/t.naturalHeight;if(!Number.isFinite(i)||i<=0){n!=null&&e.setAttribute(`data-width`,String(n)),r!=null&&e.setAttribute(`data-height`,String(r));return}let a=n==null?Math.min(t.naturalHeight,500):n/i,o=n??a*i;e.setAttribute(`data-width`,String(Math.round(o))),e.setAttribute(`data-height`,String(Math.round(a)))}function Nc(e,t,n,r){let i=e.posAtDOM(t,0),a=D(e.state,i,`mdImage`);if(!a)return;let o=e.state.doc.textBetween(a.from,a.to),s=Pr(o),c=a.from+s.length,l=o.slice(s.length),u=Nr({...jr(l)??{},width:Math.round(n),height:Math.round(r)});u!==l&&e.dispatch(e.state.tr.insertText(u,c,a.to))}var Pc=class{#e;#t;#n;#r;#i;#a;#o;constructor(e,t,n){this.#i=e.attrs,this.#n=n,this.#r=t,this.#e=document.createElement(`span`),this.#e.className=`md-image-view md-atom-view`,this.#t=document.createElement(`span`),this.#t.className=`md-image-view-content md-atom-view-content`;let r=this.#s();r&&(r.contentEditable=`false`,this.#e.appendChild(r)),this.#e.appendChild(this.#t)}get dom(){return this.#e}get contentDOM(){return this.#t}update(e){let t=e.attrs,n=this.#i;return t.src===n.src?(this.#i=t,this.#o&&t.alt!==n.alt&&(this.#o.alt=t.alt),this.#a&&this.#o&&(t.width!==n.width||t.height!==n.height)&&Mc(this.#a,this.#o,t.width,t.height),!0):!1}ignoreMutation(e){return!this.#t.contains(e.target)}#s(){let{src:e}=this.#i,t=ks(e);if(t){let e=document.createElement(`span`);return e.className=`md-image-view-preview md-atom-view-preview`,e.appendChild(jc(t)),e}let n=(this.#n.resolveImageUrl??Ac)(e);if(!n)return;let r=document.createElement(`span`);return r.className=`md-image-view-preview md-atom-view-preview`,r.dataset.testid=`image-preview`,r.appendChild(this.#c(n)),r}#c(e){Dt(),Et();let t=document.createElement(`prosekit-resizable-root`);t.className=`md-image-resizable`,t.dataset.testid=`image-resizable`,t.setAttribute(`data-loading`,``);let n=document.createElement(`img`);n.src=e,n.alt=this.#i.alt,n.draggable=!1,Mc(t,n,this.#i.width,this.#i.height),n.addEventListener(`load`,()=>{t.removeAttribute(`data-loading`);let e=n.naturalWidth/n.naturalHeight;!Number.isFinite(e)||e<=0||(t.setAttribute(`data-aspect-ratio`,String(e)),Mc(t,n,this.#i.width,this.#i.height))}),n.addEventListener(`error`,()=>{t.removeAttribute(`data-loading`)}),t.appendChild(n);let r=document.createElement(`prosekit-resizable-handle`);return r.className=`md-image-resize-handle`,r.setAttribute(`position`,`bottom-right`),r.addEventListener(`click`,e=>e.stopPropagation()),t.appendChild(r),t.addEventListener(`resizeEnd`,e=>{let{width:t,height:n}=e.detail;Nc(this.#r,this.#t,t,n)}),this.#a=t,this.#o=n,t}};function Fc(e={}){return d({name:`mdImage`,constructor:(t,n)=>new Pc(t,n,e)})}const Ic={"Mod-b":`Bold`,"Mod-i":`Italic`,"Mod-e":`Inline code`,"Mod-Shift-x":`Strikethrough`,"Mod-Shift-h":`Highlight`,"Mod-k":`Link`,"Mod-Shift-k":`Insert a wikilink`,"Mod-1":`Heading 1`,"Mod-2":`Heading 2`,"Mod-3":`Heading 3`,"Mod-4":`Heading 4`,"Mod-5":`Heading 5`,"Mod-6":`Heading 6`,"Mod-.":`Fold or unfold a bullet`,"Mod-Enter":`Follow the link under the caret, or cycle a checkbox task`,"Mod-Shift-Enter":`Cycle a circle checkbox task`,"Mod-Shift-7":`Ordered list`,"Mod-Shift-8":`Bullet list`,"Mod-Shift-9":`Checkbox task list`,"Alt-ArrowUp":`Move the block or list item up`,"Alt-ArrowDown":`Move the block or list item down`,"Meta-ArrowUp":`Move the caret to the document start`,"Meta-ArrowDown":`Move the caret to the document end`,"Shift-Meta-ArrowUp":`Select to the document start`,"Shift-Meta-ArrowDown":`Select to the document end`,Escape:`Collapse the selection`},Lc=new b(`meowdown-link-click`);function Rc(e){return ac({key:Lc,selector:`.md-link`,preventDefault:!0,findPayloadAt:(e,t)=>K(e,t)?.href,onClick:(t,n)=>e({href:t,event:n})})}function zc(e){let t,n=(n,r)=>{let i=r.target;if(!i||!_e(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 g(s(`mouseover`,(e,t)=>n(e,t)),s(`mouseout`,(e,t)=>r(t)))}function Bc(e){return zc({selector:`.md-link`,findPayloadAt:(e,t)=>K(e,t),onHoverChange:e})}const Vc=new b(`meowdown-link-paste`);function Hc(e){let t=e.trim();if(!(!t||/\s/.test(t)))return ir(t)}function Uc(){return _(m(new y({key:Vc,props:{handlePaste:(e,t,n)=>{let r=As(t,n);if(!r)return!1;let i=Hc(r);return i?En(e,Hi({href:i,wrapText:!1})):!1}}})),t.high)}const Wc=new b(`meowdown-markdown-copy`);function Gc(){return m(new y({key:Wc,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?Wo(r).replace(/\n+$/,``):n.textBetween(0,n.size,`
|
|
29
29
|
`,`
|
|
30
|
-
`)}}}))}function
|
|
30
|
+
`)}}}))}function Kc({allowEmpty:e}){return(t,n)=>{let{selection:r}=t;if(!h(r)||!e&&r.empty||!r.$head.sameParent(r.$anchor)||r.$head.parent.type.spec.code)return!1;let i=t.doc.textBetween(r.from,r.to);if(i.startsWith(`[[`))return!1;i.startsWith(`[`)&&(i=i.slice(1));let a=`[[`+i;if(n){let e=t.tr.insertText(a,r.from,r.to);e.setSelection(x.create(e.doc,r.from+a.length)),Pe(e),n(e.scrollIntoView())}return!0}}function qc(){return l({"Mod-Shift-k":Kc({allowEmpty:!0}),"[":Kc({allowEmpty:!1})})}function Jc(e){let{selection:t,schema:n}=e;if(t.empty)return``;let r=t.content().content;try{return Wo(n.topNodeType.create(null,r)).replace(/\n+$/,``)}catch{return e.doc.textBetween(t.from,t.to,`
|
|
31
31
|
|
|
32
|
-
`)}}function
|
|
32
|
+
`)}}function Yc(e,t){let n=new DOMRect(0,0,0,0),r=()=>{if(e.isDestroyed)return n;let r=X(e,t.from,1)??X(e,t.from,-1),i=X(e,t.to,-1)??X(e,t.to,1);if(r==null||i==null)return n;let a=Math.min(r.left,i.left),o=Math.max(r.right,i.right),s=Math.min(r.top,i.top),c=Math.max(r.bottom,i.bottom);return n=new DOMRect(a,s,o-a,c-s),n};return{getBoundingClientRect:r,getClientRects:()=>[r()]}}function Xc(e){return e instanceof Ve||e instanceof He||e instanceof Ue||e instanceof We||e instanceof R}function Zc(e){for(let t of e)for(let e of t.steps)if(!Xc(e))return!0;return!1}function Qc(e){let t,n,r=!1,i,a=()=>{let n=t&&!t.isDestroyed&&t.dom;if(!n)return;let a=e&&!r;a!==i&&(i=a,n.spellcheck=a)},o=()=>{n&&clearTimeout(n),r=!0,a(),n=setTimeout(()=>{r=!1,a()},1200)};return{pause:o,apply(e){Zc(e)&&o()},view(e){return t=e,{destroy(){t=void 0}}}}}function $c(e){let t=new b(`spell-check`);return new y({key:t,state:{init:()=>Qc(e),apply:(e,t)=>t},view(e){return t.getState(e.state)?.view(e)||{}},props:{handleDOMEvents:{beforeinput:e=>{t.getState(e.state)?.pause()}}},appendTransaction(e,n){t.getState(n)?.apply(e)}})}function el(e){return m($c(e))}export{Ic as EDITOR_KEY_BINDINGS,e as Priority,Vs as buildFileMarkdown,fs as checkRoundTrip,gs as codeBlockLanguages,Ac as defaultResolveImageUrl,ms as defineBulletAfterHeading,pe as defineCodeBlockPreviewPlugin,tn as defineCodeBlockSyntaxHighlight,go as defineEditorExtension,Ps as defineEmbedPaste,zs as defineExitBoundaryHandler,Xs as defineFileClickHandler,qs as defineFilePaste,ic as defineFileView,hc as defineFollowLinkHandler,Yn as defineHTMLComment,Sc as defineHTMLPaste,Fc as defineImage,kc as defineImageClickHandler,Rc as defineLinkClickHandler,Gi as defineLinkCommands,qi as defineLinkEditKeymap,Bc as defineLinkHoverHandler,Uc as defineLinkPaste,Gc as defineMarkdownCopy,ga as defineMath,$a as definePendingReplacementHandler,he as definePlaceholder,ge as defineReadonly,el as defineSpellCheckPlugin,cc as defineTagClickHandler,dc as defineWikilinkClickHandler,qc as defineWikilinkTrigger,Wo as docToMarkdown,rn as getCodeTokens,K as getLinkUnitAt,yo as getMarkBuilders,J as getPendingReplacement,Jc as getSelectedText,ka as getTableColumnAlign,Yc as getVirtualElementFromRange,zr as inlineTextToMarkChunks,Hi as insertLink,me as isCodeBlockPreviewHiddenDecoration,Ma as isSelectionInTableCell,Ss as listenForTweetHeight,pa as loadKaTeX,Z as markdownToDoc,ks as matchEmbed,Wi as removeLink,ma as renderMathInto,Ui as updateLink,le as withPriority};
|