@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 +2 -2
- package/build/export-word.js +1 -1
- package/package.json +2 -2
- package/src/exportword.d.ts +0 -1
- package/src/exportword.js +1 -1
- package/src/exportwordcommand.js +1 -1
- package/src/utils.js +1 -1
- package/theme/exportword.css +0 -49
package/LICENSE.md
CHANGED
|
@@ -2,7 +2,7 @@ Software License Agreement
|
|
|
2
2
|
==========================
|
|
3
3
|
|
|
4
4
|
**CKEditor 5 export to Docs feature** (https://ckeditor.com/ckeditor-5/)<br>
|
|
5
|
-
Copyright (c) 2003
|
|
5
|
+
Copyright (c) 2003–2023, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
|
|
6
6
|
|
|
7
7
|
CKEditor 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 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.
|
package/build/export-word.js
CHANGED
|
@@ -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": "
|
|
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": "
|
|
32
|
+
"ckeditor5": "40.1.0"
|
|
33
33
|
},
|
|
34
34
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
35
35
|
"author": "CKSource (https://cksource.com/)",
|
package/src/exportword.d.ts
CHANGED
|
@@ -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
|
|
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'];}}
|
package/src/exportwordcommand.js
CHANGED
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{Command as
|
|
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
|
|
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;}
|
package/theme/exportword.css
DELETED
|
@@ -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
|
-
}
|