UNPKG

jodit-pro

Version:

PRO Version of Jodit Editor

8 lines 812 kB
/*! * jodit-pro - PRO Version of Jodit Editor * Author: Chupurnov Valerii <chupurnov@gmail.com> * Version: v4.9.27 * Url: https://xdsoft.net/jodit/pro/ * License(s): SEE LICENSE IN LICENSE.md */ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var i=t();for(var n in i)("object"==typeof exports?exports:e)[n]=i[n]}}(self,function(){return function(){"use strict";var e,t,i,n,o={117:function(e,t,i){i.d(t,{askInsertTypeDialog:function(){return c},getAllTypes:function(){return l},pasteInsertHtml:function(){return a}});var n=i(82758),o=i(2748),r=i(27613),s=i(10830);function a(e,t,i){var n;let s,a;if(t.isInDestruct)return;e&&"drop"===e.type&&t.s.insertCursorAtPoint(e.clientX,e.clientY);let l=t.e.fire("beforePasteInsert",i);!(0,r.isVoid)(l)&&((0,r.isString)(l)||(0,r.isNumber)(l)||o.Dom.isNode(l))&&(i=l),(0,r.isString)(i)&&(-1!==(s=(n=(n=i).replace(/<meta[^>]+?>/g,"")).search(/<!--StartFragment-->/i))&&(n=n.substring(s+20)),-1!==(a=n.search(/<!--EndFragment-->/i))&&(n=n.substring(0,a)),i=n),t.s.insertHTML(i)}function l(e){let t=e.types,i="";if((0,r.isArray)(t)||"[object DOMStringList]"===({}).toString.call(t))for(let e=0;e<t.length;e+=1)i+=t[e]+";";else i=(t||n.TEXT_PLAIN).toString()+";";return i}function c(e,t,i,n,o){if(!1===e.e.fire("beforeOpenPasteDialog",t,i,n,o))return;let r=e.confirm(`<div style="word-break: normal; white-space: normal">${e.i18n(t)}</div>`,e.i18n(i)),a=o.map(({text:t,value:i})=>(0,s.Button)(e,{text:t,name:t.toLowerCase(),tabIndex:0}).onAction(()=>{r.close(),n(i)}));r.e.one(r,"afterClose",()=>{e.s.isFocused()||e.s.focus()});let l=(0,s.Button)(e,{text:"Cancel",tabIndex:0}).onAction(()=>{r.close()});return r.setFooter([...a,l]),a[0].focus(),a[0].state.variant="primary",e.e.fire("afterOpenPasteDialog",r,t,i,n,o),r}},159:function(e,t,i){i.d(t,{FileBrowserItem:function(){return o}});var n=i(21537);class o{static create(e){return e instanceof o?e:new o(e)}get path(){return(0,n.normalizePath)(this.data.source.path?this.data.source.path+"/":"/")}get imageURL(){let e=this.time||new Date().getTime().toString(),{thumbIsAbsolute:t,source:i,thumb:o,file:r}=this.data,s=o||r;return t&&s?s:(0,n.normalizeUrl)(i.baseurl,i.path,s||"")+"?_tmst="+encodeURIComponent(e)}get fileURL(){let{name:e}=this.data,{file:t,fileIsAbsolute:i,source:o}=this.data;return void 0!==t&&(e=t),i&&e?e:(0,n.normalizeUrl)(o.baseurl,o.path,e||"")}get time(){let{changed:e}=this.data;return e&&("number"==typeof e?new Date(e).toLocaleString():e)||""}get uniqueHashKey(){let e=this.data;return[e.sourceName,e.name,e.file,this.time,e.thumb].join("_").toLowerCase().replace(/[^0-9a-z\-.]/g,"-")}toJSON(){return this.data}constructor(e){this.data=e,Object.keys(e).forEach(t=>{this[t]=e[t]})}}},302:function(e,t,i){i.d(t,{getKey:function(){return o}});var n=i(2748);let o=(e,t)=>`${n.Dom.isCell(t)?"padding":"margin"}${"rtl"===e?"Right":"Left"}`},384:function(e,t,i){i.d(t,{sanitizeAttributes:function(){return r}});var n=i(2748),o=i(21537);function r(e,t,i){return!!(n.Dom.isElement(t)&&(0,o.sanitizeHTMLElement)(t,{safeJavaScriptLink:e.options.cleanHTML.safeJavaScriptLink,removeOnError:e.options.cleanHTML.removeOnError}))||i}},445:function(e,t){t.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1792 1344v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1280q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1280q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1536q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1536q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1152q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1152q26 0 45 19t19 45z"/> </svg> '},575:function(e,t,i){var n=i(82758),o=i(65478),r=i(2748),s=i(580),a=i(87612),l=i(20356),c=i(35399);class u extends l.Plugin{afterInit(e){let t=e.o.enter.toLowerCase(),i=t===n.BR.toLowerCase();e.o.enterBlock||(e.o.enterBlock=i?n.PARAGRAPH:t),e.registerCommand("enter",(e,t,i={})=>this.onEnter(i))}onEnterKeyDown(e){if(e.key===n.KEY_ENTER){let t=this.j,i=t.e.fire("beforeEnter",e);return void 0!==i?i:(t.s.isCollapsed()||t.execCommand("Delete"),t.s.focus(),this.onEnter(e),t.e.fire("afterEnter",e),t.synchronizeValues(),!1)}}onEnter(e){let{jodit:t}=this,i=t.createInside.fake();try{r.Dom.safeInsertNode(t.s.range,i),(0,c.moveCursorOutFromSpecialTags)(t,i,["a"]);let n=(0,c.getBlockWrapper)(i,t),o=r.Dom.isLeaf(n);if((!o||(null==e?void 0:e.shiftKey))&&(0,c.checkBR)(i,t,null==e?void 0:e.shiftKey))return!1;if(n||(0,c.hasPreviousBlock)(i,t)||(n=(0,c.wrapText)(i,t)),!n)return(0,c.insertParagraph)(i,t,o?"li":t.o.enter),!1;if(!(0,c.checkUnsplittableBox)(i,t,n))return!1;if(o&&this.__isEmptyListLeaf(n))return(0,c.processEmptyLILeaf)(i,t,n),!1;(0,c.splitFragment)(i,t,n)}finally{i.isConnected&&t.s.setCursorBefore(i),r.Dom.safeRemove(i)}}__isEmptyListLeaf(e){let t=this.j.e.fire("enterIsEmptyListLeaf",e);return(0,a.isBoolean)(t)?t:r.Dom.isEmpty(e)}beforeDestruct(e){e.e.off("keydown.enter")}}!function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);r>3&&s&&Object.defineProperty(t,i,s)}([(0,o.watch)(":keydown.enter")],u.prototype,"onEnterKeyDown",null),s.pluginSystem.add("enter",u)},580:function(e,t,i){i.d(t,{eventEmitter:function(){return C},extendLang:function(){return y},getContainer:function(){return w},getPopupViewRoot:function(){return _},instances:function(){return p},modules:function(){return b},pluginSystem:function(){return v},uniqueUid:function(){return g}});var n=i(19306),o=i(70799),r=i(39955),s=i(12475),a=i(41180),l=i(80568),c=i(41876),u=i(57012),d=i(82758),h=i(22732);let p={},f=1,m=new Set;function g(){function e(){return Math.round(f+=10*(Math.random()+1)).toString(16)}let t=e();for(;m.has(t);)t=e();return m.add(t),t}let v=new c.PluginSystem({getContainer:w}),b={},y=e=>{Object.keys(e).forEach(t=>{d.lang[t]?Object.assign(d.lang[t],e[t]):d.lang[t]=e[t]})},S=new WeakMap;function w(e,t,i="div",a=!1){let c=(0,o.isString)(t)?t:t?(0,l.getClassName)(t.prototype):"jodit-utils",u=S.get(e)||{},d=c+i,p=(0,r.isViewObject)(e)?e:e.j,f=null;if(!u[d]){let t=p.c;if(f=_(p.o,p.container,e.od.body),a&&(0,n.isJoditObject)(e)&&e.od!==e.ed){t=e.createInside;let o="style"===i?e.ed.head:e.ed.body;f=(0,n.isJoditObject)(e)&&e.o.shadowRoot?e.o.shadowRoot:o}let o=t.element(i,{className:`jodit jodit-${(0,s.kebabCase)(c)}-container jodit-box`});o.classList.add("jodit_theme_"+(p.o.theme||"default")),f.appendChild(o),u[d]=o,e.hookStatus("beforeDestruct",()=>{p.events.off(o),h.Dom.safeRemove(o),delete u[d],Object.keys(u).length&&S.delete(e)}),S.set(e,u),p.events.fire("getContainer",o)}return u[d].classList.remove("jodit_theme_default","jodit_theme_dark"),u[d].classList.add("jodit_theme_"+(p.o.theme||"default")),u[d]}function _(e,t,i){var n,o,r;return null!=(r=null!=(o=null!=(n=e.popupRoot)?n:e.shadowRoot)?o:h.Dom.closest(t,e=>h.Dom.isHTMLElement(e)&&(h.Dom.isTag(e,"dialog")||["fixed","absolute"].includes((0,a.css)(e,"position"))),i))?r:i}let C=u.eventEmitter},638:function(e,t,i){i.d(t,{Alert:function(){return n.Alert},Confirm:function(){return o.Confirm},Dialog:function(){return r.Dialog},Prompt:function(){return s.Prompt}});var n=i(71568),o=i(26866),r=i(78584),s=i(36806)},757:function(e,t,i){var n=i(6441);n.Config.prototype.mediaFakeTag="jodit-media",n.Config.prototype.mediaInFakeBlock=!0,n.Config.prototype.mediaBlocks=["video","audio"]},767:function(e,t,i){var n=i(82758),o=i(65478),r=i(580),s=i(50911);i(66288);var a=i(47686),l=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s};class c extends s.Plugin{afterInit(e){}__onTab(e){if(e.key===n.KEY_TAB&&this.__onShift(e.shiftKey))return!1}__onCommand(e){if(("indent"===e||"outdent"===e)&&this.__onShift("outdent"===e))return!1}__onShift(e){let t=(0,a.onTabInsideLi)(this.j,e);return t&&this.j.e.fire("afterTab",e),t}beforeDestruct(e){}}l([(0,o.watch)(":keydown.tab")],c.prototype,"__onTab",null),l([(0,o.watch)(":beforeCommand.tab")],c.prototype,"__onCommand",null),r.pluginSystem.add("tab",c)},820:function(e,t){t.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M747 1521q74 32 140 32 376 0 376-335 0-114-41-180-27-44-61.5-74t-67.5-46.5-80.5-25-84-10.5-94.5-2q-73 0-101 10 0 53-.5 159t-.5 158q0 8-1 67.5t-.5 96.5 4.5 83.5 12 66.5zm-14-746q42 7 109 7 82 0 143-13t110-44.5 74.5-89.5 25.5-142q0-70-29-122.5t-79-82-108-43.5-124-14q-50 0-130 13 0 50 4 151t4 152q0 27-.5 80t-.5 79q0 46 1 69zm-541 889l2-94q15-4 85-16t106-27q7-12 12.5-27t8.5-33.5 5.5-32.5 3-37.5.5-34v-65.5q0-982-22-1025-4-8-22-14.5t-44.5-11-49.5-7-48.5-4.5-30.5-3l-4-83q98-2 340-11.5t373-9.5q23 0 68.5.5t67.5.5q70 0 136.5 13t128.5 42 108 71 74 104.5 28 137.5q0 52-16.5 95.5t-39 72-64.5 57.5-73 45-84 40q154 35 256.5 134t102.5 248q0 100-35 179.5t-93.5 130.5-138 85.5-163.5 48.5-176 14q-44 0-132-3t-132-3q-106 0-307 11t-231 12z"/> </svg> '},1115:function(e,t,i){i.r(t),t.default={"Speech Recognize":"Puheentunnistus",newline:"uusi rivi",delete:"poistaa",space:"tilaa",Sound:"Ääni","Interim Results":"Välitulokset"}},1172:function(e,t){t.default={"copy-format":"复制格式"}},1255:function(e,t,i){var n,o,r=i(65478),s=i(22732),a=i(580),l=i(21537),c=i(50911);i(44586);var u=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s};(n=o||(o={}))[n.IDLE=0]="IDLE",n[n.WAIT_DRAGGING=1]="WAIT_DRAGGING",n[n.DRAGGING=2]="DRAGGING";class d extends c.Plugin{afterInit(){this.dragList=this.j.o.draggableTags?(0,l.splitArray)(this.j.o.draggableTags).filter(Boolean).map(e=>e.toLowerCase()):[],this.dragList.length&&this.j.e.on("mousedown dragstart",this.onDragStart)}onDragStart(e){if("dragstart"===e.type&&this.draggable)return!1;if(this.state>o.IDLE)return;let t=e.target;if(!this.dragList.length||!t)return;let i=e=>!!(e&&this.dragList.includes(e.nodeName.toLowerCase())),n=s.Dom.furthest(t,i,this.j.editor)||(i(t)?t:null);n&&(s.Dom.isTag(n.parentElement,"a")&&n.parentElement.firstChild===n&&n.parentElement.lastChild===n&&(n=n.parentElement),this.startX=e.clientX,this.startY=e.clientY,this.isCopyMode=(0,l.ctrlKey)(e),this.draggable=n.cloneNode(!0),(0,l.dataBind)(this.draggable,"target",n),this.state=o.WAIT_DRAGGING,this.addDragListeners())}onDrag(e){var t,i;if(!this.draggable||this.state===o.IDLE)return;let n=e.clientX,r=e.clientY;if(!(this.state===o.WAIT_DRAGGING&&Math.sqrt(Math.pow(n-this.startX,2)+Math.pow(r-this.startY,2))<this.diffStep)){if(this.state===o.WAIT_DRAGGING&&(this.j.lock("drag-and-drop-element"),this.state=o.DRAGGING),this.j.e.fire("hidePopup hideResizer"),!this.draggable.parentNode){let n=(0,l.dataBind)(this.draggable,"target");(0,l.css)(this.draggable,{zIndex:1e13,pointerEvents:"none",pointer:"drag",position:"fixed",opacity:.7,display:"inline-block",left:e.clientX,top:e.clientY,width:null!=(t=null==n?void 0:n.offsetWidth)?t:100,height:null!=(i=null==n?void 0:n.offsetHeight)?i:100}),(0,a.getContainer)(this.j,d).appendChild(this.draggable)}(0,l.css)(this.draggable,{left:e.clientX,top:e.clientY}),this.j.s.insertCursorAtPoint(e.clientX,e.clientY)}}onDragEnd(){!this.isInDestruct&&(this.removeDragListeners(),this.j.unlock(),this.state=o.IDLE,this.draggable&&(s.Dom.safeRemove(this.draggable),this.draggable=null))}onDrop(){if(!this.draggable||this.state<o.DRAGGING)return void this.onDragEnd();let e=(0,l.dataBind)(this.draggable,"target");this.onDragEnd(),this.isCopyMode&&(e=e.cloneNode(!0));let{parentElement:t}=e;this.j.s.insertNode(e,!0,!1),t&&s.Dom.isEmpty(t)&&!s.Dom.isCell(t)&&s.Dom.safeRemove(t),s.Dom.isTag(e,"img")&&this.j.e&&this.j.e.fire("afterInsertImage",e),this.j.e.fire("synchro")}addDragListeners(){this.j.e.on(this.j.editor,"mousemove",this.onDrag).on("mouseup",this.onDrop).on([this.j.ew,this.ow],"mouseup",this.onDragEnd)}removeDragListeners(){this.j.e.off(this.j.editor,"mousemove",this.onDrag).off("mouseup",this.onDrop).off([this.j.ew,this.ow],"mouseup",this.onDragEnd)}beforeDestruct(){this.onDragEnd(),this.j.e.off("mousedown dragstart",this.onDragStart),this.removeDragListeners()}constructor(){super(...arguments),this.dragList=[],this.draggable=null,this.isCopyMode=!1,this.diffStep=10,this.startX=0,this.startY=0,this.state=o.IDLE}}u([r.autobind],d.prototype,"onDragStart",null),u([(0,r.throttle)(e=>e.defaultTimeout/10)],d.prototype,"onDrag",null),u([r.autobind],d.prototype,"onDragEnd",null),u([r.autobind],d.prototype,"onDrop",null),a.pluginSystem.add("dragAndDropElement",d)},1322:function(e,t,i){i.r(t),t.default={Spellcheck:"Stavekontroll"}},1580:function(e,t,i){i.d(t,{processImage:function(){return o}});var n=i(21537);let o=(e,t)=>{if(t.rtf&&"#comment"===e.name&&e.attributes.nodeValue&&-1!==e.attributes.nodeValue.indexOf("<v:shape")){t.shapes||(t.shapes={});let i=t.jodit.create.fromHTML(e.attributes.nodeValue);return(0,n.toArray)(i.getElementsByTagName("v:shape")).forEach(e=>{t.shapes[e.id]=e.getAttribute("o:spid")}),e}if("img"!==e.name)return e;if(t.rtf&&e.attributes["v:shapes"]){let i=t.shapes?.[e.attributes["v:shapes"]];if(i){let n=t.imageMap??{};t.imageMap||(t.imageMap=n,r(t.rtf,"i","\\shppict",t.imageMap),r(t.rtf,"s","\\shp{",t.imageMap));let o=n[i.substring(7)];if(o){let t=[],i=o.hex.match(/[0-9a-f]{2}/gi);if(i){for(let e=0;e<i.length;e++){let n=parseInt(i[e],16);t.push(String.fromCharCode(n))}e.attributes.src="data:"+o.type+";base64,"+btoa(t.join(""))}}}}return e};function r(e,t,i,n){for(let o of e.split(i)){let e=o.split("shplid");if(1<e.length){let i,o=e[1],r="";for(let e=0;e<o.length&&!/[{ \r\n\\]/.test(o[e]);e++)r+=o[e];let s=o.split("bliptag");if(s&&s.length<2)continue;let a=null;if(s[0].indexOf("pngblip")?a="image/png":-1!==s[0].indexOf("jpegblip")&&(a="image/jpeg"),!a)continue;let l=s[1].split("}");if(l&&l.length<2)continue;if(2<l.length&&l[0].includes("blipuid"))i=l[1].split(" ");else{if((i=l[0].split(" "))&&i.length<2)continue;i.shift()}n[t+r]={hex:i.join(""),type:a}}}}},1808:function(e,t,i){i.d(t,{UIMessages:function(){return a}});var n=i(87325),o=i(41180),r=i(62405),s=i(68389);let a=class e extends r.UIGroup{className(){return"UIMessages"}info(e,t){this.__message(e,"info",t)}success(e,t){this.__message(e,"success",t)}error(e,t){this.__message(e,"error",t)}message(e,t,i){this.__message(e,t,i)}__message(e,t="info",i){let n=e+":"+t;if(this.__messages.has(n))return void this.async.updateTimeout(n,i||this.options.defaultTimeout);if(!this.__box)throw Error("Container is not defined: "+n);this.__box.appendChild(this.container);let o=new s.UIMessage(this.j,{text:e,variant:t});this.append(o),this.__calcOffsets(),this.__messages.add(n);let r=this.__getRemoveCallback(o,n);this.j.e.on(o.container,"pointerdown",r),this.async.setTimeout(r,{label:n,timeout:i||this.options.defaultTimeout})}__getRemoveCallback(e,t){let i=n=>{n&&n.preventDefault(),e.isInDestruct||(this.async.clearTimeout(t),this.j.e.off(e.container,"pointerdown",i),this.__messages.delete(t),e.setMod("active",!1),this.async.setTimeout(()=>{this.remove(e),e.destruct(),this.__calcOffsets()},300))};return i}__calcOffsets(){let e=5;this.elements.forEach(t=>{(0,o.css)(t.container,"bottom",e+"px"),e+=t.container.offsetHeight+this.options.defaultOffset})}constructor(e,t,i={defaultTimeout:3e3,defaultOffset:5}){super(e),this.__box=t,this.options=i,this.__messages=new Set}};a=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s}([n.component],a)},1830:function(e,t){t.default={"Type something":"Start writing...",pencil:"Edit",Quadrate:"Square"}},1879:function(e,t,i){i.r(t),t.default={Spellcheck:"Spellingcontrole"}},2169:function(e,t,i){var n=i(580),o=i(19306),r=i(41180);i(99823);let s=new Set;n.pluginSystem.add("fullsize",function(e){e.registerButton({name:"fullsize"});let t=!1,i=0,n=0,a=!1,l=()=>{let{container:o,events:s}=e;s&&(t?(i=(0,r.css)(o,"height",!0),n=(0,r.css)(o,"width",!0),(0,r.css)(o,{height:e.ow.innerHeight,width:e.ow.innerWidth}),a=!0):a&&(0,r.css)(o,{height:i||"auto",width:n||"auto"}))},c=i=>{var n;let{container:a,events:c}=e;if(a){if(void 0===i&&(i=!a.classList.contains("jodit_fullsize")),e.setMod("fullsize",i),e.o.fullsize=i,t=i,a.classList.toggle("jodit_fullsize",i),e.toolbar&&((0,o.isJoditObject)(e)&&(null==(n=e.toolbarContainer)||n.appendChild(e.toolbar.container)),(0,r.css)(e.toolbar.container,"width","auto")),i?s.add(a):s.delete(a),e.o.globalFullSize&&(1===s.size&&i||0===s.size&&!i)){let e=a.parentNode;for(;e&&e.nodeType!==Node.DOCUMENT_NODE&&e.nodeType!==Node.DOCUMENT_FRAGMENT_NODE;)e.classList.toggle("jodit_fullsize-box_true",i),e=e.parentNode;l()}c.fire("afterResize")}};e.o.globalFullSize&&e.e.on(e.ow,"resize",l),e.e.on("afterInit afterOpen",()=>{var t;e.toggleFullSize(null==(t=null==e?void 0:e.options)?void 0:t.fullsize)}).on("toggleFullSize",c).on("beforeDestruct",()=>{t&&c(!1)}).on("beforeDestruct",()=>{e.events&&e.e.off(e.ow,"resize",l)})})},2303:function(e,t,i){i.d(t,{Jodit:function(){return Jodit}});var n,o=i(82758),r=i(65478),s=i(580),a=i(21537),l=i(41601),c=i(70231),u=i(6441),d=i(41409),h=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s};let p="data-jodit-default-style-display",f="data-jodit-default-classes",m={contenteditable:!1},Jodit=n=class e extends d.ViewWithToolbar{className(){return"Jodit"}waitForReady(){return this.isReady?Promise.resolve(this):this.async.promise(e=>{this.hookStatus("ready",()=>e(this))})}static get ready(){return new Promise(e=>{s.eventEmitter.on("joditready",e)})}get text(){if(this.editor)return this.editor.innerText||"";let e=this.createInside.div();return e.innerHTML=this.getElementValue(),e.innerText||""}get defaultTimeout(){return(0,a.isNumber)(this.o.defaultTimeout)?this.o.defaultTimeout:u.Config.defaultOptions.defaultTimeout}static atom(e){return(0,a.markAsAtomic)(e)}static make(e,t){return new this(e,t)}static isJoditAssigned(e){return e&&(0,a.isJoditObject)(e.component)&&!e.component.isInDestruct}static get defaultOptions(){return u.Config.defaultOptions}get createInside(){return new d.Create(()=>this.ed,this.o.createAttributes)}__setPlaceField(e,t){this.currentPlace||(this.currentPlace={},this.places=[this.currentPlace]),this.currentPlace[e]=t}get element(){return this.currentPlace.element}get editor(){return this.currentPlace.editor}set editor(e){this.__setPlaceField("editor",e)}get container(){return this.currentPlace.container}set container(e){this.__setPlaceField("container",e)}get workplace(){return this.currentPlace.workplace}get message(){return this.getMessageModule(this.workplace)}get statusbar(){return this.currentPlace.statusbar}get iframe(){return this.currentPlace.iframe}set iframe(e){this.__setPlaceField("iframe",e)}get history(){return this.currentPlace.history}get editorWindow(){return this.currentPlace.editorWindow}set editorWindow(e){this.__setPlaceField("editorWindow",e)}get ew(){return this.editorWindow}get editorDocument(){return this.currentPlace.editorWindow.document}get ed(){return this.editorDocument}get options(){return this.currentPlace.options}set options(e){this.__options=e,this.__setPlaceField("options",e)}get s(){return this.selection}get uploader(){return this.getInstance("Uploader",this.o.uploader)}get filebrowser(){let e=this,t=(0,a.ConfigProto)({defaultTimeout:e.defaultTimeout,uploader:e.o.uploader,language:e.o.language,license:e.o.license,theme:e.o.theme,shadowRoot:e.o.shadowRoot,defaultCallback(t){t.files&&t.files.length&&t.files.forEach((i,n)=>{let o=t.baseurl+i;t.isImages&&t.isImages[n]?e.s.insertImage(o,null,e.o.imageDefaultWidth):e.s.insertNode(e.createInside.fromHTML(`<a href='${o}' title='${o}'>${o}</a>`))})}},this.o.filebrowser);return e.getInstance("FileBrowser",t)}get mode(){return this.__mode}set mode(e){this.setMode(e)}getNativeEditorValue(){let e=this.e.fire("beforeGetNativeEditorValue");return(0,a.isString)(e)?e:this.editor?this.editor.innerHTML:this.getElementValue()}setNativeEditorValue(e){let t={value:e};!this.e.fire("beforeSetNativeEditorValue",t)&&this.editor&&(this.editor.innerHTML=t.value)}get value(){return this.getEditorValue()}set value(e){this.setEditorValue(e),this.history.__processChanges()}synchronizeValues(){this.__imdSynchronizeValues()}__imdSynchronizeValues(){this.setEditorValue()}getEditorValue(e=!0,t){let i;if(void 0!==(i=this.e.fire("beforeGetValueFromEditor",t)))return i;i=this.getNativeEditorValue().replace(o.INVISIBLE_SPACE_REG_EXP(),""),e&&(i=i.replace(/<span[^>]+id="jodit-selection_marker_[^>]+><\/span>/g,"")),"<br>"===i&&(i="");let n={value:i};return this.e.fire("afterGetValueFromEditor",n,t),n.value}setEditorValue(e){let t=this.e.fire("beforeSetValueToEditor",e);if(!1===t)return;if((0,a.isString)(t)&&(e=t),!this.editor){void 0!==e&&this.__setElementValue(e);return}if(!(0,a.isString)(e)&&!(0,a.isVoid)(e))throw(0,a.error)("value must be string");(0,a.isVoid)(e)||this.getNativeEditorValue()===e||this.setNativeEditorValue(e),this.e.fire("postProcessSetEditorValue");let i=this.getElementValue(),n=this.getEditorValue();if(!this.__isSilentChange&&i!==n&&this.__callChangeCount<o.SAFE_COUNT_CHANGE_CALL){this.__setElementValue(n),this.__callChangeCount+=1,o.IS_PROD||this.__callChangeCount;try{this.history.__upTick(),this.e.fire("change",n,i),this.e.fire(this.history,"change",n,i)}finally{this.__callChangeCount=0}}}updateElementValue(){this.__setElementValue(this.getEditorValue())}getElementValue(){return void 0!==this.element.value?this.element.value:this.element.innerHTML}__setElementValue(e){if(!(0,a.isString)(e))throw(0,a.error)("value must be string");if(this.element!==this.container&&e!==this.getElementValue()){let t={value:e},i=this.e.fire("beforeSetElementValue",t);(0,a.callPromise)(i,()=>{void 0!==this.element.value?this.element.value=t.value:this.element.innerHTML=t.value,this.e.fire("afterSetElementValue",t)})}}registerCommand(e,t,i){let n=e.toLowerCase(),o=this.commands.get(n);if(void 0===o&&(o=[],this.commands.set(n,o)),o.push(t),!(0,a.isFunction)(t)){let o=this.o.commandToHotkeys[n]||this.o.commandToHotkeys[e]||t.hotkeys;o&&this.registerHotkeyToCommand(o,n,null==i?void 0:i.stopPropagation)}return this}registerHotkeyToCommand(e,t,i=!0){let n=(0,a.asArray)(e).map(a.normalizeKeyAliases).map(e=>e+".hotkey").join(" ");this.e.off(n).on(n,(e,n)=>(n&&(n.shouldStop=null==i||i),this.execCommand(t)))}execCommand(e,t,i,...n){let r;if(this.s.isFocused()||this.s.focus(),!this.o.readonly||this.o.allowCommandsInReadOnly.includes(e)){if(e=e.toLowerCase(),!1!==(r=this.e.fire("beforeCommand"+(0,a.ucfirst)(e),t,i,...n))&&(r=this.e.fire("beforeCommand",e,t,i,...n)),!1!==r&&(r=this.__execCustomCommands(e,t,i,...n)),!1!==r){this.s.focus();try{r=this.nativeExecCommand(e,t,i)}catch(e){if(!o.IS_PROD)throw e}}return this.e.fire("afterCommand",e,t,i),this.__imdSynchronizeValues(),r}}nativeExecCommand(e,t,i){this.__isSilentChange=!0;try{return this.ed.execCommand(e,t,i)}finally{this.__isSilentChange=!1}}__execCustomCommands(e,t,i,...n){e=e.toLowerCase();let o=this.commands.get(e);if(void 0!==o){let r;return o.forEach(o=>{let s=((0,a.isFunction)(o)?o:o.exec).call(this,e,t,i,...n);void 0!==s&&(r=s)}),r}}lock(e="any"){return!!super.lock(e)&&(this.__selectionLocked=this.s.save(),this.s.clear(),this.container.classList.add("jodit_lock"),this.e.fire("lock",!0),!0)}unlock(){return!!super.unlock()&&(this.container.classList.remove("jodit_lock"),this.__selectionLocked&&this.s.restore(),this.e.fire("lock",!1),!0)}getMode(){return this.mode}isEditorMode(){return this.getRealMode()===o.MODE_WYSIWYG}getRealMode(){if(this.getMode()!==o.MODE_SPLIT)return this.getMode();let e=this.od.activeElement;return e&&(e===this.iframe||d.Dom.isOrContains(this.editor,e)||d.Dom.isOrContains(this.toolbar.container,e))?o.MODE_WYSIWYG:o.MODE_SOURCE}setMode(e){let t=this.getMode(),i={mode:parseInt(e.toString(),10)},n=["jodit-wysiwyg_mode","jodit-source__mode","jodit_split_mode"];!1!==this.e.fire("beforeSetMode",i)&&(this.__mode=[o.MODE_SOURCE,o.MODE_WYSIWYG,o.MODE_SPLIT].includes(i.mode)?i.mode:o.MODE_WYSIWYG,this.o.saveModeInStorage&&this.storage.set("jodit_default_mode",this.mode),n.forEach(e=>{this.container.classList.remove(e)}),this.container.classList.add(n[this.mode-1]),t!==this.getMode()&&this.e.fire("afterSetMode"))}toggleMode(){let e=this.getMode();[o.MODE_SOURCE,o.MODE_WYSIWYG,this.o.useSplitMode?o.MODE_SPLIT:9].includes(e+1)?e+=1:e=o.MODE_WYSIWYG,this.setMode(e)}setDisabled(e){this.o.disabled=e;let t=this.__wasReadOnly;this.setReadOnly(e||t),this.__wasReadOnly=t,this.editor&&(this.editor.setAttribute("aria-disabled",e.toString()),this.container.classList.toggle("jodit_disabled",e),this.e.fire("disabled",e))}getDisabled(){return this.o.disabled}setReadOnly(e){this.__wasReadOnly!==e&&(this.__wasReadOnly=e,this.o.readonly=e,e?this.editor&&this.editor.removeAttribute("contenteditable"):this.editor&&this.editor.setAttribute("contenteditable","true"),this.e&&this.e.fire("readonly",e))}getReadOnly(){return this.o.readonly}focus(){this.getMode()!==o.MODE_SOURCE&&this.s.focus()}get isFocused(){return this.s.isFocused()}beforeInitHook(){}afterInitHook(){}initOptions(e){this.options=(0,a.ConfigProto)(e||{},u.Config.defaultOptions)}initOwners(){this.editorWindow=this.o.ownerWindow,this.ownerWindow=this.o.ownerWindow}addPlace(e,t){let i=(0,a.resolveElement)(e,this.o.shadowRoot||this.od);this.attachEvents(t),i.attributes&&(0,a.toArray)(i.attributes).forEach(e=>{let i=e.name,n=e.value;void 0===u.Config.defaultOptions[i]||t&&void 0!==t[i]||(-1!==["readonly","disabled"].indexOf(i)&&(n=""===n||"true"===n),/^[0-9]+(\.)?([0-9]+)?$/.test(n.toString())&&(n=Number(n)),this.options[i]=n)});let n=this.c.div("jodit-container");n.classList.add("jodit"),n.classList.add("jodit-container"),n.classList.add("jodit_theme_"+(this.o.theme||"default")),g(this.o.className,n),this.o.containerStyle&&(0,a.css)(n,this.o.containerStyle);let{styleValues:o}=this.o;Object.keys(o).forEach(e=>{let t=(0,a.kebabCase)(e);n.style.setProperty("--jd-"+t,o[e])}),n.setAttribute("contenteditable","false");let r=null;this.o.inline&&(-1===["TEXTAREA","INPUT"].indexOf(i.nodeName)&&(n=i,i.setAttribute(f,i.className.toString()),r=n.innerHTML,n.innerHTML=""),n.classList.add("jodit_inline"),n.classList.add("jodit-container")),i!==n&&(i.style.display&&i.setAttribute(p,i.style.display),i.style.display="none");let s="workplace-slot",l=this.c.div(this.getFullElName(s,"top"),m);n.appendChild(l);let c=this.c.div(this.getFullElName(s,"center"),m),h=this.c.div("jodit-workplace",m),v=this.c.div(this.getFullElName(s,"left"),m),b=this.c.div(this.getFullElName(s,"right"),m);c.appendChild(v),c.appendChild(h),c.appendChild(b),n.appendChild(c);let y=this.c.div(this.getFullElName(s,"bottom"),m);n.appendChild(y),i.parentNode&&i!==n&&i.parentNode.insertBefore(n,i),Object.defineProperty(i,"component",{enumerable:!1,configurable:!0,value:this});let S=this.c.div("jodit-wysiwyg",{contenteditable:!0,"aria-disabled":!1,tabindex:this.o.tabIndex});h.appendChild(S);let w={editor:S,element:i,container:n,workplace:h,slots:{top:l,bottom:y,center:c,left:v,right:b},statusbar:new d.StatusBar(this,n),options:this.isReady?(0,a.ConfigProto)(t||{},u.Config.defaultOptions):this.options,history:new d.History(this),editorWindow:this.ow};this.__elementToPlace.set(S,w),this.setCurrentPlace(w),this.places.push(w),this.setNativeEditorValue(this.getElementValue());let _=this.__initEditor(r),C=this.options,k=()=>{C.enableDragAndDropFileToEditor&&C.uploader&&(C.uploader.url||C.uploader.insertImageAsBase64URI)&&this.uploader.bind(this.editor),this.__elementToPlace.get(this.editor)||this.__elementToPlace.set(this.editor,w),this.e.fire("afterAddPlace",w)};return(0,a.callPromise)(_,k)}addDisclaimer(e){this.workplace.appendChild(e)}setCurrentPlace(e){this.currentPlace!==e&&(this.isEditorMode()||this.setMode(o.MODE_WYSIWYG),this.currentPlace=e,this.buildToolbar(),this.isReady&&this.e.fire("changePlace",e))}__initEditor(e){let t=this.__createEditor();return(0,a.callPromise)(t,()=>{if(this.isInDestruct)return;if(this.element!==this.container){let e=this.getElementValue();e!==this.getEditorValue()&&this.setEditorValue(e)}else null!=e&&this.setEditorValue(e);let t=this.o.defaultMode;if(this.o.saveModeInStorage){let e=this.storage.get("jodit_default_mode");"string"==typeof e&&(t=parseInt(e,10))}this.setMode(t),this.o.readonly&&(this.__wasReadOnly=!1,this.setReadOnly(!0)),this.o.disabled&&this.setDisabled(!0);try{this.ed.execCommand("defaultParagraphSeparator",!1,this.o.enter.toLowerCase())}catch(e){}})}__createEditor(){let e=this.editor,t=this.e.fire("createEditor",this);return(0,a.callPromise)(t,()=>{!this.isInDestruct&&((!1===t||(0,a.isPromise)(t))&&d.Dom.safeRemove(e),g(this.o.editorClassName,this.editor),this.o.style&&(0,a.css)(this.editor,this.o.style),this.e.on("synchro",()=>{this.setEditorValue()}).on("focus",()=>{this.editorIsActive=!0}).on("blur",()=>this.editorIsActive=!1),this.__prepareWYSIWYGEditor(),this.o.triggerChangeEvent&&this.e.on("change",this.async.debounce(()=>{this.e&&this.e.fire(this.element,"change")},this.defaultTimeout)))})}__prepareWYSIWYGEditor(){let{editor:e}=this;if(this.o.direction){let e="rtl"===this.o.direction.toLowerCase()?"rtl":"ltr";this.editor.style.direction=e,this.editor.setAttribute("dir",e),this.container.style.direction=e,this.container.setAttribute("dir",e),this.toolbar.setDirection(e)}this.e.on(e,"mousedown touchstart focus",()=>{let t=this.__elementToPlace.get(e);t&&this.setCurrentPlace(t)}).on(e,"compositionend",this.synchronizeValues).on(e,"selectionchange selectionstart keydown keyup input keypress dblclick mousedown mouseup click copy cut dragstart drop dragover paste resize touchstart touchend focus blur",e=>{if(!this.o.readonly&&!this.__isSilentChange&&(!(e instanceof this.ew.KeyboardEvent)||!e.isComposing)&&this.e&&this.e.fire){if(!1===this.e.fire(e.type,e))return!1;this.synchronizeValues()}})}fetch(e,t){let i=new l.Ajax({url:e,...t},this.o.defaultAjaxOptions),n=()=>{this.e.off("beforeDestruct",n),this.progressbar.progress(100).hide(),i.destruct()};this.e.one("beforeDestruct",n),this.progressbar.show().progress(30);let o=i.send();return o.finally(n).catch(()=>null),o}destruct(){var e,t;if(this.isInDestruct)return;this.setStatus(d.STATUSES.beforeDestruct),this.__elementToPlace.clear(),null==(e=(0,r.cached)(this,"storage"))||e.clear(),null==(t=(0,r.cached)(this,"buffer"))||t.clear(),this.commands.clear(),this.__selectionLocked=null,this.e.off(this.ow,"resize"),this.e.off(this.ow),this.e.off(this.od),this.e.off(this.od.body);let i=this.editor?this.getEditorValue():"";this.places.forEach(({container:e,workplace:t,statusbar:n,element:o,iframe:r,editor:s,history:l})=>{if(o){if(o!==e)if(o.hasAttribute(p)){let e=(0,a.attr)(o,p);e&&(o.style.display=e,o.removeAttribute(p))}else o.style.display="";else o.hasAttribute(f)&&(o.className=(0,a.attr)(o,f)||"",o.removeAttribute(f));o.hasAttribute("style")&&!(0,a.attr)(o,"style")&&o.removeAttribute("style"),n.destruct(),this.e.off(e),this.e.off(o),this.e.off(s),d.Dom.safeRemove(t),d.Dom.safeRemove(s),e!==o&&d.Dom.safeRemove(e),Object.defineProperty(o,"component",{enumerable:!1,configurable:!0,value:null}),d.Dom.safeRemove(r),e===o&&(o.innerHTML=i),l.destruct()}}),this.places.length=0,this.currentPlace={},delete s.instances[this.id],super.destruct()}constructor(e,t){super(t,!0),this.isJodit=!0,this.commands=new Map,this.__selectionLocked=null,this.__wasReadOnly=!1,this.editorIsActive=!1,this.__mode=o.MODE_WYSIWYG,this.__callChangeCount=0,this.__isSilentChange=!1,this.currentPlace={options:this.__options,container:this.__container},this.places=[],this.__elementToPlace=new Map;try{const t=(0,a.resolveElement)(e,this.options.shadowRoot||this.od);if(n.isJoditAssigned(t))return t.component}catch(e){if(!o.IS_PROD)throw e;throw this.destruct(),e}this.setStatus(d.STATUSES.beforeInit),this.id=(0,a.attr)((0,a.resolveElement)(e,this.o.shadowRoot||this.od),"id")||new Date().getTime().toString(),s.instances[this.id]=this,this.attachEvents(t),this.e.on(this.ow,"resize",()=>{this.e&&this.e.fire("resize")}),this.e.on("prepareWYSIWYGEditor",this.__prepareWYSIWYGEditor),this.selection=new d.Selection(this);const i=this.beforeInitHook();(0,a.callPromise)(i,()=>{if(this.isInDestruct)return;this.e.fire("beforeInit",this),s.pluginSystem.__init(this),this.e.fire("afterPluginSystemInit",this),this.e.on("changePlace",()=>{this.setReadOnly(this.o.readonly),this.setDisabled(this.o.disabled)}),this.places.length=0;let i=this.addPlace(e,t);s.instances[this.id]=this;let n=()=>{this.isInDestruct||(this.e&&this.e.fire("afterInit",this),(0,a.callPromise)(this.afterInitHook()),this.setStatus(d.STATUSES.ready),this.e.fire("afterConstructor",this))};(0,a.callPromise)(i,n)})}};function g(e,t){e&&e.split(/\s+/).forEach(e=>t.classList.add(e))}Jodit.fatMode=o.FAT_MODE,Jodit.plugins=s.pluginSystem,Jodit.modules=s.modules,Jodit.ns=s.modules,Jodit.decorators={},Jodit.constants=o,Jodit.instances=s.instances,Jodit.lang=o.lang,Jodit.core={Plugin:d.Plugin},h([r.cache],Jodit.prototype,"createInside",null),h([r.cache],Jodit.prototype,"message",null),h([r.cache],Jodit.prototype,"s",null),h([r.cache],Jodit.prototype,"uploader",null),h([r.cache],Jodit.prototype,"filebrowser",null),h([(0,r.throttle)()],Jodit.prototype,"synchronizeValues",null),h([(0,r.watch)(":internalChange")],Jodit.prototype,"updateElementValue",null),h([r.autobind],Jodit.prototype,"__prepareWYSIWYGEditor",null),Jodit=n=h([(0,r.derive)(c.Dlgs)],Jodit)},2525:function(e,t,i){i.d(t,{UIBlock:function(){return n.UIBlock},UICheckbox:function(){return r.UICheckbox},UIFileInput:function(){return r.UIFileInput},UIForm:function(){return o.UIForm},UIInput:function(){return r.UIInput},UISelect:function(){return r.UISelect},UITextArea:function(){return r.UITextArea}});var n=i(19070),o=i(86327),r=i(8959)},2536:function(e,t){t.default={"copy-format":"Copiar formato"}},2621:function(e,t,i){i.d(t,{IndexedDBProvider:function(){return o},canUseIndexedDB:function(){return a},clearUseIndexedDBCache:function(){return s}});var n=i(82758);class o{getDB(){return this.dbPromise||(this.dbPromise=new Promise((e,t)=>{let i=indexedDB.open(this.dbName,this.DB_VERSION);i.onerror=()=>{t(i.error)},i.onsuccess=()=>{e(i.result)},i.onupgradeneeded=e=>{let t=e.target.result;t.objectStoreNames.contains(this.storeName)||t.createObjectStore(this.storeName)}})),this.dbPromise}async performTransaction(e,t){try{let i=(await this.getDB()).transaction([this.storeName],e).objectStore(this.storeName),n=t(i);return new Promise((e,t)=>{n.onsuccess=()=>{e(n.result)},n.onerror=()=>{t(n.error)}})}catch(e){return Promise.reject(e)}}async set(e,t){try{await this.performTransaction("readwrite",i=>i.put(t,e))}catch(e){n.IS_PROD}return this}async delete(e){try{await this.performTransaction("readwrite",t=>t.delete(e))}catch(e){}return this}async get(e){try{return await this.performTransaction("readonly",t=>t.get(e))}catch(e){return}}async exists(e){try{let t=await this.performTransaction("readonly",t=>t.get(e));return void 0!==t}catch(e){return!1}}async clear(){try{await this.performTransaction("readwrite",e=>e.clear())}catch(e){}return this}async close(){if(this.dbPromise){try{(await this.dbPromise).close()}catch(e){}this.dbPromise=null}}async keys(){try{let e=await this.performTransaction("readonly",e=>e.getAllKeys());return e&&"object"==typeof e&&"then"in e&&(e=await e),e.map(e=>e+"")}catch(e){return[]}}async values(){try{let e=await this.performTransaction("readonly",e=>e.getAll());return e&&"object"==typeof e&&"then"in e&&(e=await e),e}catch(e){return[]}}async entries(){try{let[e,t]=await Promise.all([this.keys(),this.values()]);return e.map((e,i)=>[e,t[i]])}catch(e){return[]}}constructor(e="JoditDB",t="keyValueStore"){this.dbName=e,this.dbPromise=null,this.DB_VERSION=1,this.storeName=t}}let r=null;function s(){r=null}async function a(){if(null!=r)return r;try{if("u"<typeof indexedDB)return r=!1,!1;let e="___Jodit___"+Math.random().toString(),t=indexedDB.open(e);return r=await new Promise(i=>{t.onerror=()=>{i(!1)},t.onsuccess=()=>{indexedDB.deleteDatabase(e),i(!0)}})}catch(e){return r=!1,!1}}},2692:function(e,t,i){i.d(t,{JoditPro:function(){return a}});var n=i(82758),o=i(63799),r=i(41180),s=i(86019);class a extends s.Jodit{static make(e,t){return new this(e,t)}beforeInitHook(){if(n.IS_PROD&&!n.IS_TEST&&this.o.loadExternalConfig)return(0,o.appendScriptAsync)(this,this.basePath+"config.js")}afterInitHook(){(async()=>{if(await this.e.fire("checkReserve",location.host)!=="normal"){if(this.isInDestruct)return;let e=this.c.div("",'Trial version. Buy <a href="https://xdsoft.net/jodit/pro/">Jodit Pro</a>');n.IS_TEST||n.IS_PROD,(0,r.css)(e,{position:"absolute",color:"red",right:10,bottom:10}),this.addDisclaimer(e)}})().catch(()=>null),super.afterInitHook()}getVersion(){return"PRO "+n.APP_VERSION}}},2748:function(e,t,i){i.d(t,{Dom:function(){return b}});var n=i(82758),o=i(4510),r=i(68345),s=i(23282),a=i(58487),l=i(42320),c=i(70799),u=i(86068),d=i(49055),h=i(38837),p=i(29960),f=i(41180),m=i(86583),g=i(89890),v=i(37790);class b{static detach(e){for(;e&&e.firstChild;)e.removeChild(e.firstChild)}static wrapNextInline(e,t,i){let n,o=e;i.s.save();let r=!1;do r=!1,(n=o.nextSibling)&&!b.isBlock(n)&&!b.isTag(n,"br")&&(r=!0,o=n);while(r)return b.__wrapElements(t,i,e,o)}static __wrapElements(e,t,i,n){let o=(0,c.isString)(e)?t.createInside.element(e):e;i.parentNode&&i.parentNode.insertBefore(o,i);let r=i;for(;r&&(r=i.nextSibling,o.appendChild(i),i!==n&&r);)i=r;return t.s.restore(),o}static wrapInline(e,t,i){let n,o=e,r=e;i.s.save();let s=!1;do s=!1,(n=o.previousSibling)&&!b.isBlock(n)&&(s=!0,o=n);while(s)do s=!1,(n=r.nextSibling)&&!b.isBlock(n)&&(s=!0,r=n);while(s)return b.__wrapElements(t,i,o,r)}static wrap(e,t,i){let n=(0,c.isString)(t)?i.element(t):t;if(b.isNode(e)){if(!e.parentNode)throw(0,g.error)("Element should be in DOM");e.parentNode.insertBefore(n,e),n.appendChild(e)}else{let t=e.extractContents();e.insertNode(n),n.appendChild(t)}return n}static unwrap(e){let t=e.parentNode;if(t){for(;e.firstChild;)t.insertBefore(e.firstChild,e);b.safeRemove(e)}}static between(e,t,i){let n=e;for(;n&&n!==t&&!(e!==n&&i(n));){let e=n.firstChild||n.nextSibling;if(!e){for(;n&&!n.nextSibling;)n=n.parentNode;e=null==n?void 0:n.nextSibling}n=e}}static replace(e,t,i,n=!1,r=!1){let s;if((0,a.isHTML)(t)&&((0,h.assert)(i,"Need create instance for new tag"),t=i.fromHTML(t)),(0,c.isString)(t)?((0,h.assert)(i,"Need create instance for new tag"),s=i.element(t)):s=t,!r)for(;e.firstChild;)s.appendChild(e.firstChild);return n&&b.isElement(e)&&b.isElement(s)&&(0,o.toArray)(e.attributes).forEach(e=>{s.setAttribute(e.name,e.value)}),e.parentNode&&e.parentNode.replaceChild(s,e),s}static isEmptyTextNode(e){return b.isText(e)&&(!e.nodeValue||0===e.nodeValue.replace(n.INVISIBLE_SPACE_REG_EXP(),"").trim().length)}static isEmptyContent(e){return b.each(e,e=>b.isEmptyTextNode(e))}static isContentEditable(e,t){return b.isNode(e)&&!b.closest(e,e=>b.isElement(e)&&"false"===e.getAttribute("contenteditable"),t)}static isEmpty(e,t=n.NO_EMPTY_TAGS){let i;if(!e)return!0;i=(0,s.isFunction)(t)?t:e=>t.has(e.nodeName.toLowerCase());let o=e=>null==e.nodeValue||0===(0,d.trim)(e.nodeValue).length;return b.isText(e)?o(e):!(b.isElement(e)&&i(e))&&b.each(e,e=>{if(b.isText(e)&&!o(e)||b.isElement(e)&&i(e))return!1})}static isNode(e){return!!(e&&(0,c.isString)(e.nodeName)&&"number"==typeof e.nodeType&&e.childNodes&&(0,s.isFunction)(e.appendChild))}static isCell(e){return b.isNode(e)&&("TD"===e.nodeName||"TH"===e.nodeName)}static isList(e){return b.isTag(e,n.LIST_TAGS)}static isLeaf(e){return b.isTag(e,"li")}static isImage(e){return b.isNode(e)&&/^(img|svg|picture|canvas)$/i.test(e.nodeName)}static isBlock(e){return!(0,u.isVoid)(e)&&"object"==typeof e&&b.isNode(e)&&n.IS_BLOCK.test(e.nodeName)}static isText(e){return!!(e&&e.nodeType===Node.TEXT_NODE)}static isComment(e){return!!(e&&e.nodeType===Node.COMMENT_NODE)}static isElement(e){var t;return!!b.isNode(e)&&!!((null==(t=e.ownerDocument)?void 0:t.defaultView)&&e.nodeType===Node.ELEMENT_NODE)}static isFragment(e){var t;return!!b.isNode(e)&&!!((null==(t=e.ownerDocument)?void 0:t.defaultView)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE)}static isHTMLElement(e){var t;if(!b.isNode(e))return!1;let i=null==(t=e.ownerDocument)?void 0:t.defaultView;return!!(i&&e instanceof i.HTMLElement)}static isInlineBlock(e){return b.isElement(e)&&!/^(BR|HR)$/i.test(e.tagName)&&-1!==["inline","inline-block"].indexOf((0,f.css)(e,"display").toString())}static canSplitBlock(e){return!(0,u.isVoid)(e)&&b.isHTMLElement(e)&&b.isBlock(e)&&!/^(TD|TH|CAPTION|FORM)$/.test(e.nodeName)&&void 0!==e.style&&!/^(fixed|absolute)/i.test(e.style.position)}static last(e,t){let i=null==e?void 0:e.lastChild;if(!i)return null;do{if(t(i))return i;let n=i.lastChild;if(n||(n=i.previousSibling),!n&&i.parentNode!==e){do i=i.parentNode;while(i&&!(null==i?void 0:i.previousSibling)&&i.parentNode!==e)n=null==i?void 0:i.previousSibling}i=n}while(i)return null}static prev(e,t,i,n=!0){return b.find(e,t,i,!1,n)}static next(e,t,i,n=!0){return b.find(e,t,i,!0,n)}static prevWithClass(e,t){return b.prev(e,e=>b.isElement(e)&&e.classList.contains(t),e.parentNode)}static nextWithClass(e,t){return b.next(e,e=>b.isElement(e)&&e.classList.contains(t),e.parentNode)}static find(e,t,i,n=!0,o=!0){let r=this.nextGen(e,i,n,o),s=r.next();for(;!s.done;){if(t(s.value))return s.value;s=r.next()}return null}static*nextGen(e,t,i=!0,n=!0){let o=[],r=e;do{let t=i?r.nextSibling:r.previousSibling;for(;t;)o.unshift(t),t=i?t.nextSibling:t.previousSibling;yield*this.runInStack(e,o,i,n),r=r.parentNode}while(r&&r!==t)return null}static each(e,t,i=!0){let n=this.eachGen(e,i),o=n.next();for(;!o.done;){if(!1===t(o.value))return!1;o=n.next()}return!0}static eachGen(e,t=!0){return this.runInStack(e,[e],t)}static*runInStack(e,t,i,n=!0){for(;t.length;){let o=t.pop();if(n){let e=i?o.lastChild:o.firstChild;for(;e;)t.push(e),e=i?e.previousSibling:e.nextSibling}e!==o&&(yield o)}}static findWithCurrent(e,t,i,n="nextSibling",o="firstChild"){let r=e;do{if(t(r))return r||null;if(o&&r&&r[o]){let e=b.findWithCurrent(r[o],t,r,n,o);if(e)return e}for(;r&&!r[n]&&r!==i;)r=r.parentNode;r&&r[n]&&r!==i&&(r=r[n])}while(r&&r!==i)return null}static findSibling(e,t=!0,i=e=>!b.isEmptyTextNode(e)){let n=b.sibling(e,t);for(;n&&!i(n);)n=b.sibling(n,t);return n&&i(n)?n:null}static findNotEmptySibling(e,t){return b.findSibling(e,t,e=>{var t;return!b.isEmptyTextNode(e)&&!!(!b.isText(e)||(null==(t=e.nodeValue)?void 0:t.length)&&(0,d.trim)(e.nodeValue))})}static findNotEmptyNeighbor(e,t,i){return(0,v.call)(t?b.prev:b.next,e,e=>!!(e&&(!(b.isText(e)||b.isComment(e))||(0,d.trim)((null==e?void 0:e.nodeValue)||"").length)),i)}static sibling(e,t){return t?e.previousSibling:e.nextSibling}static up(e,t,i,n=!1){let o=e;if(!o)return null;do{if(t(o))return o;if(o===i||!o.parentNode)break;o=o.parentNode}while(o&&o!==i)return o===i&&n&&t(o)?o:null}static closest(e,t,i){let n,o=e=>e.toLowerCase();if((0,s.isFunction)(t))n=t;else if((0,r.isArray)(t)||(0,l.isSet)(t)){let e=(0,l.isSet)(t)?t:new Set(t.map(o));n=t=>!!(t&&e.has(o(t.nodeName)))}else n=e=>!!(e&&o(t)===o(e.nodeName));return b.up(e,n,i)}static furthest(e,t,i){let n=null,o=null==e?void 0:e.parentElement;for(;o&&o!==i;)t(o)&&(n=o),o=null==o?void 0:o.parentElement;return n}static appendChildFirst(e,t){let i=e.firstChild;i?i!==t&&e.insertBefore(t,i):e.appendChild(t)}static after(e,t){let{parentNode:i}=e;i&&(i.lastChild===e?i.appendChild(t):i.insertBefore(t,e.nextSibling))}static before(e,t){let{parentNode:i}=e;i&&i.insertBefore(t,e)}static prepend(e,t){e.insertBefore(t,e.firstChild)}static append(e,t){(0,r.isArray)(t)?t.forEach(t=>{this.append(e,t)}):e.appendChild(t)}static moveContent(e,t,i=!1,r=()=>!0){let s=(e.ownerDocument||n.globalDocument).createDocumentFragment();(0,o.toArray)(e.childNodes).filter(e=>!!r(e)||(b.safeRemove(e),!1)).forEach(e=>{s.appendChild(e)}),i&&t.firstChild?t.insertBefore(s,t.firstChild):t.appendChild(s)}static isOrContains(e,t,i=!1){return e===t?!i:!!(t&&e&&this.up(t,t=>t===e,e,!0))}static safeRemove(...e){e.forEach(e=>b.isNode(e)&&e.parentNode&&e.parentNode.removeChild(e))}static safeInsertNode(e,t){e.collapsed||e.deleteContents();let i=b.isFragment(t)?t.lastChild:t;e.startContainer===e.endContainer&&e.collapsed&&b.isTag(e.startContainer,n.INSEPARABLE_TAGS)?b.after(e.startContainer,t):(e.insertNode(t),i&&e.setStartBefore(i)),e.collapse(!0),[t.nextSibling,t.previousSibling].forEach(e=>b.isText(e)&&!e.nodeValue&&b.safeRemove(e))}static hide(e){e&&((0,m.dataBind)(e,"__old_display",e.style.display),e.style.display="none")}static show(e){if(!e)return;let t=(0,m.dataBind)(e,"__old_display");"none"===e.style.display&&(e.style.display=t||"")}static isTag(e,t){if(!this.isElement(e))return!1;let i=e.tagName.toLowerCase(),n=e.tagName.toUpperCase();if(t instanceof Set)return t.has(i)||t.has(n);if(Array.isArray(t))throw TypeError("Dom.isTag does not support array");return i===t||n===t}static markTemporary(e,t){return t&&(0,p.attr)(e,t),(0,p.attr)(e,n.TEMP_ATTR,!0),e}static isTemporary(e){return!!b.isElement(e)&&(b.isMarker(e)||"true"===(0,p.attr)(e,n.TEMP_ATTR))}static isMarker(e){return b.isNode(e)&&b.isTag(e,"span")&&e.hasAttribute("data-"+n.MARKER_CLASS)}static replaceTemporaryFromString(e){return e.replace(/<([a-z]+)[^>]+data-jodit-temp[^>]+>(.+?)<\/\1>/gi,"$2")}static temporaryList(e){return(0,o.toArray)(e.querySelectorAll(`[${n.TEMP_ATTR}]`))}constructor(){throw Error("Dom is static module")}}},3115:function(e,t,i){var n=i(37133),o=i(2748),r=i(580),s=i(37790),a=i(50911);i(46614);var l=i(2303),c=i(54076),u=i(90492),d=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s};class h extends a.Plugin{afterInit(e){let{commands:t}=e.o.speechRecognize;t&&((0,r.extendLang)(u),(0,s.keys)(t,!1).forEach(i=>{i.split("|").forEach(n=>{n=n.trim().toLowerCase(),this._commandToWord[n]=t[i];let o=e.i18n(n);o!==n&&o.split("|").forEach(e=>{this._commandToWord[e.trim().toLowerCase()]=t[i].trim()})})}))}beforeDestruct(e){o.Dom.safeRemove(this.messagePopup)}onSpeechRecognizeProgressResult(e){this.messagePopup||(this.messagePopup=this.j.create.div("jodit-speech-recognize__popup")),this.j.workplace.appendChild(this.messagePopup),this.j.async.clearTimeout(this.__hidePopupTimeout),this.__hidePopupTimeout=this.j.async.setTimeout(()=>{o.Dom.safeRemove(this.messagePopup)},1e3),this.messagePopup.innerText=e+"|"}onSpeechRecognizeResult(e){this.j.async.clearTimeout(this.__hidePopupTimeout),o.Dom.safeRemove(this.messagePopup);let{j:t}=this,{s:i}=t;if(!this._checkCommand(e)){let{range:n}=i,r=i.current();if(i.isCollapsed()&&o.Dom.isText(r)&&o.Dom.isOrContains(t.editor,r)&&r.nodeValue){let o=r.nodeValue;r.nodeValue=o+(/[\u00A0 ]\uFEFF*$/.test(o)?"":" ")+e,n.setStartAfter(r),i.selectRange(n),t.synchronizeValues()}else i.insertHTML(e)}}_checkCommand(e){return e=e.toLowerCase().replace(/\./g,""),!!this._commandToWord[e]&&((0,c.execSpellCommand)(this.j,this._commandToWord[e]),!0)}constructor(){super(...arguments),this.buttons=[{group:"state",name:"speechRecognize"}],this._commandToWord={}}}d([(0,n.watch)(":speechRecognizeProgressResult")],h.prototype,"onSpeechRecognizeProgressResult",null),d([(0,n.watch)(":speechRecognizeResult")],h.prototype,"onSpeechRecognizeResult",null),l.Jodit.plugins.add("speech-recognize",h)},3215:function(e,t,i){var n=i(65478),o=i(2748),r=i(580),s=i(21537),a=i(20356),l=i(62843);i(97536);var c=i(59436),u=i(53636),d=i(10263),h=i(94575),p=i(34755),f=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s};class m extends a.Plugin{get form(){return new c.UIImagePropertiesForm(this.j,this.state,this.activeTabState,{openImageEditor:()=>(0,u.openImageEditorDialog)(this.j,this.state),openImagePopup:e=>(0,d.openImagePopup)(this.j,this.dialog,this.state,e)})}get dialog(){let{j:e}=this,t=e.dlg({minWidth:Math.min(400,screen.width),minHeight:590,buttons:["fullsize","dialog.close"]}),i=this.__buttons;return i.check.onAction(()=>{(0,p.applyValuesToImage)(e,this.state,this.state.sourceImage),e.synchronizeValues(),t.close()}),i.remove.onAction(()=>{e.s.removeNode(this.state.sourceImage),t.close()}),i.cancel.onAction(()=>{t.close()}),t.setHeader(e.i18n("Image properties")),t.setContent(this.form),t.setFooter([[i.cancel,i.remove],i.check]),e.e.on(t,"afterClose",()=>{this.state.image.parentNode&&e.o.image.selectImageAfterClose&&e.s.select(this.state.sourceImage)}),t.setSize(e.o.image.dialogWidth),(0,s.markOwner)(e,t.container),t}