@ckeditor/ckeditor5-export-word 39.0.2 → 40.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE.md CHANGED
@@ -2,7 +2,7 @@ Software License Agreement
2
2
  ==========================
3
3
 
4
4
  **CKEditor&nbsp;5 export to Docs feature** (https://ckeditor.com/ckeditor-5/)<br>
5
- Copyright (c) 2003-2023, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
5
+ Copyright (c) 20032023, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
6
6
 
7
7
  CKEditor&nbsp;5 export to Word feature is licensed under a commercial license and is protected by copyright law.
8
8
  For more details about available licensing options please contact us at sales@cksource.com.
@@ -15,4 +15,4 @@ Where not otherwise indicated, all CKEditor&nbsp;5 export to Word feature conten
15
15
  Trademarks
16
16
  ----------
17
17
 
18
- **CKEditor** is a trademark of [CKSource Holding sp. z o.o.](https://cksource.com) All other brand and product names are trademarks, registered trademarks or service marks of their respective holders.
18
+ **CKEditor** is a trademark of [CKSource Holding sp. z o.o.](https://cksource.com) All other brand and product names are trademarks, registered trademarks, or service marks of their respective holders.
@@ -2,4 +2,4 @@
2
2
  /*!
3
3
  * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
4
4
  * For licensing, see LICENSE.md.
5
- */(()=>{var e={584:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var o=n(758),r=n.n(o)()((function(e){return e[1]}));r.push([e.id,":root{--ck-toolbar-spinner-size:18px}.ck-exportword_status-pending{position:relative}.ck.ck-exportword__spinner-container{display:none}.ck.ck-exportword__spinner{border:2px solid var(--ck-color-text);border-radius:50%;border-top:2px solid transparent;height:var(--ck-toolbar-spinner-size);left:0;margin:0 auto;position:absolute;right:0;top:50%;transform:translateY(-50%);width:var(--ck-toolbar-spinner-size);z-index:1}.ck-exportword_status-pending .ck.ck-exportword__spinner-container{animation:rotate 1.5s linear infinite;display:block;height:var(--ck-toolbar-spinner-size);position:absolute;width:var(--ck-toolbar-spinner-size)}.ck-exportword_status-pending .ck.ck-button__icon{color:transparent}@keyframes rotate{to{transform:rotate(1turn)}}",""]);const i=r},758:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,o){"string"==typeof e&&(e=[[null,e,""]]);var r={};if(o)for(var i=0;i<this.length;i++){var s=this[i][0];null!=s&&(r[s]=!0)}for(var a=0;a<e.length;a++){var c=[].concat(e[a]);o&&r[c[0]]||(n&&(c[2]?c[2]="".concat(n," and ").concat(c[2]):c[2]=n),t.push(c))}},t}},278:(e,t,n)=>{"use strict";var o,r=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},i=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),s=[];function a(e){for(var t=-1,n=0;n<s.length;n++)if(s[n].identifier===e){t=n;break}return t}function c(e,t){for(var n={},o=[],r=0;r<e.length;r++){var i=e[r],c=t.base?i[0]+t.base:i[0],d=n[c]||0,l="".concat(c," ").concat(d);n[c]=d+1;var u=a(l),p={css:i[1],media:i[2],sourceMap:i[3]};-1!==u?(s[u].references++,s[u].updater(p)):s.push({identifier:l,updater:v(p,t),references:1}),o.push(l)}return o}function d(e){var t=document.createElement("style"),o=e.attributes||{};if(void 0===o.nonce){var r=n.nc;r&&(o.nonce=r)}if(Object.keys(o).forEach((function(e){t.setAttribute(e,o[e])})),"function"==typeof e.insert)e.insert(t);else{var s=i(e.insert||"head");if(!s)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");s.appendChild(t)}return t}var l,u=(l=[],function(e,t){return l[e]=t,l.filter(Boolean).join("\n")});function p(e,t,n,o){var r=n?"":o.media?"@media ".concat(o.media," {").concat(o.css,"}"):o.css;if(e.styleSheet)e.styleSheet.cssText=u(t,r);else{var i=document.createTextNode(r),s=e.childNodes;s[t]&&e.removeChild(s[t]),s.length?e.insertBefore(i,s[t]):e.appendChild(i)}}function f(e,t,n){var o=n.css,r=n.media,i=n.sourceMap;if(r?e.setAttribute("media",r):e.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleSheet)e.styleSheet.cssText=o;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(o))}}var h=null,x=0;function v(e,t){var n,o,r;if(t.singleton){var i=x++;n=h||(h=d(t)),o=p.bind(null,n,i,!1),r=p.bind(null,n,i,!0)}else n=d(t),o=f.bind(null,n,t),r=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return o(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;o(e=t)}else r()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=r());var n=c(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var o=0;o<n.length;o++){var r=a(n[o]);s[r].references--}for(var i=c(e,t),d=0;d<n.length;d++){var l=a(n[d]);0===s[l].references&&(s[l].updater(),s.splice(l,1))}n=i}}}},704:(e,t,n)=>{e.exports=n(79)("./src/core.js")},273:(e,t,n)=>{e.exports=n(79)("./src/ui.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={id:o,exports:{}};return e[o](i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nc=void 0;var o={};(()=>{"use strict";n.r(o),n.d(o,{ExportWord:()=>x});var e=n(704),t=n(273);const r=["name","comments","length","Users","content","CommentsRepository","isResolved","from","timezone","The editor stylesheet could not be found in the document. Check your webpack config – style-loader should use data-cke=true attribute for the editor stylesheet.","push","TrackChanges","indexOf","hasAttribute","authorId","keys","join","styleSheets","fetch","has","getCommentThreads",".ck-content","text","cssRules","cssText","get","getSuggestions",":root","users","warn","createdAt","plugins","map","then","DateTimeFormat","EDITOR_STYLES"];var i,s;i=r,s=251,function(e){for(;--e;)i.push(i.shift())}(++s);const a=function(e,t){return r[e-=0]};function c(){const e=[],t=[];for(const n of Array.from(document[a("0x12")]))if(n.ownerNode[a("0xe")]("data-cke"))for(const o of Array[a("0x8")](n[a("0x18")]))-1!==o.cssText[a("0xd")](a("0x16"))?e[a("0xb")](o.cssText):-1!==o[a("0x19")][a("0xd")](a("0x1c"))&&t[a("0xb")](o[a("0x19")]);return e[a("0x3")]||console[a("0x1e")](a("0xa")),[...t,...e][a("0x11")](" ").trim()}function d(e){const t=e[a("0x20")][a("0x14")](a("0x4")),n=e.plugins[a("0x14")](a("0x6")),o=e[a("0x20")][a("0x14")](a("0xc")),r={};if(t&&n){const t=function(e){const t={};if(!e.length)return t;for(const n of e)n[a("0x2")][a("0x21")]((e=>{void 0===t[n.id]&&(t[n.id]=[]),t[n.id][a("0xb")]({author:e.author[a("0x1")],content:e[a("0x5")],created:e[a("0x1f")],is_resolved:n[a("0x7")]})}));return t}(e[a("0x20")][a("0x1a")](a("0x6"))[a("0x15")]({skipNotAttached:!0,skipEmpty:!0}));Object[a("0x10")](t).length&&(r[a("0x2")]=t)}if(t&&o){const t=e[a("0x20")][a("0x1a")](a("0xc")),n=e[a("0x20")][a("0x1a")](a("0x4")),o=function(e,t){const n={};if(!e[a("0x3")]||!t[a("0x3")])return n;for(const o of e)n[o.id]={author:t[a("0x1a")](o[a("0xf")])[a("0x1")],created:o[a("0x1f")]};return n}(t[a("0x1b")]({toJSON:!0}),n[a("0x1d")]);Object[a("0x10")](o)[a("0x3")]&&(r.suggestions=o)}return(r.suggestions||r[a("0x2")])&&(r[a("0x9")]=(new(Intl[a("0x23")])).resolvedOptions().timeZone),r}class l extends e.Command{constructor(e){super(e),this.set("isBusy",!1),this.affectsData=!1}refresh(){this.isEnabled=!this.isBusy,this.value=this.isBusy?"pending":void 0}execute(e={}){const t=this.editor,n=t.t,o=e.converterUrl||"https://docx-converter.cke-cs.com/v1/convert",r=e.converterOptions||{},i=t.plugins.get("ExportWord"),s=e.token||i._token,l=!1!==r.auto_pagination,u=e.dataCallback||(e=>e.data.get({pagination:l}));return this.isBusy=!0,this.refresh(),function(e){if(!e)return new Promise((e=>e("")));const t=[];for(const n of e)a("0x0")!==n?t.push(window[a("0x13")](n)[a("0x22")]((e=>e[a("0x17")]()))):t[a("0xb")](c());return Promise.all(t)[a("0x22")]((e=>e.join(" ").trim()))}(e.stylesheets||["EDITOR_STYLES"]).then((async n=>{const i=await u(t),a={html:'<div class="ck-content" dir="'+t.locale.contentLanguageDirection+'">'+i+"</div>",css:n,options:{...r,...d(t)}},c={method:"POST",headers:{"Content-Type":"application/json",Accept:"application/docx",...s?{Authorization:s.value}:null},body:JSON.stringify(a)};return window.fetch(o,c).then((e=>{if(200!==e.status)throw e;return e.blob()})).then((t=>{const n="function"==typeof e.fileName?e.fileName():e.fileName;this._downloadFile(t,n||"document.docx")}))})).catch((e=>{throw t.plugins.get("Notification").showWarning(n("An error occurred while generating the Word file.")),e})).finally((()=>{this.isBusy=!1,this.refresh()}))}_downloadFile(e,t){const n=document.createElement("a");n.href=window.URL.createObjectURL(e),n.download=t,n.click(),n.remove()}}var u=n(278),p=n.n(u),f=n(584),h={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};p()(f.Z,h);f.Z.locals;class x extends e.Plugin{static get pluginName(){return"ExportWord"}static get requires(){return["CloudServices",t.Notification]}init(){const e=this.editor,n=e.t,o=e.config.get("exportWord")||{};e.commands.add("exportWord",new l(e)),e.ui.componentFactory.add("exportWord",(r=>{const i=e.commands.get("exportWord"),s=new t.ButtonView(r);s.set({label:n("Export to Word"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M17.826 16.843a.75.75 0 0 0-1.152-.96L15.5 17.29V12H14v5.29l-1.174-1.408a.75.75 0 0 0-1.152.96l2.346 2.816a.95.95 0 0 0 1.46 0l2.346-2.815Z"/><path d="m14 0 5 4.5v9.741a2.737 2.737 0 0 0-1.5-.617V6.5h-5v-5h-8v3H3V0h11Zm0 2v3h3.3L14 2Z"/><path d="M3 17.5h6.746c.1.22.23.429.391.623l.731.877H3v-1.5Z"/><path d="M8.5 6a1.5 1.5 0 0 1 1.493 1.356L10 7.5v7a1.5 1.5 0 0 1-1.356 1.493L8.5 16h-7a1.5 1.5 0 0 1-1.493-1.356L0 14.5v-7a1.5 1.5 0 0 1 1.356-1.493L1.5 6h7ZM7.483 8.795l-.042.088-.986 2.534-.947-2.528-.043-.092a.601.601 0 0 0-1.042.008l-.042.093-.883 2.465-.937-2.475-.042-.089a.6.6 0 0 0-1.107.42l.027.093 1.514 4 .044.092a.6.6 0 0 0 1.041-.01l.041-.092.88-2.458.925 2.467.046.096a.6.6 0 0 0 1.032 0l.043-.09 1.554-4 .028-.093a.6.6 0 0 0-1.104-.43v.001Z"/></svg>\n',tooltip:!0}),s.bind("isOn","isEnabled").to(i,"isBusy","isEnabled"),s.extendTemplate({attributes:{class:[s.bindTemplate.if("isOn","ck-exportword_status-pending")]}});const a=new t.View;return a.setTemplate({tag:"span",attributes:{class:["ck","ck-exportword__spinner-container"]},children:[{tag:"span",attributes:{class:["ck","ck-exportword__spinner"]}}]}),s.children.add(a),this.listenTo(s,"execute",(()=>{e.execute("exportWord",o),e.editing.view.focus()})),s}));const r=e.plugins.get("CloudServices");!1===o.tokenUrl?this._token=null:o.tokenUrl?r.registerTokenUrl(o.tokenUrl).then((e=>{this._token=e})):this._token=r.token}}})(),(window.CKEditor5=window.CKEditor5||{}).exportWord=o})();
5
+ */(()=>{var e={704:(e,t,o)=>{e.exports=o(79)("./src/core.js")},273:(e,t,o)=>{e.exports=o(79)("./src/ui.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,o),s.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";o.r(n),o.d(n,{ExportWord:()=>u});var e=o(704),t=o(273);const r=["indexOf","then","cssText","resolvedOptions","users","Users","fetch","timeZone","author","comments","name","keys","isResolved","createdAt","getSuggestions","DateTimeFormat","has","cssRules","hasAttribute","The editor stylesheet could not be found in the document. Check your webpack config – style-loader should use data-cke=true attribute for the editor stylesheet.","styleSheets",":root","all","CommentsRepository","TrackChanges","push","get","suggestions","plugins","content","getCommentThreads","length","join","data-cke","from","text"];var s,i;s=r,i=408,function(e){for(;--e;)s.push(s.shift())}(++i);const a=function(e,t){return r[e-=0]};function c(){const e=[],t=[];for(const o of Array[a("0x16")](document[a("0x8")]))if(o.ownerNode[a("0x6")](a("0x15")))for(const n of Array[a("0x16")](o[a("0x5")]))-1!==n[a("0x1a")].indexOf(".ck-content")?e[a("0xd")](n[a("0x1a")]):-1!==n[a("0x1a")][a("0x18")](a("0x9"))&&t.push(n[a("0x1a")]);return e.length||console.warn(a("0x7")),[...t,...e][a("0x14")](" ").trim()}function d(e){const t=e.plugins[a("0x4")]("Users"),o=e[a("0x10")][a("0x4")](a("0xb")),n=e.plugins.has(a("0xc")),r={};if(t&&o){const t=function(e){const t={};if(!e.length)return t;for(const o of e)o[a("0x21")].map((e=>{void 0===t[o.id]&&(t[o.id]=[]),t[o.id][a("0xd")]({author:e[a("0x20")][a("0x22")],content:e[a("0x11")],created:e[a("0x1")],is_resolved:o[a("0x0")]})}));return t}(e[a("0x10")].get(a("0xb"))[a("0x12")]({skipNotAttached:!0,skipEmpty:!0}));Object[a("0x23")](t)[a("0x13")]&&(r.comments=t)}if(t&&n){const t=e[a("0x10")][a("0xe")](a("0xc")),o=e[a("0x10")][a("0xe")](a("0x1d")),n=function(e,t){const o={};if(!e.length||!t[a("0x13")])return o;for(const n of e)o[n.id]={author:t[a("0xe")](n.authorId)[a("0x22")],created:n.createdAt};return o}(t[a("0x2")]({toJSON:!0}),o[a("0x1c")]);Object.keys(n).length&&(r[a("0xf")]=n)}return(r[a("0xf")]||r[a("0x21")])&&(r.timezone=(new(Intl[a("0x3")]))[a("0x1b")]()[a("0x1f")]),r}class l extends e.Command{constructor(e){super(e),this.set("isBusy",!1),this.affectsData=!1}refresh(){this.isEnabled=!this.isBusy,this.value=this.isBusy?"pending":void 0}execute(e={}){const t=this.editor,o=t.t,n=e.converterUrl||"https://docx-converter.cke-cs.com/v1/convert",r=e.converterOptions||{},s=t.plugins.get("ExportWord"),i=e.token||s._token,l=!1!==r.auto_pagination,u=e.dataCallback||(e=>e.data.get({pagination:l}));return this.isBusy=!0,this.refresh(),function(e){if(!e)return new Promise((e=>e("")));const t=[];for(const o of e)"EDITOR_STYLES"!==o?t[a("0xd")](window[a("0x1e")](o).then((e=>e[a("0x17")]()))):t.push(c());return Promise[a("0xa")](t)[a("0x19")]((e=>e[a("0x14")](" ").trim()))}(e.stylesheets||["EDITOR_STYLES"]).then((async o=>{const s=await u(t),a=this._replaceSuggestionTypes(s),c={html:'<div class="ck-content" dir="'+t.locale.contentLanguageDirection+'">'+a+"</div>",css:o,options:{...r,...d(t)}},l={method:"POST",headers:{"Content-Type":"application/json",Accept:"application/docx",...i?{Authorization:i.value}:null},body:JSON.stringify(c)};return window.fetch(n,l).then((e=>{if(200!==e.status)throw e;return e.blob()})).then((t=>{const o="function"==typeof e.fileName?e.fileName():e.fileName;this._downloadFile(t,o||"document.docx")}))})).catch((e=>{throw t.plugins.get("Notification").showWarning(o("An error occurred while generating the Word file.")),e})).finally((()=>{this.isBusy=!1,this.refresh()}))}_replaceSuggestionTypes(e){if(!e)return e;const t=(e,t,o)=>"attribute"===o?t+"formatInline:":e;return e.replace(/<suggestion-(start|end) name="(.*?):/g,((e,o,n)=>t(e,"<suggestion-"+o+' name="',n))).replace(/data-suggestion-(start|end)-(before|after)="(.*?):/g,((e,o,n,r)=>t(e,"data-suggestion-"+o+"-"+n+'="',r)))}_downloadFile(e,t){const o=document.createElement("a");o.href=window.URL.createObjectURL(e),o.download=t,o.click(),o.remove()}}class u extends e.Plugin{static get pluginName(){return"ExportWord"}static get requires(){return["CloudServices",t.Notification]}init(){const e=this.editor,o=e.t,n=e.config.get("exportWord")||{};e.commands.add("exportWord",new l(e)),e.ui.componentFactory.add("exportWord",(r=>{const s=e.commands.get("exportWord"),i=new t.ButtonView(r),a=new t.SpinnerView;return i.set({label:o("Export to Word"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M17.826 16.843a.75.75 0 0 0-1.152-.96L15.5 17.29V12H14v5.29l-1.174-1.408a.75.75 0 0 0-1.152.96l2.346 2.816a.95.95 0 0 0 1.46 0l2.346-2.815Z"/><path d="m14 0 5 4.5v9.741a2.737 2.737 0 0 0-1.5-.617V6.5h-5v-5h-8v3H3V0h11Zm0 2v3h3.3L14 2Z"/><path d="M3 17.5h6.746c.1.22.23.429.391.623l.731.877H3v-1.5Z"/><path d="M8.5 6a1.5 1.5 0 0 1 1.493 1.356L10 7.5v7a1.5 1.5 0 0 1-1.356 1.493L8.5 16h-7a1.5 1.5 0 0 1-1.493-1.356L0 14.5v-7a1.5 1.5 0 0 1 1.356-1.493L1.5 6h7ZM7.483 8.795l-.042.088-.986 2.534-.947-2.528-.043-.092a.601.601 0 0 0-1.042.008l-.042.093-.883 2.465-.937-2.475-.042-.089a.6.6 0 0 0-1.107.42l.027.093 1.514 4 .044.092a.6.6 0 0 0 1.041-.01l.041-.092.88-2.458.925 2.467.046.096a.6.6 0 0 0 1.032 0l.043-.09 1.554-4 .028-.093a.6.6 0 0 0-1.104-.43v.001Z"/></svg>\n',tooltip:!0}),i.children.add(a),i.bind("isOn","isEnabled").to(s,"isBusy","isEnabled"),a.bind("isVisible").to(s,"isBusy"),i.iconView.bind("isVisible").to(s,"isBusy",(e=>!e)),this.listenTo(i,"execute",(()=>{e.execute("exportWord",n),e.editing.view.focus()})),i}));const r=e.plugins.get("CloudServices");!1===n.tokenUrl?this._token=null:n.tokenUrl?r.registerTokenUrl(n.tokenUrl).then((e=>{this._token=e})):this._token=r.token}}})(),(window.CKEditor5=window.CKEditor5||{}).exportWord=n})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckeditor/ckeditor5-export-word",
3
- "version": "39.0.2",
3
+ "version": "40.1.0",
4
4
  "description": "Export to Word feature for CKEditor 5.",
5
5
  "keywords": [
6
6
  "ckeditor",
@@ -29,7 +29,7 @@
29
29
  ],
30
30
  "main": "src/index.js",
31
31
  "dependencies": {
32
- "ckeditor5": "39.0.2"
32
+ "ckeditor5": "40.1.0"
33
33
  },
34
34
  "license": "SEE LICENSE IN LICENSE.md",
35
35
  "author": "CKSource (https://cksource.com/)",
@@ -9,7 +9,6 @@
9
9
  import { Plugin, type Editor } from 'ckeditor5/src/core';
10
10
  import { Notification } from 'ckeditor5/src/ui';
11
11
  import type { InitializedToken, TokenUrl } from '@ckeditor/ckeditor5-cloud-services';
12
- import '../theme/exportword.css';
13
12
  /**
14
13
  * The export to Word feature.
15
14
  *
package/src/exportword.js CHANGED
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{Plugin as _0x51eefd}from'ckeditor5/src/core';import{ButtonView as _0x5c5878,View as _0x136565,Notification as _0x4c3a7d}from'ckeditor5/src/ui';import _0x54001d from'./exportwordcommand';import _0xdaa299 from'../theme/icons/exportword.svg';import'../theme/exportword.css';export default class c extends _0x51eefd{static get['pluginName'](){return'ExportWord';}static get['requires'](){return['CloudServices',_0x4c3a7d];}['init'](){const _0x147e8f=this['editor'],t=_0x147e8f['t'],_0x2fd186=_0x147e8f['config']['get']('exportWord')||{};_0x147e8f['commands']['add']('exportWord',new _0x54001d(_0x147e8f)),_0x147e8f['ui']['componentFactory']['add']('exportWord',_0x411d22=>{const _0x426e93=_0x147e8f['commands']['get']('exportWord'),_0xbfb360=new _0x5c5878(_0x411d22);_0xbfb360['set']({'label':t('Export\x20to\x20Word'),'icon':_0xdaa299,'tooltip':!0x0}),_0xbfb360['bind']('isOn','isEnabled')['to'](_0x426e93,'isBusy','isEnabled'),_0xbfb360['extendTemplate']({'attributes':{'class':[_0xbfb360['bindTemplate']['if']('isOn','ck-exportword_status-pending')]}});const _0x397ff3=new _0x136565();return _0x397ff3['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-exportword__spinner-container']},'children':[{'tag':'span','attributes':{'class':['ck','ck-exportword__spinner']}}]}),_0xbfb360['children']['add'](_0x397ff3),this['listenTo'](_0xbfb360,'execute',()=>{_0x147e8f['execute']('exportWord',_0x2fd186),_0x147e8f['editing']['view']['focus']();}),_0xbfb360;});const _0x3e6f30=_0x147e8f['plugins']['get']('CloudServices');!0x1===_0x2fd186['tokenUrl']?this['_token']=null:_0x2fd186['tokenUrl']?_0x3e6f30['registerTokenUrl'](_0x2fd186['tokenUrl'])['then'](_0x40761d=>{this['_token']=_0x40761d;}):this['_token']=_0x3e6f30['token'];}}
23
+ import{Plugin as _0x36456e}from'ckeditor5/src/core';import{ButtonView as _0x2b197a,Notification as _0x20a568,SpinnerView as _0xc1871b}from'ckeditor5/src/ui';import _0x3f820d from'./exportwordcommand';import _0x3b872a from'../theme/icons/exportword.svg';export default class d extends _0x36456e{static get['pluginName'](){return'ExportWord';}static get['requires'](){return['CloudServices',_0x20a568];}['init'](){const _0x3b6c16=this['editor'],t=_0x3b6c16['t'],_0x495ddc=_0x3b6c16['config']['get']('exportWord')||{};_0x3b6c16['commands']['add']('exportWord',new _0x3f820d(_0x3b6c16)),_0x3b6c16['ui']['componentFactory']['add']('exportWord',_0x4453b8=>{const _0x1776db=_0x3b6c16['commands']['get']('exportWord'),_0x25cc02=new _0x2b197a(_0x4453b8),_0x51e114=new _0xc1871b();return _0x25cc02['set']({'label':t('Export\x20to\x20Word'),'icon':_0x3b872a,'tooltip':!0x0}),_0x25cc02['children']['add'](_0x51e114),_0x25cc02['bind']('isOn','isEnabled')['to'](_0x1776db,'isBusy','isEnabled'),_0x51e114['bind']('isVisible')['to'](_0x1776db,'isBusy'),_0x25cc02['iconView']['bind']('isVisible')['to'](_0x1776db,'isBusy',_0x3bcefc=>!_0x3bcefc),this['listenTo'](_0x25cc02,'execute',()=>{_0x3b6c16['execute']('exportWord',_0x495ddc),_0x3b6c16['editing']['view']['focus']();}),_0x25cc02;});const _0x578850=_0x3b6c16['plugins']['get']('CloudServices');!0x1===_0x495ddc['tokenUrl']?this['_token']=null:_0x495ddc['tokenUrl']?_0x578850['registerTokenUrl'](_0x495ddc['tokenUrl'])['then'](_0x233011=>{this['_token']=_0x233011;}):this['_token']=_0x578850['token'];}}
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{Command as _0x3307f4}from'ckeditor5/src/core';import{getStyles as _0x59ab84,getConverterOptions as _0x217213}from'./utils';export default class i extends _0x3307f4{constructor(_0x45379d){super(_0x45379d),this['set']('isBusy',!0x1),this['affectsData']=!0x1;}['refresh'](){this['isEnabled']=!this['isBusy'],this['value']=this['isBusy']?'pending':void 0x0;}['execute'](_0xae1aa9={}){const _0x556e97=this['editor'],t=_0x556e97['t'],_0x57fd0f=_0xae1aa9['converterUrl']||'https://docx-converter.cke-cs.com/v1/convert',_0x4fbe8a=_0xae1aa9['converterOptions']||{},_0x318111=_0x556e97['plugins']['get']('ExportWord'),_0x1b5c2c=_0xae1aa9['token']||_0x318111['_token'],_0x389357=!0x1!==_0x4fbe8a['auto_pagination'],_0x3ed2e0=_0xae1aa9['dataCallback']||(_0x55307f=>_0x55307f['data']['get']({'pagination':_0x389357}));return this['isBusy']=!0x0,this['refresh'](),_0x59ab84(_0xae1aa9['stylesheets']||['EDITOR_STYLES'])['then'](async _0x2b5887=>{const _0x1b11d1=await _0x3ed2e0(_0x556e97),_0x2934f4={'html':'<div\x20class=\x22ck-content\x22\x20dir=\x22'+_0x556e97['locale']['contentLanguageDirection']+'\x22>'+_0x1b11d1+'</div>','css':_0x2b5887,'options':{..._0x4fbe8a,..._0x217213(_0x556e97)}},_0x4d4489={'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/docx',..._0x1b5c2c?{'Authorization':_0x1b5c2c['value']}:null},'body':JSON['stringify'](_0x2934f4)};return window['fetch'](_0x57fd0f,_0x4d4489)['then'](_0x263276=>{if(0xc8!==_0x263276['status'])throw _0x263276;return _0x263276['blob']();})['then'](_0x421579=>{const _0x360904='function'==typeof _0xae1aa9['fileName']?_0xae1aa9['fileName']():_0xae1aa9['fileName'];this['_downloadFile'](_0x421579,_0x360904||'document.docx');});})['catch'](_0x17ed51=>{throw _0x556e97['plugins']['get']('Notification')['showWarning'](t('An\x20error\x20occurred\x20while\x20generating\x20the\x20Word\x20file.')),_0x17ed51;})['finally'](()=>{this['isBusy']=!0x1,this['refresh']();});}['_downloadFile'](_0x4a8964,_0x37fe9d){const _0x2957a8=document['createElement']('a');_0x2957a8['href']=window['URL']['createObjectURL'](_0x4a8964),_0x2957a8['download']=_0x37fe9d,_0x2957a8['click'](),_0x2957a8['remove']();}}
23
+ import{Command as _0x53fcab}from'ckeditor5/src/core';import{getConverterOptions as _0x50bd13,getStyles as _0x2e516c}from'./utils';export default class s extends _0x53fcab{constructor(_0x28e12e){super(_0x28e12e),this['set']('isBusy',!0x1),this['affectsData']=!0x1;}['refresh'](){this['isEnabled']=!this['isBusy'],this['value']=this['isBusy']?'pending':void 0x0;}['execute'](_0x20e7d9={}){const _0xeed830=this['editor'],t=_0xeed830['t'],_0x4bc2b1=_0x20e7d9['converterUrl']||'https://docx-converter.cke-cs.com/v1/convert',_0x104dfb=_0x20e7d9['converterOptions']||{},_0x21e344=_0xeed830['plugins']['get']('ExportWord'),_0x5a7880=_0x20e7d9['token']||_0x21e344['_token'],_0x17e071=!0x1!==_0x104dfb['auto_pagination'],_0x3398d9=_0x20e7d9['dataCallback']||(_0x3b1f83=>_0x3b1f83['data']['get']({'pagination':_0x17e071}));return this['isBusy']=!0x0,this['refresh'](),_0x2e516c(_0x20e7d9['stylesheets']||['EDITOR_STYLES'])['then'](async _0x11aacc=>{const _0xa4ddc3=await _0x3398d9(_0xeed830),_0x1dd071=this['_replaceSuggestionTypes'](_0xa4ddc3),_0x2153e7={'html':'<div\x20class=\x22ck-content\x22\x20dir=\x22'+_0xeed830['locale']['contentLanguageDirection']+'\x22>'+_0x1dd071+'</div>','css':_0x11aacc,'options':{..._0x104dfb,..._0x50bd13(_0xeed830)}},_0x44be5a={'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/docx',..._0x5a7880?{'Authorization':_0x5a7880['value']}:null},'body':JSON['stringify'](_0x2153e7)};return window['fetch'](_0x4bc2b1,_0x44be5a)['then'](_0x125439=>{if(0xc8!==_0x125439['status'])throw _0x125439;return _0x125439['blob']();})['then'](_0x233cd0=>{const _0x333f0e='function'==typeof _0x20e7d9['fileName']?_0x20e7d9['fileName']():_0x20e7d9['fileName'];this['_downloadFile'](_0x233cd0,_0x333f0e||'document.docx');});})['catch'](_0x1b3264=>{throw _0xeed830['plugins']['get']('Notification')['showWarning'](t('An\x20error\x20occurred\x20while\x20generating\x20the\x20Word\x20file.')),_0x1b3264;})['finally'](()=>{this['isBusy']=!0x1,this['refresh']();});}['_replaceSuggestionTypes'](_0x31ad7e){if(!_0x31ad7e)return _0x31ad7e;const _0x398330=(_0xc87d9,_0x27bfdf,_0x92fb6e)=>'attribute'===_0x92fb6e?_0x27bfdf+'formatInline:':_0xc87d9;return _0x31ad7e['replace'](/<suggestion-(start|end) name="(.*?):/g,(_0x25a351,_0x386e72,_0x540d16)=>_0x398330(_0x25a351,'<suggestion-'+_0x386e72+'\x20name=\x22',_0x540d16))['replace'](/data-suggestion-(start|end)-(before|after)="(.*?):/g,(_0x14c9e9,_0x106e83,_0x3132a4,_0x120c3f)=>_0x398330(_0x14c9e9,'data-suggestion-'+_0x106e83+'-'+_0x3132a4+'=\x22',_0x120c3f));}['_downloadFile'](_0x1a8900,_0x5cde32){const _0x1ce8c1=document['createElement']('a');_0x1ce8c1['href']=window['URL']['createObjectURL'](_0x1a8900),_0x1ce8c1['download']=_0x5cde32,_0x1ce8c1['click'](),_0x1ce8c1['remove']();}}
package/src/utils.js CHANGED
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- const _0x3863=['name','comments','length','Users','content','CommentsRepository','isResolved','from','timezone','The\x20editor\x20stylesheet\x20could\x20not\x20be\x20found\x20in\x20the\x20document.\x20Check\x20your\x20webpack\x20config\x20–\x20style-loader\x20should\x20use\x20data-cke=true\x20attribute\x20for\x20the\x20editor\x20stylesheet.','push','TrackChanges','indexOf','hasAttribute','authorId','keys','join','styleSheets','fetch','has','getCommentThreads','.ck-content','text','cssRules','cssText','get','getSuggestions',':root','users','warn','createdAt','plugins','map','then','DateTimeFormat','EDITOR_STYLES'];(function(_0x241095,_0x3863af){const _0x124c23=function(_0x5b5726){while(--_0x5b5726){_0x241095['push'](_0x241095['shift']());}};_0x124c23(++_0x3863af);}(_0x3863,0xfb));const _0x124c=function(_0x241095,_0x3863af){_0x241095=_0x241095-0x0;let _0x124c23=_0x3863[_0x241095];return _0x124c23;};export function getStyles(_0xd7b4e2){if(!_0xd7b4e2)return new Promise(_0xf81b40=>_0xf81b40(''));const _0x39cba0=[];for(const _0x532816 of _0xd7b4e2)_0x124c('0x0')!==_0x532816?_0x39cba0['push'](window[_0x124c('0x13')](_0x532816)[_0x124c('0x22')](_0x1a00ae=>_0x1a00ae[_0x124c('0x17')]())):_0x39cba0[_0x124c('0xb')](u());return Promise['all'](_0x39cba0)[_0x124c('0x22')](_0x36c025=>_0x36c025['join']('\x20')['trim']());}function u(){const _0x4d0f14=[],_0xf935d=[];for(const _0x231540 of Array['from'](document[_0x124c('0x12')])){if(_0x231540['ownerNode'][_0x124c('0xe')]('data-cke'))for(const _0x474904 of Array[_0x124c('0x8')](_0x231540[_0x124c('0x18')]))-0x1!==_0x474904['cssText'][_0x124c('0xd')](_0x124c('0x16'))?_0x4d0f14[_0x124c('0xb')](_0x474904['cssText']):-0x1!==_0x474904[_0x124c('0x19')][_0x124c('0xd')](_0x124c('0x1c'))&&_0xf935d[_0x124c('0xb')](_0x474904[_0x124c('0x19')]);}return _0x4d0f14[_0x124c('0x3')]||console[_0x124c('0x1e')](_0x124c('0xa')),[..._0xf935d,..._0x4d0f14][_0x124c('0x11')]('\x20')['trim']();}export function getConverterOptions(_0x5dabc9){const _0x1c27c0=_0x5dabc9[_0x124c('0x20')][_0x124c('0x14')](_0x124c('0x4')),_0x4a7b28=_0x5dabc9['plugins'][_0x124c('0x14')](_0x124c('0x6')),_0x1224e6=_0x5dabc9[_0x124c('0x20')][_0x124c('0x14')](_0x124c('0xc')),_0x5d1094={};if(_0x1c27c0&&_0x4a7b28){const _0x31a36a=getComments(_0x5dabc9[_0x124c('0x20')][_0x124c('0x1a')](_0x124c('0x6'))[_0x124c('0x15')]({'skipNotAttached':!0x0,'skipEmpty':!0x0}));Object[_0x124c('0x10')](_0x31a36a)['length']&&(_0x5d1094[_0x124c('0x2')]=_0x31a36a);}if(_0x1c27c0&&_0x1224e6){const _0x5d55cc=_0x5dabc9[_0x124c('0x20')][_0x124c('0x1a')](_0x124c('0xc')),_0x4f0762=_0x5dabc9[_0x124c('0x20')][_0x124c('0x1a')](_0x124c('0x4')),_0x40932c=getSuggestions(_0x5d55cc[_0x124c('0x1b')]({'toJSON':!0x0}),_0x4f0762[_0x124c('0x1d')]);Object[_0x124c('0x10')](_0x40932c)[_0x124c('0x3')]&&(_0x5d1094['suggestions']=_0x40932c);}return(_0x5d1094['suggestions']||_0x5d1094[_0x124c('0x2')])&&(_0x5d1094[_0x124c('0x9')]=new Intl[(_0x124c('0x23'))]()['resolvedOptions']()['timeZone']),_0x5d1094;}export function getComments(_0x54f794){const _0x39f54b={};if(!_0x54f794['length'])return _0x39f54b;for(const _0x35126e of _0x54f794)_0x35126e[_0x124c('0x2')][_0x124c('0x21')](_0x44ca5d=>{void 0x0===_0x39f54b[_0x35126e['id']]&&(_0x39f54b[_0x35126e['id']]=[]),_0x39f54b[_0x35126e['id']][_0x124c('0xb')]({'author':_0x44ca5d['author'][_0x124c('0x1')],'content':_0x44ca5d[_0x124c('0x5')],'created':_0x44ca5d[_0x124c('0x1f')],'is_resolved':_0x35126e[_0x124c('0x7')]});});return _0x39f54b;}export function getSuggestions(_0xe4a557,_0x2fcb33){const _0x28ecc6={};if(!_0xe4a557[_0x124c('0x3')]||!_0x2fcb33[_0x124c('0x3')])return _0x28ecc6;for(const _0xee40a1 of _0xe4a557)_0x28ecc6[_0xee40a1['id']]={'author':_0x2fcb33[_0x124c('0x1a')](_0xee40a1[_0x124c('0xf')])[_0x124c('0x1')],'created':_0xee40a1[_0x124c('0x1f')]};return _0x28ecc6;}
23
+ const _0xc9a2=['indexOf','then','cssText','resolvedOptions','users','Users','fetch','timeZone','author','comments','name','keys','isResolved','createdAt','getSuggestions','DateTimeFormat','has','cssRules','hasAttribute','The\x20editor\x20stylesheet\x20could\x20not\x20be\x20found\x20in\x20the\x20document.\x20Check\x20your\x20webpack\x20config\x20–\x20style-loader\x20should\x20use\x20data-cke=true\x20attribute\x20for\x20the\x20editor\x20stylesheet.','styleSheets',':root','all','CommentsRepository','TrackChanges','push','get','suggestions','plugins','content','getCommentThreads','length','join','data-cke','from','text'];(function(_0x496a18,_0xc9a24f){const _0x3991fc=function(_0x176bb0){while(--_0x176bb0){_0x496a18['push'](_0x496a18['shift']());}};_0x3991fc(++_0xc9a24f);}(_0xc9a2,0x198));const _0x3991=function(_0x496a18,_0xc9a24f){_0x496a18=_0x496a18-0x0;let _0x3991fc=_0xc9a2[_0x496a18];return _0x3991fc;};export function getStyles(_0x586edc){if(!_0x586edc)return new Promise(_0x43ba86=>_0x43ba86(''));const _0x1b4157=[];for(const _0x4b86c3 of _0x586edc)'EDITOR_STYLES'!==_0x4b86c3?_0x1b4157[_0x3991('0xd')](window[_0x3991('0x1e')](_0x4b86c3)['then'](_0x4f85cc=>_0x4f85cc[_0x3991('0x17')]())):_0x1b4157['push'](u());return Promise[_0x3991('0xa')](_0x1b4157)[_0x3991('0x19')](_0x4f0af7=>_0x4f0af7[_0x3991('0x14')]('\x20')['trim']());}function u(){const _0x3bca3b=[],_0x42160=[];for(const _0x451ec3 of Array[_0x3991('0x16')](document[_0x3991('0x8')])){if(_0x451ec3['ownerNode'][_0x3991('0x6')](_0x3991('0x15')))for(const _0x5ea3ee of Array[_0x3991('0x16')](_0x451ec3[_0x3991('0x5')]))-0x1!==_0x5ea3ee[_0x3991('0x1a')]['indexOf']('.ck-content')?_0x3bca3b[_0x3991('0xd')](_0x5ea3ee[_0x3991('0x1a')]):-0x1!==_0x5ea3ee[_0x3991('0x1a')][_0x3991('0x18')](_0x3991('0x9'))&&_0x42160['push'](_0x5ea3ee[_0x3991('0x1a')]);}return _0x3bca3b['length']||console['warn'](_0x3991('0x7')),[..._0x42160,..._0x3bca3b][_0x3991('0x14')]('\x20')['trim']();}export function getConverterOptions(_0x578b93){const _0x32595d=_0x578b93['plugins'][_0x3991('0x4')]('Users'),_0x4940ed=_0x578b93[_0x3991('0x10')][_0x3991('0x4')](_0x3991('0xb')),_0x3ed76a=_0x578b93['plugins']['has'](_0x3991('0xc')),_0xc10b72={};if(_0x32595d&&_0x4940ed){const _0x24fa9c=getComments(_0x578b93[_0x3991('0x10')]['get'](_0x3991('0xb'))[_0x3991('0x12')]({'skipNotAttached':!0x0,'skipEmpty':!0x0}));Object[_0x3991('0x23')](_0x24fa9c)[_0x3991('0x13')]&&(_0xc10b72['comments']=_0x24fa9c);}if(_0x32595d&&_0x3ed76a){const _0x5d8421=_0x578b93[_0x3991('0x10')][_0x3991('0xe')](_0x3991('0xc')),_0x591535=_0x578b93[_0x3991('0x10')][_0x3991('0xe')](_0x3991('0x1d')),_0xad58bf=getSuggestions(_0x5d8421[_0x3991('0x2')]({'toJSON':!0x0}),_0x591535[_0x3991('0x1c')]);Object['keys'](_0xad58bf)['length']&&(_0xc10b72[_0x3991('0xf')]=_0xad58bf);}return(_0xc10b72[_0x3991('0xf')]||_0xc10b72[_0x3991('0x21')])&&(_0xc10b72['timezone']=new Intl[(_0x3991('0x3'))]()[_0x3991('0x1b')]()[_0x3991('0x1f')]),_0xc10b72;}export function getComments(_0x1a317d){const _0x24eaef={};if(!_0x1a317d['length'])return _0x24eaef;for(const _0x2a1917 of _0x1a317d)_0x2a1917[_0x3991('0x21')]['map'](_0x3f579e=>{void 0x0===_0x24eaef[_0x2a1917['id']]&&(_0x24eaef[_0x2a1917['id']]=[]),_0x24eaef[_0x2a1917['id']][_0x3991('0xd')]({'author':_0x3f579e[_0x3991('0x20')][_0x3991('0x22')],'content':_0x3f579e[_0x3991('0x11')],'created':_0x3f579e[_0x3991('0x1')],'is_resolved':_0x2a1917[_0x3991('0x0')]});});return _0x24eaef;}export function getSuggestions(_0x248915,_0x1c7046){const _0x2cd862={};if(!_0x248915['length']||!_0x1c7046[_0x3991('0x13')])return _0x2cd862;for(const _0xe7458f of _0x248915)_0x2cd862[_0xe7458f['id']]={'author':_0x1c7046[_0x3991('0xe')](_0xe7458f['authorId'])[_0x3991('0x22')],'created':_0xe7458f['createdAt']};return _0x2cd862;}
@@ -1,49 +0,0 @@
1
- /*
2
- * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
- */
5
-
6
- :root {
7
- --ck-toolbar-spinner-size: 18px;
8
- }
9
-
10
- .ck-exportword_status-pending {
11
- position: relative;
12
- }
13
-
14
- .ck.ck-exportword__spinner-container {
15
- display: none;
16
- }
17
-
18
- .ck.ck-exportword__spinner {
19
- position: absolute;
20
- top: 50%;
21
- left: 0;
22
- right: 0;
23
- margin: 0 auto;
24
- width: var(--ck-toolbar-spinner-size);
25
- height: var(--ck-toolbar-spinner-size);
26
- border-radius: 50%;
27
- border: 2px solid var(--ck-color-text);
28
- border-top-color: transparent;
29
- transform: translateY(-50%);
30
- z-index: 1;
31
- }
32
-
33
- .ck-exportword_status-pending .ck.ck-exportword__spinner-container {
34
- display: block;
35
- position: absolute;
36
- width: var(--ck-toolbar-spinner-size);
37
- height: var(--ck-toolbar-spinner-size);
38
- animation: 1.5s infinite rotate linear;
39
- }
40
-
41
- .ck-exportword_status-pending .ck.ck-button__icon {
42
- color: transparent;
43
- }
44
-
45
- @keyframes rotate {
46
- to {
47
- transform: rotate(360deg)
48
- }
49
- }