jodit-pro 4.13.5 → 4.13.8

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 (365) hide show
  1. package/es2015/jodit.css +2 -2
  2. package/es2015/jodit.fat.min.css +1 -1
  3. package/es2015/jodit.fat.min.js +22 -22
  4. package/es2015/jodit.js +9 -6
  5. package/es2015/jodit.min.css +1 -1
  6. package/es2015/jodit.min.js +3 -3
  7. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  8. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  9. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  10. package/es2015/plugins/autocomplete/autocomplete.css +1 -1
  11. package/es2015/plugins/autocomplete/autocomplete.js +1 -1
  12. package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
  13. package/es2015/plugins/backup/backup.css +1 -1
  14. package/es2015/plugins/backup/backup.js +1 -1
  15. package/es2015/plugins/backup/backup.min.js +1 -1
  16. package/es2015/plugins/button-generator/button-generator.css +1 -1
  17. package/es2015/plugins/button-generator/button-generator.js +1 -1
  18. package/es2015/plugins/button-generator/button-generator.min.js +1 -1
  19. package/es2015/plugins/change-case/change-case.js +1 -1
  20. package/es2015/plugins/change-case/change-case.min.js +1 -1
  21. package/es2015/plugins/color-picker/color-picker.css +1 -1
  22. package/es2015/plugins/color-picker/color-picker.js +1 -1
  23. package/es2015/plugins/color-picker/color-picker.min.js +1 -1
  24. package/es2015/plugins/emoji/emoji.css +1 -1
  25. package/es2015/plugins/emoji/emoji.js +1 -1
  26. package/es2015/plugins/emoji/emoji.min.js +1 -1
  27. package/es2015/plugins/export-docs/export-docs.js +1 -1
  28. package/es2015/plugins/export-docs/export-docs.min.js +1 -1
  29. package/es2015/plugins/finder/finder.css +4 -1
  30. package/es2015/plugins/finder/finder.js +513 -112
  31. package/es2015/plugins/finder/finder.min.css +1 -1
  32. package/es2015/plugins/finder/finder.min.js +7 -7
  33. package/es2015/plugins/google-maps/google-maps.css +1 -1
  34. package/es2015/plugins/google-maps/google-maps.js +1 -1
  35. package/es2015/plugins/google-maps/google-maps.min.js +1 -1
  36. package/es2015/plugins/google-search/google-search.js +1 -1
  37. package/es2015/plugins/google-search/google-search.min.js +1 -1
  38. package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
  39. package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
  40. package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
  41. package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
  42. package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
  43. package/es2015/plugins/image-editor-pro/image-editor-pro.css +1 -1
  44. package/es2015/plugins/image-editor-pro/image-editor-pro.js +29 -11
  45. package/es2015/plugins/image-editor-pro/image-editor-pro.min.js +2 -2
  46. package/es2015/plugins/keyboard/keyboard.css +1 -1
  47. package/es2015/plugins/keyboard/keyboard.js +1 -1
  48. package/es2015/plugins/keyboard/keyboard.min.js +1 -1
  49. package/es2015/plugins/mobile-view/mobile-view.js +1 -1
  50. package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
  51. package/es2015/plugins/page-break/page-break.js +1 -1
  52. package/es2015/plugins/page-break/page-break.min.js +1 -1
  53. package/es2015/plugins/paste-code/paste-code.css +1 -1
  54. package/es2015/plugins/paste-code/paste-code.js +1 -1
  55. package/es2015/plugins/paste-code/paste-code.min.js +1 -1
  56. package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
  57. package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
  58. package/es2015/plugins/show-blocks/show-blocks.js +1 -1
  59. package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
  60. package/es2015/plugins/style/style.css +1 -1
  61. package/es2015/plugins/style/style.js +1 -1
  62. package/es2015/plugins/style/style.min.js +1 -1
  63. package/es2015/plugins/templates/templates.css +1 -1
  64. package/es2015/plugins/templates/templates.js +1 -1
  65. package/es2015/plugins/templates/templates.min.js +1 -1
  66. package/es2015/plugins/todo-list/todo-list.css +1 -1
  67. package/es2015/plugins/todo-list/todo-list.js +1 -1
  68. package/es2015/plugins/todo-list/todo-list.min.js +1 -1
  69. package/es2015/plugins/translate/translate.css +1 -1
  70. package/es2015/plugins/translate/translate.js +1 -1
  71. package/es2015/plugins/translate/translate.min.js +1 -1
  72. package/es2015/plugins/tune-block/tune-block.css +1 -1
  73. package/es2015/plugins/tune-block/tune-block.js +1 -1
  74. package/es2015/plugins/tune-block/tune-block.min.js +1 -1
  75. package/es2018/jodit.fat.min.css +1 -1
  76. package/es2018/jodit.fat.min.js +16 -16
  77. package/es2018/jodit.min.css +1 -1
  78. package/es2018/jodit.min.js +3 -3
  79. package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  80. package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
  81. package/es2018/plugins/backup/backup.min.js +1 -1
  82. package/es2018/plugins/button-generator/button-generator.min.js +1 -1
  83. package/es2018/plugins/change-case/change-case.min.js +1 -1
  84. package/es2018/plugins/color-picker/color-picker.min.js +1 -1
  85. package/es2018/plugins/emoji/emoji.min.js +1 -1
  86. package/es2018/plugins/export-docs/export-docs.min.js +1 -1
  87. package/es2018/plugins/finder/finder.min.css +1 -1
  88. package/es2018/plugins/finder/finder.min.js +13 -13
  89. package/es2018/plugins/google-maps/google-maps.min.js +1 -1
  90. package/es2018/plugins/google-search/google-search.min.js +1 -1
  91. package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
  92. package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
  93. package/es2018/plugins/image-editor-pro/image-editor-pro.min.js +2 -2
  94. package/es2018/plugins/keyboard/keyboard.min.js +1 -1
  95. package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
  96. package/es2018/plugins/page-break/page-break.min.js +1 -1
  97. package/es2018/plugins/paste-code/paste-code.min.js +1 -1
  98. package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
  99. package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
  100. package/es2018/plugins/style/style.min.js +1 -1
  101. package/es2018/plugins/templates/templates.min.js +1 -1
  102. package/es2018/plugins/todo-list/todo-list.min.js +1 -1
  103. package/es2018/plugins/translate/translate.min.js +1 -1
  104. package/es2018/plugins/tune-block/tune-block.min.js +1 -1
  105. package/es2021/jodit.css +2 -2
  106. package/es2021/jodit.fat.min.css +1 -1
  107. package/es2021/jodit.fat.min.js +19 -19
  108. package/es2021/jodit.js +9 -6
  109. package/es2021/jodit.min.css +1 -1
  110. package/es2021/jodit.min.js +3 -3
  111. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  112. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  113. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  114. package/es2021/plugins/autocomplete/autocomplete.css +1 -1
  115. package/es2021/plugins/autocomplete/autocomplete.js +1 -1
  116. package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
  117. package/es2021/plugins/backup/backup.css +1 -1
  118. package/es2021/plugins/backup/backup.js +1 -1
  119. package/es2021/plugins/backup/backup.min.js +1 -1
  120. package/es2021/plugins/button-generator/button-generator.css +1 -1
  121. package/es2021/plugins/button-generator/button-generator.js +1 -1
  122. package/es2021/plugins/button-generator/button-generator.min.js +1 -1
  123. package/es2021/plugins/change-case/change-case.js +1 -1
  124. package/es2021/plugins/change-case/change-case.min.js +1 -1
  125. package/es2021/plugins/color-picker/color-picker.css +1 -1
  126. package/es2021/plugins/color-picker/color-picker.js +1 -1
  127. package/es2021/plugins/color-picker/color-picker.min.js +1 -1
  128. package/es2021/plugins/emoji/emoji.css +1 -1
  129. package/es2021/plugins/emoji/emoji.js +1 -1
  130. package/es2021/plugins/emoji/emoji.min.js +1 -1
  131. package/es2021/plugins/export-docs/export-docs.js +1 -1
  132. package/es2021/plugins/export-docs/export-docs.min.js +1 -1
  133. package/es2021/plugins/finder/finder.css +4 -1
  134. package/es2021/plugins/finder/finder.js +511 -112
  135. package/es2021/plugins/finder/finder.min.css +1 -1
  136. package/es2021/plugins/finder/finder.min.js +13 -13
  137. package/es2021/plugins/google-maps/google-maps.css +1 -1
  138. package/es2021/plugins/google-maps/google-maps.js +1 -1
  139. package/es2021/plugins/google-maps/google-maps.min.js +1 -1
  140. package/es2021/plugins/google-search/google-search.js +1 -1
  141. package/es2021/plugins/google-search/google-search.min.js +1 -1
  142. package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
  143. package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
  144. package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
  145. package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
  146. package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
  147. package/es2021/plugins/image-editor-pro/image-editor-pro.css +1 -1
  148. package/es2021/plugins/image-editor-pro/image-editor-pro.js +29 -11
  149. package/es2021/plugins/image-editor-pro/image-editor-pro.min.js +4 -4
  150. package/es2021/plugins/keyboard/keyboard.css +1 -1
  151. package/es2021/plugins/keyboard/keyboard.js +1 -1
  152. package/es2021/plugins/keyboard/keyboard.min.js +1 -1
  153. package/es2021/plugins/mobile-view/mobile-view.js +1 -1
  154. package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
  155. package/es2021/plugins/page-break/page-break.js +1 -1
  156. package/es2021/plugins/page-break/page-break.min.js +1 -1
  157. package/es2021/plugins/paste-code/paste-code.css +1 -1
  158. package/es2021/plugins/paste-code/paste-code.js +1 -1
  159. package/es2021/plugins/paste-code/paste-code.min.js +1 -1
  160. package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
  161. package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
  162. package/es2021/plugins/show-blocks/show-blocks.js +1 -1
  163. package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
  164. package/es2021/plugins/style/style.css +1 -1
  165. package/es2021/plugins/style/style.js +1 -1
  166. package/es2021/plugins/style/style.min.js +1 -1
  167. package/es2021/plugins/templates/templates.css +1 -1
  168. package/es2021/plugins/templates/templates.js +1 -1
  169. package/es2021/plugins/templates/templates.min.js +1 -1
  170. package/es2021/plugins/todo-list/todo-list.css +1 -1
  171. package/es2021/plugins/todo-list/todo-list.js +1 -1
  172. package/es2021/plugins/todo-list/todo-list.min.js +1 -1
  173. package/es2021/plugins/translate/translate.css +1 -1
  174. package/es2021/plugins/translate/translate.js +1 -1
  175. package/es2021/plugins/translate/translate.min.js +1 -1
  176. package/es2021/plugins/tune-block/tune-block.css +1 -1
  177. package/es2021/plugins/tune-block/tune-block.js +1 -1
  178. package/es2021/plugins/tune-block/tune-block.min.js +1 -1
  179. package/es2021.en/jodit.css +2 -2
  180. package/es2021.en/jodit.fat.min.css +1 -1
  181. package/es2021.en/jodit.fat.min.js +10 -10
  182. package/es2021.en/jodit.js +9 -6
  183. package/es2021.en/jodit.min.css +1 -1
  184. package/es2021.en/jodit.min.js +3 -3
  185. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  186. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  187. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  188. package/es2021.en/plugins/autocomplete/autocomplete.css +1 -1
  189. package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
  190. package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
  191. package/es2021.en/plugins/backup/backup.css +1 -1
  192. package/es2021.en/plugins/backup/backup.js +1 -1
  193. package/es2021.en/plugins/backup/backup.min.js +1 -1
  194. package/es2021.en/plugins/button-generator/button-generator.css +1 -1
  195. package/es2021.en/plugins/button-generator/button-generator.js +1 -1
  196. package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
  197. package/es2021.en/plugins/change-case/change-case.js +1 -1
  198. package/es2021.en/plugins/change-case/change-case.min.js +1 -1
  199. package/es2021.en/plugins/color-picker/color-picker.css +1 -1
  200. package/es2021.en/plugins/color-picker/color-picker.js +1 -1
  201. package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
  202. package/es2021.en/plugins/emoji/emoji.css +1 -1
  203. package/es2021.en/plugins/emoji/emoji.js +1 -1
  204. package/es2021.en/plugins/emoji/emoji.min.js +1 -1
  205. package/es2021.en/plugins/export-docs/export-docs.js +1 -1
  206. package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
  207. package/es2021.en/plugins/finder/finder.css +4 -1
  208. package/es2021.en/plugins/finder/finder.js +491 -110
  209. package/es2021.en/plugins/finder/finder.min.css +1 -1
  210. package/es2021.en/plugins/finder/finder.min.js +13 -13
  211. package/es2021.en/plugins/google-maps/google-maps.css +1 -1
  212. package/es2021.en/plugins/google-maps/google-maps.js +1 -1
  213. package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
  214. package/es2021.en/plugins/google-search/google-search.js +1 -1
  215. package/es2021.en/plugins/google-search/google-search.min.js +1 -1
  216. package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
  217. package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
  218. package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
  219. package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
  220. package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
  221. package/es2021.en/plugins/image-editor-pro/image-editor-pro.css +1 -1
  222. package/es2021.en/plugins/image-editor-pro/image-editor-pro.js +29 -11
  223. package/es2021.en/plugins/image-editor-pro/image-editor-pro.min.js +4 -4
  224. package/es2021.en/plugins/keyboard/keyboard.css +1 -1
  225. package/es2021.en/plugins/keyboard/keyboard.js +1 -1
  226. package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
  227. package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
  228. package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
  229. package/es2021.en/plugins/page-break/page-break.js +1 -1
  230. package/es2021.en/plugins/page-break/page-break.min.js +1 -1
  231. package/es2021.en/plugins/paste-code/paste-code.css +1 -1
  232. package/es2021.en/plugins/paste-code/paste-code.js +1 -1
  233. package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
  234. package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
  235. package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
  236. package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
  237. package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
  238. package/es2021.en/plugins/style/style.css +1 -1
  239. package/es2021.en/plugins/style/style.js +1 -1
  240. package/es2021.en/plugins/style/style.min.js +1 -1
  241. package/es2021.en/plugins/templates/templates.css +1 -1
  242. package/es2021.en/plugins/templates/templates.js +1 -1
  243. package/es2021.en/plugins/templates/templates.min.js +1 -1
  244. package/es2021.en/plugins/todo-list/todo-list.css +1 -1
  245. package/es2021.en/plugins/todo-list/todo-list.js +1 -1
  246. package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
  247. package/es2021.en/plugins/translate/translate.css +1 -1
  248. package/es2021.en/plugins/translate/translate.js +1 -1
  249. package/es2021.en/plugins/translate/translate.min.js +1 -1
  250. package/es2021.en/plugins/tune-block/tune-block.css +1 -1
  251. package/es2021.en/plugins/tune-block/tune-block.js +1 -1
  252. package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
  253. package/es5/jodit.css +3 -3
  254. package/es5/jodit.fat.min.css +1 -1
  255. package/es5/jodit.fat.min.js +2 -2
  256. package/es5/jodit.js +9 -7
  257. package/es5/jodit.min.css +3 -3
  258. package/es5/jodit.min.js +2 -2
  259. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  260. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  261. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  262. package/es5/plugins/autocomplete/autocomplete.css +1 -1
  263. package/es5/plugins/autocomplete/autocomplete.js +1 -1
  264. package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
  265. package/es5/plugins/backup/backup.css +1 -1
  266. package/es5/plugins/backup/backup.js +1 -1
  267. package/es5/plugins/backup/backup.min.js +1 -1
  268. package/es5/plugins/button-generator/button-generator.css +1 -1
  269. package/es5/plugins/button-generator/button-generator.js +1 -1
  270. package/es5/plugins/button-generator/button-generator.min.js +1 -1
  271. package/es5/plugins/change-case/change-case.js +1 -1
  272. package/es5/plugins/change-case/change-case.min.js +1 -1
  273. package/es5/plugins/color-picker/color-picker.css +1 -1
  274. package/es5/plugins/color-picker/color-picker.js +1 -1
  275. package/es5/plugins/color-picker/color-picker.min.js +1 -1
  276. package/es5/plugins/emoji/emoji.css +1 -1
  277. package/es5/plugins/emoji/emoji.js +1 -1
  278. package/es5/plugins/emoji/emoji.min.js +1 -1
  279. package/es5/plugins/export-docs/export-docs.js +1 -1
  280. package/es5/plugins/export-docs/export-docs.min.js +1 -1
  281. package/es5/plugins/finder/finder.css +4 -1
  282. package/es5/plugins/finder/finder.js +701 -116
  283. package/es5/plugins/finder/finder.min.css +1 -1
  284. package/es5/plugins/finder/finder.min.js +2 -2
  285. package/es5/plugins/google-maps/google-maps.css +1 -1
  286. package/es5/plugins/google-maps/google-maps.js +1 -1
  287. package/es5/plugins/google-maps/google-maps.min.js +1 -1
  288. package/es5/plugins/google-search/google-search.js +1 -1
  289. package/es5/plugins/google-search/google-search.min.js +1 -1
  290. package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
  291. package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
  292. package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
  293. package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
  294. package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
  295. package/es5/plugins/image-editor-pro/image-editor-pro.css +1 -1
  296. package/es5/plugins/image-editor-pro/image-editor-pro.js +30 -12
  297. package/es5/plugins/image-editor-pro/image-editor-pro.min.js +2 -2
  298. package/es5/plugins/keyboard/keyboard.css +1 -1
  299. package/es5/plugins/keyboard/keyboard.js +1 -1
  300. package/es5/plugins/keyboard/keyboard.min.js +1 -1
  301. package/es5/plugins/mobile-view/mobile-view.js +1 -1
  302. package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
  303. package/es5/plugins/page-break/page-break.js +1 -1
  304. package/es5/plugins/page-break/page-break.min.js +1 -1
  305. package/es5/plugins/paste-code/paste-code.css +1 -1
  306. package/es5/plugins/paste-code/paste-code.js +1 -1
  307. package/es5/plugins/paste-code/paste-code.min.js +1 -1
  308. package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
  309. package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
  310. package/es5/plugins/show-blocks/show-blocks.js +1 -1
  311. package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
  312. package/es5/plugins/style/style.css +1 -1
  313. package/es5/plugins/style/style.js +1 -1
  314. package/es5/plugins/style/style.min.js +1 -1
  315. package/es5/plugins/templates/templates.css +1 -1
  316. package/es5/plugins/templates/templates.js +1 -1
  317. package/es5/plugins/templates/templates.min.js +1 -1
  318. package/es5/plugins/todo-list/todo-list.css +1 -1
  319. package/es5/plugins/todo-list/todo-list.js +1 -1
  320. package/es5/plugins/todo-list/todo-list.min.js +1 -1
  321. package/es5/plugins/translate/translate.css +1 -1
  322. package/es5/plugins/translate/translate.js +1 -1
  323. package/es5/plugins/translate/translate.min.js +1 -1
  324. package/es5/plugins/tune-block/tune-block.css +1 -1
  325. package/es5/plugins/tune-block/tune-block.js +1 -1
  326. package/es5/plugins/tune-block/tune-block.min.js +1 -1
  327. package/es5/polyfills.fat.min.js +1 -1
  328. package/es5/polyfills.js +1 -1
  329. package/es5/polyfills.min.js +1 -1
  330. package/esm/plugins/finder/browser.d.ts +21 -3
  331. package/esm/plugins/finder/browser.js +1 -1
  332. package/esm/plugins/finder/config.js +1 -1
  333. package/esm/plugins/finder/helpers/context-menu.d.ts +6 -0
  334. package/esm/plugins/finder/helpers/context-menu.js +1 -1
  335. package/esm/plugins/finder/helpers/data-provider.d.ts +26 -0
  336. package/esm/plugins/finder/helpers/data-provider.js +1 -0
  337. package/esm/plugins/finder/helpers/helpers.d.ts +27 -0
  338. package/esm/plugins/finder/helpers/helpers.js +1 -1
  339. package/esm/plugins/finder/helpers/persistent-store.d.ts +13 -8
  340. package/esm/plugins/finder/helpers/persistent-store.js +1 -1
  341. package/esm/plugins/finder/interface.d.ts +24 -1
  342. package/esm/plugins/finder/langs/de.d.ts +9 -0
  343. package/esm/plugins/finder/langs/de.js +1 -1
  344. package/esm/plugins/finder/langs/ru.d.ts +9 -0
  345. package/esm/plugins/finder/langs/ru.js +1 -1
  346. package/esm/plugins/finder/ui/header/header.d.ts +7 -1
  347. package/esm/plugins/finder/ui/header/header.js +1 -1
  348. package/esm/plugins/finder/ui/panel/panel.d.ts +5 -0
  349. package/esm/plugins/finder/ui/panel/panel.js +2 -2
  350. package/esm/plugins/finder/ui/virtual-scroll/virtual-scroll.d.ts +5 -0
  351. package/esm/plugins/finder/ui/virtual-scroll/virtual-scroll.js +2 -2
  352. package/esm/plugins/image-editor-pro/adapter.js +1 -1
  353. package/esm/plugins/image-editor-pro/image-editor-pro.js +1 -1
  354. package/package.json +1 -1
  355. package/types/plugins/finder/browser.d.ts +21 -3
  356. package/types/plugins/finder/helpers/context-menu.d.ts +6 -0
  357. package/types/plugins/finder/helpers/data-provider.d.ts +26 -0
  358. package/types/plugins/finder/helpers/helpers.d.ts +27 -0
  359. package/types/plugins/finder/helpers/persistent-store.d.ts +13 -8
  360. package/types/plugins/finder/interface.d.ts +24 -1
  361. package/types/plugins/finder/langs/de.d.ts +9 -0
  362. package/types/plugins/finder/langs/ru.d.ts +9 -0
  363. package/types/plugins/finder/ui/header/header.d.ts +7 -1
  364. package/types/plugins/finder/ui/panel/panel.d.ts +5 -0
  365. package/types/plugins/finder/ui/virtual-scroll/virtual-scroll.d.ts +5 -0
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * jodit-pro - PRO Version of Jodit Editor
3
3
  * Author: Chupurnov Valerii <chupurnov@gmail.com>
4
- * Version: v4.13.5
4
+ * Version: v4.13.8
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -51,26 +51,27 @@ module.exports = "<svg viewBox=\"0 0 252 252\" xmlns=\"http://www.w3.org/2000/sv
51
51
  /* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(31635);
52
52
  /* harmony import */ var _ui_assets_icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(34042);
53
53
  /* harmony import */ var _helpers_context_menu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8087);
54
- /* harmony import */ var _helpers_helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(77841);
55
- /* harmony import */ var _helpers_history_manager__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(17578);
56
- /* harmony import */ var _helpers_loading_manager__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(97770);
57
- /* harmony import */ var _helpers_persistent_store__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(42663);
58
- /* harmony import */ var _helpers_state_manager__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(55535);
59
- /* harmony import */ var _ui_header_header__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(18250);
60
- /* harmony import */ var _ui_lightboox_lightbox__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(69277);
61
- /* harmony import */ var _ui_panel_panel__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(4278);
62
- /* harmony import */ var _ui_progress_progress__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(95002);
63
- /* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(6441);
64
- /* harmony import */ var jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(82758);
65
- /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(65478);
66
- /* harmony import */ var jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(21537);
67
- /* harmony import */ var jodit_esm_core_traits_dlgs__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(70231);
68
- /* harmony import */ var jodit_esm_modules__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(41409);
69
- /* harmony import */ var jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(638);
70
- /* harmony import */ var jodit_esm_modules_file_browser_factories__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(63399);
71
- /* harmony import */ var jodit_esm_modules_image_editor_image_editor__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(50050);
72
- /* harmony import */ var jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(2692);
73
- /* harmony import */ var jodit_pro_plugins_license_license__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(21246);
54
+ /* harmony import */ var _helpers_data_provider__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(34698);
55
+ /* harmony import */ var _helpers_helpers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(77841);
56
+ /* harmony import */ var _helpers_history_manager__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(17578);
57
+ /* harmony import */ var _helpers_loading_manager__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(97770);
58
+ /* harmony import */ var _helpers_persistent_store__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(42663);
59
+ /* harmony import */ var _helpers_state_manager__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(55535);
60
+ /* harmony import */ var _ui_header_header__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(18250);
61
+ /* harmony import */ var _ui_lightboox_lightbox__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(69277);
62
+ /* harmony import */ var _ui_panel_panel__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(4278);
63
+ /* harmony import */ var _ui_progress_progress__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(95002);
64
+ /* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(6441);
65
+ /* harmony import */ var jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(82758);
66
+ /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(65478);
67
+ /* harmony import */ var jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(21537);
68
+ /* harmony import */ var jodit_esm_core_traits_dlgs__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(70231);
69
+ /* harmony import */ var jodit_esm_modules__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(41409);
70
+ /* harmony import */ var jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(638);
71
+ /* harmony import */ var jodit_esm_modules_file_browser_data_provider__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(11787);
72
+ /* harmony import */ var jodit_esm_modules_image_editor_image_editor__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(50050);
73
+ /* harmony import */ var jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(2692);
74
+ /* harmony import */ var jodit_pro_plugins_license_license__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(21246);
74
75
  /*!
75
76
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
76
77
  * See LICENSE.md in the project root for license information.
@@ -101,7 +102,8 @@ module.exports = "<svg viewBox=\"0 0 252 252\" xmlns=\"http://www.w3.org/2000/sv
101
102
 
102
103
 
103
104
 
104
- class FileBrowserPro extends jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_20__.Dialog {
105
+
106
+ class FileBrowserPro extends jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_21__.Dialog {
105
107
  /** @override */ className() {
106
108
  return 'FileBrowserPro';
107
109
  }
@@ -114,13 +116,13 @@ class FileBrowserPro extends jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_2
114
116
  return super.unlock();
115
117
  }
116
118
  status(message, success = !(message instanceof Error)) {
117
- if ((0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_17__.isAbortError)(message)) {
119
+ if ((0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_18__.isAbortError)(message)) {
118
120
  return;
119
121
  }
120
- if (!jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_15__.IS_PROD && !(0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_17__.isString)(message)) {
122
+ if (!jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_16__.IS_PROD && !(0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_18__.isString)(message)) {
121
123
  console.error(message);
122
124
  }
123
- this.message.message((0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_17__.isString)(message) ? message : message.message, success ? 'success' : 'error', this.options.howLongShowMsg);
125
+ this.message.message((0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_18__.isString)(message) ? message : message.message, success ? 'success' : 'error', this.options.howLongShowMsg);
124
126
  }
125
127
  /**
126
128
  * Upload error handler bound to the uploader. The uploader calls it with
@@ -130,17 +132,26 @@ class FileBrowserPro extends jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_2
130
132
  * no error. Mirror the core file-browser: pull the message out of the
131
133
  * answer via the data provider and show it as an error.
132
134
  */ errorHandler(resp) {
133
- if ((0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_17__.isAbortError)(resp)) {
135
+ if ((0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_18__.isAbortError)(resp)) {
134
136
  return;
135
137
  }
136
138
  this.status(resp instanceof Error ? this.i18n(resp.message) : this.dataProvider.getMessage(resp), false);
137
139
  }
138
140
  get progressbar() {
139
- return new _ui_progress_progress__WEBPACK_IMPORTED_MODULE_13__.UIProgress(this, this.stateManager.state);
141
+ return new _ui_progress_progress__WEBPACK_IMPORTED_MODULE_14__.UIProgress(this, this.stateManager.state);
140
142
  }
141
143
  /** @override */ addDisclaimer(elm) {
142
144
  this.dialog.appendChild(elm);
143
145
  }
146
+ /**
147
+ * Show status toasts in the lower right corner of the finder window.
148
+ * The default view container of a dialog is a zero-size anchor
149
+ * (`.jodit-dialog`), so messages attached to it appear in a random
150
+ * place of the page instead of inside the finder.
151
+ * @override
152
+ */ getMessageModule() {
153
+ return super.getMessageModule(this.dialog);
154
+ }
144
155
  // @ts-ignore
145
156
  open(_0) {
146
157
  var _this = this, _superprop_get_open = ()=>super.open;
@@ -154,7 +165,7 @@ class FileBrowserPro extends jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_2
154
165
  /**
155
166
  * Resize handler
156
167
  */ onResizeWindow() {
157
- (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_17__.css)(this.dialog, {
168
+ (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_18__.css)(this.dialog, {
158
169
  maxWidth: screen.width,
159
170
  minHeight: Math.min(this.options.height, screen.height),
160
171
  minWidth: Math.min(this.options.width, screen.width)
@@ -189,29 +200,29 @@ class FileBrowserPro extends jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_2
189
200
  }
190
201
  onKeyPress(e) {
191
202
  const { activeElement } = this.od;
192
- if (!this.state.activeElements.length || !activeElement || !jodit_esm_modules__WEBPACK_IMPORTED_MODULE_19__.Dom.isOrContains(this.panel.items.container, activeElement)) {
203
+ if (!this.state.activeElements.length || !activeElement || !jodit_esm_modules__WEBPACK_IMPORTED_MODULE_20__.Dom.isOrContains(this.panel.items.container, activeElement)) {
193
204
  return;
194
205
  }
195
206
  const elms = this.state.elements;
196
207
  switch(e.key){
197
- case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_15__.KEY_ENTER:
208
+ case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_16__.KEY_ENTER:
198
209
  {
199
210
  return this.onChooseItems();
200
211
  }
201
- case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_15__.KEY_DELETE:
212
+ case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_16__.KEY_DELETE:
202
213
  {
203
214
  return this.onFileRemove();
204
215
  }
205
- case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_15__.KEY_RIGHT:
206
- case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_15__.KEY_LEFT:
207
- case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_15__.KEY_DOWN:
208
- case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_15__.KEY_UP:
216
+ case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_16__.KEY_RIGHT:
217
+ case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_16__.KEY_LEFT:
218
+ case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_16__.KEY_DOWN:
219
+ case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_16__.KEY_UP:
209
220
  {
210
- const next = e.key === jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_15__.KEY_RIGHT || e.key === jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_15__.KEY_DOWN, index = this.state.lastSelectedIndex;
221
+ const next = e.key === jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_16__.KEY_RIGHT || e.key === jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_16__.KEY_DOWN, index = this.state.lastSelectedIndex;
211
222
  let nextIndex;
212
223
  if ([
213
- jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_15__.KEY_RIGHT,
214
- jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_15__.KEY_LEFT
224
+ jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_16__.KEY_RIGHT,
225
+ jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_16__.KEY_LEFT
215
226
  ].includes(e.key)) {
216
227
  if (next) {
217
228
  nextIndex = !elms[index + 1] ? 0 : index + 1;
@@ -230,6 +241,96 @@ class FileBrowserPro extends jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_2
230
241
  removeGlobalListeners() {
231
242
  this.e.off(this.ow, 'keydown', this.onKeyPress);
232
243
  }
244
+ onCut(folder) {
245
+ this.__fillClipboard('cut', folder);
246
+ }
247
+ onCopy(folder) {
248
+ this.__fillClipboard('copy', folder);
249
+ }
250
+ __fillClipboard(mode, folder) {
251
+ this.state.clipboard = folder ? [
252
+ {
253
+ mode,
254
+ type: 'folder',
255
+ from: (0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_6__.folderFullPath)(folder),
256
+ name: folder.name,
257
+ sourceName: folder.sourceName
258
+ }
259
+ ] : this.state.activeElements.filter((item)=>item.file || item.name).map((item)=>({
260
+ mode,
261
+ type: item.type === 'folder' ? 'folder' : 'file',
262
+ from: (0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_6__.normalizeItemPath)(item.path + (item.file || item.name || '')),
263
+ name: item.file || item.name || '',
264
+ sourceName: item.sourceName
265
+ }));
266
+ }
267
+ /**
268
+ * The current folder as a paste target (used by the toolbar button and
269
+ * the empty-area context menu)
270
+ */ getPasteTarget() {
271
+ var _sources_;
272
+ const { currentPath, currentSource, sources } = this.state;
273
+ return {
274
+ path: currentPath || '/',
275
+ sourceName: currentSource || ((_sources_ = sources[0]) === null || _sources_ === void 0 ? void 0 : _sources_.name) || jodit_esm_modules_file_browser_data_provider__WEBPACK_IMPORTED_MODULE_22__.DEFAULT_SOURCE_NAME
276
+ };
277
+ }
278
+ canPaste(target) {
279
+ const items = this.state.clipboard;
280
+ if (!items.length || items.some((item)=>item.sourceName !== target.sourceName)) {
281
+ return false;
282
+ }
283
+ const dp = this.dataProvider;
284
+ const allowed = (item)=>item.mode === 'copy' ? dp.canCopy(item.type === 'file') : dp.canI(item.type === 'file' ? 'FileMove' : 'FolderMove');
285
+ if (!items.every(allowed)) {
286
+ return false;
287
+ }
288
+ const targetPath = (0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_6__.normalizeItemPath)(target.path);
289
+ // A folder can not be moved/copied into itself or its own subtree
290
+ return !items.some((item)=>item.type === 'folder' && (targetPath === item.from || targetPath.startsWith(item.from + '/')));
291
+ }
292
+ onPaste(target) {
293
+ if (!this.canPaste(target)) {
294
+ return;
295
+ }
296
+ const items = this.state.clipboard;
297
+ // Cut works once, a copied clipboard can be pasted repeatedly
298
+ if (items.some((item)=>item.mode === 'cut')) {
299
+ this.state.clipboard = [];
300
+ }
301
+ const targetPath = (0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_6__.normalizeItemPath)(target.path);
302
+ // The data provider writes its arguments into shared ajax options —
303
+ // requests must not run in parallel
304
+ const pasteSequentially = ()=>(0,_swc_helpers_async_to_generator__WEBPACK_IMPORTED_MODULE_0__._)(function*() {
305
+ let done = 0;
306
+ for (const item of items){
307
+ const isFile = item.type === 'file';
308
+ if (item.mode === 'cut') {
309
+ // Moving into the folder the item is already in is a no-op
310
+ if ((0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_6__.parentPath)(item.from) === targetPath) {
311
+ continue;
312
+ }
313
+ yield this.dataProvider.move(item.from, targetPath, target.sourceName, isFile);
314
+ } else {
315
+ yield this.dataProvider.copy(item.from, targetPath, target.sourceName, isFile);
316
+ }
317
+ done += 1;
318
+ }
319
+ return done;
320
+ }).call(this);
321
+ const isCopy = items.every((item)=>item.mode === 'copy');
322
+ pasteSequentially().then((done)=>{
323
+ if (done > 0) {
324
+ this.status(this.i18n(isCopy ? '%s item(s) were copied' : '%s item(s) were moved', String(done)), true);
325
+ }
326
+ }).catch(this.status).finally(()=>{
327
+ this.state.activeElements = [];
328
+ return Promise.allSettled([
329
+ this.loadingManager.loadItems(),
330
+ this.loadingManager.loadFolders()
331
+ ]);
332
+ });
333
+ }
233
334
  onFileRemove() {
234
335
  if (this.state.activeElements.length) {
235
336
  this.confirm('Are you sure?', 'Delete', (yes)=>{
@@ -244,7 +345,7 @@ class FileBrowserPro extends jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_2
244
345
  const promises = [];
245
346
  items.forEach((item)=>{
246
347
  var _item_name;
247
- promises.push(item.type === 'folder' ? this.__folderRemove((0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_5__.parentPath)(item.path), (_item_name = item.name) !== null && _item_name !== void 0 ? _item_name : '', item.sourceName) : this.__removeFile(item.file || item.name || '', item.sourceName));
348
+ promises.push(item.type === 'folder' ? this.__folderRemove((0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_6__.parentPath)(item.path), (_item_name = item.name) !== null && _item_name !== void 0 ? _item_name : '', item.sourceName) : this.__removeFile(item.file || item.name || '', item.sourceName));
248
349
  });
249
350
  this.state.activeElements.forEach((el)=>{
250
351
  this.stateManager.isFavorite(el) && this.stateManager.toggleFavorite(el);
@@ -264,7 +365,7 @@ class FileBrowserPro extends jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_2
264
365
  return this.dataProvider.folderRemove(path, name, sourceName).then((message)=>{
265
366
  this.status(message || this.i18n('Folder "%s" was deleted', name), true);
266
367
  if (this.state.currentPath === path) {
267
- this.state.currentPath = (0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_5__.parentPath)(path);
368
+ this.state.currentPath = (0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_6__.parentPath)(path);
268
369
  this.state.currentSource = sourceName;
269
370
  }
270
371
  }).catch(this.status);
@@ -272,19 +373,19 @@ class FileBrowserPro extends jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_2
272
373
  onFileEdit() {
273
374
  if (this.state.activeElements.length === 1) {
274
375
  const [file] = this.state.activeElements;
275
- jodit_esm_modules_image_editor_image_editor__WEBPACK_IMPORTED_MODULE_22__.openImageEditor.call(this, file.fileURL, file.file || '', file.path, file.sourceName, undefined, this.status);
376
+ jodit_esm_modules_image_editor_image_editor__WEBPACK_IMPORTED_MODULE_23__.openImageEditor.call(this, file.fileURL, file.file || '', file.path, file.sourceName, undefined, this.status);
276
377
  }
277
378
  }
278
379
  onFolderRename(data) {
279
380
  this.prompt('Enter new name', 'Rename', (newName)=>{
280
- if (!(0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_17__.isValidName)(newName) || newName === data.name) {
381
+ if (!(0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_18__.isValidName)(newName) || newName === data.name) {
281
382
  this.status(this.i18n('Enter new name'));
282
383
  return false;
283
384
  }
284
- this.dataProvider.folderRename((0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_5__.parentPath)(data.path), data.name, newName, data.sourceName).then((message)=>{
385
+ this.dataProvider.folderRename((0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_6__.parentPath)(data.path), data.name, newName, data.sourceName).then((message)=>{
285
386
  this.state.activeElements = [];
286
387
  this.status(message, true);
287
- this.state.currentPath = (0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_5__.parentPath)(data.path) + '/' + newName;
388
+ this.state.currentPath = (0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_6__.parentPath)(data.path) + '/' + newName;
288
389
  this.state.currentSource = data.sourceName;
289
390
  this.historyManager.updateCurrent();
290
391
  this.loadingManager.loadFolders();
@@ -322,7 +423,7 @@ class FileBrowserPro extends jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_2
322
423
  const name = item.file || item.name || '';
323
424
  if (this.state.activeElements.length === 1 && name) {
324
425
  this.prompt('Enter new name', 'Rename', (newName)=>{
325
- if (!(0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_17__.isValidName)(newName)) {
426
+ if (!(0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_18__.isValidName)(newName)) {
326
427
  this.status(this.i18n('Enter new name'));
327
428
  return false;
328
429
  }
@@ -352,10 +453,10 @@ class FileBrowserPro extends jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_2
352
453
  }
353
454
  }
354
455
  onOpenLightBox(item) {
355
- _ui_lightboox_lightbox__WEBPACK_IMPORTED_MODULE_11__.UILightBox.open(this, item, this.state.elements);
456
+ _ui_lightboox_lightbox__WEBPACK_IMPORTED_MODULE_12__.UILightBox.open(this, item, this.state.elements);
356
457
  }
357
458
  initUploader() {
358
- const self = this, uploaderOptions = (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_17__.ConfigProto)(self.o.uploader || {}, jodit_esm_config__WEBPACK_IMPORTED_MODULE_14__.Config.defaultOptions.uploader);
459
+ const self = this, uploaderOptions = (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_18__.ConfigProto)(self.o.uploader || {}, jodit_esm_config__WEBPACK_IMPORTED_MODULE_15__.Config.defaultOptions.uploader);
359
460
  const uploadHandler = ()=>this.loadingManager.loadItems();
360
461
  self.uploader = self.getInstance('Uploader', uploaderOptions);
361
462
  self.uploader.bind(self.panel.container, uploadHandler, self.errorHandler);
@@ -377,6 +478,8 @@ class FileBrowserPro extends jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_2
377
478
  'create',
378
479
  'fileMove',
379
480
  'folderMove',
481
+ 'fileCopy',
482
+ 'folderCopy',
380
483
  'fileRename',
381
484
  'folderRename',
382
485
  'fileRemove',
@@ -387,21 +490,21 @@ class FileBrowserPro extends jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_2
387
490
  ];
388
491
  keys.forEach((key)=>{
389
492
  if (this.options[key] != null) {
390
- this.options[key] = (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_17__.ConfigProto)(this.options[key], this.o.ajax);
493
+ this.options[key] = (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_18__.ConfigProto)(this.options[key], this.o.ajax);
391
494
  }
392
495
  });
393
496
  }
394
497
  constructor(options){
395
- super((0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_17__.ConfigProto)(Object.assign(options || {}, {
498
+ super((0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_18__.ConfigProto)(Object.assign(options || {}, {
396
499
  resizable: true,
397
500
  draggable: true,
398
- toolbarButtons: (options === null || options === void 0 ? void 0 : options.toolbarButtons) || jodit_esm_config__WEBPACK_IMPORTED_MODULE_14__.Config.defaultOptions.filebrowser.buttons,
399
- buttons: jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_23__.JoditPro.atom([
501
+ toolbarButtons: (options === null || options === void 0 ? void 0 : options.toolbarButtons) || jodit_esm_config__WEBPACK_IMPORTED_MODULE_15__.Config.defaultOptions.filebrowser.buttons,
502
+ buttons: jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_24__.JoditPro.atom([
400
503
  'filebrowser.settings',
401
504
  'fullsize',
402
505
  'dialog.close'
403
506
  ])
404
- }), jodit_esm_config__WEBPACK_IMPORTED_MODULE_14__.Config.defaultOptions.filebrowser)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "dataProvider", (0,jodit_esm_modules_file_browser_factories__WEBPACK_IMPORTED_MODULE_21__.makeDataProvider)(this, this.options)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "state", (0,jodit_esm_modules__WEBPACK_IMPORTED_MODULE_19__.observable)({
507
+ }), jodit_esm_config__WEBPACK_IMPORTED_MODULE_15__.Config.defaultOptions.filebrowser)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "dataProvider", new _helpers_data_provider__WEBPACK_IMPORTED_MODULE_5__.DataProviderPro(this, this.options)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "state", (0,jodit_esm_modules__WEBPACK_IMPORTED_MODULE_20__.observable)({
405
508
  onSelectCallBack: null,
406
509
  theme: 'default',
407
510
  showSideBar: true,
@@ -418,6 +521,7 @@ class FileBrowserPro extends jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_2
418
521
  tree: [],
419
522
  activeElements: [],
420
523
  favorites: [],
524
+ clipboard: [],
421
525
  progress: 0,
422
526
  lastSelectedIndex: 0,
423
527
  elements: [],
@@ -428,8 +532,8 @@ class FileBrowserPro extends jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_2
428
532
  sortBy: 'name-asc',
429
533
  filterWord: '',
430
534
  onlyImages: false
431
- })), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "persistent", new _helpers_persistent_store__WEBPACK_IMPORTED_MODULE_8__.PersistentStore(this, this.state)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "loadingManager", new _helpers_loading_manager__WEBPACK_IMPORTED_MODULE_7__.LoadingManager(this, this.state)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "stateManager", new _helpers_state_manager__WEBPACK_IMPORTED_MODULE_9__.StateManager(this.state)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "historyManager", new _helpers_history_manager__WEBPACK_IMPORTED_MODULE_6__.HistoryManager(this, this.state)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "contextMenuManager", new _helpers_context_menu__WEBPACK_IMPORTED_MODULE_4__.ContextMenuManager(this)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "header", new _ui_header_header__WEBPACK_IMPORTED_MODULE_10__.UIBrowserHeader(this, this.options, this.stateManager)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "panel", new _ui_panel_panel__WEBPACK_IMPORTED_MODULE_12__.UIBrowserPanel(this, this.stateManager)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "files", this.panel), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "tree", this.panel), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "uploader", void 0);
432
- jodit_pro_plugins_license_license__WEBPACK_IMPORTED_MODULE_24__.license.make(this);
535
+ })), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "persistent", new _helpers_persistent_store__WEBPACK_IMPORTED_MODULE_9__.PersistentStore(this, this.state)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "loadingManager", new _helpers_loading_manager__WEBPACK_IMPORTED_MODULE_8__.LoadingManager(this, this.state)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "stateManager", new _helpers_state_manager__WEBPACK_IMPORTED_MODULE_10__.StateManager(this.state)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "historyManager", new _helpers_history_manager__WEBPACK_IMPORTED_MODULE_7__.HistoryManager(this, this.state)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "contextMenuManager", new _helpers_context_menu__WEBPACK_IMPORTED_MODULE_4__.ContextMenuManager(this)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "header", new _ui_header_header__WEBPACK_IMPORTED_MODULE_11__.UIBrowserHeader(this, this.options, this.stateManager)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "panel", new _ui_panel_panel__WEBPACK_IMPORTED_MODULE_13__.UIBrowserPanel(this, this.stateManager)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "files", this.panel), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "tree", this.panel), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_1__._)(this, "uploader", void 0);
536
+ jodit_pro_plugins_license_license__WEBPACK_IMPORTED_MODULE_25__.license.make(this);
433
537
  if (!this.persistent.theme && this.options.theme) {
434
538
  this.persistent.theme = this.options.theme;
435
539
  }
@@ -448,70 +552,79 @@ class FileBrowserPro extends jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_2
448
552
  });
449
553
  this.e.on('beforeClose', this.removeGlobalListeners);
450
554
  this.e.fire('afterInit');
451
- jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_23__.JoditPro.prototype.afterInitHook.call(this);
555
+ jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_24__.JoditPro.prototype.afterInitHook.call(this);
452
556
  }
453
557
  }
454
558
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
455
- jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_16__.autobind
559
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.autobind
456
560
  ], FileBrowserPro.prototype, "status", null);
457
561
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
458
- jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_16__.autobind
562
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.autobind
459
563
  ], FileBrowserPro.prototype, "errorHandler", null);
460
564
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
461
- jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_16__.cache
565
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.cache
462
566
  ], FileBrowserPro.prototype, "progressbar", null);
463
567
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
464
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_16__.watch)(':resize', {
568
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.watch)(':resize', {
465
569
  context: window
466
570
  })
467
571
  ], FileBrowserPro.prototype, "onResizeWindow", null);
468
572
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
469
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_16__.watch)([
573
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.watch)([
470
574
  'state.currentPath',
471
575
  'state.currentSource'
472
576
  ])
473
577
  ], FileBrowserPro.prototype, "onChangePath", null);
474
578
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
475
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_16__.watch)('state.theme')
579
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.watch)('state.theme')
476
580
  ], FileBrowserPro.prototype, "onChangeTheme", null);
477
581
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
478
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_16__.watch)(':toggleSettings.filebrowser')
582
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.watch)(':toggleSettings.filebrowser')
479
583
  ], FileBrowserPro.prototype, "onToggleSettings", null);
480
584
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
481
- jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_16__.autobind
585
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.autobind
482
586
  ], FileBrowserPro.prototype, "onKeyPress", null);
483
587
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
484
- jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_16__.autobind
588
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.autobind
485
589
  ], FileBrowserPro.prototype, "removeGlobalListeners", null);
486
590
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
487
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_16__.watch)(':fileRemove.filebrowser')
591
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.watch)(':cut.filebrowser')
592
+ ], FileBrowserPro.prototype, "onCut", null);
593
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
594
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.watch)(':copy.filebrowser')
595
+ ], FileBrowserPro.prototype, "onCopy", null);
596
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
597
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.watch)(':paste.filebrowser')
598
+ ], FileBrowserPro.prototype, "onPaste", null);
599
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
600
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.watch)(':fileRemove.filebrowser')
488
601
  ], FileBrowserPro.prototype, "onFileRemove", null);
489
602
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
490
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_16__.watch)(':edit.filebrowser')
603
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.watch)(':edit.filebrowser')
491
604
  ], FileBrowserPro.prototype, "onFileEdit", null);
492
605
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
493
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_16__.watch)(':folderRename.filebrowser')
606
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.watch)(':folderRename.filebrowser')
494
607
  ], FileBrowserPro.prototype, "onFolderRename", null);
495
608
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
496
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_16__.watch)(':folderRemove.filebrowser')
609
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.watch)(':folderRemove.filebrowser')
497
610
  ], FileBrowserPro.prototype, "onFolderRemove", null);
498
611
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
499
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_16__.watch)(':folderCreate.filebrowser')
612
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.watch)(':folderCreate.filebrowser')
500
613
  ], FileBrowserPro.prototype, "onFolderCreate", null);
501
614
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
502
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_16__.watch)(':fileRename.filebrowser')
615
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.watch)(':fileRename.filebrowser')
503
616
  ], FileBrowserPro.prototype, "onFileRename", null);
504
617
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
505
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_16__.watch)(':select.filebrowser')
618
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.watch)(':select.filebrowser')
506
619
  ], FileBrowserPro.prototype, "onChooseItems", null);
507
620
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
508
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_16__.watch)(':openLightBox.filebrowser')
621
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.watch)(':openLightBox.filebrowser')
509
622
  ], FileBrowserPro.prototype, "onOpenLightBox", null);
510
623
  FileBrowserPro = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
511
- jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_16__.component,
512
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_16__.derive)(jodit_esm_core_traits_dlgs__WEBPACK_IMPORTED_MODULE_18__.Dlgs)
624
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.component,
625
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_17__.derive)(jodit_esm_core_traits_dlgs__WEBPACK_IMPORTED_MODULE_19__.Dlgs)
513
626
  ], FileBrowserPro);
514
- Object.defineProperty(jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_23__.JoditPro.modules, 'FileBrowserPro', {
627
+ Object.defineProperty(jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_24__.JoditPro.modules, 'FileBrowserPro', {
515
628
  value: FileBrowserPro,
516
629
  writable: false,
517
630
  enumerable: true,
@@ -588,6 +701,16 @@ fb['new-folder'] = {
588
701
  },
589
702
  tooltip: 'New folder'
590
703
  };
704
+ fb.paste = {
705
+ icon: 'paste',
706
+ tooltip: 'Paste',
707
+ isDisabled (fb) {
708
+ return !fb.canPaste(fb.getPasteTarget());
709
+ },
710
+ exec: (editor)=>{
711
+ editor.e.fire('paste.filebrowser', editor.getPasteTarget());
712
+ }
713
+ };
591
714
  Object.assign(jodit_esm_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.filebrowser, {
592
715
  buttons: [
593
716
  'filebrowser.home',
@@ -596,6 +719,7 @@ Object.assign(jodit_esm_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.fil
596
719
  '|',
597
720
  'filebrowser.upload',
598
721
  'filebrowser.new-folder',
722
+ 'filebrowser.paste',
599
723
  'filebrowser.remove',
600
724
  'filebrowser.update',
601
725
  'filebrowser.select',
@@ -606,9 +730,19 @@ Object.assign(jodit_esm_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.fil
606
730
  ],
607
731
  sort: false,
608
732
  pixelOffsetLoadNewChunk: 300,
609
- width: 800,
733
+ width: 900,
610
734
  height: 400,
611
- previewOfficeURL: 'https://view.officeapps.live.com/op/view.aspx?src='
735
+ previewOfficeURL: 'https://view.officeapps.live.com/op/view.aspx?src=',
736
+ fileCopy: {
737
+ data: {
738
+ action: 'fileCopy'
739
+ }
740
+ },
741
+ folderCopy: {
742
+ data: {
743
+ action: 'folderCopy'
744
+ }
745
+ }
612
746
  });
613
747
  (0,jodit_esm_core_global__WEBPACK_IMPORTED_MODULE_2__.extendLang)(_langs__WEBPACK_IMPORTED_MODULE_0__);
614
748
 
@@ -671,9 +805,10 @@ jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_4__.JoditPro.plugins.add('finder',
671
805
  /* harmony export */ ContextMenuManager: function() { return /* binding */ ContextMenuManager; }
672
806
  /* harmony export */ });
673
807
  /* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31635);
674
- /* harmony import */ var jodit_esm_core_component_view_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(80480);
675
- /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65478);
676
- /* harmony import */ var jodit_esm_modules_file_browser_factories__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(63399);
808
+ /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(77841);
809
+ /* harmony import */ var jodit_esm_core_component_view_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(80480);
810
+ /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65478);
811
+ /* harmony import */ var jodit_esm_modules_file_browser_factories__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(63399);
677
812
  /*!
678
813
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
679
814
  * See LICENSE.md in the project root for license information.
@@ -682,7 +817,8 @@ jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_4__.JoditPro.plugins.add('finder',
682
817
 
683
818
 
684
819
 
685
- class ContextMenuManager extends jodit_esm_core_component_view_component__WEBPACK_IMPORTED_MODULE_1__.ViewComponent {
820
+
821
+ class ContextMenuManager extends jodit_esm_core_component_view_component__WEBPACK_IMPORTED_MODULE_2__.ViewComponent {
686
822
  /** @override */ className() {
687
823
  return 'ContextMenuManager';
688
824
  }
@@ -698,11 +834,15 @@ class ContextMenuManager extends jodit_esm_core_component_view_component__WEBPAC
698
834
  this.buildContextItemMenu(this.getSourceContextActions(item), e);
699
835
  return false;
700
836
  }
837
+ onAreaContext(e) {
838
+ this.buildContextItemMenu(this.getAreaContextActions(), e);
839
+ return false;
840
+ }
701
841
  buildContextItemMenu(actions, e) {
702
842
  if (!this.j.o.contextMenu) {
703
843
  return;
704
844
  }
705
- const context = (0,jodit_esm_modules_file_browser_factories__WEBPACK_IMPORTED_MODULE_3__.makeContextMenu)(this.j).setMod('theme', this.j.state.theme);
845
+ const context = (0,jodit_esm_modules_file_browser_factories__WEBPACK_IMPORTED_MODULE_4__.makeContextMenu)(this.j).setMod('theme', this.j.state.theme);
706
846
  context.show(e.clientX, e.clientY, actions.filter((a)=>a && a.enabled !== false));
707
847
  this.j.e.on(this.j, 'afterClose', ()=>{
708
848
  if (context.isOpened) {
@@ -739,6 +879,18 @@ class ContextMenuManager extends jodit_esm_core_component_view_component__WEBPAC
739
879
  enabled: dp.canI('FileRename') && single,
740
880
  exec: ()=>this.j.e.fire('fileRename.filebrowser', item)
741
881
  },
882
+ {
883
+ icon: 'cut',
884
+ title: 'Cut',
885
+ enabled: dp.canI('FileMove'),
886
+ exec: ()=>this.j.e.fire('cut.filebrowser')
887
+ },
888
+ {
889
+ icon: 'copy',
890
+ title: 'Copy',
891
+ enabled: dp.canCopy(true),
892
+ exec: ()=>this.j.e.fire('copy.filebrowser')
893
+ },
742
894
  {
743
895
  icon: 'bin',
744
896
  title: 'Delete',
@@ -764,7 +916,10 @@ class ContextMenuManager extends jodit_esm_core_component_view_component__WEBPAC
764
916
  ];
765
917
  }
766
918
  getFolderContextActions(item) {
767
- const dp = this.j.dataProvider;
919
+ const dp = this.j.dataProvider, pasteTarget = {
920
+ path: (0,_helpers__WEBPACK_IMPORTED_MODULE_1__.folderFullPath)(item),
921
+ sourceName: item.sourceName
922
+ };
768
923
  return [
769
924
  {
770
925
  icon: 'pencil',
@@ -774,6 +929,30 @@ class ContextMenuManager extends jodit_esm_core_component_view_component__WEBPAC
774
929
  },
775
930
  enabled: dp.canI('FolderRename')
776
931
  },
932
+ {
933
+ icon: 'cut',
934
+ title: 'Cut',
935
+ enabled: dp.canI('FolderMove'),
936
+ exec: ()=>{
937
+ this.j.e.fire('cut.filebrowser', item);
938
+ }
939
+ },
940
+ {
941
+ icon: 'copy',
942
+ title: 'Copy',
943
+ enabled: dp.canCopy(false),
944
+ exec: ()=>{
945
+ this.j.e.fire('copy.filebrowser', item);
946
+ }
947
+ },
948
+ {
949
+ icon: 'paste',
950
+ title: 'Paste',
951
+ enabled: this.j.canPaste(pasteTarget),
952
+ exec: ()=>{
953
+ this.j.e.fire('paste.filebrowser', pasteTarget);
954
+ }
955
+ },
777
956
  {
778
957
  icon: 'bin',
779
958
  title: 'Delete',
@@ -793,6 +972,10 @@ class ContextMenuManager extends jodit_esm_core_component_view_component__WEBPAC
793
972
  ];
794
973
  }
795
974
  getSourceContextActions(item) {
975
+ const pasteTarget = {
976
+ path: '/',
977
+ sourceName: item.sourceName
978
+ };
796
979
  return [
797
980
  {
798
981
  icon: 'plus',
@@ -800,24 +983,123 @@ class ContextMenuManager extends jodit_esm_core_component_view_component__WEBPAC
800
983
  exec: ()=>{
801
984
  this.j.e.fire('folderCreate.filebrowser', item);
802
985
  }
986
+ },
987
+ {
988
+ icon: 'paste',
989
+ title: 'Paste',
990
+ enabled: this.j.canPaste(pasteTarget),
991
+ exec: ()=>{
992
+ this.j.e.fire('paste.filebrowser', pasteTarget);
993
+ }
994
+ }
995
+ ];
996
+ }
997
+ /**
998
+ * Context menu of an empty spot of the file list — actions apply to the
999
+ * currently opened folder
1000
+ */ getAreaContextActions() {
1001
+ const target = this.j.getPasteTarget();
1002
+ return [
1003
+ {
1004
+ icon: 'paste',
1005
+ title: 'Paste',
1006
+ enabled: this.j.canPaste(target),
1007
+ exec: ()=>{
1008
+ this.j.e.fire('paste.filebrowser', target);
1009
+ }
1010
+ },
1011
+ {
1012
+ icon: 'plus',
1013
+ title: 'Add folder',
1014
+ enabled: this.j.dataProvider.canI('FolderCreate'),
1015
+ exec: ()=>{
1016
+ this.j.e.fire('folderCreate.filebrowser', {
1017
+ path: target.path,
1018
+ sourceName: target.sourceName
1019
+ });
1020
+ }
803
1021
  }
804
1022
  ];
805
1023
  }
806
1024
  }
807
1025
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_0__.__decorate)([
808
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__.watch)(':contextmenuFolder.filebrowser')
1026
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_3__.watch)(':contextmenuFolder.filebrowser')
809
1027
  ], ContextMenuManager.prototype, "onFolderContext", null);
810
1028
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_0__.__decorate)([
811
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__.watch)(':contextmenuItem.filebrowser')
1029
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_3__.watch)(':contextmenuItem.filebrowser')
812
1030
  ], ContextMenuManager.prototype, "onItemContext", null);
813
1031
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_0__.__decorate)([
814
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__.watch)(':contextmenuSource.filebrowser')
1032
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_3__.watch)(':contextmenuSource.filebrowser')
815
1033
  ], ContextMenuManager.prototype, "onSourceContext", null);
1034
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_0__.__decorate)([
1035
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_3__.watch)(':contextmenuArea.filebrowser')
1036
+ ], ContextMenuManager.prototype, "onAreaContext", null);
816
1037
  ContextMenuManager = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_0__.__decorate)([
817
- jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__.component
1038
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_3__.component
818
1039
  ], ContextMenuManager);
819
1040
 
820
1041
 
1042
+ /***/ }),
1043
+
1044
+ /***/ 34698:
1045
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1046
+
1047
+ "use strict";
1048
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1049
+ /* harmony export */ DataProviderPro: function() { return /* binding */ DataProviderPro; }
1050
+ /* harmony export */ });
1051
+ /* harmony import */ var jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21537);
1052
+ /* harmony import */ var jodit_esm_modules_file_browser_data_provider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11787);
1053
+ /*!
1054
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
1055
+ * See LICENSE.md in the project root for license information.
1056
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
1057
+ */
1058
+
1059
+ /**
1060
+ * Extends the core data provider with copy operations
1061
+ * (`fileCopy`/`folderCopy` connector actions).
1062
+ */ class DataProviderPro extends jodit_esm_modules_file_browser_data_provider__WEBPACK_IMPORTED_MODULE_1__["default"] {
1063
+ /**
1064
+ * Copy a file / directory on the server
1065
+ *
1066
+ * @param filepath - The relative path to the file / folder source
1067
+ * @param path - Relative to the directory where you want to copy the file / folder
1068
+ */ copy(filepath, path, source, isFile) {
1069
+ const mode = isFile ? 'fileCopy' : 'folderCopy';
1070
+ const option = this.o[mode];
1071
+ if (!option) {
1072
+ throw (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_0__.error)('Set Copy api options');
1073
+ }
1074
+ option.data.from = filepath;
1075
+ option.data.path = path;
1076
+ option.data.source = source;
1077
+ return this.get(mode).then((resp)=>{
1078
+ if (this.isSuccess(resp)) {
1079
+ return true;
1080
+ }
1081
+ throw (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_0__.error)(this.getMessage(resp));
1082
+ });
1083
+ }
1084
+ /**
1085
+ * Whether the connector allows copying. The core `canI` throws on rules
1086
+ * it does not know (`allowFileCopy`/`allowFolderCopy` are PRO-only), so
1087
+ * the same permission logic is replicated here.
1088
+ */ canCopy(isFile) {
1089
+ const rule = isFile ? 'allowFileCopy' : 'allowFolderCopy';
1090
+ const preset = this.o.permissionsPresets[rule];
1091
+ if (preset !== undefined) {
1092
+ return preset;
1093
+ }
1094
+ // The core keeps loaded permissions in a private field — read it
1095
+ // structurally (same default as `canI`: allowed until the connector
1096
+ // says otherwise)
1097
+ const { __currentPermissions: permissions } = this;
1098
+ return permissions == null || permissions[rule] === undefined || Boolean(permissions[rule]);
1099
+ }
1100
+ }
1101
+
1102
+
821
1103
  /***/ }),
822
1104
 
823
1105
  /***/ 77841:
@@ -825,6 +1107,9 @@ ContextMenuManager = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_0__.__
825
1107
 
826
1108
  "use strict";
827
1109
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1110
+ /* harmony export */ folderFullPath: function() { return /* binding */ folderFullPath; },
1111
+ /* harmony export */ isCutItem: function() { return /* binding */ isCutItem; },
1112
+ /* harmony export */ normalizeItemPath: function() { return /* binding */ normalizeItemPath; },
828
1113
  /* harmony export */ parentPath: function() { return /* binding */ parentPath; }
829
1114
  /* harmony export */ });
830
1115
  /*!
@@ -836,6 +1121,30 @@ ContextMenuManager = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_0__.__
836
1121
  parts.pop();
837
1122
  return parts.join('/') || '/';
838
1123
  };
1124
+ /**
1125
+ * Removes duplicated/leading/trailing slashes: `'/test//a/' -> 'test/a'`,
1126
+ * `'/' -> '/'`. Unlike the core `normalizeRelativePath` it never keeps a
1127
+ * trailing slash, so paths are always comparable with `parentPath` output.
1128
+ */ const normalizeItemPath = (path)=>{
1129
+ const parts = path.split('/').filter((p)=>p.length);
1130
+ return parts.join('/') || '/';
1131
+ };
1132
+ /**
1133
+ * Full path of a folder item. Tree items already keep the folder name inside
1134
+ * `path`, items converted from a tile keep only the parent directory there
1135
+ * (with a trailing slash) and the name separately.
1136
+ */ const folderFullPath = (item)=>item.path.endsWith('/') ? normalizeItemPath(item.path + item.name) : item.path;
1137
+ /**
1138
+ * Whether the list item is cut and waits to be moved (such items are shown
1139
+ * dimmed). Copied items are intentionally not matched — copying does not
1140
+ * remove the original.
1141
+ */ const isCutItem = (clipboard, item)=>{
1142
+ if (!clipboard.length) {
1143
+ return false;
1144
+ }
1145
+ const from = normalizeItemPath(item.path + (item.file || item.name || ''));
1146
+ return clipboard.some((clip)=>clip.mode === 'cut' && clip.from === from && clip.sourceName === item.sourceName);
1147
+ };
839
1148
 
840
1149
 
841
1150
  /***/ }),
@@ -1156,8 +1465,6 @@ function loadPartItems(state, dataProvider, offset, limit) {
1156
1465
  /* harmony import */ var jodit_esm_core_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91907);
1157
1466
  /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65478);
1158
1467
  /* harmony import */ var jodit_esm_modules_file_browser_builders_item__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(159);
1159
-
1160
-
1161
1468
  /*!
1162
1469
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
1163
1470
  * See LICENSE.md in the project root for license information.
@@ -1165,6 +1472,8 @@ function loadPartItems(state, dataProvider, offset, limit) {
1165
1472
  */
1166
1473
 
1167
1474
 
1475
+
1476
+
1168
1477
  class PersistentStore extends jodit_esm_core_component__WEBPACK_IMPORTED_MODULE_2__.ViewComponent {
1169
1478
  /** @override */ className() {
1170
1479
  return 'PersistentStore';
@@ -1173,7 +1482,9 @@ class PersistentStore extends jodit_esm_core_component__WEBPACK_IMPORTED_MODULE_
1173
1482
  this.theme = this.state.theme;
1174
1483
  }
1175
1484
  onChangeView() {
1176
- this.view = this.state.view;
1485
+ if (this.__viewPersistenceEnabled()) {
1486
+ this.view = this.state.view;
1487
+ }
1177
1488
  }
1178
1489
  onChangeSortBy() {
1179
1490
  this.sortBy = this.state.sortBy;
@@ -1204,7 +1515,7 @@ class PersistentStore extends jodit_esm_core_component__WEBPACK_IMPORTED_MODULE_
1204
1515
  }
1205
1516
  return jodit_esm_modules_file_browser_builders_item__WEBPACK_IMPORTED_MODULE_4__.FileBrowserItem.create(item);
1206
1517
  });
1207
- this.state.view = this.view;
1518
+ this.state.view = this.__resolveView();
1208
1519
  this.state.theme = this.theme;
1209
1520
  this.state.showSideBar = this.showSideBar;
1210
1521
  this.state.showPreview = this.showPreview;
@@ -1212,6 +1523,33 @@ class PersistentStore extends jodit_esm_core_component__WEBPACK_IMPORTED_MODULE_
1212
1523
  this.state.sortBy = this.sortBy;
1213
1524
  this.state.foldersPosition = this.foldersPosition;
1214
1525
  }
1526
+ /**
1527
+ * The `filebrowser.view` option is the default view. The view stored from
1528
+ * the user's last choice wins over it only when view persistence is
1529
+ * enabled (`saveStateInStorage.storeView !== false`) and the user has
1530
+ * actually chosen a view before.
1531
+ */ __resolveView() {
1532
+ var _this___configView;
1533
+ if (this.__viewPersistenceEnabled() && this.__hasStoredView()) {
1534
+ return this.view;
1535
+ }
1536
+ return (_this___configView = this.__configView()) !== null && _this___configView !== void 0 ? _this___configView : 'tiles';
1537
+ }
1538
+ __configView() {
1539
+ const { view } = this.j.o;
1540
+ return view === 'tiles' || view === 'list' || view === 'compact' ? view : null;
1541
+ }
1542
+ __viewPersistenceEnabled() {
1543
+ const { saveStateInStorage } = this.j.o;
1544
+ if (saveStateInStorage === false) {
1545
+ return false;
1546
+ }
1547
+ return !saveStateInStorage || saveStateInStorage.storeView !== false;
1548
+ }
1549
+ __hasStoredView() {
1550
+ // Mirrors the storage key of the `@persistent` decorator
1551
+ return this.j.storage.get(`${this.j.o.namespace}${this.componentName}_prop_view`) != null;
1552
+ }
1215
1553
  constructor(jodit, state){
1216
1554
  super(jodit), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "state", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "theme", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "sortBy", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "view", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "foldersPosition", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "tileSize", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "favorites", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "showSideBar", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "showPreview", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "showFavorites", void 0), this.state = state, this.sortBy = 'changed-desc', this.view = 'tiles', this.foldersPosition = 'top', this.tileSize = 'default', this.favorites = [], this.showSideBar = true, this.showPreview = false, this.showFavorites = true;
1217
1555
  }
@@ -1447,7 +1785,16 @@ function folderToTreeItem(name, path, sourceName) {
1447
1785
  Small: 'Klein',
1448
1786
  Large: 'Groß',
1449
1787
  'Extra large': 'Sehr groß',
1450
- 'Tile size': 'Kachelgröße'
1788
+ 'Tile size': 'Kachelgröße',
1789
+ Cut: 'Ausschneiden',
1790
+ Copy: 'Kopieren',
1791
+ Preview: 'Vorschau',
1792
+ Download: 'Herunterladen',
1793
+ 'Create folder': 'Ordner erstellen',
1794
+ Home: 'Start',
1795
+ 'Select image': 'Bild auswählen',
1796
+ '%s item(s) were moved': '%s Element(e) wurden verschoben',
1797
+ '%s item(s) were copied': '%s Element(e) wurden kopiert'
1451
1798
  };
1452
1799
 
1453
1800
 
@@ -1503,7 +1850,16 @@ __webpack_require__.r(__webpack_exports__);
1503
1850
  Small: 'Маленькие',
1504
1851
  Large: 'Большие',
1505
1852
  'Extra large': 'Очень большие',
1506
- 'Tile size': 'Размер плитки'
1853
+ 'Tile size': 'Размер плитки',
1854
+ Cut: 'Вырезать',
1855
+ Copy: 'Копировать',
1856
+ Preview: 'Просмотр',
1857
+ Download: 'Скачать',
1858
+ 'Create folder': 'Создать папку',
1859
+ Home: 'Главная',
1860
+ 'Select image': 'Выберите изображение',
1861
+ '%s item(s) were moved': 'Перемещено элементов: %s',
1862
+ '%s item(s) were copied': 'Скопировано элементов: %s'
1507
1863
  };
1508
1864
 
1509
1865
 
@@ -1623,6 +1979,12 @@ class UIBrowserHeader extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_4__.UIG
1623
1979
  /** @override */ className() {
1624
1980
  return 'UIBrowserHeader';
1625
1981
  }
1982
+ /**
1983
+ * The Paste button appears in the toolbar only when the clipboard is not
1984
+ * empty — rebuild the toolbar when it changes
1985
+ */ onChangeClipboard() {
1986
+ this.toolbar.build(this.__getButtons());
1987
+ }
1626
1988
  __getButtons() {
1627
1989
  var _this_options_toolbarButtons;
1628
1990
  const options = (_this_options_toolbarButtons = this.options.toolbarButtons) !== null && _this_options_toolbarButtons !== void 0 ? _this_options_toolbarButtons : [];
@@ -1639,12 +2001,14 @@ class UIBrowserHeader extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_4__.UIG
1639
2001
  return this.j.dataProvider.canI('FileUpload');
1640
2002
  case 'filebrowser.remove':
1641
2003
  return this.j.dataProvider.canI('FileRemove');
2004
+ case 'filebrowser.paste':
2005
+ return this.state.clipboard.length > 0;
1642
2006
  }
1643
2007
  return true;
1644
2008
  });
1645
2009
  }
1646
2010
  constructor(jodit, options, stateManager){
1647
- super(jodit), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "options", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "stateManager", void 0), /** @override */ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "syncMod", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "toolbar", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "filter", void 0), this.options = options, this.stateManager = stateManager, this.syncMod = true, this.toolbar = (0,jodit_esm_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_5__.makeCollection)(this.j), this.filter = new jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_4__.UIInput(this.j, {
2011
+ super(jodit), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "options", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "stateManager", void 0), /** @override */ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "syncMod", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "toolbar", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "filter", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "state", void 0), this.options = options, this.stateManager = stateManager, this.syncMod = true, this.toolbar = (0,jodit_esm_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_5__.makeCollection)(this.j), this.filter = new jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_4__.UIInput(this.j, {
1648
2012
  icon: 'search',
1649
2013
  placeholder: 'Filter',
1650
2014
  clearButton: true,
@@ -1652,11 +2016,15 @@ class UIBrowserHeader extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_4__.UIG
1652
2016
  this.stateManager.setFilter(value);
1653
2017
  }
1654
2018
  });
2019
+ this.state = stateManager.state;
1655
2020
  this.append(this.toolbar).append(this.filter);
1656
2021
  this.filter.container.classList.add(this.getFullElName('filter'));
1657
2022
  this.toolbar.setMod('mode', 'header').build(this.__getButtons());
1658
2023
  }
1659
2024
  }
2025
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
2026
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__.watch)('state.clipboard')
2027
+ ], UIBrowserHeader.prototype, "onChangeClipboard", null);
1660
2028
  UIBrowserHeader = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
1661
2029
  jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__.component
1662
2030
  ], UIBrowserHeader);
@@ -1941,12 +2309,13 @@ UILightBox = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate
1941
2309
  /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65478);
1942
2310
  /* harmony import */ var jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21537);
1943
2311
  /* harmony import */ var jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(67510);
1944
- /* harmony import */ var jodit_pro_plugins_finder_ui_preview_preview__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8358);
1945
- /* harmony import */ var jodit_pro_plugins_finder_ui_settings_settings__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(60062);
1946
- /* harmony import */ var jodit_pro_plugins_finder_ui_sidebar_sidebar__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(70950);
1947
- /* harmony import */ var jodit_pro_plugins_finder_ui_sources_sources__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(59198);
1948
- /* harmony import */ var jodit_pro_plugins_finder_ui_statusbar_statusbar__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(17234);
1949
- /* harmony import */ var jodit_pro_plugins_finder_ui_virtual_scroll_virtual_scroll__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(43778);
2312
+ /* harmony import */ var jodit_pro_plugins_finder_helpers_helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(77841);
2313
+ /* harmony import */ var jodit_pro_plugins_finder_ui_preview_preview__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(8358);
2314
+ /* harmony import */ var jodit_pro_plugins_finder_ui_settings_settings__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(60062);
2315
+ /* harmony import */ var jodit_pro_plugins_finder_ui_sidebar_sidebar__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(70950);
2316
+ /* harmony import */ var jodit_pro_plugins_finder_ui_sources_sources__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(59198);
2317
+ /* harmony import */ var jodit_pro_plugins_finder_ui_statusbar_statusbar__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(17234);
2318
+ /* harmony import */ var jodit_pro_plugins_finder_ui_virtual_scroll_virtual_scroll__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(43778);
1950
2319
  /*!
1951
2320
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
1952
2321
  * See LICENSE.md in the project root for license information.
@@ -1963,6 +2332,7 @@ UILightBox = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_2__.__decorate
1963
2332
 
1964
2333
 
1965
2334
 
2335
+
1966
2336
  class UIBrowserPanel extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_4__.UIGroup {
1967
2337
  /** @override */ className() {
1968
2338
  return 'UIBrowserPanel';
@@ -1999,6 +2369,18 @@ class UIBrowserPanel extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_4__.UIGr
1999
2369
  }
2000
2370
  onChangeElements() {
2001
2371
  this.items.build(this.stateManager.state.elements);
2372
+ this.__applyCutMods();
2373
+ }
2374
+ onChangeClipboard() {
2375
+ this.__applyCutMods();
2376
+ }
2377
+ /**
2378
+ * Cut items are shown dimmed until they are pasted
2379
+ */ __applyCutMods() {
2380
+ const { clipboard } = this.state;
2381
+ this.items.elements.forEach((elm)=>{
2382
+ elm.setMod('cut', (0,jodit_pro_plugins_finder_helpers_helpers__WEBPACK_IMPORTED_MODULE_5__.isCutItem)(clipboard, elm.item));
2383
+ });
2002
2384
  }
2003
2385
  onChangeActiveElements() {
2004
2386
  if (!this.state.activeElements.length) {
@@ -2071,9 +2453,9 @@ class UIBrowserPanel extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_4__.UIGr
2071
2453
  this.j.e.fire('afterOpenFolder.filebrowser');
2072
2454
  }
2073
2455
  constructor(jodit, stateManager){
2074
- super(jodit), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "stateManager", void 0), /** @override */ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "syncMod", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "state", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "sources", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "sidebar", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "preview", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "statusbar", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "items", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "settings", void 0), this.stateManager = stateManager, this.syncMod = true, this.sources = new jodit_pro_plugins_finder_ui_sources_sources__WEBPACK_IMPORTED_MODULE_8__.UIBrowserSources(this.j), this.sidebar = new jodit_pro_plugins_finder_ui_sidebar_sidebar__WEBPACK_IMPORTED_MODULE_7__.UISidebar(this.jodit, [
2456
+ super(jodit), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "stateManager", void 0), /** @override */ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "syncMod", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "state", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "sources", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "sidebar", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "preview", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "statusbar", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "items", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "settings", void 0), this.stateManager = stateManager, this.syncMod = true, this.sources = new jodit_pro_plugins_finder_ui_sources_sources__WEBPACK_IMPORTED_MODULE_9__.UIBrowserSources(this.j), this.sidebar = new jodit_pro_plugins_finder_ui_sidebar_sidebar__WEBPACK_IMPORTED_MODULE_8__.UISidebar(this.jodit, [
2075
2457
  this.sources
2076
- ], this.stateManager.state), this.preview = new jodit_pro_plugins_finder_ui_preview_preview__WEBPACK_IMPORTED_MODULE_5__.UIPreview(this.jodit, this.stateManager.state), this.statusbar = new jodit_pro_plugins_finder_ui_statusbar_statusbar__WEBPACK_IMPORTED_MODULE_9__.UIBrowserStatusBar(this.j), this.items = new jodit_pro_plugins_finder_ui_virtual_scroll_virtual_scroll__WEBPACK_IMPORTED_MODULE_10__.UIVirtualScroll(this.j, this.stateManager), this.settings = new jodit_pro_plugins_finder_ui_settings_settings__WEBPACK_IMPORTED_MODULE_6__.UIBrowserSettings(this.jodit, this.stateManager.state);
2458
+ ], this.stateManager.state), this.preview = new jodit_pro_plugins_finder_ui_preview_preview__WEBPACK_IMPORTED_MODULE_6__.UIPreview(this.jodit, this.stateManager.state), this.statusbar = new jodit_pro_plugins_finder_ui_statusbar_statusbar__WEBPACK_IMPORTED_MODULE_10__.UIBrowserStatusBar(this.j), this.items = new jodit_pro_plugins_finder_ui_virtual_scroll_virtual_scroll__WEBPACK_IMPORTED_MODULE_11__.UIVirtualScroll(this.j, this.stateManager), this.settings = new jodit_pro_plugins_finder_ui_settings_settings__WEBPACK_IMPORTED_MODULE_7__.UIBrowserSettings(this.jodit, this.stateManager.state);
2077
2459
  this.state = stateManager.state;
2078
2460
  this.append(this.sidebar, 'content');
2079
2461
  this.append(this.items, 'content');
@@ -2099,6 +2481,9 @@ class UIBrowserPanel extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_4__.UIGr
2099
2481
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
2100
2482
  (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__.watch)('state.elements')
2101
2483
  ], UIBrowserPanel.prototype, "onChangeElements", null);
2484
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
2485
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__.watch)('state.clipboard')
2486
+ ], UIBrowserPanel.prototype, "onChangeClipboard", null);
2102
2487
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
2103
2488
  (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__.watch)('state.activeElements')
2104
2489
  ], UIBrowserPanel.prototype, "onChangeActiveElements", null);
@@ -2870,11 +3255,12 @@ UITree = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
2870
3255
  /* harmony import */ var _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82749);
2871
3256
  /* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(31635);
2872
3257
  /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65478);
2873
- /* harmony import */ var jodit_esm_core_helpers_size_position__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5700);
2874
- /* harmony import */ var jodit_esm_core_ui_group_group__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(62405);
2875
- /* harmony import */ var jodit_esm_modules_file_browser_builders_item__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(159);
2876
- /* harmony import */ var jodit_pro_plugins_finder_ui_item_item__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(21130);
2877
- /* harmony import */ var jodit_pro_traits_select_items_select_items__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(36469);
3258
+ /* harmony import */ var jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2748);
3259
+ /* harmony import */ var jodit_esm_core_helpers_size_position__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5700);
3260
+ /* harmony import */ var jodit_esm_core_ui_group_group__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(62405);
3261
+ /* harmony import */ var jodit_esm_modules_file_browser_builders_item__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(159);
3262
+ /* harmony import */ var jodit_pro_plugins_finder_ui_item_item__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(21130);
3263
+ /* harmony import */ var jodit_pro_traits_select_items_select_items__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(36469);
2878
3264
  /*!
2879
3265
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
2880
3266
  * See LICENSE.md in the project root for license information.
@@ -2888,7 +3274,8 @@ UITree = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
2888
3274
 
2889
3275
 
2890
3276
 
2891
- class UIVirtualScroll extends jodit_esm_core_ui_group_group__WEBPACK_IMPORTED_MODULE_4__.UIGroup {
3277
+
3278
+ class UIVirtualScroll extends jodit_esm_core_ui_group_group__WEBPACK_IMPORTED_MODULE_5__.UIGroup {
2892
3279
  /** @override */ className() {
2893
3280
  return 'UIVirtualScroll';
2894
3281
  }
@@ -2901,7 +3288,7 @@ class UIVirtualScroll extends jodit_esm_core_ui_group_group__WEBPACK_IMPORTED_MO
2901
3288
  }
2902
3289
  reconcile(items) {
2903
3290
  const clearIndex = this.elements.findIndex((elm, index)=>{
2904
- return !items[index] || elm.item.uniqueHashKey !== jodit_esm_modules_file_browser_builders_item__WEBPACK_IMPORTED_MODULE_5__.FileBrowserItem.create(items[index]).uniqueHashKey;
3291
+ return !items[index] || elm.item.uniqueHashKey !== jodit_esm_modules_file_browser_builders_item__WEBPACK_IMPORTED_MODULE_6__.FileBrowserItem.create(items[index]).uniqueHashKey;
2905
3292
  });
2906
3293
  if (clearIndex > -1) {
2907
3294
  for(let i = clearIndex; i < this.elements.length; i += 1){
@@ -2953,7 +3340,7 @@ class UIVirtualScroll extends jodit_esm_core_ui_group_group__WEBPACK_IMPORTED_MO
2953
3340
  build(items) {
2954
3341
  const clearIndex = this.reconcile(items);
2955
3342
  items.slice(clearIndex > -1 ? clearIndex : this.elements.length).forEach((item)=>{
2956
- const elm = new jodit_pro_plugins_finder_ui_item_item__WEBPACK_IMPORTED_MODULE_6__.UIBrowserItem(this.jodit, item);
3343
+ const elm = new jodit_pro_plugins_finder_ui_item_item__WEBPACK_IMPORTED_MODULE_7__.UIBrowserItem(this.jodit, item);
2957
3344
  Object.keys(this.mods).forEach((mod)=>{
2958
3345
  elm.setMod(mod, this.mods[mod]);
2959
3346
  });
@@ -2966,6 +3353,17 @@ class UIVirtualScroll extends jodit_esm_core_ui_group_group__WEBPACK_IMPORTED_MO
2966
3353
  void this.j.loadingManager.loadItemsChunk();
2967
3354
  }
2968
3355
  }
3356
+ /**
3357
+ * Context menu of an empty spot of the list (clicks on items are handled
3358
+ * by the items themselves)
3359
+ */ onAreaContextMenu(e) {
3360
+ const { target } = e;
3361
+ if (jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__.Dom.isNode(target) && this.elements.some((elm)=>elm.container.contains(target))) {
3362
+ return;
3363
+ }
3364
+ this.j.e.fire('contextmenuArea.filebrowser', e);
3365
+ return false;
3366
+ }
2969
3367
  onDragOver(e) {
2970
3368
  e.preventDefault();
2971
3369
  this.setMod('dragover', true);
@@ -2975,7 +3373,7 @@ class UIVirtualScroll extends jodit_esm_core_ui_group_group__WEBPACK_IMPORTED_MO
2975
3373
  this.setMod('dragover', false);
2976
3374
  }
2977
3375
  addItemsSelector() {
2978
- jodit_pro_traits_select_items_select_items__WEBPACK_IMPORTED_MODULE_7__.UISelectItems.install(this);
3376
+ jodit_pro_traits_select_items_select_items__WEBPACK_IMPORTED_MODULE_8__.UISelectItems.install(this);
2979
3377
  }
2980
3378
  static intersectRect(r1, r2) {
2981
3379
  return !(r2.left > r1.left + r1.width || r2.left + r2.width < r1.left || r2.top > r1.top + r1.height || r2.top + r2.height < r1.top);
@@ -2983,7 +3381,7 @@ class UIVirtualScroll extends jodit_esm_core_ui_group_group__WEBPACK_IMPORTED_MO
2983
3381
  onSelectItems(bound) {
2984
3382
  const selected = [];
2985
3383
  this.elements.forEach((elm)=>{
2986
- const pos = (0,jodit_esm_core_helpers_size_position__WEBPACK_IMPORTED_MODULE_3__.position)(elm.container);
3384
+ const pos = (0,jodit_esm_core_helpers_size_position__WEBPACK_IMPORTED_MODULE_4__.position)(elm.container);
2987
3385
  if (UIVirtualScroll.intersectRect(pos, bound)) {
2988
3386
  selected.push(elm.item);
2989
3387
  }
@@ -3001,6 +3399,9 @@ class UIVirtualScroll extends jodit_esm_core_ui_group_group__WEBPACK_IMPORTED_MO
3001
3399
  (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__.watch)('container:scroll'),
3002
3400
  (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__.throttle)()
3003
3401
  ], UIVirtualScroll.prototype, "onScrollLoadChunk", null);
3402
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
3403
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__.watch)('container:contextmenu')
3404
+ ], UIVirtualScroll.prototype, "onAreaContextMenu", null);
3004
3405
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
3005
3406
  (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_2__.watch)('container:dragover')
3006
3407
  ], UIVirtualScroll.prototype, "onDragOver", null);