l&&" "!==n[l])&&new RegExp(`^\\s{${l},}`).test(n)){p.push(""),a++;continue}}break}if(i){if(new RegExp(`^(\\s{0,${r}})\\d+\\.\\s`).test(t))break}else if(new RegExp(`^(\\s{0,${r}})[-*+]\\s`).test(t))break;if(j.test(t)||H.test(t)||R.test(t)||V.test(t))break;const n=t.match(new RegExp(`^(\\s{${l},})([-*+])\\s`)),o=t.match(new RegExp(`^(\\s{${l},})(\\d+)\\.\\s`));if(n||o){const t=!!o,r=t?o[2]:n[2],i=t?o[1].length:n[1].length,s=t?parseInt(o[2],10):void 0,l=ae(e,a,r,i,t);m.push({type:t?"ol":"ul",items:l.items,start:s}),a=l.endIdx;continue}t.length>l&&""===t.slice(0,l).trim()?p.push(t.slice(l)):p.push(t),a++}p.length&&(h=h?h+"\n"+p.join("\n"):p.join("\n")),s.push({type:"listItem",text:h,checked:d,task:u,subTokens:m.length?m:void 0})}return{items:s,endIdx:a}},le=e=>N.test(e)&&/-/.test(e),ce=e=>e.replace(/^\s*\|?\s*|\s*\|?\s*$/g,"").split(/\s*\|\s*/).map(e=>/^:/.test(e)&&/:$/.test(e)?"center":/:$/.test(e)?"right":(/^:/.test(e),"left")),he=(e,n,r)=>{switch(e.type){case"heading":{const t=X(e.text);return`${G(e.text,n)}`}case"paragraph":return`${G(e.text,n)}
`;case"hr":return"
";case"quote":return`${se(e.content,n)}
`;case"code":return ue(e.content,e.lang,n,e.attrs);case"ul":return`${e.items.map(e=>de(e,n)).join("")}
`;case"ol":{const t=e.start||1;return`1?` start="${t}"`:""}>${e.items.map((e,r)=>de(e,n,t>1?r+t:void 0)).join("")}
`}case"table":return pe(e,n);case"defList":{let t="";return t+=`- ${G(e.term,n)}
`,e.defs.forEach(e=>{t+=`- ${G(e,n)}
`}),t+"
"}case"mathBlock":return`${t(e.content)}
`;default:return`${e.content?"string"==typeof e.content?G(e.content,n):t(String(e.content)):""}
`}},de=(e,t,n)=>{if(e.task){let n=` ${G(e.text,t)}`;return e.subTokens&&(n+="\n"+e.subTokens.map(e=>he(e,t)).join("\n")),n+""}let r=null!=n?``:"";return r+=G(e.text,t),e.subTokens&&(r+="\n"+e.subTokens.map(e=>he(e,t)).join("\n")),r+""},ue=(e,r,i,o)=>{if("mermaid"===r)return``;const s=r?` class="language-${n(r)}"`:"",a=o?.title?`${n(o.title)}
`:"";if(i.highlight&&"function"==typeof i.highlight&&r)try{const t=i.highlight(e,r);if("string"==typeof t)return`${a}${t}
`}catch(e){}return`${a}${t(e)}
`},pe=(e,t)=>{const n=e=>{const t=[];let n="",r=!1;for(let i=0;i0&&""===t[0]&&t.shift(),t.length>0&&""===t[t.length-1]&&t.pop(),t},r=n(e.header),i=e.align||[],o=e=>i[e]&&"left"!==i[e]?` style="text-align:${i[e]}"`:"";let s='';return s+=r.map((e,n)=>`| ${G(e,t)} | `).join(""),s+="
",s+=e.rows.map(e=>`${n(e).map((e,n)=>`| ${G(e,t)} | `).join("")}
`).join(""),s+"
"},me=(e,n)=>{if(!e)return"";const r=[];let i=ge(e,r);const o=[];return i=i.replace(/&(?:[a-zA-Z][a-zA-Z0-9]{1,31}|#\d{1,7}|#x[0-9a-fA-F]{1,6});/g,e=>(o.push(e),`${o.length-1}`)),i=i.replace(//g,e=>(o.push(e),`${o.length-1}`)),i=i.replace(/<\/?u\s*>/gi,e=>(o.push(e),`${o.length-1}`)),i=t(i),i=i.replace(/\u0005(\d+)\u0005/g,(e,t)=>o[+t]||e),i=be(i,r,n),i=i.replace(/\u0000(\d+)\u0000/g,(e,n)=>{const i=r[+n];return i?`${t(i.content)}`:e}),i=i.replace(/:([\w+-]+):/g,(e,t)=>U[t]||e),i=i.replace(/ \n/g,"
\n"),i=i.replace(/\n/g,"
"),i},ge=(e,t)=>{let n="",r=0;for(;r{const i=new Map;return(e=(e=e.replace(/\u0000\d+\u0000/g,e=>{const t=`${i.size}`;return i.set(t,e),t})).replace(fe,e=>{const n=e;if(n.startsWith("***"))return`${n.slice(3,-3)}`;if(n.startsWith("___"))return`${n.slice(3,-3)}`;if(n.startsWith("){const e=n.match(/!\[([^\]]*)\]\(([^)\s]+)(?:\s+['"](.+?)['"])?\s*\)/);if(!e)return n;const r=Q(e[2]);return r?`
`:t(n)}if(n.startsWith("![")&&n.includes("][")){const e=n.match(/!\[([^\]]*)\]\[([^\]]*)\]/);if(!e)return n;const i=(e[2]||e[1]).toLowerCase();if(r.refs&&r.refs[i])try{const o=JSON.parse(r.refs[i]),s=Q(o.url);return s?`
`:t(n)}catch(t){return`
`}return`
`}if(n.startsWith("[")&&n.includes("](")){const e=n.match(/\[([^\]]+)\]\(([^)\s]+)(?:\s+['"](.+?)['"])?\s*\)/);if(!e)return n;const t=Q(e[2]);if(!t)return n;const i=me(e[1],r);return`${i}`}if(n.startsWith("[")&&n.includes("][")){const e=n.match(/\[([^\]]+)\]\[([^\]]*)\]/);if(!e)return n;const i=(e[2]||e[1]).toLowerCase();if(r.refs&&r.refs[i])try{const o=JSON.parse(r.refs[i]),s=Q(o.url);return s?`${e[1]}`:t(n)}catch(e){return t(n)}return t(n)}if(n.startsWith("<http")){const e=n.slice(4,-4),t=Q(e);return`${e}`}if(n.startsWith("**"))return`${n.slice(2,-2)}`;if(n.startsWith("__"))return`${n.slice(2,-2)}`;if(n.startsWith("~~"))return`${n.slice(2,-2)}`;if(n.startsWith("=="))return`${n.slice(2,-2)}`;if(n.startsWith("*")&&!n.startsWith("**")&&!n.startsWith("***"))return`${n.slice(1,-1)}`;if(n.startsWith("_")&&!n.startsWith("__")&&!n.startsWith("___"))return`${n.slice(1,-1)}`;if(n.startsWith("^")&&!n.startsWith("^^"))return`${n.slice(1,-1)}`;if(n.startsWith("~")&&!n.startsWith("~~"))return`${n.slice(1,-1)}`;if(n.startsWith("$")&&!n.startsWith("$$"))return`${t(n.slice(1,-1))}`;if(/^\[\^/.test(n)){const e=n.slice(2,-1),t=J(e);return``}if(n.startsWith("\\")&&2===n.length){const e=n[1];return/[!"#$%&'()*+,\-./:;<=>?@\[\\\]^_`{|}~]/.test(e)?e:n}return n})).replace(/\u0003(\d+)\u0003/g,e=>i.get(e)||e)},ve=Symbol("me-plugin:autoSave"),ye=Symbol("me-plugin:searchReplace"),xe=Symbol("me-plugin:imagePaste"),we=Symbol("me-plugin:shortcutHelp"),_e=Symbol("me-plugin:fileSystem"),ke=(e,t)=>e[t],Ce=(e,t,n)=>{e[t]=n},Ee=(e,t)=>{delete e[t]};class Se{constructor(){this.plugins=new Map}register(e,t){return this.plugins.has(e)?this:t&&"object"==typeof t&&(t.name||e)?(this.plugins.set(e,{version:t.version||"0.0.0",description:t.description||"",depends:t.depends||[],priority:t.priority||0,...t,name:e,enabled:!0}),this):this}unregister(e){return this.plugins.delete(e),this}get(e){return this.plugins.get(e)||null}has(e){return this.plugins.has(e)}getAll(){return Array.from(this.plugins.values())}getNames(){return Array.from(this.plugins.keys())}enable(e){const t=this.plugins.get(e);return t&&(t.enabled=!0),this}disable(e){const t=this.plugins.get(e);return t&&(t.enabled=!1),this}isEnabled(e){const t=this.plugins.get(e);return!!t&&t.enabled}destroy(){this.plugins.clear()}}const Le=new Se,Te=e=>{const t=new Map;e.forEach(e=>t.set(e.name,e));const n=new Map,r=new Map;e.forEach(e=>{n.set(e.name,0),r.set(e.name,[])}),e.forEach(e=>{(e.depends||[]).forEach(i=>{t.has(i)&&(r.get(i).push(e.name),n.set(e.name,(n.get(e.name)||0)+1))})});const i=[];n.forEach((e,t)=>{0===e&&i.push(t)});const o=[];for(;i.length;){i.sort((e,n)=>(t.get(n).priority||0)-(t.get(e).priority||0));const e=i.shift();o.push(t.get(e)),(r.get(e)||[]).forEach(e=>{n.set(e,n.get(e)-1),0===n.get(e)&&i.push(e)})}return o.length!==e.length?e:o},Me=(e={},t={})=>{const n=[],r={...t};for(const[i,o]of Object.entries(e)){const e=t[i];if(o.required&&null==e)n.push(`"${i}" is required`);else if(void 0!==e||void 0===o.default){if(void 0!==e&&o.type){const t=Array.isArray(e)?"array":typeof e;t!==o.type&&n.push(`"${i}" expected ${o.type}, got ${t}`)}if(void 0!==e&&o.enum&&!o.enum.includes(e)&&n.push(`"${i}" must be one of [${o.enum.join(", ")}]`),void 0!==e&&"function"==typeof o.validator)try{const t=o.validator(e);!0!==t&&n.push(`"${i}": ${t}`)}catch(e){n.push(`"${i}": ${e.message}`)}}else r[i]=o.default}return{valid:0===n.length,errors:n,patched:r}},$e=e=>(t,n)=>"function"==typeof e.t?e.t(t,n):y(t,n),ze={autoSave:{name:"autoSave",version:"0.1.1",description:"Auto-save to localStorage",priority:100,install(e,t){if(!e||"function"!=typeof e.getValue)return;const n=t||this,r=n.key||"me-draft-"+(e.id||""),i=n.delay||1e3,o={_timer:null},s=()=>{o._timer&&(clearTimeout(o._timer),o._timer=null);try{localStorage.setItem(r,e.getValue()),"function"==typeof e._emit&&e._emit("autosave",{key:r,value:e.getValue()})}catch(e){}},a=()=>{o._timer&&clearTimeout(o._timer),o._timer=setTimeout(s,i)},l=s,c=s;"function"==typeof e.on&&(e.on("change",a),e.on("blur",l),e.on("save",c)),e.restoreDraft=()=>{try{const t=localStorage.getItem(r);return null!=t&&"function"==typeof e.setValue&&e.setValue(t),t}catch(e){return null}},e.clearDraft=()=>{try{localStorage.removeItem(r)}catch(e){}return e},e.getDraftKey=()=>r,Ce(e,ve,{state:o,_onInput:a,_onBlur:l,_onSave:c,save:s})},destroy(e){const t=ke(e,ve);t&&(t.state._timer&&(clearTimeout(t.state._timer),t.state._timer=null),e&&"function"==typeof e.off&&(t._onInput&&e.off("change",t._onInput),t._onBlur&&e.off("blur",t._onBlur),t._onSave&&e.off("save",t._onSave)),Ee(e,ve))}},exportTool:{name:"exportTool",version:"0.1.0",description:"Export Markdown/HTML",priority:50,install(e){if(!e||"function"!=typeof e.getValue)return;const t=(e,t,n)=>{if("undefined"==typeof document)return;const r=new Blob([t],{type:n+";charset=utf-8"}),i=URL.createObjectURL(r),o=document.createElement("a");o.href=i,o.download=e,document.body.appendChild(o),o.click(),document.body.removeChild(o),setTimeout(()=>URL.revokeObjectURL(i),0)},n=()=>{const e=new Date,t=e=>String(e).padStart(2,"0");return`${e.getFullYear()}${t(e.getMonth()+1)}${t(e.getDate())}-${t(e.getHours())}${t(e.getMinutes())}`},r=e,i=(t={})=>{const n=t.title||"Document",r=t.css||"",i="function"==typeof e.getHTML?e.getHTML():"",o=!1!==t.embedCSS?'':"";return`\n\n\n\n\n${n}\n${r?``:""}${o}\n\n\n${i}\n\n`};r.exportMarkdown=r=>(t(r||`metona-${n()}.md`,e.getValue(),"text/markdown"),e),r.exportHTML=(r,o={})=>(t(r||`metona-${n()}.html`,i(o),"text/html"),e),r.exportPDF=(t={})=>{if("undefined"==typeof document||!e.el)return e;const n=document.createElement("iframe");n.style.position="fixed",n.style.right="0",n.style.bottom="0",n.style.width="0",n.style.height="0",n.style.border="0",document.body.appendChild(n);const r=n.contentDocument;return r?(r.open(),r.write(i(t)),r.close(),setTimeout(()=>{try{n.contentWindow?.print()}catch(e){}setTimeout(()=>{n.parentNode&&n.parentNode.removeChild(n)},1e3)},50),e):(n.remove(),e)}},destroy(e){e&&(delete e.exportMarkdown,delete e.exportHTML,delete e.exportPDF)}},searchReplace:{name:"searchReplace",version:"0.2.1",description:"Search & Replace (Ctrl+F/H)",priority:80,install(e){if(!e||!e.textarea||"undefined"==typeof document)return;const t=$e(e);if(!document.getElementById("me-search-style")){const e=document.createElement("style");e.id="me-search-style",e.textContent=".me-search{position:absolute;top:10px;right:16px;z-index:20;display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--md-bg,#1c2029);border:1px solid var(--md-border,rgba(255,255,255,0.12));border-radius:10px;box-shadow:0 12px 40px -8px rgba(0,0,0,0.4),0 0 0 1px rgba(255,255,255,0.05);font-size:13px;min-width:300px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:meSearchIn .18s ease-out}@keyframes meSearchIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.me-search-row{display:flex;gap:6px;align-items:center}.me-search-row+.me-search-row{margin-top:2px}.me-search input{flex:1;min-width:0;padding:7px 10px;border:1px solid var(--md-border,rgba(255,255,255,0.12));border-radius:6px;background:var(--md-textarea-bg,rgba(255,255,255,0.04));color:var(--md-text,#e6e8eb);font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s}.me-search input::placeholder{color:var(--md-muted,#6b7280)}.me-search input:focus{border-color:var(--md-accent,#3b82f6);box-shadow:0 0 0 3px rgba(59,130,246,0.15)}.me-search .me-search-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid rgba(255,255,255,0.08);border-radius:5px;background:rgba(255,255,255,0.04);color:var(--md-muted,#9ca3af);cursor:pointer;transition:all .12s;flex-shrink:0}.me-search .me-search-btn:hover{background:var(--md-accent,#3b82f6);color:#fff;border-color:var(--md-accent,#3b82f6)}.me-search .me-search-btn:active{transform:scale(.92)}.me-search .me-search-btn.me-active{background:var(--md-accent,#3b82f6);color:#fff;border-color:var(--md-accent,#3b82f6)}.me-search .me-search-btn svg{width:14px;height:14px}.me-search .me-search-count{color:var(--md-muted,#9ca3af);font-size:11.5px;min-width:28px;text-align:center;font-variant-numeric:tabular-nums}.me-search .me-search-close{margin-left:2px;font-size:16px;line-height:1}.me-search .me-search-close:hover{background:#ef4444;border-color:#ef4444}.me-search .me-search-replace-one,.me-search .me-search-replace-all{width:auto;padding:5px 10px;font-size:12px;font-weight:500;letter-spacing:.01em}.me-search .me-search-replace-all{background:rgba(59,130,246,0.12);border-color:rgba(59,130,246,0.3);color:var(--md-accent,#60a5fa)}.me-search .me-search-replace-all:hover{background:var(--md-accent,#3b82f6);color:#fff}",document.head.appendChild(e)}const n={_panel:null,_regexMode:!1,_matchCase:!0,_wholeWord:!1,_cleanup:null},r="[\\w\\u4e00-\\u9fff]",i=e=>{if(!e)return null;let t=n._regexMode?e:e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");n._wholeWord&&(t=`(?{const r=e=>!!e&&/[\w\u4e00-\u9fff]/.test(e);return!r(e[t-1])&&!r(e[t+n])},s=()=>{if(!n._panel)return;const e="1"===n._panel.dataset.replace,t=n._panel.querySelector(".me-search-replace-row");t&&(t.style.display=e?"flex":"none")},a=()=>{n._cleanup&&(n._cleanup(),n._cleanup=null),n._panel=null,e&&e.textarea&&e.textarea.focus()},l=r=>{if(n._panel){n._panel.dataset.replace=r?"1":"0",s();const e=n._panel.querySelector(".me-search-find");return void(e&&(e.focus(),e.select()))}const l=e.textarea.value.substring(e.textarea.selectionStart,e.textarea.selectionEnd),c=document.createElement("div");var h;c.className="me-search",c.dataset.replace=r?"1":"0",c.innerHTML=``,e.el.appendChild(c),n._panel=c,s(),n._regexMode=!1,n._matchCase=!0,n._wholeWord=!1;const d=c.querySelector(".me-search-find"),u=c.querySelector(".me-search-replace"),p=c.querySelector(".me-search-count"),m=c.querySelector(".me-search-regex"),g=c.querySelector(".me-search-case"),f=c.querySelector(".me-search-word");m.addEventListener("click",()=>{n._regexMode=!n._regexMode,m.classList.toggle("me-active",n._regexMode),v=b()}),g.addEventListener("click",()=>{n._matchCase=!n._matchCase,g.classList.toggle("me-active",n._matchCase),v=b()}),f.addEventListener("click",()=>{n._wholeWord=!n._wholeWord,f.classList.toggle("me-active",n._wholeWord),v=b()});const b=()=>{const t=d.value;if(!t)return p.textContent="",[];const n=[],r=i(t);if(!r)return p.textContent="err",[];let o;for(;null!==(o=r.exec(e.textarea.value));)n.push(o.index),0===o[0].length&&r.lastIndex++;return p.textContent=n.length?`${n.length}`:"0",n};let v=[];const y=(t,n)=>{e.textarea.focus(),e.textarea.setSelectionRange(t,t+(n||d.value.length))},x=t=>{const r=e.textarea.value,s=d.value;if(!s)return 0;if(!n._regexMode)return n._matchCase&&r.slice(t,t+s.length)!==s?0:n._matchCase||r.slice(t,t+s.length).toLowerCase()===s.toLowerCase()?n._wholeWord&&!o(r,t,s.length)?0:s.length:0;const a=i(s);if(!a)return 0;a.lastIndex=t;const l=a.exec(r);return l&&l.index===t?l[0].length:0},w=()=>{if(v=b(),!v.length)return;const t=e.textarea.selectionEnd;let n=v.find(e=>e>=t);null==n&&(n=v[0]),y(n,x(n)||d.value.length)},_=()=>{if(v=b(),!v.length)return;const t=e.textarea.selectionStart;let n=-1;for(let e=v.length-1;e>=0;e--)if(v[e]{const t=d.value,r=u.value;if(!t)return;const s=e.textarea,a=s.selectionStart,l=s.selectionEnd,c=s.value.substring(a,l);let h=!1;if(n._regexMode){const e=i(t);if(e){e.lastIndex=a;const t=e.exec(s.value);h=!(!t||t.index!==a)}}else h=(n._matchCase?c===t:c.toLowerCase()===t.toLowerCase())&&(!n._wholeWord||o(s.value,a,t.length));h&&(s.value=s.value.substring(0,a)+r+s.value.substring(l),s.setSelectionRange(a,a+r.length)),e._value=s.value,"function"==typeof e._pushHistory&&e._pushHistory(),"function"==typeof e._render&&e._render(),"function"==typeof e._updateWordCount&&e._updateWordCount(),"function"==typeof e._emit&&e._emit("change",e._value),w()};d.addEventListener("input",()=>{v=b()}),d.addEventListener("keydown",e=>{"Enter"===e.key&&(e.preventDefault(),e.shiftKey?_():w()),"Escape"===e.key&&(e.preventDefault(),a())}),u.addEventListener("keydown",e=>{"Enter"===e.key&&(e.preventDefault(),k()),"Escape"===e.key&&(e.preventDefault(),a())}),c.querySelector(".me-search-next").addEventListener("click",w),c.querySelector(".me-search-prev").addEventListener("click",_),c.querySelector(".me-search-close").addEventListener("click",()=>a()),c.querySelector(".me-search-replace-one").addEventListener("click",k),c.querySelector(".me-search-replace-all").addEventListener("click",()=>{const t=d.value,n=u.value;if(!t)return;const r=e.textarea,o=i(t);o&&(r.value=r.value.replace(o,()=>n),r.setSelectionRange(0,0),e._value=r.value,"function"==typeof e._pushHistory&&e._pushHistory(),"function"==typeof e._render&&e._render(),"function"==typeof e._updateWordCount&&e._updateWordCount(),"function"==typeof e._emit&&e._emit("change",e._value),b())}),d.focus(),d.select(),n._cleanup=()=>{c.parentNode&&c.parentNode.removeChild(c)}},c=e=>{if(!e.ctrlKey&&!e.metaKey)return;const t=e.key.toLowerCase();"f"===t?(e.preventDefault(),l(!1)):"h"===t?(e.preventDefault(),l(!0)):"escape"===t&&n._panel&&a()};e.textarea.addEventListener("keydown",c),Ce(e,ye,{state:n,_open:l,_close:a,_onKeydown:c})},destroy(e){const t=ke(e,ye);if(t){const n=t.state;n&&(n._cleanup&&(n._cleanup(),n._cleanup=null),n._panel=null),t._onKeydown&&e&&e.textarea&&e.textarea.removeEventListener("keydown",t._onKeydown),Ee(e,ye)}}},imagePaste:{name:"imagePaste",version:"0.2.1",description:"Paste image as base64",priority:60,install(e,t={}){if(!e||!e.textarea||"undefined"==typeof document)return;const n=$e(e),r=t.maxSizeKB||500,i=t=>{const i=t.clipboardData?.items;if(i)for(const o of i)if(o.type?.startsWith("image/")){const i=o.getAsFile();if(!i)continue;const s=i.size/1024;if(r>0&&s>r){t.preventDefault(),"function"==typeof e.toast&&e.toast(n("imageTooLarge",{size:s.toFixed(0),max:r})||`Image too large (${s.toFixed(0)}KB > ${r}KB)`,{type:"warning"});break}t.preventDefault();const a=new FileReader;a.onload=()=>{"function"==typeof e.insert&&e.insert(`\n`)},a.readAsDataURL(i);break}};e.textarea.addEventListener("paste",i),Ce(e,xe,i)},destroy(e){const t=ke(e,xe);t&&e?.textarea&&e.textarea.removeEventListener("paste",t),Ee(e,xe)}},shortcutHelp:{name:"shortcutHelp",version:"0.2.0",description:"Press ? to show shortcuts",priority:200,install(e){if(!e||!e.textarea||"undefined"==typeof document)return;const t=$e(e);if(!document.getElementById("me-shortcut-style")){const e=document.createElement("style");e.id="me-shortcut-style",e.textContent=".me-shortcut-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:50;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center}.me-shortcut-panel{background:var(--md-bg,#fff);border-radius:12px;padding:24px;max-width:560px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 12px 40px rgba(0,0,0,0.3)}.me-shortcut-panel h3{font-size:16px;margin:0 0 16px;color:var(--md-text)}.me-shortcut-panel table{width:100%;border-collapse:collapse;font-size:13px}.me-shortcut-panel td{padding:6px 10px;border-bottom:1px solid var(--md-border)}.me-shortcut-panel td:first-child{font-family:var(--md-mono);font-size:12px;color:var(--md-accent);white-space:nowrap;width:40%}.me-shortcut-panel .me-shortcut-close{position:absolute;top:16px;right:20px;background:none;border:none;font-size:20px;cursor:pointer;color:var(--md-muted)}",document.head.appendChild(e)}const n={panel:null},r=()=>{n.panel&&(n.panel.remove(),n.panel=null)},i=()=>{if(n.panel)return void r();const e=[["Ctrl+B",t("bold")||"Bold"],["Ctrl+I",t("italic")||"Italic"],["Ctrl+U",t("underline")||"Underline"],["Ctrl+K",t("link")||"Link"],["Ctrl+E",t("code")||"Code"],["Ctrl+1/2/3",t("h1")||"Heading"],["Ctrl+Q",t("quote")||"Quote"],["Ctrl+Z",t("undo")||"Undo"],["Ctrl+Y",t("redo")||"Redo"],["Ctrl+S",t("save")||"Save"],["Ctrl+F",t("search")||"Search"],["Ctrl+H",t("replace")||"Replace"],["Tab",t("indent")||"Indent"],["Shift+Tab",t("outdent")||"Outdent"],["?",t("shortcuts")||"Shortcuts"]];let i="";e.forEach(([e,t])=>{i+=`| ${e} | ${t} |
`});const o=document.createElement("div");o.className="me-shortcut-overlay",o.innerHTML=`⌨️ ${t("shortcuts")||"Shortcuts"}
`,o.addEventListener("click",e=>{(e.target===o||e.target.classList.contains("me-shortcut-close"))&&r()}),document.body.appendChild(o),n.panel=o},o=e=>{"?"!==e.key||e.ctrlKey||e.metaKey||e.altKey||(e.preventDefault(),i()),"Escape"===e.key&&n.panel&&r()};e.textarea.addEventListener("keydown",o),Ce(e,we,{state:n,_open:i,_close:r,_onKeydown:o})},destroy(e){const t=ke(e,we);t&&t.state&&t.state.panel&&(t.state.panel.remove(),t.state.panel=null);const n=t?._onKeydown;n&&e?.textarea&&e.textarea.removeEventListener("keydown",n),Ee(e,we)}},fileSystem:{name:"fileSystem",version:"0.2.0",description:"File System Access API",priority:90,install(e){if(!e||"function"!=typeof e.getValue)return;const t="undefined"!=typeof window&&"function"==typeof window.showOpenFilePicker;let n=null;e.openFile=async(r={})=>{if(!t)return"function"==typeof e.toast&&e.toast?.("File System Access API not supported",{type:"warning"}),null;try{const[t]=await window.showOpenFilePicker({types:[{accept:{"text/markdown":[".md",".txt",".markdown"]}}],...r});n=t;const i=await t.getFile(),o=await i.text();return"function"==typeof e.setValue&&e.setValue(o),e._emit?.("fileOpened",{name:i.name,handle:t}),{name:i.name,content:o,handle:t}}catch(e){return e.name,null}},e.saveFile=async(r={})=>{let i=n;if(!i||r.saveAs){if(!t)return"function"==typeof e.toast&&e.toast?.("File System Access API not supported",{type:"warning"}),!1;try{i=await window.showSaveFilePicker({types:[{accept:{"text/markdown":[".md"]}}],suggestedName:r.name||"document.md"}),n=i}catch(e){return e.name,!1}}try{const t=await i.createWritable();return await t.write(e.getValue()),await t.close(),e._emit?.("fileSaved",{handle:i}),!0}catch(t){return n=null,!r.saveAs&&e.saveFile({...r,saveAs:!0})}},e.saveFileAs=t=>e.saveFile({saveAs:!0,name:t}),e.getFileHandle=()=>n,Ce(e,_e,{getHandle:()=>n})},destroy(e){e&&(delete e.openFile,delete e.saveFile,delete e.saveFileAs,delete e.getFileHandle),Ee(e,_e)}}},Ae={createManager:()=>new Se,manager:Le,register:(e,t)=>Le.register(e,t),unregister:e=>Le.unregister(e),get:e=>Le.get(e),has:e=>Le.has(e),getAll:()=>Le.getAll(),getNames:()=>Le.getNames(),enable:e=>Le.enable(e),disable:e=>Le.disable(e),isEnabled:e=>Le.isEnabled(e),getPreset:e=>ze[e]?{...ze[e]}:null,getAllPresets:()=>Object.keys(ze).reduce((e,t)=>(e[t]={...ze[t]},e),{}),createPlugin:(e={})=>{const t={name:e.name||"custom",version:e.version||"0.0.0",description:e.description||"",depends:e.depends||[],priority:e.priority||0,install:()=>{},destroy:()=>{},...e};return"function"!=typeof t.install&&(t.install=()=>{}),"function"!=typeof t.destroy&&(t.destroy=()=>{}),t},validatePlugin:e=>{const t=[];return e&&"object"==typeof e||t.push("plugin must be an object"),e&&!e.name&&t.push("plugin must have a name"),e&&e.install&&"function"!=typeof e.install&&t.push("install must be a function"),{valid:0===t.length,errors:t}},topologicalSort:Te,validateConfig:Me};let Be="auto",He=new Set,Fe=null;const Ie=()=>"undefined"==typeof window?"light":"undefined"!=typeof window&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",Pe=()=>{"undefined"!=typeof window&&window.matchMedia&&(Fe&&(Fe(),Fe=null),Fe=(()=>{if("undefined"==typeof window||!window.matchMedia)return()=>{};const e=window.matchMedia("(prefers-color-scheme: dark)"),t=e=>(e.matches,void("auto"===Be&&Ne("auto")));return e.addEventListener("change",t),()=>e.removeEventListener("change",t)})())},Re=e=>e&&"auto"!==e?e:Ie(),je=e=>{const t=Re(e),n=a[t];return n&&"object"==typeof n?n:a.light},We=(e,t)=>{if("undefined"==typeof document||!e||"object"!=typeof e)return;const n=t||document.documentElement,r={"--md-bg":e.bg,"--md-text":e.text,"--md-border":e.border,"--md-shadow":e.shadow,"--md-hover-shadow":e.hoverShadow,"--md-toolbar-bg":e.toolbarBg||e.bg,"--md-textarea-bg":e.textareaBg||e.bg,"--md-preview-bg":e.previewBg||e.bg,"--md-code-bg":e.codeBg||"rgba(127,127,127,0.1)","--md-code-text":e.codeText||e.text,"--md-accent":e.accent||"#3b82f6","--md-muted":e.muted||"#9ca3af"};for(const[e,t]of Object.entries(r))null!=t&&n.style.setProperty(e,String(t));e.progressBg&&n.style.setProperty("--md-progress-bg",e.progressBg),e.closeHoverBg&&n.style.setProperty("--md-close-hover-bg",e.closeHoverBg)},De=e=>{const t=e||document.documentElement;if("undefined"==typeof document)return{};const n=getComputedStyle(t),r={};return["--md-bg","--md-text","--md-border","--md-shadow","--md-hover-shadow","--md-toolbar-bg","--md-textarea-bg","--md-preview-bg","--md-code-bg","--md-code-text","--md-accent","--md-muted"].forEach(e=>{const t=n.getPropertyValue(e).trim();t&&(r[e]=t)}),r},Oe=(e,t)=>{const n=t||document.documentElement;if("undefined"==typeof document)return"";const r=e.startsWith("--")?e:`--md-${e}`;return getComputedStyle(n).getPropertyValue(r).trim()},Ne=e=>{Be=e;const t=Re(e);"undefined"!=typeof document&&(document.documentElement.setAttribute("data-md-theme",t),document.documentElement.classList.remove("md-theme-light","md-theme-dark","md-theme-auto","md-theme-warm"),document.documentElement.classList.add(`md-theme-${t}`),We(je(e))),Ze(e,t)},qe=e=>{Ne(e),Ve(e)},Ke=()=>Re(Be),Ve=e=>{if("undefined"!=typeof localStorage)try{localStorage.setItem("metona-editor-theme",e)}catch(e){}},Ue=()=>{if("undefined"!=typeof localStorage)try{return localStorage.getItem("metona-editor-theme")||"auto"}catch(e){}return"auto"},Ze=(e,t)=>{He.forEach(n=>{try{n(e,t)}catch(e){}})},Ge=(e,t)=>{if("undefined"==typeof document||"undefined"==typeof MutationObserver)return()=>{};const{element:n=document.documentElement,attr:r="data-theme",classMap:i=null,callback:o=null}=e,s=()=>{if("function"==typeof o)return o(n);const e=n.getAttribute(r);if(e)return e;if(i)for(const[e,t]of Object.entries(i))if(n.classList.contains(e))return t;return n.getAttribute("data-md-theme")||null};let a=s();a&&t(a);const l=new MutationObserver(()=>{const e=s();e&&e!==a&&(a=e,t(e))});return l.observe(n,{attributes:!0,attributeFilter:[r,"class","data-md-theme"]}),()=>l.disconnect()},Ye=(e,t)=>{if("undefined"==typeof document||!e)return()=>{};const n=()=>{let t=e.parentElement;for(;t;){const e=t.getAttribute("data-md-theme");if(e)return e;if(t.classList.contains("theme-dark")||t.classList.contains("dark"))return"dark";if(t.classList.contains("theme-light")||t.classList.contains("light"))return"light";t=t.parentElement}if(e.parentElement){const t=getComputedStyle(e.parentElement).getPropertyValue("--md-bg").trim()||getComputedStyle(e.parentElement).backgroundColor;if(t){const e=t.match(/\d+/g);if(e&&e.length>=3)return(299*parseInt(e[0])+587*parseInt(e[1])+114*parseInt(e[2]))/1e3<128?"dark":"light"}}return null},r=n();r&&t(r);const i=new MutationObserver(()=>{const e=n();e&&t(e)});let o=e.parentElement;for(;o&&(i.observe(o,{attributes:!0,attributeFilter:["class","data-md-theme","data-theme"]}),o=o.parentElement,o!==document.documentElement););return()=>i.disconnect()},Qe=(e,t)=>{if("function"==typeof e){const n=()=>{try{const n=e();n&&t(n)}catch(e){}};n();const r=setInterval(n,500);return()=>clearInterval(r)}if("string"==typeof e&&"undefined"!=typeof document){const n=document.querySelector(e);return n?Ge({element:n,attr:"data-theme"},t):()=>{}}return()=>{}},Xe=e=>{let t=e.config?.theme||Be||"auto";const n=[],r=n=>{t=n;const r=Re(n),i=je(n);return e.el&&(["me-theme-light","me-theme-dark","me-theme-warm"].forEach(t=>e.el.classList.remove(t)),"auto"!==r&&e.el.classList.add(`me-theme-${r}`),e.el.setAttribute("data-md-theme",r),We(i,e.el)),"function"==typeof e._emit&&e._emit("themeChange",{theme:n,resolved:r,config:i}),"function"==typeof e.refresh&&e.refresh(),t};return r(t),{apply:r,get:()=>t,set:e=>r(e),toggle:()=>{const e=Re(t);return r("dark"===e?"light":"dark")},getResolved:()=>Re(t),getConfig:()=>je(t),getVars:()=>e.el?De(e.el):{},syncWithElement:(e,t={})=>{const i=Ge({element:e,attr:t.attr||"data-theme",classMap:t.classMap,callback:t.callback},e=>r(e));return n.push(i),i},adopt:()=>{const t=e.container?Ye(e.container,e=>r(e)):()=>{};return n.push(t),t},watch:e=>{const t=Qe(e,e=>r(e));return n.push(t),t},dispose:()=>{n.forEach(e=>{try{e()}catch(e){}}),n.length=0}}},Je={light:{name:"浅色",description:"明亮清晰",config:a.light},dark:{name:"深色",description:"护眼暗色",config:a.dark},auto:{name:"自动",description:"跟随系统",config:"auto"},warm:{name:"暖色",description:"温馨暖色",config:a.warm}};for(const[e,t]of Object.entries(Je))"auto"!==e&&"auto"!==t.config&&(a[e]=t.config);const et={getSystemTheme:Ie,resolveTheme:Re,getThemeConfig:je,watchSystemTheme:Pe,unwatchSystemTheme:()=>{Fe&&(Fe(),Fe=null)},applyTheme:Ne,getCurrentTheme:()=>Be,getResolvedTheme:Ke,switchTheme:qe,toggleTheme:()=>{const e=Ke();qe("dark"===e?"light":"dark")},resetToAuto:()=>{qe("auto")},initTheme:()=>{Ne(Ue()),Pe()},saveTheme:Ve,loadTheme:Ue,addThemeListener:e=>(He.add(e),()=>{He.delete(e)}),removeThemeListener:e=>{He.delete(e)},clearThemeListeners:()=>{He.clear()},registerTheme:(e,t={})=>{const n=t.extends||"light",r=a[n]||a.light;a[e]={bg:t.bg||r.bg,text:t.text||r.text,border:t.border||r.border,shadow:t.shadow||r.shadow,hoverShadow:t.hoverShadow||r.hoverShadow,toolbarBg:t.toolbarBg||r.toolbarBg||r.bg,textareaBg:t.textareaBg||r.textareaBg||r.bg,previewBg:t.previewBg||r.previewBg||r.bg,codeBg:t.codeBg||r.codeBg,codeText:t.codeText||r.codeText,accent:t.accent||r.accent,muted:t.muted||r.muted,progressBg:t.progressBg||r.progressBg,closeHoverBg:t.closeHoverBg||r.closeHoverBg}},unregisterTheme:e=>{"light"!==e&&"dark"!==e&&"auto"!==e&&"warm"!==e&&delete a[e]},getAllThemes:()=>({...a}),getThemeNames:()=>Object.keys(a),hasTheme:e=>e in a,setThemeVariables:We,exportCSSVars:De,getCSSVariable:Oe,applyThemeToElement:(e,t)=>{if(!t||"undefined"==typeof document)return;const n=Re(e);t.setAttribute("data-md-theme",n),t.classList.remove("md-theme-light","md-theme-dark","md-theme-auto","md-theme-warm"),"auto"!==n&&t.classList.add(`md-theme-${n}`),We(je(e),t)},followExternalTheme:Ge,adoptFromParent:Ye,watch:Qe,createInstanceTheme:Xe};function tt(e){const t=this.textarea,n=t.selectionStart,r=t.value.slice(0,n),i=(r&&!r.endsWith("\n")?"\n":"")+e;t.value=t.value.slice(0,n)+i+t.value.slice(t.selectionEnd),t.focus();const o=n+i.length;t.selectionStart=t.selectionEnd=o,this._value=t.value,this._pushHistory(),this._render(),this._updateWordCount(),this._emit("change",this._value)}function nt(){if("undefined"==typeof document)return;if(!document.getElementById("me-float-style")){const e=document.createElement("style");e.id="me-float-style",e.textContent=".me-float-toolbar{position:absolute;z-index:25;display:flex;gap:4px;padding:4px 6px;background:var(--md-toolbar-bg,#f8f9fa);border:1px solid var(--md-border,rgba(0,0,0,0.1));border-radius:8px;box-shadow:0 8px 24px -8px rgba(0,0,0,0.2);opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s;pointer-events:none}.me-float-toolbar.me-visible{opacity:1;transform:translateY(0);pointer-events:auto}.me-float-toolbar .me-btn{width:28px;height:28px}",document.head.appendChild(e)}if(!this._floatingEnabled)return;const e=this.textarea,t=()=>{if(this._destroyed||this.config.readOnly||!this._floatingEnabled)return;const t=e.selectionStart,n=e.selectionEnd;if(t===n)return void this._hideFloatingToolbar();this._floatingToolbar&&this._floatingToolbar.parentNode||this._buildFloatingToolbar();const r=e.getBoundingClientRect(),i=this.editorPane.getBoundingClientRect(),o=getComputedStyle(e),s=parseFloat(o.lineHeight)||22,a=parseFloat(o.paddingTop)||16,l=parseFloat(o.paddingLeft)||18,c=parseFloat(o.fontSize)||13.5,h=e.value.substring(0,t),d=h.split("\n"),u=d.length-1,p=h.length-h.lastIndexOf("\n")-1+Math.floor((n-t)/2*("backward"===e.selectionDirection?-1:1)),m=r.top+a+u*s-e.scrollTop-i.top;let g=m-36-4;g<4&&(g=m+s+4);const f=/[\u1100-\u115F\u2E80-\u303E\u3041-\u33FF\u3400-\u4DBF\u4E00-\u9FFF\uAC00-\uD7A3\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFF60\uFFE0-\uFFE6]/,b=d[d.length-1]||"";let v=r.left+l+(e=>{let t=0;const n=Math.max(0,Math.min(e,b.length));for(let e=0;e{this._hideFloatingToolbar()};e.addEventListener("mouseup",()=>setTimeout(t,0)),e.addEventListener("keyup",()=>{e.selectionStart!==e.selectionEnd?setTimeout(t,0):setTimeout(n,0)}),e.addEventListener("blur",()=>setTimeout(n,300)),e.addEventListener("click",()=>{e.selectionStart===e.selectionEnd&&n()})}function rt(){return this._floatingEnabled=!this._floatingEnabled,this._floatingEnabled||this._floatingToolbar&&(this._floatingToolbar.parentNode&&this._floatingToolbar.parentNode.removeChild(this._floatingToolbar),this._floatingToolbar=null),this}function it(){return this._floatingEnabled}function ot(){const e=document.createElement("div");e.className="me-float-toolbar",["bold","italic","code","link","strikethrough"].forEach(t=>{const n=this._createBtn(t);n.addEventListener("mousedown",e=>{e.preventDefault(),e.stopPropagation(),this.exec(t),setTimeout(()=>this.textarea.focus(),0)}),e.appendChild(n)}),this.editorPane.appendChild(e),this._floatingToolbar=e}function st(){this._floatingToolbar&&this._floatingToolbar.classList.remove("me-visible")}function at(e=[]){return this._contextMenuItems=e,this}function lt(){if(!this.el)return;const e=e=>{const t=document.querySelector(".me-context-menu");t&&t.remove(),this._showContextMenu(e)};this.el.addEventListener("contextmenu",e),this._cleanups.push(()=>this.el.removeEventListener("contextmenu",e))}function ct(e){e.preventDefault();const t=this.textarea,n=t&&t.selectionStart!==t.selectionEnd,r=[{label:this.t("undo")||"Undo",action:"undo",shortcut:"Ctrl+Z",disabled:!this.canUndo()},{label:this.t("redo")||"Redo",action:"redo",shortcut:"Ctrl+Y",disabled:!this.canRedo()},{sep:!0},{label:this.t("cut")||"Cut",action:"cut",shortcut:"Ctrl+X",disabled:!n},{label:this.t("copy")||"Copy",action:"copy",shortcut:"Ctrl+C",disabled:!n},{label:this.t("paste")||"Paste",action:"paste",shortcut:"Ctrl+V",disabled:!!this.config.readOnly},{label:this.t("selectAll")||"Select All",action:"selectAll",shortcut:"Ctrl+A"}];this._contextMenuItems.length&&(r.push({sep:!0}),this._contextMenuItems.forEach(e=>r.push(e)));const i=document.createElement("div");i.className="me-context-menu",i.style.left=e.clientX+"px",i.style.top=e.clientY+"px",requestAnimationFrame(()=>{const t=i.getBoundingClientRect();t.right>window.innerWidth&&(i.style.left=e.clientX-t.width+"px"),t.bottom>window.innerHeight&&(i.style.top=e.clientY-t.height+"px")}),r.forEach(e=>{if(e.sep){const e=document.createElement("div");return e.className="me-context-menu-sep",void i.appendChild(e)}const t=document.createElement("div");t.className="me-context-menu-item",e.disabled&&t.classList.add("me-disabled"),t.innerHTML=`${e.label}${e.shortcut?``:""}`,t.addEventListener("click",t=>{t.stopPropagation(),e.disabled||(e.onClick?e.onClick():e.action&&this._execContextAction(e.action),this._hideContextMenu())}),i.appendChild(t)}),document.body.appendChild(i),document.addEventListener("click",e=>{i.contains(e.target)||this._hideContextMenu()},{once:!0}),document.addEventListener("keydown",e=>{"Escape"===e.key&&this._hideContextMenu()},{once:!0})}function ht(){const e=document.querySelector(".me-context-menu");e&&e.remove()}function dt(e){const t=this.textarea;if(t)switch(e){case"undo":this.undo();break;case"redo":this.redo();break;case"cut":document.execCommand("cut");break;case"copy":document.execCommand("copy");break;case"paste":document.execCommand("paste");break;case"selectAll":t.focus(),t.select();break;default:this.exec(e)}}function ut(){if(!this.config.outline||!this.previewEl)return;const e=this.el.querySelector(".me-outline");e&&e.remove();const n=[],r=/]*>(.+?)<\/h\1>/gi;let i;for(;null!==(i=r.exec(this.previewEl.innerHTML));)n.push({level:parseInt(i[1],10),id:i[2],text:i[3].replace(/<[^>]+>/g,""),srcLine:-1});if(!n.length)return;const o=[],s=this._value.split("\n");let a=!1,l="";const c=e=>/\S/.test(e)&&!/^\s{0,3}([-*+]|\d+\.)\s/.test(e)&&!/^\s{0,3}>/.test(e)&&!/^\s{0,3}(#{1,6}\s|`{3,}|~{3,})/.test(e);for(let e=0;e\s*)*#{1,6}\s+\S/.test(t)){o.push(e);continue}const r=s[e+1]||"";e+1{e.srcLine=t${this.t("outline")||"大纲"}`,h.innerHTML+=(e=>{let n="";const r=[],i=e=>{for(;r.length&&r[r.length-1]>=e;)n+="",r.pop()};for(const o of e)o.level<1||(i(o.level),n+="",n+=`- ${t(o.text)}`,r.push(o.level));return i(-1),n})(n),this.el.appendChild(h),h.addEventListener("click",e=>{const t=e.target.closest("a");if(!t)return;e.preventDefault();const r=t.getAttribute("href").slice(1),i=this.previewEl.querySelector("#"+(e=>"undefined"!=typeof CSS&&"function"==typeof CSS.escape?CSS.escape(e):e.replace(/[^a-zA-Z0-9_\u00A0-\uFFFF-]/g,"\\$&"))(r));i&&i.scrollIntoView({behavior:"smooth",block:"start"});const o=Array.prototype.indexOf.call(h.querySelectorAll("a"),t),a=o>-1&&o=0){const e=s[a]||"",t=(e.match(/^ {0,3}(?:>\s*)*#{1,6}\s+/)||e.match(/^ {0,3}/)||[""])[0].length;this.setCursorPosition(a+1,t)}else{const e=this._value.indexOf(i?.textContent||"");-1!==e&&(this.textarea.focus(),this.textarea.setSelectionRange(e,e))}})}function pt(){this.config.outline&&(this._outlineTimer&&clearTimeout(this._outlineTimer),this._outlineTimer=setTimeout(()=>this._buildOutline(),300))}function mt(){if(!this.config.outline||!this.previewPane)return;if(this._outlineScrollBound)return;this._outlineScrollBound=!0;let e=!1;const t=()=>{e||(e=!0,requestAnimationFrame(()=>{if(e=!1,!this.el)return;const t=this.el.querySelector(".me-outline");if(!t)return;const n=this.previewEl.querySelectorAll("h1, h2, h3, h4, h5, h6");let r="";const i=this.previewPane.scrollTop+80;n.forEach(e=>{e.offsetTop<=i&&(r=e.id)}),t.querySelectorAll("a").forEach(e=>{e.classList.toggle("me-outline-active",e.getAttribute("href")==="#"+r)})}))};this.previewPane.addEventListener("scroll",t,{passive:!0}),this._cleanups.push(()=>this.previewPane.removeEventListener("scroll",t))}const gt=["edit","split","preview"],ft={success:"✓",error:"✗",warning:"⚠",info:"ℹ"},bt={"(":")","[":"]","{":"}",'"':'"',"'":"'","`":"`","*":"*",_:"_"};class vt{static on(e,t){return this._hooks.has(e)||this._hooks.set(e,[]),this._hooks.get(e).push(t),()=>this.off(e,t)}static off(e,t){const n=this._hooks.get(e);n&&this._hooks.set(e,n.filter(e=>e!==t))}static trigger(e,t){const n=this._hooks.get(e);n&&n.forEach(e=>{try{e(t)}catch(e){}})}constructor(e,t={}){if(this._statsCache=null,this._pendingCursor=null,this._lastSelStart=0,this._lastSelEnd=0,"undefined"==typeof window||"undefined"==typeof document)return this._destroyed=!0,this._value=t.value||"",this;if(this.id=t.id||"me-"+Date.now().toString(36)+"-"+Math.random().toString(36).slice(2,8),this.container="string"==typeof e?document.querySelector(e):e,!this.container)return this._destroyed=!0,this;this.config={...s,...t},t.style&&"object"==typeof t.style&&(this.config.style={...s.style,...t.style}),this._value=this.config.value||"",this._mode=gt.includes(this.config.mode)?this.config.mode:"split",this._history=[],this._historyIndex=-1,this._cleanups=[],this._plugins=[],this._listeners={},this._renderRaf=null,this._historyTimer=null,this._fullscreen=!1,this._destroyed=!1,this._lastRenderedValue=null,this._shortcuts=[],this._contextMenuItems=[],this._customActions={},this._outlineTimer=null,this._zenMode=!0===this.config.zenMode,this._wordWrap=!1!==this.config.wordWrap,this._syncing=!1,this._zenMouseHandler=null,this._floatingToolbar=null,this._floatingEnabled=!1!==this.config.floatingToolbar,this._renderFn="function"==typeof this.config.render?this.config.render:se,this._highlightFn="function"==typeof this.config.highlight?this.config.highlight:null,vt.trigger("beforeCreate",this),"undefined"!=typeof document&&(d&&document.getElementById("metona-editor-styles")||(d=document.createElement("style"),d.id="metona-editor-styles",d.textContent=':root{--md-bg:#ffffff;--md-text:#1f2937;--md-border:rgba(0,0,0,0.08);--md-shadow:0 10px 36px -10px rgba(0,0,0,0.18),0 4px 14px -4px rgba(0,0,0,0.08);--md-hover-shadow:0 14px 48px -10px rgba(0,0,0,0.22),0 6px 18px -4px rgba(0,0,0,0.10);--md-toolbar-bg:rgba(248,249,250,0.92);--md-textarea-bg:#ffffff;--md-preview-bg:#ffffff;--md-code-bg:rgba(243,244,246,1);--md-code-text:#1f2937;--md-accent:#3b82f6;--md-muted:#6b7280;--md-radius:10px;--md-font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;--md-mono:"SF Mono","Cascadia Code","Consolas","Liberation Mono","Courier New",monospace}\n.me-wrapper{display:flex;flex-direction:column;box-sizing:border-box;border:1px solid var(--md-border);border-radius:var(--md-radius);overflow:hidden;background:var(--md-bg);color:var(--md-text);box-shadow:var(--md-shadow);font-family:var(--md-font);font-size:14px;line-height:1.6;position:relative;transition:box-shadow .25s,border-color .25s;width:100%}\n.me-wrapper:hover{box-shadow:var(--md-hover-shadow)}\n.me-wrapper.me-disabled{opacity:.6;pointer-events:none}\n.me-wrapper *{box-sizing:border-box}\n.me-wrapper.me-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;z-index:9999;border-radius:0;border:0}\n.me-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:2px;padding:6px 8px;background:var(--md-toolbar-bg);border-bottom:1px solid var(--md-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);min-height:40px}\n.me-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--md-text);cursor:pointer;transition:background .15s,color .15s,transform .1s;flex-shrink:0}\n.me-btn:hover{background:var(--md-code-bg);color:var(--md-accent)}\n.me-btn:active{transform:scale(.92)}\n.me-btn.me-active{background:var(--md-accent);color:#fff}\n.me-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}\n.me-btn:focus-visible{outline:2px solid var(--md-accent);outline-offset:2px}\n.me-btn:focus:not(:focus-visible){outline:none}\n.me-btn svg{width:17px;height:17px;display:block}\n.me-btn span{font-size:12px;font-weight:500}\n.me-toolbar-sep{display:inline-block;width:1px;height:20px;background:var(--md-border);margin:0 4px;flex-shrink:0}\n.me-toolbar-group{display:inline-flex;gap:2px;margin-left:auto;padding-left:6px;border-left:1px solid var(--md-border)}\n.me-toolbar-group .me-btn{width:auto;padding:0 8px}\n.me-body{display:flex;flex:1;min-height:0;position:relative}\n.me-editor-pane,.me-preview-pane{flex:1 1 50%;min-width:0;overflow:hidden;position:relative}\n.me-editor-inner{display:flex;height:100%;overflow:hidden;position:relative}\n.me-gutter{flex:0 0 auto;min-width:36px;padding:16px 8px 16px 6px;overflow:hidden;background:var(--md-code-bg);border-right:1px solid var(--md-border);color:var(--md-muted);font-family:var(--md-mono);font-size:13.5px;line-height:1.7;text-align:right;user-select:none;white-space:pre}\n.me-gutter-line{padding-right:4px}\n.me-gutter-active{color:var(--md-accent);font-weight:600;background:rgba(59,130,246,.08);border-radius:3px}\n.me-divider{flex:0 0 1px;background:var(--md-border);cursor:col-resize;position:relative}\n.me-divider::after{content:\'\';position:absolute;top:0;bottom:0;left:-3px;right:-3px}\n.me-divider:hover{background:var(--md-accent)}\n.me-textarea{width:100%;height:100%;padding:16px 18px;border:0;outline:0;resize:none;background:var(--md-textarea-bg);color:var(--md-text);font-family:var(--md-mono);font-size:13.5px;line-height:1.7;display:block;white-space:pre-wrap;word-wrap:break-word;position:relative;z-index:1}\n.me-textarea::placeholder{color:var(--md-muted);opacity:.7}\n.me-textarea:focus{outline:0}\n.me-preview-pane{overflow:auto;background:var(--md-preview-bg)}\n.me-preview{padding:18px 22px;max-width:100%;word-wrap:break-word;overflow-wrap:break-word}\n.me-body.me-mode-edit .me-preview-pane,.me-body.me-mode-edit .me-divider{display:none}\n.me-body.me-mode-edit .me-editor-pane{flex:1 1 100%}\n.me-body.me-mode-preview .me-editor-pane,.me-body.me-mode-preview .me-divider{display:none}\n.me-body.me-mode-preview .me-preview-pane{flex:1 1 100%}\n.me-preview>:first-child{margin-top:0}\n.me-preview>:last-child{margin-bottom:0}\n.me-preview h1,.me-preview h2,.me-preview h3,.me-preview h4,.me-preview h5,.me-preview h6{margin:1.4em 0 .6em;font-weight:650;line-height:1.3}\n.me-preview h1{font-size:1.9em;padding-bottom:.3em;border-bottom:1px solid var(--md-border)}\n.me-preview h2{font-size:1.55em;padding-bottom:.3em;border-bottom:1px solid var(--md-border)}\n.me-preview h3{font-size:1.3em}\n.me-preview h4{font-size:1.12em}\n.me-preview h5{font-size:1em}\n.me-preview h6{font-size:.9em;color:var(--md-muted)}\n.me-preview p{margin:.7em 0}\n.me-preview a{color:var(--md-accent);text-decoration:none}\n.me-preview a:hover{text-decoration:underline}\n.me-preview strong{font-weight:650}\n.me-preview em{font-style:italic}\n.me-preview del{text-decoration:line-through;opacity:.75}\n.me-preview ul,.me-preview ol{margin:.6em 0;padding-left:1.6em}\n.me-preview li{margin:.25em 0}\n.me-preview li.me-task-item{list-style:none;margin-left:-1.4em}\n.me-preview li.me-task-item input{margin-right:.5em;vertical-align:middle}\n.me-preview blockquote{margin:.8em 0;padding:.4em 1em;border-left:3px solid var(--md-accent);background:var(--md-code-bg);border-radius:0 6px 6px 0;color:var(--md-text)}\n.me-preview blockquote>:first-child{margin-top:0}\n.me-preview blockquote>:last-child{margin-bottom:0}\n.me-preview hr{border:0;height:1px;background:var(--md-border);margin:1.6em 0}\n.me-preview code{font-family:var(--md-mono);font-size:.88em;padding:.15em .4em;background:var(--md-code-bg);color:var(--md-code-text);border-radius:4px}\n.me-preview pre{margin:.9em 0;padding:14px 16px;background:var(--md-code-bg);border-radius:8px;overflow-x:auto;border:1px solid var(--md-border)}\n.me-code-title{font-family:var(--md-mono);font-size:.85em;padding:8px 14px;background:var(--md-border);border-radius:8px 8px 0 0;color:var(--md-text);margin:.9em 0 -0.9em;font-weight:600}\n.me-code-title+pre{margin-top:0;border-radius:0 0 8px 8px;border-top:none}\n.me-preview pre code{padding:0;background:transparent;color:var(--md-code-text);font-size:.9em;line-height:1.6;border-radius:0}\n.me-hl-keyword{color:#c678dd}\n.me-hl-string{color:#98c379}\n.me-hl-comment{color:#7f848e;font-style:italic}\n.me-hl-number{color:#d19a66}\n.me-hl-builtin{color:#e5c07b}\n.me-hl-function{color:#61afef}\n.me-theme-light .me-hl-keyword{color:#9c4cc0}\n.me-theme-light .me-hl-string{color:#4f9d4f}\n.me-theme-light .me-hl-comment{color:#8b8b8b}\n.me-theme-light .me-hl-number{color:#b06a22}\n.me-theme-light .me-hl-builtin{color:#9a7d0f}\n.me-theme-light .me-hl-function{color:#2a7fd4}\n.me-preview img{max-width:100%;height:auto;border-radius:6px;vertical-align:middle}\n.me-table-wrap{overflow-x:auto;margin:.9em 0}\n.me-preview table{border-collapse:collapse;width:100%;font-size:.93em;display:block}\n.me-preview th,.me-preview td{border:1px solid var(--md-border);padding:7px 12px;text-align:left}\n.me-preview th{background:var(--md-code-bg);font-weight:600}\n.me-preview tr:nth-child(even) td{background:var(--md-code-bg)}\n.me-statusbar{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:4px 12px;border-top:1px solid var(--md-border);background:var(--md-toolbar-bg);color:var(--md-muted);font-size:12px;min-height:26px}\n.me-statusbar:empty{display:none}\n.me-wrapper:focus-within{border-color:var(--md-accent)}\n.me-textarea:focus-visible{outline:0}\n@media(prefers-reduced-motion:reduce){.me-wrapper,.me-btn,.me-textarea{transition:none!important}}\n.me-wrapper.me-fullscreen .me-preview,.me-wrapper.me-fullscreen .me-textarea{font-size:15px}\n.me-wrapper.me-readonly .me-textarea{background:var(--md-code-bg);cursor:default;opacity:.88}\n.me-wrapper.me-readonly .me-toolbar{opacity:.75}\n.me-wrapper.me-readonly .me-btn:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}\n.me-preview mark{background:rgba(250,204,21,.3);color:inherit;padding:.1em .2em;border-radius:3px}\n.me-preview sup{font-size:.75em;vertical-align:super;line-height:1}\n.me-preview sub{font-size:.75em;vertical-align:sub;line-height:1}\n.me-preview .me-math-block{display:block;margin:1.2em 0;padding:12px 16px;background:var(--md-code-bg);border-radius:8px;overflow-x:auto;font-family:var(--md-mono);font-size:.95em;text-align:center}\n.me-preview .me-math-inline{font-family:var(--md-mono);font-size:.95em;padding:.05em .2em}\n.me-preview dl{margin:.8em 0}\n.me-preview dt{font-weight:650;margin:.6em 0 .2em}\n.me-preview dd{margin:0 0 .3em 1.6em;color:var(--md-text)}\n.me-preview .me-footnote-ref a{font-size:.75em;vertical-align:super;text-decoration:none;color:var(--md-accent)}\n.me-preview .me-footnotes{margin-top:2em;border-top:1px solid var(--md-border);padding-top:.8em;font-size:.9em;color:var(--md-muted)}\n.me-preview .me-footnotes hr{display:none}\n.me-preview .me-footnotes ol{padding-left:1.2em}\n.me-preview .me-footnote-item{margin:.3em 0}\n.me-preview .me-footnote-backref{text-decoration:none;color:var(--md-accent);margin-right:.4em}\n.me-toast{position:absolute;bottom:16px;right:16px;z-index:30;display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:13px;pointer-events:auto;cursor:pointer;opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s;box-shadow:0 6px 20px rgba(0,0,0,.15);max-width:360px}\n.me-toast.me-toast-enter{opacity:1;transform:translateY(0)}\n.me-toast.me-toast-leave{opacity:0;transform:translateY(12px)}\n.me-toast-success{background:#10b981;color:#fff}\n.me-toast-error{background:#ef4444;color:#fff}\n.me-toast-warning{background:#f59e0b;color:#fff}\n.me-toast-info{background:var(--md-accent,#3b82f6);color:#fff}\n.me-toast-icon{font-weight:700;font-size:16px;flex-shrink:0}\n.me-toast-msg{line-height:1.4}\n.me-context-menu{position:fixed;z-index:40;min-width:180px;padding:4px 0;background:var(--md-bg);border:1px solid var(--md-border);border-radius:8px;box-shadow:0 8px 28px rgba(0,0,0,.18);font-size:13px}\n.me-context-menu-item{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;cursor:pointer;color:var(--md-text);transition:background .1s}\n.me-context-menu-item:hover{background:var(--md-code-bg);color:var(--md-accent)}\n.me-context-menu-sep{height:1px;background:var(--md-border);margin:4px 0}\n.me-context-menu-shortcut{color:var(--md-muted);font-size:11px;margin-left:24px}\n.me-context-menu-item.me-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}\n.me-outline{position:absolute;top:0;right:0;width:220px;height:100%;overflow-y:auto;background:var(--md-preview-bg);border-left:1px solid var(--md-border);padding:12px 14px;font-size:13px;z-index:15}\n.me-outline-title{font-weight:650;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--md-border);color:var(--md-text)}\n.me-outline ul{list-style:none;padding:0;margin:0}\n.me-outline li{margin:2px 0}\n.me-outline a{color:var(--md-muted);text-decoration:none;display:block;padding:2px 6px;border-radius:4px;transition:background .1s,color .1s}\n.me-outline a:hover{background:var(--md-code-bg);color:var(--md-accent)}\n.me-outline a.me-outline-active{background:var(--md-accent);color:#fff;font-weight:600}\n.me-outline-l1 a{font-weight:600;color:var(--md-text)}\n.me-outline-l2 a{padding-left:12px}\n.me-outline-l3 a{padding-left:20px;font-size:12px}\n.me-outline-l4 a{padding-left:28px;font-size:12px}\n.me-wrapper.me-zen .me-body{max-width:var(--md-zen-max-width,960px);margin:0 auto}\n.me-wrapper.me-zen .me-textarea{font-size:15px;line-height:1.8}\n.me-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n@media print{.me-wrapper{border:0!important;box-shadow:none!important}\n.me-toolbar,.me-statusbar,.me-divider{display:none!important}\n.me-body.me-mode-split .me-editor-pane{display:none}\n.me-body.me-mode-split .me-preview-pane{flex:1 1 100%!important}\n.me-preview{padding:0!important;font-size:11pt}\n.me-wrapper.me-fullscreen{position:static!important;width:auto!important;height:auto!important}}\n[dir=rtl] .me-gutter{border-right:none;border-left:1px solid var(--md-border);text-align:left}\n[dir=rtl] .me-gutter-line{padding-right:0;padding-left:4px}\n[dir=rtl] .me-toolbar-group{margin-left:0;margin-right:auto;padding-left:0;padding-right:6px;border-left:none;border-right:1px solid var(--md-border)}\n[dir=rtl] .me-outline{right:auto;left:0;border-left:none;border-right:1px solid var(--md-border)}\n[dir=rtl] .me-outline-l2 a{padding-left:0;padding-right:12px}\n[dir=rtl] .me-outline-l3 a{padding-left:0;padding-right:20px}\n[dir=rtl] .me-outline-l4 a{padding-left:0;padding-right:28px}\n[dir=rtl] .me-preview blockquote{border-left:none;border-right:3px solid var(--md-accent);border-radius:6px 0 0 6px}\n[dir=rtl] .me-preview ul,[dir=rtl] .me-preview ol{padding-left:0;padding-right:1.6em}\n[dir=rtl] .me-preview li.me-task-item{margin-left:0;margin-right:-1.4em}\n[dir=rtl] .me-preview dd{margin-left:0;margin-right:1.6em}\n[dir=rtl] .me-preview .me-footnotes ol{padding-left:0;padding-right:1.2em}\n[dir=rtl] .me-preview .me-footnote-backref{margin-right:0;margin-left:.4em}\n[dir=rtl] .me-search{right:auto;left:12px}\n[dir=rtl] .me-toast{right:auto;left:16px}\n[dir=rtl] .me-context-menu-shortcut{margin-left:0;margin-right:24px}\n[dir=rtl] .me-statusbar{justify-content:flex-start}',document.head.appendChild(d))),this._i18nCtx=z(this),this._buildDOM(),this._applyZenWidth(),this._themeCtx=Xe(this),t.theme&&"undefined"!=typeof document&&document.documentElement.setAttribute("data-md-theme",Re(t.theme));const n=je(this.config.theme);if(We(n,this.el),this._buildToolbar(),this._updateModeButtons(),this._bindToolbarKeyboard(),this._initAriaLive(),this._bindEvents(),this._bindContextMenu(),this._trackOutlineScroll(),!1!==this.config.floatingToolbar&&this._initFloatingToolbar(),this.textarea.value=this._value,this._wordWrap||(this.textarea.style.whiteSpace="pre"),this._pushHistory(),this._render(),this._updateWordCount(),this._buildOutline(),this._zenMode&&this._setZen(!0),Array.isArray(this.config.plugins)){const e=this.config.plugins.map(e=>"string"==typeof e?{...ze[e],_isStringRef:!0}:e).filter(Boolean);Te(e).forEach(e=>this.use(e))}if(this.config.autofocus&&!this.config.readOnly&&this.focus(),"function"==typeof this.config.onCreate)try{this.config.onCreate(this)}catch(e){}vt.trigger("afterCreate",this)}_buildDOM(){const e=document.createElement("div");var t;e.className=`me-wrapper me-theme-${t=this.config.theme,t&&"auto"!==t?t:Re("auto")}`,this.config.readOnly&&e.classList.add("me-readonly"),e.dataset.id=this.id,e.setAttribute("role","application"),e.setAttribute("aria-label",this.t("edit")),this.config.className&&this.config.className.split(/\s+/).filter(Boolean).forEach(t=>e.classList.add(t));const n=this.config.height;e.style.height="number"==typeof n?`${n}px`:n||"400px",this.config.style&&"object"==typeof this.config.style&&Object.entries(this.config.style).forEach(([t,n])=>{n&&(e.style[t]=n)});const r=document.createElement("div");r.className="me-toolbar",r.setAttribute("role","toolbar");const i=document.createElement("div");i.className=`me-body me-mode-${this._mode}`;const o=document.createElement("div");o.className="me-editor-pane";const s=document.createElement("div");s.className="me-editor-inner";const a=document.createElement("div");a.className="me-gutter",this.config.lineNumbers||(a.style.display="none"),s.appendChild(a);const l=document.createElement("textarea");l.className="me-textarea",l.spellcheck=!!this.config.spellcheck,l.readOnly=!!this.config.readOnly,this.config.maxLength&&this.config.maxLength>0&&(l.maxLength=this.config.maxLength),l.style.tabSize=String(this.config.tabSize||2),l.placeholder=this.config.placeholder||this.t("placeholder"),l.setAttribute("aria-label",this.t("edit")),s.appendChild(l),o.appendChild(s);const c=document.createElement("div");c.className="me-divider",c.setAttribute("role","separator");const h=document.createElement("div");h.className="me-preview-pane",h.setAttribute("role","region"),h.setAttribute("aria-label",this.t("preview"));const d=document.createElement("div");d.className="me-preview",h.appendChild(d),i.appendChild(o),i.appendChild(c),i.appendChild(h),e.appendChild(r),e.appendChild(i);let u=null;this.config.wordCount&&(u=document.createElement("div"),u.className="me-statusbar",e.appendChild(u)),this.container.appendChild(e),this.el=e,this.toolbarEl=r,this.bodyEl=i,this.editorPane=o,this.editorInner=s,this.gutter=a,this.previewPane=h,this.dividerEl=c,this.textarea=l,this.previewEl=d,this.statusEl=u,this._restoreDividerPosition()}_buildToolbar(){const e=this.config.toolbar;if(!e||!Array.isArray(e)||0===e.length)return;const t=[];if(e.forEach(e=>{if("|"===e){const e=document.createElement("span");return e.className="me-toolbar-sep",void this.toolbarEl.appendChild(e)}"edit"!==e&&"split"!==e&&"preview"!==e&&"fullscreen"!==e?this.toolbarEl.appendChild(this._createBtn(e)):t.push(e)}),t.length){const e=document.createElement("div");e.className="me-toolbar-group",t.forEach(t=>{const n=this._createBtn(t);"edit"!==t&&"split"!==t&&"preview"!==t||(n.dataset.mode=t,t===this._mode&&n.classList.add("me-active")),e.appendChild(n)}),this.toolbarEl.appendChild(e)}}_createBtn(e){const n=document.createElement("button");n.type="button",n.className=`me-btn me-btn-${e}`,n.dataset.action=e;const i=this.t(e)||e;return n.title=i,n.setAttribute("aria-label",i),n.innerHTML=r[e]||`${t(e)}`,n}_bindEvents(){const e=this.textarea,t=()=>{const t=this._value;if(this._value=e.value,vt.trigger("beforeChange",this),this._emit("beforeChange",t,this._value),this._scheduleRender(),this._scheduleHistory(),this._updateWordCount(),this._renderGutter(),this._updateOutline(),this._emit("input",this._value),this._emit("change",this._value),"function"==typeof this.config.onInput)try{this.config.onInput(this._value,this)}catch(e){}if("function"==typeof this.config.onChange)try{this.config.onChange(this._value,this)}catch(e){}this._emit("afterChange",this._value),vt.trigger("afterChange",this)};e.addEventListener("input",t);const n=e=>{"Enter"!==e.key||e.shiftKey||e.ctrlKey||e.metaKey||this._handleSmartEnter(e),this._handleKeydown(e)};e.addEventListener("keydown",n);const r=e=>this._handleBracketAutoClose(e);e.addEventListener("keypress",r);const i=()=>{this._updateCurrentLine(),this._emitCursorEvents()};e.addEventListener("click",i),e.addEventListener("keyup",i);const o=()=>{this._syncScroll()};e.addEventListener("scroll",o);const s=()=>{if(!this.config.syncScroll||"split"!==this._mode)return;if(this._syncing)return;this._syncing=!0;const t=this.previewPane.scrollHeight-this.previewPane.clientHeight;if(t<=0)return void(this._syncing=!1);const n=this.previewPane.scrollTop/t,r=e.scrollHeight-e.clientHeight;if(e.scrollTop=n*r,this.gutter){const e=this.gutter.scrollHeight-this.gutter.clientHeight;this.gutter.scrollTop=e>0?n*e:n*r}requestAnimationFrame(()=>{this._syncing=!1})};this.previewPane.addEventListener("scroll",s);const a=()=>{if(this._emit("focus"),"function"==typeof this.config.onFocus)try{this.config.onFocus(this)}catch(e){}},l=()=>{if(this._emit("blur"),"function"==typeof this.config.onBlur)try{this.config.onBlur(this)}catch(e){}};e.addEventListener("focus",a),e.addEventListener("blur",l),this.previewEl.addEventListener("click",e=>{const t=e.target.closest("a");if(!t)return;const n=t.getAttribute("href");if(n&&!n.startsWith("#"))if(e.preventDefault(),this._emit("linkClick",{href:n,text:t.textContent}),"function"!=typeof this.config.onLinkClick)window.open(n,"_blank","noopener");else try{this.config.onLinkClick(n,t.textContent,this)}catch(e){}});const c=e=>{const t=e.target.closest(".me-btn");if(!t)return;const n=t.dataset.mode;if(n)return void this.setMode(n);const r=t.dataset.action;r&&this.exec(r)};this.toolbarEl.addEventListener("click",c);const h=e=>this._bindDividerDrag(e);this.dividerEl.addEventListener("pointerdown",h),this._bindDragDrop(),this._cleanups.push(()=>{e.removeEventListener("input",t),e.removeEventListener("keydown",n),e.removeEventListener("keypress",r),e.removeEventListener("scroll",o),this.previewPane.removeEventListener("scroll",s),e.removeEventListener("click",i),e.removeEventListener("keyup",i),e.removeEventListener("focus",a),e.removeEventListener("blur",l),this.toolbarEl.removeEventListener("click",c),this.dividerEl.removeEventListener("pointerdown",h)})}_handleKeydown(e){if("Tab"===e.key)return e.preventDefault(),void this._handleTab(e.shiftKey);if(this._shortcuts.length)for(const t of this._shortcuts){const n=t.ctrl?e.ctrlKey||e.metaKey:!e.ctrlKey&&!e.metaKey,r=t.shift?e.shiftKey:!e.shiftKey,i=t.alt?e.altKey:!e.altKey;if(e.key.toLowerCase()===t.key&&n&&r&&i){if(e.preventDefault(),"string"==typeof t.handler)this.exec(t.handler);else if("function"==typeof t.handler)try{t.handler(this)}catch(e){}return}}if(!e.ctrlKey&&!e.metaKey)return;const t=e.key.toLowerCase(),n={b:"bold",i:"italic",k:"link",u:"underline",e:"code",1:"h1",2:"h2",3:"h3",q:"quote"};if("z"!==t||e.shiftKey)if("z"===t&&e.shiftKey||"y"===t)e.preventDefault(),this.redo();else if("s"===t){if(e.preventDefault(),this._emit("save",this._value),"function"==typeof this.config.onSave)try{this.config.onSave(this._value,this)}catch(e){}}else n[t]&&(e.preventDefault(),this.exec(n[t]));else e.preventDefault(),this.undo()}_handleTab(e){const t=this.textarea,n=t.selectionStart,r=t.selectionEnd,i=this.config.tabSize||0,o=i>0?" ".repeat(i):"\t";if(n===r)t.value=t.value.slice(0,n)+o+t.value.slice(r),t.selectionStart=t.selectionEnd=n+o.length;else{const i=t.value.lastIndexOf("\n",n-1)+1,s=t.value.slice(i,r).split("\n");let a;a=e?s.map(e=>e.replace(/^(\t| {1,4})/,"")).join("\n"):s.map(e=>o+e).join("\n"),t.value=t.value.slice(0,i)+a+t.value.slice(r),t.selectionStart=i,t.selectionEnd=i+a.length}this._value=t.value,this._pushHistory(),this._render(),this._emit("change",this._value)}_bindDividerDrag(e){if("split"!==this._mode)return;e.preventDefault();const t=e.clientX,n=this.editorPane.getBoundingClientRect().width,r=this.bodyEl.getBoundingClientRect().width;if(r<=0)return;const i=this.dividerEl,o=e=>{const o=e.clientX-t;let s=n+o;const a=r-80-i.offsetWidth;s=Math.max(80,Math.min(a,s));const l=s/r*100;this.editorPane.style.flex=`0 0 ${l}%`,this.previewPane.style.flex=`1 1 ${100-l}%`},s=()=>{window.removeEventListener("pointermove",o),window.removeEventListener("pointerup",s),this._saveDividerPosition()};window.addEventListener("pointermove",o),window.addEventListener("pointerup",s)}_saveDividerPosition(){try{const e=this.editorPane.style.flex;e&&localStorage.setItem(`metona-editor-divider-${this.id}`,e)}catch(e){}}_restoreDividerPosition(){try{const e=localStorage.getItem(`metona-editor-divider-${this.id}`);e&&"split"===this._mode&&(this.editorPane.style.flex=e,this.previewPane.style.flex="1 1 auto")}catch(e){}}_scheduleRender(){this._renderRaf||(this._renderRaf=requestAnimationFrame(()=>{this._renderRaf=null,this._render()}))}_render(){if("edit"===this._mode)return void this._renderGutter();if(this._lastRenderedValue===this._value)return;let e;this._lastRenderedValue=this._value,vt.trigger("beforeRender",this),this._emit("beforeRender",this);try{e=this._renderFn(this._value,{highlight:this._highlightFn||void 0,locale:this.getLocale()})}catch(n){e=`
${this.t("renderError")}: ${t(n.message)}
`}if("function"==typeof this.config.sanitize)try{e=this.config.sanitize(e)}catch(e){}this.previewEl.innerHTML=e,this._renderGutter(),vt.trigger("afterRender",this),this._emit("afterRender",this)}_renderGutter(){if(!this.config.lineNumbers||!this.gutter)return;const e=this.getStats(),t=e.lines>0?e.lines:1,n=this.gutter.children.length;if(n!==t)if(n${r}`;this.gutter.insertAdjacentHTML("beforeend",e)}else for(;this.gutter.children.length>t;)this.gutter.removeChild(this.gutter.lastChild)}_updateCurrentLine(){if(!this.gutter)return;const e=this.textarea.selectionStart,t=this._value.substring(0,e).split("\n").length,n=this.gutter.querySelector(".me-gutter-active");n&&n.classList.remove("me-gutter-active");const r=this.gutter.children[t-1];r&&r.classList.add("me-gutter-active")}_emitCursorEvents(){if(!this.textarea)return;const e=this.textarea.selectionStart,t=this.textarea.selectionEnd;e===this._lastSelStart&&t===this._lastSelEnd||(this._lastSelStart=e,this._lastSelEnd=t,this._emit("selectionChange",{start:e,end:t,text:this._value.slice(e,t)})),this._emit("cursorMove",this.getCursorPosition())}_handleSmartEnter(e){const t=this.textarea,n=t.selectionStart,r=t.value,i=r.lastIndexOf("\n",n-1)+1,o=r.slice(i,n),s=o.match(/^(\s*)([-*+]|\d+\.)\s(.*)/);if(s){const o=s[1],a=s[2];if(!s[3].trim())return e.preventDefault(),t.value=r.slice(0,i)+"\n"+r.slice(n),t.selectionStart=t.selectionEnd=i,this._value=t.value,this._pushHistory(),this._renderGutter(),void this._emit("change",this._value);let l=a;if(/^\d+\.$/.test(a)){const e=parseInt(a,10);isNaN(e)||(l=e+1+".")}e.preventDefault();const c="\n"+o+l+" ";return t.value=r.slice(0,n)+c+r.slice(t.selectionEnd),t.selectionStart=t.selectionEnd=n+c.length,this._value=t.value,this._pushHistory(),this._renderGutter(),void this._emit("change",this._value)}const a=o.match(/^(\s*>+\s?)(.*)/);if(a){const o=a[1];if(!a[2].trim())return e.preventDefault(),t.value=r.slice(0,i)+"\n"+r.slice(n),t.selectionStart=t.selectionEnd=i,this._value=t.value,this._pushHistory(),this._renderGutter(),void this._emit("change",this._value);e.preventDefault();const s="\n"+o;t.value=r.slice(0,n)+s+r.slice(t.selectionEnd),t.selectionStart=t.selectionEnd=n+s.length,this._value=t.value,this._pushHistory(),this._renderGutter(),this._emit("change",this._value)}}_handleBracketAutoClose(e){if(!this.config.autoBrackets)return;const t=this.textarea,n=e.key,r=bt[n];if(!r)return;const i=t.selectionStart,o=t.selectionEnd;if(i!==o){e.preventDefault();const s=t.value.slice(i,o),a=n+s+r;return t.value=t.value.slice(0,i)+a+t.value.slice(o),t.selectionStart=i+1,t.selectionEnd=i+1+s.length,this._value=t.value,this._pushHistory(),void this._emit("change",this._value)}const s=t.value[i]||"";if(n===r){if(s===r)return e.preventDefault(),void(t.selectionStart=t.selectionEnd=i+1);if(/\w/.test(s))return}e.preventDefault();const a=n+r;t.value=t.value.slice(0,i)+a+t.value.slice(o),t.selectionStart=t.selectionEnd=i+1,this._value=t.value,this._pushHistory(),this._emit("change",this._value)}_bindDragDrop(){const e=this.textarea;if(!e)return;const t=e=>{e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="copy")},n=e=>{e.preventDefault();const t=e.dataTransfer?.files;if(t&&t.length)return void Array.from(t).forEach(e=>{if(e.type.startsWith("image/")){const t=e.size/1024;if(t>500)return void this.toast(this.t("imageTooLarge",{size:t.toFixed(0),max:500})||`Image too large (${t.toFixed(0)}KB > 500KB)`,{type:"warning"});const n=new FileReader;n.onload=()=>{this.insert(`\n`)},n.readAsDataURL(e)}else if(e.type.startsWith("text/")||/\.(md|txt|js|ts|json|css|html|xml|yml|yaml)$/i.test(e.name)){const t=new FileReader;t.onload=()=>this.insert(t.result),t.readAsText(e)}});const n=e.dataTransfer?.getData("text/plain");n&&this.insert(n)};e.addEventListener("dragover",t),e.addEventListener("drop",n),this._cleanups.push(()=>{e.removeEventListener("dragover",t),e.removeEventListener("drop",n)})}_scheduleHistory(){this._historyTimer&&clearTimeout(this._historyTimer),this._historyTimer=setTimeout(()=>this._pushHistory(),this.config.historyDebounce||400)}_pushHistory(){if(this.config.maxLength&&this.config.maxLength>0&&this._value.length>this.config.maxLength&&(this._value=this._value.slice(0,this.config.maxLength),this.textarea&&(this.textarea.value=this._value)),this._history[this._historyIndex]===this._value)return;this._history=this._history.slice(0,this._historyIndex+1),this._history.push(this._value);const e=this.config.historyLimit>0?this.config.historyLimit:100;for(;this._history.length>e;)this._history.shift();this._historyIndex=this._history.length-1}undo(){return this._historyIndex<=0||(this._captureCursor(),this._historyIndex--,this._applyHistory(),this._restoreCapturedCursor()),this}redo(){return this._historyIndex>=this._history.length-1||(this._captureCursor(),this._historyIndex++,this._applyHistory(),this._restoreCapturedCursor()),this}canUndo(){return this._historyIndex>0}canRedo(){return this._historyIndex0?e.scrollTop/t:null;if(this._value=this._history[this._historyIndex],this.textarea.value=this._value,this._render(),this._renderGutter(),this._updateWordCount(),this.gutter&&(this.gutter.scrollTop=this.textarea.scrollTop),e&&null!=n){const t=e.scrollHeight-e.clientHeight;t>0&&(e.scrollTop=n*t)}if(this._emit("change",this._value),"function"==typeof this.config.onChange)try{this.config.onChange(this._value,this)}catch(e){}}_captureCursor(){this.textarea&&(this._pendingCursor={start:this.textarea.selectionStart,end:this.textarea.selectionEnd})}_restoreCapturedCursor(){if(!this._pendingCursor||!this.textarea)return;const e=this._value.length,t=Math.min(this._pendingCursor.start,e),n=Math.min(this._pendingCursor.end,e);try{this.textarea.setSelectionRange(t,n)}catch{}this._pendingCursor=null}exec(e,...t){const n={bold:()=>this._wrapSelection("**","**"),italic:()=>this._wrapSelection("*","*"),strikethrough:()=>this._wrapSelection("~~","~~"),underline:()=>this._wrapSelection("",""),code:()=>this._wrapSelection("`","`"),h1:()=>this._toggleLinePrefix("# "),h2:()=>this._toggleLinePrefix("## "),h3:()=>this._toggleLinePrefix("### "),quote:()=>this._toggleLinePrefix("> "),ul:()=>this._toggleLinePrefix("- "),ol:()=>this._toggleLinePrefix("1. "),indent:()=>this._handleTab(!1),outdent:()=>this._handleTab(!0),hr:()=>this._insertBlock("\n---\n"),link:()=>this._insertLink(),image:()=>this._insertImage(),table:()=>this._insertTable(),undo:()=>this.undo(),redo:()=>this.redo(),edit:()=>this.setMode("edit"),split:()=>this.setMode("split"),preview:()=>this.setMode("preview"),fullscreen:()=>this.toggleFullscreen(),zen:()=>this.toggleZen(),wordwrap:()=>this.toggleWordWrap(),formatTable:()=>this._formatTable()}[e];if(n)return n.apply(this,t),this;if(this._customActions&&"function"==typeof this._customActions[e])try{this._customActions[e].apply(this,t)}catch(e){}return this}setMode(e){if(!gt.includes(e)||e===this._mode)return this;const t=this.textarea.scrollTop,n=this.previewPane.scrollTop;if(this._mode=e,this.bodyEl.className=`me-body me-mode-${e}`,this._updateModeButtons(),"edit"!==e&&(this._render(),this._buildOutline()),this.textarea.scrollTop=t,this.previewPane.scrollTop=n,this._emit("modeChange",e),this._announce(`${this.t(e)||e} mode`),"function"==typeof this.config.onModeChange)try{this.config.onModeChange(e,this)}catch(e){}return this}getMode(){return this._mode}_updateModeButtons(){const e="preview"===this._mode,t=this.config.readOnly;this.toolbarEl.querySelectorAll(".me-btn").forEach(n=>{const r=n,i=r.dataset.mode,o=r.dataset.action;if(i)return r.classList.toggle("me-active",i===this._mode),void(r.disabled=!1);r.disabled="fullscreen"!==o&&(t||!!e)&&!("undo"===o||"redo"===o)})}toggleFullscreen(){this._fullscreen=!this._fullscreen,this.el.classList.toggle("me-fullscreen",this._fullscreen);const e=this.toolbarEl.querySelector(".me-btn-fullscreen");if(e&&(e.title=this._fullscreen?this.t("fullscreenExit")||"退出全屏":this.t("fullscreen")||"全屏"),this._emit("fullscreen",this._fullscreen),"function"==typeof this.config.onFullscreen)try{this.config.onFullscreen(this._fullscreen,this)}catch(e){}return this}isFullscreen(){return this._fullscreen}exitFullscreen(){return this._fullscreen&&this.toggleFullscreen(),this}toggleZen(){return this._setZen(!this._zenMode),this}_setZen(e){this._zenMode=!!e,this.el&&(this.el.classList.toggle("me-zen",this._zenMode),this._applyZenWidth(),this._zenMode&&this.toolbarEl?(this._zenMouseHandler||(this._zenMouseHandler=e=>{this.toolbarEl.style.opacity=e.clientY<40?"1":"0",this.toolbarEl.style.pointerEvents=e.clientY<40?"auto":"none"},document.addEventListener("mousemove",this._zenMouseHandler)),this.toolbarEl.style.transition="opacity 0.2s",this.toolbarEl.style.opacity="0",this.toolbarEl.style.pointerEvents="none",this.statusEl&&(this.statusEl.style.display="none")):(this._zenMouseHandler&&(document.removeEventListener("mousemove",this._zenMouseHandler),this._zenMouseHandler=null),this.toolbarEl&&(this.toolbarEl.style.opacity="",this.toolbarEl.style.pointerEvents="",this.toolbarEl.style.transition=""),this.statusEl&&(this.statusEl.style.display="")),this._emit("zenChange",this._zenMode))}isZen(){return this._zenMode}_applyZenWidth(){if(!this.el)return;const e=this.config.zenMaxWidth;null==e||!1===e||""===e?this.el.style.removeProperty("--md-zen-max-width"):this.el.style.setProperty("--md-zen-max-width","number"==typeof e?`${e}px`:String(e))}setZenMaxWidth(e){return this.config.zenMaxWidth=e,this._applyZenWidth(),this}getZenMaxWidth(){return this.config.zenMaxWidth??960}toggleWordWrap(){return this._wordWrap=!this._wordWrap,this.textarea&&(this.textarea.style.whiteSpace=this._wordWrap?"pre-wrap":"pre"),this}setWordWrap(e){return this._wordWrap=!!e,this.textarea&&(this.textarea.style.whiteSpace=this._wordWrap?"pre-wrap":"pre"),this}isWordWrap(){return this._wordWrap}setOutline(e){if(this.config.outline=!!e,this._destroyed||!this.el)return this;if(this.config.outline)this._buildOutline(),this._trackOutlineScroll();else{const e=this.el.querySelector(".me-outline");e&&e.remove()}return this}isOutline(){return!!this.config.outline}_bindToolbarKeyboard(){if(!this.toolbarEl)return;const e=e=>{const t=[...this.toolbarEl.querySelectorAll(".me-btn:not(:disabled)")];if(!t.length)return;const n=t.indexOf(document.activeElement);-1!==n&&("ArrowRight"===e.key?(e.preventDefault(),t[(n+1)%t.length].focus()):"ArrowLeft"===e.key?(e.preventDefault(),t[(n-1+t.length)%t.length].focus()):"Home"===e.key?(e.preventDefault(),t[0].focus()):"End"===e.key&&(e.preventDefault(),t[t.length-1].focus()))};this.toolbarEl.addEventListener("keydown",e),this._cleanups.push(()=>this.toolbarEl.removeEventListener("keydown",e))}_initAriaLive(){if(!this.el)return;const e=document.createElement("div");e.className="me-sr-only",e.setAttribute("aria-live","polite"),e.setAttribute("aria-atomic","true"),this.el.appendChild(e),this._ariaLive=e}_announce(e){this._ariaLive&&(this._ariaLive.textContent="",requestAnimationFrame(()=>{this._ariaLive.textContent=e}))}_syncScroll(){if(this._syncing)return;this._syncing=!0;const e=this.textarea;if(!e)return void(this._syncing=!1);const t=e.scrollHeight-e.clientHeight;if(t<=0)return void(this._syncing=!1);const n=e.scrollTop/t;if(this.gutter){const t=this.gutter.scrollHeight-this.gutter.clientHeight;this.gutter.scrollTop=t>0?n*t:e.scrollTop}if(this.config.syncScroll&&"split"===this._mode&&this.previewPane){const e=this.previewPane.scrollHeight-this.previewPane.clientHeight;e>0&&(this.previewPane.scrollTop=n*e)}requestAnimationFrame(()=>{this._syncing=!1})}_updateWordCount(){if(!this.config.wordCount||!this.statusEl)return;const e=this.getStats();this.statusEl.textContent=[`${this.t("characters")}: ${e.characters}`,`${this.t("words")}: ${e.words}`,`${this.t("lines")}: ${e.lines}`,`${this.t("readingTime")}: ${e.readingTime} ${this.t("minutes")}`].join(" · ")}getStats(){const e=this._value||"";if(this._statsCache&&this._statsCache.value===e)return this._statsCache.stats;const t=this._computeStats(e);return this._statsCache={value:e,stats:t},t}_computeStats(e){const t=this._statsCache;if(!t){const t=(e.match(/[\u4e00-\u9fa5]/g)||[]).length,n=(e.replace(/[\u4e00-\u9fa5]/g," ").match(/[a-zA-Z0-9]+/g)||[]).length,r=t+n,i=e?e.split("\n").length:0;return{characters:e.length,words:r,chineseChars:t,englishWords:n,lines:i,readingTime:Math.max(1,Math.ceil(r/300))}}const n=t.value,r=t.stats,i=e=>!!e&&/[\w\u4e00-\u9fff]/.test(e);let o=0;const s=Math.min(n.length,e.length);for(;o0&&(i(n[c-1])||i(e[c-1]));)c--;let h=n.length-a,d=e.length-a;for(;ht)),this.textarea.value=this._value,this._pushHistory(),this._render(),this._updateWordCount(),this._emit("change",this._value),s.length):0}replaceAllRegex(e,t){if(!e)return 0;const n=new RegExp(e,e.flags.includes("g")?e.flags:e.flags+"g"),r=this._value.match(n);return r?(this._value=this._limitLength(this._value.replace(n,t)),this.textarea.value=this._value,this._pushHistory(),this._render(),this._updateWordCount(),this._emit("change",this._value),r.length):0}lineCount(){return this._value?this._value.split("\n").length:0}getLine(e){const t=this._value.split("\n"),n=e-1;return n<0||n>=t.length?"":t[n]}_limitLength(e){const t=this.config.maxLength;return t&&t>0?e.slice(0,t):e}getValue(){return this._destroyed?"":this._value}setValue(e,t={}){if(this._destroyed)return this;if(e=this._limitLength(e||""),vt.trigger("beforeChange",this),this._emit("beforeChange",this._value,e),this._value=e||"",this.textarea.value=this._value,t.silent||this._pushHistory(),this._render(),this._renderGutter(),this._updateWordCount(),this._updateOutline(),this.gutter&&(this.gutter.scrollTop=0),this.textarea.scrollTop=0,!t.silent&&(this._emit("change",this._value),"function"==typeof this.config.onChange))try{this.config.onChange(this._value,this)}catch(e){}return this._emit("afterChange",this._value),vt.trigger("afterChange",this),this}getHTML(){vt.trigger("beforeRender",this),this._emit("beforeRender",this);let e=this._renderFn(this._value,{highlight:this._highlightFn||void 0,locale:this.getLocale()});if("function"==typeof this.config.sanitize)try{e=this.config.sanitize(e)}catch(e){}return vt.trigger("afterRender",this),this._emit("afterRender",this),e}refresh(){return this._lastRenderedValue=null,this._render(),this}copyAsMarkdown(){return"undefined"!=typeof navigator&&navigator.clipboard&&navigator.clipboard.writeText(this._value).then(()=>this._emit("copy",{type:"markdown"})).catch(()=>{}),this}copyAsHTML(){const e=this.getHTML();if("undefined"!=typeof navigator&&navigator.clipboard){const t=new Blob([e],{type:"text/html"}),n=new ClipboardItem({"text/html":t,"text/plain":new Blob([this._value],{type:"text/plain"})});navigator.clipboard.write([n]).then(()=>this._emit("copy",{type:"html"})).catch(()=>{})}return this}insert(e,t={}){const n=this.textarea,r=n.selectionStart,i=n.selectionEnd,o=this._limitLength(n.value.slice(0,r)+e+n.value.slice(t.replace?i:r));return n.value=o,n.focus(),n.selectionStart=n.selectionEnd=Math.min(r+e.length,o.length),this._value=n.value,this._pushHistory(),this._render(),this._updateWordCount(),this._emit("change",this._value),this}wrap(e,t){return this._wrapSelection(e,t||e),this}focus(){return this.textarea&&this.textarea.focus(),this}blur(){return this.textarea&&this.textarea.blur(),this}enable(){return this.textarea&&(this.textarea.disabled=!1),this.el&&this.el.classList.remove("me-disabled"),this}disable(){return this.textarea&&(this.textarea.disabled=!0),this.el&&this.el.classList.add("me-disabled"),this}isDisabled(){return!!this.textarea&&this.textarea.disabled}setReadOnly(e){return this.config.readOnly=!!e,this.textarea&&(this.textarea.readOnly=!!e),this.el&&this.el.classList.toggle("me-readonly",!!e),this._updateModeButtons(),this}isReadOnly(){return!!this.config.readOnly}on(e,t){return this._listeners[e]||(this._listeners[e]=[]),this._listeners[e].push(t),()=>this.off(e,t)}off(e,t){const n=this._listeners[e];return n&&(this._listeners[e]=n.filter(e=>e!==t)),this}_emit(e,...t){const n=this._listeners[e];n&&n.forEach(e=>{try{e(...t,this)}catch(e){}})}use(e,t={}){let n=e;if("string"==typeof e&&(n=ze[e],!n))return this;if(!n||"object"!=typeof n)return this;const r={...n,...t};if(this._plugins.some(e=>e.name===r.name))return this;if("function"==typeof r.install)try{const e=r.install(this,t);e&&"function"==typeof e.then&&e.catch(e=>{})}catch(e){}return this._plugins.push(r),this}unuse(e){const t=this._plugins.findIndex(t=>t.name===e);if(-1===t)return this;const n=this._plugins[t];if("function"==typeof n.destroy)try{n.destroy(this)}catch(e){}return this._plugins.splice(t,1),this}getPlugins(){return[...this._plugins]}addToolbarButton(e){if(!e||!e.action)return this;const n=document.createElement("button");return n.type="button",n.className=`me-btn me-btn-custom-${e.action}`,n.title=e.title||e.action,n.setAttribute("aria-label",e.title||e.action),n.innerHTML=e.icon||`${t(e.text||e.action)}`,"function"==typeof e.onClick?n.addEventListener("click",t=>{t.stopPropagation(),e.onClick(this)}):e.action&&(n.dataset.action=e.action,this._customActions=this._customActions||{},this._customActions[e.action]=e.handler),this.toolbarEl.insertBefore(n,this.toolbarEl.querySelector(".me-toolbar-group")||null),this}registerShortcut(e,t,n=""){if(!e)return this;const r=e.toLowerCase().split("+"),i=r.pop(),o=r.includes("ctrl")||r.includes("cmd"),s=r.includes("shift"),a=r.includes("alt"),l=r.includes("meta");return this._shortcuts.push({combo:e,key:i,ctrl:o,shift:s,alt:a,meta:l,handler:t,description:n}),this}unregisterShortcut(e){return this._shortcuts=this._shortcuts.filter(t=>t.combo.toLowerCase()!==e.toLowerCase()),this}getShortcuts(){return[...this._shortcuts]}configureToolbar(e){return this.toolbarEl?(this.config.toolbar=e,this.toolbarEl.innerHTML="",this._buildToolbar(),this):this}removeToolbarButton(e){if(!this.toolbarEl)return this;const t=this.toolbarEl.querySelector(`.me-btn[data-action="${e}"], .me-btn[data-mode="${e}"]`);return t&&t.remove(),this}toast(e,n={}){if(!this.el||"undefined"==typeof document)return this;const{type:r="info",duration:i=3e3,animation:o="fade"}=n,s=l[o]||l.fade,a=document.createElement("div");a.className=`me-toast me-toast-${r} me-toast-${o}`,a.innerHTML=`${ft[r]||""}${t(String(e))}`,a.style.transition=`opacity ${s.duration}ms ${s.easing}, transform ${s.duration}ms ${s.easing}, filter ${s.duration}ms ${s.easing}`;for(const[e,t]of Object.entries(s.enter))a.style[e]=t;this.el.appendChild(a),requestAnimationFrame(()=>{requestAnimationFrame(()=>{for(const e of Object.keys(s.enter))a.style[e]=""})});const c=()=>{for(const[e,t]of Object.entries(s.leave))a.style[e]=t;setTimeout(()=>{a.parentNode&&a.parentNode.removeChild(a)},s.duration)};return i>0&&setTimeout(c,i),a.addEventListener("click",c),this}setLocale(e){return this._i18nCtx&&this._i18nCtx.set(e),this}getLocale(){return this._i18nCtx?this._i18nCtx.get():b()}t(e,t){return this._i18nCtx?this._i18nCtx.t(e,t):y(e,t)}setTheme(e){return e?(this.config.theme=e,this._themeCtx&&this._themeCtx.set(e),this):this}getTheme(){return this._themeCtx?this._themeCtx.get():this.config.theme||"auto"}getThemeContext(){return this._themeCtx||null}getStatus(){return{id:this.id,mode:this._mode,theme:this.getTheme(),locale:this.getLocale(),fullscreen:this._fullscreen,readOnly:this.config.readOnly||!1,disabled:!!this.textarea&&this.textarea.disabled,destroyed:this._destroyed,plugins:this._plugins.map(e=>e.name||"custom")}}destroy(){if(!this._destroyed){if(vt.trigger("beforeDestroy",this),this._renderRaf&&cancelAnimationFrame(this._renderRaf),this._historyTimer&&clearTimeout(this._historyTimer),this._outlineTimer&&clearTimeout(this._outlineTimer),this._cleanups.forEach(e=>{try{e()}catch(e){}}),this._cleanups=[],this._zenMouseHandler&&(document.removeEventListener("mousemove",this._zenMouseHandler),this._zenMouseHandler=null),this._themeCtx&&"function"==typeof this._themeCtx.dispose)try{this._themeCtx.dispose()}catch(e){}if(this._shortcuts=[],this._contextMenuItems=[],this._customActions={},this._floatingToolbar&&this._floatingToolbar.parentNode&&this._floatingToolbar.parentNode.removeChild(this._floatingToolbar),this._floatingToolbar=null,this.el&&this.el.querySelectorAll(".me-toast").forEach(e=>e.remove()),this._plugins.forEach(e=>{if("function"==typeof e.destroy)try{e.destroy(this)}catch(e){}}),this._plugins=[],this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el),this.el=null,this.textarea=null,this.previewEl=null,this._destroyed=!0,"function"==typeof this.config.onDestroy)try{this.config.onDestroy(this)}catch(e){}this._emit("destroy"),this._listeners={},vt.trigger("afterDestroy",this)}}isDestroyed(){return this._destroyed}}var yt;vt._hooks=new Map,(yt=vt.prototype)._wrapSelection=function(e,t){const n=this.textarea,r=n.selectionStart,i=n.selectionEnd,o=n.value.slice(r,i),s=o||"text",a=e+s+t;n.value=n.value.slice(0,r)+a+n.value.slice(i),n.focus(),o?(n.selectionStart=r+e.length,n.selectionEnd=r+e.length+s.length):n.selectionStart=n.selectionEnd=r+e.length,this._value=n.value,this._pushHistory(),this._render(),this._updateWordCount(),this._emit("change",this._value)},yt._toggleLinePrefix=function(e){const t=this.textarea,n=t.selectionStart,r=t.value.lastIndexOf("\n",n-1)+1,i=t.value.indexOf("\n",n),o=-1===i?t.value.length:i,s=t.value.slice(r,o),a=s.match(/^(#{1,6}\s*|>\s*|[-*+]\s*|\d+\.\s*)/);let l;l=a&&a[0]===e?s.slice(e.length):a?e+s.slice(a[0].length):e+s,t.value=t.value.slice(0,r)+l+t.value.slice(o),t.focus(),t.selectionStart=t.selectionEnd=r+l.length,this._value=t.value,this._pushHistory(),this._render(),this._updateWordCount(),this._emit("change",this._value)},yt._insertBlock=tt,yt._insertLink=function(){const e=this.textarea,t=e.selectionStart,n=e.selectionEnd,r=e.value.slice(t,n)||this.t("link")||"link",i=`[${r}](https://)`;e.value=e.value.slice(0,t)+i+e.value.slice(n),e.focus(),e.selectionStart=t+r.length+3,e.selectionEnd=e.selectionStart+8,this._value=e.value,this._pushHistory(),this._render(),this._emit("change",this._value)},yt._insertImage=function(){const e=this.textarea,t=e.selectionStart,n=e.selectionEnd,r=e.value.slice(t,n)||this.t("image")||"image",i=``;e.value=e.value.slice(0,t)+i+e.value.slice(n),e.focus(),e.selectionStart=t+r.length+4,e.selectionEnd=e.selectionStart+8,this._value=e.value,this._pushHistory(),this._render(),this._emit("change",this._value)},yt._insertTable=function(e=3,t=3){let n=`| ${Array.from({length:t},(e,t)=>`${this.t("tableCols")||"列"}${t+1}`).join(" | ")} |\n| ${Array.from({length:t},()=>"---").join(" | ")} |\n`;for(let r=1;r" ").join(" | ")} |\n`;tt.call(this,"\n"+n)},yt._formatTable=function(){const e=this.textarea,t=e.selectionStart,n=e.value.substring(0,t),r=e.value.substring(t),i=n.lastIndexOf("\n\n"),o=r.indexOf("\n\n"),s=-1===i?0:i+2,a=-1===o?e.value.length:t+o,l=e.value.substring(s,a).split("\n").filter(e=>e.includes("|"));if(l.length<2)return;const c=l.map(e=>e.replace(/^\s*\|?\s*|\s*\|?\s*$/g,"").split(/\s*\|\s*/)),h=Math.max(...c.map(e=>e.length)),d=Array(h).fill(3);c.forEach(e=>{e.forEach((e,t)=>{d[t]=Math.max(d[t],e.trim().length)})});const u=(e,t)=>{const n=t-e.length;return e+" ".repeat(Math.max(0,n))},p=c.map(e=>{const t=[];for(let n=0;n{e._initFloatingToolbar=nt,e.toggleFloatingToolbar=rt,e.isFloatingToolbar=it,e._buildFloatingToolbar=ot,e._hideFloatingToolbar=st})(vt.prototype),(e=>{e.registerContextMenu=at,e._bindContextMenu=lt,e._showContextMenu=ct,e._hideContextMenu=ht,e._execContextAction=dt})(vt.prototype),(e=>{e._buildOutline=ut,e._updateOutline=pt,e._trackOutlineScroll=mt})(vt.prototype);const xt=new Map;for(const[e,t]of Object.entries(l))xt.set(e,t);const wt={register(e,t){xt.set(e,{name:e,enter:t.enter||{},leave:t.leave||{},duration:t.duration||300,easing:t.easing||"cubic-bezier(0.4, 0, 0.2, 1)"})},unregister(e){xt.delete(e)},get:e=>xt.get(e)||l[e]||null,getAnimationNames:()=>Array.from(xt.keys()),getActiveCount:()=>0,cancelAll(){},reset(){xt.clear();for(const[e,t]of Object.entries(l))xt.set(e,t)},destroy(){xt.clear()}},_t=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),kt=new Map,Ct={javascript:{keywords:["async","await","break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","from","function","get","if","import","in","instanceof","let","new","of","return","set","static","super","switch","this","throw","try","typeof","var","void","while","with","yield"],builtins:["console","document","window","globalThis","Math","JSON","Promise","Object","Array","String","Number","Boolean","Map","Set","Symbol","RegExp","Date","Error","parseInt","parseFloat","isNaN","setTimeout","setInterval","fetch","require","module","exports","process","Buffer"],hasBlocks:!0,hasTemplateStrings:!0},typescript:{keywords:["abstract","any","as","async","await","boolean","break","case","catch","class","const","continue","debugger","declare","default","delete","do","else","enum","export","extends","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","namespace","never","new","of","override","private","protected","public","readonly","return","satisfies","set","static","string","super","switch","symbol","this","throw","try","type","typeof","undefined","unique","unknown","var","void","while","with","yield"],builtins:["console","document","window","globalThis","Math","JSON","Promise","Object","Array","String","Number","Boolean","Map","Set","Symbol","RegExp","Date","Error","parseInt","parseFloat","setTimeout","setInterval","fetch","require","module","exports","process","Buffer"],hasBlocks:!0,hasTemplateStrings:!0},jsx:{keywords:["async","await","break","case","catch","class","const","continue","default","do","else","export","extends","finally","for","from","function","if","import","in","instanceof","let","new","of","return","static","super","switch","this","throw","try","typeof","var","void","while","with","yield","useState","useEffect","useRef","useMemo","useCallback"],builtins:["console","document","window","Math","JSON","Promise","Object","Array","String","Number","Map","Set","React"],hasBlocks:!0,hasTemplateStrings:!0},tsx:{keywords:["abstract","any","as","async","await","boolean","break","case","catch","class","const","continue","default","declare","do","else","enum","export","extends","finally","for","from","function","if","implements","import","in","infer","instanceof","interface","is","keyof","let","namespace","never","new","of","override","private","protected","public","readonly","return","static","string","super","switch","symbol","this","throw","try","type","typeof","undefined","unknown","var","void","while","with","yield","useState","useEffect","useRef"],builtins:["console","document","window","Math","JSON","Promise","Object","Array","String","Number","Map","Set","React"],hasBlocks:!0,hasTemplateStrings:!0},python:{keywords:["and","as","assert","async","await","break","class","continue","def","del","elif","else","except","False","finally","for","from","global","if","import","in","is","lambda","None","nonlocal","not","or","pass","raise","return","True","try","while","with","yield"],builtins:["print","len","range","type","str","int","float","list","dict","set","tuple","bool","enumerate","zip","map","filter","sum","min","max","abs","round","open","input","repr","sorted","object","super","self"],hasHashComments:!0},bash:{keywords:["if","then","else","elif","fi","for","while","until","do","done","case","esac","function","in","return","break","continue","export","local","readonly","set","unset","shift","source","alias","declare","echo","exit"],builtins:["echo","printf","cd","pwd","ls","mkdir","rm","cp","mv","cat","grep","sed","awk","curl","wget","npm","node","git","docker","sudo","find","xargs","tar","zip","unzip","chmod","chown","touch","head","tail","wc","sort","uniq","cut","tee","ps","kill","top","clear","history","man","which"],hasHashComments:!0,singleQuoteStrings:!1},shell:{hasHashComments:!0,keywords:["if","then","else","elif","fi","for","while","do","done","case","in","function","return","break","continue","export","local","echo","exit"],builtins:["echo","cd","pwd","ls","rm","cp","mv","cat","grep","sed","awk","curl","wget","git","sudo","find","chmod","chown","touch","head","tail","wc","sort","tee","ps","kill","clear","man","which"],singleQuoteStrings:!1},css:{keywords:["important","inherit","initial","unset","none","auto","absolute","relative","fixed","static","sticky","flex","grid","block","inline","inline-block","hidden","visible","bold","normal","italic","solid","dashed","dotted","transparent","center","left","right","top","bottom","wrap","nowrap","repeat","cover","contain","pointer","auto"],builtins:["var","calc","min","max","clamp","rgb","rgba","hsl","hsla","url","linear-gradient","radial-gradient","translate","scale","rotate","repeat","minmax","fit-content","attr","counter"],hasBlocks:!0,singleQuoteStrings:!1},html:{keywords:["html","head","body","div","span","p","a","img","ul","ol","li","table","thead","tbody","tr","th","td","h1","h2","h3","h4","h5","h6","section","article","nav","header","footer","main","aside","form","input","button","select","option","textarea","label","script","style","link","meta","title","iframe","video","audio","canvas","svg","strong","em","code","pre","blockquote","br","hr","template"],builtins:[],singleQuoteStrings:!1},json:{keywords:["true","false","null"],builtins:[],singleQuoteStrings:!1},yaml:{keywords:["true","false","null","yes","no","on","off"],builtins:[],hasHashComments:!0,singleQuoteStrings:!1},markdown:{keywords:[],builtins:[],hasHashComments:!0,singleQuoteStrings:!1},md:{keywords:[],builtins:[],hasHashComments:!0,singleQuoteStrings:!1},java:{keywords:["abstract","boolean","break","byte","case","catch","char","class","const","continue","default","do","double","else","enum","extends","final","finally","float","for","goto","if","implements","import","instanceof","int","interface","long","native","new","package","private","protected","public","return","short","static","strictfp","super","switch","synchronized","this","throw","throws","transient","try","void","volatile","while","var"],builtins:["System","String","Integer","Double","Math","Object","Class","Exception","Thread","Arrays","List","ArrayList","Map","HashMap","Set","HashSet","Optional","Stream","Collectors","Objects"],hasBlocks:!0},go:{keywords:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],builtins:["fmt","len","cap","make","new","append","copy","panic","recover","error","string","int","int64","uint","bool","byte","rune","float64","nil","print","println","Close","Error"],hasBlocks:!0,singleQuoteStrings:!1},rust:{keywords:["as","async","await","break","const","continue","crate","dyn","else","enum","extern","false","fn","for","if","impl","in","let","loop","match","mod","move","mut","pub","ref","return","self","Self","static","struct","super","trait","true","type","unsafe","use","where","while"],builtins:["println","print","eprintln","format","vec","String","str","Option","Result","Some","None","Ok","Err","Vec","Box","Rc","Arc","HashMap","Iterator","match"],hasBlocks:!0,singleQuoteStrings:!1}},Et={js:"javascript",ts:"typescript",tsx:"tsx",jsx:"jsx",py:"python",sh:"bash",shell:"shell",zsh:"bash",yml:"yaml",mjs:"javascript",cjs:"javascript",md:"markdown",htm:"html",c:"go",cpp:"go",cs:"java"},St=e=>{const t=(e||"").trim().toLowerCase();return t?Et[t]||(Ct[t]?t:""):""},Lt=(e,t)=>{const n=St(t),r=Ct[n],i=e.replace(/&/g,"&").replace(//g,">");return r?((e,t)=>{let n="",r=0;const i=e.length;for(;r0){n+=`${t[0]}`,r+=t[0].length,i=!0;break}}i||(n+=e[r],r++)}return n})(i,(e=>{let t=kt.get(e);if(!t){const n=Ct[e];t=n?(e=>{const t=[];e.hasHashComments?t.push({cls:"me-hl-comment",re:/#[^\n]*/y}):t.push({cls:"me-hl-comment",re:/\/\/[^\n]*/y}),e.hasBlocks&&t.push({cls:"me-hl-comment",re:/\/\*[\s\S]*?\*\//y});const n=!1===e.singleQuoteStrings?/"(?:\\.|[^"\\\n])*"/y:/"(?:\\.|[^"\\\n])*"|'(?:\\.|[^'\\\n])*'/y;return t.push({cls:"me-hl-string",re:n}),e.hasTemplateStrings&&t.push({cls:"me-hl-string",re:/`(?:\\.|[^`\\])*`/y}),t.push({cls:"me-hl-number",re:/\b0x[\da-fA-F_]+\b|\b\d[\d_]*(?:\.\d+)?(?:e[+-]?\d+)?\b/y}),e.keywords.length&&t.push({cls:"me-hl-keyword",re:new RegExp(`\\b(?:${e.keywords.map(_t).join("|")})\\b`,"y")}),e.builtins.length&&t.push({cls:"me-hl-builtin",re:new RegExp(`\\b(?:${e.builtins.map(_t).join("|")})\\b`,"y")}),t.push({cls:"me-hl-function",re:/[A-Za-z_$][\w$]*(?=\s*\()/y}),t})(n):[],kt.set(e,t)}return t})(n)):i},Tt=(e,t)=>{Ct[e.toLowerCase()]=t,kt.delete(e.toLowerCase())},Mt=()=>Object.keys(Ct),$t="0.4.2",zt=[],At=e=>{e&&!e.isDestroyed()&&zt.forEach(t=>{try{e.use(t)}catch(e){}})};function Bt(e,t={}){return new vt(e,t)}function Ht(e,t={}){let n=e;if("string"==typeof e&&(n=ze[e],!n))return Dt;if(!n||"object"!=typeof n)return Dt;const r=t&&"object"==typeof t&&Object.keys(t).length>0?{...n,...t}:n;return zt.push(r),Dt}function Ft(e,t){return vt.on(e,t)}function It(e,t){return vt.off(e,t),Dt}function Pt(e,t){return et&&"function"==typeof et.switchTheme&&et.switchTheme(e),Dt}function Rt(e){return A&&"function"==typeof A.setCurrentLocale&&A.setCurrentLocale(e),Dt}function jt(){if(et){try{et.clearThemeListeners()}catch(e){}try{et.unwatchSystemTheme()}catch(e){}}if(A)try{A.clearLocaleListeners()}catch(e){}if(wt)try{wt.cancelAll()}catch(e){}zt.length=0;try{vt._hooks.clear()}catch(e){}vt.on("afterCreate",At)}function Wt(){return{version:$t,theme:et&&"function"==typeof et.getCurrentTheme?et.getCurrentTheme():"auto",locale:A&&"function"==typeof A.getCurrentLocale?A.getCurrentLocale():"zh-CN",globalPlugins:zt.map(e=>e.name||"custom"),presetPlugins:Object.keys(ze||{})}}vt.on("afterCreate",At);try{"function"==typeof et.initTheme&&et.initTheme(),"function"==typeof A.initI18n&&A.initI18n()}catch(e){}const Dt={VERSION:$t,version:$t,MarkdownEditor:vt,Editor:vt,create:Bt,use:Ht,on:Ft,off:It,setTheme:Pt,setLocale:Rt,destroy:jt,getStatus:Wt,parseMarkdown:se,parseTokens:ie,renderTokens:oe,safeUrl:Q,slugify:X,clearRenderCache:Y,registerBlockHandler:ne,highlight:Lt,normalizeLanguage:St,registerLanguage:Tt,getSupportedLanguages:Mt,themes:et,i18n:A,animations:wt,plugins:Ae,presetPlugins:ze,topologicalSort:Te,validateConfig:Me,createInstanceI18n:z,loadRemote:k,exportCSSVars:De,getCSSVariable:Oe,followExternalTheme:Ge,adoptFromParent:Ye,createInstanceTheme:Xe,DEFAULTS:s,ICONS:r,THEMES:a,EDIT_MODES:c,DEFAULT_TOOLBAR:o,TOOLBAR_ACTIONS:h};"undefined"!=typeof window&&(window.MeEditor=Dt),e.DEFAULTS=s,e.DEFAULT_TOOLBAR=o,e.EDIT_MODES=c,e.Editor=vt,e.ICONS=r,e.MarkdownEditor=vt,e.MeEditor=Dt,e.THEMES=a,e.TOOLBAR_ACTIONS=h,e.VERSION=$t,e.adoptFromParent=Ye,e.animationUtils=wt,e.api=Dt,e.clearRenderCache=Y,e.create=Bt,e.createInstanceI18n=z,e.createInstanceTheme=Xe,e.default=Dt,e.destroy=jt,e.exportCSSVars=De,e.followExternalTheme=Ge,e.getCSSVariable=Oe,e.getStatus=Wt,e.getSupportedLanguages=Mt,e.highlight=Lt,e.i18nUtils=A,e.loadRemote=k,e.meEditor=Dt,e.normalizeLanguage=St,e.off=It,e.on=Ft,e.parseMarkdown=se,e.parseTokens=ie,e.pluginUtils=Ae,e.presetPlugins=ze,e.registerBlockHandler=ne,e.registerLanguage=Tt,e.renderTokens=oe,e.safeUrl=Q,e.setLocale=Rt,e.setTheme=Pt,e.slugify=X,e.themeUtils=et,e.topologicalSort=Te,e.use=Ht,e.validateConfig=Me,Object.defineProperty(e,"__esModule",{value:!0})});
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).MeEditor={})}(this,function(e){"use strict";const t=e=>{const t=String(null==e?"":e);if("undefined"==typeof document)return t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'");const n=document.createElement("div");return n.textContent=t,n.innerHTML},n=e=>String(null==e?"":e).replace(/&/g,"&").replace(/"/g,""").replace(//g,">"),r={bold:'',italic:'',underline:'',strikethrough:'',h1:'',h2:'',h3:'',quote:'',code:'',link:'',image:'',table:'',ul:'',ol:'',indent:'',outdent:'',hr:'',undo:'',redo:'',preview:'',split:'',edit:'',fullscreen:'',theme:''},i={"zh-CN":{bold:"粗体",italic:"斜体",underline:"下划线",strikethrough:"删除线",h1:"标题1",h2:"标题2",h3:"标题3",quote:"引用",code:"代码",link:"链接",image:"图片",table:"表格",ul:"无序列表",ol:"有序列表",indent:"增加缩进",outdent:"减少缩进",hr:"分隔线",undo:"撤销",redo:"重做",edit:"编辑",split:"分屏",preview:"预览",fullscreen:"全屏",fullscreenExit:"退出全屏",theme:"主题",light:"亮色",dark:"暗色",auto:"自动",warm:"暖色",wordCount:"字数统计",characters:"字符",words:"词数",lines:"行数",readingTime:"阅读",minutes:"分钟",placeholder:"开始输入 Markdown...",empty:"暂无内容",copied:"已复制",copyContent:"复制内容",copyHTML:"复制 HTML",copySuccess:"复制成功",copyFailed:"复制失败",clearContent:"清空内容",clearConfirm:"确定要清空所有内容吗?",linkPlaceholder:"请输入链接地址",imagePlaceholder:"请输入图片地址",altPlaceholder:"请输入替代文本",tableRows:"行数",tableCols:"列数",confirm:"确认",cancel:"取消",exportMarkdown:"导出 Markdown",exportHTML:"导出 HTML",search:"搜索",replace:"替换",replaceAll:"全部替换",searchPlaceholder:"查找内容",replacePlaceholder:"替换为",findNext:"查找下一个",findPrev:"查找上一个",matchCase:"区分大小写",wholeWord:"全字匹配",close:"关闭",open:"打开",save:"保存",saved:"已保存",saving:"保存中...",delete:"删除",confirmDelete:"确定要删除吗?",unsavedChanges:"有未保存的更改",error:"错误",success:"成功",warning:"警告",info:"信息",loading:"加载中...",retry:"重试",renderError:"渲染失败",outline:"大纲",cut:"剪切",copy:"复制",paste:"粘贴",selectAll:"全选",regex:"正则表达式",shortcuts:"快捷键",imageTooLarge:"图片过大({size}KB > {max}KB)",formatToolbar:"格式化选区",pasteBlocked:"无法直接粘贴,请使用 Ctrl+V"},"en-US":{bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",h1:"Heading 1",h2:"Heading 2",h3:"Heading 3",quote:"Quote",code:"Code",link:"Link",image:"Image",table:"Table",ul:"Bullet List",ol:"Numbered List",indent:"Indent",outdent:"Outdent",hr:"Horizontal Rule",undo:"Undo",redo:"Redo",edit:"Edit",split:"Split",preview:"Preview",fullscreen:"Fullscreen",fullscreenExit:"Exit Fullscreen",theme:"Theme",light:"Light",dark:"Dark",auto:"Auto",warm:"Warm",wordCount:"Word Count",characters:"Characters",words:"Words",lines:"Lines",readingTime:"Reading",minutes:"min",placeholder:"Start typing Markdown...",empty:"No content",copied:"Copied",copyContent:"Copy Content",copyHTML:"Copy HTML",copySuccess:"Copied successfully",copyFailed:"Copy failed",clearContent:"Clear Content",clearConfirm:"Clear all content?",linkPlaceholder:"Enter link URL",imagePlaceholder:"Enter image URL",altPlaceholder:"Enter alt text",tableRows:"Rows",tableCols:"Columns",confirm:"Confirm",cancel:"Cancel",exportMarkdown:"Export Markdown",exportHTML:"Export HTML",search:"Search",replace:"Replace",replaceAll:"Replace All",searchPlaceholder:"Find",replacePlaceholder:"Replace with",findNext:"Find Next",findPrev:"Find Previous",matchCase:"Match Case",wholeWord:"Whole Word",close:"Close",open:"Open",save:"Save",saved:"Saved",saving:"Saving...",delete:"Delete",confirmDelete:"Are you sure you want to delete?",unsavedChanges:"You have unsaved changes",error:"Error",success:"Success",warning:"Warning",info:"Info",loading:"Loading...",retry:"Retry",renderError:"Render failed",outline:"Outline",cut:"Cut",copy:"Copy",paste:"Paste",selectAll:"Select All",regex:"Regex",shortcuts:"Shortcuts",imageTooLarge:"Image too large ({size}KB > {max}KB)",formatToolbar:"Format selection",pasteBlocked:"Cannot paste directly, use Ctrl+V"},ja:{bold:"太字",italic:"斜体",underline:"下線",strikethrough:"打ち消し線",h1:"見出し1",h2:"見出し2",h3:"見出し3",quote:"引用",code:"コード",link:"リンク",image:"画像",table:"表",ul:"箇条書き",ol:"番号付きリスト",indent:"インデント",outdent:"インデント解除",hr:"水平線",undo:"元に戻す",redo:"やり直し",edit:"編集",split:"分割",preview:"プレビュー",fullscreen:"全画面",fullscreenExit:"全画面解除",theme:"テーマ",light:"ライト",dark:"ダーク",auto:"自動",warm:"ウォーム",wordCount:"文字数",characters:"文字",words:"単語",lines:"行",readingTime:"読了時間",minutes:"分",placeholder:"Markdownを入力...",empty:"内容なし",copied:"コピー済み",copyContent:"内容をコピー",copyHTML:"HTMLをコピー",copySuccess:"コピー成功",copyFailed:"コピー失敗",clearContent:"内容をクリア",clearConfirm:"すべての内容をクリアしますか?",linkPlaceholder:"リンクURLを入力",imagePlaceholder:"画像URLを入力",altPlaceholder:"代替テキストを入力",tableRows:"行",tableCols:"列",confirm:"確認",cancel:"キャンセル",exportMarkdown:"Markdownエクスポート",exportHTML:"HTMLエクスポート",search:"検索",replace:"置換",replaceAll:"すべて置換",searchPlaceholder:"検索",replacePlaceholder:"置換後",findNext:"次を検索",findPrev:"前を検索",matchCase:"大文字小文字",wholeWord:"単語単位",close:"閉じる",open:"開く",save:"保存",saved:"保存済み",saving:"保存中...",delete:"削除",confirmDelete:"削除してもよろしいですか?",unsavedChanges:"未保存の変更があります",error:"エラー",success:"成功",warning:"警告",info:"情報",loading:"読み込み中...",retry:"再試行",renderError:"レンダリング失敗",outline:"アウトライン",cut:"切り取り",copy:"コピー",paste:"貼り付け",selectAll:"すべて選択",regex:"正規表現",shortcuts:"ショートカット",imageTooLarge:"画像が大きすぎます({size}KB > {max}KB)",formatToolbar:"選択範囲を整形",pasteBlocked:"直接貼り付けできません。Ctrl+V を使用してください"},ko:{bold:"굵게",italic:"기울임",underline:"밑줄",strikethrough:"취소선",h1:"제목1",h2:"제목2",h3:"제목3",quote:"인용",code:"코드",link:"링크",image:"이미지",table:"표",ul:"순서 없는 목록",ol:"순서 있는 목록",indent:"들여쓰기",outdent:"내어쓰기",hr:"수평선",undo:"실행 취소",redo:"다시 실행",edit:"편집",split:"분할",preview:"미리보기",fullscreen:"전체 화면",fullscreenExit:"전체 화면 종료",theme:"테마",light:"라이트",dark:"다크",auto:"자동",warm:"웜",wordCount:"글자 수",characters:"글자",words:"단어",lines:"줄",readingTime:"읽기 시간",minutes:"분",placeholder:"Markdown 입력...",empty:"내용 없음",copied:"복사됨",copyContent:"내용 복사",copyHTML:"HTML 복사",copySuccess:"복사 성공",copyFailed:"복사 실패",clearContent:"내용 지우기",clearConfirm:"모든 내용을 지우시겠습니까?",linkPlaceholder:"링크 URL 입력",imagePlaceholder:"이미지 URL 입력",altPlaceholder:"대체 텍스트 입력",tableRows:"행",tableCols:"열",confirm:"확인",cancel:"취소",exportMarkdown:"Markdown 내보내기",exportHTML:"HTML 내보내기",search:"검색",replace:"바꾸기",replaceAll:"모두 바꾸기",searchPlaceholder:"찾기",replacePlaceholder:"바꿀 내용",findNext:"다음 찾기",findPrev:"이전 찾기",matchCase:"대소문자 구분",wholeWord:"단어 단위",close:"닫기",open:"열기",save:"저장",saved:"저장됨",saving:"저장 중...",delete:"삭제",confirmDelete:"삭제하시겠습니까?",unsavedChanges:"저장되지 않은 변경 사항이 있습니다",error:"오류",success:"성공",warning:"경고",info:"정보",loading:"로딩 중...",retry:"재시도",renderError:"렌더링 실패",outline:"개요",cut:"잘라내기",copy:"복사",paste:"붙여넣기",selectAll:"전체 선택",regex:"정규식",shortcuts:"단축키",imageTooLarge:"이미지가 너무 큽니다 ({size}KB > {max}KB)",formatToolbar:"선택 영역 서식",pasteBlocked:"직접 붙여넣을 수 없습니다. Ctrl+V를 사용하세요"},fr:{bold:"Gras",italic:"Italique",underline:"Souligné",strikethrough:"Barré",h1:"Titre 1",h2:"Titre 2",h3:"Titre 3",quote:"Citation",code:"Code",link:"Lien",image:"Image",table:"Tableau",ul:"Liste à puces",ol:"Liste numérotée",indent:"Indenter",outdent:"Désindenter",hr:"Ligne horizontale",undo:"Annuler",redo:"Rétablir",edit:"Éditer",split:"Fractionné",preview:"Aperçu",fullscreen:"Plein écran",fullscreenExit:"Quitter plein écran",theme:"Thème",light:"Clair",dark:"Sombre",auto:"Auto",warm:"Chaud",wordCount:"Nombre de mots",characters:"Caractères",words:"Mots",lines:"Lignes",readingTime:"Lecture",minutes:"min",placeholder:"Commencez à taper Markdown...",empty:"Aucun contenu",copied:"Copié",copyContent:"Copier le contenu",copyHTML:"Copier HTML",copySuccess:"Copié avec succès",copyFailed:"Échec de la copie",clearContent:"Effacer le contenu",clearConfirm:"Effacer tout le contenu ?",linkPlaceholder:"Entrez l'URL du lien",imagePlaceholder:"Entrez l'URL de l'image",altPlaceholder:"Entrez le texte alternatif",tableRows:"Lignes",tableCols:"Colonnes",confirm:"Confirmer",cancel:"Annuler",exportMarkdown:"Exporter Markdown",exportHTML:"Exporter HTML",search:"Rechercher",replace:"Remplacer",replaceAll:"Tout remplacer",searchPlaceholder:"Rechercher",replacePlaceholder:"Remplacer par",findNext:"Suivant",findPrev:"Précédent",matchCase:"Respecter la casse",wholeWord:"Mot entier",close:"Fermer",open:"Ouvrir",save:"Enregistrer",saved:"Enregistré",saving:"Enregistrement...",delete:"Supprimer",confirmDelete:"Confirmer la suppression ?",unsavedChanges:"Modifications non enregistrées",error:"Erreur",success:"Succès",warning:"Avertissement",info:"Info",loading:"Chargement...",retry:"Réessayer",renderError:"Échec du rendu",outline:"Plan",cut:"Couper",copy:"Copier",paste:"Coller",selectAll:"Tout sélectionner",regex:"Regex",shortcuts:"Raccourcis",imageTooLarge:"Image trop grande ({size}Ko > {max}Ko)",formatToolbar:"Formater la sélection",pasteBlocked:"Impossible de coller directement, utilisez Ctrl+V"},de:{bold:"Fett",italic:"Kursiv",underline:"Unterstrichen",strikethrough:"Durchgestrichen",h1:"Überschrift 1",h2:"Überschrift 2",h3:"Überschrift 3",quote:"Zitat",code:"Code",link:"Link",image:"Bild",table:"Tabelle",ul:"Aufzählung",ol:"Nummerierte Liste",indent:"Einrücken",outdent:"Ausrücken",hr:"Trennlinie",undo:"Rückgängig",redo:"Wiederholen",edit:"Bearbeiten",split:"Geteilt",preview:"Vorschau",fullscreen:"Vollbild",fullscreenExit:"Vollbild beenden",theme:"Design",light:"Hell",dark:"Dunkel",auto:"Auto",warm:"Warm",wordCount:"Wörter",characters:"Zeichen",words:"Wörter",lines:"Zeilen",readingTime:"Lesezeit",minutes:"min",placeholder:"Markdown eingeben...",empty:"Kein Inhalt",copied:"Kopiert",copyContent:"Inhalt kopieren",copyHTML:"HTML kopieren",copySuccess:"Erfolgreich kopiert",copyFailed:"Kopieren fehlgeschlagen",clearContent:"Inhalt löschen",clearConfirm:"Gesamten Inhalt löschen?",linkPlaceholder:"Link-URL eingeben",imagePlaceholder:"Bild-URL eingeben",altPlaceholder:"Alternativtext eingeben",tableRows:"Zeilen",tableCols:"Spalten",confirm:"Bestätigen",cancel:"Abbrechen",exportMarkdown:"Markdown exportieren",exportHTML:"HTML exportieren",search:"Suchen",replace:"Ersetzen",replaceAll:"Alle ersetzen",searchPlaceholder:"Suchen",replacePlaceholder:"Ersetzen mit",findNext:"Nächstes",findPrev:"Vorheriges",matchCase:"Groß-/Kleinschreibung",wholeWord:"Ganzes Wort",close:"Schließen",open:"Öffnen",save:"Speichern",saved:"Gespeichert",saving:"Speichern...",delete:"Löschen",confirmDelete:"Wirklich löschen?",unsavedChanges:"Ungespeicherte Änderungen",error:"Fehler",success:"Erfolg",warning:"Warnung",info:"Info",loading:"Laden...",retry:"Wiederholen",renderError:"Rendern fehlgeschlagen",outline:"Gliederung",cut:"Ausschneiden",copy:"Kopieren",paste:"Einfügen",selectAll:"Alles auswählen",regex:"Regex",shortcuts:"Tastenkürzel",imageTooLarge:"Bild zu groß ({size}KB > {max}KB)",formatToolbar:"Auswahl formatieren",pasteBlocked:"Direktes Einfügen nicht möglich, verwenden Sie Strg+V"}},o=["bold","italic","strikethrough","code","|","h1","h2","h3","|","quote","ul","ol","|","link","image","table","hr","|","undo","redo","|","edit","split","preview","fullscreen"],s=Object.freeze({value:"",placeholder:"",mode:"split",height:400,toolbar:o,wordCount:!0,autofocus:!1,spellcheck:!1,historyLimit:100,historyDebounce:400,syncScroll:!0,tabSize:2,readOnly:!1,lineNumbers:!0,outline:!1,autoBrackets:!0,zenMode:!1,zenMaxWidth:960,wordWrap:!0,maxLength:0,theme:"auto",locale:"zh-CN",render:null,highlight:null,sanitize:null,className:"",style:{},plugins:[],onChange:null,onInput:null,onFocus:null,onBlur:null,onSave:null,onModeChange:null,onFullscreen:null,onCreate:null,onDestroy:null,onLinkClick:null,floatingToolbar:!0}),a={light:{bg:"rgba(255, 255, 255, 0.96)",text:"#1f2937",border:"rgba(0, 0, 0, 0.08)",shadow:"0 10px 36px -10px rgba(0, 0, 0, 0.18), 0 4px 14px -4px rgba(0, 0, 0, 0.08)",hoverShadow:"0 14px 48px -10px rgba(0, 0, 0, 0.22), 0 6px 18px -4px rgba(0, 0, 0, 0.10)",toolbarBg:"rgba(248, 249, 250, 0.92)",textareaBg:"#ffffff",previewBg:"#ffffff",codeBg:"rgba(243, 244, 246, 1)",codeText:"#1f2937",accent:"#3b82f6",muted:"#6b7280"},dark:{bg:"rgba(28, 32, 40, 0.94)",text:"#e6e8eb",border:"rgba(255, 255, 255, 0.1)",shadow:"0 10px 36px -10px rgba(0, 0, 0, 0.6), 0 4px 14px -4px rgba(0, 0, 0, 0.4)",hoverShadow:"0 14px 48px -8px rgba(0, 0, 0, 0.6), 0 6px 18px -4px rgba(0, 0, 0, 0.4)",toolbarBg:"rgba(22, 26, 33, 0.92)",textareaBg:"#1c2028",previewBg:"#1c2028",codeBg:"rgba(15, 18, 24, 1)",codeText:"#e6e8eb",accent:"#60a5fa",muted:"#9ca3af"},auto:"auto",warm:{bg:"rgba(255, 251, 235, 0.96)",text:"#78350f",border:"rgba(245, 158, 11, 0.2)",shadow:"0 10px 36px -10px rgba(245, 158, 11, 0.18), 0 4px 14px -4px rgba(245, 158, 11, 0.08)",hoverShadow:"0 14px 48px -10px rgba(245, 158, 11, 0.22), 0 6px 18px -4px rgba(245, 158, 11, 0.10)",toolbarBg:"rgba(254, 243, 199, 0.92)",textareaBg:"#fffbeb",previewBg:"#fffbeb",codeBg:"rgba(254, 215, 170, 0.6)",codeText:"#78350f",accent:"#d97706",muted:"#a16207",progressBg:"rgba(217, 119, 6, 0.15)",closeHoverBg:"rgba(217, 119, 6, 0.2)"}},l={slide:{enter:{transform:"translateX(80px)",opacity:"0"},leave:{transform:"translateX(120%)",opacity:"0"},duration:400,easing:"cubic-bezier(0.25, 0.46, 0.45, 0.94)"},fade:{enter:{opacity:"0",filter:"blur(3px)"},leave:{opacity:"0",filter:"blur(3px)"},duration:500,easing:"ease"},scale:{enter:{transform:"scale(0.55)",opacity:"0"},leave:{transform:"scale(0.55)",opacity:"0"},duration:450,easing:"cubic-bezier(0.34, 1.56, 0.64, 1)"},bounce:{enter:{transform:"translateY(-80px)",opacity:"0"},leave:{transform:"translateY(20px)",opacity:"0"},duration:650,easing:"ease"},flip:{enter:{transform:"perspective(500px) rotateX(-90deg)",opacity:"0"},leave:{transform:"perspective(500px) rotateX(90deg)",opacity:"0"},duration:500,easing:"cubic-bezier(0.25, 0.46, 0.45, 0.94)"},rotate:{enter:{transform:"rotate(-25deg) scale(0.6)",opacity:"0"},leave:{transform:"rotate(25deg) scale(0.6)",opacity:"0"},duration:500,easing:"cubic-bezier(0.25, 0.46, 0.45, 0.94)"},zoom:{enter:{transform:"scale(0.1)",opacity:"0"},leave:{transform:"scale(0.1)",opacity:"0"},duration:500,easing:"cubic-bezier(0.34, 1.56, 0.64, 1)"}},c=["edit","split","preview"],h=["bold","italic","strikethrough","underline","code","h1","h2","h3","quote","ul","ol","indent","outdent","hr","link","image","table","undo","redo","edit","split","preview","fullscreen"];let d=null,u="zh-CN",p=new Set,m="zh-CN";const g={zh:()=>"other",en:e=>1===e?"one":"other",ru:e=>{const t=e%10,n=e%100;return 1===t&&11!==n?"one":t>=2&&t<=4&&!(n>=12&&n<=14)?"few":0===t||t>=5&&t<=9||n>=11&&n<=14?"many":"other"}},f=(e,t)=>{const n=e.split("-")[0].toLowerCase();return(g[n]||g.en)(Math.abs(t))},v=()=>u,b=e=>{let t=e;i[t]||(t=m),u=t,L(t),T(t)},y=(e,t={},n)=>{const r=n||u;let i=x(r,e);if(i&&"object"==typeof i&&void 0!==t.count&&(i=i[f(r,t.count)]||i.other||e),"string"==typeof i)return w(i,t);if(r!==m){let n=x(m,e);if(n&&"object"==typeof n&&void 0!==t.count&&(n=n[f(m,t.count)]||n.other),"string"==typeof n)return w(n,t)}return e},x=(e,t)=>{const n=i[e];if(!n)return;const r=t.split(".");let o=n;for(const e of r){if(!o||"object"!=typeof o||!(e in o))return;o=o[e]}return o},w=(e,t)=>e.replace(/\{(\w+)\}/g,(e,n)=>void 0!==t[n]?String(t[n]):e),_=(e,t)=>{i[e]||(i[e]={}),C(i[e],t)},k=async(e,t)=>{try{const n=await fetch(e);if(!n.ok)throw new Error(`HTTP ${n.status}`);const r=await n.json();return _(t,r),!0}catch(e){return!1}},C=(e,t)=>{for(const n in t)t[n]instanceof Object&&n in e&&e[n]instanceof Object&&!Array.isArray(t[n])?C(e[n],t[n]):e[n]=t[n];return e},E=e=>e in i,S=e=>{const t=e.split("-")[0].toLowerCase();return["ar","he","fa","ur","yi","ps","sd","ug","dv","ku","syr"].includes(t)?"rtl":"ltr"},L=e=>{p.forEach(t=>{try{t(e)}catch(e){}})},T=e=>{if("undefined"!=typeof localStorage)try{localStorage.setItem("metona-editor-locale",e)}catch(e){}},M=()=>{if("undefined"!=typeof localStorage)try{return localStorage.getItem("metona-editor-locale")||$()}catch(e){}return $()},$=()=>{if("undefined"!=typeof navigator){const e=navigator.language||navigator.userLanguage;if(e&&E(e))return e;const t=e?.split("-")[0];if(t&&E(t))return t}return m},z=e=>{let t=e.config?.locale||u||"zh-CN";const n=(e,n={})=>y(e,n,t);return{set:r=>{if(!r||t===r)return t;if(t=r,e.el&&(e.el.setAttribute("lang",r),e.el.setAttribute("dir",S(r))),e.textarea&&(e.textarea.placeholder=n("placeholder")||"",e.textarea.setAttribute("aria-label",n("edit")||""),e.textarea.setAttribute("dir",S(r))),"function"==typeof e._emit&&e._emit("localeChange",{locale:r,direction:S(r)}),e.toolbarEl&&e.toolbarEl.querySelectorAll(".me-btn").forEach(e=>{const t=e.dataset.action||e.dataset.mode;if(t){const r=n(t);r&&r!==t&&(e.title=r,e.setAttribute("aria-label",r))}}),"function"==typeof e._updateWordCount)try{e._updateWordCount()}catch(e){}if(e.el&&"function"==typeof e.el.querySelector){const t=e.el.querySelector(".me-outline-title");t&&(t.textContent=n("outline")||"Outline")}return t},get:()=>t,getDirection:()=>S(t),t:n,formatNumber:(e,n)=>{try{return new Intl.NumberFormat(t,n).format(e)}catch(t){return String(e)}},formatDate:(e,n)=>{try{return new Intl.DateTimeFormat(t,n).format(e instanceof Date?e:new Date(e))}catch(t){return String(e)}}}};i["zh-CN"],i["en-US"],i.ja,i.ko,i.fr,i.de;const A={t:y,getCurrentLocale:v,setCurrentLocale:b,switchLocale:e=>{b(e)},getFallbackLocale:()=>m,setFallbackLocale:e=>{m=e},hasTranslation:e=>void 0!==x(u,e)||void 0!==x(m,e),getTranslations:e=>i[e]||{},addTranslations:_,loadRemote:k,getSupportedLocales:()=>Object.keys(i),isLocaleSupported:E,getLocaleName:e=>({"zh-CN":"简体中文","zh-TW":"繁體中文","en-US":"English (US)","en-GB":"English (UK)",ja:"日本語",ko:"한국어",fr:"Français",de:"Deutsch",es:"Español",pt:"Português",ru:"Русский",ar:"العربية",hi:"हिन्दी",th:"ไทย",vi:"Tiếng Việt",id:"Bahasa Indonesia",tr:"Türkçe",it:"Italiano",nl:"Nederlands",pl:"Polski"}[e]||e),getLocaleDirection:S,formatNumber:(e,t={})=>{try{return new Intl.NumberFormat(u,t).format(e)}catch(t){return String(e)}},formatCurrency:(e,t="USD",n={})=>{try{return new Intl.NumberFormat(u,{style:"currency",currency:t,...n}).format(e)}catch(t){return String(e)}},formatDate:(e,t={})=>{try{const n=e instanceof Date?e:new Date(e);return new Intl.DateTimeFormat(u,t).format(n)}catch(t){return String(e)}},addLocaleListener:e=>(p.add(e),()=>{p.delete(e)}),removeLocaleListener:e=>{p.delete(e)},clearLocaleListeners:()=>{p.clear()},initI18n:()=>{const e=M();b(e)},saveLocale:T,loadLocale:M,getDefaultLocale:$,createInstanceI18n:z},B=/^\s*$/,P=/^(#{1,6})\s+(.+?)(?:\s+#{1,6})?\s*$/,H=/^={3,}\s*$/,I=/^-{3,}\s*$/,R=/^(\s{0,3})(`{3,}|~{3,})\s*([\w+#.-]*)(\s+[^\n]*?)?\s*$/,j=/^\s{0,3}([-*_])(\s*\1){2,}\s*$/,F=/^\s{0,3}>\s?/,O=/^(\s*)([-*+])\s/,W=/^(\s*)(\d+)\.\s/,D=/^\[([ xX])\]\s+(.*)$/,N=/^\s*\|?\s*:?-+:?\s*(\|\s*:?-+:?\s*)*\|?\s*$/,q=/^( {4}|\t)/,K=/^:\s+/,V=/^\[\^([^\]]+)\]:\s*/,U={smile:"😊",grinning:"😀",joy:"😂",rofl:"🤣",wink:"😉",blush:"😊",innocent:"😇",heart_eyes:"😍",kissing_heart:"😘",yum:"😋",stuck_out_tongue:"😛",sunglasses:"😎",smirk:"😏",unamused:"😒",disappointed:"😞",worried:"😟",confused:"😕",cry:"😢",sob:"😭",scream:"😱",angry:"😠",rage:"💢",triumph:"😤",sleepy:"😪",dizzy_face:"😵",zipper_mouth:"🤐",nerd:"🤓",thinking:"🤔",rolling_eyes:"🙄",expressionless:"😑",thumbsup:"👍",thumbsdown:"👎",clap:"👏",pray:"🙏",muscle:"💪",ok:"👌",point_up:"👆",point_down:"👇",point_left:"👈",point_right:"👉",raised_hands:"🙌",wave:"👋",punch:"👊",crossed_fingers:"🤞",heart:"❤️",broken_heart:"💔",star:"⭐",star2:"🌟",fire:"🔥",rocket:"🚀",check:"✅",cross:"❌",warning:"⚠️",info:"ℹ️",question:"❓",exclamation:"❗",bangbang:"‼️",grey_exclamation:"❕",bulb:"💡",book:"📖",memo:"📝",pin:"📌",link:"🔗",lock:"🔒",unlock:"🔓",key:"🔑",hammer:"🔨",wrench:"🔧",gear:"⚙️",tools:"🛠️",magnet:"🧲",zap:"⚡",cloud:"☁️",sun:"☀️",moon:"🌙",rain:"🌧️",snow:"❄️",umbrella:"☂️",rainbow:"🌈",tornado:"🌪️",fog:"🌫️",droplet:"💧",coffee:"☕",pizza:"🍕",cake:"🎂",beer:"🍺",wine:"🍷",hamburger:"🍔",fries:"🍟",apple:"🍎",banana:"🍌",grapes:"🍇",watermelon:"🍉",strawberry:"🍓",peach:"🍑",cherry:"🍒",taco:"🌮",tada:"🎉",gift:"🎁",crown:"👑",gem:"💎",ring:"💍",confetti:"🎊",balloon:"🎈",ribbon:"🎀",medal:"🏅",trophy:"🏆",eye:"👁️",ear:"👂",nose:"👃",tongue:"👅",lips:"👄",brain:"🧠",speech:"💬",thought:"💭",anger:"💢",sweat:"💦",one:"1️⃣",two:"2️⃣",three:"3️⃣",four:"4️⃣",five:"5️⃣",six:"6️⃣",seven:"7️⃣",eight:"8️⃣",nine:"9️⃣",zero:"0️⃣",arrow_up:"⬆️",arrow_down:"⬇️",arrow_left:"⬅️",arrow_right:"➡️",arrow_upper_right:"↗️",arrow_lower_right:"↘️",arrow_lower_left:"↙️",arrow_upper_left:"↖️",computer:"💻",phone:"📱",battery:"🔋",electric_plug:"🔌",copyright:"©️",registered:"®️",tm:"™️",hundred:"💯",boom:"💥",dash:"💨",hole:"🕳️",bomb:"💣",email:"📧",phone2:"📞",clock:"🕐",hourglass:"⏳",calendar:"📅",money:"💰",shopping:"🛒",package:"📦",mailbox:"📫",art:"🎨",music:"🎵",movie:"🎬",game:"🎮",sport:"⚽",earth:"🌍",house:"🏠",car:"🚗",airplane:"✈️",ship:"🚢"},Z=new Map,Y=(e,t)=>{if(!e)return"";if(!t.highlight&&e.length<600){const n=(e=>{let t=e._refsFp;return void 0===t&&(t=(e.refs?Object.keys(e.refs):[]).length>0?JSON.stringify(e.refs):""),t||""})(t),r=n?e+""+n:e,i=Z.get(r);if(void 0!==i)return i;const o=me(e,t);if(Z.size>=300){const e=Z.keys().next().value;Z.delete(e)}return Z.set(r,o),o}return me(e,t)},G=()=>{Z.clear()},Q=e=>{if(!e)return"";const t=String(e).trim();if(/^(javascript|vbscript|file):/i.test(t))return"";if(/^data:/i.test(t)){if(!/^data:image\//i.test(t))return"";if(t.length>5e5)return""}return t},X=e=>String(e).normalize("NFKC").toLowerCase().replace(/[^\w\u4e00-\u9fff\u3400-\u4dbf\s-]/g,"").trim().replace(/\s+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")||"heading",J=e=>e.replace(/"/g,""").replace(/\r?\n/g," "),ee=e=>{return e?` title="${(t=e,t.replace(/\\([!"#$%&'()*+,\-./:;<=>?@\[\\\]^_`{|}~])/g,"$1")).replace(/"/g,""").replace(/\r?\n/g," ")}"`:"";var t},te=[],ne=e=>{te.push(e),te.sort((e,t)=>e.priority-t.priority)},re=e=>!!(B.test(e)||R.test(e)||P.test(e)||j.test(e)||F.test(e)||O.test(e)||W.test(e)||V.test(e)||K.test(e)||/^\$\$/.test(e));ne({name:"refDef",priority:.1,test:e=>{if(/^\[\^/.test(e))return null;return e.match(/^\[([^\]]+)\]:\s*(?:<(\S+)>|(\S+))(?:\s+['"\(](.*?)['"\)])?\s*$/)||null},parse:(e,t,n,r,i,o)=>{const s=n[1].toLowerCase(),a=n[2]||n[3]||"",l=n[4]||"";return a&&o&&(o[s]=JSON.stringify({url:a,title:l})),{token:null,newIndex:t+1}}}),ne({name:"blank",priority:0,test:e=>!!B.test(e)||null,parse:(e,t)=>({token:null,newIndex:t+1})}),ne({name:"fencedCode",priority:1,test:e=>{const t=e.match(R);return t?(t[4]||"").includes("`")?null:t:null},parse:(e,t,n)=>{const r=n[2][0],i=n[2].length,o=n[3]||"",s=(n[4]||"").trim(),a=s?s.split(/\s+/).filter(Boolean):[],l={};for(let e=0;e=i)break;c.push(e[h]),h++}return hq.test(e)&&!(P.test(e)||F.test(e)||O.test(e)||W.test(e))||null,parse:(e,t)=>{const n=[];for(;te.match(P),parse:(e,t,n)=>({token:{type:"heading",level:n[1].length,text:n[2]},newIndex:t+1})}),ne({name:"setextH1",priority:4,test:(e,t,n)=>n+1>=t.length?null:H.test(t[n+1])&&!(B.test(e)||O.test(e)||W.test(e)||F.test(e)||/^\s*`{3,}/.test(e))||null,parse:(e,t)=>({token:{type:"heading",level:1,text:e[t]},newIndex:t+2})}),ne({name:"setextH2",priority:5,test:(e,t,n)=>n+1>=t.length?null:I.test(t[n+1])&&!(B.test(e)||O.test(e)||W.test(e)||F.test(e)||/^\s*`{3,}/.test(e))||null,parse:(e,t)=>({token:{type:"heading",level:2,text:e[t]},newIndex:t+2})}),ne({name:"hr",priority:6,test:e=>!!j.test(e)||null,parse:(e,t)=>({token:{type:"hr"},newIndex:t+1})}),ne({name:"blockquote",priority:7,test:e=>!!F.test(e)||null,parse:(e,t)=>{const n=[];for(;t!/\|/.test(e)||n+1>=t.length?null:le(t[n+1])?{header:e,align:ce(t[n+1])}:null,parse:(e,t,n)=>{let r=t+2;const i=[];for(;re.match(O),parse:(e,t,n)=>{const{items:r,endIdx:i}=ae(e,t,n[2],n[1].length,!1);return{token:{type:"ul",items:r},newIndex:i}}}),ne({name:"ol",priority:10,test:e=>e.match(W),parse:(e,t,n)=>{const r=parseInt(n[2],10),{items:i,endIdx:o}=ae(e,t,n[2],n[1].length,!0);return{token:{type:"ol",items:i,start:r},newIndex:o}}}),ne({name:"footnoteDef",priority:11,test:e=>e.match(V),parse:(e,t,n,r,i)=>{const o=n[1],s=[e[t].slice(n[0].length)];let a=t+1;for(;a!!K.test(e)||null,parse:(e,t,n,r)=>{const i=r.length>0&&"paragraph"===r[r.length-1].type?r.pop().text:"",o=[e[t].replace(K,"")];let s=t+1;for(;s!!/^\$\$/.test(e)||null,parse:(e,t)=>{const n=e[t].match(/^\$\$([\s\S]+?)\$\$\s*$/);if(n)return{token:{type:"mathBlock",content:n[1]},newIndex:t+1};const r=[e[t].replace(/^\$\$/,"")];let i=t+1;for(;i{if(null==e)return{tokens:[],footnotes:{},refs:{}};const t=String(e).replace(/\r\n?/g,"\n").split("\n"),n=[],r={},i={};let o=0;for(;o{let r=e.map(e=>he(e,t)).join("\n");const i=Object.keys(n);return i.length&&(r+='\n"),r},se=(e,t={})=>{const{tokens:n,footnotes:r,refs:i}=ie(e),o={...t,refs:i};return i&&Object.keys(i).length>0&&(o._refsFp=JSON.stringify(i)),oe(n,o,r)},ae=(e,t,n,r,i,o)=>{const s=[];let a=t;const l=r+(i?String(n).length+2:2);for(;al&&" "!==n[l])&&new RegExp(`^\\s{${l},}`).test(n)){p.push(""),a++;continue}}break}if(i){if(new RegExp(`^(\\s{0,${r}})\\d+\\.\\s`).test(t))break}else if(new RegExp(`^(\\s{0,${r}})[-*+]\\s`).test(t))break;if(F.test(t)||P.test(t)||j.test(t)||V.test(t))break;const n=t.match(new RegExp(`^(\\s{${l},})([-*+])\\s`)),o=t.match(new RegExp(`^(\\s{${l},})(\\d+)\\.\\s`));if(n||o){const t=!!o,r=t?o[2]:n[2],i=t?o[1].length:n[1].length,s=t?parseInt(o[2],10):void 0,l=ae(e,a,r,i,t);m.push({type:t?"ol":"ul",items:l.items,start:s}),a=l.endIdx;continue}t.length>l&&""===t.slice(0,l).trim()?p.push(t.slice(l)):p.push(t),a++}p.length&&(h=h?h+"\n"+p.join("\n"):p.join("\n")),s.push({type:"listItem",text:h,checked:d,task:u,subTokens:m.length?m:void 0})}return{items:s,endIdx:a}},le=e=>N.test(e)&&/-/.test(e),ce=e=>e.replace(/^\s*\|?\s*|\s*\|?\s*$/g,"").split(/\s*\|\s*/).map(e=>/^:/.test(e)&&/:$/.test(e)?"center":/:$/.test(e)?"right":(/^:/.test(e),"left")),he=(e,n,r)=>{switch(e.type){case"heading":{const t=X(e.text);return`${Y(e.text,n)}`}case"paragraph":return`${Y(e.text,n)}
`;case"hr":return"
";case"quote":return`${se(e.content,n)}
`;case"code":return ue(e.content,e.lang,n,e.attrs);case"ul":return`${e.items.map(e=>de(e,n)).join("")}
`;case"ol":{const t=e.start||1;return`1?` start="${t}"`:""}>${e.items.map((e,r)=>de(e,n,t>1?r+t:void 0)).join("")}
`}case"table":return pe(e,n);case"defList":{let t="";return t+=`- ${Y(e.term,n)}
`,e.defs.forEach(e=>{t+=`- ${Y(e,n)}
`}),t+"
"}case"mathBlock":return`${t(e.content)}
`;default:return`${e.content?"string"==typeof e.content?Y(e.content,n):t(String(e.content)):""}
`}},de=(e,t,n)=>{if(e.task){let n=`- ${Y(e.text,t)}`;return e.subTokens&&(n+="\n"+e.subTokens.map(e=>he(e,t)).join("\n")),n+"
"}let r=null!=n?`- `:"
- ";return r+=Y(e.text,t),e.subTokens&&(r+="\n"+e.subTokens.map(e=>he(e,t)).join("\n")),r+"
"},ue=(e,r,i,o)=>{if("mermaid"===r)return``;const s=r?` class="language-${n(r)}"`:"",a=o?.title?`${n(o.title)}
`:"";if(i.highlight&&"function"==typeof i.highlight&&r)try{const t=i.highlight(e,r);if("string"==typeof t)return`${a}${t}
`}catch(e){}return`${a}${t(e)}
`},pe=(e,t)=>{const n=e=>{const t=[];let n="",r=!1;for(let i=0;i0&&""===t[0]&&t.shift(),t.length>0&&""===t[t.length-1]&&t.pop(),t},r=n(e.header),i=e.align||[],o=e=>i[e]&&"left"!==i[e]?` style="text-align:${i[e]}"`:"";let s='';return s+=r.map((e,n)=>`| ${Y(e,t)} | `).join(""),s+="
",s+=e.rows.map(e=>`${n(e).map((e,n)=>`| ${Y(e,t)} | `).join("")}
`).join(""),s+"
"},me=(e,n)=>{if(!e)return"";const r=[];let i=ge(e,r);const o=[];return i=i.replace(/&(?:[a-zA-Z][a-zA-Z0-9]{1,31}|#\d{1,7}|#x[0-9a-fA-F]{1,6});/g,e=>(o.push(e),`${o.length-1}`)),i=i.replace(//g,e=>(o.push(e),`${o.length-1}`)),i=i.replace(/<\/?u\s*>/gi,e=>(o.push(e),`${o.length-1}`)),i=t(i),i=i.replace(/\u0005(\d+)\u0005/g,(e,t)=>o[+t]||e),i=ve(i,r,n),i=i.replace(/\u0000(\d+)\u0000/g,(e,n)=>{const i=r[+n];return i?`${t(i.content)}`:e}),i=i.replace(/:([\w+-]+):/g,(e,t)=>U[t]||e),i=i.replace(/ \n/g,"
\n"),i=i.replace(/\n/g,"
"),i},ge=(e,t)=>{let n="",r=0;for(;r{const i=new Map;return(e=(e=e.replace(/\u0000\d+\u0000/g,e=>{const t=`${i.size}`;return i.set(t,e),t})).replace(fe,e=>{const n=e;if(n.startsWith("***"))return`${n.slice(3,-3)}`;if(n.startsWith("___"))return`${n.slice(3,-3)}`;if(n.startsWith("){const e=n.match(/!\[([^\]]*)\]\(([^)\s]+)(?:\s+['"](.+?)['"])?\s*\)/);if(!e)return n;const r=Q(e[2]);return r?`
`:t(n)}if(n.startsWith("![")&&n.includes("][")){const e=n.match(/!\[([^\]]*)\]\[([^\]]*)\]/);if(!e)return n;const i=(e[2]||e[1]).toLowerCase();if(r.refs&&r.refs[i])try{const o=JSON.parse(r.refs[i]),s=Q(o.url);return s?`
`:t(n)}catch(t){return`
`}return`
`}if(n.startsWith("[")&&n.includes("](")){const e=n.match(/\[([^\]]+)\]\(([^)\s]+)(?:\s+['"](.+?)['"])?\s*\)/);if(!e)return n;const t=Q(e[2]);if(!t)return n;const i=me(e[1],r);return`${i}`}if(n.startsWith("[")&&n.includes("][")){const e=n.match(/\[([^\]]+)\]\[([^\]]*)\]/);if(!e)return n;const i=(e[2]||e[1]).toLowerCase();if(r.refs&&r.refs[i])try{const o=JSON.parse(r.refs[i]),s=Q(o.url);return s?`${e[1]}`:t(n)}catch(e){return t(n)}return t(n)}if(n.startsWith("<http")){const e=n.slice(4,-4),t=Q(e);return`${e}`}if(n.startsWith("**"))return`${n.slice(2,-2)}`;if(n.startsWith("__"))return`${n.slice(2,-2)}`;if(n.startsWith("~~"))return`${n.slice(2,-2)}`;if(n.startsWith("=="))return`${n.slice(2,-2)}`;if(n.startsWith("*")&&!n.startsWith("**")&&!n.startsWith("***"))return`${n.slice(1,-1)}`;if(n.startsWith("_")&&!n.startsWith("__")&&!n.startsWith("___"))return`${n.slice(1,-1)}`;if(n.startsWith("^")&&!n.startsWith("^^"))return`${n.slice(1,-1)}`;if(n.startsWith("~")&&!n.startsWith("~~"))return`${n.slice(1,-1)}`;if(n.startsWith("$")&&!n.startsWith("$$"))return`${t(n.slice(1,-1))}`;if(/^\[\^/.test(n)){const e=n.slice(2,-1),t=J(e);return``}if(n.startsWith("\\")&&2===n.length){const e=n[1];return/[!"#$%&'()*+,\-./:;<=>?@\[\\\]^_`{|}~]/.test(e)?e:n}return n})).replace(/\u0003(\d+)\u0003/g,e=>i.get(e)||e)},be=Symbol("me-plugin:autoSave"),ye=Symbol("me-plugin:searchReplace"),xe=Symbol("me-plugin:imagePaste"),we=Symbol("me-plugin:shortcutHelp"),_e=Symbol("me-plugin:fileSystem"),ke=(e,t)=>e[t],Ce=(e,t,n)=>{e[t]=n},Ee=(e,t)=>{delete e[t]};class Se{constructor(){this.plugins=new Map}register(e,t){return this.plugins.has(e)?this:t&&"object"==typeof t&&(t.name||e)?(this.plugins.set(e,{version:t.version||"0.0.0",description:t.description||"",depends:t.depends||[],priority:t.priority||0,...t,name:e,enabled:!0}),this):this}unregister(e){return this.plugins.delete(e),this}get(e){return this.plugins.get(e)||null}has(e){return this.plugins.has(e)}getAll(){return Array.from(this.plugins.values())}getNames(){return Array.from(this.plugins.keys())}enable(e){const t=this.plugins.get(e);return t&&(t.enabled=!0),this}disable(e){const t=this.plugins.get(e);return t&&(t.enabled=!1),this}isEnabled(e){const t=this.plugins.get(e);return!!t&&t.enabled}destroy(){this.plugins.clear()}}const Le=new Se,Te=e=>{const t=new Map;e.forEach(e=>t.set(e.name,e));const n=new Map,r=new Map;e.forEach(e=>{n.set(e.name,0),r.set(e.name,[])}),e.forEach(e=>{(e.depends||[]).forEach(i=>{t.has(i)&&(r.get(i).push(e.name),n.set(e.name,(n.get(e.name)||0)+1))})});const i=[];n.forEach((e,t)=>{0===e&&i.push(t)});const o=[];for(;i.length;){i.sort((e,n)=>(t.get(n).priority||0)-(t.get(e).priority||0));const e=i.shift();o.push(t.get(e)),(r.get(e)||[]).forEach(e=>{n.set(e,n.get(e)-1),0===n.get(e)&&i.push(e)})}return o.length!==e.length?e:o},Me=(e={},t={})=>{const n=[],r={...t};for(const[i,o]of Object.entries(e)){const e=t[i];if(o.required&&null==e)n.push(`"${i}" is required`);else if(void 0!==e||void 0===o.default){if(void 0!==e&&o.type){const t=Array.isArray(e)?"array":typeof e;t!==o.type&&n.push(`"${i}" expected ${o.type}, got ${t}`)}if(void 0!==e&&o.enum&&!o.enum.includes(e)&&n.push(`"${i}" must be one of [${o.enum.join(", ")}]`),void 0!==e&&"function"==typeof o.validator)try{const t=o.validator(e);!0!==t&&n.push(`"${i}": ${t}`)}catch(e){n.push(`"${i}": ${e.message}`)}}else r[i]=o.default}return{valid:0===n.length,errors:n,patched:r}},$e=e=>(t,n)=>"function"==typeof e.t?e.t(t,n):y(t,n),ze={autoSave:{name:"autoSave",version:"0.1.1",description:"Auto-save to localStorage",priority:100,install(e,t){if(!e||"function"!=typeof e.getValue)return;const n=t||this,r=n.key||"me-draft-"+(e.id||""),i=n.delay||1e3,o={_timer:null},s=()=>{o._timer&&(clearTimeout(o._timer),o._timer=null);try{localStorage.setItem(r,e.getValue()),"function"==typeof e._emit&&e._emit("autosave",{key:r,value:e.getValue()})}catch(e){}},a=()=>{o._timer&&clearTimeout(o._timer),o._timer=setTimeout(s,i)},l=s,c=s;"function"==typeof e.on&&(e.on("change",a),e.on("blur",l),e.on("save",c)),e.restoreDraft=()=>{try{const t=localStorage.getItem(r);return null!=t&&"function"==typeof e.setValue&&e.setValue(t),t}catch(e){return null}},e.clearDraft=()=>{try{localStorage.removeItem(r)}catch(e){}return e},e.getDraftKey=()=>r,Ce(e,be,{state:o,_onInput:a,_onBlur:l,_onSave:c,save:s})},destroy(e){const t=ke(e,be);t&&(t.state._timer&&(clearTimeout(t.state._timer),t.state._timer=null),e&&"function"==typeof e.off&&(t._onInput&&e.off("change",t._onInput),t._onBlur&&e.off("blur",t._onBlur),t._onSave&&e.off("save",t._onSave)),Ee(e,be))}},exportTool:{name:"exportTool",version:"0.1.0",description:"Export Markdown/HTML",priority:50,install(e){if(!e||"function"!=typeof e.getValue)return;const t=(e,t,n)=>{if("undefined"==typeof document)return;const r=new Blob([t],{type:n+";charset=utf-8"}),i=URL.createObjectURL(r),o=document.createElement("a");o.href=i,o.download=e,document.body.appendChild(o),o.click(),document.body.removeChild(o),setTimeout(()=>URL.revokeObjectURL(i),0)},n=()=>{const e=new Date,t=e=>String(e).padStart(2,"0");return`${e.getFullYear()}${t(e.getMonth()+1)}${t(e.getDate())}-${t(e.getHours())}${t(e.getMinutes())}`},r=e,i=(t={})=>{const n=t.title||"Document",r=t.css||"",i="function"==typeof e.getHTML?e.getHTML():"",o=!1!==t.embedCSS?'':"";return`\n\n\n\n\n${n}\n${r?``:""}${o}\n\n\n${i}\n\n`};r.exportMarkdown=r=>(t(r||`metona-${n()}.md`,e.getValue(),"text/markdown"),e),r.exportHTML=(r,o={})=>(t(r||`metona-${n()}.html`,i(o),"text/html"),e),r.exportPDF=(t={})=>{if("undefined"==typeof document||!e.el)return e;const n=document.createElement("iframe");n.style.position="fixed",n.style.right="0",n.style.bottom="0",n.style.width="0",n.style.height="0",n.style.border="0",document.body.appendChild(n);const r=n.contentDocument;return r?(r.open(),r.write(i(t)),r.close(),setTimeout(()=>{try{n.contentWindow?.print()}catch(e){}setTimeout(()=>{n.parentNode&&n.parentNode.removeChild(n)},1e3)},50),e):(n.remove(),e)}},destroy(e){e&&(delete e.exportMarkdown,delete e.exportHTML,delete e.exportPDF)}},searchReplace:{name:"searchReplace",version:"0.2.1",description:"Search & Replace (Ctrl+F/H)",priority:80,install(e){if(!e||!e.textarea||"undefined"==typeof document)return;const t=$e(e);if(!document.getElementById("me-search-style")){const e=document.createElement("style");e.id="me-search-style",e.textContent=".me-search{position:absolute;top:10px;right:16px;z-index:20;display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--md-bg,#1c2029);border:1px solid var(--md-border,rgba(255,255,255,0.12));border-radius:10px;box-shadow:0 12px 40px -8px rgba(0,0,0,0.4),0 0 0 1px rgba(255,255,255,0.05);font-size:13px;min-width:300px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:meSearchIn .18s ease-out}@keyframes meSearchIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.me-search-row{display:flex;gap:6px;align-items:center}.me-search-row+.me-search-row{margin-top:2px}.me-search input{flex:1;min-width:0;padding:7px 10px;border:1px solid var(--md-border,rgba(255,255,255,0.12));border-radius:6px;background:var(--md-textarea-bg,rgba(255,255,255,0.04));color:var(--md-text,#e6e8eb);font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s}.me-search input::placeholder{color:var(--md-muted,#6b7280)}.me-search input:focus{border-color:var(--md-accent,#3b82f6);box-shadow:0 0 0 3px rgba(59,130,246,0.15)}.me-search .me-search-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid rgba(255,255,255,0.08);border-radius:5px;background:rgba(255,255,255,0.04);color:var(--md-muted,#9ca3af);cursor:pointer;transition:all .12s;flex-shrink:0}.me-search .me-search-btn:hover{background:var(--md-accent,#3b82f6);color:#fff;border-color:var(--md-accent,#3b82f6)}.me-search .me-search-btn:active{transform:scale(.92)}.me-search .me-search-btn.me-active{background:var(--md-accent,#3b82f6);color:#fff;border-color:var(--md-accent,#3b82f6)}.me-search .me-search-btn svg{width:14px;height:14px}.me-search .me-search-count{color:var(--md-muted,#9ca3af);font-size:11.5px;min-width:28px;text-align:center;font-variant-numeric:tabular-nums}.me-search .me-search-close{margin-left:2px;font-size:16px;line-height:1}.me-search .me-search-close:hover{background:#ef4444;border-color:#ef4444}.me-search .me-search-replace-one,.me-search .me-search-replace-all{width:auto;padding:5px 10px;font-size:12px;font-weight:500;letter-spacing:.01em}.me-search .me-search-replace-all{background:rgba(59,130,246,0.12);border-color:rgba(59,130,246,0.3);color:var(--md-accent,#60a5fa)}.me-search .me-search-replace-all:hover{background:var(--md-accent,#3b82f6);color:#fff}",document.head.appendChild(e)}const n={_panel:null,_regexMode:!1,_matchCase:!0,_wholeWord:!1,_cleanup:null},r="[\\w\\u4e00-\\u9fff]",i=e=>{if(!e)return null;let t=n._regexMode?e:e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");n._wholeWord&&(t=`(?{const r=e=>!!e&&/[\w\u4e00-\u9fff]/.test(e);return!r(e[t-1])&&!r(e[t+n])},s=()=>{if(!n._panel)return;const e="1"===n._panel.dataset.replace,t=n._panel.querySelector(".me-search-replace-row");t&&(t.style.display=e?"flex":"none")},a=()=>{n._cleanup&&(n._cleanup(),n._cleanup=null),n._panel=null,e&&e.textarea&&e.textarea.focus()},l=r=>{if(n._panel){n._panel.dataset.replace=r?"1":"0",s();const e=n._panel.querySelector(".me-search-find");return void(e&&(e.focus(),e.select()))}const l=e.textarea.value.substring(e.textarea.selectionStart,e.textarea.selectionEnd),c=document.createElement("div");var h;c.className="me-search",c.dataset.replace=r?"1":"0",c.innerHTML=``,e.el.appendChild(c),n._panel=c,s(),n._regexMode=!1,n._matchCase=!0,n._wholeWord=!1;const d=c.querySelector(".me-search-find"),u=c.querySelector(".me-search-replace"),p=c.querySelector(".me-search-count"),m=c.querySelector(".me-search-regex"),g=c.querySelector(".me-search-case"),f=c.querySelector(".me-search-word");m.addEventListener("click",()=>{n._regexMode=!n._regexMode,m.classList.toggle("me-active",n._regexMode),b=v()}),g.addEventListener("click",()=>{n._matchCase=!n._matchCase,g.classList.toggle("me-active",n._matchCase),b=v()}),f.addEventListener("click",()=>{n._wholeWord=!n._wholeWord,f.classList.toggle("me-active",n._wholeWord),b=v()});const v=()=>{const t=d.value;if(!t)return p.textContent="",[];const n=[],r=i(t);if(!r)return p.textContent="err",[];let o;for(;null!==(o=r.exec(e.textarea.value));)n.push(o.index),0===o[0].length&&r.lastIndex++;return p.textContent=n.length?`${n.length}`:"0",n};let b=[];const y=(t,n)=>{e.textarea.focus(),e.textarea.setSelectionRange(t,t+(n||d.value.length))},x=t=>{const r=e.textarea.value,s=d.value;if(!s)return 0;if(!n._regexMode)return n._matchCase&&r.slice(t,t+s.length)!==s?0:n._matchCase||r.slice(t,t+s.length).toLowerCase()===s.toLowerCase()?n._wholeWord&&!o(r,t,s.length)?0:s.length:0;const a=i(s);if(!a)return 0;a.lastIndex=t;const l=a.exec(r);return l&&l.index===t?l[0].length:0},w=()=>{if(b=v(),!b.length)return;const t=e.textarea.selectionEnd;let n=b.find(e=>e>=t);null==n&&(n=b[0]),y(n,x(n)||d.value.length)},_=()=>{if(b=v(),!b.length)return;const t=e.textarea.selectionStart;let n=-1;for(let e=b.length-1;e>=0;e--)if(b[e]{const t=d.value,r=u.value;if(!t)return;const s=e.textarea,a=s.selectionStart,l=s.selectionEnd,c=s.value.substring(a,l);let h=!1;if(n._regexMode){const e=i(t);if(e){e.lastIndex=a;const t=e.exec(s.value);h=!(!t||t.index!==a)}}else h=(n._matchCase?c===t:c.toLowerCase()===t.toLowerCase())&&(!n._wholeWord||o(s.value,a,t.length));h&&(s.value=s.value.substring(0,a)+r+s.value.substring(l),s.setSelectionRange(a,a+r.length));const p=e._value||"";e._value=s.value,"function"==typeof e._afterProgrammaticEdit?e._afterProgrammaticEdit(p):("function"==typeof e._pushHistory&&e._pushHistory(),"function"==typeof e._render&&e._render(),"function"==typeof e._updateWordCount&&e._updateWordCount(),"function"==typeof e._emit&&e._emit("change",e._value)),w()};d.addEventListener("input",()=>{b=v()}),d.addEventListener("keydown",e=>{"Enter"===e.key&&(e.preventDefault(),e.shiftKey?_():w()),"Escape"===e.key&&(e.preventDefault(),a())}),u.addEventListener("keydown",e=>{"Enter"===e.key&&(e.preventDefault(),k()),"Escape"===e.key&&(e.preventDefault(),a())}),c.querySelector(".me-search-next").addEventListener("click",w),c.querySelector(".me-search-prev").addEventListener("click",_),c.querySelector(".me-search-close").addEventListener("click",()=>a()),c.querySelector(".me-search-replace-one").addEventListener("click",k),c.querySelector(".me-search-replace-all").addEventListener("click",()=>{const t=d.value,n=u.value;if(!t)return;const r=e.textarea,o=i(t);if(!o)return;const s=e._value||"";r.value=r.value.replace(o,()=>n),r.setSelectionRange(0,0),e._value=r.value,"function"==typeof e._afterProgrammaticEdit?e._afterProgrammaticEdit(s):("function"==typeof e._pushHistory&&e._pushHistory(),"function"==typeof e._render&&e._render(),"function"==typeof e._updateWordCount&&e._updateWordCount(),"function"==typeof e._emit&&e._emit("change",e._value)),v()}),d.focus(),d.select(),n._cleanup=()=>{c.parentNode&&c.parentNode.removeChild(c)}},c=e=>{if(!e.ctrlKey&&!e.metaKey)return;const t=e.key.toLowerCase();"f"===t?(e.preventDefault(),l(!1)):"h"===t?(e.preventDefault(),l(!0)):"escape"===t&&n._panel&&a()};e.textarea.addEventListener("keydown",c),Ce(e,ye,{state:n,_open:l,_close:a,_onKeydown:c})},destroy(e){const t=ke(e,ye);if(t){const n=t.state;n&&(n._cleanup&&(n._cleanup(),n._cleanup=null),n._panel=null),t._onKeydown&&e&&e.textarea&&e.textarea.removeEventListener("keydown",t._onKeydown),Ee(e,ye)}}},imagePaste:{name:"imagePaste",version:"0.2.1",description:"Paste image as base64",priority:60,install(e,t={}){if(!e||!e.textarea||"undefined"==typeof document)return;const n=$e(e),r=t.maxSizeKB||500,i=t=>{const i=t.clipboardData?.items;if(i)for(const o of i)if(o.type?.startsWith("image/")){const i=o.getAsFile();if(!i)continue;const s=i.size/1024;if(r>0&&s>r){t.preventDefault(),"function"==typeof e.toast&&e.toast(n("imageTooLarge",{size:s.toFixed(0),max:r})||`Image too large (${s.toFixed(0)}KB > ${r}KB)`,{type:"warning"});break}t.preventDefault();const a=new FileReader;a.onload=()=>{"function"==typeof e.insert&&e.insert(`\n`)},a.readAsDataURL(i);break}};e.textarea.addEventListener("paste",i),Ce(e,xe,i)},destroy(e){const t=ke(e,xe);t&&e?.textarea&&e.textarea.removeEventListener("paste",t),Ee(e,xe)}},shortcutHelp:{name:"shortcutHelp",version:"0.2.0",description:"Press ? to show shortcuts",priority:200,install(e){if(!e||!e.textarea||"undefined"==typeof document)return;const t=$e(e);if(!document.getElementById("me-shortcut-style")){const e=document.createElement("style");e.id="me-shortcut-style",e.textContent=".me-shortcut-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:50;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center}.me-shortcut-panel{background:var(--md-bg,#fff);border-radius:12px;padding:24px;max-width:560px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 12px 40px rgba(0,0,0,0.3)}.me-shortcut-panel h3{font-size:16px;margin:0 0 16px;color:var(--md-text)}.me-shortcut-panel table{width:100%;border-collapse:collapse;font-size:13px}.me-shortcut-panel td{padding:6px 10px;border-bottom:1px solid var(--md-border)}.me-shortcut-panel td:first-child{font-family:var(--md-mono);font-size:12px;color:var(--md-accent);white-space:nowrap;width:40%}.me-shortcut-panel .me-shortcut-close{position:absolute;top:16px;right:20px;background:none;border:none;font-size:20px;cursor:pointer;color:var(--md-muted)}",document.head.appendChild(e)}const n={panel:null},r=()=>{n.panel&&(n.panel.remove(),n.panel=null)},i=()=>{if(n.panel)return void r();const e=[["Ctrl+B",t("bold")||"Bold"],["Ctrl+I",t("italic")||"Italic"],["Ctrl+U",t("underline")||"Underline"],["Ctrl+K",t("link")||"Link"],["Ctrl+E",t("code")||"Code"],["Ctrl+1/2/3",t("h1")||"Heading"],["Ctrl+Q",t("quote")||"Quote"],["Ctrl+Z",t("undo")||"Undo"],["Ctrl+Y",t("redo")||"Redo"],["Ctrl+S",t("save")||"Save"],["Ctrl+F",t("search")||"Search"],["Ctrl+H",t("replace")||"Replace"],["Tab",t("indent")||"Indent"],["Shift+Tab",t("outdent")||"Outdent"],["?",t("shortcuts")||"Shortcuts"]];let i="";e.forEach(([e,t])=>{i+=`| ${e} | ${t} |
`});const o=document.createElement("div");o.className="me-shortcut-overlay",o.innerHTML=`⌨️ ${t("shortcuts")||"Shortcuts"}
`,o.addEventListener("click",e=>{(e.target===o||e.target.classList.contains("me-shortcut-close"))&&r()}),document.body.appendChild(o),n.panel=o},o=e=>{"?"!==e.key||e.ctrlKey||e.metaKey||e.altKey||(e.preventDefault(),i()),"Escape"===e.key&&n.panel&&r()};e.textarea.addEventListener("keydown",o),Ce(e,we,{state:n,_open:i,_close:r,_onKeydown:o})},destroy(e){const t=ke(e,we);t&&t.state&&t.state.panel&&(t.state.panel.remove(),t.state.panel=null);const n=t?._onKeydown;n&&e?.textarea&&e.textarea.removeEventListener("keydown",n),Ee(e,we)}},fileSystem:{name:"fileSystem",version:"0.2.0",description:"File System Access API",priority:90,install(e){if(!e||"function"!=typeof e.getValue)return;const t="undefined"!=typeof window&&"function"==typeof window.showOpenFilePicker;let n=null;e.openFile=async(r={})=>{if(!t)return"function"==typeof e.toast&&e.toast?.("File System Access API not supported",{type:"warning"}),null;try{const[t]=await window.showOpenFilePicker({types:[{accept:{"text/markdown":[".md",".txt",".markdown"]}}],...r});n=t;const i=await t.getFile(),o=await i.text();return"function"==typeof e.setValue&&e.setValue(o),e._emit?.("fileOpened",{name:i.name,handle:t}),{name:i.name,content:o,handle:t}}catch(e){return e.name,null}},e.saveFile=async(r={})=>{let i=n;if(!i||r.saveAs){if(!t)return"function"==typeof e.toast&&e.toast?.("File System Access API not supported",{type:"warning"}),!1;try{i=await window.showSaveFilePicker({types:[{accept:{"text/markdown":[".md"]}}],suggestedName:r.name||"document.md"}),n=i}catch(e){return e.name,!1}}try{const t=await i.createWritable();return await t.write(e.getValue()),await t.close(),e._emit?.("fileSaved",{handle:i}),!0}catch(t){return n=null,!r.saveAs&&e.saveFile({...r,saveAs:!0})}},e.saveFileAs=t=>e.saveFile({saveAs:!0,name:t}),e.getFileHandle=()=>n,Ce(e,_e,{getHandle:()=>n})},destroy(e){e&&(delete e.openFile,delete e.saveFile,delete e.saveFileAs,delete e.getFileHandle),Ee(e,_e)}}},Ae={createManager:()=>new Se,manager:Le,register:(e,t)=>Le.register(e,t),unregister:e=>Le.unregister(e),get:e=>Le.get(e),has:e=>Le.has(e),getAll:()=>Le.getAll(),getNames:()=>Le.getNames(),enable:e=>Le.enable(e),disable:e=>Le.disable(e),isEnabled:e=>Le.isEnabled(e),getPreset:e=>ze[e]?{...ze[e]}:null,getAllPresets:()=>Object.keys(ze).reduce((e,t)=>(e[t]={...ze[t]},e),{}),createPlugin:(e={})=>{const t={name:e.name||"custom",version:e.version||"0.0.0",description:e.description||"",depends:e.depends||[],priority:e.priority||0,install:()=>{},destroy:()=>{},...e};return"function"!=typeof t.install&&(t.install=()=>{}),"function"!=typeof t.destroy&&(t.destroy=()=>{}),t},validatePlugin:e=>{const t=[];return e&&"object"==typeof e||t.push("plugin must be an object"),e&&!e.name&&t.push("plugin must have a name"),e&&e.install&&"function"!=typeof e.install&&t.push("install must be a function"),{valid:0===t.length,errors:t}},topologicalSort:Te,validateConfig:Me};let Be="auto",Pe=new Set,He=null;const Ie=()=>"undefined"==typeof window?"light":"undefined"!=typeof window&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",Re=()=>{"undefined"!=typeof window&&window.matchMedia&&(He&&(He(),He=null),He=(()=>{if("undefined"==typeof window||!window.matchMedia)return()=>{};const e=window.matchMedia("(prefers-color-scheme: dark)"),t=e=>(e.matches,void("auto"===Be&&Ne("auto")));return e.addEventListener("change",t),()=>e.removeEventListener("change",t)})())},je=e=>e&&"auto"!==e?e:Ie(),Fe=e=>{const t=je(e),n=a[t];return n&&"object"==typeof n?n:a.light},Oe=(e,t)=>{if("undefined"==typeof document||!e||"object"!=typeof e)return;const n=t||document.documentElement,r={"--md-bg":e.bg,"--md-text":e.text,"--md-border":e.border,"--md-shadow":e.shadow,"--md-hover-shadow":e.hoverShadow,"--md-toolbar-bg":e.toolbarBg||e.bg,"--md-textarea-bg":e.textareaBg||e.bg,"--md-preview-bg":e.previewBg||e.bg,"--md-code-bg":e.codeBg||"rgba(127,127,127,0.1)","--md-code-text":e.codeText||e.text,"--md-accent":e.accent||"#3b82f6","--md-muted":e.muted||"#9ca3af"};for(const[e,t]of Object.entries(r))null!=t&&n.style.setProperty(e,String(t));e.progressBg&&n.style.setProperty("--md-progress-bg",e.progressBg),e.closeHoverBg&&n.style.setProperty("--md-close-hover-bg",e.closeHoverBg)},We=e=>{const t=e||document.documentElement;if("undefined"==typeof document)return{};const n=getComputedStyle(t),r={};return["--md-bg","--md-text","--md-border","--md-shadow","--md-hover-shadow","--md-toolbar-bg","--md-textarea-bg","--md-preview-bg","--md-code-bg","--md-code-text","--md-accent","--md-muted"].forEach(e=>{const t=n.getPropertyValue(e).trim();t&&(r[e]=t)}),r},De=(e,t)=>{const n=t||document.documentElement;if("undefined"==typeof document)return"";const r=e.startsWith("--")?e:`--md-${e}`;return getComputedStyle(n).getPropertyValue(r).trim()},Ne=e=>{Be=e;const t=je(e);"undefined"!=typeof document&&(document.documentElement.setAttribute("data-md-theme",t),document.documentElement.classList.remove("md-theme-light","md-theme-dark","md-theme-auto","md-theme-warm"),document.documentElement.classList.add(`md-theme-${t}`),Oe(Fe(e))),Ze(e,t)},qe=e=>{Ne(e),Ve(e)},Ke=()=>je(Be),Ve=e=>{if("undefined"!=typeof localStorage)try{localStorage.setItem("metona-editor-theme",e)}catch(e){}},Ue=()=>{if("undefined"!=typeof localStorage)try{return localStorage.getItem("metona-editor-theme")||"auto"}catch(e){}return"auto"},Ze=(e,t)=>{Pe.forEach(n=>{try{n(e,t)}catch(e){}})},Ye=(e,t)=>{if("undefined"==typeof document||"undefined"==typeof MutationObserver)return()=>{};const{element:n=document.documentElement,attr:r="data-theme",classMap:i=null,callback:o=null}=e,s=()=>{if("function"==typeof o)return o(n);const e=n.getAttribute(r);if(e)return e;if(i)for(const[e,t]of Object.entries(i))if(n.classList.contains(e))return t;return n.getAttribute("data-md-theme")||null};let a=s();a&&t(a);const l=new MutationObserver(()=>{const e=s();e&&e!==a&&(a=e,t(e))});return l.observe(n,{attributes:!0,attributeFilter:[r,"class","data-md-theme"]}),()=>l.disconnect()},Ge=(e,t)=>{if("undefined"==typeof document||!e)return()=>{};const n=()=>{let t=e.parentElement;for(;t;){const e=t.getAttribute("data-md-theme");if(e)return e;if(t.classList.contains("theme-dark")||t.classList.contains("dark"))return"dark";if(t.classList.contains("theme-light")||t.classList.contains("light"))return"light";t=t.parentElement}if(e.parentElement){const t=getComputedStyle(e.parentElement).getPropertyValue("--md-bg").trim()||getComputedStyle(e.parentElement).backgroundColor;if(t){const e=t.match(/\d+/g);if(e&&e.length>=3)return(299*parseInt(e[0])+587*parseInt(e[1])+114*parseInt(e[2]))/1e3<128?"dark":"light"}}return null},r=n();r&&t(r);const i=new MutationObserver(()=>{const e=n();e&&t(e)});let o=e.parentElement;for(;o&&(i.observe(o,{attributes:!0,attributeFilter:["class","data-md-theme","data-theme"]}),o=o.parentElement,o!==document.documentElement););return()=>i.disconnect()},Qe=(e,t)=>{if("function"==typeof e){const n=()=>{try{const n=e();n&&t(n)}catch(e){}};n();const r=setInterval(n,500);return()=>clearInterval(r)}if("string"==typeof e&&"undefined"!=typeof document){const n=document.querySelector(e);return n?Ye({element:n,attr:"data-theme"},t):()=>{}}return()=>{}},Xe=e=>{let t=e.config?.theme||Be||"auto";const n=[],r=n=>{t=n;const r=je(n),i=Fe(n);return e.el&&(["me-theme-light","me-theme-dark","me-theme-warm"].forEach(t=>e.el.classList.remove(t)),"auto"!==r&&e.el.classList.add(`me-theme-${r}`),e.el.setAttribute("data-md-theme",r),Oe(i,e.el)),"function"==typeof e._emit&&e._emit("themeChange",{theme:n,resolved:r,config:i}),"function"==typeof e.refresh&&e.refresh(),t};return r(t),{apply:r,get:()=>t,set:e=>r(e),toggle:()=>{const e=je(t);return r("dark"===e?"light":"dark")},getResolved:()=>je(t),getConfig:()=>Fe(t),getVars:()=>e.el?We(e.el):{},syncWithElement:(e,t={})=>{const i=Ye({element:e,attr:t.attr||"data-theme",classMap:t.classMap,callback:t.callback},e=>r(e));return n.push(i),i},adopt:()=>{const t=e.container?Ge(e.container,e=>r(e)):()=>{};return n.push(t),t},watch:e=>{const t=Qe(e,e=>r(e));return n.push(t),t},dispose:()=>{n.forEach(e=>{try{e()}catch(e){}}),n.length=0}}},Je={light:{name:"浅色",description:"明亮清晰",config:a.light},dark:{name:"深色",description:"护眼暗色",config:a.dark},auto:{name:"自动",description:"跟随系统",config:"auto"},warm:{name:"暖色",description:"温馨暖色",config:a.warm}};for(const[e,t]of Object.entries(Je))"auto"!==e&&"auto"!==t.config&&(a[e]=t.config);const et={getSystemTheme:Ie,resolveTheme:je,getThemeConfig:Fe,watchSystemTheme:Re,unwatchSystemTheme:()=>{He&&(He(),He=null)},applyTheme:Ne,getCurrentTheme:()=>Be,getResolvedTheme:Ke,switchTheme:qe,toggleTheme:()=>{const e=Ke();qe("dark"===e?"light":"dark")},resetToAuto:()=>{qe("auto")},initTheme:()=>{Ne(Ue()),Re()},saveTheme:Ve,loadTheme:Ue,addThemeListener:e=>(Pe.add(e),()=>{Pe.delete(e)}),removeThemeListener:e=>{Pe.delete(e)},clearThemeListeners:()=>{Pe.clear()},registerTheme:(e,t={})=>{const n=t.extends||"light",r=a[n]||a.light;a[e]={bg:t.bg||r.bg,text:t.text||r.text,border:t.border||r.border,shadow:t.shadow||r.shadow,hoverShadow:t.hoverShadow||r.hoverShadow,toolbarBg:t.toolbarBg||r.toolbarBg||r.bg,textareaBg:t.textareaBg||r.textareaBg||r.bg,previewBg:t.previewBg||r.previewBg||r.bg,codeBg:t.codeBg||r.codeBg,codeText:t.codeText||r.codeText,accent:t.accent||r.accent,muted:t.muted||r.muted,progressBg:t.progressBg||r.progressBg,closeHoverBg:t.closeHoverBg||r.closeHoverBg}},unregisterTheme:e=>{"light"!==e&&"dark"!==e&&"auto"!==e&&"warm"!==e&&delete a[e]},getAllThemes:()=>({...a}),getThemeNames:()=>Object.keys(a),hasTheme:e=>e in a,setThemeVariables:Oe,exportCSSVars:We,getCSSVariable:De,applyThemeToElement:(e,t)=>{if(!t||"undefined"==typeof document)return;const n=je(e);t.setAttribute("data-md-theme",n),t.classList.remove("md-theme-light","md-theme-dark","md-theme-auto","md-theme-warm"),"auto"!==n&&t.classList.add(`md-theme-${n}`),Oe(Fe(e),t)},followExternalTheme:Ye,adoptFromParent:Ge,watch:Qe,createInstanceTheme:Xe};function tt(e){const t=this.textarea,n=t.selectionStart,r=t.value.slice(0,n),i=(r&&!r.endsWith("\n")?"\n":"")+e;t.value=t.value.slice(0,n)+i+t.value.slice(t.selectionEnd),t.focus();const o=n+i.length;t.selectionStart=t.selectionEnd=o;const s=this._value;this._value=t.value,this._pushHistory(),this._afterProgrammaticEdit(s)}function nt(){if("undefined"==typeof document)return;if(!document.getElementById("me-float-style")){const e=document.createElement("style");e.id="me-float-style",e.textContent=".me-float-toolbar{position:absolute;z-index:25;display:flex;gap:4px;padding:4px 6px;background:var(--md-toolbar-bg,#f8f9fa);border:1px solid var(--md-border,rgba(0,0,0,0.1));border-radius:8px;box-shadow:0 8px 24px -8px rgba(0,0,0,0.2);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s,transform .15s,visibility .15s;pointer-events:none}.me-float-toolbar.me-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.me-float-toolbar .me-btn{width:28px;height:28px}.me-float-mirror{position:absolute;top:0;left:0;visibility:hidden;pointer-events:none;z-index:-1;border:0;margin:0}",document.head.appendChild(e)}const e=this.textarea,t=()=>{if(this._destroyed||this.config.readOnly||!this._floatingEnabled)return;if(e.selectionStart===e.selectionEnd)return void this._hideFloatingToolbar();this._floatingToolbar&&this._floatingToolbar.parentNode||this._buildFloatingToolbar();const t=this._measureSelectionAnchor();if(!t)return void this._hideFloatingToolbar();if(t.y<-parseFloat(getComputedStyle(e).lineHeight||"22")||t.y>e.clientHeight)return void this._hideFloatingToolbar();const n=this._floatingToolbar,r=n.getBoundingClientRect(),i=r.width||170,o=r.height||38,s=getComputedStyle(e),a=parseFloat(s.lineHeight)||22,l=this.editorPane.getBoundingClientRect().width;let c=t.y-o-6;c<6&&(c=t.y+a+6);let h=t.x-i/2;h=Math.max(4,Math.min(h,l-i-4)),h<4&&(h=4),n.style.top=c+"px",n.style.left=h+"px",n.classList.add("me-visible")},n=()=>{this._hideFloatingToolbar()};let r=!1;const i=()=>setTimeout(t,0),o=()=>{e.selectionStart!==e.selectionEnd?setTimeout(t,0):setTimeout(n,0)},s=()=>setTimeout(()=>{document.activeElement!==e&&n()},300),a=()=>{e.selectionStart===e.selectionEnd&&n()},l=()=>{r||(r=!0,requestAnimationFrame(()=>{r=!1,t()}))},c=()=>n();e.addEventListener("mouseup",i),e.addEventListener("keyup",o),e.addEventListener("blur",s),e.addEventListener("click",a),e.addEventListener("scroll",l),window.addEventListener("resize",c),this._cleanups.push(()=>{e.removeEventListener("mouseup",i),e.removeEventListener("keyup",o),e.removeEventListener("blur",s),e.removeEventListener("click",a),e.removeEventListener("scroll",l),window.removeEventListener("resize",c)})}function rt(){const e=this.textarea;if(!e||!this.editorPane)return null;const t=e.selectionStart,n=e.selectionEnd;if(t===n)return null;const r=Math.floor((t+n)/2);let i=this._floatMirror;i&&i.parentNode||(i=document.createElement("div"),i.className="me-float-mirror",this.editorPane.appendChild(i),this._floatMirror=i);const o=getComputedStyle(e);[["fontFamily",o.fontFamily],["fontSize",o.fontSize],["fontWeight",o.fontWeight],["fontStyle",o.fontStyle],["letterSpacing",o.letterSpacing],["lineHeight",o.lineHeight],["paddingTop",o.paddingTop],["paddingRight",o.paddingRight],["paddingBottom",o.paddingBottom],["paddingLeft",o.paddingLeft],["whiteSpace",o.whiteSpace],["overflowWrap",o.overflowWrap],["wordBreak",o.wordBreak],["tabSize",o.tabSize],["boxSizing","border-box"]].forEach(([e,t])=>{i.style[e]=t}),i.style.width=e.clientWidth+"px",i.textContent="",i.appendChild(document.createTextNode(e.value.slice(0,r)));const s=document.createElement("span");s.textContent="",i.appendChild(s);const a=s.offsetLeft-e.scrollLeft,l=s.offsetTop-e.scrollTop,c=e.getBoundingClientRect(),h=this.editorPane.getBoundingClientRect();return{x:a+c.left-h.left,y:l+c.top-h.top}}function it(){return this._floatingEnabled=!this._floatingEnabled,this._floatingEnabled||this._floatingToolbar&&(this._floatingToolbar.parentNode&&this._floatingToolbar.parentNode.removeChild(this._floatingToolbar),this._floatingToolbar=null),this}function ot(){return this._floatingEnabled}function st(){const e=document.createElement("div");e.className="me-float-toolbar",e.setAttribute("role","toolbar"),e.setAttribute("aria-label",this.t("formatToolbar")||"格式化选区"),["bold","italic","code","link","strikethrough"].forEach(t=>{const n=this._createBtn(t);n.addEventListener("mousedown",e=>{e.preventDefault(),e.stopPropagation()}),n.addEventListener("click",()=>{this.exec(t),this._hideFloatingToolbar(),setTimeout(()=>{!this._destroyed&&this.textarea&&this.textarea.focus()},0)}),e.appendChild(n)}),this.editorPane.appendChild(e),this._floatingToolbar=e}function at(){this._floatingToolbar&&this._floatingToolbar.classList.remove("me-visible")}function lt(e=[]){return this._contextMenuItems=e,this}function ct(){if(!this.el)return;const e=e=>{const t=document.querySelector(".me-context-menu");t&&t.remove(),this._showContextMenu(e)};this.el.addEventListener("contextmenu",e),this._cleanups.push(()=>this.el.removeEventListener("contextmenu",e))}function ht(e){e.preventDefault();const n=this.textarea,r=n&&n.selectionStart!==n.selectionEnd,i=[{label:this.t("undo")||"Undo",action:"undo",shortcut:"Ctrl+Z",disabled:!this.canUndo()},{label:this.t("redo")||"Redo",action:"redo",shortcut:"Ctrl+Y",disabled:!this.canRedo()},{sep:!0},{label:this.t("cut")||"Cut",action:"cut",shortcut:"Ctrl+X",disabled:!r},{label:this.t("copy")||"Copy",action:"copy",shortcut:"Ctrl+C",disabled:!r},{label:this.t("paste")||"Paste",action:"paste",shortcut:"Ctrl+V",disabled:!!this.config.readOnly},{label:this.t("selectAll")||"Select All",action:"selectAll",shortcut:"Ctrl+A"}];this._contextMenuItems.length&&(i.push({sep:!0}),this._contextMenuItems.forEach(e=>i.push(e)));const o=document.createElement("div");o.className="me-context-menu",o.style.left=e.clientX+"px",o.style.top=e.clientY+"px",requestAnimationFrame(()=>{const t=o.getBoundingClientRect();t.right>window.innerWidth&&(o.style.left=e.clientX-t.width+"px"),t.bottom>window.innerHeight&&(o.style.top=e.clientY-t.height+"px")}),i.forEach(e=>{if(e.sep){const e=document.createElement("div");return e.className="me-context-menu-sep",void o.appendChild(e)}const n=document.createElement("div");n.className="me-context-menu-item",e.disabled&&n.classList.add("me-disabled"),n.innerHTML=`${t(e.label)}${e.shortcut?``:""}`,n.addEventListener("click",t=>{t.stopPropagation(),e.disabled||(e.onClick?e.onClick():e.action&&this._execContextAction(e.action),this._hideContextMenu())}),o.appendChild(n)}),document.body.appendChild(o),document.addEventListener("click",e=>{o.contains(e.target)||this._hideContextMenu()},{once:!0}),document.addEventListener("keydown",e=>{"Escape"===e.key&&this._hideContextMenu()},{once:!0})}function dt(){const e=document.querySelector(".me-context-menu");e&&e.remove()}function ut(e){const t=this.textarea;if(t)switch(e){case"undo":this.undo();break;case"redo":this.redo();break;case"cut":document.execCommand("cut");break;case"copy":document.execCommand("copy");break;case"paste":document.execCommand("paste")||this.toast(this.t("pasteBlocked")||"无法直接粘贴,请使用 Ctrl+V",{type:"info"});break;case"selectAll":t.focus(),t.select();break;default:this.exec(e)}}function pt(){if(!this.config.outline||!this.previewEl)return;const e=this.el.querySelector(".me-outline");e&&e.remove();const n=[],r=/]*>(.+?)<\/h\1>/gi;let i;for(;null!==(i=r.exec(this.previewEl.innerHTML));)n.push({level:parseInt(i[1],10),id:i[2],text:i[3].replace(/<[^>]+>/g,""),srcLine:-1});if(!n.length)return;const o=[],s=this._value.split("\n");let a=!1,l="";const c=e=>/\S/.test(e)&&!/^\s{0,3}([-*+]|\d+\.)\s/.test(e)&&!/^\s{0,3}>/.test(e)&&!/^\s{0,3}(#{1,6}\s|`{3,}|~{3,})/.test(e);for(let e=0;e\s*)*#{1,6}\s+\S/.test(t)){o.push(e);continue}const r=s[e+1]||"";e+1{e.srcLine=t${this.t("outline")||"大纲"}`,h.innerHTML+=(e=>{let n="";const r=[],i=e=>{for(;r.length&&r[r.length-1]>=e;)n+="
",r.pop()};for(const o of e)o.level<1||(i(o.level),n+="",n+=`- ${t(o.text)}`,r.push(o.level));return i(-1),n})(n),this.el.appendChild(h),h.addEventListener("click",e=>{const t=e.target.closest("a");if(!t)return;e.preventDefault();const r=t.getAttribute("href").slice(1),i=this.previewEl.querySelector("#"+(e=>"undefined"!=typeof CSS&&"function"==typeof CSS.escape?CSS.escape(e):e.replace(/[^a-zA-Z0-9_\u00A0-\uFFFF-]/g,"\\$&"))(r));i&&i.scrollIntoView({behavior:"smooth",block:"start"});const o=Array.prototype.indexOf.call(h.querySelectorAll("a"),t),a=o>-1&&o=0){const e=s[a]||"",t=(e.match(/^ {0,3}(?:>\s*)*#{1,6}\s+/)||e.match(/^ {0,3}/)||[""])[0].length;this.setCursorPosition(a+1,t)}else{const e=this._value.indexOf(i?.textContent||"");-1!==e&&(this.textarea.focus(),this.textarea.setSelectionRange(e,e))}})}function mt(){this.config.outline&&(this._outlineTimer&&clearTimeout(this._outlineTimer),this._outlineTimer=setTimeout(()=>this._buildOutline(),300))}function gt(){if(!this.config.outline||!this.previewPane)return;if(this._outlineScrollBound)return;this._outlineScrollBound=!0;let e=!1;const t=()=>{e||(e=!0,requestAnimationFrame(()=>{if(e=!1,!this.el)return;const t=this.el.querySelector(".me-outline");if(!t)return;const n=this.previewEl.querySelectorAll("h1, h2, h3, h4, h5, h6");let r="";const i=this.previewPane.scrollTop+80;n.forEach(e=>{e.offsetTop<=i&&(r=e.id)}),t.querySelectorAll("a").forEach(e=>{e.classList.toggle("me-outline-active",e.getAttribute("href")==="#"+r)})}))};this.previewPane.addEventListener("scroll",t,{passive:!0}),this._cleanups.push(()=>this.previewPane.removeEventListener("scroll",t))}const ft=["edit","split","preview"],vt={success:"✓",error:"✗",warning:"⚠",info:"ℹ"},bt={"(":")","[":"]","{":"}",'"':'"',"'":"'","`":"`","*":"*",_:"_"};class yt{static on(e,t){return this._hooks.has(e)||this._hooks.set(e,[]),this._hooks.get(e).push(t),()=>this.off(e,t)}static off(e,t){const n=this._hooks.get(e);n&&this._hooks.set(e,n.filter(e=>e!==t))}static trigger(e,t){const n=this._hooks.get(e);n&&n.forEach(e=>{try{e(t)}catch(e){}})}constructor(e,t={}){if(this._statsCache=null,this._pendingCursor=null,this._lastSelStart=0,this._lastSelEnd=0,"undefined"==typeof window||"undefined"==typeof document)return this._destroyed=!0,this._value=t.value||"",this;if(this.id=t.id||"me-"+Date.now().toString(36)+"-"+Math.random().toString(36).slice(2,8),this.container="string"==typeof e?document.querySelector(e):e,!this.container)return this._destroyed=!0,this;this.config={...s,...t},t.style&&"object"==typeof t.style&&(this.config.style={...s.style,...t.style}),this._value=this.config.value||"",this._mode=ft.includes(this.config.mode)?this.config.mode:"split",this._history=[],this._historyIndex=-1,this._cleanups=[],this._plugins=[],this._listeners={},this._renderRaf=null,this._historyTimer=null,this._fullscreen=!1,this._destroyed=!1,this._lastRenderedValue=null,this._shortcuts=[],this._contextMenuItems=[],this._customActions={},this._outlineTimer=null,this._zenMode=!0===this.config.zenMode,this._wordWrap=!1!==this.config.wordWrap,this._syncing=!1,this._zenMouseHandler=null,this._floatingToolbar=null,this._floatingEnabled=!1!==this.config.floatingToolbar,this._floatMirror=null,this._renderFn="function"==typeof this.config.render?this.config.render:se,this._highlightFn="function"==typeof this.config.highlight?this.config.highlight:null,yt.trigger("beforeCreate",this),"undefined"!=typeof document&&(d&&document.getElementById("metona-editor-styles")||(d=document.createElement("style"),d.id="metona-editor-styles",d.textContent=':root{--md-bg:#ffffff;--md-text:#1f2937;--md-border:rgba(0,0,0,0.08);--md-shadow:0 10px 36px -10px rgba(0,0,0,0.18),0 4px 14px -4px rgba(0,0,0,0.08);--md-hover-shadow:0 14px 48px -10px rgba(0,0,0,0.22),0 6px 18px -4px rgba(0,0,0,0.10);--md-toolbar-bg:rgba(248,249,250,0.92);--md-textarea-bg:#ffffff;--md-preview-bg:#ffffff;--md-code-bg:rgba(243,244,246,1);--md-code-text:#1f2937;--md-accent:#3b82f6;--md-muted:#6b7280;--md-radius:10px;--md-font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;--md-mono:"SF Mono","Cascadia Code","Consolas","Liberation Mono","Courier New",monospace}\n.me-wrapper{display:flex;flex-direction:column;box-sizing:border-box;border:1px solid var(--md-border);border-radius:var(--md-radius);overflow:hidden;background:var(--md-bg);color:var(--md-text);box-shadow:var(--md-shadow);font-family:var(--md-font);font-size:14px;line-height:1.6;position:relative;transition:box-shadow .25s,border-color .25s;width:100%}\n.me-wrapper:hover{box-shadow:var(--md-hover-shadow)}\n.me-wrapper.me-disabled{opacity:.6;pointer-events:none}\n.me-wrapper *{box-sizing:border-box}\n.me-wrapper.me-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;z-index:9999;border-radius:0;border:0}\n.me-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:2px;padding:6px 8px;background:var(--md-toolbar-bg);border-bottom:1px solid var(--md-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);min-height:40px}\n.me-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--md-text);cursor:pointer;transition:background .15s,color .15s,transform .1s;flex-shrink:0}\n.me-btn:hover{background:var(--md-code-bg);color:var(--md-accent)}\n.me-btn:active{transform:scale(.92)}\n.me-btn.me-active{background:var(--md-accent);color:#fff}\n.me-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}\n.me-btn:focus-visible{outline:2px solid var(--md-accent);outline-offset:2px}\n.me-btn:focus:not(:focus-visible){outline:none}\n.me-btn svg{width:17px;height:17px;display:block}\n.me-btn span{font-size:12px;font-weight:500}\n.me-toolbar-sep{display:inline-block;width:1px;height:20px;background:var(--md-border);margin:0 4px;flex-shrink:0}\n.me-toolbar-group{display:inline-flex;gap:2px;margin-left:auto;padding-left:6px;border-left:1px solid var(--md-border)}\n.me-toolbar-group .me-btn{width:auto;padding:0 8px}\n.me-body{display:flex;flex:1;min-height:0;position:relative}\n.me-editor-pane,.me-preview-pane{flex:1 1 50%;min-width:0;overflow:hidden;position:relative}\n.me-editor-inner{display:flex;height:100%;overflow:hidden;position:relative}\n.me-gutter{flex:0 0 auto;min-width:36px;padding:16px 8px 16px 6px;overflow:hidden;background:var(--md-code-bg);border-right:1px solid var(--md-border);color:var(--md-muted);font-family:var(--md-mono);font-size:13.5px;line-height:1.7;text-align:right;user-select:none;white-space:pre}\n.me-gutter-line{padding-right:4px}\n.me-gutter-active{color:var(--md-accent);font-weight:600;background:rgba(59,130,246,.08);border-radius:3px}\n.me-divider{flex:0 0 1px;background:var(--md-border);cursor:col-resize;position:relative}\n.me-divider::after{content:\'\';position:absolute;top:0;bottom:0;left:-3px;right:-3px}\n.me-divider:hover{background:var(--md-accent)}\n.me-textarea{width:100%;height:100%;padding:16px 18px;border:0;outline:0;resize:none;background:var(--md-textarea-bg);color:var(--md-text);font-family:var(--md-mono);font-size:13.5px;line-height:1.7;display:block;white-space:pre-wrap;word-wrap:break-word;position:relative;z-index:1}\n.me-textarea::placeholder{color:var(--md-muted);opacity:.7}\n.me-textarea:focus{outline:0}\n.me-preview-pane{overflow:auto;background:var(--md-preview-bg)}\n.me-preview{padding:18px 22px;max-width:100%;word-wrap:break-word;overflow-wrap:break-word}\n.me-body.me-mode-edit .me-preview-pane,.me-body.me-mode-edit .me-divider{display:none}\n.me-body.me-mode-edit .me-editor-pane{flex:1 1 100%}\n.me-body.me-mode-preview .me-editor-pane,.me-body.me-mode-preview .me-divider{display:none}\n.me-body.me-mode-preview .me-preview-pane{flex:1 1 100%}\n.me-preview>:first-child{margin-top:0}\n.me-preview>:last-child{margin-bottom:0}\n.me-preview h1,.me-preview h2,.me-preview h3,.me-preview h4,.me-preview h5,.me-preview h6{margin:1.4em 0 .6em;font-weight:650;line-height:1.3}\n.me-preview h1{font-size:1.9em;padding-bottom:.3em;border-bottom:1px solid var(--md-border)}\n.me-preview h2{font-size:1.55em;padding-bottom:.3em;border-bottom:1px solid var(--md-border)}\n.me-preview h3{font-size:1.3em}\n.me-preview h4{font-size:1.12em}\n.me-preview h5{font-size:1em}\n.me-preview h6{font-size:.9em;color:var(--md-muted)}\n.me-preview p{margin:.7em 0}\n.me-preview a{color:var(--md-accent);text-decoration:none}\n.me-preview a:hover{text-decoration:underline}\n.me-preview strong{font-weight:650}\n.me-preview em{font-style:italic}\n.me-preview del{text-decoration:line-through;opacity:.75}\n.me-preview ul,.me-preview ol{margin:.6em 0;padding-left:1.6em}\n.me-preview li{margin:.25em 0}\n.me-preview li.me-task-item{list-style:none;margin-left:-1.4em}\n.me-preview li.me-task-item input{margin-right:.5em;vertical-align:middle}\n.me-preview blockquote{margin:.8em 0;padding:.4em 1em;border-left:3px solid var(--md-accent);background:var(--md-code-bg);border-radius:0 6px 6px 0;color:var(--md-text)}\n.me-preview blockquote>:first-child{margin-top:0}\n.me-preview blockquote>:last-child{margin-bottom:0}\n.me-preview hr{border:0;height:1px;background:var(--md-border);margin:1.6em 0}\n.me-preview code{font-family:var(--md-mono);font-size:.88em;padding:.15em .4em;background:var(--md-code-bg);color:var(--md-code-text);border-radius:4px}\n.me-preview pre{margin:.9em 0;padding:14px 16px;background:var(--md-code-bg);border-radius:8px;overflow-x:auto;border:1px solid var(--md-border)}\n.me-code-title{font-family:var(--md-mono);font-size:.85em;padding:8px 14px;background:var(--md-border);border-radius:8px 8px 0 0;color:var(--md-text);margin:.9em 0 -0.9em;font-weight:600}\n.me-code-title+pre{margin-top:0;border-radius:0 0 8px 8px;border-top:none}\n.me-preview pre code{padding:0;background:transparent;color:var(--md-code-text);font-size:.9em;line-height:1.6;border-radius:0}\n.me-hl-keyword{color:#c678dd}\n.me-hl-string{color:#98c379}\n.me-hl-comment{color:#7f848e;font-style:italic}\n.me-hl-number{color:#d19a66}\n.me-hl-builtin{color:#e5c07b}\n.me-hl-function{color:#61afef}\n.me-theme-light .me-hl-keyword{color:#9c4cc0}\n.me-theme-light .me-hl-string{color:#4f9d4f}\n.me-theme-light .me-hl-comment{color:#8b8b8b}\n.me-theme-light .me-hl-number{color:#b06a22}\n.me-theme-light .me-hl-builtin{color:#9a7d0f}\n.me-theme-light .me-hl-function{color:#2a7fd4}\n.me-preview img{max-width:100%;height:auto;border-radius:6px;vertical-align:middle}\n.me-table-wrap{overflow-x:auto;margin:.9em 0}\n.me-preview table{border-collapse:collapse;width:100%;font-size:.93em;display:block}\n.me-preview th,.me-preview td{border:1px solid var(--md-border);padding:7px 12px;text-align:left}\n.me-preview th{background:var(--md-code-bg);font-weight:600}\n.me-preview tr:nth-child(even) td{background:var(--md-code-bg)}\n.me-statusbar{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:4px 12px;border-top:1px solid var(--md-border);background:var(--md-toolbar-bg);color:var(--md-muted);font-size:12px;min-height:26px}\n.me-statusbar:empty{display:none}\n.me-wrapper:focus-within{border-color:var(--md-accent)}\n.me-textarea:focus-visible{outline:0}\n@media(prefers-reduced-motion:reduce){.me-wrapper,.me-btn,.me-textarea{transition:none!important}}\n.me-wrapper.me-fullscreen .me-preview,.me-wrapper.me-fullscreen .me-textarea{font-size:15px}\n.me-wrapper.me-readonly .me-textarea{background:var(--md-code-bg);cursor:default;opacity:.88}\n.me-wrapper.me-readonly .me-toolbar{opacity:.75}\n.me-wrapper.me-readonly .me-btn:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}\n.me-preview mark{background:rgba(250,204,21,.3);color:inherit;padding:.1em .2em;border-radius:3px}\n.me-preview sup{font-size:.75em;vertical-align:super;line-height:1}\n.me-preview sub{font-size:.75em;vertical-align:sub;line-height:1}\n.me-preview .me-math-block{display:block;margin:1.2em 0;padding:12px 16px;background:var(--md-code-bg);border-radius:8px;overflow-x:auto;font-family:var(--md-mono);font-size:.95em;text-align:center}\n.me-preview .me-math-inline{font-family:var(--md-mono);font-size:.95em;padding:.05em .2em}\n.me-preview dl{margin:.8em 0}\n.me-preview dt{font-weight:650;margin:.6em 0 .2em}\n.me-preview dd{margin:0 0 .3em 1.6em;color:var(--md-text)}\n.me-preview .me-footnote-ref a{font-size:.75em;vertical-align:super;text-decoration:none;color:var(--md-accent)}\n.me-preview .me-footnotes{margin-top:2em;border-top:1px solid var(--md-border);padding-top:.8em;font-size:.9em;color:var(--md-muted)}\n.me-preview .me-footnotes hr{display:none}\n.me-preview .me-footnotes ol{padding-left:1.2em}\n.me-preview .me-footnote-item{margin:.3em 0}\n.me-preview .me-footnote-backref{text-decoration:none;color:var(--md-accent);margin-right:.4em}\n.me-toast{position:absolute;bottom:16px;right:16px;z-index:30;display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:13px;pointer-events:auto;cursor:pointer;opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s;box-shadow:0 6px 20px rgba(0,0,0,.15);max-width:360px}\n.me-toast.me-toast-enter{opacity:1;transform:translateY(0)}\n.me-toast.me-toast-leave{opacity:0;transform:translateY(12px)}\n.me-toast-success{background:#10b981;color:#fff}\n.me-toast-error{background:#ef4444;color:#fff}\n.me-toast-warning{background:#f59e0b;color:#fff}\n.me-toast-info{background:var(--md-accent,#3b82f6);color:#fff}\n.me-toast-icon{font-weight:700;font-size:16px;flex-shrink:0}\n.me-toast-msg{line-height:1.4}\n.me-context-menu{position:fixed;z-index:40;min-width:180px;padding:4px 0;background:var(--md-bg);border:1px solid var(--md-border);border-radius:8px;box-shadow:0 8px 28px rgba(0,0,0,.18);font-size:13px}\n.me-context-menu-item{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;cursor:pointer;color:var(--md-text);transition:background .1s}\n.me-context-menu-item:hover{background:var(--md-code-bg);color:var(--md-accent)}\n.me-context-menu-sep{height:1px;background:var(--md-border);margin:4px 0}\n.me-context-menu-shortcut{color:var(--md-muted);font-size:11px;margin-left:24px}\n.me-context-menu-item.me-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}\n.me-outline{position:absolute;top:0;right:0;width:220px;height:100%;overflow-y:auto;background:var(--md-preview-bg);border-left:1px solid var(--md-border);padding:12px 14px;font-size:13px;z-index:15}\n.me-outline-title{font-weight:650;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--md-border);color:var(--md-text)}\n.me-outline ul{list-style:none;padding:0;margin:0}\n.me-outline li{margin:2px 0}\n.me-outline a{color:var(--md-muted);text-decoration:none;display:block;padding:2px 6px;border-radius:4px;transition:background .1s,color .1s}\n.me-outline a:hover{background:var(--md-code-bg);color:var(--md-accent)}\n.me-outline a.me-outline-active{background:var(--md-accent);color:#fff;font-weight:600}\n.me-outline-l1 a{font-weight:600;color:var(--md-text)}\n.me-outline-l2 a{padding-left:12px}\n.me-outline-l3 a{padding-left:20px;font-size:12px}\n.me-outline-l4 a{padding-left:28px;font-size:12px}\n.me-wrapper.me-zen .me-body{max-width:var(--md-zen-max-width,960px);margin:0 auto}\n.me-wrapper.me-zen .me-textarea{font-size:15px;line-height:1.8}\n.me-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n@media print{.me-wrapper{border:0!important;box-shadow:none!important}\n.me-toolbar,.me-statusbar,.me-divider{display:none!important}\n.me-body.me-mode-split .me-editor-pane{display:none}\n.me-body.me-mode-split .me-preview-pane{flex:1 1 100%!important}\n.me-preview{padding:0!important;font-size:11pt}\n.me-wrapper.me-fullscreen{position:static!important;width:auto!important;height:auto!important}}\n[dir=rtl] .me-gutter{border-right:none;border-left:1px solid var(--md-border);text-align:left}\n[dir=rtl] .me-gutter-line{padding-right:0;padding-left:4px}\n[dir=rtl] .me-toolbar-group{margin-left:0;margin-right:auto;padding-left:0;padding-right:6px;border-left:none;border-right:1px solid var(--md-border)}\n[dir=rtl] .me-outline{right:auto;left:0;border-left:none;border-right:1px solid var(--md-border)}\n[dir=rtl] .me-outline-l2 a{padding-left:0;padding-right:12px}\n[dir=rtl] .me-outline-l3 a{padding-left:0;padding-right:20px}\n[dir=rtl] .me-outline-l4 a{padding-left:0;padding-right:28px}\n[dir=rtl] .me-preview blockquote{border-left:none;border-right:3px solid var(--md-accent);border-radius:6px 0 0 6px}\n[dir=rtl] .me-preview ul,[dir=rtl] .me-preview ol{padding-left:0;padding-right:1.6em}\n[dir=rtl] .me-preview li.me-task-item{margin-left:0;margin-right:-1.4em}\n[dir=rtl] .me-preview dd{margin-left:0;margin-right:1.6em}\n[dir=rtl] .me-preview .me-footnotes ol{padding-left:0;padding-right:1.2em}\n[dir=rtl] .me-preview .me-footnote-backref{margin-right:0;margin-left:.4em}\n[dir=rtl] .me-search{right:auto;left:12px}\n[dir=rtl] .me-toast{right:auto;left:16px}\n[dir=rtl] .me-context-menu-shortcut{margin-left:0;margin-right:24px}\n[dir=rtl] .me-statusbar{justify-content:flex-start}',document.head.appendChild(d))),this._i18nCtx=z(this),this._buildDOM(),this._applyZenWidth(),this._themeCtx=Xe(this),t.theme&&"undefined"!=typeof document&&document.documentElement.setAttribute("data-md-theme",je(t.theme));const n=Fe(this.config.theme);if(Oe(n,this.el),this._buildToolbar(),this._updateModeButtons(),this._bindToolbarKeyboard(),this._initAriaLive(),this._bindEvents(),this._bindContextMenu(),this._trackOutlineScroll(),this._initFloatingToolbar(),this.textarea.value=this._value,this._wordWrap||(this.textarea.style.whiteSpace="pre"),this._pushHistory(),this._render(),this._updateWordCount(),this._buildOutline(),this._zenMode&&this._setZen(!0),Array.isArray(this.config.plugins)){const e=this.config.plugins.map(e=>"string"==typeof e?{...ze[e],_isStringRef:!0}:e).filter(Boolean);Te(e).forEach(e=>this.use(e))}if(this.config.autofocus&&!this.config.readOnly&&this.focus(),"function"==typeof this.config.onCreate)try{this.config.onCreate(this)}catch(e){}yt.trigger("afterCreate",this)}_buildDOM(){const e=document.createElement("div");var t;e.className=`me-wrapper me-theme-${t=this.config.theme,t&&"auto"!==t?t:je("auto")}`,this.config.readOnly&&e.classList.add("me-readonly"),e.dataset.id=this.id,e.setAttribute("role","application"),e.setAttribute("aria-label",this.t("edit")),this.config.className&&this.config.className.split(/\s+/).filter(Boolean).forEach(t=>e.classList.add(t));const n=this.config.height;e.style.height="number"==typeof n?`${n}px`:n||"400px",this.config.style&&"object"==typeof this.config.style&&Object.entries(this.config.style).forEach(([t,n])=>{n&&(e.style[t]=n)});const r=document.createElement("div");r.className="me-toolbar",r.setAttribute("role","toolbar");const i=document.createElement("div");i.className=`me-body me-mode-${this._mode}`;const o=document.createElement("div");o.className="me-editor-pane";const s=document.createElement("div");s.className="me-editor-inner";const a=document.createElement("div");a.className="me-gutter",this.config.lineNumbers||(a.style.display="none"),s.appendChild(a);const l=document.createElement("textarea");l.className="me-textarea",l.spellcheck=!!this.config.spellcheck,l.readOnly=!!this.config.readOnly,this.config.maxLength&&this.config.maxLength>0&&(l.maxLength=this.config.maxLength),l.style.tabSize=String(this.config.tabSize||2),l.placeholder=this.config.placeholder||this.t("placeholder"),l.setAttribute("aria-label",this.t("edit")),s.appendChild(l),o.appendChild(s);const c=document.createElement("div");c.className="me-divider",c.setAttribute("role","separator");const h=document.createElement("div");h.className="me-preview-pane",h.setAttribute("role","region"),h.setAttribute("aria-label",this.t("preview"));const d=document.createElement("div");d.className="me-preview",h.appendChild(d),i.appendChild(o),i.appendChild(c),i.appendChild(h),e.appendChild(r),e.appendChild(i);let u=null;this.config.wordCount&&(u=document.createElement("div"),u.className="me-statusbar",e.appendChild(u)),this.container.appendChild(e),this.el=e,this.toolbarEl=r,this.bodyEl=i,this.editorPane=o,this.editorInner=s,this.gutter=a,this.previewPane=h,this.dividerEl=c,this.textarea=l,this.previewEl=d,this.statusEl=u,this._restoreDividerPosition()}_buildToolbar(){const e=this.config.toolbar;if(!e||!Array.isArray(e)||0===e.length)return;const t=[];if(e.forEach(e=>{if("|"===e){const e=document.createElement("span");return e.className="me-toolbar-sep",void this.toolbarEl.appendChild(e)}"edit"!==e&&"split"!==e&&"preview"!==e&&"fullscreen"!==e?this.toolbarEl.appendChild(this._createBtn(e)):t.push(e)}),t.length){const e=document.createElement("div");e.className="me-toolbar-group",t.forEach(t=>{const n=this._createBtn(t);"edit"!==t&&"split"!==t&&"preview"!==t||(n.dataset.mode=t,t===this._mode&&n.classList.add("me-active")),e.appendChild(n)}),this.toolbarEl.appendChild(e)}}_createBtn(e){const n=document.createElement("button");n.type="button",n.className=`me-btn me-btn-${e}`,n.dataset.action=e;const i=this.t(e)||e;return n.title=i,n.setAttribute("aria-label",i),n.innerHTML=r[e]||`${t(e)}`,n}_bindEvents(){const e=this.textarea,t=()=>{const t=this._value;if(this._value=e.value,yt.trigger("beforeChange",this),this._emit("beforeChange",t,this._value),this._scheduleRender(),this._scheduleHistory(),this._updateWordCount(),this._renderGutter(),this._updateOutline(),this._emit("input",this._value),this._emit("change",this._value),"function"==typeof this.config.onInput)try{this.config.onInput(this._value,this)}catch(e){}if("function"==typeof this.config.onChange)try{this.config.onChange(this._value,this)}catch(e){}this._emit("afterChange",this._value),yt.trigger("afterChange",this)};e.addEventListener("input",t);const n=e=>{"Enter"!==e.key||e.shiftKey||e.ctrlKey||e.metaKey||this._handleSmartEnter(e),this._handleKeydown(e)};e.addEventListener("keydown",n);const r=e=>this._handleBracketAutoClose(e);e.addEventListener("keypress",r);const i=()=>{this._updateCurrentLine(),this._emitCursorEvents()};e.addEventListener("click",i),e.addEventListener("keyup",i);const o=()=>{this._syncScroll()};e.addEventListener("scroll",o);const s=()=>{if(!this.config.syncScroll||"split"!==this._mode)return;if(this._syncing)return;this._syncing=!0;const t=this.previewPane.scrollHeight-this.previewPane.clientHeight;if(t<=0)return void(this._syncing=!1);const n=this.previewPane.scrollTop/t,r=e.scrollHeight-e.clientHeight;if(e.scrollTop=n*r,this.gutter){const e=this.gutter.scrollHeight-this.gutter.clientHeight;this.gutter.scrollTop=e>0?n*e:n*r}requestAnimationFrame(()=>{this._syncing=!1})};this.previewPane.addEventListener("scroll",s);const a=()=>{if(this._emit("focus"),"function"==typeof this.config.onFocus)try{this.config.onFocus(this)}catch(e){}},l=()=>{if(this._emit("blur"),"function"==typeof this.config.onBlur)try{this.config.onBlur(this)}catch(e){}};e.addEventListener("focus",a),e.addEventListener("blur",l),this.previewEl.addEventListener("click",e=>{const t=e.target.closest("a");if(!t)return;const n=t.getAttribute("href");if(n&&!n.startsWith("#"))if(e.preventDefault(),this._emit("linkClick",{href:n,text:t.textContent}),"function"!=typeof this.config.onLinkClick)window.open(n,"_blank","noopener");else try{this.config.onLinkClick(n,t.textContent,this)}catch(e){}});const c=e=>{const t=e.target.closest(".me-btn");if(!t)return;const n=t.dataset.mode;if(n)return void this.setMode(n);const r=t.dataset.action;r&&this.exec(r)};this.toolbarEl.addEventListener("click",c);const h=e=>this._bindDividerDrag(e);this.dividerEl.addEventListener("pointerdown",h);const d=e=>{"Escape"===e.key&&this._fullscreen&&this.exitFullscreen()};document.addEventListener("keydown",d),this._bindDragDrop(),this._cleanups.push(()=>{e.removeEventListener("input",t),e.removeEventListener("keydown",n),e.removeEventListener("keypress",r),e.removeEventListener("scroll",o),this.previewPane.removeEventListener("scroll",s),e.removeEventListener("click",i),e.removeEventListener("keyup",i),e.removeEventListener("focus",a),e.removeEventListener("blur",l),this.toolbarEl.removeEventListener("click",c),this.dividerEl.removeEventListener("pointerdown",h),document.removeEventListener("keydown",d)})}_handleKeydown(e){if("Tab"===e.key)return e.preventDefault(),void this._handleTab(e.shiftKey);if(this._shortcuts.length)for(const t of this._shortcuts){const n=t.ctrl?e.ctrlKey||e.metaKey:!e.ctrlKey&&!e.metaKey,r=t.shift?e.shiftKey:!e.shiftKey,i=t.alt?e.altKey:!e.altKey;if(e.key.toLowerCase()===t.key&&n&&r&&i){if(e.preventDefault(),"string"==typeof t.handler)this.exec(t.handler);else if("function"==typeof t.handler)try{t.handler(this)}catch(e){}return}}if(!e.ctrlKey&&!e.metaKey)return;const t=e.key.toLowerCase(),n={b:"bold",i:"italic",k:"link",u:"underline",e:"code",1:"h1",2:"h2",3:"h3",q:"quote"};if("z"!==t||e.shiftKey)if("z"===t&&e.shiftKey||"y"===t)e.preventDefault(),this.redo();else if("s"===t){if(e.preventDefault(),this._emit("save",this._value),"function"==typeof this.config.onSave)try{this.config.onSave(this._value,this)}catch(e){}}else n[t]&&(e.preventDefault(),this.exec(n[t]));else e.preventDefault(),this.undo()}_handleTab(e){const t=this.textarea,n=t.selectionStart,r=t.selectionEnd,i=this.config.tabSize||0,o=i>0?" ".repeat(i):"\t";if(n===r)t.value=t.value.slice(0,n)+o+t.value.slice(r),t.selectionStart=t.selectionEnd=n+o.length;else{const i=t.value.lastIndexOf("\n",n-1)+1,s=t.value.slice(i,r).split("\n");let a;a=e?s.map(e=>e.replace(/^(\t| {1,4})/,"")).join("\n"):s.map(e=>o+e).join("\n"),t.value=t.value.slice(0,i)+a+t.value.slice(r),t.selectionStart=i,t.selectionEnd=i+a.length}const s=this._value;this._value=t.value,this._pushHistory(),this._afterProgrammaticEdit(s)}_bindDividerDrag(e){if("split"!==this._mode)return;e.preventDefault();const t=e.clientX,n=this.editorPane.getBoundingClientRect().width,r=this.bodyEl.getBoundingClientRect().width;if(r<=0)return;const i=this.dividerEl,o=e=>{const o=e.clientX-t;let s=n+o;const a=r-80-i.offsetWidth;s=Math.max(80,Math.min(a,s));const l=s/r*100;this.editorPane.style.flex=`0 0 ${l}%`,this.previewPane.style.flex=`1 1 ${100-l}%`},s=()=>{window.removeEventListener("pointermove",o),window.removeEventListener("pointerup",s),this._saveDividerPosition(),this._hideFloatingToolbar()};window.addEventListener("pointermove",o),window.addEventListener("pointerup",s)}_saveDividerPosition(){try{const e=this.editorPane.style.flex;e&&localStorage.setItem(`metona-editor-divider-${this.id}`,e)}catch(e){}}_restoreDividerPosition(){try{const e=localStorage.getItem(`metona-editor-divider-${this.id}`);e&&"split"===this._mode&&(this.editorPane.style.flex=e,this.previewPane.style.flex="1 1 auto")}catch(e){}}_scheduleRender(){this._renderRaf||(this._renderRaf=requestAnimationFrame(()=>{this._renderRaf=null,this._render()}))}_render(){if("edit"===this._mode)return void this._renderGutter();if(this._lastRenderedValue===this._value)return;let e;this._lastRenderedValue=this._value,yt.trigger("beforeRender",this),this._emit("beforeRender",this);try{e=this._renderFn(this._value,{highlight:this._highlightFn||void 0,locale:this.getLocale()})}catch(n){e=`
${this.t("renderError")}: ${t(n.message)}
`}if("function"==typeof this.config.sanitize)try{e=this.config.sanitize(e)}catch(e){}this.previewEl.innerHTML=e,this._renderGutter(),yt.trigger("afterRender",this),this._emit("afterRender",this)}_renderGutter(){if(!this.config.lineNumbers||!this.gutter)return;const e=this.getStats(),t=e.lines>0?e.lines:1,n=this.gutter.children.length;if(n!==t)if(n${r}`;this.gutter.insertAdjacentHTML("beforeend",e)}else for(;this.gutter.children.length>t;)this.gutter.removeChild(this.gutter.lastChild)}_updateCurrentLine(){if(!this.gutter)return;const e=this.textarea.selectionStart,t=this._value.substring(0,e).split("\n").length,n=this.gutter.querySelector(".me-gutter-active");n&&n.classList.remove("me-gutter-active");const r=this.gutter.children[t-1];r&&r.classList.add("me-gutter-active")}_emitCursorEvents(){if(!this.textarea)return;const e=this.textarea.selectionStart,t=this.textarea.selectionEnd;e===this._lastSelStart&&t===this._lastSelEnd||(this._lastSelStart=e,this._lastSelEnd=t,this._emit("selectionChange",{start:e,end:t,text:this._value.slice(e,t)})),this._emit("cursorMove",this.getCursorPosition())}_handleSmartEnter(e){const t=this.textarea,n=t.selectionStart,r=t.value,i=r.lastIndexOf("\n",n-1)+1,o=r.slice(i,n),s=o.match(/^(\s*)([-*+]|\d+\.)\s(.*)/);if(s){const o=s[1],a=s[2];if(!s[3].trim()){e.preventDefault();const o=this._value;return t.value=r.slice(0,i)+"\n"+r.slice(n),t.selectionStart=t.selectionEnd=i,this._value=t.value,this._pushHistory(),void this._afterProgrammaticEdit(o)}let l=a;if(/^\d+\.$/.test(a)){const e=parseInt(a,10);isNaN(e)||(l=e+1+".")}e.preventDefault();const c="\n"+o+l+" ";t.value=r.slice(0,n)+c+r.slice(t.selectionEnd),t.selectionStart=t.selectionEnd=n+c.length;const h=this._value;return this._value=t.value,this._pushHistory(),void this._afterProgrammaticEdit(h)}const a=o.match(/^(\s*>+\s?)(.*)/);if(a){const o=a[1];if(!a[2].trim()){e.preventDefault();const o=this._value;return t.value=r.slice(0,i)+"\n"+r.slice(n),t.selectionStart=t.selectionEnd=i,this._value=t.value,this._pushHistory(),void this._afterProgrammaticEdit(o)}e.preventDefault();const s="\n"+o;t.value=r.slice(0,n)+s+r.slice(t.selectionEnd),t.selectionStart=t.selectionEnd=n+s.length;const l=this._value;this._value=t.value,this._pushHistory(),this._afterProgrammaticEdit(l)}}_handleBracketAutoClose(e){if(!this.config.autoBrackets)return;const t=this.textarea,n=e.key,r=bt[n];if(!r)return;const i=t.selectionStart,o=t.selectionEnd;if(i!==o){e.preventDefault();const s=this._value,a=t.value.slice(i,o),l=n+a+r;return t.value=t.value.slice(0,i)+l+t.value.slice(o),t.selectionStart=i+1,t.selectionEnd=i+1+a.length,this._value=t.value,this._pushHistory(),void this._afterProgrammaticEdit(s)}const s=t.value[i]||"";if(n===r){if(s===r)return e.preventDefault(),void(t.selectionStart=t.selectionEnd=i+1);if(/\w/.test(s))return}e.preventDefault();const a=this._value,l=n+r;t.value=t.value.slice(0,i)+l+t.value.slice(o),t.selectionStart=t.selectionEnd=i+1,this._value=t.value,this._pushHistory(),this._afterProgrammaticEdit(a)}_bindDragDrop(){const e=this.textarea;if(!e)return;const t=e=>{e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="copy")},n=e=>{e.preventDefault();const t=e.dataTransfer?.files;if(t&&t.length)return void Array.from(t).forEach(e=>{if(e.type.startsWith("image/")){const t=e.size/1024;if(t>500)return void this.toast(this.t("imageTooLarge",{size:t.toFixed(0),max:500})||`Image too large (${t.toFixed(0)}KB > 500KB)`,{type:"warning"});const n=new FileReader;n.onload=()=>{this.insert(`\n`)},n.readAsDataURL(e)}else if(e.type.startsWith("text/")||/\.(md|txt|js|ts|json|css|html|xml|yml|yaml)$/i.test(e.name)){const t=new FileReader;t.onload=()=>this.insert(t.result),t.readAsText(e)}});const n=e.dataTransfer?.getData("text/plain");n&&this.insert(n)};e.addEventListener("dragover",t),e.addEventListener("drop",n),this._cleanups.push(()=>{e.removeEventListener("dragover",t),e.removeEventListener("drop",n)})}_scheduleHistory(){this._historyTimer&&clearTimeout(this._historyTimer),this._historyTimer=setTimeout(()=>this._pushHistory(),this.config.historyDebounce||400)}_afterProgrammaticEdit(e){if(yt.trigger("beforeChange",this),this._emit("beforeChange",e,this._value),this._render(),this._renderGutter(),this._updateWordCount(),this._updateOutline(),this._emit("input",this._value),this._emit("change",this._value),"function"==typeof this.config.onInput)try{this.config.onInput(this._value,this)}catch(e){}if("function"==typeof this.config.onChange)try{this.config.onChange(this._value,this)}catch(e){}this._emit("afterChange",this._value),yt.trigger("afterChange",this)}_pushHistory(){if(this.config.maxLength&&this.config.maxLength>0&&this._value.length>this.config.maxLength&&(this._value=this._value.slice(0,this.config.maxLength),this.textarea&&(this.textarea.value=this._value)),this._history[this._historyIndex]===this._value)return;this._history=this._history.slice(0,this._historyIndex+1),this._history.push(this._value);const e=this.config.historyLimit>0?this.config.historyLimit:100;for(;this._history.length>e;)this._history.shift();this._historyIndex=this._history.length-1}undo(){return this._historyIndex<=0||(this._captureCursor(),this._historyIndex--,this._applyHistory(),this._restoreCapturedCursor()),this}redo(){return this._historyIndex>=this._history.length-1||(this._captureCursor(),this._historyIndex++,this._applyHistory(),this._restoreCapturedCursor()),this}canUndo(){return this._historyIndex>0}canRedo(){return this._historyIndex0?e.scrollTop/t:null,r=this._value;if(this._value=this._history[this._historyIndex],this.textarea.value=this._value,this._afterProgrammaticEdit(r),this.gutter&&(this.gutter.scrollTop=this.textarea.scrollTop),e&&null!=n){const t=e.scrollHeight-e.clientHeight;t>0&&(e.scrollTop=n*t)}}_captureCursor(){this.textarea&&(this._pendingCursor={start:this.textarea.selectionStart,end:this.textarea.selectionEnd})}_restoreCapturedCursor(){if(!this._pendingCursor||!this.textarea)return;const e=this._value.length,t=Math.min(this._pendingCursor.start,e),n=Math.min(this._pendingCursor.end,e);try{this.textarea.setSelectionRange(t,n)}catch{}this._pendingCursor=null}exec(e,...t){const n={bold:()=>this._wrapSelection("**","**"),italic:()=>this._wrapSelection("*","*"),strikethrough:()=>this._wrapSelection("~~","~~"),underline:()=>this._wrapSelection("",""),code:()=>this._wrapSelection("`","`"),h1:()=>this._toggleLinePrefix("# "),h2:()=>this._toggleLinePrefix("## "),h3:()=>this._toggleLinePrefix("### "),quote:()=>this._toggleLinePrefix("> "),ul:()=>this._toggleLinePrefix("- "),ol:()=>this._toggleLinePrefix("1. "),indent:()=>this._handleTab(!1),outdent:()=>this._handleTab(!0),hr:()=>this._insertBlock("\n---\n"),link:()=>this._insertLink(),image:()=>this._insertImage(),table:()=>this._insertTable(),undo:()=>this.undo(),redo:()=>this.redo(),edit:()=>this.setMode("edit"),split:()=>this.setMode("split"),preview:()=>this.setMode("preview"),fullscreen:()=>this.toggleFullscreen(),zen:()=>this.toggleZen(),wordwrap:()=>this.toggleWordWrap(),formatTable:()=>this._formatTable()}[e];if(n)return n.apply(this,t),this;if(this._customActions&&"function"==typeof this._customActions[e])try{this._customActions[e].apply(this,t)}catch(e){}return this}setMode(e){if(!ft.includes(e)||e===this._mode)return this;const t=this.textarea.scrollTop,n=this.previewPane.scrollTop;if(this._mode=e,this.bodyEl.className=`me-body me-mode-${e}`,this._updateModeButtons(),"edit"!==e&&(this._render(),this._buildOutline()),this.textarea.scrollTop=t,this.previewPane.scrollTop=n,this._emit("modeChange",e),this._announce(`${this.t(e)||e} mode`),"function"==typeof this.config.onModeChange)try{this.config.onModeChange(e,this)}catch(e){}return this}getMode(){return this._mode}_updateModeButtons(){const e="preview"===this._mode,t=this.config.readOnly;this.toolbarEl.querySelectorAll(".me-btn").forEach(n=>{const r=n,i=r.dataset.mode,o=r.dataset.action;if(i)return r.classList.toggle("me-active",i===this._mode),void(r.disabled=!1);r.disabled="fullscreen"!==o&&(t||!!e)&&!("undo"===o||"redo"===o)})}toggleFullscreen(){this._fullscreen=!this._fullscreen,this.el.classList.toggle("me-fullscreen",this._fullscreen);const e=this.toolbarEl.querySelector(".me-btn-fullscreen");if(e&&(e.title=this._fullscreen?this.t("fullscreenExit")||"退出全屏":this.t("fullscreen")||"全屏"),this._emit("fullscreen",this._fullscreen),"function"==typeof this.config.onFullscreen)try{this.config.onFullscreen(this._fullscreen,this)}catch(e){}return this}isFullscreen(){return this._fullscreen}exitFullscreen(){return this._fullscreen&&this.toggleFullscreen(),this}toggleZen(){return this._setZen(!this._zenMode),this}_setZen(e){this._zenMode=!!e,this.el&&(this.el.classList.toggle("me-zen",this._zenMode),this._applyZenWidth(),this._zenMode&&this.toolbarEl?(this._zenMouseHandler||(this._zenMouseHandler=e=>{this.toolbarEl.style.opacity=e.clientY<40?"1":"0",this.toolbarEl.style.pointerEvents=e.clientY<40?"auto":"none"},document.addEventListener("mousemove",this._zenMouseHandler)),this.toolbarEl.style.transition="opacity 0.2s",this.toolbarEl.style.opacity="0",this.toolbarEl.style.pointerEvents="none",this.statusEl&&(this.statusEl.style.display="none")):(this._zenMouseHandler&&(document.removeEventListener("mousemove",this._zenMouseHandler),this._zenMouseHandler=null),this.toolbarEl&&(this.toolbarEl.style.opacity="",this.toolbarEl.style.pointerEvents="",this.toolbarEl.style.transition=""),this.statusEl&&(this.statusEl.style.display="")),this._emit("zenChange",this._zenMode))}isZen(){return this._zenMode}_applyZenWidth(){if(!this.el)return;const e=this.config.zenMaxWidth;null==e||!1===e||""===e?this.el.style.removeProperty("--md-zen-max-width"):this.el.style.setProperty("--md-zen-max-width","number"==typeof e?`${e}px`:String(e))}setZenMaxWidth(e){return this.config.zenMaxWidth=e,this._applyZenWidth(),this}getZenMaxWidth(){return this.config.zenMaxWidth??960}toggleWordWrap(){return this._wordWrap=!this._wordWrap,this.textarea&&(this.textarea.style.whiteSpace=this._wordWrap?"pre-wrap":"pre"),this}setWordWrap(e){return this._wordWrap=!!e,this.textarea&&(this.textarea.style.whiteSpace=this._wordWrap?"pre-wrap":"pre"),this}isWordWrap(){return this._wordWrap}setOutline(e){if(this.config.outline=!!e,this._destroyed||!this.el)return this;if(this.config.outline)this._buildOutline(),this._trackOutlineScroll();else{const e=this.el.querySelector(".me-outline");e&&e.remove()}return this}isOutline(){return!!this.config.outline}_bindToolbarKeyboard(){if(!this.toolbarEl)return;const e=e=>{const t=[...this.toolbarEl.querySelectorAll(".me-btn:not(:disabled)")];if(!t.length)return;const n=t.indexOf(document.activeElement);-1!==n&&("ArrowRight"===e.key?(e.preventDefault(),t[(n+1)%t.length].focus()):"ArrowLeft"===e.key?(e.preventDefault(),t[(n-1+t.length)%t.length].focus()):"Home"===e.key?(e.preventDefault(),t[0].focus()):"End"===e.key&&(e.preventDefault(),t[t.length-1].focus()))};this.toolbarEl.addEventListener("keydown",e),this._cleanups.push(()=>this.toolbarEl.removeEventListener("keydown",e))}_initAriaLive(){if(!this.el)return;const e=document.createElement("div");e.className="me-sr-only",e.setAttribute("aria-live","polite"),e.setAttribute("aria-atomic","true"),this.el.appendChild(e),this._ariaLive=e}_announce(e){this._ariaLive&&(this._ariaLive.textContent="",requestAnimationFrame(()=>{this._ariaLive.textContent=e}))}_syncScroll(){if(this._syncing)return;this._syncing=!0;const e=this.textarea;if(!e)return void(this._syncing=!1);const t=e.scrollHeight-e.clientHeight;if(t<=0)return void(this._syncing=!1);const n=e.scrollTop/t;if(this.gutter){const t=this.gutter.scrollHeight-this.gutter.clientHeight;this.gutter.scrollTop=t>0?n*t:e.scrollTop}if(this.config.syncScroll&&"split"===this._mode&&this.previewPane){const e=this.previewPane.scrollHeight-this.previewPane.clientHeight;e>0&&(this.previewPane.scrollTop=n*e)}requestAnimationFrame(()=>{this._syncing=!1})}_updateWordCount(){if(!this.config.wordCount||!this.statusEl)return;const e=this.getStats();this.statusEl.textContent=[`${this.t("characters")}: ${e.characters}`,`${this.t("words")}: ${e.words}`,`${this.t("lines")}: ${e.lines}`,`${this.t("readingTime")}: ${e.readingTime} ${this.t("minutes")}`].join(" · ")}getStats(){const e=this._value||"";if(this._statsCache&&this._statsCache.value===e)return this._statsCache.stats;const t=this._computeStats(e);return this._statsCache={value:e,stats:t},t}_computeStats(e){const t=this._statsCache;if(!t){const t=(e.match(/[\u4e00-\u9fa5]/g)||[]).length,n=(e.replace(/[\u4e00-\u9fa5]/g," ").match(/[a-zA-Z0-9]+/g)||[]).length,r=t+n,i=e?e.split("\n").length:0;return{characters:e.length,words:r,chineseChars:t,englishWords:n,lines:i,readingTime:Math.max(1,Math.ceil(r/300))}}const n=t.value,r=t.stats,i=e=>!!e&&/[\w\u4e00-\u9fff]/.test(e);let o=0;const s=Math.min(n.length,e.length);for(;o0&&(i(n[c-1])||i(e[c-1]));)c--;let h=n.length-a,d=e.length-a;for(;ht)),this.textarea.value=this._value,this._pushHistory(),this._afterProgrammaticEdit(a),s.length}replaceAllRegex(e,t){if(!e)return 0;const n=new RegExp(e,e.flags.includes("g")?e.flags:e.flags+"g"),r=this._value.match(n);if(!r)return 0;const i=this._value;return this._value=this._limitLength(this._value.replace(n,t)),this.textarea.value=this._value,this._pushHistory(),this._afterProgrammaticEdit(i),r.length}lineCount(){return this._value?this._value.split("\n").length:0}getLine(e){const t=this._value.split("\n"),n=e-1;return n<0||n>=t.length?"":t[n]}_limitLength(e){const t=this.config.maxLength;return t&&t>0?e.slice(0,t):e}getValue(){return this._destroyed?"":this._value}setValue(e,t={}){if(this._destroyed)return this;if(e=this._limitLength(e||""),yt.trigger("beforeChange",this),this._emit("beforeChange",this._value,e),this._value=e||"",this.textarea.value=this._value,t.silent||this._pushHistory(),this._render(),this._renderGutter(),this._updateWordCount(),this._updateOutline(),this.gutter&&(this.gutter.scrollTop=0),this.textarea.scrollTop=0,!t.silent&&(this._emit("change",this._value),"function"==typeof this.config.onChange))try{this.config.onChange(this._value,this)}catch(e){}return this._emit("afterChange",this._value),yt.trigger("afterChange",this),this}getHTML(){yt.trigger("beforeRender",this),this._emit("beforeRender",this);let e=this._renderFn(this._value,{highlight:this._highlightFn||void 0,locale:this.getLocale()});if("function"==typeof this.config.sanitize)try{e=this.config.sanitize(e)}catch(e){}return yt.trigger("afterRender",this),this._emit("afterRender",this),e}refresh(){return this._lastRenderedValue=null,this._render(),this}copyAsMarkdown(){return"undefined"!=typeof navigator&&navigator.clipboard&&navigator.clipboard.writeText(this._value).then(()=>this._emit("copy",{type:"markdown"})).catch(()=>{}),this}copyAsHTML(){const e=this.getHTML();if("undefined"!=typeof navigator&&navigator.clipboard){if("undefined"!=typeof ClipboardItem)try{const t=new Blob([e],{type:"text/html"}),n=new ClipboardItem({"text/html":t,"text/plain":new Blob([this._value],{type:"text/plain"})});return navigator.clipboard.write([n]).then(()=>this._emit("copy",{type:"html"})).catch(()=>{}),this}catch(e){}navigator.clipboard.writeText(this._value).then(()=>this._emit("copy",{type:"html"})).catch(()=>{})}return this}insert(e,t={}){const n=this.textarea,r=n.selectionStart,i=n.selectionEnd,o=this._limitLength(n.value.slice(0,r)+e+n.value.slice(t.replace?i:r));n.value=o,n.focus(),n.selectionStart=n.selectionEnd=Math.min(r+e.length,o.length);const s=this._value;return this._value=n.value,this._pushHistory(),this._afterProgrammaticEdit(s),this}wrap(e,t){return this._wrapSelection(e,t||e),this}focus(){return this.textarea&&this.textarea.focus(),this}blur(){return this.textarea&&this.textarea.blur(),this}enable(){return this.textarea&&(this.textarea.disabled=!1),this.el&&this.el.classList.remove("me-disabled"),this}disable(){return this.textarea&&(this.textarea.disabled=!0),this.el&&this.el.classList.add("me-disabled"),this}isDisabled(){return!!this.textarea&&this.textarea.disabled}setReadOnly(e){return this.config.readOnly=!!e,this.textarea&&(this.textarea.readOnly=!!e),this.el&&this.el.classList.toggle("me-readonly",!!e),this._updateModeButtons(),this}isReadOnly(){return!!this.config.readOnly}on(e,t){return this._listeners[e]||(this._listeners[e]=[]),this._listeners[e].push(t),()=>this.off(e,t)}off(e,t){const n=this._listeners[e];return n&&(this._listeners[e]=n.filter(e=>e!==t)),this}_emit(e,...t){const n=this._listeners[e];n&&n.forEach(e=>{try{e(...t,this)}catch(e){}})}use(e,t={}){let n=e;if("string"==typeof e&&(n=ze[e],!n))return this;if(!n||"object"!=typeof n)return this;const r={...n,...t};if(this._plugins.some(e=>e.name===r.name))return this;if("function"==typeof r.install)try{const e=r.install(this,t);e&&"function"==typeof e.then&&e.catch(e=>{})}catch(e){}return this._plugins.push(r),this}unuse(e){const t=this._plugins.findIndex(t=>t.name===e);if(-1===t)return this;const n=this._plugins[t];if("function"==typeof n.destroy)try{n.destroy(this)}catch(e){}return this._plugins.splice(t,1),this}getPlugins(){return[...this._plugins]}addToolbarButton(e){if(!e||!e.action)return this;const n=document.createElement("button");return n.type="button",n.className=`me-btn me-btn-custom-${e.action}`,n.title=e.title||e.action,n.setAttribute("aria-label",e.title||e.action),n.innerHTML=e.icon||`${t(e.text||e.action)}`,"function"==typeof e.onClick?n.addEventListener("click",t=>{t.stopPropagation(),e.onClick(this)}):e.action&&(n.dataset.action=e.action,this._customActions=this._customActions||{},this._customActions[e.action]=e.handler),this.toolbarEl.insertBefore(n,this.toolbarEl.querySelector(".me-toolbar-group")||null),this}registerShortcut(e,t,n=""){if(!e)return this;const r=e.toLowerCase().split("+"),i=r.pop(),o=r.includes("ctrl")||r.includes("cmd"),s=r.includes("shift"),a=r.includes("alt"),l=r.includes("meta");return this._shortcuts.push({combo:e,key:i,ctrl:o,shift:s,alt:a,meta:l,handler:t,description:n}),this}unregisterShortcut(e){return this._shortcuts=this._shortcuts.filter(t=>t.combo.toLowerCase()!==e.toLowerCase()),this}getShortcuts(){return[...this._shortcuts]}configureToolbar(e){return this.toolbarEl?(this.config.toolbar=e,this.toolbarEl.innerHTML="",this._buildToolbar(),this):this}removeToolbarButton(e){if(!this.toolbarEl)return this;const t=this.toolbarEl.querySelector(`.me-btn[data-action="${e}"], .me-btn[data-mode="${e}"]`);return t&&t.remove(),this}toast(e,n={}){if(!this.el||"undefined"==typeof document)return this;const{type:r="info",duration:i=3e3,animation:o="fade"}=n,s=l[o]||l.fade,a=document.createElement("div");a.className=`me-toast me-toast-${r} me-toast-${o}`,a.innerHTML=`${vt[r]||""}${t(String(e))}`,a.style.transition=`opacity ${s.duration}ms ${s.easing}, transform ${s.duration}ms ${s.easing}, filter ${s.duration}ms ${s.easing}`;for(const[e,t]of Object.entries(s.enter))a.style[e]=t;this.el.appendChild(a),requestAnimationFrame(()=>{requestAnimationFrame(()=>{for(const e of Object.keys(s.enter))a.style[e]=""})});const c=()=>{for(const[e,t]of Object.entries(s.leave))a.style[e]=t;setTimeout(()=>{a.parentNode&&a.parentNode.removeChild(a)},s.duration)};return i>0&&setTimeout(c,i),a.addEventListener("click",c),this}setLocale(e){return this._i18nCtx&&this._i18nCtx.set(e),this}getLocale(){return this._i18nCtx?this._i18nCtx.get():v()}t(e,t){return this._i18nCtx?this._i18nCtx.t(e,t):y(e,t)}setTheme(e){return e?(this.config.theme=e,this._themeCtx&&this._themeCtx.set(e),this):this}getTheme(){return this._themeCtx?this._themeCtx.get():this.config.theme||"auto"}getThemeContext(){return this._themeCtx||null}getStatus(){return{id:this.id,mode:this._mode,theme:this.getTheme(),locale:this.getLocale(),fullscreen:this._fullscreen,readOnly:this.config.readOnly||!1,disabled:!!this.textarea&&this.textarea.disabled,destroyed:this._destroyed,plugins:this._plugins.map(e=>e.name||"custom")}}destroy(){if(!this._destroyed){if(yt.trigger("beforeDestroy",this),this._renderRaf&&cancelAnimationFrame(this._renderRaf),this._historyTimer&&clearTimeout(this._historyTimer),this._outlineTimer&&clearTimeout(this._outlineTimer),this._cleanups.forEach(e=>{try{e()}catch(e){}}),this._cleanups=[],this._zenMouseHandler&&(document.removeEventListener("mousemove",this._zenMouseHandler),this._zenMouseHandler=null),this._themeCtx&&"function"==typeof this._themeCtx.dispose)try{this._themeCtx.dispose()}catch(e){}if(this._shortcuts=[],this._contextMenuItems=[],this._customActions={},this._floatingToolbar&&this._floatingToolbar.parentNode&&this._floatingToolbar.parentNode.removeChild(this._floatingToolbar),this._floatingToolbar=null,this._floatMirror&&this._floatMirror.parentNode&&this._floatMirror.parentNode.removeChild(this._floatMirror),this._floatMirror=null,this.el&&this.el.querySelectorAll(".me-toast").forEach(e=>e.remove()),this._plugins.forEach(e=>{if("function"==typeof e.destroy)try{e.destroy(this)}catch(e){}}),this._plugins=[],this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el),this.el=null,this.textarea=null,this.previewEl=null,this._destroyed=!0,"function"==typeof this.config.onDestroy)try{this.config.onDestroy(this)}catch(e){}this._emit("destroy"),this._listeners={},yt.trigger("afterDestroy",this)}}isDestroyed(){return this._destroyed}}var xt;yt._hooks=new Map,(xt=yt.prototype)._wrapSelection=function(e,t){const n=this.textarea,r=n.selectionStart,i=n.selectionEnd,o=n.value.slice(r,i),s=o||"text",a=e+s+t;n.value=n.value.slice(0,r)+a+n.value.slice(i),n.focus(),o?(n.selectionStart=r+e.length,n.selectionEnd=r+e.length+s.length):n.selectionStart=n.selectionEnd=r+e.length;const l=this._value;this._value=n.value,this._pushHistory(),this._afterProgrammaticEdit(l)},xt._toggleLinePrefix=function(e){const t=this.textarea,n=t.selectionStart,r=t.value.lastIndexOf("\n",n-1)+1,i=t.value.indexOf("\n",n),o=-1===i?t.value.length:i,s=t.value.slice(r,o),a=s.match(/^(#{1,6}\s*|>\s*|[-*+]\s*|\d+\.\s*)/);let l;l=a&&a[0]===e?s.slice(e.length):a?e+s.slice(a[0].length):e+s,t.value=t.value.slice(0,r)+l+t.value.slice(o),t.focus(),t.selectionStart=t.selectionEnd=r+l.length;const c=this._value;this._value=t.value,this._pushHistory(),this._afterProgrammaticEdit(c)},xt._insertBlock=tt,xt._insertLink=function(){const e=this.textarea,t=e.selectionStart,n=e.selectionEnd,r=e.value.slice(t,n)||this.t("link")||"link",i=`[${r}](https://)`;e.value=e.value.slice(0,t)+i+e.value.slice(n),e.focus(),e.selectionStart=t+r.length+3,e.selectionEnd=e.selectionStart+8;const o=this._value;this._value=e.value,this._pushHistory(),this._afterProgrammaticEdit(o)},xt._insertImage=function(){const e=this.textarea,t=e.selectionStart,n=e.selectionEnd,r=e.value.slice(t,n)||this.t("image")||"image",i=``;e.value=e.value.slice(0,t)+i+e.value.slice(n),e.focus(),e.selectionStart=t+r.length+4,e.selectionEnd=e.selectionStart+8;const o=this._value;this._value=e.value,this._pushHistory(),this._afterProgrammaticEdit(o)},xt._insertTable=function(e=3,t=3){let n=`| ${Array.from({length:t},(e,t)=>`${this.t("tableCols")||"列"}${t+1}`).join(" | ")} |\n| ${Array.from({length:t},()=>"---").join(" | ")} |\n`;for(let r=1;r" ").join(" | ")} |\n`;tt.call(this,"\n"+n)},xt._formatTable=function(){const e=this.textarea,t=e.selectionStart,n=e.value.substring(0,t),r=e.value.substring(t),i=n.lastIndexOf("\n\n"),o=r.indexOf("\n\n"),s=-1===i?0:i+2,a=-1===o?e.value.length:t+o,l=e.value.substring(s,a).split("\n").filter(e=>e.includes("|"));if(l.length<2)return;const c=l.map(e=>e.replace(/^\s*\|?\s*|\s*\|?\s*$/g,"").split(/\s*\|\s*/)),h=Math.max(...c.map(e=>e.length)),d=Array(h).fill(3);c.forEach(e=>{e.forEach((e,t)=>{d[t]=Math.max(d[t],e.trim().length)})});const u=(e,t)=>{const n=t-e.length;return e+" ".repeat(Math.max(0,n))},p=c.map(e=>{const t=[];for(let n=0;n{e._initFloatingToolbar=nt,e.toggleFloatingToolbar=it,e.isFloatingToolbar=ot,e._buildFloatingToolbar=st,e._hideFloatingToolbar=at,e._measureSelectionAnchor=rt})(yt.prototype),(e=>{e.registerContextMenu=lt,e._bindContextMenu=ct,e._showContextMenu=ht,e._hideContextMenu=dt,e._execContextAction=ut})(yt.prototype),(e=>{e._buildOutline=pt,e._updateOutline=mt,e._trackOutlineScroll=gt})(yt.prototype);const wt=new Map;for(const[e,t]of Object.entries(l))wt.set(e,t);const _t={register(e,t){wt.set(e,{name:e,enter:t.enter||{},leave:t.leave||{},duration:t.duration||300,easing:t.easing||"cubic-bezier(0.4, 0, 0.2, 1)"})},unregister(e){wt.delete(e)},get:e=>wt.get(e)||l[e]||null,getAnimationNames:()=>Array.from(wt.keys()),getActiveCount:()=>0,cancelAll(){},reset(){wt.clear();for(const[e,t]of Object.entries(l))wt.set(e,t)},destroy(){wt.clear()}},kt=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Ct=new Map,Et={javascript:{keywords:["async","await","break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","from","function","get","if","import","in","instanceof","let","new","of","return","set","static","super","switch","this","throw","try","typeof","var","void","while","with","yield"],builtins:["console","document","window","globalThis","Math","JSON","Promise","Object","Array","String","Number","Boolean","Map","Set","Symbol","RegExp","Date","Error","parseInt","parseFloat","isNaN","setTimeout","setInterval","fetch","require","module","exports","process","Buffer"],hasBlocks:!0,hasTemplateStrings:!0},typescript:{keywords:["abstract","any","as","async","await","boolean","break","case","catch","class","const","continue","debugger","declare","default","delete","do","else","enum","export","extends","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","namespace","never","new","of","override","private","protected","public","readonly","return","satisfies","set","static","string","super","switch","symbol","this","throw","try","type","typeof","undefined","unique","unknown","var","void","while","with","yield"],builtins:["console","document","window","globalThis","Math","JSON","Promise","Object","Array","String","Number","Boolean","Map","Set","Symbol","RegExp","Date","Error","parseInt","parseFloat","setTimeout","setInterval","fetch","require","module","exports","process","Buffer"],hasBlocks:!0,hasTemplateStrings:!0},jsx:{keywords:["async","await","break","case","catch","class","const","continue","default","do","else","export","extends","finally","for","from","function","if","import","in","instanceof","let","new","of","return","static","super","switch","this","throw","try","typeof","var","void","while","with","yield","useState","useEffect","useRef","useMemo","useCallback"],builtins:["console","document","window","Math","JSON","Promise","Object","Array","String","Number","Map","Set","React"],hasBlocks:!0,hasTemplateStrings:!0},tsx:{keywords:["abstract","any","as","async","await","boolean","break","case","catch","class","const","continue","default","declare","do","else","enum","export","extends","finally","for","from","function","if","implements","import","in","infer","instanceof","interface","is","keyof","let","namespace","never","new","of","override","private","protected","public","readonly","return","static","string","super","switch","symbol","this","throw","try","type","typeof","undefined","unknown","var","void","while","with","yield","useState","useEffect","useRef"],builtins:["console","document","window","Math","JSON","Promise","Object","Array","String","Number","Map","Set","React"],hasBlocks:!0,hasTemplateStrings:!0},python:{keywords:["and","as","assert","async","await","break","class","continue","def","del","elif","else","except","False","finally","for","from","global","if","import","in","is","lambda","None","nonlocal","not","or","pass","raise","return","True","try","while","with","yield"],builtins:["print","len","range","type","str","int","float","list","dict","set","tuple","bool","enumerate","zip","map","filter","sum","min","max","abs","round","open","input","repr","sorted","object","super","self"],hasHashComments:!0},bash:{keywords:["if","then","else","elif","fi","for","while","until","do","done","case","esac","function","in","return","break","continue","export","local","readonly","set","unset","shift","source","alias","declare","echo","exit"],builtins:["echo","printf","cd","pwd","ls","mkdir","rm","cp","mv","cat","grep","sed","awk","curl","wget","npm","node","git","docker","sudo","find","xargs","tar","zip","unzip","chmod","chown","touch","head","tail","wc","sort","uniq","cut","tee","ps","kill","top","clear","history","man","which"],hasHashComments:!0,singleQuoteStrings:!1},shell:{hasHashComments:!0,keywords:["if","then","else","elif","fi","for","while","do","done","case","in","function","return","break","continue","export","local","echo","exit"],builtins:["echo","cd","pwd","ls","rm","cp","mv","cat","grep","sed","awk","curl","wget","git","sudo","find","chmod","chown","touch","head","tail","wc","sort","tee","ps","kill","clear","man","which"],singleQuoteStrings:!1},css:{keywords:["important","inherit","initial","unset","none","auto","absolute","relative","fixed","static","sticky","flex","grid","block","inline","inline-block","hidden","visible","bold","normal","italic","solid","dashed","dotted","transparent","center","left","right","top","bottom","wrap","nowrap","repeat","cover","contain","pointer","auto"],builtins:["var","calc","min","max","clamp","rgb","rgba","hsl","hsla","url","linear-gradient","radial-gradient","translate","scale","rotate","repeat","minmax","fit-content","attr","counter"],hasBlocks:!0,singleQuoteStrings:!1},html:{keywords:["html","head","body","div","span","p","a","img","ul","ol","li","table","thead","tbody","tr","th","td","h1","h2","h3","h4","h5","h6","section","article","nav","header","footer","main","aside","form","input","button","select","option","textarea","label","script","style","link","meta","title","iframe","video","audio","canvas","svg","strong","em","code","pre","blockquote","br","hr","template"],builtins:[],singleQuoteStrings:!1},json:{keywords:["true","false","null"],builtins:[],singleQuoteStrings:!1},yaml:{keywords:["true","false","null","yes","no","on","off"],builtins:[],hasHashComments:!0,singleQuoteStrings:!1},markdown:{keywords:[],builtins:[],hasHashComments:!0,singleQuoteStrings:!1},md:{keywords:[],builtins:[],hasHashComments:!0,singleQuoteStrings:!1},java:{keywords:["abstract","boolean","break","byte","case","catch","char","class","const","continue","default","do","double","else","enum","extends","final","finally","float","for","goto","if","implements","import","instanceof","int","interface","long","native","new","package","private","protected","public","return","short","static","strictfp","super","switch","synchronized","this","throw","throws","transient","try","void","volatile","while","var"],builtins:["System","String","Integer","Double","Math","Object","Class","Exception","Thread","Arrays","List","ArrayList","Map","HashMap","Set","HashSet","Optional","Stream","Collectors","Objects"],hasBlocks:!0},go:{keywords:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],builtins:["fmt","len","cap","make","new","append","copy","panic","recover","error","string","int","int64","uint","bool","byte","rune","float64","nil","print","println","Close","Error"],hasBlocks:!0,singleQuoteStrings:!1},rust:{keywords:["as","async","await","break","const","continue","crate","dyn","else","enum","extern","false","fn","for","if","impl","in","let","loop","match","mod","move","mut","pub","ref","return","self","Self","static","struct","super","trait","true","type","unsafe","use","where","while"],builtins:["println","print","eprintln","format","vec","String","str","Option","Result","Some","None","Ok","Err","Vec","Box","Rc","Arc","HashMap","Iterator","match"],hasBlocks:!0,singleQuoteStrings:!1}},St={js:"javascript",ts:"typescript",tsx:"tsx",jsx:"jsx",py:"python",sh:"bash",shell:"shell",zsh:"bash",yml:"yaml",mjs:"javascript",cjs:"javascript",md:"markdown",htm:"html",c:"go",cpp:"go",cs:"java"},Lt=e=>{const t=(e||"").trim().toLowerCase();return t?St[t]||(Et[t]?t:""):""},Tt=(e,t)=>{const n=Lt(t),r=Et[n],i=e.replace(/&/g,"&").replace(//g,">");return r?((e,t)=>{let n="",r=0;const i=e.length;for(;r0){n+=`${t[0]}`,r+=t[0].length,i=!0;break}}i||(n+=e[r],r++)}return n})(i,(e=>{let t=Ct.get(e);if(!t){const n=Et[e];t=n?(e=>{const t=[];e.hasHashComments?t.push({cls:"me-hl-comment",re:/#[^\n]*/y}):t.push({cls:"me-hl-comment",re:/\/\/[^\n]*/y}),e.hasBlocks&&t.push({cls:"me-hl-comment",re:/\/\*[\s\S]*?\*\//y});const n=!1===e.singleQuoteStrings?/"(?:\\.|[^"\\\n])*"/y:/"(?:\\.|[^"\\\n])*"|'(?:\\.|[^'\\\n])*'/y;return t.push({cls:"me-hl-string",re:n}),e.hasTemplateStrings&&t.push({cls:"me-hl-string",re:/`(?:\\.|[^`\\])*`/y}),t.push({cls:"me-hl-number",re:/\b0x[\da-fA-F_]+\b|\b\d[\d_]*(?:\.\d+)?(?:e[+-]?\d+)?\b/y}),e.keywords.length&&t.push({cls:"me-hl-keyword",re:new RegExp(`\\b(?:${e.keywords.map(kt).join("|")})\\b`,"y")}),e.builtins.length&&t.push({cls:"me-hl-builtin",re:new RegExp(`\\b(?:${e.builtins.map(kt).join("|")})\\b`,"y")}),t.push({cls:"me-hl-function",re:/[A-Za-z_$][\w$]*(?=\s*\()/y}),t})(n):[],Ct.set(e,t)}return t})(n)):i},Mt=(e,t)=>{Et[e.toLowerCase()]=t,Ct.delete(e.toLowerCase())},$t=()=>Object.keys(Et),zt="0.4.3",At=[],Bt=e=>{e&&!e.isDestroyed()&&At.forEach(t=>{try{e.use(t)}catch(e){}})};function Pt(e,t={}){return new yt(e,t)}function Ht(e,t={}){let n=e;if("string"==typeof e&&(n=ze[e],!n))return Dt;if(!n||"object"!=typeof n)return Dt;const r=t&&"object"==typeof t&&Object.keys(t).length>0?{...n,...t}:n;return At.push(r),Dt}function It(e,t){return yt.on(e,t)}function Rt(e,t){return yt.off(e,t),Dt}function jt(e,t){return et&&"function"==typeof et.switchTheme&&et.switchTheme(e),Dt}function Ft(e){return A&&"function"==typeof A.setCurrentLocale&&A.setCurrentLocale(e),Dt}function Ot(){if(et){try{et.clearThemeListeners()}catch(e){}try{et.unwatchSystemTheme()}catch(e){}}if(A)try{A.clearLocaleListeners()}catch(e){}if(_t)try{_t.cancelAll()}catch(e){}At.length=0;try{yt._hooks.clear()}catch(e){}yt.on("afterCreate",Bt)}function Wt(){return{version:zt,theme:et&&"function"==typeof et.getCurrentTheme?et.getCurrentTheme():"auto",locale:A&&"function"==typeof A.getCurrentLocale?A.getCurrentLocale():"zh-CN",globalPlugins:At.map(e=>e.name||"custom"),presetPlugins:Object.keys(ze||{})}}yt.on("afterCreate",Bt);try{"function"==typeof et.initTheme&&et.initTheme(),"function"==typeof A.initI18n&&A.initI18n()}catch(e){}const Dt={VERSION:zt,version:zt,MarkdownEditor:yt,Editor:yt,create:Pt,use:Ht,on:It,off:Rt,setTheme:jt,setLocale:Ft,destroy:Ot,getStatus:Wt,parseMarkdown:se,parseTokens:ie,renderTokens:oe,safeUrl:Q,slugify:X,clearRenderCache:G,registerBlockHandler:ne,highlight:Tt,normalizeLanguage:Lt,registerLanguage:Mt,getSupportedLanguages:$t,themes:et,i18n:A,animations:_t,plugins:Ae,presetPlugins:ze,topologicalSort:Te,validateConfig:Me,createInstanceI18n:z,loadRemote:k,exportCSSVars:We,getCSSVariable:De,followExternalTheme:Ye,adoptFromParent:Ge,createInstanceTheme:Xe,DEFAULTS:s,ICONS:r,THEMES:a,EDIT_MODES:c,DEFAULT_TOOLBAR:o,TOOLBAR_ACTIONS:h};"undefined"!=typeof window&&(window.MeEditor=Dt),e.DEFAULTS=s,e.DEFAULT_TOOLBAR=o,e.EDIT_MODES=c,e.Editor=yt,e.ICONS=r,e.MarkdownEditor=yt,e.MeEditor=Dt,e.THEMES=a,e.TOOLBAR_ACTIONS=h,e.VERSION=zt,e.adoptFromParent=Ge,e.animationUtils=_t,e.api=Dt,e.clearRenderCache=G,e.create=Pt,e.createInstanceI18n=z,e.createInstanceTheme=Xe,e.default=Dt,e.destroy=Ot,e.exportCSSVars=We,e.followExternalTheme=Ye,e.getCSSVariable=De,e.getStatus=Wt,e.getSupportedLanguages=$t,e.highlight=Tt,e.i18nUtils=A,e.loadRemote=k,e.meEditor=Dt,e.normalizeLanguage=Lt,e.off=Rt,e.on=It,e.parseMarkdown=se,e.parseTokens=ie,e.pluginUtils=Ae,e.presetPlugins=ze,e.registerBlockHandler=ne,e.registerLanguage=Mt,e.renderTokens=oe,e.safeUrl=Q,e.setLocale=Ft,e.setTheme=jt,e.slugify=X,e.themeUtils=et,e.topologicalSort=Te,e.use=Ht,e.validateConfig=Me,Object.defineProperty(e,"__esModule",{value:!0})});
diff --git a/dist/metona-editor.mjs b/dist/metona-editor.mjs
index a8f700f..bc9147e 100644
--- a/dist/metona-editor.mjs
+++ b/dist/metona-editor.mjs
@@ -105,6 +105,7 @@ const LOCALES = {
outline: '大纲',
cut: '剪切', copy: '复制', paste: '粘贴', selectAll: '全选',
regex: '正则表达式', shortcuts: '快捷键', imageTooLarge: '图片过大({size}KB > {max}KB)',
+ formatToolbar: '格式化选区', pasteBlocked: '无法直接粘贴,请使用 Ctrl+V',
},
'en-US': {
bold: 'Bold', italic: 'Italic', underline: 'Underline', strikethrough: 'Strikethrough',
@@ -132,6 +133,7 @@ const LOCALES = {
outline: 'Outline',
cut: 'Cut', copy: 'Copy', paste: 'Paste', selectAll: 'Select All',
regex: 'Regex', shortcuts: 'Shortcuts', imageTooLarge: 'Image too large ({size}KB > {max}KB)',
+ formatToolbar: 'Format selection', pasteBlocked: 'Cannot paste directly, use Ctrl+V',
},
ja: {
bold: '太字', italic: '斜体', underline: '下線', strikethrough: '打ち消し線',
@@ -159,6 +161,7 @@ const LOCALES = {
outline: 'アウトライン',
cut: '切り取り', copy: 'コピー', paste: '貼り付け', selectAll: 'すべて選択',
regex: '正規表現', shortcuts: 'ショートカット', imageTooLarge: '画像が大きすぎます({size}KB > {max}KB)',
+ formatToolbar: '選択範囲を整形', pasteBlocked: '直接貼り付けできません。Ctrl+V を使用してください',
},
ko: {
bold: '굵게', italic: '기울임', underline: '밑줄', strikethrough: '취소선',
@@ -186,6 +189,7 @@ const LOCALES = {
outline: '개요',
cut: '잘라내기', copy: '복사', paste: '붙여넣기', selectAll: '전체 선택',
regex: '정규식', shortcuts: '단축키', imageTooLarge: '이미지가 너무 큽니다 ({size}KB > {max}KB)',
+ formatToolbar: '선택 영역 서식', pasteBlocked: '직접 붙여넣을 수 없습니다. Ctrl+V를 사용하세요',
},
fr: {
bold: 'Gras', italic: 'Italique', underline: 'Souligné', strikethrough: 'Barré',
@@ -213,6 +217,7 @@ const LOCALES = {
outline: 'Plan',
cut: 'Couper', copy: 'Copier', paste: 'Coller', selectAll: 'Tout sélectionner',
regex: 'Regex', shortcuts: 'Raccourcis', imageTooLarge: 'Image trop grande ({size}Ko > {max}Ko)',
+ formatToolbar: 'Formater la sélection', pasteBlocked: 'Impossible de coller directement, utilisez Ctrl+V',
},
de: {
bold: 'Fett', italic: 'Kursiv', underline: 'Unterstrichen', strikethrough: 'Durchgestrichen',
@@ -240,6 +245,7 @@ const LOCALES = {
outline: 'Gliederung',
cut: 'Ausschneiden', copy: 'Kopieren', paste: 'Einfügen', selectAll: 'Alles auswählen',
regex: 'Regex', shortcuts: 'Tastenkürzel', imageTooLarge: 'Bild zu groß ({size}KB > {max}KB)',
+ formatToolbar: 'Auswahl formatieren', pasteBlocked: 'Direktes Einfügen nicht möglich, verwenden Sie Strg+V',
},
};
@@ -2150,15 +2156,21 @@ const searchReplacePlugin = {
ta.value = ta.value.substring(0, s) + r + ta.value.substring(e);
ta.setSelectionRange(s, s + r.length);
}
+ const oldV = editor._value || '';
editor._value = ta.value;
- if (typeof editor._pushHistory === 'function')
- editor._pushHistory();
- if (typeof editor._render === 'function')
- editor._render();
- if (typeof editor._updateWordCount === 'function')
- editor._updateWordCount();
- if (typeof editor._emit === 'function')
- editor._emit('change', editor._value);
+ if (typeof editor._afterProgrammaticEdit === 'function') {
+ editor._afterProgrammaticEdit(oldV);
+ }
+ else {
+ if (typeof editor._pushHistory === 'function')
+ editor._pushHistory();
+ if (typeof editor._render === 'function')
+ editor._render();
+ if (typeof editor._updateWordCount === 'function')
+ editor._updateWordCount();
+ if (typeof editor._emit === 'function')
+ editor._emit('change', editor._value);
+ }
findNext();
};
const replaceAll = () => {
@@ -2169,17 +2181,23 @@ const searchReplacePlugin = {
const re = buildPattern(q);
if (!re)
return;
+ const oldV = editor._value || '';
ta.value = ta.value.replace(re, () => r);
ta.setSelectionRange(0, 0);
editor._value = ta.value;
- if (typeof editor._pushHistory === 'function')
- editor._pushHistory();
- if (typeof editor._render === 'function')
- editor._render();
- if (typeof editor._updateWordCount === 'function')
- editor._updateWordCount();
- if (typeof editor._emit === 'function')
- editor._emit('change', editor._value);
+ if (typeof editor._afterProgrammaticEdit === 'function') {
+ editor._afterProgrammaticEdit(oldV);
+ }
+ else {
+ if (typeof editor._pushHistory === 'function')
+ editor._pushHistory();
+ if (typeof editor._render === 'function')
+ editor._render();
+ if (typeof editor._updateWordCount === 'function')
+ editor._updateWordCount();
+ if (typeof editor._emit === 'function')
+ editor._emit('change', editor._value);
+ }
findAll();
};
fi.addEventListener('input', () => { lastIdxs = findAll(); });
@@ -2845,11 +2863,10 @@ function wrapSelection(before, after) {
else {
ta.selectionStart = ta.selectionEnd = start + before.length;
}
+ const oldV = this._value;
this._value = ta.value;
this._pushHistory();
- this._render();
- this._updateWordCount();
- this._emit('change', this._value);
+ this._afterProgrammaticEdit(oldV);
}
// ============ Line prefix toggling ============
function toggleLinePrefix(prefix) {
@@ -2870,11 +2887,10 @@ function toggleLinePrefix(prefix) {
ta.value = ta.value.slice(0, lineStart) + newLine + ta.value.slice(lineEnd);
ta.focus();
ta.selectionStart = ta.selectionEnd = lineStart + newLine.length;
+ const oldV = this._value;
this._value = ta.value;
this._pushHistory();
- this._render();
- this._updateWordCount();
- this._emit('change', this._value);
+ this._afterProgrammaticEdit(oldV);
}
// ============ Block insertion ============
function insertBlock(text) {
@@ -2887,11 +2903,10 @@ function insertBlock(text) {
ta.focus();
const pos = start + insert.length;
ta.selectionStart = ta.selectionEnd = pos;
+ const oldV = this._value;
this._value = ta.value;
this._pushHistory();
- this._render();
- this._updateWordCount();
- this._emit('change', this._value);
+ this._afterProgrammaticEdit(oldV);
}
function insertLink() {
const ta = this.textarea;
@@ -2904,10 +2919,10 @@ function insertLink() {
ta.focus();
ta.selectionStart = start + sel.length + 3;
ta.selectionEnd = ta.selectionStart + url.length;
+ const oldV = this._value;
this._value = ta.value;
this._pushHistory();
- this._render();
- this._emit('change', this._value);
+ this._afterProgrammaticEdit(oldV);
}
function insertImage() {
const ta = this.textarea;
@@ -2920,10 +2935,10 @@ function insertImage() {
ta.focus();
ta.selectionStart = start + sel.length + 4;
ta.selectionEnd = ta.selectionStart + url.length;
+ const oldV = this._value;
this._value = ta.value;
this._pushHistory();
- this._render();
- this._emit('change', this._value);
+ this._afterProgrammaticEdit(oldV);
}
function insertTable(rows = 3, cols = 3) {
const header = Array.from({ length: cols }, (_, i) => `${this.t('tableCols') || '列'}${i + 1}`).join(' | ');
@@ -2965,10 +2980,10 @@ function formatTable() {
return '| ' + padded.join(' | ') + ' |';
});
ta.value = ta.value.substring(0, tableStart) + formatted.join('\n') + ta.value.substring(tableEnd);
+ const oldV = this._value;
this._value = ta.value;
this._pushHistory();
- this._render();
- this._emit('change', this._value);
+ this._afterProgrammaticEdit(oldV);
}
// ============ Prototype installation ============
const installCommands = (proto) => {
@@ -2984,8 +2999,17 @@ const installCommands = (proto) => {
/**
* MetonaEditor Floating Toolbar — selection format toolbar
* @module floating-toolbar
- * @version 0.4.0
+ * @version 0.4.3
+ *
+ * 定位策略(v0.4.3 重做):mirror 镜像测量。
+ * 创建与 textarea 排版样式一致的隐藏镜像层,在选区锚点(文档序中点)处
+ * 插入零宽字符 marker,读取其 offsetLeft/offsetTop 得到像素级精确坐标,
+ * 彻底替代旧版按字符宽度估算的方案(CJK、软换行、tab 宽度、字体
+ * fallback 的误差全部消除)。锚点滚出可视区自动隐藏;textarea 滚动时
+ * rAF 节流重定位;divider 拖拽结束 / 窗口 resize 后隐藏待重新触发。
*/
+/** 浮动工具栏与选区锚点之间的间距(px) */
+const ANCHOR_GAP = 6;
function initFloatingToolbar() {
if (typeof document === 'undefined')
return;
@@ -2993,11 +3017,9 @@ function initFloatingToolbar() {
if (!document.getElementById('me-float-style')) {
const style = document.createElement('style');
style.id = 'me-float-style';
- style.textContent = `.me-float-toolbar{position:absolute;z-index:25;display:flex;gap:4px;padding:4px 6px;background:var(--md-toolbar-bg,#f8f9fa);border:1px solid var(--md-border,rgba(0,0,0,0.1));border-radius:8px;box-shadow:0 8px 24px -8px rgba(0,0,0,0.2);opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s;pointer-events:none}.me-float-toolbar.me-visible{opacity:1;transform:translateY(0);pointer-events:auto}.me-float-toolbar .me-btn{width:28px;height:28px}`;
+ style.textContent = `.me-float-toolbar{position:absolute;z-index:25;display:flex;gap:4px;padding:4px 6px;background:var(--md-toolbar-bg,#f8f9fa);border:1px solid var(--md-border,rgba(0,0,0,0.1));border-radius:8px;box-shadow:0 8px 24px -8px rgba(0,0,0,0.2);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s,transform .15s,visibility .15s;pointer-events:none}.me-float-toolbar.me-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.me-float-toolbar .me-btn{width:28px;height:28px}.me-float-mirror{position:absolute;top:0;left:0;visibility:hidden;pointer-events:none;z-index:-1;border:0;margin:0}`;
document.head.appendChild(style);
}
- if (!this._floatingEnabled)
- return;
const ta = this.textarea;
const show = () => {
if (this._destroyed || this.config.readOnly || !this._floatingEnabled)
@@ -3010,58 +3032,130 @@ function initFloatingToolbar() {
}
if (!this._floatingToolbar || !this._floatingToolbar.parentNode)
this._buildFloatingToolbar();
- const taRect = ta.getBoundingClientRect();
- const paneRect = this.editorPane.getBoundingClientRect();
+ const anchor = this._measureSelectionAnchor();
+ if (!anchor) {
+ this._hideFloatingToolbar();
+ return;
+ }
+ // 选区锚点行已滚出 textarea 可视区时隐藏(跟随滚动的重定位会再次显示)
+ if (anchor.y < -parseFloat(getComputedStyle(ta).lineHeight || '22') || anchor.y > ta.clientHeight) {
+ this._hideFloatingToolbar();
+ return;
+ }
+ const bar = this._floatingToolbar;
+ // 实测尺寸定位(替代旧版 -80 / 36 / 200 等魔法数字)
+ const barRect = bar.getBoundingClientRect();
+ const barW = barRect.width || 170;
+ const barH = barRect.height || 38;
const taStyle = getComputedStyle(ta);
const lineHeight = parseFloat(taStyle.lineHeight) || 22;
- const paddingTop = parseFloat(taStyle.paddingTop) || 16;
- const paddingLeft = parseFloat(taStyle.paddingLeft) || 18;
- const fontSize = parseFloat(taStyle.fontSize) || 13.5;
- const textBefore = ta.value.substring(0, start);
- const lines = textBefore.split('\n');
- const currentLine = lines.length - 1;
- const currentCol = textBefore.length - textBefore.lastIndexOf('\n') - 1;
- const midCol = currentCol + Math.floor((end - start) / 2 * ((ta.selectionDirection === 'backward') ? -1 : 1));
- const lineViewportTop = taRect.top + paddingTop + currentLine * lineHeight - ta.scrollTop;
- const lineLocalTop = lineViewportTop - paneRect.top;
- const toolbarHeight = 36;
- const gap = 4;
- let top = lineLocalTop - toolbarHeight - gap;
- if (top < gap)
- top = lineLocalTop + lineHeight + gap;
- // 逐字符估算列偏移:CJK 全角字符宽约 1em,其余按 0.6em,
- // 纯 ASCII 选区回退到原 0.6em 估算,中文选区不再整体偏左。
- const CJK_RE = /[\u1100-\u115F\u2E80-\u303E\u3041-\u33FF\u3400-\u4DBF\u4E00-\u9FFF\uAC00-\uD7A3\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFF60\uFFE0-\uFFE6]/;
- const lineText = lines[lines.length - 1] || '';
- const measureX = (col) => {
- let w = 0;
- const n = Math.max(0, Math.min(col, lineText.length));
- for (let i = 0; i < n; i++)
- w += CJK_RE.test(lineText[i]) ? fontSize : fontSize * 0.6;
- return w;
- };
- const colX = taRect.left + paddingLeft + measureX(midCol) - ta.scrollLeft;
- let left = colX - paneRect.left - 80;
- left = Math.max(4, Math.min(left, paneRect.width - 200));
- this._floatingToolbar.style.top = top + 'px';
- this._floatingToolbar.style.left = left + 'px';
- this._floatingToolbar.classList.add('me-visible');
+ const paneW = this.editorPane.getBoundingClientRect().width;
+ let top = anchor.y - barH - ANCHOR_GAP;
+ if (top < ANCHOR_GAP)
+ top = anchor.y + lineHeight + ANCHOR_GAP;
+ let left = anchor.x - barW / 2;
+ left = Math.max(4, Math.min(left, paneW - barW - 4));
+ if (left < 4)
+ left = 4; // 极窄面板兜底
+ bar.style.top = top + 'px';
+ bar.style.left = left + 'px';
+ bar.classList.add('me-visible');
};
const hide = () => { this._hideFloatingToolbar(); };
- ta.addEventListener('mouseup', () => setTimeout(show, 0));
- ta.addEventListener('keyup', () => {
+ // 滚动跟随:rAF 节流重定位(保持纯事件驱动,不做轮询)
+ let rafPending = false;
+ const reposition = () => {
+ if (rafPending)
+ return;
+ rafPending = true;
+ requestAnimationFrame(() => { rafPending = false; show(); });
+ };
+ const onMouseUp = () => setTimeout(show, 0);
+ const onKeyup = () => {
// selectionChange / cursorMove 事件由 core._emitCursorEvents 统一发射
if (ta.selectionStart !== ta.selectionEnd)
setTimeout(show, 0);
else
setTimeout(hide, 0);
- });
- ta.addEventListener('blur', () => setTimeout(hide, 300));
- ta.addEventListener('click', () => {
+ };
+ const onBlur = () => setTimeout(() => {
+ // 焦点快速抖动场景(如自动化 fill 后还原焦点再 focus 回来、
+ // 宿主脚本焦点切换):延迟到期时焦点已回到 textarea 则不隐藏
+ if (document.activeElement === ta)
+ return;
+ hide();
+ }, 300);
+ const onClick = () => {
if (ta.selectionStart === ta.selectionEnd)
hide();
+ };
+ const onScroll = reposition;
+ // 布局变化后旧坐标失效,直接隐藏(下次选区交互重新显示)
+ const onResize = () => hide();
+ ta.addEventListener('mouseup', onMouseUp);
+ ta.addEventListener('keyup', onKeyup);
+ ta.addEventListener('blur', onBlur);
+ ta.addEventListener('click', onClick);
+ ta.addEventListener('scroll', onScroll);
+ window.addEventListener('resize', onResize);
+ // 事件绑定与启用状态解耦:floatingToolbar:false 构造的实例,
+ // toggleFloatingToolbar() 打开后仍可正常显示(修复“死开关”)。
+ this._cleanups.push(() => {
+ ta.removeEventListener('mouseup', onMouseUp);
+ ta.removeEventListener('keyup', onKeyup);
+ ta.removeEventListener('blur', onBlur);
+ ta.removeEventListener('click', onClick);
+ ta.removeEventListener('scroll', onScroll);
+ window.removeEventListener('resize', onResize);
});
}
+/**
+ * 镜像测量选区锚点坐标(相对 editorPane 的局部坐标)。
+ * 锚点 = 选区文档序中点:单行选区即视觉中部,跨行选区约在选区垂直中心。
+ */
+function measureSelectionAnchor() {
+ const ta = this.textarea;
+ if (!ta || !this.editorPane)
+ return null;
+ const start = ta.selectionStart;
+ const end = ta.selectionEnd;
+ if (start === end)
+ return null;
+ const anchor = Math.floor((start + end) / 2);
+ // 懒创建镜像层并复制 textarea 排版样式(font/行高/padding/换行/tab)
+ let mirror = this._floatMirror;
+ if (!mirror || !mirror.parentNode) {
+ mirror = document.createElement('div');
+ mirror.className = 'me-float-mirror';
+ this.editorPane.appendChild(mirror);
+ this._floatMirror = mirror;
+ }
+ const cs = getComputedStyle(ta);
+ const props = [
+ ['fontFamily', cs.fontFamily], ['fontSize', cs.fontSize], ['fontWeight', cs.fontWeight],
+ ['fontStyle', cs.fontStyle], ['letterSpacing', cs.letterSpacing], ['lineHeight', cs.lineHeight],
+ ['paddingTop', cs.paddingTop], ['paddingRight', cs.paddingRight],
+ ['paddingBottom', cs.paddingBottom], ['paddingLeft', cs.paddingLeft],
+ ['whiteSpace', cs.whiteSpace], ['overflowWrap', cs.overflowWrap],
+ ['wordBreak', cs.wordBreak], ['tabSize', cs.tabSize], ['boxSizing', 'border-box'],
+ ];
+ props.forEach(([k, v]) => { mirror.style[k] = v; });
+ // 宽度对齐 textarea 文本排版区(clientWidth 含 padding 不含滚动条)
+ mirror.style.width = ta.clientWidth + 'px';
+ // 仅需锚点前缀文本:其后内容不影响锚点位置(折行由前缀决定)
+ mirror.textContent = '';
+ mirror.appendChild(document.createTextNode(ta.value.slice(0, anchor)));
+ const marker = document.createElement('span');
+ marker.textContent = '\u200b';
+ mirror.appendChild(marker);
+ // marker 坐标相对 mirror(position:absolute 的 offsetParent,border 0),
+ // 即字符相对 textarea border box 的位置;再扣除滚动、平移到 pane 局部坐标
+ const x = marker.offsetLeft - ta.scrollLeft;
+ const y = marker.offsetTop - ta.scrollTop;
+ const taRect = ta.getBoundingClientRect();
+ const paneRect = this.editorPane.getBoundingClientRect();
+ return { x: x + taRect.left - paneRect.left, y: y + taRect.top - paneRect.top };
+}
function toggleFloatingToolbar() {
this._floatingEnabled = !this._floatingEnabled;
if (!this._floatingEnabled) {
@@ -3077,15 +3171,23 @@ function isFloatingToolbar() { return this._floatingEnabled; }
function buildFloatingToolbar() {
const bar = document.createElement('div');
bar.className = 'me-float-toolbar';
+ bar.setAttribute('role', 'toolbar');
+ bar.setAttribute('aria-label', this.t('formatToolbar') || '格式化选区');
const actions = ['bold', 'italic', 'code', 'link', 'strikethrough'];
actions.forEach((action) => {
const btn = this._createBtn(action);
+ // mousedown 阻止夺焦(textarea 选区与焦点保持);命令执行统一走 click,
+ // 键盘 Enter/Space 触发的 click 同样生效(可访问性)
btn.addEventListener('mousedown', (e) => {
e.preventDefault();
e.stopPropagation();
+ });
+ btn.addEventListener('click', () => {
this.exec(action);
- // Keep selection after exec
- setTimeout(() => this.textarea.focus(), 0);
+ this._hideFloatingToolbar();
+ // Keep selection after exec(延迟回调时实例可能已销毁)
+ setTimeout(() => { if (!this._destroyed && this.textarea)
+ this.textarea.focus(); }, 0);
});
bar.appendChild(btn);
});
@@ -3104,6 +3206,7 @@ const installFloatingToolbar = (proto) => {
proto.isFloatingToolbar = isFloatingToolbar;
proto._buildFloatingToolbar = buildFloatingToolbar;
proto._hideFloatingToolbar = hideFloatingToolbar;
+ proto._measureSelectionAnchor = measureSelectionAnchor;
};
/**
@@ -3168,7 +3271,8 @@ function showContextMenu(e) {
el.className = 'me-context-menu-item';
if (item.disabled)
el.classList.add('me-disabled');
- el.innerHTML = `${item.label}${item.shortcut ? `` : ''}`;
+ // 自定义菜单项的 label / shortcut 经转义后拼接(防 HTML 注入)
+ el.innerHTML = `${escapeHTML(item.label)}${item.shortcut ? `` : ''}`;
el.addEventListener('click', (ev) => {
ev.stopPropagation();
if (item.disabled)
@@ -3214,9 +3318,13 @@ function execContextAction(action) {
case 'copy':
document.execCommand('copy');
break;
- case 'paste':
- document.execCommand('paste');
+ case 'paste': {
+ // 现代浏览器出于安全限制,execCommand('paste') 通常静默失败 —— 提示改用 Ctrl+V
+ const ok = document.execCommand('paste');
+ if (!ok)
+ this.toast(this.t('pasteBlocked') || '无法直接粘贴,请使用 Ctrl+V', { type: 'info' });
break;
+ }
case 'selectAll':
ta.focus();
ta.select();
@@ -3471,6 +3579,7 @@ class MarkdownEditor {
this._zenMouseHandler = null;
this._floatingToolbar = null;
this._floatingEnabled = this.config.floatingToolbar !== false;
+ this._floatMirror = null;
this._renderFn = (typeof this.config.render === 'function') ? this.config.render : parseMarkdown;
this._highlightFn = (typeof this.config.highlight === 'function') ? this.config.highlight : null;
MarkdownEditor.trigger('beforeCreate', this);
@@ -3492,8 +3601,9 @@ class MarkdownEditor {
this._bindEvents();
this._bindContextMenu();
this._trackOutlineScroll();
- if (this.config.floatingToolbar !== false)
- this._initFloatingToolbar();
+ // 无条件绑定事件(show 内部检查 _floatingEnabled):
+ // floatingToolbar:false 构造的实例 toggleFloatingToolbar() 打开后仍可显示
+ this._initFloatingToolbar();
this.textarea.value = this._value;
if (!this._wordWrap)
this.textarea.style.whiteSpace = 'pre';
@@ -3773,6 +3883,12 @@ class MarkdownEditor {
this.toolbarEl.addEventListener('click', onToolbarClick);
const onDividerDown = (e) => this._bindDividerDrag(e);
this.dividerEl.addEventListener('pointerdown', onDividerDown);
+ // 全屏模式按 Esc 退出(与 shortcutHelp 面板的 Esc 关闭互不冲突:条件互斥)
+ const onDocKeydown = (e) => {
+ if (e.key === 'Escape' && this._fullscreen)
+ this.exitFullscreen();
+ };
+ document.addEventListener('keydown', onDocKeydown);
this._bindDragDrop();
this._cleanups.push(() => {
ta.removeEventListener('input', onInput);
@@ -3786,6 +3902,7 @@ class MarkdownEditor {
ta.removeEventListener('blur', onBlur);
this.toolbarEl.removeEventListener('click', onToolbarClick);
this.dividerEl.removeEventListener('pointerdown', onDividerDown);
+ document.removeEventListener('keydown', onDocKeydown);
});
}
_handleKeydown(e) {
@@ -3870,10 +3987,10 @@ class MarkdownEditor {
ta.selectionStart = lineStart;
ta.selectionEnd = lineStart + newBlock.length;
}
+ const old = this._value;
this._value = ta.value;
this._pushHistory();
- this._render();
- this._emit('change', this._value);
+ this._afterProgrammaticEdit(old);
}
_bindDividerDrag(e) {
if (this._mode !== 'split')
@@ -3899,6 +4016,8 @@ class MarkdownEditor {
window.removeEventListener('pointermove', onMove);
window.removeEventListener('pointerup', onUp);
this._saveDividerPosition();
+ // pane 宽度变化导致折行重排,旧定位坐标失效,隐藏待重新触发
+ this._hideFloatingToolbar();
};
window.addEventListener('pointermove', onMove);
window.addEventListener('pointerup', onUp);
@@ -4014,12 +4133,12 @@ class MarkdownEditor {
const content = listMatch[3];
if (!content.trim()) {
e.preventDefault();
+ const oldV = this._value;
ta.value = val.slice(0, lineStart) + '\n' + val.slice(start);
ta.selectionStart = ta.selectionEnd = lineStart;
this._value = ta.value;
this._pushHistory();
- this._renderGutter();
- this._emit('change', this._value);
+ this._afterProgrammaticEdit(oldV);
return;
}
let nextMarker = marker;
@@ -4032,10 +4151,10 @@ class MarkdownEditor {
const insert = '\n' + indent + nextMarker + ' ';
ta.value = val.slice(0, start) + insert + val.slice(ta.selectionEnd);
ta.selectionStart = ta.selectionEnd = start + insert.length;
+ const oldV = this._value;
this._value = ta.value;
this._pushHistory();
- this._renderGutter();
- this._emit('change', this._value);
+ this._afterProgrammaticEdit(oldV);
return;
}
const quoteMatch = line.match(/^(\s*>+\s?)(.*)/);
@@ -4044,22 +4163,22 @@ class MarkdownEditor {
const content = quoteMatch[2];
if (!content.trim()) {
e.preventDefault();
+ const oldV = this._value;
ta.value = val.slice(0, lineStart) + '\n' + val.slice(start);
ta.selectionStart = ta.selectionEnd = lineStart;
this._value = ta.value;
this._pushHistory();
- this._renderGutter();
- this._emit('change', this._value);
+ this._afterProgrammaticEdit(oldV);
return;
}
e.preventDefault();
const insert = '\n' + prefix;
ta.value = val.slice(0, start) + insert + val.slice(ta.selectionEnd);
ta.selectionStart = ta.selectionEnd = start + insert.length;
+ const oldV = this._value;
this._value = ta.value;
this._pushHistory();
- this._renderGutter();
- this._emit('change', this._value);
+ this._afterProgrammaticEdit(oldV);
}
}
_handleBracketAutoClose(e) {
@@ -4074,6 +4193,7 @@ class MarkdownEditor {
const end = ta.selectionEnd;
if (start !== end) {
e.preventDefault();
+ const oldV = this._value;
const selected = ta.value.slice(start, end);
const wrap = key + selected + close;
ta.value = ta.value.slice(0, start) + wrap + ta.value.slice(end);
@@ -4081,7 +4201,7 @@ class MarkdownEditor {
ta.selectionEnd = start + 1 + selected.length;
this._value = ta.value;
this._pushHistory();
- this._emit('change', this._value);
+ this._afterProgrammaticEdit(oldV);
return;
}
const nextChar = ta.value[start] || '';
@@ -4095,12 +4215,13 @@ class MarkdownEditor {
return;
}
e.preventDefault();
+ const oldV = this._value;
const pair = key + close;
ta.value = ta.value.slice(0, start) + pair + ta.value.slice(end);
ta.selectionStart = ta.selectionEnd = start + 1;
this._value = ta.value;
this._pushHistory();
- this._emit('change', this._value);
+ this._afterProgrammaticEdit(oldV);
}
_bindDragDrop() {
const ta = this.textarea;
@@ -4142,6 +4263,39 @@ class MarkdownEditor {
}
_scheduleHistory() { if (this._historyTimer)
clearTimeout(this._historyTimer); this._historyTimer = setTimeout(() => this._pushHistory(), this.config.historyDebounce || 400); }
+ /**
+ * 程序化编辑路径(命令 / 快捷键 / 插件 / API 直改 textarea)的统一刷新管线。
+ * 此前 8 条路径的 预览/行号/字数/大纲 刷新与事件发射参差不齐,
+ * 现统一为:渲染 + 行号 + 字数 + 大纲 + input/change 事件 + 回调 + before/afterChange 钩子。
+ */
+ _afterProgrammaticEdit(oldValue) {
+ MarkdownEditor.trigger('beforeChange', this);
+ this._emit('beforeChange', oldValue, this._value);
+ this._render();
+ this._renderGutter();
+ this._updateWordCount();
+ this._updateOutline();
+ this._emit('input', this._value);
+ this._emit('change', this._value);
+ if (typeof this.config.onInput === 'function') {
+ try {
+ this.config.onInput(this._value, this);
+ }
+ catch (e) {
+ console.error(e);
+ }
+ }
+ if (typeof this.config.onChange === 'function') {
+ try {
+ this.config.onChange(this._value, this);
+ }
+ catch (e) {
+ console.error(e);
+ }
+ }
+ this._emit('afterChange', this._value);
+ MarkdownEditor.trigger('afterChange', this);
+ }
_pushHistory() {
// Enforce maxLength as a last-resort guard for programmatic edit paths
// (tab/indent, smart-enter, bracket auto-close, exec commands) that write
@@ -4172,11 +4326,10 @@ class MarkdownEditor {
const pv = this.previewPane;
const pvMax = pv ? pv.scrollHeight - pv.clientHeight : 0;
const pvRatio = pvMax > 0 ? pv.scrollTop / pvMax : null;
+ const oldV = this._value;
this._value = this._history[this._historyIndex];
this.textarea.value = this._value;
- this._render();
- this._renderGutter();
- this._updateWordCount();
+ this._afterProgrammaticEdit(oldV);
if (this.gutter)
this.gutter.scrollTop = this.textarea.scrollTop;
if (pv && pvRatio != null) {
@@ -4184,15 +4337,6 @@ class MarkdownEditor {
if (max > 0)
pv.scrollTop = pvRatio * max;
}
- this._emit('change', this._value);
- if (typeof this.config.onChange === 'function') {
- try {
- this.config.onChange(this._value, this);
- }
- catch (e) {
- console.error(e);
- }
- }
}
_captureCursor() {
if (!this.textarea)
@@ -4558,12 +4702,11 @@ class MarkdownEditor {
if (!matches)
return 0;
// 函数式替换:替换文本按字面处理,$ 无特殊语义
+ const oldV = this._value;
this._value = this._limitLength(this._value.replace(re, () => replace));
this.textarea.value = this._value;
this._pushHistory();
- this._render();
- this._updateWordCount();
- this._emit('change', this._value);
+ this._afterProgrammaticEdit(oldV);
return matches.length;
}
replaceAllRegex(pattern, replace) {
@@ -4573,12 +4716,11 @@ class MarkdownEditor {
const matches = this._value.match(re);
if (!matches)
return 0;
+ const oldV = this._value;
this._value = this._limitLength(this._value.replace(re, replace));
this.textarea.value = this._value;
this._pushHistory();
- this._render();
- this._updateWordCount();
- this._emit('change', this._value);
+ this._afterProgrammaticEdit(oldV);
return matches.length;
}
lineCount() {
@@ -4646,9 +4788,17 @@ class MarkdownEditor {
copyAsHTML() {
const html = this.getHTML();
if (typeof navigator !== 'undefined' && navigator.clipboard) {
- const blob = new Blob([html], { type: 'text/html' });
- const item = new ClipboardItem({ 'text/html': blob, 'text/plain': new Blob([this._value], { type: 'text/plain' }) });
- navigator.clipboard.write([item]).then(() => this._emit('copy', { type: 'html' })).catch(() => { });
+ // ClipboardItem 在 Firefox 等环境缺失,构造即抛 TypeError —— 降级为纯文本复制
+ if (typeof ClipboardItem !== 'undefined') {
+ try {
+ const blob = new Blob([html], { type: 'text/html' });
+ const item = new ClipboardItem({ 'text/html': blob, 'text/plain': new Blob([this._value], { type: 'text/plain' }) });
+ navigator.clipboard.write([item]).then(() => this._emit('copy', { type: 'html' })).catch(() => { });
+ return this;
+ }
+ catch (_) { /* fallthrough 降级 */ }
+ }
+ navigator.clipboard.writeText(this._value).then(() => this._emit('copy', { type: 'html' })).catch(() => { });
}
return this;
}
@@ -4660,11 +4810,10 @@ class MarkdownEditor {
ta.value = inserted;
ta.focus();
ta.selectionStart = ta.selectionEnd = Math.min(start + text.length, inserted.length);
+ const oldV = this._value;
this._value = ta.value;
this._pushHistory();
- this._render();
- this._updateWordCount();
- this._emit('change', this._value);
+ this._afterProgrammaticEdit(oldV);
return this;
}
wrap(before, after) { this._wrapSelection(before, after || before); return this; }
@@ -4850,6 +4999,9 @@ class MarkdownEditor {
if (this._floatingToolbar && this._floatingToolbar.parentNode)
this._floatingToolbar.parentNode.removeChild(this._floatingToolbar);
this._floatingToolbar = null;
+ if (this._floatMirror && this._floatMirror.parentNode)
+ this._floatMirror.parentNode.removeChild(this._floatMirror);
+ this._floatMirror = null;
if (this.el)
this.el.querySelectorAll('.me-toast').forEach((t) => t.remove());
this._plugins.forEach((p) => { if (typeof p.destroy === 'function') {
@@ -5139,9 +5291,9 @@ const getSupportedLanguages = () => Object.keys(LANGUAGES);
/**
* MetonaEditor — Type-safe, lightweight Markdown Editor
* @module metona-editor
- * @version 0.4.2
+ * @version 0.4.3
*/
-const VERSION = '0.4.2';
+const VERSION = '0.4.3';
const globalPlugins = [];
// 全局插件在 afterCreate 安装:此时 DOM 已构建完成,依赖 textarea/el 的插件
// (searchReplace / shortcutHelp / imagePaste)才能正常生效。
diff --git a/dist/metona-editor.mjs.map b/dist/metona-editor.mjs.map
index b439583..af6b2c2 100644
--- a/dist/metona-editor.mjs.map
+++ b/dist/metona-editor.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"metona-editor.mjs","sources":["../src/utils.ts","../src/icons.ts","../src/locales.ts","../src/constants.ts","../src/styles.ts","../src/i18n.ts","../src/parser.ts","../src/plugins.ts","../src/themes.ts","../src/commands.ts","../src/floating-toolbar.ts","../src/context-menu.ts","../src/outline.ts","../src/core.ts","../src/animations.ts","../src/highlight.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["escapeAttr","i18nT"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"metona-editor.mjs","sources":["../src/utils.ts","../src/icons.ts","../src/locales.ts","../src/constants.ts","../src/styles.ts","../src/i18n.ts","../src/parser.ts","../src/plugins.ts","../src/themes.ts","../src/commands.ts","../src/floating-toolbar.ts","../src/context-menu.ts","../src/outline.ts","../src/core.ts","../src/animations.ts","../src/highlight.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["escapeAttr","i18nT"],"mappings":"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"}
\ No newline at end of file