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,554 @@
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([[391],{
20
+
21
+ /***/ 50722:
22
+ /***/ (function(module) {
23
+
24
+ module.exports = "<?xml version=\"1.0\" ?><svg viewBox=\"0 0 64 64\" xmlns=\"http://www.w3.org/2000/svg\"><title/><g id=\"Upload\"><path d=\"M16,26h8V50a2,2,0,0,0,2,2H38a2,2,0,0,0,2-2V26h8a2,2,0,0,0,1.4946-3.3291l-16-18a2,2,0,0,0-2.9892,0l-16,18A2,2,0,0,0,16,26ZM32,9.0107,43.5464,22H38a2,2,0,0,0-2,2V48H28V24a2,2,0,0,0-2-2H20.4536Z\"/><path d=\"M53,42a2,2,0,0,0-2,2V54a2.0023,2.0023,0,0,1-2,2H15a2.0023,2.0023,0,0,1-2-2V44a2,2,0,0,0-4,0V54a6.0066,6.0066,0,0,0,6,6H49a6.0066,6.0066,0,0,0,6-6V44A2,2,0,0,0,53,42Z\"/></g></svg>"
25
+
26
+ /***/ }),
27
+
28
+ /***/ 32100:
29
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
30
+
31
+ "use strict";
32
+ __webpack_require__.r(__webpack_exports__);
33
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
34
+ /* harmony export */ "backup": function() { return /* binding */ backup; }
35
+ /* harmony export */ });
36
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(97582);
37
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19775);
38
+ /* harmony import */ var jodit_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7324);
39
+ /* harmony import */ var _modules_store__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1844);
40
+ /* harmony import */ var _ui_box__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(71298);
41
+ /* harmony import */ var jodit_core_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(75004);
42
+ /* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(50526);
43
+ /* harmony import */ var _JoditPro__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(88292);
44
+ /*!
45
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
46
+ * See LICENSE.md in the project root for license information.
47
+ * Copyright (c) 2013-2023 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
48
+ */
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+ class backup extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_1__/* .Plugin */ .S {
58
+ constructor() {
59
+ super(...arguments);
60
+ /** @override */
61
+ this.hasStyle = !_JoditPro__WEBPACK_IMPORTED_MODULE_5__/* .JoditPro.fatMode */ .y.fatMode;
62
+ /** @override */
63
+ this.buttons = [
64
+ {
65
+ name: 'backup.restore',
66
+ group: 'history'
67
+ }
68
+ ];
69
+ this.__box = new _ui_box__WEBPACK_IMPORTED_MODULE_2__/* .UIBackupBox */ .j(this.j);
70
+ this.__dialog = null;
71
+ this.__storage = this.jodit.o.backup.remoteStore ?? new _modules_store__WEBPACK_IMPORTED_MODULE_6__/* .DefaultStorage */ .W(this.jodit);
72
+ this.timeout = 0;
73
+ }
74
+ /** @override */
75
+ afterInit(jodit) {
76
+ jodit
77
+ .registerCommand('saveBackup', this.onSaveBackup)
78
+ .registerCommand('openBackupDialog', {
79
+ exec: this.onOpenBackupDialog,
80
+ hotkeys: jodit.o.backup.hotkeys
81
+ });
82
+ const startInterval = () => {
83
+ this.timeout = jodit.async.setTimeout(() => {
84
+ this.onSaveBackup();
85
+ startInterval();
86
+ }, jodit.o.backup.interval * 1000);
87
+ };
88
+ startInterval();
89
+ jodit.e
90
+ .on(this.__box, 'choose', this.onSelectItem)
91
+ .on(jodit.ow, 'beforeunload.backup', () => {
92
+ this.onSaveBackup();
93
+ });
94
+ }
95
+ prepareDialog() {
96
+ if (!this.__dialog) {
97
+ this.__dialog = this.j
98
+ .dlg({
99
+ minWidth: this.j.o.backup.dialogWidth,
100
+ buttons: ['fullsize', 'dialog.close']
101
+ })
102
+ .setContent(this.__box.container);
103
+ }
104
+ this.__dialog.setHeader(this.jodit.i18n('Restore'));
105
+ this.addButtonsToDialog();
106
+ }
107
+ onSaveBackup() {
108
+ this.__storage.add({
109
+ created: new Date(),
110
+ html: this.j.value
111
+ });
112
+ }
113
+ async onOpenBackupDialog() {
114
+ this.prepareDialog();
115
+ const { __dialog } = this;
116
+ if (!__dialog) {
117
+ return;
118
+ }
119
+ __dialog.open().setModal(true);
120
+ const items = await this.__storage.items();
121
+ this.__box.build([
122
+ {
123
+ created: new Date(),
124
+ html: this.j.value
125
+ },
126
+ ...items
127
+ ]);
128
+ __dialog.calcAutoSize();
129
+ __dialog.setPosition();
130
+ }
131
+ onSelectItem(data) {
132
+ this.__dialog?.close();
133
+ this.j.value = data.html;
134
+ this.j.s.focus();
135
+ }
136
+ addButtonsToDialog() {
137
+ const { jodit } = this;
138
+ const ok = (0,jodit_core_ui__WEBPACK_IMPORTED_MODULE_3__/* .Button */ .zx)(jodit, {
139
+ name: 'ok',
140
+ tabIndex: 0,
141
+ variant: 'primary',
142
+ text: 'Ok'
143
+ }), cancel = (0,jodit_core_ui__WEBPACK_IMPORTED_MODULE_3__/* .Button */ .zx)(jodit, {
144
+ variant: 'secondary',
145
+ tabIndex: 0,
146
+ text: 'Cancel'
147
+ }), clear = (0,jodit_core_ui__WEBPACK_IMPORTED_MODULE_3__/* .Button */ .zx)(jodit, {
148
+ name: 'clear',
149
+ tabIndex: 0,
150
+ variant: 'secondary',
151
+ text: 'Remove all'
152
+ });
153
+ ok.onAction(() => {
154
+ this.__box.chooseSelected();
155
+ });
156
+ cancel.onAction(() => {
157
+ this.__dialog?.close();
158
+ });
159
+ clear.onAction(() => {
160
+ jodit.confirm('Are you sure?', undefined, (confirm) => {
161
+ if (confirm) {
162
+ this.__storage.clear();
163
+ this.__dialog?.close();
164
+ }
165
+ });
166
+ });
167
+ const block = new jodit_core_ui__WEBPACK_IMPORTED_MODULE_3__/* .UIBlock */ .eC(jodit, [clear, cancel, ok]);
168
+ block.container.style.margin = '0';
169
+ block.container.style.justifyContent = 'flex-end';
170
+ block.container.style.width = '100%';
171
+ this.__dialog?.setFooter(block);
172
+ }
173
+ /** @override */
174
+ beforeDestruct() {
175
+ const { j } = this;
176
+ j.async.clearTimeout(this.timeout);
177
+ j.e
178
+ .off(this.__box, 'choose', this.onSelectItem)
179
+ .off(j.ow, 'beforeunload.backup');
180
+ this.__box.destruct();
181
+ this.__dialog?.destruct();
182
+ }
183
+ }
184
+ /** @override */
185
+ backup.requires = ['license'];
186
+ (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([
187
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind
188
+ ], backup.prototype, "onSaveBackup", null);
189
+ (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([
190
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind
191
+ ], backup.prototype, "onOpenBackupDialog", null);
192
+ (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([
193
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind
194
+ ], backup.prototype, "onSelectItem", null);
195
+ _JoditPro__WEBPACK_IMPORTED_MODULE_5__/* .JoditPro.plugins.add */ .y.plugins.add('backup', backup);
196
+
197
+
198
+ /***/ }),
199
+
200
+ /***/ 19775:
201
+ /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
202
+
203
+ "use strict";
204
+ /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(77628);
205
+ /* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10503);
206
+ /* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(81160);
207
+ /*!
208
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
209
+ * See LICENSE.md in the project root for license information.
210
+ * Copyright (c) 2013-2023 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
211
+ */
212
+
213
+
214
+
215
+ jodit_config__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.backup = {
216
+ interval: 30,
217
+ limit: 50,
218
+ dialogWidth: 700,
219
+ hotkeys: ['ctrl+shift+b', 'cmd+shift+b']
220
+ };
221
+ jodit_config__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.controls.backup = {
222
+ store: {
223
+ command: 'saveBackup',
224
+ text: 'Save backup now'
225
+ },
226
+ restore: {
227
+ tooltip: 'Restore',
228
+ list: ['backup.store'],
229
+ exec(editor) {
230
+ editor.execCommand('openBackupDialog');
231
+ }
232
+ }
233
+ };
234
+ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_1__/* .Icon.set */ .J.set('restore', __webpack_require__(50722));
235
+ (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .extendLang */ .xl)(__webpack_require__(10188));
236
+
237
+
238
+ /***/ }),
239
+
240
+ /***/ 10188:
241
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
242
+
243
+ "use strict";
244
+ __webpack_require__.r(__webpack_exports__);
245
+ /*!
246
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
247
+ * See LICENSE.md in the project root for license information.
248
+ * Copyright (c) 2013-2023 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
249
+ */
250
+
251
+
252
+
253
+ /***/ }),
254
+
255
+ /***/ 1844:
256
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
257
+
258
+ "use strict";
259
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
260
+ /* harmony export */ "W": function() { return /* binding */ DefaultStorage; }
261
+ /* harmony export */ });
262
+ /*!
263
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
264
+ * See LICENSE.md in the project root for license information.
265
+ * Copyright (c) 2013-2023 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
266
+ */
267
+ class DefaultStorage {
268
+ constructor(jodit) {
269
+ this.jodit = jodit;
270
+ this.key = 'backup.default.storage';
271
+ }
272
+ async add(item) {
273
+ if (!item.html.trim().length) {
274
+ return false;
275
+ }
276
+ const items = this.jodit.storage.get(this.key) || [];
277
+ if (items.find((elm) => elm.html === item.html)) {
278
+ return false;
279
+ }
280
+ items.unshift(item);
281
+ if (items.length > this.jodit.o.backup.limit) {
282
+ items.length = this.jodit.o.backup.limit;
283
+ }
284
+ this.jodit.storage.set(this.key, items);
285
+ return false;
286
+ }
287
+ items() {
288
+ return Promise.resolve(this.jodit.storage.get(this.key) || []);
289
+ }
290
+ clear() {
291
+ this.jodit.storage.delete(this.key);
292
+ return Promise.resolve(false);
293
+ }
294
+ }
295
+
296
+
297
+ /***/ }),
298
+
299
+ /***/ 71298:
300
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
301
+
302
+ "use strict";
303
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
304
+ /* harmony export */ "j": function() { return /* binding */ UIBackupBox; }
305
+ /* harmony export */ });
306
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(97582);
307
+ /* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50526);
308
+ /* harmony import */ var jodit_core_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(75004);
309
+ /* harmony import */ var _list__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(75696);
310
+ /*!
311
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
312
+ * See LICENSE.md in the project root for license information.
313
+ * Copyright (c) 2013-2023 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
314
+ */
315
+
316
+
317
+
318
+
319
+
320
+ let UIBackupBox = class UIBackupBox extends jodit_core_ui__WEBPACK_IMPORTED_MODULE_1__/* .UIElement */ .u1 {
321
+ /** @override */
322
+ className() {
323
+ return 'UIBackupBox';
324
+ }
325
+ constructor(jodit) {
326
+ super(jodit);
327
+ this.list = new _list__WEBPACK_IMPORTED_MODULE_2__/* .UIBackupList */ .A(this.j);
328
+ this.preview = this.j.c.div(this.getFullElName('preview'));
329
+ this.container.appendChild(this.list.container);
330
+ this.container.appendChild(this.preview);
331
+ this.list.container.classList.add(this.getFullElName('list'));
332
+ jodit.e
333
+ .on(this.list, 'select', this.onSelectItem)
334
+ .on(this.list, 'choose', this.onChooseItem);
335
+ }
336
+ build(items) {
337
+ this.preview.innerHTML = '';
338
+ this.list.build(items);
339
+ }
340
+ /** @override */
341
+ destruct() {
342
+ this.j.e.off(this.list, 'select', this.onSelectItem);
343
+ this.list.destruct();
344
+ return super.destruct();
345
+ }
346
+ /**
347
+ * On select item inside list
348
+ */
349
+ onSelectItem(item) {
350
+ this.latestSelected = item;
351
+ this.preview.innerHTML =
352
+ item.html ||
353
+ `<div class="${this.getFullElName('empty')}">${this.j.i18n('Empty')}</div>`;
354
+ }
355
+ /**
356
+ * On choose item inside list
357
+ */
358
+ onChooseItem(item) {
359
+ this.j.e.fire(this, 'choose', item);
360
+ }
361
+ chooseSelected() {
362
+ this.onChooseItem(this.latestSelected);
363
+ }
364
+ };
365
+ (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__decorate */ .gn)([
366
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_0__.autobind
367
+ ], UIBackupBox.prototype, "onSelectItem", null);
368
+ (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__decorate */ .gn)([
369
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_0__.autobind
370
+ ], UIBackupBox.prototype, "onChooseItem", null);
371
+ UIBackupBox = (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__decorate */ .gn)([
372
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_0__.component
373
+ ], UIBackupBox);
374
+
375
+
376
+ /***/ }),
377
+
378
+ /***/ 64741:
379
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
380
+
381
+ "use strict";
382
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
383
+ /* harmony export */ "O": function() { return /* binding */ UIBackupItem; }
384
+ /* harmony export */ });
385
+ /* harmony import */ var jodit_core_ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75004);
386
+ /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(95582);
387
+ /*!
388
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
389
+ * See LICENSE.md in the project root for license information.
390
+ * Copyright (c) 2013-2023 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
391
+ */
392
+
393
+
394
+
395
+ class UIBackupItem extends jodit_core_ui__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u1 {
396
+ /** @override */
397
+ className() {
398
+ return 'UIBackupItem';
399
+ }
400
+ constructor(jodit, data) {
401
+ super(jodit);
402
+ this.data = data;
403
+ this.container.innerHTML = this.formatDate(data.created);
404
+ (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.attr)(this.container, 'tabIndex', 0);
405
+ }
406
+ formatDate(timestamp) {
407
+ const now = new Date();
408
+ const date = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(timestamp) ? new Date(timestamp) : timestamp, diff = (now.getTime() - date.getTime()) / 1000;
409
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isFunction)(this.j.o.backup.formatDate)) {
410
+ return this.j.o.backup.formatDate(date);
411
+ }
412
+ if (diff < 0.2) {
413
+ return this.j.i18n('Current');
414
+ }
415
+ if (diff < 60) {
416
+ return this.j.i18n('Less minute');
417
+ }
418
+ if (diff <= 3600) {
419
+ return this.j.i18n('%s minutes ago', Math.floor(diff / 60));
420
+ }
421
+ if (diff <= 3600 * 24) {
422
+ return this.j.i18n('%s hours ago', Math.floor(diff / 3600));
423
+ }
424
+ return `${date.toDateString()} ${date.toLocaleTimeString()}`;
425
+ }
426
+ focus() {
427
+ this.container.focus();
428
+ }
429
+ }
430
+
431
+
432
+ /***/ }),
433
+
434
+ /***/ 75696:
435
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
436
+
437
+ "use strict";
438
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
439
+ /* harmony export */ "A": function() { return /* binding */ UIBackupList; }
440
+ /* harmony export */ });
441
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(97582);
442
+ /* harmony import */ var jodit_core_ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75004);
443
+ /* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(50526);
444
+ /* harmony import */ var _item__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(64741);
445
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(11612);
446
+ /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(95582);
447
+ /*!
448
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
449
+ * See LICENSE.md in the project root for license information.
450
+ * Copyright (c) 2013-2023 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
451
+ */
452
+
453
+
454
+
455
+
456
+
457
+
458
+ let UIBackupList = class UIBackupList extends jodit_core_ui__WEBPACK_IMPORTED_MODULE_0__/* .UIGroup */ .qe {
459
+ /** @override */
460
+ className() {
461
+ return 'UIBackupList';
462
+ }
463
+ /** @override */
464
+ createContainer(options) {
465
+ const div = super.createContainer(options);
466
+ (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.attr)(div, 'tabIndex', '-1');
467
+ return div;
468
+ }
469
+ constructor(jodit) {
470
+ super(jodit);
471
+ this.elements = [];
472
+ this.currentSelection = -1;
473
+ jodit.e.on(this.container, 'keydown', (e) => {
474
+ switch (e.key) {
475
+ case jodit_core_constants__WEBPACK_IMPORTED_MODULE_3__.KEY_ENTER:
476
+ e.preventDefault();
477
+ e.stopPropagation();
478
+ this.onChoose(this.currentSelection);
479
+ break;
480
+ case jodit_core_constants__WEBPACK_IMPORTED_MODULE_3__.KEY_DOWN:
481
+ this.selectNext();
482
+ break;
483
+ case jodit_core_constants__WEBPACK_IMPORTED_MODULE_3__.KEY_UP:
484
+ this.selectPrevious();
485
+ break;
486
+ }
487
+ });
488
+ }
489
+ build(items) {
490
+ this.clear();
491
+ items.forEach((data, index) => {
492
+ const item = new _item__WEBPACK_IMPORTED_MODULE_2__/* .UIBackupItem */ .O(this.jodit, data);
493
+ this.append(item);
494
+ this.j.e
495
+ .on(item.container, 'focus', () => this.onSelect(index))
496
+ .on(item.container, 'click', () => this.onSelect(index))
497
+ .on(item.container, 'dblclick', () => this.onChoose(index));
498
+ });
499
+ this.currentSelection = 0;
500
+ this.onChangeCurrentSelection(void 0, -1, 0);
501
+ }
502
+ onChangeCurrentSelection(_, old, index) {
503
+ this.elements[old]?.setMod('active', false);
504
+ this.elements[index]?.setMod('active', true);
505
+ this.elements[index]?.focus();
506
+ this.j.e.fire(this, 'select', this.elements[index].data);
507
+ }
508
+ onSelect(index) {
509
+ this.currentSelection = index;
510
+ }
511
+ onChoose(index) {
512
+ this.j.e.fire(this, 'choose', this.elements[index ?? this.currentSelection].data);
513
+ }
514
+ selectNext() {
515
+ if (this.currentSelection + 1 <= this.elements.length - 1) {
516
+ this.currentSelection += 1;
517
+ }
518
+ else {
519
+ this.currentSelection = 0;
520
+ }
521
+ }
522
+ selectPrevious() {
523
+ if (this.currentSelection - 1 >= 0) {
524
+ this.currentSelection -= 1;
525
+ }
526
+ else {
527
+ this.currentSelection = this.elements.length - 1;
528
+ }
529
+ }
530
+ };
531
+ (0,tslib__WEBPACK_IMPORTED_MODULE_5__/* .__decorate */ .gn)([
532
+ (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)('currentSelection')
533
+ ], UIBackupList.prototype, "onChangeCurrentSelection", null);
534
+ (0,tslib__WEBPACK_IMPORTED_MODULE_5__/* .__decorate */ .gn)([
535
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.autobind
536
+ ], UIBackupList.prototype, "onSelect", null);
537
+ (0,tslib__WEBPACK_IMPORTED_MODULE_5__/* .__decorate */ .gn)([
538
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.autobind
539
+ ], UIBackupList.prototype, "onChoose", null);
540
+ UIBackupList = (0,tslib__WEBPACK_IMPORTED_MODULE_5__/* .__decorate */ .gn)([
541
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.component
542
+ ], UIBackupList);
543
+
544
+
545
+ /***/ })
546
+
547
+ },
548
+ /******/ function(__webpack_require__) { // webpackRuntimeModules
549
+ /******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
550
+ /******/ var __webpack_exports__ = (__webpack_exec__(32100));
551
+ /******/ return __webpack_exports__;
552
+ /******/ }
553
+ ]);
554
+ });
@@ -0,0 +1 @@
1
+ .jodit-ui-backup-box{border-bottom:1px solid var(--jd-color-border);display:flex;height:100%;justify-content:stretch;max-height:100%}.jodit-ui-backup-box__list{border-right:1px solid var(--jd-color-border);min-width:200px;overflow:auto;padding:var(--jd-padding-default);user-select:none}.jodit-ui-backup-box__preview{flex:1;overflow:auto;padding:var(--jd-padding-default)}.jodit-ui-backup-box__empty{height:30px;margin:auto;opacity:.3;position:relative;top:50%;width:100px}.jodit-ui-backup-item{cursor:pointer;padding:var(--jd-padding-default)}.jodit-ui-backup-item:hover{background-color:var(--jd-color-background-selection)}.jodit-ui-backup-item_active_true{background-color:var(--jd-color-background-selection-opacity50);outline:1px solid var(--jd-color-border-active)}
@@ -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 s=e();for(var o in s)("object"==typeof exports?exports:t)[o]=s[o]}})(self,(function(){return(self.webpackChunkjodit_pro=self.webpackChunkjodit_pro||[]).push([[391],{50722(t){t.exports='<?xml version="1.0" ?><svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><title/><g id="Upload"><path d="M16,26h8V50a2,2,0,0,0,2,2H38a2,2,0,0,0,2-2V26h8a2,2,0,0,0,1.4946-3.3291l-16-18a2,2,0,0,0-2.9892,0l-16,18A2,2,0,0,0,16,26ZM32,9.0107,43.5464,22H38a2,2,0,0,0-2,2V48H28V24a2,2,0,0,0-2-2H20.4536Z"/><path d="M53,42a2,2,0,0,0-2,2V54a2.0023,2.0023,0,0,1-2,2H15a2.0023,2.0023,0,0,1-2-2V44a2,2,0,0,0-4,0V54a6.0066,6.0066,0,0,0,6,6H49a6.0066,6.0066,0,0,0,6-6V44A2,2,0,0,0,53,42Z"/></g></svg>'},32100(t,e,s){"use strict";s.r(e),s.d(e,{backup(){return h}});var o=s(97582),i=(s(19775),s(7324)),n=s(1844),a=s(71298),r=s(75004),c=s(50526),l=s(88292);class h extends i.S{constructor(){super(...arguments),this.hasStyle=!l.y.fatMode,this.buttons=[{name:"backup.restore",group:"history"}],this.__box=new a.j(this.j),this.__dialog=null,this.__storage=this.jodit.o.backup.remoteStore??new n.W(this.jodit),this.timeout=0}afterInit(t){t.registerCommand("saveBackup",this.onSaveBackup).registerCommand("openBackupDialog",{exec:this.onOpenBackupDialog,hotkeys:t.o.backup.hotkeys});const e=()=>{this.timeout=t.async.setTimeout((()=>{this.onSaveBackup(),e()}),1e3*t.o.backup.interval)};e(),t.e.on(this.__box,"choose",this.onSelectItem).on(t.ow,"beforeunload.backup",(()=>{this.onSaveBackup()}))}prepareDialog(){this.__dialog||(this.__dialog=this.j.dlg({minWidth:this.j.o.backup.dialogWidth,buttons:["fullsize","dialog.close"]}).setContent(this.__box.container)),this.__dialog.setHeader(this.jodit.i18n("Restore")),this.addButtonsToDialog()}onSaveBackup(){this.__storage.add({created:new Date,html:this.j.value})}async onOpenBackupDialog(){this.prepareDialog();const{__dialog:t}=this;if(!t)return;t.open().setModal(!0);const e=await this.__storage.items();this.__box.build([{created:new Date,html:this.j.value},...e]),t.calcAutoSize(),t.setPosition()}onSelectItem(t){this.__dialog?.close(),this.j.value=t.html,this.j.s.focus()}addButtonsToDialog(){const{jodit:t}=this,e=(0,r.zx)(t,{name:"ok",tabIndex:0,variant:"primary",text:"Ok"}),s=(0,r.zx)(t,{variant:"secondary",tabIndex:0,text:"Cancel"}),o=(0,r.zx)(t,{name:"clear",tabIndex:0,variant:"secondary",text:"Remove all"});e.onAction((()=>{this.__box.chooseSelected()})),s.onAction((()=>{this.__dialog?.close()})),o.onAction((()=>{t.confirm("Are you sure?",void 0,(t=>{t&&(this.__storage.clear(),this.__dialog?.close())}))}));const i=new r.eC(t,[o,s,e]);i.container.style.margin="0",i.container.style.justifyContent="flex-end",i.container.style.width="100%",this.__dialog?.setFooter(i)}beforeDestruct(){const{j:t}=this;t.async.clearTimeout(this.timeout),t.e.off(this.__box,"choose",this.onSelectItem).off(t.ow,"beforeunload.backup"),this.__box.destruct(),this.__dialog?.destruct()}}h.requires=["license"],(0,o.gn)([c.autobind],h.prototype,"onSaveBackup",null),(0,o.gn)([c.autobind],h.prototype,"onOpenBackupDialog",null),(0,o.gn)([c.autobind],h.prototype,"onSelectItem",null),l.y.plugins.add("backup",h)},19775(t,e,s){"use strict";var o=s(77628),i=s(10503),n=s(81160);o.Config.prototype.backup={interval:30,limit:50,dialogWidth:700,hotkeys:["ctrl+shift+b","cmd+shift+b"]},o.Config.prototype.controls.backup={store:{command:"saveBackup",text:"Save backup now"},restore:{tooltip:"Restore",list:["backup.store"],exec(t){t.execCommand("openBackupDialog")}}},i.J.set("restore",s(50722)),(0,n.xl)(s(10188))},10188(t,e,s){"use strict";s.r(e)},1844(t,e,s){"use strict";s.d(e,{W(){return o}});class o{constructor(t){this.jodit=t,this.key="backup.default.storage"}async add(t){if(!t.html.trim().length)return!1;const e=this.jodit.storage.get(this.key)||[];return e.find((e=>e.html===t.html))||(e.unshift(t),e.length>this.jodit.o.backup.limit&&(e.length=this.jodit.o.backup.limit),this.jodit.storage.set(this.key,e)),!1}items(){return Promise.resolve(this.jodit.storage.get(this.key)||[])}clear(){return this.jodit.storage.delete(this.key),Promise.resolve(!1)}}},71298(t,e,s){"use strict";s.d(e,{j(){return r}});var o=s(97582),i=s(50526),n=s(75004),a=s(75696);let r=class t extends n.u1{className(){return"UIBackupBox"}constructor(t){super(t),this.list=new a.A(this.j),this.preview=this.j.c.div(this.getFullElName("preview")),this.container.appendChild(this.list.container),this.container.appendChild(this.preview),this.list.container.classList.add(this.getFullElName("list")),t.e.on(this.list,"select",this.onSelectItem).on(this.list,"choose",this.onChooseItem)}build(t){this.preview.innerHTML="",this.list.build(t)}destruct(){return this.j.e.off(this.list,"select",this.onSelectItem),this.list.destruct(),super.destruct()}onSelectItem(t){this.latestSelected=t,this.preview.innerHTML=t.html||`<div class="${this.getFullElName("empty")}">${this.j.i18n("Empty")}</div>`}onChooseItem(t){this.j.e.fire(this,"choose",t)}chooseSelected(){this.onChooseItem(this.latestSelected)}};(0,o.gn)([i.autobind],r.prototype,"onSelectItem",null),(0,o.gn)([i.autobind],r.prototype,"onChooseItem",null),r=(0,o.gn)([i.component],r)},64741(t,e,s){"use strict";s.d(e,{O(){return n}});var o=s(75004),i=s(95582);class n extends o.u1{className(){return"UIBackupItem"}constructor(t,e){super(t),this.data=e,this.container.innerHTML=this.formatDate(e.created),(0,i.attr)(this.container,"tabIndex",0)}formatDate(t){const e=new Date,s=(0,i.isString)(t)?new Date(t):t,o=(e.getTime()-s.getTime())/1e3;return(0,i.isFunction)(this.j.o.backup.formatDate)?this.j.o.backup.formatDate(s):.2>o?this.j.i18n("Current"):60>o?this.j.i18n("Less minute"):o>3600?o>86400?`${s.toDateString()} ${s.toLocaleTimeString()}`:this.j.i18n("%s hours ago",Math.floor(o/3600)):this.j.i18n("%s minutes ago",Math.floor(o/60))}focus(){this.container.focus()}}},75696(t,e,s){"use strict";s.d(e,{A(){return l}});var o=s(97582),i=s(75004),n=s(50526),a=s(64741),r=s(11612),c=s(95582);let l=class t extends i.qe{className(){return"UIBackupList"}createContainer(t){const e=super.createContainer(t);return(0,c.attr)(e,"tabIndex","-1"),e}constructor(t){super(t),this.elements=[],this.currentSelection=-1,t.e.on(this.container,"keydown",(t=>{switch(t.key){case r.KEY_ENTER:t.preventDefault(),t.stopPropagation(),this.onChoose(this.currentSelection);break;case r.KEY_DOWN:this.selectNext();break;case r.KEY_UP:this.selectPrevious()}}))}build(t){this.clear(),t.forEach(((t,e)=>{const s=new a.O(this.jodit,t);this.append(s),this.j.e.on(s.container,"focus",(()=>this.onSelect(e))).on(s.container,"click",(()=>this.onSelect(e))).on(s.container,"dblclick",(()=>this.onChoose(e)))})),this.currentSelection=0,this.onChangeCurrentSelection(void 0,-1,0)}onChangeCurrentSelection(t,e,s){this.elements[e]?.setMod("active",!1),this.elements[s]?.setMod("active",!0),this.elements[s]?.focus(),this.j.e.fire(this,"select",this.elements[s].data)}onSelect(t){this.currentSelection=t}onChoose(t){this.j.e.fire(this,"choose",this.elements[t??this.currentSelection].data)}selectNext(){this.currentSelection+1>this.elements.length-1?this.currentSelection=0:this.currentSelection+=1}selectPrevious(){0>this.currentSelection-1?this.currentSelection=this.elements.length-1:this.currentSelection-=1}};(0,o.gn)([(0,n.watch)("currentSelection")],l.prototype,"onChangeCurrentSelection",null),(0,o.gn)([n.autobind],l.prototype,"onSelect",null),(0,o.gn)([n.autobind],l.prototype,"onChoose",null),l=(0,o.gn)([n.component],l)}},t=>t(t.s=32100)])}));