@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.
- package/README.md +50 -4
- package/dist/_commonjsHelpers-BH3jXuIh.js +1 -0
- package/dist/_commonjsHelpers-ByX85dGu.mjs +33 -0
- package/dist/anchor.cjs.js +11 -11
- package/dist/anchor.esm.js +130 -107
- package/dist/anchoredPopover-BzqGPOAE.js +1 -0
- package/dist/anchoredPopover-Dts0IrgU.mjs +106 -0
- package/dist/background-color.cjs.js +3 -3
- package/dist/background-color.esm.js +116 -119
- package/dist/code.cjs.js +82 -102
- package/dist/code.esm.js +1172 -662
- package/dist/comments.cjs.js +10 -10
- package/dist/comments.esm.js +195 -177
- package/dist/document-manager.cjs.js +1 -1
- package/dist/document-manager.esm.js +1 -1
- package/dist/documentManager-CTqRftU8.mjs +8369 -0
- package/dist/documentManager-Jf0RbSks.js +17 -0
- package/dist/embed-iframe.cjs.js +2 -2
- package/dist/embed-iframe.esm.js +8 -5
- package/dist/emojis.cjs.js +64 -39
- package/dist/emojis.esm.js +133 -104
- package/dist/html2canvas.esm-B5qzocYs.js +5 -0
- package/dist/html2canvas.esm-BWVIUcAF.mjs +4802 -0
- package/dist/{index-Bskk414V.mjs → index-BFsKNTTj.mjs} +50 -50
- package/dist/index-CvJk4DKa.js +221 -0
- package/dist/index-D3CycEFU.mjs +16543 -0
- package/dist/index-tqLTHcO6.js +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/{index.es-Cz1qItab.js → index.es-CE_A4QSm.js} +5 -5
- package/dist/{index.es-DEcRmSTY.mjs → index.es-DQ78mYYo.mjs} +4 -3
- package/dist/index.esm.js +87 -79
- package/dist/jspdf.es.min-BoS80556.js +77 -0
- package/dist/jspdf.es.min-DQCoX5yh.mjs +7889 -0
- package/dist/link.cjs.js +6 -6
- package/dist/link.esm.js +41 -39
- package/dist/math.cjs.js +21 -21
- package/dist/math.esm.js +151 -112
- package/dist/media-manager.cjs.js +15 -15
- package/dist/media-manager.esm.js +227 -206
- package/dist/merge-tag.cjs.js +44 -12
- package/dist/merge-tag.esm.js +368 -241
- package/dist/page-break.cjs.js +2 -2
- package/dist/page-break.esm.js +77 -69
- package/dist/special-characters.cjs.js +83 -45
- package/dist/special-characters.esm.js +149 -100
- package/dist/spell-check.cjs.js +9 -9
- package/dist/spell-check.esm.js +235 -216
- package/dist/template.cjs.js +14 -14
- package/dist/template.esm.js +157 -131
- package/dist/text-color.cjs.js +9 -9
- package/dist/text-color.esm.js +131 -115
- package/index.d.ts +51 -1
- package/package.json +3 -3
- package/dist/colorSelectionApply-C0iOfMWb.js +0 -1
- package/dist/colorSelectionApply-D8r_gV32.mjs +0 -63
- package/dist/documentManager-DRUc1-Cs.mjs +0 -37581
- package/dist/documentManager-_tQQfQi9.js +0 -317
- package/dist/index-D3pJyAsj.js +0 -1
package/dist/embed-iframe.cjs.js
CHANGED
|
@@ -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),
|
|
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;
|
package/dist/embed-iframe.esm.js
CHANGED
|
@@ -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,
|
|
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"),
|
|
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
|
|
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.
|
|
264
|
+
t.escapeHandler && (document.removeEventListener("keydown", t.escapeHandler, !0), t.escapeHandler = null), t.dialogElement && (t.dialogElement.remove(), t.dialogElement = null);
|
|
262
265
|
}
|
|
263
|
-
function
|
|
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 = `
|
package/dist/emojis.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
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===
|
|
10
|
-
${
|
|
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
|
-
${
|
|
28
|
+
${j(s,u)}
|
|
29
29
|
</div>
|
|
30
30
|
</div>
|
|
31
31
|
</div>
|
|
32
|
-
`,e.appendChild(
|
|
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 ${
|
|
36
|
-
data-emoji="${
|
|
35
|
+
title="Insert ${o}"
|
|
36
|
+
data-emoji="${o}"
|
|
37
37
|
>
|
|
38
|
-
${
|
|
38
|
+
${o}
|
|
39
39
|
</button>
|
|
40
|
-
`).join("")}function
|
|
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:
|
|
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:
|
|
104
|
+
border-radius: var(--rte-picker-dialog-radius);
|
|
85
105
|
box-shadow: 0 24px 48px rgba(10, 15, 24, 0.28);
|
|
86
|
-
|
|
87
|
-
|
|
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:
|
|
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:
|
|
136
|
-
top:
|
|
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:
|
|
144
|
-
|
|
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:
|
|
147
|
-
font-size:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
227
|
+
padding: var(--rte-picker-grid-padding);
|
|
204
228
|
overflow-y: auto;
|
|
205
229
|
display: grid;
|
|
206
|
-
grid-template-columns: repeat(auto-fill, minmax(
|
|
207
|
-
gap:
|
|
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:
|
|
212
|
-
height:
|
|
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:
|
|
243
|
+
border-radius: var(--rte-picker-cell-radius);
|
|
219
244
|
cursor: pointer;
|
|
220
|
-
font-size:
|
|
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:
|
|
251
|
-
max-height:
|
|
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:
|
|
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(
|
|
275
|
-
gap:
|
|
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:
|
|
280
|
-
height:
|
|
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(
|
|
309
|
+
`,document.head.appendChild(t)}exports.EmojisPlugin=w;
|