@ckeditor/ckeditor5-export-pdf 40.0.0 → 40.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +2 -2
- package/README.md +1 -1
- package/build/export-pdf.js +1 -1
- package/package.json +2 -2
- package/src/augmentation.d.ts +21 -21
- package/src/exportpdf.d.ts +220 -220
- package/src/exportpdf.js +1 -1
- package/src/exportpdfcommand.d.ts +39 -39
- package/src/exportpdfcommand.js +1 -1
- package/src/index.d.ts +10 -10
- package/src/utils.d.ts +10 -10
- package/src/utils.js +1 -1
package/LICENSE.md
CHANGED
|
@@ -2,7 +2,7 @@ Software License Agreement
|
|
|
2
2
|
==========================
|
|
3
3
|
|
|
4
4
|
**CKEditor 5 export to PDF feature** (https://ckeditor.com/ckeditor-5/)<br>
|
|
5
|
-
Copyright (c) 2003
|
|
5
|
+
Copyright (c) 2003–2023, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
|
|
6
6
|
|
|
7
7
|
CKEditor 5 export to PDF feature is licensed under a commercial license and is protected by copyright law.
|
|
8
8
|
For more details about available licensing options please contact us at sales@cksource.com.
|
|
@@ -15,4 +15,4 @@ Where not otherwise indicated, all CKEditor 5 export to PDF feature content
|
|
|
15
15
|
Trademarks
|
|
16
16
|
----------
|
|
17
17
|
|
|
18
|
-
**CKEditor** is a trademark of [CKSource Holding sp. z o.o.](https://cksource.com) All other brand and product names are trademarks, registered trademarks or service marks of their respective holders.
|
|
18
|
+
**CKEditor** is a trademark of [CKSource Holding sp. z o.o.](https://cksource.com) All other brand and product names are trademarks, registered trademarks, or service marks of their respective holders.
|
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ As a licensed CKEditor 5 export to PDF feature user you can report bugs and
|
|
|
28
28
|
## License
|
|
29
29
|
|
|
30
30
|
**CKEditor 5 export to PDF** (https://ckeditor.com/ckeditor-5/)<br>
|
|
31
|
-
Copyright (c) 2003
|
|
31
|
+
Copyright (c) 2003–2023, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
|
|
32
32
|
|
|
33
33
|
CKEditor 5 export to PDF feature is licensed under a commercial license and is protected by copyright law.
|
|
34
34
|
For more details about available licensing options please contact us at sales@cksource.com.
|
package/build/export-pdf.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
/*!
|
|
3
3
|
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
4
4
|
* For licensing, see LICENSE.md.
|
|
5
|
-
*/(()=>{var t={704:(t,e,o)=>{t.exports=o(79)("./src/core.js")},273:(t,e,o)=>{t.exports=o(79)("./src/ui.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function o(n){var r=e[n];if(void 0!==r)return r.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,o),i.exports}o.d=(t,e)=>{for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{"use strict";o.r(n),o.d(n,{ExportPdf:()=>l});var t=o(704),e=o(273);const r=["
|
|
5
|
+
*/(()=>{var t={704:(t,e,o)=>{t.exports=o(79)("./src/core.js")},273:(t,e,o)=>{t.exports=o(79)("./src/ui.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function o(n){var r=e[n];if(void 0!==r)return r.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,o),i.exports}o.d=(t,e)=>{for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{"use strict";o.r(n),o.d(n,{ExportPdf:()=>l});var t=o(704),e=o(273);const r=["trim","then","from","fetch","EDITOR_STYLES",":root","push","all","length","join","indexOf","text","The editor stylesheet could not be found in the document. Check your webpack config – style-loader should use data-cke=true attribute for the editor stylesheet.","hasAttribute","styleSheets","ownerNode","cssText"];var i,s;i=r,s=394,function(t){for(;--t;)i.push(i.shift())}(++s);const c=function(t,e){return r[t-=0]};function d(){const t=[],e=[];for(const o of Array[c("0x10")](document[c("0xb")]))if(o[c("0xc")][c("0xa")]("data-cke"))for(const n of Array[c("0x10")](o.cssRules))-1!==n[c("0xd")][c("0x7")](".ck-content")?t[c("0x3")](n[c("0xd")]):-1!==n[c("0xd")][c("0x7")](c("0x2"))&&e[c("0x3")](n[c("0xd")]);return t[c("0x5")]||console.warn(c("0x9")),[...e,...t][c("0x6")](" ")[c("0xe")]()}class a extends t.Command{constructor(t){super(t),this.set("isBusy",!1),this.affectsData=!1}refresh(){this.isEnabled=!this.isBusy,this.value=this.isBusy?"pending":void 0}execute(t={}){const e=this.editor,o=e.t,n=t.converterUrl||"https://pdf-converter.cke-cs.com/v1/convert/",r=t.dataCallback||(t=>t.data.get()),i=e.plugins.get("ExportPdf"),s=t.token||i._token;return this.isBusy=!0,this.refresh(),function(t){if(!t)return new Promise((t=>t("")));const e=[];for(const o of t)c("0x1")!==o?e[c("0x3")](window[c("0x0")](o)[c("0xf")]((t=>t[c("0x8")]()))):e[c("0x3")](d());return Promise[c("0x4")](e)[c("0xf")]((t=>t[c("0x6")](" ").trim()))}(t.stylesheets||["EDITOR_STYLES"]).then((async o=>{const i={html:'<html>\n\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t<title>CKEditor 5 PDF document</title>\n\t\t\t\t\t\t\t<meta charset="utf-8">\n\t\t\t\t\t\t</head>\n\t\t\t\t\t\t<body>\n\t\t\t\t\t\t\t<div class="ck-content" dir="'+e.locale.contentLanguageDirection+'">\n\t\t\t\t\t\t\t\t'+await r(e)+"\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</body>\n\t\t\t\t\t</html>",css:o,options:t.converterOptions},c={method:"POST",headers:{"Content-Type":"application/json",Accept:"application/pdf",...s?{Authorization:s.value}:null,"x-cs-app-id":t.appID||"cke5"},body:JSON.stringify(i)};return window.fetch(n,c).then((t=>{if(200!==t.status)throw t;return t.blob()})).then((e=>{const o="function"==typeof t.fileName?t.fileName():t.fileName;this._downloadFile(e,o||"document.pdf")}))})).catch((t=>{throw e.plugins.get("Notification").showWarning(o("An error occurred while generating the PDF.")),t})).finally((()=>{this.isBusy=!1,this.refresh()}))}_downloadFile(t,e){const o=document.createElement("a");o.href=window.URL.createObjectURL(t),o.download=e,o.click(),o.remove()}}class l extends t.Plugin{static get pluginName(){return"ExportPdf"}static get requires(){return["CloudServices",e.Notification]}init(){const t=this.editor,o=t.t,n=t.config.get("exportPdf")||{};t.commands.add("exportPdf",new a(t)),t.ui.componentFactory.add("exportPdf",(r=>{const i=t.commands.get("exportPdf"),s=new e.ButtonView(r),c=new e.SpinnerView;return s.set({label:o("Export to PDF"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M19 4.5 14 0H3v6.5h1.5v-5h8v5h5V11H19V4.5ZM14 2l3.3 3H14V2Z"/><path d="m12.452 18.5 1.25 1.5H3v-3h1.5v1.5h7.952Z"/><path d="M19.826 16.843a.75.75 0 1 0-1.152-.96L17.5 17.29V13H16v4.29l-1.174-1.408a.75.75 0 1 0-1.152.96l2.346 2.816a.95.95 0 0 0 1.46 0l2.346-2.815Z"/><path d="M1.63 14.24V12.3h.88c.66 0 1.14-.15 1.46-.45.32-.3.48-.71.48-1.24 0-.52-.15-.91-.44-1.2C3.7 9.15 3.28 9 2.69 9H0v5.24h1.63Zm.4-3h-.4v-1.17h.46c.3 0 .5.05.62.17.1.11.16.25.16.42 0 .16-.06.3-.19.41-.13.11-.34.16-.66.16l.01.01Zm5.7 3c.28 0 .6-.05.96-.14.26-.07.5-.21.73-.42.22-.2.4-.47.53-.77.12-.31.19-.75.19-1.3 0-.37-.04-.7-.13-1.02a2.3 2.3 0 0 0-.42-.84c-.19-.24-.43-.43-.72-.56C8.57 9.06 8.2 9 7.72 9h-2.4v5.24H7.73Zm-.4-1.19h-.4v-2.86h.4c.43 0 .73.1.91.3.18.2.27.59.27 1.14 0 .42-.04.73-.12.91a.76.76 0 0 1-.34.4c-.14.07-.38.11-.72.11Zm5.3 1.2V12.1h2.02v-1.06h-2.03v-.91H15V9h-4v5.24h1.62l.01.01Z"/></svg>\n',tooltip:!0}),s.children.add(c),s.bind("isOn","isEnabled").to(i,"isBusy","isEnabled"),c.bind("isVisible").to(i,"isBusy"),s.iconView.bind("isVisible").to(i,"isBusy",(t=>!t)),this.listenTo(s,"execute",(()=>{t.execute("exportPdf",n),t.editing.view.focus()})),s}));const r=t.plugins.get("CloudServices");!1===n.tokenUrl?this._token=null:n.tokenUrl?r.registerTokenUrl(n.tokenUrl).then((t=>{this._token=t})):this._token=r.token}}})(),(window.CKEditor5=window.CKEditor5||{}).exportPdf=n})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ckeditor/ckeditor5-export-pdf",
|
|
3
|
-
"version": "40.
|
|
3
|
+
"version": "40.2.0",
|
|
4
4
|
"description": "Export to PDF 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": "40.
|
|
32
|
+
"ckeditor5": "40.2.0"
|
|
33
33
|
},
|
|
34
34
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
35
35
|
"author": "CKSource (http://cksource.com/)",
|
package/src/augmentation.d.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
import type { ExportPdfConfig, ExportPdf, ExportPdfCommand } from './index';
|
|
6
|
-
declare module '@ckeditor/ckeditor5-core' {
|
|
7
|
-
interface EditorConfig {
|
|
8
|
-
/**
|
|
9
|
-
* The configuration of the {@link module:export-pdf/exportpdf~ExportPdf export to PDF feature}.
|
|
10
|
-
*
|
|
11
|
-
* Read more in {@link module:export-pdf/exportpdf~ExportPdfConfig}.
|
|
12
|
-
*/
|
|
13
|
-
exportPdf?: ExportPdfConfig;
|
|
14
|
-
}
|
|
15
|
-
interface PluginsMap {
|
|
16
|
-
[ExportPdf.pluginName]: ExportPdf;
|
|
17
|
-
}
|
|
18
|
-
interface CommandsMap {
|
|
19
|
-
exportPdf: ExportPdfCommand;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
import type { ExportPdfConfig, ExportPdf, ExportPdfCommand } from './index';
|
|
6
|
+
declare module '@ckeditor/ckeditor5-core' {
|
|
7
|
+
interface EditorConfig {
|
|
8
|
+
/**
|
|
9
|
+
* The configuration of the {@link module:export-pdf/exportpdf~ExportPdf export to PDF feature}.
|
|
10
|
+
*
|
|
11
|
+
* Read more in {@link module:export-pdf/exportpdf~ExportPdfConfig}.
|
|
12
|
+
*/
|
|
13
|
+
exportPdf?: ExportPdfConfig;
|
|
14
|
+
}
|
|
15
|
+
interface PluginsMap {
|
|
16
|
+
[ExportPdf.pluginName]: ExportPdf;
|
|
17
|
+
}
|
|
18
|
+
interface CommandsMap {
|
|
19
|
+
exportPdf: ExportPdfCommand;
|
|
20
|
+
}
|
|
21
|
+
}
|
package/src/exportpdf.d.ts
CHANGED
|
@@ -1,220 +1,220 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @module export-pdf/exportpdf
|
|
7
|
-
* @publicApi
|
|
8
|
-
*/
|
|
9
|
-
import { Plugin, type Editor } from 'ckeditor5/src/core';
|
|
10
|
-
import { Notification } from 'ckeditor5/src/ui';
|
|
11
|
-
import type { InitializedToken, TokenUrl } from '@ckeditor/ckeditor5-cloud-services';
|
|
12
|
-
/**
|
|
13
|
-
* The export to PDF feature.
|
|
14
|
-
*
|
|
15
|
-
* It allows you to generate a PDF file directly from the editor content.
|
|
16
|
-
*
|
|
17
|
-
* For a detailed overview, check the {@glink features/converters/export-pdf export to PDF} feature documentation.
|
|
18
|
-
*/
|
|
19
|
-
export default class ExportPdf extends Plugin {
|
|
20
|
-
/**
|
|
21
|
-
* @inheritDoc
|
|
22
|
-
*/
|
|
23
|
-
static get pluginName(): "ExportPdf";
|
|
24
|
-
/**
|
|
25
|
-
* @inheritDoc
|
|
26
|
-
*/
|
|
27
|
-
static get requires(): readonly ["CloudServices", typeof Notification];
|
|
28
|
-
/**
|
|
29
|
-
* @inheritDoc
|
|
30
|
-
*/
|
|
31
|
-
init(): void;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* The configuration of the export to PDF feature. It is used by the PDF export features from the `@ckeditor/ckeditor5-export-pdf` package.
|
|
35
|
-
*
|
|
36
|
-
* ```ts
|
|
37
|
-
* ClassicEditor
|
|
38
|
-
* .create( editorElement, {
|
|
39
|
-
* exportPdf: ... // Export to PDF feature options.
|
|
40
|
-
* } )
|
|
41
|
-
* .then( ... )
|
|
42
|
-
* .catch( ... );
|
|
43
|
-
* ```
|
|
44
|
-
*
|
|
45
|
-
* See {@link module:core/editor/editorconfig~EditorConfig all editor options}.
|
|
46
|
-
*/
|
|
47
|
-
export interface ExportPdfConfig {
|
|
48
|
-
/**
|
|
49
|
-
* Paths to the `.css` files containing additional styling for the editor's content (**the order of provided items matters**).
|
|
50
|
-
*
|
|
51
|
-
* ```ts
|
|
52
|
-
* const exportPdfConfig = {
|
|
53
|
-
* stylesheets: [ './path/to/custom-style.css' ]
|
|
54
|
-
* }
|
|
55
|
-
* ```
|
|
56
|
-
*
|
|
57
|
-
* **NOTE:** If `stylesheets` are not provided, the plugin will sent only
|
|
58
|
-
* {@glink installation/advanced/content-styles#the-full-list-of-content-styles the default editor content styles} to the converter.
|
|
59
|
-
*
|
|
60
|
-
* **Default editor's content styles**:
|
|
61
|
-
* {@glink installation/advanced/content-styles#the-full-list-of-content-styles The default editor content styles}
|
|
62
|
-
* are applied to the generated PDF thanks to the 'EDITOR_STYLES' token, which is provided to the `stylesheets` by default.
|
|
63
|
-
* If you don't want them to be applied, you have to omit the token:
|
|
64
|
-
*
|
|
65
|
-
* ```ts
|
|
66
|
-
* const exportPdfConfig = {
|
|
67
|
-
* stylesheets: [ './path/to/custom-editor-styles.css' ]
|
|
68
|
-
* }
|
|
69
|
-
* ```
|
|
70
|
-
*
|
|
71
|
-
* **Web fonts:** If you want to {@glink features/converters/export-pdf#providing-web-font-styles use web fonts} in your PDF document,
|
|
72
|
-
* you should provide a path to the file containing the web font declaration before the `'EDITOR_STYLES'` token:
|
|
73
|
-
*
|
|
74
|
-
* ```ts
|
|
75
|
-
* const exportPdfConfig = {
|
|
76
|
-
* stylesheets: [
|
|
77
|
-
* './path/to/fonts.css',
|
|
78
|
-
* 'EDITOR_STYLES'
|
|
79
|
-
* ]
|
|
80
|
-
* }
|
|
81
|
-
* ```
|
|
82
|
-
*
|
|
83
|
-
* **Web fonts and custom styling:** For more advanced styling, your configuration should look like this:
|
|
84
|
-
*
|
|
85
|
-
* ```ts
|
|
86
|
-
* const exportPdfConfig = {
|
|
87
|
-
* stylesheets: [
|
|
88
|
-
* './path/to/fonts.css',
|
|
89
|
-
* 'EDITOR_STYLES',
|
|
90
|
-
* './path/to/custom-styles.css'
|
|
91
|
-
* ]
|
|
92
|
-
* }
|
|
93
|
-
* ```
|
|
94
|
-
*
|
|
95
|
-
* @default `[ 'EDITOR_STYLES' ]`
|
|
96
|
-
*/
|
|
97
|
-
stylesheets?: Array<string>;
|
|
98
|
-
/**
|
|
99
|
-
* The name of the generated PDF file.
|
|
100
|
-
*
|
|
101
|
-
* ```ts
|
|
102
|
-
* // Static file name.
|
|
103
|
-
* const exportPdfConfig = {
|
|
104
|
-
* fileName: 'my-document.pdf'
|
|
105
|
-
* }
|
|
106
|
-
*
|
|
107
|
-
* // Dynamic file name.
|
|
108
|
-
* const exportPdfConfig = {
|
|
109
|
-
* fileName: () => {
|
|
110
|
-
* const articleTitle = document.querySelector( '#title' );
|
|
111
|
-
*
|
|
112
|
-
* return `${ articleTitle.value }.pdf`;
|
|
113
|
-
* }
|
|
114
|
-
* }
|
|
115
|
-
* ```
|
|
116
|
-
*
|
|
117
|
-
* **NOTE:** The file name must contain the `.pdf` extension.
|
|
118
|
-
* Otherwise your operating system or device may have trouble identifying the file type.
|
|
119
|
-
*
|
|
120
|
-
* @default 'document.pdf'
|
|
121
|
-
*/
|
|
122
|
-
fileName?: string | (() => string);
|
|
123
|
-
/**
|
|
124
|
-
* A URL to the HTML to PDF converter.
|
|
125
|
-
*
|
|
126
|
-
* ```ts
|
|
127
|
-
* const exportPdfConfig = {
|
|
128
|
-
* converterUrl: 'https://myconverter.com/v1/'
|
|
129
|
-
* }
|
|
130
|
-
* ```
|
|
131
|
-
*
|
|
132
|
-
* **NOTE:** The plugin uses the default HTML to PDF converter delivered by CKEditor Cloud Services.
|
|
133
|
-
* You can provide a URL to an on-premises converter instead.
|
|
134
|
-
*
|
|
135
|
-
* @default 'https://pdf-converter.cke-cs.com/v1/convert'
|
|
136
|
-
*/
|
|
137
|
-
converterUrl?: string;
|
|
138
|
-
/**
|
|
139
|
-
* The HTML to PDF converter options.
|
|
140
|
-
*
|
|
141
|
-
* **NOTE:** Configuring the plugin is not mandatory but it is highly recommended,
|
|
142
|
-
* especially if you want to get the most accurate results when generating the PDF file.
|
|
143
|
-
* To learn more, please check the [HTML to PDF converter configuration](https://pdf-converter.cke-cs.com/docs).
|
|
144
|
-
*
|
|
145
|
-
* ```ts
|
|
146
|
-
* const exportPdfConfig = {
|
|
147
|
-
* converterOptions: {
|
|
148
|
-
* ...
|
|
149
|
-
* }
|
|
150
|
-
* }
|
|
151
|
-
* ```
|
|
152
|
-
*
|
|
153
|
-
* @default `{
|
|
154
|
-
* format: 'A4',
|
|
155
|
-
* margin_top: '0',
|
|
156
|
-
* margin_bottom: '0',
|
|
157
|
-
* margin_right: '0',
|
|
158
|
-
* margin_left: '0',
|
|
159
|
-
* page_orientation: 'portrait',
|
|
160
|
-
* header_html: undefined,
|
|
161
|
-
* footer_html: undefined,
|
|
162
|
-
* header_and_footer_css: undefined,
|
|
163
|
-
* wait_for_network: true,
|
|
164
|
-
* wait_time: 0
|
|
165
|
-
* }`
|
|
166
|
-
*/
|
|
167
|
-
converterOptions?: ExportPdfConverterOptions;
|
|
168
|
-
/**
|
|
169
|
-
* A function to gather the HTML to be converted to PDF.
|
|
170
|
-
*
|
|
171
|
-
* **NOTE:** This option may be useful when the editor does not have `getData()` method,
|
|
172
|
-
* or if the HTML to be converted should be different than the edited one.
|
|
173
|
-
*
|
|
174
|
-
* ```ts
|
|
175
|
-
* const exportPdfConfig = {
|
|
176
|
-
* dataCallback: ( editor: Editor ) => {
|
|
177
|
-
* return `
|
|
178
|
-
* <header id="header">${ editor.data.get( { rootName: 'header' } ) }</header>
|
|
179
|
-
* <div id="content">${ editor.data.get( { rootName: 'content' } ) }</div>
|
|
180
|
-
* `;
|
|
181
|
-
* }
|
|
182
|
-
* }
|
|
183
|
-
* ```
|
|
184
|
-
*
|
|
185
|
-
* @default `( editor: Editor ) => editor.getData()`
|
|
186
|
-
*/
|
|
187
|
-
dataCallback?: (editor: Editor) => string;
|
|
188
|
-
/**
|
|
189
|
-
* A token URL or a token request function. This field is optional and should be used only when a different `tokenUrl` is required for
|
|
190
|
-
* the export to PDF feature.
|
|
191
|
-
*
|
|
192
|
-
* **Note:** The token can be disabled with the `false` value provided.
|
|
193
|
-
*
|
|
194
|
-
* See: {@link module:cloud-services/cloudservicesconfig~CloudServicesConfig#tokenUrl}
|
|
195
|
-
*/
|
|
196
|
-
tokenUrl?: TokenUrl | false;
|
|
197
|
-
/**
|
|
198
|
-
* The authentication token.
|
|
199
|
-
*
|
|
200
|
-
* See: {@link module:cloud-services/cloudservices~CloudServices#token}
|
|
201
|
-
*/
|
|
202
|
-
token?: InitializedToken;
|
|
203
|
-
/**
|
|
204
|
-
* The application unique identifier.
|
|
205
|
-
*/
|
|
206
|
-
appID?: string;
|
|
207
|
-
}
|
|
208
|
-
export type ExportPdfConverterOptions = {
|
|
209
|
-
format?: 'Letter' | 'Legal' | 'Tabloid' | 'Ledger' | 'A0' | 'A1' | 'A2' | 'A3' | 'A4' | 'A5' | 'A6';
|
|
210
|
-
margin_top?: string;
|
|
211
|
-
margin_bottom?: string;
|
|
212
|
-
margin_right?: string;
|
|
213
|
-
margin_left?: string;
|
|
214
|
-
header_html?: string;
|
|
215
|
-
footer_html?: string;
|
|
216
|
-
header_and_footer_css?: string;
|
|
217
|
-
page_orientation?: 'portrait' | 'landscape';
|
|
218
|
-
wait_for_network?: boolean;
|
|
219
|
-
wait_time?: number;
|
|
220
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @module export-pdf/exportpdf
|
|
7
|
+
* @publicApi
|
|
8
|
+
*/
|
|
9
|
+
import { Plugin, type Editor } from 'ckeditor5/src/core';
|
|
10
|
+
import { Notification } from 'ckeditor5/src/ui';
|
|
11
|
+
import type { InitializedToken, TokenUrl } from '@ckeditor/ckeditor5-cloud-services';
|
|
12
|
+
/**
|
|
13
|
+
* The export to PDF feature.
|
|
14
|
+
*
|
|
15
|
+
* It allows you to generate a PDF file directly from the editor content.
|
|
16
|
+
*
|
|
17
|
+
* For a detailed overview, check the {@glink features/converters/export-pdf export to PDF} feature documentation.
|
|
18
|
+
*/
|
|
19
|
+
export default class ExportPdf extends Plugin {
|
|
20
|
+
/**
|
|
21
|
+
* @inheritDoc
|
|
22
|
+
*/
|
|
23
|
+
static get pluginName(): "ExportPdf";
|
|
24
|
+
/**
|
|
25
|
+
* @inheritDoc
|
|
26
|
+
*/
|
|
27
|
+
static get requires(): readonly ["CloudServices", typeof Notification];
|
|
28
|
+
/**
|
|
29
|
+
* @inheritDoc
|
|
30
|
+
*/
|
|
31
|
+
init(): void;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The configuration of the export to PDF feature. It is used by the PDF export features from the `@ckeditor/ckeditor5-export-pdf` package.
|
|
35
|
+
*
|
|
36
|
+
* ```ts
|
|
37
|
+
* ClassicEditor
|
|
38
|
+
* .create( editorElement, {
|
|
39
|
+
* exportPdf: ... // Export to PDF feature options.
|
|
40
|
+
* } )
|
|
41
|
+
* .then( ... )
|
|
42
|
+
* .catch( ... );
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* See {@link module:core/editor/editorconfig~EditorConfig all editor options}.
|
|
46
|
+
*/
|
|
47
|
+
export interface ExportPdfConfig {
|
|
48
|
+
/**
|
|
49
|
+
* Paths to the `.css` files containing additional styling for the editor's content (**the order of provided items matters**).
|
|
50
|
+
*
|
|
51
|
+
* ```ts
|
|
52
|
+
* const exportPdfConfig = {
|
|
53
|
+
* stylesheets: [ './path/to/custom-style.css' ]
|
|
54
|
+
* }
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* **NOTE:** If `stylesheets` are not provided, the plugin will sent only
|
|
58
|
+
* {@glink installation/advanced/content-styles#the-full-list-of-content-styles the default editor content styles} to the converter.
|
|
59
|
+
*
|
|
60
|
+
* **Default editor's content styles**:
|
|
61
|
+
* {@glink installation/advanced/content-styles#the-full-list-of-content-styles The default editor content styles}
|
|
62
|
+
* are applied to the generated PDF thanks to the 'EDITOR_STYLES' token, which is provided to the `stylesheets` by default.
|
|
63
|
+
* If you don't want them to be applied, you have to omit the token:
|
|
64
|
+
*
|
|
65
|
+
* ```ts
|
|
66
|
+
* const exportPdfConfig = {
|
|
67
|
+
* stylesheets: [ './path/to/custom-editor-styles.css' ]
|
|
68
|
+
* }
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* **Web fonts:** If you want to {@glink features/converters/export-pdf#providing-web-font-styles use web fonts} in your PDF document,
|
|
72
|
+
* you should provide a path to the file containing the web font declaration before the `'EDITOR_STYLES'` token:
|
|
73
|
+
*
|
|
74
|
+
* ```ts
|
|
75
|
+
* const exportPdfConfig = {
|
|
76
|
+
* stylesheets: [
|
|
77
|
+
* './path/to/fonts.css',
|
|
78
|
+
* 'EDITOR_STYLES'
|
|
79
|
+
* ]
|
|
80
|
+
* }
|
|
81
|
+
* ```
|
|
82
|
+
*
|
|
83
|
+
* **Web fonts and custom styling:** For more advanced styling, your configuration should look like this:
|
|
84
|
+
*
|
|
85
|
+
* ```ts
|
|
86
|
+
* const exportPdfConfig = {
|
|
87
|
+
* stylesheets: [
|
|
88
|
+
* './path/to/fonts.css',
|
|
89
|
+
* 'EDITOR_STYLES',
|
|
90
|
+
* './path/to/custom-styles.css'
|
|
91
|
+
* ]
|
|
92
|
+
* }
|
|
93
|
+
* ```
|
|
94
|
+
*
|
|
95
|
+
* @default `[ 'EDITOR_STYLES' ]`
|
|
96
|
+
*/
|
|
97
|
+
stylesheets?: Array<string>;
|
|
98
|
+
/**
|
|
99
|
+
* The name of the generated PDF file.
|
|
100
|
+
*
|
|
101
|
+
* ```ts
|
|
102
|
+
* // Static file name.
|
|
103
|
+
* const exportPdfConfig = {
|
|
104
|
+
* fileName: 'my-document.pdf'
|
|
105
|
+
* }
|
|
106
|
+
*
|
|
107
|
+
* // Dynamic file name.
|
|
108
|
+
* const exportPdfConfig = {
|
|
109
|
+
* fileName: () => {
|
|
110
|
+
* const articleTitle = document.querySelector( '#title' );
|
|
111
|
+
*
|
|
112
|
+
* return `${ articleTitle.value }.pdf`;
|
|
113
|
+
* }
|
|
114
|
+
* }
|
|
115
|
+
* ```
|
|
116
|
+
*
|
|
117
|
+
* **NOTE:** The file name must contain the `.pdf` extension.
|
|
118
|
+
* Otherwise your operating system or device may have trouble identifying the file type.
|
|
119
|
+
*
|
|
120
|
+
* @default 'document.pdf'
|
|
121
|
+
*/
|
|
122
|
+
fileName?: string | (() => string);
|
|
123
|
+
/**
|
|
124
|
+
* A URL to the HTML to PDF converter.
|
|
125
|
+
*
|
|
126
|
+
* ```ts
|
|
127
|
+
* const exportPdfConfig = {
|
|
128
|
+
* converterUrl: 'https://myconverter.com/v1/'
|
|
129
|
+
* }
|
|
130
|
+
* ```
|
|
131
|
+
*
|
|
132
|
+
* **NOTE:** The plugin uses the default HTML to PDF converter delivered by CKEditor Cloud Services.
|
|
133
|
+
* You can provide a URL to an on-premises converter instead.
|
|
134
|
+
*
|
|
135
|
+
* @default 'https://pdf-converter.cke-cs.com/v1/convert'
|
|
136
|
+
*/
|
|
137
|
+
converterUrl?: string;
|
|
138
|
+
/**
|
|
139
|
+
* The HTML to PDF converter options.
|
|
140
|
+
*
|
|
141
|
+
* **NOTE:** Configuring the plugin is not mandatory but it is highly recommended,
|
|
142
|
+
* especially if you want to get the most accurate results when generating the PDF file.
|
|
143
|
+
* To learn more, please check the [HTML to PDF converter configuration](https://pdf-converter.cke-cs.com/docs).
|
|
144
|
+
*
|
|
145
|
+
* ```ts
|
|
146
|
+
* const exportPdfConfig = {
|
|
147
|
+
* converterOptions: {
|
|
148
|
+
* ...
|
|
149
|
+
* }
|
|
150
|
+
* }
|
|
151
|
+
* ```
|
|
152
|
+
*
|
|
153
|
+
* @default `{
|
|
154
|
+
* format: 'A4',
|
|
155
|
+
* margin_top: '0',
|
|
156
|
+
* margin_bottom: '0',
|
|
157
|
+
* margin_right: '0',
|
|
158
|
+
* margin_left: '0',
|
|
159
|
+
* page_orientation: 'portrait',
|
|
160
|
+
* header_html: undefined,
|
|
161
|
+
* footer_html: undefined,
|
|
162
|
+
* header_and_footer_css: undefined,
|
|
163
|
+
* wait_for_network: true,
|
|
164
|
+
* wait_time: 0
|
|
165
|
+
* }`
|
|
166
|
+
*/
|
|
167
|
+
converterOptions?: ExportPdfConverterOptions;
|
|
168
|
+
/**
|
|
169
|
+
* A function to gather the HTML to be converted to PDF.
|
|
170
|
+
*
|
|
171
|
+
* **NOTE:** This option may be useful when the editor does not have `getData()` method,
|
|
172
|
+
* or if the HTML to be converted should be different than the edited one.
|
|
173
|
+
*
|
|
174
|
+
* ```ts
|
|
175
|
+
* const exportPdfConfig = {
|
|
176
|
+
* dataCallback: ( editor: Editor ) => {
|
|
177
|
+
* return `
|
|
178
|
+
* <header id="header">${ editor.data.get( { rootName: 'header' } ) }</header>
|
|
179
|
+
* <div id="content">${ editor.data.get( { rootName: 'content' } ) }</div>
|
|
180
|
+
* `;
|
|
181
|
+
* }
|
|
182
|
+
* }
|
|
183
|
+
* ```
|
|
184
|
+
*
|
|
185
|
+
* @default `( editor: Editor ) => editor.getData()`
|
|
186
|
+
*/
|
|
187
|
+
dataCallback?: (editor: Editor) => string;
|
|
188
|
+
/**
|
|
189
|
+
* A token URL or a token request function. This field is optional and should be used only when a different `tokenUrl` is required for
|
|
190
|
+
* the export to PDF feature.
|
|
191
|
+
*
|
|
192
|
+
* **Note:** The token can be disabled with the `false` value provided.
|
|
193
|
+
*
|
|
194
|
+
* See: {@link module:cloud-services/cloudservicesconfig~CloudServicesConfig#tokenUrl}
|
|
195
|
+
*/
|
|
196
|
+
tokenUrl?: TokenUrl | false;
|
|
197
|
+
/**
|
|
198
|
+
* The authentication token.
|
|
199
|
+
*
|
|
200
|
+
* See: {@link module:cloud-services/cloudservices~CloudServices#token}
|
|
201
|
+
*/
|
|
202
|
+
token?: InitializedToken;
|
|
203
|
+
/**
|
|
204
|
+
* The application unique identifier.
|
|
205
|
+
*/
|
|
206
|
+
appID?: string;
|
|
207
|
+
}
|
|
208
|
+
export type ExportPdfConverterOptions = {
|
|
209
|
+
format?: 'Letter' | 'Legal' | 'Tabloid' | 'Ledger' | 'A0' | 'A1' | 'A2' | 'A3' | 'A4' | 'A5' | 'A6';
|
|
210
|
+
margin_top?: string;
|
|
211
|
+
margin_bottom?: string;
|
|
212
|
+
margin_right?: string;
|
|
213
|
+
margin_left?: string;
|
|
214
|
+
header_html?: string;
|
|
215
|
+
footer_html?: string;
|
|
216
|
+
header_and_footer_css?: string;
|
|
217
|
+
page_orientation?: 'portrait' | 'landscape';
|
|
218
|
+
wait_for_network?: boolean;
|
|
219
|
+
wait_time?: number;
|
|
220
|
+
};
|
package/src/exportpdf.js
CHANGED
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{Plugin as
|
|
23
|
+
import{Plugin as _0x23c999}from'ckeditor5/src/core';import{ButtonView as _0x285705,Notification as _0x30fae4,SpinnerView as _0x34325b}from'ckeditor5/src/ui';import _0xbf1b47 from'./exportpdfcommand';import _0x192b54 from'../theme/icons/exportpdf.svg';export default class p extends _0x23c999{static get['pluginName'](){return'ExportPdf';}static get['requires'](){return['CloudServices',_0x30fae4];}['init'](){const _0x2940a2=this['editor'],t=_0x2940a2['t'],_0x2e2705=_0x2940a2['config']['get']('exportPdf')||{};_0x2940a2['commands']['add']('exportPdf',new _0xbf1b47(_0x2940a2)),_0x2940a2['ui']['componentFactory']['add']('exportPdf',_0x42d2df=>{const _0x4190ec=_0x2940a2['commands']['get']('exportPdf'),_0x1b556e=new _0x285705(_0x42d2df),_0x12f88b=new _0x34325b();return _0x1b556e['set']({'label':t('Export\x20to\x20PDF'),'icon':_0x192b54,'tooltip':!0x0}),_0x1b556e['children']['add'](_0x12f88b),_0x1b556e['bind']('isOn','isEnabled')['to'](_0x4190ec,'isBusy','isEnabled'),_0x12f88b['bind']('isVisible')['to'](_0x4190ec,'isBusy'),_0x1b556e['iconView']['bind']('isVisible')['to'](_0x4190ec,'isBusy',_0x3649b9=>!_0x3649b9),this['listenTo'](_0x1b556e,'execute',()=>{_0x2940a2['execute']('exportPdf',_0x2e2705),_0x2940a2['editing']['view']['focus']();}),_0x1b556e;});const _0xbdc5d3=_0x2940a2['plugins']['get']('CloudServices');!0x1===_0x2e2705['tokenUrl']?this['_token']=null:_0x2e2705['tokenUrl']?_0xbdc5d3['registerTokenUrl'](_0x2e2705['tokenUrl'])['then'](_0x31237a=>{this['_token']=_0x31237a;}):this['_token']=_0xbdc5d3['token'];}}
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @module export-pdf/exportpdfcommand
|
|
7
|
-
* @publicApi
|
|
8
|
-
*/
|
|
9
|
-
import { Command, type Editor } from 'ckeditor5/src/core';
|
|
10
|
-
import { type ExportPdfConfig } from './exportpdf';
|
|
11
|
-
/**
|
|
12
|
-
* The export to PDF command.
|
|
13
|
-
*
|
|
14
|
-
* It takes the editor's HTML and CSS rules from the document and sends them to the HTML to PDF converter.
|
|
15
|
-
* After processing, the converter will send back a PDF file for download.
|
|
16
|
-
*/
|
|
17
|
-
export default class ExportPdfCommand extends Command {
|
|
18
|
-
/**
|
|
19
|
-
* A command state that indicates if the command is currently executing.
|
|
20
|
-
*
|
|
21
|
-
* @observable
|
|
22
|
-
*/
|
|
23
|
-
isBusy: boolean;
|
|
24
|
-
/**
|
|
25
|
-
* @inheritDoc
|
|
26
|
-
*/
|
|
27
|
-
constructor(editor: Editor);
|
|
28
|
-
/**
|
|
29
|
-
* @inheritDoc
|
|
30
|
-
*/
|
|
31
|
-
refresh(): void;
|
|
32
|
-
/**
|
|
33
|
-
* Executes the command.
|
|
34
|
-
*
|
|
35
|
-
* @fires execute
|
|
36
|
-
* @param options Options for the executed command.
|
|
37
|
-
*/
|
|
38
|
-
execute(options?: ExportPdfConfig): Promise<void>;
|
|
39
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @module export-pdf/exportpdfcommand
|
|
7
|
+
* @publicApi
|
|
8
|
+
*/
|
|
9
|
+
import { Command, type Editor } from 'ckeditor5/src/core';
|
|
10
|
+
import { type ExportPdfConfig } from './exportpdf';
|
|
11
|
+
/**
|
|
12
|
+
* The export to PDF command.
|
|
13
|
+
*
|
|
14
|
+
* It takes the editor's HTML and CSS rules from the document and sends them to the HTML to PDF converter.
|
|
15
|
+
* After processing, the converter will send back a PDF file for download.
|
|
16
|
+
*/
|
|
17
|
+
export default class ExportPdfCommand extends Command {
|
|
18
|
+
/**
|
|
19
|
+
* A command state that indicates if the command is currently executing.
|
|
20
|
+
*
|
|
21
|
+
* @observable
|
|
22
|
+
*/
|
|
23
|
+
isBusy: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* @inheritDoc
|
|
26
|
+
*/
|
|
27
|
+
constructor(editor: Editor);
|
|
28
|
+
/**
|
|
29
|
+
* @inheritDoc
|
|
30
|
+
*/
|
|
31
|
+
refresh(): void;
|
|
32
|
+
/**
|
|
33
|
+
* Executes the command.
|
|
34
|
+
*
|
|
35
|
+
* @fires execute
|
|
36
|
+
* @param options Options for the executed command.
|
|
37
|
+
*/
|
|
38
|
+
execute(options?: ExportPdfConfig): Promise<void>;
|
|
39
|
+
}
|
package/src/exportpdfcommand.js
CHANGED
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{Command as
|
|
23
|
+
import{Command as _0x316c17}from'ckeditor5/src/core';import{getStyles as _0x1bb844}from'./utils';export default class o extends _0x316c17{constructor(_0x22e8be){super(_0x22e8be),this['set']('isBusy',!0x1),this['affectsData']=!0x1;}['refresh'](){this['isEnabled']=!this['isBusy'],this['value']=this['isBusy']?'pending':void 0x0;}['execute'](_0x4aec33={}){const _0x29534f=this['editor'],t=_0x29534f['t'],_0x24fba2=_0x4aec33['converterUrl']||'https://pdf-converter.cke-cs.com/v1/convert/',_0x59e2ff=_0x4aec33['dataCallback']||(_0x2ebee0=>_0x2ebee0['data']['get']()),_0x20dc2e=_0x29534f['plugins']['get']('ExportPdf'),_0x38dc31=_0x4aec33['token']||_0x20dc2e['_token'];return this['isBusy']=!0x0,this['refresh'](),_0x1bb844(_0x4aec33['stylesheets']||['EDITOR_STYLES'])['then'](async _0x49f20e=>{const _0x2692d1={'html':'<html>\x0a\x09\x09\x09\x09\x09\x09<head>\x0a\x09\x09\x09\x09\x09\x09\x09<title>CKEditor\x205\x20PDF\x20document</title>\x0a\x09\x09\x09\x09\x09\x09\x09<meta\x20charset=\x22utf-8\x22>\x0a\x09\x09\x09\x09\x09\x09</head>\x0a\x09\x09\x09\x09\x09\x09<body>\x0a\x09\x09\x09\x09\x09\x09\x09<div\x20class=\x22ck-content\x22\x20dir=\x22'+_0x29534f['locale']['contentLanguageDirection']+'\x22>\x0a\x09\x09\x09\x09\x09\x09\x09\x09'+await _0x59e2ff(_0x29534f)+'\x0a\x09\x09\x09\x09\x09\x09\x09</div>\x0a\x09\x09\x09\x09\x09\x09</body>\x0a\x09\x09\x09\x09\x09</html>','css':_0x49f20e,'options':_0x4aec33['converterOptions']},_0x13177b={'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/pdf',..._0x38dc31?{'Authorization':_0x38dc31['value']}:null,'x-cs-app-id':_0x4aec33['appID']||'cke5'},'body':JSON['stringify'](_0x2692d1)};return window['fetch'](_0x24fba2,_0x13177b)['then'](_0xebe64=>{if(0xc8!==_0xebe64['status'])throw _0xebe64;return _0xebe64['blob']();})['then'](_0x9a1795=>{const _0x578170='function'==typeof _0x4aec33['fileName']?_0x4aec33['fileName']():_0x4aec33['fileName'];this['_downloadFile'](_0x9a1795,_0x578170||'document.pdf');});})['catch'](_0x253051=>{throw _0x29534f['plugins']['get']('Notification')['showWarning'](t('An\x20error\x20occurred\x20while\x20generating\x20the\x20PDF.')),_0x253051;})['finally'](()=>{this['isBusy']=!0x1,this['refresh']();});}['_downloadFile'](_0x298357,_0x2a1314){const _0x5c12f9=document['createElement']('a');_0x5c12f9['href']=window['URL']['createObjectURL'](_0x298357),_0x5c12f9['download']=_0x2a1314,_0x5c12f9['click'](),_0x5c12f9['remove']();}}
|
package/src/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @module export-pdf
|
|
7
|
-
*/
|
|
8
|
-
export { default as ExportPdf, type ExportPdfConfig } from './exportpdf';
|
|
9
|
-
export type { default as ExportPdfCommand } from './exportpdfcommand';
|
|
10
|
-
import './augmentation';
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @module export-pdf
|
|
7
|
+
*/
|
|
8
|
+
export { default as ExportPdf, type ExportPdfConfig } from './exportpdf';
|
|
9
|
+
export type { default as ExportPdfCommand } from './exportpdfcommand';
|
|
10
|
+
import './augmentation';
|
package/src/utils.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* A helper function for getting concatenated CSS rules from external stylesheets and the editor.
|
|
7
|
-
*
|
|
8
|
-
* @param stylesheets An array of stylesheet paths delivered by the user through the plugin configuration.
|
|
9
|
-
*/
|
|
10
|
-
export declare function getStyles(stylesheets?: Array<string>): Promise<string>;
|
|
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
|
+
* A helper function for getting concatenated CSS rules from external stylesheets and the editor.
|
|
7
|
+
*
|
|
8
|
+
* @param stylesheets An array of stylesheet paths delivered by the user through the plugin configuration.
|
|
9
|
+
*/
|
|
10
|
+
export declare function getStyles(stylesheets?: Array<string>): Promise<string>;
|
package/src/utils.js
CHANGED
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
const
|
|
23
|
+
const _0x557b=['trim','then','from','fetch','EDITOR_STYLES',':root','push','all','length','join','indexOf','text','The\x20editor\x20stylesheet\x20could\x20not\x20be\x20found\x20in\x20the\x20document.\x20Check\x20your\x20webpack\x20config\x20–\x20style-loader\x20should\x20use\x20data-cke=true\x20attribute\x20for\x20the\x20editor\x20stylesheet.','hasAttribute','styleSheets','ownerNode','cssText'];(function(_0x460223,_0x557b0f){const _0x31aa0b=function(_0x111e80){while(--_0x111e80){_0x460223['push'](_0x460223['shift']());}};_0x31aa0b(++_0x557b0f);}(_0x557b,0x18a));const _0x31aa=function(_0x460223,_0x557b0f){_0x460223=_0x460223-0x0;let _0x31aa0b=_0x557b[_0x460223];return _0x31aa0b;};export function getStyles(_0x512559){if(!_0x512559)return new Promise(_0x4d5180=>_0x4d5180(''));const _0x386100=[];for(const _0x2f32c6 of _0x512559)_0x31aa('0x1')!==_0x2f32c6?_0x386100[_0x31aa('0x3')](window[_0x31aa('0x0')](_0x2f32c6)[_0x31aa('0xf')](_0x373421=>_0x373421[_0x31aa('0x8')]())):_0x386100[_0x31aa('0x3')](u());return Promise[_0x31aa('0x4')](_0x386100)[_0x31aa('0xf')](_0x3b696a=>_0x3b696a[_0x31aa('0x6')]('\x20')['trim']());}function u(){const _0x4266c5=[],_0x5f56f1=[];for(const _0x4458dc of Array[_0x31aa('0x10')](document[_0x31aa('0xb')])){if(_0x4458dc[_0x31aa('0xc')][_0x31aa('0xa')]('data-cke'))for(const _0x359353 of Array[_0x31aa('0x10')](_0x4458dc['cssRules']))-0x1!==_0x359353[_0x31aa('0xd')][_0x31aa('0x7')]('.ck-content')?_0x4266c5[_0x31aa('0x3')](_0x359353[_0x31aa('0xd')]):-0x1!==_0x359353[_0x31aa('0xd')][_0x31aa('0x7')](_0x31aa('0x2'))&&_0x5f56f1[_0x31aa('0x3')](_0x359353[_0x31aa('0xd')]);}return _0x4266c5[_0x31aa('0x5')]||console['warn'](_0x31aa('0x9')),[..._0x5f56f1,..._0x4266c5][_0x31aa('0x6')]('\x20')[_0x31aa('0xe')]();}
|