@ckeditor/ckeditor5-export-word 36.0.1 → 37.0.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.
Files changed (58) hide show
  1. package/build/export-word.js +1 -1
  2. package/lang/translations/ar.po +1 -1
  3. package/lang/translations/bg.po +1 -1
  4. package/lang/translations/bn.po +1 -1
  5. package/lang/translations/ca.po +1 -1
  6. package/lang/translations/cs.po +1 -1
  7. package/lang/translations/da.po +1 -1
  8. package/lang/translations/de.po +1 -1
  9. package/lang/translations/el.po +1 -1
  10. package/lang/translations/en-au.po +1 -1
  11. package/lang/translations/en.po +1 -1
  12. package/lang/translations/es.po +1 -1
  13. package/lang/translations/et.po +1 -1
  14. package/lang/translations/fi.po +1 -1
  15. package/lang/translations/fr.po +1 -1
  16. package/lang/translations/gl.po +1 -1
  17. package/lang/translations/he.po +1 -1
  18. package/lang/translations/hi.po +1 -1
  19. package/lang/translations/hr.po +1 -1
  20. package/lang/translations/hu.po +1 -1
  21. package/lang/translations/id.po +1 -1
  22. package/lang/translations/it.po +1 -1
  23. package/lang/translations/ja.po +1 -1
  24. package/lang/translations/jv.po +1 -1
  25. package/lang/translations/ko.po +1 -1
  26. package/lang/translations/lt.po +1 -1
  27. package/lang/translations/lv.po +1 -1
  28. package/lang/translations/ms.po +1 -1
  29. package/lang/translations/nl.po +1 -1
  30. package/lang/translations/no.po +1 -1
  31. package/lang/translations/pl.po +1 -1
  32. package/lang/translations/pt-br.po +1 -1
  33. package/lang/translations/pt.po +1 -1
  34. package/lang/translations/ro.po +1 -1
  35. package/lang/translations/ru.po +1 -1
  36. package/lang/translations/sk.po +1 -1
  37. package/lang/translations/sr-latn.po +1 -1
  38. package/lang/translations/sr.po +1 -1
  39. package/lang/translations/sv.po +1 -1
  40. package/lang/translations/th.po +1 -1
  41. package/lang/translations/tr.po +1 -1
  42. package/lang/translations/ug.po +1 -1
  43. package/lang/translations/uk.po +1 -1
  44. package/lang/translations/ur.po +1 -1
  45. package/lang/translations/vi.po +1 -1
  46. package/lang/translations/zh-cn.po +1 -1
  47. package/lang/translations/zh.po +1 -1
  48. package/package.json +7 -36
  49. package/src/augmentation.d.ts +21 -0
  50. package/src/augmentation.js +23 -0
  51. package/src/exportword.d.ts +230 -0
  52. package/src/exportword.js +1 -1
  53. package/src/exportwordcommand.d.ts +36 -0
  54. package/src/exportwordcommand.js +1 -1
  55. package/src/index.d.ts +10 -0
  56. package/src/index.js +1 -1
  57. package/src/utils.d.ts +36 -0
  58. package/src/utils.js +1 -1
@@ -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={345:(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=["TrackChanges","hasAttribute","keys","text","suggestions","plugins","name","getSuggestions","push","EDITOR_STYLES","trim","map","join","indexOf","getCommentThreads","CommentsRepository","length","all",":root","Users","author","createdAt","timeZone","get","cssText","resolvedOptions","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.","comments","then","authorId","cssRules","users","has"];var i,s;i=r,s=333,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 document.styleSheets)if(n.ownerNode[a("0x1f")]("data-cke"))for(const o of n[a("0x1b")])-1!==o[a("0x15")][a("0xa")](".ck-content")?e[a("0x5")](o.cssText):-1!==o[a("0x15")][a("0xa")](a("0xf"))&&t[a("0x5")](o[a("0x15")]);return e.length||console.warn(a("0x17")),[...t,...e][a("0x9")](" ")[a("0x7")]()}function d(e){const t=e[a("0x2")][a("0x1d")]("Users"),n=e.plugins[a("0x1d")](a("0xc")),o=e[a("0x2")].has(a("0x1e")),r={};if(t&&n){const t=function(e){const t={};if(!e[a("0xd")])return t;for(const n of e)n[a("0x18")][a("0x8")]((e=>{void 0===t[n.id]&&(t[n.id]=[]),t[n.id][a("0x5")]({author:e[a("0x11")][a("0x3")],content:e.content,created:e.createdAt})}));return t}(e.plugins.get("CommentsRepository")[a("0xb")]({skipNotAttached:!0,skipEmpty:!0}));Object[a("0x20")](t)[a("0xd")]&&(r.comments=t)}if(t&&o){const t=e[a("0x2")][a("0x14")](a("0x1e")),n=e[a("0x2")].get(a("0x10")),o=function(e,t){const n={};if(!e[a("0xd")]||!t[a("0xd")])return n;for(const o of e)n[o.id]={author:t[a("0x14")](o[a("0x1a")]).name,created:o[a("0x12")]};return n}(t[a("0x4")]({toJSON:!0}),n[a("0x1c")]);Object.keys(o).length&&(r[a("0x1")]=o)}return(r[a("0x1")]||r[a("0x18")])&&(r.timezone=(new Intl.DateTimeFormat)[a("0x16")]()[a("0x13")]),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.getData({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("0x6")!==n?t.push(window.fetch(n).then((e=>e[a("0x0")]()))):t[a("0x5")](c());return Promise[a("0xe")](t)[a("0x19")]((e=>e[a("0x9")](" ")[a("0x7")]()))}(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.o(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()}))}o(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(345),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"><g clip-path="url(#a)"><path clip-rule="evenodd" 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 clip-rule="evenodd" 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 clip-rule="evenodd" 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"/></g><defs><clipPath id="a"><path d="M0 0h20v20H0z"/></clipPath></defs></svg>',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");if(!1===o.tokenUrl)this._token=null;else{if(o.tokenUrl)return r.registerTokenUrl(o.tokenUrl).then((e=>{this._token=e}));this._token=r.token}}}})(),(window.CKEditor5=window.CKEditor5||{}).exportWord=o})();
5
+ */(()=>{var e={345:(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=["indexOf","TrackChanges","push","CommentsRepository","timezone","join","keys","warn","getSuggestions","then","plugins","has","Users","timeZone","from","get","styleSheets","cssText","suggestions","author","name","data-cke","EDITOR_STYLES","resolvedOptions","ownerNode",".ck-content","trim","users","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.",":root","DateTimeFormat","length","getCommentThreads","fetch","cssRules","comments","content"];var i,s;i=r,s=160,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[a("0x2")](document[a("0x4")]))if(n[a("0xc")].hasAttribute(a("0x9")))for(const o of Array[a("0x2")](n[a("0x16")]))-1!==o[a("0x5")][a("0x19")](a("0xd"))?e[a("0x1b")](o[a("0x5")]):-1!==o[a("0x5")][a("0x19")](a("0x11"))&&t[a("0x1b")](o[a("0x5")]);return e[a("0x13")]||console[a("0x20")](a("0x10")),[...t,...e][a("0x1e")](" ")[a("0xe")]()}function d(e){const t=e[a("0x23")][a("0x24")](a("0x0")),n=e.plugins.has(a("0x1c")),o=e[a("0x23")].has(a("0x1a")),r={};if(t&&n){const t=function(e){const t={};if(!e[a("0x13")])return t;for(const n of e)n[a("0x17")].map((e=>{void 0===t[n.id]&&(t[n.id]=[]),t[n.id][a("0x1b")]({author:e[a("0x7")][a("0x8")],content:e[a("0x18")],created:e.createdAt})}));return t}(e.plugins[a("0x3")](a("0x1c"))[a("0x14")]({skipNotAttached:!0,skipEmpty:!0}));Object[a("0x1f")](t)[a("0x13")]&&(r[a("0x17")]=t)}if(t&&o){const t=e[a("0x23")][a("0x3")](a("0x1a")),n=e[a("0x23")].get("Users"),o=function(e,t){const n={};if(!e[a("0x13")]||!t[a("0x13")])return n;for(const o of e)n[o.id]={author:t[a("0x3")](o.authorId)[a("0x8")],created:o.createdAt};return n}(t[a("0x21")]({toJSON:!0}),n[a("0xf")]);Object[a("0x1f")](o)[a("0x13")]&&(r.suggestions=o)}return(r[a("0x6")]||r[a("0x17")])&&(r[a("0x1d")]=(new(Intl[a("0x12")]))[a("0xb")]()[a("0x1")]),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,ignoreResolvedComments:!0}));return this.isBusy=!0,this.refresh(),function(e){if(!e)return new Promise((e=>e("")));const t=[];for(const n of e)a("0xa")!==n?t.push(window[a("0x15")](n)[a("0x22")]((e=>e.text()))):t[a("0x1b")](c());return Promise.all(t)[a("0x22")]((e=>e[a("0x1e")](" ")[a("0xe")]()))}(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(345),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"><g clip-path="url(#a)"><path clip-rule="evenodd" 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 clip-rule="evenodd" 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 clip-rule="evenodd" 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"/></g><defs><clipPath id="a"><path d="M0 0h20v20H0z"/></clipPath></defs></svg>',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})();
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
1
+ # Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
2
  #
3
3
  # !!! IMPORTANT !!!
4
4
  #
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckeditor/ckeditor5-export-word",
3
- "version": "36.0.1",
3
+ "version": "37.0.0",
4
4
  "description": "Export to Word feature for CKEditor 5.",
5
5
  "keywords": [
6
6
  "ckeditor",
@@ -29,44 +29,11 @@
29
29
  ],
30
30
  "main": "src/index.js",
31
31
  "dependencies": {
32
- "ckeditor5": "^36.0.1"
33
- },
34
- "devDependencies": {
35
- "@ckeditor/ckeditor5-alignment": "^36.0.1",
36
- "@ckeditor/ckeditor5-autoformat": "^36.0.1",
37
- "@ckeditor/ckeditor5-basic-styles": "^36.0.1",
38
- "@ckeditor/ckeditor5-cloud-services": "^36.0.1",
39
- "@ckeditor/ckeditor5-code-block": "^36.0.1",
40
- "@ckeditor/ckeditor5-collaboration-core": "^36.0.1",
41
- "@ckeditor/ckeditor5-comments": "^36.0.1",
42
- "@ckeditor/ckeditor5-core": "^36.0.1",
43
- "@ckeditor/ckeditor5-dev-utils": "^32.0.0",
44
- "@ckeditor/ckeditor5-easy-image": "^36.0.1",
45
- "@ckeditor/ckeditor5-editor-decoupled": "^36.0.1",
46
- "@ckeditor/ckeditor5-font": "^36.0.1",
47
- "@ckeditor/ckeditor5-heading": "^36.0.1",
48
- "@ckeditor/ckeditor5-horizontal-line": "^36.0.1",
49
- "@ckeditor/ckeditor5-image": "^36.0.1",
50
- "@ckeditor/ckeditor5-indent": "^36.0.1",
51
- "@ckeditor/ckeditor5-list": "^36.0.1",
52
- "@ckeditor/ckeditor5-page-break": "^36.0.1",
53
- "@ckeditor/ckeditor5-paragraph": "^36.0.1",
54
- "@ckeditor/ckeditor5-table": "^36.0.1",
55
- "@ckeditor/ckeditor5-theme-lark": "^36.0.1",
56
- "@ckeditor/ckeditor5-track-changes": "^36.0.1",
57
- "@ckeditor/ckeditor5-ui": "^36.0.1",
58
- "@ckeditor/ckeditor5-utils": "^36.0.1",
59
- "webpack": "^5.58.1",
60
- "webpack-cli": "^4.9.0"
61
- },
62
- "engines": {
63
- "node": ">=14.0.0",
64
- "npm": ">=5.7.1"
32
+ "ckeditor5": "^37.0.0"
65
33
  },
66
34
  "license": "SEE LICENSE IN LICENSE.md",
67
35
  "author": "CKSource (https://cksource.com/)",
68
36
  "homepage": "https://ckeditor.com",
69
- "bugs": "https://github.com/ckeditor/ckeditor5/issues",
70
37
  "files": [
71
38
  "lang",
72
39
  "src",
@@ -76,6 +43,10 @@
76
43
  "CHANGELOG.md"
77
44
  ],
78
45
  "scripts": {
46
+ "build": "tsc -p ./tsconfig.json",
47
+ "postversion": "npm run build",
79
48
  "dll:build": "webpack"
80
- }
49
+ },
50
+ "types": "src/index.d.ts",
51
+ "obfuscated": true
81
52
  }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @license 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
+ import type { ExportWordConfig, ExportWord, ExportWordCommand } from './index';
6
+ declare module '@ckeditor/ckeditor5-core' {
7
+ interface EditorConfig {
8
+ /**
9
+ * The configuration of the {@link module:export-word/exportword~ExportWord export to Word feature}.
10
+ *
11
+ * Read more in {@link module:export-word/exportword~ExportWordConfig}.
12
+ */
13
+ exportWord?: ExportWordConfig;
14
+ }
15
+ interface PluginsMap {
16
+ [ExportWord.pluginName]: ExportWord;
17
+ }
18
+ interface CommandsMap {
19
+ exportWord: ExportWordCommand;
20
+ }
21
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2016 - 2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ export{};
@@ -0,0 +1,230 @@
1
+ /**
2
+ * @license 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
+ * @module export-word/exportword
7
+ * @publicApi
8
+ */
9
+ import { Plugin, type Editor, type PluginDependencies } from 'ckeditor5/src/core';
10
+ import type { InitializedToken, TokenUrl } from '@ckeditor/ckeditor5-cloud-services';
11
+ import '../theme/exportword.css';
12
+ /**
13
+ * The export to Word feature.
14
+ *
15
+ * It allows you to generate a Word file directly from the editor content.
16
+ *
17
+ * For a detailed overview, check the {@glink features/export-word export to Word} feature documentation.
18
+ */
19
+ export default class ExportWord extends Plugin {
20
+ /**
21
+ * @inheritDoc
22
+ */
23
+ static get pluginName(): 'ExportWord';
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ static get requires(): PluginDependencies;
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ init(): void;
32
+ }
33
+ /**
34
+ * The configuration of the export to Word feature. It is used by the Word export features from
35
+ * the `@ckeditor/ckeditor5-export-word` package.
36
+ *
37
+ * ```ts
38
+ * ClassicEditor
39
+ * .create( editorElement, {
40
+ * exportWord: ... // Export to Word feature options.
41
+ * } )
42
+ * .then( ... )
43
+ * .catch( ... );
44
+ * ```
45
+ *
46
+ * See {@link module:core/editor/editorconfig~EditorConfig all editor options}.
47
+ */
48
+ export interface ExportWordConfig {
49
+ /**
50
+ * Paths to the `.css` files containing additional styling for the editor's content (**the order of provided items matters**).
51
+ *
52
+ * ```ts
53
+ * const exportWordConfig = {
54
+ * stylesheets: [ './path/to/custom-style.css' ]
55
+ * }
56
+ * ```
57
+ *
58
+ * **NOTE:** If `stylesheets` are not provided, the plugin will sent only
59
+ * {@glink installation/advanced/content-styles#the-full-list-of-content-styles the default editor content styles} to the converter.
60
+ *
61
+ * **Default editor's content styles**:
62
+ * {@glink installation/advanced/content-styles#the-full-list-of-content-styles The default editor content styles}
63
+ * are applied to the generated Word file thanks to the 'EDITOR_STYLES' token, which is provided to the `stylesheets` by default.
64
+ * If you don't want them to be applied, you have to omit the token:
65
+ *
66
+ * ```ts
67
+ * const exportWordConfig = {
68
+ * stylesheets: [ './path/to/custom-editor-styles.css' ]
69
+ * }
70
+ * ```
71
+ *
72
+ * **Custom styling:** For more advanced styling, your configuration should look like this:
73
+ *
74
+ * ```ts
75
+ * const exportWordConfig = {
76
+ * stylesheets: [
77
+ * 'EDITOR_STYLES',
78
+ * './path/to/custom-styles.css'
79
+ * ]
80
+ * }
81
+ * ```
82
+ *
83
+ * @default `[ 'EDITOR_STYLES' ]`
84
+ */
85
+ stylesheets?: Array<string>;
86
+ /**
87
+ * The name of the generated Word file.
88
+ *
89
+ * ```ts
90
+ * // Static file name.
91
+ * const exportWordConfig = {
92
+ * fileName: 'my-document.docx'
93
+ * }
94
+ *
95
+ *
96
+ * // Dynamic file name.
97
+ * const exportWordConfig = {
98
+ * fileName: () => {
99
+ * const articleTitle = document.querySelector( '#title' );
100
+ *
101
+ * return `${ articleTitle.value }.docx`;
102
+ * }
103
+ * }
104
+ * ```
105
+ *
106
+ * **NOTE:** The file name must contain the `.docx` extension.
107
+ * Otherwise your operating system or device may have trouble identifying the file type.
108
+ *
109
+ * @default 'document.docx'
110
+ */
111
+ fileName?: string | (() => string);
112
+ /**
113
+ * A URL to the Docx converter.
114
+ *
115
+ * ```ts
116
+ * const exportWordConfig = {
117
+ * converterUrl: 'https://myconverter.com/v1/'
118
+ * }
119
+ * ```
120
+ *
121
+ * **NOTE:** The plugin uses the default HTML to Word converter delivered by CKEditor Cloud Services.
122
+ * You can provide a URL to an on-premises converter instead.
123
+ *
124
+ * @default 'https://docx-converter.cke-cs.com/v1/convert'
125
+ */
126
+ converterUrl?: string;
127
+ /**
128
+ * The CKEditor Cloud Services HTML to DOCX Converter [configuration options](https://docx-converter.cke-cs.com/docs#section/Options).
129
+ *
130
+ * **NOTE:** Configuring the plugin is not mandatory.
131
+ *
132
+ * ```ts
133
+ * const exportWordConfig = {
134
+ * converterOptions: {
135
+ * ...
136
+ * }
137
+ * }
138
+ * ```
139
+ *
140
+ * @default `{
141
+ * format: 'A4',
142
+ * margin_top: '1in',
143
+ * margin_bottom: '1in',
144
+ * margin_right: '1in',
145
+ * margin_left: '1in',
146
+ * header: undefined,
147
+ * footer: undefined,
148
+ * comments: undefined,
149
+ * suggestions: undefined,
150
+ * orientation: 'portrait',
151
+ * auto_pagination: true,
152
+ * base_url: undefined,
153
+ * timezone: 'UTC'
154
+ * }`
155
+ */
156
+ converterOptions?: ExportWordConverterOptions;
157
+ /**
158
+ * A function to gather the HTML to be converted to Word.
159
+ *
160
+ * **NOTE:** This option may be useful when the editor does not have a `getData()` method,
161
+ * or if the HTML to be converted should be different than the edited one.
162
+ *
163
+ * ```ts
164
+ * const exportWordConfig = {
165
+ * dataCallback: ( editor ) => {
166
+ * return `
167
+ * <header id="header">${ editor.data.get( { rootName: 'header' } ) }</header>
168
+ * <div id="content">${ editor.data.get( { rootName: 'content' } ) }</div>
169
+ * `;
170
+ * }
171
+ * }
172
+ * ```
173
+ *
174
+ * @default `( editor ) => editor.getData( { pagination: true } )
175
+ *
176
+ * If using the {@glink features/pagination/pagination pagination} feature, the `pagination:true` option inserts additional markers into
177
+ * editor's data. Thanks to that, the Docx converter creates a Word document similar to what is displayed in the editor.
178
+ */
179
+ dataCallback?: (editor: Editor) => string;
180
+ /**
181
+ * A token URL or a token request function. This field is optional and should be used only when a different `tokenUrl` is required for
182
+ * the export to Word feature.
183
+ *
184
+ * **Note:** The token can be disabled with the `false` value provided.
185
+ *
186
+ * See: {@link module:cloud-services/cloudservicesconfig~CloudServicesConfig#tokenUrl}
187
+ */
188
+ tokenUrl?: TokenUrl | false;
189
+ /**
190
+ * The authentication token.
191
+ *
192
+ * See: {@link module:cloud-services/cloudservices~CloudServices#token}
193
+ */
194
+ token?: InitializedToken;
195
+ }
196
+ export type ExportWordConverterOptions = {
197
+ format?: ExportWordConverterFormatOption;
198
+ margin_top?: string;
199
+ margin_bottom?: string;
200
+ margin_right?: string;
201
+ margin_left?: string;
202
+ header?: ExportWordConverterHeaderFooterOption;
203
+ footer?: ExportWordConverterHeaderFooterOption;
204
+ comments?: ExportWordConverterCommentsOption;
205
+ suggestions?: ExportWordConverterSuggestionsOption;
206
+ orientation?: ExportWordConverterOrientationOption;
207
+ auto_pagination?: boolean;
208
+ base_url?: string;
209
+ timezone?: string;
210
+ };
211
+ export type ExportWordConverterFormatOption = 'Letter' | 'Legal' | 'Tabloid' | 'Statement' | 'Executive' | 'A3' | 'A4' | 'A5' | 'A6' | 'B4' | 'B5';
212
+ export type ExportWordConverterOrientationOption = 'portrait' | 'landscape';
213
+ export type ExportWordConverterHeaderFooterOption = Array<{
214
+ html?: string;
215
+ css?: string;
216
+ type?: 'default' | 'even' | 'odd' | 'first';
217
+ }>;
218
+ export type ExportWordConverterCommentsOption = {
219
+ [id: string]: Array<{
220
+ author: string;
221
+ created: Date;
222
+ content?: string;
223
+ }>;
224
+ };
225
+ export type ExportWordConverterSuggestionsOption = {
226
+ [id: string]: {
227
+ author: string;
228
+ created: Date | null;
229
+ };
230
+ };
package/src/exportword.js CHANGED
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{Plugin as _0x35d3d5}from'ckeditor5/src/core';import{ButtonView as _0x238817,View as _0x4c2c80,Notification as _0x117685}from'ckeditor5/src/ui';import _0x5a631b from'./exportwordcommand';import _0x5f4d57 from'../theme/icons/exportword.svg';import'../theme/exportword.css';export default class c extends _0x35d3d5{static get['pluginName'](){return'ExportWord';}static get['requires'](){return['CloudServices',_0x117685];}['init'](){const _0x4538d0=this['editor'],t=_0x4538d0['t'],_0x8cee2a=_0x4538d0['config']['get']('exportWord')||{};_0x4538d0['commands']['add']('exportWord',new _0x5a631b(_0x4538d0)),_0x4538d0['ui']['componentFactory']['add']('exportWord',_0x4ad00b=>{const _0x13e7fe=_0x4538d0['commands']['get']('exportWord'),_0x5c2229=new _0x238817(_0x4ad00b);_0x5c2229['set']({'label':t('Export\x20to\x20Word'),'icon':_0x5f4d57,'tooltip':!0x0}),_0x5c2229['bind']('isOn','isEnabled')['to'](_0x13e7fe,'isBusy','isEnabled'),_0x5c2229['extendTemplate']({'attributes':{'class':[_0x5c2229['bindTemplate']['if']('isOn','ck-exportword_status-pending')]}});const _0x58bac8=new _0x4c2c80();return _0x58bac8['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-exportword__spinner-container']},'children':[{'tag':'span','attributes':{'class':['ck','ck-exportword__spinner']}}]}),_0x5c2229['children']['add'](_0x58bac8),this['listenTo'](_0x5c2229,'execute',()=>{_0x4538d0['execute']('exportWord',_0x8cee2a),_0x4538d0['editing']['view']['focus']();}),_0x5c2229;});const _0x3cd673=_0x4538d0['plugins']['get']('CloudServices');if(!0x1===_0x8cee2a['tokenUrl'])this['_token']=null;else{if(_0x8cee2a['tokenUrl'])return _0x3cd673['registerTokenUrl'](_0x8cee2a['tokenUrl'])['then'](_0x5e839b=>{this['_token']=_0x5e839b;});this['_token']=_0x3cd673['token'];}}}
23
+ import{Plugin as _0x464f80}from'ckeditor5/src/core';import{ButtonView as _0x581567,View as _0x425f8c,Notification as _0x5548d7}from'ckeditor5/src/ui';import _0x2aa620 from'./exportwordcommand';import _0x401832 from'../theme/icons/exportword.svg';import'../theme/exportword.css';export default class c extends _0x464f80{static get['pluginName'](){return'ExportWord';}static get['requires'](){return['CloudServices',_0x5548d7];}['init'](){const _0x33483d=this['editor'],t=_0x33483d['t'],_0xd75bfc=_0x33483d['config']['get']('exportWord')||{};_0x33483d['commands']['add']('exportWord',new _0x2aa620(_0x33483d)),_0x33483d['ui']['componentFactory']['add']('exportWord',_0x438d68=>{const _0x1fdfeb=_0x33483d['commands']['get']('exportWord'),_0x42f76a=new _0x581567(_0x438d68);_0x42f76a['set']({'label':t('Export\x20to\x20Word'),'icon':_0x401832,'tooltip':!0x0}),_0x42f76a['bind']('isOn','isEnabled')['to'](_0x1fdfeb,'isBusy','isEnabled'),_0x42f76a['extendTemplate']({'attributes':{'class':[_0x42f76a['bindTemplate']['if']('isOn','ck-exportword_status-pending')]}});const _0x7fc5b0=new _0x425f8c();return _0x7fc5b0['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-exportword__spinner-container']},'children':[{'tag':'span','attributes':{'class':['ck','ck-exportword__spinner']}}]}),_0x42f76a['children']['add'](_0x7fc5b0),this['listenTo'](_0x42f76a,'execute',()=>{_0x33483d['execute']('exportWord',_0xd75bfc),_0x33483d['editing']['view']['focus']();}),_0x42f76a;});const _0x42424a=_0x33483d['plugins']['get']('CloudServices');!0x1===_0xd75bfc['tokenUrl']?this['_token']=null:_0xd75bfc['tokenUrl']?_0x42424a['registerTokenUrl'](_0xd75bfc['tokenUrl'])['then'](_0x3efee4=>{this['_token']=_0x3efee4;}):this['_token']=_0x42424a['token'];}}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @license 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
+ * @module export-word/exportwordcommand
7
+ * @publicApi
8
+ */
9
+ import { Command, type Editor } from 'ckeditor5/src/core';
10
+ import { type ExportWordConfig } from './exportword';
11
+ /**
12
+ * The export to Word command.
13
+ *
14
+ * It takes the editor's HTML and CSS rules from the document and sends them to the HTML to Word converter.
15
+ * After processing, the converter will send back a Word file for download.
16
+ */
17
+ export default class ExportWordCommand extends Command {
18
+ /**
19
+ * A command state that indicates if the command is currently executing.
20
+ *
21
+ * @observable
22
+ */
23
+ isBusy: boolean;
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ constructor(editor: Editor);
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ refresh(): void;
32
+ /**
33
+ * @inheritDoc
34
+ */
35
+ execute(options?: ExportWordConfig): Promise<void>;
36
+ }
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{Command as _0x9c0410}from'ckeditor5/src/core';import{getStyles as _0x25a2dc,getConverterOptions as _0x4fc48d}from'./utils';export default class i extends _0x9c0410{constructor(_0x36568f){super(_0x36568f),this['set']('isBusy',!0x1),this['affectsData']=!0x1;}['refresh'](){this['isEnabled']=!this['isBusy'],this['value']=this['isBusy']?'pending':void 0x0;}['execute'](_0x3f62b6={}){const _0x4d9049=this['editor'],t=_0x4d9049['t'],_0x50b9c4=_0x3f62b6['converterUrl']||'https://docx-converter.cke-cs.com/v1/convert',_0x58b2ab=_0x3f62b6['converterOptions']||{},_0x47d76a=_0x4d9049['plugins']['get']('ExportWord'),_0x6f30c7=_0x3f62b6['token']||_0x47d76a['_token'],_0x10dd65=!0x1!==_0x58b2ab['auto_pagination'],_0x55793a=_0x3f62b6['dataCallback']||(_0x28059e=>_0x28059e['getData']({'pagination':_0x10dd65}));return this['isBusy']=!0x0,this['refresh'](),_0x25a2dc(_0x3f62b6['stylesheets']||['EDITOR_STYLES'])['then'](async _0xa85676=>{const _0x5483f8=await _0x55793a(_0x4d9049),_0xc065c5={'html':'<div\x20class=\x22ck-content\x22\x20dir=\x22'+_0x4d9049['locale']['contentLanguageDirection']+'\x22>'+_0x5483f8+'</div>','css':_0xa85676,'options':{..._0x58b2ab,..._0x4fc48d(_0x4d9049)}},_0x514dba={'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/docx',..._0x6f30c7?{'Authorization':_0x6f30c7['value']}:null},'body':JSON['stringify'](_0xc065c5)};return window['fetch'](_0x50b9c4,_0x514dba)['then'](_0x20c02b=>{if(0xc8!==_0x20c02b['status'])throw _0x20c02b;return _0x20c02b['blob']();})['then'](_0x3a5220=>{const _0x434d7f='function'==typeof _0x3f62b6['fileName']?_0x3f62b6['fileName']():_0x3f62b6['fileName'];this['o'](_0x3a5220,_0x434d7f||'document.docx');});})['catch'](_0xb0a992=>{throw _0x4d9049['plugins']['get']('Notification')['showWarning'](t('An\x20error\x20occurred\x20while\x20generating\x20the\x20Word\x20file.')),_0xb0a992;})['finally'](()=>{this['isBusy']=!0x1,this['refresh']();});}['o'](_0x1cf0f5,_0x4bbaf4){const _0x37f664=document['createElement']('a');_0x37f664['href']=window['URL']['createObjectURL'](_0x1cf0f5),_0x37f664['download']=_0x4bbaf4,_0x37f664['click'](),_0x37f664['remove']();}}
23
+ import{Command as _0x3bea2e}from'ckeditor5/src/core';import{getStyles as _0xdd8b3d,getConverterOptions as _0x3eb6a9}from'./utils';export default class i extends _0x3bea2e{constructor(_0x4e28fc){super(_0x4e28fc),this['set']('isBusy',!0x1),this['affectsData']=!0x1;}['refresh'](){this['isEnabled']=!this['isBusy'],this['value']=this['isBusy']?'pending':void 0x0;}['execute'](_0x16780d={}){const _0x355b49=this['editor'],t=_0x355b49['t'],_0xcb96bc=_0x16780d['converterUrl']||'https://docx-converter.cke-cs.com/v1/convert',_0x43ac02=_0x16780d['converterOptions']||{},_0x5b2b5f=_0x355b49['plugins']['get']('ExportWord'),_0x3c7ab1=_0x16780d['token']||_0x5b2b5f['_token'],_0x29555e=!0x1!==_0x43ac02['auto_pagination'],_0x92306d=_0x16780d['dataCallback']||(_0x18c9ce=>_0x18c9ce['data']['get']({'pagination':_0x29555e,'ignoreResolvedComments':!0x0}));return this['isBusy']=!0x0,this['refresh'](),_0xdd8b3d(_0x16780d['stylesheets']||['EDITOR_STYLES'])['then'](async _0x418738=>{const _0x305c5d=await _0x92306d(_0x355b49),_0x1aa0d5={'html':'<div\x20class=\x22ck-content\x22\x20dir=\x22'+_0x355b49['locale']['contentLanguageDirection']+'\x22>'+_0x305c5d+'</div>','css':_0x418738,'options':{..._0x43ac02,..._0x3eb6a9(_0x355b49)}},_0x331dc7={'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/docx',..._0x3c7ab1?{'Authorization':_0x3c7ab1['value']}:null},'body':JSON['stringify'](_0x1aa0d5)};return window['fetch'](_0xcb96bc,_0x331dc7)['then'](_0x350154=>{if(0xc8!==_0x350154['status'])throw _0x350154;return _0x350154['blob']();})['then'](_0x321a15=>{const _0xb7afdc='function'==typeof _0x16780d['fileName']?_0x16780d['fileName']():_0x16780d['fileName'];this['_downloadFile'](_0x321a15,_0xb7afdc||'document.docx');});})['catch'](_0x1b3794=>{throw _0x355b49['plugins']['get']('Notification')['showWarning'](t('An\x20error\x20occurred\x20while\x20generating\x20the\x20Word\x20file.')),_0x1b3794;})['finally'](()=>{this['isBusy']=!0x1,this['refresh']();});}['_downloadFile'](_0x512bb4,_0x336851){const _0x3dc94b=document['createElement']('a');_0x3dc94b['href']=window['URL']['createObjectURL'](_0x512bb4),_0x3dc94b['download']=_0x336851,_0x3dc94b['click'](),_0x3dc94b['remove']();}}
package/src/index.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license 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
+ * @module export-word
7
+ */
8
+ export { default as ExportWord, ExportWordConfig } from './exportword';
9
+ export type { default as ExportWordCommand } from './exportwordcommand';
10
+ import './augmentation';
package/src/index.js CHANGED
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- export{default as ExportWord}from'./exportword';
23
+ export{default as ExportWord}from'./exportword';import'./augmentation';
package/src/utils.d.ts ADDED
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @license 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
+ import type { Editor } from 'ckeditor5/src/core';
6
+ import type { Collection } from 'ckeditor5/src/utils';
7
+ import type { ExportWordConverterOptions, ExportWordConverterCommentsOption, ExportWordConverterSuggestionsOption } from './exportword';
8
+ import type { CommentThread } from '@ckeditor/ckeditor5-comments';
9
+ import type { SuggestionJSON } from '@ckeditor/ckeditor5-track-changes';
10
+ import type { User } from '@ckeditor/ckeditor5-collaboration-core';
11
+ /**
12
+ * A helper function for getting concatenated CSS rules from external stylesheets.
13
+ *
14
+ * @param stylesheets An array of stylesheet paths delivered by the user through the plugin configuration.
15
+ */
16
+ export declare function getStyles(stylesheets?: Array<string>): Promise<string>;
17
+ /**
18
+ * A helper function for getting a proper options object containing
19
+ * comments, suggestions and the browser's timezone for the "Export to Word" converter.
20
+ *
21
+ * @param editor An editor instance.
22
+ */
23
+ export declare function getConverterOptions(editor: Editor): ExportWordConverterOptions;
24
+ /**
25
+ * A helper function for getting a comments object for the converter options.
26
+ *
27
+ * @param threads The comment threads array.
28
+ */
29
+ export declare function getComments(threads: Array<CommentThread>): ExportWordConverterCommentsOption;
30
+ /**
31
+ * A helper function for getting a suggestions object for the converter options.
32
+ *
33
+ * @param suggestions The suggestions array.
34
+ * @param users A list of all users in the editor.
35
+ */
36
+ export declare function getSuggestions(suggestions: Array<SuggestionJSON>, users: Collection<User>): ExportWordConverterSuggestionsOption;
package/src/utils.js CHANGED
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- const _0x34da=['TrackChanges','hasAttribute','keys','text','suggestions','plugins','name','getSuggestions','push','EDITOR_STYLES','trim','map','join','indexOf','getCommentThreads','CommentsRepository','length','all',':root','Users','author','createdAt','timeZone','get','cssText','resolvedOptions','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.','comments','then','authorId','cssRules','users','has'];(function(_0x377373,_0x34da53){const _0x2588e7=function(_0x4ae6cd){while(--_0x4ae6cd){_0x377373['push'](_0x377373['shift']());}};_0x2588e7(++_0x34da53);}(_0x34da,0x14d));const _0x2588=function(_0x377373,_0x34da53){_0x377373=_0x377373-0x0;let _0x2588e7=_0x34da[_0x377373];return _0x2588e7;};export function getStyles(_0x556463){if(!_0x556463)return new Promise(_0x1cbf89=>_0x1cbf89(''));const _0x44e8d6=[];for(const _0x4bb08c of _0x556463)_0x2588('0x6')!==_0x4bb08c?_0x44e8d6['push'](window['fetch'](_0x4bb08c)['then'](_0x491c1e=>_0x491c1e[_0x2588('0x0')]())):_0x44e8d6[_0x2588('0x5')](u());return Promise[_0x2588('0xe')](_0x44e8d6)[_0x2588('0x19')](_0x523fd7=>_0x523fd7[_0x2588('0x9')]('\x20')[_0x2588('0x7')]());}function u(){const _0x336e0b=[],_0x3eb896=[];for(const _0x89f12b of document['styleSheets'])if(_0x89f12b['ownerNode'][_0x2588('0x1f')]('data-cke'))for(const _0x587d32 of _0x89f12b[_0x2588('0x1b')])-0x1!==_0x587d32[_0x2588('0x15')][_0x2588('0xa')]('.ck-content')?_0x336e0b[_0x2588('0x5')](_0x587d32['cssText']):-0x1!==_0x587d32[_0x2588('0x15')][_0x2588('0xa')](_0x2588('0xf'))&&_0x3eb896[_0x2588('0x5')](_0x587d32[_0x2588('0x15')]);return _0x336e0b['length']||console['warn'](_0x2588('0x17')),[..._0x3eb896,..._0x336e0b][_0x2588('0x9')]('\x20')[_0x2588('0x7')]();}export function getConverterOptions(_0x42a67a){const _0x20253d=_0x42a67a[_0x2588('0x2')][_0x2588('0x1d')]('Users'),_0x456344=_0x42a67a['plugins'][_0x2588('0x1d')](_0x2588('0xc')),_0x401ce5=_0x42a67a[_0x2588('0x2')]['has'](_0x2588('0x1e')),_0x396649={};if(_0x20253d&&_0x456344){const _0x3c0094=getComments(_0x42a67a['plugins']['get']('CommentsRepository')[_0x2588('0xb')]({'skipNotAttached':!0x0,'skipEmpty':!0x0}));Object[_0x2588('0x20')](_0x3c0094)[_0x2588('0xd')]&&(_0x396649['comments']=_0x3c0094);}if(_0x20253d&&_0x401ce5){const _0x2b4e96=_0x42a67a[_0x2588('0x2')][_0x2588('0x14')](_0x2588('0x1e')),_0x5e1dc0=_0x42a67a[_0x2588('0x2')]['get'](_0x2588('0x10')),_0x2593f6=getSuggestions(_0x2b4e96[_0x2588('0x4')]({'toJSON':!0x0}),_0x5e1dc0[_0x2588('0x1c')]);Object['keys'](_0x2593f6)['length']&&(_0x396649[_0x2588('0x1')]=_0x2593f6);}return(_0x396649[_0x2588('0x1')]||_0x396649[_0x2588('0x18')])&&(_0x396649['timezone']=new Intl['DateTimeFormat']()[_0x2588('0x16')]()[_0x2588('0x13')]),_0x396649;}export function getComments(_0x8d7cd){const _0x2296bb={};if(!_0x8d7cd[_0x2588('0xd')])return _0x2296bb;for(const _0x596695 of _0x8d7cd)_0x596695[_0x2588('0x18')][_0x2588('0x8')](_0x6445f=>{void 0x0===_0x2296bb[_0x596695['id']]&&(_0x2296bb[_0x596695['id']]=[]),_0x2296bb[_0x596695['id']][_0x2588('0x5')]({'author':_0x6445f[_0x2588('0x11')][_0x2588('0x3')],'content':_0x6445f['content'],'created':_0x6445f['createdAt']});});return _0x2296bb;}export function getSuggestions(_0x4ed7a0,_0x17aebf){const _0x565d0f={};if(!_0x4ed7a0[_0x2588('0xd')]||!_0x17aebf[_0x2588('0xd')])return _0x565d0f;for(const _0x3a775c of _0x4ed7a0)_0x565d0f[_0x3a775c['id']]={'author':_0x17aebf[_0x2588('0x14')](_0x3a775c[_0x2588('0x1a')])['name'],'created':_0x3a775c[_0x2588('0x12')]};return _0x565d0f;}
23
+ const _0x48ab=['indexOf','TrackChanges','push','CommentsRepository','timezone','join','keys','warn','getSuggestions','then','plugins','has','Users','timeZone','from','get','styleSheets','cssText','suggestions','author','name','data-cke','EDITOR_STYLES','resolvedOptions','ownerNode','.ck-content','trim','users','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.',':root','DateTimeFormat','length','getCommentThreads','fetch','cssRules','comments','content'];(function(_0xe49c9a,_0x48ab1f){const _0x1cb0c9=function(_0x468860){while(--_0x468860){_0xe49c9a['push'](_0xe49c9a['shift']());}};_0x1cb0c9(++_0x48ab1f);}(_0x48ab,0xa0));const _0x1cb0=function(_0xe49c9a,_0x48ab1f){_0xe49c9a=_0xe49c9a-0x0;let _0x1cb0c9=_0x48ab[_0xe49c9a];return _0x1cb0c9;};export function getStyles(_0x51c44d){if(!_0x51c44d)return new Promise(_0x453f07=>_0x453f07(''));const _0x1406b8=[];for(const _0x3ec10d of _0x51c44d)_0x1cb0('0xa')!==_0x3ec10d?_0x1406b8['push'](window[_0x1cb0('0x15')](_0x3ec10d)[_0x1cb0('0x22')](_0x183a6b=>_0x183a6b['text']())):_0x1406b8[_0x1cb0('0x1b')](u());return Promise['all'](_0x1406b8)[_0x1cb0('0x22')](_0x1c50fd=>_0x1c50fd[_0x1cb0('0x1e')]('\x20')[_0x1cb0('0xe')]());}function u(){const _0x39f56d=[],_0x55754f=[];for(const _0x29657b of Array[_0x1cb0('0x2')](document[_0x1cb0('0x4')])){if(_0x29657b[_0x1cb0('0xc')]['hasAttribute'](_0x1cb0('0x9')))for(const _0x266184 of Array[_0x1cb0('0x2')](_0x29657b[_0x1cb0('0x16')]))-0x1!==_0x266184[_0x1cb0('0x5')][_0x1cb0('0x19')](_0x1cb0('0xd'))?_0x39f56d[_0x1cb0('0x1b')](_0x266184[_0x1cb0('0x5')]):-0x1!==_0x266184[_0x1cb0('0x5')][_0x1cb0('0x19')](_0x1cb0('0x11'))&&_0x55754f[_0x1cb0('0x1b')](_0x266184[_0x1cb0('0x5')]);}return _0x39f56d[_0x1cb0('0x13')]||console[_0x1cb0('0x20')](_0x1cb0('0x10')),[..._0x55754f,..._0x39f56d][_0x1cb0('0x1e')]('\x20')[_0x1cb0('0xe')]();}export function getConverterOptions(_0x5dab56){const _0x34e3d4=_0x5dab56[_0x1cb0('0x23')][_0x1cb0('0x24')](_0x1cb0('0x0')),_0x595225=_0x5dab56['plugins']['has'](_0x1cb0('0x1c')),_0x5b1a19=_0x5dab56[_0x1cb0('0x23')]['has'](_0x1cb0('0x1a')),_0x15b372={};if(_0x34e3d4&&_0x595225){const _0x525a43=getComments(_0x5dab56['plugins'][_0x1cb0('0x3')](_0x1cb0('0x1c'))[_0x1cb0('0x14')]({'skipNotAttached':!0x0,'skipEmpty':!0x0}));Object[_0x1cb0('0x1f')](_0x525a43)[_0x1cb0('0x13')]&&(_0x15b372[_0x1cb0('0x17')]=_0x525a43);}if(_0x34e3d4&&_0x5b1a19){const _0x496ee2=_0x5dab56[_0x1cb0('0x23')][_0x1cb0('0x3')](_0x1cb0('0x1a')),_0x4355fa=_0x5dab56[_0x1cb0('0x23')]['get']('Users'),_0x13f0f6=getSuggestions(_0x496ee2[_0x1cb0('0x21')]({'toJSON':!0x0}),_0x4355fa[_0x1cb0('0xf')]);Object[_0x1cb0('0x1f')](_0x13f0f6)[_0x1cb0('0x13')]&&(_0x15b372['suggestions']=_0x13f0f6);}return(_0x15b372[_0x1cb0('0x6')]||_0x15b372[_0x1cb0('0x17')])&&(_0x15b372[_0x1cb0('0x1d')]=new Intl[(_0x1cb0('0x12'))]()[_0x1cb0('0xb')]()[_0x1cb0('0x1')]),_0x15b372;}export function getComments(_0x2146f4){const _0x4af19a={};if(!_0x2146f4[_0x1cb0('0x13')])return _0x4af19a;for(const _0x2a0388 of _0x2146f4)_0x2a0388[_0x1cb0('0x17')]['map'](_0x3866d1=>{void 0x0===_0x4af19a[_0x2a0388['id']]&&(_0x4af19a[_0x2a0388['id']]=[]),_0x4af19a[_0x2a0388['id']][_0x1cb0('0x1b')]({'author':_0x3866d1[_0x1cb0('0x7')][_0x1cb0('0x8')],'content':_0x3866d1[_0x1cb0('0x18')],'created':_0x3866d1['createdAt']});});return _0x4af19a;}export function getSuggestions(_0x489710,_0xf1175d){const _0x52f3ec={};if(!_0x489710[_0x1cb0('0x13')]||!_0xf1175d[_0x1cb0('0x13')])return _0x52f3ec;for(const _0x1b3b3a of _0x489710)_0x52f3ec[_0x1b3b3a['id']]={'author':_0xf1175d[_0x1cb0('0x3')](_0x1b3b3a['authorId'])[_0x1cb0('0x8')],'created':_0x1b3b3a['createdAt']};return _0x52f3ec;}