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
  */
@@ -60,26 +60,27 @@ module.exports = "<svg viewBox=\"0 0 252 252\" xmlns=\"http://www.w3.org/2000/sv
60
60
  /* harmony import */ var _swc_helpers_ts_generator__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(62361);
61
61
  /* harmony import */ var _ui_assets_icons__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(34042);
62
62
  /* harmony import */ var _helpers_context_menu__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(8087);
63
- /* harmony import */ var _helpers_helpers__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(77841);
64
- /* harmony import */ var _helpers_history_manager__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(17578);
65
- /* harmony import */ var _helpers_loading_manager__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(97770);
66
- /* harmony import */ var _helpers_persistent_store__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(42663);
67
- /* harmony import */ var _helpers_state_manager__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(55535);
68
- /* harmony import */ var _ui_header_header__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(18250);
69
- /* harmony import */ var _ui_lightboox_lightbox__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(69277);
70
- /* harmony import */ var _ui_panel_panel__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(4278);
71
- /* harmony import */ var _ui_progress_progress__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(95002);
72
- /* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(6441);
73
- /* harmony import */ var jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(82758);
74
- /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(65478);
75
- /* harmony import */ var jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(21537);
76
- /* harmony import */ var jodit_esm_core_traits_dlgs__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(70231);
77
- /* harmony import */ var jodit_esm_modules__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(41409);
78
- /* harmony import */ var jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(638);
79
- /* harmony import */ var jodit_esm_modules_file_browser_factories__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(63399);
80
- /* harmony import */ var jodit_esm_modules_image_editor_image_editor__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(50050);
81
- /* harmony import */ var jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(2692);
82
- /* harmony import */ var jodit_pro_plugins_license_license__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(21246);
63
+ /* harmony import */ var _helpers_data_provider__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(34698);
64
+ /* harmony import */ var _helpers_helpers__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(77841);
65
+ /* harmony import */ var _helpers_history_manager__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(17578);
66
+ /* harmony import */ var _helpers_loading_manager__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(97770);
67
+ /* harmony import */ var _helpers_persistent_store__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(42663);
68
+ /* harmony import */ var _helpers_state_manager__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(55535);
69
+ /* harmony import */ var _ui_header_header__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(18250);
70
+ /* harmony import */ var _ui_lightboox_lightbox__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(69277);
71
+ /* harmony import */ var _ui_panel_panel__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(4278);
72
+ /* harmony import */ var _ui_progress_progress__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(95002);
73
+ /* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(6441);
74
+ /* harmony import */ var jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(82758);
75
+ /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(65478);
76
+ /* harmony import */ var jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(21537);
77
+ /* harmony import */ var jodit_esm_core_traits_dlgs__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(70231);
78
+ /* harmony import */ var jodit_esm_modules__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(41409);
79
+ /* harmony import */ var jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(638);
80
+ /* harmony import */ var jodit_esm_modules_file_browser_data_provider__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(11787);
81
+ /* harmony import */ var jodit_esm_modules_image_editor_image_editor__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(50050);
82
+ /* harmony import */ var jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(2692);
83
+ /* harmony import */ var jodit_pro_plugins_license_license__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(21246);
83
84
  /*!
84
85
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
85
86
  * See LICENSE.md in the project root for license information.
@@ -117,6 +118,7 @@ module.exports = "<svg viewBox=\"0 0 252 252\" xmlns=\"http://www.w3.org/2000/sv
117
118
 
118
119
 
119
120
 
121
+
120
122
 
121
123
 
122
124
  var FileBrowserPro = /*#__PURE__*/ function(Dialog) {
@@ -126,17 +128,17 @@ var FileBrowserPro = /*#__PURE__*/ function(Dialog) {
126
128
  (0,_swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_2__._)(this, FileBrowserPro);
127
129
  var _this;
128
130
  _this = (0,_swc_helpers_call_super__WEBPACK_IMPORTED_MODULE_1__._)(this, FileBrowserPro, [
129
- (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_26__.ConfigProto)(Object.assign(options || {}, {
131
+ (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_27__.ConfigProto)(Object.assign(options || {}, {
130
132
  resizable: true,
131
133
  draggable: true,
132
- toolbarButtons: (options === null || options === void 0 ? void 0 : options.toolbarButtons) || jodit_esm_config__WEBPACK_IMPORTED_MODULE_23__.Config.defaultOptions.filebrowser.buttons,
133
- buttons: jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_32__.JoditPro.atom([
134
+ toolbarButtons: (options === null || options === void 0 ? void 0 : options.toolbarButtons) || jodit_esm_config__WEBPACK_IMPORTED_MODULE_24__.Config.defaultOptions.filebrowser.buttons,
135
+ buttons: jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_33__.JoditPro.atom([
134
136
  'filebrowser.settings',
135
137
  'fullsize',
136
138
  'dialog.close'
137
139
  ])
138
- }), jodit_esm_config__WEBPACK_IMPORTED_MODULE_23__.Config.defaultOptions.filebrowser)
139
- ]), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "dataProvider", (0,jodit_esm_modules_file_browser_factories__WEBPACK_IMPORTED_MODULE_30__.makeDataProvider)(_this, _this.options)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "state", (0,jodit_esm_modules__WEBPACK_IMPORTED_MODULE_28__.observable)({
140
+ }), jodit_esm_config__WEBPACK_IMPORTED_MODULE_24__.Config.defaultOptions.filebrowser)
141
+ ]), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "dataProvider", new _helpers_data_provider__WEBPACK_IMPORTED_MODULE_14__.DataProviderPro(_this, _this.options)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "state", (0,jodit_esm_modules__WEBPACK_IMPORTED_MODULE_29__.observable)({
140
142
  onSelectCallBack: null,
141
143
  theme: 'default',
142
144
  showSideBar: true,
@@ -153,6 +155,7 @@ var FileBrowserPro = /*#__PURE__*/ function(Dialog) {
153
155
  tree: [],
154
156
  activeElements: [],
155
157
  favorites: [],
158
+ clipboard: [],
156
159
  progress: 0,
157
160
  lastSelectedIndex: 0,
158
161
  elements: [],
@@ -163,8 +166,8 @@ var FileBrowserPro = /*#__PURE__*/ function(Dialog) {
163
166
  sortBy: 'name-asc',
164
167
  filterWord: '',
165
168
  onlyImages: false
166
- })), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "persistent", new _helpers_persistent_store__WEBPACK_IMPORTED_MODULE_17__.PersistentStore(_this, _this.state)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "loadingManager", new _helpers_loading_manager__WEBPACK_IMPORTED_MODULE_16__.LoadingManager(_this, _this.state)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "stateManager", new _helpers_state_manager__WEBPACK_IMPORTED_MODULE_18__.StateManager(_this.state)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "historyManager", new _helpers_history_manager__WEBPACK_IMPORTED_MODULE_15__.HistoryManager(_this, _this.state)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "contextMenuManager", new _helpers_context_menu__WEBPACK_IMPORTED_MODULE_13__.ContextMenuManager(_this)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "header", new _ui_header_header__WEBPACK_IMPORTED_MODULE_19__.UIBrowserHeader(_this, _this.options, _this.stateManager)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "panel", new _ui_panel_panel__WEBPACK_IMPORTED_MODULE_21__.UIBrowserPanel(_this, _this.stateManager)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "files", _this.panel), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "tree", _this.panel), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "uploader", void 0);
167
- jodit_pro_plugins_license_license__WEBPACK_IMPORTED_MODULE_33__.license.make(_this);
169
+ })), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "persistent", new _helpers_persistent_store__WEBPACK_IMPORTED_MODULE_18__.PersistentStore(_this, _this.state)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "loadingManager", new _helpers_loading_manager__WEBPACK_IMPORTED_MODULE_17__.LoadingManager(_this, _this.state)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "stateManager", new _helpers_state_manager__WEBPACK_IMPORTED_MODULE_19__.StateManager(_this.state)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "historyManager", new _helpers_history_manager__WEBPACK_IMPORTED_MODULE_16__.HistoryManager(_this, _this.state)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "contextMenuManager", new _helpers_context_menu__WEBPACK_IMPORTED_MODULE_13__.ContextMenuManager(_this)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "header", new _ui_header_header__WEBPACK_IMPORTED_MODULE_20__.UIBrowserHeader(_this, _this.options, _this.stateManager)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "panel", new _ui_panel_panel__WEBPACK_IMPORTED_MODULE_22__.UIBrowserPanel(_this, _this.stateManager)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "files", _this.panel), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "tree", _this.panel), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "uploader", void 0);
170
+ jodit_pro_plugins_license_license__WEBPACK_IMPORTED_MODULE_34__.license.make(_this);
168
171
  if (!_this.persistent.theme && _this.options.theme) {
169
172
  _this.persistent.theme = _this.options.theme;
170
173
  }
@@ -183,7 +186,7 @@ var FileBrowserPro = /*#__PURE__*/ function(Dialog) {
183
186
  });
184
187
  _this.e.on('beforeClose', _this.removeGlobalListeners);
185
188
  _this.e.fire('afterInit');
186
- jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_32__.JoditPro.prototype.afterInitHook.call(_this);
189
+ jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_33__.JoditPro.prototype.afterInitHook.call(_this);
187
190
  return _this;
188
191
  }
189
192
  (0,_swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_3__._)(FileBrowserPro, [
@@ -212,13 +215,13 @@ var FileBrowserPro = /*#__PURE__*/ function(Dialog) {
212
215
  key: "status",
213
216
  value: function status(message) {
214
217
  var success = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !(0,_swc_helpers_instanceof__WEBPACK_IMPORTED_MODULE_8__._)(message, Error);
215
- if ((0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_26__.isAbortError)(message)) {
218
+ if ((0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_27__.isAbortError)(message)) {
216
219
  return;
217
220
  }
218
- if (!jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_24__.IS_PROD && !(0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_26__.isString)(message)) {
221
+ if (!jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_25__.IS_PROD && !(0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_27__.isString)(message)) {
219
222
  console.error(message);
220
223
  }
221
- this.message.message((0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_26__.isString)(message) ? message : message.message, success ? 'success' : 'error', this.options.howLongShowMsg);
224
+ this.message.message((0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_27__.isString)(message) ? message : message.message, success ? 'success' : 'error', this.options.howLongShowMsg);
222
225
  }
223
226
  },
224
227
  {
@@ -231,7 +234,7 @@ var FileBrowserPro = /*#__PURE__*/ function(Dialog) {
231
234
  * no error. Mirror the core file-browser: pull the message out of the
232
235
  * answer via the data provider and show it as an error.
233
236
  */ function errorHandler(resp) {
234
- if ((0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_26__.isAbortError)(resp)) {
237
+ if ((0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_27__.isAbortError)(resp)) {
235
238
  return;
236
239
  }
237
240
  this.status((0,_swc_helpers_instanceof__WEBPACK_IMPORTED_MODULE_8__._)(resp, Error) ? this.i18n(resp.message) : this.dataProvider.getMessage(resp), false);
@@ -240,7 +243,7 @@ var FileBrowserPro = /*#__PURE__*/ function(Dialog) {
240
243
  {
241
244
  key: "progressbar",
242
245
  get: function get() {
243
- return new _ui_progress_progress__WEBPACK_IMPORTED_MODULE_22__.UIProgress(this, this.stateManager.state);
246
+ return new _ui_progress_progress__WEBPACK_IMPORTED_MODULE_23__.UIProgress(this, this.stateManager.state);
244
247
  }
245
248
  },
246
249
  {
@@ -249,6 +252,18 @@ var FileBrowserPro = /*#__PURE__*/ function(Dialog) {
249
252
  this.dialog.appendChild(elm);
250
253
  }
251
254
  },
255
+ {
256
+ key: "getMessageModule",
257
+ value: /**
258
+ * Show status toasts in the lower right corner of the finder window.
259
+ * The default view container of a dialog is a zero-size anchor
260
+ * (`.jodit-dialog`), so messages attached to it appear in a random
261
+ * place of the page instead of inside the finder.
262
+ * @override
263
+ */ function getMessageModule() {
264
+ return (0,_swc_helpers_get__WEBPACK_IMPORTED_MODULE_5__._)((0,_swc_helpers_get_prototype_of__WEBPACK_IMPORTED_MODULE_6__._)(FileBrowserPro.prototype), "getMessageModule", this).call(this, this.dialog);
265
+ }
266
+ },
252
267
  {
253
268
  key: "open",
254
269
  value: // @ts-ignore
@@ -278,7 +293,7 @@ var FileBrowserPro = /*#__PURE__*/ function(Dialog) {
278
293
  value: /**
279
294
  * Resize handler
280
295
  */ function onResizeWindow() {
281
- (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_26__.css)(this.dialog, {
296
+ (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_27__.css)(this.dialog, {
282
297
  maxWidth: screen.width,
283
298
  minHeight: Math.min(this.options.height, screen.height),
284
299
  minWidth: Math.min(this.options.width, screen.width)
@@ -332,29 +347,29 @@ var FileBrowserPro = /*#__PURE__*/ function(Dialog) {
332
347
  key: "onKeyPress",
333
348
  value: function onKeyPress(e) {
334
349
  var activeElement = this.od.activeElement;
335
- if (!this.state.activeElements.length || !activeElement || !jodit_esm_modules__WEBPACK_IMPORTED_MODULE_28__.Dom.isOrContains(this.panel.items.container, activeElement)) {
350
+ if (!this.state.activeElements.length || !activeElement || !jodit_esm_modules__WEBPACK_IMPORTED_MODULE_29__.Dom.isOrContains(this.panel.items.container, activeElement)) {
336
351
  return;
337
352
  }
338
353
  var elms = this.state.elements;
339
354
  switch(e.key){
340
- case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_24__.KEY_ENTER:
355
+ case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_25__.KEY_ENTER:
341
356
  {
342
357
  return this.onChooseItems();
343
358
  }
344
- case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_24__.KEY_DELETE:
359
+ case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_25__.KEY_DELETE:
345
360
  {
346
361
  return this.onFileRemove();
347
362
  }
348
- case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_24__.KEY_RIGHT:
349
- case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_24__.KEY_LEFT:
350
- case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_24__.KEY_DOWN:
351
- case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_24__.KEY_UP:
363
+ case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_25__.KEY_RIGHT:
364
+ case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_25__.KEY_LEFT:
365
+ case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_25__.KEY_DOWN:
366
+ case jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_25__.KEY_UP:
352
367
  {
353
- var next = e.key === jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_24__.KEY_RIGHT || e.key === jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_24__.KEY_DOWN, index = this.state.lastSelectedIndex;
368
+ var next = e.key === jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_25__.KEY_RIGHT || e.key === jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_25__.KEY_DOWN, index = this.state.lastSelectedIndex;
354
369
  var nextIndex;
355
370
  if ([
356
- jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_24__.KEY_RIGHT,
357
- jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_24__.KEY_LEFT
371
+ jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_25__.KEY_RIGHT,
372
+ jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_25__.KEY_LEFT
358
373
  ].includes(e.key)) {
359
374
  if (next) {
360
375
  nextIndex = !elms[index + 1] ? 0 : index + 1;
@@ -377,6 +392,210 @@ var FileBrowserPro = /*#__PURE__*/ function(Dialog) {
377
392
  this.e.off(this.ow, 'keydown', this.onKeyPress);
378
393
  }
379
394
  },
395
+ {
396
+ key: "onCut",
397
+ value: function onCut(folder) {
398
+ this.__fillClipboard('cut', folder);
399
+ }
400
+ },
401
+ {
402
+ key: "onCopy",
403
+ value: function onCopy(folder) {
404
+ this.__fillClipboard('copy', folder);
405
+ }
406
+ },
407
+ {
408
+ key: "__fillClipboard",
409
+ value: function __fillClipboard(mode, folder) {
410
+ this.state.clipboard = folder ? [
411
+ {
412
+ mode: mode,
413
+ type: 'folder',
414
+ from: (0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_15__.folderFullPath)(folder),
415
+ name: folder.name,
416
+ sourceName: folder.sourceName
417
+ }
418
+ ] : this.state.activeElements.filter(function(item) {
419
+ return item.file || item.name;
420
+ }).map(function(item) {
421
+ return {
422
+ mode: mode,
423
+ type: item.type === 'folder' ? 'folder' : 'file',
424
+ from: (0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_15__.normalizeItemPath)(item.path + (item.file || item.name || '')),
425
+ name: item.file || item.name || '',
426
+ sourceName: item.sourceName
427
+ };
428
+ });
429
+ }
430
+ },
431
+ {
432
+ /**
433
+ * The current folder as a paste target (used by the toolbar button and
434
+ * the empty-area context menu)
435
+ */ key: "getPasteTarget",
436
+ value: function getPasteTarget() {
437
+ var _sources_;
438
+ var _this_state = this.state, currentPath = _this_state.currentPath, currentSource = _this_state.currentSource, sources = _this_state.sources;
439
+ return {
440
+ path: currentPath || '/',
441
+ sourceName: currentSource || ((_sources_ = sources[0]) === null || _sources_ === void 0 ? void 0 : _sources_.name) || jodit_esm_modules_file_browser_data_provider__WEBPACK_IMPORTED_MODULE_31__.DEFAULT_SOURCE_NAME
442
+ };
443
+ }
444
+ },
445
+ {
446
+ key: "canPaste",
447
+ value: function canPaste(target) {
448
+ var items = this.state.clipboard;
449
+ if (!items.length || items.some(function(item) {
450
+ return item.sourceName !== target.sourceName;
451
+ })) {
452
+ return false;
453
+ }
454
+ var dp = this.dataProvider;
455
+ var allowed = function allowed(item) {
456
+ return item.mode === 'copy' ? dp.canCopy(item.type === 'file') : dp.canI(item.type === 'file' ? 'FileMove' : 'FolderMove');
457
+ };
458
+ if (!items.every(allowed)) {
459
+ return false;
460
+ }
461
+ var targetPath = (0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_15__.normalizeItemPath)(target.path);
462
+ // A folder can not be moved/copied into itself or its own subtree
463
+ return !items.some(function(item) {
464
+ return item.type === 'folder' && (targetPath === item.from || targetPath.startsWith(item.from + '/'));
465
+ });
466
+ }
467
+ },
468
+ {
469
+ key: "onPaste",
470
+ value: function onPaste(target) {
471
+ var _this = this;
472
+ if (!this.canPaste(target)) {
473
+ return;
474
+ }
475
+ var items = this.state.clipboard;
476
+ // Cut works once, a copied clipboard can be pasted repeatedly
477
+ if (items.some(function(item) {
478
+ return item.mode === 'cut';
479
+ })) {
480
+ this.state.clipboard = [];
481
+ }
482
+ var targetPath = (0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_15__.normalizeItemPath)(target.path);
483
+ // The data provider writes its arguments into shared ajax options —
484
+ // requests must not run in parallel
485
+ var pasteSequentially = function pasteSequentially() {
486
+ return (0,_swc_helpers_async_to_generator__WEBPACK_IMPORTED_MODULE_0__._)(function() {
487
+ var done, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, item, isFile, err;
488
+ return (0,_swc_helpers_ts_generator__WEBPACK_IMPORTED_MODULE_11__._)(this, function(_state) {
489
+ switch(_state.label){
490
+ case 0:
491
+ done = 0;
492
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
493
+ _state.label = 1;
494
+ case 1:
495
+ _state.trys.push([
496
+ 1,
497
+ 9,
498
+ 10,
499
+ 11
500
+ ]);
501
+ _iterator = items[Symbol.iterator]();
502
+ _state.label = 2;
503
+ case 2:
504
+ if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done)) return [
505
+ 3,
506
+ 8
507
+ ];
508
+ item = _step.value;
509
+ isFile = item.type === 'file';
510
+ if (!(item.mode === 'cut')) return [
511
+ 3,
512
+ 4
513
+ ];
514
+ // Moving into the folder the item is already in is a no-op
515
+ if ((0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_15__.parentPath)(item.from) === targetPath) {
516
+ return [
517
+ 3,
518
+ 7
519
+ ];
520
+ }
521
+ return [
522
+ 4,
523
+ this.dataProvider.move(item.from, targetPath, target.sourceName, isFile)
524
+ ];
525
+ case 3:
526
+ _state.sent();
527
+ return [
528
+ 3,
529
+ 6
530
+ ];
531
+ case 4:
532
+ return [
533
+ 4,
534
+ this.dataProvider.copy(item.from, targetPath, target.sourceName, isFile)
535
+ ];
536
+ case 5:
537
+ _state.sent();
538
+ _state.label = 6;
539
+ case 6:
540
+ done += 1;
541
+ _state.label = 7;
542
+ case 7:
543
+ _iteratorNormalCompletion = true;
544
+ return [
545
+ 3,
546
+ 2
547
+ ];
548
+ case 8:
549
+ return [
550
+ 3,
551
+ 11
552
+ ];
553
+ case 9:
554
+ err = _state.sent();
555
+ _didIteratorError = true;
556
+ _iteratorError = err;
557
+ return [
558
+ 3,
559
+ 11
560
+ ];
561
+ case 10:
562
+ try {
563
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
564
+ _iterator.return();
565
+ }
566
+ } finally{
567
+ if (_didIteratorError) {
568
+ throw _iteratorError;
569
+ }
570
+ }
571
+ return [
572
+ 7
573
+ ];
574
+ case 11:
575
+ return [
576
+ 2,
577
+ done
578
+ ];
579
+ }
580
+ });
581
+ }).call(_this);
582
+ };
583
+ var isCopy = items.every(function(item) {
584
+ return item.mode === 'copy';
585
+ });
586
+ pasteSequentially().then(function(done) {
587
+ if (done > 0) {
588
+ _this.status(_this.i18n(isCopy ? '%s item(s) were copied' : '%s item(s) were moved', String(done)), true);
589
+ }
590
+ }).catch(this.status).finally(function() {
591
+ _this.state.activeElements = [];
592
+ return Promise.allSettled([
593
+ _this.loadingManager.loadItems(),
594
+ _this.loadingManager.loadFolders()
595
+ ]);
596
+ });
597
+ }
598
+ },
380
599
  {
381
600
  key: "onFileRemove",
382
601
  value: function onFileRemove() {
@@ -398,7 +617,7 @@ var FileBrowserPro = /*#__PURE__*/ function(Dialog) {
398
617
  var promises = [];
399
618
  items.forEach(function(item) {
400
619
  var _item_name;
401
- promises.push(item.type === 'folder' ? _this.__folderRemove((0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_14__.parentPath)(item.path), (_item_name = item.name) !== null && _item_name !== void 0 ? _item_name : '', item.sourceName) : _this.__removeFile(item.file || item.name || '', item.sourceName));
620
+ promises.push(item.type === 'folder' ? _this.__folderRemove((0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_15__.parentPath)(item.path), (_item_name = item.name) !== null && _item_name !== void 0 ? _item_name : '', item.sourceName) : _this.__removeFile(item.file || item.name || '', item.sourceName));
402
621
  });
403
622
  this.state.activeElements.forEach(function(el) {
404
623
  _this.stateManager.isFavorite(el) && _this.stateManager.toggleFavorite(el);
@@ -428,7 +647,7 @@ var FileBrowserPro = /*#__PURE__*/ function(Dialog) {
428
647
  return this.dataProvider.folderRemove(path, name, sourceName).then(function(message) {
429
648
  _this.status(message || _this.i18n('Folder "%s" was deleted', name), true);
430
649
  if (_this.state.currentPath === path) {
431
- _this.state.currentPath = (0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_14__.parentPath)(path);
650
+ _this.state.currentPath = (0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_15__.parentPath)(path);
432
651
  _this.state.currentSource = sourceName;
433
652
  }
434
653
  }).catch(this.status);
@@ -439,7 +658,7 @@ var FileBrowserPro = /*#__PURE__*/ function(Dialog) {
439
658
  value: function onFileEdit() {
440
659
  if (this.state.activeElements.length === 1) {
441
660
  var _this_state_activeElements = (0,_swc_helpers_sliced_to_array__WEBPACK_IMPORTED_MODULE_9__._)(this.state.activeElements, 1), file = _this_state_activeElements[0];
442
- jodit_esm_modules_image_editor_image_editor__WEBPACK_IMPORTED_MODULE_31__.openImageEditor.call(this, file.fileURL, file.file || '', file.path, file.sourceName, undefined, this.status);
661
+ jodit_esm_modules_image_editor_image_editor__WEBPACK_IMPORTED_MODULE_32__.openImageEditor.call(this, file.fileURL, file.file || '', file.path, file.sourceName, undefined, this.status);
443
662
  }
444
663
  }
445
664
  },
@@ -448,14 +667,14 @@ var FileBrowserPro = /*#__PURE__*/ function(Dialog) {
448
667
  value: function onFolderRename(data) {
449
668
  var _this = this;
450
669
  this.prompt('Enter new name', 'Rename', function(newName) {
451
- if (!(0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_26__.isValidName)(newName) || newName === data.name) {
670
+ if (!(0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_27__.isValidName)(newName) || newName === data.name) {
452
671
  _this.status(_this.i18n('Enter new name'));
453
672
  return false;
454
673
  }
455
- _this.dataProvider.folderRename((0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_14__.parentPath)(data.path), data.name, newName, data.sourceName).then(function(message) {
674
+ _this.dataProvider.folderRename((0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_15__.parentPath)(data.path), data.name, newName, data.sourceName).then(function(message) {
456
675
  _this.state.activeElements = [];
457
676
  _this.status(message, true);
458
- _this.state.currentPath = (0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_14__.parentPath)(data.path) + '/' + newName;
677
+ _this.state.currentPath = (0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_15__.parentPath)(data.path) + '/' + newName;
459
678
  _this.state.currentSource = data.sourceName;
460
679
  _this.historyManager.updateCurrent();
461
680
  _this.loadingManager.loadFolders();
@@ -505,7 +724,7 @@ var FileBrowserPro = /*#__PURE__*/ function(Dialog) {
505
724
  var name = item.file || item.name || '';
506
725
  if (this.state.activeElements.length === 1 && name) {
507
726
  this.prompt('Enter new name', 'Rename', function(newName) {
508
- if (!(0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_26__.isValidName)(newName)) {
727
+ if (!(0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_27__.isValidName)(newName)) {
509
728
  _this.status(_this.i18n('Enter new name'));
510
729
  return false;
511
730
  }
@@ -541,14 +760,14 @@ var FileBrowserPro = /*#__PURE__*/ function(Dialog) {
541
760
  {
542
761
  key: "onOpenLightBox",
543
762
  value: function onOpenLightBox(item) {
544
- _ui_lightboox_lightbox__WEBPACK_IMPORTED_MODULE_20__.UILightBox.open(this, item, this.state.elements);
763
+ _ui_lightboox_lightbox__WEBPACK_IMPORTED_MODULE_21__.UILightBox.open(this, item, this.state.elements);
545
764
  }
546
765
  },
547
766
  {
548
767
  key: "initUploader",
549
768
  value: function initUploader() {
550
769
  var _this = this;
551
- var self = this, uploaderOptions = (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_26__.ConfigProto)(self.o.uploader || {}, jodit_esm_config__WEBPACK_IMPORTED_MODULE_23__.Config.defaultOptions.uploader);
770
+ var self = this, uploaderOptions = (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_27__.ConfigProto)(self.o.uploader || {}, jodit_esm_config__WEBPACK_IMPORTED_MODULE_24__.Config.defaultOptions.uploader);
552
771
  var uploadHandler = function uploadHandler() {
553
772
  return _this.loadingManager.loadItems();
554
773
  };
@@ -579,6 +798,8 @@ var FileBrowserPro = /*#__PURE__*/ function(Dialog) {
579
798
  'create',
580
799
  'fileMove',
581
800
  'folderMove',
801
+ 'fileCopy',
802
+ 'folderCopy',
582
803
  'fileRename',
583
804
  'folderRename',
584
805
  'fileRemove',
@@ -589,75 +810,84 @@ var FileBrowserPro = /*#__PURE__*/ function(Dialog) {
589
810
  ];
590
811
  keys.forEach(function(key) {
591
812
  if (_this.options[key] != null) {
592
- _this.options[key] = (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_26__.ConfigProto)(_this.options[key], _this.o.ajax);
813
+ _this.options[key] = (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_27__.ConfigProto)(_this.options[key], _this.o.ajax);
593
814
  }
594
815
  });
595
816
  }
596
817
  }
597
818
  ]);
598
819
  return FileBrowserPro;
599
- }(jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_29__.Dialog);
820
+ }(jodit_esm_modules_dialog__WEBPACK_IMPORTED_MODULE_30__.Dialog);
600
821
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
601
- jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_25__.autobind
822
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.autobind
602
823
  ], FileBrowserPro.prototype, "status", null);
603
824
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
604
- jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_25__.autobind
825
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.autobind
605
826
  ], FileBrowserPro.prototype, "errorHandler", null);
606
827
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
607
- jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_25__.cache
828
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.cache
608
829
  ], FileBrowserPro.prototype, "progressbar", null);
609
830
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
610
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_25__.watch)(':resize', {
831
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.watch)(':resize', {
611
832
  context: window
612
833
  })
613
834
  ], FileBrowserPro.prototype, "onResizeWindow", null);
614
835
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
615
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_25__.watch)([
836
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.watch)([
616
837
  'state.currentPath',
617
838
  'state.currentSource'
618
839
  ])
619
840
  ], FileBrowserPro.prototype, "onChangePath", null);
620
841
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
621
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_25__.watch)('state.theme')
842
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.watch)('state.theme')
622
843
  ], FileBrowserPro.prototype, "onChangeTheme", null);
623
844
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
624
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_25__.watch)(':toggleSettings.filebrowser')
845
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.watch)(':toggleSettings.filebrowser')
625
846
  ], FileBrowserPro.prototype, "onToggleSettings", null);
626
847
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
627
- jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_25__.autobind
848
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.autobind
628
849
  ], FileBrowserPro.prototype, "onKeyPress", null);
629
850
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
630
- jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_25__.autobind
851
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.autobind
631
852
  ], FileBrowserPro.prototype, "removeGlobalListeners", null);
632
853
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
633
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_25__.watch)(':fileRemove.filebrowser')
854
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.watch)(':cut.filebrowser')
855
+ ], FileBrowserPro.prototype, "onCut", null);
856
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
857
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.watch)(':copy.filebrowser')
858
+ ], FileBrowserPro.prototype, "onCopy", null);
859
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
860
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.watch)(':paste.filebrowser')
861
+ ], FileBrowserPro.prototype, "onPaste", null);
862
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
863
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.watch)(':fileRemove.filebrowser')
634
864
  ], FileBrowserPro.prototype, "onFileRemove", null);
635
865
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
636
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_25__.watch)(':edit.filebrowser')
866
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.watch)(':edit.filebrowser')
637
867
  ], FileBrowserPro.prototype, "onFileEdit", null);
638
868
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
639
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_25__.watch)(':folderRename.filebrowser')
869
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.watch)(':folderRename.filebrowser')
640
870
  ], FileBrowserPro.prototype, "onFolderRename", null);
641
871
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
642
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_25__.watch)(':folderRemove.filebrowser')
872
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.watch)(':folderRemove.filebrowser')
643
873
  ], FileBrowserPro.prototype, "onFolderRemove", null);
644
874
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
645
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_25__.watch)(':folderCreate.filebrowser')
875
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.watch)(':folderCreate.filebrowser')
646
876
  ], FileBrowserPro.prototype, "onFolderCreate", null);
647
877
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
648
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_25__.watch)(':fileRename.filebrowser')
878
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.watch)(':fileRename.filebrowser')
649
879
  ], FileBrowserPro.prototype, "onFileRename", null);
650
880
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
651
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_25__.watch)(':select.filebrowser')
881
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.watch)(':select.filebrowser')
652
882
  ], FileBrowserPro.prototype, "onChooseItems", null);
653
883
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
654
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_25__.watch)(':openLightBox.filebrowser')
884
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.watch)(':openLightBox.filebrowser')
655
885
  ], FileBrowserPro.prototype, "onOpenLightBox", null);
656
886
  FileBrowserPro = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_10__.__decorate)([
657
- jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_25__.component,
658
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_25__.derive)(jodit_esm_core_traits_dlgs__WEBPACK_IMPORTED_MODULE_27__.Dlgs)
887
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.component,
888
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_26__.derive)(jodit_esm_core_traits_dlgs__WEBPACK_IMPORTED_MODULE_28__.Dlgs)
659
889
  ], FileBrowserPro);
660
- Object.defineProperty(jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_32__.JoditPro.modules, 'FileBrowserPro', {
890
+ Object.defineProperty(jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_33__.JoditPro.modules, 'FileBrowserPro', {
661
891
  value: FileBrowserPro,
662
892
  writable: false,
663
893
  enumerable: true,
@@ -738,6 +968,16 @@ fb['new-folder'] = {
738
968
  },
739
969
  tooltip: 'New folder'
740
970
  };
971
+ fb.paste = {
972
+ icon: 'paste',
973
+ tooltip: 'Paste',
974
+ isDisabled: function isDisabled(fb) {
975
+ return !fb.canPaste(fb.getPasteTarget());
976
+ },
977
+ exec: function exec(editor) {
978
+ editor.e.fire('paste.filebrowser', editor.getPasteTarget());
979
+ }
980
+ };
741
981
  Object.assign(jodit_esm_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.filebrowser, {
742
982
  buttons: [
743
983
  'filebrowser.home',
@@ -746,6 +986,7 @@ Object.assign(jodit_esm_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.fil
746
986
  '|',
747
987
  'filebrowser.upload',
748
988
  'filebrowser.new-folder',
989
+ 'filebrowser.paste',
749
990
  'filebrowser.remove',
750
991
  'filebrowser.update',
751
992
  'filebrowser.select',
@@ -756,9 +997,19 @@ Object.assign(jodit_esm_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.fil
756
997
  ],
757
998
  sort: false,
758
999
  pixelOffsetLoadNewChunk: 300,
759
- width: 800,
1000
+ width: 900,
760
1001
  height: 400,
761
- previewOfficeURL: 'https://view.officeapps.live.com/op/view.aspx?src='
1002
+ previewOfficeURL: 'https://view.officeapps.live.com/op/view.aspx?src=',
1003
+ fileCopy: {
1004
+ data: {
1005
+ action: 'fileCopy'
1006
+ }
1007
+ },
1008
+ folderCopy: {
1009
+ data: {
1010
+ action: 'folderCopy'
1011
+ }
1012
+ }
762
1013
  });
763
1014
  (0,jodit_esm_core_global__WEBPACK_IMPORTED_MODULE_2__.extendLang)(_langs__WEBPACK_IMPORTED_MODULE_0__);
764
1015
 
@@ -850,9 +1101,10 @@ jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_9__.JoditPro.plugins.add('finder',
850
1101
  /* harmony import */ var _swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(67709);
851
1102
  /* harmony import */ var _swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(18766);
852
1103
  /* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(31635);
853
- /* harmony import */ var jodit_esm_core_component_view_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(80480);
854
- /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(65478);
855
- /* harmony import */ var jodit_esm_modules_file_browser_factories__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(63399);
1104
+ /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(77841);
1105
+ /* harmony import */ var jodit_esm_core_component_view_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(80480);
1106
+ /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(65478);
1107
+ /* harmony import */ var jodit_esm_modules_file_browser_factories__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(63399);
856
1108
  /*!
857
1109
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
858
1110
  * See LICENSE.md in the project root for license information.
@@ -865,6 +1117,7 @@ jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_9__.JoditPro.plugins.add('finder',
865
1117
 
866
1118
 
867
1119
 
1120
+
868
1121
  var ContextMenuManager = /*#__PURE__*/ function(ViewComponent) {
869
1122
  "use strict";
870
1123
  (0,_swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__._)(ContextMenuManager, ViewComponent);
@@ -900,13 +1153,20 @@ var ContextMenuManager = /*#__PURE__*/ function(ViewComponent) {
900
1153
  return false;
901
1154
  }
902
1155
  },
1156
+ {
1157
+ key: "onAreaContext",
1158
+ value: function onAreaContext(e) {
1159
+ this.buildContextItemMenu(this.getAreaContextActions(), e);
1160
+ return false;
1161
+ }
1162
+ },
903
1163
  {
904
1164
  key: "buildContextItemMenu",
905
1165
  value: function buildContextItemMenu(actions, e) {
906
1166
  if (!this.j.o.contextMenu) {
907
1167
  return;
908
1168
  }
909
- var context = (0,jodit_esm_modules_file_browser_factories__WEBPACK_IMPORTED_MODULE_7__.makeContextMenu)(this.j).setMod('theme', this.j.state.theme);
1169
+ var context = (0,jodit_esm_modules_file_browser_factories__WEBPACK_IMPORTED_MODULE_8__.makeContextMenu)(this.j).setMod('theme', this.j.state.theme);
910
1170
  context.show(e.clientX, e.clientY, actions.filter(function(a) {
911
1171
  return a && a.enabled !== false;
912
1172
  }));
@@ -951,6 +1211,22 @@ var ContextMenuManager = /*#__PURE__*/ function(ViewComponent) {
951
1211
  return _this.j.e.fire('fileRename.filebrowser', item);
952
1212
  }
953
1213
  },
1214
+ {
1215
+ icon: 'cut',
1216
+ title: 'Cut',
1217
+ enabled: dp.canI('FileMove'),
1218
+ exec: function exec() {
1219
+ return _this.j.e.fire('cut.filebrowser');
1220
+ }
1221
+ },
1222
+ {
1223
+ icon: 'copy',
1224
+ title: 'Copy',
1225
+ enabled: dp.canCopy(true),
1226
+ exec: function exec() {
1227
+ return _this.j.e.fire('copy.filebrowser');
1228
+ }
1229
+ },
954
1230
  {
955
1231
  icon: 'bin',
956
1232
  title: 'Delete',
@@ -984,7 +1260,10 @@ var ContextMenuManager = /*#__PURE__*/ function(ViewComponent) {
984
1260
  key: "getFolderContextActions",
985
1261
  value: function getFolderContextActions(item) {
986
1262
  var _this = this;
987
- var dp = this.j.dataProvider;
1263
+ var dp = this.j.dataProvider, pasteTarget = {
1264
+ path: (0,_helpers__WEBPACK_IMPORTED_MODULE_5__.folderFullPath)(item),
1265
+ sourceName: item.sourceName
1266
+ };
988
1267
  return [
989
1268
  {
990
1269
  icon: 'pencil',
@@ -994,6 +1273,30 @@ var ContextMenuManager = /*#__PURE__*/ function(ViewComponent) {
994
1273
  },
995
1274
  enabled: dp.canI('FolderRename')
996
1275
  },
1276
+ {
1277
+ icon: 'cut',
1278
+ title: 'Cut',
1279
+ enabled: dp.canI('FolderMove'),
1280
+ exec: function exec() {
1281
+ _this.j.e.fire('cut.filebrowser', item);
1282
+ }
1283
+ },
1284
+ {
1285
+ icon: 'copy',
1286
+ title: 'Copy',
1287
+ enabled: dp.canCopy(false),
1288
+ exec: function exec() {
1289
+ _this.j.e.fire('copy.filebrowser', item);
1290
+ }
1291
+ },
1292
+ {
1293
+ icon: 'paste',
1294
+ title: 'Paste',
1295
+ enabled: this.j.canPaste(pasteTarget),
1296
+ exec: function exec() {
1297
+ _this.j.e.fire('paste.filebrowser', pasteTarget);
1298
+ }
1299
+ },
997
1300
  {
998
1301
  icon: 'bin',
999
1302
  title: 'Delete',
@@ -1017,6 +1320,10 @@ var ContextMenuManager = /*#__PURE__*/ function(ViewComponent) {
1017
1320
  key: "getSourceContextActions",
1018
1321
  value: function getSourceContextActions(item) {
1019
1322
  var _this = this;
1323
+ var pasteTarget = {
1324
+ path: '/',
1325
+ sourceName: item.sourceName
1326
+ };
1020
1327
  return [
1021
1328
  {
1022
1329
  icon: 'plus',
@@ -1024,27 +1331,154 @@ var ContextMenuManager = /*#__PURE__*/ function(ViewComponent) {
1024
1331
  exec: function exec() {
1025
1332
  _this.j.e.fire('folderCreate.filebrowser', item);
1026
1333
  }
1334
+ },
1335
+ {
1336
+ icon: 'paste',
1337
+ title: 'Paste',
1338
+ enabled: this.j.canPaste(pasteTarget),
1339
+ exec: function exec() {
1340
+ _this.j.e.fire('paste.filebrowser', pasteTarget);
1341
+ }
1342
+ }
1343
+ ];
1344
+ }
1345
+ },
1346
+ {
1347
+ key: "getAreaContextActions",
1348
+ value: /**
1349
+ * Context menu of an empty spot of the file list — actions apply to the
1350
+ * currently opened folder
1351
+ */ function getAreaContextActions() {
1352
+ var _this = this;
1353
+ var target = this.j.getPasteTarget();
1354
+ return [
1355
+ {
1356
+ icon: 'paste',
1357
+ title: 'Paste',
1358
+ enabled: this.j.canPaste(target),
1359
+ exec: function exec() {
1360
+ _this.j.e.fire('paste.filebrowser', target);
1361
+ }
1362
+ },
1363
+ {
1364
+ icon: 'plus',
1365
+ title: 'Add folder',
1366
+ enabled: this.j.dataProvider.canI('FolderCreate'),
1367
+ exec: function exec() {
1368
+ _this.j.e.fire('folderCreate.filebrowser', {
1369
+ path: target.path,
1370
+ sourceName: target.sourceName
1371
+ });
1372
+ }
1027
1373
  }
1028
1374
  ];
1029
1375
  }
1030
1376
  }
1031
1377
  ]);
1032
1378
  return ContextMenuManager;
1033
- }(jodit_esm_core_component_view_component__WEBPACK_IMPORTED_MODULE_5__.ViewComponent);
1379
+ }(jodit_esm_core_component_view_component__WEBPACK_IMPORTED_MODULE_6__.ViewComponent);
1034
1380
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__.__decorate)([
1035
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_6__.watch)(':contextmenuFolder.filebrowser')
1381
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_7__.watch)(':contextmenuFolder.filebrowser')
1036
1382
  ], ContextMenuManager.prototype, "onFolderContext", null);
1037
1383
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__.__decorate)([
1038
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_6__.watch)(':contextmenuItem.filebrowser')
1384
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_7__.watch)(':contextmenuItem.filebrowser')
1039
1385
  ], ContextMenuManager.prototype, "onItemContext", null);
1040
1386
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__.__decorate)([
1041
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_6__.watch)(':contextmenuSource.filebrowser')
1387
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_7__.watch)(':contextmenuSource.filebrowser')
1042
1388
  ], ContextMenuManager.prototype, "onSourceContext", null);
1389
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__.__decorate)([
1390
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_7__.watch)(':contextmenuArea.filebrowser')
1391
+ ], ContextMenuManager.prototype, "onAreaContext", null);
1043
1392
  ContextMenuManager = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__.__decorate)([
1044
- jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_6__.component
1393
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_7__.component
1045
1394
  ], ContextMenuManager);
1046
1395
 
1047
1396
 
1397
+ /***/ }),
1398
+
1399
+ /***/ 34698:
1400
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1401
+
1402
+ "use strict";
1403
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1404
+ /* harmony export */ DataProviderPro: function() { return /* binding */ DataProviderPro; }
1405
+ /* harmony export */ });
1406
+ /* harmony import */ var _swc_helpers_call_super__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(80294);
1407
+ /* harmony import */ var _swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20616);
1408
+ /* harmony import */ var _swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(67709);
1409
+ /* harmony import */ var _swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(18766);
1410
+ /* harmony import */ var jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(21537);
1411
+ /* harmony import */ var jodit_esm_modules_file_browser_data_provider__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(11787);
1412
+ /*!
1413
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
1414
+ * See LICENSE.md in the project root for license information.
1415
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
1416
+ */
1417
+
1418
+
1419
+
1420
+
1421
+
1422
+ /**
1423
+ * Extends the core data provider with copy operations
1424
+ * (`fileCopy`/`folderCopy` connector actions).
1425
+ */ var DataProviderPro = /*#__PURE__*/ function(DataProvider) {
1426
+ "use strict";
1427
+ (0,_swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__._)(DataProviderPro, DataProvider);
1428
+ function DataProviderPro() {
1429
+ (0,_swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_1__._)(this, DataProviderPro);
1430
+ return (0,_swc_helpers_call_super__WEBPACK_IMPORTED_MODULE_0__._)(this, DataProviderPro, arguments);
1431
+ }
1432
+ (0,_swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_2__._)(DataProviderPro, [
1433
+ {
1434
+ /**
1435
+ * Copy a file / directory on the server
1436
+ *
1437
+ * @param filepath - The relative path to the file / folder source
1438
+ * @param path - Relative to the directory where you want to copy the file / folder
1439
+ */ key: "copy",
1440
+ value: function copy(filepath, path, source, isFile) {
1441
+ var _this = this;
1442
+ var mode = isFile ? 'fileCopy' : 'folderCopy';
1443
+ var option = this.o[mode];
1444
+ if (!option) {
1445
+ throw (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_4__.error)('Set Copy api options');
1446
+ }
1447
+ option.data.from = filepath;
1448
+ option.data.path = path;
1449
+ option.data.source = source;
1450
+ return this.get(mode).then(function(resp) {
1451
+ if (_this.isSuccess(resp)) {
1452
+ return true;
1453
+ }
1454
+ throw (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_4__.error)(_this.getMessage(resp));
1455
+ });
1456
+ }
1457
+ },
1458
+ {
1459
+ /**
1460
+ * Whether the connector allows copying. The core `canI` throws on rules
1461
+ * it does not know (`allowFileCopy`/`allowFolderCopy` are PRO-only), so
1462
+ * the same permission logic is replicated here.
1463
+ */ key: "canCopy",
1464
+ value: function canCopy(isFile) {
1465
+ var rule = isFile ? 'allowFileCopy' : 'allowFolderCopy';
1466
+ var preset = this.o.permissionsPresets[rule];
1467
+ if (preset !== undefined) {
1468
+ return preset;
1469
+ }
1470
+ // The core keeps loaded permissions in a private field — read it
1471
+ // structurally (same default as `canI`: allowed until the connector
1472
+ // says otherwise)
1473
+ var _this = this, permissions = _this.__currentPermissions;
1474
+ return permissions == null || permissions[rule] === undefined || Boolean(permissions[rule]);
1475
+ }
1476
+ }
1477
+ ]);
1478
+ return DataProviderPro;
1479
+ }(jodit_esm_modules_file_browser_data_provider__WEBPACK_IMPORTED_MODULE_5__["default"]);
1480
+
1481
+
1048
1482
  /***/ }),
1049
1483
 
1050
1484
  /***/ 77841:
@@ -1052,6 +1486,9 @@ ContextMenuManager = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__.__
1052
1486
 
1053
1487
  "use strict";
1054
1488
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1489
+ /* harmony export */ folderFullPath: function() { return /* binding */ folderFullPath; },
1490
+ /* harmony export */ isCutItem: function() { return /* binding */ isCutItem; },
1491
+ /* harmony export */ normalizeItemPath: function() { return /* binding */ normalizeItemPath; },
1055
1492
  /* harmony export */ parentPath: function() { return /* binding */ parentPath; }
1056
1493
  /* harmony export */ });
1057
1494
  /*!
@@ -1065,6 +1502,36 @@ ContextMenuManager = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_4__.__
1065
1502
  parts.pop();
1066
1503
  return parts.join('/') || '/';
1067
1504
  };
1505
+ /**
1506
+ * Removes duplicated/leading/trailing slashes: `'/test//a/' -> 'test/a'`,
1507
+ * `'/' -> '/'`. Unlike the core `normalizeRelativePath` it never keeps a
1508
+ * trailing slash, so paths are always comparable with `parentPath` output.
1509
+ */ var normalizeItemPath = function normalizeItemPath(path) {
1510
+ var parts = path.split('/').filter(function(p) {
1511
+ return p.length;
1512
+ });
1513
+ return parts.join('/') || '/';
1514
+ };
1515
+ /**
1516
+ * Full path of a folder item. Tree items already keep the folder name inside
1517
+ * `path`, items converted from a tile keep only the parent directory there
1518
+ * (with a trailing slash) and the name separately.
1519
+ */ var folderFullPath = function folderFullPath(item) {
1520
+ return item.path.endsWith('/') ? normalizeItemPath(item.path + item.name) : item.path;
1521
+ };
1522
+ /**
1523
+ * Whether the list item is cut and waits to be moved (such items are shown
1524
+ * dimmed). Copied items are intentionally not matched — copying does not
1525
+ * remove the original.
1526
+ */ var isCutItem = function isCutItem(clipboard, item) {
1527
+ if (!clipboard.length) {
1528
+ return false;
1529
+ }
1530
+ var from = normalizeItemPath(item.path + (item.file || item.name || ''));
1531
+ return clipboard.some(function(clip) {
1532
+ return clip.mode === 'cut' && clip.from === from && clip.sourceName === item.sourceName;
1533
+ });
1534
+ };
1068
1535
 
1069
1536
 
1070
1537
  /***/ }),
@@ -1620,6 +2087,11 @@ function loadPartItems(state, dataProvider, offset, limit) {
1620
2087
  /* harmony import */ var jodit_esm_core_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(91907);
1621
2088
  /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(65478);
1622
2089
  /* harmony import */ var jodit_esm_modules_file_browser_builders_item__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(159);
2090
+ /*!
2091
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
2092
+ * See LICENSE.md in the project root for license information.
2093
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
2094
+ */
1623
2095
 
1624
2096
 
1625
2097
 
@@ -1627,11 +2099,6 @@ function loadPartItems(state, dataProvider, offset, limit) {
1627
2099
 
1628
2100
 
1629
2101
 
1630
- /*!
1631
- * Jodit Editor PRO (https://xdsoft.net/jodit/)
1632
- * See LICENSE.md in the project root for license information.
1633
- * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
1634
- */
1635
2102
 
1636
2103
 
1637
2104
  var PersistentStore = /*#__PURE__*/ function(ViewComponent) {
@@ -1661,7 +2128,9 @@ var PersistentStore = /*#__PURE__*/ function(ViewComponent) {
1661
2128
  {
1662
2129
  key: "onChangeView",
1663
2130
  value: function onChangeView() {
1664
- this.view = this.state.view;
2131
+ if (this.__viewPersistenceEnabled()) {
2132
+ this.view = this.state.view;
2133
+ }
1665
2134
  }
1666
2135
  },
1667
2136
  {
@@ -1716,7 +2185,7 @@ var PersistentStore = /*#__PURE__*/ function(ViewComponent) {
1716
2185
  }
1717
2186
  return jodit_esm_modules_file_browser_builders_item__WEBPACK_IMPORTED_MODULE_9__.FileBrowserItem.create(item);
1718
2187
  });
1719
- this.state.view = this.view;
2188
+ this.state.view = this.__resolveView();
1720
2189
  this.state.theme = this.theme;
1721
2190
  this.state.showSideBar = this.showSideBar;
1722
2191
  this.state.showPreview = this.showPreview;
@@ -1724,6 +2193,45 @@ var PersistentStore = /*#__PURE__*/ function(ViewComponent) {
1724
2193
  this.state.sortBy = this.sortBy;
1725
2194
  this.state.foldersPosition = this.foldersPosition;
1726
2195
  }
2196
+ },
2197
+ {
2198
+ key: "__resolveView",
2199
+ value: /**
2200
+ * The `filebrowser.view` option is the default view. The view stored from
2201
+ * the user's last choice wins over it only when view persistence is
2202
+ * enabled (`saveStateInStorage.storeView !== false`) and the user has
2203
+ * actually chosen a view before.
2204
+ */ function __resolveView() {
2205
+ var _this___configView;
2206
+ if (this.__viewPersistenceEnabled() && this.__hasStoredView()) {
2207
+ return this.view;
2208
+ }
2209
+ return (_this___configView = this.__configView()) !== null && _this___configView !== void 0 ? _this___configView : 'tiles';
2210
+ }
2211
+ },
2212
+ {
2213
+ key: "__configView",
2214
+ value: function __configView() {
2215
+ var view = this.j.o.view;
2216
+ return view === 'tiles' || view === 'list' || view === 'compact' ? view : null;
2217
+ }
2218
+ },
2219
+ {
2220
+ key: "__viewPersistenceEnabled",
2221
+ value: function __viewPersistenceEnabled() {
2222
+ var saveStateInStorage = this.j.o.saveStateInStorage;
2223
+ if (saveStateInStorage === false) {
2224
+ return false;
2225
+ }
2226
+ return !saveStateInStorage || saveStateInStorage.storeView !== false;
2227
+ }
2228
+ },
2229
+ {
2230
+ key: "__hasStoredView",
2231
+ value: function __hasStoredView() {
2232
+ // Mirrors the storage key of the `@persistent` decorator
2233
+ return this.j.storage.get("".concat(this.j.o.namespace).concat(this.componentName, "_prop_view")) != null;
2234
+ }
1727
2235
  }
1728
2236
  ]);
1729
2237
  return PersistentStore;
@@ -2018,7 +2526,16 @@ function folderToTreeItem(name, path, sourceName) {
2018
2526
  Small: 'Klein',
2019
2527
  Large: 'Groß',
2020
2528
  'Extra large': 'Sehr groß',
2021
- 'Tile size': 'Kachelgröße'
2529
+ 'Tile size': 'Kachelgröße',
2530
+ Cut: 'Ausschneiden',
2531
+ Copy: 'Kopieren',
2532
+ Preview: 'Vorschau',
2533
+ Download: 'Herunterladen',
2534
+ 'Create folder': 'Ordner erstellen',
2535
+ Home: 'Start',
2536
+ 'Select image': 'Bild auswählen',
2537
+ '%s item(s) were moved': '%s Element(e) wurden verschoben',
2538
+ '%s item(s) were copied': '%s Element(e) wurden kopiert'
2022
2539
  };
2023
2540
 
2024
2541
 
@@ -2074,7 +2591,16 @@ __webpack_require__.r(__webpack_exports__);
2074
2591
  Small: 'Маленькие',
2075
2592
  Large: 'Большие',
2076
2593
  'Extra large': 'Очень большие',
2077
- 'Tile size': 'Размер плитки'
2594
+ 'Tile size': 'Размер плитки',
2595
+ Cut: 'Вырезать',
2596
+ Copy: 'Копировать',
2597
+ Preview: 'Просмотр',
2598
+ Download: 'Скачать',
2599
+ 'Create folder': 'Создать папку',
2600
+ Home: 'Главная',
2601
+ 'Select image': 'Выберите изображение',
2602
+ '%s item(s) were moved': 'Перемещено элементов: %s',
2603
+ '%s item(s) were copied': 'Скопировано элементов: %s'
2078
2604
  };
2079
2605
 
2080
2606
 
@@ -2221,7 +2747,7 @@ var UIBrowserHeader = /*#__PURE__*/ function(UIGroup) {
2221
2747
  var _this;
2222
2748
  _this = (0,_swc_helpers_call_super__WEBPACK_IMPORTED_MODULE_0__._)(this, UIBrowserHeader, [
2223
2749
  jodit
2224
- ]), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "options", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "stateManager", void 0), /** @override */ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "syncMod", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "toolbar", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "filter", void 0), _this.options = options, _this.stateManager = stateManager, _this.syncMod = true, _this.toolbar = (0,jodit_esm_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_9__.makeCollection)(_this.j), _this.filter = new jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_8__.UIInput(_this.j, {
2750
+ ]), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "options", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "stateManager", void 0), /** @override */ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "syncMod", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "toolbar", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "filter", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "state", void 0), _this.options = options, _this.stateManager = stateManager, _this.syncMod = true, _this.toolbar = (0,jodit_esm_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_9__.makeCollection)(_this.j), _this.filter = new jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_8__.UIInput(_this.j, {
2225
2751
  icon: 'search',
2226
2752
  placeholder: 'Filter',
2227
2753
  clearButton: true,
@@ -2229,6 +2755,7 @@ var UIBrowserHeader = /*#__PURE__*/ function(UIGroup) {
2229
2755
  _this.stateManager.setFilter(value);
2230
2756
  }
2231
2757
  });
2758
+ _this.state = stateManager.state;
2232
2759
  _this.append(_this.toolbar).append(_this.filter);
2233
2760
  _this.filter.container.classList.add(_this.getFullElName('filter'));
2234
2761
  _this.toolbar.setMod('mode', 'header').build(_this.__getButtons());
@@ -2241,6 +2768,15 @@ var UIBrowserHeader = /*#__PURE__*/ function(UIGroup) {
2241
2768
  return 'UIBrowserHeader';
2242
2769
  }
2243
2770
  },
2771
+ {
2772
+ key: "onChangeClipboard",
2773
+ value: /**
2774
+ * The Paste button appears in the toolbar only when the clipboard is not
2775
+ * empty — rebuild the toolbar when it changes
2776
+ */ function onChangeClipboard() {
2777
+ this.toolbar.build(this.__getButtons());
2778
+ }
2779
+ },
2244
2780
  {
2245
2781
  key: "__getButtons",
2246
2782
  value: function __getButtons() {
@@ -2260,6 +2796,8 @@ var UIBrowserHeader = /*#__PURE__*/ function(UIGroup) {
2260
2796
  return _this.j.dataProvider.canI('FileUpload');
2261
2797
  case 'filebrowser.remove':
2262
2798
  return _this.j.dataProvider.canI('FileRemove');
2799
+ case 'filebrowser.paste':
2800
+ return _this.state.clipboard.length > 0;
2263
2801
  }
2264
2802
  return true;
2265
2803
  });
@@ -2268,6 +2806,9 @@ var UIBrowserHeader = /*#__PURE__*/ function(UIGroup) {
2268
2806
  ]);
2269
2807
  return UIBrowserHeader;
2270
2808
  }(jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_8__.UIGroup);
2809
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_5__.__decorate)([
2810
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_6__.watch)('state.clipboard')
2811
+ ], UIBrowserHeader.prototype, "onChangeClipboard", null);
2271
2812
  UIBrowserHeader = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_5__.__decorate)([
2272
2813
  jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_6__.component
2273
2814
  ], UIBrowserHeader);
@@ -2677,12 +3218,13 @@ UILightBox = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_8__.__decorate
2677
3218
  /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(65478);
2678
3219
  /* harmony import */ var jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(21537);
2679
3220
  /* harmony import */ var jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(67510);
2680
- /* harmony import */ var jodit_pro_plugins_finder_ui_preview_preview__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(8358);
2681
- /* harmony import */ var jodit_pro_plugins_finder_ui_settings_settings__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(60062);
2682
- /* harmony import */ var jodit_pro_plugins_finder_ui_sidebar_sidebar__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(70950);
2683
- /* harmony import */ var jodit_pro_plugins_finder_ui_sources_sources__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(59198);
2684
- /* harmony import */ var jodit_pro_plugins_finder_ui_statusbar_statusbar__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(17234);
2685
- /* harmony import */ var jodit_pro_plugins_finder_ui_virtual_scroll_virtual_scroll__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(43778);
3221
+ /* harmony import */ var jodit_pro_plugins_finder_helpers_helpers__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(77841);
3222
+ /* harmony import */ var jodit_pro_plugins_finder_ui_preview_preview__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(8358);
3223
+ /* harmony import */ var jodit_pro_plugins_finder_ui_settings_settings__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(60062);
3224
+ /* harmony import */ var jodit_pro_plugins_finder_ui_sidebar_sidebar__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(70950);
3225
+ /* harmony import */ var jodit_pro_plugins_finder_ui_sources_sources__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(59198);
3226
+ /* harmony import */ var jodit_pro_plugins_finder_ui_statusbar_statusbar__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(17234);
3227
+ /* harmony import */ var jodit_pro_plugins_finder_ui_virtual_scroll_virtual_scroll__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(43778);
2686
3228
  /*!
2687
3229
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
2688
3230
  * See LICENSE.md in the project root for license information.
@@ -2703,6 +3245,7 @@ UILightBox = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_8__.__decorate
2703
3245
 
2704
3246
 
2705
3247
 
3248
+
2706
3249
  var UIBrowserPanel = /*#__PURE__*/ function(UIGroup) {
2707
3250
  "use strict";
2708
3251
  (0,_swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__._)(UIBrowserPanel, UIGroup);
@@ -2711,9 +3254,9 @@ var UIBrowserPanel = /*#__PURE__*/ function(UIGroup) {
2711
3254
  var _this;
2712
3255
  _this = (0,_swc_helpers_call_super__WEBPACK_IMPORTED_MODULE_0__._)(this, UIBrowserPanel, [
2713
3256
  jodit
2714
- ]), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "stateManager", void 0), /** @override */ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "syncMod", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "state", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "sources", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "sidebar", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "preview", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "statusbar", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "items", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "settings", void 0), _this.stateManager = stateManager, _this.syncMod = true, _this.sources = new jodit_pro_plugins_finder_ui_sources_sources__WEBPACK_IMPORTED_MODULE_12__.UIBrowserSources(_this.j), _this.sidebar = new jodit_pro_plugins_finder_ui_sidebar_sidebar__WEBPACK_IMPORTED_MODULE_11__.UISidebar(_this.jodit, [
3257
+ ]), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "stateManager", void 0), /** @override */ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "syncMod", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "state", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "sources", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "sidebar", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "preview", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "statusbar", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "items", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "settings", void 0), _this.stateManager = stateManager, _this.syncMod = true, _this.sources = new jodit_pro_plugins_finder_ui_sources_sources__WEBPACK_IMPORTED_MODULE_13__.UIBrowserSources(_this.j), _this.sidebar = new jodit_pro_plugins_finder_ui_sidebar_sidebar__WEBPACK_IMPORTED_MODULE_12__.UISidebar(_this.jodit, [
2715
3258
  _this.sources
2716
- ], _this.stateManager.state), _this.preview = new jodit_pro_plugins_finder_ui_preview_preview__WEBPACK_IMPORTED_MODULE_9__.UIPreview(_this.jodit, _this.stateManager.state), _this.statusbar = new jodit_pro_plugins_finder_ui_statusbar_statusbar__WEBPACK_IMPORTED_MODULE_13__.UIBrowserStatusBar(_this.j), _this.items = new jodit_pro_plugins_finder_ui_virtual_scroll_virtual_scroll__WEBPACK_IMPORTED_MODULE_14__.UIVirtualScroll(_this.j, _this.stateManager), _this.settings = new jodit_pro_plugins_finder_ui_settings_settings__WEBPACK_IMPORTED_MODULE_10__.UIBrowserSettings(_this.jodit, _this.stateManager.state);
3259
+ ], _this.stateManager.state), _this.preview = new jodit_pro_plugins_finder_ui_preview_preview__WEBPACK_IMPORTED_MODULE_10__.UIPreview(_this.jodit, _this.stateManager.state), _this.statusbar = new jodit_pro_plugins_finder_ui_statusbar_statusbar__WEBPACK_IMPORTED_MODULE_14__.UIBrowserStatusBar(_this.j), _this.items = new jodit_pro_plugins_finder_ui_virtual_scroll_virtual_scroll__WEBPACK_IMPORTED_MODULE_15__.UIVirtualScroll(_this.j, _this.stateManager), _this.settings = new jodit_pro_plugins_finder_ui_settings_settings__WEBPACK_IMPORTED_MODULE_11__.UIBrowserSettings(_this.jodit, _this.stateManager.state);
2717
3260
  _this.state = stateManager.state;
2718
3261
  _this.append(_this.sidebar, 'content');
2719
3262
  _this.append(_this.items, 'content');
@@ -2783,6 +3326,24 @@ var UIBrowserPanel = /*#__PURE__*/ function(UIGroup) {
2783
3326
  key: "onChangeElements",
2784
3327
  value: function onChangeElements() {
2785
3328
  this.items.build(this.stateManager.state.elements);
3329
+ this.__applyCutMods();
3330
+ }
3331
+ },
3332
+ {
3333
+ key: "onChangeClipboard",
3334
+ value: function onChangeClipboard() {
3335
+ this.__applyCutMods();
3336
+ }
3337
+ },
3338
+ {
3339
+ key: "__applyCutMods",
3340
+ value: /**
3341
+ * Cut items are shown dimmed until they are pasted
3342
+ */ function __applyCutMods() {
3343
+ var clipboard = this.state.clipboard;
3344
+ this.items.elements.forEach(function(elm) {
3345
+ elm.setMod('cut', (0,jodit_pro_plugins_finder_helpers_helpers__WEBPACK_IMPORTED_MODULE_9__.isCutItem)(clipboard, elm.item));
3346
+ });
2786
3347
  }
2787
3348
  },
2788
3349
  {
@@ -2917,6 +3478,9 @@ var UIBrowserPanel = /*#__PURE__*/ function(UIGroup) {
2917
3478
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_5__.__decorate)([
2918
3479
  (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_6__.watch)('state.elements')
2919
3480
  ], UIBrowserPanel.prototype, "onChangeElements", null);
3481
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_5__.__decorate)([
3482
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_6__.watch)('state.clipboard')
3483
+ ], UIBrowserPanel.prototype, "onChangeClipboard", null);
2920
3484
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_5__.__decorate)([
2921
3485
  (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_6__.watch)('state.activeElements')
2922
3486
  ], UIBrowserPanel.prototype, "onChangeActiveElements", null);
@@ -3927,11 +4491,12 @@ UITree = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_5__.__decorate)([
3927
4491
  /* harmony import */ var _swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(18766);
3928
4492
  /* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(31635);
3929
4493
  /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(65478);
3930
- /* harmony import */ var jodit_esm_core_helpers_size_position__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(5700);
3931
- /* harmony import */ var jodit_esm_core_ui_group_group__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(62405);
3932
- /* harmony import */ var jodit_esm_modules_file_browser_builders_item__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(159);
3933
- /* harmony import */ var jodit_pro_plugins_finder_ui_item_item__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(21130);
3934
- /* harmony import */ var jodit_pro_traits_select_items_select_items__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(36469);
4494
+ /* harmony import */ var jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(2748);
4495
+ /* harmony import */ var jodit_esm_core_helpers_size_position__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(5700);
4496
+ /* harmony import */ var jodit_esm_core_ui_group_group__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(62405);
4497
+ /* harmony import */ var jodit_esm_modules_file_browser_builders_item__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(159);
4498
+ /* harmony import */ var jodit_pro_plugins_finder_ui_item_item__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(21130);
4499
+ /* harmony import */ var jodit_pro_traits_select_items_select_items__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(36469);
3935
4500
  /*!
3936
4501
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
3937
4502
  * See LICENSE.md in the project root for license information.
@@ -3951,6 +4516,7 @@ UITree = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_5__.__decorate)([
3951
4516
 
3952
4517
 
3953
4518
 
4519
+
3954
4520
  var UIVirtualScroll = /*#__PURE__*/ function(UIGroup) {
3955
4521
  "use strict";
3956
4522
  (0,_swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__._)(UIVirtualScroll, UIGroup);
@@ -3980,7 +4546,7 @@ var UIVirtualScroll = /*#__PURE__*/ function(UIGroup) {
3980
4546
  key: "reconcile",
3981
4547
  value: function reconcile(items) {
3982
4548
  var clearIndex = this.elements.findIndex(function(elm, index) {
3983
- return !items[index] || elm.item.uniqueHashKey !== jodit_esm_modules_file_browser_builders_item__WEBPACK_IMPORTED_MODULE_11__.FileBrowserItem.create(items[index]).uniqueHashKey;
4549
+ return !items[index] || elm.item.uniqueHashKey !== jodit_esm_modules_file_browser_builders_item__WEBPACK_IMPORTED_MODULE_12__.FileBrowserItem.create(items[index]).uniqueHashKey;
3984
4550
  });
3985
4551
  if (clearIndex > -1) {
3986
4552
  for(var i = clearIndex; i < this.elements.length; i += 1){
@@ -4050,7 +4616,7 @@ var UIVirtualScroll = /*#__PURE__*/ function(UIGroup) {
4050
4616
  var _this = this;
4051
4617
  var clearIndex = this.reconcile(items);
4052
4618
  items.slice(clearIndex > -1 ? clearIndex : this.elements.length).forEach(function(item) {
4053
- var elm = new jodit_pro_plugins_finder_ui_item_item__WEBPACK_IMPORTED_MODULE_12__.UIBrowserItem(_this.jodit, item);
4619
+ var elm = new jodit_pro_plugins_finder_ui_item_item__WEBPACK_IMPORTED_MODULE_13__.UIBrowserItem(_this.jodit, item);
4054
4620
  Object.keys(_this.mods).forEach(function(mod) {
4055
4621
  elm.setMod(mod, _this.mods[mod]);
4056
4622
  });
@@ -4067,6 +4633,22 @@ var UIVirtualScroll = /*#__PURE__*/ function(UIGroup) {
4067
4633
  }
4068
4634
  }
4069
4635
  },
4636
+ {
4637
+ key: "onAreaContextMenu",
4638
+ value: /**
4639
+ * Context menu of an empty spot of the list (clicks on items are handled
4640
+ * by the items themselves)
4641
+ */ function onAreaContextMenu(e) {
4642
+ var target = e.target;
4643
+ if (jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_9__.Dom.isNode(target) && this.elements.some(function(elm) {
4644
+ return elm.container.contains(target);
4645
+ })) {
4646
+ return;
4647
+ }
4648
+ this.j.e.fire('contextmenuArea.filebrowser', e);
4649
+ return false;
4650
+ }
4651
+ },
4070
4652
  {
4071
4653
  key: "onDragOver",
4072
4654
  value: function onDragOver(e) {
@@ -4084,7 +4666,7 @@ var UIVirtualScroll = /*#__PURE__*/ function(UIGroup) {
4084
4666
  {
4085
4667
  key: "addItemsSelector",
4086
4668
  value: function addItemsSelector() {
4087
- jodit_pro_traits_select_items_select_items__WEBPACK_IMPORTED_MODULE_13__.UISelectItems.install(this);
4669
+ jodit_pro_traits_select_items_select_items__WEBPACK_IMPORTED_MODULE_14__.UISelectItems.install(this);
4088
4670
  }
4089
4671
  },
4090
4672
  {
@@ -4092,7 +4674,7 @@ var UIVirtualScroll = /*#__PURE__*/ function(UIGroup) {
4092
4674
  value: function onSelectItems(bound) {
4093
4675
  var selected = [];
4094
4676
  this.elements.forEach(function(elm) {
4095
- var pos = (0,jodit_esm_core_helpers_size_position__WEBPACK_IMPORTED_MODULE_9__.position)(elm.container);
4677
+ var pos = (0,jodit_esm_core_helpers_size_position__WEBPACK_IMPORTED_MODULE_10__.position)(elm.container);
4096
4678
  if (UIVirtualScroll.intersectRect(pos, bound)) {
4097
4679
  selected.push(elm.item);
4098
4680
  }
@@ -4109,13 +4691,16 @@ var UIVirtualScroll = /*#__PURE__*/ function(UIGroup) {
4109
4691
  }
4110
4692
  ]);
4111
4693
  return UIVirtualScroll;
4112
- }(jodit_esm_core_ui_group_group__WEBPACK_IMPORTED_MODULE_10__.UIGroup);
4694
+ }(jodit_esm_core_ui_group_group__WEBPACK_IMPORTED_MODULE_11__.UIGroup);
4113
4695
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_7__.__decorate)([
4114
4696
  (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_8__.watch)(':afterResize'),
4115
4697
  (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_8__.watch)(':resize'),
4116
4698
  (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_8__.watch)('container:scroll'),
4117
4699
  (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_8__.throttle)()
4118
4700
  ], UIVirtualScroll.prototype, "onScrollLoadChunk", null);
4701
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_7__.__decorate)([
4702
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_8__.watch)('container:contextmenu')
4703
+ ], UIVirtualScroll.prototype, "onAreaContextMenu", null);
4119
4704
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_7__.__decorate)([
4120
4705
  (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_8__.watch)('container:dragover')
4121
4706
  ], UIVirtualScroll.prototype, "onDragOver", null);