').concat(this.language.translate(n),"")}return e+=""},title:"Inline Style",callback:function(e,t){this.inlineStyle.apply(t)},plugin:"inlineStyle"}),e.DefineIcon("inlineStyle",{NAME:"paint-brush",SVG_KEY:"inlineStyle"})});
--------------------------------------------------------------------------------
/froala_editor/static/froala_editor/js/plugins/line_breaker.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * froala_editor v4.5.2 (https://www.froala.com/wysiwyg-editor)
3 | * License https://froala.com/wysiwyg-editor/terms/
4 | * Copyright 2014-2025 Froala Labs
5 | */
6 |
7 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(v){"use strict";v=v&&v.hasOwnProperty("default")?v["default"]:v,Object.assign(v.DEFAULTS,{lineBreakerTags:["table","hr","form","dl","span.fr-video",".fr-embedly","img"],lineBreakerOffset:15,lineBreakerHorizontalOffset:10}),v.PLUGINS.lineBreaker=function(d){var m,t,r,h=d.$;function l(e,t){var n,a,r,o,i,s,l,f;if(null==e)i=(o=t.parent()).offset().top,n=(l=t.offset().top)-Math.min((l-i)/2,d.opts.lineBreakerOffset),r=o.outerWidth(),a=o.offset().left;else if(null==t)(s=(o=e.parent()).offset().top+o.outerHeight())<(f=e.offset().top+e.outerHeight())&&(s=(o=h(o).parent()).offset().top+o.outerHeight()),n=f+Math.min(Math.abs(s-f)/2,d.opts.lineBreakerOffset),r=o.outerWidth(),a=o.offset().left;else{o=e.parent();var p=e.offset().top+e.height(),c=t.offset().top;if(cd.$box.offset().left&&e':"<"+a.parent().get(0).nodeName.toLowerCase()+">",l=null!=i?""+o[o.length-1].nodeName.toLowerCase()+">":""+a.parent().get(0).nodeName.toLowerCase()+">";r?a.before("<".concat(r,">").concat(s).concat(v.MARKERS,"
").concat(l,"").concat(r,">")):a.before("".concat(s).concat(v.MARKERS,"
").concat(l))}else r&&"TD"!=a.parent().get(0).tagName&&0===a.parents(r).length?a.before("<".concat(r,">").concat(v.MARKERS,"
").concat(r,">")):a.before("".concat(v.MARKERS,"
"));else if(d.opts.keepTextFormatOnTable&&n.children().get(0)!=undefined&&"TBODY"==n.children().get(0).tagName){var f=n.find("span"),p=null!=f[f.length-1]?f[f.length-1].getAttribute("style"):null,c=null!=p?"<"+f[f.length-1].nodeName.toLowerCase()+' style="'+p+'">':"<"+n.parent().get(0).nodeName.toLowerCase()+">",u=null!=p?""+f[f.length-1].nodeName.toLowerCase()+">":""+n.parent().get(0).nodeName.toLowerCase()+">";r?n.after("<".concat(r,">").concat(c).concat(v.MARKERS,"
").concat(u,"").concat(r,">")):n.after("".concat(c).concat(v.MARKERS,"
").concat(u))}else r&&"TD"!=n.parent().get(0).tagName&&0===n.parents(r).length?n.after("<".concat(r,">").concat(v.MARKERS,"
").concat(r,">")):n.after("".concat(v.MARKERS,"
"));t.selection.restore(),d.toolbar.enable()}return{_init:function b(){if(!d.$wp)return!1;!function e(){d.shared.$line_breaker||(d.shared.$line_breaker=h(document.createElement("div")).attr("class","fr-line-breaker").html(''))),m=d.shared.$line_breaker,d.events.on("shared.destroy",function(){m.html("").removeData().remove(),m=null},!0),d.events.on("destroy",function(){m.removeData("instance").removeClass("fr-visible"),h("body").first().append(m),clearTimeout(r)},!0),d.events.$on(m,"mousemove",function(e){e.stopPropagation()},!0),d.events.bindClick(m,"a",g)}(),t=!1,d.events.$on(d.$win,"mousemove",a),d.events.$on(h(d.win),"scroll",s),d.events.on("popups.show.table.edit",s),d.events.on("commands.after",s),d.events.$on(h(d.win),"mousedown",c),d.events.$on(h(d.win),"mouseup",u)}}}});
--------------------------------------------------------------------------------
/froala_editor/static/froala_editor/js/plugins/line_height.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * froala_editor v4.5.2 (https://www.froala.com/wysiwyg-editor)
3 | * License https://froala.com/wysiwyg-editor/terms/
4 | * Copyright 2014-2025 Froala Labs
5 | */
6 |
7 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(r){"use strict";r=r&&r.hasOwnProperty("default")?r["default"]:r,Object.assign(r.DEFAULTS,{lineHeights:{Default:"",Single:"1",1.15:"1.15",1.5:"1.5",Double:"2"}}),r.PLUGINS.lineHeight=function(a){var o=a.$;return{_init:function e(){},apply:function i(e){a.selection.save(),a.html.wrap(!0,!0,!0,!0),a.selection.restore();var t=a.selection.blocks();t.length&&o(t[0]).parent().is("td")&&a.format.applyStyle("line-height",e.toString()),a.selection.save();for(var n=0;n').concat(this.language.translate(t[n].label),"");else if(t instanceof Object)for(var a in t)t.hasOwnProperty(a)&&(e+='').concat(this.language.translate(a),""));return e+=""},title:"Line Height",callback:function(e,t){this.lineHeight.apply(t)},refreshOnShow:function(e,t){this.lineHeight.refreshOnShow(e,t)},plugin:"lineHeight"}),r.DefineIcon("lineHeight",{NAME:"arrows-v",FA5NAME:"arrows-alt-v",SVG_KEY:"lineHeight"})});
--------------------------------------------------------------------------------
/froala_editor/static/froala_editor/js/plugins/paragraph_format.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * froala_editor v4.5.2 (https://www.froala.com/wysiwyg-editor)
3 | * License https://froala.com/wysiwyg-editor/terms/
4 | * Copyright 2014-2025 Froala Labs
5 | */
6 |
7 | !function(a,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(a.FroalaEditor)}(this,function(a){"use strict";a=a&&a.hasOwnProperty("default")?a["default"]:a,Object.assign(a.DEFAULTS,{paragraphFormat:{N:"Normal",H1:"Heading 1",H2:"Heading 2",H3:"Heading 3",H4:"Heading 4",PRE:"Code"},paragraphFormatSelection:!1,paragraphDefaultSelection:"Paragraph Format"}),a.PLUGINS.paragraphFormat=function(h){var g=h.$;function c(a,t){var e=h.html.defaultTag();if(t&&t.toLowerCase()!=e)if(0");a.prepend(r);for(var n=h.node.contents(a.get(0))[0];n&&["UL","OL"].indexOf(n.tagName)<0;){var o=n.nextSibling;r.append(n),n=o}}else a.html("<"+t+">"+a.html()+""+t+">")}return{apply:function u(a){"N"==a&&(a=h.html.defaultTag()),h.selection.save(),h.html.wrap(!0,!0,!h.opts.paragraphFormat.BLOCKQUOTE,!0,!0),h.selection.restore();var t,e,r,n,o,i,p,l,s=h.selection.blocks();h.selection.save(),h.$el.find("pre").attr("skip",!0);for(var m=0;m").html(i.html()));else if(0<=["TD","TH"].indexOf(s[m].parentNode.tagName))r=d,n=a,o=h.html.defaultTag(),n||(n='div class="fr-temp-div"'+(h.node.isEmpty(r.get(0),!0)?' data-empty="true"':"")),n.toLowerCase()==o?(h.node.isEmpty(r.get(0),!0)||r.append("
"),r.replaceWith(r.html())):r.replaceWith(g("<"+n+">").html(r.html()));else{if("PRE"===a&&null===d[0].nextSibling){var f=g("
");d[0].after(f[0])}t=d,(e=a)||(e='div class="fr-temp-div"'+(h.node.isEmpty(t.get(0),!0)?' data-empty="true"':"")),("H1"==e||"H2"==e||"H3"==e||"H4"==e||"H5"==e)&&-1").html(t.html()).removeAttr("data-empty")):t.replaceWith(g("<"+e+" "+h.node.attributes(t.get(0))+">").html(t.html()).removeAttr("data-empty"))}}h.$el.find('pre:not([skip="true"]) + pre:not([skip="true"])').each(function(){g(this).prev().append("
"+g(this).html()),g(this).remove()}),h.$el.find("pre").removeAttr("skip"),h.html.unwrap(),h.selection.restore()},refreshOnShow:function i(a,t){var e=h.selection.blocks();if(e.length){var r=e[0],n="N",o=h.html.defaultTag();r.tagName.toLowerCase()!=o&&r!=h.el&&(n=r.tagName),t.find('.fr-command[data-param1="'+n+'"]').addClass("fr-active").attr("aria-selected",!0)}else t.find('.fr-command[data-param1="N"]').addClass("fr-active").attr("aria-selected",!0)},refresh:function o(a){if(h.opts.paragraphFormatSelection){var t=h.selection.blocks();if(t.length){var e=t[0],r="N",n=h.html.defaultTag();e.tagName.toLowerCase()!=n&&e!=h.el&&(r=e.tagName),0<=["LI","TD","TH"].indexOf(r)&&(r="N"),a.find(">span").text(h.language.translate(h.opts.paragraphFormat[r]))}else a.find(">span").text(h.language.translate(h.opts.paragraphFormat.N))}}}},a.RegisterCommand("paragraphFormat",{type:"dropdown",displaySelection:function(a){return a.opts.paragraphFormatSelection},defaultSelection:function(a){return a.language.translate(a.opts.paragraphDefaultSelection)},displaySelectionWidth:80,html:function(){var a='',t=this.opts.paragraphFormat;for(var e in t)if(t.hasOwnProperty(e)){var r=this.shortcuts.get("paragraphFormat."+e);r=r?''+r+"":"",a+='- <'+("N"==e?this.html.defaultTag()||"DIV":e)+' style="padding: 0 !important; margin: 0 !important; border: 0 !important; background-color: transparent !important; '+("PRE"==e||"N"==e?"font-size: 15px":"font-weight: bold !important; ")+("H1"==e?"font-size: 2em !important; ":"")+("H2"==e?"font-size: 1.5em !important; ":"")+("H3"==e?"font-size: 1.17em !important; ":"")+("H4"==e?"font-size: 15px !important;":"")+'" role="presentation">'+this.language.translate(t[e])+""+("N"==e?this.html.defaultTag()||"DIV":e)+">
"}return a+="
"},title:"Paragraph Format",callback:function(a,t){this.paragraphFormat.apply(t)},refresh:function(a){this.paragraphFormat.refresh(a)},refreshOnShow:function(a,t){this.paragraphFormat.refreshOnShow(a,t)},plugin:"paragraphFormat"}),a.DefineIcon("paragraphFormat",{NAME:"paragraph",SVG_KEY:"paragraphFormat"})});
--------------------------------------------------------------------------------
/froala_editor/static/froala_editor/js/plugins/paragraph_style.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * froala_editor v4.5.2 (https://www.froala.com/wysiwyg-editor)
3 | * License https://froala.com/wysiwyg-editor/terms/
4 | * Copyright 2014-2025 Froala Labs
5 | */
6 |
7 | !function(a,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],e):e(a.FroalaEditor)}(this,function(a){"use strict";a=a&&a.hasOwnProperty("default")?a["default"]:a,Object.assign(a.DEFAULTS,{paragraphStyles:{"fr-text-gray":"Gray","fr-text-bordered":"Bordered","fr-text-spaced":"Spaced","fr-text-uppercase":"Uppercase"},paragraphMultipleStyles:!0}),a.PLUGINS.paragraphStyle=function(i){var p=i.$;return{_init:function a(){},apply:function c(a,e,t){void 0===e&&(e=i.opts.paragraphStyles),void 0===t&&(t=i.opts.paragraphMultipleStyles);var r="";t||((r=Object.keys(e)).splice(r.indexOf(a),1),r=r.join(" ")),i.selection.save(),i.html.wrap(!0,!0,!0,!0),i.selection.restore();var l=i.selection.blocks();i.selection.save();for(var n=p(l[0]).hasClass(a),s=0;s");l[0].after(o[0])}i.html.unwrap(),i.selection.restore()},refreshOnShow:function l(a,e){var t=i.selection.blocks();if(t.length){var r=p(t[0]);e.find(".fr-command").each(function(){var a=p(this).data("param1"),e=r.hasClass(a);p(this).toggleClass("fr-active",e).attr("aria-selected",e)})}}}},a.RegisterCommand("paragraphStyle",{type:"dropdown",html:function(){var a='"},title:"Paragraph Style",callback:function(a,e){this.paragraphStyle.apply(e)},refreshOnShow:function(a,e){this.paragraphStyle.refreshOnShow(a,e)},plugin:"paragraphStyle"}),a.DefineIcon("paragraphStyle",{NAME:"magic",SVG_KEY:"paragraphStyle"})});
--------------------------------------------------------------------------------
/froala_editor/static/froala_editor/js/plugins/print.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * froala_editor v4.5.2 (https://www.froala.com/wysiwyg-editor)
3 | * License https://froala.com/wysiwyg-editor/terms/
4 | * Copyright 2014-2025 Froala Labs
5 | */
6 |
7 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e["default"]:e,Object.assign(e.DEFAULTS,{html2pdf:window.html2pdf}),e.PLUGINS.print=function(a){return{run:function e(){!function l(e){var t=a.html.get(),n=null;a.shared.print_iframe?n=a.shared.print_iframe:((n=document.createElement("iframe")).name="fr-print",n.style.position="fixed",n.style.top="0",n.style.left="-9999px",n.style.height="100%",n.style.width="0",n.style.overflow="hidden",n.style["z-index"]="2147483647",n.style.tabIndex="-1",a.events.on("shared.destroy",function(){n.remove()}),a.shared.print_iframe=n);try{document.body.removeChild(n)}catch(d){}document.body.appendChild(n);var i=function(){e(),n.removeEventListener("load",i)};n.addEventListener("load",i);var o=n.contentWindow;o.document.open(),o.document.write(""+document.title+""),Array.prototype.forEach.call(document.querySelectorAll("style"),function(e){e=e.cloneNode(!0),o.document.write(e.outerHTML)});var r=document.querySelectorAll("link[rel=stylesheet]");Array.prototype.forEach.call(r,function(e){var t=document.createElement("link");t.rel=e.rel,t.href=e.href,t.media="print",t.type="text/css",t.media="all",o.document.write(t.outerHTML)}),o.document.write(''),o.document.write(t),o.document.write("
"),o.document.close()}(function(){setTimeout(function(){a.events.disableBlur(),window.frames["fr-print"].focus(),window.frames["fr-print"].print(),a.$win.get(0).focus(),a.events.disableBlur(),a.events.focus()},0)})},toPDF:function t(){a.opts.html2pdf&&(a.$el.css("text-align","left"),a.opts.html2pdf().set({margin:[10,20],html2canvas:{useCORS:!0}}).from(a.el).save(),setTimeout(function(){a.$el.css("text-align","")},100))}}},e.DefineIcon("print",{NAME:"print",SVG_KEY:"print"}),e.RegisterCommand("print",{title:"Print",undo:!1,focus:!1,plugin:"print",callback:function(){this.print.run()}}),e.DefineIcon("getPDF",{NAME:"file-pdf-o",FA5NAME:"file-pdf",SVG_KEY:"pdfExport"}),e.RegisterCommand("getPDF",{title:"Download PDF",type:"button",focus:!1,undo:!1,callback:function(){this.print.toPDF()}})});
--------------------------------------------------------------------------------
/froala_editor/static/froala_editor/js/plugins/quick_insert.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * froala_editor v4.5.2 (https://www.froala.com/wysiwyg-editor)
3 | * License https://froala.com/wysiwyg-editor/terms/
4 | * Copyright 2014-2025 Froala Labs
5 | */
6 |
7 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(h){"use strict";h=h&&h.hasOwnProperty("default")?h["default"]:h,Object.assign(h.DEFAULTS,{quickInsertButtons:["image","video","embedly","table","ul","ol","hr"],quickInsertTags:["p","div","h1","h2","h3","h4","h5","h6","pre","blockquote"],quickInsertEnabled:!0}),h.QUICK_INSERT_BUTTONS={},h.DefineIcon("quickInsert",{SVG_KEY:"add",template:"svg"}),h.RegisterQuickInsertButton=function(e,t){h.QUICK_INSERT_BUTTONS[e]=Object.assign({undo:!0},t)},h.RegisterQuickInsertButton("image",{icon:"insertImage",requiredPlugin:"image",title:"Insert Image",undo:!1,callback:function(){var e=this,t=e.$;e.shared.$qi_image_input||(e.shared.$qi_image_input=t(document.createElement("input")).attr("accept","image/"+e.opts.imageAllowedTypes.join(", image/").toLowerCase()).attr("name","quickInsertImage".concat(this.id)).attr("style","display: none;").attr("type","file"),t("body").first().append(e.shared.$qi_image_input),e.events.$on(e.shared.$qi_image_input,"change",function(){var e=t(this).data("inst");this.files&&(e.quickInsert.hide(),e.image.upload(this.files)),t(this).val("")},!0)),e.$qi_image_input=e.shared.$qi_image_input,e.helpers.isMobile()&&e.selection.save(),e.events.disableBlur(),e.$qi_image_input.data("inst",e)[0].click()}}),h.RegisterQuickInsertButton("video",{icon:"insertVideo",requiredPlugin:"video",title:"Insert Video",undo:!1,callback:function(){var e=prompt(this.language.translate("Paste the URL of the video you want to insert."));e&&this.video.insertByURL(e)}}),h.RegisterQuickInsertButton("embedly",{icon:"embedly",requiredPlugin:"embedly",title:"Embed URL",undo:!1,callback:function(){var e=prompt(this.language.translate("Paste the URL of any web content you want to insert."));e&&this.embedly.add(e)}}),h.RegisterQuickInsertButton("table",{icon:"insertTable",requiredPlugin:"table",title:"Insert Table",callback:function(){this.table.insert(2,2)}}),h.RegisterQuickInsertButton("ol",{icon:"formatOL",requiredPlugin:"lists",title:"Ordered List",callback:function(){this.lists.format("OL")}}),h.RegisterQuickInsertButton("ul",{icon:"formatUL",requiredPlugin:"lists",title:"Unordered List",callback:function(){this.lists.format("UL")}}),h.RegisterQuickInsertButton("hr",{icon:"insertHR",title:"Insert Horizontal Line",callback:function(){this.commands.insertHR()}}),h.PLUGINS.quickInsert=function(r){var a,l,c=r.$,u=!1;function n(e){var t,n,i;(t=e.offset().top-r.$box.offset().top,n=(r.$iframe&&r.$iframe.offset().left||0)+e.offset().left-e.position().left-4').concat(r.icon.create("quickInsert"),"")));a=r.shared.$quick_insert,r.tooltip.bind(r.$box,".fr-quick-insert > a.fr-floating-btn"),r.events.on("destroy",function(){c("body").first().append(a.removeClass("fr-on")),l&&(f(),c("body").first().append(l.css("left",-9999).css("top",-9999)))},!0),r.events.on("shared.destroy",function(){a.html("").removeData().remove(),a=null,l&&(l.html("").removeData().remove(),l=null)},!0),r.events.on("commands.before",o),r.events.on("commands.after",function(){r.popups.areVisible()||i()}),r.events.bindClick(r.$box,".fr-quick-insert > a",d),r.events.bindClick(r.$box,".fr-qi-helper > a.fr-btn",function(e){var t=c(e.currentTarget).data("cmd");if(!1===r.events.trigger("quickInsert.commands.before",[t]))return!1;h.QUICK_INSERT_BUTTONS[t].callback.apply(r,[e.currentTarget]),h.QUICK_INSERT_BUTTONS[t].undo&&r.undo.saveStep(),r.events.trigger("quickInsert.commands.after",[t]),r.quickInsert.hide()}),r.events.$on(r.$wp,"scroll",p),r.events.$on(r.$tb,"transitionend",".fr-more-toolbar",p)}(),a.hasClass("fr-on")&&f(),r.$box.append(a),n(e),a.data("tag",e),a.addClass("fr-visible"))}function i(){if(r.core.hasFocus()){var e=r.selection.element();if(r.opts.enter==h.ENTER_BR||r.node.isBlock(e)||(e=r.node.blockParent(e)),r.opts.enter==h.ENTER_BR&&!r.node.isBlock(e)){var t=r.node.deepestParent(e);t&&(e=t)}var n=function n(){return r.opts.enter!=h.ENTER_BR&&r.node.isEmpty(e)&&0<=r.opts.quickInsertTags.indexOf(e.tagName.toLowerCase())},i=function i(){return r.opts.enter==h.ENTER_BR&&("BR"==e.tagName&&(!e.previousSibling||"BR"==e.previousSibling.tagName||r.node.isBlock(e.previousSibling))||r.node.isEmpty(e)&&(!e.previousSibling||"BR"==e.previousSibling.tagName||r.node.isBlock(e.previousSibling))&&(!e.nextSibling||"BR"==e.nextSibling.tagName||r.node.isBlock(e.nextSibling)))};e&&(n()||i())?a&&a.data("tag").is(c(e))&&a.hasClass("fr-on")?f():r.selection.isCollapsed()&&s(c(e)):o()}}function o(){a&&!u&&(a.hasClass("fr-on")&&f(),a.removeClass("fr-visible fr-on"),a.css("left",-9999).css("top",-9999))}function d(e){if(e&&e.preventDefault(),a.hasClass("fr-on")&&!a.hasClass("fr-hidden"))f();else{if(!r.shared.$qi_helper){for(var t=r.opts.quickInsertButtons,n='',i=0,s=0;s').concat(r.icon.create(o.icon),""))}n+="
",r.shared.$qi_helper=c(n),r.tooltip.bind(r.shared.$qi_helper,"a.fr-btn"),r.events.$on(r.shared.$qi_helper,"mousedown",function(e){e.preventDefault()},!0)}l=r.shared.$qi_helper,r.$box.append(l),u=!0,setTimeout(function(){u=!1,l.css("top",parseFloat(a.css("top"))),l.css("left",parseFloat(a.css("left"))+a.outerWidth()),l.find("a").addClass("fr-size-1"),a.addClass("fr-on")},10)}}function f(){var t=r.$box.find(".fr-qi-helper");if(t.length){for(var n=t.find("a"),e=0;e').concat(this.language.translate(t[n])).concat(o?''.concat(o,""):"","")}return e+=""},callback:function(e,t){this.quote.apply(t)},plugin:"quote"}),e.DefineIcon("quote",{NAME:"quote-left",SVG_KEY:"blockquote"})});
--------------------------------------------------------------------------------
/froala_editor/static/froala_editor/js/plugins/save.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * froala_editor v4.5.2 (https://www.froala.com/wysiwyg-editor)
3 | * License https://froala.com/wysiwyg-editor/terms/
4 | * Copyright 2014-2025 Froala Labs
5 | */
6 |
7 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e["default"]:e,Object.assign(e.DEFAULTS,{saveInterval:1e4,saveURL:null,saveParams:{},saveParam:"body",saveMethod:"POST"}),e.PLUGINS.save=function(i){var f=i.$,n=null,l=null,t=!1,v=1,c=2,s={};function u(e,t){i.events.trigger("save.error",[{code:e,message:s[e]},t])}function a(e){void 0===e&&(e=i.html.get());var n=e,t=i.events.trigger("save.before",[e]);if(!1===t)return!1;if("string"==typeof t&&(e=t),i.opts.saveURL){var s={};for(var a in i.opts.saveParams)if(i.opts.saveParams.hasOwnProperty(a)){var o=i.opts.saveParams[a];s[a]="function"==typeof o?o.call(this):o}var r={};r[i.opts.saveParam]=e,f(this).ajax({method:i.opts.saveMethod,url:i.opts.saveURL,data:Object.assign(r,s),crossDomain:i.opts.requestWithCORS,withCredentials:i.opts.requestWithCredentials,headers:i.opts.requestHeaders,done:function(e,t,s){l=n,i.events.trigger("save.after",[e])},fail:function(e){u(c,e.response||e.responseText)}})}else u(v)}function o(){clearTimeout(n),n=setTimeout(function(){var e=i.html.get();(l!=e||t)&&(t=!1,a(l=e))},0)}return s[v]="Missing saveURL option.",s[c]="Something went wrong during save.",{_init:function r(){if(i.opts.letteringClass)for(var e=i.opts.letteringClass,t=i.$el.find(".".concat(e)).length,s=0;s$1