@firestitch/froala
Version:
The next generation Javascript WYSIWYG HTML rich text editor made by devs for devs. High performance and modern design make it easy to use for developers and loved by users.
1 lines • 93.1 kB
JavaScript
!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(nt){"use strict";function at(e){return(at="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}nt=nt&&nt.hasOwnProperty("default")?nt.default:nt,Object.assign(nt.POPUP_TEMPLATES,{"filesManager.insert":"[_BUTTONS_][_UPLOAD_LAYER_][_BY_URL_LAYER_][_EMBED_LAYER_][_UPLOAD_PROGRESS_LAYER_][_PROGRESS_BAR_]","image.edit":"[_BUTTONS_]","image.alt":"[_BUTTONS_][_ALT_LAYER_]","image.size":"[_BUTTONS_][_SIZE_LAYER_]"}),Object.assign(nt.DEFAULTS,{filesInsertButtons:["imageBack","|","filesUpload","filesByURL","filesEmbed"],filesInsertButtons2:["deleteAll","insertAll","cancel","minimize"],imageEditButtons:["imageReplace","imageAlign","imageCaption","imageRemove","imageLink","linkOpen","linkEdit","linkRemove","-","imageDisplay","imageStyle","imageAlt","imageSize"],imageAltButtons:["imageBack","|"],imageSizeButtons:["imageBack","|"],imageUpload:!0,filesManagerUploadURL:null,imageCORSProxy:"https://cors-anywhere.froala.com",imageUploadRemoteUrls:!0,filesManagerUploadParam:"file",filesManagerUploadParams:{},googleOptions:{},filesManagerUploadToS3:!1,filesManagerUploadToAzure:!1,filesManagerUploadMethod:"POST",filesManagerMaxSize:10485760,filesManagerAllowedTypes:["*"],imageResize:!0,imageResizeWithPercent:!1,imageRoundPercent:!1,imageDefaultWidth:300,imageDefaultAlign:"center",imageDefaultDisplay:"block",imageSplitHTML:!1,imageStyles:{"fr-rounded":"Rounded","fr-bordered":"Bordered","fr-shadow":"Shadow"},imageMove:!0,imageMultipleStyles:!0,imageTextNear:!0,imagePaste:!0,imagePasteProcess:!1,imageMinWidth:16,imageOutputSize:!1,imageDefaultMargin:5,imageAddNewLine:!1}),nt.VIDEO_PROVIDERS=[{test_regex:/^.*((youtu.be)|(youtube.com))\/((v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))?\??v?=?([^#\&\?]*).*/,url_regex:/(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=|embed\/)?([0-9a-zA-Z_\-]+)(.+)?/g,url_text:"https://www.youtube.com/embed/$1?$2",html:'<iframe width="640" height="360" src="{url}&wmode=opaque" frameborder="0" allowfullscreen></iframe>',provider:"youtube"},{test_regex:/^.*(?:vimeo.com)\/(?:channels(\/\w+\/)?|groups\/*\/videos\/\u200b\d+\/|video\/|)(\d+)(?:$|\/|\?)/,url_regex:/(?:https?:\/\/)?(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/(?:[^\/]*)\/videos\/|album\/(?:\d+)\/video\/|video\/|)(\d+)(?:[a-zA-Z0-9_\-]+)?(\/[a-zA-Z0-9_\-]+)?/i,url_text:"https://player.vimeo.com/video/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>',provider:"vimeo"},{test_regex:/^.+(dailymotion.com|dai.ly)\/(video|hub)?\/?([^_]+)[^#]*(#video=([^_&]+))?/,url_regex:/(?:https?:\/\/)?(?:www\.)?(?:dailymotion\.com|dai\.ly)\/(?:video|hub)?\/?(.+)/g,url_text:"https://www.dailymotion.com/embed/video/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>',provider:"dailymotion"},{test_regex:/^.+(screen.yahoo.com)\/[^_&]+/,url_regex:"",url_text:"",html:'<iframe width="640" height="360" src="{url}?format=embed" frameborder="0" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" allowtransparency="true"></iframe>',provider:"yahoo"},{test_regex:/^.+(rutube.ru)\/[^_&]+/,url_regex:/(?:https?:\/\/)?(?:www\.)?(?:rutube\.ru)\/(?:video)?\/?(.+)/g,url_text:"https://rutube.ru/play/embed/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" allowtransparency="true"></iframe>',provider:"rutube"},{test_regex:/^(?:.+)vidyard.com\/(?:watch)?\/?([^.&/]+)\/?(?:[^_.&]+)?/,url_regex:/^(?:.+)vidyard.com\/(?:watch)?\/?([^.&/]+)\/?(?:[^_.&]+)?/g,url_text:"https://play.vidyard.com/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>',provider:"vidyard"}],nt.VIDEO_EMBED_REGEX=/^\W*((<iframe(.|\n)*>(\s|\n)*<\/iframe>)|(<embed(.|\n)*>))\W*$/i,nt.IMAGE_EMBED_REGEX=/^\W*((<img(.|\n)*>(\s|\n)*))\W*$/i,nt.IMAGE_TYPE="image/png",nt.IMAGE_ALLOW_REGEX=/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i,nt.PLUGINS.filesManager=function(M){var b,F,E,d,n,c,s,o,k=M.$,N=!1,t=!1,A=new Map,C=new Map,v=new Map,h=new Map,I=new Map,y=new Map,l=0,a=[],H=-1,L=[],f=0,K=["file","image","imageTUI","video"],Y=1,V=2,W=3,w=4,G=["video/avi","video/mpeg","video/x-ms-wmv"],r={};function X(){var e=M.popups.get("filesManager.insert"),t=e.find(".fr-files-by-url-layer input");t.val(""),e.find(".fr-files-embed-layer textarea").val("").trigger("change"),t.trigger("change")}function j(e){M.hasOwnProperty("imageTUI")||(s="fr-disabled"),y.forEach(function(e,t){p(t)}),q()?t=(t=M.popups.get("filesManager.insert"))||$e():(t=M.popups.get("filesManager.insert"))||(r='<div class="fr-buttons fr-tabs">'.concat(M.button.buildList(M.opts.fileInsertButtons),"</div>"),n="<div style= 'padding:10px'>\n <div class = 'fr-message'><h3 style ='font-size: 16px; margin: 10px 10px;font-weight: normal;'>".concat(M.language.translate((a="",i=[],K.forEach(function(e){M.opts.pluginsEnabled.indexOf(e)<0&&i.push(e.charAt(0).toUpperCase()+e.slice(1))}),a=(n=i).join(", "),1<n.length?a+=" plugin are":a+=" plugin is",a+" not enabled. Do you want to enable?")),"</h3></div>\n <div style='text-align:right;'>\n <button class='fr-trim-button fr-plugins-enable'>").concat(M.language.translate("Enable"),"</button> \n <button class='fr-trim-button fr-plugins-cancel'>").concat(M.language.translate("Cancel"),"</button>\n </div>"),Be(a=M.popups.create("filesManager.insert",{buttons:r,upload_layer:n,by_url_layer:"",embed_layer:"",upload_progress_layer:"",progress_bar:""})),t=a);var t,i,n,a,r=M.$tb.find('.fr-command[data-cmd="insertFiles"]');u(),!e&&t.hasClass("fr-active")||(e||re(),M.popups.refresh("filesManager.insert"),M.popups.setContainer("filesManager.insert",M.$tb),r.isVisible()?(a=(n=M.button.getPosition(r,A.size)).left,e=n.top,M.popups.show("filesManager.insert",a,e,r.outerHeight())):(M.position.forSelection(t),M.popups.show("filesManager.insert"))),M.popups.setPopupDimensions(t),q()&&M.popups.setFileListHeight(t),t.find(".fr-upload-progress")&&0==A.size&&t.find(".fr-upload-progress").addClass("fr-none")}function q(){var t=!0;return K.forEach(function(e){M.opts.pluginsEnabled.indexOf(e)<0&&(t=!1)}),t}function Z(){u()}function J(){var n,a,r,e,t,i,s,o,l;d||(M.shared.$image_resizer?(d=M.shared.$image_resizer,c=M.shared.$img_overlay,M.events.on("destroy",function(){k("body").first().append(d.removeClass("fr-active"))},!0)):(M.shared.$image_resizer=k(document.createElement("div")).attr("class","fr-image-resizer"),d=M.shared.$image_resizer,M.events.$on(d,"mousedown",function(e){e.stopPropagation()},!0),M.opts.imageResize&&(d.append(Q("nw")+Q("ne")+Q("sw")+Q("se")),M.shared.$img_overlay=k(document.createElement("div")).attr("class","fr-image-overlay"),c=M.shared.$img_overlay,e=d.get(0).ownerDocument,k(e).find("body").first().append(c))),M.events.on("shared.destroy",function(){d.html("").removeData().remove(),d=null,M.opts.imageResize&&(c.remove(),c=null)},!0),M.helpers.isMobile()||M.events.$on(k(M.o_win),"resize",function(){b&&!b.hasClass("fr-uploading")?O(!0):b&&(J(),replace(),g(!1))}),M.opts.imageResize&&(e=d.get(0).ownerDocument,M.events.$on(d,M._mousedown,".fr-handler",te),M.events.$on(k(e),M._mousemove,ie),M.events.$on(k(e.defaultView||e.parentWindow),M._mouseup,ne),M.events.$on(c,"mouseleave",ne),n=1,a=null,r=0,M.events.on("keydown",function(e){var t,i;b&&(t=-1!=navigator.userAgent.indexOf("Mac OS X")?e.metaKey:e.ctrlKey,((i=e.which)!==a||200<e.timeStamp-r)&&(n=1),(i==nt.KEYCODE.EQUALS||M.browser.mozilla&&i==nt.KEYCODE.FF_EQUALS)&&t&&!e.altKey?n=We.call(this,e,1,1,n):(i==nt.KEYCODE.HYPHEN||M.browser.mozilla&&i==nt.KEYCODE.FF_HYPHEN)&&t&&!e.altKey?n=We.call(this,e,2,-1,n):M.keys.ctrlKey(e)||i!=nt.KEYCODE.ENTER||(b.before("<br>"),B(b)),a=i,r=e.timeStamp)},!0),M.events.on("keyup",function(){n=1}))),b&&((e=M.$wp||M.$sc).append(d),d.data("instance",M),t=e.scrollTop()-("static"!=e.css("position")?e.offset().top:0),i=e.scrollLeft()-("static"!=e.css("position")?e.offset().left:0),i-=M.helpers.getPX(e.css("border-left-width")),t-=M.helpers.getPX(e.css("border-top-width")),M.$el.is("img")&&M.$sc.is("body")&&(i=t=0),s=$(),P()&&(s=s.find(".fr-img-wrap")),l=o=0,M.opts.iframe&&(o=M.helpers.getPX(M.$wp.find(".fr-iframe").css("padding-top")),l=M.helpers.getPX(M.$wp.find(".fr-iframe").css("padding-left"))),d.css("top",(M.opts.iframe?s.offset().top+o:s.offset().top+t)-1).css("left",(M.opts.iframe?s.offset().left+l:s.offset().left+i)-1).css("width",s.get(0).getBoundingClientRect().width).css("height",s.get(0).getBoundingClientRect().height).addClass("fr-active"))}function Q(e){return'<div class="fr-handler fr-h'.concat(e,'"></div>')}function ee(e){(P()?b.parents(".fr-img-caption"):b).css("width",e)}function te(e){if(!M.core.sameInstance(d))return!0;if(e.preventDefault(),e.stopPropagation(),M.$el.find("img.fr-error").left)return!1;M.undo.canDo()||M.undo.saveStep();var t=e.pageX||e.originalEvent.touches[0].pageX;if("mousedown"==e.type){var e=M.$oel.get(0).ownerDocument,e=e.defaultView||e.parentWindow,i=!1;try{i=e.location!=e.parent.location&&!(e.$&&e.$.FE)}catch(e){}i&&e.frameElement&&(t+=M.helpers.getPX(k(e.frameElement).offset().left)+e.frameElement.clientLeft)}(n=k(this)).data("start-x",t),n.data("start-width",b.width()),n.data("start-height",b.height());i=b.width();M.opts.imageResizeWithPercent&&(e=b.parentsUntil(M.$el,M.html.blockTagsQuery()).get(0)||M.el,i=(i/k(e).outerWidth()*100).toFixed(2)+"%"),ee(i),c.show(),M.popups.hideAll(),tt()}function ie(e){var t,i;return!M.core.sameInstance(d)||(n&&b?(e.preventDefault(),!M.$el.find("img.fr-error").left&&!!(e=e.pageX||(e.originalEvent.touches?e.originalEvent.touches[0].pageX:null))&&(e=e-n.data("start-x"),i=n.data("start-width"),(n.hasClass("fr-hnw")||n.hasClass("fr-hsw"))&&(e=0-e),M.opts.imageResizeWithPercent?(t=b.parentsUntil(M.$el,M.html.blockTagsQuery()).get(0)||M.el,i=((i+e)/k(t).outerWidth()*100).toFixed(2),M.opts.imageRoundPercent&&(i=Math.round(i)),ee("".concat(i,"%")),(t=(P()?M.helpers.getPX(b.parents(".fr-img-caption").css("width"))/k(t).outerWidth()*100:M.helpers.getPX(b.css("width"))/k(t).outerWidth()*100).toFixed(2))===i||M.opts.imageRoundPercent||ee("".concat(t,"%")),b.css("height","").removeAttr("height")):(i+e>=M.opts.imageMinWidth&&(ee(i+e),t=P()?M.helpers.getPX(b.parents(".fr-img-caption").css("width")):M.helpers.getPX(b.css("width"))),t!==i+e&&ee(t),((b.attr("style")||"").match(/(^height:)|(; *height:)/)||b.attr("height"))&&(b.css("height",n.data("start-height")*b.width()/n.data("start-width")),b.removeAttr("height"))),J(),void M.events.trigger("image.resize",[b]))):void 0)}function ne(e){if(!M.core.sameInstance(d))return!0;if(n&&b){if(e&&e.stopPropagation(),M.$el.find("img.fr-error").left)return!1;n=null,c.hide(),J(),M.undo.saveStep(),M.events.trigger("image.resizeEnd",[b])}else d.removeClass("fr-active")}function ae(){y.forEach(function(e,t){var i=M.popups.get("filesManager.insert");i.find(".fr-checkbox-file-"+t).get(0).disabled=!0,document.getElementById("fr-file-autoplay-button-"+t)&&(document.getElementById("fr-file-autoplay-button-"+t).disabled=!0,document.getElementById("fr-file-autoplay-button-"+t).parentElement.classList.add("fr-checkbox-disabled"),document.getElementById("fr-file-autoplay-button-"+t).parentElement.classList.remove("fr-files-checkbox")),i.find(".fr-checkbox-"+t).get(0).classList.remove("fr-files-checkbox"),i.find(".fr-checkbox-"+t).get(0).classList.add("fr-checkbox-disabled")})}function _(e,t,i,n){M.edit.on(),b&&b.addClass("fr-error"),r[e]?(e!=W&&e!=V&&e!=w||Me(100,n,!0),y.set(n,r[e]),ae(),y.forEach(function(e,t){M.popups.get("filesManager.insert"),document.getElementById("fr-file-edit-button-".concat(t))&&(document.getElementById("fr-file-edit-button-".concat(t)).classList.add("fr-disabled"),document.getElementById("fr-file-view-button-".concat(t)).classList.add("fr-disabled"),document.getElementById("fr-file-insert-button-".concat(t)).classList.add("fr-disabled"))}),oe(M.language.translate(r[e]),n)):oe(M.language.translate("Something went wrong. Please try again."),n),!b&&i&&Ge(i),M.events.trigger("filesManager.error",[{code:e,message:r[e]},t,i])}function D(){var e=M.popups.get("filesManager.insert"),t=e.find('.fr-command[data-cmd="insertAll"]'),e=e.find('.fr-command[data-cmd="deleteAll"]'),n=!0;I.forEach(function(e,t,i){I.get(t)&&(n=!1)}),n?t.addClass("fr-disabled"):t.removeClass("fr-disabled"),n?e.addClass("fr-disabled"):e.removeClass("fr-disabled")}function p(e){C.get(e)&&C.get(e).link&&M.events.trigger("filesManager.removed",[C.get(e).link]);var t=M.popups.get("filesManager.insert");void 0!==t.find(".fr-file-"+e).get(0)&&(t.find(".fr-file-"+e).get(0).outerHTML=""),C.delete(e),A.delete(e),I.delete(e),D(),0==A.size&&(f=0),y.delete(e),M.popups.setPopupDimensions(t,!0),M.opts.toolbarBottom?j(!0):M.popups.setPopupDimensions(t),t.find(".fr-upload-progress")&&0==A.size&&t.find(".fr-upload-progress").addClass("fr-none")}function re(){for(var e=M.popups.get("filesManager.insert"),t=e.find(".fr-insert-checkbox"),i=0;i<t.length;i++)t.get(i).children.target.checked=!1,e.find(".fr-file-"+t.get(i).id.split("-").pop()).get(0).classList.add("fr-unchecked");if(E)document.getElementById("fr-file-autoplay-button-".concat(E))&&(document.getElementById("fr-file-autoplay-button-".concat(E)).checked=!1),L=L.filter(function(e){return e!=E});else{for(var n=e.find(".fr-file-autoplay-button"),a=0;a<n.length;a++)n.get(a).checked=!1;L=[]}I=new Map,D()}function g(e){var t,i,n=M.popups.get("filesManager.insert");(n=n||$e()).find(".fr-layer.fr-active").removeClass("fr-active").addClass("fr-pactive"),n.find(".fr-files-progress-bar-layer").addClass("fr-active"),n.find(".fr-buttons").hide(),b&&(n=$(),M.popups.setContainer("filesManager.insert",M.$sc),t=n.offset().left,i=n.offset().top+n.height(),M.popups.show("filesManager.insert",t,i,n.outerHeight())),void 0===e&&S(M.language.translate("Uploading"),0)}function u(e){var t=M.popups.get("filesManager.insert");t&&(t.find(".fr-layer.fr-pactive").addClass("fr-active").removeClass("fr-pactive"),t.find(".fr-files-progress-bar-layer").removeClass("fr-active"),t.find(".fr-buttons").show(),e||M.$el.find("img.fr-error").length)&&(M.events.focus(),M.$el.find("img.fr-error").length&&(M.$el.find("img.fr-error").remove(),M.undo.saveStep(),M.undo.run(),M.undo.dropRedo()),!M.$wp&&b&&(t=b,O(!0),M.selection.setAfter(t.get(0)),M.selection.restore()),M.popups.hide("filesManager.insert"))}function S(e,t){var i=M.popups.get("filesManager.insert");i&&((i=i.find(".fr-files-progress-bar-layer")).find("h3").text(e+(t?" ".concat(t,"%"):"")),i.removeClass("fr-error"),t?(i.find("div").removeClass("fr-indeterminate"),i.find("div > span").css("width","".concat(t,"%"))):i.find("div").addClass("fr-indeterminate"))}function se(e){g();var t=M.popups.get("filesManager.insert").find(".fr-files-progress-bar-layer"),t=(t.addClass("fr-error"),t.find("h3"));t.text(e),M.events.disableBlur(),t.focus()}function oe(e,t){var i=M.popups.get("filesManager.insert"),n=i.find(".fr-upload-progress-layer"),i=i.find(".fr-file-".concat(t));n.addClass("fr-error"),i.find("h5").text(e)}r[Y]="File cannot be loaded from the passed link.",r[V]="No link in upload response.",r[W]="Error during file upload.",r[w]="Parsing response failed.",r[5]="File is too large.",r[6]="File type is invalid.",r[7]="Files can be uploaded only to same domain in IE 8 and IE 9.",r[8]="File is corrupted.",r[9]="Error during file loading.",r[10]="File upload cancelled";var le,de,ce,m,fe,pe,ge,ue,me,i,x="";function ve(e,t,i){e.scrollLeft+=t,e.scrollTop+=i}function he(e){for(M.helpers.isMobile()&&(fe=event.touches[0].clientX,pe=event.touches[0].clientY),m=e.target;!m.classList.contains(x);)m=m.parentElement;m.classList.contains(x)&&!m.classList.contains("fr-unchecked")?M.helpers.isMobile()&&m.classList.add("drag-sort-active"):m=void 0}function be(e){var t,i,n;if(void 0!==m){if(M.helpers.isMobile())for(i=fe,n=pe,t=event.target;!t.classList.contains(x);)t=t.parentElement;else i=event.clientX,n=event.clientY;M.helpers.isMobile()||!M.browser.safari&&!M.browser.mozilla||(i=de,n=ce);for(var a=document.elementFromPoint(i,n);a&&!a.classList.contains(x);)a=a.parentElement;if(a&&!a.classList.contains(x))a=void 0;else if(a&&m!==a){var r=m;var s=a;var o,l,d=r.parentNode,c=s.parentNode;if(d&&c&&!d.isEqualNode(s)&&!c.isEqualNode(r)){for(var f=0;f<d.children.length;f++)d.children[f].isEqualNode(r)&&(o=f);for(f=0;f<c.children.length;f++)c.children[f].isEqualNode(s)&&(l=f);d.isEqualNode(c)&&o<l&&l++,d.insertBefore(s,d.children[o]),c.insertBefore(r,c.children[l])}}M.helpers.isMobile()&&(t.classList.remove("fr-hovered-over-file"),a.classList.remove("fr-hovered-over-file"))}}function T(e){var t,i,n=M.popups.get("filesManager.insert"),a=(n.find(".fr-upload-progress-layer").hasClass("fr-active")||n.find(".fr-upload-progress-layer").addClass("fr-active"),n.find(".fr-upload-progress").removeClass("fr-none"),A.get(e)),r=function(t){var i,n={weekday:"long",year:"numeric",month:"long",day:"numeric"};try{i=t.toLocaleDateString(M.opts.language||void 0,n)}catch(e){i=t.toLocaleDateString(void 0,n)}return i+""}(new Date),s=I.get(e)?"":"fr-unchecked ",s="\n <div id='fr-file-".concat(e,"' class='fr-file-list-item fr-file-").concat(e," ").concat(s,"' draggable = \"").concat(!s,'" >\n <div class=\'fr-file-item-left\' >\n\n \n <div class="fr-file-item-insert-checkbox fr-files-checkbox-line">\n ').concat(M.helpers.isMobile()?"<div id='fr-pick-".concat(e,"}' class='dot'>\n </div>"):"",'\n <div id="checkbox-key-').concat(e,'" class="fr-files-checkbox fr-insert-checkbox fr-checkbox-').concat(e,'">\n <input name="target" class="fr-insert-attr fr-checkbox-file-').concat(e,' fr-file-insert-check" data-cmd="fileInsertCheckbox"\n data-checked="_blank" type="checkbox" id="fr-link-target-').concat(M.id,'" tabIndex="0" />\n <span>').concat('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="10" height="10" viewBox="0 0 32 32"><path d="M27 4l-15 15-7-7-5 5 12 12 20-20z" fill="#FFF"></path></svg>','\n </span>\n </div>\n <label id="fr-label-target-').concat(M.id,"\"></label>\n </div>\n \n <div class='fr-file-item-icon fr-file-item-icon-").concat(e,"' >\n <img src='https://secure.webtoolhub.com/static/resources/icons/set112/f2afb6f7.png' alt='Image preview' class='thumbnail-padding' height='36px' width='36px' />\n </div>\n\n <div class='fr-file-item-description' >\n <div class='fr-file-name fr-files-manager-tooltip'>\n ").concat((s=a.name,t=20,null==i&&(i="..."),s.length>(t=null==t?100:t)?s.substring(0,t-i.length)+i:s),'\n <span class="').concat(20<a.name.length?"tooltiptext":"fr-none",'">').concat(a.name,"\n </span>\n </div>\n <div class='fr-file-details'>\n <div class='fr-file-date'>").concat(r,"\n </div>\n \n <div class='fr-file-size'>\n ").concat(0==(t=a.size)?"0 Bytes":(i=Math.floor(Math.log(t)/Math.log(1024))," | "+ +(t/Math.pow(1024,i)).toFixed(2)+" "+["Bytes","KB","MB","GB","TB"][i]),"\n </div>\n </div>\n\n <div class='fr-file-error'>\n <h5 class='fr-file-error-h5'></h5>\n </div>\n </div>\n \n </div>\n\n <div class='fr-file-item-right fr-file-item-right-").concat(e,"'>")+xe(e)+"</div>\n </div>";n.find(".fr-upload-progress-layer")[0].innerHTML=s+n.find(".fr-upload-progress-layer")[0].innerHTML,A.forEach(function(e,t,i){I.get(t)&&n.find("input.fr-insert-attr.fr-checkbox-file-".concat(t))[0].setAttribute("checked",null)}),L.forEach(function(e){document.getElementById("fr-file-autoplay-button-"+e).checked=!0}),we(e,a),u(),M.opts.toolbarBottom?j(!0):M.popups.setPopupDimensions(n),x=r="fr-file-list-item",le=document.getElementsByClassName(r),Array.prototype.map.call(le,function(e){(e=e).addEventListener("dragover",function(e){e.preventDefault(),e.stopPropagation(),de=e.pageX,ce=e.pageY;e=document.getElementById("filesList");ce+20>e.getBoundingClientRect().bottom&&ve(e,0,10),ce-20<e.getBoundingClientRect().top&&ve(e,0,-10)},!1),M.helpers.isMobile()&&e.getElementsByClassName("dot")[0].addEventListener("touchmove",function(e){e.preventDefault(),e.stopPropagation();for(var t=e.target;t&&!t.classList.contains(x);)t=t.parentElement;for(var i=document.elementFromPoint(e.targetTouches[0].clientX,e.targetTouches[0].clientY);i&&!i.classList.contains(x);)i=i.parentElement;var n=document.getElementsByClassName("fr-hovered-over-file"),n=(Array.prototype.forEach.call(n,function(e){e.classList.remove("fr-hovered-over-file")}),i&&!t.classList.contains("fr-unchecked")&&i.classList.add("fr-hovered-over-file"),document.getElementById("filesList"));e.targetTouches[0].clientY+5>n.getBoundingClientRect().bottom&&ve(n,0,5),e.targetTouches[0].clientY-5<n.getBoundingClientRect().top&&ve(n,0,-5)},!1),e.ondrag=he,e.ondragend=be,M.helpers.isMobile()&&((e=e.getElementsByClassName("dot"))[0].addEventListener("touchmove",he,!1),e[0].addEventListener("touchend",be,!1))})}function ye(e){switch(e){case"application/msword":return M.icon.getFileIcon("docIcon");case"application/vnd.openxmlformats-officedocument.wordprocessingml.document":return M.icon.getFileIcon("docxIcon");case"image/gif":return M.icon.getFileIcon("gifIcon");case"image/jpeg":return M.icon.getFileIcon("jpegIcon");case"image/jpeg":return M.icon.getFileIcon("jpgIcon");case"type/text":return M.icon.getFileIcon("logIcon");case"video/quicktime":return M.icon.getFileIcon("movIcon");case"audio/mp3":case"audio/mpeg":return M.icon.getFileIcon("mp3Icon");case"video/mp4":return M.icon.getFileIcon("mp4Icon");case"audio/ogg":return M.icon.getFileIcon("oggIcon");case"video/ogg":return M.icon.getFileIcon("ogvIcon");case"application/pdf":return M.icon.getFileIcon("pdfIcon");case"image/png":return M.icon.getFileIcon("pngIcon");case"text/plain":return M.icon.getFileIcon("txtIcon");case"video/webm":return M.icon.getFileIcon("webmIcon");case"image/webp":return M.icon.getFileIcon("webpIcon");case"video/x-ms-wmv":return M.icon.getFileIcon("wmvIcon");case"application/vnd.ms-excel":return M.icon.getFileIcon("xlsIcon");case"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":return M.icon.getFileIcon("xlsxIcon");case"application/x-zip-compressed":case"application/zip":return M.icon.getFileIcon("zipIcon");default:return M.icon.getFileIcon("defaultIcon")}}function we(n,a,e){var r,s=M.popups.get("filesManager.insert"),t=s.find(".fr-file-item-icon-"+n).get(0);U(R(a))&&"image/gif"!=R(a)&&"image/webp"!=R(a)?("a"!=t.children[0].localName&&(t.innerHTML="<a target='_blank' href=''>"+t.innerHTML+"</a>"),s.find(".fr-file-item-icon-"+n).get(0).children[0].children[0],r=new FileReader,null!=e&&e&&(e=A.get(n),a.name=e.name,A.set(n,a)),r.onloadend=function(){s.find(".fr-file-item-icon-"+n).get(0).children[0].children[0].src=r.result;for(var e=atob(r.result.split(",")[1]),t=[],i=0;i<e.length;i++)t.push(e.charCodeAt(i));s.find(".fr-file-item-icon-"+n).get(0).children[0].href=window.URL.createObjectURL(new Blob([new Uint8Array(t)],{type:R(a)})),s.find(".fr-file-item-icon-"+n).get(0).classList.add("file-item-thumbnail-hover")},a?r.readAsDataURL(a):(e=ye(R(a)),t.innerHTML='<svg height="40px" width="40px" viewBox="0 0 55 5" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n '.concat(e.path,"\n </svg>"))):(e=ye(R(a)),t.innerHTML='<svg height="40px" width="40px" viewBox="0 0 55 55" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n '.concat(e.path,"\n </svg>"))}function xe(e){var t="",i=(Ue(R(A.get(e)))&&(i="fr-files-checkbox",n="",Oe(R(A.get(e)))||(i="fr-checkbox-disabled",n="disabled"),t='\n <div class="fr-files-checkbox-line align-autoplay">\n <div id="checkbox-key-'.concat(e,'" class="').concat(i," fr-autoplay-checkbox fr-checkbox-").concat(e,'"> \n \n <input type="checkbox" id="fr-file-autoplay-button-').concat(e,'" class="fr-file-button-').concat(e,' fr-file-autoplay-button" data-title="Edit" data-param1="').concat(e,'" role="button" ').concat(n,"/>\n\n <span>").concat('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="10" height="10" viewBox="0 0 32 32"><path d="M27 4l-15 15-7-7-5 5 12 12 20-20z" fill="#FFF"></path></svg>'," </span>\n </div> \n <label class='fr-autoplay-checkbox-label'>Autoplay </label>\n </div>")),"application/msword"),n="application/vnd.openxmlformats-officedocument.wordprocessingml.document",a="";return!ze(R(A.get(e)))&&Oe(R(A.get(e)))||(s="fr-disabled"),Ue(R(A.get(e)))&&(s="fr-disabled"),z(R(A.get(e)))&&(s="fr-disabled",R(A.get(e))!=i&&R(A.get(e))!=n||M.opts.googleOptions&&!M.helpers.isMobile()&&M.opts.googleOptions.API_KEY&&M.opts.googleOptions.CLIENT_ID&&(s=""),"text/plain"!=R(A.get(e))&&R(A.get(e))!=i&&"application/pdf"!=R(A.get(e))&&R(A.get(e))!=n&&"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"!=R(A.get(e))&&"application/vnd.ms-excel"!=R(A.get(e))&&"type/text"!=R(A.get(e))||(a="")),"video/url"===R(A.get(e))&&(s="fr-disabled"),t+'<div class=\'fr-file-item-action-buttons\' >\n <button type="button" id="fr-file-insert-button-'.concat(e,'" class=" fr-doc-edit-').concat(e," fr-img-icon fr-btn fr-command fr-submit fr-file-action-icons \n fr-file-button-").concat(e," fr-file-insert-button-").concat(e,' fr-file-insert-button" data-cmd="imageInsertByUpload" data-title="Insert" data-param1="').concat(e,'" tabIndex="2" role="button">\n <svg style=\'margin:0px !important; opacity:0.9\' class = "fr-svg" focusable="false" width="16px" height="16px" viewBox = "-5 0 28 28" xlmns = "http://w3.org/200/svg"><path d = \'M 9.25 12 L 6.75 12 C 6.335938 12 6 11.664062 6 11.25 L 6 6 L 3.257812 6 C 2.703125 6 2.425781 5.328125 2.820312 4.933594 L 7.570312 0.179688 C 7.804688 -0.0546875 8.191406 -0.0546875 8.425781 0.179688 L 13.179688 4.933594 C 13.574219 5.328125 13.296875 6 12.742188 6 L 10 6 L 10 11.25 C 10 11.664062 9.664062 12 9.25 12 Z M 16 11.75 L 16 15.25 C 16 15.664062 15.664062 16 15.25 16 L 0.75 16 C 0.335938 16 0 15.664062 0 15.25 L 0 11.75 C 0 11.335938 0.335938 11 0.75 11 L 5 11 L 5 11.25 C 5 12.214844 5.785156 13 6.75 13 L 9.25 13 C 10.214844 13 11 12.214844 11 11.25 L 11 11 L 15.25 11 C 15.664062 11 16 11.335938 16 11.75 Z M 12.125 14.5 C 12.125 14.15625 11.84375 13.875 11.5 13.875 C 11.15625 13.875 10.875 14.15625 10.875 14.5 C 10.875 14.84375 11.15625 15.125 11.5 15.125 C 11.84375 15.125 12.125 14.84375 12.125 14.5 Z M 14.125 14.5 C 14.125 14.15625 13.84375 13.875 13.5 13.875 C 13.15625 13.875 12.875 14.15625 12.875 14.5 C 12.875 14.84375 13.15625 15.125 13.5 15.125 C 13.84375 15.125 14.125 14.84375 14.125 14.5 Z M 14.125 14.5 \'></path></svg>\n </button>\n\n <button type="button" id="fr-file-edit-button-').concat(e,'" class=" fr-doc-edit-').concat(e," ").concat(s," fr-img-icon fr-btn fr-command fr-submit \n fr-file-action-icons fr-file-edit-button-").concat(e," fr-file-button-").concat(e,' fr-file-edit-button" data-cmd="editImage" data-title="Edit" data-param1="').concat(e,'" role="button">\n <svg style=\'margin:0px !important; opacity:0.9\' class = "fr-svg" focusable="false" width="16px" height="16px" viewBox = "0 4 25 25" xlmns = "http://w3.org/200/svg"><path d = \'M17,11.2L12.8,7L5,14.8V19h4.2L17,11.2z M7,16.8v-1.5l5.6-5.6l1.4,1.5l-5.6,5.6H7z M13.5,6.3l0.7-0.7c0.8-0.8,2.1-0.8,2.8,0 c0,0,0,0,0,0L18.4,7c0.8,0.8,0.8,2,0,2.8l-0.7,0.7L13.5,6.3z\'></path></svg>\n </button>\n \n <span class="fr-file-view-').concat(e,'"><button type="button" id="fr-file-view-button-').concat(e,'" class=" fr-doc-edit-').concat(e," ").concat(a," fr-img-icon fr-btn fr-command fr-submit fr-file-action-icons \n fr-file-view-button-").concat(e,' fr-file-view-button" data-cmd="viewImage" data-title="View" data-param1="').concat(e,'" tabIndex="2" role="button">\n <svg style=\'margin:0px !important; opacity:0.9\' class = "fr-svg" focusable="false" width="16px" height="16px" viewBox = "15 19 21 21" xlmns = "http://w3.org/200/svg"> <path style="fill:none;stroke-width:0.9077;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 19.086094 16.541466 C 16.185625 16.541466 14.318281 19.447115 14.318281 19.447115 L 14.318281 19.555288 C 14.318281 19.555288 16.176719 22.475962 19.077187 22.475962 C 21.977656 22.475962 23.847969 19.576322 23.847969 19.576322 L 23.847969 19.465144 C 23.847969 19.465144 21.989531 16.541466 19.086094 16.541466 Z M 19.07125 21.024639 C 18.248906 21.024639 17.583906 20.357572 17.583906 19.53726 C 17.583906 18.716947 18.248906 18.04988 19.07125 18.04988 C 19.890625 18.04988 20.555625 18.716947 20.555625 19.53726 C 20.555625 20.357572 19.890625 21.024639 19.07125 21.024639 Z M 19.07125 21.024639 " transform="matrix(1.315789,0,0,1.3,0,0)"/></svg></button></span>\n\n <button type="button" id="fr-file-delete-button-').concat(e,'" class=" fr-doc-edit-').concat(e," fr-img-icon fr-btn fr-command fr-submit fr-file-action-icons\n fr-file-button-").concat(e,' fr-file-delete-button" data-cmd="deleteImage" data-title="Delete" data-param1="').concat(e,'" role="button">\n <svg style=\'margin:0px !important; opacity:0.9\' class = "fr-svg" focusable="false" width="16px" height="16px" viewBox = "-2 3 30 30" xlmns = "http://w3.org/200/svg"><path d = \'M15,10v8H9v-8H15 M14,4H9.9l-1,1H6v2h12V5h-3L14,4z M17,8H7v10c0,1.1,0.9,2,2,2h6c1.1,0,2-0.9,2-2V8z\'></path></svg>\n </button>\n \n </div>\n <div id="user_area-').concat(e,"\" style=\"display: none;\">\n \n <div id=\"file_container\"></div>\n\n <div style='display:block;text-align: center; margin-left:50%; id='edit-file-loader' class='fr-file-loader'></div>\n\n </div> \n ")}function Me(e,t,i){var n,a,r=M.popups.get("filesManager.insert");if(!i&&e<=100)return r.find(".fr-checkbox-file-"+t).get(0).disabled=!0,r.find(".fr-checkbox-"+t).get(0).classList.remove("fr-files-checkbox"),r.find(".fr-checkbox-"+t).get(0).classList.add("fr-checkbox-disabled"),n=r.find(".fr-file-progress-circle-"+t),a=r.find(".fr-file-upload-percent-"+t),50<e?n.get(0).setAttribute("class","fr-file-progress-circle-"+t+" progress-circle p"+Math.floor(e)+" over50"):n.get(0).setAttribute("class","fr-file-progress-circle-"+t+" progress-circle p"+Math.floor(e)),a.get(0).innerHTML=Math.floor(e)+"%",Ee(t,e,i);i&&(r.find(".fr-checkbox-file-"+t).get(0).disabled=!1,r.find(".fr-checkbox-"+t).get(0).classList.remove("fr-checkbox-disabled"),r.find(".fr-checkbox-"+t).get(0).classList.add("fr-files-checkbox"),r.find(".fr-file-item-right-"+t).get(0).innerHTML=xe(t),Ee(t,100,i))}function Ee(e,t,i){var n=M.popups.get("filesManager.insert"),a=(n.find(".fr-progress-bar").removeClass("fr-none").addClass("fr-display-block"),n.find(".fr-upload-progress").hasClass("fr-height-set")&&M.popups.setFileListHeight(n),0);h.set(e,t),h.forEach(function(e,t){a+=e}),a/=h.size,100==t&&i&&l++,n.find('.fr-command[data-cmd="filesUpload"]').addClass("fr-disabled"),n.find('.fr-command[data-cmd="filesByURL"]').addClass("fr-disabled"),n.find('.fr-command[data-cmd="filesEmbed"]').addClass("fr-disabled"),n.find(".fr-progress-bar").get(0).style.width=a+"%",l==h.size&&(n.find(".fr-progress-bar").removeClass("fr-display-block").addClass("fr-none"),h=new Map,l=0,n.find('.fr-command[data-cmd="filesUpload"]').removeClass("fr-disabled"),n.find('.fr-command[data-cmd="filesByURL"]').removeClass("fr-disabled"),n.find('.fr-command[data-cmd="filesEmbed"]').removeClass("fr-disabled"))}function ke(i,n){u(),M.popups.get("filesManager.insert").find(".fr-upload-progress-layer").addClass("fr-active"),i.forEach(function(e,t){U(R(e))&&M.opts.imageUploadRemoteUrls&&M.opts.imageCORSProxy&&M.opts.imageUpload?Te(e,i,0,n[t]):C.set(n[t],e)})}function B(e){e&&e.get&&function(e){if("false"==k(this).parents("[contenteditable]").not(".fr-element").not(".fr-img-caption").not("body").first().attr("contenteditable"))return!0;if(e&&"touchend"==e.type&&i)return!0;if(e&&M.edit.isDisabled())return e.stopPropagation(),e.preventDefault(),!1;for(var t=0;t<nt.INSTANCES.length;t++)nt.INSTANCES[t]!=M&&nt.INSTANCES[t].events.trigger("image.hideResizer");M.toolbar.disable(),e&&(e.stopPropagation(),e.preventDefault()),M.helpers.isMobile()&&(M.events.disableBlur(),M.$el.blur(),M.events.enableBlur()),M.opts.iframe&&M.size.syncIframe(),b=k(this),J(),M.browser.msie?(M.popups.areVisible()&&M.events.disableBlur(),M.win.getSelection&&(M.win.getSelection().removeAllRanges(),M.win.getSelection().addRange(M.doc.createRange()))):M.selection.clear(),M.helpers.isIOS()&&(M.events.disableBlur(),M.$el.blur()),M.button.bulkRefresh(),M.events.trigger("video.hideResizer")}.call(e.get(0))}function Ae(){var e=k(this);e.removeClass("fr-uploading"),e.next().is("br")&&e.next().remove(),(0==a.length||0<a.length&&a.length==H)&&(o=e),"VIDEO"==e.get(0).tagName||"AUDIO"==e.get(0).tagName?M.selection.setAfter(e.parent()):M.selection.setAfter(e),M.undo.saveStep(),M.events.trigger("filesManager.loaded",[e]),Ie(a)}function Ce(){for(var e=Array.prototype.slice.call(M.el.querySelectorAll("video, .fr-video > *")),t=[],i=0;i<e.length;i++)t.push(e[i].getAttribute("src")),k(e[i]).toggleClass("fr-draggable",M.opts.videoMove),""===e[i].getAttribute("class")&&e[i].removeAttribute("class"),""===e[i].getAttribute("style")&&e[i].removeAttribute("style");if(ge)for(i=0;i<ge.length;i++)t.indexOf(ge[i].getAttribute("src"))<0&&M.events.trigger("video.removed",[k(ge[i])]);ge=e}function Ie(e){if(null!=e){if(0==e.length)return null!=o&&("VIDEO"==o.get(0).tagName?M.video._editVideo(o.parent()):"IMG"==o.get(0).tagName?M.image.edit(o):o.trigger("click"),M.toolbar.disable());_e(e.shift(),e)}}function Le(e){var t,i,c,n,a,f,p,g,u,r,s=!1;function o(){gapi.client.init({apiKey:c.apiKey,clientId:c.clientId,discoveryDocs:a,scope:"https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/drive.file https://www.googleapis.com/auth/drive.appdata"}).then(function(){gapi.auth2.getAuthInstance().isSignedIn.listen(l),l(gapi.auth2.getAuthInstance().isSignedIn.get()),!gapi.auth2.getAuthInstance().isSignedIn.get()||void 0!==gapi.auth.getToken()&&void 0===gapi.auth.getToken().access_token?Promise.resolve(gapi.auth2.getAuthInstance().signIn()).then(function(){m()}):m()},function(e){c.events.onError(e)})}function l(e){e&&(r.style.display="block")}function d(e){var t=gapi.auth.getToken().access_token,t="https://docs.google.com/feeds/download/documents/export/Export?id="+n+"&format=docx&access_token="+t,i=new XMLHttpRequest;i.open("get",t),i.responseType="arraybuffer",i.onload=function(){var e=new Blob([new Uint8Array(this.response)],{type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}),t=A.get(c.fileIndex);e.name=t.name,e.lastModified=t.lastModified,e.lastModifiedDate=t.lastModifiedDate,A.set(c.fileIndex,e),M.filesManager.upload(e,C,b,c.fileIndex),h()},i.send()}function m(){for(var e=c.fileIndex,t=document.getElementsByClassName("fr-doc-edit-".concat(e)),i=0;i<t.length;i++)t[i].setAttribute("disabled",!0),t[i].classList.add("fr-disabled");var o,l,d,e=c.file;e?(o=e,l=v,(d=new FileReader).readAsArrayBuffer(o),d.onload=function(e){for(var t={title:o.name,mimeType:"application/vnd.google-apps.document"},i="",n=new Uint8Array(d.result),a=n.byteLength,r=0;r<a;r++)i+=String.fromCharCode(n[r]);var s=btoa(i),t=g+"Content-Type: application/json; charset=UTF-8\r\n\r\n"+JSON.stringify(t)+g+"Content-Type: application/octet-stream\r\nContent-Transfer-Encoding: base64\r\n\r\n"+s+u,s=gapi.client.request({path:"/upload/drive/v2/files",method:"POST",params:{uploadType:"multipart",fields:f},headers:{"Content-Type":'multipart/related; boundary="'+p+'"',"Content-Length":t.Length},body:t});l=l||function(e){},s.execute(function(e,t){e.error?c.events.onError(e.error):l(e)})}):c.events.onInvalidFile("File is not selected")}function v(e){n=e.id;var e="https://docs.google.com/document/d/"+e.id+"/edit",t=M.o_doc.body,i=M.o_doc.createElement("div");i.setAttribute("id","editDocContainer"),i.style.cssText="position: fixed; top: 0;left: 0;padding: 0;width: 100%;height: 100%;background: rgba(255,255,255,1);z-index: 9998;display:block",i.innerHTML='<div style="margin-top:25px; text-align:center"><label>Sign Out : </label><input type="checkbox" id ="markSignOut" role="button"/> <button id="signout_button" class="fr-trim-button" >Save </button> <button id="cancel_file_edit" class="fr-trim-button">Cancel</button></div> <iframe title="Edit your file" frameBorder="0" width="100%" height="700px" src="'+e+'"></iframe>',t.appendChild(i),document.getElementById("signout_button").onclick=d,document.getElementById("cancel_file_edit").onclick=h}function h(){document.getElementById("markSignOut").checked&&gapi.auth2.getAuthInstance().signOut().then(function(){gapi.auth.getToken()&&(gapi.auth.getToken().access_token=void 0)});for(var e=document.getElementById("editDocContainer"),e=(e.parentNode.removeChild(e),document.getElementById("user_area-".concat(c.fileIndex))&&(document.getElementById("user_area-".concat(c.fileIndex)).style.display="none"),c.fileIndex),t=document.getElementsByClassName("fr-doc-edit-".concat(e)),i=0;i<t.length;i++)t[i].removeAttribute("disabled"),t[i].classList.remove("fr-disabled")}Ue(R(C.get(e)))?(M.trimVideoPlugin.trimVideo(A.get(e),e,A),s=!0):U(R(C.get(e)))?(i=C.get(e).link,(t=M.o_doc.createElement("img")).src=i,b=t,F=e,M.imageTUI.launch(M,!1,e),s=!0):z(R(C.get(e)))&&(i={apiKey:M.opts.googleOptions.API_KEY,clientId:M.opts.googleOptions.CLIENT_ID,authorizeButton:"authorize_button-".concat(e),signoutButton:"signout_button",userArea:"user_area-".concat(e),fileInput:"file_input",fileIndex:e,file:A.get(e),fileContainer:"file_container",loadingText:"File is being uploaded...",events:{onInvalidFile:function(e){},onError:function(e){}}},c=i,a=["https://www.googleapis.com/discovery/v1/apis/drive/v2/rest"],f="id,title,mimeType,userPermission,editable,copyable,shared,fileSize",g="\r\n--"+(p="-------314159265358979323846")+"\r\n",u="\r\n--"+p+"--",document.getElementById(c.authorizeButton),r=document.getElementById(c.userArea),c.events||(c.events={}),c.events.onInvalidFile=c.events.onInvalidFile||function(e){},c.events.onError=c.events.onError||function(e){},me={handleClientLoad:function(){gapi.load("client:auth2",o)}},t=function(){},0!=(e=["https://apis.google.com/js/api.js"]).length?(e=e.shift(),(i=document.createElement("script")).src=e,i.onload=function(){this.onload=function(){},me.handleClientLoad()},i.onreadystatechange=function(){"complete"===this.readyState&&this.onload()},(document.getElementsByTagName("head")[0]||document.body).appendChild(i)):t&&t()),s&&(N=!0)}function R(e){var i,n;return""!=e.type?e.type:e.name&&e.name.endsWith(".msg")?i="application/vnd.ms-outlook":(n=/(?:\.([^.]+))?$/.exec(e.name)[1],[[".doc","application/msword"],[".docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],[".gif","image/gif"],[".jpeg","image/jpeg"],[".jpg","image/jpeg"],[".txt","text/plain"],[".log","type/text"],[".mov","video/quicktime"],[".mp3","audio/mpeg"],[".mp4","video/mp4"],[".ogg","audio/ogg"],[".ogv","video/ogg"],[".pdf","application/pdf"],[".png","image/png"],[".webm","video/webm"],[".webp","image/webp"],[".wmv","video/x-ms-wmv"],[".xls","application/vnd.ms-excel"],[".xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],[".zip","application/x-zip-compressed"]].forEach(function(e,t){e[0]==".".concat(n)&&(i=e[1])}),i)}function _e(t,e){if(z(R(C.get(t)))||!Oe(R(C.get(t)))){var i=C.get(t).link,n=C.get(t).text,a=(!n&&A.get(t)&&A.get(t).name&&(n=A.get(t).name),C.get(t).response),i=(M.edit.on(),M.events.focus(!0),M.selection.restore(),M.opts.fileUseSelectedText&&M.selection.text().length&&(n=M.selection.text()),M.html.insert('<a href="'.concat(i,'" target="_blank" id="fr-inserted-file" class="fr-file">').concat(n,"</a>")),M.$el.find("#fr-inserted-file"));i.removeAttr("id"),M.undo.saveStep();for(var r=Array.prototype.slice.call(M.el.querySelectorAll("a.fr-file")),s=[],o=0;o<r.length;o++)s.push(r[o].getAttribute("href"));if(ue)for(o=0;o<ue.length;o++)s.indexOf(ue[o].getAttribute("href"))<0&&M.events.trigger("file.unlink",[ue[o]]);ue=r,M.selection.clear(),M.selection.setAfter(i),M.events.trigger("file.inserted",[i,a]),Ie(e)}var l,d,c,f;if(U(R(C.get(t)))&&Oe(R(C.get(t)))&&(l=C.get(t).link,n=C.get(t).sanitize,d=C.get(t).data,c=C.get(t).$existing_img,f=C.get(t).response,c&&"string"==typeof c&&(c=M.$(c)),M.edit.off(),S(M.language.translate("Loading image")),n&&(l=M.helpers.sanitizeURL(l)),(i=new Image).onload=function(){var e,t;if(c){M.undo.canDo()||c.hasClass("fr-uploading")||M.undo.saveStep();var i=c.data("fr-old-src");c.data("fr-image-pasted")&&(i=null),M.$wp?((e=c.clone().removeData("fr-old-src").removeClass("fr-uploading").removeAttr("data-fr-image-pasted")).off("load"),i&&c.attr("src",i),c.replaceWith(e)):e=c;for(var n=e.get(0).attributes,a=0;a<n.length;a++){var r=n[a];0===r.nodeName.indexOf("data-")&&e.removeAttr(r.nodeName)}if(void 0!==d)for(t in d)d.hasOwnProperty(t)&&"link"!=t&&e.attr("data-".concat(t),d[t]);e.on("load",Ae),e.attr("src",l),M.edit.on(),M.undo.saveStep(),M.events.disableBlur(),M.$el.blur(),M.events.trigger(i?"image.replaced":"image.inserted",[e,f])}else e=function(e,t,i){var n,a=k(document.createElement("img")).attr("src",e);if(t&&void 0!==t)for(n in t)t.hasOwnProperty(n)&&"link"!=n&&(" data-".concat(n,'="').concat(t[n],'"'),a.attr("data-".concat(n),t[n]));e=M.opts.imageDefaultWidth,e&&"auto"!=e&&(e=M.opts.imageResizeWithPercent?"100%":"".concat(e,"px")),a.attr("style",e?"width: ".concat(e,";"):""),it(a,M.opts.imageDefaultDisplay,M.opts.imageDefaultAlign),a.on("load",i),a.on("error",i),M.edit.on(),M.events.focus(!0),M.selection.restore(),M.undo.saveStep(),M.opts.imageSplitHTML?M.markers.split():M.markers.insert(),M.html.wrap(),e=M.$el.find(".fr-marker");return e.length?(e.parent().is("hr")&&e.parent().after(e),M.node.isLastSibling(e)&&e.parent().hasClass("fr-deletable")&&e.insertAfter(e.parent()),e.replaceWith(a)):M.$el.append(a),a}(l,d,Ae),M.undo.saveStep(),M.events.disableBlur(),M.$el.blur(),M.events.trigger("image.inserted",[e,f])},i.onerror=function(){_(Y,null,null,t),Ie(e)},i.src=l),(Ue(R(C.get(t)))||ze(R(C.get(t))))&&Oe(R(C.get(t))))if(E=t,"video/url"==R(C.get(t))){var a=!1,n=((a=void 0!==document.getElementById("fr-file-autoplay-button-"+t)?document.getElementById("fr-file-autoplay-button-"+t).checked:a)&&void 0!==C.get(t)&&-1<C.get(t).video.indexOf("iframe")&&C.get(t).video.indexOf("autoplay=1")<0?(n="&",(i=(i=(i=C.get(t).video.substring(C.get(t).video.indexOf("src")+3)).substring(i.indexOf('"')+1)).substring(0,i.indexOf('"'))).indexOf("?")<0&&(n="?"),C.get(t).video=C.get(t).video.replace(i,i+=n+"autoplay=1&mute=1")):!a&&C.get(t).video.indexOf(!1)&&(-1<C.get(t).video.indexOf("&autoplay=1")&&(C.get(t).video=C.get(t).video.replace("&autoplay=1","")),-1<C.get(t).video.indexOf("?autoplay=1"))&&(C.get(t).video=C.get(t).video.replace("?autoplay=1","")),M.events.focus(!0),M.selection.restore(),M.html.insert('<span contenteditable="false" draggable="true" class="fr-jiv fr-video fr-deletable">'.concat(C.get(t).video,"</span>"),!1,M.opts.videoSplitHTML),M.popups.hide("filesManager.insert"),M.$el.find(".fr-jiv"));n.removeClass("fr-jiv"),n.toggleClass("fr-rv",M.opts.videoResponsive),i=n,a=M.opts.videoDefaultDisplay,u=M.opts.videoDefaultAlign,!M.opts.htmlUntouched&&M.opts.useClasses?(i.removeClass("fr-fvl fr-fvr fr-dvb fr-dvi"),i.addClass("fr-fv".concat(u[0]," fr-dv").concat(a[0]))):"inline"==a?(i.css({display:"inline-block"}),"center"==u?i.css({float:"none"}):"left"==u?i.css({float:"left"}):i.css({float:"right"})):(i.css({display:"block",clear:"both"}),"left"==u?i.css({textAlign:"left"}):"right"==u?i.css({textAlign:"right"}):i.css({textAlign:"center"})),n.toggleClass("fr-draggable",M.opts.videoMove),M.events.trigger("video.inserted",[n]),Ae.call(n)}else{var p,g,u=C.get(t).link,n=C.get(t).sanitize,m=C.get(t).data,v=C.get(t).$existing_img,h=C.get(t).response;if(M.edit.off(),n&&(u=M.helpers.sanitizeURL(u)),v){M.undo.canDo()||v.find("video").hasClass("fr-uploading")||M.undo.saveStep();var n=v.find("video").data("fr-old-src"),b=v.data("fr-replaced");v.data("fr-replaced",!1),M.$wp?((p=v.clone(!0)).find("video").removeData("fr-old-src").removeClass("fr-uploading"),p.find("video").off("canplay"),n&&v.find("video").attr("src",n),v.replaceWith(p)):p=v;for(var y=p.find("video").get(0).attributes,w=0;w<y.length;w++){var x=y[w];0===x.nodeName.indexOf("data-")&&p.find("video").removeAttr(x.nodeName)}if(void 0!==m)for(g in m)m.hasOwnProperty(g)&&"link"!=g&&p.find("video").attr("data-".concat(g),m[g]);p.find("video").on("canplay",Ae),p.find("video").attr("src",u),M.edit.on(),Ce(),M.undo.saveStep(),M.$el.blur(),M.events.trigger(b?"video.replaced":"video.inserted",[p,h])}else p=function(e,t,i,n,a){var r,s="";if(t&&void 0!==t)for(r in t)t.hasOwnProperty(r)&&"link"!=r&&(s+=" data-".concat(r,'="').concat(t[r],'"'));var o,l=M.opts.videoDefaultWidth,e=(l&&"auto"!=l&&(l="".concat(l,"px")),(a=ze(n)?k(document.createElement("span")).attr("contenteditable","false").attr("draggable","true").attr("class","fr-video fr-dv"+M.opts.videoDefaultDisplay[0]+("center"!=M.opts.videoDefaultAlign?" fr-fv"+M.opts.videoDefaultAlign[0]:"")).html('<audio src="'+e+'" '+s+" controls>"+M.language.translate("Your browser does not support HTML5 video.")+"</audio>"):(o="",document.getElementById("fr-file-autoplay-button-"+a).checked&&(o="autoplay"),k(document.createElement("span")).attr("contenteditable","false").attr("draggable","true").attr("class","fr-video fr-dv"+M.opts.videoDefaultDisplay[0]+("center"!=M.opts.videoDefaultAlign?" fr-fv"+M.opts.videoDefaultAlign[0]:"")).html('<video src="'+e+'" '+s+(l?' style="width: '+l+';" ':"")+o+" controls>"+M.language.translate("Your browser does not support HTML5 video.")+"</video>"))).toggleClass("fr-draggable",M.opts.videoMove),M.edit.on(),M.events.focus(!0),M.selection.restore(),M.undo.saveStep(),M.opts.videoSplitHTML?M.markers.split():M.markers.insert(),M.html.wrap(),M.$el.find(".fr-marker")),l=(M.node.isLastSibling(e)&&e.parent().hasClass("fr-deletable")&&e.insertAfter(e.parent()),e.replaceWith(a),ze(n)?"audio":"video");return a.find(l).get(0).readyState>a.find(l).get(0).HAVE_FUTURE_DATA||M.helpers.isIOS()?i.call(a.find(l).get(0)):(a.find(l).on("canplaythrough load",i),a.find(l).on("error",i)),a}(u,m,Ae,R(C.get(t)),t),Ce(),M.undo.saveStep(),M.events.trigger("video.inserted",[p,h])}M.popups.hide("filesManager.insert"),I.delete(t);v=M.popups.get("filesManager.insert");v.find("input.fr-insert-attr.fr-checkbox-file-".concat(t))[0].checked=!1,v.find(".fr-file-"+t).get(0).classList.add("fr-unchecked"),D(),document.getElementById("fr-file-autoplay-button-"+t)&&(document.getElementById("fr-file-autoplay-button-"+t).checked=!1),L=L.filter(function(e){return e!=t})}function De(t,i){try{var e;return!1===M.events.trigger("filesManager.uploaded",[t],!0)?(M.edit.on(),!1):(e=JSON.parse(t)).link?e:(_(V,t,null,i),!1)}catch(e){return _(w,t,null,i),!1}}function Se(t,i){try{var e=k(t).find("Location").text(),n=k(t).find("Key").text();return!1===M.events.trigger("filesManager.uploadedToS3",[e,n,t],!0)?(M.edit.on(),!1):e}catch(e){return _(w,t,null,i),!1}}function Te(e,t,i,n){if(-1<G.indexOf(R(e))||!R(e))return _(6,null,null,n),!1;if(!1===M.events.trigger("filesManager.beforeUpload",[t]))return!1;if(!(null!==M.opts.filesManagerUploadURL&&"https://i.froala.com/upload"!=M.opts.filesManagerUploadURL||M.opts.filesManagerUploadToS3||M.opts.filesManagerUploadToAzure))return r=n,s=e,(l=new FileReader).onload=function(){l.result;if(l.result.indexOf("svg+xml")<0){for(var e=atob(l.result.split(",")[1]),t=[],i=0;i<e.length;i++)t.push(e.charCodeAt(i));var n,a=window.URL.createObjectURL(new Blob([new Uint8Array(t)],{type:R(s)}));U(R(s))&&(n={link:a,sanitize:!1,data:null,$existing_img:o,response:null,type:R(s)},C.set(r,n)),z(R(s))&&(n={link:a,text:s.name,response:null,type:R(s)},C.set(r,n)),(Ue(R(s))||ze(R(s)))&&(n={link:a,sanitize:!1,data:null,$existing_img:o,type:R(s)},C.set(r,n))}},l.readAsDataURL(s),!1;var r,s,o,l,a,d;if(!U(R(e))||e.name||(e.name=(new Date).getTime()+"."+(R(e)||"image/jpeg").replace(/image\//g,"")),e.size>M.opts.filesManagerMaxSize)return _(5,null,null,n),!1;if(M.opts.filesManagerAllowedTypes.indexOf("*")<0&&M.opts.filesManagerAllowedTypes.indexOf(R(e))<0)return _(6,null,null,n),!1;if(t=n,isNaN(t)||(M.popups.get("filesManager.insert").find(".fr-file-item-right-"+t).get(0).innerHTML='<div class=\'fr-file-item-action-buttons\' >\n <button type="button" id="fr-file-cancel-upload-button-'.concat(t,'" class="fr-img-icon fr-btn fr-command fr-submit fr-file-action-icons \n fr-file-button-').concat(t,' fr-file-cancel-upload-button" data-cmd="cancelUpload" data-title="Cancel" data-param1="').concat(t,'" role="button">\n <svg style=\'margin:0px !important; opacity:0.9\' class = "fr-svg" focusable="false" width="16px" height="16px" viewBox = "-2 3 30 30" xlmns = "http://w3.org/200/svg"><path d = \'M13.4,12l5.6,5.6L17.6,19L12