@ckeditor/ckeditor5-export-pdf 0.0.0-internal-20241017.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 (272) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +18 -0
  3. package/README.md +44 -0
  4. package/build/export-pdf.js +5 -0
  5. package/build/translations/af.js +1 -0
  6. package/build/translations/ar.js +1 -0
  7. package/build/translations/bg.js +1 -0
  8. package/build/translations/bn.js +1 -0
  9. package/build/translations/ca.js +1 -0
  10. package/build/translations/cs.js +1 -0
  11. package/build/translations/da.js +1 -0
  12. package/build/translations/de.js +1 -0
  13. package/build/translations/el.js +1 -0
  14. package/build/translations/en-au.js +1 -0
  15. package/build/translations/es-co.js +1 -0
  16. package/build/translations/es.js +1 -0
  17. package/build/translations/et.js +1 -0
  18. package/build/translations/fi.js +1 -0
  19. package/build/translations/fr.js +1 -0
  20. package/build/translations/gl.js +1 -0
  21. package/build/translations/he.js +1 -0
  22. package/build/translations/hi.js +1 -0
  23. package/build/translations/hr.js +1 -0
  24. package/build/translations/hu.js +1 -0
  25. package/build/translations/id.js +1 -0
  26. package/build/translations/it.js +1 -0
  27. package/build/translations/ja.js +1 -0
  28. package/build/translations/jv.js +1 -0
  29. package/build/translations/ko.js +1 -0
  30. package/build/translations/lt.js +1 -0
  31. package/build/translations/lv.js +1 -0
  32. package/build/translations/ms.js +1 -0
  33. package/build/translations/nl.js +1 -0
  34. package/build/translations/no.js +1 -0
  35. package/build/translations/pl.js +1 -0
  36. package/build/translations/pt-br.js +1 -0
  37. package/build/translations/pt.js +1 -0
  38. package/build/translations/ro.js +1 -0
  39. package/build/translations/ru.js +1 -0
  40. package/build/translations/sk.js +1 -0
  41. package/build/translations/sr-latn.js +1 -0
  42. package/build/translations/sr.js +1 -0
  43. package/build/translations/sv.js +1 -0
  44. package/build/translations/th.js +1 -0
  45. package/build/translations/tr.js +1 -0
  46. package/build/translations/ug.js +1 -0
  47. package/build/translations/uk.js +1 -0
  48. package/build/translations/ur.js +1 -0
  49. package/build/translations/vi.js +1 -0
  50. package/build/translations/zh-cn.js +1 -0
  51. package/build/translations/zh.js +1 -0
  52. package/ckeditor5-metadata.json +21 -0
  53. package/dist/augmentation.d.ts +25 -0
  54. package/dist/exportpdf.d.ts +242 -0
  55. package/dist/exportpdfcommand.d.ts +43 -0
  56. package/dist/exportpdfui.d.ts +35 -0
  57. package/dist/index-content.css +4 -0
  58. package/dist/index-editor.css +4 -0
  59. package/dist/index.css +4 -0
  60. package/dist/index.d.ts +14 -0
  61. package/dist/index.js +23 -0
  62. package/dist/translations/af.d.ts +8 -0
  63. package/dist/translations/af.js +23 -0
  64. package/dist/translations/af.umd.js +23 -0
  65. package/dist/translations/ar.d.ts +8 -0
  66. package/dist/translations/ar.js +23 -0
  67. package/dist/translations/ar.umd.js +23 -0
  68. package/dist/translations/bg.d.ts +8 -0
  69. package/dist/translations/bg.js +23 -0
  70. package/dist/translations/bg.umd.js +23 -0
  71. package/dist/translations/bn.d.ts +8 -0
  72. package/dist/translations/bn.js +23 -0
  73. package/dist/translations/bn.umd.js +23 -0
  74. package/dist/translations/ca.d.ts +8 -0
  75. package/dist/translations/ca.js +23 -0
  76. package/dist/translations/ca.umd.js +23 -0
  77. package/dist/translations/cs.d.ts +8 -0
  78. package/dist/translations/cs.js +23 -0
  79. package/dist/translations/cs.umd.js +23 -0
  80. package/dist/translations/da.d.ts +8 -0
  81. package/dist/translations/da.js +23 -0
  82. package/dist/translations/da.umd.js +23 -0
  83. package/dist/translations/de.d.ts +8 -0
  84. package/dist/translations/de.js +23 -0
  85. package/dist/translations/de.umd.js +23 -0
  86. package/dist/translations/el.d.ts +8 -0
  87. package/dist/translations/el.js +23 -0
  88. package/dist/translations/el.umd.js +23 -0
  89. package/dist/translations/en-au.d.ts +8 -0
  90. package/dist/translations/en-au.js +23 -0
  91. package/dist/translations/en-au.umd.js +23 -0
  92. package/dist/translations/en.d.ts +8 -0
  93. package/dist/translations/en.js +23 -0
  94. package/dist/translations/en.umd.js +23 -0
  95. package/dist/translations/es-co.d.ts +8 -0
  96. package/dist/translations/es-co.js +23 -0
  97. package/dist/translations/es-co.umd.js +23 -0
  98. package/dist/translations/es.d.ts +8 -0
  99. package/dist/translations/es.js +23 -0
  100. package/dist/translations/es.umd.js +23 -0
  101. package/dist/translations/et.d.ts +8 -0
  102. package/dist/translations/et.js +23 -0
  103. package/dist/translations/et.umd.js +23 -0
  104. package/dist/translations/fi.d.ts +8 -0
  105. package/dist/translations/fi.js +23 -0
  106. package/dist/translations/fi.umd.js +23 -0
  107. package/dist/translations/fr.d.ts +8 -0
  108. package/dist/translations/fr.js +23 -0
  109. package/dist/translations/fr.umd.js +23 -0
  110. package/dist/translations/gl.d.ts +8 -0
  111. package/dist/translations/gl.js +23 -0
  112. package/dist/translations/gl.umd.js +23 -0
  113. package/dist/translations/he.d.ts +8 -0
  114. package/dist/translations/he.js +23 -0
  115. package/dist/translations/he.umd.js +23 -0
  116. package/dist/translations/hi.d.ts +8 -0
  117. package/dist/translations/hi.js +23 -0
  118. package/dist/translations/hi.umd.js +23 -0
  119. package/dist/translations/hr.d.ts +8 -0
  120. package/dist/translations/hr.js +23 -0
  121. package/dist/translations/hr.umd.js +23 -0
  122. package/dist/translations/hu.d.ts +8 -0
  123. package/dist/translations/hu.js +23 -0
  124. package/dist/translations/hu.umd.js +23 -0
  125. package/dist/translations/id.d.ts +8 -0
  126. package/dist/translations/id.js +23 -0
  127. package/dist/translations/id.umd.js +23 -0
  128. package/dist/translations/it.d.ts +8 -0
  129. package/dist/translations/it.js +23 -0
  130. package/dist/translations/it.umd.js +23 -0
  131. package/dist/translations/ja.d.ts +8 -0
  132. package/dist/translations/ja.js +23 -0
  133. package/dist/translations/ja.umd.js +23 -0
  134. package/dist/translations/jv.d.ts +8 -0
  135. package/dist/translations/jv.js +23 -0
  136. package/dist/translations/jv.umd.js +23 -0
  137. package/dist/translations/ko.d.ts +8 -0
  138. package/dist/translations/ko.js +23 -0
  139. package/dist/translations/ko.umd.js +23 -0
  140. package/dist/translations/lt.d.ts +8 -0
  141. package/dist/translations/lt.js +23 -0
  142. package/dist/translations/lt.umd.js +23 -0
  143. package/dist/translations/lv.d.ts +8 -0
  144. package/dist/translations/lv.js +23 -0
  145. package/dist/translations/lv.umd.js +23 -0
  146. package/dist/translations/ms.d.ts +8 -0
  147. package/dist/translations/ms.js +23 -0
  148. package/dist/translations/ms.umd.js +23 -0
  149. package/dist/translations/nl.d.ts +8 -0
  150. package/dist/translations/nl.js +23 -0
  151. package/dist/translations/nl.umd.js +23 -0
  152. package/dist/translations/no.d.ts +8 -0
  153. package/dist/translations/no.js +23 -0
  154. package/dist/translations/no.umd.js +23 -0
  155. package/dist/translations/pl.d.ts +8 -0
  156. package/dist/translations/pl.js +23 -0
  157. package/dist/translations/pl.umd.js +23 -0
  158. package/dist/translations/pt-br.d.ts +8 -0
  159. package/dist/translations/pt-br.js +23 -0
  160. package/dist/translations/pt-br.umd.js +23 -0
  161. package/dist/translations/pt.d.ts +8 -0
  162. package/dist/translations/pt.js +23 -0
  163. package/dist/translations/pt.umd.js +23 -0
  164. package/dist/translations/ro.d.ts +8 -0
  165. package/dist/translations/ro.js +23 -0
  166. package/dist/translations/ro.umd.js +23 -0
  167. package/dist/translations/ru.d.ts +8 -0
  168. package/dist/translations/ru.js +23 -0
  169. package/dist/translations/ru.umd.js +23 -0
  170. package/dist/translations/sk.d.ts +8 -0
  171. package/dist/translations/sk.js +23 -0
  172. package/dist/translations/sk.umd.js +23 -0
  173. package/dist/translations/sr-latn.d.ts +8 -0
  174. package/dist/translations/sr-latn.js +23 -0
  175. package/dist/translations/sr-latn.umd.js +23 -0
  176. package/dist/translations/sr.d.ts +8 -0
  177. package/dist/translations/sr.js +23 -0
  178. package/dist/translations/sr.umd.js +23 -0
  179. package/dist/translations/sv.d.ts +8 -0
  180. package/dist/translations/sv.js +23 -0
  181. package/dist/translations/sv.umd.js +23 -0
  182. package/dist/translations/th.d.ts +8 -0
  183. package/dist/translations/th.js +23 -0
  184. package/dist/translations/th.umd.js +23 -0
  185. package/dist/translations/tr.d.ts +8 -0
  186. package/dist/translations/tr.js +23 -0
  187. package/dist/translations/tr.umd.js +23 -0
  188. package/dist/translations/ug.d.ts +8 -0
  189. package/dist/translations/ug.js +23 -0
  190. package/dist/translations/ug.umd.js +23 -0
  191. package/dist/translations/uk.d.ts +8 -0
  192. package/dist/translations/uk.js +23 -0
  193. package/dist/translations/uk.umd.js +23 -0
  194. package/dist/translations/ur.d.ts +8 -0
  195. package/dist/translations/ur.js +23 -0
  196. package/dist/translations/ur.umd.js +23 -0
  197. package/dist/translations/vi.d.ts +8 -0
  198. package/dist/translations/vi.js +23 -0
  199. package/dist/translations/vi.umd.js +23 -0
  200. package/dist/translations/zh-cn.d.ts +8 -0
  201. package/dist/translations/zh-cn.js +23 -0
  202. package/dist/translations/zh-cn.umd.js +23 -0
  203. package/dist/translations/zh.d.ts +8 -0
  204. package/dist/translations/zh.js +23 -0
  205. package/dist/translations/zh.umd.js +23 -0
  206. package/dist/utils/common-translations.d.ts +13 -0
  207. package/dist/utils.d.ts +14 -0
  208. package/lang/contexts.json +8 -0
  209. package/lang/translations/af.po +42 -0
  210. package/lang/translations/ar.po +42 -0
  211. package/lang/translations/bg.po +42 -0
  212. package/lang/translations/bn.po +42 -0
  213. package/lang/translations/ca.po +42 -0
  214. package/lang/translations/cs.po +42 -0
  215. package/lang/translations/da.po +42 -0
  216. package/lang/translations/de.po +42 -0
  217. package/lang/translations/el.po +42 -0
  218. package/lang/translations/en-au.po +42 -0
  219. package/lang/translations/en.po +42 -0
  220. package/lang/translations/es-co.po +42 -0
  221. package/lang/translations/es.po +42 -0
  222. package/lang/translations/et.po +42 -0
  223. package/lang/translations/fi.po +42 -0
  224. package/lang/translations/fr.po +42 -0
  225. package/lang/translations/gl.po +42 -0
  226. package/lang/translations/he.po +42 -0
  227. package/lang/translations/hi.po +42 -0
  228. package/lang/translations/hr.po +42 -0
  229. package/lang/translations/hu.po +42 -0
  230. package/lang/translations/id.po +42 -0
  231. package/lang/translations/it.po +42 -0
  232. package/lang/translations/ja.po +42 -0
  233. package/lang/translations/jv.po +42 -0
  234. package/lang/translations/ko.po +42 -0
  235. package/lang/translations/lt.po +42 -0
  236. package/lang/translations/lv.po +42 -0
  237. package/lang/translations/ms.po +42 -0
  238. package/lang/translations/nl.po +42 -0
  239. package/lang/translations/no.po +42 -0
  240. package/lang/translations/pl.po +42 -0
  241. package/lang/translations/pt-br.po +42 -0
  242. package/lang/translations/pt.po +42 -0
  243. package/lang/translations/ro.po +42 -0
  244. package/lang/translations/ru.po +42 -0
  245. package/lang/translations/sk.po +42 -0
  246. package/lang/translations/sr-latn.po +42 -0
  247. package/lang/translations/sr.po +42 -0
  248. package/lang/translations/sv.po +42 -0
  249. package/lang/translations/th.po +42 -0
  250. package/lang/translations/tr.po +42 -0
  251. package/lang/translations/ug.po +42 -0
  252. package/lang/translations/uk.po +42 -0
  253. package/lang/translations/ur.po +42 -0
  254. package/lang/translations/vi.po +42 -0
  255. package/lang/translations/zh-cn.po +42 -0
  256. package/lang/translations/zh.po +42 -0
  257. package/package.json +53 -0
  258. package/src/augmentation.d.ts +21 -0
  259. package/src/augmentation.js +23 -0
  260. package/src/exportpdf.d.ts +238 -0
  261. package/src/exportpdf.js +23 -0
  262. package/src/exportpdfcommand.d.ts +39 -0
  263. package/src/exportpdfcommand.js +23 -0
  264. package/src/exportpdfui.d.ts +31 -0
  265. package/src/exportpdfui.js +23 -0
  266. package/src/index.d.ts +10 -0
  267. package/src/index.js +23 -0
  268. package/src/utils/common-translations.d.ts +9 -0
  269. package/src/utils/common-translations.js +23 -0
  270. package/src/utils.d.ts +10 -0
  271. package/src/utils.js +23 -0
  272. package/theme/icons/exportpdf.svg +1 -0
@@ -0,0 +1,42 @@
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
+ #
3
+ # !!! IMPORTANT !!!
4
+ #
5
+ # Before you edit this file, please keep in mind that contributing to the project
6
+ # translations is possible ONLY via the Transifex online service.
7
+ #
8
+ # To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5.
9
+ #
10
+ # To learn more, check out the official contributor's guide:
11
+ # https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html
12
+ #
13
+ msgid ""
14
+ msgstr ""
15
+ "Language-Team: Ukrainian (https://app.transifex.com/ckeditor/teams/11143/uk/)\n"
16
+ "Language: uk\n"
17
+ "Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
18
+ "Content-Type: text/plain; charset=UTF-8\n"
19
+
20
+ msgctxt "A toolbar button tooltip for a PDF export feature."
21
+ msgid "Export to PDF"
22
+ msgstr "Експортувати в PDF"
23
+
24
+ msgctxt "An error message shown to the user when an error occurred during the generation of the PDF file."
25
+ msgid "An error occurred while generating the PDF."
26
+ msgstr "Під час створення PDF-файлу сталася помилка."
27
+
28
+ msgctxt "Aria status message indicating start of PDF document export. Example: 'PDF export started'."
29
+ msgid "PDF export started"
30
+ msgstr "Розпочато експорт PDF-файла"
31
+
32
+ msgctxt "Aria status message indicating failed PDF document export. Example: 'PDF export failed'."
33
+ msgid "PDF export failed"
34
+ msgstr "Не вдалось експортувати PDF-файл"
35
+
36
+ msgctxt "Aria status message indicating successful PDF document export. Example: 'PDF export successful'."
37
+ msgid "PDF export successful"
38
+ msgstr "Успішно експортовано PDF-файл"
39
+
40
+ msgctxt "Aria label set on Export to PDF button while exporting a PDF document."
41
+ msgid "Exporting PDF document"
42
+ msgstr "Експорт PDF-документа"
@@ -0,0 +1,42 @@
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
+ #
3
+ # !!! IMPORTANT !!!
4
+ #
5
+ # Before you edit this file, please keep in mind that contributing to the project
6
+ # translations is possible ONLY via the Transifex online service.
7
+ #
8
+ # To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5.
9
+ #
10
+ # To learn more, check out the official contributor's guide:
11
+ # https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html
12
+ #
13
+ msgid ""
14
+ msgstr ""
15
+ "Language-Team: Urdu (https://app.transifex.com/ckeditor/teams/11143/ur/)\n"
16
+ "Language: ur\n"
17
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
+ "Content-Type: text/plain; charset=UTF-8\n"
19
+
20
+ msgctxt "A toolbar button tooltip for a PDF export feature."
21
+ msgid "Export to PDF"
22
+ msgstr "پی ڈی ایف برآمد"
23
+
24
+ msgctxt "An error message shown to the user when an error occurred during the generation of the PDF file."
25
+ msgid "An error occurred while generating the PDF."
26
+ msgstr "پی ڈی ایف بنانے میں نقص واقع ہوا۔"
27
+
28
+ msgctxt "Aria status message indicating start of PDF document export. Example: 'PDF export started'."
29
+ msgid "PDF export started"
30
+ msgstr ""
31
+
32
+ msgctxt "Aria status message indicating failed PDF document export. Example: 'PDF export failed'."
33
+ msgid "PDF export failed"
34
+ msgstr ""
35
+
36
+ msgctxt "Aria status message indicating successful PDF document export. Example: 'PDF export successful'."
37
+ msgid "PDF export successful"
38
+ msgstr ""
39
+
40
+ msgctxt "Aria label set on Export to PDF button while exporting a PDF document."
41
+ msgid "Exporting PDF document"
42
+ msgstr ""
@@ -0,0 +1,42 @@
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
+ #
3
+ # !!! IMPORTANT !!!
4
+ #
5
+ # Before you edit this file, please keep in mind that contributing to the project
6
+ # translations is possible ONLY via the Transifex online service.
7
+ #
8
+ # To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5.
9
+ #
10
+ # To learn more, check out the official contributor's guide:
11
+ # https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html
12
+ #
13
+ msgid ""
14
+ msgstr ""
15
+ "Language-Team: Vietnamese (https://app.transifex.com/ckeditor/teams/11143/vi/)\n"
16
+ "Language: vi\n"
17
+ "Plural-Forms: nplurals=1; plural=0;\n"
18
+ "Content-Type: text/plain; charset=UTF-8\n"
19
+
20
+ msgctxt "A toolbar button tooltip for a PDF export feature."
21
+ msgid "Export to PDF"
22
+ msgstr "Xuất ra định dạng PDF"
23
+
24
+ msgctxt "An error message shown to the user when an error occurred during the generation of the PDF file."
25
+ msgid "An error occurred while generating the PDF."
26
+ msgstr "Đã xảy ra lỗi khi tạo tệp PDF."
27
+
28
+ msgctxt "Aria status message indicating start of PDF document export. Example: 'PDF export started'."
29
+ msgid "PDF export started"
30
+ msgstr "Đã bắt đầu xuất tài liệu PDF"
31
+
32
+ msgctxt "Aria status message indicating failed PDF document export. Example: 'PDF export failed'."
33
+ msgid "PDF export failed"
34
+ msgstr "Không xuất được tài liệu PDF"
35
+
36
+ msgctxt "Aria status message indicating successful PDF document export. Example: 'PDF export successful'."
37
+ msgid "PDF export successful"
38
+ msgstr "Đã xuất tài liệu PDF thành công"
39
+
40
+ msgctxt "Aria label set on Export to PDF button while exporting a PDF document."
41
+ msgid "Exporting PDF document"
42
+ msgstr "Đang xuất tài liệu PDF"
@@ -0,0 +1,42 @@
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
+ #
3
+ # !!! IMPORTANT !!!
4
+ #
5
+ # Before you edit this file, please keep in mind that contributing to the project
6
+ # translations is possible ONLY via the Transifex online service.
7
+ #
8
+ # To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5.
9
+ #
10
+ # To learn more, check out the official contributor's guide:
11
+ # https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html
12
+ #
13
+ msgid ""
14
+ msgstr ""
15
+ "Language-Team: Chinese (China) (https://app.transifex.com/ckeditor/teams/11143/zh_CN/)\n"
16
+ "Language: zh_CN\n"
17
+ "Plural-Forms: nplurals=1; plural=0;\n"
18
+ "Content-Type: text/plain; charset=UTF-8\n"
19
+
20
+ msgctxt "A toolbar button tooltip for a PDF export feature."
21
+ msgid "Export to PDF"
22
+ msgstr "导出为PDF"
23
+
24
+ msgctxt "An error message shown to the user when an error occurred during the generation of the PDF file."
25
+ msgid "An error occurred while generating the PDF."
26
+ msgstr "生成PDF时发生了异常。"
27
+
28
+ msgctxt "Aria status message indicating start of PDF document export. Example: 'PDF export started'."
29
+ msgid "PDF export started"
30
+ msgstr "PDF 导出开始"
31
+
32
+ msgctxt "Aria status message indicating failed PDF document export. Example: 'PDF export failed'."
33
+ msgid "PDF export failed"
34
+ msgstr "PDF 导出失败"
35
+
36
+ msgctxt "Aria status message indicating successful PDF document export. Example: 'PDF export successful'."
37
+ msgid "PDF export successful"
38
+ msgstr "PDF 导出成功"
39
+
40
+ msgctxt "Aria label set on Export to PDF button while exporting a PDF document."
41
+ msgid "Exporting PDF document"
42
+ msgstr "正在导出 PDF 文档"
@@ -0,0 +1,42 @@
1
+ # Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
2
+ #
3
+ # !!! IMPORTANT !!!
4
+ #
5
+ # Before you edit this file, please keep in mind that contributing to the project
6
+ # translations is possible ONLY via the Transifex online service.
7
+ #
8
+ # To submit your translations, visit https://www.transifex.com/ckeditor/ckeditor5.
9
+ #
10
+ # To learn more, check out the official contributor's guide:
11
+ # https://ckeditor.com/docs/ckeditor5/latest/framework/guides/contributing/contributing.html
12
+ #
13
+ msgid ""
14
+ msgstr ""
15
+ "Language-Team: Chinese (Taiwan) (https://app.transifex.com/ckeditor/teams/11143/zh_TW/)\n"
16
+ "Language: zh_TW\n"
17
+ "Plural-Forms: nplurals=1; plural=0;\n"
18
+ "Content-Type: text/plain; charset=UTF-8\n"
19
+
20
+ msgctxt "A toolbar button tooltip for a PDF export feature."
21
+ msgid "Export to PDF"
22
+ msgstr "匯出為 PDF"
23
+
24
+ msgctxt "An error message shown to the user when an error occurred during the generation of the PDF file."
25
+ msgid "An error occurred while generating the PDF."
26
+ msgstr "產生 PDF 時發生錯誤。"
27
+
28
+ msgctxt "Aria status message indicating start of PDF document export. Example: 'PDF export started'."
29
+ msgid "PDF export started"
30
+ msgstr "PDF 匯出開始"
31
+
32
+ msgctxt "Aria status message indicating failed PDF document export. Example: 'PDF export failed'."
33
+ msgid "PDF export failed"
34
+ msgstr "PDF 匯出失敗"
35
+
36
+ msgctxt "Aria status message indicating successful PDF document export. Example: 'PDF export successful'."
37
+ msgid "PDF export successful"
38
+ msgstr "PDF 匯出成功"
39
+
40
+ msgctxt "Aria label set on Export to PDF button while exporting a PDF document."
41
+ msgid "Exporting PDF document"
42
+ msgstr "正在匯出 PDF 文件"
package/package.json ADDED
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "@ckeditor/ckeditor5-export-pdf",
3
+ "version": "0.0.0-internal-20241017.0",
4
+ "description": "Export to PDF feature for CKEditor 5.",
5
+ "keywords": [
6
+ "ckeditor",
7
+ "ckeditor5",
8
+ "ckeditor 5",
9
+ "ckeditor5-feature",
10
+ "ckeditor5-plugin",
11
+ "WYSIWYG",
12
+ "WYSIWYM",
13
+ "text",
14
+ "rich-text",
15
+ "richtext",
16
+ "ckeditor",
17
+ "editor",
18
+ "editing",
19
+ "html",
20
+ "contentEditable",
21
+ "PDF",
22
+ "print PDF",
23
+ "save PDF",
24
+ "convert to PDF",
25
+ "export PDF",
26
+ "export to PDF",
27
+ "PDF converter",
28
+ "HTML to PDF"
29
+ ],
30
+ "type": "module",
31
+ "main": "src/index.js",
32
+ "dependencies": {
33
+ "@ckeditor/ckeditor5-core": "0.0.0-internal-20241017.0",
34
+ "@ckeditor/ckeditor5-ui": "0.0.0-internal-20241017.0",
35
+ "ckeditor5": "0.0.0-internal-20241017.0"
36
+ },
37
+ "license": "SEE LICENSE IN LICENSE.md",
38
+ "author": "CKSource (http://cksource.com/)",
39
+ "homepage": "https://ckeditor.com/ckeditor-5",
40
+ "bugs": "https://support.ckeditor.com/hc/en-us/requests/new",
41
+ "files": [
42
+ "dist",
43
+ "lang",
44
+ "src/**/*.js",
45
+ "src/**/*.d.ts",
46
+ "theme",
47
+ "build",
48
+ "ckeditor5-metadata.json",
49
+ "CHANGELOG.md"
50
+ ],
51
+ "types": "src/index.d.ts",
52
+ "obfuscated": true
53
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, 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.js';
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
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2024, 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,238 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, 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.js';
10
+ import { Notification } from 'ckeditor5/src/ui.js';
11
+ import type { InitializedToken, TokenUrl } from '@ckeditor/ckeditor5-cloud-services';
12
+ import ExportPdfUI from './exportpdfui.js';
13
+ /**
14
+ * The export to PDF feature.
15
+ *
16
+ * It allows you to generate a PDF file directly from the editor content.
17
+ *
18
+ * For a detailed overview, check the {@glink features/converters/export-pdf export to PDF} feature documentation.
19
+ */
20
+ export default class ExportPdf extends Plugin {
21
+ /**
22
+ * @inheritDoc
23
+ */
24
+ static get pluginName(): "ExportPdf";
25
+ /**
26
+ * @inheritDoc
27
+ */
28
+ static get isOfficialPlugin(): true;
29
+ /**
30
+ * @inheritDoc
31
+ */
32
+ static get isPremiumPlugin(): true;
33
+ /**
34
+ * @inheritDoc
35
+ */
36
+ static get requires(): readonly ["CloudServices", typeof Notification, typeof ExportPdfUI];
37
+ /**
38
+ * @inheritDoc
39
+ */
40
+ init(): void;
41
+ }
42
+ /**
43
+ * The configuration of the export to PDF feature. It is used by the PDF export features from the `@ckeditor/ckeditor5-export-pdf` package.
44
+ *
45
+ * ```ts
46
+ * ClassicEditor
47
+ * .create( editorElement, {
48
+ * exportPdf: ... // Export to PDF feature options.
49
+ * } )
50
+ * .then( ... )
51
+ * .catch( ... );
52
+ * ```
53
+ *
54
+ * See {@link module:core/editor/editorconfig~EditorConfig all editor options}.
55
+ */
56
+ export interface ExportPdfConfig {
57
+ /**
58
+ * Paths to the `.css` files containing additional styling for the editor's content (**the order of provided items matters**).
59
+ *
60
+ * ```ts
61
+ * const exportPdfConfig = {
62
+ * stylesheets: [ './path/to/custom-style.css' ]
63
+ * }
64
+ * ```
65
+ *
66
+ * **NOTE:** If `stylesheets` are not provided, the plugin will sent only
67
+ * {@glink getting-started/setup/css the default editor content styles}
68
+ * to the converter.
69
+ *
70
+ * **Default editor's content styles**:
71
+ * {@glink getting-started/setup/css The default editor content styles}
72
+ * are applied to the generated PDF thanks to the `'EDITOR_STYLES'` token, which is provided to the `stylesheets` by default.
73
+ * If you don't want them to be applied, you have to omit the token:
74
+ *
75
+ * **NOTE:** The `'EDITOR_STYLES'` string is only supported in legacy custom builds with webpack or DLLs.
76
+ * In other setups you always need to pass the stylesheets.
77
+ *
78
+ * ```ts
79
+ * const exportPdfConfig = {
80
+ * stylesheets: [ './path/to/custom-editor-styles.css' ]
81
+ * }
82
+ * ```
83
+ *
84
+ * **Web fonts:** If you want to {@glink features/converters/export-pdf#providing-web-font-styles use web fonts} in your PDF document,
85
+ * you should provide a path to the file containing the web font declaration before the `'EDITOR_STYLES'` token and other style sheets:
86
+ *
87
+ * ```ts
88
+ * const exportPdfConfig = {
89
+ * stylesheets: [
90
+ * './path/to/fonts.css'
91
+ * './path/to/editor-styles.css',
92
+ * ]
93
+ * }
94
+ * ```
95
+ *
96
+ * **Web fonts and custom styling:** For more advanced styling, your configuration should look like this:
97
+ *
98
+ * ```ts
99
+ * const exportPdfConfig = {
100
+ * stylesheets: [
101
+ * './path/to/fonts.css',
102
+ * './path/to/editor-styles.css',
103
+ * './path/to/custom-styles.css'
104
+ * ]
105
+ * }
106
+ * ```
107
+ *
108
+ * @default `[ 'EDITOR_STYLES' ]`
109
+ */
110
+ stylesheets?: Array<string>;
111
+ /**
112
+ * The name of the generated PDF file.
113
+ *
114
+ * ```ts
115
+ * // Static file name.
116
+ * const exportPdfConfig = {
117
+ * fileName: 'my-document.pdf'
118
+ * }
119
+ *
120
+ * // Dynamic file name.
121
+ * const exportPdfConfig = {
122
+ * fileName: () => {
123
+ * const articleTitle = document.querySelector( '#title' );
124
+ *
125
+ * return `${ articleTitle.value }.pdf`;
126
+ * }
127
+ * }
128
+ * ```
129
+ *
130
+ * **NOTE:** The file name must contain the `.pdf` extension.
131
+ * Otherwise your operating system or device may have trouble identifying the file type.
132
+ *
133
+ * @default 'document.pdf'
134
+ */
135
+ fileName?: string | (() => string);
136
+ /**
137
+ * A URL to the HTML to PDF converter.
138
+ *
139
+ * ```ts
140
+ * const exportPdfConfig = {
141
+ * converterUrl: 'https://myconverter.com/v1/'
142
+ * }
143
+ * ```
144
+ *
145
+ * **NOTE:** The plugin uses the default HTML to PDF converter delivered by CKEditor Cloud Services.
146
+ * You can provide a URL to an on-premises converter instead.
147
+ *
148
+ * @default 'https://pdf-converter.cke-cs.com/v1/convert'
149
+ */
150
+ converterUrl?: string;
151
+ /**
152
+ * The HTML to PDF converter options.
153
+ *
154
+ * **NOTE:** Configuring the plugin is not mandatory but it is highly recommended,
155
+ * especially if you want to get the most accurate results when generating the PDF file.
156
+ * To learn more, please check the [HTML to PDF converter configuration](https://pdf-converter.cke-cs.com/docs).
157
+ *
158
+ * ```ts
159
+ * const exportPdfConfig = {
160
+ * converterOptions: {
161
+ * ...
162
+ * }
163
+ * }
164
+ * ```
165
+ *
166
+ * @default `{
167
+ * format: 'A4',
168
+ * margin_top: '0',
169
+ * margin_bottom: '0',
170
+ * margin_right: '0',
171
+ * margin_left: '0',
172
+ * page_orientation: 'portrait',
173
+ * header_html: undefined,
174
+ * footer_html: undefined,
175
+ * header_and_footer_css: undefined,
176
+ * wait_for_network: true,
177
+ * wait_time: 0
178
+ * }`
179
+ */
180
+ converterOptions?: ExportPdfConverterOptions;
181
+ /**
182
+ * A function to gather the HTML to be converted to PDF.
183
+ *
184
+ * **NOTE:** This option may be useful when the editor does not have `getData()` method,
185
+ * or if the HTML to be converted should be different than the edited one.
186
+ *
187
+ * ```ts
188
+ * const exportPdfConfig = {
189
+ * dataCallback: ( editor: Editor ) => {
190
+ * return `
191
+ * <header id="header">${ editor.data.get( { rootName: 'header' } ) }</header>
192
+ * <div id="content">${ editor.data.get( { rootName: 'content' } ) }</div>
193
+ * `;
194
+ * }
195
+ * }
196
+ * ```
197
+ *
198
+ * @default `( editor: Editor ) => editor.getData()`
199
+ */
200
+ dataCallback?: (editor: Editor) => string;
201
+ /**
202
+ * A token URL or a token request function. This field is optional and should be used only when a different `tokenUrl` is required for
203
+ * the export to PDF feature.
204
+ *
205
+ * **Note:** The token can be disabled with the `false` value provided.
206
+ *
207
+ * See: {@link module:cloud-services/cloudservicesconfig~CloudServicesConfig#tokenUrl}
208
+ */
209
+ tokenUrl?: TokenUrl | false;
210
+ /**
211
+ * The authentication token.
212
+ *
213
+ * See: {@link module:cloud-services/cloudservices~CloudServices#token}
214
+ */
215
+ token?: InitializedToken;
216
+ /**
217
+ * The application unique identifier.
218
+ */
219
+ appID?: string;
220
+ }
221
+ export type ExportPdfConverterOptions = {
222
+ format?: 'Letter' | 'Legal' | 'Tabloid' | 'Ledger' | 'A0' | 'A1' | 'A2' | 'A3' | 'A4' | 'A5' | 'A6' | string & Record<never, never>;
223
+ margin_top?: string;
224
+ margin_bottom?: string;
225
+ margin_right?: string;
226
+ margin_left?: string;
227
+ header_html?: string;
228
+ footer_html?: string;
229
+ header_and_footer_css?: string;
230
+ page_orientation?: 'portrait' | 'landscape' | string & Record<never, never>;
231
+ wait_for_network?: boolean;
232
+ wait_time?: number;
233
+ merge_fields?: {
234
+ prefix: string;
235
+ suffix: string;
236
+ data: Record<string, string>;
237
+ };
238
+ };
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2024, 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
+ const _0x3349b0=_0x193b;function _0x193b(_0x306d35,_0x1c01f4){const _0x333206=_0x3332();return _0x193b=function(_0x193b8f,_0x3967f0){_0x193b8f=_0x193b8f-0x1a5;let _0x54b2e2=_0x333206[_0x193b8f];return _0x54b2e2;},_0x193b(_0x306d35,_0x1c01f4);}(function(_0x57f055,_0x43f415){const _0x152e81=_0x193b,_0x52a91a=_0x57f055();while(!![]){try{const _0x2f1dba=parseInt(_0x152e81(0x1bd))/0x1+-parseInt(_0x152e81(0x1bb))/0x2*(parseInt(_0x152e81(0x1ba))/0x3)+-parseInt(_0x152e81(0x1b9))/0x4+-parseInt(_0x152e81(0x1b7))/0x5+parseInt(_0x152e81(0x1a9))/0x6*(-parseInt(_0x152e81(0x1a7))/0x7)+parseInt(_0x152e81(0x1a5))/0x8*(parseInt(_0x152e81(0x1ac))/0x9)+parseInt(_0x152e81(0x1ab))/0xa;if(_0x2f1dba===_0x43f415)break;else _0x52a91a['push'](_0x52a91a['shift']());}catch(_0x13e7c6){_0x52a91a['push'](_0x52a91a['shift']());}}}(_0x3332,0xe66c3));import{Plugin as _0x460594}from'ckeditor5/src/core.js';import{Notification as _0x63eec9}from'ckeditor5/src/ui.js';import _0x4ebe9d from'./exportpdfcommand.js';import _0x20dc95 from'./exportpdfui.js';function _0x3332(){const _0x2476da=['CloudServices','isOfficialPlugin','plugins','init','exportPdf','5818465akQqIk','pluginName','4976904odlyTF','3WeXKdY','1231386yKkcTk','ExportPdf','1039880ANlvmJ','get','then','registerTokenUrl','editor','10010296gODtdH','isPremiumPlugin','371IseBsf','_token','72228MYxasI','token','23142700MADuxc','9FJmItr','add','config','commands','requires','tokenUrl'];_0x3332=function(){return _0x2476da;};return _0x3332();}export default class o extends _0x460594{static get[_0x3349b0(0x1b8)](){const _0x19a2e5=_0x3349b0;return _0x19a2e5(0x1bc);}static get[_0x3349b0(0x1b3)](){return!0x0;}static get[_0x3349b0(0x1a6)](){return!0x0;}static get[_0x3349b0(0x1b0)](){const _0x415b4f=_0x3349b0;return[_0x415b4f(0x1b2),_0x63eec9,_0x20dc95];}[_0x3349b0(0x1b5)](){const _0x197844=_0x3349b0,_0x11e941=this[_0x197844(0x1c1)],_0x30f798=_0x11e941[_0x197844(0x1ae)][_0x197844(0x1be)](_0x197844(0x1b6))||{};_0x11e941[_0x197844(0x1af)][_0x197844(0x1ad)](_0x197844(0x1b6),new _0x4ebe9d(_0x11e941));const _0x2d6d42=_0x11e941[_0x197844(0x1b4)][_0x197844(0x1be)](_0x197844(0x1b2));!0x1===_0x30f798[_0x197844(0x1b1)]?this[_0x197844(0x1a8)]=null:_0x30f798[_0x197844(0x1b1)]?_0x2d6d42[_0x197844(0x1c0)](_0x30f798[_0x197844(0x1b1)])[_0x197844(0x1bf)](_0x4fd89c=>{const _0x3e3760=_0x197844;this[_0x3e3760(0x1a8)]=_0x4fd89c;}):this[_0x197844(0x1a8)]=_0x2d6d42[_0x197844(0x1aa)];}}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, 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.js';
10
+ import { type ExportPdfConfig } from './exportpdf.js';
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
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2024, 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
+ function _0x4856(){const _0x3406e7=['POST','status','converterOptions','stylesheets','has','EDITOR_STYLES','811749tissrb','data','showWarning','entries','locale','refresh','get','$labels','config','converterUrl','2225fXslAG','plugins','application/json','mergeFields','announce','fileName','document.pdf','stringify','getDefaultValues','1081332EHssHc','URL','token','remove','PDF\x20export\x20started','function','execute','2220EZCCwm','merge_fields','14242420kudjRA','_downloadFile','createElement','cke5','9UXNVRh','MergeFieldsEditing','blob','getDataSetValues','getMergeFieldsIds','401699caIpfc','previewMode','application/pdf','ExportPdf','set','1818565boeAWQ','\x0a\x09\x09\x09\x09\x09\x09\x09</div>\x0a\x09\x09\x09\x09\x09\x09</body>\x0a\x09\x09\x09\x09\x09</html>','_token','assertive','then','value','createObjectURL','158344zOCaON','isBusy','isEnabled','\x22>\x0a\x09\x09\x09\x09\x09\x09\x09\x09','ariaLiveAnnouncer','download','$defaultValues','pending','click','https://pdf-converter.cke-cs.com/v1/convert/','affectsData','catch','MergeFields','PDF\x20export\x20successful','getLabel','appID','finally','An\x20error\x20occurred\x20while\x20generating\x20the\x20PDF.','editor','PDF\x20export\x20failed','Notification','<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','2EXmuHe','contentLanguageDirection','href','fetch','dataCallback'];_0x4856=function(){return _0x3406e7;};return _0x4856();}const _0x584927=_0x33d5;(function(_0x15ee48,_0xc5a628){const _0x42b0a2=_0x33d5,_0xf0d9a7=_0x15ee48();while(!![]){try{const _0x42eb78=parseInt(_0x42b0a2(0x20c))/0x1*(-parseInt(_0x42b0a2(0x22e))/0x2)+-parseInt(_0x42b0a2(0x1e7))/0x3+parseInt(_0x42b0a2(0x201))/0x4*(-parseInt(_0x42b0a2(0x1f1))/0x5)+parseInt(_0x42b0a2(0x1fa))/0x6+-parseInt(_0x42b0a2(0x211))/0x7+-parseInt(_0x42b0a2(0x218))/0x8+parseInt(_0x42b0a2(0x207))/0x9*(parseInt(_0x42b0a2(0x203))/0xa);if(_0x42eb78===_0xc5a628)break;else _0xf0d9a7['push'](_0xf0d9a7['shift']());}catch(_0x407a4f){_0xf0d9a7['push'](_0xf0d9a7['shift']());}}}(_0x4856,0x63073));import{Command as _0x130cd4}from'ckeditor5/src/core.js';import{getStyles as _0x3b5960}from'./utils.js';import{getTranslation as _0xa5152e}from'./utils/common-translations.js';function _0x33d5(_0x4ab483,_0xab89af){const _0x485665=_0x4856();return _0x33d5=function(_0x33d550,_0xf507d2){_0x33d550=_0x33d550-0x1e2;let _0x2f5e58=_0x485665[_0x33d550];return _0x2f5e58;},_0x33d5(_0x4ab483,_0xab89af);}export default class e extends _0x130cd4{constructor(_0x1fea18){const _0x147388=_0x33d5;super(_0x1fea18),this[_0x147388(0x210)](_0x147388(0x219),!0x1),this[_0x147388(0x222)]=!0x1;}[_0x584927(0x1ec)](){const _0x5eeb5c=_0x584927;this[_0x5eeb5c(0x21a)]=!this[_0x5eeb5c(0x219)],this[_0x5eeb5c(0x216)]=this[_0x5eeb5c(0x219)]?_0x5eeb5c(0x21f):void 0x0;}[_0x584927(0x200)](_0x48c884={}){const _0x5dbe51=_0x584927,_0x45dbab=this[_0x5dbe51(0x22a)],_0x28c7ae=_0x48c884[_0x5dbe51(0x1f0)]||_0x5dbe51(0x221),_0x450a59=_0x48c884[_0x5dbe51(0x232)]||(_0x33b5bc=>_0x33b5bc[_0x5dbe51(0x1e8)][_0x5dbe51(0x1ed)]()),_0x329ae5=_0x45dbab[_0x5dbe51(0x1f2)][_0x5dbe51(0x1ed)](_0x5dbe51(0x20f)),_0xb84dec=_0x48c884[_0x5dbe51(0x1fc)]||_0x329ae5[_0x5dbe51(0x213)];return this[_0x5dbe51(0x219)]=!0x0,this[_0x5dbe51(0x1ec)](),_0x3b5960(_0x48c884[_0x5dbe51(0x1e4)]||[_0x5dbe51(0x1e6)])[_0x5dbe51(0x215)](async _0x18c94f=>{const _0xf3702c=_0x5dbe51;if(_0x45dbab['ui'][_0xf3702c(0x21c)][_0xf3702c(0x1f5)](_0xa5152e(_0x45dbab[_0xf3702c(0x1eb)],_0xf3702c(0x1fe))),_0x45dbab[_0xf3702c(0x1f2)][_0xf3702c(0x1e5)](_0xf3702c(0x224))){_0x48c884[_0xf3702c(0x1e3)]||(_0x48c884[_0xf3702c(0x1e3)]={});const _0xa68a33=_0x45dbab[_0xf3702c(0x1f2)][_0xf3702c(0x1ed)](_0xf3702c(0x208)),_0x31af07=_0xa68a33[_0xf3702c(0x20d)],{prefix:_0x48b7b3,suffix:_0x56875c}=_0x45dbab[_0xf3702c(0x1ef)][_0xf3702c(0x1ed)](_0xf3702c(0x1f4)),_0x393d46={'prefix':_0x48b7b3,'suffix':_0x56875c,'data':{}};if(_0xf3702c(0x1ee)===_0x31af07){for(const _0x393000 of _0xa68a33[_0xf3702c(0x20b)]())_0x393d46[_0xf3702c(0x1e8)][_0x393000]=_0x48b7b3+_0xa68a33[_0xf3702c(0x226)](_0x393000)+_0x56875c;}else{const _0x4a5ff7=_0xf3702c(0x21e)===_0x31af07?_0xa68a33[_0xf3702c(0x1f9)]():_0xa68a33[_0xf3702c(0x20a)](_0x31af07,!0x0);for(const _0x5c9c00 of Object[_0xf3702c(0x1ea)](_0x4a5ff7)){const [_0x47f6d0,_0x4da707]=_0x5c9c00;_0x393d46[_0xf3702c(0x1e8)][_0x47f6d0]=null!==_0x4da707?_0x4da707:_0xa68a33[_0xf3702c(0x226)](_0x47f6d0);}}_0x48c884[_0xf3702c(0x1e3)][_0xf3702c(0x202)]=_0x393d46;}const _0x1095c3={'html':_0xf3702c(0x22d)+_0x45dbab[_0xf3702c(0x1eb)][_0xf3702c(0x22f)]+_0xf3702c(0x21b)+await _0x450a59(_0x45dbab)+_0xf3702c(0x212),'css':_0x18c94f,'options':_0x48c884[_0xf3702c(0x1e3)]},_0x9d172b={'method':_0xf3702c(0x233),'headers':{'Content-Type':_0xf3702c(0x1f3),'Accept':_0xf3702c(0x20e),..._0xb84dec?{'Authorization':_0xb84dec[_0xf3702c(0x216)]}:null,'x-cs-app-id':_0x48c884[_0xf3702c(0x227)]||_0xf3702c(0x206)},'body':JSON[_0xf3702c(0x1f8)](_0x1095c3)};return window[_0xf3702c(0x231)](_0x28c7ae,_0x9d172b)[_0xf3702c(0x215)](_0x40727d=>{const _0x582629=_0xf3702c;if(0xc8!==_0x40727d[_0x582629(0x1e2)])throw _0x40727d;return _0x40727d[_0x582629(0x209)]();})[_0xf3702c(0x215)](_0x542c53=>{const _0x5977d0=_0xf3702c;_0x45dbab['ui'][_0x5977d0(0x21c)][_0x5977d0(0x1f5)](_0xa5152e(_0x45dbab[_0x5977d0(0x1eb)],_0x5977d0(0x225)));const _0x1affa6=_0x5977d0(0x1ff)==typeof _0x48c884[_0x5977d0(0x1f6)]?_0x48c884[_0x5977d0(0x1f6)]():_0x48c884[_0x5977d0(0x1f6)];this[_0x5977d0(0x204)](_0x542c53,_0x1affa6||_0x5977d0(0x1f7));});})[_0x5dbe51(0x223)](_0x1c0d5c=>{const _0x48c566=_0x5dbe51,_0x1aabf2=_0x45dbab[_0x48c566(0x1f2)][_0x48c566(0x1ed)](_0x48c566(0x22c));throw _0x45dbab['ui'][_0x48c566(0x21c)][_0x48c566(0x1f5)](_0xa5152e(_0x45dbab[_0x48c566(0x1eb)],_0x48c566(0x22b)),{'politeness':_0x48c566(0x214)}),_0x1aabf2[_0x48c566(0x1e9)](_0xa5152e(_0x45dbab[_0x48c566(0x1eb)],_0x48c566(0x229))),_0x1c0d5c;})[_0x5dbe51(0x228)](()=>{const _0x16612c=_0x5dbe51;this[_0x16612c(0x219)]=!0x1,this[_0x16612c(0x1ec)]();});}[_0x584927(0x204)](_0x44f907,_0x124590){const _0x1967c9=_0x584927,_0x145199=document[_0x1967c9(0x205)]('a');_0x145199[_0x1967c9(0x230)]=window[_0x1967c9(0x1fb)][_0x1967c9(0x217)](_0x44f907),_0x145199[_0x1967c9(0x21d)]=_0x124590,_0x145199[_0x1967c9(0x220)](),_0x145199[_0x1967c9(0x1fd)]();}}