jodit-pro 1.3.39 → 2.0.0-beta.10

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 (455) hide show
  1. package/.nvmrc +1 -0
  2. package/CHANGELOG.md +982 -0
  3. package/LICENSE.txt +1 -0
  4. package/README.md +27 -27
  5. package/SECURITY.md +10 -0
  6. package/es2015/jodit.css +4945 -0
  7. package/es2015/jodit.fat.min.css +1 -0
  8. package/es2015/jodit.fat.min.js +10 -0
  9. package/es2015/jodit.js +42706 -0
  10. package/es2015/jodit.min.css +1 -0
  11. package/es2015/jodit.min.js +10 -0
  12. package/es2015/plugins/autocomplete/autocomplete.css +26 -0
  13. package/es2015/plugins/autocomplete/autocomplete.js +473 -0
  14. package/es2015/plugins/autocomplete/autocomplete.min.js +10 -0
  15. package/es2015/plugins/backup/backup.css +48 -0
  16. package/es2015/plugins/backup/backup.js +567 -0
  17. package/{build/plugins/backup/backup.css → es2015/plugins/backup/backup.min.css} +1 -1
  18. package/es2015/plugins/backup/backup.min.js +10 -0
  19. package/es2015/plugins/button-generator/button-generator.css +316 -0
  20. package/es2015/plugins/button-generator/button-generator.js +1363 -0
  21. package/es2015/plugins/button-generator/button-generator.min.css +1 -0
  22. package/es2015/plugins/button-generator/button-generator.min.js +10 -0
  23. package/es2015/plugins/change-case/change-case.js +171 -0
  24. package/es2015/plugins/change-case/change-case.min.js +10 -0
  25. package/es2015/plugins/color-picker/color-picker.css +133 -0
  26. package/es2015/plugins/color-picker/color-picker.js +519 -0
  27. package/es2015/plugins/color-picker/color-picker.min.css +1 -0
  28. package/es2015/plugins/color-picker/color-picker.min.js +10 -0
  29. package/es2015/plugins/emoji/emoji.css +108 -0
  30. package/es2015/plugins/emoji/emoji.js +421 -0
  31. package/es2015/plugins/emoji/emoji.min.css +1 -0
  32. package/es2015/plugins/emoji/emoji.min.js +10 -0
  33. package/es2015/plugins/export-docs/export-docs.js +153 -0
  34. package/es2015/plugins/export-docs/export-docs.min.js +10 -0
  35. package/es2015/plugins/finder/finder.css +1342 -0
  36. package/es2015/plugins/finder/finder.js +3175 -0
  37. package/es2015/plugins/finder/finder.min.css +1 -0
  38. package/es2015/plugins/finder/finder.min.js +10 -0
  39. package/es2015/plugins/google-maps/google-maps.css +397 -0
  40. package/es2015/plugins/google-maps/google-maps.js +2492 -0
  41. package/es2015/plugins/google-maps/google-maps.min.css +1 -0
  42. package/es2015/plugins/google-maps/google-maps.min.js +10 -0
  43. package/es2015/plugins/google-search/google-search.js +108 -0
  44. package/es2015/plugins/google-search/google-search.min.js +10 -0
  45. package/es2015/plugins/highlight-signature/highlight-signature.js +233 -0
  46. package/es2015/plugins/highlight-signature/highlight-signature.min.js +10 -0
  47. package/es2015/plugins/iframe-editor/iframe-editor.css +16 -0
  48. package/es2015/plugins/iframe-editor/iframe-editor.js +310 -0
  49. package/es2015/plugins/iframe-editor/iframe-editor.min.js +10 -0
  50. package/es2015/plugins/keyboard/keyboard.css +48 -0
  51. package/es2015/plugins/keyboard/keyboard.js +539 -0
  52. package/es2015/plugins/keyboard/keyboard.min.js +10 -0
  53. package/es2015/plugins/mobile-view/mobile-view.js +170 -0
  54. package/es2015/plugins/mobile-view/mobile-view.min.js +10 -0
  55. package/es2015/plugins/page-break/page-break.js +181 -0
  56. package/es2015/plugins/page-break/page-break.min.js +10 -0
  57. package/es2015/plugins/paste-code/paste-code.css +21 -0
  58. package/es2015/plugins/paste-code/paste-code.js +320 -0
  59. package/es2015/plugins/paste-code/paste-code.min.js +10 -0
  60. package/es2015/plugins/paste-from-word/paste-from-word.js +1541 -0
  61. package/es2015/plugins/paste-from-word/paste-from-word.min.js +10 -0
  62. package/es2015/plugins/show-blocks/show-blocks.js +645 -0
  63. package/es2015/plugins/show-blocks/show-blocks.min.js +10 -0
  64. package/es2015/plugins/todo-list/todo-list.css +77 -0
  65. package/es2015/plugins/todo-list/todo-list.js +314 -0
  66. package/es2015/plugins/todo-list/todo-list.min.css +1 -0
  67. package/es2015/plugins/todo-list/todo-list.min.js +10 -0
  68. package/es2015/plugins/translate/translate.css +91 -0
  69. package/es2015/plugins/translate/translate.js +630 -0
  70. package/es2015/plugins/translate/translate.min.js +10 -0
  71. package/es2015/plugins/tune-block/tune-block.css +37 -0
  72. package/es2015/plugins/tune-block/tune-block.js +387 -0
  73. package/{build/plugins/tune-block/tune-block.css → es2015/plugins/tune-block/tune-block.min.css} +1 -1
  74. package/es2015/plugins/tune-block/tune-block.min.js +10 -0
  75. package/es2018/jodit.css +4945 -0
  76. package/es2018/jodit.fat.min.css +1 -0
  77. package/es2018/jodit.fat.min.js +10 -0
  78. package/es2018/jodit.js +42762 -0
  79. package/es2018/jodit.min.css +1 -0
  80. package/es2018/jodit.min.js +10 -0
  81. package/es2018/plugins/autocomplete/autocomplete.css +26 -0
  82. package/es2018/plugins/autocomplete/autocomplete.js +471 -0
  83. package/es2018/plugins/autocomplete/autocomplete.min.js +10 -0
  84. package/es2018/plugins/backup/backup.css +48 -0
  85. package/es2018/plugins/backup/backup.js +561 -0
  86. package/{build/plugins/backup/backup.es5.css → es2018/plugins/backup/backup.min.css} +1 -1
  87. package/es2018/plugins/backup/backup.min.js +10 -0
  88. package/es2018/plugins/button-generator/button-generator.css +316 -0
  89. package/es2018/plugins/button-generator/button-generator.js +1387 -0
  90. package/es2018/plugins/button-generator/button-generator.min.css +1 -0
  91. package/es2018/plugins/button-generator/button-generator.min.js +10 -0
  92. package/es2018/plugins/change-case/change-case.js +171 -0
  93. package/es2018/plugins/change-case/change-case.min.js +10 -0
  94. package/es2018/plugins/color-picker/color-picker.css +133 -0
  95. package/es2018/plugins/color-picker/color-picker.js +519 -0
  96. package/es2018/plugins/color-picker/color-picker.min.css +1 -0
  97. package/es2018/plugins/color-picker/color-picker.min.js +10 -0
  98. package/es2018/plugins/emoji/emoji.css +108 -0
  99. package/es2018/plugins/emoji/emoji.js +425 -0
  100. package/es2018/plugins/emoji/emoji.min.css +1 -0
  101. package/es2018/plugins/emoji/emoji.min.js +10 -0
  102. package/es2018/plugins/export-docs/export-docs.js +157 -0
  103. package/es2018/plugins/export-docs/export-docs.min.js +10 -0
  104. package/es2018/plugins/finder/finder.css +1342 -0
  105. package/es2018/plugins/finder/finder.js +3160 -0
  106. package/es2018/plugins/finder/finder.min.css +1 -0
  107. package/es2018/plugins/finder/finder.min.js +10 -0
  108. package/es2018/plugins/google-maps/google-maps.css +397 -0
  109. package/es2018/plugins/google-maps/google-maps.js +2556 -0
  110. package/es2018/plugins/google-maps/google-maps.min.css +1 -0
  111. package/es2018/plugins/google-maps/google-maps.min.js +10 -0
  112. package/es2018/plugins/google-search/google-search.js +108 -0
  113. package/es2018/plugins/google-search/google-search.min.js +10 -0
  114. package/es2018/plugins/highlight-signature/highlight-signature.js +233 -0
  115. package/es2018/plugins/highlight-signature/highlight-signature.min.js +10 -0
  116. package/es2018/plugins/iframe-editor/iframe-editor.css +16 -0
  117. package/es2018/plugins/iframe-editor/iframe-editor.js +310 -0
  118. package/es2018/plugins/iframe-editor/iframe-editor.min.js +10 -0
  119. package/es2018/plugins/keyboard/keyboard.css +48 -0
  120. package/es2018/plugins/keyboard/keyboard.js +539 -0
  121. package/es2018/plugins/keyboard/keyboard.min.js +10 -0
  122. package/es2018/plugins/mobile-view/mobile-view.js +170 -0
  123. package/es2018/plugins/mobile-view/mobile-view.min.js +10 -0
  124. package/es2018/plugins/page-break/page-break.js +181 -0
  125. package/es2018/plugins/page-break/page-break.min.js +10 -0
  126. package/es2018/plugins/paste-code/paste-code.css +21 -0
  127. package/es2018/plugins/paste-code/paste-code.js +318 -0
  128. package/es2018/plugins/paste-code/paste-code.min.js +10 -0
  129. package/es2018/plugins/paste-from-word/paste-from-word.js +1541 -0
  130. package/es2018/plugins/paste-from-word/paste-from-word.min.js +10 -0
  131. package/es2018/plugins/show-blocks/show-blocks.js +645 -0
  132. package/es2018/plugins/show-blocks/show-blocks.min.js +10 -0
  133. package/es2018/plugins/todo-list/todo-list.css +77 -0
  134. package/es2018/plugins/todo-list/todo-list.js +314 -0
  135. package/es2018/plugins/todo-list/todo-list.min.css +1 -0
  136. package/es2018/plugins/todo-list/todo-list.min.js +10 -0
  137. package/es2018/plugins/translate/translate.css +91 -0
  138. package/es2018/plugins/translate/translate.js +639 -0
  139. package/es2018/plugins/translate/translate.min.js +10 -0
  140. package/es2018/plugins/tune-block/tune-block.css +37 -0
  141. package/es2018/plugins/tune-block/tune-block.js +387 -0
  142. package/{build/plugins/tune-block/tune-block.es5.css → es2018/plugins/tune-block/tune-block.min.css} +1 -1
  143. package/es2018/plugins/tune-block/tune-block.min.js +10 -0
  144. package/es2021/jodit.css +4945 -0
  145. package/es2021/jodit.fat.min.css +1 -0
  146. package/es2021/jodit.fat.min.js +10 -0
  147. package/es2021/jodit.js +42643 -0
  148. package/es2021/jodit.min.css +1 -0
  149. package/es2021/jodit.min.js +10 -0
  150. package/es2021/plugins/autocomplete/autocomplete.css +26 -0
  151. package/es2021/plugins/autocomplete/autocomplete.js +463 -0
  152. package/es2021/plugins/autocomplete/autocomplete.min.css +1 -0
  153. package/es2021/plugins/autocomplete/autocomplete.min.js +10 -0
  154. package/es2021/plugins/backup/backup.css +48 -0
  155. package/es2021/plugins/backup/backup.js +554 -0
  156. package/es2021/plugins/backup/backup.min.css +1 -0
  157. package/es2021/plugins/backup/backup.min.js +10 -0
  158. package/es2021/plugins/button-generator/button-generator.css +316 -0
  159. package/es2021/plugins/button-generator/button-generator.js +1382 -0
  160. package/es2021/plugins/button-generator/button-generator.min.css +1 -0
  161. package/es2021/plugins/button-generator/button-generator.min.js +10 -0
  162. package/es2021/plugins/change-case/change-case.js +171 -0
  163. package/es2021/plugins/change-case/change-case.min.js +10 -0
  164. package/es2021/plugins/color-picker/color-picker.css +133 -0
  165. package/es2021/plugins/color-picker/color-picker.js +517 -0
  166. package/es2021/plugins/color-picker/color-picker.min.css +1 -0
  167. package/es2021/plugins/color-picker/color-picker.min.js +10 -0
  168. package/es2021/plugins/emoji/emoji.css +108 -0
  169. package/es2021/plugins/emoji/emoji.js +425 -0
  170. package/es2021/plugins/emoji/emoji.min.css +1 -0
  171. package/es2021/plugins/emoji/emoji.min.js +10 -0
  172. package/es2021/plugins/export-docs/export-docs.js +156 -0
  173. package/es2021/plugins/export-docs/export-docs.min.js +10 -0
  174. package/es2021/plugins/finder/finder.css +1342 -0
  175. package/es2021/plugins/finder/finder.js +3152 -0
  176. package/es2021/plugins/finder/finder.min.css +1 -0
  177. package/es2021/plugins/finder/finder.min.js +10 -0
  178. package/es2021/plugins/google-maps/google-maps.css +397 -0
  179. package/es2021/plugins/google-maps/google-maps.js +2540 -0
  180. package/es2021/plugins/google-maps/google-maps.min.css +1 -0
  181. package/es2021/plugins/google-maps/google-maps.min.js +10 -0
  182. package/es2021/plugins/google-search/google-search.js +107 -0
  183. package/es2021/plugins/google-search/google-search.min.js +10 -0
  184. package/es2021/plugins/highlight-signature/highlight-signature.js +231 -0
  185. package/es2021/plugins/highlight-signature/highlight-signature.min.js +10 -0
  186. package/es2021/plugins/iframe-editor/iframe-editor.css +16 -0
  187. package/es2021/plugins/iframe-editor/iframe-editor.js +308 -0
  188. package/es2021/plugins/iframe-editor/iframe-editor.min.css +1 -0
  189. package/es2021/plugins/iframe-editor/iframe-editor.min.js +10 -0
  190. package/es2021/plugins/keyboard/keyboard.css +48 -0
  191. package/es2021/plugins/keyboard/keyboard.js +537 -0
  192. package/es2021/plugins/keyboard/keyboard.min.css +1 -0
  193. package/es2021/plugins/keyboard/keyboard.min.js +10 -0
  194. package/es2021/plugins/mobile-view/mobile-view.js +168 -0
  195. package/es2021/plugins/mobile-view/mobile-view.min.js +10 -0
  196. package/es2021/plugins/page-break/page-break.js +181 -0
  197. package/es2021/plugins/page-break/page-break.min.js +10 -0
  198. package/es2021/plugins/paste-code/paste-code.css +21 -0
  199. package/es2021/plugins/paste-code/paste-code.js +318 -0
  200. package/es2021/plugins/paste-code/paste-code.min.css +1 -0
  201. package/es2021/plugins/paste-code/paste-code.min.js +10 -0
  202. package/es2021/plugins/paste-from-word/paste-from-word.js +1528 -0
  203. package/es2021/plugins/paste-from-word/paste-from-word.min.js +10 -0
  204. package/es2021/plugins/show-blocks/show-blocks.js +645 -0
  205. package/es2021/plugins/show-blocks/show-blocks.min.js +10 -0
  206. package/es2021/plugins/todo-list/todo-list.css +77 -0
  207. package/es2021/plugins/todo-list/todo-list.js +313 -0
  208. package/es2021/plugins/todo-list/todo-list.min.css +1 -0
  209. package/es2021/plugins/todo-list/todo-list.min.js +10 -0
  210. package/es2021/plugins/translate/translate.css +91 -0
  211. package/es2021/plugins/translate/translate.js +636 -0
  212. package/es2021/plugins/translate/translate.min.css +1 -0
  213. package/es2021/plugins/translate/translate.min.js +10 -0
  214. package/es2021/plugins/tune-block/tune-block.css +37 -0
  215. package/es2021/plugins/tune-block/tune-block.js +385 -0
  216. package/es2021/plugins/tune-block/tune-block.min.css +1 -0
  217. package/es2021/plugins/tune-block/tune-block.min.js +10 -0
  218. package/es2021.en/jodit.css +4945 -0
  219. package/es2021.en/jodit.fat.min.css +1 -0
  220. package/es2021.en/jodit.fat.min.js +10 -0
  221. package/es2021.en/jodit.js +40989 -0
  222. package/es2021.en/jodit.min.css +1 -0
  223. package/es2021.en/jodit.min.js +10 -0
  224. package/es2021.en/plugins/autocomplete/autocomplete.css +26 -0
  225. package/es2021.en/plugins/autocomplete/autocomplete.js +463 -0
  226. package/es2021.en/plugins/autocomplete/autocomplete.min.css +1 -0
  227. package/es2021.en/plugins/autocomplete/autocomplete.min.js +10 -0
  228. package/es2021.en/plugins/backup/backup.css +48 -0
  229. package/es2021.en/plugins/backup/backup.js +554 -0
  230. package/es2021.en/plugins/backup/backup.min.css +1 -0
  231. package/es2021.en/plugins/backup/backup.min.js +10 -0
  232. package/es2021.en/plugins/button-generator/button-generator.css +316 -0
  233. package/es2021.en/plugins/button-generator/button-generator.js +1382 -0
  234. package/es2021.en/plugins/button-generator/button-generator.min.css +1 -0
  235. package/es2021.en/plugins/button-generator/button-generator.min.js +10 -0
  236. package/es2021.en/plugins/change-case/change-case.js +171 -0
  237. package/es2021.en/plugins/change-case/change-case.min.js +10 -0
  238. package/es2021.en/plugins/color-picker/color-picker.css +133 -0
  239. package/es2021.en/plugins/color-picker/color-picker.js +517 -0
  240. package/es2021.en/plugins/color-picker/color-picker.min.css +1 -0
  241. package/es2021.en/plugins/color-picker/color-picker.min.js +10 -0
  242. package/es2021.en/plugins/emoji/emoji.css +108 -0
  243. package/es2021.en/plugins/emoji/emoji.js +425 -0
  244. package/es2021.en/plugins/emoji/emoji.min.css +1 -0
  245. package/es2021.en/plugins/emoji/emoji.min.js +10 -0
  246. package/es2021.en/plugins/export-docs/export-docs.js +156 -0
  247. package/es2021.en/plugins/export-docs/export-docs.min.js +10 -0
  248. package/es2021.en/plugins/finder/finder.css +1342 -0
  249. package/es2021.en/plugins/finder/finder.js +3117 -0
  250. package/es2021.en/plugins/finder/finder.min.css +1 -0
  251. package/es2021.en/plugins/finder/finder.min.js +10 -0
  252. package/es2021.en/plugins/google-maps/google-maps.css +397 -0
  253. package/es2021.en/plugins/google-maps/google-maps.js +2540 -0
  254. package/es2021.en/plugins/google-maps/google-maps.min.css +1 -0
  255. package/es2021.en/plugins/google-maps/google-maps.min.js +10 -0
  256. package/es2021.en/plugins/google-search/google-search.js +107 -0
  257. package/es2021.en/plugins/google-search/google-search.min.js +10 -0
  258. package/es2021.en/plugins/highlight-signature/highlight-signature.js +231 -0
  259. package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +10 -0
  260. package/es2021.en/plugins/iframe-editor/iframe-editor.css +16 -0
  261. package/es2021.en/plugins/iframe-editor/iframe-editor.js +308 -0
  262. package/es2021.en/plugins/iframe-editor/iframe-editor.min.css +1 -0
  263. package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +10 -0
  264. package/es2021.en/plugins/keyboard/keyboard.css +48 -0
  265. package/es2021.en/plugins/keyboard/keyboard.js +537 -0
  266. package/es2021.en/plugins/keyboard/keyboard.min.css +1 -0
  267. package/es2021.en/plugins/keyboard/keyboard.min.js +10 -0
  268. package/es2021.en/plugins/mobile-view/mobile-view.js +168 -0
  269. package/es2021.en/plugins/mobile-view/mobile-view.min.js +10 -0
  270. package/es2021.en/plugins/page-break/page-break.js +181 -0
  271. package/es2021.en/plugins/page-break/page-break.min.js +10 -0
  272. package/es2021.en/plugins/paste-code/paste-code.css +21 -0
  273. package/es2021.en/plugins/paste-code/paste-code.js +318 -0
  274. package/es2021.en/plugins/paste-code/paste-code.min.css +1 -0
  275. package/es2021.en/plugins/paste-code/paste-code.min.js +10 -0
  276. package/es2021.en/plugins/paste-from-word/paste-from-word.js +1528 -0
  277. package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +10 -0
  278. package/es2021.en/plugins/show-blocks/show-blocks.js +322 -0
  279. package/es2021.en/plugins/show-blocks/show-blocks.min.js +10 -0
  280. package/es2021.en/plugins/todo-list/todo-list.css +77 -0
  281. package/es2021.en/plugins/todo-list/todo-list.js +313 -0
  282. package/es2021.en/plugins/todo-list/todo-list.min.css +1 -0
  283. package/es2021.en/plugins/todo-list/todo-list.min.js +10 -0
  284. package/es2021.en/plugins/translate/translate.css +91 -0
  285. package/es2021.en/plugins/translate/translate.js +636 -0
  286. package/es2021.en/plugins/translate/translate.min.css +1 -0
  287. package/es2021.en/plugins/translate/translate.min.js +10 -0
  288. package/es2021.en/plugins/tune-block/tune-block.css +37 -0
  289. package/es2021.en/plugins/tune-block/tune-block.js +385 -0
  290. package/es2021.en/plugins/tune-block/tune-block.min.css +1 -0
  291. package/es2021.en/plugins/tune-block/tune-block.min.js +10 -0
  292. package/es5/jodit.css +5956 -0
  293. package/es5/jodit.fat.min.css +1 -0
  294. package/es5/jodit.fat.min.js +10 -0
  295. package/es5/jodit.js +49879 -0
  296. package/es5/jodit.min.css +15 -0
  297. package/es5/jodit.min.js +10 -0
  298. package/es5/plugins/autocomplete/autocomplete.css +26 -0
  299. package/es5/plugins/autocomplete/autocomplete.js +536 -0
  300. package/es5/plugins/autocomplete/autocomplete.min.css +1 -0
  301. package/es5/plugins/autocomplete/autocomplete.min.js +10 -0
  302. package/es5/plugins/backup/backup.css +48 -0
  303. package/es5/plugins/backup/backup.js +599 -0
  304. package/es5/plugins/backup/backup.min.css +1 -0
  305. package/es5/plugins/backup/backup.min.js +10 -0
  306. package/es5/plugins/button-generator/button-generator.css +316 -0
  307. package/es5/plugins/button-generator/button-generator.js +1310 -0
  308. package/es5/plugins/button-generator/button-generator.min.css +1 -0
  309. package/es5/plugins/button-generator/button-generator.min.js +10 -0
  310. package/es5/plugins/change-case/change-case.js +179 -0
  311. package/es5/plugins/change-case/change-case.min.js +10 -0
  312. package/es5/plugins/color-picker/color-picker.css +133 -0
  313. package/es5/plugins/color-picker/color-picker.js +525 -0
  314. package/es5/plugins/color-picker/color-picker.min.css +1 -0
  315. package/es5/plugins/color-picker/color-picker.min.js +10 -0
  316. package/es5/plugins/emoji/emoji.css +108 -0
  317. package/es5/plugins/emoji/emoji.js +459 -0
  318. package/es5/plugins/emoji/emoji.min.css +1 -0
  319. package/es5/plugins/emoji/emoji.min.js +10 -0
  320. package/es5/plugins/export-docs/export-docs.js +174 -0
  321. package/es5/plugins/export-docs/export-docs.min.js +10 -0
  322. package/es5/plugins/finder/finder.css +1342 -0
  323. package/es5/plugins/finder/finder.js +3335 -0
  324. package/es5/plugins/finder/finder.min.css +1 -0
  325. package/es5/plugins/finder/finder.min.js +10 -0
  326. package/es5/plugins/google-maps/google-maps.css +397 -0
  327. package/es5/plugins/google-maps/google-maps.js +2463 -0
  328. package/es5/plugins/google-maps/google-maps.min.css +1 -0
  329. package/es5/plugins/google-maps/google-maps.min.js +10 -0
  330. package/es5/plugins/google-search/google-search.js +113 -0
  331. package/es5/plugins/google-search/google-search.min.js +10 -0
  332. package/es5/plugins/highlight-signature/highlight-signature.js +253 -0
  333. package/es5/plugins/highlight-signature/highlight-signature.min.js +10 -0
  334. package/es5/plugins/iframe-editor/iframe-editor.css +16 -0
  335. package/es5/plugins/iframe-editor/iframe-editor.js +319 -0
  336. package/es5/plugins/iframe-editor/iframe-editor.min.css +1 -0
  337. package/es5/plugins/iframe-editor/iframe-editor.min.js +10 -0
  338. package/es5/plugins/keyboard/keyboard.css +48 -0
  339. package/es5/plugins/keyboard/keyboard.js +556 -0
  340. package/es5/plugins/keyboard/keyboard.min.css +1 -0
  341. package/es5/plugins/keyboard/keyboard.min.js +10 -0
  342. package/es5/plugins/mobile-view/mobile-view.js +176 -0
  343. package/es5/plugins/mobile-view/mobile-view.min.js +10 -0
  344. package/es5/plugins/page-break/page-break.js +169 -0
  345. package/es5/plugins/page-break/page-break.min.js +10 -0
  346. package/es5/plugins/paste-code/paste-code.css +21 -0
  347. package/es5/plugins/paste-code/paste-code.js +348 -0
  348. package/es5/plugins/paste-code/paste-code.min.css +1 -0
  349. package/es5/plugins/paste-code/paste-code.min.js +10 -0
  350. package/es5/plugins/paste-from-word/paste-from-word.js +1670 -0
  351. package/es5/plugins/paste-from-word/paste-from-word.min.js +10 -0
  352. package/es5/plugins/show-blocks/show-blocks.js +649 -0
  353. package/es5/plugins/show-blocks/show-blocks.min.js +10 -0
  354. package/es5/plugins/todo-list/todo-list.css +77 -0
  355. package/es5/plugins/todo-list/todo-list.js +324 -0
  356. package/es5/plugins/todo-list/todo-list.min.css +1 -0
  357. package/es5/plugins/todo-list/todo-list.min.js +10 -0
  358. package/es5/plugins/translate/translate.css +91 -0
  359. package/es5/plugins/translate/translate.js +657 -0
  360. package/es5/plugins/translate/translate.min.css +1 -0
  361. package/es5/plugins/translate/translate.min.js +10 -0
  362. package/es5/plugins/tune-block/tune-block.css +37 -0
  363. package/es5/plugins/tune-block/tune-block.js +397 -0
  364. package/es5/plugins/tune-block/tune-block.min.css +1 -0
  365. package/es5/plugins/tune-block/tune-block.min.js +10 -0
  366. package/examples/arabic.lang.html +8 -8
  367. package/examples/color-picker.html +6 -6
  368. package/examples/custom-icons.html +8 -8
  369. package/examples/custom-toolbar.html +8 -8
  370. package/examples/example.default.html +6 -6
  371. package/examples/fullsize.html +8 -8
  372. package/examples/index.html +6 -6
  373. package/examples/inline-mode.html +8 -8
  374. package/examples/oneinstance.html +8 -8
  375. package/examples/theme.html +6 -6
  376. package/package.json +6 -22
  377. package/LICENSE.md +0 -3
  378. package/build/jodit.css +0 -1
  379. package/build/jodit.es5.css +0 -8
  380. package/build/jodit.es5.js +0 -1
  381. package/build/jodit.fat.css +0 -1
  382. package/build/jodit.fat.es5.css +0 -1
  383. package/build/jodit.fat.es5.js +0 -1
  384. package/build/jodit.fat.js +0 -1
  385. package/build/jodit.js +0 -1
  386. package/build/plugins/autocomplete/autocomplete.es5.js +0 -1
  387. package/build/plugins/autocomplete/autocomplete.js +0 -1
  388. package/build/plugins/backup/backup.es5.js +0 -1
  389. package/build/plugins/backup/backup.js +0 -1
  390. package/build/plugins/button-generator/button-generator.css +0 -1
  391. package/build/plugins/button-generator/button-generator.es5.css +0 -1
  392. package/build/plugins/button-generator/button-generator.es5.js +0 -1
  393. package/build/plugins/button-generator/button-generator.js +0 -1
  394. package/build/plugins/change-case/change-case.es5.js +0 -1
  395. package/build/plugins/change-case/change-case.js +0 -1
  396. package/build/plugins/color-picker/color-picker.css +0 -1
  397. package/build/plugins/color-picker/color-picker.es5.css +0 -1
  398. package/build/plugins/color-picker/color-picker.es5.js +0 -1
  399. package/build/plugins/color-picker/color-picker.js +0 -1
  400. package/build/plugins/emoji/emoji.css +0 -1
  401. package/build/plugins/emoji/emoji.es5.css +0 -1
  402. package/build/plugins/emoji/emoji.es5.js +0 -1
  403. package/build/plugins/emoji/emoji.js +0 -1
  404. package/build/plugins/export-docs/export-docs.es5.js +0 -1
  405. package/build/plugins/export-docs/export-docs.js +0 -1
  406. package/build/plugins/finder/finder.css +0 -1
  407. package/build/plugins/finder/finder.es5.css +0 -1
  408. package/build/plugins/finder/finder.es5.js +0 -1
  409. package/build/plugins/finder/finder.js +0 -1
  410. package/build/plugins/google-maps/google-maps.css +0 -1
  411. package/build/plugins/google-maps/google-maps.es5.css +0 -1
  412. package/build/plugins/google-maps/google-maps.es5.js +0 -1
  413. package/build/plugins/google-maps/google-maps.js +0 -1
  414. package/build/plugins/google-search/google-search.es5.js +0 -1
  415. package/build/plugins/google-search/google-search.js +0 -1
  416. package/build/plugins/highlight-signature/highlight-signature.es5.js +0 -1
  417. package/build/plugins/highlight-signature/highlight-signature.js +0 -1
  418. package/build/plugins/iframe-editor/iframe-editor.es5.js +0 -1
  419. package/build/plugins/iframe-editor/iframe-editor.js +0 -1
  420. package/build/plugins/keyboard/keyboard.es5.js +0 -1
  421. package/build/plugins/keyboard/keyboard.js +0 -1
  422. package/build/plugins/mobile-view/mobile-view.css +0 -0
  423. package/build/plugins/mobile-view/mobile-view.es5.css +0 -0
  424. package/build/plugins/mobile-view/mobile-view.es5.js +0 -1
  425. package/build/plugins/mobile-view/mobile-view.js +0 -1
  426. package/build/plugins/page-break/page-break.css +0 -1
  427. package/build/plugins/page-break/page-break.es5.css +0 -1
  428. package/build/plugins/page-break/page-break.es5.js +0 -1
  429. package/build/plugins/page-break/page-break.js +0 -1
  430. package/build/plugins/paste-code/paste-code.es5.js +0 -1
  431. package/build/plugins/paste-code/paste-code.js +0 -1
  432. package/build/plugins/paste-from-word/paste-from-word.es5.js +0 -1
  433. package/build/plugins/paste-from-word/paste-from-word.js +0 -1
  434. package/build/plugins/show-blocks/show-blocks.es5.js +0 -1
  435. package/build/plugins/show-blocks/show-blocks.js +0 -1
  436. package/build/plugins/todo-list/todo-list.css +0 -1
  437. package/build/plugins/todo-list/todo-list.es5.css +0 -1
  438. package/build/plugins/todo-list/todo-list.es5.js +0 -1
  439. package/build/plugins/todo-list/todo-list.js +0 -1
  440. package/build/plugins/translate/translate.es5.js +0 -1
  441. package/build/plugins/translate/translate.js +0 -1
  442. package/build/plugins/tune-block/tune-block.es5.js +0 -1
  443. package/build/plugins/tune-block/tune-block.js +0 -1
  444. package/index.html +0 -268
  445. /package/{build/config.js → config.js} +0 -0
  446. /package/{build/plugins/autocomplete/autocomplete.css → es2015/plugins/autocomplete/autocomplete.min.css} +0 -0
  447. /package/{build/plugins/iframe-editor/iframe-editor.css → es2015/plugins/iframe-editor/iframe-editor.min.css} +0 -0
  448. /package/{build/plugins/keyboard/keyboard.css → es2015/plugins/keyboard/keyboard.min.css} +0 -0
  449. /package/{build/plugins/paste-code/paste-code.css → es2015/plugins/paste-code/paste-code.min.css} +0 -0
  450. /package/{build/plugins/translate/translate.css → es2015/plugins/translate/translate.min.css} +0 -0
  451. /package/{build/plugins/autocomplete/autocomplete.es5.css → es2018/plugins/autocomplete/autocomplete.min.css} +0 -0
  452. /package/{build/plugins/iframe-editor/iframe-editor.es5.css → es2018/plugins/iframe-editor/iframe-editor.min.css} +0 -0
  453. /package/{build/plugins/keyboard/keyboard.es5.css → es2018/plugins/keyboard/keyboard.min.css} +0 -0
  454. /package/{build/plugins/paste-code/paste-code.es5.css → es2018/plugins/paste-code/paste-code.min.css} +0 -0
  455. /package/{build/plugins/translate/translate.es5.css → es2018/plugins/translate/translate.min.css} +0 -0
@@ -0,0 +1,636 @@
1
+ /*!
2
+ * jodit-pro - PRO Version of Jodit Editor
3
+ * Author: Chupurnov Valeriy <chupurnov@gmail.com>
4
+ * Version: v2.0.0-beta.10
5
+ * Url: https://xdsoft.net/jodit/pro/
6
+ * License(s): SEE LICENSE IN LICENSE.md
7
+ */
8
+
9
+ (function webpackUniversalModuleDefinition(root, factory) {
10
+ if(typeof exports === 'object' && typeof module === 'object')
11
+ module.exports = factory();
12
+ else if(typeof define === 'function' && define.amd)
13
+ define([], factory);
14
+ else {
15
+ var a = factory();
16
+ for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
17
+ }
18
+ })(self, function() {
19
+ return (self["webpackChunkjodit_pro"] = self["webpackChunkjodit_pro"] || []).push([[81],{
20
+
21
+ /***/ 9026:
22
+ /***/ (function(module) {
23
+
24
+ module.exports = "<svg viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M13.98 22L6 30l7.98 8v-6H28v-4H13.98v-6zM42 18l-7.98-8v6H20v4h14.02v6L42 18z\"/> <path d=\"M0 0h48v48H0z\" fill=\"none\"/> </svg>"
25
+
26
+ /***/ }),
27
+
28
+ /***/ 70134:
29
+ /***/ (function(module) {
30
+
31
+ module.exports = "<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M4.545 6.714 4.11 8H3l1.862-5h1.284L8 8H6.833l-.435-1.286H4.545zm1.634-.736L5.5 3.956h-.049l-.679 2.022H6.18z\"/> <path d=\"M0 2a2 2 0 0 1 2-2h7a2 2 0 0 1 2 2v3h3a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-3H2a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2zm7.138 9.995c.193.301.402.583.63.846-.748.575-1.673 1.001-2.768 1.292.178.217.451.635.555.867 1.125-.359 2.08-.844 2.886-1.494.777.665 1.739 1.165 2.93 1.472.133-.254.414-.673.629-.89-1.125-.253-2.057-.694-2.82-1.284.681-.747 1.222-1.651 1.621-2.757H14V8h-3v1.047h.765c-.318.844-.74 1.546-1.272 2.13a6.066 6.066 0 0 1-.415-.492 1.988 1.988 0 0 1-.94.31z\"/> </svg>"
32
+
33
+ /***/ }),
34
+
35
+ /***/ 50461:
36
+ /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
37
+
38
+ "use strict";
39
+ /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(77628);
40
+ /* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10503);
41
+ /*!
42
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
43
+ * See LICENSE.md in the project root for license information.
44
+ * Copyright (c) 2013-2023 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
45
+ */
46
+
47
+
48
+ jodit_config__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.translate = {
49
+ hotkeys: {
50
+ translateSelection: ['ctrl+shift+o', 'cmd+shift+o'],
51
+ translateOptions: ['ctrl+shift+p', 'cmd+shift+p']
52
+ },
53
+ provider: 'google',
54
+ googleProviderOptions: {
55
+ url: 'https://translation.googleapis.com/language/translate/v2',
56
+ key: ''
57
+ },
58
+ defaultSourceLang: '',
59
+ defaultTargetLang: 'de'
60
+ };
61
+ jodit_config__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.controls.translate = {
62
+ translate: {
63
+ tooltip: 'Translate selected text',
64
+ icon: 'translate',
65
+ command: 'translate',
66
+ exec(editor) {
67
+ editor.execCommand('translate');
68
+ },
69
+ list: ['Options'],
70
+ childExec(editor, _, { control }) {
71
+ editor.execCommand('translate' + control.name);
72
+ },
73
+ mods: {
74
+ stroke: false
75
+ }
76
+ }
77
+ };
78
+ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_1__/* .Icon.set */ .J.set('translate', __webpack_require__(70134)).set('translate-swap', __webpack_require__(9026));
79
+
80
+
81
+ /***/ }),
82
+
83
+ /***/ 88987:
84
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
85
+
86
+ "use strict";
87
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
88
+ /* harmony export */ "A": function() { return /* binding */ GoogleTranslateProvider; }
89
+ /* harmony export */ });
90
+ /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(52378);
91
+ /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_0__);
92
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11612);
93
+ /* harmony import */ var _languages__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(89569);
94
+ /*!
95
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
96
+ * See LICENSE.md in the project root for license information.
97
+ * Copyright (c) 2013-2023 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
98
+ */
99
+
100
+
101
+
102
+ class GoogleTranslateProvider {
103
+ constructor(jodit) {
104
+ this.jodit = jodit;
105
+ }
106
+ __fetch(command, data = {}) {
107
+ const opt = this.jodit.o.translate.googleProviderOptions;
108
+ void 0;
109
+ return this.jodit
110
+ .fetch(opt.url + '?key=' + opt.key, {
111
+ method: 'POST',
112
+ data: {
113
+ ...data,
114
+ ui: this.jodit.o.language
115
+ },
116
+ contentType: 'application/json; charset=utf-8',
117
+ withCredentials: false
118
+ })
119
+ .then((resp) => resp.json())
120
+ .catch((resp) => {
121
+ try {
122
+ this.jodit.message.error(resp.json().message);
123
+ }
124
+ catch (e) {
125
+ if (!jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__.IS_PROD) {
126
+ console.error(e);
127
+ }
128
+ }
129
+ });
130
+ }
131
+ translate(q, source, target) {
132
+ return this.__fetch('translate', {
133
+ q,
134
+ source,
135
+ target,
136
+ format: 'html'
137
+ }).then((resp) => {
138
+ return { text: resp.data.translations[0].translatedText };
139
+ });
140
+ }
141
+ supportedLanguages() {
142
+ return Promise.resolve({
143
+ langs: _languages__WEBPACK_IMPORTED_MODULE_2__/* .languages */ .M
144
+ });
145
+ }
146
+ }
147
+
148
+
149
+ /***/ }),
150
+
151
+ /***/ 89569:
152
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
153
+
154
+ "use strict";
155
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
156
+ /* harmony export */ "M": function() { return /* binding */ languages; }
157
+ /* harmony export */ });
158
+ /*!
159
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
160
+ * See LICENSE.md in the project root for license information.
161
+ * Copyright (c) 2013-2023 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
162
+ */
163
+ const languages = {
164
+ Afrikaans: 'af',
165
+ Albanian: 'sq',
166
+ Amharic: 'am',
167
+ Arabic: 'ar',
168
+ Armenian: 'hy',
169
+ 'Assamese*': 'as',
170
+ 'Aymara*': 'ay',
171
+ Azerbaijani: 'az',
172
+ 'Bambara*': 'bm',
173
+ Basque: 'eu',
174
+ Belarusian: 'be',
175
+ Bengali: 'bn',
176
+ 'Bhojpuri*': 'bho',
177
+ Bosnian: 'bs',
178
+ Bulgarian: 'bg',
179
+ Catalan: 'ca',
180
+ Cebuano: 'ceb',
181
+ 'Chinese (Simplified)': 'zh-CN',
182
+ 'Chinese (Traditional)': 'zh-TW',
183
+ Corsican: 'co',
184
+ Croatian: 'hr',
185
+ Czech: 'cs',
186
+ Danish: 'da',
187
+ 'Dhivehi*': 'dv',
188
+ 'Dogri*': 'doi',
189
+ Dutch: 'nl',
190
+ English: 'en',
191
+ Esperanto: 'eo',
192
+ Estonian: 'et',
193
+ 'Ewe*': 'ee',
194
+ 'Filipino (Tagalog)': 'fil',
195
+ Finnish: 'fi',
196
+ French: 'fr',
197
+ Frisian: 'fy',
198
+ Galician: 'gl',
199
+ Georgian: 'ka',
200
+ German: 'de',
201
+ Greek: 'el',
202
+ 'Guarani*': 'gn',
203
+ Gujarati: 'gu',
204
+ 'Haitian Creole': 'ht',
205
+ Hausa: 'ha',
206
+ Hawaiian: 'haw',
207
+ Hebrew: 'he',
208
+ Hindi: 'hi',
209
+ Hmong: 'hmn',
210
+ Hungarian: 'hu',
211
+ Icelandic: 'is',
212
+ Igbo: 'ig',
213
+ 'Ilocano*': 'ilo',
214
+ Indonesian: 'id',
215
+ Irish: 'ga',
216
+ Italian: 'it',
217
+ Japanese: 'ja',
218
+ Kannada: 'kn',
219
+ Kazakh: 'kk',
220
+ Khmer: 'km',
221
+ Kinyarwanda: 'rw',
222
+ 'Konkani*': 'gom',
223
+ Korean: 'ko',
224
+ 'Krio*': 'kri',
225
+ Kurdish: 'ku',
226
+ 'Kurdish (Sorani)*': 'ckb',
227
+ Kyrgyz: 'ky',
228
+ Lao: 'lo',
229
+ Latin: 'la',
230
+ Latvian: 'lv',
231
+ 'Lingala*': 'ln',
232
+ Lithuanian: 'lt',
233
+ 'Luganda*': 'lg',
234
+ Luxembourgish: 'lb',
235
+ Macedonian: 'mk',
236
+ 'Maithili*': 'mai',
237
+ Malagasy: 'mg',
238
+ Malay: 'ms',
239
+ Malayalam: 'ml',
240
+ Maltese: 'mt',
241
+ Maori: 'mi',
242
+ Marathi: 'mr',
243
+ 'Meiteilon (Manipuri)*': 'mni-Mtei',
244
+ Mizo: 'lus',
245
+ Mongolian: 'mn',
246
+ 'Myanmar (Burmese)': 'my',
247
+ Nepali: 'ne',
248
+ Norwegian: 'no',
249
+ 'Nyanja (Chichewa)': 'ny',
250
+ 'Odia (Oriya)': 'or',
251
+ 'Oromo*': 'om',
252
+ Pashto: 'ps',
253
+ Persian: 'fa',
254
+ Polish: 'pl',
255
+ Portuguese: 'pt',
256
+ Punjabi: 'pa',
257
+ 'Quechua*': 'qu',
258
+ Romanian: 'ro',
259
+ Russian: 'ru',
260
+ Samoan: 'sm',
261
+ 'Sanskrit*': 'sa',
262
+ 'Scots Gaelic': 'gd',
263
+ 'Sepedi*': 'nso',
264
+ Serbian: 'sr',
265
+ Sesotho: 'st',
266
+ Shona: 'sn',
267
+ Sindhi: 'sd',
268
+ 'Sinhala (Sinhalese)': 'si',
269
+ Slovak: 'sk',
270
+ Slovenian: 'sl',
271
+ Somali: 'so',
272
+ Spanish: 'es',
273
+ Sundanese: 'su',
274
+ Swahili: 'sw',
275
+ Swedish: 'sv',
276
+ 'Tagalog (Filipino)': 'tl',
277
+ Tajik: 'tg',
278
+ Tamil: 'ta',
279
+ Tatar: 'tt',
280
+ Telugu: 'te',
281
+ Thai: 'th',
282
+ 'Tigrinya*': 'ti',
283
+ 'Tsonga*': 'ts',
284
+ Turkish: 'tr',
285
+ Turkmen: 'tk',
286
+ 'Twi (Akan)*': 'ak',
287
+ Ukrainian: 'uk',
288
+ Urdu: 'ur',
289
+ Uyghur: 'ug',
290
+ Uzbek: 'uz',
291
+ Vietnamese: 'vi',
292
+ Welsh: 'cy',
293
+ Xhosa: 'xh',
294
+ Yiddish: 'yi',
295
+ Yoruba: 'yo',
296
+ Zulu: 'zu'
297
+ };
298
+
299
+
300
+ /***/ }),
301
+
302
+ /***/ 46753:
303
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
304
+
305
+ "use strict";
306
+ __webpack_require__.r(__webpack_exports__);
307
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
308
+ /* harmony export */ "Translate": function() { return /* binding */ Translate; }
309
+ /* harmony export */ });
310
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(97582);
311
+ /* harmony import */ var jodit_core_plugin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7324);
312
+ /* harmony import */ var _JoditPro__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(88292);
313
+ /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(52378);
314
+ /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2__);
315
+ /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(4682);
316
+ /* harmony import */ var jodit_core_helpers_utils_default_language__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(3262);
317
+ /* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(50526);
318
+ /* harmony import */ var _providers_google_google__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(88987);
319
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(50461);
320
+ /* harmony import */ var _ui_settings_settings__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(16874);
321
+ /* harmony import */ var jodit_core_ui_button_button_button__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(53025);
322
+ /*!
323
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
324
+ * See LICENSE.md in the project root for license information.
325
+ * Copyright (c) 2013-2023 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
326
+ */
327
+
328
+
329
+
330
+
331
+
332
+
333
+
334
+
335
+
336
+
337
+
338
+
339
+ class Translate extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_0__/* .Plugin */ .S {
340
+ constructor() {
341
+ super(...arguments);
342
+ this.buttons = [
343
+ {
344
+ name: 'translate.translate',
345
+ group: 'insert'
346
+ }
347
+ ];
348
+ this.state = {
349
+ sourceLang: this.jodit.o.translate.defaultSourceLang || 'en',
350
+ targetLang: this.jodit.o.translate.defaultTargetLang
351
+ };
352
+ }
353
+ __getProvider() {
354
+ const { provider } = this.jodit.options.translate;
355
+ if ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_8__/* .isString */ .H)(provider)) {
356
+ switch (provider) {
357
+ case 'google':
358
+ return new _providers_google_google__WEBPACK_IMPORTED_MODULE_4__/* .GoogleTranslateProvider */ .A(this.j);
359
+ default:
360
+ throw new Error('Unknown provider');
361
+ }
362
+ }
363
+ void 0;
364
+ return provider(this.jodit);
365
+ }
366
+ afterInit(jodit) {
367
+ const defaultLanguage = (0,jodit_core_helpers_utils_default_language__WEBPACK_IMPORTED_MODULE_9__/* .defaultLanguage */ .X)(jodit.o.language, _JoditPro__WEBPACK_IMPORTED_MODULE_1__/* .JoditPro.defaultOptions.language */ .y.defaultOptions.language), language = (0,jodit_core_helpers_utils_default_language__WEBPACK_IMPORTED_MODULE_9__/* .defaultLanguage */ .X)(jodit.o.language, defaultLanguage);
368
+ const provider = this.__getProvider();
369
+ jodit
370
+ .registerCommand('translateOptions', {
371
+ exec: async () => {
372
+ let newState = this.state;
373
+ const dlg = jodit.dlg();
374
+ dlg.setHeader('Translate options');
375
+ const langs = await provider.supportedLanguages();
376
+ const settings = new _ui_settings_settings__WEBPACK_IMPORTED_MODULE_6__/* .UITranslateSettings */ .h(dlg, this.state, {
377
+ sourceList: langs.langs,
378
+ targetList: langs.langs,
379
+ onChange(state) {
380
+ newState = state;
381
+ }
382
+ });
383
+ dlg.setContent(settings);
384
+ dlg.setFooter([
385
+ (0,jodit_core_ui_button_button_button__WEBPACK_IMPORTED_MODULE_7__/* .Button */ .zx)(jodit, 'cancel', 'Cancel').onAction(() => dlg.close()),
386
+ (0,jodit_core_ui_button_button_button__WEBPACK_IMPORTED_MODULE_7__/* .Button */ .zx)(jodit, 'ok', 'Save', 'primary').onAction(() => {
387
+ this.state = newState;
388
+ dlg.close();
389
+ })
390
+ ]);
391
+ settings.bindDestruct(dlg);
392
+ dlg.setSize(500, 400).open(true);
393
+ },
394
+ hotkeys: jodit.o.translate.hotkeys.translateOptions
395
+ })
396
+ .registerCommand('translate', {
397
+ exec: () => {
398
+ const selection = jodit.s.html;
399
+ if (!selection) {
400
+ jodit.message.error('Select text for translate');
401
+ return;
402
+ }
403
+ return provider
404
+ .translate(selection, !this.state.sourceLang ||
405
+ this.state.sourceLang === 'auto'
406
+ ? language
407
+ : this.state.sourceLang, this.state.targetLang)
408
+ .then((response) => {
409
+ const range = jodit.s.range;
410
+ range.deleteContents();
411
+ jodit.s.insertNode(jodit.createInside.text(response.text));
412
+ })
413
+ .catch((error) => {
414
+ jodit.message.error((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_8__/* .isString */ .H)(error) ? error : error.message);
415
+ });
416
+ },
417
+ hotkeys: jodit.o.translate.hotkeys.translateSelection
418
+ });
419
+ }
420
+ beforeDestruct(jodit) { }
421
+ }
422
+ Translate.requires = ['license'];
423
+ (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__decorate */ .gn)([
424
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_3__.persistent
425
+ ], Translate.prototype, "state", void 0);
426
+ _JoditPro__WEBPACK_IMPORTED_MODULE_1__/* .JoditPro.plugins.add */ .y.plugins.add('translate', Translate);
427
+
428
+
429
+ /***/ }),
430
+
431
+ /***/ 48458:
432
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
433
+
434
+ "use strict";
435
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
436
+ /* harmony export */ "r": function() { return /* binding */ UITranslateList; }
437
+ /* harmony export */ });
438
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(97582);
439
+ /* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84789);
440
+ /* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(50526);
441
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44913);
442
+ /* harmony import */ var jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(77233);
443
+ /* harmony import */ var jodit_core_ui_form_inputs_input_input__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(77902);
444
+ /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(95582);
445
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(11612);
446
+ /*!
447
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
448
+ * See LICENSE.md in the project root for license information.
449
+ * Copyright (c) 2013-2023 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
450
+ */
451
+
452
+
453
+
454
+
455
+
456
+
457
+
458
+
459
+
460
+ let UITranslateList = class UITranslateList extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u {
461
+ className() {
462
+ return 'UITranslateList';
463
+ }
464
+ get items() {
465
+ return this.getElms('item');
466
+ }
467
+ render(options) {
468
+ const list = [];
469
+ Object.keys(options.list)
470
+ .sort()
471
+ .forEach((lang) => {
472
+ const key = options.list[lang];
473
+ list.push(`<a role='button' tabindex='0' class='&__item' data-lang='${key}'>
474
+ <span class='&__item-key'>${key}</span>
475
+ <span class='&__item-title'>${this.j.i18n(lang)}</span>
476
+ </a>`);
477
+ });
478
+ return `<div class='&'>
479
+ <div class='&__input'></div>
480
+ <div class='&__list'>${list.join('')}</div>
481
+ </div>`;
482
+ }
483
+ constructor(jodit, options) {
484
+ super(jodit, options);
485
+ this.options = options;
486
+ this.state = {
487
+ active: ''
488
+ };
489
+ this.state.active = options.active;
490
+ const input = new jodit_core_ui_form_inputs_input_input__WEBPACK_IMPORTED_MODULE_4__/* .UIInput */ .u(jodit, {
491
+ placeholder: jodit.i18n('Filter'),
492
+ icon: 'search',
493
+ onChange: this.__onChangeFilter,
494
+ clearButton: true
495
+ });
496
+ this.getElm('input')?.appendChild(input.container);
497
+ this.__onActiveChange();
498
+ }
499
+ __onChangeFilter(value) {
500
+ this.items.forEach((elm) => {
501
+ const key = elm.textContent?.toLowerCase() ?? '';
502
+ (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_3__/* .attr */ .L)(elm, 'data-hidden', (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_3__/* .attr */ .L)(elm, 'data-active') !== 'true' &&
503
+ !key.includes(value.toLowerCase()));
504
+ });
505
+ }
506
+ __scrollToActive() {
507
+ const active = this.container.querySelector('[data-active="true"]');
508
+ const list = this.getElm('list');
509
+ active && list && (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_5__.scrollIntoViewIfNeeded)(active, list, this.j.od);
510
+ }
511
+ onClickItem(e) {
512
+ if (e.type === 'keydown' && 'key' in e && e.key !== jodit_core_constants__WEBPACK_IMPORTED_MODULE_6__.KEY_ENTER) {
513
+ return;
514
+ }
515
+ const target = e.target;
516
+ if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__/* .Dom.isHTMLElement */ .i.isHTMLElement(target) && target.getAttribute('data-lang')) {
517
+ const newValue = (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_3__/* .attr */ .L)(target, 'data-lang');
518
+ this.options.onChange(newValue);
519
+ this.state.active = newValue;
520
+ }
521
+ }
522
+ __onActiveChange() {
523
+ this.items.forEach((elm) => (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_3__/* .attr */ .L)(elm, 'data-active', (0,jodit_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_3__/* .attr */ .L)(elm, 'data-lang') === this.state.active));
524
+ this.__scrollToActive();
525
+ }
526
+ };
527
+ (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([
528
+ (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.debounce)()
529
+ ], UITranslateList.prototype, "__onChangeFilter", null);
530
+ (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([
531
+ (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)(':afterOpen')
532
+ ], UITranslateList.prototype, "__scrollToActive", null);
533
+ (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([
534
+ (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)(['container:click', 'container:keydown'])
535
+ ], UITranslateList.prototype, "onClickItem", null);
536
+ (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([
537
+ (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)('state.active'),
538
+ (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.debounce)()
539
+ ], UITranslateList.prototype, "__onActiveChange", null);
540
+ UITranslateList = (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([
541
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.component
542
+ ], UITranslateList);
543
+
544
+
545
+ /***/ }),
546
+
547
+ /***/ 16874:
548
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
549
+
550
+ "use strict";
551
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
552
+ /* harmony export */ "h": function() { return /* binding */ UITranslateSettings; }
553
+ /* harmony export */ });
554
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(97582);
555
+ /* harmony import */ var jodit_core_ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75004);
556
+ /* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(50526);
557
+ /* harmony import */ var _list_list__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(48458);
558
+ /*!
559
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
560
+ * See LICENSE.md in the project root for license information.
561
+ * Copyright (c) 2013-2023 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
562
+ */
563
+
564
+
565
+
566
+
567
+
568
+ let UITranslateSettings = class UITranslateSettings extends jodit_core_ui__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u1 {
569
+ className() {
570
+ return 'UITranslateSettings';
571
+ }
572
+ render() {
573
+ return `<div>
574
+ <div class='&__list &__source-list'></div>
575
+ <div class='&__arrow'>
576
+ <a class='&__arrow-swap'>*translate-swap*</a>
577
+ </div>
578
+ <div class='&__list &__target-list'></div>
579
+ </div>`;
580
+ }
581
+ constructor(jodit, state, options) {
582
+ super(jodit);
583
+ this.state = state;
584
+ this.options = options;
585
+ this.__sourceList = new _list_list__WEBPACK_IMPORTED_MODULE_2__/* .UITranslateList */ .r(jodit, {
586
+ list: options.sourceList,
587
+ active: state.sourceLang,
588
+ onChange: (lang) => {
589
+ this.state.sourceLang = lang;
590
+ this.options.onChange({
591
+ ...this.state
592
+ });
593
+ }
594
+ });
595
+ this.getElm('source-list')?.appendChild(this.__sourceList.container);
596
+ this.__targetList = new _list_list__WEBPACK_IMPORTED_MODULE_2__/* .UITranslateList */ .r(jodit, {
597
+ list: options.targetList,
598
+ active: state.targetLang,
599
+ onChange: (lang) => {
600
+ this.state.targetLang = lang;
601
+ this.options.onChange({
602
+ ...this.state
603
+ });
604
+ }
605
+ });
606
+ this.getElm('target-list')?.appendChild(this.__targetList.container);
607
+ }
608
+ __onSwap() {
609
+ const tmp = this.state.sourceLang;
610
+ this.state.sourceLang = this.state.targetLang;
611
+ this.state.targetLang = tmp;
612
+ this.__sourceList.state.active = this.state.sourceLang;
613
+ this.__targetList.state.active = this.state.targetLang;
614
+ this.options.onChange({
615
+ ...this.state
616
+ });
617
+ }
618
+ };
619
+ (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__decorate */ .gn)([
620
+ (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)('arrow-swap:click')
621
+ ], UITranslateSettings.prototype, "__onSwap", null);
622
+ UITranslateSettings = (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__decorate */ .gn)([
623
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.component
624
+ ], UITranslateSettings);
625
+
626
+
627
+ /***/ })
628
+
629
+ },
630
+ /******/ function(__webpack_require__) { // webpackRuntimeModules
631
+ /******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
632
+ /******/ var __webpack_exports__ = (__webpack_exec__(46753));
633
+ /******/ return __webpack_exports__;
634
+ /******/ }
635
+ ]);
636
+ });
@@ -0,0 +1 @@
1
+ .jodit-ui-translate-settings{display:flex;height:100%;justify-content:stretch;min-height:300px;padding:var(--jd-padding-default) var(--jd-padding-default) 0}.jodit-ui-translate-settings__arrow{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;width:30px}.jodit-ui-translate-settings__arrow a{display:block;width:100%}.jodit-ui-translate-settings__arrow svg{fill:var(--jd-color-background-gray);cursor:pointer;transition:transform .2s linear}.jodit-ui-translate-settings__arrow svg:hover{fill:var(--jd-color-background-active)}.jodit-ui-translate-settings__arrow svg:active{transform:scale(1.15)}.jodit-ui-translate-settings__list{width:calc(50% - 15px)}.jodit-ui-translate-list{display:flex;flex-direction:column;height:100%}.jodit-ui-translate-list__list{border:1px solid var(--jd-color-border);box-sizing:border-box;cursor:pointer;flex:1;flex-wrap:nowrap;font-size:14px;overflow:auto}.jodit-ui-translate-list__item{color:var(--jd-color-gray-dark);display:flex;line-height:16px}.jodit-ui-translate-list__item:hover,.jodit-ui-translate-list__item[data-active=true]{background-color:var(--jd-color-background-active);color:#fff}.jodit-ui-translate-list__item:focus{outline:2px solid var(--jd-color-background-active)}.jodit-ui-translate-list__item[data-hidden=true]{display:none}.jodit-ui-translate-list__item-key{background-color:var(--jd-color-background-light-gray);box-sizing:border-box;flex:0 0 40px;font-size:13px;padding:7px 5px;pointer-events:none;text-align:center}.jodit-ui-translate-list__item:hover .jodit-ui-translate-list__item-key,.jodit-ui-translate-list__item[data-active=true] .jodit-ui-translate-list__item-key{background-color:var(--jd-color-background-active)}.jodit-ui-translate-list__item-title{flex:1 1 auto;padding:7px;pointer-events:none}
@@ -0,0 +1,10 @@
1
+ /*!
2
+ * jodit-pro - PRO Version of Jodit Editor
3
+ * Author: Chupurnov Valeriy <chupurnov@gmail.com>
4
+ * Version: v2.0.0-beta.10
5
+ * Url: https://xdsoft.net/jodit/pro/
6
+ * License(s): SEE LICENSE IN LICENSE.md
7
+ */
8
+
9
+
10
+ ((t,e)=>{if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var a=e();for(var s in a)("object"==typeof exports?exports:t)[s]=a[s]}})(self,(function(){return(self.webpackChunkjodit_pro=self.webpackChunkjodit_pro||[]).push([[81],{9026(t){t.exports='<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"> <path d="M13.98 22L6 30l7.98 8v-6H28v-4H13.98v-6zM42 18l-7.98-8v6H20v4h14.02v6L42 18z"/> <path d="M0 0h48v48H0z" fill="none"/> </svg>'},70134(t){t.exports='<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> <path d="M4.545 6.714 4.11 8H3l1.862-5h1.284L8 8H6.833l-.435-1.286H4.545zm1.634-.736L5.5 3.956h-.049l-.679 2.022H6.18z"/> <path d="M0 2a2 2 0 0 1 2-2h7a2 2 0 0 1 2 2v3h3a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-3H2a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2zm7.138 9.995c.193.301.402.583.63.846-.748.575-1.673 1.001-2.768 1.292.178.217.451.635.555.867 1.125-.359 2.08-.844 2.886-1.494.777.665 1.739 1.165 2.93 1.472.133-.254.414-.673.629-.89-1.125-.253-2.057-.694-2.82-1.284.681-.747 1.222-1.651 1.621-2.757H14V8h-3v1.047h.765c-.318.844-.74 1.546-1.272 2.13a6.066 6.066 0 0 1-.415-.492 1.988 1.988 0 0 1-.94.31z"/> </svg>'},50461(t,e,a){"use strict";var s=a(77628),n=a(10503);s.Config.prototype.translate={hotkeys:{translateSelection:["ctrl+shift+o","cmd+shift+o"],translateOptions:["ctrl+shift+p","cmd+shift+p"]},provider:"google",googleProviderOptions:{url:"https://translation.googleapis.com/language/translate/v2",key:""},defaultSourceLang:"",defaultTargetLang:"de"},s.Config.prototype.controls.translate={translate:{tooltip:"Translate selected text",icon:"translate",command:"translate",exec(t){t.execCommand("translate")},list:["Options"],childExec(t,e,{control:a}){t.execCommand("translate"+a.name)},mods:{stroke:!1}}},n.J.set("translate",a(70134)).set("translate-swap",a(9026))},88987(t,e,a){"use strict";a.d(e,{A(){return n}}),a(52378),a(11612);var s=a(89569);class n{constructor(t){this.jodit=t}__fetch(t,e={}){const a=this.jodit.o.translate.googleProviderOptions;return this.jodit.fetch(a.url+"?key="+a.key,{method:"POST",data:{...e,ui:this.jodit.o.language},contentType:"application/json; charset=utf-8",withCredentials:!1}).then((t=>t.json())).catch((t=>{try{this.jodit.message.error(t.json().message)}catch(t){}}))}translate(t,e,a){return this.__fetch("translate",{q:t,source:e,target:a,format:"html"}).then((t=>({text:t.data.translations[0].translatedText})))}supportedLanguages(){return Promise.resolve({langs:s.M})}}},89569(t,e,a){"use strict";a.d(e,{M(){return s}});const s={Afrikaans:"af",Albanian:"sq",Amharic:"am",Arabic:"ar",Armenian:"hy","Assamese*":"as","Aymara*":"ay",Azerbaijani:"az","Bambara*":"bm",Basque:"eu",Belarusian:"be",Bengali:"bn","Bhojpuri*":"bho",Bosnian:"bs",Bulgarian:"bg",Catalan:"ca",Cebuano:"ceb","Chinese (Simplified)":"zh-CN","Chinese (Traditional)":"zh-TW",Corsican:"co",Croatian:"hr",Czech:"cs",Danish:"da","Dhivehi*":"dv","Dogri*":"doi",Dutch:"nl",English:"en",Esperanto:"eo",Estonian:"et","Ewe*":"ee","Filipino (Tagalog)":"fil",Finnish:"fi",French:"fr",Frisian:"fy",Galician:"gl",Georgian:"ka",German:"de",Greek:"el","Guarani*":"gn",Gujarati:"gu","Haitian Creole":"ht",Hausa:"ha",Hawaiian:"haw",Hebrew:"he",Hindi:"hi",Hmong:"hmn",Hungarian:"hu",Icelandic:"is",Igbo:"ig","Ilocano*":"ilo",Indonesian:"id",Irish:"ga",Italian:"it",Japanese:"ja",Kannada:"kn",Kazakh:"kk",Khmer:"km",Kinyarwanda:"rw","Konkani*":"gom",Korean:"ko","Krio*":"kri",Kurdish:"ku","Kurdish (Sorani)*":"ckb",Kyrgyz:"ky",Lao:"lo",Latin:"la",Latvian:"lv","Lingala*":"ln",Lithuanian:"lt","Luganda*":"lg",Luxembourgish:"lb",Macedonian:"mk","Maithili*":"mai",Malagasy:"mg",Malay:"ms",Malayalam:"ml",Maltese:"mt",Maori:"mi",Marathi:"mr","Meiteilon (Manipuri)*":"mni-Mtei",Mizo:"lus",Mongolian:"mn","Myanmar (Burmese)":"my",Nepali:"ne",Norwegian:"no","Nyanja (Chichewa)":"ny","Odia (Oriya)":"or","Oromo*":"om",Pashto:"ps",Persian:"fa",Polish:"pl",Portuguese:"pt",Punjabi:"pa","Quechua*":"qu",Romanian:"ro",Russian:"ru",Samoan:"sm","Sanskrit*":"sa","Scots Gaelic":"gd","Sepedi*":"nso",Serbian:"sr",Sesotho:"st",Shona:"sn",Sindhi:"sd","Sinhala (Sinhalese)":"si",Slovak:"sk",Slovenian:"sl",Somali:"so",Spanish:"es",Sundanese:"su",Swahili:"sw",Swedish:"sv","Tagalog (Filipino)":"tl",Tajik:"tg",Tamil:"ta",Tatar:"tt",Telugu:"te",Thai:"th","Tigrinya*":"ti","Tsonga*":"ts",Turkish:"tr",Turkmen:"tk","Twi (Akan)*":"ak",Ukrainian:"uk",Urdu:"ur",Uyghur:"ug",Uzbek:"uz",Vietnamese:"vi",Welsh:"cy",Xhosa:"xh",Yiddish:"yi",Yoruba:"yo",Zulu:"zu"}},46753(t,e,a){"use strict";a.r(e),a.d(e,{Translate(){return u}});var s=a(97582),n=a(7324),i=a(88292),o=(a(52378),a(4682)),r=a(3262),l=a(50526),c=a(88987),h=(a(50461),a(16874)),g=a(53025);class u extends n.S{constructor(){super(...arguments),this.buttons=[{name:"translate.translate",group:"insert"}],this.state={sourceLang:this.jodit.o.translate.defaultSourceLang||"en",targetLang:this.jodit.o.translate.defaultTargetLang}}__getProvider(){const{provider:t}=this.jodit.options.translate;if((0,o.H)(t)){if("google"===t)return new c.A(this.j);throw Error("Unknown provider")}return t(this.jodit)}afterInit(t){const e=(0,r.X)(t.o.language,i.y.defaultOptions.language),a=(0,r.X)(t.o.language,e),s=this.__getProvider();t.registerCommand("translateOptions",{exec:async()=>{let e=this.state;const a=t.dlg();a.setHeader("Translate options");const n=await s.supportedLanguages(),i=new h.h(a,this.state,{sourceList:n.langs,targetList:n.langs,onChange(t){e=t}});a.setContent(i),a.setFooter([(0,g.zx)(t,"cancel","Cancel").onAction((()=>a.close())),(0,g.zx)(t,"ok","Save","primary").onAction((()=>{this.state=e,a.close()}))]),i.bindDestruct(a),a.setSize(500,400).open(!0)},hotkeys:t.o.translate.hotkeys.translateOptions}).registerCommand("translate",{exec:()=>{const e=t.s.html;if(e)return s.translate(e,this.state.sourceLang&&"auto"!==this.state.sourceLang?this.state.sourceLang:a,this.state.targetLang).then((e=>{t.s.range.deleteContents(),t.s.insertNode(t.createInside.text(e.text))})).catch((e=>{t.message.error((0,o.H)(e)?e:e.message)}));t.message.error("Select text for translate")},hotkeys:t.o.translate.hotkeys.translateSelection})}beforeDestruct(t){}}u.requires=["license"],(0,s.gn)([l.persistent],u.prototype,"state",void 0),i.y.plugins.add("translate",u)},48458(t,e,a){"use strict";a.d(e,{r(){return g}});var s=a(97582),n=a(84789),i=a(50526),o=a(44913),r=a(77233),l=a(77902),c=a(95582),h=a(11612);let g=class t extends n.u{className(){return"UITranslateList"}get items(){return this.getElms("item")}render(t){const e=[];return Object.keys(t.list).sort().forEach((a=>{const s=t.list[a];e.push(`<a role='button' tabindex='0' class='&__item' data-lang='${s}'>\n\t\t\t\t\t\t<span class='&__item-key'>${s}</span>\n\t\t\t\t\t\t<span class='&__item-title'>${this.j.i18n(a)}</span>\n\t\t\t\t\t</a>`)})),`<div class='&'>\n\t\t\t<div class='&__input'></div>\n\t\t\t<div class='&__list'>${e.join("")}</div>\n\t\t</div>`}constructor(t,e){super(t,e),this.options=e,this.state={active:""},this.state.active=e.active;const a=new l.u(t,{placeholder:t.i18n("Filter"),icon:"search",onChange:this.__onChangeFilter,clearButton:!0});this.getElm("input")?.appendChild(a.container),this.__onActiveChange()}__onChangeFilter(t){this.items.forEach((e=>{const a=e.textContent?.toLowerCase()??"";(0,r.L)(e,"data-hidden","true"!==(0,r.L)(e,"data-active")&&!a.includes(t.toLowerCase()))}))}__scrollToActive(){const t=this.container.querySelector('[data-active="true"]'),e=this.getElm("list");t&&e&&(0,c.scrollIntoViewIfNeeded)(t,e,this.j.od)}onClickItem(t){if("keydown"===t.type&&"key"in t&&t.key!==h.KEY_ENTER)return;const e=t.target;if(o.i.isHTMLElement(e)&&e.getAttribute("data-lang")){const t=(0,r.L)(e,"data-lang");this.options.onChange(t),this.state.active=t}}__onActiveChange(){this.items.forEach((t=>(0,r.L)(t,"data-active",(0,r.L)(t,"data-lang")===this.state.active))),this.__scrollToActive()}};(0,s.gn)([(0,i.debounce)()],g.prototype,"__onChangeFilter",null),(0,s.gn)([(0,i.watch)(":afterOpen")],g.prototype,"__scrollToActive",null),(0,s.gn)([(0,i.watch)(["container:click","container:keydown"])],g.prototype,"onClickItem",null),(0,s.gn)([(0,i.watch)("state.active"),(0,i.debounce)()],g.prototype,"__onActiveChange",null),g=(0,s.gn)([i.component],g)},16874(t,e,a){"use strict";a.d(e,{h(){return r}});var s=a(97582),n=a(75004),i=a(50526),o=a(48458);let r=class t extends n.u1{className(){return"UITranslateSettings"}render(){return"<div>\n\t\t\t<div class='&__list &__source-list'></div>\n\t\t\t<div class='&__arrow'>\n\t\t\t\t<a class='&__arrow-swap'>*translate-swap*</a>\n\t\t\t</div>\n\t\t\t<div class='&__list &__target-list'></div>\n\t\t</div>"}constructor(t,e,a){super(t),this.state=e,this.options=a,this.__sourceList=new o.r(t,{list:a.sourceList,active:e.sourceLang,onChange:t=>{this.state.sourceLang=t,this.options.onChange({...this.state})}}),this.getElm("source-list")?.appendChild(this.__sourceList.container),this.__targetList=new o.r(t,{list:a.targetList,active:e.targetLang,onChange:t=>{this.state.targetLang=t,this.options.onChange({...this.state})}}),this.getElm("target-list")?.appendChild(this.__targetList.container)}__onSwap(){const t=this.state.sourceLang;this.state.sourceLang=this.state.targetLang,this.state.targetLang=t,this.__sourceList.state.active=this.state.sourceLang,this.__targetList.state.active=this.state.targetLang,this.options.onChange({...this.state})}};(0,s.gn)([(0,i.watch)("arrow-swap:click")],r.prototype,"__onSwap",null),r=(0,s.gn)([i.component],r)}},t=>t(t.s=46753)])}));