@ckeditor/ckeditor5-import-word 39.0.2 → 40.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE.md CHANGED
@@ -2,7 +2,7 @@ Software License Agreement
2
2
  ==========================
3
3
 
4
4
  **CKEditor&nbsp;5 import from Word feature** (https://ckeditor.com/ckeditor-5/)<br>
5
- Copyright (c) 2003-2023, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
5
+ Copyright (c) 20032023, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
6
6
 
7
7
  CKEditor&nbsp;5 import from Word feature is licensed under a commercial license and is protected by copyright law.
8
8
  For more details about available licensing options please contact us at sales@cksource.com.
@@ -15,4 +15,4 @@ Where not otherwise indicated, all CKEditor&nbsp;5 import from Word feature cont
15
15
  Trademarks
16
16
  ----------
17
17
 
18
- **CKEditor** is a trademark of [CKSource Holding sp. z o.o.](https://cksource.com) All other brand and product names are trademarks, registered trademarks or service marks of their respective holders.
18
+ **CKEditor** is a trademark of [CKSource Holding sp. z o.o.](https://cksource.com) All other brand and product names are trademarks, registered trademarks, or service marks of their respective holders.
@@ -2,4 +2,4 @@
2
2
  /*!
3
3
  * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
4
4
  * For licensing, see LICENSE.md.
5
- */(()=>{var t={722:(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(722),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"><path 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 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"/></svg>\n',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=["https://docx-converter.cke-cs.com/v2/convert/docx-html","get","config","add","getToken","CloudServices","tokenUrl","_token","plugins","editor","importWord","requires","init","pluginName","token"];var f,g;f=m,g=375,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("0xd")](){return"ImportWordEditing"}static get[v("0xb")](){return[e.Notification,d.ClipboardPipeline,v("0x5")]}constructor(t){super(t),this[v("0x7")]=null}async[v("0xc")](){const t=this[v("0x9")];t.config.define(v("0xa"),{converterUrl:v("0x0"),tokenUrl:(t.config[v("0x1")]("cloudServices")||{})[v("0x6")],defaultStyles:!1}),t.commands[v("0x3")](v("0xa"),new h(t));const{tokenUrl:e}=t.config[v("0x1")]("importWord");if(e){const{tokenUrl:r}=t[v("0x2")][v("0x1")]("cloudServices")||{};this[v("0x7")]=e===r?t.plugins.get(v("0x5"))[v("0xe")]:await t[v("0x8")][v("0x1")]("CloudServices").registerTokenUrl(e)}}[v("0x4")](){return this[v("0x7")]}}var x,w,_=["ImportWord","pluginName"];x=_,w=331,function(t){for(;--t;)x.push(x.shift())}(++w);var k=function(t,e){return _[t-=0]};class y extends t.Plugin{static get[k("0x0")](){return k("0x1")}static get requires(){return[b,l]}}})(),(window.CKEditor5=window.CKEditor5||{}).importWord=o})();
5
+ */(()=>{var t={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 i=e[o];if(void 0!==i)return i.exports;var n=e[o]={exports:{}};return t[o](n,n.exports,r),n.exports}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})};var o={};(()=>{"use strict";r.r(o),r.d(o,{ImportWord:()=>b,ImportWordEditing:()=>m,ImportWordUI:()=>n});var t=r(704),e=r(273),i=r(448);class n extends t.Plugin{static get pluginName(){return"ImportWordUI"}init(){const t=this.editor,r=t.t;t.ui.componentFactory.add("importWord",(o=>{const n=t.commands.get("importWord"),s=new i.FileDialogButtonView(o),a=new e.SpinnerView;return 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"><path 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 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"/></svg>\n',tooltip:!0}),s.buttonView.bind("isOn","isEnabled").to(n,"isBusy","isEnabled"),a.bind("isVisible").to(n,"isBusy"),s.buttonView.iconView.bind("isVisible").to(n,"isBusy",(t=>!t)),s.buttonView.children.add(a),s.on("done",((e,r)=>{t.execute("importWord",r[0],{}),t.editing.view.focus()})),s}))}}var s=r(945),a=r(492),l=r(209);class d 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 i=this._importMarker.getRange();this.editor.model.enqueueChange(this._undoStepBatch,(e=>{this._importMarker.stopListening(),e.setSelection(i),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,formatting:r.formatting}};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,l.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(),i=(0,l.first)(r.getSelectedBlocks());let n;n=i.is("element","paragraph")&&i.isEmpty?o:o.isAtStart?e.createPositionBefore(i):o.isAtEnd?e.createPositionAfter(i):t.split(o).position,this._importMarker=t.addMarker("importWord:"+(0,l.uid)(),{usingOperation:!1,affectsData:!1,range:new a.Range(n)}),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(),i=new FormData;i.set("config",JSON.stringify(r)),i.set("file",e);const n={method:"POST",headers:{},body:i,signal:this._abortController.signal};return o&&(n.headers.Authorization=o.value),fetch(t,n)}_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,l.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,l.logError)("import-word-plugin-conversion-failed")}}const c=["tokenUrl","requires","init","add","commands","editor","plugins","inline","https://docx-converter.cke-cs.com/v2/convert/docx-html","none","cloudServices","getToken","config","_token","CloudServices","get","pluginName","importWord"];var p,h;p=c,h=132,function(t){for(;--t;)p.push(p.shift())}(++h);const u=function(t,e){return c[t-=0]};class m extends t.Plugin{static get[u("0xa")](){return"ImportWordEditing"}static get[u("0xd")](){return[e.Notification,s.ClipboardPipeline,u("0x8")]}constructor(t){super(t),this._token=null}async[u("0xe")](){const t=this[u("0x11")];t[u("0x6")].define(u("0xb"),{converterUrl:u("0x2"),tokenUrl:(t.config[u("0x9")](u("0x4"))||{})[u("0xc")],formatting:{resets:u("0x3"),defaults:u("0x3"),styles:u("0x1")}}),t[u("0x10")][u("0xf")](u("0xb"),new d(t));const{tokenUrl:e}=t[u("0x6")][u("0x9")](u("0xb"));if(e){const{tokenUrl:r}=t[u("0x6")][u("0x9")]("cloudServices")||{};this[u("0x7")]=e===r?t[u("0x0")][u("0x9")](u("0x8")).token:await t[u("0x0")][u("0x9")]("CloudServices").registerTokenUrl(e)}}[u("0x5")](){return this[u("0x7")]}}var g,f,x=["requires","ImportWord","pluginName"];g=x,f=486,function(t){for(;--t;)g.push(g.shift())}(++f);var v=function(t,e){return x[t-=0]};class b extends t.Plugin{static get[v("0x2")](){return v("0x1")}static get[v("0x0")](){return[m,n]}}})(),(window.CKEditor5=window.CKEditor5||{}).importWord=o})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckeditor/ckeditor5-import-word",
3
- "version": "39.0.2",
3
+ "version": "40.1.0",
4
4
  "description": "Import from Word feature for CKEditor 5.",
5
5
  "keywords": [
6
6
  "ckeditor",
@@ -29,7 +29,7 @@
29
29
  ],
30
30
  "main": "src/index.js",
31
31
  "dependencies": {
32
- "ckeditor5": "39.0.2"
32
+ "ckeditor5": "40.1.0"
33
33
  },
34
34
  "license": "SEE LICENSE IN LICENSE.md",
35
35
  "author": "CKSource (https://cksource.com/)",
@@ -76,12 +76,37 @@ export interface ImportWordConfig {
76
76
  * See: {@link module:cloud-services/cloudservicesconfig~CloudServicesConfig#tokenUrl}
77
77
  */
78
78
  tokenUrl?: TokenUrl;
79
+ formatting: FormattingOptions;
80
+ }
81
+ export interface FormattingOptions {
79
82
  /**
80
- * If `true`, the converter service preserves the default styles and formatting of the imported Word document.
83
+ * Controls whether the additional formatting dedicated to minimizing differences between default Word styles
84
+ * and default HTML formatting should be included in the generated document.
85
+ *
86
+ * If `inline`, the converter service preserves the formatting to be consistent with Word ones.
87
+ * For example, in Word headings are not bold by default, whereas in HTML, they are. Enabling this option
88
+ * appends font-weight: normal to all headings.
81
89
  *
82
90
  * @default false
83
91
  */
84
- defaultStyles?: boolean;
92
+ resets?: 'none' | 'inline';
93
+ /**
94
+ * Controls whether formatting set by default (like the default font size or default font family)
95
+ * should be included in the generated document.
96
+ *
97
+ * If `inline`, the converter service preserves the default formatting of the imported Word document.
98
+ *
99
+ * @default 'none'
100
+ */
101
+ defaults?: 'none' | 'inline';
102
+ /**
103
+ * Controls whether Word styles should be included in the generated document.
104
+ *
105
+ * If `inline`, the converter service preserves the default styles of the imported Word document.
106
+ *
107
+ * @default 'inline'
108
+ */
109
+ styles?: 'none' | 'inline';
85
110
  /**
86
111
  * Defines which formatting styles should be kept for the imported comments text.
87
112
  *
@@ -95,5 +120,5 @@ export interface ImportWordConfig {
95
120
  *
96
121
  * @default 'basic'
97
122
  */
98
- commentsStyles?: 'basic' | 'none' | 'full';
123
+ comments?: 'basic' | 'none' | 'full';
99
124
  }
package/src/importword.js CHANGED
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- var _0x4b0c=['ImportWord','pluginName'];(function(_0x37164a,_0x4b0cfe){var _0x958089=function(_0x52d4fe){while(--_0x52d4fe){_0x37164a['push'](_0x37164a['shift']());}};_0x958089(++_0x4b0cfe);}(_0x4b0c,0x14b));var _0x9580=function(_0x37164a,_0x4b0cfe){_0x37164a=_0x37164a-0x0;var _0x958089=_0x4b0c[_0x37164a];return _0x958089;};import{Plugin as _0x21e708}from'ckeditor5/src/core';import _0x4e7912 from'./importwordui';import _0x39011a from'./importwordediting';export default class i extends _0x21e708{static get[_0x9580('0x0')](){return _0x9580('0x1');}static get['requires'](){return[_0x39011a,_0x4e7912];}}
23
+ var _0x5cd7=['requires','ImportWord','pluginName'];(function(_0x5bdca6,_0x5cd7f5){var _0x13ab0c=function(_0x59e08b){while(--_0x59e08b){_0x5bdca6['push'](_0x5bdca6['shift']());}};_0x13ab0c(++_0x5cd7f5);}(_0x5cd7,0x1e6));var _0x13ab=function(_0x5bdca6,_0x5cd7f5){_0x5bdca6=_0x5bdca6-0x0;var _0x13ab0c=_0x5cd7[_0x5bdca6];return _0x13ab0c;};import{Plugin as _0x55b789}from'ckeditor5/src/core';import _0x3de12d from'./importwordui';import _0x4d356d from'./importwordediting';export default class i extends _0x55b789{static get[_0x13ab('0x2')](){return _0x13ab('0x1');}static get[_0x13ab('0x0')](){return[_0x4d356d,_0x3de12d];}}
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{Command as _0x36f247}from'ckeditor5/src/core';import{Range as _0xf03230}from'ckeditor5/src/engine';import{logWarning as _0x3cd203,logError as _0x4a863b,first as _0x275a99,uid as _0x15b560}from'ckeditor5/src/utils';export default class d extends _0x36f247{constructor(_0x4b5a57){super(_0x4b5a57),this['set']('isBusy',!0x1),this['_importMarker']=null,this['_undoStepBatch']=null,this['_abortController']=null,this['on']('dataInsert',(_0x398645,_0x5a2edd)=>{const _0x54b233=new DataTransfer();_0x54b233['setData']('text/html',_0x5a2edd['html']);const _0x2e0e55=this['_importMarker']['getRange']();this['editor']['model']['enqueueChange'](this['_undoStepBatch'],_0x44addd=>{this['_importMarker']['stopListening'](),_0x44addd['setSelection'](_0x2e0e55),_0x4b5a57['editing']['view']['document']['fire']('clipboardInput',{'dataTransfer':_0x54b233});});},{'priority':'low'});}['refresh'](){this['isEnabled']=this['_checkEnabled']();}['execute'](_0x17d141,_0x5312d9={}){if(this['isBusy'])return Promise['resolve']();const _0xfba8fb=this['editor']['config']['get']('importWord'),_0x3280bc={'url':_0xfba8fb['converterUrl'],'file':_0x17d141,'serviceConfig':{..._0x5312d9,'default_styles':_0xfba8fb['defaultStyles']}};return this['_prepareForImport'](),this['_sendImportRequest'](_0x3280bc)['then'](this['_handleImportResponse']['bind'](this))['catch'](this['_handleImportFailure']['bind'](this))['finally'](this['_cleanUpAfterImport']['bind'](this));}['_checkEnabled'](){if(this['isBusy'])return!0x1;const _0x326d27=this['editor']['model'],_0xf72691=_0x326d27['schema'],_0x2a265d=_0x326d27['document']['selection'],_0x17c09c=_0x275a99(_0x2a265d['getSelectedBlocks']());return!!_0x17c09c&&_0xf72691['checkChild'](_0x17c09c['parent'],'paragraph');}['_prepareForImport'](){const _0x2f4ae1=this['editor'],_0x44c994=_0x2f4ae1['model'],_0x4346dc=_0x44c994['document']['selection'];this['_abortController']=new AbortController(),this['_undoStepBatch']=_0x2f4ae1['model']['createBatch']({'isUndoable':!0x0}),_0x44c994['enqueueChange'](this['_undoStepBatch'],_0x1f2c27=>{_0x4346dc['isCollapsed']||_0x44c994['deleteContent'](_0x4346dc,{'leaveUnmerged':!0x0});const _0x46c6b3=_0x4346dc['getFirstPosition'](),_0x144158=_0x275a99(_0x4346dc['getSelectedBlocks']());let _0x18e5c9;_0x18e5c9=_0x144158['is']('element','paragraph')&&_0x144158['isEmpty']?_0x46c6b3:_0x46c6b3['isAtStart']?_0x44c994['createPositionBefore'](_0x144158):_0x46c6b3['isAtEnd']?_0x44c994['createPositionAfter'](_0x144158):_0x1f2c27['split'](_0x46c6b3)['position'],this['_importMarker']=_0x1f2c27['addMarker']('importWord:'+_0x15b560(),{'usingOperation':!0x1,'affectsData':!0x1,'range':new _0xf03230(_0x18e5c9)}),this['_importMarker']['on']('change:range',()=>{'$graveyard'===this['_importMarker']['getRange']()['root']['rootName']&&this['_abortController']['abort']();});}),this['isBusy']=!0x0,this['refresh']();}['_cleanUpAfterImport'](){const _0x4c3d9d=this['editor']['model'];_0x4c3d9d['markers']['has'](this['_importMarker'])&&_0x4c3d9d['enqueueChange'](this['_undoStepBatch'],_0xca17e4=>{_0xca17e4['removeMarker'](this['_importMarker']);}),this['_importMarker']=null,this['_undoStepBatch']=null,this['_abortController']=null,this['isBusy']=!0x1,this['refresh']();}['_sendImportRequest']({url:_0x32562b,file:_0x3f04bf,serviceConfig:_0x30d0d4}){const _0x2c8b45=this['editor']['plugins']['get']('ImportWordEditing')['getToken'](),_0x51e8d6=new FormData();_0x51e8d6['set']('config',JSON['stringify'](_0x30d0d4)),_0x51e8d6['set']('file',_0x3f04bf);const _0x3c527c={'method':'POST','headers':{},'body':_0x51e8d6,'signal':this['_abortController']['signal']};return _0x2c8b45&&(_0x3c527c['headers']['Authorization']=_0x2c8b45['value']),fetch(_0x32562b,_0x3c527c);}['_handleImportResponse'](_0x138370){return _0x138370['ok']?_0x138370['json']()['then'](_0x4b3b55=>{if(!this['editor']['model']['markers']['has'](this['_importMarker']))return;'$graveyard'!==this['_importMarker']['getRange']()['root']['rootName']&&this['fire']('dataInsert',_0x4b3b55);}):Promise['reject']();}['_handleImportFailure'](){if(this['_abortController']['signal']['aborted'])return void _0x3cd203('import-word-plugin-import-cancelled');const _0x58882e=this['editor'],_0x5f5235=(0x0,_0x58882e['t'])('An\x20error\x20occurred\x20while\x20importing\x20the\x20Word\x20file.');_0x58882e['plugins']['get']('Notification')['showWarning'](_0x5f5235),_0x4a863b('import-word-plugin-conversion-failed');}}
23
+ import{Command as _0x485cfc}from'ckeditor5/src/core';import{Range as _0x8a4ce2}from'ckeditor5/src/engine';import{logWarning as _0x1bcdc0,logError as _0x11eabc,first as _0x19a28a,uid as _0x4f4813}from'ckeditor5/src/utils';export default class d extends _0x485cfc{constructor(_0x1054f7){super(_0x1054f7),this['set']('isBusy',!0x1),this['_importMarker']=null,this['_undoStepBatch']=null,this['_abortController']=null,this['on']('dataInsert',(_0x4d96bd,_0x56cdfc)=>{const _0x14541f=new DataTransfer();_0x14541f['setData']('text/html',_0x56cdfc['html']);const _0x256572=this['_importMarker']['getRange']();this['editor']['model']['enqueueChange'](this['_undoStepBatch'],_0x114efa=>{this['_importMarker']['stopListening'](),_0x114efa['setSelection'](_0x256572),_0x1054f7['editing']['view']['document']['fire']('clipboardInput',{'dataTransfer':_0x14541f});});},{'priority':'low'});}['refresh'](){this['isEnabled']=this['_checkEnabled']();}['execute'](_0x30275e,_0x1387f9={}){if(this['isBusy'])return Promise['resolve']();const _0x4224ff=this['editor']['config']['get']('importWord'),_0x13b502={'url':_0x4224ff['converterUrl'],'file':_0x30275e,'serviceConfig':{..._0x1387f9,'formatting':_0x4224ff['formatting']}};return this['_prepareForImport'](),this['_sendImportRequest'](_0x13b502)['then'](this['_handleImportResponse']['bind'](this))['catch'](this['_handleImportFailure']['bind'](this))['finally'](this['_cleanUpAfterImport']['bind'](this));}['_checkEnabled'](){if(this['isBusy'])return!0x1;const _0x472dec=this['editor']['model'],_0x3d9d79=_0x472dec['schema'],_0x2c928f=_0x472dec['document']['selection'],_0x19af9c=_0x19a28a(_0x2c928f['getSelectedBlocks']());return!!_0x19af9c&&_0x3d9d79['checkChild'](_0x19af9c['parent'],'paragraph');}['_prepareForImport'](){const _0x2a4372=this['editor'],_0x422512=_0x2a4372['model'],_0x4fcc60=_0x422512['document']['selection'];this['_abortController']=new AbortController(),this['_undoStepBatch']=_0x2a4372['model']['createBatch']({'isUndoable':!0x0}),_0x422512['enqueueChange'](this['_undoStepBatch'],_0x5c0f59=>{_0x4fcc60['isCollapsed']||_0x422512['deleteContent'](_0x4fcc60,{'leaveUnmerged':!0x0});const _0x5adb18=_0x4fcc60['getFirstPosition'](),_0x4fc9ba=_0x19a28a(_0x4fcc60['getSelectedBlocks']());let _0x314866;_0x314866=_0x4fc9ba['is']('element','paragraph')&&_0x4fc9ba['isEmpty']?_0x5adb18:_0x5adb18['isAtStart']?_0x422512['createPositionBefore'](_0x4fc9ba):_0x5adb18['isAtEnd']?_0x422512['createPositionAfter'](_0x4fc9ba):_0x5c0f59['split'](_0x5adb18)['position'],this['_importMarker']=_0x5c0f59['addMarker']('importWord:'+_0x4f4813(),{'usingOperation':!0x1,'affectsData':!0x1,'range':new _0x8a4ce2(_0x314866)}),this['_importMarker']['on']('change:range',()=>{'$graveyard'===this['_importMarker']['getRange']()['root']['rootName']&&this['_abortController']['abort']();});}),this['isBusy']=!0x0,this['refresh']();}['_cleanUpAfterImport'](){const _0x30e3a3=this['editor']['model'];_0x30e3a3['markers']['has'](this['_importMarker'])&&_0x30e3a3['enqueueChange'](this['_undoStepBatch'],_0x3847a3=>{_0x3847a3['removeMarker'](this['_importMarker']);}),this['_importMarker']=null,this['_undoStepBatch']=null,this['_abortController']=null,this['isBusy']=!0x1,this['refresh']();}['_sendImportRequest']({url:_0x5e645b,file:_0x6297d3,serviceConfig:_0x49dcc8}){const _0x3d23da=this['editor']['plugins']['get']('ImportWordEditing')['getToken'](),_0x2e424f=new FormData();_0x2e424f['set']('config',JSON['stringify'](_0x49dcc8)),_0x2e424f['set']('file',_0x6297d3);const _0x3a1c8e={'method':'POST','headers':{},'body':_0x2e424f,'signal':this['_abortController']['signal']};return _0x3d23da&&(_0x3a1c8e['headers']['Authorization']=_0x3d23da['value']),fetch(_0x5e645b,_0x3a1c8e);}['_handleImportResponse'](_0x1cd08e){return _0x1cd08e['ok']?_0x1cd08e['json']()['then'](_0x5ab6a3=>{if(!this['editor']['model']['markers']['has'](this['_importMarker']))return;'$graveyard'!==this['_importMarker']['getRange']()['root']['rootName']&&this['fire']('dataInsert',_0x5ab6a3);}):Promise['reject']();}['_handleImportFailure'](){if(this['_abortController']['signal']['aborted'])return void _0x1bcdc0('import-word-plugin-import-cancelled');const _0x2b75f4=this['editor'],_0x599e3a=(0x0,_0x2b75f4['t'])('An\x20error\x20occurred\x20while\x20importing\x20the\x20Word\x20file.');_0x2b75f4['plugins']['get']('Notification')['showWarning'](_0x599e3a),_0x11eabc('import-word-plugin-conversion-failed');}}
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- const _0x53e0=['https://docx-converter.cke-cs.com/v2/convert/docx-html','get','config','add','getToken','CloudServices','tokenUrl','_token','plugins','editor','importWord','requires','init','pluginName','token'];(function(_0x416856,_0x53e0bd){const _0x438f0d=function(_0x1beb8a){while(--_0x1beb8a){_0x416856['push'](_0x416856['shift']());}};_0x438f0d(++_0x53e0bd);}(_0x53e0,0x177));const _0x438f=function(_0x416856,_0x53e0bd){_0x416856=_0x416856-0x0;let _0x438f0d=_0x53e0[_0x416856];return _0x438f0d;};import{Plugin as _0x2e08af}from'ckeditor5/src/core';import{Notification as _0x52c890}from'ckeditor5/src/ui';import{ClipboardPipeline as _0x527ea5}from'ckeditor5/src/clipboard';import _0x5e824e from'./importwordcommand';export default class e extends _0x2e08af{static get[_0x438f('0xd')](){return'ImportWordEditing';}static get[_0x438f('0xb')](){return[_0x52c890,_0x527ea5,_0x438f('0x5')];}constructor(_0x485eb3){super(_0x485eb3),this[_0x438f('0x7')]=null;}async[_0x438f('0xc')](){const _0x359391=this[_0x438f('0x9')];_0x359391['config']['define'](_0x438f('0xa'),{'converterUrl':_0x438f('0x0'),'tokenUrl':(_0x359391['config'][_0x438f('0x1')]('cloudServices')||{})[_0x438f('0x6')],'defaultStyles':!0x1}),_0x359391['commands'][_0x438f('0x3')](_0x438f('0xa'),new _0x5e824e(_0x359391));const {tokenUrl:_0x4a3317}=_0x359391['config'][_0x438f('0x1')]('importWord');if(_0x4a3317){const {tokenUrl:_0x473472}=_0x359391[_0x438f('0x2')][_0x438f('0x1')]('cloudServices')||{};this[_0x438f('0x7')]=_0x4a3317===_0x473472?_0x359391['plugins']['get'](_0x438f('0x5'))[_0x438f('0xe')]:await _0x359391[_0x438f('0x8')][_0x438f('0x1')]('CloudServices')['registerTokenUrl'](_0x4a3317);}}[_0x438f('0x4')](){return this[_0x438f('0x7')];}}
23
+ const _0x134b=['tokenUrl','requires','init','add','commands','editor','plugins','inline','https://docx-converter.cke-cs.com/v2/convert/docx-html','none','cloudServices','getToken','config','_token','CloudServices','get','pluginName','importWord'];(function(_0x7bd355,_0x134b17){const _0x3321b0=function(_0x29f09a){while(--_0x29f09a){_0x7bd355['push'](_0x7bd355['shift']());}};_0x3321b0(++_0x134b17);}(_0x134b,0x84));const _0x3321=function(_0x7bd355,_0x134b17){_0x7bd355=_0x7bd355-0x0;let _0x3321b0=_0x134b[_0x7bd355];return _0x3321b0;};import{Plugin as _0x57c10a}from'ckeditor5/src/core';import{Notification as _0x2ef94f}from'ckeditor5/src/ui';import{ClipboardPipeline as _0x1d3ae4}from'ckeditor5/src/clipboard';import _0x157bc0 from'./importwordcommand';export default class e extends _0x57c10a{static get[_0x3321('0xa')](){return'ImportWordEditing';}static get[_0x3321('0xd')](){return[_0x2ef94f,_0x1d3ae4,_0x3321('0x8')];}constructor(_0x51c64e){super(_0x51c64e),this['_token']=null;}async[_0x3321('0xe')](){const _0x4427a0=this[_0x3321('0x11')];_0x4427a0[_0x3321('0x6')]['define'](_0x3321('0xb'),{'converterUrl':_0x3321('0x2'),'tokenUrl':(_0x4427a0['config'][_0x3321('0x9')](_0x3321('0x4'))||{})[_0x3321('0xc')],'formatting':{'resets':_0x3321('0x3'),'defaults':_0x3321('0x3'),'styles':_0x3321('0x1')}}),_0x4427a0[_0x3321('0x10')][_0x3321('0xf')](_0x3321('0xb'),new _0x157bc0(_0x4427a0));const {tokenUrl:_0x864684}=_0x4427a0[_0x3321('0x6')][_0x3321('0x9')](_0x3321('0xb'));if(_0x864684){const {tokenUrl:_0x547dad}=_0x4427a0[_0x3321('0x6')][_0x3321('0x9')]('cloudServices')||{};this[_0x3321('0x7')]=_0x864684===_0x547dad?_0x4427a0[_0x3321('0x0')][_0x3321('0x9')](_0x3321('0x8'))['token']:await _0x4427a0[_0x3321('0x0')][_0x3321('0x9')]('CloudServices')['registerTokenUrl'](_0x864684);}}[_0x3321('0x5')](){return this[_0x3321('0x7')];}}
@@ -7,7 +7,6 @@
7
7
  * @publicApi
8
8
  */
9
9
  import { Plugin } from 'ckeditor5/src/core';
10
- import '../theme/importword.css';
11
10
  /**
12
11
  * The ImportWordUI plugin. It introduces the `'importWord'` toolbar button.
13
12
  */
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{Plugin as _0x3a3f4c}from'ckeditor5/src/core';import{View as _0x1e0951}from'ckeditor5/src/ui';import{FileDialogButtonView as _0x388114}from'ckeditor5/src/upload';import _0x5201db from'../theme/icons/importword.svg';import'../theme/importword.css';export default class o extends _0x3a3f4c{static get['pluginName'](){return'ImportWordUI';}['init'](){const _0x3a8bc4=this['editor'],t=_0x3a8bc4['t'];_0x3a8bc4['ui']['componentFactory']['add']('importWord',_0x3bc3f7=>{const _0x15cc31=_0x3a8bc4['commands']['get']('importWord'),_0x55b9d7=new _0x388114(_0x3bc3f7);_0x55b9d7['set']({'acceptedType':'application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.openxmlformats-officedocument.wordprocessingml.template'}),_0x55b9d7['buttonView']['set']({'label':t('Import\x20from\x20Word'),'icon':_0x5201db,'tooltip':!0x0}),_0x55b9d7['buttonView']['bind']('isOn','isEnabled')['to'](_0x15cc31,'isBusy','isEnabled'),_0x55b9d7['buttonView']['extendTemplate']({'attributes':{'class':[_0x55b9d7['buttonView']['bindTemplate']['if']('isOn','ck-importword_status-pending')]}});const _0x448b67=new _0x1e0951();return _0x448b67['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-importword__spinner-container']},'children':[{'tag':'span','attributes':{'class':['ck','ck-importword__spinner']}}]}),_0x55b9d7['buttonView']['children']['add'](_0x448b67),_0x55b9d7['on']('done',(_0x2bba69,_0x512029)=>{_0x3a8bc4['execute']('importWord',_0x512029[0x0],{}),_0x3a8bc4['editing']['view']['focus']();}),_0x55b9d7;});}}
23
+ import{Plugin as _0x5337a0}from'ckeditor5/src/core';import{SpinnerView as _0x57d3ae}from'ckeditor5/src/ui';import{FileDialogButtonView as _0x27675a}from'ckeditor5/src/upload';import _0xaa54ee from'../theme/icons/importword.svg';export default class o extends _0x5337a0{static get['pluginName'](){return'ImportWordUI';}['init'](){const _0x2a2eed=this['editor'],t=_0x2a2eed['t'];_0x2a2eed['ui']['componentFactory']['add']('importWord',_0x27a013=>{const _0x3fd345=_0x2a2eed['commands']['get']('importWord'),_0x3585e6=new _0x27675a(_0x27a013),_0x98dd16=new _0x57d3ae();return _0x3585e6['set']({'acceptedType':'application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.openxmlformats-officedocument.wordprocessingml.template'}),_0x3585e6['buttonView']['set']({'label':t('Import\x20from\x20Word'),'icon':_0xaa54ee,'tooltip':!0x0}),_0x3585e6['buttonView']['bind']('isOn','isEnabled')['to'](_0x3fd345,'isBusy','isEnabled'),_0x98dd16['bind']('isVisible')['to'](_0x3fd345,'isBusy'),_0x3585e6['buttonView']['iconView']['bind']('isVisible')['to'](_0x3fd345,'isBusy',_0x5c59bb=>!_0x5c59bb),_0x3585e6['buttonView']['children']['add'](_0x98dd16),_0x3585e6['on']('done',(_0x202a12,_0x34227d)=>{_0x2a2eed['execute']('importWord',_0x34227d[0x0],{}),_0x2a2eed['editing']['view']['focus']();}),_0x3585e6;});}}
@@ -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-importword_status-pending {
11
- position: relative;
12
- }
13
-
14
- .ck.ck-importword__spinner-container {
15
- display: none;
16
- }
17
-
18
- .ck.ck-importword__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-importword_status-pending .ck.ck-importword__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-importword_status-pending .ck.ck-button__icon {
42
- color: transparent;
43
- }
44
-
45
- @keyframes rotate {
46
- to {
47
- transform: rotate(360deg)
48
- }
49
- }