UNPKG

froala-editor

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.

7 lines (6 loc) 10.3 kB
/*! * froala_editor v5.1.0 (https://www.froala.com/wysiwyg-editor) * License https://froala.com/wysiwyg-editor/terms/ * Copyright 2014-2026 Froala Labs */ !function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],e):e(("undefined"!=typeof globalThis?globalThis:r||self).FroalaEditor)}(this,function(r){"use strict";function l(r,e,t,n,o,a,i){try{var s=r[a](i),l=s.value}catch(r){return t(r)}s.done?e(l):Promise.resolve(l).then(n,o)}function i(s){return function(){var r=this,i=arguments;return new Promise(function(e,t){var n=s.apply(r,i);function o(r){l(n,e,t,o,a,"next",r)}function a(r){l(n,e,t,o,a,"throw",r)}o(void 0)})}}function d(){var m,g,r="function"==typeof Symbol?Symbol:{},e=r.iterator||"@@iterator",t=r.toStringTag||"@@toStringTag";function n(r,e,t,n){var o,a,i,s,l,p,u,f,c,e=e&&e.prototype instanceof h?e:h,e=Object.create(e.prototype);return b(e,"_invoke",(o=r,a=t,u=n||[],f=!1,c={p:p=0,n:0,v:m,a:d,f:d.bind(m,4),d:function(r,e){return i=r,s=0,l=m,c.n=e,v}},function(r,e,t){if(1<p)throw TypeError("Generator is already running");for(f&&1===e&&d(e,t),s=e,l=t;(g=s<2?m:l)||!f;){i||(s?s<3?(1<s&&(c.n=-1),d(s,l)):c.n=l:c.v=l);try{if(p=2,i){if(g=i[r=s?r:"next"]){if(!(g=g.call(i,l)))throw TypeError("iterator result is not an object");if(!g.done)return g;l=g.value,s<2&&(s=0)}else 1===s&&(g=i["return"])&&g.call(i),s<2&&(l=TypeError("The iterator does not provide a '"+r+"' method"),s=1);i=m}else if((g=(f=c.n<0)?l:o.call(a,c))!==v)break}catch(g){i=m,s=1,l=g}finally{p=1}}return{value:g,done:f}}),!0),e;function d(r,e){for(s=r,l=e,g=0;!f&&p&&!t&&g<u.length;g++){var t,n=u[g],o=c.p,a=n[2];3<r?(t=a===e)&&(l=n[(s=n[4])?5:s=3],n[4]=n[5]=m):n[0]<=o&&((t=r<2&&o<n[1])?(s=0,c.v=e,c.n=n[1]):o<a&&(t=r<3||n[0]>e||a<e)&&(n[4]=r,n[5]=e,c.n=a,s=0))}if(t||1<r)return v;throw f=!0,e}}var v={};function h(){}function o(){}function a(){}g=Object.getPrototypeOf;var r=[][e]?g(g([][e]())):(b(g={},e,function(){return this}),g),i=a.prototype=h.prototype=Object.create(r);function s(r){return Object.setPrototypeOf?Object.setPrototypeOf(r,a):(r.__proto__=a,b(r,t,"GeneratorFunction")),r.prototype=Object.create(i),r}return b(i,"constructor",o.prototype=a),b(a,"constructor",o),b(a,t,o.displayName="GeneratorFunction"),b(i),b(i,t,"Generator"),b(i,e,function(){return this}),b(i,"toString",function(){return"[object Generator]"}),(d=function(){return{w:n,m:s}})()}function b(r,e,t,n){var a=Object.defineProperty;try{a({},"",{})}catch(r){a=0}(b=function(r,e,t,n){function o(e,t){b(r,e,function(r){return this._invoke(e,t,r)})}e?a?a(r,e,{value:t,enumerable:!n,configurable:!n,writable:!n}):r[e]=t:(o("next",0),o("throw",1),o("return",2))})(r,e,t,n)}Object.assign(r.POPUP_TEMPLATES,{"wordImport.error":"[_IMPORT_LAYER_]","wordImport.progress":"[_PROGRESS_BAR_]"}),Object.assign(r.DEFAULTS,{importFromWordMaxFileSize:3145728,importFromWordFileTypesAllowed:["docx"],importFromWordUrlToUpload:null,importFromWordEnableImportOnDrop:!0}),r.PLUGINS.importFromWord=function(p){var n;function u(r){p.popups.get("wordImport.progress")||(t={progress_bar:'\n <div class="fr-image-progress-bar-layer fr-layer fr-active">\n <h3 tabIndex="-1" class="fr-message">'.concat(p.language.translate("Uploading"),'</h3>\n <div class="fr-loader fr-indeterminate"><span class="fr-progress"></span></div>\n <div class="fr-action-buttons"><button type="button" class="fr-command fr-dismiss" data-cmd="imageDismissError" tabIndex="2" role="button">OK</button></div>\n </div>')},t=p.popups.create("wordImport.progress",t),p.popups.setContainer("wordImport.progress",p.$tb));var e,t=p.$tb.find('.fr-command[data-cmd="import_from_word"]');r?(t.addClass("fr-active"),t.isVisible()?(e=(r=p.button.getPosition(t)).left,p.popups.show("wordImport.progress",e,r.top,t.outerHeight(),!0)):p.popups.show("wordImport.progress")):(t.removeClass("fr-active"),p.popups.hide("wordImport.progress"))}function f(r){u(!1);var e=p.popups.get("wordImport.error"),t=(e||(t={import_layer:"\n <div class=\"fr-layer fr-active\" >\n <div class ='fr-message fr-error-message'><h3 style ='font-size: 16px; margin: 0;font-weight: normal;'>".concat(p.language.translate("Ensure that all required dependent libraries are available for the plugin to work."),"</h3></div>\n <div style='text-align:right;' class='fr-buttons'>\n <button class='fr-trim-button fr-plugins-ok'>").concat(p.language.translate("OK"),"</button> \n </div>\n </div>")},t=p.popups.create("wordImport.error",t),p.popups.setContainer("wordImport.error",p.$tb),p.events.$on(t,"click",".fr-plugins-ok",function(r){p.popups.hide("wordImport.error"),r.preventDefault()}),e=t),e.find("h3").text(r),p.$tb.find('.fr-command[data-cmd="import_from_word"]'));t.isVisible()?(r=(e=p.button.getPosition(t)).left,p.popups.show("wordImport.error",r,e.top,t.outerHeight(),!0)):p.popups.show("wordImport.error")}function c(r){r=r.split(".").pop().toLowerCase();return p.opts.importFromWordFileTypesAllowed.includes(r)}function o(){return(o=i(d().m(function r(e){var t,o,a,i,s,l;return d().w(function(r){for(;;)switch(r.p=r.n){case 0:if(r.p=0,t=p.opts.importFromWordUrlToUpload,window.mammoth||null!==t){r.n=1;break}return f(p.language.translate("Ensure that all required dependent libraries are available for the plugin to work.")),r.a(2);case 1:if(c(e.name)){r.n=2;break}return f(p.language.translate("Please upload a valid file")+"(".concat(p.opts.importFromWordFileTypesAllowed.map(function(r){return".".concat(r)}).join(", "),".)")),r.a(2);case 2:if(0<(o=p.opts.importFromWordMaxFileSize)&&e.size>o)return f(p.language.translate("File size must be less than")+" "+o/1048576+"MB."),r.a(2);r.n=3;break;case 3:if(0===e.size)return f(p.language.translate("Something went wrong. Please try again.")),r.a(2);r.n=4;break;case 4:if(t)return(o=new FormData).append("file",e),r.n=5,fetch(t,{method:"POST",body:o});r.n=10;break;case 5:if(a=r.v,u(!1),a.ok){r.n=6;break}return f(p.language.translate("Something went wrong. Please try again.")),r.a(2);case 6:return r.n=7,a.json();case 7:if((i=r.v)&&i.html)return r.a(2,i.html);r.n=8;break;case 8:f(p.language.translate("Something went wrong. Please try again."));case 9:return r.a(2);case 10:r.n=11;var n=e;return new Promise(function(e,t){var r=new FileReader;r.onload=function(r){e(r.target.result)},r.onerror=function(r){t(r)},r.readAsArrayBuffer(n)});case 11:return i=r.v,s=window.mammoth,r.n=12,s.convert({arrayBuffer:i});case 12:if((l=r.v).value&&""!==l.value.trim()){r.n=13;break}return r.a(2,!1);case 13:return r.a(2,l.value);case 14:return r.p=14,f(p.language.translate("Something went wrong. Please try again.")),r.a(2)}},r,null,[[0,14]])}))).apply(this,arguments)}function a(){return e.apply(this,arguments)}function e(){return(e=i(d().m(function r(e){var t;return d().w(function(r){for(;;)switch(r.n){case 0:return u(!0),r.n=1,p.events.trigger("word.beforeImport",[e]);case 1:if(!1===r.v)return u(!1),r.a(2,!1);r.n=2;break;case 2:return r.n=3,function(){return o.apply(this,arguments)}(e);case 3:(t=r.v)&&""!==t.trim()&&(p.html.insert(t),p.undo.saveStep()),u(!1),p.events.trigger("word.afterImport",[t]);case 4:return r.a(2)}},r)}))).apply(this,arguments)}function t(r){return 1!=r.length||!c(r[0].name)||(a(r[0]),!1)}return{_init:function(){p.helpers.isMobile()||p.opts.importFromWordEnableImportOnDrop&&(p.file&&p.opts.fileUpload?p.events.on("file.beforeUpload",t,!0):p.events.on("drop",function(r){if(r.originalEvent&&r.originalEvent.dataTransfer&&r.originalEvent.dataTransfer.files&&r.originalEvent.dataTransfer.files.length&&!t(r.originalEvent.dataTransfer.files))return r.preventDefault(),r.stopPropagation(),!1},!0))},"import":function(r){r&&r instanceof File?a(r):(n&&n.parentNode&&n.parentNode.removeChild(n),(n=p.doc.createElement("input")).type="file",n.className="fr-import-from-word-field",n.accept=p.opts.importFromWordFileTypesAllowed.map(function(r){return".".concat(r)}).join(","),n.style.display="none",p.doc.body.appendChild(n),n.addEventListener("change",function(){var e=i(d().m(function r(e){var t;return d().w(function(r){for(;;)switch(r.p=r.n){case 0:if(r.p=0,t=e.target.files[0]){r.n=1;break}return r.a(2);case 1:return r.n=2,a(t);case 2:return r.p=2,n&&n.parentNode&&n.remove(),r.f(2);case 3:return r.a(2)}},r,null,[[0,,2,3]])}));return function(r){return e.apply(this,arguments)}}()),n.click())}}},r.DefineIcon("import_from_word",{template:"svgMultiplePath",PATHS:'\n <path d="M14.5082 17.7884L18.3415 13.9551L22.1749 17.7884L20.8332 19.1301L19.2999 17.5967V21.5978H17.3832V17.5967L15.8499 19.1301L14.5082 17.7884Z" fill="#333333"/>\n <path fill-rule="evenodd" clip-rule="evenodd" d="M8.71985 15.1051H2.27985C1.83527 15.1051 1.47485 14.7447 1.47485 14.3001V7.86008C1.47485 7.4155 1.83527 7.05508 2.27985 7.05508H8.71985C9.16443 7.05508 9.52485 7.4155 9.52485 7.86008V14.3001C9.52485 14.7447 9.16443 15.1051 8.71985 15.1051ZM4.15308 12.3628C4.14864 12.2917 4.13939 12.2085 4.12514 12.1129C4.11088 12.0176 4.09616 11.9408 4.08087 11.8829L3.39425 9.06758H2.4811L3.59466 13.0926H4.65892L5.36515 10.4345C5.38044 10.3727 5.40073 10.2774 5.42594 10.1482C5.45114 10.0191 5.46814 9.92188 5.47691 9.85639H5.49002C5.49655 9.91252 5.51352 10.0024 5.54091 10.1258C5.56829 10.2493 5.59292 10.3493 5.61483 10.4261L6.36703 13.0926H7.41497L8.5186 9.06758H7.62188L6.99116 11.8519C6.94734 12.0428 6.91998 12.2112 6.90903 12.3572H6.89592C6.86967 12.1457 6.83684 11.9718 6.79738 11.8352L6.00901 9.06758H5.02356L4.26154 11.8773C4.24399 11.9428 4.22585 12.0232 4.20727 12.1186C4.18868 12.2141 4.17611 12.2954 4.16951 12.3628H4.15308Z" fill="#333333"/>\n <path d="M4.92485 5.90508V4.37174C4.92485 3.84466 5.11253 3.39345 5.48787 3.0181C5.86322 2.64275 6.31444 2.45508 6.84152 2.45508H13.5499L19.2999 8.20508V11.104H17.3832V9.16341H12.5915V4.37174H6.84152V5.90508H4.92485Z" fill="#333333"/>\n <path d="M5.48787 19.1421C5.86322 19.5174 6.31444 19.7051 6.84152 19.7051H12.5915V17.7884H6.84152V16.2551H4.92485V17.7884C4.92485 18.3155 5.11253 18.7667 5.48787 19.1421Z" fill="#333333"/>\n '}),r.RegisterCommand("import_from_word",{title:"Import from Word",focus:!0,undo:!0,refreshAfterCallback:!1,callback:function(){this.importFromWord["import"]()}})});