@editora/plugins 1.0.7 → 1.0.8

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 (58) hide show
  1. package/README.md +50 -4
  2. package/dist/_commonjsHelpers-BH3jXuIh.js +1 -0
  3. package/dist/_commonjsHelpers-ByX85dGu.mjs +33 -0
  4. package/dist/anchor.cjs.js +11 -11
  5. package/dist/anchor.esm.js +130 -107
  6. package/dist/anchoredPopover-BzqGPOAE.js +1 -0
  7. package/dist/anchoredPopover-Dts0IrgU.mjs +106 -0
  8. package/dist/background-color.cjs.js +3 -3
  9. package/dist/background-color.esm.js +116 -119
  10. package/dist/code.cjs.js +82 -102
  11. package/dist/code.esm.js +1172 -662
  12. package/dist/comments.cjs.js +10 -10
  13. package/dist/comments.esm.js +195 -177
  14. package/dist/document-manager.cjs.js +1 -1
  15. package/dist/document-manager.esm.js +1 -1
  16. package/dist/documentManager-CTqRftU8.mjs +8369 -0
  17. package/dist/documentManager-Jf0RbSks.js +17 -0
  18. package/dist/embed-iframe.cjs.js +2 -2
  19. package/dist/embed-iframe.esm.js +8 -5
  20. package/dist/emojis.cjs.js +64 -39
  21. package/dist/emojis.esm.js +133 -104
  22. package/dist/html2canvas.esm-B5qzocYs.js +5 -0
  23. package/dist/html2canvas.esm-BWVIUcAF.mjs +4802 -0
  24. package/dist/{index-Bskk414V.mjs → index-BFsKNTTj.mjs} +50 -50
  25. package/dist/index-CvJk4DKa.js +221 -0
  26. package/dist/index-D3CycEFU.mjs +16543 -0
  27. package/dist/index-tqLTHcO6.js +1 -0
  28. package/dist/index.cjs.js +1 -1
  29. package/dist/{index.es-Cz1qItab.js → index.es-CE_A4QSm.js} +5 -5
  30. package/dist/{index.es-DEcRmSTY.mjs → index.es-DQ78mYYo.mjs} +4 -3
  31. package/dist/index.esm.js +87 -79
  32. package/dist/jspdf.es.min-BoS80556.js +77 -0
  33. package/dist/jspdf.es.min-DQCoX5yh.mjs +7889 -0
  34. package/dist/link.cjs.js +6 -6
  35. package/dist/link.esm.js +41 -39
  36. package/dist/math.cjs.js +21 -21
  37. package/dist/math.esm.js +151 -112
  38. package/dist/media-manager.cjs.js +15 -15
  39. package/dist/media-manager.esm.js +227 -206
  40. package/dist/merge-tag.cjs.js +44 -12
  41. package/dist/merge-tag.esm.js +368 -241
  42. package/dist/page-break.cjs.js +2 -2
  43. package/dist/page-break.esm.js +77 -69
  44. package/dist/special-characters.cjs.js +83 -45
  45. package/dist/special-characters.esm.js +149 -100
  46. package/dist/spell-check.cjs.js +9 -9
  47. package/dist/spell-check.esm.js +235 -216
  48. package/dist/template.cjs.js +14 -14
  49. package/dist/template.esm.js +157 -131
  50. package/dist/text-color.cjs.js +9 -9
  51. package/dist/text-color.esm.js +131 -115
  52. package/index.d.ts +51 -1
  53. package/package.json +3 -3
  54. package/dist/colorSelectionApply-C0iOfMWb.js +0 -1
  55. package/dist/colorSelectionApply-D8r_gV32.mjs +0 -63
  56. package/dist/documentManager-DRUc1-Cs.mjs +0 -37581
  57. package/dist/documentManager-_tQQfQi9.js +0 -317
  58. package/dist/index-D3pJyAsj.js +0 -1
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=[{label:"Inline Value",value:"inline"},{label:"Responsive - 21x9",value:"21x9"},{label:"Responsive - 16x9",value:"16x9"},{label:"Responsive - 4x3",value:"4x3"},{label:"Responsive - 1x1",value:"1x1"}],m='[data-theme="dark"], .dark, .editora-theme-dark',u=new WeakMap,l=e=>(u.has(e)||u.set(e,{dialogElement:null,activeTab:"general",formData:{src:"",selectedSize:"inline",width:"100%",height:"400px",constrainProportions:!0,name:"",title:"",longDescription:"",descriptionUrl:"",showBorder:!0,enableScrollbar:!0}}),u.get(e));function v(e){return e?.matches(m)||e?.closest(m)||document.activeElement?.closest(m)?!0:document.body.matches(m)||document.documentElement.matches(m)}const x=()=>({name:"embedIframe",toolbar:[{label:"Embed Content",command:"openEmbedIframeDialog",icon:'<svg width="24" height="24" focusable="false"><path d="M19 6V5H5v14h2A13 13 0 0 1 19 6Zm0 1.4c-.8.8-1.6 2.4-2.2 4.6H19V7.4Zm0 5.6h-2.4c-.4 1.8-.6 3.8-.6 6h3v-6Zm-4 6c0-2.2.2-4.2.6-6H13c-.7 1.8-1.1 3.8-1.1 6h3Zm-4 0c0-2.2.4-4.2 1-6H9.6A12 12 0 0 0 8 19h3ZM4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V4c0-.6.4-1 1-1Zm11.8 9c.4-1.9 1-3.4 1.8-4.5a9.2 9.2 0 0 0-4 4.5h2.2Zm-3.4 0a12 12 0 0 1 2.8-4 12 12 0 0 0-5 4h2.2Z" fill-rule="nonzero"></path></svg>',shortcut:"Mod-Shift-e",type:"button"}],commands:{openEmbedIframeDialog:e=>(y(e),!0)},keymap:{"Mod-Shift-e":"openEmbedIframeDialog"}});function y(e){if(!e){const o=document.activeElement;o&&o.closest("[data-editora-editor]")&&(e=o.closest("[data-editora-editor]"))}if(e||(e=document.querySelector("[data-editora-editor]")),!e){console.warn("Editor element not found");return}const t=l(e);t.formData={src:"",selectedSize:"inline",width:"100%",height:"400px",constrainProportions:!0,name:"",title:"",longDescription:"",descriptionUrl:"",showBorder:!0,enableScrollbar:!0},t.activeTab="general";const a=document.createElement("div");a.className="rte-dialog-overlay rte-embed-iframe-overlay",v(e)&&a.classList.add("rte-theme-dark"),a.onclick=()=>f(e);const r=document.createElement("div");r.className="rte-dialog-content embed-iframe-dialog",r.onclick=o=>o.stopPropagation(),r.innerHTML=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=[{label:"Inline Value",value:"inline"},{label:"Responsive - 21x9",value:"21x9"},{label:"Responsive - 16x9",value:"16x9"},{label:"Responsive - 4x3",value:"4x3"},{label:"Responsive - 1x1",value:"1x1"}],m='[data-theme="dark"], .dark, .editora-theme-dark',u=new WeakMap,l=e=>(u.has(e)||u.set(e,{dialogElement:null,escapeHandler:null,activeTab:"general",formData:{src:"",selectedSize:"inline",width:"100%",height:"400px",constrainProportions:!0,name:"",title:"",longDescription:"",descriptionUrl:"",showBorder:!0,enableScrollbar:!0}}),u.get(e));function v(e){return e?.matches(m)||e?.closest(m)||document.activeElement?.closest(m)?!0:document.body.matches(m)||document.documentElement.matches(m)}const x=()=>({name:"embedIframe",toolbar:[{label:"Embed Content",command:"openEmbedIframeDialog",icon:'<svg width="24" height="24" focusable="false"><path d="M19 6V5H5v14h2A13 13 0 0 1 19 6Zm0 1.4c-.8.8-1.6 2.4-2.2 4.6H19V7.4Zm0 5.6h-2.4c-.4 1.8-.6 3.8-.6 6h3v-6Zm-4 6c0-2.2.2-4.2.6-6H13c-.7 1.8-1.1 3.8-1.1 6h3Zm-4 0c0-2.2.4-4.2 1-6H9.6A12 12 0 0 0 8 19h3ZM4 3h16c.6 0 1 .4 1 1v16c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1V4c0-.6.4-1 1-1Zm11.8 9c.4-1.9 1-3.4 1.8-4.5a9.2 9.2 0 0 0-4 4.5h2.2Zm-3.4 0a12 12 0 0 1 2.8-4 12 12 0 0 0-5 4h2.2Z" fill-rule="nonzero"></path></svg>',shortcut:"Mod-Shift-e",type:"button"}],commands:{openEmbedIframeDialog:e=>(y(e),!0)},keymap:{"Mod-Shift-e":"openEmbedIframeDialog"}});function y(e){if(!e){const o=document.activeElement;o&&o.closest("[data-editora-editor]")&&(e=o.closest("[data-editora-editor]"))}if(e||(e=document.querySelector("[data-editora-editor]")),!e){console.warn("Editor element not found");return}const t=l(e);t.formData={src:"",selectedSize:"inline",width:"100%",height:"400px",constrainProportions:!0,name:"",title:"",longDescription:"",descriptionUrl:"",showBorder:!0,enableScrollbar:!0},t.activeTab="general";const a=document.createElement("div");a.className="rte-dialog-overlay rte-embed-iframe-overlay",v(e)&&a.classList.add("rte-theme-dark"),a.onclick=()=>f(e);const r=document.createElement("div");r.className="rte-dialog-content embed-iframe-dialog",r.onclick=o=>o.stopPropagation(),r.innerHTML=`
2
2
  <div class="rte-dialog-header">
3
3
  <h3>Embed Iframe</h3>
4
4
  <button class="rte-dialog-close">×</button>
@@ -72,7 +72,7 @@
72
72
  <button type="button" class="rte-btn rte-btn-secondary" id="cancel-btn">Cancel</button>
73
73
  <button type="submit" class="rte-btn rte-btn-primary" id="save-btn">Save</button>
74
74
  </div>
75
- `,a.appendChild(r),document.body.appendChild(a),t.dialogElement=a,k(r,e),C(),setTimeout(()=>{r.querySelector("#iframe-src")?.focus()},100)}function k(e,t){l(t),e.querySelector(".rte-dialog-close")?.addEventListener("click",()=>f(t)),e.querySelectorAll(".rte-tab-button").forEach(i=>{i.addEventListener("click",n=>{const c=n.target.getAttribute("data-tab");c&&S(e,c,t)})}),e.querySelector("#iframe-size")?.addEventListener("change",i=>w(e,i.target.value,t));const r=e.querySelector("#iframe-width"),o=e.querySelector("#iframe-height");r?.addEventListener("input",i=>D(e,i.target.value,t)),o?.addEventListener("input",i=>q(e,i.target.value,t)),e.querySelector("#constrain-btn")?.addEventListener("click",()=>E(e,t)),e.querySelector("#cancel-btn")?.addEventListener("click",()=>f(t)),e.querySelector("#save-btn")?.addEventListener("click",()=>I(e,t))}function S(e,t,a){const r=l(a);r.activeTab=t,e.querySelectorAll(".rte-tab-button").forEach(o=>{o.classList.toggle("active",o.getAttribute("data-tab")===t)}),e.querySelectorAll(".rte-tab-panel").forEach(o=>{o.style.display=o.getAttribute("data-panel")===t?"block":"none"})}function w(e,t,a){const r=l(a);r.formData.selectedSize=t;const o=e.querySelector("#dimensions-row"),i=e.querySelector("#iframe-width"),n=e.querySelector("#iframe-height");t==="inline"?(o.style.display="flex",i.value="100%",n.value="400px",r.formData.width="100%",r.formData.height="400px"):(o.style.display="none",r.formData.width="100%",r.formData.height="auto")}function D(e,t,a){const r=l(a);if(r.formData.width=t,r.formData.constrainProportions&&r.formData.selectedSize==="inline"){const o=parseFloat(t);if(!isNaN(o)){const i=o*9/16;r.formData.height=`${i}px`;const n=e.querySelector("#iframe-height");n&&(n.value=r.formData.height)}}}function q(e,t,a){const r=l(a);if(r.formData.height=t,r.formData.constrainProportions&&r.formData.selectedSize==="inline"){const o=parseFloat(t);if(!isNaN(o)){const i=o*16/9;r.formData.width=`${i}px`;const n=e.querySelector("#iframe-width");n&&(n.value=r.formData.width)}}}function E(e,t){const a=l(t);a.formData.constrainProportions=!a.formData.constrainProportions;const r=e.querySelector("#constrain-btn");r&&(r.textContent=a.formData.constrainProportions?"🔒":"🔓",r.className=`rte-constrain-btn ${a.formData.constrainProportions?"locked":"unlocked"}`,r.title=a.formData.constrainProportions?"Unlock proportions":"Lock proportions")}function I(e,t){const a=l(t),r=e.querySelector("#iframe-src")?.value.trim();if(!r){alert("Please enter a source URL");return}if(!r.startsWith("https://")&&!r.startsWith("http://")){alert("Please enter a valid URL starting with https:// or http://");return}const o=e.querySelector("#iframe-name")?.value.trim(),i=e.querySelector("#iframe-title")?.value.trim(),n=e.querySelector("#iframe-longdesc")?.value.trim();e.querySelector("#iframe-desc-url")?.value.trim();const c=e.querySelector("#iframe-border")?.checked??!0,p=e.querySelector("#iframe-scrollbar")?.checked??!0;let s=a.formData.width,d=a.formData.height;a.formData.selectedSize!=="inline"&&(s="100%",d="auto"),z(t,{src:r,width:s,height:d,aspectRatio:a.formData.selectedSize,name:o||void 0,title:i||void 0,longDescription:n||void 0,showBorder:c,enableScrollbar:p}),f(t)}function z(e,t){const a=e.querySelector('[contenteditable="true"]');a&&(a.focus(),setTimeout(()=>{const r=[`src="${t.src}"`,`width="${t.width}"`,`height="${t.height}"`,"allowfullscreen",`frameborder="${t.showBorder?"1":"0"}"`,`scrolling="${t.enableScrollbar?"auto":"no"}"`];t.name&&r.push(`name="${t.name}"`),t.title&&r.push(`title="${t.title}"`),t.longDescription&&r.push(`longdesc="${t.longDescription}"`);const o=[];t.aspectRatio!=="inline"&&o.push(`rte-iframe-${t.aspectRatio}`);const i=o.length>0?`class="${o.join(" ")}"`:"",n=`data-aspect-ratio="${t.aspectRatio}"`,c=`<iframe ${r.join(" ")} ${i} ${n}></iframe>`;if(!document.execCommand("insertHTML",!1,c)){const s=window.getSelection();if(s&&s.rangeCount>0){const d=s.getRangeAt(0);d.deleteContents();const b=document.createElement("div");b.innerHTML=c;const h=document.createDocumentFragment();for(;b.firstChild;)h.appendChild(b.firstChild);d.insertNode(h)}}},10))}function f(e){const t=l(e);t.dialogElement&&(document.body.removeChild(t.dialogElement),t.dialogElement=null)}function C(){if(document.getElementById("embed-iframe-dialog-styles"))return;const e=document.createElement("style");e.id="embed-iframe-dialog-styles",e.textContent=`
75
+ `,a.appendChild(r),document.body.appendChild(a),t.dialogElement=a,t.escapeHandler=o=>{o.key==="Escape"&&(o.preventDefault(),o.stopPropagation(),f(e))},document.addEventListener("keydown",t.escapeHandler,!0),k(r,e),z(),setTimeout(()=>{r.querySelector("#iframe-src")?.focus()},100)}function k(e,t){l(t),e.querySelector(".rte-dialog-close")?.addEventListener("click",()=>f(t)),e.querySelectorAll(".rte-tab-button").forEach(i=>{i.addEventListener("click",n=>{const c=n.target.getAttribute("data-tab");c&&w(e,c,t)})}),e.querySelector("#iframe-size")?.addEventListener("change",i=>S(e,i.target.value,t));const r=e.querySelector("#iframe-width"),o=e.querySelector("#iframe-height");r?.addEventListener("input",i=>D(e,i.target.value,t)),o?.addEventListener("input",i=>q(e,i.target.value,t)),e.querySelector("#constrain-btn")?.addEventListener("click",()=>E(e,t)),e.querySelector("#cancel-btn")?.addEventListener("click",()=>f(t)),e.querySelector("#save-btn")?.addEventListener("click",()=>L(e,t))}function w(e,t,a){const r=l(a);r.activeTab=t,e.querySelectorAll(".rte-tab-button").forEach(o=>{o.classList.toggle("active",o.getAttribute("data-tab")===t)}),e.querySelectorAll(".rte-tab-panel").forEach(o=>{o.style.display=o.getAttribute("data-panel")===t?"block":"none"})}function S(e,t,a){const r=l(a);r.formData.selectedSize=t;const o=e.querySelector("#dimensions-row"),i=e.querySelector("#iframe-width"),n=e.querySelector("#iframe-height");t==="inline"?(o.style.display="flex",i.value="100%",n.value="400px",r.formData.width="100%",r.formData.height="400px"):(o.style.display="none",r.formData.width="100%",r.formData.height="auto")}function D(e,t,a){const r=l(a);if(r.formData.width=t,r.formData.constrainProportions&&r.formData.selectedSize==="inline"){const o=parseFloat(t);if(!isNaN(o)){const i=o*9/16;r.formData.height=`${i}px`;const n=e.querySelector("#iframe-height");n&&(n.value=r.formData.height)}}}function q(e,t,a){const r=l(a);if(r.formData.height=t,r.formData.constrainProportions&&r.formData.selectedSize==="inline"){const o=parseFloat(t);if(!isNaN(o)){const i=o*16/9;r.formData.width=`${i}px`;const n=e.querySelector("#iframe-width");n&&(n.value=r.formData.width)}}}function E(e,t){const a=l(t);a.formData.constrainProportions=!a.formData.constrainProportions;const r=e.querySelector("#constrain-btn");r&&(r.textContent=a.formData.constrainProportions?"🔒":"🔓",r.className=`rte-constrain-btn ${a.formData.constrainProportions?"locked":"unlocked"}`,r.title=a.formData.constrainProportions?"Unlock proportions":"Lock proportions")}function L(e,t){const a=l(t),r=e.querySelector("#iframe-src")?.value.trim();if(!r){alert("Please enter a source URL");return}if(!r.startsWith("https://")&&!r.startsWith("http://")){alert("Please enter a valid URL starting with https:// or http://");return}const o=e.querySelector("#iframe-name")?.value.trim(),i=e.querySelector("#iframe-title")?.value.trim(),n=e.querySelector("#iframe-longdesc")?.value.trim();e.querySelector("#iframe-desc-url")?.value.trim();const c=e.querySelector("#iframe-border")?.checked??!0,p=e.querySelector("#iframe-scrollbar")?.checked??!0;let s=a.formData.width,d=a.formData.height;a.formData.selectedSize!=="inline"&&(s="100%",d="auto"),I(t,{src:r,width:s,height:d,aspectRatio:a.formData.selectedSize,name:o||void 0,title:i||void 0,longDescription:n||void 0,showBorder:c,enableScrollbar:p}),f(t)}function I(e,t){const a=e.querySelector('[contenteditable="true"]');a&&(a.focus(),setTimeout(()=>{const r=[`src="${t.src}"`,`width="${t.width}"`,`height="${t.height}"`,"allowfullscreen",`frameborder="${t.showBorder?"1":"0"}"`,`scrolling="${t.enableScrollbar?"auto":"no"}"`];t.name&&r.push(`name="${t.name}"`),t.title&&r.push(`title="${t.title}"`),t.longDescription&&r.push(`longdesc="${t.longDescription}"`);const o=[];t.aspectRatio!=="inline"&&o.push(`rte-iframe-${t.aspectRatio}`);const i=o.length>0?`class="${o.join(" ")}"`:"",n=`data-aspect-ratio="${t.aspectRatio}"`,c=`<iframe ${r.join(" ")} ${i} ${n}></iframe>`;if(!document.execCommand("insertHTML",!1,c)){const s=window.getSelection();if(s&&s.rangeCount>0){const d=s.getRangeAt(0);d.deleteContents();const b=document.createElement("div");b.innerHTML=c;const h=document.createDocumentFragment();for(;b.firstChild;)h.appendChild(b.firstChild);d.insertNode(h)}}},10))}function f(e){const t=l(e);t.escapeHandler&&(document.removeEventListener("keydown",t.escapeHandler,!0),t.escapeHandler=null),t.dialogElement&&(t.dialogElement.remove(),t.dialogElement=null)}function z(){if(document.getElementById("embed-iframe-dialog-styles"))return;const e=document.createElement("style");e.id="embed-iframe-dialog-styles",e.textContent=`
76
76
  /* Embed Iframe Dialog Styles */
77
77
  .embed-iframe-dialog {
78
78
  max-width: 600px;
@@ -6,6 +6,7 @@ const g = [
6
6
  { label: "Responsive - 1x1", value: "1x1" }
7
7
  ], m = '[data-theme="dark"], .dark, .editora-theme-dark', u = /* @__PURE__ */ new WeakMap(), l = (e) => (u.has(e) || u.set(e, {
8
8
  dialogElement: null,
9
+ escapeHandler: null,
9
10
  activeTab: "general",
10
11
  formData: {
11
12
  src: "",
@@ -142,7 +143,9 @@ function x(e) {
142
143
  <button type="button" class="rte-btn rte-btn-secondary" id="cancel-btn">Cancel</button>
143
144
  <button type="submit" class="rte-btn rte-btn-primary" id="save-btn">Save</button>
144
145
  </div>
145
- `, a.appendChild(r), document.body.appendChild(a), t.dialogElement = a, y(r, e), C(), setTimeout(() => {
146
+ `, a.appendChild(r), document.body.appendChild(a), t.dialogElement = a, t.escapeHandler = (o) => {
147
+ o.key === "Escape" && (o.preventDefault(), o.stopPropagation(), f(e));
148
+ }, document.addEventListener("keydown", t.escapeHandler, !0), y(r, e), z(), setTimeout(() => {
146
149
  r.querySelector("#iframe-src")?.focus();
147
150
  }, 100);
148
151
  }
@@ -214,7 +217,7 @@ function E(e, t) {
214
217
  e.querySelector("#iframe-desc-url")?.value.trim();
215
218
  const c = e.querySelector("#iframe-border")?.checked ?? !0, p = e.querySelector("#iframe-scrollbar")?.checked ?? !0;
216
219
  let s = a.formData.width, d = a.formData.height;
217
- a.formData.selectedSize !== "inline" && (s = "100%", d = "auto"), z(t, {
220
+ a.formData.selectedSize !== "inline" && (s = "100%", d = "auto"), L(t, {
218
221
  src: r,
219
222
  width: s,
220
223
  height: d,
@@ -226,7 +229,7 @@ function E(e, t) {
226
229
  enableScrollbar: p
227
230
  }), f(t);
228
231
  }
229
- function z(e, t) {
232
+ function L(e, t) {
230
233
  const a = e.querySelector('[contenteditable="true"]');
231
234
  a && (a.focus(), setTimeout(() => {
232
235
  const r = [
@@ -258,9 +261,9 @@ function z(e, t) {
258
261
  }
259
262
  function f(e) {
260
263
  const t = l(e);
261
- t.dialogElement && (document.body.removeChild(t.dialogElement), t.dialogElement = null);
264
+ t.escapeHandler && (document.removeEventListener("keydown", t.escapeHandler, !0), t.escapeHandler = null), t.dialogElement && (t.dialogElement.remove(), t.dialogElement = null);
262
265
  }
263
- function C() {
266
+ function z() {
264
267
  if (document.getElementById("embed-iframe-dialog-styles")) return;
265
268
  const e = document.createElement("style");
266
269
  e.id = "embed-iframe-dialog-styles", e.textContent = `
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d={all:{name:"All",emojis:["❤️","💔","💙","💚","💛","🖤","🤍","🤎","✔️","❌","☑️","❗","❓","⚠️","💯","➕","➖","✖️","➗","♻️","⚡","🔥","✨","⭐","⭕","🚫","😀","😃","😄","😁","😆","😅","😂","🤣","😊","😇","🙂","🙃","😉","😍","😘","😎","🤓","😐","😑","😬","🙄","😏","😌","🤩","🥳","🤔","😴","😭","😢","😡","🤯","👍","👎","👌","✌️","🤞","🙏","👏","🙌","💪","🐶","🐱","🐭","🐹","🐰","🦊","🐻","🐼","🐨","🐯","🦁","🐮","🐷","🐸","🐵","🐔","🐧","🐦","🦆","🦅","🦄","🐝","🦋","🌲","🌳","🌴","🌵","🌸","🌼","🌻","☀️","🌙","⭐","🌈","🌧️","❄️","🌊","🍎","🍌","🍉","🍇","🍓","🍒","🍍","🥭","🍐","🍊","🍋","🍑","🥝","🥑","🍔","🍟","🍕","🌭","🥪","🌮","🌯","🍣","🍜","🍰","🧁","🍩","🍪","🍫","☕","🍵","🥤","🍺","🍷","🍸","🍹","🥂","⚽","🏀","🏈","⚾","🎾","🏐","🏉","🎮","🎯","🎳","🎲","♟️","🏃","🚴","🏊","🏋️","🧘","🎸","🎹","🥁","🎺","🎤","🏆","🥇","🚗","🚕","🚌","🚎","🚓","🚑","🚒","✈️","🚀","🚁","🚤","🛳️","🚢","🏠","🏢","🏬","🏫","🏥","🏰","🗼","🗽","⛩️","🕌","🌍","🌎","🌏","🏖️","🏝️","📱","💻","🖥️","⌨️","🖱️","📷","📸","🎥","📹","📚","📖","📝","📄","📂","🔒","🔑","🗝️","💡","🔦","🕯️","🧰","🛠️","🔧","⚙️","📦","💳","💰","🔋","🔌","🇮🇳","🇺🇸","🇬🇧","🇨🇦","🇦🇺","🇩🇪","🇫🇷","🇪🇸","🇮🇹","🇯🇵","🇰🇷","🇨🇳","🇧🇷","🇲🇽","🇷🇺","🇿🇦","🇳🇿"]},symbols:{name:"Symbols",emojis:["❤️","💔","💙","💚","💛","🖤","🤍","🤎","✔️","❌","☑️","❗","❓","⚠️","💯","➕","➖","✖️","➗","♻️","⚡","🔥","✨","⭐","⭕","🚫","⬆️","⬇️","⬅️","➡️","🔄","🔁","🔀","🔔","🔕","⏰","⌛","⏳"]},people:{name:"People",emojis:["😀","😃","😄","😁","😆","😅","😂","🤣","😊","😇","🙂","🙃","😉","😍","😘","😎","🤓","😐","😑","😬","🙄","😏","😌","🤩","🥳","🤔","😴","😭","😢","😡","🤯","👍","👎","👌","✌️","🤞","🙏","👏","🙌","💪"]},"animals-nature":{name:"Animals & Nature",emojis:["🐶","🐱","🐭","🐹","🐰","🦊","🐻","🐼","🐨","🐯","🦁","🐮","🐷","🐸","🐵","🐔","🐧","🐦","🦆","🦅","🦄","🐝","🦋","🌲","🌳","🌴","🌵","🌸","🌼","🌻","☀️","🌙","⭐","🌈","🌧️","❄️","🌊"]},"food-drink":{name:"Food & Drink",emojis:["🍎","🍌","🍉","🍇","🍓","🍒","🍍","🥭","🍐","🍊","🍋","🍑","🥝","🥑","🍔","🍟","🍕","🌭","🥪","🌮","🌯","🍣","🍜","🍰","🧁","🍩","🍪","🍫","☕","🍵","🥤","🍺","🍷","🍸","🍹","🥂"]},activity:{name:"Activity",emojis:["⚽","🏀","🏈","⚾","🎾","🏐","🏉","🎮","🎯","🎳","🎲","♟️","🏃","🚴","🏊","🏋️","🧘","🎸","🎹","🥁","🎺","🎤","🏆","🥇","🥈","🥉"]},"travel-places":{name:"Travel & Places",emojis:["🚗","🚕","🚌","🚎","🚓","🚑","🚒","✈️","🚀","🚁","🚤","🛳️","🚢","🏠","🏢","🏬","🏫","🏥","🏰","🗼","🗽","⛩️","🕌","🌍","🌎","🌏","🏖️","🏝️"]},objects:{name:"Objects",emojis:["📱","💻","🖥️","⌨️","🖱️","📷","📸","🎥","📹","📚","📖","📝","📄","📂","🔒","🔑","🗝️","💡","🔦","🕯️","🧰","🛠️","🔧","⚙️","📦","💳","💰","🔋","🔌"]},flags:{name:"Flags",emojis:["🇮🇳","🇺🇸","🇬🇧","🇨🇦","🇦🇺","🇩🇪","🇫🇷","🇪🇸","🇮🇹","🇯🇵","🇰🇷","🇨🇳","🇧🇷","🇲🇽","🇷🇺","🇿🇦","🇳🇿"]}},p={"💙":"blue heart","💚":"green heart","💛":"yellow heart","🖤":"black heart","🤍":"white heart","🤎":"brown heart","☑️":"check box with check","🔴":"red circle","🟢":"green circle","🟡":"yellow circle","🔵":"blue circle","⬆️":"up arrow","⬇️":"down arrow","⬅️":"left arrow","➡️":"right arrow","🔄":"counterclockwise arrows","🔁":"repeat button","🔀":"shuffle tracks","🔔":"bell","🔕":"muted bell","⏰":"alarm clock","⏳":"hourglass not done","⌛":"hourglass done","♠️":"spade suit","♥️":"heart suit","♦️":"diamond suit","♣️":"club suit","🚫":"prohibited","⭕":"hollow red circle","❎":"cross mark button","😐":"neutral face","😑":"expressionless face","😬":"grimacing face","🙄":"face with rolling eyes","😏":"smirking face","😌":"relieved face","🤩":"star struck","😜":"winking face with tongue","😝":"squinting face with tongue","🤪":"zany face","😢":"crying face","😥":"sad but relieved face","😓":"downcast face with sweat","😱":"face screaming in fear","😨":"fearful face","🤗":"hugging face","🤭":"face with hand over mouth","🤫":"shushing face","🤥":"lying face","👌":"ok hand","✌️":"victory hand","🤞":"crossed fingers","🙌":"raising hands","💪":"flexed biceps","🐔":"chicken","🐧":"penguin","🐦":"bird","🐤":"baby chick","🦆":"duck","🦅":"eagle","🐺":"wolf","🦄":"unicorn","🐝":"honeybee","🐞":"lady beetle","🦋":"butterfly","🐢":"turtle","🐍":"snake","🦖":"t-rex","🌿":"herb","🍀":"four leaf clover","🍁":"maple leaf","🍂":"fallen leaf","🌊":"water wave","❄️":"snowflake","☁️":"cloud","⛈️":"cloud with lightning and rain","🌪️":"tornado","🍐":"pear","🍊":"tangerine","🍋":"lemon","🍑":"peach","🥝":"kiwi fruit","🥑":"avocado","🍆":"eggplant","🌽":"ear of corn","🥕":"carrot","🥔":"potato","🍞":"bread","🥐":"croissant","🥖":"baguette bread","🧀":"cheese wedge","🍖":"meat on bone","🍗":"poultry leg","🥩":"cut of meat","🍦":"soft ice cream","🍨":"ice cream","🍫":"chocolate bar","🍬":"candy","🥛":"glass of milk","🧃":"beverage box","🍹":"tropical drink","🥂":"clinking glasses","🏓":"ping pong","🥊":"boxing glove","🥋":"martial arts uniform","⛳":"flag in hole","🏹":"bow and arrow","🎿":"skis","⛷️":"skier","🏂":"snowboarder","🎤":"microphone","🎬":"clapper board","🎨":"artist palette","🧩":"puzzle piece","🪀":"yo-yo","🚇":"metro","🚉":"station","🚊":"tram","🚝":"monorail","🛻":"pickup truck","🚐":"minibus","🗺️":"world map","🧭":"compass","⛰️":"mountain","🏔️":"snow capped mountain","🌋":"volcano","🏜️":"desert","🏕️":"camping","🏙️":"cityscape","🌆":"city at dusk","🌃":"night with stars","📦":"package","📫":"closed mailbox with raised flag","📬":"open mailbox with raised flag","📭":"open mailbox with lowered flag","🧾":"receipt","💳":"credit card","💰":"money bag","🪙":"coin","🔋":"battery","🔌":"electric plug","🧯":"fire extinguisher","🪜":"ladder","🪞":"mirror","🧹":"broom","🧸":"teddy bear"};let c=null,n="all",l="",s=null;const j='[data-theme="dark"], .dark, .editora-theme-dark',h=()=>({name:"emojis",toolbar:[{label:"Insert Emoji",command:"openEmojiDialog",icon:'<svg width="24" height="24" focusable="false"><path d="M9 11c.6 0 1-.4 1-1s-.4-1-1-1a1 1 0 0 0-1 1c0 .6.4 1 1 1Zm6 0c.6 0 1-.4 1-1s-.4-1-1-1a1 1 0 0 0-1 1c0 .6.4 1 1 1Zm-3 5.5c2.1 0 4-1.5 4.4-3.5H7.6c.5 2 2.3 3.5 4.4 3.5ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm0 14.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13Z" fill-rule="nonzero"></path></svg>',shortcut:"Mod-Shift-j",type:"button"}],commands:{openEmojiDialog:(o,t)=>{const e=t?.contentElement||u();return e?(v(e),!0):!1},insertEmoji:(o,t)=>{if(!o)return!1;const e=t?.contentElement||u();if(!e)return!1;try{return f(o,e),!0}catch{return!1}}},keymap:{"Mod-Shift-j":"openEmojiDialog"}});function v(o){n="all",l="";const t=window.getSelection();s=null,t&&t.rangeCount>0&&o.contains(t.anchorNode)&&(s=t.getRangeAt(0).cloneRange());const e=document.createElement("div");e.className="emojis-overlay",y(o)&&e.classList.add("rte-ui-theme-dark"),e.onclick=g;const r=document.createElement("div");r.className="emojis-dialog",r.setAttribute("role","dialog"),r.setAttribute("aria-modal","true"),r.onclick=a=>a.stopPropagation();const i=Object.keys(d);r.innerHTML=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p={all:{name:"All",emojis:["❤️","💔","💙","💚","💛","🖤","🤍","🤎","✔️","❌","☑️","❗","❓","⚠️","💯","➕","➖","✖️","➗","♻️","⚡","🔥","✨","⭐","⭕","🚫","😀","😃","😄","😁","😆","😅","😂","🤣","😊","😇","🙂","🙃","😉","😍","😘","😎","🤓","😐","😑","😬","🙄","😏","😌","🤩","🥳","🤔","😴","😭","😢","😡","🤯","👍","👎","👌","✌️","🤞","🙏","👏","🙌","💪","🐶","🐱","🐭","🐹","🐰","🦊","🐻","🐼","🐨","🐯","🦁","🐮","🐷","🐸","🐵","🐔","🐧","🐦","🦆","🦅","🦄","🐝","🦋","🌲","🌳","🌴","🌵","🌸","🌼","🌻","☀️","🌙","⭐","🌈","🌧️","❄️","🌊","🍎","🍌","🍉","🍇","🍓","🍒","🍍","🥭","🍐","🍊","🍋","🍑","🥝","🥑","🍔","🍟","🍕","🌭","🥪","🌮","🌯","🍣","🍜","🍰","🧁","🍩","🍪","🍫","☕","🍵","🥤","🍺","🍷","🍸","🍹","🥂","⚽","🏀","🏈","⚾","🎾","🏐","🏉","🎮","🎯","🎳","🎲","♟️","🏃","🚴","🏊","🏋️","🧘","🎸","🎹","🥁","🎺","🎤","🏆","🥇","🚗","🚕","🚌","🚎","🚓","🚑","🚒","✈️","🚀","🚁","🚤","🛳️","🚢","🏠","🏢","🏬","🏫","🏥","🏰","🗼","🗽","⛩️","🕌","🌍","🌎","🌏","🏖️","🏝️","📱","💻","🖥️","⌨️","🖱️","📷","📸","🎥","📹","📚","📖","📝","📄","📂","🔒","🔑","🗝️","💡","🔦","🕯️","🧰","🛠️","🔧","⚙️","📦","💳","💰","🔋","🔌","🇮🇳","🇺🇸","🇬🇧","🇨🇦","🇦🇺","🇩🇪","🇫🇷","🇪🇸","🇮🇹","🇯🇵","🇰🇷","🇨🇳","🇧🇷","🇲🇽","🇷🇺","🇿🇦","🇳🇿"]},symbols:{name:"Symbols",emojis:["❤️","💔","💙","💚","💛","🖤","🤍","🤎","✔️","❌","☑️","❗","❓","⚠️","💯","➕","➖","✖️","➗","♻️","⚡","🔥","✨","⭐","⭕","🚫","⬆️","⬇️","⬅️","➡️","🔄","🔁","🔀","🔔","🔕","⏰","⌛","⏳"]},people:{name:"People",emojis:["😀","😃","😄","😁","😆","😅","😂","🤣","😊","😇","🙂","🙃","😉","😍","😘","😎","🤓","😐","😑","😬","🙄","😏","😌","🤩","🥳","🤔","😴","😭","😢","😡","🤯","👍","👎","👌","✌️","🤞","🙏","👏","🙌","💪"]},"animals-nature":{name:"Animals & Nature",emojis:["🐶","🐱","🐭","🐹","🐰","🦊","🐻","🐼","🐨","🐯","🦁","🐮","🐷","🐸","🐵","🐔","🐧","🐦","🦆","🦅","🦄","🐝","🦋","🌲","🌳","🌴","🌵","🌸","🌼","🌻","☀️","🌙","⭐","🌈","🌧️","❄️","🌊"]},"food-drink":{name:"Food & Drink",emojis:["🍎","🍌","🍉","🍇","🍓","🍒","🍍","🥭","🍐","🍊","🍋","🍑","🥝","🥑","🍔","🍟","🍕","🌭","🥪","🌮","🌯","🍣","🍜","🍰","🧁","🍩","🍪","🍫","☕","🍵","🥤","🍺","🍷","🍸","🍹","🥂"]},activity:{name:"Activity",emojis:["⚽","🏀","🏈","⚾","🎾","🏐","🏉","🎮","🎯","🎳","🎲","♟️","🏃","🚴","🏊","🏋️","🧘","🎸","🎹","🥁","🎺","🎤","🏆","🥇","🥈","🥉"]},"travel-places":{name:"Travel & Places",emojis:["🚗","🚕","🚌","🚎","🚓","🚑","🚒","✈️","🚀","🚁","🚤","🛳️","🚢","🏠","🏢","🏬","🏫","🏥","🏰","🗼","🗽","⛩️","🕌","🌍","🌎","🌏","🏖️","🏝️"]},objects:{name:"Objects",emojis:["📱","💻","🖥️","⌨️","🖱️","📷","📸","🎥","📹","📚","📖","📝","📄","📂","🔒","🔑","🗝️","💡","🔦","🕯️","🧰","🛠️","🔧","⚙️","📦","💳","💰","🔋","🔌"]},flags:{name:"Flags",emojis:["🇮🇳","🇺🇸","🇬🇧","🇨🇦","🇦🇺","🇩🇪","🇫🇷","🇪🇸","🇮🇹","🇯🇵","🇰🇷","🇨🇳","🇧🇷","🇲🇽","🇷🇺","🇿🇦","🇳🇿"]}},x={"💙":"blue heart","💚":"green heart","💛":"yellow heart","🖤":"black heart","🤍":"white heart","🤎":"brown heart","☑️":"check box with check","🔴":"red circle","🟢":"green circle","🟡":"yellow circle","🔵":"blue circle","⬆️":"up arrow","⬇️":"down arrow","⬅️":"left arrow","➡️":"right arrow","🔄":"counterclockwise arrows","🔁":"repeat button","🔀":"shuffle tracks","🔔":"bell","🔕":"muted bell","⏰":"alarm clock","⏳":"hourglass not done","⌛":"hourglass done","♠️":"spade suit","♥️":"heart suit","♦️":"diamond suit","♣️":"club suit","🚫":"prohibited","⭕":"hollow red circle","❎":"cross mark button","😐":"neutral face","😑":"expressionless face","😬":"grimacing face","🙄":"face with rolling eyes","😏":"smirking face","😌":"relieved face","🤩":"star struck","😜":"winking face with tongue","😝":"squinting face with tongue","🤪":"zany face","😢":"crying face","😥":"sad but relieved face","😓":"downcast face with sweat","😱":"face screaming in fear","😨":"fearful face","🤗":"hugging face","🤭":"face with hand over mouth","🤫":"shushing face","🤥":"lying face","👌":"ok hand","✌️":"victory hand","🤞":"crossed fingers","🙌":"raising hands","💪":"flexed biceps","🐔":"chicken","🐧":"penguin","🐦":"bird","🐤":"baby chick","🦆":"duck","🦅":"eagle","🐺":"wolf","🦄":"unicorn","🐝":"honeybee","🐞":"lady beetle","🦋":"butterfly","🐢":"turtle","🐍":"snake","🦖":"t-rex","🌿":"herb","🍀":"four leaf clover","🍁":"maple leaf","🍂":"fallen leaf","🌊":"water wave","❄️":"snowflake","☁️":"cloud","⛈️":"cloud with lightning and rain","🌪️":"tornado","🍐":"pear","🍊":"tangerine","🍋":"lemon","🍑":"peach","🥝":"kiwi fruit","🥑":"avocado","🍆":"eggplant","🌽":"ear of corn","🥕":"carrot","🥔":"potato","🍞":"bread","🥐":"croissant","🥖":"baguette bread","🧀":"cheese wedge","🍖":"meat on bone","🍗":"poultry leg","🥩":"cut of meat","🍦":"soft ice cream","🍨":"ice cream","🍫":"chocolate bar","🍬":"candy","🥛":"glass of milk","🧃":"beverage box","🍹":"tropical drink","🥂":"clinking glasses","🏓":"ping pong","🥊":"boxing glove","🥋":"martial arts uniform","⛳":"flag in hole","🏹":"bow and arrow","🎿":"skis","⛷️":"skier","🏂":"snowboarder","🎤":"microphone","🎬":"clapper board","🎨":"artist palette","🧩":"puzzle piece","🪀":"yo-yo","🚇":"metro","🚉":"station","🚊":"tram","🚝":"monorail","🛻":"pickup truck","🚐":"minibus","🗺️":"world map","🧭":"compass","⛰️":"mountain","🏔️":"snow capped mountain","🌋":"volcano","🏜️":"desert","🏕️":"camping","🏙️":"cityscape","🌆":"city at dusk","🌃":"night with stars","📦":"package","📫":"closed mailbox with raised flag","📬":"open mailbox with raised flag","📭":"open mailbox with lowered flag","🧾":"receipt","💳":"credit card","💰":"money bag","🪙":"coin","🔋":"battery","🔌":"electric plug","🧯":"fire extinguisher","🪜":"ladder","🪞":"mirror","🧹":"broom","🧸":"teddy bear"};let g=null,s="all",u="",n=null,l=null,d=null;const k='[data-theme="dark"], .dark, .editora-theme-dark',w=()=>({name:"emojis",toolbar:[{label:"Insert Emoji",command:"openEmojiDialog",icon:'<svg width="24" height="24" focusable="false"><path d="M9 11c.6 0 1-.4 1-1s-.4-1-1-1a1 1 0 0 0-1 1c0 .6.4 1 1 1Zm6 0c.6 0 1-.4 1-1s-.4-1-1-1a1 1 0 0 0-1 1c0 .6.4 1 1 1Zm-3 5.5c2.1 0 4-1.5 4.4-3.5H7.6c.5 2 2.3 3.5 4.4 3.5ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm0 14.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13Z" fill-rule="nonzero"></path></svg>',shortcut:"Mod-Shift-j",type:"button"}],commands:{openEmojiDialog:(t,r)=>{const e=r?.contentElement||b();return e?(y(e),!0):!1},insertEmoji:(t,r)=>{if(!t)return!1;const e=r?.contentElement||b();if(!e)return!1;try{return v(t,e),!0}catch{return!1}}},keymap:{"Mod-Shift-j":"openEmojiDialog"}});function y(t){m(),s="all",u="";const r=window.getSelection();l=null,r&&r.rangeCount>0&&t.contains(r.anchorNode)&&(l=r.getRangeAt(0).cloneRange());const e=document.createElement("div");e.className="emojis-overlay",S(t)&&e.classList.add("rte-ui-theme-dark"),e.onclick=m;const o=document.createElement("div");o.className="emojis-dialog",o.setAttribute("role","dialog"),o.setAttribute("aria-modal","true"),o.onclick=a=>a.stopPropagation();const i=Object.keys(p);o.innerHTML=`
2
2
  <div class="rte-dialog-header emojis-header">
3
3
  <h3>Insert Emojis</h3>
4
4
  <button class="rte-dialog-close emojis-close">×</button>
@@ -6,8 +6,8 @@
6
6
  <div class="rte-dialog-body emojis-content">
7
7
  <div class="emojis-tabs">
8
8
  ${i.map(a=>`
9
- <button class="emojis-tab ${a===n?"active":""}" data-category="${a}">
10
- ${d[a].name}
9
+ <button class="emojis-tab ${a===s?"active":""}" data-category="${a}">
10
+ ${p[a].name}
11
11
  </button>
12
12
  `).join("")}
13
13
  </div>
@@ -25,19 +25,19 @@
25
25
  />
26
26
  </div>
27
27
  <div class="emojis-grid" id="emojis-grid">
28
- ${b(n,l)}
28
+ ${j(s,u)}
29
29
  </div>
30
30
  </div>
31
31
  </div>
32
- `,e.appendChild(r),document.body.appendChild(e),c=e,x(r,o),k(),setTimeout(()=>{r.querySelector("#emoji-search-input")?.focus()},100)}function x(o,t){o.querySelector(".emojis-close")?.addEventListener("click",g),o.querySelectorAll(".emojis-tab").forEach(r=>{r.addEventListener("click",i=>{const a=i.target.getAttribute("data-category");a&&w(o,a,t)})}),o.querySelector("#emoji-search-input")?.addEventListener("input",r=>{l=r.target.value,m(o,t)}),m(o,t)}function w(o,t,e){n=t,o.querySelectorAll(".emojis-tab").forEach(r=>{r.classList.toggle("active",r.getAttribute("data-category")===t)}),m(o,e)}function m(o,t){const e=o.querySelector("#emojis-grid");e&&(e.innerHTML=b(n,l),e.querySelectorAll(".emojis-item").forEach(r=>{r.addEventListener("click",()=>{const i=r.textContent?.trim()||"";i&&(f(i,t),g())})}))}function b(o,t){let e=d[o].emojis;return t.trim()&&(e=e.filter(r=>r.toLowerCase().includes(t.toLowerCase())?!0:(p[r]||"").toLowerCase().includes(t.toLowerCase()))),e.length===0&&t.trim()?`<div class="emojis-no-results">No emojis found for "${t}"</div>`:e.map((r,i)=>`
32
+ `,e.appendChild(o),document.body.appendChild(e),g=e,d=a=>{a.key==="Escape"&&(a.preventDefault(),a.stopPropagation(),m())},document.addEventListener("keydown",d,!0),E(o,t),A(),requestAnimationFrame(()=>{o.querySelector("#emoji-search-input")?.focus()})}function E(t,r){t.querySelector(".emojis-close")?.addEventListener("click",m),t.querySelectorAll(".emojis-tab").forEach(i=>{i.addEventListener("click",a=>{const c=a.target.getAttribute("data-category");c&&z(t,c)})}),t.querySelector("#emoji-search-input")?.addEventListener("input",i=>{u=i.target.value,n!==null&&window.clearTimeout(n),n=window.setTimeout(()=>{n=null,h(t)},90)}),t.querySelector("#emojis-grid")?.addEventListener("click",i=>{const c=i.target.closest(".emojis-item");if(!c)return;const f=c.getAttribute("data-emoji")||c.textContent?.trim()||"";f&&(v(f,r),m())})}function z(t,r){s=r,t.querySelectorAll(".emojis-tab").forEach(e=>{e.classList.toggle("active",e.getAttribute("data-category")===r)}),h(t)}function h(t){const r=t.querySelector("#emojis-grid");r&&(r.innerHTML=j(s,u))}function j(t,r){let e=p[t].emojis;return r.trim()&&(e=e.filter(o=>o.toLowerCase().includes(r.toLowerCase())?!0:(x[o]||"").toLowerCase().includes(r.toLowerCase()))),e.length===0&&r.trim()?`<div class="emojis-no-results">No emojis found for "${r}"</div>`:e.map((o,i)=>`
33
33
  <button
34
34
  class="emojis-item"
35
- title="Insert ${r}"
36
- data-emoji="${r}"
35
+ title="Insert ${o}"
36
+ data-emoji="${o}"
37
37
  >
38
- ${r}
38
+ ${o}
39
39
  </button>
40
- `).join("")}function g(){c&&(document.body.removeChild(c),c=null)}function f(o,t){t.focus();let e=window.getSelection();if(s&&(e?.removeAllRanges(),e?.addRange(s),s=null),e=window.getSelection(),e&&e.rangeCount>0){const r=e.getRangeAt(0);r.deleteContents();const i=document.createTextNode(o);r.insertNode(i),r.setStartAfter(i),r.setEndAfter(i),e.removeAllRanges(),e.addRange(r)}}function u(){const o=window.getSelection();if(o&&o.rangeCount>0){const e=o.anchorNode,i=(e instanceof HTMLElement?e:e?.parentElement)?.closest(".editora-content, .rte-content");if(i)return i}const t=document.activeElement;return t&&(t.classList.contains("editora-content")||t.classList.contains("rte-content"))?t:document.querySelector(".editora-content, .rte-content")}function y(o){const t=o||u();return t?!!t.closest(j):!1}function k(){if(document.getElementById("emojis-dialog-styles"))return;const o=document.createElement("style");o.id="emojis-dialog-styles",o.textContent=`
40
+ `).join("")}function m(){d&&(document.removeEventListener("keydown",d,!0),d=null),n!==null&&(window.clearTimeout(n),n=null),g&&(g.remove(),g=null)}function v(t,r){r.focus();let e=window.getSelection();if(l&&(e?.removeAllRanges(),e?.addRange(l),l=null),e=window.getSelection(),e&&e.rangeCount>0){const o=e.getRangeAt(0);o.deleteContents();const i=document.createTextNode(t);o.insertNode(i),o.setStartAfter(i),o.setEndAfter(i),e.removeAllRanges(),e.addRange(o)}}function b(){const t=window.getSelection();if(t&&t.rangeCount>0){const e=t.anchorNode,i=(e instanceof HTMLElement?e:e?.parentElement)?.closest(".editora-content, .rte-content");if(i)return i}const r=document.activeElement;return r&&(r.classList.contains("editora-content")||r.classList.contains("rte-content"))?r:document.querySelector(".editora-content, .rte-content")}function S(t){const r=t||b();return r?!!r.closest(k):!1}function A(){if(document.getElementById("emojis-dialog-styles"))return;const t=document.createElement("style");t.id="emojis-dialog-styles",t.textContent=`
41
41
  .emojis-overlay {
42
42
  --rte-emoji-overlay-bg: rgba(15, 23, 36, 0.56);
43
43
  --rte-emoji-dialog-bg: #ffffff;
@@ -49,6 +49,26 @@
49
49
  --rte-emoji-accent: #1f75fe;
50
50
  --rte-emoji-accent-strong: #165fd6;
51
51
  --rte-emoji-ring: rgba(31, 117, 254, 0.18);
52
+ --rte-picker-dialog-width: min(640px, 96vw);
53
+ --rte-picker-dialog-max-height: min(560px, 86vh);
54
+ --rte-picker-dialog-radius: 12px;
55
+ --rte-picker-search-wrap-padding: 12px;
56
+ --rte-picker-search-height: 38px;
57
+ --rte-picker-search-font-size: 13px;
58
+ --rte-picker-search-radius: 8px;
59
+ --rte-picker-tabs-width: 156px;
60
+ --rte-picker-tab-padding-y: 10px;
61
+ --rte-picker-tab-padding-x: 12px;
62
+ --rte-picker-tab-font-size: 13px;
63
+ --rte-picker-grid-padding: 12px;
64
+ --rte-picker-grid-gap: 6px;
65
+ --rte-picker-cell-size: 34px;
66
+ --rte-picker-cell-font-size: 17px;
67
+ --rte-picker-cell-radius: 7px;
68
+ --rte-picker-mobile-tab-min-width: 82px;
69
+ --rte-picker-mobile-cell-size: 32px;
70
+ --rte-picker-mobile-grid-gap: 5px;
71
+ --rte-picker-mobile-dialog-max-height: 88vh;
52
72
  position: fixed;
53
73
  top: 0;
54
74
  left: 0;
@@ -59,7 +79,7 @@
59
79
  display: flex;
60
80
  align-items: center;
61
81
  justify-content: center;
62
- z-index: 1000;
82
+ z-index: 10000;
63
83
  padding: 16px;
64
84
  box-sizing: border-box;
65
85
  }
@@ -81,11 +101,10 @@
81
101
  background: var(--rte-emoji-dialog-bg);
82
102
  color: var(--rte-emoji-dialog-text);
83
103
  border: 1px solid var(--rte-emoji-border);
84
- border-radius: 12px;
104
+ border-radius: var(--rte-picker-dialog-radius);
85
105
  box-shadow: 0 24px 48px rgba(10, 15, 24, 0.28);
86
- max-width: 800px;
87
- width: 90%;
88
- max-height: 80vh;
106
+ width: var(--rte-picker-dialog-width);
107
+ max-height: var(--rte-picker-dialog-max-height);
89
108
  display: flex;
90
109
  flex-direction: column;
91
110
  overflow: hidden;
@@ -123,31 +142,34 @@
123
142
  display: flex;
124
143
  flex-direction: column;
125
144
  overflow: hidden;
145
+ min-width: 0;
126
146
  }
127
147
 
128
148
  .emojis-search {
129
- padding: 16px 16px 0 16px;
149
+ padding: var(--rte-picker-search-wrap-padding) var(--rte-picker-search-wrap-padding) 0 var(--rte-picker-search-wrap-padding);
130
150
  position: relative;
131
151
  }
132
152
 
133
153
  .emojis-search-icon {
134
154
  position: absolute;
135
- left: 28px;
136
- top: 27px;
155
+ left: 24px;
156
+ top: 22px;
137
157
  color: var(--rte-emoji-muted-text);
138
158
  pointer-events: none;
139
159
  z-index: 1;
140
160
  }
141
161
 
142
162
  .emojis-search-input {
143
- width: calc(100% - 24px);
144
- padding: 10px 12px 10px 40px;
163
+ width: 100%;
164
+ height: var(--rte-picker-search-height);
165
+ padding: 8px 12px 8px 36px;
145
166
  border: 1px solid var(--rte-emoji-border);
146
- border-radius: 8px;
147
- font-size: 14px;
167
+ border-radius: var(--rte-picker-search-radius);
168
+ font-size: var(--rte-picker-search-font-size);
148
169
  color: var(--rte-emoji-dialog-text);
149
170
  background-color: var(--rte-emoji-subtle-bg);
150
171
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
172
+ box-sizing: border-box;
151
173
  }
152
174
 
153
175
  .emojis-search-input:focus {
@@ -167,21 +189,23 @@
167
189
  .emojis-tabs {
168
190
  display: flex;
169
191
  flex-direction: column;
170
- width: 180px;
192
+ width: var(--rte-picker-tabs-width);
171
193
  border-right: 1px solid var(--rte-emoji-border);
172
194
  background-color: var(--rte-emoji-subtle-bg);
195
+ overflow-y: auto;
173
196
  }
174
197
 
175
198
  .emojis-tab {
176
- padding: 12px 16px;
199
+ padding: var(--rte-picker-tab-padding-y) var(--rte-picker-tab-padding-x);
177
200
  border: none;
178
201
  background: none;
179
202
  text-align: left;
180
203
  cursor: pointer;
181
- font-size: 14px;
204
+ font-size: var(--rte-picker-tab-font-size);
182
205
  color: var(--rte-emoji-muted-text);
183
206
  border-bottom: 1px solid var(--rte-emoji-border);
184
207
  transition: all 0.2s ease;
208
+ line-height: 1.25;
185
209
  }
186
210
 
187
211
  .emojis-tab:hover {
@@ -200,24 +224,25 @@
200
224
  }
201
225
 
202
226
  .emojis-grid {
203
- padding: 16px;
227
+ padding: var(--rte-picker-grid-padding);
204
228
  overflow-y: auto;
205
229
  display: grid;
206
- grid-template-columns: repeat(auto-fill, minmax(40px, 1fr));
207
- gap: 8px;
230
+ grid-template-columns: repeat(auto-fill, minmax(var(--rte-picker-cell-size), 1fr));
231
+ gap: var(--rte-picker-grid-gap);
232
+ contain: content;
208
233
  }
209
234
 
210
235
  .emojis-item {
211
- width: 40px;
212
- height: 40px;
236
+ width: var(--rte-picker-cell-size);
237
+ height: var(--rte-picker-cell-size);
213
238
  display: flex;
214
239
  align-items: center;
215
240
  justify-content: center;
216
241
  border: 1px solid var(--rte-emoji-border);
217
242
  background: var(--rte-emoji-subtle-bg);
218
- border-radius: 8px;
243
+ border-radius: var(--rte-picker-cell-radius);
219
244
  cursor: pointer;
220
- font-size: 18px;
245
+ font-size: var(--rte-picker-cell-font-size);
221
246
  transition: all 0.2s ease;
222
247
  color: var(--rte-emoji-dialog-text);
223
248
  }
@@ -247,8 +272,8 @@
247
272
  /* Responsive design */
248
273
  @media (max-width: 768px) {
249
274
  .emojis-dialog {
250
- width: 95%;
251
- max-height: 90vh;
275
+ width: 96%;
276
+ max-height: var(--rte-picker-mobile-dialog-max-height);
252
277
  }
253
278
 
254
279
  .emojis-content {
@@ -267,18 +292,18 @@
267
292
  border-bottom: none;
268
293
  border-right: 1px solid var(--rte-emoji-border);
269
294
  white-space: nowrap;
270
- min-width: 80px;
295
+ min-width: var(--rte-picker-mobile-tab-min-width);
271
296
  }
272
297
 
273
298
  .emojis-grid {
274
- grid-template-columns: repeat(auto-fill, minmax(36px, 1fr));
275
- gap: 6px;
299
+ grid-template-columns: repeat(auto-fill, minmax(var(--rte-picker-mobile-cell-size), 1fr));
300
+ gap: var(--rte-picker-mobile-grid-gap);
276
301
  }
277
302
 
278
303
  .emojis-item {
279
- width: 36px;
280
- height: 36px;
304
+ width: var(--rte-picker-mobile-cell-size);
305
+ height: var(--rte-picker-mobile-cell-size);
281
306
  font-size: 16px;
282
307
  }
283
308
  }
284
- `,document.head.appendChild(o)}exports.EmojisPlugin=h;
309
+ `,document.head.appendChild(t)}exports.EmojisPlugin=w;