@ryzeup/richtexteditor 1.0.11 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- "use strict";var at=Object.defineProperty,ot=Object.defineProperties;var lt=Object.getOwnPropertyDescriptors;var be=Object.getOwnPropertySymbols;var ct=Object.prototype.hasOwnProperty,it=Object.prototype.propertyIsEnumerable;var Ce=(r,l,s)=>l in r?at(r,l,{enumerable:!0,configurable:!0,writable:!0,value:s}):r[l]=s,ee=(r,l)=>{for(var s in l||(l={}))ct.call(l,s)&&Ce(r,s,l[s]);if(be)for(var s of be(l))it.call(l,s)&&Ce(r,s,l[s]);return r},te=(r,l)=>ot(r,lt(l));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),st=require("react-dom");function ut(r){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const s in r)if(s!=="default"){const d=Object.getOwnPropertyDescriptor(r,s);Object.defineProperty(l,s,d.get?d:{enumerable:!0,get:()=>r[s]})}}return l.default=r,Object.freeze(l)}const dt=ut(t);window.React=dt;var Me={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Re=t.createContext&&t.createContext(Me),mt=["attr","size","title"];function ft(r,l){if(r==null)return{};var s=gt(r,l),d,m;if(Object.getOwnPropertySymbols){var y=Object.getOwnPropertySymbols(r);for(m=0;m<y.length;m++)d=y[m],!(l.indexOf(d)>=0)&&Object.prototype.propertyIsEnumerable.call(r,d)&&(s[d]=r[d])}return s}function gt(r,l){if(r==null)return{};var s={};for(var d in r)if(Object.prototype.hasOwnProperty.call(r,d)){if(l.indexOf(d)>=0)continue;s[d]=r[d]}return s}function K(){return K=Object.assign?Object.assign.bind():function(r){for(var l=1;l<arguments.length;l++){var s=arguments[l];for(var d in s)Object.prototype.hasOwnProperty.call(s,d)&&(r[d]=s[d])}return r},K.apply(this,arguments)}function xe(r,l){var s=Object.keys(r);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(r);l&&(d=d.filter(function(m){return Object.getOwnPropertyDescriptor(r,m).enumerable})),s.push.apply(s,d)}return s}function X(r){for(var l=1;l<arguments.length;l++){var s=arguments[l]!=null?arguments[l]:{};l%2?xe(Object(s),!0).forEach(function(d){ht(r,d,s[d])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(s)):xe(Object(s)).forEach(function(d){Object.defineProperty(r,d,Object.getOwnPropertyDescriptor(s,d))})}return r}function ht(r,l,s){return l=pt(l),l in r?Object.defineProperty(r,l,{value:s,enumerable:!0,configurable:!0,writable:!0}):r[l]=s,r}function pt(r){var l=vt(r,"string");return typeof l=="symbol"?l:l+""}function vt(r,l){if(typeof r!="object"||!r)return r;var s=r[Symbol.toPrimitive];if(s!==void 0){var d=s.call(r,l);if(typeof d!="object")return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return(l==="string"?String:Number)(r)}function ze(r){return r&&r.map((l,s)=>t.createElement(l.tag,X({key:s},l.attr),ze(l.child)))}function S(r){return l=>t.createElement(Et,K({attr:X({},r.attr)},l),ze(r.child))}function Et(r){var l=s=>{var{attr:d,size:m,title:y}=r,L=ft(r,mt),C=m||s.size||"1em",E;return s.className&&(E=s.className),r.className&&(E=(E?E+" ":"")+r.className),t.createElement("svg",K({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},s.attr,d,L,{className:E,style:X(X({color:r.color||s.color},s.style),r.style),height:C,width:C,xmlns:"http://www.w3.org/2000/svg"}),y&&t.createElement("title",null,y),r.children)};return Re!==void 0?t.createElement(Re.Consumer,null,s=>l(s)):l(Me)}function yt(r){return S({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M352 64c0-17.7-14.3-32-32-32L128 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32zm96 128c0-17.7-14.3-32-32-32L32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32zM0 448c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 416c-17.7 0-32 14.3-32 32zM352 320c0-17.7-14.3-32-32-32l-192 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32z"},child:[]}]})(r)}function wt(r){return S({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M448 64c0 17.7-14.3 32-32 32L192 96c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 224c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"},child:[]}]})(r)}function bt(r){return S({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zM323.8 202.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6L170.7 297c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6l96 0 32 0 208 0c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7l-120-176zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z"},child:[]}]})(r)}function Ct(r){return S({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M24 56c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24l0 120 16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l16 0 0-96-8 0C34.7 80 24 69.3 24 56zM86.7 341.2c-6.5-7.4-18.3-6.9-24 1.2L51.5 357.9c-7.7 10.8-22.7 13.3-33.5 5.6s-13.3-22.7-5.6-33.5l11.1-15.6c23.7-33.2 72.3-35.6 99.2-4.9c21.3 24.4 20.8 60.9-1.1 84.7L86.8 432l33.2 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-88 0c-9.5 0-18.2-5.6-22-14.4s-2.1-18.9 4.3-25.9l72-78c5.3-5.8 5.4-14.6 .3-20.5zM224 64l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z"},child:[]}]})(r)}function Rt(r){return S({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M12.83 352h262.34A12.82 12.82 0 0 0 288 339.17v-38.34A12.82 12.82 0 0 0 275.17 288H12.83A12.82 12.82 0 0 0 0 300.83v38.34A12.82 12.82 0 0 0 12.83 352zm0-256h262.34A12.82 12.82 0 0 0 288 83.17V44.83A12.82 12.82 0 0 0 275.17 32H12.83A12.82 12.82 0 0 0 0 44.83v38.34A12.82 12.82 0 0 0 12.83 96zM432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"},child:[]}]})(r)}function xt(r){return S({attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M333.49 238a122 122 0 0 0 27-65.21C367.87 96.49 308 32 233.42 32H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h31.87v288H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h209.32c70.8 0 134.14-51.75 141-122.4 4.74-48.45-16.39-92.06-50.83-119.6zM145.66 112h87.76a48 48 0 0 1 0 96h-87.76zm87.76 288h-87.76V288h87.76a56 56 0 0 1 0 112z"},child:[]}]})(r)}function Lt(r){return S({attr:{viewBox:"0 0 544 512"},child:[{tag:"path",attr:{d:"M0 479.98L99.92 512l35.45-35.45-67.04-67.04L0 479.98zm124.61-240.01a36.592 36.592 0 0 0-10.79 38.1l13.05 42.83-50.93 50.94 96.23 96.23 50.86-50.86 42.74 13.08c13.73 4.2 28.65-.01 38.15-10.78l35.55-41.64-173.34-173.34-41.52 35.44zm403.31-160.7l-63.2-63.2c-20.49-20.49-53.38-21.52-75.12-2.35L190.55 183.68l169.77 169.78L530.27 154.4c19.18-21.74 18.15-54.63-2.35-75.13z"},child:[]}]})(r)}function St(r){return S({attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M320 48v32a16 16 0 0 1-16 16h-62.76l-80 320H208a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h62.76l80-320H112a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h192a16 16 0 0 1 16 16z"},child:[]}]})(r)}function Mt(r){return S({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"},child:[]}]})(r)}function zt(r){return S({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"},child:[]}]})(r)}function kt(r){return S({attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm194.8 170.2C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.6-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.4-16.2 38.1 4.2 24.6 20.5z"},child:[]}]})(r)}function At(r){return S({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z"},child:[]}]})(r)}function Nt(r){return S({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M32 64h32v160c0 88.22 71.78 160 160 160s160-71.78 160-160V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H272a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32v160a80 80 0 0 1-160 0V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm400 384H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"},child:[]}]})(r)}function Tt(r){return S({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M2 20h20v4H2v-4zm3.49-3h2.42l1.27-3.58h5.65L16.09 17h2.42L13.25 3h-2.5L5.49 17zm4.42-5.61 2.03-5.79h.12l2.03 5.79H9.91z"},child:[]}]})(r)}function Ot(r){return S({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M20 8V5H6.39l3 3h1.83l-.55 1.28 2.09 2.1L14.21 8zM3.41 4.86 2 6.27l6.97 6.97L6.5 19h3l1.57-3.66L16.73 21l1.41-1.41z"},child:[]}]})(r)}const Dt=["😀","😁","😂","đŸ¤Ŗ","😃","😄","😅","😉","😊","😍","😘","😜","😎","đŸ˜ĸ","😭","😡","🤔","🙄","😇","đŸĨ°","🤩","🤗","😴","😋","đŸ˜Ŧ","🤤","đŸ˜ļ‍đŸŒĢī¸","😷","🤕","🤑","🤠","😈","đŸ‘ģ","💀","🤖","đŸļ","🐱","đŸŧ","🐸","đŸĻ„","🐷","đŸĩ","🐰","đŸ¯","đŸĻ","🐮","🌞","🌙","⭐","🌈","đŸ”Ĩ","💧","â„ī¸","⚡","â˜€ī¸","🌸","🌹","🍎","🍕","🍩","🍔","🍟","🍇","🍉","🍓","🍒","đŸĨ­","đŸĨ‘","🎉","🎂","🎁","🎈","đŸŽļ","đŸŽĩ","🏆","âšŊ","🏀","🏸","🏏","đŸ•šī¸","👋","🤚","đŸ–ī¸","✋","🖖","👍","👎","👌","🤌","🤏","✊","👊","🤛","🤜","â˜ī¸","👆","👇","👈","👉","🤟","🤘","🤙","🙌","👏","🙏","âœī¸","💅","🤲","👏","đŸĢļ","👐"],ke=({exec:r,saveSelection:l,handleFileChange:s,handleFontSizeChange:d,handleFontFamilyChange:m,insertEmoji:y,handleLink:L,removeFormatting:C,visibleActions:E,className:T,style:H})=>{var q,A;const z=t.useRef(null),O=t.useRef(null),R=t.useRef(null),[Y,B]=t.useState(!1),[P,F]=t.useState({x:0,y:0});t.useEffect(()=>{const g=w=>{!w.target.closest(".rte-emoji-popup")&&!w.target.closest("button[title='Emoji']")&&B(!1)};return document.addEventListener("mousedown",g),()=>document.removeEventListener("mousedown",g)},[]);const _=g=>{var D;g.preventDefault();const w=g.currentTarget.dataset.command;if(w)switch(w){case"bold":case"italic":case"underline":case"insertUnorderedList":case"insertOrderedList":case"removeFormat":r(w);break;case"insertImage":{(D=z.current)==null||D.click();break}default:console.warn("Unknown command:",w)}},Z=g=>{r("foreColor",g.target.value)},Q=g=>{r("backColor",g.target.value)},[x,j]=t.useState({bold:!1,italic:!1,underline:!1,unorderedList:!1,orderedList:!1,alignLeft:!1,alignCenter:!1,alignRight:!1,removeFormat:!1,link:!1,image:!1,emoji:!1,table:!1,color:!1,highlight:!1});return t.useEffect(()=>{const g=()=>{j({bold:document.queryCommandState("bold"),italic:document.queryCommandState("italic"),underline:document.queryCommandState("underline"),unorderedList:document.queryCommandState("insertUnorderedList"),orderedList:document.queryCommandState("insertOrderedList"),alignLeft:document.queryCommandState("justifyLeft"),alignCenter:document.queryCommandState("justifyCenter"),alignRight:document.queryCommandState("justifyRight"),removeFormat:document.queryCommandState("removeFormat"),link:document.queryCommandState("createLink"),image:document.queryCommandState("insertImage"),emoji:document.queryCommandState("insertEmoji"),table:document.queryCommandState("insertTable"),color:document.queryCommandState("foreColor"),highlight:document.queryCommandState("backColor")})};return document.addEventListener("selectionchange",g),()=>document.removeEventListener("selectionchange",g)},[]),t.createElement("div",{className:`rte-toolbar ${T||""}`,style:H},E.bold&&t.createElement("button",{"data-command":"bold",title:"Bold",onMouseDown:_,className:x.bold?"rte-active":""},t.createElement(xt,null)),E.italic&&t.createElement("button",{"data-command":"italic",title:"Italic",onMouseDown:_,className:x.italic?"rte-active":""},t.createElement(St,null)),E.underline&&t.createElement("button",{"data-command":"underline",title:"Underline",onMouseDown:_,className:x.underline?"rte-active":""},t.createElement(Nt,null)),E.unorderedList&&t.createElement("button",{"data-command":"insertUnorderedList",onMouseDown:_,title:"UnorderedList",className:x.unorderedList?"rte-active":""},t.createElement(zt,null)),E.orderedList&&t.createElement("button",{"data-command":"insertOrderedList",title:"OrderedList",onMouseDown:_,className:x.orderedList?"rte-active":""},t.createElement(Ct,null)),E.link&&t.createElement("button",{"data-command":"createLink",title:"Link",onClick:L,className:x.link?"rte-active":""},t.createElement(Mt,null)),E.removeFormat&&t.createElement("button",{"data-command":"Remove format",title:"removeFormat",onMouseDown:g=>{g.preventDefault(),l(),C()},className:x.removeFormat?"rte-active":""},t.createElement(Ot,null)),E.image&&t.createElement("button",{"data-command":"insertImage",title:"Image",onMouseDown:_,className:x.image?"rte-active":""},t.createElement(bt,null)),t.createElement("input",{type:"file",accept:"image/*",ref:z,style:{display:"none"},onChange:s}),E.emoji&&t.createElement("div",{style:{position:"relative"}},t.createElement("button",{title:"Emoji",onMouseDown:g=>{g.preventDefault(),l();const w=g.currentTarget.getBoundingClientRect();F({x:w.left,y:w.bottom+8}),B(D=>!D)},className:x.emoji?"rte-active":""},t.createElement(kt,null)),Y&&st.createPortal(t.createElement("div",{className:"rte-emoji-popup",style:{top:P.y,left:P.x}},Dt.map((g,w)=>t.createElement("span",{key:w,style:{fontSize:"20px",cursor:"pointer",textAlign:"center"},onMouseDown:D=>{D.preventDefault(),y(g),B(!1)}},g))),document.body)),E.color&&t.createElement("div",{style:{position:"relative"}},t.createElement("button",{title:"Text Color",onMouseDown:g=>{var w;g.preventDefault(),l(),(w=O.current)==null||w.click()},style:{display:"flex",alignItems:"center",justifyContent:"center",color:((q=O.current)==null?void 0:q.value)||"#000",fontSize:"18px"},className:x.color?"rte-active":""},t.createElement(Tt,null)),t.createElement("input",{ref:O,type:"color",defaultValue:"#000000",onChange:g=>{var w;Z(g),((w=g.target.parentElement)==null?void 0:w.querySelector("button")).style.color=g.target.value},style:{position:"absolute",opacity:0,width:0,height:0,pointerEvents:"none"}})),E.highlight&&t.createElement("div",{style:{position:"relative"}},t.createElement("button",{title:"Highlight",onMouseDown:g=>{var w;g.preventDefault(),l(),(w=R.current)==null||w.click()},style:{display:"flex",alignItems:"center",justifyContent:"center",color:((A=R.current)==null?void 0:A.value)||"#000",fontSize:"18px"},className:x.highlight?"rte-active":""},t.createElement(Lt,null)),t.createElement("input",{ref:R,type:"color",onChange:g=>{var w;Q(g),((w=g.target.parentElement)==null?void 0:w.querySelector("button")).style.color=g.target.value},defaultValue:"#000000",style:{position:"absolute",opacity:0,width:0,height:0,pointerEvents:"none"}})),E.align&&t.createElement(t.Fragment,null,t.createElement("button",{title:"Align Left",onMouseDown:g=>g.preventDefault(),onClick:()=>r("justifyLeft"),className:x.alignLeft?"rte-active":""},t.createElement(Rt,null)),t.createElement("button",{title:"Align Center",onMouseDown:g=>g.preventDefault(),onClick:()=>r("justifyCenter"),className:x.alignCenter?"rte-active":""},t.createElement(yt,null)),t.createElement("button",{title:"Align Right",onMouseDown:g=>g.preventDefault(),onClick:()=>r("justifyRight"),className:x.alignRight?"rte-active":""},t.createElement(wt,null))),E.table&&t.createElement("button",{title:"Insert Table",onMouseDown:g=>g.preventDefault(),onClick:()=>r("insertTable"),className:x.table?"rte-active":""},t.createElement(At,null)),E.fontFamily&&t.createElement("select",{className:"rte-dropdown",defaultValue:"",onMouseDown:()=>l(),onChange:m},t.createElement("option",{value:"",disabled:!0},"Font Family"),t.createElement("option",{value:"Arial"},"Arial"),t.createElement("option",{value:"Georgia"},"Georgia"),t.createElement("option",{value:"Times New Roman"},"Times New Roman"),t.createElement("option",{value:"Courier New"},"Courier New"),t.createElement("option",{value:"Verdana"},"Verdana")),E.fontSize&&t.createElement("select",{className:"rte-dropdown",defaultValue:"",onMouseDown:()=>l(),onChange:d},t.createElement("option",{value:"",disabled:!0},"Font Size"),t.createElement("option",{value:"2"},"Small "),t.createElement("option",{value:"3"},"Normal"),t.createElement("option",{value:"4"},"Medium"),t.createElement("option",{value:"5"},"Large")))},Ht=({show:r,position:l,filtered:s,insertMention:d,onClose:m,query:y})=>{const L=t.useRef(null);return t.useEffect(()=>{const C=E=>{L.current&&!L.current.contains(E.target)&&m()};return r&&document.addEventListener("mousedown",C),()=>{document.removeEventListener("mousedown",C)}},[r,m]),r?t.createElement("ul",{ref:L,className:"rte-popup",style:{top:l.y,left:l.x}},s.length>0?s.map(({name:C,value:E})=>{const T=C.toLowerCase(),H=y.toLowerCase(),z=T.indexOf(H);let O=C;if(z!==-1&&y.length>0){const R=z+y.length;O=C.substring(0,z)+`<span class="rte-highlight">${C.substring(z,R)}</span>`+C.substring(R)}return t.createElement("li",{key:E,onMouseDown:R=>{R.preventDefault(),d({name:C,value:E})},style:{padding:"6px 12px",cursor:"pointer",fontSize:"14px"},dangerouslySetInnerHTML:{__html:O},onMouseEnter:R=>R.currentTarget.style.background="#f0f0f0",onMouseLeave:R=>R.currentTarget.style.background="#fff"})}):t.createElement("li",{style:{padding:"6px 12px",color:"#999"}},"No matches")):null};function Le(r){return S({attr:{viewBox:"0 0 24 24"},child:[{tag:"g",attr:{id:"Circle_Minus"},child:[{tag:"g",attr:{},child:[{tag:"path",attr:{d:"M15,11.5h0a.5.5,0,0,1,0,1H9a.5.5,0,0,1,0-1Z"},child:[]},{tag:"path",attr:{d:"M12,21.934A9.933,9.933,0,1,1,21.932,12,9.945,9.945,0,0,1,12,21.934ZM12,3.068A8.933,8.933,0,1,0,20.932,12,8.944,8.944,0,0,0,12,3.068Z"},child:[]}]}]}]})(r)}function W(r){return S({attr:{viewBox:"0 0 24 24"},child:[{tag:"g",attr:{id:"Circle_Plus"},child:[{tag:"g",attr:{},child:[{tag:"path",attr:{d:"M15,12.5H12.5V15a.5.5,0,0,1-1,0V12.5H9a.5.5,0,0,1,0-1h2.5V9a.5.5,0,0,1,1,0v2.5H15A.5.5,0,0,1,15,12.5Z"},child:[]},{tag:"path",attr:{d:"M12,21.932A9.934,9.934,0,1,1,21.932,12,9.944,9.944,0,0,1,12,21.932ZM12,3.065A8.934,8.934,0,1,0,20.932,12,8.944,8.944,0,0,0,12,3.065Z"},child:[]}]}]}]})(r)}const jt=({visible:r,x:l,y:s,onAction:d,onClose:m})=>{if(!r)return null;const y={top:s,left:l};return t.createElement("div",{style:y,className:"rte-table-menu",onMouseLeave:m},t.createElement("button",{onClick:()=>d("insertRowAbove")},t.createElement(W,null)," Insert row above"),t.createElement("button",{onClick:()=>d("insertRowBelow")},t.createElement(W,null)," Insert row below"),t.createElement("button",{onClick:()=>d("insertColLeft")},t.createElement(W,null)," Insert col left"),t.createElement("button",{onClick:()=>d("insertColRight")},t.createElement(W,null)," Insert col right"),t.createElement("button",{onClick:()=>d("deleteRow")},t.createElement(Le,null)," Delete row"),t.createElement("button",{onClick:()=>d("deleteCol")},t.createElement(Le,null)," Delete column"))},Ae=({html:r,className:l,style:s})=>{const d=y=>{const L=y.target;if(L.tagName==="A"){y.preventDefault();const C=L.href;C&&window.open(C,"_blank","noopener,noreferrer")}},m=y=>y.replace(/{{\s*(.*?)\s*}}/g,"$1");return t.createElement("div",{className:`rte-preview ${l||""}`,style:s,onClick:d,dangerouslySetInnerHTML:{__html:m(r)}})},_t=({visible:r,linkData:l,onClose:s,onInsert:d})=>{const[m,y]=t.useState(""),[L,C]=t.useState(""),[E,T]=t.useState(""),[H,z]=t.useState("_self");if(t.useEffect(()=>{r?(y(l.url||""),C(l.text||""),T(l.title||""),z(l.target||"_self")):(y(""),C(""),T(""),z("_self"))},[r,l]),!r)return null;const O=()=>{d({url:m,text:L,title:E,target:H})};return t.createElement(t.Fragment,null,t.createElement("div",{className:"rte-link-modal-overlay",onClick:s}),t.createElement("div",{className:"rte-link-modal"},t.createElement("h4",{className:"rte-link-modal__title"},m?"Edit Link":"Insert Link"),t.createElement("input",{type:"text",className:"rte-link-modal__input",placeholder:"URL",value:m,onChange:R=>y(R.target.value)}),t.createElement("input",{type:"text",className:"rte-link-modal__input",placeholder:"Text to Display",value:L,onChange:R=>C(R.target.value)}),t.createElement("input",{type:"text",className:"rte-link-modal__input",placeholder:"Title",value:E,onChange:R=>T(R.target.value)}),t.createElement("select",{className:"rte-link-modal__select",value:H,onChange:R=>z(R.target.value)},t.createElement("option",{value:"_self"},"Same tab"),t.createElement("option",{value:"_blank"},"New tab")),t.createElement("div",{className:"rte-link-modal__actions"},t.createElement("button",{className:"rte-link-modal__btn",onClick:s},"Cancel"),t.createElement("button",{className:"rte-link-modal__btn rte-link-modal__btn--ok",onClick:O},"OK"))))};function Se(r){return Array.from(new Map(r.map(l=>[l.value,l])).values())}const Ft=({atSuggestions:r=[],showOutput:l=!1,showPreview:s=!1,toolbarConfig:d={link:!1,image:!1,emoji:!1,table:!1,color:!1,fontFamily:!1,fontSize:!1,highlight:!1},classNames:m={},styles:y={},handleGetHtml:L=()=>{},onChange:C=()=>{},value:E,onMentionSelect:T=()=>{},handleAddAttributes:H=()=>{}})=>{var me,fe,ge,he,pe,ve,Ee,ye;const z=t.useRef(null),[O,R]=t.useState(E!=null&&E.length?E:" "),[Y,B]=t.useState(""),[P,F]=t.useState(!1),[_,Z]=t.useState({x:0,y:0}),[Q,x]=t.useState([]),j=t.useRef(null),q=t.useRef(null),[A,g]=t.useState({visible:!1,x:0,y:0}),[w,D]=t.useState(!1),V=t.useRef(null),[Ne,ne]=t.useState({url:"",text:"",title:"",target:"_self"}),Te={bold:!0,italic:!0,underline:!0,removeFormat:!0,unorderedList:!0,orderedList:!0,align:!0,link:(me=d.link)!=null?me:!1,image:(fe=d.image)!=null?fe:!1,emoji:(ge=d.emoji)!=null?ge:!1,table:(he=d.table)!=null?he:!1,color:(pe=d.color)!=null?pe:!1,fontFamily:(ve=d.fontFamily)!=null?ve:!1,fontSize:(Ee=d.fontSize)!=null?Ee:!1,highlight:(ye=d.fontSize)!=null?ye:!1},[Oe,re]=t.useState(""),[ae,J]=t.useState([]),N=()=>z.current,M=()=>{const e=de();B(e),L==null||L(e);const n=rt(e);C(n);const a=Be(),o=Se(a);JSON.stringify(o)!==JSON.stringify(ae)&&(J(o),T(o))},oe=()=>{const e=window.getSelection();e!=null&&e.rangeCount&&(j.current=e.getRangeAt(0))},I=()=>{const e=window.getSelection();e&&j.current&&(e.removeAllRanges(),e.addRange(j.current))},De=(e,n)=>{const a=window.getSelection();a&&a.rangeCount>0&&(j.current=a.getRangeAt(0)),I(),document.execCommand(e,!1,n),M()};t.useEffect(()=>{const e=N();e&&!e.innerHTML&&(e.innerHTML=O),M()},[]),t.useEffect(()=>()=>{document.removeEventListener("mousemove",null),document.removeEventListener("mouseup",null)},[]),t.useEffect(()=>{H&&H(e=>{Ie(e)})},[]),t.useEffect(()=>{const e=N();if(!e)return;e.querySelectorAll("table").forEach(a=>{se(a),a.querySelectorAll("th, td").forEach(u=>U(u))})},[E]);const le=e=>{for(;e&&e.nodeName!=="LI";)e=e.parentNode;return e},He=e=>{let n=0,a=e.parentElement;for(;a;)(a.tagName==="UL"||a.tagName==="OL")&&n++,a=a.parentElement;return n},je=e=>{const n=e.querySelector("li"),a=n?He(n):1;if(e.querySelector("[data-hidden-array-start]"))return;const o=`{{#arrayData${a>1?a:""}}}`,u=`{{/arrayData${a>1?a:""}}}`,c=document.createElement("span");c.textContent=o,c.style.display="none",c.setAttribute("data-hidden-array-start","true"),e.insertBefore(c,e.firstChild);const i=document.createElement("span");i.textContent=u,i.style.display="none",i.setAttribute("data-hidden-array-end","true"),e.appendChild(i)},ce=e=>{var v;const n=window.getSelection();if(!(n!=null&&n.rangeCount))return;const a=n.getRangeAt(0),o=le(a.startContainer);let u,c;if(o){let f=o.querySelector(e);f||(f=document.createElement(e),f.style.margin="0",f.style.paddingLeft="20px",o.appendChild(f)),c=f,u=document.createElement("li"),u.textContent="​",c.appendChild(u)}else{document.execCommand(e==="ul"?"insertUnorderedList":"insertOrderedList");const f=N();if(c=f==null?void 0:f.querySelector(`${e}:last-child`),!c)return;u=c.querySelector("li:last-child")}je(c);const i=document.createRange();i.setStart(u,0),i.collapse(!0),n.removeAllRanges(),n.addRange(i),(v=N())==null||v.focus(),M()},$=(e,n)=>{e==="insertOrderedList"?ce("ol"):e==="insertUnorderedList"?ce("ul"):De(e,n),e==="insertTable"&&Xe()},_e=e=>{const n=document.createElement("span");n.textContent="​",e.insertNode(n),e.setStartAfter(n),e.collapse(!0);const a=n.getBoundingClientRect();n.remove(),Z({x:a.left,y:a.bottom+window.scrollY}),x(r||[]),F(!0),q.current=e.cloneRange()},Fe=()=>{const e=window.getSelection();if(!e||e.rangeCount===0)return null;const n=e.anchorNode;let a=e.anchorOffset;if(!n)return null;let o=n;for(o.nodeType!==Node.TEXT_NODE&&(o.childNodes&&o.childNodes[a]?o=o.childNodes[a]:o=n.previousSibling);o;){if(o.nodeType===Node.TEXT_NODE){const u=o.textContent||"",c=o===n?a:u.length,i=u.lastIndexOf("@",c-1);if(i!==-1){const v=document.createRange();return v.setStart(o,i),v.setEnd(o,c),v}}o=o.previousSibling}return null},Pe=e=>{var c;const n=window.getSelection();if(!n)return;const a=Fe();a?(n.removeAllRanges(),n.addRange(a)):q.current&&(n.removeAllRanges(),n.addRange(q.current));const o=document.createElement("span");o.textContent=`{{${e.name}}}`,o.style.color="#007bff",o.style.display="inline",o.contentEditable="false",o.setAttribute("data-mention",e.value||e.name||"");try{const i=n.rangeCount?n.getRangeAt(0):null;if(i)i.deleteContents(),i.insertNode(o);else{const p=document.createRange(),h=N();p.selectNodeContents(h),p.collapse(!1),p.insertNode(o)}const v=document.createTextNode(" ");o.after(v);const f=document.createRange();f.setStartAfter(v),f.collapse(!0),n.removeAllRanges(),n.addRange(f)}catch(i){console.error("insertMention error:",i)}let u=Se([...ae,e]);J(u),T(u),F(!1),(c=N())==null||c.focus(),M()},qe=e=>{var i;I();const n=window.getSelection();if(!n||!n.rangeCount)return;const a=n.getRangeAt(0),o=document.createElement("span");o.textContent=`{{${e.name}}}`,o.style.color="#007bff",o.style.display="inline",o.contentEditable="false",o.setAttribute("data-mention",e.value||e.name),a.insertNode(o);const u=document.createTextNode(" ");o.after(u);const c=document.createRange();c.setStartAfter(u),c.collapse(!0),n.removeAllRanges(),n.addRange(c),(i=N())==null||i.focus()},Ie=e=>{e.forEach(n=>qe(n)),J(n=>{const a=[...n,...e],o=Array.from(new Map(a.map(u=>[u.name,u])).values());return T(o),o}),M()},Be=()=>{const e=N();if(!e)return[];const n=e.querySelectorAll("span[data-mention]"),a=[];return n.forEach(o=>{const u=o.getAttribute("data-mention")||"",i=(o.textContent||"").match(/{{(.+?)}}/);i&&a.push({name:i[1],value:u})}),a},Ve=e=>{var a,o,u;const n=e.key.toLowerCase();if((e.ctrlKey||e.metaKey)&&["b","i","u"].includes(n)&&(e.preventDefault(),$(n==="b"?"bold":n==="i"?"italic":n==="u"?"underline":"")),e.shiftKey&&e.key==="2"&&e.preventDefault(),e.key==="Enter"){const c=window.getSelection(),i=c!=null&&c.anchorNode?le(c.anchorNode):null;if(!i)return;if(((a=i.textContent)==null?void 0:a.replace(/\u200B/g,"").trim())===""){e.preventDefault();const f=i.parentElement,p=f==null?void 0:f.closest("li");if(p){f==null||f.removeChild(i);const h=document.createElement("p");h.innerHTML="<br />",(o=p.parentElement)==null||o.insertBefore(h,p.nextSibling);const b=document.createRange();b.setStart(h,0),b.collapse(!0),c==null||c.removeAllRanges(),c==null||c.addRange(b)}else{const h=i.closest("ul, ol");if(h){const b=document.createElement("p");b.innerHTML="<br />",(u=h.parentElement)==null||u.insertBefore(b,h.nextSibling),h.removeChild(i);const k=document.createRange();k.setStart(b,0),k.collapse(!0),c==null||c.removeAllRanges(),c==null||c.addRange(k)}}M()}}},$e=e=>{if(e.data==="@"){const a=window.getSelection();if(!(a!=null&&a.rangeCount))return;const o=a.anchorNode;if(Ue(o))return;setTimeout(()=>{_e(a.getRangeAt(0)),re(""),x(r),F(!0)},0);return}if(P){setTimeout(()=>ie(),0);return}},Ue=e=>{if(!e)return!1;let n=e.nodeType===Node.ELEMENT_NODE?e:e.parentElement;for(;n;){if(n.tagName==="TH")return!0;n=n.parentElement}return!1},ie=()=>{if(M(),!P)return;const e=window.getSelection();if(!e||!e.anchorNode)return;const a=(e.anchorNode.textContent||"").match(/@([a-zA-Z0-9_]*)$/);if(!a){F(!1);return}const o=a[1].toLowerCase();re(o);const u=r.filter(c=>c.name.toLowerCase().includes(o));x(u)},We=e=>{var o;const n=(o=e.target.files)==null?void 0:o[0];if(!n)return;const a=new FileReader;a.onload=u=>{var k;const c=(k=u.target)==null?void 0:k.result;I();const i=window.getSelection();let v=i&&i.rangeCount?i.getRangeAt(0):null;const f=document.createElement("img");f.src=c,f.alt=n.name||"image",f.className="rte-inserted-image",f.contentEditable="true";const p=N();if(!v||!p){p==null||p.appendChild(f);const we=document.createTextNode(" ");p==null||p.appendChild(we);const G=document.createRange();G.setStartAfter(we),G.collapse(!0),i==null||i.removeAllRanges(),i==null||i.addRange(G),p==null||p.focus(),M(),e.target.value="";return}v.deleteContents(),v.insertNode(f);const h=document.createTextNode(" ");f.after(h);const b=document.createRange();b.setStartAfter(h),b.collapse(!0),i.removeAllRanges(),i.addRange(b),p.focus(),M(),e.target.value=""},a.readAsDataURL(n)},Ke=e=>{var u;I();const n=window.getSelection();if(!(n!=null&&n.rangeCount))return;const a=n.getRangeAt(0),o=document.createTextNode(e);a.insertNode(o),a.setStartAfter(o),a.collapse(!0),n.removeAllRanges(),n.addRange(a),(u=N())==null||u.focus(),M()},Xe=()=>{I();const e=document.createElement("table");e.style.borderCollapse="collapse",e.style.width="100%",e.style.border="1px solid #ccc",e.style.margin="8px 0",e.style.position="relative",m.table&&e.classList.add(m.table);const n=document.createElement("thead");m.thead&&n.classList.add(m.thead);const a=document.createElement("tbody");m.tbody&&a.classList.add(m.tbody);const o=document.createElement("tr");m.tr&&o.classList.add(m.tr);const u=document.createElement("tr");m.tr&&u.classList.add(m.tr);for(let v=0;v<2;v++){const f=document.createElement("th");f.textContent=`Header ${v+1}`,f.style.border="1px solid #999",f.style.padding="8px",f.style.position="relative",f.style.backgroundColor="lightgray",m.th&&f.classList.add(m.th);const p=document.createElement("td");p.textContent=`Row 1 Col ${v+1}`,p.style.border="1px solid #999",p.style.padding="8px",p.style.position="relative",p.style.backgroundColor="#fff",m.td&&p.classList.add(m.td),U(f),U(p),o.appendChild(f),u.appendChild(p)}n.appendChild(o),a.appendChild(u),e.appendChild(n),e.appendChild(a),Je(e),se(e);const c=window.getSelection();if(!(c!=null&&c.rangeCount))return;c.getRangeAt(0).insertNode(e),M()},se=e=>{const n=document.createElement("div");Object.assign(n.style,{position:"absolute",width:"14px",height:"14px",right:"0",bottom:"0",background:"rgba(0,0,0,0.25)",cursor:"nwse-resize",zIndex:"20",borderRadius:"2px"});let a=0,o=0,u=0,c=0;n.addEventListener("mousedown",i=>{i.preventDefault(),a=i.clientX,o=i.clientY;const v=e.getBoundingClientRect();u=v.width,c=v.height;const f=h=>{const b=Math.max(100,u+(h.clientX-a)),k=Math.max(60,c+(h.clientY-o));e.style.width=`${b}px`,e.style.height=`${k}px`,M()},p=()=>{document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",p),M()};document.addEventListener("mousemove",f),document.addEventListener("mouseup",p)}),e.appendChild(n)},U=e=>{const n=document.createElement("div"),a=document.createElement("div");Object.assign(n.style,{position:"absolute",right:"0",top:"0",width:"6px",height:"100%",cursor:"col-resize",background:"rgba(0,0,0,0.15)",zIndex:"10"}),Object.assign(a.style,{position:"absolute",bottom:"0",left:"0",width:"100%",height:"6px",cursor:"row-resize",background:"rgba(0,0,0,0.15)",zIndex:"10"}),Ye(e,n,a),e.appendChild(n),e.appendChild(a)},Ye=(e,n,a)=>{let o=0,u=0,c=0,i=0;n.addEventListener("mousedown",h=>{h.preventDefault(),o=h.clientX,c=e.offsetWidth,document.addEventListener("mousemove",v),document.addEventListener("mouseup",p)}),a.addEventListener("mousedown",h=>{h.preventDefault(),u=h.clientY,i=e.offsetHeight,document.addEventListener("mousemove",f),document.addEventListener("mouseup",p)});const v=h=>{const b=c+(h.clientX-o);e.style.width=`${Math.max(30,b)}px`},f=h=>{const b=i+(h.clientY-u);e.style.height=`${Math.max(20,b)}px`},p=()=>{document.removeEventListener("mousemove",v),document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",p)}},Ze=e=>{const a=e.target.closest("td, th");a&&(e.preventDefault(),document.querySelectorAll(".rte-cell-highlight").forEach(o=>o.classList.remove("rte-cell-highlight")),a.classList.add("rte-cell-highlight"),g({visible:!0,x:e.clientX,y:e.clientY,cell:a}))},ue=()=>{document.querySelectorAll(".rte-cell-highlight").forEach(e=>e.classList.remove("rte-cell-highlight"))},Qe=e=>{if(!A.cell)return;const n=A.cell.closest("table"),a=A.cell.cellIndex,o=A.cell.parentElement.rowIndex,u=c=>{const i=c.tagName.toLowerCase(),v=document.createElement(i);return v.textContent=c.textContent||"",v.style.cssText=c.style.cssText,U(v),v};switch(e){case"insertRowAbove":{const c=n.rows[o],i=n.insertRow(o);Array.from(c.cells).forEach(v=>{i.appendChild(u(v))});break}case"insertRowBelow":{const c=n.rows[o],i=n.insertRow(o+1);Array.from(c.cells).forEach(v=>{i.appendChild(u(v))});break}case"insertColLeft":{Array.from(n.rows).forEach(c=>{const i=c.cells[a];c.insertBefore(u(i),i)});break}case"insertColRight":{Array.from(n.rows).forEach(c=>{const i=c.cells[a];c.insertBefore(u(i),i.nextSibling)});break}case"deleteRow":n.rows.length>1&&n.deleteRow(o);break;case"deleteCol":Array.from(n.rows).forEach(c=>{c.cells[a]&&c.deleteCell(a)});break}M(),g(te(ee({},A),{visible:!1})),ue()},Je=e=>{const n=e.querySelector("tbody");if(!n||n.querySelector("[data-hidden-table-start]"))return;const a=document.createElement("span");a.textContent="{{#arrayData}}",a.style.display="none",a.setAttribute("data-hidden-table-start","true"),n.insertBefore(a,n.firstChild);const o=document.createElement("span");o.textContent="{{/arrayData}}",o.style.display="none",o.setAttribute("data-hidden-table-end","true"),n.appendChild(o)},de=()=>{const e=N();if(!e)return O;const n=e.cloneNode(!0);return n.querySelectorAll("table div").forEach(a=>a.remove()),n.querySelectorAll(".rte-cell-highlight").forEach(a=>a.classList.remove("rte-cell-highlight")),n.innerHTML},Ge=()=>{oe(),V.current=j.current,ne({url:"",text:"",title:"",target:"_self"}),D(!0)},et=e=>{const n=window.getSelection();if(!n||!V.current)return;n.removeAllRanges(),n.addRange(V.current);let a=e.url.trim();/^https?:\/\//i.test(a)||(a="https://"+a);const o=document.createElement("a");o.href=a,o.style.cursor="pointer",o.style.outline="none",o.textContent=e.text||a,o.title=e.title,o.target=e.target,o.contentEditable="true";const u=n.getRangeAt(0);u.deleteContents(),u.insertNode(o);const c=document.createTextNode(" ");o.after(c);const i=document.createRange();i.setStartAfter(c),i.collapse(!0),n.removeAllRanges(),n.addRange(i),D(!1),M()},tt=e=>{const n=e.target;if(n.tagName==="A"){const a=n;if(e.ctrlKey||e.metaKey){window.open(a.href,"_blank","noopener,noreferrer");return}e.preventDefault();const o=document.createRange();o.selectNode(a),V.current=o,ne({url:a.href,text:a.textContent||a.href,title:a.title,target:a.target}),D(!0)}},nt=()=>{const e=N();if(!e)return;const n=window.getSelection();if((!n||n.rangeCount===0)&&j.current){const h=window.getSelection();h==null||h.removeAllRanges(),h==null||h.addRange(j.current)}const a=window.getSelection();if(!a||a.rangeCount===0)return;const o=a.getRangeAt(0);I(),document.execCommand("removeFormat",!1);const u=o.cloneContents(),c=document.createElement("div");c.appendChild(u);const i=document.createTreeWalker(c,NodeFilter.SHOW_ELEMENT,null),v=[];for(;i.nextNode();){const h=i.currentNode,b=h.tagName.toUpperCase(),k=h.getAttribute&&h.getAttribute("data-mention")!==null;b!=="A"&&!k&&v.push(h)}for(let h=v.length-1;h>=0;h--){const b=v[h],k=b.parentNode;if(k){for(;b.firstChild;)k.insertBefore(b.firstChild,b);k.removeChild(b)}}c.querySelectorAll("[style]").forEach(h=>h.removeAttribute("style")),o.deleteContents();const f=document.createDocumentFragment();for(;c.firstChild;)f.appendChild(c.firstChild);o.insertNode(f);const p=document.createRange();p.setStartAfter(o.endContainer.nodeType===Node.TEXT_NODE?o.endContainer:o.startContainer),p.collapse(!0),a.removeAllRanges(),a.addRange(p),e.normalize(),M()},rt=e=>{var o;let n=e;n=n.replace(/{{#arrayData\d*}}/g,""),n=n.replace(/{{\/arrayData\d*}}/g,"");const a=document.createElement("div");return a.innerHTML=n,a.querySelectorAll("br").forEach(u=>{u.replaceWith(`
2
- `)}),a.querySelectorAll("p, div, tr").forEach(u=>{u.insertAdjacentText("afterend",`
3
- `)}),a.querySelectorAll("table").forEach(u=>{u.insertAdjacentText("afterend",`
4
- `)}),((o=a.textContent)==null?void 0:o.replace(/\n{3,}/g,`
1
+ "use strict";var ot=Object.defineProperty,lt=Object.defineProperties;var ct=Object.getOwnPropertyDescriptors;var Ce=Object.getOwnPropertySymbols;var it=Object.prototype.hasOwnProperty,st=Object.prototype.propertyIsEnumerable;var Re=(a,l,s)=>l in a?ot(a,l,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[l]=s,te=(a,l)=>{for(var s in l||(l={}))it.call(l,s)&&Re(a,s,l[s]);if(Ce)for(var s of Ce(l))st.call(l,s)&&Re(a,s,l[s]);return a},ne=(a,l)=>lt(a,ct(l));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),ut=require("react-dom");function dt(a){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const s in a)if(s!=="default"){const d=Object.getOwnPropertyDescriptor(a,s);Object.defineProperty(l,s,d.get?d:{enumerable:!0,get:()=>a[s]})}}return l.default=a,Object.freeze(l)}const mt=dt(t);window.React=mt;var ze={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},xe=t.createContext&&t.createContext(ze),ft=["attr","size","title"];function gt(a,l){if(a==null)return{};var s=ht(a,l),d,m;if(Object.getOwnPropertySymbols){var y=Object.getOwnPropertySymbols(a);for(m=0;m<y.length;m++)d=y[m],!(l.indexOf(d)>=0)&&Object.prototype.propertyIsEnumerable.call(a,d)&&(s[d]=a[d])}return s}function ht(a,l){if(a==null)return{};var s={};for(var d in a)if(Object.prototype.hasOwnProperty.call(a,d)){if(l.indexOf(d)>=0)continue;s[d]=a[d]}return s}function K(){return K=Object.assign?Object.assign.bind():function(a){for(var l=1;l<arguments.length;l++){var s=arguments[l];for(var d in s)Object.prototype.hasOwnProperty.call(s,d)&&(a[d]=s[d])}return a},K.apply(this,arguments)}function Le(a,l){var s=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);l&&(d=d.filter(function(m){return Object.getOwnPropertyDescriptor(a,m).enumerable})),s.push.apply(s,d)}return s}function X(a){for(var l=1;l<arguments.length;l++){var s=arguments[l]!=null?arguments[l]:{};l%2?Le(Object(s),!0).forEach(function(d){pt(a,d,s[d])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(s)):Le(Object(s)).forEach(function(d){Object.defineProperty(a,d,Object.getOwnPropertyDescriptor(s,d))})}return a}function pt(a,l,s){return l=vt(l),l in a?Object.defineProperty(a,l,{value:s,enumerable:!0,configurable:!0,writable:!0}):a[l]=s,a}function vt(a){var l=Et(a,"string");return typeof l=="symbol"?l:l+""}function Et(a,l){if(typeof a!="object"||!a)return a;var s=a[Symbol.toPrimitive];if(s!==void 0){var d=s.call(a,l);if(typeof d!="object")return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return(l==="string"?String:Number)(a)}function ke(a){return a&&a.map((l,s)=>t.createElement(l.tag,X({key:s},l.attr),ke(l.child)))}function S(a){return l=>t.createElement(yt,K({attr:X({},a.attr)},l),ke(a.child))}function yt(a){var l=s=>{var{attr:d,size:m,title:y}=a,L=gt(a,ft),C=m||s.size||"1em",E;return s.className&&(E=s.className),a.className&&(E=(E?E+" ":"")+a.className),t.createElement("svg",K({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},s.attr,d,L,{className:E,style:X(X({color:a.color||s.color},s.style),a.style),height:C,width:C,xmlns:"http://www.w3.org/2000/svg"}),y&&t.createElement("title",null,y),a.children)};return xe!==void 0?t.createElement(xe.Consumer,null,s=>l(s)):l(ze)}function wt(a){return S({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M352 64c0-17.7-14.3-32-32-32L128 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32zm96 128c0-17.7-14.3-32-32-32L32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32zM0 448c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 416c-17.7 0-32 14.3-32 32zM352 320c0-17.7-14.3-32-32-32l-192 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32z"},child:[]}]})(a)}function bt(a){return S({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M448 64c0 17.7-14.3 32-32 32L192 96c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 224c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"},child:[]}]})(a)}function Ct(a){return S({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zM323.8 202.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6L170.7 297c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6l96 0 32 0 208 0c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7l-120-176zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z"},child:[]}]})(a)}function Rt(a){return S({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M24 56c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24l0 120 16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l16 0 0-96-8 0C34.7 80 24 69.3 24 56zM86.7 341.2c-6.5-7.4-18.3-6.9-24 1.2L51.5 357.9c-7.7 10.8-22.7 13.3-33.5 5.6s-13.3-22.7-5.6-33.5l11.1-15.6c23.7-33.2 72.3-35.6 99.2-4.9c21.3 24.4 20.8 60.9-1.1 84.7L86.8 432l33.2 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-88 0c-9.5 0-18.2-5.6-22-14.4s-2.1-18.9 4.3-25.9l72-78c5.3-5.8 5.4-14.6 .3-20.5zM224 64l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z"},child:[]}]})(a)}function xt(a){return S({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M12.83 352h262.34A12.82 12.82 0 0 0 288 339.17v-38.34A12.82 12.82 0 0 0 275.17 288H12.83A12.82 12.82 0 0 0 0 300.83v38.34A12.82 12.82 0 0 0 12.83 352zm0-256h262.34A12.82 12.82 0 0 0 288 83.17V44.83A12.82 12.82 0 0 0 275.17 32H12.83A12.82 12.82 0 0 0 0 44.83v38.34A12.82 12.82 0 0 0 12.83 96zM432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"},child:[]}]})(a)}function Lt(a){return S({attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M333.49 238a122 122 0 0 0 27-65.21C367.87 96.49 308 32 233.42 32H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h31.87v288H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h209.32c70.8 0 134.14-51.75 141-122.4 4.74-48.45-16.39-92.06-50.83-119.6zM145.66 112h87.76a48 48 0 0 1 0 96h-87.76zm87.76 288h-87.76V288h87.76a56 56 0 0 1 0 112z"},child:[]}]})(a)}function St(a){return S({attr:{viewBox:"0 0 544 512"},child:[{tag:"path",attr:{d:"M0 479.98L99.92 512l35.45-35.45-67.04-67.04L0 479.98zm124.61-240.01a36.592 36.592 0 0 0-10.79 38.1l13.05 42.83-50.93 50.94 96.23 96.23 50.86-50.86 42.74 13.08c13.73 4.2 28.65-.01 38.15-10.78l35.55-41.64-173.34-173.34-41.52 35.44zm403.31-160.7l-63.2-63.2c-20.49-20.49-53.38-21.52-75.12-2.35L190.55 183.68l169.77 169.78L530.27 154.4c19.18-21.74 18.15-54.63-2.35-75.13z"},child:[]}]})(a)}function Mt(a){return S({attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M320 48v32a16 16 0 0 1-16 16h-62.76l-80 320H208a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h62.76l80-320H112a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h192a16 16 0 0 1 16 16z"},child:[]}]})(a)}function zt(a){return S({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"},child:[]}]})(a)}function kt(a){return S({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"},child:[]}]})(a)}function At(a){return S({attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm194.8 170.2C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.6-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.4-16.2 38.1 4.2 24.6 20.5z"},child:[]}]})(a)}function Nt(a){return S({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z"},child:[]}]})(a)}function Tt(a){return S({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M32 64h32v160c0 88.22 71.78 160 160 160s160-71.78 160-160V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H272a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32v160a80 80 0 0 1-160 0V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm400 384H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"},child:[]}]})(a)}function Ot(a){return S({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M2 20h20v4H2v-4zm3.49-3h2.42l1.27-3.58h5.65L16.09 17h2.42L13.25 3h-2.5L5.49 17zm4.42-5.61 2.03-5.79h.12l2.03 5.79H9.91z"},child:[]}]})(a)}function Dt(a){return S({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M20 8V5H6.39l3 3h1.83l-.55 1.28 2.09 2.1L14.21 8zM3.41 4.86 2 6.27l6.97 6.97L6.5 19h3l1.57-3.66L16.73 21l1.41-1.41z"},child:[]}]})(a)}const Ht=["😀","😁","😂","đŸ¤Ŗ","😃","😄","😅","😉","😊","😍","😘","😜","😎","đŸ˜ĸ","😭","😡","🤔","🙄","😇","đŸĨ°","🤩","🤗","😴","😋","đŸ˜Ŧ","🤤","đŸ˜ļ‍đŸŒĢī¸","😷","🤕","🤑","🤠","😈","đŸ‘ģ","💀","🤖","đŸļ","🐱","đŸŧ","🐸","đŸĻ„","🐷","đŸĩ","🐰","đŸ¯","đŸĻ","🐮","🌞","🌙","⭐","🌈","đŸ”Ĩ","💧","â„ī¸","⚡","â˜€ī¸","🌸","🌹","🍎","🍕","🍩","🍔","🍟","🍇","🍉","🍓","🍒","đŸĨ­","đŸĨ‘","🎉","🎂","🎁","🎈","đŸŽļ","đŸŽĩ","🏆","âšŊ","🏀","🏸","🏏","đŸ•šī¸","👋","🤚","đŸ–ī¸","✋","🖖","👍","👎","👌","🤌","🤏","✊","👊","🤛","🤜","â˜ī¸","👆","👇","👈","👉","🤟","🤘","🤙","🙌","👏","🙏","âœī¸","💅","🤲","👏","đŸĢļ","👐"],Ae=({exec:a,saveSelection:l,handleFileChange:s,handleFontSizeChange:d,handleFontFamilyChange:m,insertEmoji:y,handleLink:L,removeFormatting:C,visibleActions:E,className:T,style:j})=>{var I,A;const z=t.useRef(null),O=t.useRef(null),R=t.useRef(null),[Y,B]=t.useState(!1),[P,F]=t.useState({x:0,y:0});t.useEffect(()=>{const g=w=>{!w.target.closest(".rte-emoji-popup")&&!w.target.closest("button[title='Emoji']")&&B(!1)};return document.addEventListener("mousedown",g),()=>document.removeEventListener("mousedown",g)},[]);const _=g=>{var D;g.preventDefault();const w=g.currentTarget.dataset.command;if(w)switch(w){case"bold":case"italic":case"underline":case"insertUnorderedList":case"insertOrderedList":case"removeFormat":a(w);break;case"insertImage":{(D=z.current)==null||D.click();break}default:console.warn("Unknown command:",w)}},Z=g=>{a("foreColor",g.target.value)},Q=g=>{a("backColor",g.target.value)},[x,H]=t.useState({bold:!1,italic:!1,underline:!1,unorderedList:!1,orderedList:!1,alignLeft:!1,alignCenter:!1,alignRight:!1,removeFormat:!1,link:!1,image:!1,emoji:!1,table:!1,color:!1,highlight:!1});return t.useEffect(()=>{const g=()=>{H({bold:document.queryCommandState("bold"),italic:document.queryCommandState("italic"),underline:document.queryCommandState("underline"),unorderedList:document.queryCommandState("insertUnorderedList"),orderedList:document.queryCommandState("insertOrderedList"),alignLeft:document.queryCommandState("justifyLeft"),alignCenter:document.queryCommandState("justifyCenter"),alignRight:document.queryCommandState("justifyRight"),removeFormat:document.queryCommandState("removeFormat"),link:document.queryCommandState("createLink"),image:document.queryCommandState("insertImage"),emoji:document.queryCommandState("insertEmoji"),table:document.queryCommandState("insertTable"),color:document.queryCommandState("foreColor"),highlight:document.queryCommandState("backColor")})};return document.addEventListener("selectionchange",g),()=>document.removeEventListener("selectionchange",g)},[]),t.createElement("div",{className:`rte-toolbar ${T||""}`,style:j},E.bold&&t.createElement("button",{"data-command":"bold",title:"Bold",onMouseDown:_,className:x.bold?"rte-active":""},t.createElement(Lt,null)),E.italic&&t.createElement("button",{"data-command":"italic",title:"Italic",onMouseDown:_,className:x.italic?"rte-active":""},t.createElement(Mt,null)),E.underline&&t.createElement("button",{"data-command":"underline",title:"Underline",onMouseDown:_,className:x.underline?"rte-active":""},t.createElement(Tt,null)),E.unorderedList&&t.createElement("button",{"data-command":"insertUnorderedList",onMouseDown:_,title:"UnorderedList",className:x.unorderedList?"rte-active":""},t.createElement(kt,null)),E.orderedList&&t.createElement("button",{"data-command":"insertOrderedList",title:"OrderedList",onMouseDown:_,className:x.orderedList?"rte-active":""},t.createElement(Rt,null)),E.link&&t.createElement("button",{"data-command":"createLink",title:"Link",onClick:L,className:x.link?"rte-active":""},t.createElement(zt,null)),E.removeFormat&&t.createElement("button",{"data-command":"Remove format",title:"removeFormat",onMouseDown:g=>{g.preventDefault(),l(),C()},className:x.removeFormat?"rte-active":""},t.createElement(Dt,null)),E.image&&t.createElement("button",{"data-command":"insertImage",title:"Image",onMouseDown:_,className:x.image?"rte-active":""},t.createElement(Ct,null)),t.createElement("input",{type:"file",accept:"image/*",ref:z,style:{display:"none"},onChange:s}),E.emoji&&t.createElement("div",{style:{position:"relative"}},t.createElement("button",{title:"Emoji",onMouseDown:g=>{g.preventDefault(),l();const w=g.currentTarget.getBoundingClientRect();F({x:w.left,y:w.bottom+8}),B(D=>!D)},className:x.emoji?"rte-active":""},t.createElement(At,null)),Y&&ut.createPortal(t.createElement("div",{className:"rte-emoji-popup",style:{top:P.y,left:P.x}},Ht.map((g,w)=>t.createElement("span",{key:w,style:{fontSize:"20px",cursor:"pointer",textAlign:"center"},onMouseDown:D=>{D.preventDefault(),y(g),B(!1)}},g))),document.body)),E.color&&t.createElement("div",{style:{position:"relative"}},t.createElement("button",{title:"Text Color",onMouseDown:g=>{var w;g.preventDefault(),l(),(w=O.current)==null||w.click()},style:{display:"flex",alignItems:"center",justifyContent:"center",color:((I=O.current)==null?void 0:I.value)||"#000",fontSize:"18px"},className:x.color?"rte-active":""},t.createElement(Ot,null)),t.createElement("input",{ref:O,type:"color",defaultValue:"#000000",onChange:g=>{var w;Z(g),((w=g.target.parentElement)==null?void 0:w.querySelector("button")).style.color=g.target.value},style:{position:"absolute",opacity:0,width:0,height:0,pointerEvents:"none"}})),E.highlight&&t.createElement("div",{style:{position:"relative"}},t.createElement("button",{title:"Highlight",onMouseDown:g=>{var w;g.preventDefault(),l(),(w=R.current)==null||w.click()},style:{display:"flex",alignItems:"center",justifyContent:"center",color:((A=R.current)==null?void 0:A.value)||"#000",fontSize:"18px"},className:x.highlight?"rte-active":""},t.createElement(St,null)),t.createElement("input",{ref:R,type:"color",onChange:g=>{var w;Q(g),((w=g.target.parentElement)==null?void 0:w.querySelector("button")).style.color=g.target.value},defaultValue:"#000000",style:{position:"absolute",opacity:0,width:0,height:0,pointerEvents:"none"}})),E.align&&t.createElement(t.Fragment,null,t.createElement("button",{title:"Align Left",onMouseDown:g=>g.preventDefault(),onClick:()=>a("justifyLeft"),className:x.alignLeft?"rte-active":""},t.createElement(xt,null)),t.createElement("button",{title:"Align Center",onMouseDown:g=>g.preventDefault(),onClick:()=>a("justifyCenter"),className:x.alignCenter?"rte-active":""},t.createElement(wt,null)),t.createElement("button",{title:"Align Right",onMouseDown:g=>g.preventDefault(),onClick:()=>a("justifyRight"),className:x.alignRight?"rte-active":""},t.createElement(bt,null))),E.table&&t.createElement("button",{title:"Insert Table",onMouseDown:g=>g.preventDefault(),onClick:()=>a("insertTable"),className:x.table?"rte-active":""},t.createElement(Nt,null)),E.fontFamily&&t.createElement("select",{className:"rte-dropdown",defaultValue:"",onMouseDown:()=>l(),onChange:m},t.createElement("option",{value:"",disabled:!0},"Font Family"),t.createElement("option",{value:"Arial"},"Arial"),t.createElement("option",{value:"Georgia"},"Georgia"),t.createElement("option",{value:"Times New Roman"},"Times New Roman"),t.createElement("option",{value:"Courier New"},"Courier New"),t.createElement("option",{value:"Verdana"},"Verdana")),E.fontSize&&t.createElement("select",{className:"rte-dropdown",defaultValue:"",onMouseDown:()=>l(),onChange:d},t.createElement("option",{value:"",disabled:!0},"Font Size"),t.createElement("option",{value:"2"},"Small "),t.createElement("option",{value:"3"},"Normal"),t.createElement("option",{value:"4"},"Medium"),t.createElement("option",{value:"5"},"Large")))},jt=({show:a,position:l,filtered:s,insertMention:d,onClose:m,query:y})=>{const L=t.useRef(null);return t.useEffect(()=>{const C=E=>{L.current&&!L.current.contains(E.target)&&m()};return a&&document.addEventListener("mousedown",C),()=>{document.removeEventListener("mousedown",C)}},[a,m]),a?t.createElement("ul",{ref:L,className:"rte-popup",style:{top:l.y,left:l.x}},s.length>0?s.map(({name:C,value:E})=>{const T=C.toLowerCase(),j=y.toLowerCase(),z=T.indexOf(j);let O=C;if(z!==-1&&y.length>0){const R=z+y.length;O=C.substring(0,z)+`<span class="rte-highlight">${C.substring(z,R)}</span>`+C.substring(R)}return t.createElement("li",{key:E,onMouseDown:R=>{R.preventDefault(),d({name:C,value:E})},style:{padding:"6px 12px",cursor:"pointer",fontSize:"14px"},dangerouslySetInnerHTML:{__html:O},onMouseEnter:R=>R.currentTarget.style.background="#f0f0f0",onMouseLeave:R=>R.currentTarget.style.background="#fff"})}):t.createElement("li",{style:{padding:"6px 12px",color:"#999"}},"No matches")):null};function Se(a){return S({attr:{viewBox:"0 0 24 24"},child:[{tag:"g",attr:{id:"Circle_Minus"},child:[{tag:"g",attr:{},child:[{tag:"path",attr:{d:"M15,11.5h0a.5.5,0,0,1,0,1H9a.5.5,0,0,1,0-1Z"},child:[]},{tag:"path",attr:{d:"M12,21.934A9.933,9.933,0,1,1,21.932,12,9.945,9.945,0,0,1,12,21.934ZM12,3.068A8.933,8.933,0,1,0,20.932,12,8.944,8.944,0,0,0,12,3.068Z"},child:[]}]}]}]})(a)}function W(a){return S({attr:{viewBox:"0 0 24 24"},child:[{tag:"g",attr:{id:"Circle_Plus"},child:[{tag:"g",attr:{},child:[{tag:"path",attr:{d:"M15,12.5H12.5V15a.5.5,0,0,1-1,0V12.5H9a.5.5,0,0,1,0-1h2.5V9a.5.5,0,0,1,1,0v2.5H15A.5.5,0,0,1,15,12.5Z"},child:[]},{tag:"path",attr:{d:"M12,21.932A9.934,9.934,0,1,1,21.932,12,9.944,9.944,0,0,1,12,21.932ZM12,3.065A8.934,8.934,0,1,0,20.932,12,8.944,8.944,0,0,0,12,3.065Z"},child:[]}]}]}]})(a)}const _t=({visible:a,x:l,y:s,onAction:d,onClose:m})=>{if(!a)return null;const y={top:s,left:l};return t.createElement("div",{style:y,className:"rte-table-menu",onMouseLeave:m},t.createElement("button",{onClick:()=>d("insertRowAbove")},t.createElement(W,null)," Insert row above"),t.createElement("button",{onClick:()=>d("insertRowBelow")},t.createElement(W,null)," Insert row below"),t.createElement("button",{onClick:()=>d("insertColLeft")},t.createElement(W,null)," Insert col left"),t.createElement("button",{onClick:()=>d("insertColRight")},t.createElement(W,null)," Insert col right"),t.createElement("button",{onClick:()=>d("deleteRow")},t.createElement(Se,null)," Delete row"),t.createElement("button",{onClick:()=>d("deleteCol")},t.createElement(Se,null)," Delete column"))},Ne=({html:a,className:l,style:s})=>{const d=y=>{const L=y.target;if(L.tagName==="A"){y.preventDefault();const C=L.href;C&&window.open(C,"_blank","noopener,noreferrer")}},m=y=>y.replace(/{{\s*(.*?)\s*}}/g,"$1");return t.createElement("div",{className:`rte-preview ${l||""}`,style:s,onClick:d,dangerouslySetInnerHTML:{__html:m(a)}})},Ft=({visible:a,linkData:l,onClose:s,onInsert:d})=>{const[m,y]=t.useState(""),[L,C]=t.useState(""),[E,T]=t.useState(""),[j,z]=t.useState("_self");if(t.useEffect(()=>{a?(y(l.url||""),C(l.text||""),T(l.title||""),z(l.target||"_self")):(y(""),C(""),T(""),z("_self"))},[a,l]),!a)return null;const O=()=>{d({url:m,text:L,title:E,target:j})};return t.createElement(t.Fragment,null,t.createElement("div",{className:"rte-link-modal-overlay",onClick:s}),t.createElement("div",{className:"rte-link-modal"},t.createElement("h4",{className:"rte-link-modal__title"},m?"Edit Link":"Insert Link"),t.createElement("input",{type:"text",className:"rte-link-modal__input",placeholder:"URL",value:m,onChange:R=>y(R.target.value)}),t.createElement("input",{type:"text",className:"rte-link-modal__input",placeholder:"Text to Display",value:L,onChange:R=>C(R.target.value)}),t.createElement("input",{type:"text",className:"rte-link-modal__input",placeholder:"Title",value:E,onChange:R=>T(R.target.value)}),t.createElement("select",{className:"rte-link-modal__select",value:j,onChange:R=>z(R.target.value)},t.createElement("option",{value:"_self"},"Same tab"),t.createElement("option",{value:"_blank"},"New tab")),t.createElement("div",{className:"rte-link-modal__actions"},t.createElement("button",{className:"rte-link-modal__btn",onClick:s},"Cancel"),t.createElement("button",{className:"rte-link-modal__btn rte-link-modal__btn--ok",onClick:O},"OK"))))};function Me(a){return Array.from(new Map(a.map(l=>[l.value,l])).values())}const Pt=({atSuggestions:a=[],showOutput:l=!1,showPreview:s=!1,toolbarConfig:d={link:!1,image:!1,emoji:!1,table:!1,color:!1,fontFamily:!1,fontSize:!1,highlight:!1},classNames:m={},styles:y={},handleGetHtml:L=()=>{},onChange:C=()=>{},value:E,onMentionSelect:T=()=>{},handleAddAttributes:j=()=>{}})=>{var fe,ge,he,pe,ve,Ee,ye,we;const z=t.useRef(null),[O,R]=t.useState(E!=null&&E.length?E:" "),[Y,B]=t.useState(""),[P,F]=t.useState(!1),[_,Z]=t.useState({x:0,y:0}),[Q,x]=t.useState([]),H=t.useRef(null),I=t.useRef(null),[A,g]=t.useState({visible:!1,x:0,y:0}),[w,D]=t.useState(!1),V=t.useRef(null),[Te,re]=t.useState({url:"",text:"",title:"",target:"_self"}),Oe={bold:!0,italic:!0,underline:!0,removeFormat:!0,unorderedList:!0,orderedList:!0,align:!0,link:(fe=d.link)!=null?fe:!1,image:(ge=d.image)!=null?ge:!1,emoji:(he=d.emoji)!=null?he:!1,table:(pe=d.table)!=null?pe:!1,color:(ve=d.color)!=null?ve:!1,fontFamily:(Ee=d.fontFamily)!=null?Ee:!1,fontSize:(ye=d.fontSize)!=null?ye:!1,highlight:(we=d.fontSize)!=null?we:!1},[De,ae]=t.useState(""),[oe,J]=t.useState([]),N=()=>z.current,M=()=>{const e=me();B(e),L==null||L(e);const n=at(e);C(n);const r=Ve(),o=Me(r);JSON.stringify(o)!==JSON.stringify(oe)&&(J(o),T(o))},le=()=>{const e=window.getSelection();!e||e.rangeCount===0||G()&&(H.current=e.getRangeAt(0).cloneRange())},q=()=>{const e=window.getSelection();e&&H.current&&(e.removeAllRanges(),e.addRange(H.current))},He=(e,n)=>{const r=window.getSelection();r&&r.rangeCount>0&&(H.current=r.getRangeAt(0)),q(),document.execCommand(e,!1,n),M()};t.useEffect(()=>{const e=N();e&&!e.innerHTML&&(e.innerHTML=O),M()},[]),t.useEffect(()=>()=>{document.removeEventListener("mousemove",null),document.removeEventListener("mouseup",null)},[]),t.useEffect(()=>{j&&j(e=>{Be(e)})},[]),t.useEffect(()=>{const e=N();if(!e)return;e.querySelectorAll("table").forEach(r=>{ue(r),r.querySelectorAll("th, td").forEach(u=>U(u))})},[]);const ce=e=>{for(;e&&e.nodeName!=="LI";)e=e.parentNode;return e},je=e=>{let n=0,r=e.parentElement;for(;r;)(r.tagName==="UL"||r.tagName==="OL")&&n++,r=r.parentElement;return n},_e=e=>{const n=e.querySelector("li"),r=n?je(n):1;if(e.querySelector("[data-hidden-array-start]"))return;const o=`{{#arrayData${r>1?r:""}}}`,u=`{{/arrayData${r>1?r:""}}}`,c=document.createElement("span");c.textContent=o,c.style.display="none",c.setAttribute("data-hidden-array-start","true"),e.insertBefore(c,e.firstChild);const i=document.createElement("span");i.textContent=u,i.style.display="none",i.setAttribute("data-hidden-array-end","true"),e.appendChild(i)},ie=e=>{var p;const n=window.getSelection();if(!(n!=null&&n.rangeCount))return;const r=n.getRangeAt(0),o=ce(r.startContainer);let u,c;if(o){let f=o.querySelector(e);f||(f=document.createElement(e),f.style.margin="0",f.style.paddingLeft="20px",o.appendChild(f)),c=f,u=document.createElement("li"),u.textContent="​",c.appendChild(u)}else{document.execCommand(e==="ul"?"insertUnorderedList":"insertOrderedList");const f=N();if(c=f==null?void 0:f.querySelector(`${e}:last-child`),!c)return;u=c.querySelector("li:last-child")}_e(c);const i=document.createRange();i.setStart(u,0),i.collapse(!0),n.removeAllRanges(),n.addRange(i),(p=N())==null||p.focus(),M()},$=(e,n)=>{e==="insertOrderedList"?ie("ol"):e==="insertUnorderedList"?ie("ul"):He(e,n),e==="insertTable"&&Ye()},Fe=e=>{const n=document.createElement("span");n.textContent="​",e.insertNode(n),e.setStartAfter(n),e.collapse(!0);const r=n.getBoundingClientRect();n.remove(),Z({x:r.left,y:r.bottom+window.scrollY}),x(a||[]),F(!0),I.current=e.cloneRange()},Pe=()=>{const e=window.getSelection();if(!e||e.rangeCount===0)return null;const n=e.anchorNode;let r=e.anchorOffset;if(!n)return null;let o=n;for(o.nodeType!==Node.TEXT_NODE&&(o.childNodes&&o.childNodes[r]?o=o.childNodes[r]:o=n.previousSibling);o;){if(o.nodeType===Node.TEXT_NODE){const u=o.textContent||"",c=o===n?r:u.length,i=u.lastIndexOf("@",c-1);if(i!==-1){const p=document.createRange();return p.setStart(o,i),p.setEnd(o,c),p}}o=o.previousSibling}return null},Ie=e=>{var c;const n=window.getSelection();if(!n)return;const r=Pe();r?(n.removeAllRanges(),n.addRange(r)):I.current&&(n.removeAllRanges(),n.addRange(I.current));const o=document.createElement("span");o.textContent=`{{${e.name}}}`,o.style.color="#007bff",o.style.display="inline",o.contentEditable="false",o.setAttribute("data-mention",e.value||e.name||"");try{const i=n.rangeCount?n.getRangeAt(0):null;if(i)i.deleteContents(),i.insertNode(o);else{const v=document.createRange(),h=N();v.selectNodeContents(h),v.collapse(!1),v.insertNode(o)}const p=document.createTextNode(" ");o.after(p);const f=document.createRange();f.setStartAfter(p),f.collapse(!0),n.removeAllRanges(),n.addRange(f)}catch(i){console.error("insertMention error:",i)}let u=Me([...oe,e]);J(u),T(u),F(!1),(c=N())==null||c.focus(),M()},qe=e=>{const n=N();if(!n)return;n.focus(),!G()&&H.current&&q();const r=window.getSelection();if(!r||!r.rangeCount||!G()){const p=document.createRange();p.selectNodeContents(n),p.collapse(!1),r==null||r.removeAllRanges(),r==null||r.addRange(p)}const o=r.getRangeAt(0),u=document.createElement("span");u.textContent=`{{${e.name}}}`,u.style.color="#007bff",u.contentEditable="false",u.setAttribute("data-mention",e.value||e.name),o.insertNode(u);const c=document.createTextNode(" ");u.after(c);const i=document.createRange();i.setStartAfter(c),i.collapse(!0),r.removeAllRanges(),r.addRange(i),n.focus()},Be=e=>{e.forEach(n=>qe(n)),J(n=>{const r=[...n,...e],o=Array.from(new Map(r.map(u=>[u.name,u])).values());return T(o),o}),M()},Ve=()=>{const e=N();if(!e)return[];const n=e.querySelectorAll("span[data-mention]"),r=[];return n.forEach(o=>{const u=o.getAttribute("data-mention")||"",i=(o.textContent||"").match(/{{(.+?)}}/);i&&r.push({name:i[1],value:u})}),r},$e=e=>{var r,o,u;const n=e.key.toLowerCase();if((e.ctrlKey||e.metaKey)&&["b","i","u"].includes(n)&&(e.preventDefault(),$(n==="b"?"bold":n==="i"?"italic":n==="u"?"underline":"")),e.shiftKey&&e.key==="2"&&e.preventDefault(),e.key==="Enter"){const c=window.getSelection(),i=c!=null&&c.anchorNode?ce(c.anchorNode):null;if(!i)return;if(((r=i.textContent)==null?void 0:r.replace(/\u200B/g,"").trim())===""){e.preventDefault();const f=i.parentElement,v=f==null?void 0:f.closest("li");if(v){f==null||f.removeChild(i);const h=document.createElement("p");h.innerHTML="<br />",(o=v.parentElement)==null||o.insertBefore(h,v.nextSibling);const b=document.createRange();b.setStart(h,0),b.collapse(!0),c==null||c.removeAllRanges(),c==null||c.addRange(b)}else{const h=i.closest("ul, ol");if(h){const b=document.createElement("p");b.innerHTML="<br />",(u=h.parentElement)==null||u.insertBefore(b,h.nextSibling),h.removeChild(i);const k=document.createRange();k.setStart(b,0),k.collapse(!0),c==null||c.removeAllRanges(),c==null||c.addRange(k)}}M()}}},Ue=e=>{if(e.data==="@"){const r=window.getSelection();if(!(r!=null&&r.rangeCount))return;const o=r.anchorNode;if(We(o))return;setTimeout(()=>{Fe(r.getRangeAt(0)),ae(""),x(a),F(!0)},0);return}if(P){setTimeout(()=>se(),0);return}},We=e=>{if(!e)return!1;let n=e.nodeType===Node.ELEMENT_NODE?e:e.parentElement;for(;n;){if(n.tagName==="TH")return!0;n=n.parentElement}return!1},se=()=>{if(M(),!P)return;const e=window.getSelection();if(!e||!e.anchorNode)return;const r=(e.anchorNode.textContent||"").match(/@([a-zA-Z0-9_]*)$/);if(!r){F(!1);return}const o=r[1].toLowerCase();ae(o);const u=a.filter(c=>c.name.toLowerCase().includes(o));x(u)},Ke=e=>{var o;const n=(o=e.target.files)==null?void 0:o[0];if(!n)return;const r=new FileReader;r.onload=u=>{var k;const c=(k=u.target)==null?void 0:k.result;q();const i=window.getSelection();let p=i&&i.rangeCount?i.getRangeAt(0):null;const f=document.createElement("img");f.src=c,f.alt=n.name||"image",f.className="rte-inserted-image",f.contentEditable="true";const v=N();if(!p||!v){v==null||v.appendChild(f);const be=document.createTextNode(" ");v==null||v.appendChild(be);const ee=document.createRange();ee.setStartAfter(be),ee.collapse(!0),i==null||i.removeAllRanges(),i==null||i.addRange(ee),v==null||v.focus(),M(),e.target.value="";return}p.deleteContents(),p.insertNode(f);const h=document.createTextNode(" ");f.after(h);const b=document.createRange();b.setStartAfter(h),b.collapse(!0),i.removeAllRanges(),i.addRange(b),v.focus(),M(),e.target.value=""},r.readAsDataURL(n)},Xe=e=>{var u;q();const n=window.getSelection();if(!(n!=null&&n.rangeCount))return;const r=n.getRangeAt(0),o=document.createTextNode(e);r.insertNode(o),r.setStartAfter(o),r.collapse(!0),n.removeAllRanges(),n.addRange(r),(u=N())==null||u.focus(),M()},Ye=()=>{q();const e=document.createElement("table");e.style.borderCollapse="collapse",e.style.width="100%",e.style.border="1px solid #ccc",e.style.margin="8px 0",e.style.position="relative",m.table&&e.classList.add(m.table);const n=document.createElement("thead");m.thead&&n.classList.add(m.thead);const r=document.createElement("tbody");m.tbody&&r.classList.add(m.tbody);const o=document.createElement("tr");m.tr&&o.classList.add(m.tr);const u=document.createElement("tr");m.tr&&u.classList.add(m.tr);for(let p=0;p<2;p++){const f=document.createElement("th");f.textContent=`Header ${p+1}`,f.style.border="1px solid #999",f.style.padding="8px",f.style.position="relative",f.style.backgroundColor="lightgray",m.th&&f.classList.add(m.th);const v=document.createElement("td");v.textContent=`Row 1 Col ${p+1}`,v.style.border="1px solid #999",v.style.padding="8px",v.style.position="relative",v.style.backgroundColor="#fff",m.td&&v.classList.add(m.td),U(f),U(v),o.appendChild(f),u.appendChild(v)}n.appendChild(o),r.appendChild(u),e.appendChild(n),e.appendChild(r),Ge(e),ue(e);const c=window.getSelection();if(!(c!=null&&c.rangeCount))return;c.getRangeAt(0).insertNode(e),M()},ue=e=>{const n=document.createElement("div");Object.assign(n.style,{position:"absolute",width:"14px",height:"14px",right:"0",bottom:"0",background:"rgba(0,0,0,0.25)",cursor:"nwse-resize",zIndex:"20",borderRadius:"2px"});let r=0,o=0,u=0,c=0;n.addEventListener("mousedown",i=>{i.preventDefault(),r=i.clientX,o=i.clientY;const p=e.getBoundingClientRect();u=p.width,c=p.height;const f=h=>{const b=Math.max(100,u+(h.clientX-r)),k=Math.max(60,c+(h.clientY-o));e.style.width=`${b}px`,e.style.height=`${k}px`,M()},v=()=>{document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",v),M()};document.addEventListener("mousemove",f),document.addEventListener("mouseup",v)}),e.appendChild(n)},U=e=>{const n=document.createElement("div"),r=document.createElement("div");Object.assign(n.style,{position:"absolute",right:"0",top:"0",width:"6px",height:"100%",cursor:"col-resize",background:"rgba(0,0,0,0.15)",zIndex:"10"}),Object.assign(r.style,{position:"absolute",bottom:"0",left:"0",width:"100%",height:"6px",cursor:"row-resize",background:"rgba(0,0,0,0.15)",zIndex:"10"}),Ze(e,n,r),e.appendChild(n),e.appendChild(r)},Ze=(e,n,r)=>{let o=0,u=0,c=0,i=0;n.addEventListener("mousedown",h=>{h.preventDefault(),o=h.clientX,c=e.offsetWidth,document.addEventListener("mousemove",p),document.addEventListener("mouseup",v)}),r.addEventListener("mousedown",h=>{h.preventDefault(),u=h.clientY,i=e.offsetHeight,document.addEventListener("mousemove",f),document.addEventListener("mouseup",v)});const p=h=>{const b=c+(h.clientX-o);e.style.width=`${Math.max(30,b)}px`},f=h=>{const b=i+(h.clientY-u);e.style.height=`${Math.max(20,b)}px`},v=()=>{document.removeEventListener("mousemove",p),document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",v)}},Qe=e=>{const r=e.target.closest("td, th");r&&(e.preventDefault(),document.querySelectorAll(".rte-cell-highlight").forEach(o=>o.classList.remove("rte-cell-highlight")),r.classList.add("rte-cell-highlight"),g({visible:!0,x:e.clientX,y:e.clientY,cell:r}))},de=()=>{document.querySelectorAll(".rte-cell-highlight").forEach(e=>e.classList.remove("rte-cell-highlight"))},Je=e=>{if(!A.cell)return;const n=A.cell.closest("table"),r=A.cell.cellIndex,o=A.cell.parentElement.rowIndex,u=c=>{const i=c.tagName.toLowerCase(),p=document.createElement(i);return p.textContent=c.textContent||"",p.style.cssText=c.style.cssText,U(p),p};switch(e){case"insertRowAbove":{const c=n.rows[o],i=n.insertRow(o);Array.from(c.cells).forEach(p=>{i.appendChild(u(p))});break}case"insertRowBelow":{const c=n.rows[o],i=n.insertRow(o+1);Array.from(c.cells).forEach(p=>{i.appendChild(u(p))});break}case"insertColLeft":{Array.from(n.rows).forEach(c=>{const i=c.cells[r];c.insertBefore(u(i),i)});break}case"insertColRight":{Array.from(n.rows).forEach(c=>{const i=c.cells[r];c.insertBefore(u(i),i.nextSibling)});break}case"deleteRow":n.rows.length>1&&n.deleteRow(o);break;case"deleteCol":Array.from(n.rows).forEach(c=>{c.cells[r]&&c.deleteCell(r)});break}M(),g(ne(te({},A),{visible:!1})),de()},Ge=e=>{const n=e.querySelector("tbody");if(!n||n.querySelector("[data-hidden-table-start]"))return;const r=document.createElement("span");r.textContent="{{#arrayData}}",r.style.display="none",r.setAttribute("data-hidden-table-start","true"),n.insertBefore(r,n.firstChild);const o=document.createElement("span");o.textContent="{{/arrayData}}",o.style.display="none",o.setAttribute("data-hidden-table-end","true"),n.appendChild(o)},me=()=>{const e=N();if(!e)return O;const n=e.cloneNode(!0);return n.querySelectorAll("table div").forEach(r=>r.remove()),n.querySelectorAll(".rte-cell-highlight").forEach(r=>r.classList.remove("rte-cell-highlight")),n.innerHTML},et=()=>{le(),V.current=H.current,re({url:"",text:"",title:"",target:"_self"}),D(!0)},tt=e=>{const n=window.getSelection();if(!n||!V.current)return;n.removeAllRanges(),n.addRange(V.current);let r=e.url.trim();/^https?:\/\//i.test(r)||(r="https://"+r);const o=document.createElement("a");o.href=r,o.style.cursor="pointer",o.style.outline="none",o.textContent=e.text||r,o.title=e.title,o.target=e.target,o.contentEditable="true";const u=n.getRangeAt(0);u.deleteContents(),u.insertNode(o);const c=document.createTextNode(" ");o.after(c);const i=document.createRange();i.setStartAfter(c),i.collapse(!0),n.removeAllRanges(),n.addRange(i),D(!1),M()},nt=e=>{const n=e.target;if(n.tagName==="A"){const r=n;if(e.ctrlKey||e.metaKey){window.open(r.href,"_blank","noopener,noreferrer");return}e.preventDefault();const o=document.createRange();o.selectNode(r),V.current=o,re({url:r.href,text:r.textContent||r.href,title:r.title,target:r.target}),D(!0)}},rt=()=>{const e=N();if(!e)return;const n=window.getSelection();if((!n||n.rangeCount===0)&&H.current){const h=window.getSelection();h==null||h.removeAllRanges(),h==null||h.addRange(H.current)}const r=window.getSelection();if(!r||r.rangeCount===0)return;const o=r.getRangeAt(0);q(),document.execCommand("removeFormat",!1);const u=o.cloneContents(),c=document.createElement("div");c.appendChild(u);const i=document.createTreeWalker(c,NodeFilter.SHOW_ELEMENT,null),p=[];for(;i.nextNode();){const h=i.currentNode,b=h.tagName.toUpperCase(),k=h.getAttribute&&h.getAttribute("data-mention")!==null;b!=="A"&&!k&&p.push(h)}for(let h=p.length-1;h>=0;h--){const b=p[h],k=b.parentNode;if(k){for(;b.firstChild;)k.insertBefore(b.firstChild,b);k.removeChild(b)}}c.querySelectorAll("[style]").forEach(h=>h.removeAttribute("style")),o.deleteContents();const f=document.createDocumentFragment();for(;c.firstChild;)f.appendChild(c.firstChild);o.insertNode(f);const v=document.createRange();v.setStartAfter(o.endContainer.nodeType===Node.TEXT_NODE?o.endContainer:o.startContainer),v.collapse(!0),r.removeAllRanges(),r.addRange(v),e.normalize(),M()},at=e=>{var o;let n=e;n=n.replace(/{{#arrayData\d*}}/g,""),n=n.replace(/{{\/arrayData\d*}}/g,"");const r=document.createElement("div");return r.innerHTML=n,r.querySelectorAll("br").forEach(u=>{u.replaceWith(`
2
+ `)}),r.querySelectorAll("p, div, tr").forEach(u=>{u.insertAdjacentText("afterend",`
3
+ `)}),r.querySelectorAll("table").forEach(u=>{u.insertAdjacentText("afterend",`
4
+ `)}),((o=r.textContent)==null?void 0:o.replace(/\n{3,}/g,`
5
5
 
6
- `).trim())||""};return t.createElement("div",{className:`rte-wrapper ${(m==null?void 0:m.wrapper)||""}`,style:y.wrapper},t.createElement("div",{style:{flex:1}},t.createElement(ke,{exec:$,saveSelection:oe,handleFileChange:We,handleFontSizeChange:e=>$("fontSize",e.target.value),handleFontFamilyChange:e=>$("fontName",e.target.value),insertEmoji:Ke,handleLink:Ge,removeFormatting:nt,visibleActions:Te,className:m.toolbar,style:y.toolbar}),t.createElement("div",{ref:z,className:`rte-editor ${(m==null?void 0:m.editor)||""}`,style:y.editor,contentEditable:!0,suppressContentEditableWarning:!0,onInput:ie,onKeyDown:Ve,onBeforeInput:$e,onContextMenu:Ze,onClick:tt}),t.createElement(Ht,{show:P,position:_,filtered:Q,insertMention:Pe,onClose:()=>F(!1),query:Oe}),l&&t.createElement("div",{className:`rte-output ${(m==null?void 0:m.output)||""}`,style:y.output},t.createElement("h4",null,"Output HTML:"),t.createElement("p",null,Y)),t.createElement(jt,{visible:A.visible,x:A.x,y:A.y,onAction:Qe,onClose:()=>{g(te(ee({},A),{visible:!1})),ue()}}),t.createElement(_t,{visible:w,linkData:Ne,onClose:()=>D(!1),onInsert:et})),s?t.createElement(Ae,{className:m.preview,style:y.preview,html:de()}):null)};exports.RichTextEditor=Ft;exports.RtePreview=Ae;exports.RteToolbar=ke;
6
+ `).trim())||""},G=()=>{const e=window.getSelection();if(!e||e.rangeCount===0)return!1;const n=e.getRangeAt(0),r=document.getElementById("rte-editor-body");return(r==null?void 0:r.contains(n.startContainer))||!1};return t.createElement("div",{className:`rte-wrapper ${(m==null?void 0:m.wrapper)||""}`,style:y.wrapper},t.createElement("div",{style:{flex:1}},t.createElement(Ae,{exec:$,saveSelection:le,handleFileChange:Ke,handleFontSizeChange:e=>$("fontSize",e.target.value),handleFontFamilyChange:e=>$("fontName",e.target.value),insertEmoji:Xe,handleLink:et,removeFormatting:rt,visibleActions:Oe,className:m.toolbar,style:y.toolbar}),t.createElement("div",{ref:z,id:"rte-editor-body",className:`rte-editor ${(m==null?void 0:m.editor)||""}`,style:y.editor,contentEditable:!0,suppressContentEditableWarning:!0,onInput:se,onKeyDown:$e,onBeforeInput:Ue,onContextMenu:Qe,onClick:nt}),t.createElement(jt,{show:P,position:_,filtered:Q,insertMention:Ie,onClose:()=>F(!1),query:De}),l&&t.createElement("div",{className:`rte-output ${(m==null?void 0:m.output)||""}`,style:y.output},t.createElement("h4",null,"Output HTML:"),t.createElement("p",null,Y)),t.createElement(_t,{visible:A.visible,x:A.x,y:A.y,onAction:Je,onClose:()=>{g(ne(te({},A),{visible:!1})),de()}}),t.createElement(Ft,{visible:w,linkData:Te,onClose:()=>D(!1),onInsert:tt})),s?t.createElement(Ne,{className:m.preview,style:y.preview,html:me()}):null)};exports.RichTextEditor=Pt;exports.RtePreview=Ne;exports.RteToolbar=Ae;
package/dist/index.umd.js CHANGED
@@ -1,6 +1,6 @@
1
- (function(L,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("react"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react","react-dom"],t):(L=typeof globalThis!="undefined"?globalThis:L||self,t(L.RichTextEditor={},L.React,L.ReactDOM))})(this,(function(L,t,T){"use strict";var Ht=Object.defineProperty,_t=Object.defineProperties;var Ft=Object.getOwnPropertyDescriptors;var Te=Object.getOwnPropertySymbols;var Pt=Object.prototype.hasOwnProperty,qt=Object.prototype.propertyIsEnumerable;var Oe=(L,t,T)=>t in L?Ht(L,t,{enumerable:!0,configurable:!0,writable:!0,value:T}):L[t]=T,ne=(L,t)=>{for(var T in t||(t={}))Pt.call(t,T)&&Oe(L,T,t[T]);if(Te)for(var T of Te(t))qt.call(t,T)&&Oe(L,T,t[T]);return L},re=(L,t)=>_t(L,Ft(t));function De(r){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const d in r)if(d!=="default"){const u=Object.getOwnPropertyDescriptor(r,d);Object.defineProperty(s,d,u.get?u:{enumerable:!0,get:()=>r[d]})}}return s.default=r,Object.freeze(s)}const je=De(t);window.React=je;var oe={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},le=t.createContext&&t.createContext(oe),He=["attr","size","title"];function _e(r,s){if(r==null)return{};var d=Fe(r,s),u,m;if(Object.getOwnPropertySymbols){var y=Object.getOwnPropertySymbols(r);for(m=0;m<y.length;m++)u=y[m],!(s.indexOf(u)>=0)&&Object.prototype.propertyIsEnumerable.call(r,u)&&(d[u]=r[u])}return d}function Fe(r,s){if(r==null)return{};var d={};for(var u in r)if(Object.prototype.hasOwnProperty.call(r,u)){if(s.indexOf(u)>=0)continue;d[u]=r[u]}return d}function W(){return W=Object.assign?Object.assign.bind():function(r){for(var s=1;s<arguments.length;s++){var d=arguments[s];for(var u in d)Object.prototype.hasOwnProperty.call(d,u)&&(r[u]=d[u])}return r},W.apply(this,arguments)}function ae(r,s){var d=Object.keys(r);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(r);s&&(u=u.filter(function(m){return Object.getOwnPropertyDescriptor(r,m).enumerable})),d.push.apply(d,u)}return d}function K(r){for(var s=1;s<arguments.length;s++){var d=arguments[s]!=null?arguments[s]:{};s%2?ae(Object(d),!0).forEach(function(u){Pe(r,u,d[u])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(d)):ae(Object(d)).forEach(function(u){Object.defineProperty(r,u,Object.getOwnPropertyDescriptor(d,u))})}return r}function Pe(r,s,d){return s=qe(s),s in r?Object.defineProperty(r,s,{value:d,enumerable:!0,configurable:!0,writable:!0}):r[s]=d,r}function qe(r){var s=Ie(r,"string");return typeof s=="symbol"?s:s+""}function Ie(r,s){if(typeof r!="object"||!r)return r;var d=r[Symbol.toPrimitive];if(d!==void 0){var u=d.call(r,s);if(typeof u!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(s==="string"?String:Number)(r)}function ie(r){return r&&r.map((s,d)=>t.createElement(s.tag,K({key:d},s.attr),ie(s.child)))}function z(r){return s=>t.createElement(Be,W({attr:K({},r.attr)},s),ie(r.child))}function Be(r){var s=d=>{var{attr:u,size:m,title:y}=r,M=_e(r,He),C=m||d.size||"1em",E;return d.className&&(E=d.className),r.className&&(E=(E?E+" ":"")+r.className),t.createElement("svg",W({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},d.attr,u,M,{className:E,style:K(K({color:r.color||d.color},d.style),r.style),height:C,width:C,xmlns:"http://www.w3.org/2000/svg"}),y&&t.createElement("title",null,y),r.children)};return le!==void 0?t.createElement(le.Consumer,null,d=>s(d)):s(oe)}function Ve(r){return z({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M352 64c0-17.7-14.3-32-32-32L128 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32zm96 128c0-17.7-14.3-32-32-32L32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32zM0 448c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 416c-17.7 0-32 14.3-32 32zM352 320c0-17.7-14.3-32-32-32l-192 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32z"},child:[]}]})(r)}function $e(r){return z({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M448 64c0 17.7-14.3 32-32 32L192 96c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 224c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"},child:[]}]})(r)}function Ue(r){return z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zM323.8 202.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6L170.7 297c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6l96 0 32 0 208 0c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7l-120-176zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z"},child:[]}]})(r)}function We(r){return z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M24 56c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24l0 120 16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l16 0 0-96-8 0C34.7 80 24 69.3 24 56zM86.7 341.2c-6.5-7.4-18.3-6.9-24 1.2L51.5 357.9c-7.7 10.8-22.7 13.3-33.5 5.6s-13.3-22.7-5.6-33.5l11.1-15.6c23.7-33.2 72.3-35.6 99.2-4.9c21.3 24.4 20.8 60.9-1.1 84.7L86.8 432l33.2 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-88 0c-9.5 0-18.2-5.6-22-14.4s-2.1-18.9 4.3-25.9l72-78c5.3-5.8 5.4-14.6 .3-20.5zM224 64l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z"},child:[]}]})(r)}function Ke(r){return z({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M12.83 352h262.34A12.82 12.82 0 0 0 288 339.17v-38.34A12.82 12.82 0 0 0 275.17 288H12.83A12.82 12.82 0 0 0 0 300.83v38.34A12.82 12.82 0 0 0 12.83 352zm0-256h262.34A12.82 12.82 0 0 0 288 83.17V44.83A12.82 12.82 0 0 0 275.17 32H12.83A12.82 12.82 0 0 0 0 44.83v38.34A12.82 12.82 0 0 0 12.83 96zM432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"},child:[]}]})(r)}function Xe(r){return z({attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M333.49 238a122 122 0 0 0 27-65.21C367.87 96.49 308 32 233.42 32H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h31.87v288H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h209.32c70.8 0 134.14-51.75 141-122.4 4.74-48.45-16.39-92.06-50.83-119.6zM145.66 112h87.76a48 48 0 0 1 0 96h-87.76zm87.76 288h-87.76V288h87.76a56 56 0 0 1 0 112z"},child:[]}]})(r)}function Ye(r){return z({attr:{viewBox:"0 0 544 512"},child:[{tag:"path",attr:{d:"M0 479.98L99.92 512l35.45-35.45-67.04-67.04L0 479.98zm124.61-240.01a36.592 36.592 0 0 0-10.79 38.1l13.05 42.83-50.93 50.94 96.23 96.23 50.86-50.86 42.74 13.08c13.73 4.2 28.65-.01 38.15-10.78l35.55-41.64-173.34-173.34-41.52 35.44zm403.31-160.7l-63.2-63.2c-20.49-20.49-53.38-21.52-75.12-2.35L190.55 183.68l169.77 169.78L530.27 154.4c19.18-21.74 18.15-54.63-2.35-75.13z"},child:[]}]})(r)}function Ze(r){return z({attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M320 48v32a16 16 0 0 1-16 16h-62.76l-80 320H208a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h62.76l80-320H112a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h192a16 16 0 0 1 16 16z"},child:[]}]})(r)}function Qe(r){return z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"},child:[]}]})(r)}function Je(r){return z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"},child:[]}]})(r)}function Re(r){return z({attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm194.8 170.2C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.6-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.4-16.2 38.1 4.2 24.6 20.5z"},child:[]}]})(r)}function Ge(r){return z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z"},child:[]}]})(r)}function et(r){return z({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M32 64h32v160c0 88.22 71.78 160 160 160s160-71.78 160-160V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H272a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32v160a80 80 0 0 1-160 0V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm400 384H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"},child:[]}]})(r)}function tt(r){return z({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M2 20h20v4H2v-4zm3.49-3h2.42l1.27-3.58h5.65L16.09 17h2.42L13.25 3h-2.5L5.49 17zm4.42-5.61 2.03-5.79h.12l2.03 5.79H9.91z"},child:[]}]})(r)}function nt(r){return z({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M20 8V5H6.39l3 3h1.83l-.55 1.28 2.09 2.1L14.21 8zM3.41 4.86 2 6.27l6.97 6.97L6.5 19h3l1.57-3.66L16.73 21l1.41-1.41z"},child:[]}]})(r)}const rt=["😀","😁","😂","đŸ¤Ŗ","😃","😄","😅","😉","😊","😍","😘","😜","😎","đŸ˜ĸ","😭","😡","🤔","🙄","😇","đŸĨ°","🤩","🤗","😴","😋","đŸ˜Ŧ","🤤","đŸ˜ļ‍đŸŒĢī¸","😷","🤕","🤑","🤠","😈","đŸ‘ģ","💀","🤖","đŸļ","🐱","đŸŧ","🐸","đŸĻ„","🐷","đŸĩ","🐰","đŸ¯","đŸĻ","🐮","🌞","🌙","⭐","🌈","đŸ”Ĩ","💧","â„ī¸","⚡","â˜€ī¸","🌸","🌹","🍎","🍕","🍩","🍔","🍟","🍇","🍉","🍓","🍒","đŸĨ­","đŸĨ‘","🎉","🎂","🎁","🎈","đŸŽļ","đŸŽĩ","🏆","âšŊ","🏀","🏸","🏏","đŸ•šī¸","👋","🤚","đŸ–ī¸","✋","🖖","👍","👎","👌","🤌","🤏","✊","👊","🤛","🤜","â˜ī¸","👆","👇","👈","👉","🤟","🤘","🤙","🙌","👏","🙏","âœī¸","💅","🤲","👏","đŸĢļ","👐"],se=({exec:r,saveSelection:s,handleFileChange:d,handleFontSizeChange:u,handleFontFamilyChange:m,insertEmoji:y,handleLink:M,removeFormatting:C,visibleActions:E,className:j,style:F})=>{var V,O;const A=t.useRef(null),H=t.useRef(null),x=t.useRef(null),[J,U]=t.useState(!1),[B,I]=t.useState({x:0,y:0});t.useEffect(()=>{const g=w=>{!w.target.closest(".rte-emoji-popup")&&!w.target.closest("button[title='Emoji']")&&U(!1)};return document.addEventListener("mousedown",g),()=>document.removeEventListener("mousedown",g)},[]);const q=g=>{var _;g.preventDefault();const w=g.currentTarget.dataset.command;if(w)switch(w){case"bold":case"italic":case"underline":case"insertUnorderedList":case"insertOrderedList":case"removeFormat":r(w);break;case"insertImage":{(_=A.current)==null||_.click();break}default:console.warn("Unknown command:",w)}},R=g=>{r("foreColor",g.target.value)},G=g=>{r("backColor",g.target.value)},[S,P]=t.useState({bold:!1,italic:!1,underline:!1,unorderedList:!1,orderedList:!1,alignLeft:!1,alignCenter:!1,alignRight:!1,removeFormat:!1,link:!1,image:!1,emoji:!1,table:!1,color:!1,highlight:!1});return t.useEffect(()=>{const g=()=>{P({bold:document.queryCommandState("bold"),italic:document.queryCommandState("italic"),underline:document.queryCommandState("underline"),unorderedList:document.queryCommandState("insertUnorderedList"),orderedList:document.queryCommandState("insertOrderedList"),alignLeft:document.queryCommandState("justifyLeft"),alignCenter:document.queryCommandState("justifyCenter"),alignRight:document.queryCommandState("justifyRight"),removeFormat:document.queryCommandState("removeFormat"),link:document.queryCommandState("createLink"),image:document.queryCommandState("insertImage"),emoji:document.queryCommandState("insertEmoji"),table:document.queryCommandState("insertTable"),color:document.queryCommandState("foreColor"),highlight:document.queryCommandState("backColor")})};return document.addEventListener("selectionchange",g),()=>document.removeEventListener("selectionchange",g)},[]),t.createElement("div",{className:`rte-toolbar ${j||""}`,style:F},E.bold&&t.createElement("button",{"data-command":"bold",title:"Bold",onMouseDown:q,className:S.bold?"rte-active":""},t.createElement(Xe,null)),E.italic&&t.createElement("button",{"data-command":"italic",title:"Italic",onMouseDown:q,className:S.italic?"rte-active":""},t.createElement(Ze,null)),E.underline&&t.createElement("button",{"data-command":"underline",title:"Underline",onMouseDown:q,className:S.underline?"rte-active":""},t.createElement(et,null)),E.unorderedList&&t.createElement("button",{"data-command":"insertUnorderedList",onMouseDown:q,title:"UnorderedList",className:S.unorderedList?"rte-active":""},t.createElement(Je,null)),E.orderedList&&t.createElement("button",{"data-command":"insertOrderedList",title:"OrderedList",onMouseDown:q,className:S.orderedList?"rte-active":""},t.createElement(We,null)),E.link&&t.createElement("button",{"data-command":"createLink",title:"Link",onClick:M,className:S.link?"rte-active":""},t.createElement(Qe,null)),E.removeFormat&&t.createElement("button",{"data-command":"Remove format",title:"removeFormat",onMouseDown:g=>{g.preventDefault(),s(),C()},className:S.removeFormat?"rte-active":""},t.createElement(nt,null)),E.image&&t.createElement("button",{"data-command":"insertImage",title:"Image",onMouseDown:q,className:S.image?"rte-active":""},t.createElement(Ue,null)),t.createElement("input",{type:"file",accept:"image/*",ref:A,style:{display:"none"},onChange:d}),E.emoji&&t.createElement("div",{style:{position:"relative"}},t.createElement("button",{title:"Emoji",onMouseDown:g=>{g.preventDefault(),s();const w=g.currentTarget.getBoundingClientRect();I({x:w.left,y:w.bottom+8}),U(_=>!_)},className:S.emoji?"rte-active":""},t.createElement(Re,null)),J&&T.createPortal(t.createElement("div",{className:"rte-emoji-popup",style:{top:B.y,left:B.x}},rt.map((g,w)=>t.createElement("span",{key:w,style:{fontSize:"20px",cursor:"pointer",textAlign:"center"},onMouseDown:_=>{_.preventDefault(),y(g),U(!1)}},g))),document.body)),E.color&&t.createElement("div",{style:{position:"relative"}},t.createElement("button",{title:"Text Color",onMouseDown:g=>{var w;g.preventDefault(),s(),(w=H.current)==null||w.click()},style:{display:"flex",alignItems:"center",justifyContent:"center",color:((V=H.current)==null?void 0:V.value)||"#000",fontSize:"18px"},className:S.color?"rte-active":""},t.createElement(tt,null)),t.createElement("input",{ref:H,type:"color",defaultValue:"#000000",onChange:g=>{var w;R(g),((w=g.target.parentElement)==null?void 0:w.querySelector("button")).style.color=g.target.value},style:{position:"absolute",opacity:0,width:0,height:0,pointerEvents:"none"}})),E.highlight&&t.createElement("div",{style:{position:"relative"}},t.createElement("button",{title:"Highlight",onMouseDown:g=>{var w;g.preventDefault(),s(),(w=x.current)==null||w.click()},style:{display:"flex",alignItems:"center",justifyContent:"center",color:((O=x.current)==null?void 0:O.value)||"#000",fontSize:"18px"},className:S.highlight?"rte-active":""},t.createElement(Ye,null)),t.createElement("input",{ref:x,type:"color",onChange:g=>{var w;G(g),((w=g.target.parentElement)==null?void 0:w.querySelector("button")).style.color=g.target.value},defaultValue:"#000000",style:{position:"absolute",opacity:0,width:0,height:0,pointerEvents:"none"}})),E.align&&t.createElement(t.Fragment,null,t.createElement("button",{title:"Align Left",onMouseDown:g=>g.preventDefault(),onClick:()=>r("justifyLeft"),className:S.alignLeft?"rte-active":""},t.createElement(Ke,null)),t.createElement("button",{title:"Align Center",onMouseDown:g=>g.preventDefault(),onClick:()=>r("justifyCenter"),className:S.alignCenter?"rte-active":""},t.createElement(Ve,null)),t.createElement("button",{title:"Align Right",onMouseDown:g=>g.preventDefault(),onClick:()=>r("justifyRight"),className:S.alignRight?"rte-active":""},t.createElement($e,null))),E.table&&t.createElement("button",{title:"Insert Table",onMouseDown:g=>g.preventDefault(),onClick:()=>r("insertTable"),className:S.table?"rte-active":""},t.createElement(Ge,null)),E.fontFamily&&t.createElement("select",{className:"rte-dropdown",defaultValue:"",onMouseDown:()=>s(),onChange:m},t.createElement("option",{value:"",disabled:!0},"Font Family"),t.createElement("option",{value:"Arial"},"Arial"),t.createElement("option",{value:"Georgia"},"Georgia"),t.createElement("option",{value:"Times New Roman"},"Times New Roman"),t.createElement("option",{value:"Courier New"},"Courier New"),t.createElement("option",{value:"Verdana"},"Verdana")),E.fontSize&&t.createElement("select",{className:"rte-dropdown",defaultValue:"",onMouseDown:()=>s(),onChange:u},t.createElement("option",{value:"",disabled:!0},"Font Size"),t.createElement("option",{value:"2"},"Small "),t.createElement("option",{value:"3"},"Normal"),t.createElement("option",{value:"4"},"Medium"),t.createElement("option",{value:"5"},"Large")))},ot=({show:r,position:s,filtered:d,insertMention:u,onClose:m,query:y})=>{const M=t.useRef(null);return t.useEffect(()=>{const C=E=>{M.current&&!M.current.contains(E.target)&&m()};return r&&document.addEventListener("mousedown",C),()=>{document.removeEventListener("mousedown",C)}},[r,m]),r?t.createElement("ul",{ref:M,className:"rte-popup",style:{top:s.y,left:s.x}},d.length>0?d.map(({name:C,value:E})=>{const j=C.toLowerCase(),F=y.toLowerCase(),A=j.indexOf(F);let H=C;if(A!==-1&&y.length>0){const x=A+y.length;H=C.substring(0,A)+`<span class="rte-highlight">${C.substring(A,x)}</span>`+C.substring(x)}return t.createElement("li",{key:E,onMouseDown:x=>{x.preventDefault(),u({name:C,value:E})},style:{padding:"6px 12px",cursor:"pointer",fontSize:"14px"},dangerouslySetInnerHTML:{__html:H},onMouseEnter:x=>x.currentTarget.style.background="#f0f0f0",onMouseLeave:x=>x.currentTarget.style.background="#fff"})}):t.createElement("li",{style:{padding:"6px 12px",color:"#999"}},"No matches")):null};function ce(r){return z({attr:{viewBox:"0 0 24 24"},child:[{tag:"g",attr:{id:"Circle_Minus"},child:[{tag:"g",attr:{},child:[{tag:"path",attr:{d:"M15,11.5h0a.5.5,0,0,1,0,1H9a.5.5,0,0,1,0-1Z"},child:[]},{tag:"path",attr:{d:"M12,21.934A9.933,9.933,0,1,1,21.932,12,9.945,9.945,0,0,1,12,21.934ZM12,3.068A8.933,8.933,0,1,0,20.932,12,8.944,8.944,0,0,0,12,3.068Z"},child:[]}]}]}]})(r)}function X(r){return z({attr:{viewBox:"0 0 24 24"},child:[{tag:"g",attr:{id:"Circle_Plus"},child:[{tag:"g",attr:{},child:[{tag:"path",attr:{d:"M15,12.5H12.5V15a.5.5,0,0,1-1,0V12.5H9a.5.5,0,0,1,0-1h2.5V9a.5.5,0,0,1,1,0v2.5H15A.5.5,0,0,1,15,12.5Z"},child:[]},{tag:"path",attr:{d:"M12,21.932A9.934,9.934,0,1,1,21.932,12,9.944,9.944,0,0,1,12,21.932ZM12,3.065A8.934,8.934,0,1,0,20.932,12,8.944,8.944,0,0,0,12,3.065Z"},child:[]}]}]}]})(r)}const lt=({visible:r,x:s,y:d,onAction:u,onClose:m})=>{if(!r)return null;const y={top:d,left:s};return t.createElement("div",{style:y,className:"rte-table-menu",onMouseLeave:m},t.createElement("button",{onClick:()=>u("insertRowAbove")},t.createElement(X,null)," Insert row above"),t.createElement("button",{onClick:()=>u("insertRowBelow")},t.createElement(X,null)," Insert row below"),t.createElement("button",{onClick:()=>u("insertColLeft")},t.createElement(X,null)," Insert col left"),t.createElement("button",{onClick:()=>u("insertColRight")},t.createElement(X,null)," Insert col right"),t.createElement("button",{onClick:()=>u("deleteRow")},t.createElement(ce,null)," Delete row"),t.createElement("button",{onClick:()=>u("deleteCol")},t.createElement(ce,null)," Delete column"))},ue=({html:r,className:s,style:d})=>{const u=y=>{const M=y.target;if(M.tagName==="A"){y.preventDefault();const C=M.href;C&&window.open(C,"_blank","noopener,noreferrer")}},m=y=>y.replace(/{{\s*(.*?)\s*}}/g,"$1");return t.createElement("div",{className:`rte-preview ${s||""}`,style:d,onClick:u,dangerouslySetInnerHTML:{__html:m(r)}})},at=({visible:r,linkData:s,onClose:d,onInsert:u})=>{const[m,y]=t.useState(""),[M,C]=t.useState(""),[E,j]=t.useState(""),[F,A]=t.useState("_self");if(t.useEffect(()=>{r?(y(s.url||""),C(s.text||""),j(s.title||""),A(s.target||"_self")):(y(""),C(""),j(""),A("_self"))},[r,s]),!r)return null;const H=()=>{u({url:m,text:M,title:E,target:F})};return t.createElement(t.Fragment,null,t.createElement("div",{className:"rte-link-modal-overlay",onClick:d}),t.createElement("div",{className:"rte-link-modal"},t.createElement("h4",{className:"rte-link-modal__title"},m?"Edit Link":"Insert Link"),t.createElement("input",{type:"text",className:"rte-link-modal__input",placeholder:"URL",value:m,onChange:x=>y(x.target.value)}),t.createElement("input",{type:"text",className:"rte-link-modal__input",placeholder:"Text to Display",value:M,onChange:x=>C(x.target.value)}),t.createElement("input",{type:"text",className:"rte-link-modal__input",placeholder:"Title",value:E,onChange:x=>j(x.target.value)}),t.createElement("select",{className:"rte-link-modal__select",value:F,onChange:x=>A(x.target.value)},t.createElement("option",{value:"_self"},"Same tab"),t.createElement("option",{value:"_blank"},"New tab")),t.createElement("div",{className:"rte-link-modal__actions"},t.createElement("button",{className:"rte-link-modal__btn",onClick:d},"Cancel"),t.createElement("button",{className:"rte-link-modal__btn rte-link-modal__btn--ok",onClick:H},"OK"))))};function de(r){return Array.from(new Map(r.map(s=>[s.value,s])).values())}const it=({atSuggestions:r=[],showOutput:s=!1,showPreview:d=!1,toolbarConfig:u={link:!1,image:!1,emoji:!1,table:!1,color:!1,fontFamily:!1,fontSize:!1,highlight:!1},classNames:m={},styles:y={},handleGetHtml:M=()=>{},onChange:C=()=>{},value:E,onMentionSelect:j=()=>{},handleAddAttributes:F=()=>{}})=>{var Ce,xe,Le,Se,Me,ze,ke,Ae;const A=t.useRef(null),[H,x]=t.useState(E!=null&&E.length?E:" "),[J,U]=t.useState(""),[B,I]=t.useState(!1),[q,R]=t.useState({x:0,y:0}),[G,S]=t.useState([]),P=t.useRef(null),V=t.useRef(null),[O,g]=t.useState({visible:!1,x:0,y:0}),[w,_]=t.useState(!1),Y=t.useRef(null),[st,me]=t.useState({url:"",text:"",title:"",target:"_self"}),ct={bold:!0,italic:!0,underline:!0,removeFormat:!0,unorderedList:!0,orderedList:!0,align:!0,link:(Ce=u.link)!=null?Ce:!1,image:(xe=u.image)!=null?xe:!1,emoji:(Le=u.emoji)!=null?Le:!1,table:(Se=u.table)!=null?Se:!1,color:(Me=u.color)!=null?Me:!1,fontFamily:(ze=u.fontFamily)!=null?ze:!1,fontSize:(ke=u.fontSize)!=null?ke:!1,highlight:(Ae=u.fontSize)!=null?Ae:!1},[ut,fe]=t.useState(""),[ge,ee]=t.useState([]),D=()=>A.current,k=()=>{const e=be();U(e),M==null||M(e);const n=jt(e);C(n);const o=yt(),l=de(o);JSON.stringify(l)!==JSON.stringify(ge)&&(ee(l),j(l))},he=()=>{const e=window.getSelection();e!=null&&e.rangeCount&&(P.current=e.getRangeAt(0))},$=()=>{const e=window.getSelection();e&&P.current&&(e.removeAllRanges(),e.addRange(P.current))},dt=(e,n)=>{const o=window.getSelection();o&&o.rangeCount>0&&(P.current=o.getRangeAt(0)),$(),document.execCommand(e,!1,n),k()};t.useEffect(()=>{const e=D();e&&!e.innerHTML&&(e.innerHTML=H),k()},[]),t.useEffect(()=>()=>{document.removeEventListener("mousemove",null),document.removeEventListener("mouseup",null)},[]),t.useEffect(()=>{F&&F(e=>{Et(e)})},[]),t.useEffect(()=>{const e=D();if(!e)return;e.querySelectorAll("table").forEach(o=>{ye(o),o.querySelectorAll("th, td").forEach(c=>Q(c))})},[E]);const pe=e=>{for(;e&&e.nodeName!=="LI";)e=e.parentNode;return e},mt=e=>{let n=0,o=e.parentElement;for(;o;)(o.tagName==="UL"||o.tagName==="OL")&&n++,o=o.parentElement;return n},ft=e=>{const n=e.querySelector("li"),o=n?mt(n):1;if(e.querySelector("[data-hidden-array-start]"))return;const l=`{{#arrayData${o>1?o:""}}}`,c=`{{/arrayData${o>1?o:""}}}`,a=document.createElement("span");a.textContent=l,a.style.display="none",a.setAttribute("data-hidden-array-start","true"),e.insertBefore(a,e.firstChild);const i=document.createElement("span");i.textContent=c,i.style.display="none",i.setAttribute("data-hidden-array-end","true"),e.appendChild(i)},ve=e=>{var v;const n=window.getSelection();if(!(n!=null&&n.rangeCount))return;const o=n.getRangeAt(0),l=pe(o.startContainer);let c,a;if(l){let f=l.querySelector(e);f||(f=document.createElement(e),f.style.margin="0",f.style.paddingLeft="20px",l.appendChild(f)),a=f,c=document.createElement("li"),c.textContent="​",a.appendChild(c)}else{document.execCommand(e==="ul"?"insertUnorderedList":"insertOrderedList");const f=D();if(a=f==null?void 0:f.querySelector(`${e}:last-child`),!a)return;c=a.querySelector("li:last-child")}ft(a);const i=document.createRange();i.setStart(c,0),i.collapse(!0),n.removeAllRanges(),n.addRange(i),(v=D())==null||v.focus(),k()},Z=(e,n)=>{e==="insertOrderedList"?ve("ol"):e==="insertUnorderedList"?ve("ul"):dt(e,n),e==="insertTable"&&St()},gt=e=>{const n=document.createElement("span");n.textContent="​",e.insertNode(n),e.setStartAfter(n),e.collapse(!0);const o=n.getBoundingClientRect();n.remove(),R({x:o.left,y:o.bottom+window.scrollY}),S(r||[]),I(!0),V.current=e.cloneRange()},ht=()=>{const e=window.getSelection();if(!e||e.rangeCount===0)return null;const n=e.anchorNode;let o=e.anchorOffset;if(!n)return null;let l=n;for(l.nodeType!==Node.TEXT_NODE&&(l.childNodes&&l.childNodes[o]?l=l.childNodes[o]:l=n.previousSibling);l;){if(l.nodeType===Node.TEXT_NODE){const c=l.textContent||"",a=l===n?o:c.length,i=c.lastIndexOf("@",a-1);if(i!==-1){const v=document.createRange();return v.setStart(l,i),v.setEnd(l,a),v}}l=l.previousSibling}return null},pt=e=>{var a;const n=window.getSelection();if(!n)return;const o=ht();o?(n.removeAllRanges(),n.addRange(o)):V.current&&(n.removeAllRanges(),n.addRange(V.current));const l=document.createElement("span");l.textContent=`{{${e.name}}}`,l.style.color="#007bff",l.style.display="inline",l.contentEditable="false",l.setAttribute("data-mention",e.value||e.name||"");try{const i=n.rangeCount?n.getRangeAt(0):null;if(i)i.deleteContents(),i.insertNode(l);else{const p=document.createRange(),h=D();p.selectNodeContents(h),p.collapse(!1),p.insertNode(l)}const v=document.createTextNode(" ");l.after(v);const f=document.createRange();f.setStartAfter(v),f.collapse(!0),n.removeAllRanges(),n.addRange(f)}catch(i){console.error("insertMention error:",i)}let c=de([...ge,e]);ee(c),j(c),I(!1),(a=D())==null||a.focus(),k()},vt=e=>{var i;$();const n=window.getSelection();if(!n||!n.rangeCount)return;const o=n.getRangeAt(0),l=document.createElement("span");l.textContent=`{{${e.name}}}`,l.style.color="#007bff",l.style.display="inline",l.contentEditable="false",l.setAttribute("data-mention",e.value||e.name),o.insertNode(l);const c=document.createTextNode(" ");l.after(c);const a=document.createRange();a.setStartAfter(c),a.collapse(!0),n.removeAllRanges(),n.addRange(a),(i=D())==null||i.focus()},Et=e=>{e.forEach(n=>vt(n)),ee(n=>{const o=[...n,...e],l=Array.from(new Map(o.map(c=>[c.name,c])).values());return j(l),l}),k()},yt=()=>{const e=D();if(!e)return[];const n=e.querySelectorAll("span[data-mention]"),o=[];return n.forEach(l=>{const c=l.getAttribute("data-mention")||"",i=(l.textContent||"").match(/{{(.+?)}}/);i&&o.push({name:i[1],value:c})}),o},wt=e=>{var o,l,c;const n=e.key.toLowerCase();if((e.ctrlKey||e.metaKey)&&["b","i","u"].includes(n)&&(e.preventDefault(),Z(n==="b"?"bold":n==="i"?"italic":n==="u"?"underline":"")),e.shiftKey&&e.key==="2"&&e.preventDefault(),e.key==="Enter"){const a=window.getSelection(),i=a!=null&&a.anchorNode?pe(a.anchorNode):null;if(!i)return;if(((o=i.textContent)==null?void 0:o.replace(/\u200B/g,"").trim())===""){e.preventDefault();const f=i.parentElement,p=f==null?void 0:f.closest("li");if(p){f==null||f.removeChild(i);const h=document.createElement("p");h.innerHTML="<br />",(l=p.parentElement)==null||l.insertBefore(h,p.nextSibling);const b=document.createRange();b.setStart(h,0),b.collapse(!0),a==null||a.removeAllRanges(),a==null||a.addRange(b)}else{const h=i.closest("ul, ol");if(h){const b=document.createElement("p");b.innerHTML="<br />",(c=h.parentElement)==null||c.insertBefore(b,h.nextSibling),h.removeChild(i);const N=document.createRange();N.setStart(b,0),N.collapse(!0),a==null||a.removeAllRanges(),a==null||a.addRange(N)}}k()}}},bt=e=>{if(e.data==="@"){const o=window.getSelection();if(!(o!=null&&o.rangeCount))return;const l=o.anchorNode;if(Ct(l))return;setTimeout(()=>{gt(o.getRangeAt(0)),fe(""),S(r),I(!0)},0);return}if(B){setTimeout(()=>Ee(),0);return}},Ct=e=>{if(!e)return!1;let n=e.nodeType===Node.ELEMENT_NODE?e:e.parentElement;for(;n;){if(n.tagName==="TH")return!0;n=n.parentElement}return!1},Ee=()=>{if(k(),!B)return;const e=window.getSelection();if(!e||!e.anchorNode)return;const o=(e.anchorNode.textContent||"").match(/@([a-zA-Z0-9_]*)$/);if(!o){I(!1);return}const l=o[1].toLowerCase();fe(l);const c=r.filter(a=>a.name.toLowerCase().includes(l));S(c)},xt=e=>{var l;const n=(l=e.target.files)==null?void 0:l[0];if(!n)return;const o=new FileReader;o.onload=c=>{var N;const a=(N=c.target)==null?void 0:N.result;$();const i=window.getSelection();let v=i&&i.rangeCount?i.getRangeAt(0):null;const f=document.createElement("img");f.src=a,f.alt=n.name||"image",f.className="rte-inserted-image",f.contentEditable="true";const p=D();if(!v||!p){p==null||p.appendChild(f);const Ne=document.createTextNode(" ");p==null||p.appendChild(Ne);const te=document.createRange();te.setStartAfter(Ne),te.collapse(!0),i==null||i.removeAllRanges(),i==null||i.addRange(te),p==null||p.focus(),k(),e.target.value="";return}v.deleteContents(),v.insertNode(f);const h=document.createTextNode(" ");f.after(h);const b=document.createRange();b.setStartAfter(h),b.collapse(!0),i.removeAllRanges(),i.addRange(b),p.focus(),k(),e.target.value=""},o.readAsDataURL(n)},Lt=e=>{var c;$();const n=window.getSelection();if(!(n!=null&&n.rangeCount))return;const o=n.getRangeAt(0),l=document.createTextNode(e);o.insertNode(l),o.setStartAfter(l),o.collapse(!0),n.removeAllRanges(),n.addRange(o),(c=D())==null||c.focus(),k()},St=()=>{$();const e=document.createElement("table");e.style.borderCollapse="collapse",e.style.width="100%",e.style.border="1px solid #ccc",e.style.margin="8px 0",e.style.position="relative",m.table&&e.classList.add(m.table);const n=document.createElement("thead");m.thead&&n.classList.add(m.thead);const o=document.createElement("tbody");m.tbody&&o.classList.add(m.tbody);const l=document.createElement("tr");m.tr&&l.classList.add(m.tr);const c=document.createElement("tr");m.tr&&c.classList.add(m.tr);for(let v=0;v<2;v++){const f=document.createElement("th");f.textContent=`Header ${v+1}`,f.style.border="1px solid #999",f.style.padding="8px",f.style.position="relative",f.style.backgroundColor="lightgray",m.th&&f.classList.add(m.th);const p=document.createElement("td");p.textContent=`Row 1 Col ${v+1}`,p.style.border="1px solid #999",p.style.padding="8px",p.style.position="relative",p.style.backgroundColor="#fff",m.td&&p.classList.add(m.td),Q(f),Q(p),l.appendChild(f),c.appendChild(p)}n.appendChild(l),o.appendChild(c),e.appendChild(n),e.appendChild(o),At(e),ye(e);const a=window.getSelection();if(!(a!=null&&a.rangeCount))return;a.getRangeAt(0).insertNode(e),k()},ye=e=>{const n=document.createElement("div");Object.assign(n.style,{position:"absolute",width:"14px",height:"14px",right:"0",bottom:"0",background:"rgba(0,0,0,0.25)",cursor:"nwse-resize",zIndex:"20",borderRadius:"2px"});let o=0,l=0,c=0,a=0;n.addEventListener("mousedown",i=>{i.preventDefault(),o=i.clientX,l=i.clientY;const v=e.getBoundingClientRect();c=v.width,a=v.height;const f=h=>{const b=Math.max(100,c+(h.clientX-o)),N=Math.max(60,a+(h.clientY-l));e.style.width=`${b}px`,e.style.height=`${N}px`,k()},p=()=>{document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",p),k()};document.addEventListener("mousemove",f),document.addEventListener("mouseup",p)}),e.appendChild(n)},Q=e=>{const n=document.createElement("div"),o=document.createElement("div");Object.assign(n.style,{position:"absolute",right:"0",top:"0",width:"6px",height:"100%",cursor:"col-resize",background:"rgba(0,0,0,0.15)",zIndex:"10"}),Object.assign(o.style,{position:"absolute",bottom:"0",left:"0",width:"100%",height:"6px",cursor:"row-resize",background:"rgba(0,0,0,0.15)",zIndex:"10"}),Mt(e,n,o),e.appendChild(n),e.appendChild(o)},Mt=(e,n,o)=>{let l=0,c=0,a=0,i=0;n.addEventListener("mousedown",h=>{h.preventDefault(),l=h.clientX,a=e.offsetWidth,document.addEventListener("mousemove",v),document.addEventListener("mouseup",p)}),o.addEventListener("mousedown",h=>{h.preventDefault(),c=h.clientY,i=e.offsetHeight,document.addEventListener("mousemove",f),document.addEventListener("mouseup",p)});const v=h=>{const b=a+(h.clientX-l);e.style.width=`${Math.max(30,b)}px`},f=h=>{const b=i+(h.clientY-c);e.style.height=`${Math.max(20,b)}px`},p=()=>{document.removeEventListener("mousemove",v),document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",p)}},zt=e=>{const o=e.target.closest("td, th");o&&(e.preventDefault(),document.querySelectorAll(".rte-cell-highlight").forEach(l=>l.classList.remove("rte-cell-highlight")),o.classList.add("rte-cell-highlight"),g({visible:!0,x:e.clientX,y:e.clientY,cell:o}))},we=()=>{document.querySelectorAll(".rte-cell-highlight").forEach(e=>e.classList.remove("rte-cell-highlight"))},kt=e=>{if(!O.cell)return;const n=O.cell.closest("table"),o=O.cell.cellIndex,l=O.cell.parentElement.rowIndex,c=a=>{const i=a.tagName.toLowerCase(),v=document.createElement(i);return v.textContent=a.textContent||"",v.style.cssText=a.style.cssText,Q(v),v};switch(e){case"insertRowAbove":{const a=n.rows[l],i=n.insertRow(l);Array.from(a.cells).forEach(v=>{i.appendChild(c(v))});break}case"insertRowBelow":{const a=n.rows[l],i=n.insertRow(l+1);Array.from(a.cells).forEach(v=>{i.appendChild(c(v))});break}case"insertColLeft":{Array.from(n.rows).forEach(a=>{const i=a.cells[o];a.insertBefore(c(i),i)});break}case"insertColRight":{Array.from(n.rows).forEach(a=>{const i=a.cells[o];a.insertBefore(c(i),i.nextSibling)});break}case"deleteRow":n.rows.length>1&&n.deleteRow(l);break;case"deleteCol":Array.from(n.rows).forEach(a=>{a.cells[o]&&a.deleteCell(o)});break}k(),g(re(ne({},O),{visible:!1})),we()},At=e=>{const n=e.querySelector("tbody");if(!n||n.querySelector("[data-hidden-table-start]"))return;const o=document.createElement("span");o.textContent="{{#arrayData}}",o.style.display="none",o.setAttribute("data-hidden-table-start","true"),n.insertBefore(o,n.firstChild);const l=document.createElement("span");l.textContent="{{/arrayData}}",l.style.display="none",l.setAttribute("data-hidden-table-end","true"),n.appendChild(l)},be=()=>{const e=D();if(!e)return H;const n=e.cloneNode(!0);return n.querySelectorAll("table div").forEach(o=>o.remove()),n.querySelectorAll(".rte-cell-highlight").forEach(o=>o.classList.remove("rte-cell-highlight")),n.innerHTML},Nt=()=>{he(),Y.current=P.current,me({url:"",text:"",title:"",target:"_self"}),_(!0)},Tt=e=>{const n=window.getSelection();if(!n||!Y.current)return;n.removeAllRanges(),n.addRange(Y.current);let o=e.url.trim();/^https?:\/\//i.test(o)||(o="https://"+o);const l=document.createElement("a");l.href=o,l.style.cursor="pointer",l.style.outline="none",l.textContent=e.text||o,l.title=e.title,l.target=e.target,l.contentEditable="true";const c=n.getRangeAt(0);c.deleteContents(),c.insertNode(l);const a=document.createTextNode(" ");l.after(a);const i=document.createRange();i.setStartAfter(a),i.collapse(!0),n.removeAllRanges(),n.addRange(i),_(!1),k()},Ot=e=>{const n=e.target;if(n.tagName==="A"){const o=n;if(e.ctrlKey||e.metaKey){window.open(o.href,"_blank","noopener,noreferrer");return}e.preventDefault();const l=document.createRange();l.selectNode(o),Y.current=l,me({url:o.href,text:o.textContent||o.href,title:o.title,target:o.target}),_(!0)}},Dt=()=>{const e=D();if(!e)return;const n=window.getSelection();if((!n||n.rangeCount===0)&&P.current){const h=window.getSelection();h==null||h.removeAllRanges(),h==null||h.addRange(P.current)}const o=window.getSelection();if(!o||o.rangeCount===0)return;const l=o.getRangeAt(0);$(),document.execCommand("removeFormat",!1);const c=l.cloneContents(),a=document.createElement("div");a.appendChild(c);const i=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,null),v=[];for(;i.nextNode();){const h=i.currentNode,b=h.tagName.toUpperCase(),N=h.getAttribute&&h.getAttribute("data-mention")!==null;b!=="A"&&!N&&v.push(h)}for(let h=v.length-1;h>=0;h--){const b=v[h],N=b.parentNode;if(N){for(;b.firstChild;)N.insertBefore(b.firstChild,b);N.removeChild(b)}}a.querySelectorAll("[style]").forEach(h=>h.removeAttribute("style")),l.deleteContents();const f=document.createDocumentFragment();for(;a.firstChild;)f.appendChild(a.firstChild);l.insertNode(f);const p=document.createRange();p.setStartAfter(l.endContainer.nodeType===Node.TEXT_NODE?l.endContainer:l.startContainer),p.collapse(!0),o.removeAllRanges(),o.addRange(p),e.normalize(),k()},jt=e=>{var l;let n=e;n=n.replace(/{{#arrayData\d*}}/g,""),n=n.replace(/{{\/arrayData\d*}}/g,"");const o=document.createElement("div");return o.innerHTML=n,o.querySelectorAll("br").forEach(c=>{c.replaceWith(`
2
- `)}),o.querySelectorAll("p, div, tr").forEach(c=>{c.insertAdjacentText("afterend",`
3
- `)}),o.querySelectorAll("table").forEach(c=>{c.insertAdjacentText("afterend",`
4
- `)}),((l=o.textContent)==null?void 0:l.replace(/\n{3,}/g,`
1
+ (function(L,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("react"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react","react-dom"],t):(L=typeof globalThis!="undefined"?globalThis:L||self,t(L.RichTextEditor={},L.React,L.ReactDOM))})(this,(function(L,t,T){"use strict";var _t=Object.defineProperty,Ft=Object.defineProperties;var Pt=Object.getOwnPropertyDescriptors;var Oe=Object.getOwnPropertySymbols;var It=Object.prototype.hasOwnProperty,qt=Object.prototype.propertyIsEnumerable;var De=(L,t,T)=>t in L?_t(L,t,{enumerable:!0,configurable:!0,writable:!0,value:T}):L[t]=T,re=(L,t)=>{for(var T in t||(t={}))It.call(t,T)&&De(L,T,t[T]);if(Oe)for(var T of Oe(t))qt.call(t,T)&&De(L,T,t[T]);return L},oe=(L,t)=>Ft(L,Pt(t));function je(o){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const d in o)if(d!=="default"){const u=Object.getOwnPropertyDescriptor(o,d);Object.defineProperty(s,d,u.get?u:{enumerable:!0,get:()=>o[d]})}}return s.default=o,Object.freeze(s)}const He=je(t);window.React=He;var le={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},ae=t.createContext&&t.createContext(le),_e=["attr","size","title"];function Fe(o,s){if(o==null)return{};var d=Pe(o,s),u,m;if(Object.getOwnPropertySymbols){var y=Object.getOwnPropertySymbols(o);for(m=0;m<y.length;m++)u=y[m],!(s.indexOf(u)>=0)&&Object.prototype.propertyIsEnumerable.call(o,u)&&(d[u]=o[u])}return d}function Pe(o,s){if(o==null)return{};var d={};for(var u in o)if(Object.prototype.hasOwnProperty.call(o,u)){if(s.indexOf(u)>=0)continue;d[u]=o[u]}return d}function W(){return W=Object.assign?Object.assign.bind():function(o){for(var s=1;s<arguments.length;s++){var d=arguments[s];for(var u in d)Object.prototype.hasOwnProperty.call(d,u)&&(o[u]=d[u])}return o},W.apply(this,arguments)}function ie(o,s){var d=Object.keys(o);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(o);s&&(u=u.filter(function(m){return Object.getOwnPropertyDescriptor(o,m).enumerable})),d.push.apply(d,u)}return d}function K(o){for(var s=1;s<arguments.length;s++){var d=arguments[s]!=null?arguments[s]:{};s%2?ie(Object(d),!0).forEach(function(u){Ie(o,u,d[u])}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(d)):ie(Object(d)).forEach(function(u){Object.defineProperty(o,u,Object.getOwnPropertyDescriptor(d,u))})}return o}function Ie(o,s,d){return s=qe(s),s in o?Object.defineProperty(o,s,{value:d,enumerable:!0,configurable:!0,writable:!0}):o[s]=d,o}function qe(o){var s=Be(o,"string");return typeof s=="symbol"?s:s+""}function Be(o,s){if(typeof o!="object"||!o)return o;var d=o[Symbol.toPrimitive];if(d!==void 0){var u=d.call(o,s);if(typeof u!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(s==="string"?String:Number)(o)}function se(o){return o&&o.map((s,d)=>t.createElement(s.tag,K({key:d},s.attr),se(s.child)))}function z(o){return s=>t.createElement(Ve,W({attr:K({},o.attr)},s),se(o.child))}function Ve(o){var s=d=>{var{attr:u,size:m,title:y}=o,M=Fe(o,_e),C=m||d.size||"1em",E;return d.className&&(E=d.className),o.className&&(E=(E?E+" ":"")+o.className),t.createElement("svg",W({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},d.attr,u,M,{className:E,style:K(K({color:o.color||d.color},d.style),o.style),height:C,width:C,xmlns:"http://www.w3.org/2000/svg"}),y&&t.createElement("title",null,y),o.children)};return ae!==void 0?t.createElement(ae.Consumer,null,d=>s(d)):s(le)}function $e(o){return z({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M352 64c0-17.7-14.3-32-32-32L128 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32zm96 128c0-17.7-14.3-32-32-32L32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32zM0 448c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 416c-17.7 0-32 14.3-32 32zM352 320c0-17.7-14.3-32-32-32l-192 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32z"},child:[]}]})(o)}function Ue(o){return z({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M448 64c0 17.7-14.3 32-32 32L192 96c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 224c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"},child:[]}]})(o)}function We(o){return z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zM323.8 202.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6L170.7 297c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6l96 0 32 0 208 0c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7l-120-176zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z"},child:[]}]})(o)}function Ke(o){return z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M24 56c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24l0 120 16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l16 0 0-96-8 0C34.7 80 24 69.3 24 56zM86.7 341.2c-6.5-7.4-18.3-6.9-24 1.2L51.5 357.9c-7.7 10.8-22.7 13.3-33.5 5.6s-13.3-22.7-5.6-33.5l11.1-15.6c23.7-33.2 72.3-35.6 99.2-4.9c21.3 24.4 20.8 60.9-1.1 84.7L86.8 432l33.2 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-88 0c-9.5 0-18.2-5.6-22-14.4s-2.1-18.9 4.3-25.9l72-78c5.3-5.8 5.4-14.6 .3-20.5zM224 64l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z"},child:[]}]})(o)}function Xe(o){return z({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M12.83 352h262.34A12.82 12.82 0 0 0 288 339.17v-38.34A12.82 12.82 0 0 0 275.17 288H12.83A12.82 12.82 0 0 0 0 300.83v38.34A12.82 12.82 0 0 0 12.83 352zm0-256h262.34A12.82 12.82 0 0 0 288 83.17V44.83A12.82 12.82 0 0 0 275.17 32H12.83A12.82 12.82 0 0 0 0 44.83v38.34A12.82 12.82 0 0 0 12.83 96zM432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"},child:[]}]})(o)}function Ye(o){return z({attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M333.49 238a122 122 0 0 0 27-65.21C367.87 96.49 308 32 233.42 32H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h31.87v288H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h209.32c70.8 0 134.14-51.75 141-122.4 4.74-48.45-16.39-92.06-50.83-119.6zM145.66 112h87.76a48 48 0 0 1 0 96h-87.76zm87.76 288h-87.76V288h87.76a56 56 0 0 1 0 112z"},child:[]}]})(o)}function Re(o){return z({attr:{viewBox:"0 0 544 512"},child:[{tag:"path",attr:{d:"M0 479.98L99.92 512l35.45-35.45-67.04-67.04L0 479.98zm124.61-240.01a36.592 36.592 0 0 0-10.79 38.1l13.05 42.83-50.93 50.94 96.23 96.23 50.86-50.86 42.74 13.08c13.73 4.2 28.65-.01 38.15-10.78l35.55-41.64-173.34-173.34-41.52 35.44zm403.31-160.7l-63.2-63.2c-20.49-20.49-53.38-21.52-75.12-2.35L190.55 183.68l169.77 169.78L530.27 154.4c19.18-21.74 18.15-54.63-2.35-75.13z"},child:[]}]})(o)}function Ze(o){return z({attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M320 48v32a16 16 0 0 1-16 16h-62.76l-80 320H208a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h62.76l80-320H112a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h192a16 16 0 0 1 16 16z"},child:[]}]})(o)}function Qe(o){return z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"},child:[]}]})(o)}function Je(o){return z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"},child:[]}]})(o)}function Ge(o){return z({attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm194.8 170.2C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.6-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.4-16.2 38.1 4.2 24.6 20.5z"},child:[]}]})(o)}function et(o){return z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z"},child:[]}]})(o)}function tt(o){return z({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M32 64h32v160c0 88.22 71.78 160 160 160s160-71.78 160-160V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H272a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32v160a80 80 0 0 1-160 0V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm400 384H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"},child:[]}]})(o)}function nt(o){return z({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M2 20h20v4H2v-4zm3.49-3h2.42l1.27-3.58h5.65L16.09 17h2.42L13.25 3h-2.5L5.49 17zm4.42-5.61 2.03-5.79h.12l2.03 5.79H9.91z"},child:[]}]})(o)}function rt(o){return z({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M20 8V5H6.39l3 3h1.83l-.55 1.28 2.09 2.1L14.21 8zM3.41 4.86 2 6.27l6.97 6.97L6.5 19h3l1.57-3.66L16.73 21l1.41-1.41z"},child:[]}]})(o)}const ot=["😀","😁","😂","đŸ¤Ŗ","😃","😄","😅","😉","😊","😍","😘","😜","😎","đŸ˜ĸ","😭","😡","🤔","🙄","😇","đŸĨ°","🤩","🤗","😴","😋","đŸ˜Ŧ","🤤","đŸ˜ļ‍đŸŒĢī¸","😷","🤕","🤑","🤠","😈","đŸ‘ģ","💀","🤖","đŸļ","🐱","đŸŧ","🐸","đŸĻ„","🐷","đŸĩ","🐰","đŸ¯","đŸĻ","🐮","🌞","🌙","⭐","🌈","đŸ”Ĩ","💧","â„ī¸","⚡","â˜€ī¸","🌸","🌹","🍎","🍕","🍩","🍔","🍟","🍇","🍉","🍓","🍒","đŸĨ­","đŸĨ‘","🎉","🎂","🎁","🎈","đŸŽļ","đŸŽĩ","🏆","âšŊ","🏀","🏸","🏏","đŸ•šī¸","👋","🤚","đŸ–ī¸","✋","🖖","👍","👎","👌","🤌","🤏","✊","👊","🤛","🤜","â˜ī¸","👆","👇","👈","👉","🤟","🤘","🤙","🙌","👏","🙏","âœī¸","💅","🤲","👏","đŸĢļ","👐"],ce=({exec:o,saveSelection:s,handleFileChange:d,handleFontSizeChange:u,handleFontFamilyChange:m,insertEmoji:y,handleLink:M,removeFormatting:C,visibleActions:E,className:j,style:P})=>{var V,O;const A=t.useRef(null),H=t.useRef(null),x=t.useRef(null),[Q,U]=t.useState(!1),[B,q]=t.useState({x:0,y:0});t.useEffect(()=>{const g=w=>{!w.target.closest(".rte-emoji-popup")&&!w.target.closest("button[title='Emoji']")&&U(!1)};return document.addEventListener("mousedown",g),()=>document.removeEventListener("mousedown",g)},[]);const I=g=>{var _;g.preventDefault();const w=g.currentTarget.dataset.command;if(w)switch(w){case"bold":case"italic":case"underline":case"insertUnorderedList":case"insertOrderedList":case"removeFormat":o(w);break;case"insertImage":{(_=A.current)==null||_.click();break}default:console.warn("Unknown command:",w)}},J=g=>{o("foreColor",g.target.value)},G=g=>{o("backColor",g.target.value)},[S,F]=t.useState({bold:!1,italic:!1,underline:!1,unorderedList:!1,orderedList:!1,alignLeft:!1,alignCenter:!1,alignRight:!1,removeFormat:!1,link:!1,image:!1,emoji:!1,table:!1,color:!1,highlight:!1});return t.useEffect(()=>{const g=()=>{F({bold:document.queryCommandState("bold"),italic:document.queryCommandState("italic"),underline:document.queryCommandState("underline"),unorderedList:document.queryCommandState("insertUnorderedList"),orderedList:document.queryCommandState("insertOrderedList"),alignLeft:document.queryCommandState("justifyLeft"),alignCenter:document.queryCommandState("justifyCenter"),alignRight:document.queryCommandState("justifyRight"),removeFormat:document.queryCommandState("removeFormat"),link:document.queryCommandState("createLink"),image:document.queryCommandState("insertImage"),emoji:document.queryCommandState("insertEmoji"),table:document.queryCommandState("insertTable"),color:document.queryCommandState("foreColor"),highlight:document.queryCommandState("backColor")})};return document.addEventListener("selectionchange",g),()=>document.removeEventListener("selectionchange",g)},[]),t.createElement("div",{className:`rte-toolbar ${j||""}`,style:P},E.bold&&t.createElement("button",{"data-command":"bold",title:"Bold",onMouseDown:I,className:S.bold?"rte-active":""},t.createElement(Ye,null)),E.italic&&t.createElement("button",{"data-command":"italic",title:"Italic",onMouseDown:I,className:S.italic?"rte-active":""},t.createElement(Ze,null)),E.underline&&t.createElement("button",{"data-command":"underline",title:"Underline",onMouseDown:I,className:S.underline?"rte-active":""},t.createElement(tt,null)),E.unorderedList&&t.createElement("button",{"data-command":"insertUnorderedList",onMouseDown:I,title:"UnorderedList",className:S.unorderedList?"rte-active":""},t.createElement(Je,null)),E.orderedList&&t.createElement("button",{"data-command":"insertOrderedList",title:"OrderedList",onMouseDown:I,className:S.orderedList?"rte-active":""},t.createElement(Ke,null)),E.link&&t.createElement("button",{"data-command":"createLink",title:"Link",onClick:M,className:S.link?"rte-active":""},t.createElement(Qe,null)),E.removeFormat&&t.createElement("button",{"data-command":"Remove format",title:"removeFormat",onMouseDown:g=>{g.preventDefault(),s(),C()},className:S.removeFormat?"rte-active":""},t.createElement(rt,null)),E.image&&t.createElement("button",{"data-command":"insertImage",title:"Image",onMouseDown:I,className:S.image?"rte-active":""},t.createElement(We,null)),t.createElement("input",{type:"file",accept:"image/*",ref:A,style:{display:"none"},onChange:d}),E.emoji&&t.createElement("div",{style:{position:"relative"}},t.createElement("button",{title:"Emoji",onMouseDown:g=>{g.preventDefault(),s();const w=g.currentTarget.getBoundingClientRect();q({x:w.left,y:w.bottom+8}),U(_=>!_)},className:S.emoji?"rte-active":""},t.createElement(Ge,null)),Q&&T.createPortal(t.createElement("div",{className:"rte-emoji-popup",style:{top:B.y,left:B.x}},ot.map((g,w)=>t.createElement("span",{key:w,style:{fontSize:"20px",cursor:"pointer",textAlign:"center"},onMouseDown:_=>{_.preventDefault(),y(g),U(!1)}},g))),document.body)),E.color&&t.createElement("div",{style:{position:"relative"}},t.createElement("button",{title:"Text Color",onMouseDown:g=>{var w;g.preventDefault(),s(),(w=H.current)==null||w.click()},style:{display:"flex",alignItems:"center",justifyContent:"center",color:((V=H.current)==null?void 0:V.value)||"#000",fontSize:"18px"},className:S.color?"rte-active":""},t.createElement(nt,null)),t.createElement("input",{ref:H,type:"color",defaultValue:"#000000",onChange:g=>{var w;J(g),((w=g.target.parentElement)==null?void 0:w.querySelector("button")).style.color=g.target.value},style:{position:"absolute",opacity:0,width:0,height:0,pointerEvents:"none"}})),E.highlight&&t.createElement("div",{style:{position:"relative"}},t.createElement("button",{title:"Highlight",onMouseDown:g=>{var w;g.preventDefault(),s(),(w=x.current)==null||w.click()},style:{display:"flex",alignItems:"center",justifyContent:"center",color:((O=x.current)==null?void 0:O.value)||"#000",fontSize:"18px"},className:S.highlight?"rte-active":""},t.createElement(Re,null)),t.createElement("input",{ref:x,type:"color",onChange:g=>{var w;G(g),((w=g.target.parentElement)==null?void 0:w.querySelector("button")).style.color=g.target.value},defaultValue:"#000000",style:{position:"absolute",opacity:0,width:0,height:0,pointerEvents:"none"}})),E.align&&t.createElement(t.Fragment,null,t.createElement("button",{title:"Align Left",onMouseDown:g=>g.preventDefault(),onClick:()=>o("justifyLeft"),className:S.alignLeft?"rte-active":""},t.createElement(Xe,null)),t.createElement("button",{title:"Align Center",onMouseDown:g=>g.preventDefault(),onClick:()=>o("justifyCenter"),className:S.alignCenter?"rte-active":""},t.createElement($e,null)),t.createElement("button",{title:"Align Right",onMouseDown:g=>g.preventDefault(),onClick:()=>o("justifyRight"),className:S.alignRight?"rte-active":""},t.createElement(Ue,null))),E.table&&t.createElement("button",{title:"Insert Table",onMouseDown:g=>g.preventDefault(),onClick:()=>o("insertTable"),className:S.table?"rte-active":""},t.createElement(et,null)),E.fontFamily&&t.createElement("select",{className:"rte-dropdown",defaultValue:"",onMouseDown:()=>s(),onChange:m},t.createElement("option",{value:"",disabled:!0},"Font Family"),t.createElement("option",{value:"Arial"},"Arial"),t.createElement("option",{value:"Georgia"},"Georgia"),t.createElement("option",{value:"Times New Roman"},"Times New Roman"),t.createElement("option",{value:"Courier New"},"Courier New"),t.createElement("option",{value:"Verdana"},"Verdana")),E.fontSize&&t.createElement("select",{className:"rte-dropdown",defaultValue:"",onMouseDown:()=>s(),onChange:u},t.createElement("option",{value:"",disabled:!0},"Font Size"),t.createElement("option",{value:"2"},"Small "),t.createElement("option",{value:"3"},"Normal"),t.createElement("option",{value:"4"},"Medium"),t.createElement("option",{value:"5"},"Large")))},lt=({show:o,position:s,filtered:d,insertMention:u,onClose:m,query:y})=>{const M=t.useRef(null);return t.useEffect(()=>{const C=E=>{M.current&&!M.current.contains(E.target)&&m()};return o&&document.addEventListener("mousedown",C),()=>{document.removeEventListener("mousedown",C)}},[o,m]),o?t.createElement("ul",{ref:M,className:"rte-popup",style:{top:s.y,left:s.x}},d.length>0?d.map(({name:C,value:E})=>{const j=C.toLowerCase(),P=y.toLowerCase(),A=j.indexOf(P);let H=C;if(A!==-1&&y.length>0){const x=A+y.length;H=C.substring(0,A)+`<span class="rte-highlight">${C.substring(A,x)}</span>`+C.substring(x)}return t.createElement("li",{key:E,onMouseDown:x=>{x.preventDefault(),u({name:C,value:E})},style:{padding:"6px 12px",cursor:"pointer",fontSize:"14px"},dangerouslySetInnerHTML:{__html:H},onMouseEnter:x=>x.currentTarget.style.background="#f0f0f0",onMouseLeave:x=>x.currentTarget.style.background="#fff"})}):t.createElement("li",{style:{padding:"6px 12px",color:"#999"}},"No matches")):null};function ue(o){return z({attr:{viewBox:"0 0 24 24"},child:[{tag:"g",attr:{id:"Circle_Minus"},child:[{tag:"g",attr:{},child:[{tag:"path",attr:{d:"M15,11.5h0a.5.5,0,0,1,0,1H9a.5.5,0,0,1,0-1Z"},child:[]},{tag:"path",attr:{d:"M12,21.934A9.933,9.933,0,1,1,21.932,12,9.945,9.945,0,0,1,12,21.934ZM12,3.068A8.933,8.933,0,1,0,20.932,12,8.944,8.944,0,0,0,12,3.068Z"},child:[]}]}]}]})(o)}function X(o){return z({attr:{viewBox:"0 0 24 24"},child:[{tag:"g",attr:{id:"Circle_Plus"},child:[{tag:"g",attr:{},child:[{tag:"path",attr:{d:"M15,12.5H12.5V15a.5.5,0,0,1-1,0V12.5H9a.5.5,0,0,1,0-1h2.5V9a.5.5,0,0,1,1,0v2.5H15A.5.5,0,0,1,15,12.5Z"},child:[]},{tag:"path",attr:{d:"M12,21.932A9.934,9.934,0,1,1,21.932,12,9.944,9.944,0,0,1,12,21.932ZM12,3.065A8.934,8.934,0,1,0,20.932,12,8.944,8.944,0,0,0,12,3.065Z"},child:[]}]}]}]})(o)}const at=({visible:o,x:s,y:d,onAction:u,onClose:m})=>{if(!o)return null;const y={top:d,left:s};return t.createElement("div",{style:y,className:"rte-table-menu",onMouseLeave:m},t.createElement("button",{onClick:()=>u("insertRowAbove")},t.createElement(X,null)," Insert row above"),t.createElement("button",{onClick:()=>u("insertRowBelow")},t.createElement(X,null)," Insert row below"),t.createElement("button",{onClick:()=>u("insertColLeft")},t.createElement(X,null)," Insert col left"),t.createElement("button",{onClick:()=>u("insertColRight")},t.createElement(X,null)," Insert col right"),t.createElement("button",{onClick:()=>u("deleteRow")},t.createElement(ue,null)," Delete row"),t.createElement("button",{onClick:()=>u("deleteCol")},t.createElement(ue,null)," Delete column"))},de=({html:o,className:s,style:d})=>{const u=y=>{const M=y.target;if(M.tagName==="A"){y.preventDefault();const C=M.href;C&&window.open(C,"_blank","noopener,noreferrer")}},m=y=>y.replace(/{{\s*(.*?)\s*}}/g,"$1");return t.createElement("div",{className:`rte-preview ${s||""}`,style:d,onClick:u,dangerouslySetInnerHTML:{__html:m(o)}})},it=({visible:o,linkData:s,onClose:d,onInsert:u})=>{const[m,y]=t.useState(""),[M,C]=t.useState(""),[E,j]=t.useState(""),[P,A]=t.useState("_self");if(t.useEffect(()=>{o?(y(s.url||""),C(s.text||""),j(s.title||""),A(s.target||"_self")):(y(""),C(""),j(""),A("_self"))},[o,s]),!o)return null;const H=()=>{u({url:m,text:M,title:E,target:P})};return t.createElement(t.Fragment,null,t.createElement("div",{className:"rte-link-modal-overlay",onClick:d}),t.createElement("div",{className:"rte-link-modal"},t.createElement("h4",{className:"rte-link-modal__title"},m?"Edit Link":"Insert Link"),t.createElement("input",{type:"text",className:"rte-link-modal__input",placeholder:"URL",value:m,onChange:x=>y(x.target.value)}),t.createElement("input",{type:"text",className:"rte-link-modal__input",placeholder:"Text to Display",value:M,onChange:x=>C(x.target.value)}),t.createElement("input",{type:"text",className:"rte-link-modal__input",placeholder:"Title",value:E,onChange:x=>j(x.target.value)}),t.createElement("select",{className:"rte-link-modal__select",value:P,onChange:x=>A(x.target.value)},t.createElement("option",{value:"_self"},"Same tab"),t.createElement("option",{value:"_blank"},"New tab")),t.createElement("div",{className:"rte-link-modal__actions"},t.createElement("button",{className:"rte-link-modal__btn",onClick:d},"Cancel"),t.createElement("button",{className:"rte-link-modal__btn rte-link-modal__btn--ok",onClick:H},"OK"))))};function me(o){return Array.from(new Map(o.map(s=>[s.value,s])).values())}const st=({atSuggestions:o=[],showOutput:s=!1,showPreview:d=!1,toolbarConfig:u={link:!1,image:!1,emoji:!1,table:!1,color:!1,fontFamily:!1,fontSize:!1,highlight:!1},classNames:m={},styles:y={},handleGetHtml:M=()=>{},onChange:C=()=>{},value:E,onMentionSelect:j=()=>{},handleAddAttributes:P=()=>{}})=>{var xe,Le,Se,Me,ze,ke,Ae,Ne;const A=t.useRef(null),[H,x]=t.useState(E!=null&&E.length?E:" "),[Q,U]=t.useState(""),[B,q]=t.useState(!1),[I,J]=t.useState({x:0,y:0}),[G,S]=t.useState([]),F=t.useRef(null),V=t.useRef(null),[O,g]=t.useState({visible:!1,x:0,y:0}),[w,_]=t.useState(!1),Y=t.useRef(null),[ct,fe]=t.useState({url:"",text:"",title:"",target:"_self"}),ut={bold:!0,italic:!0,underline:!0,removeFormat:!0,unorderedList:!0,orderedList:!0,align:!0,link:(xe=u.link)!=null?xe:!1,image:(Le=u.image)!=null?Le:!1,emoji:(Se=u.emoji)!=null?Se:!1,table:(Me=u.table)!=null?Me:!1,color:(ze=u.color)!=null?ze:!1,fontFamily:(ke=u.fontFamily)!=null?ke:!1,fontSize:(Ae=u.fontSize)!=null?Ae:!1,highlight:(Ne=u.fontSize)!=null?Ne:!1},[dt,ge]=t.useState(""),[he,ee]=t.useState([]),D=()=>A.current,k=()=>{const e=Ce();U(e),M==null||M(e);const n=Ht(e);C(n);const r=wt(),l=me(r);JSON.stringify(l)!==JSON.stringify(he)&&(ee(l),j(l))},pe=()=>{const e=window.getSelection();!e||e.rangeCount===0||te()&&(F.current=e.getRangeAt(0).cloneRange())},$=()=>{const e=window.getSelection();e&&F.current&&(e.removeAllRanges(),e.addRange(F.current))},mt=(e,n)=>{const r=window.getSelection();r&&r.rangeCount>0&&(F.current=r.getRangeAt(0)),$(),document.execCommand(e,!1,n),k()};t.useEffect(()=>{const e=D();e&&!e.innerHTML&&(e.innerHTML=H),k()},[]),t.useEffect(()=>()=>{document.removeEventListener("mousemove",null),document.removeEventListener("mouseup",null)},[]),t.useEffect(()=>{P&&P(e=>{yt(e)})},[]),t.useEffect(()=>{const e=D();if(!e)return;e.querySelectorAll("table").forEach(r=>{we(r),r.querySelectorAll("th, td").forEach(c=>Z(c))})},[]);const ve=e=>{for(;e&&e.nodeName!=="LI";)e=e.parentNode;return e},ft=e=>{let n=0,r=e.parentElement;for(;r;)(r.tagName==="UL"||r.tagName==="OL")&&n++,r=r.parentElement;return n},gt=e=>{const n=e.querySelector("li"),r=n?ft(n):1;if(e.querySelector("[data-hidden-array-start]"))return;const l=`{{#arrayData${r>1?r:""}}}`,c=`{{/arrayData${r>1?r:""}}}`,a=document.createElement("span");a.textContent=l,a.style.display="none",a.setAttribute("data-hidden-array-start","true"),e.insertBefore(a,e.firstChild);const i=document.createElement("span");i.textContent=c,i.style.display="none",i.setAttribute("data-hidden-array-end","true"),e.appendChild(i)},Ee=e=>{var p;const n=window.getSelection();if(!(n!=null&&n.rangeCount))return;const r=n.getRangeAt(0),l=ve(r.startContainer);let c,a;if(l){let f=l.querySelector(e);f||(f=document.createElement(e),f.style.margin="0",f.style.paddingLeft="20px",l.appendChild(f)),a=f,c=document.createElement("li"),c.textContent="​",a.appendChild(c)}else{document.execCommand(e==="ul"?"insertUnorderedList":"insertOrderedList");const f=D();if(a=f==null?void 0:f.querySelector(`${e}:last-child`),!a)return;c=a.querySelector("li:last-child")}gt(a);const i=document.createRange();i.setStart(c,0),i.collapse(!0),n.removeAllRanges(),n.addRange(i),(p=D())==null||p.focus(),k()},R=(e,n)=>{e==="insertOrderedList"?Ee("ol"):e==="insertUnorderedList"?Ee("ul"):mt(e,n),e==="insertTable"&&Mt()},ht=e=>{const n=document.createElement("span");n.textContent="​",e.insertNode(n),e.setStartAfter(n),e.collapse(!0);const r=n.getBoundingClientRect();n.remove(),J({x:r.left,y:r.bottom+window.scrollY}),S(o||[]),q(!0),V.current=e.cloneRange()},pt=()=>{const e=window.getSelection();if(!e||e.rangeCount===0)return null;const n=e.anchorNode;let r=e.anchorOffset;if(!n)return null;let l=n;for(l.nodeType!==Node.TEXT_NODE&&(l.childNodes&&l.childNodes[r]?l=l.childNodes[r]:l=n.previousSibling);l;){if(l.nodeType===Node.TEXT_NODE){const c=l.textContent||"",a=l===n?r:c.length,i=c.lastIndexOf("@",a-1);if(i!==-1){const p=document.createRange();return p.setStart(l,i),p.setEnd(l,a),p}}l=l.previousSibling}return null},vt=e=>{var a;const n=window.getSelection();if(!n)return;const r=pt();r?(n.removeAllRanges(),n.addRange(r)):V.current&&(n.removeAllRanges(),n.addRange(V.current));const l=document.createElement("span");l.textContent=`{{${e.name}}}`,l.style.color="#007bff",l.style.display="inline",l.contentEditable="false",l.setAttribute("data-mention",e.value||e.name||"");try{const i=n.rangeCount?n.getRangeAt(0):null;if(i)i.deleteContents(),i.insertNode(l);else{const v=document.createRange(),h=D();v.selectNodeContents(h),v.collapse(!1),v.insertNode(l)}const p=document.createTextNode(" ");l.after(p);const f=document.createRange();f.setStartAfter(p),f.collapse(!0),n.removeAllRanges(),n.addRange(f)}catch(i){console.error("insertMention error:",i)}let c=me([...he,e]);ee(c),j(c),q(!1),(a=D())==null||a.focus(),k()},Et=e=>{const n=D();if(!n)return;n.focus(),!te()&&F.current&&$();const r=window.getSelection();if(!r||!r.rangeCount||!te()){const p=document.createRange();p.selectNodeContents(n),p.collapse(!1),r==null||r.removeAllRanges(),r==null||r.addRange(p)}const l=r.getRangeAt(0),c=document.createElement("span");c.textContent=`{{${e.name}}}`,c.style.color="#007bff",c.contentEditable="false",c.setAttribute("data-mention",e.value||e.name),l.insertNode(c);const a=document.createTextNode(" ");c.after(a);const i=document.createRange();i.setStartAfter(a),i.collapse(!0),r.removeAllRanges(),r.addRange(i),n.focus()},yt=e=>{e.forEach(n=>Et(n)),ee(n=>{const r=[...n,...e],l=Array.from(new Map(r.map(c=>[c.name,c])).values());return j(l),l}),k()},wt=()=>{const e=D();if(!e)return[];const n=e.querySelectorAll("span[data-mention]"),r=[];return n.forEach(l=>{const c=l.getAttribute("data-mention")||"",i=(l.textContent||"").match(/{{(.+?)}}/);i&&r.push({name:i[1],value:c})}),r},bt=e=>{var r,l,c;const n=e.key.toLowerCase();if((e.ctrlKey||e.metaKey)&&["b","i","u"].includes(n)&&(e.preventDefault(),R(n==="b"?"bold":n==="i"?"italic":n==="u"?"underline":"")),e.shiftKey&&e.key==="2"&&e.preventDefault(),e.key==="Enter"){const a=window.getSelection(),i=a!=null&&a.anchorNode?ve(a.anchorNode):null;if(!i)return;if(((r=i.textContent)==null?void 0:r.replace(/\u200B/g,"").trim())===""){e.preventDefault();const f=i.parentElement,v=f==null?void 0:f.closest("li");if(v){f==null||f.removeChild(i);const h=document.createElement("p");h.innerHTML="<br />",(l=v.parentElement)==null||l.insertBefore(h,v.nextSibling);const b=document.createRange();b.setStart(h,0),b.collapse(!0),a==null||a.removeAllRanges(),a==null||a.addRange(b)}else{const h=i.closest("ul, ol");if(h){const b=document.createElement("p");b.innerHTML="<br />",(c=h.parentElement)==null||c.insertBefore(b,h.nextSibling),h.removeChild(i);const N=document.createRange();N.setStart(b,0),N.collapse(!0),a==null||a.removeAllRanges(),a==null||a.addRange(N)}}k()}}},Ct=e=>{if(e.data==="@"){const r=window.getSelection();if(!(r!=null&&r.rangeCount))return;const l=r.anchorNode;if(xt(l))return;setTimeout(()=>{ht(r.getRangeAt(0)),ge(""),S(o),q(!0)},0);return}if(B){setTimeout(()=>ye(),0);return}},xt=e=>{if(!e)return!1;let n=e.nodeType===Node.ELEMENT_NODE?e:e.parentElement;for(;n;){if(n.tagName==="TH")return!0;n=n.parentElement}return!1},ye=()=>{if(k(),!B)return;const e=window.getSelection();if(!e||!e.anchorNode)return;const r=(e.anchorNode.textContent||"").match(/@([a-zA-Z0-9_]*)$/);if(!r){q(!1);return}const l=r[1].toLowerCase();ge(l);const c=o.filter(a=>a.name.toLowerCase().includes(l));S(c)},Lt=e=>{var l;const n=(l=e.target.files)==null?void 0:l[0];if(!n)return;const r=new FileReader;r.onload=c=>{var N;const a=(N=c.target)==null?void 0:N.result;$();const i=window.getSelection();let p=i&&i.rangeCount?i.getRangeAt(0):null;const f=document.createElement("img");f.src=a,f.alt=n.name||"image",f.className="rte-inserted-image",f.contentEditable="true";const v=D();if(!p||!v){v==null||v.appendChild(f);const Te=document.createTextNode(" ");v==null||v.appendChild(Te);const ne=document.createRange();ne.setStartAfter(Te),ne.collapse(!0),i==null||i.removeAllRanges(),i==null||i.addRange(ne),v==null||v.focus(),k(),e.target.value="";return}p.deleteContents(),p.insertNode(f);const h=document.createTextNode(" ");f.after(h);const b=document.createRange();b.setStartAfter(h),b.collapse(!0),i.removeAllRanges(),i.addRange(b),v.focus(),k(),e.target.value=""},r.readAsDataURL(n)},St=e=>{var c;$();const n=window.getSelection();if(!(n!=null&&n.rangeCount))return;const r=n.getRangeAt(0),l=document.createTextNode(e);r.insertNode(l),r.setStartAfter(l),r.collapse(!0),n.removeAllRanges(),n.addRange(r),(c=D())==null||c.focus(),k()},Mt=()=>{$();const e=document.createElement("table");e.style.borderCollapse="collapse",e.style.width="100%",e.style.border="1px solid #ccc",e.style.margin="8px 0",e.style.position="relative",m.table&&e.classList.add(m.table);const n=document.createElement("thead");m.thead&&n.classList.add(m.thead);const r=document.createElement("tbody");m.tbody&&r.classList.add(m.tbody);const l=document.createElement("tr");m.tr&&l.classList.add(m.tr);const c=document.createElement("tr");m.tr&&c.classList.add(m.tr);for(let p=0;p<2;p++){const f=document.createElement("th");f.textContent=`Header ${p+1}`,f.style.border="1px solid #999",f.style.padding="8px",f.style.position="relative",f.style.backgroundColor="lightgray",m.th&&f.classList.add(m.th);const v=document.createElement("td");v.textContent=`Row 1 Col ${p+1}`,v.style.border="1px solid #999",v.style.padding="8px",v.style.position="relative",v.style.backgroundColor="#fff",m.td&&v.classList.add(m.td),Z(f),Z(v),l.appendChild(f),c.appendChild(v)}n.appendChild(l),r.appendChild(c),e.appendChild(n),e.appendChild(r),Nt(e),we(e);const a=window.getSelection();if(!(a!=null&&a.rangeCount))return;a.getRangeAt(0).insertNode(e),k()},we=e=>{const n=document.createElement("div");Object.assign(n.style,{position:"absolute",width:"14px",height:"14px",right:"0",bottom:"0",background:"rgba(0,0,0,0.25)",cursor:"nwse-resize",zIndex:"20",borderRadius:"2px"});let r=0,l=0,c=0,a=0;n.addEventListener("mousedown",i=>{i.preventDefault(),r=i.clientX,l=i.clientY;const p=e.getBoundingClientRect();c=p.width,a=p.height;const f=h=>{const b=Math.max(100,c+(h.clientX-r)),N=Math.max(60,a+(h.clientY-l));e.style.width=`${b}px`,e.style.height=`${N}px`,k()},v=()=>{document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",v),k()};document.addEventListener("mousemove",f),document.addEventListener("mouseup",v)}),e.appendChild(n)},Z=e=>{const n=document.createElement("div"),r=document.createElement("div");Object.assign(n.style,{position:"absolute",right:"0",top:"0",width:"6px",height:"100%",cursor:"col-resize",background:"rgba(0,0,0,0.15)",zIndex:"10"}),Object.assign(r.style,{position:"absolute",bottom:"0",left:"0",width:"100%",height:"6px",cursor:"row-resize",background:"rgba(0,0,0,0.15)",zIndex:"10"}),zt(e,n,r),e.appendChild(n),e.appendChild(r)},zt=(e,n,r)=>{let l=0,c=0,a=0,i=0;n.addEventListener("mousedown",h=>{h.preventDefault(),l=h.clientX,a=e.offsetWidth,document.addEventListener("mousemove",p),document.addEventListener("mouseup",v)}),r.addEventListener("mousedown",h=>{h.preventDefault(),c=h.clientY,i=e.offsetHeight,document.addEventListener("mousemove",f),document.addEventListener("mouseup",v)});const p=h=>{const b=a+(h.clientX-l);e.style.width=`${Math.max(30,b)}px`},f=h=>{const b=i+(h.clientY-c);e.style.height=`${Math.max(20,b)}px`},v=()=>{document.removeEventListener("mousemove",p),document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",v)}},kt=e=>{const r=e.target.closest("td, th");r&&(e.preventDefault(),document.querySelectorAll(".rte-cell-highlight").forEach(l=>l.classList.remove("rte-cell-highlight")),r.classList.add("rte-cell-highlight"),g({visible:!0,x:e.clientX,y:e.clientY,cell:r}))},be=()=>{document.querySelectorAll(".rte-cell-highlight").forEach(e=>e.classList.remove("rte-cell-highlight"))},At=e=>{if(!O.cell)return;const n=O.cell.closest("table"),r=O.cell.cellIndex,l=O.cell.parentElement.rowIndex,c=a=>{const i=a.tagName.toLowerCase(),p=document.createElement(i);return p.textContent=a.textContent||"",p.style.cssText=a.style.cssText,Z(p),p};switch(e){case"insertRowAbove":{const a=n.rows[l],i=n.insertRow(l);Array.from(a.cells).forEach(p=>{i.appendChild(c(p))});break}case"insertRowBelow":{const a=n.rows[l],i=n.insertRow(l+1);Array.from(a.cells).forEach(p=>{i.appendChild(c(p))});break}case"insertColLeft":{Array.from(n.rows).forEach(a=>{const i=a.cells[r];a.insertBefore(c(i),i)});break}case"insertColRight":{Array.from(n.rows).forEach(a=>{const i=a.cells[r];a.insertBefore(c(i),i.nextSibling)});break}case"deleteRow":n.rows.length>1&&n.deleteRow(l);break;case"deleteCol":Array.from(n.rows).forEach(a=>{a.cells[r]&&a.deleteCell(r)});break}k(),g(oe(re({},O),{visible:!1})),be()},Nt=e=>{const n=e.querySelector("tbody");if(!n||n.querySelector("[data-hidden-table-start]"))return;const r=document.createElement("span");r.textContent="{{#arrayData}}",r.style.display="none",r.setAttribute("data-hidden-table-start","true"),n.insertBefore(r,n.firstChild);const l=document.createElement("span");l.textContent="{{/arrayData}}",l.style.display="none",l.setAttribute("data-hidden-table-end","true"),n.appendChild(l)},Ce=()=>{const e=D();if(!e)return H;const n=e.cloneNode(!0);return n.querySelectorAll("table div").forEach(r=>r.remove()),n.querySelectorAll(".rte-cell-highlight").forEach(r=>r.classList.remove("rte-cell-highlight")),n.innerHTML},Tt=()=>{pe(),Y.current=F.current,fe({url:"",text:"",title:"",target:"_self"}),_(!0)},Ot=e=>{const n=window.getSelection();if(!n||!Y.current)return;n.removeAllRanges(),n.addRange(Y.current);let r=e.url.trim();/^https?:\/\//i.test(r)||(r="https://"+r);const l=document.createElement("a");l.href=r,l.style.cursor="pointer",l.style.outline="none",l.textContent=e.text||r,l.title=e.title,l.target=e.target,l.contentEditable="true";const c=n.getRangeAt(0);c.deleteContents(),c.insertNode(l);const a=document.createTextNode(" ");l.after(a);const i=document.createRange();i.setStartAfter(a),i.collapse(!0),n.removeAllRanges(),n.addRange(i),_(!1),k()},Dt=e=>{const n=e.target;if(n.tagName==="A"){const r=n;if(e.ctrlKey||e.metaKey){window.open(r.href,"_blank","noopener,noreferrer");return}e.preventDefault();const l=document.createRange();l.selectNode(r),Y.current=l,fe({url:r.href,text:r.textContent||r.href,title:r.title,target:r.target}),_(!0)}},jt=()=>{const e=D();if(!e)return;const n=window.getSelection();if((!n||n.rangeCount===0)&&F.current){const h=window.getSelection();h==null||h.removeAllRanges(),h==null||h.addRange(F.current)}const r=window.getSelection();if(!r||r.rangeCount===0)return;const l=r.getRangeAt(0);$(),document.execCommand("removeFormat",!1);const c=l.cloneContents(),a=document.createElement("div");a.appendChild(c);const i=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,null),p=[];for(;i.nextNode();){const h=i.currentNode,b=h.tagName.toUpperCase(),N=h.getAttribute&&h.getAttribute("data-mention")!==null;b!=="A"&&!N&&p.push(h)}for(let h=p.length-1;h>=0;h--){const b=p[h],N=b.parentNode;if(N){for(;b.firstChild;)N.insertBefore(b.firstChild,b);N.removeChild(b)}}a.querySelectorAll("[style]").forEach(h=>h.removeAttribute("style")),l.deleteContents();const f=document.createDocumentFragment();for(;a.firstChild;)f.appendChild(a.firstChild);l.insertNode(f);const v=document.createRange();v.setStartAfter(l.endContainer.nodeType===Node.TEXT_NODE?l.endContainer:l.startContainer),v.collapse(!0),r.removeAllRanges(),r.addRange(v),e.normalize(),k()},Ht=e=>{var l;let n=e;n=n.replace(/{{#arrayData\d*}}/g,""),n=n.replace(/{{\/arrayData\d*}}/g,"");const r=document.createElement("div");return r.innerHTML=n,r.querySelectorAll("br").forEach(c=>{c.replaceWith(`
2
+ `)}),r.querySelectorAll("p, div, tr").forEach(c=>{c.insertAdjacentText("afterend",`
3
+ `)}),r.querySelectorAll("table").forEach(c=>{c.insertAdjacentText("afterend",`
4
+ `)}),((l=r.textContent)==null?void 0:l.replace(/\n{3,}/g,`
5
5
 
6
- `).trim())||""};return t.createElement("div",{className:`rte-wrapper ${(m==null?void 0:m.wrapper)||""}`,style:y.wrapper},t.createElement("div",{style:{flex:1}},t.createElement(se,{exec:Z,saveSelection:he,handleFileChange:xt,handleFontSizeChange:e=>Z("fontSize",e.target.value),handleFontFamilyChange:e=>Z("fontName",e.target.value),insertEmoji:Lt,handleLink:Nt,removeFormatting:Dt,visibleActions:ct,className:m.toolbar,style:y.toolbar}),t.createElement("div",{ref:A,className:`rte-editor ${(m==null?void 0:m.editor)||""}`,style:y.editor,contentEditable:!0,suppressContentEditableWarning:!0,onInput:Ee,onKeyDown:wt,onBeforeInput:bt,onContextMenu:zt,onClick:Ot}),t.createElement(ot,{show:B,position:q,filtered:G,insertMention:pt,onClose:()=>I(!1),query:ut}),s&&t.createElement("div",{className:`rte-output ${(m==null?void 0:m.output)||""}`,style:y.output},t.createElement("h4",null,"Output HTML:"),t.createElement("p",null,J)),t.createElement(lt,{visible:O.visible,x:O.x,y:O.y,onAction:kt,onClose:()=>{g(re(ne({},O),{visible:!1})),we()}}),t.createElement(at,{visible:w,linkData:st,onClose:()=>_(!1),onInsert:Tt})),d?t.createElement(ue,{className:m.preview,style:y.preview,html:be()}):null)};L.RichTextEditor=it,L.RtePreview=ue,L.RteToolbar=se,Object.defineProperty(L,Symbol.toStringTag,{value:"Module"})}));
6
+ `).trim())||""},te=()=>{const e=window.getSelection();if(!e||e.rangeCount===0)return!1;const n=e.getRangeAt(0),r=document.getElementById("rte-editor-body");return(r==null?void 0:r.contains(n.startContainer))||!1};return t.createElement("div",{className:`rte-wrapper ${(m==null?void 0:m.wrapper)||""}`,style:y.wrapper},t.createElement("div",{style:{flex:1}},t.createElement(ce,{exec:R,saveSelection:pe,handleFileChange:Lt,handleFontSizeChange:e=>R("fontSize",e.target.value),handleFontFamilyChange:e=>R("fontName",e.target.value),insertEmoji:St,handleLink:Tt,removeFormatting:jt,visibleActions:ut,className:m.toolbar,style:y.toolbar}),t.createElement("div",{ref:A,id:"rte-editor-body",className:`rte-editor ${(m==null?void 0:m.editor)||""}`,style:y.editor,contentEditable:!0,suppressContentEditableWarning:!0,onInput:ye,onKeyDown:bt,onBeforeInput:Ct,onContextMenu:kt,onClick:Dt}),t.createElement(lt,{show:B,position:I,filtered:G,insertMention:vt,onClose:()=>q(!1),query:dt}),s&&t.createElement("div",{className:`rte-output ${(m==null?void 0:m.output)||""}`,style:y.output},t.createElement("h4",null,"Output HTML:"),t.createElement("p",null,Q)),t.createElement(at,{visible:O.visible,x:O.x,y:O.y,onAction:At,onClose:()=>{g(oe(re({},O),{visible:!1})),be()}}),t.createElement(it,{visible:w,linkData:ct,onClose:()=>_(!1),onInsert:Ot})),d?t.createElement(de,{className:m.preview,style:y.preview,html:Ce()}):null)};L.RichTextEditor=st,L.RtePreview=de,L.RteToolbar=ce,Object.defineProperty(L,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ryzeup/richtexteditor",
3
- "version": "1.0.11",
3
+ "version": "1.0.12",
4
4
  "description": "A React Rich Text Editor component",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",