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,11 +1,11 @@
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
  */
8
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var s=t();for(var i in s)("object"==typeof exports?exports:e)[i]=s[i]}}(self,function(){return(self.webpackChunkjodit_pro=self.webpackChunkjodit_pro||[]).push([[916],{7307:function(e){e.exports='<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"> <path d="M365.4,59.628c60.56,0,109.6,49.03,109.6,109.47c0,109.47-109.6,171.8-219.06,281.271 C146.47,340.898,37,278.568,37,169.099c0-60.44,49.04-109.47,109.47-109.47c54.73,0,82.1,27.37,109.47,82.1 C283.3,86.999,310.67,59.628,365.4,59.628z"/> </svg>'},24928:function(e){e.exports='<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> <path d="M28.7,16.3l-12-13c-0.4-0.4-1.1-0.4-1.5,0l-12,13C3,16.6,2.9,17,3.1,17.4C3.2,17.8,3.6,18,4,18h3v10c0,0.6,0.4,1,1,1h16 c0.6,0,1-0.4,1-1V18h3c0.4,0,0.8-0.2,0.9-0.6C29.1,17,29,16.6,28.7,16.3z"/> </svg>'},96910:function(e){e.exports='<svg viewBox="0 0 252 252" xmlns="http://www.w3.org/2000/svg"> <path d="M0 16C0 7.16344 7.16344 0 16 0H85.6364C86.5205 0 87.3797 0.29288 88.0796 0.832871L120.92 26.1671C121.62 26.7071 122.48 27 123.364 27H227C235.837 27 243 34.1634 243 43V132.335C243 134.779 240.234 136.198 238.25 134.772L233 131L226.5 127L220 124L212.5 122L202.5 120L189 120.5L179.5 122.5L170.5 125.5L161.5 130.5L157 133.5L153 137L146.5 144L141 152L137 160L134 168L132.5 178L132 183.5V189.5L133 197.5L135 205.5L137.5 211.5L139.524 214.996C141.068 217.663 139.144 221 136.062 221H16C7.16344 221 0 213.837 0 205V16Z"/> <circle cx="197" cy="185" r="56"/> <path d="M188.364 215.955V151.591H204.636V215.955H188.364ZM164.318 191.909V175.636H228.682V191.909H164.318Z" fill="white"/> </svg>'},5422:function(e,t,s){"use strict";s.d(t,{FileBrowserPro:function(){return P}});var i=s(82749),o=s(31635);s(34042);var r=s(8087),n=s(77841),a=s(17578),l=s(97770),h=s(42663),c=s(55535),d=s(18250),u=s(69277),m=s(4278),p=s(95002),g=s(6441),f=s(82758),v=s(65478),w=s(21537),_=s(70231),y=s(41409),I=s(638),b=s(63399),C=s(50050),S=s(2692),x=s(21246);class P extends I.Dialog{className(){return"FileBrowserPro"}lock(e="any"){return this.container.classList.add("jodit_disabled"),super.lock(e)}unlock(){return this.container.classList.remove("jodit_disabled"),super.unlock()}status(e,t=!(e instanceof Error)){(0,w.isAbortError)(e)||(f.IS_PROD||(0,w.isString)(e),this.message.message((0,w.isString)(e)?e:e.message,t?"success":"error",this.options.howLongShowMsg))}errorHandler(e){(0,w.isAbortError)(e)||this.status(e instanceof Error?this.i18n(e.message):this.dataProvider.getMessage(e),!1)}get progressbar(){return new p.UIProgress(this,this.stateManager.state)}addDisclaimer(e){this.dialog.appendChild(e)}async open(e=this.o.defaultCallback,t){return this.state.onlyImages=!!t,this.prepareOpening(e),super.open(this.panel.container),this.e.fire("update.filebrowser")}onResizeWindow(){(0,w.css)(this.dialog,{maxWidth:screen.width,minHeight:Math.min(this.options.height,screen.height),minWidth:Math.min(this.options.width,screen.width)})}onChangePath(){let{currentPath:e,currentSource:t}=this.state;this.uploader.setPath(e),this.uploader.setSource(t)}onChangeTheme(){this.setMod("theme",this.state.theme),this.header.setMod("theme",this.state.theme),this.panel.setMod("theme",this.state.theme),this.options.theme=this.state.theme}onToggleSettings(){this.state.showSettings=!this.state.showSettings}prepareOpening(e){this.registerGlobalListeners(),e&&(this.state.onSelectCallBack=t=>{this.close(),e(t)}),this.persistent.syncWithState()}registerGlobalListeners(){this.e.on(this.ow,"keydown",this.onKeyPress)}onKeyPress(e){let{activeElement:t}=this.od;if(!this.state.activeElements.length||!t||!y.Dom.isOrContains(this.panel.items.container,t))return;let s=this.state.elements;switch(e.key){case f.KEY_ENTER:return this.onChooseItems();case f.KEY_DELETE:return this.onFileRemove();case f.KEY_RIGHT:case f.KEY_LEFT:case f.KEY_DOWN:case f.KEY_UP:{let t,i=e.key===f.KEY_RIGHT||e.key===f.KEY_DOWN,o=this.state.lastSelectedIndex;if([f.KEY_RIGHT,f.KEY_LEFT].includes(e.key))t=i?s[o+1]?o+1:0:s[o-1]?o-1:s.length-1;else{let{countInRow:e}=this.panel;t=Math.round(((o+1)/e+(i?1:-1))*e-1)}return s[t]&&this.stateManager.addActive(s[t],e.shiftKey),!1}}}removeGlobalListeners(){this.e.off(this.ow,"keydown",this.onKeyPress)}onFileRemove(){this.state.activeElements.length&&this.confirm("Are you sure?","Delete",e=>{e&&this.__itemsRemove(this.state.activeElements)}).bindDestruct(this)}__itemsRemove(e){if(!e.length)return Promise.resolve();let t=[];return e.forEach(e=>{t.push("folder"===e.type?this.__folderRemove((0,n.parentPath)(e.path),e.name??"",e.sourceName):this.__removeFile(e.file||e.name||"",e.sourceName))}),this.state.activeElements.forEach(e=>{this.stateManager.isFavorite(e)&&this.stateManager.toggleFavorite(e)}),this.state.activeElements=[],Promise.allSettled(t).then(()=>Promise.allSettled([this.loadingManager.loadItems(),this.loadingManager.loadFolders()]))}__removeFile(e,t){return this.dataProvider.fileRemove(this.state.currentPath,e,t).then(t=>{this.status(t||this.i18n('File "%s" was deleted',e),!0)}).catch(this.status)}__folderRemove(e,t,s){return this.dataProvider.folderRemove(e,t,s).then(i=>{this.status(i||this.i18n('Folder "%s" was deleted',t),!0),this.state.currentPath===e&&(this.state.currentPath=(0,n.parentPath)(e),this.state.currentSource=s)}).catch(this.status)}onFileEdit(){if(1===this.state.activeElements.length){let[e]=this.state.activeElements;C.openImageEditor.call(this,e.fileURL,e.file||"",e.path,e.sourceName,void 0,this.status)}}onFolderRename(e){this.prompt("Enter new name","Rename",t=>{if(!(0,w.isValidName)(t)||t===e.name)return this.status(this.i18n("Enter new name")),!1;this.dataProvider.folderRename((0,n.parentPath)(e.path),e.name,t,e.sourceName).then(s=>{this.state.activeElements=[],this.status(s,!0),this.state.currentPath=(0,n.parentPath)(e.path)+"/"+t,this.state.currentSource=e.sourceName,this.historyManager.updateCurrent(),this.loadingManager.loadFolders()}).catch(this.status)},this.i18n("type name"),e.name).bindDestruct(this)}onFolderRemove(e){this.confirm("Are you sure?","Delete",t=>{t&&this.__itemsRemove([{type:"folder",name:e.name,path:e.path,sourceName:e.sourceName}])}).bindDestruct(this)}onFolderCreate(e){this.prompt("Enter Directory name","Create directory",t=>{let s=e.path||"/";this.dataProvider.createFolder(t,e.path||"/",e.sourceName).then(()=>{this.state.currentSource===e.sourceName&&this.state.currentPath===s?this.e.fire("update.filebrowser"):(this.state.currentSource=e.sourceName,this.state.currentPath=s),this.historyManager.updateCurrent()},this.status)},this.i18n("type name")).bindDestruct(this)}onFileRename(e){let t=e.file||e.name||"";1===this.state.activeElements.length&&t&&this.prompt("Enter new name","Rename",e=>{if(!(0,w.isValidName)(e))return this.status(this.i18n("Enter new name")),!1;this.dataProvider.fileRename(this.state.currentPath,t,e,this.state.currentSource).then(e=>{this.state.activeElements=[],this.status(e,!0),this.loadingManager.loadItems()}).catch(this.status)},this.i18n("type name"),t).bindDestruct(this)}onChooseItems(){let e=this.stateManager.state.activeElements;if(e.length){if("folder"===e[0].type){this.state.currentPath=this.state.currentPath+"/"+e[0].name,this.state.currentSource=e[0].sourceName,this.e.fire("afterOpenFolder.filebrowser");return}this.state.onSelectCallBack?this.stateManager.callSelectHandler():this.onOpenLightBox(e[0])}}onOpenLightBox(e){u.UILightBox.open(this,e,this.state.elements)}initUploader(){let e=this,t=(0,w.ConfigProto)(e.o.uploader||{},g.Config.defaultOptions.uploader),s=()=>this.loadingManager.loadItems();e.uploader=e.getInstance("Uploader",t),e.uploader.bind(e.panel.container,s,e.errorHandler),e.e.on("bindUploader.filebrowser",t=>{e.uploader.bind(t,s,e.errorHandler)})}destruct(){this.removeGlobalListeners(),this.header.destruct(),this.panel.destruct(),super.destruct()}fullFillOptions(){["getLocalFileByUrl","crop","resize","create","fileMove","folderMove","fileRename","folderRename","fileRemove","folderRemove","folder","items","permissions"].forEach(e=>{null!=this.options[e]&&(this.options[e]=(0,w.ConfigProto)(this.options[e],this.o.ajax))})}constructor(e){super((0,w.ConfigProto)(Object.assign(e||{},{resizable:!0,draggable:!0,toolbarButtons:e?.toolbarButtons||g.Config.defaultOptions.filebrowser.buttons,buttons:S.JoditPro.atom(["filebrowser.settings","fullsize","dialog.close"])}),g.Config.defaultOptions.filebrowser)),(0,i._)(this,"dataProvider",(0,b.makeDataProvider)(this,this.options)),(0,i._)(this,"state",(0,y.observable)({onSelectCallBack:null,theme:"default",showSideBar:!0,showFavorites:!0,showSettings:!1,showPreview:!1,withFolders:!0,foldersPosition:"bottom",info:"",metaInfo:null,currentPath:"",currentSource:"",currentBaseUrl:"",tree:[],activeElements:[],favorites:[],progress:0,lastSelectedIndex:0,elements:[],messages:[],sources:[],view:"tiles",tileSize:"default",sortBy:"name-asc",filterWord:"",onlyImages:!1})),(0,i._)(this,"persistent",new h.PersistentStore(this,this.state)),(0,i._)(this,"loadingManager",new l.LoadingManager(this,this.state)),(0,i._)(this,"stateManager",new c.StateManager(this.state)),(0,i._)(this,"historyManager",new a.HistoryManager(this,this.state)),(0,i._)(this,"contextMenuManager",new r.ContextMenuManager(this)),(0,i._)(this,"header",new d.UIBrowserHeader(this,this.options,this.stateManager)),(0,i._)(this,"panel",new m.UIBrowserPanel(this,this.stateManager)),(0,i._)(this,"files",this.panel),(0,i._)(this,"tree",this.panel),(0,i._)(this,"uploader",void 0),x.license.make(this),!this.persistent.theme&&this.options.theme&&(this.persistent.theme=this.options.theme),this.panel.append(this.progressbar),this.toolbar.setMod("mode","header"),this.setSize(Math.min(this.options.width,screen.width),Math.min(this.options.height,screen.height)).setHeader(this.header),this.onResizeWindow(),this.initUploader(),this.onChangeTheme(),this.fullFillOptions(),this.dataProvider.onProgress(e=>{0===e&&(e=30),this.state.progress=e}),this.e.on("beforeClose",this.removeGlobalListeners),this.e.fire("afterInit"),S.JoditPro.prototype.afterInitHook.call(this)}}(0,o.__decorate)([v.autobind],P.prototype,"status",null),(0,o.__decorate)([v.autobind],P.prototype,"errorHandler",null),(0,o.__decorate)([v.cache],P.prototype,"progressbar",null),(0,o.__decorate)([(0,v.watch)(":resize",{context:window})],P.prototype,"onResizeWindow",null),(0,o.__decorate)([(0,v.watch)(["state.currentPath","state.currentSource"])],P.prototype,"onChangePath",null),(0,o.__decorate)([(0,v.watch)("state.theme")],P.prototype,"onChangeTheme",null),(0,o.__decorate)([(0,v.watch)(":toggleSettings.filebrowser")],P.prototype,"onToggleSettings",null),(0,o.__decorate)([v.autobind],P.prototype,"onKeyPress",null),(0,o.__decorate)([v.autobind],P.prototype,"removeGlobalListeners",null),(0,o.__decorate)([(0,v.watch)(":fileRemove.filebrowser")],P.prototype,"onFileRemove",null),(0,o.__decorate)([(0,v.watch)(":edit.filebrowser")],P.prototype,"onFileEdit",null),(0,o.__decorate)([(0,v.watch)(":folderRename.filebrowser")],P.prototype,"onFolderRename",null),(0,o.__decorate)([(0,v.watch)(":folderRemove.filebrowser")],P.prototype,"onFolderRemove",null),(0,o.__decorate)([(0,v.watch)(":folderCreate.filebrowser")],P.prototype,"onFolderCreate",null),(0,o.__decorate)([(0,v.watch)(":fileRename.filebrowser")],P.prototype,"onFileRename",null),(0,o.__decorate)([(0,v.watch)(":select.filebrowser")],P.prototype,"onChooseItems",null),(0,o.__decorate)([(0,v.watch)(":openLightBox.filebrowser")],P.prototype,"onOpenLightBox",null),P=(0,o.__decorate)([v.component,(0,v.derive)(_.Dlgs)],P),Object.defineProperty(S.JoditPro.modules,"FileBrowserPro",{value:P,writable:!1,enumerable:!0,configurable:!0})},77894:function(e,t,s){"use strict";var i=s(76636),o=s(6441),r=s(580);let n=o.Config.prototype.controls.filebrowser;n.settings={icon:"settings",tooltip:"Settings",exec(e){(e.parent??e).e.fire("toggleSettings.filebrowser")}},n.home={icon:"home",tooltip:"Home",exec(e){e.e.fire("goHome.filebrowser")}},n.preview={icon:"eye",tooltip:"Preview",isDisabled:e=>0===e.state.activeElements.length,exec(e){e.e.fire("togglePreview.filebrowser")}},n.next={icon:"angle-right",tooltip:"History next",isDisabled:e=>!e.historyManager.canNext(),exec(e){e.historyManager.next()}},n.previous={icon:"angle-left",tooltip:"History previous",isDisabled:e=>!e.historyManager.canPrevious(),exec(e){e.historyManager.previous()}},n["new-folder"]={icon:"new-folder",exec(e){e.e.fire("folderCreate.filebrowser",{path:e.state.currentPath,sourceName:e.state.currentSource})},tooltip:"New folder"},Object.assign(o.Config.prototype.filebrowser,{buttons:["filebrowser.home","filebrowser.previous","filebrowser.next","|","filebrowser.upload","filebrowser.new-folder","filebrowser.remove","filebrowser.update","filebrowser.select","filebrowser.edit","|","filebrowser.preview","about"],sort:!1,pixelOffsetLoadNewChunk:300,width:800,height:400,previewOfficeURL:"https://view.officeapps.live.com/op/view.aspx?src="}),(0,r.extendLang)(i)},97068:function(e,t,s){"use strict";s.r(t),s.d(t,{finder:function(){return a}});var i=s(82749);s(77894);var o=s(5422),r=s(50911),n=s(2692);class a extends r.Plugin{afterInit(e){e.e.on("getInstanceFileBrowser",e=>(this.__instance||(this.__instance=new o.FileBrowserPro(e)),this.__instance))}beforeDestruct(e){e.e.off("getInstanceFileBrowser"),this.__instance?.destruct()}constructor(...e){super(...e),(0,i._)(this,"hasStyle",!n.JoditPro.fatMode),(0,i._)(this,"__instance",void 0)}}(0,i._)(a,"requires",["license"]),n.JoditPro.plugins.add("finder",a)},8087:function(e,t,s){"use strict";s.d(t,{ContextMenuManager:function(){return a}});var i=s(31635),o=s(80480),r=s(65478),n=s(63399);class a extends o.ViewComponent{className(){return"ContextMenuManager"}onFolderContext(e,t){return this.buildContextItemMenu(this.getFolderContextActions(e),t),!1}onItemContext(e,t,s){return this.buildContextItemMenu(this.getItemContextActions(e),s),!1}onSourceContext(e,t){return this.buildContextItemMenu(this.getSourceContextActions(e),t),!1}buildContextItemMenu(e,t){if(!this.j.o.contextMenu)return;let s=(0,n.makeContextMenu)(this.j).setMod("theme",this.j.state.theme);s.show(t.clientX,t.clientY,e.filter(e=>e&&!1!==e.enabled)),this.j.e.on(this.j,"afterClose",()=>{s.isOpened&&s.close()})}getItemContextActions(e){if(this.j.stateManager.isActive(e)||this.j.stateManager.addActive(e,this.j.state.activeElements.length>1),"folder"===e.type)return this.getFolderContextActions({type:"directory",children:[],name:e.name||"",path:e.path,sourceName:e.sourceName});let t=this.j.options,s=this.j.dataProvider,i=1===this.j.state.activeElements.length;return[{icon:"pencil",title:"Edit",enabled:!!e.isImage&&t.editImage&&i&&(s.canI("ImageResize")||s.canI("ImageCrop")),exec:()=>{this.j.e.fire("edit.filebrowser")}},{icon:"italic",title:"Rename",enabled:s.canI("FileRename")&&i,exec:()=>this.j.e.fire("fileRename.filebrowser",e)},{icon:"bin",title:"Delete",enabled:s.canI("FileRemove"),exec:()=>this.j.e.fire("fileRemove.filebrowser",e)},{icon:"eye",title:"Preview",enabled:!!(e.isImage||"file"===e.type)&&t.preview&&i,exec:()=>this.j.e.fire("openLightBox.filebrowser",e)},{icon:"upload",title:"Download",exec:()=>{e.fileURL&&this.j.ow.open(e.fileURL)}}]}getFolderContextActions(e){let t=this.j.dataProvider;return[{icon:"pencil",title:"Rename",exec:()=>{this.j.e.fire("folderRename.filebrowser",e)},enabled:t.canI("FolderRename")},{icon:"bin",title:"Delete",exec:()=>{this.j.e.fire("folderRemove.filebrowser",e)},enabled:t.canI("FolderRemove")},{icon:"plus",title:"Add folder",exec:()=>{this.j.e.fire("folderCreate.filebrowser",e)},enabled:t.canI("FolderCreate")}]}getSourceContextActions(e){return[{icon:"plus",title:"Create folder",exec:()=>{this.j.e.fire("folderCreate.filebrowser",e)}}]}}(0,i.__decorate)([(0,r.watch)(":contextmenuFolder.filebrowser")],a.prototype,"onFolderContext",null),(0,i.__decorate)([(0,r.watch)(":contextmenuItem.filebrowser")],a.prototype,"onItemContext",null),(0,i.__decorate)([(0,r.watch)(":contextmenuSource.filebrowser")],a.prototype,"onSourceContext",null),a=(0,i.__decorate)([r.component],a)},77841:function(e,t,s){"use strict";s.d(t,{parentPath:function(){return i}});let i=e=>{let t=e.split("/").filter(e=>e.length);return t.pop(),t.join("/")||"/"}},17578:function(e,t,s){"use strict";s.d(t,{HistoryManager:function(){return l}});var i=s(82749),o=s(31635),r=s(80480),n=s(65478),a=s(97735);class l extends r.ViewComponent{className(){return"HistoryManager"}canNext(){return this.historyIndex<this.history.length-1}canPrevious(){return this.historyIndex>0}push(e){let{historyIndex:t}=this,s=this.history[t];if(s&&s.currentSource===e.currentSource&&s.currentPath===e.currentPath)return;let i=[...this.history];i.length-1!==t&&(i=i.slice(0,t+1)),i.push(e),s&&(t+=1),this.history=i,this.historyIndex=t}next(){this.canNext()&&(this.historyIndex+=1,this.updateState())}previous(){this.canPrevious()&&(this.historyIndex-=1,this.updateState())}updateCurrent(){this.history[this.historyIndex]={currentSource:this.state.currentSource,currentPath:this.state.currentPath,tree:(0,a.fastClone)(this.state.tree),elements:[...this.state.elements]}}onHome(){this.state.currentPath="",this.state.currentSource="",this.j.e.fire("afterOpenFolder.filebrowser update.filebrowser")}onOpenFolder(){this.push({tree:[],elements:[],currentPath:this.state.currentPath,currentSource:this.state.currentSource}),this.j.e.fire("changeSelection")}updateState(){let{tree:e,elements:t,currentSource:s,currentPath:i}=this.history[this.historyIndex];this.state.activeElements=[],this.state.elements=[...t],this.state.tree=[...e],this.state.currentSource=s,this.state.currentPath=i,this.j.e.fire("changeSelection")}constructor(e,t){super(e),(0,i._)(this,"state",void 0),(0,i._)(this,"history",void 0),(0,i._)(this,"historyIndex",void 0),this.state=t,this.history=[],this.historyIndex=0}}(0,o.__decorate)([(0,n.watch)(["state.elements","state.tree"])],l.prototype,"updateCurrent",null),(0,o.__decorate)([(0,n.watch)(":goHome.filebrowser")],l.prototype,"onHome",null),(0,o.__decorate)([(0,n.watch)(":afterOpenFolder.filebrowser")],l.prototype,"onOpenFolder",null),l=(0,o.__decorate)([n.component],l)},97770:function(e,t,s){"use strict";s.d(t,{LoadingManager:function(){return a}});var i=s(82749),o=s(31635),r=s(91907),n=s(65478);class a extends r.ViewComponent{className(){return"LoadingManager"}async onUpdateFileBrowser(){this.state.activeElements=[],this.j.panel.setMod("loading",!0),await Promise.all([this.loadFolders(),this.loadItems()]),this.j.panel.setMod("loading",!1)}async loadFolders(){if(!this.j.isOpened)return;let{currentPath:e,currentSource:t,onlyImages:s}=this.state;try{let i=this.j.dataProvider;i.o?.folder&&(i.o.folder.data.onlyImages=s);let o=await i.tree(e,t);this.j.stateManager.fillTreeForPath(o,e),this.state.sources=o}catch(e){this.j.status(e)}}async loadItems(){if(this.j.isOpened)try{this.__tick+=1;let{__tick:e}=this;this.offset=0,this.stopLoadingParts=!1,this.__callQueueCount=0;let{items:t,loadedTotal:s}=await l(this.state,this.j.dataProvider,this.offset,this.countInOneChunk);if(this.state.elements=t,this.stopLoadingParts=s<this.countInOneChunk,await this.loadItemsChunk(e),await this.async.requestIdlePromise(),this.__tick!==e)return;for(;!this.stopLoadingParts&&this.j.panel.countInColumn*this.j.panel.countInRow>=this.state.elements.length;)if(await this.loadItemsChunk(e),this.__tick!==e)return}catch(e){this.j.status(e)}}async __loadItemsChunk(e){if(this.__isLoadingPart){this.__callQueueCount+=1;return}if(this.stopLoadingParts){this.__callQueueCount=0;return}this.__isLoadingPart=!0,this.j.panel.items.setMod("chunk-loading",!0);try{this.offset+=this.countInOneChunk;let{items:t,loadedTotal:s}=await l(this.state,this.j.dataProvider,this.offset,this.countInOneChunk);if(this.__tick!==e)return;this.stopLoadingParts=s<this.countInOneChunk,t.length&&(this.state.elements=this.state.elements.concat(t))}catch(e){this.j.status(e)}if(this.j.panel.items.setMod("chunk-loading",!1),this.__isLoadingPart=!1,this.__callQueueCount>0)return this.__callQueueCount-=1,this.__loadItemsChunk(e)}loadItemsChunk(e=this.__tick){return e!==this.__tick?Promise.resolve():this.__loadItemsChunk(e)}constructor(e,t){super(e),(0,i._)(this,"state",void 0),(0,i._)(this,"__tick",void 0),(0,i._)(this,"offset",void 0),(0,i._)(this,"countInOneChunk",void 0),(0,i._)(this,"stopLoadingParts",void 0),(0,i._)(this,"__isLoadingPart",void 0),(0,i._)(this,"__callQueueCount",void 0),this.state=t,this.__tick=0,this.offset=0,this.countInOneChunk=20,this.stopLoadingParts=!1,this.__isLoadingPart=!1,this.__callQueueCount=0}}function l(e,t,s,i){let{currentPath:o,currentSource:r,sortBy:n,withFolders:a,foldersPosition:l,onlyImages:h,filterWord:c}=e;return t.itemsEx(o,r,{offset:s,limit:i,sortBy:n,withFolders:a,foldersPosition:l,onlyImages:h,filterWord:c})}(0,o.__decorate)([(0,n.watch)(":update.filebrowser")],a.prototype,"onUpdateFileBrowser",null),(0,o.__decorate)([(0,n.watch)(["state.currentPath","state.currentSource","state.onlyImages"]),(0,n.debounce)(e=>({timeout:e.defaultTimeout,promisify:!0}))],a.prototype,"loadFolders",null),(0,o.__decorate)([(0,n.watch)(["state.currentPath","state.currentSource","state.sortBy","state.onlyImages","state.foldersPosition","state.filterWord"]),(0,n.debounce)(e=>({timeout:e.defaultTimeout,promisify:!0}))],a.prototype,"loadItems",null),(0,o.__decorate)([(0,n.debounce)(e=>({timeout:e.defaultTimeout,promisify:!0}))],a.prototype,"loadItemsChunk",null),a=(0,o.__decorate)([n.component],a)},42663:function(e,t,s){"use strict";s.d(t,{PersistentStore:function(){return l}});var i=s(82749),o=s(31635),r=s(91907),n=s(65478),a=s(159);class l extends r.ViewComponent{className(){return"PersistentStore"}onChangeThemeSetField(){this.theme=this.state.theme}onChangeView(){this.view=this.state.view}onChangeSortBy(){this.sortBy=this.state.sortBy}onChangeTileSize(){this.tileSize=this.state.tileSize}onChangeFavorites(){this.favorites=this.state.favorites}onChangeShowSideBar(){this.showSideBar=this.state.showSideBar}onChangeShowPreview(){this.showPreview=this.state.showPreview}onChangeShowFavorites(){this.showFavorites=this.state.showFavorites}onChangeFoldersPosition(){this.foldersPosition=this.state.foldersPosition}syncWithState(){this.state.tileSize=this.tileSize,this.state.favorites=this.favorites.map(e=>e instanceof a.FileBrowserItem?e:a.FileBrowserItem.create(e)),this.state.view=this.view,this.state.theme=this.theme,this.state.showSideBar=this.showSideBar,this.state.showPreview=this.showPreview,this.state.showFavorites=this.showFavorites,this.state.sortBy=this.sortBy,this.state.foldersPosition=this.foldersPosition}constructor(e,t){super(e),(0,i._)(this,"state",void 0),(0,i._)(this,"theme",void 0),(0,i._)(this,"sortBy",void 0),(0,i._)(this,"view",void 0),(0,i._)(this,"foldersPosition",void 0),(0,i._)(this,"tileSize",void 0),(0,i._)(this,"favorites",void 0),(0,i._)(this,"showSideBar",void 0),(0,i._)(this,"showPreview",void 0),(0,i._)(this,"showFavorites",void 0),this.state=t,this.sortBy="changed-desc",this.view="tiles",this.foldersPosition="top",this.tileSize="default",this.favorites=[],this.showSideBar=!0,this.showPreview=!1,this.showFavorites=!0}}(0,o.__decorate)([n.persistent],l.prototype,"theme",void 0),(0,o.__decorate)([n.persistent],l.prototype,"sortBy",void 0),(0,o.__decorate)([n.persistent],l.prototype,"view",void 0),(0,o.__decorate)([n.persistent],l.prototype,"foldersPosition",void 0),(0,o.__decorate)([n.persistent],l.prototype,"tileSize",void 0),(0,o.__decorate)([n.persistent],l.prototype,"favorites",void 0),(0,o.__decorate)([n.persistent],l.prototype,"showSideBar",void 0),(0,o.__decorate)([n.persistent],l.prototype,"showPreview",void 0),(0,o.__decorate)([n.persistent],l.prototype,"showFavorites",void 0),(0,o.__decorate)([(0,n.watch)("state.theme")],l.prototype,"onChangeThemeSetField",null),(0,o.__decorate)([(0,n.watch)("state.view")],l.prototype,"onChangeView",null),(0,o.__decorate)([(0,n.watch)("state.sortBy")],l.prototype,"onChangeSortBy",null),(0,o.__decorate)([(0,n.watch)("state.tileSize")],l.prototype,"onChangeTileSize",null),(0,o.__decorate)([(0,n.watch)("state.favorites")],l.prototype,"onChangeFavorites",null),(0,o.__decorate)([(0,n.watch)("state.showSideBar")],l.prototype,"onChangeShowSideBar",null),(0,o.__decorate)([(0,n.watch)("state.showPreview")],l.prototype,"onChangeShowPreview",null),(0,o.__decorate)([(0,n.watch)("state.showFavorites")],l.prototype,"onChangeShowFavorites",null),(0,o.__decorate)([(0,n.watch)("state.foldersPosition")],l.prototype,"onChangeFoldersPosition",null),l=(0,o.__decorate)([n.component],l)},55535:function(e,t,s){"use strict";s.d(t,{StateManager:function(){return n}});var i=s(82749),o=s(31635),r=s(65478);class n{getIndex(e,t=this.state.elements){return t.findIndex(t=>t.uniqueHashKey===e.uniqueHashKey)}isActive(e){return!!this.state.activeElements.find(t=>t.uniqueHashKey===e.uniqueHashKey)}isFavorite(e){return!!this.state.favorites.find(t=>t.uniqueHashKey===e.uniqueHashKey)}addActive(e,t){this.state.metaInfo=e,this.state.info=e.file??"",this.state.lastSelectedIndex=this.getIndex(e),this.state.activeElements=t?[...this.state.activeElements,e]:[e]}callSelectHandler(){let e=this.state.activeElements;this.state.onSelectCallBack?.call(this,{baseurl:"",files:e.map(e=>e.fileURL),isImages:e.map(e=>!!e.isImage)})}setFilter(e){this.state.filterWord=e}toggleFavorite(e){let t=this.getIndex(e,this.state.favorites),s=[...this.state.favorites];-1===t?s.push(e):s.splice(t,1),this.state.favorites=s}fillTreeForPath(e,t){if(!this.state.tree.length||!t||"/"===t){this.state.tree=e.map(h);return}this.removeActive(this.state.tree),e.forEach(e=>{var s;let i=a(this.state.tree,e.name);i||(i=h(e),this.state.tree.push(i)),i.isActive=!0;let o=(s=i,t.split("/").reduce((e,t)=>e&&a(e.children,t),s));o&&(o.isActive=!0,o.children=l(e.folders).map(s=>c(s,t+"/"+s,e.name)))}),this.state.tree=[...this.state.tree]}removeActive(e){e.forEach(e=>{e.isActive=!1,this.removeActive(e.children)})}get isFavoriteItems(){return this.state.favorites===this.state.elements}constructor(e){(0,i._)(this,"state",void 0),this.state=e}}function a(e,t){return e.find(e=>e.name===t)??null}function l(e){return e.filter(e=>"."!==e&&".."!==e)}function h(e){return{type:"source",name:e.name,title:e.title,sourceName:e.name,path:"/",children:l(e.folders).map(t=>c(t,t,e.name))}}function c(e,t,s){return{type:"directory",name:e,path:t,sourceName:s,children:[]}}(0,o.__decorate)([r.autobind],n.prototype,"getIndex",null),(0,o.__decorate)([r.autobind],n.prototype,"isActive",null),(0,o.__decorate)([r.autobind],n.prototype,"isFavorite",null)},46732:function(e){e.exports={Favorites:"Favoriten",Settings:"Einstellungen",Light:"Hell",Dark:"Dunkel",Theme:"Design",Show:"Anzeigen",Hide:"Ausblenden","Show favorites":"Favoriten anzeigen",Tiles:"Kacheln",List:"Liste",Compact:"Kompakt",View:"Ansicht","Folders position":"Ordnerposition","Sort by":"Sortieren nach","Extra small":"Sehr klein",Small:"Klein",Large:"Groß","Extra large":"Sehr groß","Tile size":"Kachelgröße"}},76636:function(e,t,s){"use strict";s.r(t),s.d(t,{de:function(){return o.a},ru:function(){return n.a}});var i=s(46732),o=s.n(i),r=s(28125),n=s.n(r)},28125:function(e){e.exports={Favorites:"Избранное",Settings:"Настройки",Light:"Светлая",Dark:"Темная",Theme:"Тема",Show:"Показать",Hide:"Скрыть","Show favorites":"Показывать избранное",Tiles:"Плитка",List:"Список",Compact:"Компактный",View:"Отображение","Folders position":"Позиция папок","Sort by":"Сортировать по","Extra small":"Очень маленькие",Small:"Маленькие",Large:"Большие","Extra large":"Очень большие","Tile size":"Размер плитки"}},34042:function(e,t,s){"use strict";var i=s(7307),o=s(24928),r=s(96910),n=s(67510);n.Icon.set("heart",i+""),n.Icon.set("home",o+""),n.Icon.set("new-folder",r+"")},43692:function(e,t,s){"use strict";s.d(t,{UIBrowserFolder:function(){return l}});var i=s(82749),o=s(31635),r=s(87325),n=s(38837),a=s(67510);class l extends a.UIElement{className(){return"UIBrowserFolder"}render(){return`<div>
8
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var s=t();for(var i in s)("object"==typeof exports?exports:e)[i]=s[i]}}(self,function(){return(self.webpackChunkjodit_pro=self.webpackChunkjodit_pro||[]).push([[916],{7307:function(e){e.exports='<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"> <path d="M365.4,59.628c60.56,0,109.6,49.03,109.6,109.47c0,109.47-109.6,171.8-219.06,281.271 C146.47,340.898,37,278.568,37,169.099c0-60.44,49.04-109.47,109.47-109.47c54.73,0,82.1,27.37,109.47,82.1 C283.3,86.999,310.67,59.628,365.4,59.628z"/> </svg>'},24928:function(e){e.exports='<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> <path d="M28.7,16.3l-12-13c-0.4-0.4-1.1-0.4-1.5,0l-12,13C3,16.6,2.9,17,3.1,17.4C3.2,17.8,3.6,18,4,18h3v10c0,0.6,0.4,1,1,1h16 c0.6,0,1-0.4,1-1V18h3c0.4,0,0.8-0.2,0.9-0.6C29.1,17,29,16.6,28.7,16.3z"/> </svg>'},96910:function(e){e.exports='<svg viewBox="0 0 252 252" xmlns="http://www.w3.org/2000/svg"> <path d="M0 16C0 7.16344 7.16344 0 16 0H85.6364C86.5205 0 87.3797 0.29288 88.0796 0.832871L120.92 26.1671C121.62 26.7071 122.48 27 123.364 27H227C235.837 27 243 34.1634 243 43V132.335C243 134.779 240.234 136.198 238.25 134.772L233 131L226.5 127L220 124L212.5 122L202.5 120L189 120.5L179.5 122.5L170.5 125.5L161.5 130.5L157 133.5L153 137L146.5 144L141 152L137 160L134 168L132.5 178L132 183.5V189.5L133 197.5L135 205.5L137.5 211.5L139.524 214.996C141.068 217.663 139.144 221 136.062 221H16C7.16344 221 0 213.837 0 205V16Z"/> <circle cx="197" cy="185" r="56"/> <path d="M188.364 215.955V151.591H204.636V215.955H188.364ZM164.318 191.909V175.636H228.682V191.909H164.318Z" fill="white"/> </svg>'},5422:function(e,t,s){"use strict";s.d(t,{FileBrowserPro:function(){return M}});var i=s(82749),o=s(31635);s(34042);var r=s(8087),a=s(34698),n=s(77841),l=s(17578),h=s(97770),c=s(42663),d=s(55535),u=s(18250),m=s(69277),p=s(4278),f=s(95002),g=s(6441),v=s(82758),w=s(65478),_=s(21537),y=s(70231),C=s(41409),b=s(638),I=s(11787),S=s(50050),x=s(2692),P=s(21246);class M extends b.Dialog{className(){return"FileBrowserPro"}lock(e="any"){return this.container.classList.add("jodit_disabled"),super.lock(e)}unlock(){return this.container.classList.remove("jodit_disabled"),super.unlock()}status(e,t=!(e instanceof Error)){(0,_.isAbortError)(e)||(v.IS_PROD||(0,_.isString)(e),this.message.message((0,_.isString)(e)?e:e.message,t?"success":"error",this.options.howLongShowMsg))}errorHandler(e){(0,_.isAbortError)(e)||this.status(e instanceof Error?this.i18n(e.message):this.dataProvider.getMessage(e),!1)}get progressbar(){return new f.UIProgress(this,this.stateManager.state)}addDisclaimer(e){this.dialog.appendChild(e)}getMessageModule(){return super.getMessageModule(this.dialog)}async open(e=this.o.defaultCallback,t){return this.state.onlyImages=!!t,this.prepareOpening(e),super.open(this.panel.container),this.e.fire("update.filebrowser")}onResizeWindow(){(0,_.css)(this.dialog,{maxWidth:screen.width,minHeight:Math.min(this.options.height,screen.height),minWidth:Math.min(this.options.width,screen.width)})}onChangePath(){let{currentPath:e,currentSource:t}=this.state;this.uploader.setPath(e),this.uploader.setSource(t)}onChangeTheme(){this.setMod("theme",this.state.theme),this.header.setMod("theme",this.state.theme),this.panel.setMod("theme",this.state.theme),this.options.theme=this.state.theme}onToggleSettings(){this.state.showSettings=!this.state.showSettings}prepareOpening(e){this.registerGlobalListeners(),e&&(this.state.onSelectCallBack=t=>{this.close(),e(t)}),this.persistent.syncWithState()}registerGlobalListeners(){this.e.on(this.ow,"keydown",this.onKeyPress)}onKeyPress(e){let{activeElement:t}=this.od;if(!this.state.activeElements.length||!t||!C.Dom.isOrContains(this.panel.items.container,t))return;let s=this.state.elements;switch(e.key){case v.KEY_ENTER:return this.onChooseItems();case v.KEY_DELETE:return this.onFileRemove();case v.KEY_RIGHT:case v.KEY_LEFT:case v.KEY_DOWN:case v.KEY_UP:{let t,i=e.key===v.KEY_RIGHT||e.key===v.KEY_DOWN,o=this.state.lastSelectedIndex;if([v.KEY_RIGHT,v.KEY_LEFT].includes(e.key))t=i?s[o+1]?o+1:0:s[o-1]?o-1:s.length-1;else{let{countInRow:e}=this.panel;t=Math.round(((o+1)/e+(i?1:-1))*e-1)}return s[t]&&this.stateManager.addActive(s[t],e.shiftKey),!1}}}removeGlobalListeners(){this.e.off(this.ow,"keydown",this.onKeyPress)}onCut(e){this.__fillClipboard("cut",e)}onCopy(e){this.__fillClipboard("copy",e)}__fillClipboard(e,t){this.state.clipboard=t?[{mode:e,type:"folder",from:(0,n.folderFullPath)(t),name:t.name,sourceName:t.sourceName}]:this.state.activeElements.filter(e=>e.file||e.name).map(t=>({mode:e,type:"folder"===t.type?"folder":"file",from:(0,n.normalizeItemPath)(t.path+(t.file||t.name||"")),name:t.file||t.name||"",sourceName:t.sourceName}))}getPasteTarget(){let{currentPath:e,currentSource:t,sources:s}=this.state;return{path:e||"/",sourceName:t||s[0]?.name||I.DEFAULT_SOURCE_NAME}}canPaste(e){let t=this.state.clipboard;if(!t.length||t.some(t=>t.sourceName!==e.sourceName))return!1;let s=this.dataProvider;if(!t.every(e=>"copy"===e.mode?s.canCopy("file"===e.type):s.canI("file"===e.type?"FileMove":"FolderMove")))return!1;let i=(0,n.normalizeItemPath)(e.path);return!t.some(e=>"folder"===e.type&&(i===e.from||i.startsWith(e.from+"/")))}onPaste(e){if(!this.canPaste(e))return;let t=this.state.clipboard;t.some(e=>"cut"===e.mode)&&(this.state.clipboard=[]);let s=(0,n.normalizeItemPath)(e.path),i=async()=>{let i=0;for(let o of t){let t="file"===o.type;if("cut"===o.mode){if((0,n.parentPath)(o.from)===s)continue;await this.dataProvider.move(o.from,s,e.sourceName,t)}else await this.dataProvider.copy(o.from,s,e.sourceName,t);i+=1}return i},o=t.every(e=>"copy"===e.mode);i().then(e=>{e>0&&this.status(this.i18n(o?"%s item(s) were copied":"%s item(s) were moved",e+""),!0)}).catch(this.status).finally(()=>(this.state.activeElements=[],Promise.allSettled([this.loadingManager.loadItems(),this.loadingManager.loadFolders()])))}onFileRemove(){this.state.activeElements.length&&this.confirm("Are you sure?","Delete",e=>{e&&this.__itemsRemove(this.state.activeElements)}).bindDestruct(this)}__itemsRemove(e){if(!e.length)return Promise.resolve();let t=[];return e.forEach(e=>{t.push("folder"===e.type?this.__folderRemove((0,n.parentPath)(e.path),e.name??"",e.sourceName):this.__removeFile(e.file||e.name||"",e.sourceName))}),this.state.activeElements.forEach(e=>{this.stateManager.isFavorite(e)&&this.stateManager.toggleFavorite(e)}),this.state.activeElements=[],Promise.allSettled(t).then(()=>Promise.allSettled([this.loadingManager.loadItems(),this.loadingManager.loadFolders()]))}__removeFile(e,t){return this.dataProvider.fileRemove(this.state.currentPath,e,t).then(t=>{this.status(t||this.i18n('File "%s" was deleted',e),!0)}).catch(this.status)}__folderRemove(e,t,s){return this.dataProvider.folderRemove(e,t,s).then(i=>{this.status(i||this.i18n('Folder "%s" was deleted',t),!0),this.state.currentPath===e&&(this.state.currentPath=(0,n.parentPath)(e),this.state.currentSource=s)}).catch(this.status)}onFileEdit(){if(1===this.state.activeElements.length){let[e]=this.state.activeElements;S.openImageEditor.call(this,e.fileURL,e.file||"",e.path,e.sourceName,void 0,this.status)}}onFolderRename(e){this.prompt("Enter new name","Rename",t=>{if(!(0,_.isValidName)(t)||t===e.name)return this.status(this.i18n("Enter new name")),!1;this.dataProvider.folderRename((0,n.parentPath)(e.path),e.name,t,e.sourceName).then(s=>{this.state.activeElements=[],this.status(s,!0),this.state.currentPath=(0,n.parentPath)(e.path)+"/"+t,this.state.currentSource=e.sourceName,this.historyManager.updateCurrent(),this.loadingManager.loadFolders()}).catch(this.status)},this.i18n("type name"),e.name).bindDestruct(this)}onFolderRemove(e){this.confirm("Are you sure?","Delete",t=>{t&&this.__itemsRemove([{type:"folder",name:e.name,path:e.path,sourceName:e.sourceName}])}).bindDestruct(this)}onFolderCreate(e){this.prompt("Enter Directory name","Create directory",t=>{let s=e.path||"/";this.dataProvider.createFolder(t,e.path||"/",e.sourceName).then(()=>{this.state.currentSource===e.sourceName&&this.state.currentPath===s?this.e.fire("update.filebrowser"):(this.state.currentSource=e.sourceName,this.state.currentPath=s),this.historyManager.updateCurrent()},this.status)},this.i18n("type name")).bindDestruct(this)}onFileRename(e){let t=e.file||e.name||"";1===this.state.activeElements.length&&t&&this.prompt("Enter new name","Rename",e=>{if(!(0,_.isValidName)(e))return this.status(this.i18n("Enter new name")),!1;this.dataProvider.fileRename(this.state.currentPath,t,e,this.state.currentSource).then(e=>{this.state.activeElements=[],this.status(e,!0),this.loadingManager.loadItems()}).catch(this.status)},this.i18n("type name"),t).bindDestruct(this)}onChooseItems(){let e=this.stateManager.state.activeElements;if(e.length){if("folder"===e[0].type){this.state.currentPath=this.state.currentPath+"/"+e[0].name,this.state.currentSource=e[0].sourceName,this.e.fire("afterOpenFolder.filebrowser");return}this.state.onSelectCallBack?this.stateManager.callSelectHandler():this.onOpenLightBox(e[0])}}onOpenLightBox(e){m.UILightBox.open(this,e,this.state.elements)}initUploader(){let e=this,t=(0,_.ConfigProto)(e.o.uploader||{},g.Config.defaultOptions.uploader),s=()=>this.loadingManager.loadItems();e.uploader=e.getInstance("Uploader",t),e.uploader.bind(e.panel.container,s,e.errorHandler),e.e.on("bindUploader.filebrowser",t=>{e.uploader.bind(t,s,e.errorHandler)})}destruct(){this.removeGlobalListeners(),this.header.destruct(),this.panel.destruct(),super.destruct()}fullFillOptions(){["getLocalFileByUrl","crop","resize","create","fileMove","folderMove","fileCopy","folderCopy","fileRename","folderRename","fileRemove","folderRemove","folder","items","permissions"].forEach(e=>{null!=this.options[e]&&(this.options[e]=(0,_.ConfigProto)(this.options[e],this.o.ajax))})}constructor(e){super((0,_.ConfigProto)(Object.assign(e||{},{resizable:!0,draggable:!0,toolbarButtons:e?.toolbarButtons||g.Config.defaultOptions.filebrowser.buttons,buttons:x.JoditPro.atom(["filebrowser.settings","fullsize","dialog.close"])}),g.Config.defaultOptions.filebrowser)),(0,i._)(this,"dataProvider",new a.DataProviderPro(this,this.options)),(0,i._)(this,"state",(0,C.observable)({onSelectCallBack:null,theme:"default",showSideBar:!0,showFavorites:!0,showSettings:!1,showPreview:!1,withFolders:!0,foldersPosition:"bottom",info:"",metaInfo:null,currentPath:"",currentSource:"",currentBaseUrl:"",tree:[],activeElements:[],favorites:[],clipboard:[],progress:0,lastSelectedIndex:0,elements:[],messages:[],sources:[],view:"tiles",tileSize:"default",sortBy:"name-asc",filterWord:"",onlyImages:!1})),(0,i._)(this,"persistent",new c.PersistentStore(this,this.state)),(0,i._)(this,"loadingManager",new h.LoadingManager(this,this.state)),(0,i._)(this,"stateManager",new d.StateManager(this.state)),(0,i._)(this,"historyManager",new l.HistoryManager(this,this.state)),(0,i._)(this,"contextMenuManager",new r.ContextMenuManager(this)),(0,i._)(this,"header",new u.UIBrowserHeader(this,this.options,this.stateManager)),(0,i._)(this,"panel",new p.UIBrowserPanel(this,this.stateManager)),(0,i._)(this,"files",this.panel),(0,i._)(this,"tree",this.panel),(0,i._)(this,"uploader",void 0),P.license.make(this),!this.persistent.theme&&this.options.theme&&(this.persistent.theme=this.options.theme),this.panel.append(this.progressbar),this.toolbar.setMod("mode","header"),this.setSize(Math.min(this.options.width,screen.width),Math.min(this.options.height,screen.height)).setHeader(this.header),this.onResizeWindow(),this.initUploader(),this.onChangeTheme(),this.fullFillOptions(),this.dataProvider.onProgress(e=>{0===e&&(e=30),this.state.progress=e}),this.e.on("beforeClose",this.removeGlobalListeners),this.e.fire("afterInit"),x.JoditPro.prototype.afterInitHook.call(this)}}(0,o.__decorate)([w.autobind],M.prototype,"status",null),(0,o.__decorate)([w.autobind],M.prototype,"errorHandler",null),(0,o.__decorate)([w.cache],M.prototype,"progressbar",null),(0,o.__decorate)([(0,w.watch)(":resize",{context:window})],M.prototype,"onResizeWindow",null),(0,o.__decorate)([(0,w.watch)(["state.currentPath","state.currentSource"])],M.prototype,"onChangePath",null),(0,o.__decorate)([(0,w.watch)("state.theme")],M.prototype,"onChangeTheme",null),(0,o.__decorate)([(0,w.watch)(":toggleSettings.filebrowser")],M.prototype,"onToggleSettings",null),(0,o.__decorate)([w.autobind],M.prototype,"onKeyPress",null),(0,o.__decorate)([w.autobind],M.prototype,"removeGlobalListeners",null),(0,o.__decorate)([(0,w.watch)(":cut.filebrowser")],M.prototype,"onCut",null),(0,o.__decorate)([(0,w.watch)(":copy.filebrowser")],M.prototype,"onCopy",null),(0,o.__decorate)([(0,w.watch)(":paste.filebrowser")],M.prototype,"onPaste",null),(0,o.__decorate)([(0,w.watch)(":fileRemove.filebrowser")],M.prototype,"onFileRemove",null),(0,o.__decorate)([(0,w.watch)(":edit.filebrowser")],M.prototype,"onFileEdit",null),(0,o.__decorate)([(0,w.watch)(":folderRename.filebrowser")],M.prototype,"onFolderRename",null),(0,o.__decorate)([(0,w.watch)(":folderRemove.filebrowser")],M.prototype,"onFolderRemove",null),(0,o.__decorate)([(0,w.watch)(":folderCreate.filebrowser")],M.prototype,"onFolderCreate",null),(0,o.__decorate)([(0,w.watch)(":fileRename.filebrowser")],M.prototype,"onFileRename",null),(0,o.__decorate)([(0,w.watch)(":select.filebrowser")],M.prototype,"onChooseItems",null),(0,o.__decorate)([(0,w.watch)(":openLightBox.filebrowser")],M.prototype,"onOpenLightBox",null),M=(0,o.__decorate)([w.component,(0,w.derive)(y.Dlgs)],M),Object.defineProperty(x.JoditPro.modules,"FileBrowserPro",{value:M,writable:!1,enumerable:!0,configurable:!0})},77894:function(e,t,s){"use strict";var i=s(76636),o=s(6441),r=s(580);let a=o.Config.prototype.controls.filebrowser;a.settings={icon:"settings",tooltip:"Settings",exec(e){(e.parent??e).e.fire("toggleSettings.filebrowser")}},a.home={icon:"home",tooltip:"Home",exec(e){e.e.fire("goHome.filebrowser")}},a.preview={icon:"eye",tooltip:"Preview",isDisabled:e=>0===e.state.activeElements.length,exec(e){e.e.fire("togglePreview.filebrowser")}},a.next={icon:"angle-right",tooltip:"History next",isDisabled:e=>!e.historyManager.canNext(),exec(e){e.historyManager.next()}},a.previous={icon:"angle-left",tooltip:"History previous",isDisabled:e=>!e.historyManager.canPrevious(),exec(e){e.historyManager.previous()}},a["new-folder"]={icon:"new-folder",exec(e){e.e.fire("folderCreate.filebrowser",{path:e.state.currentPath,sourceName:e.state.currentSource})},tooltip:"New folder"},a.paste={icon:"paste",tooltip:"Paste",isDisabled:e=>!e.canPaste(e.getPasteTarget()),exec(e){e.e.fire("paste.filebrowser",e.getPasteTarget())}},Object.assign(o.Config.prototype.filebrowser,{buttons:["filebrowser.home","filebrowser.previous","filebrowser.next","|","filebrowser.upload","filebrowser.new-folder","filebrowser.paste","filebrowser.remove","filebrowser.update","filebrowser.select","filebrowser.edit","|","filebrowser.preview","about"],sort:!1,pixelOffsetLoadNewChunk:300,width:900,height:400,previewOfficeURL:"https://view.officeapps.live.com/op/view.aspx?src=",fileCopy:{data:{action:"fileCopy"}},folderCopy:{data:{action:"folderCopy"}}}),(0,r.extendLang)(i)},97068:function(e,t,s){"use strict";s.r(t),s.d(t,{finder:function(){return n}});var i=s(82749);s(77894);var o=s(5422),r=s(50911),a=s(2692);class n extends r.Plugin{afterInit(e){e.e.on("getInstanceFileBrowser",e=>(this.__instance||(this.__instance=new o.FileBrowserPro(e)),this.__instance))}beforeDestruct(e){e.e.off("getInstanceFileBrowser"),this.__instance?.destruct()}constructor(...e){super(...e),(0,i._)(this,"hasStyle",!a.JoditPro.fatMode),(0,i._)(this,"__instance",void 0)}}(0,i._)(n,"requires",["license"]),a.JoditPro.plugins.add("finder",n)},8087:function(e,t,s){"use strict";s.d(t,{ContextMenuManager:function(){return l}});var i=s(31635),o=s(77841),r=s(80480),a=s(65478),n=s(63399);class l extends r.ViewComponent{className(){return"ContextMenuManager"}onFolderContext(e,t){return this.buildContextItemMenu(this.getFolderContextActions(e),t),!1}onItemContext(e,t,s){return this.buildContextItemMenu(this.getItemContextActions(e),s),!1}onSourceContext(e,t){return this.buildContextItemMenu(this.getSourceContextActions(e),t),!1}onAreaContext(e){return this.buildContextItemMenu(this.getAreaContextActions(),e),!1}buildContextItemMenu(e,t){if(!this.j.o.contextMenu)return;let s=(0,n.makeContextMenu)(this.j).setMod("theme",this.j.state.theme);s.show(t.clientX,t.clientY,e.filter(e=>e&&!1!==e.enabled)),this.j.e.on(this.j,"afterClose",()=>{s.isOpened&&s.close()})}getItemContextActions(e){if(this.j.stateManager.isActive(e)||this.j.stateManager.addActive(e,this.j.state.activeElements.length>1),"folder"===e.type)return this.getFolderContextActions({type:"directory",children:[],name:e.name||"",path:e.path,sourceName:e.sourceName});let t=this.j.options,s=this.j.dataProvider,i=1===this.j.state.activeElements.length;return[{icon:"pencil",title:"Edit",enabled:!!e.isImage&&t.editImage&&i&&(s.canI("ImageResize")||s.canI("ImageCrop")),exec:()=>{this.j.e.fire("edit.filebrowser")}},{icon:"italic",title:"Rename",enabled:s.canI("FileRename")&&i,exec:()=>this.j.e.fire("fileRename.filebrowser",e)},{icon:"cut",title:"Cut",enabled:s.canI("FileMove"),exec:()=>this.j.e.fire("cut.filebrowser")},{icon:"copy",title:"Copy",enabled:s.canCopy(!0),exec:()=>this.j.e.fire("copy.filebrowser")},{icon:"bin",title:"Delete",enabled:s.canI("FileRemove"),exec:()=>this.j.e.fire("fileRemove.filebrowser",e)},{icon:"eye",title:"Preview",enabled:!!(e.isImage||"file"===e.type)&&t.preview&&i,exec:()=>this.j.e.fire("openLightBox.filebrowser",e)},{icon:"upload",title:"Download",exec:()=>{e.fileURL&&this.j.ow.open(e.fileURL)}}]}getFolderContextActions(e){let t=this.j.dataProvider,s={path:(0,o.folderFullPath)(e),sourceName:e.sourceName};return[{icon:"pencil",title:"Rename",exec:()=>{this.j.e.fire("folderRename.filebrowser",e)},enabled:t.canI("FolderRename")},{icon:"cut",title:"Cut",enabled:t.canI("FolderMove"),exec:()=>{this.j.e.fire("cut.filebrowser",e)}},{icon:"copy",title:"Copy",enabled:t.canCopy(!1),exec:()=>{this.j.e.fire("copy.filebrowser",e)}},{icon:"paste",title:"Paste",enabled:this.j.canPaste(s),exec:()=>{this.j.e.fire("paste.filebrowser",s)}},{icon:"bin",title:"Delete",exec:()=>{this.j.e.fire("folderRemove.filebrowser",e)},enabled:t.canI("FolderRemove")},{icon:"plus",title:"Add folder",exec:()=>{this.j.e.fire("folderCreate.filebrowser",e)},enabled:t.canI("FolderCreate")}]}getSourceContextActions(e){let t={path:"/",sourceName:e.sourceName};return[{icon:"plus",title:"Create folder",exec:()=>{this.j.e.fire("folderCreate.filebrowser",e)}},{icon:"paste",title:"Paste",enabled:this.j.canPaste(t),exec:()=>{this.j.e.fire("paste.filebrowser",t)}}]}getAreaContextActions(){let e=this.j.getPasteTarget();return[{icon:"paste",title:"Paste",enabled:this.j.canPaste(e),exec:()=>{this.j.e.fire("paste.filebrowser",e)}},{icon:"plus",title:"Add folder",enabled:this.j.dataProvider.canI("FolderCreate"),exec:()=>{this.j.e.fire("folderCreate.filebrowser",{path:e.path,sourceName:e.sourceName})}}]}}(0,i.__decorate)([(0,a.watch)(":contextmenuFolder.filebrowser")],l.prototype,"onFolderContext",null),(0,i.__decorate)([(0,a.watch)(":contextmenuItem.filebrowser")],l.prototype,"onItemContext",null),(0,i.__decorate)([(0,a.watch)(":contextmenuSource.filebrowser")],l.prototype,"onSourceContext",null),(0,i.__decorate)([(0,a.watch)(":contextmenuArea.filebrowser")],l.prototype,"onAreaContext",null),l=(0,i.__decorate)([a.component],l)},34698:function(e,t,s){"use strict";s.d(t,{DataProviderPro:function(){return r}});var i=s(21537),o=s(11787);class r extends o.default{copy(e,t,s,o){let r=o?"fileCopy":"folderCopy",a=this.o[r];if(!a)throw(0,i.error)("Set Copy api options");return a.data.from=e,a.data.path=t,a.data.source=s,this.get(r).then(e=>{if(this.isSuccess(e))return!0;throw(0,i.error)(this.getMessage(e))})}canCopy(e){let t=e?"allowFileCopy":"allowFolderCopy",s=this.o.permissionsPresets[t];if(void 0!==s)return s;let{__currentPermissions:i}=this;return null==i||void 0===i[t]||!!i[t]}}},77841:function(e,t,s){"use strict";s.d(t,{folderFullPath:function(){return r},isCutItem:function(){return a},normalizeItemPath:function(){return o},parentPath:function(){return i}});let i=e=>{let t=e.split("/").filter(e=>e.length);return t.pop(),t.join("/")||"/"},o=e=>e.split("/").filter(e=>e.length).join("/")||"/",r=e=>e.path.endsWith("/")?o(e.path+e.name):e.path,a=(e,t)=>{if(!e.length)return!1;let s=o(t.path+(t.file||t.name||""));return e.some(e=>"cut"===e.mode&&e.from===s&&e.sourceName===t.sourceName)}},17578:function(e,t,s){"use strict";s.d(t,{HistoryManager:function(){return l}});var i=s(82749),o=s(31635),r=s(80480),a=s(65478),n=s(97735);class l extends r.ViewComponent{className(){return"HistoryManager"}canNext(){return this.historyIndex<this.history.length-1}canPrevious(){return this.historyIndex>0}push(e){let{historyIndex:t}=this,s=this.history[t];if(s&&s.currentSource===e.currentSource&&s.currentPath===e.currentPath)return;let i=[...this.history];i.length-1!==t&&(i=i.slice(0,t+1)),i.push(e),s&&(t+=1),this.history=i,this.historyIndex=t}next(){this.canNext()&&(this.historyIndex+=1,this.updateState())}previous(){this.canPrevious()&&(this.historyIndex-=1,this.updateState())}updateCurrent(){this.history[this.historyIndex]={currentSource:this.state.currentSource,currentPath:this.state.currentPath,tree:(0,n.fastClone)(this.state.tree),elements:[...this.state.elements]}}onHome(){this.state.currentPath="",this.state.currentSource="",this.j.e.fire("afterOpenFolder.filebrowser update.filebrowser")}onOpenFolder(){this.push({tree:[],elements:[],currentPath:this.state.currentPath,currentSource:this.state.currentSource}),this.j.e.fire("changeSelection")}updateState(){let{tree:e,elements:t,currentSource:s,currentPath:i}=this.history[this.historyIndex];this.state.activeElements=[],this.state.elements=[...t],this.state.tree=[...e],this.state.currentSource=s,this.state.currentPath=i,this.j.e.fire("changeSelection")}constructor(e,t){super(e),(0,i._)(this,"state",void 0),(0,i._)(this,"history",void 0),(0,i._)(this,"historyIndex",void 0),this.state=t,this.history=[],this.historyIndex=0}}(0,o.__decorate)([(0,a.watch)(["state.elements","state.tree"])],l.prototype,"updateCurrent",null),(0,o.__decorate)([(0,a.watch)(":goHome.filebrowser")],l.prototype,"onHome",null),(0,o.__decorate)([(0,a.watch)(":afterOpenFolder.filebrowser")],l.prototype,"onOpenFolder",null),l=(0,o.__decorate)([a.component],l)},97770:function(e,t,s){"use strict";s.d(t,{LoadingManager:function(){return n}});var i=s(82749),o=s(31635),r=s(91907),a=s(65478);class n extends r.ViewComponent{className(){return"LoadingManager"}async onUpdateFileBrowser(){this.state.activeElements=[],this.j.panel.setMod("loading",!0),await Promise.all([this.loadFolders(),this.loadItems()]),this.j.panel.setMod("loading",!1)}async loadFolders(){if(!this.j.isOpened)return;let{currentPath:e,currentSource:t,onlyImages:s}=this.state;try{let i=this.j.dataProvider;i.o?.folder&&(i.o.folder.data.onlyImages=s);let o=await i.tree(e,t);this.j.stateManager.fillTreeForPath(o,e),this.state.sources=o}catch(e){this.j.status(e)}}async loadItems(){if(this.j.isOpened)try{this.__tick+=1;let{__tick:e}=this;this.offset=0,this.stopLoadingParts=!1,this.__callQueueCount=0;let{items:t,loadedTotal:s}=await l(this.state,this.j.dataProvider,this.offset,this.countInOneChunk);if(this.state.elements=t,this.stopLoadingParts=s<this.countInOneChunk,await this.loadItemsChunk(e),await this.async.requestIdlePromise(),this.__tick!==e)return;for(;!this.stopLoadingParts&&this.j.panel.countInColumn*this.j.panel.countInRow>=this.state.elements.length;)if(await this.loadItemsChunk(e),this.__tick!==e)return}catch(e){this.j.status(e)}}async __loadItemsChunk(e){if(this.__isLoadingPart){this.__callQueueCount+=1;return}if(this.stopLoadingParts){this.__callQueueCount=0;return}this.__isLoadingPart=!0,this.j.panel.items.setMod("chunk-loading",!0);try{this.offset+=this.countInOneChunk;let{items:t,loadedTotal:s}=await l(this.state,this.j.dataProvider,this.offset,this.countInOneChunk);if(this.__tick!==e)return;this.stopLoadingParts=s<this.countInOneChunk,t.length&&(this.state.elements=this.state.elements.concat(t))}catch(e){this.j.status(e)}if(this.j.panel.items.setMod("chunk-loading",!1),this.__isLoadingPart=!1,this.__callQueueCount>0)return this.__callQueueCount-=1,this.__loadItemsChunk(e)}loadItemsChunk(e=this.__tick){return e!==this.__tick?Promise.resolve():this.__loadItemsChunk(e)}constructor(e,t){super(e),(0,i._)(this,"state",void 0),(0,i._)(this,"__tick",void 0),(0,i._)(this,"offset",void 0),(0,i._)(this,"countInOneChunk",void 0),(0,i._)(this,"stopLoadingParts",void 0),(0,i._)(this,"__isLoadingPart",void 0),(0,i._)(this,"__callQueueCount",void 0),this.state=t,this.__tick=0,this.offset=0,this.countInOneChunk=20,this.stopLoadingParts=!1,this.__isLoadingPart=!1,this.__callQueueCount=0}}function l(e,t,s,i){let{currentPath:o,currentSource:r,sortBy:a,withFolders:n,foldersPosition:l,onlyImages:h,filterWord:c}=e;return t.itemsEx(o,r,{offset:s,limit:i,sortBy:a,withFolders:n,foldersPosition:l,onlyImages:h,filterWord:c})}(0,o.__decorate)([(0,a.watch)(":update.filebrowser")],n.prototype,"onUpdateFileBrowser",null),(0,o.__decorate)([(0,a.watch)(["state.currentPath","state.currentSource","state.onlyImages"]),(0,a.debounce)(e=>({timeout:e.defaultTimeout,promisify:!0}))],n.prototype,"loadFolders",null),(0,o.__decorate)([(0,a.watch)(["state.currentPath","state.currentSource","state.sortBy","state.onlyImages","state.foldersPosition","state.filterWord"]),(0,a.debounce)(e=>({timeout:e.defaultTimeout,promisify:!0}))],n.prototype,"loadItems",null),(0,o.__decorate)([(0,a.debounce)(e=>({timeout:e.defaultTimeout,promisify:!0}))],n.prototype,"loadItemsChunk",null),n=(0,o.__decorate)([a.component],n)},42663:function(e,t,s){"use strict";s.d(t,{PersistentStore:function(){return l}});var i=s(82749),o=s(31635),r=s(91907),a=s(65478),n=s(159);class l extends r.ViewComponent{className(){return"PersistentStore"}onChangeThemeSetField(){this.theme=this.state.theme}onChangeView(){this.__viewPersistenceEnabled()&&(this.view=this.state.view)}onChangeSortBy(){this.sortBy=this.state.sortBy}onChangeTileSize(){this.tileSize=this.state.tileSize}onChangeFavorites(){this.favorites=this.state.favorites}onChangeShowSideBar(){this.showSideBar=this.state.showSideBar}onChangeShowPreview(){this.showPreview=this.state.showPreview}onChangeShowFavorites(){this.showFavorites=this.state.showFavorites}onChangeFoldersPosition(){this.foldersPosition=this.state.foldersPosition}syncWithState(){this.state.tileSize=this.tileSize,this.state.favorites=this.favorites.map(e=>e instanceof n.FileBrowserItem?e:n.FileBrowserItem.create(e)),this.state.view=this.__resolveView(),this.state.theme=this.theme,this.state.showSideBar=this.showSideBar,this.state.showPreview=this.showPreview,this.state.showFavorites=this.showFavorites,this.state.sortBy=this.sortBy,this.state.foldersPosition=this.foldersPosition}__resolveView(){return this.__viewPersistenceEnabled()&&this.__hasStoredView()?this.view:this.__configView()??"tiles"}__configView(){let{view:e}=this.j.o;return"tiles"===e||"list"===e||"compact"===e?e:null}__viewPersistenceEnabled(){let{saveStateInStorage:e}=this.j.o;return!1!==e&&(!e||!1!==e.storeView)}__hasStoredView(){return null!=this.j.storage.get(`${this.j.o.namespace}${this.componentName}_prop_view`)}constructor(e,t){super(e),(0,i._)(this,"state",void 0),(0,i._)(this,"theme",void 0),(0,i._)(this,"sortBy",void 0),(0,i._)(this,"view",void 0),(0,i._)(this,"foldersPosition",void 0),(0,i._)(this,"tileSize",void 0),(0,i._)(this,"favorites",void 0),(0,i._)(this,"showSideBar",void 0),(0,i._)(this,"showPreview",void 0),(0,i._)(this,"showFavorites",void 0),this.state=t,this.sortBy="changed-desc",this.view="tiles",this.foldersPosition="top",this.tileSize="default",this.favorites=[],this.showSideBar=!0,this.showPreview=!1,this.showFavorites=!0}}(0,o.__decorate)([a.persistent],l.prototype,"theme",void 0),(0,o.__decorate)([a.persistent],l.prototype,"sortBy",void 0),(0,o.__decorate)([a.persistent],l.prototype,"view",void 0),(0,o.__decorate)([a.persistent],l.prototype,"foldersPosition",void 0),(0,o.__decorate)([a.persistent],l.prototype,"tileSize",void 0),(0,o.__decorate)([a.persistent],l.prototype,"favorites",void 0),(0,o.__decorate)([a.persistent],l.prototype,"showSideBar",void 0),(0,o.__decorate)([a.persistent],l.prototype,"showPreview",void 0),(0,o.__decorate)([a.persistent],l.prototype,"showFavorites",void 0),(0,o.__decorate)([(0,a.watch)("state.theme")],l.prototype,"onChangeThemeSetField",null),(0,o.__decorate)([(0,a.watch)("state.view")],l.prototype,"onChangeView",null),(0,o.__decorate)([(0,a.watch)("state.sortBy")],l.prototype,"onChangeSortBy",null),(0,o.__decorate)([(0,a.watch)("state.tileSize")],l.prototype,"onChangeTileSize",null),(0,o.__decorate)([(0,a.watch)("state.favorites")],l.prototype,"onChangeFavorites",null),(0,o.__decorate)([(0,a.watch)("state.showSideBar")],l.prototype,"onChangeShowSideBar",null),(0,o.__decorate)([(0,a.watch)("state.showPreview")],l.prototype,"onChangeShowPreview",null),(0,o.__decorate)([(0,a.watch)("state.showFavorites")],l.prototype,"onChangeShowFavorites",null),(0,o.__decorate)([(0,a.watch)("state.foldersPosition")],l.prototype,"onChangeFoldersPosition",null),l=(0,o.__decorate)([a.component],l)},55535:function(e,t,s){"use strict";s.d(t,{StateManager:function(){return a}});var i=s(82749),o=s(31635),r=s(65478);class a{getIndex(e,t=this.state.elements){return t.findIndex(t=>t.uniqueHashKey===e.uniqueHashKey)}isActive(e){return!!this.state.activeElements.find(t=>t.uniqueHashKey===e.uniqueHashKey)}isFavorite(e){return!!this.state.favorites.find(t=>t.uniqueHashKey===e.uniqueHashKey)}addActive(e,t){this.state.metaInfo=e,this.state.info=e.file??"",this.state.lastSelectedIndex=this.getIndex(e),this.state.activeElements=t?[...this.state.activeElements,e]:[e]}callSelectHandler(){let e=this.state.activeElements;this.state.onSelectCallBack?.call(this,{baseurl:"",files:e.map(e=>e.fileURL),isImages:e.map(e=>!!e.isImage)})}setFilter(e){this.state.filterWord=e}toggleFavorite(e){let t=this.getIndex(e,this.state.favorites),s=[...this.state.favorites];-1===t?s.push(e):s.splice(t,1),this.state.favorites=s}fillTreeForPath(e,t){if(!this.state.tree.length||!t||"/"===t){this.state.tree=e.map(h);return}this.removeActive(this.state.tree),e.forEach(e=>{var s;let i=n(this.state.tree,e.name);i||(i=h(e),this.state.tree.push(i)),i.isActive=!0;let o=(s=i,t.split("/").reduce((e,t)=>e&&n(e.children,t),s));o&&(o.isActive=!0,o.children=l(e.folders).map(s=>c(s,t+"/"+s,e.name)))}),this.state.tree=[...this.state.tree]}removeActive(e){e.forEach(e=>{e.isActive=!1,this.removeActive(e.children)})}get isFavoriteItems(){return this.state.favorites===this.state.elements}constructor(e){(0,i._)(this,"state",void 0),this.state=e}}function n(e,t){return e.find(e=>e.name===t)??null}function l(e){return e.filter(e=>"."!==e&&".."!==e)}function h(e){return{type:"source",name:e.name,title:e.title,sourceName:e.name,path:"/",children:l(e.folders).map(t=>c(t,t,e.name))}}function c(e,t,s){return{type:"directory",name:e,path:t,sourceName:s,children:[]}}(0,o.__decorate)([r.autobind],a.prototype,"getIndex",null),(0,o.__decorate)([r.autobind],a.prototype,"isActive",null),(0,o.__decorate)([r.autobind],a.prototype,"isFavorite",null)},46732:function(e){e.exports={Favorites:"Favoriten",Settings:"Einstellungen",Light:"Hell",Dark:"Dunkel",Theme:"Design",Show:"Anzeigen",Hide:"Ausblenden","Show favorites":"Favoriten anzeigen",Tiles:"Kacheln",List:"Liste",Compact:"Kompakt",View:"Ansicht","Folders position":"Ordnerposition","Sort by":"Sortieren nach","Extra small":"Sehr klein",Small:"Klein",Large:"Groß","Extra large":"Sehr groß","Tile size":"Kachelgröße",Cut:"Ausschneiden",Copy:"Kopieren",Preview:"Vorschau",Download:"Herunterladen","Create folder":"Ordner erstellen",Home:"Start","Select image":"Bild auswählen","%s item(s) were moved":"%s Element(e) wurden verschoben","%s item(s) were copied":"%s Element(e) wurden kopiert"}},76636:function(e,t,s){"use strict";s.r(t),s.d(t,{de:function(){return o.a},ru:function(){return a.a}});var i=s(46732),o=s.n(i),r=s(28125),a=s.n(r)},28125:function(e){e.exports={Favorites:"Избранное",Settings:"Настройки",Light:"Светлая",Dark:"Темная",Theme:"Тема",Show:"Показать",Hide:"Скрыть","Show favorites":"Показывать избранное",Tiles:"Плитка",List:"Список",Compact:"Компактный",View:"Отображение","Folders position":"Позиция папок","Sort by":"Сортировать по","Extra small":"Очень маленькие",Small:"Маленькие",Large:"Большие","Extra large":"Очень большие","Tile size":"Размер плитки",Cut:"Вырезать",Copy:"Копировать",Preview:"Просмотр",Download:"Скачать","Create folder":"Создать папку",Home:"Главная","Select image":"Выберите изображение","%s item(s) were moved":"Перемещено элементов: %s","%s item(s) were copied":"Скопировано элементов: %s"}},34042:function(e,t,s){"use strict";var i=s(7307),o=s(24928),r=s(96910),a=s(67510);a.Icon.set("heart",i+""),a.Icon.set("home",o+""),a.Icon.set("new-folder",r+"")},43692:function(e,t,s){"use strict";s.d(t,{UIBrowserFolder:function(){return l}});var i=s(82749),o=s(31635),r=s(87325),a=s(38837),n=s(67510);class l extends n.UIElement{className(){return"UIBrowserFolder"}render(){return`<div>
9
9
  <div class="&__icon">
10
10
  <div class='&__loader'></div>
11
11
  <div class="&__icon-wrapper">
@@ -14,40 +14,40 @@
14
14
  </div>
15
15
  <div class="&__name"></div>
16
16
  <div class="&__arrow">*angle-right*</div>
17
- </div>`}constructor(e,t){super(e),(0,i._)(this,"item",void 0),(0,i._)(this,"syncMod",void 0),this.item=t,this.syncMod=!0;const s=this.getElm("name");(0,n.assert)(null!=s,"name element does not exists"),s.innerText=t.name,e.e.on(this.container,"click",()=>(this.getMod("active")||this.setMod("loading",!0),e.e.fire("openFolder",t))).on(this.container,"contextmenu",s=>e.e.fire("contextmenuFolder.filebrowser",t,s))}}l=(0,o.__decorate)([r.component],l)},18250:function(e,t,s){"use strict";s.d(t,{UIBrowserHeader:function(){return h}});var i=s(82749),o=s(31635),r=s(65478),n=s(70799),a=s(67510),l=s(21491);class h extends a.UIGroup{className(){return"UIBrowserHeader"}__getButtons(){return(this.options.toolbarButtons??[]).filter(e=>{if(!(0,n.isString)(e))return!0;switch(e){case"filebrowser.edit":return this.j.dataProvider.canI("ImageResize")||this.j.dataProvider.canI("ImageCrop");case"filebrowser.new-folder":return this.j.dataProvider.canI("FolderCreate");case"filebrowser.upload":return this.j.dataProvider.canI("FileUpload");case"filebrowser.remove":return this.j.dataProvider.canI("FileRemove")}return!0})}constructor(e,t,s){super(e),(0,i._)(this,"options",void 0),(0,i._)(this,"stateManager",void 0),(0,i._)(this,"syncMod",void 0),(0,i._)(this,"toolbar",void 0),(0,i._)(this,"filter",void 0),this.options=t,this.stateManager=s,this.syncMod=!0,this.toolbar=(0,l.makeCollection)(this.j),this.filter=new a.UIInput(this.j,{icon:"search",placeholder:"Filter",clearButton:!0,onChange:e=>{this.stateManager.setFilter(e)}}),this.append(this.toolbar).append(this.filter),this.filter.container.classList.add(this.getFullElName("filter")),this.toolbar.setMod("mode","header").build(this.__getButtons())}}h=(0,o.__decorate)([r.component],h)},21130:function(e,t,s){"use strict";s.d(t,{UIBrowserItem:function(){return d}});var i=s(82749),o=s(31635),r=s(65478),n=s(21537),a=s(38837),l=s(67510),h=s(41409),c=s(159);class d extends l.UIElement{className(){return"UIBrowserItem"}render(){return`<div tabindex='-1' data-ref='uiBrowserItem'>
17
+ </div>`}constructor(e,t){super(e),(0,i._)(this,"item",void 0),(0,i._)(this,"syncMod",void 0),this.item=t,this.syncMod=!0;const s=this.getElm("name");(0,a.assert)(null!=s,"name element does not exists"),s.innerText=t.name,e.e.on(this.container,"click",()=>(this.getMod("active")||this.setMod("loading",!0),e.e.fire("openFolder",t))).on(this.container,"contextmenu",s=>e.e.fire("contextmenuFolder.filebrowser",t,s))}}l=(0,o.__decorate)([r.component],l)},18250:function(e,t,s){"use strict";s.d(t,{UIBrowserHeader:function(){return h}});var i=s(82749),o=s(31635),r=s(65478),a=s(70799),n=s(67510),l=s(21491);class h extends n.UIGroup{className(){return"UIBrowserHeader"}onChangeClipboard(){this.toolbar.build(this.__getButtons())}__getButtons(){return(this.options.toolbarButtons??[]).filter(e=>{if(!(0,a.isString)(e))return!0;switch(e){case"filebrowser.edit":return this.j.dataProvider.canI("ImageResize")||this.j.dataProvider.canI("ImageCrop");case"filebrowser.new-folder":return this.j.dataProvider.canI("FolderCreate");case"filebrowser.upload":return this.j.dataProvider.canI("FileUpload");case"filebrowser.remove":return this.j.dataProvider.canI("FileRemove");case"filebrowser.paste":return this.state.clipboard.length>0}return!0})}constructor(e,t,s){super(e),(0,i._)(this,"options",void 0),(0,i._)(this,"stateManager",void 0),(0,i._)(this,"syncMod",void 0),(0,i._)(this,"toolbar",void 0),(0,i._)(this,"filter",void 0),(0,i._)(this,"state",void 0),this.options=t,this.stateManager=s,this.syncMod=!0,this.toolbar=(0,l.makeCollection)(this.j),this.filter=new n.UIInput(this.j,{icon:"search",placeholder:"Filter",clearButton:!0,onChange:e=>{this.stateManager.setFilter(e)}}),this.state=s.state,this.append(this.toolbar).append(this.filter),this.filter.container.classList.add(this.getFullElName("filter")),this.toolbar.setMod("mode","header").build(this.__getButtons())}}(0,o.__decorate)([(0,r.watch)("state.clipboard")],h.prototype,"onChangeClipboard",null),h=(0,o.__decorate)([r.component],h)},21130:function(e,t,s){"use strict";s.d(t,{UIBrowserItem:function(){return d}});var i=s(82749),o=s(31635),r=s(65478),a=s(21537),n=s(38837),l=s(67510),h=s(41409),c=s(159);class d extends l.UIElement{className(){return"UIBrowserItem"}render(){return`<div tabindex='-1' data-ref='uiBrowserItem'>
18
18
  <div class='&__image'></div>
19
19
  <div class='&__info'></div>
20
20
  <div class='&__heart'>*heart*</div>
21
- </div>`}onClickFavorite(){return this.bubble(e=>{this.jodit.e.fire(e,"toggleFavoriteItem",this.item)}),!1}onAction(e){return this.jodit.e.fire(e.type+"Item.filebrowser",this.item,(0,n.ctrlKey)(e)||e.shiftKey,e),!1}update(){let e=this.getElm("image");(0,a.assert)(null!=e,"image element does not exists"),(0,n.css)(e,"backgroundImage",`url(${encodeURI(this.item.imageURL)})`);let{type:t,file:s,time:i,size:o}=this.item;this.setMod("is-file",!1===this.item.isImage).setMod("type",t??"file").setElementValue("name",s).setElementValue("time",i).setElementValue("filesize",o),(0,n.attr)(this.container,"title","folder"!==t?`${s} ${i} ${o}`:s),super.update()}setElementValue(e,t){let s=this.getFullElName(e),i=this.getElm(e);if(!t)return i&&h.Dom.safeRemove(i),this;if(!i){let e=this.getElm("info");(0,a.assert)(null!=e,"wrapper element does not exist"),i=this.j.create.div(s),e.appendChild(i)}return i.innerText=t,this}constructor(e,t){super(e),(0,i._)(this,"item",void 0),this.item=c.FileBrowserItem.create(t),e.e.on(this.container,"click contextmenu dblclick",t=>(e.e.fire(t.type+"Item.filebrowser",this.item,(0,n.ctrlKey)(t)||t.shiftKey,t),!1)),this.update()}}(0,o.__decorate)([(0,r.watch)("heart:click")],d.prototype,"onClickFavorite",null),(0,o.__decorate)([(0,r.watch)(["container:click","container:contextmenu","container:dblclick"])],d.prototype,"onAction",null),d=(0,o.__decorate)([r.component],d)},69277:function(e,t,s){"use strict";s.d(t,{UILightBox:function(){return c}});var i=s(82749),o=s(31635),r=s(82758),n=s(65478),a=s(21537),l=s(38837),h=s(41409);class c extends h.UIElement{className(){return"UILightBox"}render(){return`<div>
21
+ </div>`}onClickFavorite(){return this.bubble(e=>{this.jodit.e.fire(e,"toggleFavoriteItem",this.item)}),!1}onAction(e){return this.jodit.e.fire(e.type+"Item.filebrowser",this.item,(0,a.ctrlKey)(e)||e.shiftKey,e),!1}update(){let e=this.getElm("image");(0,n.assert)(null!=e,"image element does not exists"),(0,a.css)(e,"backgroundImage",`url(${encodeURI(this.item.imageURL)})`);let{type:t,file:s,time:i,size:o}=this.item;this.setMod("is-file",!1===this.item.isImage).setMod("type",t??"file").setElementValue("name",s).setElementValue("time",i).setElementValue("filesize",o),(0,a.attr)(this.container,"title","folder"!==t?`${s} ${i} ${o}`:s),super.update()}setElementValue(e,t){let s=this.getFullElName(e),i=this.getElm(e);if(!t)return i&&h.Dom.safeRemove(i),this;if(!i){let e=this.getElm("info");(0,n.assert)(null!=e,"wrapper element does not exist"),i=this.j.create.div(s),e.appendChild(i)}return i.innerText=t,this}constructor(e,t){super(e),(0,i._)(this,"item",void 0),this.item=c.FileBrowserItem.create(t),e.e.on(this.container,"click contextmenu dblclick",t=>(e.e.fire(t.type+"Item.filebrowser",this.item,(0,a.ctrlKey)(t)||t.shiftKey,t),!1)),this.update()}}(0,o.__decorate)([(0,r.watch)("heart:click")],d.prototype,"onClickFavorite",null),(0,o.__decorate)([(0,r.watch)(["container:click","container:contextmenu","container:dblclick"])],d.prototype,"onAction",null),d=(0,o.__decorate)([r.component],d)},69277:function(e,t,s){"use strict";s.d(t,{UILightBox:function(){return c}});var i=s(82749),o=s(31635),r=s(82758),a=s(65478),n=s(21537),l=s(38837),h=s(41409);class c extends h.UIElement{className(){return"UILightBox"}render(){return`<div>
22
22
  <div class='&__previous'>*angle-left*</div>
23
23
  <div class='&__preview'></div>
24
24
  <div class='&__loader'></div>
25
25
  <div class='&__next'>*angle-right*</div>
26
- </div>`}async onChangeCurrent(){let{current:e}=this;this.setMod("loading",!0);let t=this.getElm("preview");if((0,l.assert)(null!=t,"preview element does not exist"),h.Dom.detach(t),(0,a.css)(t,{backgroundImage:null}),e.isImage){let s=await (0,a.loadImage)(e.fileURL,this.j);this.dialog.setPosition(),(0,a.css)(t,{width:Math.min(this.jodit.ow.innerWidth,s.naturalWidth),height:Math.min(this.jodit.ow.innerHeight-100,s.naturalHeight),backgroundImage:`url(${s.src})`})}else{let s=await this.makeIframe(e.fileURL);t.appendChild(s)}this.dialog.setSize(),this.dialog.setPosition(),this.setMod("loading",!1)}makeIframe(e){let t=this.j.c.element("iframe");return t.classList.add(this.getFullElName("office-iframe")),t.src=/\.pdf/.test(e)?e:this.j.o.previewOfficeURL+encodeURIComponent(e),t}onPreviousClick(){let{current:e}=this,t=this.j.stateManager.getIndex(e,this.elements);t<=0?t=this.elements.length-1:t-=1,this.current=this.elements[t]}onNextClick(){let{current:e}=this,t=this.j.stateManager.getIndex(e,this.elements);t>=this.elements.length-1?t=0:t+=1,this.current=this.elements[t]}static open(e,t,s){return new c(e,t,s)}addGlobalListeners(){this.j.e.on(this.j.od,"keydown",this.onKeyPress)}onKeyPress(e){if(e.key===r.KEY_LEFT||e.key===r.KEY_RIGHT||e.key===r.KEY_SPACE)return e.key===r.KEY_LEFT?this.onPreviousClick():this.onNextClick(),!1}removeGlobalListeners(){this.j.e.off(this.j.od,"keydown",this.onKeyPress)}destruct(){return this.removeGlobalListeners(),this.dialog.destruct(),super.destruct()}constructor(e,t,s){super(e),(0,i._)(this,"current",void 0),(0,i._)(this,"elements",void 0),(0,i._)(this,"dialog",void 0),this.current=t,this.elements=s,this.dialog=new h.Dialog;const{dialog:o}=this;o.setMod("theme",e.state.theme).toolbar.setMod("mode","header"),o.open(this),this.elements=this.elements.filter(e=>e.isImage),o.e.on(o,"afterClose",()=>{this.j.async.setTimeout(()=>this.destruct(),1)}),this.addGlobalListeners(),this.onChangeCurrent(),o.toolbar.build([{icon:"check",exec:()=>{e.stateManager.addActive(this.current,!1),e.e.fire("select.filebrowser"),o.close()}},"dialog.close"])}}(0,o.__decorate)([(0,n.watch)("current")],c.prototype,"onChangeCurrent",null),(0,o.__decorate)([(0,n.watch)("previous:click")],c.prototype,"onPreviousClick",null),(0,o.__decorate)([(0,n.watch)("next:click")],c.prototype,"onNextClick",null),(0,o.__decorate)([n.autobind],c.prototype,"onKeyPress",null),c=(0,o.__decorate)([n.component],c)},4278:function(e,t,s){"use strict";s.d(t,{UIBrowserPanel:function(){return p}});var i=s(82749),o=s(31635),r=s(65478),n=s(21537),a=s(67510),l=s(8358),h=s(60062),c=s(70950),d=s(59198),u=s(17234),m=s(43778);class p extends a.UIGroup{className(){return"UIBrowserPanel"}get countInRow(){if("list"===this.state.view||!this.items.elements.length)return 1;let{container:e}=this.items.elements[0],t=(0,n.css)(e,"marginLeft");return Math.floor(this.items.container.offsetWidth/(e.offsetWidth+((0,n.isNumber)(t)?t:0)))}get countInColumn(){if(!this.items.elements.length)return 1;let{container:e}=this.items.elements[0],t=(0,n.css)(e,"marginTop");return Math.floor(this.items.container.offsetHeight/(e.offsetHeight+((0,n.isNumber)(t)?t:0)))}render(){return`<div>
26
+ </div>`}async onChangeCurrent(){let{current:e}=this;this.setMod("loading",!0);let t=this.getElm("preview");if((0,l.assert)(null!=t,"preview element does not exist"),h.Dom.detach(t),(0,n.css)(t,{backgroundImage:null}),e.isImage){let s=await (0,n.loadImage)(e.fileURL,this.j);this.dialog.setPosition(),(0,n.css)(t,{width:Math.min(this.jodit.ow.innerWidth,s.naturalWidth),height:Math.min(this.jodit.ow.innerHeight-100,s.naturalHeight),backgroundImage:`url(${s.src})`})}else{let s=await this.makeIframe(e.fileURL);t.appendChild(s)}this.dialog.setSize(),this.dialog.setPosition(),this.setMod("loading",!1)}makeIframe(e){let t=this.j.c.element("iframe");return t.classList.add(this.getFullElName("office-iframe")),t.src=/\.pdf/.test(e)?e:this.j.o.previewOfficeURL+encodeURIComponent(e),t}onPreviousClick(){let{current:e}=this,t=this.j.stateManager.getIndex(e,this.elements);t<=0?t=this.elements.length-1:t-=1,this.current=this.elements[t]}onNextClick(){let{current:e}=this,t=this.j.stateManager.getIndex(e,this.elements);t>=this.elements.length-1?t=0:t+=1,this.current=this.elements[t]}static open(e,t,s){return new c(e,t,s)}addGlobalListeners(){this.j.e.on(this.j.od,"keydown",this.onKeyPress)}onKeyPress(e){if(e.key===r.KEY_LEFT||e.key===r.KEY_RIGHT||e.key===r.KEY_SPACE)return e.key===r.KEY_LEFT?this.onPreviousClick():this.onNextClick(),!1}removeGlobalListeners(){this.j.e.off(this.j.od,"keydown",this.onKeyPress)}destruct(){return this.removeGlobalListeners(),this.dialog.destruct(),super.destruct()}constructor(e,t,s){super(e),(0,i._)(this,"current",void 0),(0,i._)(this,"elements",void 0),(0,i._)(this,"dialog",void 0),this.current=t,this.elements=s,this.dialog=new h.Dialog;const{dialog:o}=this;o.setMod("theme",e.state.theme).toolbar.setMod("mode","header"),o.open(this),this.elements=this.elements.filter(e=>e.isImage),o.e.on(o,"afterClose",()=>{this.j.async.setTimeout(()=>this.destruct(),1)}),this.addGlobalListeners(),this.onChangeCurrent(),o.toolbar.build([{icon:"check",exec:()=>{e.stateManager.addActive(this.current,!1),e.e.fire("select.filebrowser"),o.close()}},"dialog.close"])}}(0,o.__decorate)([(0,a.watch)("current")],c.prototype,"onChangeCurrent",null),(0,o.__decorate)([(0,a.watch)("previous:click")],c.prototype,"onPreviousClick",null),(0,o.__decorate)([(0,a.watch)("next:click")],c.prototype,"onNextClick",null),(0,o.__decorate)([a.autobind],c.prototype,"onKeyPress",null),c=(0,o.__decorate)([a.component],c)},4278:function(e,t,s){"use strict";s.d(t,{UIBrowserPanel:function(){return f}});var i=s(82749),o=s(31635),r=s(65478),a=s(21537),n=s(67510),l=s(77841),h=s(8358),c=s(60062),d=s(70950),u=s(59198),m=s(17234),p=s(43778);class f extends n.UIGroup{className(){return"UIBrowserPanel"}get countInRow(){if("list"===this.state.view||!this.items.elements.length)return 1;let{container:e}=this.items.elements[0],t=(0,a.css)(e,"marginLeft");return Math.floor(this.items.container.offsetWidth/(e.offsetWidth+((0,a.isNumber)(t)?t:0)))}get countInColumn(){if(!this.items.elements.length)return 1;let{container:e}=this.items.elements[0],t=(0,a.css)(e,"marginTop");return Math.floor(this.items.container.offsetHeight/(e.offsetHeight+((0,a.isNumber)(t)?t:0)))}render(){return`<div>
27
27
  <div class='&__content'></div>
28
28
  <div class='&__footer'></div>
29
- </div>`}onChangeTheme(){this.setMod("theme",this.stateManager.state.theme)}onChangeElements(){this.items.build(this.stateManager.state.elements)}onChangeActiveElements(){this.state.activeElements.length||(this.state.info="",this.state.metaInfo=null),this.items.elements.forEach(e=>{e.setMod("active",!!this.stateManager.isActive(e.item))}),this.j.e.fire("changeSelection")}onChangeFavorites(){this.items.elements.forEach(e=>{e.setMod("favorite",!!this.stateManager.isFavorite(e.item))})}onChangeSources(){this.sources.build(this.stateManager.state.tree)}onChangeLastSelectedIndex(){let e=this.items.elements[this.stateManager.state.lastSelectedIndex]?.container;e&&((0,n.scrollIntoViewIfNeeded)(e,this.items.container,this.j.od),e.focus())}onChangeInfo(){this.statusbar.value(this.state.info,"center")}onChangePathOrSource(){this.statusbar.value(this.state.currentPath?`${this.state.currentPath} (${this.state.currentSource})`:this.i18n("Home"),"left")}onChangeShowSettings(){this.settings.setMod("hidden",!this.stateManager.state.showSettings)}onChangeShowPreview(){this.preview.setMod("hidden",!this.stateManager.state.showPreview)}onChangeShowSideBar(){this.sidebar.setMod("hidden",!this.stateManager.state.showSideBar)}onChangeView(){this.items.setMod("view",this.stateManager.state.view)}onChangeTileSize(){this.items.setMod("size",this.stateManager.state.tileSize)}onChangeShowFavorites(){this.sidebar.setMod("show-favorites",this.stateManager.state.showFavorites),this.items.setMod("show-favorites",this.stateManager.state.showFavorites)}onItemDblClick(){return this.j.e.fire("select.filebrowser"),!1}onItemClick(e,t){this.stateManager.addActive(e,t)}onTogglePreview(){return this.state.showPreview=!this.state.showPreview,!1}onToggleFavoriteItem(e){this.stateManager.toggleFavorite(e)}onFolderClick(e){this.stateManager.state.currentSource=e.sourceName,this.stateManager.state.currentPath=e.path||"/",this.j.e.fire("afterOpenFolder.filebrowser")}constructor(e,t){super(e),(0,i._)(this,"stateManager",void 0),(0,i._)(this,"syncMod",void 0),(0,i._)(this,"state",void 0),(0,i._)(this,"sources",void 0),(0,i._)(this,"sidebar",void 0),(0,i._)(this,"preview",void 0),(0,i._)(this,"statusbar",void 0),(0,i._)(this,"items",void 0),(0,i._)(this,"settings",void 0),this.stateManager=t,this.syncMod=!0,this.sources=new d.UIBrowserSources(this.j),this.sidebar=new c.UISidebar(this.jodit,[this.sources],this.stateManager.state),this.preview=new l.UIPreview(this.jodit,this.stateManager.state),this.statusbar=new u.UIBrowserStatusBar(this.j),this.items=new m.UIVirtualScroll(this.j,this.stateManager),this.settings=new h.UIBrowserSettings(this.jodit,this.stateManager.state),this.state=t.state,this.append(this.sidebar,"content"),this.append(this.items,"content"),this.append(this.settings,"content"),this.append(this.preview,"content"),this.append(this.statusbar,"footer"),this.onChangeElements(),this.onChangeSources(),this.onChangeView(),this.onChangeTileSize(),this.onChangeShowFavorites(),this.onChangeActiveElements(),this.onChangeFavorites(),this.onChangeShowSideBar(),this.onChangeShowSettings(),this.onChangeShowPreview(),this.onChangeTheme()}}(0,o.__decorate)([(0,r.watch)("state.theme")],p.prototype,"onChangeTheme",null),(0,o.__decorate)([(0,r.watch)("state.elements")],p.prototype,"onChangeElements",null),(0,o.__decorate)([(0,r.watch)("state.activeElements")],p.prototype,"onChangeActiveElements",null),(0,o.__decorate)([(0,r.watch)(["state.favorites","state.elements"])],p.prototype,"onChangeFavorites",null),(0,o.__decorate)([(0,r.watch)("state.sources")],p.prototype,"onChangeSources",null),(0,o.__decorate)([(0,r.watch)("state.lastSelectedIndex")],p.prototype,"onChangeLastSelectedIndex",null),(0,o.__decorate)([(0,r.watch)("state.info")],p.prototype,"onChangeInfo",null),(0,o.__decorate)([(0,r.watch)(["state.currentPath","state.currentSource"])],p.prototype,"onChangePathOrSource",null),(0,o.__decorate)([(0,r.watch)("state.showSettings")],p.prototype,"onChangeShowSettings",null),(0,o.__decorate)([(0,r.watch)("state.showPreview")],p.prototype,"onChangeShowPreview",null),(0,o.__decorate)([(0,r.watch)("state.showSideBar")],p.prototype,"onChangeShowSideBar",null),(0,o.__decorate)([(0,r.watch)("state.view")],p.prototype,"onChangeView",null),(0,o.__decorate)([(0,r.watch)("state.tileSize")],p.prototype,"onChangeTileSize",null),(0,o.__decorate)([(0,r.watch)("state.showFavorites")],p.prototype,"onChangeShowFavorites",null),(0,o.__decorate)([(0,r.watch)(":dblclickItem.filebrowser")],p.prototype,"onItemDblClick",null),(0,o.__decorate)([(0,r.watch)(":clickItem.filebrowser")],p.prototype,"onItemClick",null),(0,o.__decorate)([(0,r.watch)(":togglePreview.filebrowser")],p.prototype,"onTogglePreview",null),(0,o.__decorate)([(0,r.watch)(":toggleFavoriteItem")],p.prototype,"onToggleFavoriteItem",null),(0,o.__decorate)([(0,r.watch)(":openFolder")],p.prototype,"onFolderClick",null),p=(0,o.__decorate)([r.component],p)},8358:function(e,t,s){"use strict";s.d(t,{UIPreview:function(){return u}});var i=s(82749),o=s(31635),r=s(65478),n=s(2748),a=s(43555),l=s(38837),h=s(62405),c=s(21130),d=s(54747);class u extends h.UIGroup{className(){return"UIPreview"}addResize(){(0,a.css)(this.container,{width:null,height:null}),d.UIResize.remove(this),d.UIResize.install(this,screen.width>450?"left":"top")}render(){return`<div>
29
+ </div>`}onChangeTheme(){this.setMod("theme",this.stateManager.state.theme)}onChangeElements(){this.items.build(this.stateManager.state.elements),this.__applyCutMods()}onChangeClipboard(){this.__applyCutMods()}__applyCutMods(){let{clipboard:e}=this.state;this.items.elements.forEach(t=>{t.setMod("cut",(0,l.isCutItem)(e,t.item))})}onChangeActiveElements(){this.state.activeElements.length||(this.state.info="",this.state.metaInfo=null),this.items.elements.forEach(e=>{e.setMod("active",!!this.stateManager.isActive(e.item))}),this.j.e.fire("changeSelection")}onChangeFavorites(){this.items.elements.forEach(e=>{e.setMod("favorite",!!this.stateManager.isFavorite(e.item))})}onChangeSources(){this.sources.build(this.stateManager.state.tree)}onChangeLastSelectedIndex(){let e=this.items.elements[this.stateManager.state.lastSelectedIndex]?.container;e&&((0,a.scrollIntoViewIfNeeded)(e,this.items.container,this.j.od),e.focus())}onChangeInfo(){this.statusbar.value(this.state.info,"center")}onChangePathOrSource(){this.statusbar.value(this.state.currentPath?`${this.state.currentPath} (${this.state.currentSource})`:this.i18n("Home"),"left")}onChangeShowSettings(){this.settings.setMod("hidden",!this.stateManager.state.showSettings)}onChangeShowPreview(){this.preview.setMod("hidden",!this.stateManager.state.showPreview)}onChangeShowSideBar(){this.sidebar.setMod("hidden",!this.stateManager.state.showSideBar)}onChangeView(){this.items.setMod("view",this.stateManager.state.view)}onChangeTileSize(){this.items.setMod("size",this.stateManager.state.tileSize)}onChangeShowFavorites(){this.sidebar.setMod("show-favorites",this.stateManager.state.showFavorites),this.items.setMod("show-favorites",this.stateManager.state.showFavorites)}onItemDblClick(){return this.j.e.fire("select.filebrowser"),!1}onItemClick(e,t){this.stateManager.addActive(e,t)}onTogglePreview(){return this.state.showPreview=!this.state.showPreview,!1}onToggleFavoriteItem(e){this.stateManager.toggleFavorite(e)}onFolderClick(e){this.stateManager.state.currentSource=e.sourceName,this.stateManager.state.currentPath=e.path||"/",this.j.e.fire("afterOpenFolder.filebrowser")}constructor(e,t){super(e),(0,i._)(this,"stateManager",void 0),(0,i._)(this,"syncMod",void 0),(0,i._)(this,"state",void 0),(0,i._)(this,"sources",void 0),(0,i._)(this,"sidebar",void 0),(0,i._)(this,"preview",void 0),(0,i._)(this,"statusbar",void 0),(0,i._)(this,"items",void 0),(0,i._)(this,"settings",void 0),this.stateManager=t,this.syncMod=!0,this.sources=new u.UIBrowserSources(this.j),this.sidebar=new d.UISidebar(this.jodit,[this.sources],this.stateManager.state),this.preview=new h.UIPreview(this.jodit,this.stateManager.state),this.statusbar=new m.UIBrowserStatusBar(this.j),this.items=new p.UIVirtualScroll(this.j,this.stateManager),this.settings=new c.UIBrowserSettings(this.jodit,this.stateManager.state),this.state=t.state,this.append(this.sidebar,"content"),this.append(this.items,"content"),this.append(this.settings,"content"),this.append(this.preview,"content"),this.append(this.statusbar,"footer"),this.onChangeElements(),this.onChangeSources(),this.onChangeView(),this.onChangeTileSize(),this.onChangeShowFavorites(),this.onChangeActiveElements(),this.onChangeFavorites(),this.onChangeShowSideBar(),this.onChangeShowSettings(),this.onChangeShowPreview(),this.onChangeTheme()}}(0,o.__decorate)([(0,r.watch)("state.theme")],f.prototype,"onChangeTheme",null),(0,o.__decorate)([(0,r.watch)("state.elements")],f.prototype,"onChangeElements",null),(0,o.__decorate)([(0,r.watch)("state.clipboard")],f.prototype,"onChangeClipboard",null),(0,o.__decorate)([(0,r.watch)("state.activeElements")],f.prototype,"onChangeActiveElements",null),(0,o.__decorate)([(0,r.watch)(["state.favorites","state.elements"])],f.prototype,"onChangeFavorites",null),(0,o.__decorate)([(0,r.watch)("state.sources")],f.prototype,"onChangeSources",null),(0,o.__decorate)([(0,r.watch)("state.lastSelectedIndex")],f.prototype,"onChangeLastSelectedIndex",null),(0,o.__decorate)([(0,r.watch)("state.info")],f.prototype,"onChangeInfo",null),(0,o.__decorate)([(0,r.watch)(["state.currentPath","state.currentSource"])],f.prototype,"onChangePathOrSource",null),(0,o.__decorate)([(0,r.watch)("state.showSettings")],f.prototype,"onChangeShowSettings",null),(0,o.__decorate)([(0,r.watch)("state.showPreview")],f.prototype,"onChangeShowPreview",null),(0,o.__decorate)([(0,r.watch)("state.showSideBar")],f.prototype,"onChangeShowSideBar",null),(0,o.__decorate)([(0,r.watch)("state.view")],f.prototype,"onChangeView",null),(0,o.__decorate)([(0,r.watch)("state.tileSize")],f.prototype,"onChangeTileSize",null),(0,o.__decorate)([(0,r.watch)("state.showFavorites")],f.prototype,"onChangeShowFavorites",null),(0,o.__decorate)([(0,r.watch)(":dblclickItem.filebrowser")],f.prototype,"onItemDblClick",null),(0,o.__decorate)([(0,r.watch)(":clickItem.filebrowser")],f.prototype,"onItemClick",null),(0,o.__decorate)([(0,r.watch)(":togglePreview.filebrowser")],f.prototype,"onTogglePreview",null),(0,o.__decorate)([(0,r.watch)(":toggleFavoriteItem")],f.prototype,"onToggleFavoriteItem",null),(0,o.__decorate)([(0,r.watch)(":openFolder")],f.prototype,"onFolderClick",null),f=(0,o.__decorate)([r.component],f)},8358:function(e,t,s){"use strict";s.d(t,{UIPreview:function(){return u}});var i=s(82749),o=s(31635),r=s(65478),a=s(2748),n=s(43555),l=s(38837),h=s(62405),c=s(21130),d=s(54747);class u extends h.UIGroup{className(){return"UIPreview"}addResize(){(0,n.css)(this.container,{width:null,height:null}),d.UIResize.remove(this),d.UIResize.install(this,screen.width>450?"left":"top")}render(){return`<div>
30
30
  <div class="&__image"></div>
31
31
  <div class="&__info"></div>
32
32
  <div class="&__loader"></div>
33
33
  <div class="&__empty-message">~Select image~</div>
34
- </div>`}afterSetMod(e,t){"hidden"===e&&!1===t&&this.onChangeMetaInfo(),super.afterSetMod(e,t)}onChangeMetaInfo(){if(this.getMod("hidden"))return;let{metaInfo:e}=this.state;this.setMod("empty",!e);let t=this.getElm("info");(0,l.assert)(null!=t,"info element does not exists"),n.Dom.detach(t);let s=this.getElm("image");(0,l.assert)(null!=s,"image element does not exists"),(0,a.css)(s,{backgroundImage:null}),e&&(this.setMod("is-file",!1===e.isImage).setMod("type",e.type??"file"),c.UIBrowserItem.prototype.setElementValue.call(this,"name",e.file),c.UIBrowserItem.prototype.setElementValue.call(this,"time",e.time),c.UIBrowserItem.prototype.setElementValue.call(this,"filesize",e.size),this.setMod("loading",!0),this.lastLoadPromise?.rejectCallback(),this.lastLoadPromise=(0,a.loadImage)(e.isImage?e.fileURL:e.imageURL,this.j),this.lastLoadPromise.then(e=>{let t=this.getElm("image");(0,l.assert)(null!=t,"image element does not exist"),e&&(0,a.css)(t,{backgroundImage:`url(${e.src})`})}).finally(()=>{this.setMod("loading",!1)}).catch(()=>{}))}constructor(e,t){super(e),(0,i._)(this,"state",void 0),(0,i._)(this,"lastLoadPromise",void 0),this.state=t,this.lastLoadPromise=null,this.onChangeMetaInfo()}}(0,o.__decorate)([(0,r.hook)("ready"),(0,r.watch)(":resize",{context:window}),(0,r.debounce)()],u.prototype,"addResize",null),(0,o.__decorate)([(0,r.watch)("state.metaInfo")],u.prototype,"onChangeMetaInfo",null),u=(0,o.__decorate)([r.component],u)},95002:function(e,t,s){"use strict";s.d(t,{UIProgress:function(){return a}});var i=s(82749),o=s(31635),r=s(65478),n=s(23769);class a extends n.ProgressBar{className(){return"UIProgress"}onProgress(){this.state.progress?this.show():this.hide(),this.progress(this.state.progress)}hide(){return this.setMod("hidden",!0),this}progress(e){return this.container.style.width=e.toFixed(2)+"%",e>=98&&this.j.async.setTimeout(()=>{this.hide()},{label:"progress",timeout:300}),this}show(){return this.setMod("hidden",!1),this}constructor(e,t){super(e),(0,i._)(this,"state",void 0),this.state=t,this.onProgress()}}(0,o.__decorate)([(0,r.watch)("state.progress")],a.prototype,"onProgress",null),a=(0,o.__decorate)([r.component],a)},60062:function(e,t,s){"use strict";s.d(t,{UIBrowserSettings:function(){return l}});var i=s(82749),o=s(31635),r=s(65478),n=s(38837),a=s(67510);class l extends a.UIGroup{className(){return"UIBrowserSettings"}render(){return`<div>
35
- <div class="${this.getFullElName("close")}">${a.Icon.get("cancel")}</div>
34
+ </div>`}afterSetMod(e,t){"hidden"===e&&!1===t&&this.onChangeMetaInfo(),super.afterSetMod(e,t)}onChangeMetaInfo(){if(this.getMod("hidden"))return;let{metaInfo:e}=this.state;this.setMod("empty",!e);let t=this.getElm("info");(0,l.assert)(null!=t,"info element does not exists"),a.Dom.detach(t);let s=this.getElm("image");(0,l.assert)(null!=s,"image element does not exists"),(0,n.css)(s,{backgroundImage:null}),e&&(this.setMod("is-file",!1===e.isImage).setMod("type",e.type??"file"),c.UIBrowserItem.prototype.setElementValue.call(this,"name",e.file),c.UIBrowserItem.prototype.setElementValue.call(this,"time",e.time),c.UIBrowserItem.prototype.setElementValue.call(this,"filesize",e.size),this.setMod("loading",!0),this.lastLoadPromise?.rejectCallback(),this.lastLoadPromise=(0,n.loadImage)(e.isImage?e.fileURL:e.imageURL,this.j),this.lastLoadPromise.then(e=>{let t=this.getElm("image");(0,l.assert)(null!=t,"image element does not exist"),e&&(0,n.css)(t,{backgroundImage:`url(${e.src})`})}).finally(()=>{this.setMod("loading",!1)}).catch(()=>{}))}constructor(e,t){super(e),(0,i._)(this,"state",void 0),(0,i._)(this,"lastLoadPromise",void 0),this.state=t,this.lastLoadPromise=null,this.onChangeMetaInfo()}}(0,o.__decorate)([(0,r.hook)("ready"),(0,r.watch)(":resize",{context:window}),(0,r.debounce)()],u.prototype,"addResize",null),(0,o.__decorate)([(0,r.watch)("state.metaInfo")],u.prototype,"onChangeMetaInfo",null),u=(0,o.__decorate)([r.component],u)},95002:function(e,t,s){"use strict";s.d(t,{UIProgress:function(){return n}});var i=s(82749),o=s(31635),r=s(65478),a=s(23769);class n extends a.ProgressBar{className(){return"UIProgress"}onProgress(){this.state.progress?this.show():this.hide(),this.progress(this.state.progress)}hide(){return this.setMod("hidden",!0),this}progress(e){return this.container.style.width=e.toFixed(2)+"%",e>=98&&this.j.async.setTimeout(()=>{this.hide()},{label:"progress",timeout:300}),this}show(){return this.setMod("hidden",!1),this}constructor(e,t){super(e),(0,i._)(this,"state",void 0),this.state=t,this.onProgress()}}(0,o.__decorate)([(0,r.watch)("state.progress")],n.prototype,"onProgress",null),n=(0,o.__decorate)([r.component],n)},60062:function(e,t,s){"use strict";s.d(t,{UIBrowserSettings:function(){return l}});var i=s(82749),o=s(31635),r=s(65478),a=s(38837),n=s(67510);class l extends n.UIGroup{className(){return"UIBrowserSettings"}render(){return`<div>
35
+ <div class="${this.getFullElName("close")}">${n.Icon.get("cancel")}</div>
36
36
  <div class="${this.getFullElName("title")}">~Settings~</div>
37
37
  <div class="${this.getFullElName("options")}"></div>
38
- </div>`}appendChildToContainer(e){let t=this.getElm("options");(0,n.assert)(null!=t,"options element does not exists"),t.appendChild(e)}afterSetMod(e,t){"hidden"===e&&!1===t&&this.generateSettings(),super.afterSetMod(e,t)}onChangeView(){let e=this.getElm("tile-size");e&&(e.style.display="tiles"===this.state.view?"block":"none")}generateSettings(){this.clear();let{j:e}=this;this.append([new a.UIButtonGroup(e,{label:"Theme",name:"theme",value:this.state.theme,radio:!0,options:[{value:"default",text:"Light"},{value:"dark",text:"Dark"}],onChange:e=>{if("default"!==this.state.theme&&"dark"!==this.state.theme){this.state.theme="default";return}this.state.theme=e[0].value}}),new a.UIButtonGroup(e,{label:"Show favorites",name:"showFavorites",value:this.state.showFavorites,radio:!0,options:[{value:!0,text:"Show"},{value:!1,text:"Hide"}],onChange:e=>{this.state.showFavorites=e[0].value}}),new a.UIButtonGroup(e,{label:"View",name:"view",value:this.state.view,radio:!0,options:[{value:"tiles",text:"Tiles"},{value:"list",text:"List"},{value:"compact",text:"Compact"}],onChange:e=>{this.state.view=e[0].value}}),new a.UIButtonGroup(e,{label:"Folders position",name:"foldersPosition",value:this.state.foldersPosition,radio:!0,options:[{value:"top",text:"Top"},{value:"bottom",text:"Bottom"},{value:"default",text:"Default"}],onChange:e=>{this.state.foldersPosition=e[0].value}}),new a.UISelect(e,{label:"Sort by",name:"sort-by",value:this.state.sortBy,options:[{value:"changed-asc",text:e.i18n("Sort by changed")+"(⬆)"},{value:"changed-desc",text:e.i18n("Sort by changed")+"(⬇)"},{value:"name-asc",text:e.i18n("Sort by name")+"(⬆)"},{value:"name-desc",text:e.i18n("Sort by name")+"(⬇)"},{value:"size-asc",text:e.i18n("Sort by size")+"(⬆)"},{value:"size-desc",text:e.i18n("Sort by size")+"(⬇)"}],onChange:e=>{this.state.sortBy=e}}),new a.UISelect(e,{label:"Tile size",name:"tile-size",value:this.state.tileSize,options:[{value:"xsmall",text:"Extra small"},{value:"small",text:"Small"},{value:"default",text:"Default"},{value:"large",text:"Large"},{value:"xlarge",text:"Extra large"}],onChange:e=>{this.state.tileSize=e}})]),this.onChangeView()}constructor(e,t){super(e),(0,i._)(this,"state",void 0),this.state=t;const s=this.getElm("close");(0,n.assert)(null!=s,"close element does not exists"),e.e.on(s,"click",()=>{this.state.showSettings=!1})}}(0,o.__decorate)([(0,r.watch)("state.view")],l.prototype,"onChangeView",null),l=(0,o.__decorate)([r.component],l)},70950:function(e,t,s){"use strict";s.d(t,{UISidebar:function(){return c}});var i=s(82749),o=s(31635),r=s(65478),n=s(38837),a=s(41180),l=s(62405),h=s(54747);class c extends l.UIGroup{className(){return"UISidebar"}render(){return`<div>
38
+ </div>`}appendChildToContainer(e){let t=this.getElm("options");(0,a.assert)(null!=t,"options element does not exists"),t.appendChild(e)}afterSetMod(e,t){"hidden"===e&&!1===t&&this.generateSettings(),super.afterSetMod(e,t)}onChangeView(){let e=this.getElm("tile-size");e&&(e.style.display="tiles"===this.state.view?"block":"none")}generateSettings(){this.clear();let{j:e}=this;this.append([new n.UIButtonGroup(e,{label:"Theme",name:"theme",value:this.state.theme,radio:!0,options:[{value:"default",text:"Light"},{value:"dark",text:"Dark"}],onChange:e=>{if("default"!==this.state.theme&&"dark"!==this.state.theme){this.state.theme="default";return}this.state.theme=e[0].value}}),new n.UIButtonGroup(e,{label:"Show favorites",name:"showFavorites",value:this.state.showFavorites,radio:!0,options:[{value:!0,text:"Show"},{value:!1,text:"Hide"}],onChange:e=>{this.state.showFavorites=e[0].value}}),new n.UIButtonGroup(e,{label:"View",name:"view",value:this.state.view,radio:!0,options:[{value:"tiles",text:"Tiles"},{value:"list",text:"List"},{value:"compact",text:"Compact"}],onChange:e=>{this.state.view=e[0].value}}),new n.UIButtonGroup(e,{label:"Folders position",name:"foldersPosition",value:this.state.foldersPosition,radio:!0,options:[{value:"top",text:"Top"},{value:"bottom",text:"Bottom"},{value:"default",text:"Default"}],onChange:e=>{this.state.foldersPosition=e[0].value}}),new n.UISelect(e,{label:"Sort by",name:"sort-by",value:this.state.sortBy,options:[{value:"changed-asc",text:e.i18n("Sort by changed")+"(⬆)"},{value:"changed-desc",text:e.i18n("Sort by changed")+"(⬇)"},{value:"name-asc",text:e.i18n("Sort by name")+"(⬆)"},{value:"name-desc",text:e.i18n("Sort by name")+"(⬇)"},{value:"size-asc",text:e.i18n("Sort by size")+"(⬆)"},{value:"size-desc",text:e.i18n("Sort by size")+"(⬇)"}],onChange:e=>{this.state.sortBy=e}}),new n.UISelect(e,{label:"Tile size",name:"tile-size",value:this.state.tileSize,options:[{value:"xsmall",text:"Extra small"},{value:"small",text:"Small"},{value:"default",text:"Default"},{value:"large",text:"Large"},{value:"xlarge",text:"Extra large"}],onChange:e=>{this.state.tileSize=e}})]),this.onChangeView()}constructor(e,t){super(e),(0,i._)(this,"state",void 0),this.state=t;const s=this.getElm("close");(0,a.assert)(null!=s,"close element does not exists"),e.e.on(s,"click",()=>{this.state.showSettings=!1})}}(0,o.__decorate)([(0,r.watch)("state.view")],l.prototype,"onChangeView",null),l=(0,o.__decorate)([r.component],l)},70950:function(e,t,s){"use strict";s.d(t,{UISidebar:function(){return c}});var i=s(82749),o=s(31635),r=s(65478),a=s(38837),n=s(41180),l=s(62405),h=s(54747);class c extends l.UIGroup{className(){return"UISidebar"}render(){return`<div>
39
39
  <div class='&__hide-btn'>*angle-left*</div>
40
40
  <div class='&__favorites'>*heart* ~Favorites~</div>
41
41
  <div class='&__box'></div>
42
- </div>`}appendChildToContainer(e){let t=this.getElm("box");(0,n.assert)(null!=t,"box element does not exists"),t.appendChild(e)}addResize(){(0,a.css)(this.container,{width:null,height:null}),h.UIResize.remove(this),h.UIResize.install(this,screen.width>450?"right":"bottom")}onChangeFavorites(){this.setMod("has-favorites",!!this.state.favorites.length)}onClickHideButton(){return this.state.showSideBar=!this.state.showSideBar,!1}onClickFavorites(){return this.state.elements=this.state.favorites,!1}constructor(e,t,s){super(e,t),(0,i._)(this,"state",void 0),this.state=s,this.onChangeFavorites()}}(0,o.__decorate)([(0,r.hook)("ready"),(0,r.watch)(":resize",{context:window}),(0,r.debounce)()],c.prototype,"addResize",null),(0,o.__decorate)([(0,r.watch)("state.favorites")],c.prototype,"onChangeFavorites",null),(0,o.__decorate)([(0,r.watch)("hide-btn:click")],c.prototype,"onClickHideButton",null),(0,o.__decorate)([(0,r.watch)("favorites:click")],c.prototype,"onClickFavorites",null),c=(0,o.__decorate)([r.component],c)},41950:function(e,t,s){"use strict";s.d(t,{UIBrowserSource:function(){return h}});var i=s(82749),o=s(31635),r=s(87325),n=s(38837),a=s(48538),l=s(36704);class h extends a.UIElement{className(){return"UIBrowserSource"}render(){return`<div>
42
+ </div>`}appendChildToContainer(e){let t=this.getElm("box");(0,a.assert)(null!=t,"box element does not exists"),t.appendChild(e)}addResize(){(0,n.css)(this.container,{width:null,height:null}),h.UIResize.remove(this),h.UIResize.install(this,screen.width>450?"right":"bottom")}onChangeFavorites(){this.setMod("has-favorites",!!this.state.favorites.length)}onClickHideButton(){return this.state.showSideBar=!this.state.showSideBar,!1}onClickFavorites(){return this.state.elements=this.state.favorites,!1}constructor(e,t,s){super(e,t),(0,i._)(this,"state",void 0),this.state=s,this.onChangeFavorites()}}(0,o.__decorate)([(0,r.hook)("ready"),(0,r.watch)(":resize",{context:window}),(0,r.debounce)()],c.prototype,"addResize",null),(0,o.__decorate)([(0,r.watch)("state.favorites")],c.prototype,"onChangeFavorites",null),(0,o.__decorate)([(0,r.watch)("hide-btn:click")],c.prototype,"onClickHideButton",null),(0,o.__decorate)([(0,r.watch)("favorites:click")],c.prototype,"onClickFavorites",null),c=(0,o.__decorate)([r.component],c)},41950:function(e,t,s){"use strict";s.d(t,{UIBrowserSource:function(){return h}});var i=s(82749),o=s(31635),r=s(87325),a=s(38837),n=s(48538),l=s(36704);class h extends n.UIElement{className(){return"UIBrowserSource"}render(){return`<div>
43
43
  <div class="&__name"></div>
44
44
  <div class="&__tree"></div>
45
- </div>`}constructor(e,t){super(e,t),(0,i._)(this,"data",void 0),(0,i._)(this,"tree",void 0),(0,i._)(this,"syncMod",void 0),this.data=t,this.tree=new l.UITree(this.j,this.data.children),this.syncMod=!0;const s=this.getElm("name");(0,n.assert)(null!=s,"name element does not exists"),s.innerText=t.title||t.name;const o=this.getElm("tree");(0,n.assert)(null!=o,"tree element does not exists"),o.appendChild(this.tree.container),e.e.on(this.container,"contextmenu",s=>e.e.fire("contextmenuSource.filebrowser",t,s))}}h=(0,o.__decorate)([r.component],h)},59198:function(e,t,s){"use strict";s.d(t,{UIBrowserSources:function(){return l}});var i=s(82749),o=s(31635),r=s(65478),n=s(67510),a=s(41950);class l extends n.UIGroup{className(){return"UIBrowserSources"}build(e){this.clear(),e.forEach(e=>{this.append(new a.UIBrowserSource(this.jodit,e))})}constructor(...e){super(...e),(0,i._)(this,"syncMod",!0)}}l=(0,o.__decorate)([r.component],l)},17234:function(e,t,s){"use strict";s.d(t,{UIBrowserStatusBar:function(){return a}});var i=s(31635),o=s(65478),r=s(38837),n=s(67510);class a extends n.UIElement{className(){return"UIBrowserStatusBar"}render(){return`<div>
45
+ </div>`}constructor(e,t){super(e,t),(0,i._)(this,"data",void 0),(0,i._)(this,"tree",void 0),(0,i._)(this,"syncMod",void 0),this.data=t,this.tree=new l.UITree(this.j,this.data.children),this.syncMod=!0;const s=this.getElm("name");(0,a.assert)(null!=s,"name element does not exists"),s.innerText=t.title||t.name;const o=this.getElm("tree");(0,a.assert)(null!=o,"tree element does not exists"),o.appendChild(this.tree.container),e.e.on(this.container,"contextmenu",s=>e.e.fire("contextmenuSource.filebrowser",t,s))}}h=(0,o.__decorate)([r.component],h)},59198:function(e,t,s){"use strict";s.d(t,{UIBrowserSources:function(){return l}});var i=s(82749),o=s(31635),r=s(65478),a=s(67510),n=s(41950);class l extends a.UIGroup{className(){return"UIBrowserSources"}build(e){this.clear(),e.forEach(e=>{this.append(new n.UIBrowserSource(this.jodit,e))})}constructor(...e){super(...e),(0,i._)(this,"syncMod",!0)}}l=(0,o.__decorate)([r.component],l)},17234:function(e,t,s){"use strict";s.d(t,{UIBrowserStatusBar:function(){return n}});var i=s(31635),o=s(65478),r=s(38837),a=s(67510);class n extends a.UIElement{className(){return"UIBrowserStatusBar"}render(){return`<div>
46
46
  <div class='&__slot-left'></div>
47
47
  <div class='&__slot-center'></div>
48
48
  <div class='&__slot-right'></div>
49
- </div>`}value(e,t="left"){let s=this.getElm("slot-"+t);return(0,r.assert)(null!=s,"Slot does not exists"),s.innerText=e,this}}a=(0,i.__decorate)([o.component],a)},36704:function(e,t,s){"use strict";s.d(t,{UITree:function(){return l}});var i=s(82749),o=s(31635),r=s(87325),n=s(62405),a=s(43692);class l extends n.UIGroup{className(){return"UITree"}build(e){this.clear(),e.forEach(e=>{let t=new a.UIBrowserFolder(this.jodit,e);this.append(t),e.isActive&&t.setMod("active",!0),e.children.length&&this.append(new l(this.jodit,e.children))})}constructor(e,t){super(e),(0,i._)(this,"syncMod",!0),this.build(t)}}l=(0,o.__decorate)([r.component],l)},43778:function(e,t,s){"use strict";s.d(t,{UIVirtualScroll:function(){return d}});var i=s(82749),o=s(31635),r=s(65478),n=s(5700),a=s(62405),l=s(159),h=s(21130),c=s(36469);class d extends a.UIGroup{className(){return"UIVirtualScroll"}render(){return`<div>
49
+ </div>`}value(e,t="left"){let s=this.getElm("slot-"+t);return(0,r.assert)(null!=s,"Slot does not exists"),s.innerText=e,this}}n=(0,i.__decorate)([o.component],n)},36704:function(e,t,s){"use strict";s.d(t,{UITree:function(){return l}});var i=s(82749),o=s(31635),r=s(87325),a=s(62405),n=s(43692);class l extends a.UIGroup{className(){return"UITree"}build(e){this.clear(),e.forEach(e=>{let t=new n.UIBrowserFolder(this.jodit,e);this.append(t),e.isActive&&t.setMod("active",!0),e.children.length&&this.append(new l(this.jodit,e.children))})}constructor(e,t){super(e),(0,i._)(this,"syncMod",!0),this.build(t)}}l=(0,o.__decorate)([r.component],l)},43778:function(e,t,s){"use strict";s.d(t,{UIVirtualScroll:function(){return u}});var i=s(82749),o=s(31635),r=s(65478),a=s(2748),n=s(5700),l=s(62405),h=s(159),c=s(21130),d=s(36469);class u extends l.UIGroup{className(){return"UIVirtualScroll"}render(){return`<div>
50
50
  <div class="&__empty-message">~There are no files~</div>
51
51
  <div class='&__loader'></div>
52
52
  <div class='&__drag-area'>~Drop image~</div>
53
- </div>`}reconcile(e){let t=this.elements.findIndex((t,s)=>!e[s]||t.item.uniqueHashKey!==l.FileBrowserItem.create(e[s]).uniqueHashKey);if(t>-1){for(let e=t;e<this.elements.length;e+=1)this.elements[e].destruct();this.elements.length=t}return t}afterSetMod(e,t){super.afterSetMod(e,t),"loading"===e&&(t?this.buildSkeletons():this.clearSkeletons())}buildSkeletons(e=24){if(!this.skeletons.length)for(let t=0;t<e;t+=1){let e=this.j.create.fromHTML('<div class="jodit-ui-browser-item jodit-ui-browser-item_skeleton_true"><div class="jodit-ui-browser-item__image"></div><div class="jodit-ui-browser-item__info"></div></div>');["view","size"].forEach(t=>{let s=this.mods[t];s&&e.classList.add(`jodit-ui-browser-item_${t}_${s}`)}),this.container.appendChild(e),this.skeletons.push(e)}}clearSkeletons(){this.skeletons.forEach(e=>e.remove()),this.skeletons.length=0}build(e){let t=this.reconcile(e);e.slice(t>-1?t:this.elements.length).forEach(e=>{let t=new h.UIBrowserItem(this.jodit,e);Object.keys(this.mods).forEach(e=>{t.setMod(e,this.mods[e])}),this.append(t)}),this.setMod("empty",!this.elements.length)}onScrollLoadChunk(){!this.stateManager.isFavoriteItems&&this.container.scrollHeight-(this.container.scrollTop+this.container.offsetHeight)<this.j.o.pixelOffsetLoadNewChunk&&this.j.loadingManager.loadItemsChunk()}onDragOver(e){e.preventDefault(),this.setMod("dragover",!0)}onDragLeave(e){e.preventDefault(),this.setMod("dragover",!1)}addItemsSelector(){c.UISelectItems.install(this)}static intersectRect(e,t){return!(t.left>e.left+e.width||t.left+t.width<e.left||t.top>e.top+e.height||t.top+t.height<e.top)}onSelectItems(e){let t=[];this.elements.forEach(s=>{let i=(0,n.position)(s.container);d.intersectRect(i,e)&&t.push(s.item)}),this.stateManager.state.activeElements=t}constructor(e,t){super(e),(0,i._)(this,"stateManager",void 0),(0,i._)(this,"syncMod",void 0),(0,i._)(this,"skeletons",void 0),this.stateManager=t,this.syncMod=!0,this.skeletons=[],this.addItemsSelector()}}(0,o.__decorate)([(0,r.watch)(":afterResize"),(0,r.watch)(":resize"),(0,r.watch)("container:scroll"),(0,r.throttle)()],d.prototype,"onScrollLoadChunk",null),(0,o.__decorate)([(0,r.watch)("container:dragover")],d.prototype,"onDragOver",null),(0,o.__decorate)([(0,r.watch)(["container:dragleave","container:drop"])],d.prototype,"onDragLeave",null),d=(0,o.__decorate)([r.component],d)},54747:function(e,t,s){"use strict";s.d(t,{UIResize:function(){return r}});var i=s(2748),o=s(41180);class r{static remove(e){e.container.classList.remove("jodit-ui-resize"),i.Dom.safeRemove(e.container.querySelector(".jodit-ui-resize__handle"))}static install(e,t,s={}){e.container.classList.add("jodit-ui-resize"),"static"===(0,o.css)(e.container,"position")&&(0,o.css)(e.container,"position","relative");let i=e.j.c.div("jodit-ui-resize__handle");i.classList.add("jodit-ui-resize__handle_type_"+t),s.handleClassName&&i.classList.add(s.handleClassName),e.container.appendChild(i),e.j.e.on(i,"mousedown touchstart",this.onStartResize.bind(this,e,t,s.onResize??(()=>void 0)))}static onStartResize(e,t,s,i){let o={x:i.clientX,y:i.clientY,w:e.container.offsetWidth,h:e.container.offsetHeight,direction:t},r=e.j.async.throttle(this.onResize.bind(this,e,o,s),e.j.defaultTimeout/10);e.j.lock(),e.j.e.on(e.j.ow,"mousemove touchmove",r).one(e.j.ow,"mouseup touchend",this.onEndResize.bind(this,e,r))}static onResize(e,t,s,i){let r,n=["left","right"].includes(t.direction),a=e.container.parentElement;a&&(r=n?t.w+(i.clientX-t.x)*("right"===t.direction?1:-1):t.h+(i.clientY-t.y)*("top"===t.direction?-1:1),!0!==s?.({newSize:r})&&(0,o.css)(e.container,n?"width":"height",r/(n?a.offsetWidth:a.offsetHeight)*100+"%"))}static onEndResize(e,t,s){e.j.e.off(e.j.ow,"mousemove touchmove",t),e.j.unlock()}}},36469:function(e,t,s){"use strict";s.d(t,{UISelectItems:function(){return r}});var i=s(2748),o=s(41180);class r{static remove(e){i.Dom.safeRemove(e.container.querySelector(".jodit-ui-select-items")),e.j.e.off(e.container,"mousedown.uiselectitems touchstart.uiselectitems")}static install(e){let t=e.j.c.div("jodit-ui-select-items");e.j.e.on(e.container,"mousedown.uiselectitems touchstart.uiselectitems",this.onStartSelect.bind(this,e,t))}static onStartSelect(e,t,s){if(s.target!==e.container)return;(0,o.css)(t,{width:0,height:0}),e.container.appendChild(t);let i={x:s.clientX,y:s.clientY,w:e.container.offsetWidth,h:e.container.offsetHeight},r=e.j.async.throttle(this.onSelect.bind(this,e,t,i),e.j.defaultTimeout/10);e.j.lock(),e.j.e.on(e.j.ow,"mousemove touchmove",r).one(e.j.ow,"mouseup touchend",this.onEndSelect.bind(this,e,t,r)),e.onSelectItems({left:i.x,top:i.y,width:0,height:0})}static onSelect(e,t,s,i){let r={left:s.x>i.clientX?i.clientX:s.x,top:s.y>i.clientY?i.clientY:s.y,width:Math.abs(s.x-i.clientX),height:Math.abs(s.y-i.clientY)};(0,o.css)(t,r),e.onSelectItems(r)}static onEndSelect(e,t,s,o){i.Dom.safeRemove(t),e.j.e.off(e.j.ow,"mousemove touchmove",s),e.j.unlock()}}}},function(e){return e(e.s=97068)}])});
53
+ </div>`}reconcile(e){let t=this.elements.findIndex((t,s)=>!e[s]||t.item.uniqueHashKey!==h.FileBrowserItem.create(e[s]).uniqueHashKey);if(t>-1){for(let e=t;e<this.elements.length;e+=1)this.elements[e].destruct();this.elements.length=t}return t}afterSetMod(e,t){super.afterSetMod(e,t),"loading"===e&&(t?this.buildSkeletons():this.clearSkeletons())}buildSkeletons(e=24){if(!this.skeletons.length)for(let t=0;t<e;t+=1){let e=this.j.create.fromHTML('<div class="jodit-ui-browser-item jodit-ui-browser-item_skeleton_true"><div class="jodit-ui-browser-item__image"></div><div class="jodit-ui-browser-item__info"></div></div>');["view","size"].forEach(t=>{let s=this.mods[t];s&&e.classList.add(`jodit-ui-browser-item_${t}_${s}`)}),this.container.appendChild(e),this.skeletons.push(e)}}clearSkeletons(){this.skeletons.forEach(e=>e.remove()),this.skeletons.length=0}build(e){let t=this.reconcile(e);e.slice(t>-1?t:this.elements.length).forEach(e=>{let t=new c.UIBrowserItem(this.jodit,e);Object.keys(this.mods).forEach(e=>{t.setMod(e,this.mods[e])}),this.append(t)}),this.setMod("empty",!this.elements.length)}onScrollLoadChunk(){!this.stateManager.isFavoriteItems&&this.container.scrollHeight-(this.container.scrollTop+this.container.offsetHeight)<this.j.o.pixelOffsetLoadNewChunk&&this.j.loadingManager.loadItemsChunk()}onAreaContextMenu(e){let{target:t}=e;if(!(a.Dom.isNode(t)&&this.elements.some(e=>e.container.contains(t))))return this.j.e.fire("contextmenuArea.filebrowser",e),!1}onDragOver(e){e.preventDefault(),this.setMod("dragover",!0)}onDragLeave(e){e.preventDefault(),this.setMod("dragover",!1)}addItemsSelector(){d.UISelectItems.install(this)}static intersectRect(e,t){return!(t.left>e.left+e.width||t.left+t.width<e.left||t.top>e.top+e.height||t.top+t.height<e.top)}onSelectItems(e){let t=[];this.elements.forEach(s=>{let i=(0,n.position)(s.container);u.intersectRect(i,e)&&t.push(s.item)}),this.stateManager.state.activeElements=t}constructor(e,t){super(e),(0,i._)(this,"stateManager",void 0),(0,i._)(this,"syncMod",void 0),(0,i._)(this,"skeletons",void 0),this.stateManager=t,this.syncMod=!0,this.skeletons=[],this.addItemsSelector()}}(0,o.__decorate)([(0,r.watch)(":afterResize"),(0,r.watch)(":resize"),(0,r.watch)("container:scroll"),(0,r.throttle)()],u.prototype,"onScrollLoadChunk",null),(0,o.__decorate)([(0,r.watch)("container:contextmenu")],u.prototype,"onAreaContextMenu",null),(0,o.__decorate)([(0,r.watch)("container:dragover")],u.prototype,"onDragOver",null),(0,o.__decorate)([(0,r.watch)(["container:dragleave","container:drop"])],u.prototype,"onDragLeave",null),u=(0,o.__decorate)([r.component],u)},54747:function(e,t,s){"use strict";s.d(t,{UIResize:function(){return r}});var i=s(2748),o=s(41180);class r{static remove(e){e.container.classList.remove("jodit-ui-resize"),i.Dom.safeRemove(e.container.querySelector(".jodit-ui-resize__handle"))}static install(e,t,s={}){e.container.classList.add("jodit-ui-resize"),"static"===(0,o.css)(e.container,"position")&&(0,o.css)(e.container,"position","relative");let i=e.j.c.div("jodit-ui-resize__handle");i.classList.add("jodit-ui-resize__handle_type_"+t),s.handleClassName&&i.classList.add(s.handleClassName),e.container.appendChild(i),e.j.e.on(i,"mousedown touchstart",this.onStartResize.bind(this,e,t,s.onResize??(()=>void 0)))}static onStartResize(e,t,s,i){let o={x:i.clientX,y:i.clientY,w:e.container.offsetWidth,h:e.container.offsetHeight,direction:t},r=e.j.async.throttle(this.onResize.bind(this,e,o,s),e.j.defaultTimeout/10);e.j.lock(),e.j.e.on(e.j.ow,"mousemove touchmove",r).one(e.j.ow,"mouseup touchend",this.onEndResize.bind(this,e,r))}static onResize(e,t,s,i){let r,a=["left","right"].includes(t.direction),n=e.container.parentElement;n&&(r=a?t.w+(i.clientX-t.x)*("right"===t.direction?1:-1):t.h+(i.clientY-t.y)*("top"===t.direction?-1:1),!0!==s?.({newSize:r})&&(0,o.css)(e.container,a?"width":"height",r/(a?n.offsetWidth:n.offsetHeight)*100+"%"))}static onEndResize(e,t,s){e.j.e.off(e.j.ow,"mousemove touchmove",t),e.j.unlock()}}},36469:function(e,t,s){"use strict";s.d(t,{UISelectItems:function(){return r}});var i=s(2748),o=s(41180);class r{static remove(e){i.Dom.safeRemove(e.container.querySelector(".jodit-ui-select-items")),e.j.e.off(e.container,"mousedown.uiselectitems touchstart.uiselectitems")}static install(e){let t=e.j.c.div("jodit-ui-select-items");e.j.e.on(e.container,"mousedown.uiselectitems touchstart.uiselectitems",this.onStartSelect.bind(this,e,t))}static onStartSelect(e,t,s){if(s.target!==e.container)return;(0,o.css)(t,{width:0,height:0}),e.container.appendChild(t);let i={x:s.clientX,y:s.clientY,w:e.container.offsetWidth,h:e.container.offsetHeight},r=e.j.async.throttle(this.onSelect.bind(this,e,t,i),e.j.defaultTimeout/10);e.j.lock(),e.j.e.on(e.j.ow,"mousemove touchmove",r).one(e.j.ow,"mouseup touchend",this.onEndSelect.bind(this,e,t,r)),e.onSelectItems({left:i.x,top:i.y,width:0,height:0})}static onSelect(e,t,s,i){let r={left:s.x>i.clientX?i.clientX:s.x,top:s.y>i.clientY?i.clientY:s.y,width:Math.abs(s.x-i.clientX),height:Math.abs(s.y-i.clientY)};(0,o.css)(t,r),e.onSelectItems(r)}static onEndSelect(e,t,s,o){i.Dom.safeRemove(t),e.j.e.off(e.j.ow,"mousemove touchmove",s),e.j.unlock()}}}},function(e){return e(e.s=97068)}])});
@@ -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
  */
@@ -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
  */
@@ -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
  */
@@ -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
  */
@@ -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
  */
@@ -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
  */
@@ -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
  */
@@ -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
  */
@@ -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
  */
@@ -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
  */
@@ -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
  */
@@ -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
  */
@@ -116,6 +116,9 @@ return (self["webpackChunkjodit_pro"] = self["webpackChunkjodit_pro"] || []).pus
116
116
  try {
117
117
  const blob = await this.loadImage(url);
118
118
  await editor.fromBlob(blob);
119
+ // The core editor's public contract: listeners (and the finder
120
+ // tests) learn the editor is fully opened only from this event
121
+ view.e.fire('afterImageEditor');
119
122
  } catch (error) {
120
123
  editor?.update({
121
124
  status: 'error',
@@ -292,7 +295,19 @@ return (self["webpackChunkjodit_pro"] = self["webpackChunkjodit_pro"] || []).pus
292
295
  status: 'exporting'
293
296
  });
294
297
  try {
295
- const { w, h } = await this.blobSize(blob);
298
+ const box = await this.blobSize(blob);
299
+ // The core editor's public contract (#820): notify listeners at
300
+ // save time — before the server round-trip — with the action box
301
+ // (and the new file name for "Save as").
302
+ const eventData = {
303
+ action: this.coreSupportsSaved() ? 'saved' : 'resize',
304
+ box
305
+ };
306
+ if (newName !== undefined) {
307
+ this.j.e.fire('afterImageEditorSave', eventData, newName);
308
+ } else {
309
+ this.j.e.fire('afterImageEditorSave', eventData);
310
+ }
296
311
  // 1. Write the edited bytes (overwrite the source, or a new file).
297
312
  const newPath = await this.uploadEdited(url, blob, newName);
298
313
  // 2. The file is already persisted — `action: 'saved'` makes the
@@ -310,17 +325,11 @@ return (self["webpackChunkjodit_pro"] = self["webpackChunkjodit_pro"] || []).pus
310
325
  };
311
326
  save(newName, this.coreSupportsSaved() ? {
312
327
  action: 'saved',
313
- box: {
314
- w,
315
- h
316
- },
328
+ box,
317
329
  newPath: newPath || undefined
318
330
  } : {
319
331
  action: 'resize',
320
- box: {
321
- w,
322
- h
323
- }
332
+ box
324
333
  }, done, (error)=>{
325
334
  cleanup();
326
335
  this.error(error);
@@ -504,7 +513,16 @@ __webpack_require__.r(__webpack_exports__);
504
513
  // duck-compatible classes: callers only ever `new` it and call
505
514
  // `open(url, save)`, but the core's nominal `typeof ImageEditor`
506
515
  // (a private static) makes them structurally unrelated.
507
- jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_4__.JoditPro.modules.ImageEditor = _adapter__WEBPACK_IMPORTED_MODULE_2__.ProImageEditor;
516
+ //
517
+ // The original class stays reachable as `Jodit.modules.ImageEditorCore`
518
+ // — so an integrator (or the core test suite running against the PRO
519
+ // build) can restore the core editor.
520
+ const replacement = _adapter__WEBPACK_IMPORTED_MODULE_2__.ProImageEditor;
521
+ const modules = jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_4__.JoditPro.modules;
522
+ if (!modules.ImageEditorCore && modules.ImageEditor !== replacement) {
523
+ modules.ImageEditorCore = modules.ImageEditor;
524
+ }
525
+ modules.ImageEditor = replacement;
508
526
  }
509
527
  /** @override */ beforeDestruct(_jodit) {}
510
528
  }