@editora/plugins 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/a11y-checker.cjs.js +1 -1
  2. package/dist/anchor.cjs.js +3 -3
  3. package/dist/background-color.cjs.js +2 -2
  4. package/dist/blockquote.cjs.js +1 -1
  5. package/dist/bold.cjs.js +1 -1
  6. package/dist/capitalization.cjs.js +1 -1
  7. package/dist/checklist.cjs.js +1 -1
  8. package/dist/clear-formatting.cjs.js +1 -1
  9. package/dist/code-sample.cjs.js +7 -7
  10. package/dist/code-sample.esm.js +51 -51
  11. package/dist/code.cjs.js +39 -31
  12. package/dist/code.esm.js +570 -440
  13. package/dist/comments.cjs.js +1 -1
  14. package/dist/direction.cjs.js +1 -1
  15. package/dist/document-manager.cjs.js +1 -1
  16. package/dist/embed-iframe.cjs.js +1 -1
  17. package/dist/emojis.cjs.js +1 -1
  18. package/dist/font-family.cjs.js +1 -1
  19. package/dist/font-size.cjs.js +1 -1
  20. package/dist/footnote.cjs.js +2 -2
  21. package/dist/fullscreen.cjs.js +1 -1
  22. package/dist/heading.cjs.js +1 -1
  23. package/dist/history.cjs.js +1 -1
  24. package/dist/history.esm.js +8 -8
  25. package/dist/indent.cjs.js +1 -1
  26. package/dist/index.cjs.js +1 -1
  27. package/dist/italic.cjs.js +1 -1
  28. package/dist/line-height.cjs.js +1 -1
  29. package/dist/link.cjs.js +3 -3
  30. package/dist/list.cjs.js +1 -1
  31. package/dist/lite.cjs.js +1 -1
  32. package/dist/math.cjs.js +2 -2
  33. package/dist/media-manager.cjs.js +4 -4
  34. package/dist/merge-tag.cjs.js +3 -3
  35. package/dist/merge-tag.esm.js +1 -1
  36. package/dist/page-break.cjs.js +2 -2
  37. package/dist/preview.cjs.js +3 -3
  38. package/dist/print.cjs.js +1 -1
  39. package/dist/shared-config.cjs.js +1 -1
  40. package/dist/special-characters.cjs.js +3 -3
  41. package/dist/spell-check.cjs.js +1 -1
  42. package/dist/strikethrough.cjs.js +1 -1
  43. package/dist/table.cjs.js +3 -3
  44. package/dist/template.cjs.js +5 -5
  45. package/dist/text-alignment.cjs.js +1 -1
  46. package/dist/text-color.cjs.js +1 -1
  47. package/dist/underline.cjs.js +1 -1
  48. package/package.json +91 -47
package/dist/math.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C={latex:[{name:"Fraction",formula:"\\frac{a}{b}",description:"Simple fraction"},{name:"Square Root",formula:"\\sqrt{x}",description:"Square root"},{name:"Power",formula:"x^{2}",description:"Exponent/power"},{name:"Subscript",formula:"x_{sub}",description:"Subscript"},{name:"Integral",formula:"\\int_{a}^{b} f(x) \\, dx",description:"Definite integral"},{name:"Summation",formula:"\\sum_{i=1}^{n} x_{i}",description:"Summation"},{name:"Limit",formula:"\\lim_{x \\to 0} f(x)",description:"Limit"},{name:"Derivative",formula:"\\frac{d}{dx} f(x)",description:"Derivative"},{name:"Matrix 2x2",formula:"\\begin{pmatrix} a & b \\\\ c & d \\end{pmatrix}",description:"2x2 matrix"},{name:"System",formula:"\\begin{cases} x + y = 1 \\\\ 2x - y = 0 \\end{cases}",description:"System of equations"}],mathml:[{name:"Fraction",formula:"<mfrac><mi>a</mi><mi>b</mi></mfrac>",description:"Simple fraction"},{name:"Square Root",formula:"<msqrt><mi>x</mi></msqrt>",description:"Square root"},{name:"Power",formula:"<msup><mi>x</mi><mn>2</mn></msup>",description:"Exponent/power"},{name:"Subscript",formula:"<msub><mi>x</mi><mi>sub</mi></msub>",description:"Subscript"},{name:"Parentheses",formula:'<mfenced open="(" close=")"><mi>a</mi><mo>+</mo><mi>b</mi></mfenced>',description:"Grouped expression"}]};let h=null,w=null,E=!1;const y='[data-theme="dark"], .dark, .editora-theme-dark',q=()=>new Promise((a,s)=>{if(window.katex){a(window.katex);return}if(E){const i=setInterval(()=>{window.katex&&(clearInterval(i),a(window.katex))},100);return}E=!0;const o=document.createElement("link");o.rel="stylesheet",o.href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css",document.head.appendChild(o);const e=document.createElement("script");e.src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js",e.onload=()=>a(window.katex),e.onerror=s,document.head.appendChild(e)}),H=()=>{const a=window.getSelection();if(a&&a.rangeCount>0){const o=a.getRangeAt(0).startContainer;if((o.nodeType===Node.ELEMENT_NODE?o:o.parentElement)?.closest(y))return!0}return document.activeElement?.closest(y)?!0:document.body.matches(y)||document.documentElement.matches(y)},T=async a=>{const s=window.getSelection();s&&s.rangeCount>0&&(h=s.getRangeAt(0).cloneRange()),await q();const o=H(),e=o?{overlay:"rgba(0, 0, 0, 0.62)",dialogBg:"#1f2937",border:"#3b4657",panelBg:"#222d3a",fieldBg:"#111827",fieldBorder:"#4b5563",text:"#e2e8f0",muted:"#94a3b8",templateBtnBg:"#273244",templateBtnHover:"#334155",templateBtnText:"#dbe7f7",templateSubText:"#9fb0c6",previewBg:"#111827",previewText:"#cbd5e1",cancelBg:"#334155",cancelText:"#e2e8f0",cancelBorder:"#4b5563",insertBg:"#3b82f6",insertHover:"#2563eb",invalid:"#f87171"}:{overlay:"rgba(0, 0, 0, 0.5)",dialogBg:"#ffffff",border:"#e1e5e9",panelBg:"#f8f9fa",fieldBg:"#ffffff",fieldBorder:"#ced4da",text:"#1f2937",muted:"#6c757d",templateBtnBg:"#ffffff",templateBtnHover:"#f8f9fa",templateBtnText:"#1f2937",templateSubText:"#6c757d",previewBg:"#f8f9fa",previewText:"#6c757d",cancelBg:"#ffffff",cancelText:"#1f2937",cancelBorder:"#ced4da",insertBg:"#007bff",insertHover:"#0069d9",invalid:"#cc0000"},i=document.createElement("div");i.style.cssText=`position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: ${e.overlay}; display: flex; align-items: center; justify-content: center; z-index: 99999;`;const l=document.createElement("div");l.style.cssText=`background: ${e.dialogBg}; border: 1px solid ${e.border}; border-radius: 8px; width: 90%; max-width: 600px; max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2); color: ${e.text};`;let d=a?.format||"latex",u=a?.formula||"",M=a?.inline!==!1;l.innerHTML=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const C={latex:[{name:"Fraction",formula:"\\frac{a}{b}",description:"Simple fraction"},{name:"Square Root",formula:"\\sqrt{x}",description:"Square root"},{name:"Power",formula:"x^{2}",description:"Exponent/power"},{name:"Subscript",formula:"x_{sub}",description:"Subscript"},{name:"Integral",formula:"\\int_{a}^{b} f(x) \\, dx",description:"Definite integral"},{name:"Summation",formula:"\\sum_{i=1}^{n} x_{i}",description:"Summation"},{name:"Limit",formula:"\\lim_{x \\to 0} f(x)",description:"Limit"},{name:"Derivative",formula:"\\frac{d}{dx} f(x)",description:"Derivative"},{name:"Matrix 2x2",formula:"\\begin{pmatrix} a & b \\\\ c & d \\end{pmatrix}",description:"2x2 matrix"},{name:"System",formula:"\\begin{cases} x + y = 1 \\\\ 2x - y = 0 \\end{cases}",description:"System of equations"}],mathml:[{name:"Fraction",formula:"<mfrac><mi>a</mi><mi>b</mi></mfrac>",description:"Simple fraction"},{name:"Square Root",formula:"<msqrt><mi>x</mi></msqrt>",description:"Square root"},{name:"Power",formula:"<msup><mi>x</mi><mn>2</mn></msup>",description:"Exponent/power"},{name:"Subscript",formula:"<msub><mi>x</mi><mi>sub</mi></msub>",description:"Subscript"},{name:"Parentheses",formula:'<mfenced open="(" close=")"><mi>a</mi><mo>+</mo><mi>b</mi></mfenced>',description:"Grouped expression"}]};let h=null,w=null,E=!1;const y='[data-theme="dark"], .dark, .editora-theme-dark',q=()=>new Promise((a,s)=>{if(window.katex){a(window.katex);return}if(E){const i=setInterval(()=>{window.katex&&(clearInterval(i),a(window.katex))},100);return}E=!0;const o=document.createElement("link");o.rel="stylesheet",o.href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css",document.head.appendChild(o);const e=document.createElement("script");e.src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js",e.onload=()=>a(window.katex),e.onerror=s,document.head.appendChild(e)}),H=()=>{const a=window.getSelection();if(a&&a.rangeCount>0){const o=a.getRangeAt(0).startContainer;if((o.nodeType===Node.ELEMENT_NODE?o:o.parentElement)?.closest(y))return!0}return document.activeElement?.closest(y)?!0:document.body.matches(y)||document.documentElement.matches(y)},T=async a=>{const s=window.getSelection();s&&s.rangeCount>0&&(h=s.getRangeAt(0).cloneRange()),await q();const o=H(),e=o?{overlay:"rgba(0, 0, 0, 0.62)",dialogBg:"#1f2937",border:"#3b4657",panelBg:"#222d3a",fieldBg:"#111827",fieldBorder:"#4b5563",text:"#e2e8f0",muted:"#94a3b8",templateBtnBg:"#273244",templateBtnHover:"#334155",templateBtnText:"#dbe7f7",templateSubText:"#9fb0c6",previewBg:"#111827",previewText:"#cbd5e1",cancelBg:"#334155",cancelText:"#e2e8f0",cancelBorder:"#4b5563",insertBg:"#3b82f6",insertHover:"#2563eb",invalid:"#f87171"}:{overlay:"rgba(0, 0, 0, 0.5)",dialogBg:"#ffffff",border:"#e1e5e9",panelBg:"#f8f9fa",fieldBg:"#ffffff",fieldBorder:"#ced4da",text:"#1f2937",muted:"#6c757d",templateBtnBg:"#ffffff",templateBtnHover:"#f8f9fa",templateBtnText:"#1f2937",templateSubText:"#6c757d",previewBg:"#f8f9fa",previewText:"#6c757d",cancelBg:"#ffffff",cancelText:"#1f2937",cancelBorder:"#ced4da",insertBg:"#007bff",insertHover:"#0069d9",invalid:"#cc0000"},i=document.createElement("div");i.style.cssText=`position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: ${e.overlay}; display: flex; align-items: center; justify-content: center; z-index: 99999;`;const l=document.createElement("div");l.style.cssText=`background: ${e.dialogBg}; border: 1px solid ${e.border}; border-radius: 8px; width: 90%; max-width: 600px; max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2); color: ${e.text};`;let d=a?.format||"latex",u=a?.formula||"",M=a?.inline!==!1;l.innerHTML=`
2
2
  <div style="display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; border-bottom: 1px solid ${e.border}; background: ${e.panelBg};">
3
3
  <h2 style="margin: 0; font-size: 18px; font-weight: 600; color: ${e.text};">${a?"Edit":"Insert"} Math Formula</h2>
4
4
  <button class="close-btn" style="background: none; border: none; font-size: 28px; cursor: pointer; color: ${e.muted}; padding: 0; width: 30px; height: 30px; line-height: 1;">×</button>
@@ -42,4 +42,4 @@
42
42
  <div style="font-weight: 600; font-size: 12px; color: ${e.templateBtnText};">${n.name}</div>
43
43
  <div style="font-size: 10px; color: ${e.templateSubText}; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;">${n.formula.substring(0,20)}...</div>
44
44
  </button>
45
- `).join(""),k.querySelectorAll("button").forEach(n=>{const r=n;r.onmouseover=()=>{r.style.background=e.templateBtnHover},r.onmouseout=()=>{r.style.background=e.templateBtnBg},n.addEventListener("click",()=>{c.value=n.getAttribute("data-formula")||"",u=c.value,b()})})},b=()=>{const t=c.value.trim();if(!t){f.innerHTML=`<span style="color: ${e.previewText};">Enter a formula to see preview</span>`,m.disabled=!0;return}m.disabled=!1;try{if(d==="latex"){const n=window.katex;f.innerHTML=n.renderToString(t,{displayMode:!1,throwOnError:!1})}else t.trim().startsWith("<math")?f.innerHTML=t:f.innerHTML=`<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline">${t}</math>`}catch{f.innerHTML=`<span style="color: ${e.invalid};">Invalid formula</span>`}},g=()=>document.body.removeChild(i);p.onmouseover=()=>{p.style.color="#f8fafc",p.style.background=o?"#334155":"#e5e7eb",p.style.borderRadius="4px"},p.onmouseout=()=>{p.style.color=e.muted,p.style.background="none"},x.onmouseover=()=>{x.style.background=o?"#475569":"#f3f4f6"},x.onmouseout=()=>{x.style.background=e.cancelBg},m.onmouseover=()=>{m.disabled||(m.style.background=e.insertHover)},m.onmouseout=()=>{m.style.background=e.insertBg};const B=()=>{const t=c.value.trim();if(!t)return;const n={formula:t,format:d,inline:L.checked},r=n.inline?document.createElement("span"):document.createElement("div");if(r.className=n.inline?"math-formula":"math-block",r.setAttribute("data-math-formula",t),r.setAttribute("data-math-format",d),r.contentEditable="false",r.style.cssText=n.inline?"background: #f0f8ff; border: 1px solid #b8daff; border-radius: 4px; padding: 2px 6px; margin: 0 2px; color: #004085; display: inline-block; cursor: pointer;":"background: #f8f9fa; border: 1px solid #dee2e6; border-radius: 4px; padding: 12px; margin: 8px 0; text-align: center; display: block; cursor: pointer;",d==="latex"){const v=window.katex;try{r.innerHTML=v.renderToString(t,{displayMode:!n.inline,throwOnError:!1})}catch{r.textContent=n.inline?`$${t}$`:`$$${t}$$`}}else if(t.trim().startsWith("<math"))r.innerHTML=t;else{const v=`<math xmlns="http://www.w3.org/1998/Math/MathML" display="${n.inline?"inline":"block"}">${t}</math>`;r.innerHTML=v}w?w.replaceWith(r):h&&(h.deleteContents(),h.insertNode(r)),g()};p.addEventListener("click",g),x.addEventListener("click",g),m.addEventListener("click",B),i.addEventListener("click",t=>{t.target===i&&g()}),S.forEach(t=>{t.addEventListener("change",n=>{d=n.target.value,$(),b()})}),c.addEventListener("input",()=>{u=c.value,b()}),c.addEventListener("keydown",t=>{(t.ctrlKey||t.metaKey)&&t.key==="Enter"&&(t.preventDefault(),B())}),$(),b(),c.focus()};if(typeof window<"u"&&!window.__mathPluginDoubleClickInitialized){window.__mathPluginDoubleClickInitialized=!0;const a=o=>{const i=o.target.closest(".math-formula, .math-block");if(i){o.preventDefault(),o.stopPropagation(),o.stopImmediatePropagation(),w=i;const l=i.getAttribute("data-math-formula")||"",d=i.getAttribute("data-math-format")||"latex",u=i.classList.contains("math-formula");T({formula:l,format:d,inline:u})}},s=()=>{document.addEventListener("dblclick",a,{capture:!0})};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",s):setTimeout(s,100)}const z=()=>({name:"math",toolbar:[{label:"Insert Math",command:"insertMath",icon:'<svg width="24" height="24" focusable="false"><path fill-rule="evenodd" clip-rule="evenodd" d="M9 4.8c.1-.5.5-.8 1-.8h10a1 1 0 1 1 0 2h-9.2L8.3 19.2a1 1 0 0 1-1.7.4l-3.4-4.2a1 1 0 0 1 1.6-1.2l2 2.5L9 4.8Zm9.7 5.5c.4.4.4 1 0 1.4L17 13.5l1.8 1.8a1 1 0 0 1-1.4 1.4L15.5 15l-1.8 1.8a1 1 0 0 1-1.4-1.4l1.8-1.8-1.8-1.8a1 1 0 0 1 1.4-1.4l1.8 1.8 1.8-1.8a1 1 0 0 1 1.4 0Z"></path></svg>'}],commands:{insertMath:()=>(T(),!0)},keymap:{"Mod-Shift-m":"insertMath"}});exports.MathPlugin=z;
45
+ `).join(""),k.querySelectorAll("button").forEach(n=>{const r=n;r.onmouseover=()=>{r.style.background=e.templateBtnHover},r.onmouseout=()=>{r.style.background=e.templateBtnBg},n.addEventListener("click",()=>{c.value=n.getAttribute("data-formula")||"",u=c.value,b()})})},b=()=>{const t=c.value.trim();if(!t){f.innerHTML=`<span style="color: ${e.previewText};">Enter a formula to see preview</span>`,m.disabled=!0;return}m.disabled=!1;try{if(d==="latex"){const n=window.katex;f.innerHTML=n.renderToString(t,{displayMode:!1,throwOnError:!1})}else t.trim().startsWith("<math")?f.innerHTML=t:f.innerHTML=`<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline">${t}</math>`}catch{f.innerHTML=`<span style="color: ${e.invalid};">Invalid formula</span>`}},g=()=>document.body.removeChild(i);p.onmouseover=()=>{p.style.color="#f8fafc",p.style.background=o?"#334155":"#e5e7eb",p.style.borderRadius="4px"},p.onmouseout=()=>{p.style.color=e.muted,p.style.background="none"},x.onmouseover=()=>{x.style.background=o?"#475569":"#f3f4f6"},x.onmouseout=()=>{x.style.background=e.cancelBg},m.onmouseover=()=>{m.disabled||(m.style.background=e.insertHover)},m.onmouseout=()=>{m.style.background=e.insertBg};const B=()=>{const t=c.value.trim();if(!t)return;const n={formula:t,format:d,inline:L.checked},r=n.inline?document.createElement("span"):document.createElement("div");if(r.className=n.inline?"math-formula":"math-block",r.setAttribute("data-math-formula",t),r.setAttribute("data-math-format",d),r.contentEditable="false",r.style.cssText=n.inline?"background: #f0f8ff; border: 1px solid #b8daff; border-radius: 4px; padding: 2px 6px; margin: 0 2px; color: #004085; display: inline-block; cursor: pointer;":"background: #f8f9fa; border: 1px solid #dee2e6; border-radius: 4px; padding: 12px; margin: 8px 0; text-align: center; display: block; cursor: pointer;",d==="latex"){const v=window.katex;try{r.innerHTML=v.renderToString(t,{displayMode:!n.inline,throwOnError:!1})}catch{r.textContent=n.inline?`$${t}$`:`$$${t}$$`}}else if(t.trim().startsWith("<math"))r.innerHTML=t;else{const v=`<math xmlns="http://www.w3.org/1998/Math/MathML" display="${n.inline?"inline":"block"}">${t}</math>`;r.innerHTML=v}w?w.replaceWith(r):h&&(h.deleteContents(),h.insertNode(r)),g()};p.addEventListener("click",g),x.addEventListener("click",g),m.addEventListener("click",B),i.addEventListener("click",t=>{t.target===i&&g()}),S.forEach(t=>{t.addEventListener("change",n=>{d=n.target.value,$(),b()})}),c.addEventListener("input",()=>{u=c.value,b()}),c.addEventListener("keydown",t=>{(t.ctrlKey||t.metaKey)&&t.key==="Enter"&&(t.preventDefault(),B())}),$(),b(),c.focus()};if(typeof window<"u"&&!window.__mathPluginDoubleClickInitialized){window.__mathPluginDoubleClickInitialized=!0;const a=o=>{const i=o.target.closest(".math-formula, .math-block");if(i){o.preventDefault(),o.stopPropagation(),o.stopImmediatePropagation(),w=i;const l=i.getAttribute("data-math-formula")||"",d=i.getAttribute("data-math-format")||"latex",u=i.classList.contains("math-formula");T({formula:l,format:d,inline:u})}},s=()=>{document.addEventListener("dblclick",a,{capture:!0})};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",s):setTimeout(s,100)}const _=()=>({name:"math",toolbar:[{label:"Insert Math",command:"insertMath",icon:'<svg width="24" height="24" focusable="false"><path fill-rule="evenodd" clip-rule="evenodd" d="M9 4.8c.1-.5.5-.8 1-.8h10a1 1 0 1 1 0 2h-9.2L8.3 19.2a1 1 0 0 1-1.7.4l-3.4-4.2a1 1 0 0 1 1.6-1.2l2 2.5L9 4.8Zm9.7 5.5c.4.4.4 1 0 1.4L17 13.5l1.8 1.8a1 1 0 0 1-1.4 1.4L15.5 15l-1.8 1.8a1 1 0 0 1-1.4-1.4l1.8-1.8-1.8-1.8a1 1 0 0 1 1.4-1.4l1.8 1.8 1.8-1.8a1 1 0 0 1 1.4 0Z"></path></svg>'}],commands:{insertMath:()=>(T(),!0)},keymap:{"Mod-Shift-m":"insertMath"}});exports.MathPlugin=_;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./shared-config.cjs.js");let T=null,s=null,d=null,R=[],A=!1,q=null,U=0,P=0,z=0,$=0,_=1,I=null;const j='[data-theme="dark"], .dark, .editora-theme-dark',O=()=>{if(typeof document>"u"||document.getElementById("rte-media-dialog-styles"))return;const e=document.createElement("style");e.id="rte-media-dialog-styles",e.textContent=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("./shared-config.cjs.js");let T=null,s=null,d=null,R=[],A=!1,q=null,U=0,P=0,z=0,$=0,_=1,I=null;const j='[data-theme="dark"], .dark, .editora-theme-dark',O=()=>{if(typeof document>"u"||document.getElementById("rte-media-dialog-styles"))return;const e=document.createElement("style");e.id="rte-media-dialog-styles",e.textContent=`
2
2
  .rte-media-overlay {
3
3
  --rte-media-overlay-bg: rgba(15, 23, 36, 0.56);
4
4
  --rte-media-bg: #ffffff;
@@ -490,7 +490,7 @@
490
490
  <button class="cancel-btn rte-media-btn rte-media-btn-secondary" type="button">Cancel</button>
491
491
  <button id="insert-btn" class="rte-media-btn rte-media-btn-primary" type="button" ${!n&&o==="url"?"disabled":""}>Insert</button>
492
492
  </div>
493
- `};v(),i.appendChild(a),document.body.appendChild(i);const h=()=>{i.parentNode&&i.parentNode.removeChild(i)},E=()=>{if(!n)return;const l=e==="image"?document.createElement("img"):document.createElement("video");l.src=n,l.setAttribute("data-media-type",e),e==="image"&&b&&(l.alt=b),c&&(l.style.width=`${c}px`,l.setAttribute("width",c)),m&&(l.style.height=`${m}px`,l.setAttribute("height",m)),e==="video"&&(l.controls=!0),!c&&!m?l.style.cssText="max-width: 100%; height: auto; display: block; margin: 1em 0; cursor: pointer;":l.style.cssText=`display: block; margin: 1em 0; cursor: pointer; ${c?`width: ${c}px;`:"max-width: 100%;"} ${m?`height: ${m}px;`:"height: auto;"}`,T&&(T.deleteContents(),T.insertNode(l)),h()},y=async l=>{const g=a.querySelector("#upload-progress"),p=a.querySelector("#progress-bar"),x=a.querySelector("#progress-text");if(g&&p&&x){g.style.display="block";let M=0;const f=setInterval(()=>{M+=Math.random()*30,M>90&&(M=90),p.style.width=`${M}%`},200);try{const k=new FileReader;k.onload=()=>{clearInterval(f),p.style.width="100%",x.textContent="Upload complete",setTimeout(()=>{n=k.result,o="url",v(),u()},500)},k.readAsDataURL(l)}catch{clearInterval(f),x.textContent="Upload failed"}}},u=()=>{const l=a.querySelector(".close-btn"),g=a.querySelector(".cancel-btn"),p=a.querySelector("#insert-btn"),x=a.querySelector(".tab-upload"),M=a.querySelector(".tab-url");if(l?.addEventListener("click",h),g?.addEventListener("click",h),p?.addEventListener("click",E),x?.addEventListener("click",()=>{o="upload",v(),u()}),M?.addEventListener("click",()=>{o="url",v(),u()}),o==="upload"){const f=a.querySelector(".dropzone"),k=a.querySelector("#file-input");f?.addEventListener("click",()=>k?.click()),f?.addEventListener("dragover",L=>{L.preventDefault(),f.classList.add("is-dragover")}),f?.addEventListener("dragleave",()=>{f.classList.remove("is-dragover")}),f?.addEventListener("drop",L=>{L.preventDefault(),f.classList.remove("is-dragover");const S=L.dataTransfer?.files[0];S&&y(S)}),k?.addEventListener("change",L=>{const S=L.target.files?.[0];S&&y(S)})}if(o==="url"){const f=a.querySelector("#url-input"),k=a.querySelector("#alt-input"),L=a.querySelector("#width-input"),S=a.querySelector("#height-input");f?.addEventListener("input",()=>{n=f.value,v(),u()}),k?.addEventListener("input",()=>{b=k.value}),L?.addEventListener("input",()=>{c=L.value}),S?.addEventListener("input",()=>{m=S.value})}};u(),i.addEventListener("click",l=>{l.target===i&&h()})},Y=()=>{["nw","ne","sw","se"].forEach(t=>{const r=document.createElement("div");r.className=`media-resize-handle-${t}`,r.style.cssText=`
493
+ `};v(),i.appendChild(a),document.body.appendChild(i);const h=()=>{i.parentNode&&i.parentNode.removeChild(i)},E=()=>{if(!n)return;const l=e==="image"?document.createElement("img"):document.createElement("video");l.src=n,l.setAttribute("data-media-type",e),e==="image"&&b&&(l.alt=b),c&&(l.style.width=`${c}px`,l.setAttribute("width",c)),m&&(l.style.height=`${m}px`,l.setAttribute("height",m)),e==="video"&&(l.controls=!0),!c&&!m?l.style.cssText="max-width: 100%; height: auto; display: block; margin: 1em 0; cursor: pointer;":l.style.cssText=`display: block; margin: 1em 0; cursor: pointer; ${c?`width: ${c}px;`:"max-width: 100%;"} ${m?`height: ${m}px;`:"height: auto;"}`,T&&(T.deleteContents(),T.insertNode(l)),h()},y=async l=>{const g=a.querySelector("#upload-progress"),p=a.querySelector("#progress-bar"),x=a.querySelector("#progress-text");if(g&&p&&x){g.style.display="block";let C=0;const f=setInterval(()=>{C+=Math.random()*30,C>90&&(C=90),p.style.width=`${C}%`},200);try{const k=new FileReader;k.onload=()=>{clearInterval(f),p.style.width="100%",x.textContent="Upload complete",setTimeout(()=>{n=k.result,o="url",v(),u()},500)},k.readAsDataURL(l)}catch{clearInterval(f),x.textContent="Upload failed"}}},u=()=>{const l=a.querySelector(".close-btn"),g=a.querySelector(".cancel-btn"),p=a.querySelector("#insert-btn"),x=a.querySelector(".tab-upload"),C=a.querySelector(".tab-url");if(l?.addEventListener("click",h),g?.addEventListener("click",h),p?.addEventListener("click",E),x?.addEventListener("click",()=>{o="upload",v(),u()}),C?.addEventListener("click",()=>{o="url",v(),u()}),o==="upload"){const f=a.querySelector(".dropzone"),k=a.querySelector("#file-input");f?.addEventListener("click",()=>k?.click()),f?.addEventListener("dragover",L=>{L.preventDefault(),f.classList.add("is-dragover")}),f?.addEventListener("dragleave",()=>{f.classList.remove("is-dragover")}),f?.addEventListener("drop",L=>{L.preventDefault(),f.classList.remove("is-dragover");const S=L.dataTransfer?.files[0];S&&y(S)}),k?.addEventListener("change",L=>{const S=L.target.files?.[0];S&&y(S)})}if(o==="url"){const f=a.querySelector("#url-input"),k=a.querySelector("#alt-input"),L=a.querySelector("#width-input"),S=a.querySelector("#height-input");f?.addEventListener("input",()=>{n=f.value,v(),u()}),k?.addEventListener("input",()=>{b=k.value}),L?.addEventListener("input",()=>{c=L.value}),S?.addEventListener("input",()=>{m=S.value})}};u(),i.addEventListener("click",l=>{l.target===i&&h()})},Y=()=>{["nw","ne","sw","se"].forEach(t=>{const r=document.createElement("div");r.className=`media-resize-handle-${t}`,r.style.cssText=`
494
494
  position: fixed;
495
495
  width: 10px;
496
496
  height: 10px;
@@ -501,7 +501,7 @@
501
501
  z-index: 10001;
502
502
  display: none;
503
503
  box-shadow: 0 1px 3px rgba(0,0,0,0.3);
504
- `,r.setAttribute("data-position",t),document.body.appendChild(r),R.push(r)})},C=()=>{if(!s){R.forEach(r=>r.style.display="none");return}const e=s.getBoundingClientRect(),t={nw:{x:e.left-5,y:e.top-5},ne:{x:e.right-5,y:e.top-5},sw:{x:e.left-5,y:e.bottom-5},se:{x:e.right-5,y:e.bottom-5}};R.forEach(r=>{const i=r.getAttribute("data-position"),a=t[i];r.style.left=`${a.x}px`,r.style.top=`${a.y}px`,r.style.display="block"})},Z=e=>{const t=D(e),r=B(!0);r.innerHTML=`
504
+ `,r.setAttribute("data-position",t),document.body.appendChild(r),R.push(r)})},M=()=>{if(!s){R.forEach(r=>r.style.display="none");return}const e=s.getBoundingClientRect(),t={nw:{x:e.left-5,y:e.top-5},ne:{x:e.right-5,y:e.top-5},sw:{x:e.left-5,y:e.bottom-5},se:{x:e.right-5,y:e.bottom-5}};R.forEach(r=>{const i=r.getAttribute("data-position"),a=t[i];r.style.left=`${a.x}px`,r.style.top=`${a.y}px`,r.style.display="block"})},Z=e=>{const t=D(e),r=B(!0);r.innerHTML=`
505
505
  <div class="rte-media-header">
506
506
  <h2 class="rte-media-title">Edit Alt Text</h2>
507
507
  <button class="close-btn rte-media-close-btn" type="button" aria-label="Close">×</button>
@@ -616,4 +616,4 @@
616
616
  <button class="media-floating-toolbar-btn btn-remove" title="Remove" type="button">
617
617
  <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="3 6 5 6 21 6"></polyline><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path></svg>
618
618
  </button>
619
- `,setTimeout(()=>{w()},0);const a=()=>w();let o=s.parentElement;for(;o;)o.addEventListener("scroll",a),o=o.parentElement;window.addEventListener("scroll",a),window.addEventListener("resize",a),d._cleanup=()=>{let n=s?.parentElement;for(;n;)n.removeEventListener("scroll",a),n=n.parentElement;window.removeEventListener("scroll",a),window.removeEventListener("resize",a)},d.querySelector(".btn-align-left")?.addEventListener("click",()=>{e.style.display="block",e.style.marginLeft="0",e.style.marginRight="auto",w()}),d.querySelector(".btn-align-center")?.addEventListener("click",()=>{e.style.display="block",e.style.marginLeft="auto",e.style.marginRight="auto",w()}),d.querySelector(".btn-align-right")?.addEventListener("click",()=>{e.style.display="block",e.style.marginLeft="auto",e.style.marginRight="0",w()}),d.querySelector(".btn-alt")?.addEventListener("click",()=>{e.tagName==="IMG"&&Z(e)}),d.querySelector(".btn-link")?.addEventListener("click",()=>{K(e)}),d.querySelector(".btn-replace")?.addEventListener("click",()=>{e.tagName==="IMG"&&J(e)}),d.querySelector(".btn-resize")?.addEventListener("click",()=>{const n=prompt("Enter width in pixels:",String(e.width||e.offsetWidth));if(n&&!isNaN(parseInt(n))){const c=parseInt(n);e.style.width=`${c}px`,e.setAttribute("width",String(c)),C(),w()}}),d.querySelector(".btn-remove")?.addEventListener("click",()=>{confirm("Remove this media?")&&(e.remove(),d&&(d._cleanup&&d._cleanup(),d.remove(),d=null),s=null,C())}),d._cleanup=()=>{window.removeEventListener("scroll",w),window.removeEventListener("resize",w)}},W=e=>{I=e||null,Y(),document.addEventListener("click",t=>{const r=t.target;if(r.tagName==="IMG"||r.tagName==="VIDEO"){const i=r;let a=!1;if(I?a=I.contains(i):a=!!i.closest('[contenteditable="true"]'),a){t.preventDefault(),t.stopPropagation(),s=i,s.style.display="block",H(i),C();return}}if(!r.closest(".btn-link, .btn-resize, .btn-remove")&&d&&!r.closest("button")){if(d._cleanup&&d._cleanup(),d.remove(),d=null,s&&s.parentElement){const i=s.parentElement;i._originalPosition!==void 0&&(i.style.position=i._originalPosition,delete i._originalPosition)}s=null,C()}}),R.forEach(t=>{t.addEventListener("mousedown",r=>{if(!s)return;r.preventDefault(),r.stopPropagation(),A=!0,q=t.getAttribute("data-position"),U=r.clientX,P=r.clientY;const i=s.getBoundingClientRect();z=i.width,$=i.height,_=z/$,document.body.style.userSelect="none",document.body.style.cursor=`${q}-resize`})}),document.addEventListener("mousemove",t=>{if(!A||!s||!q)return;const r=t.clientX-U,i=t.clientY-P;let a=z,o=$;switch(q){case"se":a=z+r,o=$+i;break;case"sw":a=z-r,o=$+i;break;case"ne":a=z+r,o=$-i;break;case"nw":a=z-r,o=$-i;break}Math.abs(r)>Math.abs(i)?o=a/_:a=o*_,a=Math.max(50,a),o=Math.max(50,o),s.style.width=`${a}px`,s.style.height=`${o}px`,s.setAttribute("width",String(Math.round(a))),s.setAttribute("height",String(Math.round(o))),C(),w()}),document.addEventListener("mouseup",()=>{A&&(A=!1,q=null,document.body.style.userSelect="",document.body.style.cursor="")}),window.addEventListener("scroll",C),window.addEventListener("resize",C)};typeof window<"u"&&!window.__mediaManagerInitialized&&(window.__mediaManagerInitialized=!0,W());const Q=()=>({name:"image",initialize:e=>{const t=e?.editorElement;W(t)},toolbar:[{label:"Image",command:"insertImage",icon:'<svg width="24px" height="24px" viewBox="0 0 32 32" enable-background="new 0 0 32 32"><g><rect fill="none" height="22" stroke="#000000" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2" width="30" x="1" y="5"></rect><polygon fill="none" points="31,27 21,17 11,27" stroke="#000000" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2"></polygon><polygon fill="none" points="18,20 9,11 1,19 1,27 11,27" stroke="#000000" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2"></polygon><circle cx="19" cy="11" fill="none" r="2" stroke="#000000" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2"></circle></g></svg>'},{label:"Video",command:"insertVideo",icon:'<svg width="24" height="24" focusable="false"><path d="M4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V4c0-.6.4-1 1-1Zm1 2v14h14V5H5Zm4.8 2.6 5.6 4a.5.5 0 0 1 0 .8l-5.6 4A.5.5 0 0 1 9 16V8a.5.5 0 0 1 .8-.4Z" fill-rule="nonzero"></path></svg>'}],commands:{insertImage:(e,t)=>{const r=t?.contentElement instanceof HTMLElement?t.contentElement:void 0;return V("image",r),!0},insertVideo:(e,t)=>{const r=t?.contentElement instanceof HTMLElement?t.contentElement:void 0;return V("video",r),!0}},keymap:{"Mod-Shift-i":"insertImage"}}),ee={apiEndpoints:{upload:"/media/upload",library:"/media/library",delete:"/media/library"},maxFileSize:10*1024*1024,allowedTypes:["image/jpeg","image/png","image/gif","video/mp4","video/webm"],headers:{}};let N={...ee};function te(e){N={...N,...e}}function re(){return{...N}}exports.MediaManagerPlugin=Q;exports.getMediaManagerConfig=re;exports.setMediaManagerConfig=te;
619
+ `,setTimeout(()=>{w()},0);const a=()=>w();let o=s.parentElement;for(;o;)o.addEventListener("scroll",a),o=o.parentElement;window.addEventListener("scroll",a),window.addEventListener("resize",a),d._cleanup=()=>{let n=s?.parentElement;for(;n;)n.removeEventListener("scroll",a),n=n.parentElement;window.removeEventListener("scroll",a),window.removeEventListener("resize",a)},d.querySelector(".btn-align-left")?.addEventListener("click",()=>{e.style.display="block",e.style.marginLeft="0",e.style.marginRight="auto",w()}),d.querySelector(".btn-align-center")?.addEventListener("click",()=>{e.style.display="block",e.style.marginLeft="auto",e.style.marginRight="auto",w()}),d.querySelector(".btn-align-right")?.addEventListener("click",()=>{e.style.display="block",e.style.marginLeft="auto",e.style.marginRight="0",w()}),d.querySelector(".btn-alt")?.addEventListener("click",()=>{e.tagName==="IMG"&&Z(e)}),d.querySelector(".btn-link")?.addEventListener("click",()=>{K(e)}),d.querySelector(".btn-replace")?.addEventListener("click",()=>{e.tagName==="IMG"&&J(e)}),d.querySelector(".btn-resize")?.addEventListener("click",()=>{const n=prompt("Enter width in pixels:",String(e.width||e.offsetWidth));if(n&&!isNaN(parseInt(n))){const c=parseInt(n);e.style.width=`${c}px`,e.setAttribute("width",String(c)),M(),w()}}),d.querySelector(".btn-remove")?.addEventListener("click",()=>{confirm("Remove this media?")&&(e.remove(),d&&(d._cleanup&&d._cleanup(),d.remove(),d=null),s=null,M())}),d._cleanup=()=>{window.removeEventListener("scroll",w),window.removeEventListener("resize",w)}},W=e=>{I=e||null,Y(),document.addEventListener("click",t=>{const r=t.target;if(r.tagName==="IMG"||r.tagName==="VIDEO"){const i=r;let a=!1;if(I?a=I.contains(i):a=!!i.closest('[contenteditable="true"]'),a){t.preventDefault(),t.stopPropagation(),s=i,s.style.display="block",H(i),M();return}}if(!r.closest(".btn-link, .btn-resize, .btn-remove")&&d&&!r.closest("button")){if(d._cleanup&&d._cleanup(),d.remove(),d=null,s&&s.parentElement){const i=s.parentElement;i._originalPosition!==void 0&&(i.style.position=i._originalPosition,delete i._originalPosition)}s=null,M()}}),R.forEach(t=>{t.addEventListener("mousedown",r=>{if(!s)return;r.preventDefault(),r.stopPropagation(),A=!0,q=t.getAttribute("data-position"),U=r.clientX,P=r.clientY;const i=s.getBoundingClientRect();z=i.width,$=i.height,_=z/$,document.body.style.userSelect="none",document.body.style.cursor=`${q}-resize`})}),document.addEventListener("mousemove",t=>{if(!A||!s||!q)return;const r=t.clientX-U,i=t.clientY-P;let a=z,o=$;switch(q){case"se":a=z+r,o=$+i;break;case"sw":a=z-r,o=$+i;break;case"ne":a=z+r,o=$-i;break;case"nw":a=z-r,o=$-i;break}Math.abs(r)>Math.abs(i)?o=a/_:a=o*_,a=Math.max(50,a),o=Math.max(50,o),s.style.width=`${a}px`,s.style.height=`${o}px`,s.setAttribute("width",String(Math.round(a))),s.setAttribute("height",String(Math.round(o))),M(),w()}),document.addEventListener("mouseup",()=>{A&&(A=!1,q=null,document.body.style.userSelect="",document.body.style.cursor="")}),window.addEventListener("scroll",M),window.addEventListener("resize",M)};typeof window<"u"&&!window.__mediaManagerInitialized&&(window.__mediaManagerInitialized=!0,W());const Q=()=>({name:"image",initialize:e=>{const t=e?.editorElement;W(t)},toolbar:[{label:"Image",command:"insertImage",icon:'<svg width="24px" height="24px" viewBox="0 0 32 32" enable-background="new 0 0 32 32"><g><rect fill="none" height="22" stroke="#000000" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2" width="30" x="1" y="5"></rect><polygon fill="none" points="31,27 21,17 11,27" stroke="#000000" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2"></polygon><polygon fill="none" points="18,20 9,11 1,19 1,27 11,27" stroke="#000000" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2"></polygon><circle cx="19" cy="11" fill="none" r="2" stroke="#000000" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2"></circle></g></svg>'},{label:"Video",command:"insertVideo",icon:'<svg width="24" height="24" focusable="false"><path d="M4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V4c0-.6.4-1 1-1Zm1 2v14h14V5H5Zm4.8 2.6 5.6 4a.5.5 0 0 1 0 .8l-5.6 4A.5.5 0 0 1 9 16V8a.5.5 0 0 1 .8-.4Z" fill-rule="nonzero"></path></svg>'}],commands:{insertImage:(e,t)=>{const r=t?.contentElement instanceof HTMLElement?t.contentElement:void 0;return V("image",r),!0},insertVideo:(e,t)=>{const r=t?.contentElement instanceof HTMLElement?t.contentElement:void 0;return V("video",r),!0}},keymap:{"Mod-Shift-i":"insertImage"}}),ee={apiEndpoints:{upload:"/media/upload",library:"/media/library",delete:"/media/library"},maxFileSize:10*1024*1024,allowedTypes:["image/jpeg","image/png","image/gif","video/mp4","video/webm"],headers:{}};let N={...ee};function te(e){N={...N,...e}}function re(){return{...N}}exports.MediaManagerPlugin=Q;exports.getMediaManagerConfig=re;exports.setMediaManagerConfig=te;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R={USER:{name:"User",tags:[{key:"first_name",label:"First Name",category:"User",preview:"John"},{key:"last_name",label:"Last Name",category:"User",preview:"Doe"},{key:"email",label:"Email",category:"User",preview:"john@example.com"},{key:"phone",label:"Phone",category:"User",preview:"+1-555-1234"},{key:"full_name",label:"Full Name",category:"User",preview:"John Doe"},{key:"username",label:"Username",category:"User",preview:"johndoe"}]},COMPANY:{name:"Company",tags:[{key:"company_name",label:"Company Name",category:"Company",preview:"Acme Corp"},{key:"company_address",label:"Company Address",category:"Company",preview:"123 Main St"},{key:"company_phone",label:"Company Phone",category:"Company",preview:"+1-555-0000"},{key:"company_email",label:"Company Email",category:"Company",preview:"info@acme.com"}]},DATE:{name:"Date",tags:[{key:"today",label:"Today",category:"Date",preview:new Date().toLocaleDateString()},{key:"tomorrow",label:"Tomorrow",category:"Date",preview:new Date(Date.now()+864e5).toLocaleDateString()},{key:"next_week",label:"Next Week",category:"Date",preview:new Date(Date.now()+6048e5).toLocaleDateString()}]},CUSTOM:{name:"Custom",tags:[]}},v=".rte-content, .editora-content",X='[data-theme="dark"], .dark, .editora-theme-dark',L=Object.keys(R),Y=L.reduce((t,e)=>(t[e]=R[e].tags.map(r=>({...r,searchIndex:`${r.label} ${r.key} ${r.category} ${r.description||""}`.toLowerCase()})),t),{});let B=!1,P=!1,C=null,k=null,h=null,j=!1;function A(){if(B||typeof document>"u")return;B=!0;const t=document.createElement("style");t.id="merge-tag-plugin-styles",t.textContent=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const R={USER:{name:"User",tags:[{key:"first_name",label:"First Name",category:"User",preview:"John"},{key:"last_name",label:"Last Name",category:"User",preview:"Doe"},{key:"email",label:"Email",category:"User",preview:"john@example.com"},{key:"phone",label:"Phone",category:"User",preview:"+1-555-1234"},{key:"full_name",label:"Full Name",category:"User",preview:"John Doe"},{key:"username",label:"Username",category:"User",preview:"johndoe"}]},COMPANY:{name:"Company",tags:[{key:"company_name",label:"Company Name",category:"Company",preview:"Acme Corp"},{key:"company_address",label:"Company Address",category:"Company",preview:"123 Main St"},{key:"company_phone",label:"Company Phone",category:"Company",preview:"+1-555-0000"},{key:"company_email",label:"Company Email",category:"Company",preview:"info@acme.com"}]},DATE:{name:"Date",tags:[{key:"today",label:"Today",category:"Date",preview:new Date().toLocaleDateString()},{key:"tomorrow",label:"Tomorrow",category:"Date",preview:new Date(Date.now()+864e5).toLocaleDateString()},{key:"next_week",label:"Next Week",category:"Date",preview:new Date(Date.now()+6048e5).toLocaleDateString()}]},CUSTOM:{name:"Custom",tags:[]}},v=".rte-content, .editora-content",X='[data-theme="dark"], .dark, .editora-theme-dark',L=Object.keys(R),Y=L.reduce((t,e)=>(t[e]=R[e].tags.map(r=>({...r,searchIndex:`${r.label} ${r.key} ${r.category} ${"description"in r?r.description??"":""}`.toLowerCase()})),t),{});let B=!1,P=!1,C=null,k=null,y=null,j=!1;function A(){if(B||typeof document>"u")return;B=!0;const t=document.createElement("style");t.id="merge-tag-plugin-styles",t.textContent=`
2
2
  .rte-merge-tag-overlay {
3
3
  --rte-mt-overlay-bg: rgba(15, 23, 36, 0.56);
4
4
  --rte-mt-dialog-bg: #ffffff;
@@ -87,7 +87,7 @@
87
87
  border-color: #3f5f84;
88
88
  color: #8dc4ff;
89
89
  }
90
- `,document.head.appendChild(t)}function H(){P||typeof document>"u"||(P=!0,document.addEventListener("focusin",t=>{const r=t.target?.closest(v);r&&(C=r)}),document.addEventListener("selectionchange",()=>{const t=V();t&&(C=t)}))}function V(){const t=window.getSelection();if(!t||t.rangeCount===0)return null;const r=t.getRangeAt(0).startContainer;return(r.nodeType===Node.ELEMENT_NODE?r:r.parentElement)?.closest(v)||null}function J(){const t=V();if(t)return t;const r=document.activeElement?.closest(v);return r||(C?.isConnected?C:document.querySelector(v))}function Q(t){const e=t.parentNode;if(!e)return;const r=window.getSelection();if(!r)return;const n=document.createRange(),i=Array.from(e.childNodes).indexOf(t);i<0||(n.setStart(e,i),n.setEnd(e,i+1),r.removeAllRanges(),r.addRange(n))}function $(t,e){t instanceof Text&&t.data.length!==0&&(e?(t.data.startsWith(" ")||t.data.startsWith(" "))&&t.deleteData(0,1):(t.data.endsWith(" ")||t.data.endsWith(" "))&&t.deleteData(t.data.length-1,1),t.data.length===0&&t.parentNode?.removeChild(t))}function G(t,e){const r=window.getSelection();if(!r)return;const n=document.createRange(),o=Math.max(0,Math.min(e,t.childNodes.length));n.setStart(t,o),n.collapse(!0),r.removeAllRanges(),r.addRange(n)}function Z(t,e){const r=t.parentNode;if(!r)return!1;const o=Array.from(r.childNodes).indexOf(t);if(o<0)return!1;const i=t.previousSibling,c=t.nextSibling;r.removeChild(t),e==="Backspace"?($(c,!0),G(r,o)):($(i,!1),G(r,o));const d=r instanceof HTMLElement?r.closest(v):r.parentElement?.closest(v)||null;return d&&d.dispatchEvent(new Event("input",{bubbles:!0})),!0}function ee(t){if(t.collapsed||!(t.startContainer instanceof HTMLElement||t.startContainer instanceof Text)||t.startContainer!==t.endContainer||t.endOffset!==t.startOffset+1)return null;const e=t.startContainer;if(!(e instanceof Element||e instanceof DocumentFragment))return null;const r=e.childNodes[t.startOffset];return r instanceof HTMLElement&&r.classList.contains("rte-merge-tag")?r:null}function te(t,e){if(!t.collapsed)return null;const{startContainer:r,startOffset:n}=t,o=i=>i instanceof HTMLElement&&i.classList.contains("rte-merge-tag")?i:null;if(r.nodeType===Node.ELEMENT_NODE){const i=r;return e==="Backspace"&&n>0?o(i.childNodes[n-1]||null):e==="Delete"?o(i.childNodes[n]||null):null}if(r.nodeType===Node.TEXT_NODE){const i=r;return e==="Backspace"?n===0?o(i.previousSibling):n===1&&(i.data[0]===" "||i.data[0]===" ")&&i.previousSibling instanceof HTMLElement&&i.previousSibling.classList.contains("rte-merge-tag")?i.previousSibling:null:n===i.data.length?o(i.nextSibling):null}return null}function q(){j||typeof document>"u"||(j=!0,document.addEventListener("click",t=>{const r=t.target?.closest(".rte-merge-tag");if(!r)return;const n=r.closest(v);n&&(t.preventDefault(),t.stopPropagation(),n.focus({preventScroll:!0}),Q(r))}),document.addEventListener("keydown",t=>{if(t.key!=="Backspace"&&t.key!=="Delete")return;const e=window.getSelection();if(!e||e.rangeCount===0)return;const r=e.getRangeAt(0),n=J();if(!n||!n.contains(r.commonAncestorContainer))return;let o=ee(r);o||(o=te(r,t.key)),o&&(t.preventDefault(),t.stopPropagation(),Z(o,t.key))}))}function re(t){return t?!!t.closest(X):!1}function ne(){h&&(h(),h=null),k=null}function W(t){const e=document.createRange();return e.selectNodeContents(t),e.collapse(!1),e}function ae(t,e){const r=window.getSelection(),n=e?e.cloneRange():W(t),i=n.startContainer.isConnected&&n.endContainer.isConnected&&t.contains(n.commonAncestorContainer)?n:W(t);return r&&(r.removeAllRanges(),r.addRange(i)),i}function oe(t){const e=document.createElement("span");return e.className="rte-merge-tag",e.setAttribute("contenteditable","false"),e.setAttribute("data-key",t.key),e.setAttribute("data-category",t.category),e.setAttribute("data-label",t.label),e.setAttribute("aria-label",`Merge tag: ${t.label}`),e.textContent=`{{ ${t.label} }}`,e}function ie(t,e,r){const n=window.getSelection();if(!n)return!1;t.focus({preventScroll:!0});const o=ae(t,e),c=(o.startContainer.nodeType===Node.ELEMENT_NODE?o.startContainer:o.startContainer.parentElement)?.closest(".rte-merge-tag");c&&t.contains(c)&&(o.setStartAfter(c),o.setEndAfter(c));try{o.deleteContents();const d=oe(r),g=document.createTextNode(" "),u=document.createDocumentFragment();u.appendChild(d),u.appendChild(g),o.insertNode(u);const f=document.createRange();return f.setStartAfter(g),f.collapse(!0),n.removeAllRanges(),n.addRange(f),t.dispatchEvent(new Event("input",{bubbles:!0})),!0}catch(d){return console.error("Failed to insert merge tag:",d),!1}}function le(t,e){const r=Y[t],n=e.trim().toLowerCase();return n?r.filter(o=>o.searchIndex.includes(n)):r}function se(t){ne(),A();const e={category:"USER",searchTerm:"",filteredTags:Y.USER,selectedIndex:0,savedRange:(()=>{const a=window.getSelection();if(!a||a.rangeCount===0)return null;const l=a.getRangeAt(0);return t.contains(l.commonAncestorContainer)?l.cloneRange():null})(),searchRaf:null},r=document.createElement("div");r.className="rte-merge-tag-overlay",r.setAttribute("role","dialog"),r.setAttribute("aria-modal","true"),re(t)&&r.classList.add("rte-ui-theme-dark");const n=document.createElement("div");n.className="rte-merge-tag-dialog";const o=document.createElement("div");o.className="rte-merge-tag-header",o.innerHTML=`
90
+ `,document.head.appendChild(t)}function H(){P||typeof document>"u"||(P=!0,document.addEventListener("focusin",t=>{const r=t.target?.closest(v);r&&(C=r)}),document.addEventListener("selectionchange",()=>{const t=V();t&&(C=t)}))}function V(){const t=window.getSelection();if(!t||t.rangeCount===0)return null;const r=t.getRangeAt(0).startContainer;return(r.nodeType===Node.ELEMENT_NODE?r:r.parentElement)?.closest(v)||null}function J(){const t=V();if(t)return t;const r=document.activeElement?.closest(v);return r||(C?.isConnected?C:document.querySelector(v))}function Q(t){const e=t.parentNode;if(!e)return;const r=window.getSelection();if(!r)return;const n=document.createRange(),i=Array.from(e.childNodes).indexOf(t);i<0||(n.setStart(e,i),n.setEnd(e,i+1),r.removeAllRanges(),r.addRange(n))}function $(t,e){t instanceof Text&&t.data.length!==0&&(e?(t.data.startsWith(" ")||t.data.startsWith(" "))&&t.deleteData(0,1):(t.data.endsWith(" ")||t.data.endsWith(" "))&&t.deleteData(t.data.length-1,1),t.data.length===0&&t.parentNode?.removeChild(t))}function G(t,e){const r=window.getSelection();if(!r)return;const n=document.createRange(),o=Math.max(0,Math.min(e,t.childNodes.length));n.setStart(t,o),n.collapse(!0),r.removeAllRanges(),r.addRange(n)}function Z(t,e){const r=t.parentNode;if(!r)return!1;const o=Array.from(r.childNodes).indexOf(t);if(o<0)return!1;const i=t.previousSibling,c=t.nextSibling;r.removeChild(t),e==="Backspace"?($(c,!0),G(r,o)):($(i,!1),G(r,o));const d=r instanceof HTMLElement?r.closest(v):r.parentElement?.closest(v)||null;return d&&d.dispatchEvent(new Event("input",{bubbles:!0})),!0}function ee(t){if(t.collapsed||!(t.startContainer instanceof HTMLElement||t.startContainer instanceof Text)||t.startContainer!==t.endContainer||t.endOffset!==t.startOffset+1)return null;const e=t.startContainer;if(!(e instanceof Element||e instanceof DocumentFragment))return null;const r=e.childNodes[t.startOffset];return r instanceof HTMLElement&&r.classList.contains("rte-merge-tag")?r:null}function te(t,e){if(!t.collapsed)return null;const{startContainer:r,startOffset:n}=t,o=i=>i instanceof HTMLElement&&i.classList.contains("rte-merge-tag")?i:null;if(r.nodeType===Node.ELEMENT_NODE){const i=r;return e==="Backspace"&&n>0?o(i.childNodes[n-1]||null):e==="Delete"?o(i.childNodes[n]||null):null}if(r.nodeType===Node.TEXT_NODE){const i=r;return e==="Backspace"?n===0?o(i.previousSibling):n===1&&(i.data[0]===" "||i.data[0]===" ")&&i.previousSibling instanceof HTMLElement&&i.previousSibling.classList.contains("rte-merge-tag")?i.previousSibling:null:n===i.data.length?o(i.nextSibling):null}return null}function q(){j||typeof document>"u"||(j=!0,document.addEventListener("click",t=>{const r=t.target?.closest(".rte-merge-tag");if(!r)return;const n=r.closest(v);n&&(t.preventDefault(),t.stopPropagation(),n.focus({preventScroll:!0}),Q(r))}),document.addEventListener("keydown",t=>{if(t.key!=="Backspace"&&t.key!=="Delete")return;const e=window.getSelection();if(!e||e.rangeCount===0)return;const r=e.getRangeAt(0),n=J();if(!n||!n.contains(r.commonAncestorContainer))return;let o=ee(r);o||(o=te(r,t.key)),o&&(t.preventDefault(),t.stopPropagation(),Z(o,t.key))}))}function re(t){return t?!!t.closest(X):!1}function ne(){y&&(y(),y=null),k=null}function W(t){const e=document.createRange();return e.selectNodeContents(t),e.collapse(!1),e}function ae(t,e){const r=window.getSelection(),n=e?e.cloneRange():W(t),i=n.startContainer.isConnected&&n.endContainer.isConnected&&t.contains(n.commonAncestorContainer)?n:W(t);return r&&(r.removeAllRanges(),r.addRange(i)),i}function oe(t){const e=document.createElement("span");return e.className="rte-merge-tag",e.setAttribute("contenteditable","false"),e.setAttribute("data-key",t.key),e.setAttribute("data-category",t.category),e.setAttribute("data-label",t.label),e.setAttribute("aria-label",`Merge tag: ${t.label}`),e.textContent=`{{ ${t.label} }}`,e}function ie(t,e,r){const n=window.getSelection();if(!n)return!1;t.focus({preventScroll:!0});const o=ae(t,e),c=(o.startContainer.nodeType===Node.ELEMENT_NODE?o.startContainer:o.startContainer.parentElement)?.closest(".rte-merge-tag");c&&t.contains(c)&&(o.setStartAfter(c),o.setEndAfter(c));try{o.deleteContents();const d=oe(r),g=document.createTextNode(" "),u=document.createDocumentFragment();u.appendChild(d),u.appendChild(g),o.insertNode(u);const f=document.createRange();return f.setStartAfter(g),f.collapse(!0),n.removeAllRanges(),n.addRange(f),t.dispatchEvent(new Event("input",{bubbles:!0})),!0}catch(d){return console.error("Failed to insert merge tag:",d),!1}}function le(t,e){const r=Y[t],n=e.trim().toLowerCase();return n?r.filter(o=>o.searchIndex.includes(n)):r}function se(t){ne(),A();const e={category:"USER",searchTerm:"",filteredTags:Y.USER,selectedIndex:0,savedRange:(()=>{const a=window.getSelection();if(!a||a.rangeCount===0)return null;const l=a.getRangeAt(0);return t.contains(l.commonAncestorContainer)?l.cloneRange():null})(),searchRaf:null},r=document.createElement("div");r.className="rte-merge-tag-overlay",r.setAttribute("role","dialog"),r.setAttribute("aria-modal","true"),re(t)&&r.classList.add("rte-ui-theme-dark");const n=document.createElement("div");n.className="rte-merge-tag-dialog";const o=document.createElement("div");o.className="rte-merge-tag-header",o.innerHTML=`
91
91
  <h2 style="margin:0; font-size:18px; font-weight:700;">Insert Merge Tag</h2>
92
92
  <button class="rte-merge-tag-close" aria-label="Close" style="background:none;border:none;color:inherit;cursor:pointer;font-size:20px;">✕</button>
93
- `;const i=document.createElement("div");i.className="rte-merge-tag-body";const c=document.createElement("input");c.type="text",c.className="rte-merge-tag-input",c.placeholder="Search merge tags...",c.setAttribute("aria-label","Search merge tags");const d=document.createElement("div");d.className="rte-merge-tag-tabs",L.forEach(a=>{const l=document.createElement("button");l.type="button",l.className="rte-merge-tag-tab",l.setAttribute("data-category",a),l.textContent=R[a].name,d.appendChild(l)});const g=document.createElement("div");g.className="rte-merge-tag-list";const u=document.createElement("div");u.className="rte-merge-tag-preview",i.appendChild(c),i.appendChild(d),i.appendChild(g),i.appendChild(u);const f=document.createElement("div");f.className="rte-merge-tag-footer";const x=document.createElement("button");x.type="button",x.className="rte-merge-tag-btn-secondary",x.textContent="Cancel";const p=document.createElement("button");p.type="button",p.className="rte-merge-tag-btn-primary",p.textContent="Insert",f.appendChild(x),f.appendChild(p),n.appendChild(o),n.appendChild(i),n.appendChild(f),r.appendChild(n),document.body.appendChild(r),k=r;const D=()=>{d.querySelectorAll(".rte-merge-tag-tab").forEach(l=>{const m=l.dataset.category===e.category;l.classList.toggle("active",m)})},w=()=>{if(e.filteredTags.length===0){e.selectedIndex=-1;return}e.selectedIndex<0&&(e.selectedIndex=0),e.selectedIndex>=e.filteredTags.length&&(e.selectedIndex=e.filteredTags.length-1)},I=()=>{w();const a=e.selectedIndex>=0?e.filteredTags[e.selectedIndex]:null;if(!a){u.style.display="none",p.disabled=!0;return}u.style.display="block",u.innerHTML=`<strong>Preview:</strong> {{ ${a.label} }}`,p.disabled=!1},K=()=>{if(e.selectedIndex<0)return;g.querySelector(`.rte-merge-tag-item[data-index="${e.selectedIndex}"]`)?.scrollIntoView({block:"nearest"})},y=()=>{if(e.filteredTags=le(e.category,e.searchTerm),e.filteredTags.length>0&&e.selectedIndex<0&&(e.selectedIndex=0),w(),g.innerHTML="",e.filteredTags.length===0){const l=document.createElement("div");l.className="rte-merge-tag-empty",l.textContent="No merge tags found",g.appendChild(l),I();return}const a=document.createDocumentFragment();e.filteredTags.forEach((l,m)=>{const s=document.createElement("div");s.className="rte-merge-tag-item",s.setAttribute("data-index",String(m)),s.classList.toggle("selected",m===e.selectedIndex);const N=document.createElement("div");if(N.className="rte-merge-tag-item-label",N.textContent=l.label,s.appendChild(N),l.preview){const S=document.createElement("div");S.className="rte-merge-tag-item-preview",S.textContent=l.preview,s.appendChild(S)}a.appendChild(s)}),g.appendChild(a),I(),K()},M=()=>{e.searchRaf!==null&&cancelAnimationFrame(e.searchRaf),e.searchRaf=requestAnimationFrame(()=>{e.searchRaf=null,e.searchTerm=c.value,e.selectedIndex=0,y()})},b=()=>{e.searchRaf!==null&&(cancelAnimationFrame(e.searchRaf),e.searchRaf=null),r.remove(),k===r&&(k=null,h=null)},E=()=>{if(w(),e.selectedIndex<0)return;const a=e.filteredTags[e.selectedIndex];ie(t,e.savedRange,a)&&b()},O=a=>{const m=a.target.closest(".rte-merge-tag-tab");if(!m)return;const s=m.dataset.category;!s||!L.includes(s)||(e.category=s,e.searchTerm="",c.value="",e.selectedIndex=0,D(),y())},_=a=>{const m=a.target.closest(".rte-merge-tag-item");if(!m)return;const s=Number(m.dataset.index||"-1");Number.isNaN(s)||s<0||s>=e.filteredTags.length||(e.selectedIndex=s,y())},F=a=>{const m=a.target.closest(".rte-merge-tag-item");if(!m)return;const s=Number(m.dataset.index||"-1");Number.isNaN(s)||s<0||s>=e.filteredTags.length||(e.selectedIndex=s,E())},T=a=>{if(a.key==="Escape"){a.preventDefault(),b();return}if(a.key==="ArrowDown"){if(a.preventDefault(),e.filteredTags.length===0)return;e.selectedIndex=Math.min(e.filteredTags.length-1,e.selectedIndex+1),y();return}if(a.key==="ArrowUp"){if(a.preventDefault(),e.filteredTags.length===0)return;e.selectedIndex=Math.max(0,e.selectedIndex-1),y();return}a.key==="Enter"&&(a.preventDefault(),E())},U=a=>{a.target===r&&b()},z=o.querySelector(".rte-merge-tag-close");d.addEventListener("click",O),g.addEventListener("click",_),g.addEventListener("dblclick",F),c.addEventListener("input",M),c.addEventListener("keydown",T),r.addEventListener("click",U),n.addEventListener("keydown",T),z?.addEventListener("click",b),x.addEventListener("click",b),p.addEventListener("click",E),h=()=>{d.removeEventListener("click",O),g.removeEventListener("click",_),g.removeEventListener("dblclick",F),c.removeEventListener("input",M),c.removeEventListener("keydown",T),r.removeEventListener("click",U),n.removeEventListener("keydown",T),z?.removeEventListener("click",b),x.removeEventListener("click",b),p.removeEventListener("click",E),e.searchRaf!==null&&(cancelAnimationFrame(e.searchRaf),e.searchRaf=null),r.remove()},D(),y(),setTimeout(()=>{c.focus()},0)}const ce=()=>({name:"mergeTag",init:()=>{A(),H(),q()},toolbar:[{label:"Merge Tag",command:"insertMergeTag",icon:"{{ }}"}],commands:{insertMergeTag:()=>{A(),H(),q();const t=J();return t?(se(t),!0):!1}}});exports.MergeTagPlugin=ce;
93
+ `;const i=document.createElement("div");i.className="rte-merge-tag-body";const c=document.createElement("input");c.type="text",c.className="rte-merge-tag-input",c.placeholder="Search merge tags...",c.setAttribute("aria-label","Search merge tags");const d=document.createElement("div");d.className="rte-merge-tag-tabs",L.forEach(a=>{const l=document.createElement("button");l.type="button",l.className="rte-merge-tag-tab",l.setAttribute("data-category",a),l.textContent=R[a].name,d.appendChild(l)});const g=document.createElement("div");g.className="rte-merge-tag-list";const u=document.createElement("div");u.className="rte-merge-tag-preview",i.appendChild(c),i.appendChild(d),i.appendChild(g),i.appendChild(u);const f=document.createElement("div");f.className="rte-merge-tag-footer";const x=document.createElement("button");x.type="button",x.className="rte-merge-tag-btn-secondary",x.textContent="Cancel";const p=document.createElement("button");p.type="button",p.className="rte-merge-tag-btn-primary",p.textContent="Insert",f.appendChild(x),f.appendChild(p),n.appendChild(o),n.appendChild(i),n.appendChild(f),r.appendChild(n),document.body.appendChild(r),k=r;const D=()=>{d.querySelectorAll(".rte-merge-tag-tab").forEach(l=>{const m=l.dataset.category===e.category;l.classList.toggle("active",m)})},w=()=>{if(e.filteredTags.length===0){e.selectedIndex=-1;return}e.selectedIndex<0&&(e.selectedIndex=0),e.selectedIndex>=e.filteredTags.length&&(e.selectedIndex=e.filteredTags.length-1)},I=()=>{w();const a=e.selectedIndex>=0?e.filteredTags[e.selectedIndex]:null;if(!a){u.style.display="none",p.disabled=!0;return}u.style.display="block",u.innerHTML=`<strong>Preview:</strong> {{ ${a.label} }}`,p.disabled=!1},K=()=>{if(e.selectedIndex<0)return;g.querySelector(`.rte-merge-tag-item[data-index="${e.selectedIndex}"]`)?.scrollIntoView({block:"nearest"})},h=()=>{if(e.filteredTags=le(e.category,e.searchTerm),e.filteredTags.length>0&&e.selectedIndex<0&&(e.selectedIndex=0),w(),g.innerHTML="",e.filteredTags.length===0){const l=document.createElement("div");l.className="rte-merge-tag-empty",l.textContent="No merge tags found",g.appendChild(l),I();return}const a=document.createDocumentFragment();e.filteredTags.forEach((l,m)=>{const s=document.createElement("div");s.className="rte-merge-tag-item",s.setAttribute("data-index",String(m)),s.classList.toggle("selected",m===e.selectedIndex);const N=document.createElement("div");if(N.className="rte-merge-tag-item-label",N.textContent=l.label,s.appendChild(N),l.preview){const S=document.createElement("div");S.className="rte-merge-tag-item-preview",S.textContent=l.preview,s.appendChild(S)}a.appendChild(s)}),g.appendChild(a),I(),K()},M=()=>{e.searchRaf!==null&&cancelAnimationFrame(e.searchRaf),e.searchRaf=requestAnimationFrame(()=>{e.searchRaf=null,e.searchTerm=c.value,e.selectedIndex=0,h()})},b=()=>{e.searchRaf!==null&&(cancelAnimationFrame(e.searchRaf),e.searchRaf=null),r.remove(),k===r&&(k=null,y=null)},E=()=>{if(w(),e.selectedIndex<0)return;const a=e.filteredTags[e.selectedIndex];ie(t,e.savedRange,a)&&b()},O=a=>{const m=a.target.closest(".rte-merge-tag-tab");if(!m)return;const s=m.dataset.category;!s||!L.includes(s)||(e.category=s,e.searchTerm="",c.value="",e.selectedIndex=0,D(),h())},_=a=>{const m=a.target.closest(".rte-merge-tag-item");if(!m)return;const s=Number(m.dataset.index||"-1");Number.isNaN(s)||s<0||s>=e.filteredTags.length||(e.selectedIndex=s,h())},F=a=>{const m=a.target.closest(".rte-merge-tag-item");if(!m)return;const s=Number(m.dataset.index||"-1");Number.isNaN(s)||s<0||s>=e.filteredTags.length||(e.selectedIndex=s,E())},T=a=>{if(a.key==="Escape"){a.preventDefault(),b();return}if(a.key==="ArrowDown"){if(a.preventDefault(),e.filteredTags.length===0)return;e.selectedIndex=Math.min(e.filteredTags.length-1,e.selectedIndex+1),h();return}if(a.key==="ArrowUp"){if(a.preventDefault(),e.filteredTags.length===0)return;e.selectedIndex=Math.max(0,e.selectedIndex-1),h();return}a.key==="Enter"&&(a.preventDefault(),E())},U=a=>{a.target===r&&b()},z=o.querySelector(".rte-merge-tag-close");d.addEventListener("click",O),g.addEventListener("click",_),g.addEventListener("dblclick",F),c.addEventListener("input",M),c.addEventListener("keydown",T),r.addEventListener("click",U),n.addEventListener("keydown",T),z?.addEventListener("click",b),x.addEventListener("click",b),p.addEventListener("click",E),y=()=>{d.removeEventListener("click",O),g.removeEventListener("click",_),g.removeEventListener("dblclick",F),c.removeEventListener("input",M),c.removeEventListener("keydown",T),r.removeEventListener("click",U),n.removeEventListener("keydown",T),z?.removeEventListener("click",b),x.removeEventListener("click",b),p.removeEventListener("click",E),e.searchRaf!==null&&(cancelAnimationFrame(e.searchRaf),e.searchRaf=null),r.remove()},D(),h(),setTimeout(()=>{c.focus()},0)}const ce=()=>({name:"mergeTag",init:()=>{A(),H(),q()},toolbar:[{label:"Merge Tag",command:"insertMergeTag",icon:"{{ }}"}],commands:{insertMergeTag:()=>{A(),H(),q();const t=J();return t?(se(t),!0):!1}}});exports.MergeTagPlugin=ce;
@@ -34,7 +34,7 @@ const R = {
34
34
  }, v = ".rte-content, .editora-content", X = '[data-theme="dark"], .dark, .editora-theme-dark', L = Object.keys(R), Y = L.reduce(
35
35
  (t, e) => (t[e] = R[e].tags.map((r) => ({
36
36
  ...r,
37
- searchIndex: `${r.label} ${r.key} ${r.category} ${r.description || ""}`.toLowerCase()
37
+ searchIndex: `${r.label} ${r.key} ${r.category} ${"description" in r ? r.description ?? "" : ""}`.toLowerCase()
38
38
  })), t),
39
39
  {}
40
40
  );
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d='.rte-page-break[data-type="page-break"]',g=".rte-content, .editora-content";let p=null,m=!1;const v=new Set(["DIV","P","BLOCKQUOTE","PRE","H1","H2","H3","H4","H5","H6","LI","TD","TH"]),x=()=>{p||typeof document>"u"||(p=document.createElement("style"),p.textContent=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d='.rte-page-break[data-type="page-break"]',g=".rte-content, .editora-content";let p=null,m=!1;const k=new Set(["DIV","P","BLOCKQUOTE","PRE","H1","H2","H3","H4","H5","H6","LI","TD","TH"]),x=()=>{p||typeof document>"u"||(p=document.createElement("style"),p.textContent=`
2
2
  .rte-page-break {
3
3
  display: block;
4
4
  position: relative;
@@ -69,4 +69,4 @@
69
69
  display: none;
70
70
  }
71
71
  }
72
- `,document.head.appendChild(p))},N=()=>{const e=window.getSelection();if(!e||e.rangeCount===0)return null;const n=e.getRangeAt(0);return(n.startContainer.nodeType===Node.ELEMENT_NODE?n.startContainer:n.startContainer.parentElement)?.closest(g)||null},h=()=>{const e=N();if(e)return e;const t=document.activeElement?.closest(g);return t||document.querySelector(g)},C=(e,n)=>{let t=e;for(;t&&t!==n;){if(t.nodeType===Node.ELEMENT_NODE){const r=t;if(v.has(r.tagName))return r}t=t.parentNode}return null},S=()=>{const e=document.createElement("div");return e.className="rte-page-break",e.setAttribute("data-page-break","true"),e.setAttribute("data-type","page-break"),e.setAttribute("contenteditable","false"),e.setAttribute("tabindex","0"),e.setAttribute("role","separator"),e.setAttribute("aria-label","Page break"),e},w=e=>{let n=e.nextElementSibling;for(;n&&n.matches(d);){const r=n;n=n.nextElementSibling,r.remove()}let t=e.previousElementSibling;for(;t&&t.matches(d);){const r=t;t=t.previousElementSibling,r.remove()}},k=e=>{const n=e.nextElementSibling;if(n&&!n.matches(d))return n;const t=document.createElement("p");return t.innerHTML="<br>",e.parentNode?.insertBefore(t,e.nextSibling),t},u=e=>{const n=window.getSelection();if(!n)return;const t=document.createRange();e.nodeType,Node.TEXT_NODE,t.setStart(e,0),t.collapse(!0),n.removeAllRanges(),n.addRange(t)},b=e=>{const n=window.getSelection();if(!n)return;const t=document.createRange();if(e.nodeType===Node.TEXT_NODE){const r=e;t.setStart(r,r.data.length)}else t.selectNodeContents(e),t.collapse(!1);n.removeAllRanges(),n.addRange(t)},f=(e,n)=>{let t=e;for(;t;){if(!(t instanceof HTMLElement&&t.matches(d)))return t;t=n==="previous"?t.previousSibling:t.nextSibling}return null},A=e=>{const n=window.getSelection();if(!n||!e.parentNode)return;const t=e.parentNode,r=Array.from(t.childNodes).indexOf(e);if(r<0)return;const o=document.createRange();o.setStart(t,r),o.setEnd(t,r+1),n.removeAllRanges(),n.addRange(o),e.focus({preventScroll:!0})},T=e=>{if(e.collapsed||e.startContainer!==e.endContainer||e.endOffset!==e.startOffset+1||!(e.startContainer instanceof Element||e.startContainer instanceof DocumentFragment))return null;const n=e.startContainer.childNodes[e.startOffset];return n instanceof HTMLElement&&n.matches(d)?n:null},L=(e,n,t)=>{if(!e.collapsed)return null;const{startContainer:r,startOffset:o}=e,i=a=>a instanceof HTMLElement&&a.matches(d)?a:null,s=a=>{if(r.nodeType===Node.ELEMENT_NODE){const c=r;if(a==="previous"){if(o>0)return c.childNodes[o-1]||null}else if(o<c.childNodes.length)return c.childNodes[o]||null}if(r.nodeType===Node.TEXT_NODE&&(a==="previous"&&o<r.data.length||a==="next"&&o>0))return null;let l=r;for(;l&&l!==n;){const c=a==="previous"?l.previousSibling:l.nextSibling;if(c)return c;l=l.parentNode}return null};if(r.nodeType===Node.ELEMENT_NODE){const a=r;return t==="Backspace"&&o>0?i(a.childNodes[o-1]||null):t==="Delete"?i(a.childNodes[o]||null):null}if(r.nodeType===Node.TEXT_NODE){const a=r;if(t==="Backspace"&&o===0){const l=i(a.previousSibling);return l||i(s("previous"))}if(t==="Delete"&&o===a.data.length){const l=i(a.nextSibling);return l||i(s("next"))}}return i(s(t==="Backspace"?"previous":"next"))},E=(e,n)=>{const t=e.closest(g),r=e.previousSibling,o=e.nextSibling;e.remove();const i=f(r,"previous"),s=f(o,"next");if(n==="Backspace"){if(i)b(i);else if(s)u(s);else if(t){const a=document.createElement("p");a.innerHTML="<br>",t.appendChild(a),u(a)}}else if(s)u(s);else if(i)b(i);else if(t){const a=document.createElement("p");a.innerHTML="<br>",t.appendChild(a),u(a)}return t&&t.dispatchEvent(new Event("input",{bubbles:!0})),!0},R=()=>{const e=h();if(!e)return!1;const n=window.getSelection();if(!n)return!1;let t;n.rangeCount>0&&e.contains(n.getRangeAt(0).commonAncestorContainer)?t=n.getRangeAt(0):(t=document.createRange(),t.selectNodeContents(e),t.collapse(!1),n.removeAllRanges(),n.addRange(t));const r=C(t.endContainer,e)||C(t.startContainer,e),o=S();r&&r.parentNode?r.parentNode.insertBefore(o,r.nextSibling):e.appendChild(o),w(o);const i=k(o);return u(i),e.dispatchEvent(new Event("input",{bubbles:!0})),!0},B=()=>{m||typeof document>"u"||(m=!0,document.addEventListener("click",e=>{const t=e.target?.closest(d);t&&(e.preventDefault(),e.stopPropagation(),A(t))}),document.addEventListener("keydown",e=>{const n=e.key;if(!["Backspace","Delete","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(n))return;const t=window.getSelection();if(!t||t.rangeCount===0)return;const r=t.getRangeAt(0),o=h();if(!o||!o.contains(r.commonAncestorContainer))return;const i=T(r);if(i){if(n==="Backspace"||n==="Delete"){e.preventDefault(),e.stopPropagation(),E(i,n);return}if(n==="ArrowRight"||n==="ArrowDown"){e.preventDefault();const s=f(i.nextSibling,"next")||k(i);u(s);return}if(n==="ArrowLeft"||n==="ArrowUp"){e.preventDefault();const s=f(i.previousSibling,"previous");s?b(s):u(o);return}}if(n==="Backspace"||n==="Delete"){const s=L(r,o,n);if(!s)return;e.preventDefault(),e.stopPropagation(),E(s,n)}}))},P=()=>(x(),B(),{name:"pageBreak",toolbar:[{label:"Page Break",command:"insertPageBreak",icon:'<svg fill="#000000" width="24px" height="24px" viewBox="0 0 14 14" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"><path d="M1,6 L3,6 C3.55228475,6 4,6.44771525 4,7 C4,7.55228475 3.55228475,8 3,8 L1,8 C0.44771525,8 0,7.55228475 0,7 C0,6.44771525 0.44771525,6 1,6 Z M11,6 L13,6 C13.5522847,6 14,6.44771525 14,7 C14,7.55228475 13.5522847,8 13,8 L11,8 C10.4477153,8 10,7.55228475 10,7 C10,6.44771525 10.4477153,6 11,6 Z M6,6 L8,6 C8.55228475,6 9,6.44771525 9,7 C9,7.55228475 8.55228475,8 8,8 L6,8 C5.44771525,8 5,7.55228475 5,7 C5,6.44771525 5.44771525,6 6,6 Z M0,1 C0,0.44771525 0.44771525,-2.26485497e-13 1,-2.26485497e-13 C1.55228475,-2.26485497e-13 2,0.44771525 2,1 L2,3.0142458 L12,3.0142458 L12,1 C12,0.44771525 12.4477153,-2.26485497e-13 13,-2.26485497e-13 C13.5522847,-2.26485497e-13 14,0.44771525 14,1 L14,3.0142458 C14,4.1188153 13.1045695,5.0142458 12,5.0142458 L2,5.0142458 C0.8954305,5.0142458 0,4.1188153 0,3.0142458 L0,1 Z M0,13.0142458 L0,11 C0,9.8954305 0.8954305,9 2,9 L12,9 C13.1045695,9 14,9.8954305 14,11 L14,13.0142458 C14,13.5665305 13.5522847,14.0142458 13,14.0142458 C12.4477153,14.0142458 12,13.5665305 12,13.0142458 L12,11 L2,11 L2,13.0142458 C2,13.5665305 1.55228475,14.0142458 1,14.0142458 C0.44771525,14.0142458 0,13.5665305 0,13.0142458 Z"></path></g></svg>',shortcut:"Mod-Enter"}],commands:{insertPageBreak:R},keymap:{"Mod-Enter":"insertPageBreak"}});exports.PageBreakPlugin=P;
72
+ `,document.head.appendChild(p))},N=()=>{const e=window.getSelection();if(!e||e.rangeCount===0)return null;const n=e.getRangeAt(0);return(n.startContainer.nodeType===Node.ELEMENT_NODE?n.startContainer:n.startContainer.parentElement)?.closest(g)||null},v=()=>{const e=N();if(e)return e;const t=document.activeElement?.closest(g);return t||document.querySelector(g)},C=(e,n)=>{let t=e;for(;t&&t!==n;){if(t.nodeType===Node.ELEMENT_NODE){const r=t;if(k.has(r.tagName))return r}t=t.parentNode}return null},S=()=>{const e=document.createElement("div");return e.className="rte-page-break",e.setAttribute("data-page-break","true"),e.setAttribute("data-type","page-break"),e.setAttribute("contenteditable","false"),e.setAttribute("tabindex","0"),e.setAttribute("role","separator"),e.setAttribute("aria-label","Page break"),e},w=e=>{let n=e.nextElementSibling;for(;n&&n.matches(d);){const r=n;n=n.nextElementSibling,r.remove()}let t=e.previousElementSibling;for(;t&&t.matches(d);){const r=t;t=t.previousElementSibling,r.remove()}},h=e=>{const n=e.nextElementSibling;if(n&&!n.matches(d))return n;const t=document.createElement("p");return t.innerHTML="<br>",e.parentNode?.insertBefore(t,e.nextSibling),t},u=e=>{const n=window.getSelection();if(!n)return;const t=document.createRange();e.nodeType,Node.TEXT_NODE,t.setStart(e,0),t.collapse(!0),n.removeAllRanges(),n.addRange(t)},b=e=>{const n=window.getSelection();if(!n)return;const t=document.createRange();if(e.nodeType===Node.TEXT_NODE){const r=e;t.setStart(r,r.data.length)}else t.selectNodeContents(e),t.collapse(!1);n.removeAllRanges(),n.addRange(t)},f=(e,n)=>{let t=e;for(;t;){if(!(t instanceof HTMLElement&&t.matches(d)))return t;t=n==="previous"?t.previousSibling:t.nextSibling}return null},A=e=>{const n=window.getSelection();if(!n||!e.parentNode)return;const t=e.parentNode,r=Array.from(t.childNodes).indexOf(e);if(r<0)return;const o=document.createRange();o.setStart(t,r),o.setEnd(t,r+1),n.removeAllRanges(),n.addRange(o),e.focus({preventScroll:!0})},T=e=>{if(e.collapsed||e.startContainer!==e.endContainer||e.endOffset!==e.startOffset+1||!(e.startContainer instanceof Element||e.startContainer instanceof DocumentFragment))return null;const n=e.startContainer.childNodes[e.startOffset];return n instanceof HTMLElement&&n.matches(d)?n:null},L=(e,n,t)=>{if(!e.collapsed)return null;const{startContainer:r,startOffset:o}=e,i=a=>a instanceof HTMLElement&&a.matches(d)?a:null,s=a=>{if(r.nodeType===Node.ELEMENT_NODE){const c=r;if(a==="previous"){if(o>0)return c.childNodes[o-1]||null}else if(o<c.childNodes.length)return c.childNodes[o]||null}if(r.nodeType===Node.TEXT_NODE&&(a==="previous"&&o<r.data.length||a==="next"&&o>0))return null;let l=r;for(;l&&l!==n;){const c=a==="previous"?l.previousSibling:l.nextSibling;if(c)return c;l=l.parentNode}return null};if(r.nodeType===Node.ELEMENT_NODE){const a=r;return t==="Backspace"&&o>0?i(a.childNodes[o-1]||null):t==="Delete"?i(a.childNodes[o]||null):null}if(r.nodeType===Node.TEXT_NODE){const a=r;if(t==="Backspace"&&o===0){const l=i(a.previousSibling);return l||i(s("previous"))}if(t==="Delete"&&o===a.data.length){const l=i(a.nextSibling);return l||i(s("next"))}}return i(s(t==="Backspace"?"previous":"next"))},E=(e,n)=>{const t=e.closest(g),r=e.previousSibling,o=e.nextSibling;e.remove();const i=f(r,"previous"),s=f(o,"next");if(n==="Backspace"){if(i)b(i);else if(s)u(s);else if(t){const a=document.createElement("p");a.innerHTML="<br>",t.appendChild(a),u(a)}}else if(s)u(s);else if(i)b(i);else if(t){const a=document.createElement("p");a.innerHTML="<br>",t.appendChild(a),u(a)}return t&&t.dispatchEvent(new Event("input",{bubbles:!0})),!0},R=()=>{const e=v();if(!e)return!1;const n=window.getSelection();if(!n)return!1;let t;n.rangeCount>0&&e.contains(n.getRangeAt(0).commonAncestorContainer)?t=n.getRangeAt(0):(t=document.createRange(),t.selectNodeContents(e),t.collapse(!1),n.removeAllRanges(),n.addRange(t));const r=C(t.endContainer,e)||C(t.startContainer,e),o=S();r&&r.parentNode?r.parentNode.insertBefore(o,r.nextSibling):e.appendChild(o),w(o);const i=h(o);return u(i),e.dispatchEvent(new Event("input",{bubbles:!0})),!0},B=()=>{m||typeof document>"u"||(m=!0,document.addEventListener("click",e=>{const t=e.target?.closest(d);t&&(e.preventDefault(),e.stopPropagation(),A(t))}),document.addEventListener("keydown",e=>{const n=e.key;if(!["Backspace","Delete","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(n))return;const t=window.getSelection();if(!t||t.rangeCount===0)return;const r=t.getRangeAt(0),o=v();if(!o||!o.contains(r.commonAncestorContainer))return;const i=T(r);if(i){if(n==="Backspace"||n==="Delete"){e.preventDefault(),e.stopPropagation(),E(i,n);return}if(n==="ArrowRight"||n==="ArrowDown"){e.preventDefault();const s=f(i.nextSibling,"next")||h(i);u(s);return}if(n==="ArrowLeft"||n==="ArrowUp"){e.preventDefault();const s=f(i.previousSibling,"previous");s?b(s):u(o);return}}if(n==="Backspace"||n==="Delete"){const s=L(r,o,n);if(!s)return;e.preventDefault(),e.stopPropagation(),E(s,n)}}))},P=()=>(x(),B(),{name:"pageBreak",toolbar:[{label:"Page Break",command:"insertPageBreak",icon:'<svg fill="#000000" width="24px" height="24px" viewBox="0 0 14 14" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"><path d="M1,6 L3,6 C3.55228475,6 4,6.44771525 4,7 C4,7.55228475 3.55228475,8 3,8 L1,8 C0.44771525,8 0,7.55228475 0,7 C0,6.44771525 0.44771525,6 1,6 Z M11,6 L13,6 C13.5522847,6 14,6.44771525 14,7 C14,7.55228475 13.5522847,8 13,8 L11,8 C10.4477153,8 10,7.55228475 10,7 C10,6.44771525 10.4477153,6 11,6 Z M6,6 L8,6 C8.55228475,6 9,6.44771525 9,7 C9,7.55228475 8.55228475,8 8,8 L6,8 C5.44771525,8 5,7.55228475 5,7 C5,6.44771525 5.44771525,6 6,6 Z M0,1 C0,0.44771525 0.44771525,-2.26485497e-13 1,-2.26485497e-13 C1.55228475,-2.26485497e-13 2,0.44771525 2,1 L2,3.0142458 L12,3.0142458 L12,1 C12,0.44771525 12.4477153,-2.26485497e-13 13,-2.26485497e-13 C13.5522847,-2.26485497e-13 14,0.44771525 14,1 L14,3.0142458 C14,4.1188153 13.1045695,5.0142458 12,5.0142458 L2,5.0142458 C0.8954305,5.0142458 0,4.1188153 0,3.0142458 L0,1 Z M0,13.0142458 L0,11 C0,9.8954305 0.8954305,9 2,9 L12,9 C13.1045695,9 14,9.8954305 14,11 L14,13.0142458 C14,13.5665305 13.5522847,14.0142458 13,14.0142458 C12.4477153,14.0142458 12,13.5665305 12,13.0142458 L12,11 L2,11 L2,13.0142458 C2,13.5665305 1.55228475,14.0142458 1,14.0142458 C0.44771525,14.0142458 0,13.5665305 0,13.0142458 Z"></path></g></svg>',shortcut:"Mod-Enter"}],commands:{insertPageBreak:R},keymap:{"Mod-Enter":"insertPageBreak"}});exports.PageBreakPlugin=P;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let c=!1;const g=()=>{if(typeof document>"u")return;const r="rte-preview-plugin-styles";if(document.getElementById(r))return;const t=document.createElement("style");t.id=r,t.textContent=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});let c=!1;const g=()=>{if(typeof document>"u")return;const r="rte-preview-plugin-styles";if(document.getElementById(r))return;const t=document.createElement("style");t.id=r,t.textContent=`
2
2
  /* Preview Editor Dialog Styles */
3
3
  .rte-preview-editor-overlay {
4
4
  position: fixed !important;
@@ -217,7 +217,7 @@
217
217
  font-size: 14px;
218
218
  }
219
219
  }
220
- `,document.head.appendChild(t)},v=()=>{const r=window.getSelection();if(r&&r.rangeCount>0){let e=r.getRangeAt(0).startContainer;for(;e&&e!==document.body;){if(e.nodeType===Node.ELEMENT_NODE){const o=e;if(o.getAttribute("contenteditable")==="true")return o}e=e.parentNode}}const t=document.activeElement;if(t){if(t.getAttribute("contenteditable")==="true")return t;const e=t.closest('[contenteditable="true"]');if(e)return e}return document.querySelector('[contenteditable="true"]')},h=()=>{const r=v();if(!r)return"";const t=r.cloneNode(!0);return[".rte-floating-toolbar",".rte-selection-marker",".rte-toolbar",".rte-resize-handle","[data-rte-internal]"].forEach(o=>{t.querySelectorAll(o).forEach(i=>i.remove())}),t.innerHTML},w=r=>{const t=document.createElement("div");return t.innerHTML=r,t.querySelectorAll('script, iframe[src^="javascript:"], object, embed, form[action^="javascript:"]').forEach(i=>i.remove()),t.querySelectorAll("*").forEach(i=>{Array.from(i.attributes).forEach(n=>{n.name.startsWith("on")&&i.removeAttribute(n.name),(n.name==="href"||n.name==="src")&&n.value.startsWith("javascript:")&&i.removeAttribute(n.name)})}),t.innerHTML},u=()=>{if(typeof window>"u"||c)return;c=!0,g();const r=h(),t=w(r),e=document.createElement("div");e.className="rte-preview-editor-overlay",e.setAttribute("role","dialog"),e.setAttribute("aria-modal","true"),e.setAttribute("aria-labelledby","preview-editor-title");const o=document.createElement("div");o.className="rte-preview-editor-modal";const i=document.createElement("div");i.className="rte-preview-editor-header",i.innerHTML=`
220
+ `,document.head.appendChild(t)},v=()=>{const r=window.getSelection();if(r&&r.rangeCount>0){let e=r.getRangeAt(0).startContainer;for(;e&&e!==document.body;){if(e.nodeType===Node.ELEMENT_NODE){const o=e;if(o.getAttribute("contenteditable")==="true")return o}e=e.parentNode}}const t=document.activeElement;if(t){if(t.getAttribute("contenteditable")==="true")return t;const e=t.closest('[contenteditable="true"]');if(e)return e}return document.querySelector('[contenteditable="true"]')},h=()=>{const r=v();if(!r)return"";const t=r.cloneNode(!0);return[".rte-floating-toolbar",".rte-selection-marker",".rte-toolbar",".rte-resize-handle","[data-rte-internal]"].forEach(o=>{t.querySelectorAll(o).forEach(i=>i.remove())}),t.innerHTML},u=r=>{const t=document.createElement("div");return t.innerHTML=r,t.querySelectorAll('script, iframe[src^="javascript:"], object, embed, form[action^="javascript:"]').forEach(i=>i.remove()),t.querySelectorAll("*").forEach(i=>{Array.from(i.attributes).forEach(n=>{n.name.startsWith("on")&&i.removeAttribute(n.name),(n.name==="href"||n.name==="src")&&n.value.startsWith("javascript:")&&i.removeAttribute(n.name)})}),t.innerHTML},w=()=>{if(typeof window>"u"||c)return;c=!0,g();const r=h(),t=u(r),e=document.createElement("div");e.className="rte-preview-editor-overlay",e.setAttribute("role","dialog"),e.setAttribute("aria-modal","true"),e.setAttribute("aria-labelledby","preview-editor-title");const o=document.createElement("div");o.className="rte-preview-editor-modal";const i=document.createElement("div");i.className="rte-preview-editor-header",i.innerHTML=`
221
221
  <h2 id="preview-editor-title">Preview Editor</h2>
222
222
  <div class="rte-preview-editor-header-actions">
223
223
  <button class="rte-preview-editor-close-btn" aria-label="Close preview editor">
@@ -227,4 +227,4 @@
227
227
  </svg>
228
228
  </button>
229
229
  </div>
230
- `;const n=document.createElement("div");n.className="rte-preview-editor-body";const a=document.createElement("div");a.className="rte-preview-editor-content";const l=document.createElement("div");l.className="rte-preview-editor-light-editor",l.innerHTML=t,a.appendChild(l),n.appendChild(a),o.appendChild(i),o.appendChild(n),e.appendChild(o);const p=()=>{e.parentNode&&e.parentNode.removeChild(e),c=!1,document.removeEventListener("keydown",s)},s=d=>{d.key==="Escape"&&(d.preventDefault(),d.stopPropagation(),p())},m=i.querySelector(".rte-preview-editor-close-btn");m&&m.addEventListener("click",d=>{d.preventDefault(),d.stopPropagation(),p()}),e.addEventListener("click",d=>{d.target===e&&p()}),document.addEventListener("keydown",s),document.body.appendChild(e)},f=()=>({name:"preview",toolbar:[{label:"Preview",command:"togglePreview",icon:'<svg fill="#000000" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24px" height="24px" viewBox="0 0 92 92" enable-background="new 0 0 92 92" xml:space="preserve"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path id="XMLID_1239_" d="M91.3,43.8C90.6,42.8,74.4,19,46,19C17.6,19,1.4,42.8,0.7,43.8c-0.9,1.3-0.9,3.1,0,4.5 C1.4,49.2,17.6,73,46,73c28.4,0,44.6-23.8,45.3-24.8C92.2,46.9,92.2,45.1,91.3,43.8z M46,65C26.7,65,13.5,51.4,9,46 c4.5-5.5,17.6-19,37-19c19.3,0,32.5,13.6,37,19C78.4,51.5,65.3,65,46,65z M48.3,29.6c-4.4-0.6-8.7,0.5-12.3,3.2c0,0,0,0,0,0 c-7.3,5.5-8.8,15.9-3.3,23.2c2.7,3.6,6.5,5.8,10.9,6.5c0.8,0.1,1.6,0.2,2.3,0.2c3.6,0,7-1.2,9.9-3.3c7.3-5.5,8.8-15.9,3.3-23.2 C56.6,32.5,52.7,30.2,48.3,29.6z M52.3,54.5c-2.2,1.7-5,2.4-7.8,2c-2.8-0.4-5.3-1.9-7-4.1C34.1,47.7,35,41,39.7,37.5 c2.2-1.7,5-2.4,7.8-2c2.8,0.4,5.3,1.9,7,4.1C57.9,44.3,57,51,52.3,54.5z M51.9,40c0.8,0.7,1.2,1.8,1.2,2.8c0,1-0.4,2.1-1.2,2.8 c-0.7,0.7-1.8,1.2-2.8,1.2c-1.1,0-2.1-0.4-2.8-1.2c-0.8-0.8-1.2-1.8-1.2-2.8c0-1.1,0.4-2.1,1.2-2.8c0.7-0.8,1.8-1.2,2.8-1.2 C50.2,38.9,51.2,39.3,51.9,40z"></path> </g></svg>'}],commands:{togglePreview:()=>(u(),!0)},keymap:{}});exports.PreviewPlugin=f;
230
+ `;const n=document.createElement("div");n.className="rte-preview-editor-body";const a=document.createElement("div");a.className="rte-preview-editor-content";const l=document.createElement("div");l.className="rte-preview-editor-light-editor",l.innerHTML=t,a.appendChild(l),n.appendChild(a),o.appendChild(i),o.appendChild(n),e.appendChild(o);const p=()=>{e.parentNode&&e.parentNode.removeChild(e),c=!1,document.removeEventListener("keydown",s)},s=d=>{d.key==="Escape"&&(d.preventDefault(),d.stopPropagation(),p())},m=i.querySelector(".rte-preview-editor-close-btn");m&&m.addEventListener("click",d=>{d.preventDefault(),d.stopPropagation(),p()}),e.addEventListener("click",d=>{d.target===e&&p()}),document.addEventListener("keydown",s),document.body.appendChild(e)},f=()=>({name:"preview",toolbar:[{label:"Preview",command:"togglePreview",icon:'<svg fill="#000000" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24px" height="24px" viewBox="0 0 92 92" enable-background="new 0 0 92 92" xml:space="preserve"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path id="XMLID_1239_" d="M91.3,43.8C90.6,42.8,74.4,19,46,19C17.6,19,1.4,42.8,0.7,43.8c-0.9,1.3-0.9,3.1,0,4.5 C1.4,49.2,17.6,73,46,73c28.4,0,44.6-23.8,45.3-24.8C92.2,46.9,92.2,45.1,91.3,43.8z M46,65C26.7,65,13.5,51.4,9,46 c4.5-5.5,17.6-19,37-19c19.3,0,32.5,13.6,37,19C78.4,51.5,65.3,65,46,65z M48.3,29.6c-4.4-0.6-8.7,0.5-12.3,3.2c0,0,0,0,0,0 c-7.3,5.5-8.8,15.9-3.3,23.2c2.7,3.6,6.5,5.8,10.9,6.5c0.8,0.1,1.6,0.2,2.3,0.2c3.6,0,7-1.2,9.9-3.3c7.3-5.5,8.8-15.9,3.3-23.2 C56.6,32.5,52.7,30.2,48.3,29.6z M52.3,54.5c-2.2,1.7-5,2.4-7.8,2c-2.8-0.4-5.3-1.9-7-4.1C34.1,47.7,35,41,39.7,37.5 c2.2-1.7,5-2.4,7.8-2c2.8,0.4,5.3,1.9,7,4.1C57.9,44.3,57,51,52.3,54.5z M51.9,40c0.8,0.7,1.2,1.8,1.2,2.8c0,1-0.4,2.1-1.2,2.8 c-0.7,0.7-1.8,1.2-2.8,1.2c-1.1,0-2.1-0.4-2.8-1.2c-0.8-0.8-1.2-1.8-1.2-2.8c0-1.1,0.4-2.1,1.2-2.8c0.7-0.8,1.8-1.2,2.8-1.2 C50.2,38.9,51.2,39.3,51.9,40z"></path> </g></svg>'}],commands:{togglePreview:()=>(w(),!0)},keymap:{}});exports.PreviewPlugin=f;
package/dist/print.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=()=>`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=()=>`
2
2
  * {
3
3
  margin: 0;
4
4
  padding: 0;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o={apiUrl:"http://localhost:3001/api/",headers:{}};let l={...o};function r(e){l={...l,...e}}function t(){return{...l}}function c(){return t().headers||{}}function p(e,i){const n=e.replace(/\/$/,""),a=i.replace(/^\//,"");return`${n}/${a}`}exports.DEFAULT_API_CONFIG=o;exports.buildApiUrl=p;exports.getGlobalApiConfig=t;exports.getGlobalApiHeaders=c;exports.setGlobalApiConfig=r;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o={apiUrl:"http://localhost:3001/api/",headers:{}};let l={...o};function r(e){l={...l,...e}}function t(){return{...l}}function c(){return t().headers||{}}function s(e,i){const n=e.replace(/\/$/,""),a=i.replace(/^\//,"");return`${n}/${a}`}exports.DEFAULT_API_CONFIG=o;exports.buildApiUrl=s;exports.getGlobalApiConfig=t;exports.getGlobalApiHeaders=c;exports.setGlobalApiConfig=r;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p={all:{name:"All",characters:["€","£","¥","¢","₹","₽","₩","₿","₺","₴","₦","₨","₪","₫","₭","₮","₯","₰","₱","₲","₳","₴","₵","₶","₷","₹","₺","₼","₽","₾","₿",'"',"'","«","»","„","‟","‹","›","‚","‛","〝","〞","〟","‟","„","©","®","™","°","§","¶","†","‡","•","‣","⁃","‰","‱","′","″","‴","‵","‶","‷","※","‼","‽","‾","‿","⁀","⁁","⁂","⁃","⁇","⁈","⁉","+","-","×","÷","=","≠","≈","≡","≤","≥","<",">","±","∓","∴","∵","∶","∷","∸","∹","∺","∻","∼","∽","∾","∿","≀","≁","≂","≃","≄","≅","≆","≇","≈","≉","≊","≋","≌","≍","≎","≏","≐","≑","≒","≓","≔","≕","≖","≗","≘","≙","≚","≛","≜","≝","≞","≟","≠","≡","≢","≣","≤","≥","≦","≧","≨","≩","≪","≫","≬","≭","≮","≯","≰","≱","≲","≳","≴","≵","≶","≷","≸","≹","≺","≻","≼","≽","≾","≿","À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","×","Ø","Ù","Ú","Û","Ü","Ý","Þ","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","÷","ø","ù","ú","û","ü","ý","þ","ÿ","¡","¿","‽","‼","⁇","⁈","⁉","※","‾","‿","⁀","⁁","⁂","⁃","←","↑","→","↓","↔","↕","↖","↗","↘","↙","↚","↛","↜","↝","↞","↟","↠","↡","↢","↣","↤","↥","↦","↧","↨","↩","↪","↫","↬","↭","↮","↯","↰","↱","↲","↳","↴","↵","↶","↷","↸","↹","↺","↻","↼","↽","↾","↿","⇀","⇁","⇂","⇃","⇄","⇅","⇆","⇇","⇈","⇉","⇊","⇋","⇌","⇍","⇎","⇏","⇐","⇑","⇒","⇓","⇔","⇕","⇖","⇗","⇘","⇙","⇚","⇛","⇜","⇝","⇞","⇟","⇠","⇡","⇢","⇣","⇤","⇥","⇦","⇧","⇨","⇩","⇪","⇫","⇬","⇭","⇮","⇯","⇰","⇱","⇲","⇳","⇴","⇵","⇶","⇷","⇸","⇹","⇺","⇻","⇼","⇽","⇾","⇿"]},currency:{name:"Currency",characters:["€","£","¥","¢","₹","₽","₩","₿","₺","₴","₦","₨","₪","₫","₭","₮","₯","₰","₱","₲","₳","₵","₶","₷","₼","₾","₿"]},text:{name:"Text",characters:["©","®","™","°","§","¶","†","‡","•","‣","⁃","‰","‱","′","″","‴","‵","‶","‷","※","‼","‽","‾","‿","⁀","⁁","⁂"]},quotation:{name:"Quotation",characters:['"',"'","«","»","„","‟","‹","›","‚","‛","〝","〞","〟"]},mathematical:{name:"Mathematical",characters:["+","-","×","÷","=","≠","≈","≡","≤","≥","<",">","±","∓","∴","∵","∶","∷","∸","∹","∺","∻","∼","∽","∾","∿","≀","≁","≂","≃","≄","≅","≆","≇","≉","≊","≋","≌","≍","≎","≏","≐","≑","≒","≓","≔","≕","≖","≗","≘","≙","≚","≛","≜","≝","≞","≟","≢","≣","≦","≧","≨","≩","≪","≫","≬","≭","≮","≯","≰","≱","≲","≳","≴","≵","≶","≷","≸","≹","≺","≻","≼","≽","≾","≿"]},"extended-latin":{name:"Extended Latin",characters:["À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","×","Ø","Ù","Ú","Û","Ü","Ý","Þ","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","÷","ø","ù","ú","û","ü","ý","þ","ÿ"]},symbols:{name:"Symbols",characters:["¡","¿","‽","‼","⁇","⁈","⁉","※","‾","‿","⁀","⁁","⁂","⁃"]},arrows:{name:"Arrows",characters:["←","↑","→","↓","↔","↕","↖","↗","↘","↙","↚","↛","↜","↝","↞","↟","↠","↡","↢","↣","↤","↥","↦","↧","↨","↩","↪","↫","↬","↭","↮","↯","↰","↱","↲","↳","↴","↵","↶","↷","↸","↹","↺","↻","↼","↽","↾","↿","⇀","⇁","⇂","⇃","⇄","⇅","⇆","⇇","⇈","⇉","⇊","⇋","⇌","⇍","⇎","⇏","⇐","⇑","⇒","⇓","⇔","⇕","⇖","⇗","⇘","⇙","⇚","⇛","⇜","⇝","⇞","⇟","⇠","⇡","⇢","⇣","⇤","⇥","⇦","⇧","⇨","⇩","⇪","⇫","⇬","⇭","⇮","⇯","⇰","⇱","⇲","⇳","⇴","⇵","⇶","⇷","⇸","⇹","⇺","⇻","⇼","⇽","⇾","⇿"]}},g={"€":"euro","£":"pound","¥":"yen","¢":"cent","₹":"rupee","₽":"ruble","₩":"won","₿":"bitcoin",'"':"quote","'":"apostrophe","«":"left angle quote","»":"right angle quote","„":"low quote","©":"copyright","®":"registered","™":"trademark","°":"degree","§":"section","¶":"paragraph","†":"dagger","‡":"double dagger","•":"bullet","‰":"per mille","′":"prime","″":"double prime","+":"plus","-":"minus","×":"multiplication","÷":"division","=":"equals","≠":"not equal","≈":"approximately","≡":"identical","≤":"less or equal","≥":"greater or equal","±":"plus minus",À:"a grave",Á:"a acute",Â:"a circumflex",Ã:"a tilde",Ä:"a diaeresis",Ç:"c cedilla","←":"left arrow","↑":"up arrow","→":"right arrow","↓":"down arrow","↔":"left right arrow"};let h=!1;const f='[data-theme="dark"], .dark, .editora-theme-dark',b=()=>{const a=window.getSelection();if(!a||a.rangeCount===0)return null;const e=a.anchorNode;return(e instanceof HTMLElement?e:e?.parentElement)?.closest(".rte-content, .editora-content")||null},m=a=>{const e=a||b();return e?!!e.closest(f):!1},x=()=>{if(typeof document>"u")return;const a="special-characters-plugin-styles";if(document.getElementById(a))return;const e=document.createElement("style");e.id=a,e.textContent=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p={all:{name:"All",characters:["€","£","¥","¢","₹","₽","₩","₿","₺","₴","₦","₨","₪","₫","₭","₮","₯","₰","₱","₲","₳","₴","₵","₶","₷","₹","₺","₼","₽","₾","₿",'"',"'","«","»","„","‟","‹","›","‚","‛","〝","〞","〟","‟","„","©","®","™","°","§","¶","†","‡","•","‣","⁃","‰","‱","′","″","‴","‵","‶","‷","※","‼","‽","‾","‿","⁀","⁁","⁂","⁃","⁇","⁈","⁉","+","-","×","÷","=","≠","≈","≡","≤","≥","<",">","±","∓","∴","∵","∶","∷","∸","∹","∺","∻","∼","∽","∾","∿","≀","≁","≂","≃","≄","≅","≆","≇","≈","≉","≊","≋","≌","≍","≎","≏","≐","≑","≒","≓","≔","≕","≖","≗","≘","≙","≚","≛","≜","≝","≞","≟","≠","≡","≢","≣","≤","≥","≦","≧","≨","≩","≪","≫","≬","≭","≮","≯","≰","≱","≲","≳","≴","≵","≶","≷","≸","≹","≺","≻","≼","≽","≾","≿","À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","×","Ø","Ù","Ú","Û","Ü","Ý","Þ","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","÷","ø","ù","ú","û","ü","ý","þ","ÿ","¡","¿","‽","‼","⁇","⁈","⁉","※","‾","‿","⁀","⁁","⁂","⁃","←","↑","→","↓","↔","↕","↖","↗","↘","↙","↚","↛","↜","↝","↞","↟","↠","↡","↢","↣","↤","↥","↦","↧","↨","↩","↪","↫","↬","↭","↮","↯","↰","↱","↲","↳","↴","↵","↶","↷","↸","↹","↺","↻","↼","↽","↾","↿","⇀","⇁","⇂","⇃","⇄","⇅","⇆","⇇","⇈","⇉","⇊","⇋","⇌","⇍","⇎","⇏","⇐","⇑","⇒","⇓","⇔","⇕","⇖","⇗","⇘","⇙","⇚","⇛","⇜","⇝","⇞","⇟","⇠","⇡","⇢","⇣","⇤","⇥","⇦","⇧","⇨","⇩","⇪","⇫","⇬","⇭","⇮","⇯","⇰","⇱","⇲","⇳","⇴","⇵","⇶","⇷","⇸","⇹","⇺","⇻","⇼","⇽","⇾","⇿"]},currency:{name:"Currency",characters:["€","£","¥","¢","₹","₽","₩","₿","₺","₴","₦","₨","₪","₫","₭","₮","₯","₰","₱","₲","₳","₵","₶","₷","₼","₾","₿"]},text:{name:"Text",characters:["©","®","™","°","§","¶","†","‡","•","‣","⁃","‰","‱","′","″","‴","‵","‶","‷","※","‼","‽","‾","‿","⁀","⁁","⁂"]},quotation:{name:"Quotation",characters:['"',"'","«","»","„","‟","‹","›","‚","‛","〝","〞","〟"]},mathematical:{name:"Mathematical",characters:["+","-","×","÷","=","≠","≈","≡","≤","≥","<",">","±","∓","∴","∵","∶","∷","∸","∹","∺","∻","∼","∽","∾","∿","≀","≁","≂","≃","≄","≅","≆","≇","≉","≊","≋","≌","≍","≎","≏","≐","≑","≒","≓","≔","≕","≖","≗","≘","≙","≚","≛","≜","≝","≞","≟","≢","≣","≦","≧","≨","≩","≪","≫","≬","≭","≮","≯","≰","≱","≲","≳","≴","≵","≶","≷","≸","≹","≺","≻","≼","≽","≾","≿"]},"extended-latin":{name:"Extended Latin",characters:["À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","×","Ø","Ù","Ú","Û","Ü","Ý","Þ","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","÷","ø","ù","ú","û","ü","ý","þ","ÿ"]},symbols:{name:"Symbols",characters:["¡","¿","‽","‼","⁇","⁈","⁉","※","‾","‿","⁀","⁁","⁂","⁃"]},arrows:{name:"Arrows",characters:["←","↑","→","↓","↔","↕","↖","↗","↘","↙","↚","↛","↜","↝","↞","↟","↠","↡","↢","↣","↤","↥","↦","↧","↨","↩","↪","↫","↬","↭","↮","↯","↰","↱","↲","↳","↴","↵","↶","↷","↸","↹","↺","↻","↼","↽","↾","↿","⇀","⇁","⇂","⇃","⇄","⇅","⇆","⇇","⇈","⇉","⇊","⇋","⇌","⇍","⇎","⇏","⇐","⇑","⇒","⇓","⇔","⇕","⇖","⇗","⇘","⇙","⇚","⇛","⇜","⇝","⇞","⇟","⇠","⇡","⇢","⇣","⇤","⇥","⇦","⇧","⇨","⇩","⇪","⇫","⇬","⇭","⇮","⇯","⇰","⇱","⇲","⇳","⇴","⇵","⇶","⇷","⇸","⇹","⇺","⇻","⇼","⇽","⇾","⇿"]}},g={"€":"euro","£":"pound","¥":"yen","¢":"cent","₹":"rupee","₽":"ruble","₩":"won","₿":"bitcoin",'"':"quote","'":"apostrophe","«":"left angle quote","»":"right angle quote","„":"low quote","©":"copyright","®":"registered","™":"trademark","°":"degree","§":"section","¶":"paragraph","†":"dagger","‡":"double dagger","•":"bullet","‰":"per mille","′":"prime","″":"double prime","+":"plus","-":"minus","×":"multiplication","÷":"division","=":"equals","≠":"not equal","≈":"approximately","≡":"identical","≤":"less or equal","≥":"greater or equal","±":"plus minus",À:"a grave",Á:"a acute",Â:"a circumflex",Ã:"a tilde",Ä:"a diaeresis",Ç:"c cedilla","←":"left arrow","↑":"up arrow","→":"right arrow","↓":"down arrow","↔":"left right arrow"};let u=!1;const f='[data-theme="dark"], .dark, .editora-theme-dark',b=()=>{const a=window.getSelection();if(!a||a.rangeCount===0)return null;const e=a.anchorNode;return(e instanceof HTMLElement?e:e?.parentElement)?.closest(".rte-content, .editora-content")||null},m=a=>{const e=a||b();return e?!!e.closest(f):!1},x=()=>{if(typeof document>"u")return;const a="special-characters-plugin-styles";if(document.getElementById(a))return;const e=document.createElement("style");e.id=a,e.textContent=`
2
2
  .special-characters-overlay {
3
3
  --rte-sc-overlay-bg: rgba(15, 23, 36, 0.56);
4
4
  --rte-sc-dialog-bg: #ffffff;
@@ -228,7 +228,7 @@
228
228
  white-space: nowrap;
229
229
  }
230
230
  }
231
- `,document.head.appendChild(e)},v=a=>{const e=window.getSelection();if(e&&e.rangeCount>0){const r=e.getRangeAt(0);r.deleteContents();const c=document.createTextNode(a);r.insertNode(c),r.setStartAfter(c),r.setEndAfter(c),e.removeAllRanges(),e.addRange(r)}},y=a=>{if(typeof window>"u"||h)return;h=!0,x();let e="all",r="";const c=document.createElement("div");c.className="special-characters-overlay",m(a)&&c.classList.add("rte-ui-theme-dark");const o=document.createElement("div");o.className="special-characters-dialog",o.setAttribute("role","dialog"),o.setAttribute("aria-modal","true");const d=()=>{const s=p[e].characters.filter(t=>{if(!r.trim())return!0;const n=r.toLowerCase();return t.toLowerCase().includes(n)||(g[t]||"").toLowerCase().includes(n)});o.innerHTML=`
231
+ `,document.head.appendChild(e)},v=a=>{const e=window.getSelection();if(e&&e.rangeCount>0){const r=e.getRangeAt(0);r.deleteContents();const c=document.createTextNode(a);r.insertNode(c),r.setStartAfter(c),r.setEndAfter(c),e.removeAllRanges(),e.addRange(r)}},y=a=>{if(typeof window>"u"||u)return;u=!0,x();let e="all",r="";const c=document.createElement("div");c.className="special-characters-overlay",m(a)&&c.classList.add("rte-ui-theme-dark");const o=document.createElement("div");o.className="special-characters-dialog",o.setAttribute("role","dialog"),o.setAttribute("aria-modal","true");const d=()=>{const s=p[e].characters.filter(t=>{if(!r.trim())return!0;const n=r.toLowerCase();return t.toLowerCase().includes(n)||(g[t]||"").toLowerCase().includes(n)});o.innerHTML=`
232
232
  <div class="special-characters-header">
233
233
  <h2>Insert Special Characters</h2>
234
234
  <button class="special-characters-close">×</button>
@@ -254,4 +254,4 @@
254
254
  </div>
255
255
  </div>
256
256
  </div>
257
- `,o.querySelector(".special-characters-close")?.addEventListener("click",l),o.querySelectorAll(".special-characters-tab").forEach(t=>{t.addEventListener("click",n=>{const i=n.target.getAttribute("data-category");i&&(e=i,d())})}),o.querySelector(".special-characters-search-input")?.addEventListener("input",t=>{r=t.target.value,d()}),o.querySelectorAll(".special-characters-item").forEach(t=>{t.addEventListener("click",n=>{const i=n.target.getAttribute("data-char");i&&(v(i),l())})})},l=()=>{c.parentNode&&c.parentNode.removeChild(c),h=!1,document.removeEventListener("keydown",u)},u=s=>{s.key==="Escape"&&(s.preventDefault(),s.stopPropagation(),l())};c.addEventListener("click",s=>{s.target===c&&l()}),document.addEventListener("keydown",u),d(),c.appendChild(o),document.body.appendChild(c)},w=()=>({name:"specialCharacters",toolbar:[{label:"Special Characters",command:"insertSpecialCharacter",icon:'<svg width="24" height="24" focusable="false"><path d="M15 18h4l1-2v4h-6v-3.3l1.4-1a6 6 0 0 0 1.8-2.9 6.3 6.3 0 0 0-.1-4.1 5.8 5.8 0 0 0-3-3.2c-.6-.3-1.3-.5-2.1-.5a5.1 5.1 0 0 0-3.9 1.8 6.3 6.3 0 0 0-1.3 6 6.2 6.2 0 0 0 1.8 3l1.4.9V20H4v-4l1 2h4v-.5l-2-1L5.4 15A6.5 6.5 0 0 1 4 11c0-1 .2-1.9.6-2.7A7 7 0 0 1 6.3 6C7.1 5.4 8 5 9 4.5c1-.3 2-.5 3.1-.5a8.8 8.8 0 0 1 5.7 2 7 7 0 0 1 1.7 2.3 6 6 0 0 1 .2 4.8c-.2.7-.6 1.3-1 1.9a7.6 7.6 0 0 1-3.6 2.5v.5Z" fill-rule="evenodd"></path></svg>'}],commands:{insertSpecialCharacter:(a,e)=>{const r=e?.contentElement instanceof HTMLElement?e.contentElement:b();return y(r),!0}},keymap:{}});exports.SpecialCharactersPlugin=w;
257
+ `,o.querySelector(".special-characters-close")?.addEventListener("click",l),o.querySelectorAll(".special-characters-tab").forEach(t=>{t.addEventListener("click",n=>{const i=n.target.getAttribute("data-category");i&&(e=i,d())})}),o.querySelector(".special-characters-search-input")?.addEventListener("input",t=>{r=t.target.value,d()}),o.querySelectorAll(".special-characters-item").forEach(t=>{t.addEventListener("click",n=>{const i=n.target.getAttribute("data-char");i&&(v(i),l())})})},l=()=>{c.parentNode&&c.parentNode.removeChild(c),u=!1,document.removeEventListener("keydown",h)},h=s=>{s.key==="Escape"&&(s.preventDefault(),s.stopPropagation(),l())};c.addEventListener("click",s=>{s.target===c&&l()}),document.addEventListener("keydown",h),d(),c.appendChild(o),document.body.appendChild(c)},w=()=>({name:"specialCharacters",toolbar:[{label:"Special Characters",command:"insertSpecialCharacter",icon:'<svg width="24" height="24" focusable="false"><path d="M15 18h4l1-2v4h-6v-3.3l1.4-1a6 6 0 0 0 1.8-2.9 6.3 6.3 0 0 0-.1-4.1 5.8 5.8 0 0 0-3-3.2c-.6-.3-1.3-.5-2.1-.5a5.1 5.1 0 0 0-3.9 1.8 6.3 6.3 0 0 0-1.3 6 6.2 6.2 0 0 0 1.8 3l1.4.9V20H4v-4l1 2h4v-.5l-2-1L5.4 15A6.5 6.5 0 0 1 4 11c0-1 .2-1.9.6-2.7A7 7 0 0 1 6.3 6C7.1 5.4 8 5 9 4.5c1-.3 2-.5 3.1-.5a8.8 8.8 0 0 1 5.7 2 7 7 0 0 1 1.7 2.3 6 6 0 0 1 .2 4.8c-.2.7-.6 1.3-1 1.9a7.6 7.6 0 0 1-3.6 2.5v.5Z" fill-rule="evenodd"></path></svg>'}],commands:{insertSpecialCharacter:(a,e)=>{const r=e?.contentElement instanceof HTMLElement?e.contentElement:b();return y(r),!0}},keymap:{}});exports.SpecialCharactersPlugin=w;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const H=new Set(["the","a","an","and","or","but","in","on","at","to","for","of","with","by","from","is","are","be","was","were","have","has","had","do","does","did","will","would","could","should","may","might","must","can","this","that","these","those","what","which","who","whom","where","when","why","how","all","each","every","both","few","more","most","other","same","such","no","nor","not","only","own","so","than","too","very","just","as","if","because","while","although","though","it","its","their","them","they","you","he","she","we","me","him","her","us","our","i","my","your","his","hers","ours","yours","theirs","editor","document","text","word","paragraph","line","page","content","hello","world","test","example","sample","demo","lorem","ipsum"]),E=new Set,C=new Set;let u=!1,d=null,f=null,a=null,s=null,g=null,v=!1,h=null,O=!1,b=0;const $={characterData:!0,childList:!0,subtree:!0},D="rte-spellcheck-styles",F="__editoraCommandEditorRoot";function q(){if(typeof window>"u")return null;const e=window[F];if(!(e instanceof HTMLElement))return null;window[F]=null;const r=e.closest("[data-editora-editor], .rte-editor, .editora-editor, editora-editor")||(e.matches("[data-editora-editor], .rte-editor, .editora-editor, editora-editor")?e:null);if(r){const l=j(r);if(l)return l;if(r.getAttribute("contenteditable")==="true")return r}if(e.getAttribute("contenteditable")==="true")return e;const t=e.closest('[contenteditable="true"]');return t instanceof HTMLElement?t:null}function T(){let e=document.getElementById(D);e||(e=document.createElement("style"),e.id=D,document.head.appendChild(e)),e.textContent=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const H=new Set(["the","a","an","and","or","but","in","on","at","to","for","of","with","by","from","is","are","be","was","were","have","has","had","do","does","did","will","would","could","should","may","might","must","can","this","that","these","those","what","which","who","whom","where","when","why","how","all","each","every","both","few","more","most","other","same","such","no","nor","not","only","own","so","than","too","very","just","as","if","because","while","although","though","it","its","their","them","they","you","he","she","we","me","him","her","us","our","i","my","your","his","hers","ours","yours","theirs","editor","document","text","word","paragraph","line","page","content","hello","world","test","example","sample","demo","lorem","ipsum"]),E=new Set,C=new Set;let u=!1,d=null,f=null,a=null,s=null,g=null,v=!1,h=null,O=!1,b=0;const $={characterData:!0,childList:!0,subtree:!0},D="rte-spellcheck-styles",F="__editoraCommandEditorRoot";function q(){if(typeof window>"u")return null;const e=window[F];if(!(e instanceof HTMLElement))return null;window[F]=null;const r=e.closest("[data-editora-editor], .rte-editor, .editora-editor, editora-editor")||(e.matches("[data-editora-editor], .rte-editor, .editora-editor, editora-editor")?e:null);if(r){const l=j(r);if(l)return l;if(r.getAttribute("contenteditable")==="true")return r}if(e.getAttribute("contenteditable")==="true")return e;const t=e.closest('[contenteditable="true"]');return t instanceof HTMLElement?t:null}function T(){let e=document.getElementById(D);e||(e=document.createElement("style"),e.id=D,document.head.appendChild(e)),e.textContent=`
2
2
  .rte-spell-check-panel {
3
3
  position: absolute;
4
4
  top: 12px;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=()=>({name:"strikethrough",marks:{strikethrough:{parseDOM:[{tag:"s"},{tag:"strike"},{tag:"del"},{style:"text-decoration",getAttrs:t=>(typeof t=="string"?t:t.style.textDecoration)==="line-through"&&null}],toDOM:()=>["s",0]}},toolbar:[{label:"Strikethrough",command:"toggleStrikethrough",icon:'<svg width="24" height="24" focusable="false"><g fill-rule="evenodd"><path d="M15.6 8.5c-.5-.7-1-1.1-1.3-1.3-.6-.4-1.3-.6-2-.6-2.7 0-2.8 1.7-2.8 2.1 0 1.6 1.8 2 3.2 2.3 4.4.9 4.6 2.8 4.6 3.9 0 1.4-.7 4.1-5 4.1A6.2 6.2 0 0 1 7 16.4l1.5-1.1c.4.6 1.6 2 3.7 2 1.6 0 2.5-.4 3-1.2.4-.8.3-2-.8-2.6-.7-.4-1.6-.7-2.9-1-1-.2-3.9-.8-3.9-3.6C7.6 6 10.3 5 12.4 5c2.9 0 4.2 1.6 4.7 2.4l-1.5 1.1Z"></path><path d="M5 11h14a1 1 0 0 1 0 2H5a1 1 0 0 1 0-2Z" fill-rule="nonzero"></path></g></svg>',shortcut:"Mod-Shift-x"}],commands:{toggleStrikethrough:()=>{const t=c();if(!t)return!1;const n=window.getSelection();if(!n||n.rangeCount===0)return!1;const e=n.getRangeAt(0);if(!t.contains(e.commonAncestorContainer))return!1;t.focus({preventScroll:!0});const o=document.execCommand("strikeThrough",!1);return l(t),t.dispatchEvent(new Event("input",{bubbles:!0})),o!==!1}},keymap:{"Mod-Shift-x":"toggleStrikethrough","Mod-Shift-X":"toggleStrikethrough"}});function c(){const t=window.getSelection();if(t&&t.rangeCount>0){const e=t.getRangeAt(0).startContainer,r=(e.nodeType===Node.ELEMENT_NODE?e:e.parentElement)?.closest('[contenteditable="true"], .rte-content, .editora-content');if(r)return r}const n=document.activeElement;return n?n.getAttribute("contenteditable")==="true"?n:n.closest('[contenteditable="true"], .rte-content, .editora-content'):null}function l(t){t.querySelectorAll("strike, del").forEach(e=>{const o=document.createElement("s");for(const r of Array.from(e.attributes))r.name!=="style"&&o.setAttribute(r.name,r.value);for(;e.firstChild;)o.appendChild(e.firstChild);e.parentNode?.replaceChild(o,e)})}exports.StrikethroughPlugin=i;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=()=>({name:"strikethrough",marks:{strikethrough:{parseDOM:[{tag:"s"},{tag:"strike"},{tag:"del"},{style:"text-decoration",getAttrs:t=>(typeof t=="string"?t:t.style.textDecoration)==="line-through"&&null}],toDOM:()=>["s",0]}},toolbar:[{label:"Strikethrough",command:"toggleStrikethrough",icon:'<svg width="24" height="24" focusable="false"><g fill-rule="evenodd"><path d="M15.6 8.5c-.5-.7-1-1.1-1.3-1.3-.6-.4-1.3-.6-2-.6-2.7 0-2.8 1.7-2.8 2.1 0 1.6 1.8 2 3.2 2.3 4.4.9 4.6 2.8 4.6 3.9 0 1.4-.7 4.1-5 4.1A6.2 6.2 0 0 1 7 16.4l1.5-1.1c.4.6 1.6 2 3.7 2 1.6 0 2.5-.4 3-1.2.4-.8.3-2-.8-2.6-.7-.4-1.6-.7-2.9-1-1-.2-3.9-.8-3.9-3.6C7.6 6 10.3 5 12.4 5c2.9 0 4.2 1.6 4.7 2.4l-1.5 1.1Z"></path><path d="M5 11h14a1 1 0 0 1 0 2H5a1 1 0 0 1 0-2Z" fill-rule="nonzero"></path></g></svg>',shortcut:"Mod-Shift-x"}],commands:{toggleStrikethrough:()=>{const t=l();if(!t)return!1;const n=window.getSelection();if(!n||n.rangeCount===0)return!1;const e=n.getRangeAt(0);if(!t.contains(e.commonAncestorContainer))return!1;t.focus({preventScroll:!0});const o=document.execCommand("strikeThrough",!1);return c(t),t.dispatchEvent(new Event("input",{bubbles:!0})),o!==!1}},keymap:{"Mod-Shift-x":"toggleStrikethrough","Mod-Shift-X":"toggleStrikethrough"}});function l(){const t=window.getSelection();if(t&&t.rangeCount>0){const e=t.getRangeAt(0).startContainer,r=(e.nodeType===Node.ELEMENT_NODE?e:e.parentElement)?.closest('[contenteditable="true"], .rte-content, .editora-content');if(r)return r}const n=document.activeElement;return n?n.getAttribute("contenteditable")==="true"?n:n.closest('[contenteditable="true"], .rte-content, .editora-content'):null}function c(t){t.querySelectorAll("strike, del").forEach(e=>{const o=document.createElement("s");for(const r of Array.from(e.attributes))r.name!=="style"&&o.setAttribute(r.name,r.value);for(;e.firstChild;)o.appendChild(e.firstChild);e.parentNode?.replaceChild(o,e)})}exports.StrikethroughPlugin=i;
package/dist/table.cjs.js CHANGED
@@ -1,8 +1,8 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("./editorContainerHelpers-CFbfiOJI.js");let h=null,m=null,x=null,I=null,M=null,S=null,V=null;const w='[data-theme="dark"], .dark, .editora-theme-dark';let g=!1,p=null,L=0,k=0,C=!1,A=0,B=0,D=0,N=0;const X=()=>{const e=R.findEditorContainerFromSelection(),t=R.getContentElement(e);if(!t)return alert("Please place your cursor in the editor before inserting a table"),!1;const n=window.getSelection();if(!n||n.rangeCount===0)return;const r=n.getRangeAt(0),o=document.createElement("table");o.className="rte-table";const l=document.createElement("thead"),a=document.createElement("tr");for(let c=0;c<3;c++){const s=document.createElement("th"),u=document.createElement("p");u.appendChild(document.createElement("br")),s.appendChild(u),a.appendChild(s)}l.appendChild(a);const i=document.createElement("tbody");for(let c=0;c<2;c++){const s=document.createElement("tr");for(let u=0;u<3;u++){const v=document.createElement("td"),T=document.createElement("p");T.appendChild(document.createElement("br")),v.appendChild(T),s.appendChild(v)}i.appendChild(s)}o.appendChild(l),o.appendChild(i),r.deleteContents(),r.insertNode(o);const d=o.querySelector("th p");if(d){const c=document.createRange();c.setStart(d,0),c.collapse(!0),n.removeAllRanges(),n.addRange(c)}t.focus()},P=()=>{const e=f();if(!e)return;const{table:t,rowIndex:n}=e,r=document.createElement("tr"),o=t.rows[0]?.cells.length||0;for(let a=0;a<o;a++){const i=document.createElement("td"),d=document.createElement("p");d.innerHTML="<br>",i.appendChild(d),r.appendChild(i)}const l=t.rows[n];l&&l.parentElement?l.parentElement.insertBefore(r,l):t.appendChild(r),b()},H=()=>{const e=f();if(!e)return;const{table:t,rowIndex:n}=e,r=document.createElement("tr"),o=t.rows[0]?.cells.length||0;for(let l=0;l<o;l++){const a=document.createElement("td"),i=document.createElement("p");i.innerHTML="<br>",a.appendChild(i),r.appendChild(a)}n>=t.rows.length-1?t.appendChild(r):t.insertBefore(r,t.rows[n+1]),b()},_=()=>{const e=f();if(!e)return;const{table:t,colIndex:n}=e;for(let r=0;r<t.rows.length;r++){const o=t.rows[r],l=document.createElement("td"),a=document.createElement("p");a.innerHTML="<br>",l.appendChild(a),n===0?o.insertBefore(l,o.cells[0]):o.insertBefore(l,o.cells[n])}b()},z=()=>{const e=f();if(!e)return;const{table:t,colIndex:n}=e;for(let r=0;r<t.rows.length;r++){const o=t.rows[r],l=document.createElement("td"),a=document.createElement("p");a.innerHTML="<br>",l.appendChild(a),n>=o.cells.length-1?o.appendChild(l):o.insertBefore(l,o.cells[n+1])}b()},O=()=>{const e=f();if(!e||e.rowCount<=1)return;const{table:t,rowIndex:n}=e;t.deleteRow(n),b()},W=()=>{const e=f();if(!e||e.cellCount<=1)return;const{table:t,colIndex:n}=e;for(let r=0;r<t.rows.length;r++){const o=t.rows[r];o.cells[n]&&o.deleteCell(n)}b()},K=()=>{const e=f();if(!e)return;const{table:t,rowIndex:n}=e,r=t.rows[n];if(r.parentElement?.tagName.toLowerCase()==="thead"){const l=t.querySelector("tbody")||t.appendChild(document.createElement("tbody")),a=t.querySelector("thead");a&&(l.insertBefore(r,l.firstChild),a.rows.length===0&&a.remove())}else{let l=t.querySelector("thead");l||(l=document.createElement("thead"),t.insertBefore(l,t.firstChild)),l.appendChild(r)}b()},Y=()=>{const e=f();if(!e)return;const{table:t,colIndex:n}=e;for(let r=0;r<t.rows.length;r++){const o=t.rows[r].cells[n];if(o){const l=o.tagName.toLowerCase()==="th"?"td":"th",a=document.createElement(l);a.innerHTML=o.innerHTML;for(let i=0;i<o.attributes.length;i++){const d=o.attributes[i];a.setAttribute(d.name,d.value)}o.parentNode?.replaceChild(a,o)}}b()},F=()=>{const e=f();if(!e)return;e.table.remove(),document.dispatchEvent(new CustomEvent("tableDeleted"))},U=()=>{const e=window.getSelection();if(!e||e.rangeCount===0)return;const n=e.getRangeAt(0).startContainer;if(!(n.nodeType===Node.TEXT_NODE?n.parentElement?.closest("table"):n.closest("table")))return;let o=null;if(n.nodeType===Node.TEXT_NODE?o=n.parentElement?.closest("td, th"):n.nodeType===Node.ELEMENT_NODE&&(o=n.closest("td, th")),!o)return;const l=o.parentElement;if(!l)return;let a=-1;for(let u=0;u<l.cells.length;u++)if(l.cells[u]===o){a=u;break}if(a===-1||a===l.cells.length-1)return;const i=l.cells[a+1];if(!i)return;const d=parseInt(o.getAttribute("colspan")||"1"),c=parseInt(i.getAttribute("colspan")||"1");o.setAttribute("colspan",String(d+c)),Array.from(i.childNodes).forEach(u=>{o.appendChild(u)}),i.remove(),b()};function f(){const e=window.getSelection();if(!e||e.rangeCount===0)return null;const n=e.getRangeAt(0).startContainer;let r=n.nodeType===Node.TEXT_NODE?n.parentElement?.closest("table"):n.closest("table");if(!r)return null;const o=r;let l=0,a=0;const i=n.nodeType===Node.TEXT_NODE?n.parentElement?.closest("td, th"):n.closest("td, th");if(i){let d=i.parentElement;for(;d&&d!==o.rows[l]&&(l++,!(l>=o.rows.length)););const c=d;if(c){for(let s=0;s<c.cells.length;s++)if(c.cells[s]===i){a=s;break}}}return{table:o,rowIndex:l,colIndex:a,rowCount:o.rows.length,cellCount:o.rows[0]?.cells.length||0}}function b(){if(!h||!m)return;const e=f();if(!e)return;const t=e.rowCount>1,n=e.cellCount>1;q(t,n)}function j(){x=()=>{const e=f();e?G(e.table):E()},I=e=>{const t=e.target,n=t.closest("table"),r=t.closest(".table-toolbar");!n&&!r&&E()},M=()=>{E()},S=()=>{m&&h&&h.style.display!=="none"&&y(m)},V=()=>{m&&h&&h.style.display!=="none"&&y(m)},document.addEventListener("selectionchange",x),document.addEventListener("mousedown",I),document.addEventListener("tableDeleted",M),window.addEventListener("scroll",S,!0),window.addEventListener("resize",V)}function y(e){if(!h)return;const t=e.getBoundingClientRect(),n=h.getBoundingClientRect(),r=n.height||40,o=n.width||280,l=10;let a=t.top-r-l,i=t.left+t.width/2-o/2;a<l&&(a=t.bottom+l),i<l&&(i=l);const d=window.innerWidth;i+o>d-l&&(i=d-o-l);const c=window.innerHeight;a+r>c-l&&(a=c-r-l),h.style.top=a+"px",h.style.left=i+"px"}function G(e){m=e,h||(h=J(),document.body.appendChild(h));const t=!!e.closest(w)||document.body.matches(w)||document.documentElement.matches(w);h.classList.toggle("rte-theme-dark",t),h.style.display="flex",h.style.visibility="hidden",requestAnimationFrame(()=>{y(e),h&&(h.style.visibility="visible")});const n=f();n&&q(n.rowCount>1,n.cellCount>1),Z(e)}function E(){if(h&&(h.style.display="none"),m){m.querySelectorAll(".resize-handle").forEach(n=>n.remove());const t=m.querySelector(".table-resize-handle");t&&t.remove()}m=null}function q(e,t){if(!h)return;const n=h.querySelector('[data-action="deleteRow"]'),r=h.querySelector('[data-action="deleteColumn"]');n&&(n.disabled=!e),r&&(r.disabled=!t)}function J(){const e=document.createElement("div");e.className="table-toolbar",e.style.cssText=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const R=require("./editorContainerHelpers-CFbfiOJI.js");let h=null,m=null,x=null,I=null,M=null,S=null,V=null;const w='[data-theme="dark"], .dark, .editora-theme-dark';let g=!1,p=null,L=0,k=0,C=!1,A=0,B=0,D=0,N=0;const _=()=>{const e=R.findEditorContainerFromSelection(),t=R.getContentElement(e);if(!t)return alert("Please place your cursor in the editor before inserting a table"),!1;const n=window.getSelection();if(!n||n.rangeCount===0)return;const r=n.getRangeAt(0),o=document.createElement("table");o.className="rte-table";const l=document.createElement("thead"),a=document.createElement("tr");for(let c=0;c<3;c++){const s=document.createElement("th"),u=document.createElement("p");u.appendChild(document.createElement("br")),s.appendChild(u),a.appendChild(s)}l.appendChild(a);const i=document.createElement("tbody");for(let c=0;c<2;c++){const s=document.createElement("tr");for(let u=0;u<3;u++){const v=document.createElement("td"),T=document.createElement("p");T.appendChild(document.createElement("br")),v.appendChild(T),s.appendChild(v)}i.appendChild(s)}o.appendChild(l),o.appendChild(i),r.deleteContents(),r.insertNode(o);const d=o.querySelector("th p");if(d){const c=document.createRange();c.setStart(d,0),c.collapse(!0),n.removeAllRanges(),n.addRange(c)}t.focus()},X=()=>{const e=f();if(!e)return;const{table:t,rowIndex:n}=e,r=document.createElement("tr"),o=t.rows[0]?.cells.length||0;for(let a=0;a<o;a++){const i=document.createElement("td"),d=document.createElement("p");d.innerHTML="<br>",i.appendChild(d),r.appendChild(i)}const l=t.rows[n];l&&l.parentElement?l.parentElement.insertBefore(r,l):t.appendChild(r),b()},H=()=>{const e=f();if(!e)return;const{table:t,rowIndex:n}=e,r=document.createElement("tr"),o=t.rows[0]?.cells.length||0;for(let l=0;l<o;l++){const a=document.createElement("td"),i=document.createElement("p");i.innerHTML="<br>",a.appendChild(i),r.appendChild(a)}n>=t.rows.length-1?t.appendChild(r):t.insertBefore(r,t.rows[n+1]),b()},P=()=>{const e=f();if(!e)return;const{table:t,colIndex:n}=e;for(let r=0;r<t.rows.length;r++){const o=t.rows[r],l=document.createElement("td"),a=document.createElement("p");a.innerHTML="<br>",l.appendChild(a),n===0?o.insertBefore(l,o.cells[0]):o.insertBefore(l,o.cells[n])}b()},z=()=>{const e=f();if(!e)return;const{table:t,colIndex:n}=e;for(let r=0;r<t.rows.length;r++){const o=t.rows[r],l=document.createElement("td"),a=document.createElement("p");a.innerHTML="<br>",l.appendChild(a),n>=o.cells.length-1?o.appendChild(l):o.insertBefore(l,o.cells[n+1])}b()},O=()=>{const e=f();if(!e||e.rowCount<=1)return;const{table:t,rowIndex:n}=e;t.deleteRow(n),b()},W=()=>{const e=f();if(!e||e.cellCount<=1)return;const{table:t,colIndex:n}=e;for(let r=0;r<t.rows.length;r++){const o=t.rows[r];o.cells[n]&&o.deleteCell(n)}b()},K=()=>{const e=f();if(!e)return;const{table:t,rowIndex:n}=e,r=t.rows[n];if(r.parentElement?.tagName.toLowerCase()==="thead"){const l=t.querySelector("tbody")||t.appendChild(document.createElement("tbody")),a=t.querySelector("thead");a&&(l.insertBefore(r,l.firstChild),a.rows.length===0&&a.remove())}else{let l=t.querySelector("thead");l||(l=document.createElement("thead"),t.insertBefore(l,t.firstChild)),l.appendChild(r)}b()},Y=()=>{const e=f();if(!e)return;const{table:t,colIndex:n}=e;for(let r=0;r<t.rows.length;r++){const o=t.rows[r].cells[n];if(o){const l=o.tagName.toLowerCase()==="th"?"td":"th",a=document.createElement(l);a.innerHTML=o.innerHTML;for(let i=0;i<o.attributes.length;i++){const d=o.attributes[i];a.setAttribute(d.name,d.value)}o.parentNode?.replaceChild(a,o)}}b()},F=()=>{const e=f();if(!e)return;e.table.remove(),document.dispatchEvent(new CustomEvent("tableDeleted"))},U=()=>{const e=window.getSelection();if(!e||e.rangeCount===0)return;const n=e.getRangeAt(0).startContainer;if(!(n.nodeType===Node.TEXT_NODE?n.parentElement?.closest("table"):n.closest("table")))return;let o=null;if(n.nodeType===Node.TEXT_NODE?o=n.parentElement?.closest("td, th"):n.nodeType===Node.ELEMENT_NODE&&(o=n.closest("td, th")),!o)return;const l=o.parentElement;if(!l)return;let a=-1;for(let u=0;u<l.cells.length;u++)if(l.cells[u]===o){a=u;break}if(a===-1||a===l.cells.length-1)return;const i=l.cells[a+1];if(!i)return;const d=parseInt(o.getAttribute("colspan")||"1"),c=parseInt(i.getAttribute("colspan")||"1");o.setAttribute("colspan",String(d+c)),Array.from(i.childNodes).forEach(u=>{o.appendChild(u)}),i.remove(),b()};function f(){const e=window.getSelection();if(!e||e.rangeCount===0)return null;const n=e.getRangeAt(0).startContainer;let r=n.nodeType===Node.TEXT_NODE?n.parentElement?.closest("table"):n.closest("table");if(!r)return null;const o=r;let l=0,a=0;const i=n.nodeType===Node.TEXT_NODE?n.parentElement?.closest("td, th"):n.closest("td, th");if(i){let d=i.parentElement;for(;d&&d!==o.rows[l]&&(l++,!(l>=o.rows.length)););const c=d;if(c){for(let s=0;s<c.cells.length;s++)if(c.cells[s]===i){a=s;break}}}return{table:o,rowIndex:l,colIndex:a,rowCount:o.rows.length,cellCount:o.rows[0]?.cells.length||0}}function b(){if(!h||!m)return;const e=f();if(!e)return;const t=e.rowCount>1,n=e.cellCount>1;q(t,n)}function j(){x=()=>{const e=f();e?G(e.table):E()},I=e=>{const t=e.target,n=t.closest("table"),r=t.closest(".table-toolbar");!n&&!r&&E()},M=()=>{E()},S=()=>{m&&h&&h.style.display!=="none"&&y(m)},V=()=>{m&&h&&h.style.display!=="none"&&y(m)},document.addEventListener("selectionchange",x),document.addEventListener("mousedown",I),document.addEventListener("tableDeleted",M),window.addEventListener("scroll",S,!0),window.addEventListener("resize",V)}function y(e){if(!h)return;const t=e.getBoundingClientRect(),n=h.getBoundingClientRect(),r=n.height||40,o=n.width||280,l=10;let a=t.top-r-l,i=t.left+t.width/2-o/2;a<l&&(a=t.bottom+l),i<l&&(i=l);const d=window.innerWidth;i+o>d-l&&(i=d-o-l);const c=window.innerHeight;a+r>c-l&&(a=c-r-l),h.style.top=a+"px",h.style.left=i+"px"}function G(e){m=e,h||(h=J(),document.body.appendChild(h));const t=!!e.closest(w)||document.body.matches(w)||document.documentElement.matches(w);h.classList.toggle("rte-theme-dark",t),h.style.display="flex",h.style.visibility="hidden",requestAnimationFrame(()=>{y(e),h&&(h.style.visibility="visible")});const n=f();n&&q(n.rowCount>1,n.cellCount>1),Z(e)}function E(){if(h&&(h.style.display="none"),m){m.querySelectorAll(".resize-handle").forEach(n=>n.remove());const t=m.querySelector(".table-resize-handle");t&&t.remove()}m=null}function q(e,t){if(!h)return;const n=h.querySelector('[data-action="deleteRow"]'),r=h.querySelector('[data-action="deleteColumn"]');n&&(n.disabled=!e),r&&(r.disabled=!t)}function J(){const e=document.createElement("div");e.className="table-toolbar",e.style.cssText=`
2
2
  position: fixed;
3
3
  z-index: 1000;
4
4
  display: none;
5
- `,e.setAttribute("role","toolbar"),e.setAttribute("aria-label","Table editing toolbar");const t=s=>{const u=document.createElement("button");return u.className="toolbar-icon-btn",s.danger&&u.classList.add("toolbar-icon-btn-danger"),s.delete&&u.classList.add("toolbar-icon-btn-delete"),u.innerHTML=s.icon,u.title=s.title,u.setAttribute("aria-label",s.title),u.setAttribute("type","button"),u.setAttribute("data-action",s.action),u.onclick=()=>Q(s.action),u},n=()=>{const s=document.createElement("div");return s.className="toolbar-divider",s},r=(...s)=>{const u=document.createElement("div");return u.className="toolbar-section",s.forEach(v=>u.appendChild(v)),u},o=r(t({icon:te(),title:"Add row above (Ctrl+Shift+R)",action:"addRowAbove"}),t({icon:ne(),title:"Add row below",action:"addRowBelow"}),t({icon:oe(),title:"Delete row",action:"deleteRow",danger:!0})),l=r(t({icon:le(),title:"Add column left",action:"addColumnLeft"}),t({icon:re(),title:"Add column right (Ctrl+Shift+C)",action:"addColumnRight"}),t({icon:ae(),title:"Delete column",action:"deleteColumn",danger:!0})),a=r(t({icon:ie(),title:"Toggle header row",action:"toggleHeaderRow"}),t({icon:se(),title:"Toggle header column",action:"toggleHeaderColumn"})),i=r(t({icon:ce(),title:"Merge cells (horizontally)",action:"mergeCells"})),d=r(t({icon:de(),title:"Delete table",action:"deleteTable",delete:!0}));e.appendChild(o),e.appendChild(n()),e.appendChild(l),e.appendChild(n()),e.appendChild(a),e.appendChild(n()),e.appendChild(i),e.appendChild(n()),e.appendChild(d);const c=s=>{!h||h.style.display==="none"||(s.ctrlKey||s.metaKey)&&s.shiftKey&&(s.key==="r"||s.key==="R"?(s.preventDefault(),H()):(s.key==="c"||s.key==="C")&&(s.preventDefault(),z()))};return window.addEventListener("keydown",c),e}function Q(e){switch(e){case"addRowAbove":P();break;case"addRowBelow":H();break;case"addColumnLeft":_();break;case"addColumnRight":z();break;case"deleteRow":O();break;case"deleteColumn":W();break;case"toggleHeaderRow":K();break;case"toggleHeaderColumn":Y();break;case"deleteTable":F();break;case"mergeCells":U();break}}function Z(e){e.querySelectorAll(".resize-handle").forEach(a=>a.remove());const n=e.querySelector(".table-resize-handle");n&&n.remove();const r=e.querySelector("thead tr, tbody tr:first-child");if(!r)return;const o=r.querySelectorAll("td, th");o.forEach((a,i)=>{if(i===o.length-1)return;const d=document.createElement("div");d.className="resize-handle",d.style.cssText=`
5
+ `,e.setAttribute("role","toolbar"),e.setAttribute("aria-label","Table editing toolbar");const t=s=>{const u=document.createElement("button");return u.className="toolbar-icon-btn",s.danger&&u.classList.add("toolbar-icon-btn-danger"),s.delete&&u.classList.add("toolbar-icon-btn-delete"),u.innerHTML=s.icon,u.title=s.title,u.setAttribute("aria-label",s.title),u.setAttribute("type","button"),u.setAttribute("data-action",s.action),u.onclick=()=>Q(s.action),u},n=()=>{const s=document.createElement("div");return s.className="toolbar-divider",s},r=(...s)=>{const u=document.createElement("div");return u.className="toolbar-section",s.forEach(v=>u.appendChild(v)),u},o=r(t({icon:te(),title:"Add row above (Ctrl+Shift+R)",action:"addRowAbove"}),t({icon:ne(),title:"Add row below",action:"addRowBelow"}),t({icon:oe(),title:"Delete row",action:"deleteRow",danger:!0})),l=r(t({icon:le(),title:"Add column left",action:"addColumnLeft"}),t({icon:re(),title:"Add column right (Ctrl+Shift+C)",action:"addColumnRight"}),t({icon:ae(),title:"Delete column",action:"deleteColumn",danger:!0})),a=r(t({icon:ie(),title:"Toggle header row",action:"toggleHeaderRow"}),t({icon:se(),title:"Toggle header column",action:"toggleHeaderColumn"})),i=r(t({icon:ce(),title:"Merge cells (horizontally)",action:"mergeCells"})),d=r(t({icon:de(),title:"Delete table",action:"deleteTable",delete:!0}));e.appendChild(o),e.appendChild(n()),e.appendChild(l),e.appendChild(n()),e.appendChild(a),e.appendChild(n()),e.appendChild(i),e.appendChild(n()),e.appendChild(d);const c=s=>{!h||h.style.display==="none"||(s.ctrlKey||s.metaKey)&&s.shiftKey&&(s.key==="r"||s.key==="R"?(s.preventDefault(),H()):(s.key==="c"||s.key==="C")&&(s.preventDefault(),z()))};return window.addEventListener("keydown",c),e}function Q(e){switch(e){case"addRowAbove":X();break;case"addRowBelow":H();break;case"addColumnLeft":P();break;case"addColumnRight":z();break;case"deleteRow":O();break;case"deleteColumn":W();break;case"toggleHeaderRow":K();break;case"toggleHeaderColumn":Y();break;case"deleteTable":F();break;case"mergeCells":U();break}}function Z(e){e.querySelectorAll(".resize-handle").forEach(a=>a.remove());const n=e.querySelector(".table-resize-handle");n&&n.remove();const r=e.querySelector("thead tr, tbody tr:first-child");if(!r)return;const o=r.querySelectorAll("td, th");o.forEach((a,i)=>{if(i===o.length-1)return;const d=document.createElement("div");d.className="resize-handle",d.style.cssText=`
6
6
  position: absolute;
7
7
  right: -4px;
8
8
  top: 0;
@@ -32,4 +32,4 @@
32
32
  <path d="M3 1h10v1H3V1zm1 2v11h8V3H4zM6 5h1v6H6V5zm3 0h1v6H9V5z"/>
33
33
  </svg>`}function ce(){return`<svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor">
34
34
  <path d="M2 2h4v3H2V2zm5 0h4v3H7V2zm5 0h2v3h-2V2zm-10 4h4v3H2V6zm5 0h4v3H7V6zm5 0h2v3h-2V6zm-10 4h4v3H2v-3zm5 0h4v3H7v-3zm5 0h2v3h-2v-3z"/>
35
- </svg>`}if(typeof window<"u"&&!window.__tablePluginInitialized){window.__tablePluginInitialized=!0;const e=()=>{j()};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e):setTimeout(e,100)}const ue=()=>({name:"table",toolbar:[{label:"Insert Table",command:"insertTable",icon:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" focusable="false" aria-hidden="true"><rect x="3" y="4" width="18" height="16" rx="2" fill="none" stroke="currentColor" stroke-width="1.8"/><path d="M3 10h18M3 15h18M9 4v16M15 4v16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/></svg>'}],commands:{insertTable:()=>(X(),!0)},keymap:{"Mod-Shift-r":()=>(H(),!0),"Mod-Shift-c":()=>(z(),!0)}});exports.TablePlugin=ue;
35
+ </svg>`}if(typeof window<"u"&&!window.__tablePluginInitialized){window.__tablePluginInitialized=!0;const e=()=>{j()};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e):setTimeout(e,100)}const ue=()=>({name:"table",toolbar:[{label:"Insert Table",command:"insertTable",icon:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" focusable="false" aria-hidden="true"><rect x="3" y="4" width="18" height="16" rx="2" fill="none" stroke="currentColor" stroke-width="1.8"/><path d="M3 10h18M3 15h18M9 4v16M15 4v16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/></svg>'}],commands:{insertTable:()=>(_(),!0)},keymap:{"Mod-Shift-r":()=>(H(),!0),"Mod-Shift-c":()=>(z(),!0)}});exports.TablePlugin=ue;