@ckeditor/ckeditor5-import-word 36.0.1 → 37.0.0-rc.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 (55) hide show
  1. package/build/import-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.po +1 -1
  11. package/lang/translations/es.po +1 -1
  12. package/lang/translations/et.po +1 -1
  13. package/lang/translations/fi.po +1 -1
  14. package/lang/translations/fr.po +1 -1
  15. package/lang/translations/he.po +1 -1
  16. package/lang/translations/hi.po +1 -1
  17. package/lang/translations/hr.po +1 -1
  18. package/lang/translations/hu.po +1 -1
  19. package/lang/translations/id.po +1 -1
  20. package/lang/translations/it.po +1 -1
  21. package/lang/translations/ja.po +1 -1
  22. package/lang/translations/ko.po +1 -1
  23. package/lang/translations/lt.po +1 -1
  24. package/lang/translations/lv.po +1 -1
  25. package/lang/translations/ms.po +1 -1
  26. package/lang/translations/nl.po +1 -1
  27. package/lang/translations/no.po +1 -1
  28. package/lang/translations/pl.po +1 -1
  29. package/lang/translations/pt-br.po +1 -1
  30. package/lang/translations/pt.po +1 -1
  31. package/lang/translations/ro.po +1 -1
  32. package/lang/translations/ru.po +1 -1
  33. package/lang/translations/sk.po +1 -1
  34. package/lang/translations/sr-latn.po +1 -1
  35. package/lang/translations/sr.po +1 -1
  36. package/lang/translations/sv.po +1 -1
  37. package/lang/translations/th.po +1 -1
  38. package/lang/translations/tr.po +1 -1
  39. package/lang/translations/uk.po +1 -1
  40. package/lang/translations/vi.po +1 -1
  41. package/lang/translations/zh-cn.po +1 -1
  42. package/lang/translations/zh.po +1 -1
  43. package/package.json +10 -38
  44. package/src/augmentation.d.ts +23 -0
  45. package/src/augmentation.js +23 -0
  46. package/src/importword.d.ts +97 -0
  47. package/src/importword.js +1 -1
  48. package/src/importwordcommand.d.ts +54 -0
  49. package/src/importwordcommand.js +1 -1
  50. package/src/importwordediting.d.ts +37 -0
  51. package/src/importwordediting.js +1 -1
  52. package/src/importwordui.d.ts +23 -0
  53. package/src/importwordui.js +1 -1
  54. package/src/index.d.ts +12 -0
  55. package/src/index.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 t={847:(t,e,r)=>{"use strict";r.d(e,{Z:()=>i});var o=r(758),n=r.n(o)()((function(t){return t[1]}));n.push([t.id,":root{--ck-toolbar-spinner-size:18px}.ck-importword_status-pending{position:relative}.ck.ck-importword__spinner-container{display:none}.ck.ck-importword__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-importword_status-pending .ck.ck-importword__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-importword_status-pending .ck.ck-button__icon{color:transparent}@keyframes rotate{to{transform:rotate(1turn)}}",""]);const i=n},758:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r=t(e);return e[2]?"@media ".concat(e[2]," {").concat(r,"}"):r})).join("")},e.i=function(t,r,o){"string"==typeof t&&(t=[[null,t,""]]);var n={};if(o)for(var i=0;i<this.length;i++){var s=this[i][0];null!=s&&(n[s]=!0)}for(var a=0;a<t.length;a++){var c=[].concat(t[a]);o&&n[c[0]]||(r&&(c[2]?c[2]="".concat(r," and ").concat(c[2]):c[2]=r),e.push(c))}},e}},278:(t,e,r)=>{"use strict";var o,n=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},i=function(){var t={};return function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(t){r=null}t[e]=r}return t[e]}}(),s=[];function a(t){for(var e=-1,r=0;r<s.length;r++)if(s[r].identifier===t){e=r;break}return e}function c(t,e){for(var r={},o=[],n=0;n<t.length;n++){var i=t[n],c=e.base?i[0]+e.base:i[0],l=r[c]||0,d="".concat(c," ").concat(l);r[c]=l+1;var u=a(d),p={css:i[1],media:i[2],sourceMap:i[3]};-1!==u?(s[u].references++,s[u].updater(p)):s.push({identifier:d,updater:g(p,e),references:1}),o.push(d)}return o}function l(t){var e=document.createElement("style"),o=t.attributes||{};if(void 0===o.nonce){var n=r.nc;n&&(o.nonce=n)}if(Object.keys(o).forEach((function(t){e.setAttribute(t,o[t])})),"function"==typeof t.insert)t.insert(e);else{var s=i(t.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(e)}return e}var d,u=(d=[],function(t,e){return d[t]=e,d.filter(Boolean).join("\n")});function p(t,e,r,o){var n=r?"":o.media?"@media ".concat(o.media," {").concat(o.css,"}"):o.css;if(t.styleSheet)t.styleSheet.cssText=u(e,n);else{var i=document.createTextNode(n),s=t.childNodes;s[e]&&t.removeChild(s[e]),s.length?t.insertBefore(i,s[e]):t.appendChild(i)}}function h(t,e,r){var o=r.css,n=r.media,i=r.sourceMap;if(n?t.setAttribute("media",n):t.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var m=null,f=0;function g(t,e){var r,o,n;if(e.singleton){var i=f++;r=m||(m=l(e)),o=p.bind(null,r,i,!1),n=p.bind(null,r,i,!0)}else r=l(e),o=h.bind(null,r,e),n=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(r)};return o(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;o(t=e)}else n()}}t.exports=function(t,e){(e=e||{}).singleton||"boolean"==typeof e.singleton||(e.singleton=n());var r=c(t=t||[],e);return function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){for(var o=0;o<r.length;o++){var n=a(r[o]);s[n].references--}for(var i=c(t,e),l=0;l<r.length;l++){var d=a(r[l]);0===s[d].references&&(s[d].updater(),s.splice(d,1))}r=i}}}},945:(t,e,r)=>{t.exports=r(79)("./src/clipboard.js")},704:(t,e,r)=>{t.exports=r(79)("./src/core.js")},492:(t,e,r)=>{t.exports=r(79)("./src/engine.js")},273:(t,e,r)=>{t.exports=r(79)("./src/ui.js")},448:(t,e,r)=>{t.exports=r(79)("./src/upload.js")},209:(t,e,r)=>{t.exports=r(79)("./src/utils.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function r(o){var n=e[o];if(void 0!==n)return n.exports;var i=e[o]={id:o,exports:{}};return t[o](i,i.exports,r),i.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var o in e)r.o(e,o)&&!r.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.nc=void 0;var o={};(()=>{"use strict";r.r(o),r.d(o,{ImportWord:()=>_,ImportWordEditing:()=>b,ImportWordUI:()=>l});var t=r(704),e=r(273),n=r(448);var i=r(278),s=r.n(i),a=r(847),c={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};s()(a.Z,c);a.Z.locals;class l extends t.Plugin{static get pluginName(){return"ImportWordUI"}init(){const t=this.editor,r=t.t;t.ui.componentFactory.add("importWord",(o=>{const i=t.commands.get("importWord"),s=new n.FileDialogButtonView(o);s.set({acceptedType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.openxmlformats-officedocument.wordprocessingml.template"}),s.buttonView.set({label:r("Import from 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="m14 0 5 4.5v8.892l-1.5-1.8V6.5h-5v-5h-8v3H3V0h11Zm0 2v3h3.3L14 2Z"/><path d="M10.74 18a2.76 2.76 0 0 1-.469-.5H3V19h9.25v-.374A2.737 2.737 0 0 1 10.74 18Z"/><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.602.602 0 0 0 1.032 0l.043-.09 1.554-4 .028-.093a.6.6 0 0 0-1.104-.43v.001ZM11.674 15.407a.75.75 0 1 0 1.152.96L14 14.96V20h1.5v-5.04l1.174 1.408a.75.75 0 1 0 1.152-.96l-2.346-2.816a.95.95 0 0 0-1.46 0l-2.346 2.815Z"/></g><defs><clipPath id="a"><path d="M0 0h20v20H0z"/></clipPath></defs></svg>',tooltip:!0}),s.buttonView.bind("isOn","isEnabled").to(i,"isBusy","isEnabled"),s.buttonView.extendTemplate({attributes:{class:[s.buttonView.bindTemplate.if("isOn","ck-importword_status-pending")]}});const a=new e.View;return a.setTemplate({tag:"span",attributes:{class:["ck","ck-importword__spinner-container"]},children:[{tag:"span",attributes:{class:["ck","ck-importword__spinner"]}}]}),s.buttonView.children.add(a),s.on("done",((e,r)=>{t.execute("importWord",r[0],{}),t.editing.view.focus()})),s}))}}var d=r(945),u=r(492),p=r(209);class h extends t.Command{constructor(t){super(t),this.set("isBusy",!1),this._importMarker=null,this._undoStepBatch=null,this._abortController=null,this.on("dataInsert",((e,r)=>{const o=new DataTransfer;o.setData("text/html",r.html);const n=this._importMarker.getRange();this.editor.model.enqueueChange(this._undoStepBatch,(e=>{this._importMarker.stopListening(),e.setSelection(n),t.editing.view.document.fire("clipboardInput",{dataTransfer:o})}))}),{priority:"low"})}refresh(){this.isEnabled=this.i()}execute(t,e={}){if(this.isBusy)return;const r=this.editor.config.get("importWord"),o={url:r.converterUrl,file:t,serviceConfig:{...e,default_styles:r.defaultStyles}};return this.s(),this._sendImportRequest(o).then(this.o.bind(this)).catch(this.h.bind(this)).finally(this.l.bind(this))}i(){if(this.isBusy)return!1;const t=this.editor.model,e=t.schema,r=t.document.selection,o=(0,p.first)(r.getSelectedBlocks());return!!o&&e.checkChild(o.parent,"paragraph")}s(){const t=this.editor,e=t.model,r=e.document.selection;this._abortController=new AbortController,this._undoStepBatch=t.model.createBatch(),e.enqueueChange(this._undoStepBatch,(t=>{r.isCollapsed||e.deleteContent(r,{leaveUnmerged:!0});const o=r.getFirstPosition(),n=(0,p.first)(r.getSelectedBlocks());let i;i=n.is("element","paragraph")&&n.isEmpty?o:o.isAtStart?e.createPositionBefore(n):o.isAtEnd?e.createPositionAfter(n):t.split(o).position,this._importMarker=t.addMarker("importWord:"+(0,p.uid)(),{usingOperation:!1,affectsData:!1,range:new u.Range(i)}),this._importMarker.on("change:range",(()=>{"$graveyard"===this._importMarker.getRange().root.rootName&&this._abortController.abort()}))})),this.isBusy=!0,this.refresh()}l(){const t=this.editor.model;t.markers.has(this._importMarker)&&t.enqueueChange(this._undoStepBatch,(t=>{t.removeMarker(this._importMarker)})),this._importMarker=null,this._undoStepBatch=null,this._abortController=null,this.isBusy=!1,this.refresh()}_sendImportRequest({url:t,file:e,serviceConfig:r}){const o=this.editor.plugins.get("ImportWordEditing").getToken(),n=new FormData;n.set("config",JSON.stringify(r)),n.set("file",e);const i={method:"POST",headers:{},body:n,signal:this._abortController.signal};return o&&(i.headers.Authorization=o.value),fetch(t,i)}o(t){return t.ok?t.json().then((t=>{this.editor.model.markers.has(this._importMarker)&&"$graveyard"!==this._importMarker.getRange().root.rootName&&this.fire("dataInsert",t)})):Promise.reject()}h(){if(this._abortController.signal.aborted)return void(0,p.logWarning)("import-word-plugin-import-cancelled");const t=this.editor,e=(0,t.t)("An error occurred while importing the Word file.");t.plugins.get("Notification").showWarning(e),(0,p.logError)("import-word-plugin-conversion-failed")}}const m=["config","registerTokenUrl","importWord","editor","get","token","plugins","https://docx-converter.cke-cs.com/v2/convert/docx-html","cloudServices","define","ImportWordEditing","tokenUrl","requires"];var f,g;f=m,g=410,function(t){for(;--t;)f.push(f.shift())}(++g);const v=function(t,e){return m[t-=0]};class b extends t.Plugin{static get pluginName(){return v("0x3")}static get[v("0x5")](){return[e.Notification,d.ClipboardPipeline,"CloudServices"]}constructor(t){super(t),this.m=null}async init(){const t=this[v("0x9")];t[v("0x6")][v("0x2")]("importWord",{converterUrl:v("0x0"),tokenUrl:(t[v("0x6")][v("0xa")](v("0x1"))||{})[v("0x4")],defaultStyles:!1}),t.commands.add("importWord",new h(t));const{tokenUrl:e}=t[v("0x6")].get(v("0x8"));if(e){const{tokenUrl:r}=t[v("0x6")].get(v("0x1"))||{};this.m=e===r?t.plugins[v("0xa")]("CloudServices")[v("0xb")]:await t[v("0xc")].get("CloudServices")[v("0x7")](e)}}getToken(){return this.m}}var w,x,k=["requires","pluginName"];w=k,x=295,function(t){for(;--t;)w.push(w.shift())}(++x);var y=function(t,e){return k[t-=0]};class _ extends t.Plugin{static get[y("0x0")](){return"ImportWord"}static get[y("0x1")](){return[b,l]}}})(),(window.CKEditor5=window.CKEditor5||{}).importWord=o})();
5
+ */(()=>{var t={847:(t,e,r)=>{"use strict";r.d(e,{Z:()=>i});var o=r(758),n=r.n(o)()((function(t){return t[1]}));n.push([t.id,":root{--ck-toolbar-spinner-size:18px}.ck-importword_status-pending{position:relative}.ck.ck-importword__spinner-container{display:none}.ck.ck-importword__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-importword_status-pending .ck.ck-importword__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-importword_status-pending .ck.ck-button__icon{color:transparent}@keyframes rotate{to{transform:rotate(1turn)}}",""]);const i=n},758:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r=t(e);return e[2]?"@media ".concat(e[2]," {").concat(r,"}"):r})).join("")},e.i=function(t,r,o){"string"==typeof t&&(t=[[null,t,""]]);var n={};if(o)for(var i=0;i<this.length;i++){var s=this[i][0];null!=s&&(n[s]=!0)}for(var a=0;a<t.length;a++){var c=[].concat(t[a]);o&&n[c[0]]||(r&&(c[2]?c[2]="".concat(r," and ").concat(c[2]):c[2]=r),e.push(c))}},e}},278:(t,e,r)=>{"use strict";var o,n=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},i=function(){var t={};return function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(t){r=null}t[e]=r}return t[e]}}(),s=[];function a(t){for(var e=-1,r=0;r<s.length;r++)if(s[r].identifier===t){e=r;break}return e}function c(t,e){for(var r={},o=[],n=0;n<t.length;n++){var i=t[n],c=e.base?i[0]+e.base:i[0],l=r[c]||0,d="".concat(c," ").concat(l);r[c]=l+1;var u=a(d),p={css:i[1],media:i[2],sourceMap:i[3]};-1!==u?(s[u].references++,s[u].updater(p)):s.push({identifier:d,updater:g(p,e),references:1}),o.push(d)}return o}function l(t){var e=document.createElement("style"),o=t.attributes||{};if(void 0===o.nonce){var n=r.nc;n&&(o.nonce=n)}if(Object.keys(o).forEach((function(t){e.setAttribute(t,o[t])})),"function"==typeof t.insert)t.insert(e);else{var s=i(t.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(e)}return e}var d,u=(d=[],function(t,e){return d[t]=e,d.filter(Boolean).join("\n")});function p(t,e,r,o){var n=r?"":o.media?"@media ".concat(o.media," {").concat(o.css,"}"):o.css;if(t.styleSheet)t.styleSheet.cssText=u(e,n);else{var i=document.createTextNode(n),s=t.childNodes;s[e]&&t.removeChild(s[e]),s.length?t.insertBefore(i,s[e]):t.appendChild(i)}}function h(t,e,r){var o=r.css,n=r.media,i=r.sourceMap;if(n?t.setAttribute("media",n):t.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var m=null,f=0;function g(t,e){var r,o,n;if(e.singleton){var i=f++;r=m||(m=l(e)),o=p.bind(null,r,i,!1),n=p.bind(null,r,i,!0)}else r=l(e),o=h.bind(null,r,e),n=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(r)};return o(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;o(t=e)}else n()}}t.exports=function(t,e){(e=e||{}).singleton||"boolean"==typeof e.singleton||(e.singleton=n());var r=c(t=t||[],e);return function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){for(var o=0;o<r.length;o++){var n=a(r[o]);s[n].references--}for(var i=c(t,e),l=0;l<r.length;l++){var d=a(r[l]);0===s[d].references&&(s[d].updater(),s.splice(d,1))}r=i}}}},945:(t,e,r)=>{t.exports=r(79)("./src/clipboard.js")},704:(t,e,r)=>{t.exports=r(79)("./src/core.js")},492:(t,e,r)=>{t.exports=r(79)("./src/engine.js")},273:(t,e,r)=>{t.exports=r(79)("./src/ui.js")},448:(t,e,r)=>{t.exports=r(79)("./src/upload.js")},209:(t,e,r)=>{t.exports=r(79)("./src/utils.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function r(o){var n=e[o];if(void 0!==n)return n.exports;var i=e[o]={id:o,exports:{}};return t[o](i,i.exports,r),i.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var o in e)r.o(e,o)&&!r.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.nc=void 0;var o={};(()=>{"use strict";r.r(o),r.d(o,{ImportWord:()=>y,ImportWordEditing:()=>b,ImportWordUI:()=>l});var t=r(704),e=r(273),n=r(448);var i=r(278),s=r.n(i),a=r(847),c={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};s()(a.Z,c);a.Z.locals;class l extends t.Plugin{static get pluginName(){return"ImportWordUI"}init(){const t=this.editor,r=t.t;t.ui.componentFactory.add("importWord",(o=>{const i=t.commands.get("importWord"),s=new n.FileDialogButtonView(o);s.set({acceptedType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.openxmlformats-officedocument.wordprocessingml.template"}),s.buttonView.set({label:r("Import from 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="m14 0 5 4.5v8.892l-1.5-1.8V6.5h-5v-5h-8v3H3V0h11Zm0 2v3h3.3L14 2Z"/><path d="M10.74 18a2.76 2.76 0 0 1-.469-.5H3V19h9.25v-.374A2.737 2.737 0 0 1 10.74 18Z"/><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.602.602 0 0 0 1.032 0l.043-.09 1.554-4 .028-.093a.6.6 0 0 0-1.104-.43v.001ZM11.674 15.407a.75.75 0 1 0 1.152.96L14 14.96V20h1.5v-5.04l1.174 1.408a.75.75 0 1 0 1.152-.96l-2.346-2.816a.95.95 0 0 0-1.46 0l-2.346 2.815Z"/></g><defs><clipPath id="a"><path d="M0 0h20v20H0z"/></clipPath></defs></svg>',tooltip:!0}),s.buttonView.bind("isOn","isEnabled").to(i,"isBusy","isEnabled"),s.buttonView.extendTemplate({attributes:{class:[s.buttonView.bindTemplate.if("isOn","ck-importword_status-pending")]}});const a=new e.View;return a.setTemplate({tag:"span",attributes:{class:["ck","ck-importword__spinner-container"]},children:[{tag:"span",attributes:{class:["ck","ck-importword__spinner"]}}]}),s.buttonView.children.add(a),s.on("done",((e,r)=>{t.execute("importWord",r[0],{}),t.editing.view.focus()})),s}))}}var d=r(945),u=r(492),p=r(209);class h extends t.Command{constructor(t){super(t),this.set("isBusy",!1),this._importMarker=null,this._undoStepBatch=null,this._abortController=null,this.on("dataInsert",((e,r)=>{const o=new DataTransfer;o.setData("text/html",r.html);const n=this._importMarker.getRange();this.editor.model.enqueueChange(this._undoStepBatch,(e=>{this._importMarker.stopListening(),e.setSelection(n),t.editing.view.document.fire("clipboardInput",{dataTransfer:o})}))}),{priority:"low"})}refresh(){this.isEnabled=this._checkEnabled()}execute(t,e={}){if(this.isBusy)return Promise.resolve();const r=this.editor.config.get("importWord"),o={url:r.converterUrl,file:t,serviceConfig:{...e,default_styles:r.defaultStyles}};return this._prepareForImport(),this._sendImportRequest(o).then(this._handleImportResponse.bind(this)).catch(this._handleImportFailure.bind(this)).finally(this._cleanUpAfterImport.bind(this))}_checkEnabled(){if(this.isBusy)return!1;const t=this.editor.model,e=t.schema,r=t.document.selection,o=(0,p.first)(r.getSelectedBlocks());return!!o&&e.checkChild(o.parent,"paragraph")}_prepareForImport(){const t=this.editor,e=t.model,r=e.document.selection;this._abortController=new AbortController,this._undoStepBatch=t.model.createBatch({isUndoable:!0}),e.enqueueChange(this._undoStepBatch,(t=>{r.isCollapsed||e.deleteContent(r,{leaveUnmerged:!0});const o=r.getFirstPosition(),n=(0,p.first)(r.getSelectedBlocks());let i;i=n.is("element","paragraph")&&n.isEmpty?o:o.isAtStart?e.createPositionBefore(n):o.isAtEnd?e.createPositionAfter(n):t.split(o).position,this._importMarker=t.addMarker("importWord:"+(0,p.uid)(),{usingOperation:!1,affectsData:!1,range:new u.Range(i)}),this._importMarker.on("change:range",(()=>{"$graveyard"===this._importMarker.getRange().root.rootName&&this._abortController.abort()}))})),this.isBusy=!0,this.refresh()}_cleanUpAfterImport(){const t=this.editor.model;t.markers.has(this._importMarker)&&t.enqueueChange(this._undoStepBatch,(t=>{t.removeMarker(this._importMarker)})),this._importMarker=null,this._undoStepBatch=null,this._abortController=null,this.isBusy=!1,this.refresh()}_sendImportRequest({url:t,file:e,serviceConfig:r}){const o=this.editor.plugins.get("ImportWordEditing").getToken(),n=new FormData;n.set("config",JSON.stringify(r)),n.set("file",e);const i={method:"POST",headers:{},body:n,signal:this._abortController.signal};return o&&(i.headers.Authorization=o.value),fetch(t,i)}_handleImportResponse(t){return t.ok?t.json().then((t=>{this.editor.model.markers.has(this._importMarker)&&"$graveyard"!==this._importMarker.getRange().root.rootName&&this.fire("dataInsert",t)})):Promise.reject()}_handleImportFailure(){if(this._abortController.signal.aborted)return void(0,p.logWarning)("import-word-plugin-import-cancelled");const t=this.editor,e=(0,t.t)("An error occurred while importing the Word file.");t.plugins.get("Notification").showWarning(e),(0,p.logError)("import-word-plugin-conversion-failed")}}const m=["config","cloudServices","tokenUrl","plugins","getToken","init","importWord","CloudServices","requires","add","pluginName","token","define","get","https://docx-converter.cke-cs.com/v2/convert/docx-html","_token","registerTokenUrl"];var f,g;f=m,g=192,function(t){for(;--t;)f.push(f.shift())}(++g);const v=function(t,e){return m[t-=0]};class b extends t.Plugin{static get[v("0x5")](){return"ImportWordEditing"}static get[v("0x3")](){return[e.Notification,d.ClipboardPipeline,v("0x2")]}constructor(t){super(t),this[v("0xa")]=null}async[v("0x0")](){const t=this.editor;t[v("0xc")][v("0x7")](v("0x1"),{converterUrl:v("0x9"),tokenUrl:(t[v("0xc")][v("0x8")](v("0xd"))||{})[v("0xe")],defaultStyles:!1}),t.commands[v("0x4")](v("0x1"),new h(t));const{tokenUrl:e}=t[v("0xc")][v("0x8")](v("0x1"));if(e){const{tokenUrl:r}=t[v("0xc")].get(v("0xd"))||{};this._token=e===r?t.plugins[v("0x8")](v("0x2"))[v("0x6")]:await t[v("0xf")].get(v("0x2"))[v("0xb")](e)}}[v("0x10")](){return this[v("0xa")]}}var x,_,k=["requires","ImportWord","pluginName"];x=k,_=491,function(t){for(;--t;)x.push(x.shift())}(++_);var w=function(t,e){return k[t-=0]};class y extends t.Plugin{static get[w("0x0")](){return w("0x2")}static get[w("0x1")](){return[b,l]}}})(),(window.CKEditor5=window.CKEditor5||{}).importWord=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
  #
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckeditor/ckeditor5-import-word",
3
- "version": "36.0.1",
3
+ "version": "37.0.0-rc.0",
4
4
  "description": "Import from Word feature for CKEditor 5.",
5
5
  "keywords": [
6
6
  "ckeditor",
@@ -29,53 +29,25 @@
29
29
  ],
30
30
  "main": "src/index.js",
31
31
  "dependencies": {
32
- "ckeditor5": "^36.0.1"
33
- },
34
- "devDependencies": {
35
- "@ckeditor/ckeditor5-autoformat": "^36.0.1",
36
- "@ckeditor/ckeditor5-basic-styles": "^36.0.1",
37
- "@ckeditor/ckeditor5-block-quote": "^36.0.1",
38
- "@ckeditor/ckeditor5-clipboard": "^36.0.1",
39
- "@ckeditor/ckeditor5-cloud-services": "^36.0.1",
40
- "@ckeditor/ckeditor5-code-block": "^36.0.1",
41
- "@ckeditor/ckeditor5-core": "^36.0.1",
42
- "@ckeditor/ckeditor5-dev-utils": "^32.0.0",
43
- "@ckeditor/ckeditor5-easy-image": "^36.0.1",
44
- "@ckeditor/ckeditor5-editor-classic": "^36.0.1",
45
- "@ckeditor/ckeditor5-essentials": "^36.0.1",
46
- "@ckeditor/ckeditor5-engine": "^36.0.1",
47
- "@ckeditor/ckeditor5-heading": "^36.0.1",
48
- "@ckeditor/ckeditor5-image": "^36.0.1",
49
- "@ckeditor/ckeditor5-indent": "^36.0.1",
50
- "@ckeditor/ckeditor5-link": "^36.0.1",
51
- "@ckeditor/ckeditor5-list": "^36.0.1",
52
- "@ckeditor/ckeditor5-paragraph": "^36.0.1",
53
- "@ckeditor/ckeditor5-media-embed": "^36.0.1",
54
- "@ckeditor/ckeditor5-table": "^36.0.1",
55
- "@ckeditor/ckeditor5-theme-lark": "^36.0.1",
56
- "@ckeditor/ckeditor5-ui": "^36.0.1",
57
- "@ckeditor/ckeditor5-undo": "^36.0.1",
58
- "@ckeditor/ckeditor5-upload": "^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-rc.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
- "src",
39
+ "src/**/*.js",
40
+ "src/**/*.d.ts",
73
41
  "theme",
74
42
  "build",
75
43
  "ckeditor5-metadata.json",
76
44
  "CHANGELOG.md"
77
45
  ],
78
46
  "scripts": {
79
- "dll:build": "webpack"
80
- }
47
+ "dll:build": "webpack",
48
+ "build": "tsc -p ./tsconfig.json",
49
+ "postversion": "npm run build"
50
+ },
51
+ "types": "src/index.d.ts",
52
+ "obfuscated": true
81
53
  }
@@ -0,0 +1,23 @@
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 { ImportWordConfig, ImportWord, ImportWordEditing, ImportWordUI, ImportWordCommand } from './index';
6
+ declare module '@ckeditor/ckeditor5-core' {
7
+ interface EditorConfig {
8
+ /**
9
+ * The configuration of the {@link module:import-word/importword~ImportWord import from Word feature}.
10
+ *
11
+ * Read more in {@link module:import-word/importword~ImportWordConfig}.
12
+ */
13
+ importWord?: ImportWordConfig;
14
+ }
15
+ interface PluginsMap {
16
+ [ImportWord.pluginName]: ImportWord;
17
+ [ImportWordEditing.pluginName]: ImportWordEditing;
18
+ [ImportWordUI.pluginName]: ImportWordUI;
19
+ }
20
+ interface CommandsMap {
21
+ importWord: ImportWordCommand;
22
+ }
23
+ }
@@ -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,97 @@
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 import-word/importword
7
+ * @publicApi
8
+ */
9
+ import { Plugin, type PluginDependencies } from 'ckeditor5/src/core';
10
+ import type { TokenUrl } from '@ckeditor/ckeditor5-cloud-services';
11
+ /**
12
+ * The import from Word feature.
13
+ *
14
+ * It allows importing content from a Word file directly into CKEditor 5.
15
+ *
16
+ * This is a "glue" plugin which enables:
17
+ *
18
+ * * {@link module:import-word/importwordediting~ImportWordEditing},
19
+ * * {@link module:import-word/importwordui~ImportWordUI},
20
+ *
21
+ * For a detailed overview, check the {@glink features/import-word/import-word import from Word} feature documentation.
22
+ */
23
+ export default class ImportWord extends Plugin {
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ static get pluginName(): 'ImportWord';
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ static get requires(): PluginDependencies;
32
+ }
33
+ /**
34
+ * The configuration of the {@link module:import-word/importword~ImportWord import from Word feature}.
35
+ *
36
+ * The configuration for the import from Word feature requires providing the
37
+ * {@link module:import-word/importword~ImportWordConfig#tokenUrl `config.importWord.tokenUrl`}:
38
+ *
39
+ * ```ts
40
+ * ClassicEditor
41
+ * .create( editorElement, {
42
+ * importWord: {
43
+ * tokenUrl: 'https://example.com/cs-token-endpoint'
44
+ * }
45
+ * } )
46
+ * .then( ... )
47
+ * .catch( ... );
48
+ * ```
49
+ *
50
+ * See {@link module:core/editor/editorconfig~EditorConfig all editor options}.
51
+ */
52
+ export interface ImportWordConfig {
53
+ /**
54
+ * A URL to the Docx converter.
55
+ *
56
+ * ```ts
57
+ * const importWordConfig = {
58
+ * converterUrl: 'https://myconverter.com/v1/'
59
+ * }
60
+ * ```
61
+ *
62
+ * **Note:** The plugin uses the default Word to HTML converter delivered by CKEditor Cloud Services.
63
+ * You can provide a URL to an on-premises converter instead.
64
+ *
65
+ * @default 'https://docx-converter.cke-cs.com/v2/convert/docx-html'
66
+ */
67
+ converterUrl?: string;
68
+ /**
69
+ * A token URL or a token request function. This field is optional and should be used only when a different `tokenUrl`
70
+ * is required for the Import from Word feature.
71
+ *
72
+ * **Note:** The token can be disabled with the `false` value provided.
73
+ *
74
+ * See: {@link module:cloud-services/cloudservicesconfig~CloudServicesConfig#tokenUrl}
75
+ */
76
+ tokenUrl?: TokenUrl;
77
+ /**
78
+ * If `true`, the converter service preserves the default styles and formatting of the imported Word document.
79
+ *
80
+ * @default false
81
+ */
82
+ defaultStyles?: boolean;
83
+ /**
84
+ * Defines which formatting styles should be kept for the imported comments text.
85
+ *
86
+ * Possible values are:
87
+ *
88
+ * * `'basic'` - basic styles are kept (bold, italic, underline, strikethrough and links),
89
+ * * `'none'` - comment text is imported without any styling,
90
+ * * `'full'` - all styles are kept (not recommended).
91
+ *
92
+ * **Note:** Please remember that importing comments requires installing the {@link module:comments/comments~Comments} feature.
93
+ *
94
+ * @default 'basic'
95
+ */
96
+ commentsStyles?: 'basic' | 'none' | 'full';
97
+ }
package/src/importword.js CHANGED
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- var _0x5968=['requires','pluginName'];(function(_0x2e7594,_0x596889){var _0x272625=function(_0x2b8b7a){while(--_0x2b8b7a){_0x2e7594['push'](_0x2e7594['shift']());}};_0x272625(++_0x596889);}(_0x5968,0x127));var _0x2726=function(_0x2e7594,_0x596889){_0x2e7594=_0x2e7594-0x0;var _0x272625=_0x5968[_0x2e7594];return _0x272625;};import{Plugin as _0xfd6bdc}from'ckeditor5/src/core';import _0xb999bc from'./importwordui';import _0x3d92bb from'./importwordediting';export default class i extends _0xfd6bdc{static get[_0x2726('0x0')](){return'ImportWord';}static get[_0x2726('0x1')](){return[_0x3d92bb,_0xb999bc];}}
23
+ var _0x42d0=['requires','ImportWord','pluginName'];(function(_0x5d113b,_0x42d0ec){var _0xc492e2=function(_0x72afa6){while(--_0x72afa6){_0x5d113b['push'](_0x5d113b['shift']());}};_0xc492e2(++_0x42d0ec);}(_0x42d0,0x1eb));var _0xc492=function(_0x5d113b,_0x42d0ec){_0x5d113b=_0x5d113b-0x0;var _0xc492e2=_0x42d0[_0x5d113b];return _0xc492e2;};import{Plugin as _0x332240}from'ckeditor5/src/core';import _0x1ceea0 from'./importwordui';import _0x163cc2 from'./importwordediting';export default class i extends _0x332240{static get[_0xc492('0x0')](){return _0xc492('0x2');}static get[_0xc492('0x1')](){return[_0x163cc2,_0x1ceea0];}}
@@ -0,0 +1,54 @@
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 import-word/importwordcommand
7
+ * @publicApi
8
+ */
9
+ import { Command, type Editor } from 'ckeditor5/src/core';
10
+ /**
11
+ * The import from Word command.
12
+ *
13
+ * It sends the Word file to the converter endpoint and inserts its content into the editor.
14
+ */
15
+ export default class ImportWordCommand extends Command {
16
+ /**
17
+ * A command state that indicates if the command is currently executing.
18
+ *
19
+ * @observable
20
+ */
21
+ isBusy: boolean;
22
+ /**
23
+ * @inheritDoc
24
+ */
25
+ constructor(editor: Editor);
26
+ /**
27
+ * @inheritDoc
28
+ */
29
+ refresh(): void;
30
+ /**
31
+ * Executes the command. Sends the provided file instance to the converter service endpoint and inserts the result into the model.
32
+ *
33
+ * @fires execute
34
+ * @param file The Word file instance to be uploaded for conversion.
35
+ * @param [serviceConfig] Additional options to pass to the converter service.
36
+ */
37
+ execute(file: File, serviceConfig?: Record<string, unknown>): Promise<unknown>;
38
+ }
39
+ /**
40
+ * Fired when the converter service returned the HTML content that will be inserted into the editor.
41
+ *
42
+ * @eventName ~ImportWordCommand#dataInsert
43
+ */
44
+ export type DataInsertEvent = {
45
+ name: 'dataInsert';
46
+ args: [data: DataInsertEventData];
47
+ };
48
+ interface DataInsertEventData {
49
+ /**
50
+ * The HTML content to insertion.
51
+ */
52
+ html: string;
53
+ }
54
+ export {};
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{Command as _0x3079f3}from'ckeditor5/src/core';import{Range as _0x5cdc2a}from'ckeditor5/src/engine';import{logWarning as _0x1521c2,logError as _0xa77f66,first as _0x2579b5,uid as _0x1f6804}from'ckeditor5/src/utils';export default class d extends _0x3079f3{constructor(_0x1030d6){super(_0x1030d6),this['set']('isBusy',!0x1),this['_importMarker']=null,this['_undoStepBatch']=null,this['_abortController']=null,this['on']('dataInsert',(_0x34584f,_0x5f07f3)=>{const _0x42023a=new DataTransfer();_0x42023a['setData']('text/html',_0x5f07f3['html']);const _0x5df542=this['_importMarker']['getRange']();this['editor']['model']['enqueueChange'](this['_undoStepBatch'],_0x290531=>{this['_importMarker']['stopListening'](),_0x290531['setSelection'](_0x5df542),_0x1030d6['editing']['view']['document']['fire']('clipboardInput',{'dataTransfer':_0x42023a});});},{'priority':'low'});}['refresh'](){this['isEnabled']=this['i']();}['execute'](_0x4ec40e,_0x5ba530={}){if(this['isBusy'])return;const _0xf00e34=this['editor']['config']['get']('importWord'),_0x39babd={'url':_0xf00e34['converterUrl'],'file':_0x4ec40e,'serviceConfig':{..._0x5ba530,'default_styles':_0xf00e34['defaultStyles']}};return this['s'](),this['_sendImportRequest'](_0x39babd)['then'](this['o']['bind'](this))['catch'](this['h']['bind'](this))['finally'](this['l']['bind'](this));}['i'](){if(this['isBusy'])return!0x1;const _0x2acc6e=this['editor']['model'],_0xc581d2=_0x2acc6e['schema'],_0x665ed2=_0x2acc6e['document']['selection'],_0xf1fc5a=_0x2579b5(_0x665ed2['getSelectedBlocks']());return!!_0xf1fc5a&&_0xc581d2['checkChild'](_0xf1fc5a['parent'],'paragraph');}['s'](){const _0x4786cf=this['editor'],_0xa106b7=_0x4786cf['model'],_0x3f68db=_0xa106b7['document']['selection'];this['_abortController']=new AbortController(),this['_undoStepBatch']=_0x4786cf['model']['createBatch'](),_0xa106b7['enqueueChange'](this['_undoStepBatch'],_0x25998b=>{_0x3f68db['isCollapsed']||_0xa106b7['deleteContent'](_0x3f68db,{'leaveUnmerged':!0x0});const _0x5bc1a9=_0x3f68db['getFirstPosition'](),_0x2e6118=_0x2579b5(_0x3f68db['getSelectedBlocks']());let _0x56b94b;_0x56b94b=_0x2e6118['is']('element','paragraph')&&_0x2e6118['isEmpty']?_0x5bc1a9:_0x5bc1a9['isAtStart']?_0xa106b7['createPositionBefore'](_0x2e6118):_0x5bc1a9['isAtEnd']?_0xa106b7['createPositionAfter'](_0x2e6118):_0x25998b['split'](_0x5bc1a9)['position'],this['_importMarker']=_0x25998b['addMarker']('importWord:'+_0x1f6804(),{'usingOperation':!0x1,'affectsData':!0x1,'range':new _0x5cdc2a(_0x56b94b)}),this['_importMarker']['on']('change:range',()=>{'$graveyard'===this['_importMarker']['getRange']()['root']['rootName']&&this['_abortController']['abort']();});}),this['isBusy']=!0x0,this['refresh']();}['l'](){const _0x299b00=this['editor']['model'];_0x299b00['markers']['has'](this['_importMarker'])&&_0x299b00['enqueueChange'](this['_undoStepBatch'],_0x239a28=>{_0x239a28['removeMarker'](this['_importMarker']);}),this['_importMarker']=null,this['_undoStepBatch']=null,this['_abortController']=null,this['isBusy']=!0x1,this['refresh']();}['_sendImportRequest']({url:_0x39eec0,file:_0x165305,serviceConfig:_0x24b43d}){const _0x15dfb1=this['editor']['plugins']['get']('ImportWordEditing')['getToken'](),_0x25d813=new FormData();_0x25d813['set']('config',JSON['stringify'](_0x24b43d)),_0x25d813['set']('file',_0x165305);const _0x4e49d4={'method':'POST','headers':{},'body':_0x25d813,'signal':this['_abortController']['signal']};return _0x15dfb1&&(_0x4e49d4['headers']['Authorization']=_0x15dfb1['value']),fetch(_0x39eec0,_0x4e49d4);}['o'](_0x3b8dac){return _0x3b8dac['ok']?_0x3b8dac['json']()['then'](_0x5d56b9=>{if(!this['editor']['model']['markers']['has'](this['_importMarker']))return;'$graveyard'!==this['_importMarker']['getRange']()['root']['rootName']&&this['fire']('dataInsert',_0x5d56b9);}):Promise['reject']();}['h'](){if(this['_abortController']['signal']['aborted'])return void _0x1521c2('import-word-plugin-import-cancelled');const _0x52e6b8=this['editor'],_0x58cf6c=(0x0,_0x52e6b8['t'])('An\x20error\x20occurred\x20while\x20importing\x20the\x20Word\x20file.');_0x52e6b8['plugins']['get']('Notification')['showWarning'](_0x58cf6c),_0xa77f66('import-word-plugin-conversion-failed');}}
23
+ import{Command as _0x52a1cc}from'ckeditor5/src/core';import{Range as _0x5c2755}from'ckeditor5/src/engine';import{logWarning as _0x4f842d,logError as _0x3100a3,first as _0x4e9430,uid as _0x227be9}from'ckeditor5/src/utils';export default class d extends _0x52a1cc{constructor(_0x14753e){super(_0x14753e),this['set']('isBusy',!0x1),this['_importMarker']=null,this['_undoStepBatch']=null,this['_abortController']=null,this['on']('dataInsert',(_0xb72efd,_0x268e5b)=>{const _0x1c76fd=new DataTransfer();_0x1c76fd['setData']('text/html',_0x268e5b['html']);const _0x2d76e4=this['_importMarker']['getRange']();this['editor']['model']['enqueueChange'](this['_undoStepBatch'],_0x24277d=>{this['_importMarker']['stopListening'](),_0x24277d['setSelection'](_0x2d76e4),_0x14753e['editing']['view']['document']['fire']('clipboardInput',{'dataTransfer':_0x1c76fd});});},{'priority':'low'});}['refresh'](){this['isEnabled']=this['_checkEnabled']();}['execute'](_0x4924bd,_0x30fdb3={}){if(this['isBusy'])return Promise['resolve']();const _0xff6a4f=this['editor']['config']['get']('importWord'),_0x266a16={'url':_0xff6a4f['converterUrl'],'file':_0x4924bd,'serviceConfig':{..._0x30fdb3,'default_styles':_0xff6a4f['defaultStyles']}};return this['_prepareForImport'](),this['_sendImportRequest'](_0x266a16)['then'](this['_handleImportResponse']['bind'](this))['catch'](this['_handleImportFailure']['bind'](this))['finally'](this['_cleanUpAfterImport']['bind'](this));}['_checkEnabled'](){if(this['isBusy'])return!0x1;const _0x46cfdc=this['editor']['model'],_0x1b084a=_0x46cfdc['schema'],_0x59d975=_0x46cfdc['document']['selection'],_0x364a70=_0x4e9430(_0x59d975['getSelectedBlocks']());return!!_0x364a70&&_0x1b084a['checkChild'](_0x364a70['parent'],'paragraph');}['_prepareForImport'](){const _0x272e73=this['editor'],_0x5dbe0e=_0x272e73['model'],_0x5d1979=_0x5dbe0e['document']['selection'];this['_abortController']=new AbortController(),this['_undoStepBatch']=_0x272e73['model']['createBatch']({'isUndoable':!0x0}),_0x5dbe0e['enqueueChange'](this['_undoStepBatch'],_0x427804=>{_0x5d1979['isCollapsed']||_0x5dbe0e['deleteContent'](_0x5d1979,{'leaveUnmerged':!0x0});const _0x4cb2c1=_0x5d1979['getFirstPosition'](),_0x333eb5=_0x4e9430(_0x5d1979['getSelectedBlocks']());let _0x3d0b34;_0x3d0b34=_0x333eb5['is']('element','paragraph')&&_0x333eb5['isEmpty']?_0x4cb2c1:_0x4cb2c1['isAtStart']?_0x5dbe0e['createPositionBefore'](_0x333eb5):_0x4cb2c1['isAtEnd']?_0x5dbe0e['createPositionAfter'](_0x333eb5):_0x427804['split'](_0x4cb2c1)['position'],this['_importMarker']=_0x427804['addMarker']('importWord:'+_0x227be9(),{'usingOperation':!0x1,'affectsData':!0x1,'range':new _0x5c2755(_0x3d0b34)}),this['_importMarker']['on']('change:range',()=>{'$graveyard'===this['_importMarker']['getRange']()['root']['rootName']&&this['_abortController']['abort']();});}),this['isBusy']=!0x0,this['refresh']();}['_cleanUpAfterImport'](){const _0x253bb8=this['editor']['model'];_0x253bb8['markers']['has'](this['_importMarker'])&&_0x253bb8['enqueueChange'](this['_undoStepBatch'],_0x5da289=>{_0x5da289['removeMarker'](this['_importMarker']);}),this['_importMarker']=null,this['_undoStepBatch']=null,this['_abortController']=null,this['isBusy']=!0x1,this['refresh']();}['_sendImportRequest']({url:_0x413f0a,file:_0x448d46,serviceConfig:_0x35165a}){const _0x1daafe=this['editor']['plugins']['get']('ImportWordEditing')['getToken'](),_0x125685=new FormData();_0x125685['set']('config',JSON['stringify'](_0x35165a)),_0x125685['set']('file',_0x448d46);const _0x3734a3={'method':'POST','headers':{},'body':_0x125685,'signal':this['_abortController']['signal']};return _0x1daafe&&(_0x3734a3['headers']['Authorization']=_0x1daafe['value']),fetch(_0x413f0a,_0x3734a3);}['_handleImportResponse'](_0x3d0554){return _0x3d0554['ok']?_0x3d0554['json']()['then'](_0x396a99=>{if(!this['editor']['model']['markers']['has'](this['_importMarker']))return;'$graveyard'!==this['_importMarker']['getRange']()['root']['rootName']&&this['fire']('dataInsert',_0x396a99);}):Promise['reject']();}['_handleImportFailure'](){if(this['_abortController']['signal']['aborted'])return void _0x4f842d('import-word-plugin-import-cancelled');const _0xe08d6a=this['editor'],_0x58af2f=(0x0,_0xe08d6a['t'])('An\x20error\x20occurred\x20while\x20importing\x20the\x20Word\x20file.');_0xe08d6a['plugins']['get']('Notification')['showWarning'](_0x58af2f),_0x3100a3('import-word-plugin-conversion-failed');}}
@@ -0,0 +1,37 @@
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 import-word/importwordediting
7
+ * @publicApi
8
+ */
9
+ import { Plugin, type PluginDependencies, type Editor } from 'ckeditor5/src/core';
10
+ import type { InitializedToken } from '@ckeditor/ckeditor5-cloud-services';
11
+ /**
12
+ * The editing part of the import from Word feature.
13
+ *
14
+ * It registers the {@link module:import-word/importwordcommand~ImportWordCommand `'importWord'` command}.
15
+ */
16
+ export default class ImportWordEditing extends Plugin {
17
+ /**
18
+ * @inheritDoc
19
+ */
20
+ static get pluginName(): 'ImportWordEditing';
21
+ /**
22
+ * @inheritDoc
23
+ */
24
+ static get requires(): PluginDependencies;
25
+ /**
26
+ * @inheritDoc
27
+ */
28
+ constructor(editor: Editor);
29
+ /**
30
+ * @inheritDoc
31
+ */
32
+ init(): Promise<void>;
33
+ /**
34
+ * Returns a token used by the import from Word plugin for communication with the Cloud Services.
35
+ */
36
+ getToken(): InitializedToken | null;
37
+ }
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- const _0xeedd=['config','registerTokenUrl','importWord','editor','get','token','plugins','https://docx-converter.cke-cs.com/v2/convert/docx-html','cloudServices','define','ImportWordEditing','tokenUrl','requires'];(function(_0x49c426,_0xeedd5a){const _0x23020f=function(_0x38740f){while(--_0x38740f){_0x49c426['push'](_0x49c426['shift']());}};_0x23020f(++_0xeedd5a);}(_0xeedd,0x19a));const _0x2302=function(_0x49c426,_0xeedd5a){_0x49c426=_0x49c426-0x0;let _0x23020f=_0xeedd[_0x49c426];return _0x23020f;};import{Plugin as _0x416370}from'ckeditor5/src/core';import{Notification as _0x270f2f}from'ckeditor5/src/ui';import{ClipboardPipeline as _0x378c12}from'ckeditor5/src/clipboard';import _0x486a12 from'./importwordcommand';export default class e extends _0x416370{static get['pluginName'](){return _0x2302('0x3');}static get[_0x2302('0x5')](){return[_0x270f2f,_0x378c12,'CloudServices'];}constructor(_0x31f752){super(_0x31f752),this['m']=null;}async['init'](){const _0x5d1787=this[_0x2302('0x9')];_0x5d1787[_0x2302('0x6')][_0x2302('0x2')]('importWord',{'converterUrl':_0x2302('0x0'),'tokenUrl':(_0x5d1787[_0x2302('0x6')][_0x2302('0xa')](_0x2302('0x1'))||{})[_0x2302('0x4')],'defaultStyles':!0x1}),_0x5d1787['commands']['add']('importWord',new _0x486a12(_0x5d1787));const {tokenUrl:_0x4f1cd7}=_0x5d1787[_0x2302('0x6')]['get'](_0x2302('0x8'));if(_0x4f1cd7){const {tokenUrl:_0x305e86}=_0x5d1787[_0x2302('0x6')]['get'](_0x2302('0x1'))||{};this['m']=_0x4f1cd7===_0x305e86?_0x5d1787['plugins'][_0x2302('0xa')]('CloudServices')[_0x2302('0xb')]:await _0x5d1787[_0x2302('0xc')]['get']('CloudServices')[_0x2302('0x7')](_0x4f1cd7);}}['getToken'](){return this['m'];}}
23
+ const _0xa06c=['config','cloudServices','tokenUrl','plugins','getToken','init','importWord','CloudServices','requires','add','pluginName','token','define','get','https://docx-converter.cke-cs.com/v2/convert/docx-html','_token','registerTokenUrl'];(function(_0x160375,_0xa06c5){const _0x47dbf1=function(_0x3e4a2f){while(--_0x3e4a2f){_0x160375['push'](_0x160375['shift']());}};_0x47dbf1(++_0xa06c5);}(_0xa06c,0xc0));const _0x47db=function(_0x160375,_0xa06c5){_0x160375=_0x160375-0x0;let _0x47dbf1=_0xa06c[_0x160375];return _0x47dbf1;};import{Plugin as _0x3e3469}from'ckeditor5/src/core';import{Notification as _0x30d423}from'ckeditor5/src/ui';import{ClipboardPipeline as _0x525a11}from'ckeditor5/src/clipboard';import _0x4eb903 from'./importwordcommand';export default class e extends _0x3e3469{static get[_0x47db('0x5')](){return'ImportWordEditing';}static get[_0x47db('0x3')](){return[_0x30d423,_0x525a11,_0x47db('0x2')];}constructor(_0x5af1fb){super(_0x5af1fb),this[_0x47db('0xa')]=null;}async[_0x47db('0x0')](){const _0x166972=this['editor'];_0x166972[_0x47db('0xc')][_0x47db('0x7')](_0x47db('0x1'),{'converterUrl':_0x47db('0x9'),'tokenUrl':(_0x166972[_0x47db('0xc')][_0x47db('0x8')](_0x47db('0xd'))||{})[_0x47db('0xe')],'defaultStyles':!0x1}),_0x166972['commands'][_0x47db('0x4')](_0x47db('0x1'),new _0x4eb903(_0x166972));const {tokenUrl:_0x39a675}=_0x166972[_0x47db('0xc')][_0x47db('0x8')](_0x47db('0x1'));if(_0x39a675){const {tokenUrl:_0x42ea47}=_0x166972[_0x47db('0xc')]['get'](_0x47db('0xd'))||{};this['_token']=_0x39a675===_0x42ea47?_0x166972['plugins'][_0x47db('0x8')](_0x47db('0x2'))[_0x47db('0x6')]:await _0x166972[_0x47db('0xf')]['get'](_0x47db('0x2'))[_0x47db('0xb')](_0x39a675);}}[_0x47db('0x10')](){return this[_0x47db('0xa')];}}
@@ -0,0 +1,23 @@
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 import-word/importwordui
7
+ * @publicApi
8
+ */
9
+ import { Plugin } from 'ckeditor5/src/core';
10
+ import '../theme/importword.css';
11
+ /**
12
+ * The ImportWordUI plugin. It introduces the `'importWord'` toolbar button.
13
+ */
14
+ export default class ImportWordUI extends Plugin {
15
+ /**
16
+ * @inheritDoc
17
+ */
18
+ static get pluginName(): 'ImportWordUI';
19
+ /**
20
+ * @inheritDoc
21
+ */
22
+ init(): void;
23
+ }
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{Plugin as _0x22cd19}from'ckeditor5/src/core';import{View as _0x5ec833}from'ckeditor5/src/ui';import{FileDialogButtonView as _0x5c2b5f}from'ckeditor5/src/upload';import _0x18943a from'../theme/icons/importword.svg';import'../theme/importword.css';export default class o extends _0x22cd19{static get['pluginName'](){return'ImportWordUI';}['init'](){const _0x1c5e5b=this['editor'],t=_0x1c5e5b['t'];_0x1c5e5b['ui']['componentFactory']['add']('importWord',_0xc5ab73=>{const _0x37ae6f=_0x1c5e5b['commands']['get']('importWord'),_0x3f1428=new _0x5c2b5f(_0xc5ab73);_0x3f1428['set']({'acceptedType':'application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.openxmlformats-officedocument.wordprocessingml.template'}),_0x3f1428['buttonView']['set']({'label':t('Import\x20from\x20Word'),'icon':_0x18943a,'tooltip':!0x0}),_0x3f1428['buttonView']['bind']('isOn','isEnabled')['to'](_0x37ae6f,'isBusy','isEnabled'),_0x3f1428['buttonView']['extendTemplate']({'attributes':{'class':[_0x3f1428['buttonView']['bindTemplate']['if']('isOn','ck-importword_status-pending')]}});const _0x1216a9=new _0x5ec833();return _0x1216a9['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-importword__spinner-container']},'children':[{'tag':'span','attributes':{'class':['ck','ck-importword__spinner']}}]}),_0x3f1428['buttonView']['children']['add'](_0x1216a9),_0x3f1428['on']('done',(_0xd6a020,_0x12fc14)=>{_0x1c5e5b['execute']('importWord',_0x12fc14[0x0],{}),_0x1c5e5b['editing']['view']['focus']();}),_0x3f1428;});}}
23
+ import{Plugin as _0x43741c}from'ckeditor5/src/core';import{View as _0x5e9324}from'ckeditor5/src/ui';import{FileDialogButtonView as _0x49e93a}from'ckeditor5/src/upload';import _0x5b912b from'../theme/icons/importword.svg';import'../theme/importword.css';export default class o extends _0x43741c{static get['pluginName'](){return'ImportWordUI';}['init'](){const _0x17fc7c=this['editor'],t=_0x17fc7c['t'];_0x17fc7c['ui']['componentFactory']['add']('importWord',_0x251961=>{const _0x2d761d=_0x17fc7c['commands']['get']('importWord'),_0x3c2597=new _0x49e93a(_0x251961);_0x3c2597['set']({'acceptedType':'application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.openxmlformats-officedocument.wordprocessingml.template'}),_0x3c2597['buttonView']['set']({'label':t('Import\x20from\x20Word'),'icon':_0x5b912b,'tooltip':!0x0}),_0x3c2597['buttonView']['bind']('isOn','isEnabled')['to'](_0x2d761d,'isBusy','isEnabled'),_0x3c2597['buttonView']['extendTemplate']({'attributes':{'class':[_0x3c2597['buttonView']['bindTemplate']['if']('isOn','ck-importword_status-pending')]}});const _0x4a5a3d=new _0x5e9324();return _0x4a5a3d['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-importword__spinner-container']},'children':[{'tag':'span','attributes':{'class':['ck','ck-importword__spinner']}}]}),_0x3c2597['buttonView']['children']['add'](_0x4a5a3d),_0x3c2597['on']('done',(_0x2cf9af,_0x189a07)=>{_0x17fc7c['execute']('importWord',_0x189a07[0x0],{}),_0x17fc7c['editing']['view']['focus']();}),_0x3c2597;});}}
package/src/index.d.ts ADDED
@@ -0,0 +1,12 @@
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 import-word
7
+ */
8
+ export { default as ImportWord, type ImportWordConfig } from './importword';
9
+ export { default as ImportWordEditing } from './importwordediting';
10
+ export { default as ImportWordUI } from './importwordui';
11
+ export type { default as ImportWordCommand } from './importwordcommand';
12
+ import './augmentation';
package/src/index.js CHANGED
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- export{default as ImportWord}from'./importword';export{default as ImportWordEditing}from'./importwordediting';export{default as ImportWordUI}from'./importwordui';
23
+ export{default as ImportWord}from'./importword';export{default as ImportWordEditing}from'./importwordediting';export{default as ImportWordUI}from'./importwordui';import'./augmentation';