jodit 3.12.3 → 3.13.2

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 (513) hide show
  1. package/.idea/stylesheetLinters/stylelint.xml +6 -0
  2. package/.idea/workspace.xml +306 -288
  3. package/CHANGELOG.MD +82 -10
  4. package/README.md +107 -78
  5. package/build/jodit.css +112 -70
  6. package/build/jodit.es2018.css +107 -64
  7. package/build/jodit.es2018.en.css +107 -64
  8. package/build/jodit.es2018.en.js +1065 -892
  9. package/build/jodit.es2018.en.min.css +1 -1
  10. package/build/jodit.es2018.en.min.js +1 -1
  11. package/build/jodit.es2018.js +1101 -928
  12. package/build/jodit.es2018.min.css +1 -1
  13. package/build/jodit.es2018.min.js +1 -1
  14. package/build/jodit.js +4886 -2306
  15. package/build/jodit.min.css +2 -2
  16. package/build/jodit.min.js +1 -1
  17. package/index.html +1 -0
  18. package/package.json +35 -35
  19. package/src/config.ts +18 -0
  20. package/src/core/async/async.ts +2 -2
  21. package/src/core/component/README.md +2 -2
  22. package/src/core/component/component.ts +16 -6
  23. package/src/core/component/view-component.ts +1 -1
  24. package/src/core/constants.ts +45 -1
  25. package/src/core/create/create.ts +4 -4
  26. package/src/core/decorators/cache/cache.ts +2 -2
  27. package/src/core/decorators/component/component.ts +1 -1
  28. package/src/core/decorators/debounce/debounce.ts +4 -4
  29. package/src/core/decorators/hook/hook.ts +4 -4
  30. package/src/core/decorators/idle/idle.ts +3 -3
  31. package/src/core/decorators/persistent/persistent.ts +3 -3
  32. package/src/core/decorators/wait/wait.ts +3 -3
  33. package/src/core/decorators/watch/watch.ts +48 -45
  34. package/src/core/dom/README.md +2 -0
  35. package/src/core/dom/dom.ts +5 -5
  36. package/src/core/event-emitter/event-emitter.ts +5 -5
  37. package/src/core/event-emitter/index.ts +1 -1
  38. package/src/core/event-emitter/observable.ts +192 -0
  39. package/src/core/event-emitter/store.ts +1 -1
  40. package/src/core/global.ts +1 -1
  41. package/src/core/helpers/README.md +31 -1
  42. package/src/core/helpers/checker/is-equal.ts +1 -1
  43. package/src/core/helpers/checker/is-imp-interface.ts +2 -2
  44. package/src/core/helpers/checker/is-jodit-object.ts +1 -1
  45. package/src/core/helpers/checker/is-plain-object.ts +1 -1
  46. package/src/core/helpers/html/apply-styles.ts +2 -2
  47. package/src/core/helpers/html/clean-from-word.ts +3 -3
  48. package/src/core/helpers/html/nl2br.ts +1 -1
  49. package/src/core/helpers/html/strip-tags.ts +5 -5
  50. package/src/core/helpers/normalize/normalize-key-aliases.ts +3 -3
  51. package/src/core/helpers/normalize/normalize-node.ts +2 -2
  52. package/src/core/helpers/size/get-scroll-parent.ts +3 -3
  53. package/src/core/helpers/size/object-size.ts +1 -1
  54. package/src/core/helpers/size/offset.ts +1 -1
  55. package/src/core/helpers/size/position.ts +1 -1
  56. package/src/core/helpers/string/i18n.ts +10 -6
  57. package/src/core/helpers/string/stringify.ts +1 -1
  58. package/src/core/helpers/string/trim.ts +1 -1
  59. package/src/core/helpers/utils/append-script.ts +1 -1
  60. package/src/core/helpers/utils/assert.ts +25 -0
  61. package/src/core/helpers/utils/build-query.ts +1 -1
  62. package/src/core/helpers/utils/config-proto.ts +2 -2
  63. package/src/core/helpers/utils/css.ts +1 -1
  64. package/src/core/helpers/utils/data-bind.ts +2 -2
  65. package/src/core/helpers/utils/get-class-name.ts +1 -1
  66. package/src/core/helpers/utils/get.ts +1 -1
  67. package/src/core/helpers/utils/index.ts +1 -0
  68. package/src/core/helpers/utils/parse-query.ts +1 -1
  69. package/src/core/helpers/utils/selector.ts +8 -9
  70. package/src/core/helpers/utils/set.ts +1 -1
  71. package/src/core/helpers/utils/stack.ts +1 -1
  72. package/src/core/helpers/utils/utils.ts +1 -1
  73. package/src/core/plugin/README.md +13 -0
  74. package/src/core/plugin/plugin-system.ts +58 -17
  75. package/src/core/plugin/plugin.ts +3 -3
  76. package/src/core/request/ajax.ts +3 -3
  77. package/src/core/request/config.ts +3 -3
  78. package/src/core/request/response.ts +1 -1
  79. package/src/core/selection/select.ts +6 -6
  80. package/src/core/selection/style/api/element-has-same-style.ts +3 -3
  81. package/src/core/selection/style/api/extract.ts +3 -3
  82. package/src/core/selection/style/api/finite-state-machine.ts +1 -1
  83. package/src/core/selection/style/api/get-suit-child.ts +2 -2
  84. package/src/core/selection/style/api/get-suit-parent.ts +2 -2
  85. package/src/core/selection/style/api/is-inside-invisible-element.ts +1 -1
  86. package/src/core/selection/style/api/is-normal-node.ts +2 -2
  87. package/src/core/selection/style/api/is-suit-element.ts +3 -3
  88. package/src/core/selection/style/api/toggle/toggle-css.ts +6 -6
  89. package/src/core/selection/style/api/toggle/toggle-ordered-list.ts +2 -2
  90. package/src/core/selection/style/api/toggle-commit-styles.ts +1 -1
  91. package/src/core/selection/style/api/unwrap-children.ts +3 -3
  92. package/src/core/selection/style/api/wrap-and-commit-style.ts +3 -3
  93. package/src/core/selection/style/api/wrap-ordered-list.ts +2 -2
  94. package/src/core/selection/style/api/wrap-unwrapped-text.ts +2 -2
  95. package/src/core/selection/style/apply-style.ts +3 -3
  96. package/src/core/selection/style/commit-style.ts +2 -2
  97. package/src/core/storage/engines/local-storage-provider.ts +1 -5
  98. package/src/core/storage/engines/memory-storage-provider.ts +1 -1
  99. package/src/core/storage/storage.ts +1 -1
  100. package/src/core/traits/elms.ts +6 -7
  101. package/src/core/traits/mods.ts +11 -14
  102. package/src/core/ui/button/button/button.ts +8 -8
  103. package/src/core/ui/button/group/group.ts +6 -3
  104. package/src/core/ui/element.ts +12 -12
  105. package/src/core/ui/form/block/block.ts +4 -4
  106. package/src/core/ui/form/form.ts +4 -5
  107. package/src/core/ui/form/inputs/area/area.ts +3 -3
  108. package/src/core/ui/form/inputs/checkbox/checkbox.ts +5 -5
  109. package/src/core/ui/form/inputs/file/file.ts +4 -4
  110. package/src/core/ui/form/inputs/input/input.ts +8 -8
  111. package/src/core/ui/form/inputs/select/select.ts +8 -5
  112. package/src/core/ui/form/validators/input.ts +2 -2
  113. package/src/core/ui/form/validators/select.ts +2 -2
  114. package/src/core/ui/group/group.ts +8 -6
  115. package/src/core/ui/group/list.less +1 -1
  116. package/src/core/ui/group/list.ts +15 -11
  117. package/src/core/ui/group/separator.ts +3 -4
  118. package/src/core/ui/group/spacer.ts +3 -3
  119. package/src/core/ui/helpers/buttons.ts +2 -2
  120. package/src/core/ui/helpers/get-control-type.ts +3 -3
  121. package/src/core/ui/helpers/get-strong-control-types.ts +4 -4
  122. package/src/core/ui/icon.ts +2 -2
  123. package/src/core/ui/popup/popup.ts +7 -7
  124. package/src/core/ui/progress-bar/progress-bar.ts +2 -2
  125. package/src/core/view/view-with-toolbar.ts +5 -5
  126. package/src/core/view/view.ts +6 -6
  127. package/src/langs/README.md +124 -1
  128. package/src/langs/index.ts +1 -1
  129. package/src/modules/context-menu/context-menu.less +1 -1
  130. package/src/modules/context-menu/context-menu.ts +4 -4
  131. package/src/modules/dialog/alert.ts +3 -3
  132. package/src/modules/dialog/confirm.ts +3 -3
  133. package/src/modules/dialog/dialog.less +5 -0
  134. package/src/modules/dialog/dialog.ts +49 -32
  135. package/src/modules/dialog/prompt.ts +3 -3
  136. package/src/modules/file-browser/builders/context-menu.ts +22 -14
  137. package/src/modules/file-browser/builders/elements-map.ts +31 -0
  138. package/src/modules/file-browser/builders/item.ts +2 -2
  139. package/src/modules/file-browser/config.ts +5 -5
  140. package/src/modules/file-browser/data-provider.ts +5 -5
  141. package/src/modules/file-browser/factories.ts +1 -1
  142. package/src/modules/file-browser/fetch/delete-file.ts +27 -0
  143. package/src/modules/file-browser/fetch/load-items.ts +32 -0
  144. package/src/modules/file-browser/fetch/load-tree.ts +49 -0
  145. package/src/modules/file-browser/file-browser.ts +59 -120
  146. package/src/modules/file-browser/listeners/native-listeners.ts +14 -14
  147. package/src/modules/file-browser/listeners/self-listeners.ts +23 -18
  148. package/src/modules/file-browser/listeners/state-listeners.ts +17 -12
  149. package/src/modules/file-browser/styles/file-browser.less +24 -18
  150. package/src/modules/file-browser/ui/files/files.less +5 -0
  151. package/src/modules/file-browser/ui/files/files.ts +1 -1
  152. package/src/modules/file-browser/ui/tree/tree.less +16 -6
  153. package/src/modules/file-browser/ui/tree/tree.ts +1 -1
  154. package/src/modules/image-editor/image-editor.ts +9 -52
  155. package/src/modules/image-editor/templates/form.ts +4 -4
  156. package/src/modules/observer/command.ts +1 -1
  157. package/src/modules/observer/observer.ts +5 -5
  158. package/src/modules/observer/snapshot.ts +3 -3
  159. package/src/modules/observer/stack.ts +1 -1
  160. package/src/modules/status-bar/status-bar.ts +7 -7
  161. package/src/modules/table/table.ts +8 -8
  162. package/src/modules/toolbar/button/button.less +1 -1
  163. package/src/modules/toolbar/button/button.ts +57 -15
  164. package/src/modules/toolbar/button/content.less +1 -1
  165. package/src/modules/toolbar/button/content.ts +5 -5
  166. package/src/modules/toolbar/collection/collection.less +1 -1
  167. package/src/modules/toolbar/collection/collection.ts +5 -31
  168. package/src/modules/toolbar/collection/editor-collection.ts +5 -9
  169. package/src/modules/toolbar/factory.ts +2 -2
  170. package/src/modules/uploader/uploader.ts +9 -9
  171. package/src/modules/widget/color-picker/color-picker.ts +4 -4
  172. package/src/modules/widget/file-selector/file-selector.ts +4 -4
  173. package/src/modules/widget/tabs/tabs.ts +3 -3
  174. package/src/plugins/about/about.ts +5 -5
  175. package/src/plugins/add-new-line/add-new-line.ts +5 -5
  176. package/src/plugins/bold/bold.ts +3 -3
  177. package/src/plugins/class-span/class-span.ts +5 -5
  178. package/src/plugins/clipboard/clipboard.ts +4 -4
  179. package/src/plugins/clipboard/config.ts +29 -5
  180. package/src/plugins/clipboard/copy-format.ts +4 -4
  181. package/src/plugins/clipboard/drag-and-drop-element.ts +6 -6
  182. package/src/plugins/clipboard/drag-and-drop.ts +7 -7
  183. package/src/plugins/clipboard/paste/CHANGELOG.md +17 -0
  184. package/src/plugins/clipboard/paste/README.md +8 -0
  185. package/src/plugins/clipboard/paste/helpers.ts +5 -5
  186. package/src/plugins/clipboard/paste/paste.ts +24 -20
  187. package/src/plugins/clipboard/paste-storage/paste-storage.ts +6 -6
  188. package/src/plugins/color/color.ts +5 -5
  189. package/src/plugins/error-messages/error-messages.ts +5 -5
  190. package/src/plugins/fix/clean-html.ts +10 -10
  191. package/src/plugins/fix/wrap-text-nodes.ts +5 -5
  192. package/src/plugins/focus/focus.ts +4 -4
  193. package/src/plugins/font/font.ts +5 -5
  194. package/src/plugins/format-block/CHANGELOG.md +16 -0
  195. package/src/plugins/format-block/README.md +40 -0
  196. package/src/plugins/format-block/format-block.ts +8 -5
  197. package/src/plugins/fullsize/fullsize.ts +5 -5
  198. package/src/plugins/iframe/iframe.ts +6 -6
  199. package/src/plugins/image/helpers.ts +1 -1
  200. package/src/plugins/image/image-processor.ts +2 -2
  201. package/src/plugins/image/image-properties/image-properties.ts +12 -9
  202. package/src/plugins/image/image-properties/templates/form.ts +1 -1
  203. package/src/plugins/image/image-properties/templates/main-tab.ts +1 -1
  204. package/src/plugins/image/image-properties/templates/position-tab.ts +1 -1
  205. package/src/plugins/image/image.ts +5 -5
  206. package/src/plugins/indent/indent.ts +6 -6
  207. package/src/plugins/inline-popup/config/config.ts +3 -3
  208. package/src/plugins/inline-popup/config/items/a.ts +1 -1
  209. package/src/plugins/inline-popup/config/items/cells.ts +1 -1
  210. package/src/plugins/inline-popup/config/items/iframe.ts +1 -1
  211. package/src/plugins/inline-popup/config/items/img.ts +1 -1
  212. package/src/plugins/inline-popup/inline-popup.ts +6 -6
  213. package/src/plugins/insert/hr.ts +3 -3
  214. package/src/plugins/justify/justify.ts +4 -4
  215. package/src/plugins/keyboard/backspace/backspace.ts +6 -6
  216. package/src/plugins/keyboard/backspace/cases/check-join-neighbors.ts +3 -3
  217. package/src/plugins/keyboard/backspace/cases/check-join-two-lists.ts +1 -1
  218. package/src/plugins/keyboard/backspace/cases/check-not-collapsed.ts +1 -1
  219. package/src/plugins/keyboard/backspace/cases/check-remove-char.ts +9 -6
  220. package/src/plugins/keyboard/backspace/cases/check-remove-content-not-editable.ts +4 -4
  221. package/src/plugins/keyboard/backspace/cases/check-remove-empty-neighbor.ts +3 -3
  222. package/src/plugins/keyboard/backspace/cases/check-remove-empty-parent.ts +5 -5
  223. package/src/plugins/keyboard/backspace/cases/check-remove-unbreakable-element.ts +1 -1
  224. package/src/plugins/keyboard/backspace/cases/check-table-cell.ts +1 -1
  225. package/src/plugins/keyboard/backspace/cases/check-unwrap-first-list-item.ts +3 -3
  226. package/src/plugins/keyboard/backspace/config.ts +2 -2
  227. package/src/plugins/keyboard/enter.ts +6 -6
  228. package/src/plugins/keyboard/helpers.ts +5 -5
  229. package/src/plugins/keyboard/hotkeys.ts +6 -6
  230. package/src/plugins/keyboard/key-arrow-outside.ts +5 -5
  231. package/src/plugins/limit/limit.ts +7 -7
  232. package/src/plugins/link/link.ts +7 -7
  233. package/src/plugins/link/template.ts +3 -3
  234. package/src/plugins/media/file.ts +4 -4
  235. package/src/plugins/media/media.ts +6 -6
  236. package/src/plugins/media/video/config.ts +6 -6
  237. package/src/plugins/media/video/index.ts +1 -1
  238. package/src/plugins/mobile/mobile.ts +9 -9
  239. package/src/plugins/ordered-list/ordered-list.ts +6 -6
  240. package/src/plugins/placeholder/placeholder.ts +9 -9
  241. package/src/plugins/powered-by-jodit/powered-by-jodit.ts +2 -2
  242. package/src/plugins/print/preview.ts +4 -4
  243. package/src/plugins/print/print.ts +6 -6
  244. package/src/plugins/redo-undo/redo-undo.ts +4 -4
  245. package/src/plugins/resizer/resizer.ts +18 -16
  246. package/src/plugins/search/search.ts +11 -11
  247. package/src/plugins/select/select.ts +6 -6
  248. package/src/plugins/size/config.ts +2 -2
  249. package/src/plugins/size/resize-handler.ts +5 -5
  250. package/src/plugins/size/size.ts +4 -4
  251. package/src/plugins/source/config.ts +5 -5
  252. package/src/plugins/source/editor/engines/ace.ts +1 -1
  253. package/src/plugins/source/editor/engines/area.ts +1 -1
  254. package/src/plugins/source/editor/engines/custom.ts +1 -1
  255. package/src/plugins/source/editor/factory.ts +2 -2
  256. package/src/plugins/source/editor/sourceEditor.ts +1 -1
  257. package/src/plugins/source/source.ts +8 -8
  258. package/src/plugins/stat/stat.ts +6 -6
  259. package/src/plugins/sticky/sticky.ts +6 -6
  260. package/src/plugins/symbols/config.ts +4 -4
  261. package/src/plugins/symbols/symbols.ts +3 -3
  262. package/src/plugins/table/config.ts +5 -5
  263. package/src/plugins/table/resize-cells.ts +4 -4
  264. package/src/plugins/table/select-cells.ts +5 -5
  265. package/src/plugins/table/table-keyboard-navigation.ts +3 -3
  266. package/src/plugins/table/table.ts +1 -1
  267. package/src/plugins/tooltip/tooltip.ts +6 -6
  268. package/src/plugins/xpath/xpath.ts +10 -10
  269. package/src/polyfills.ts +9 -1
  270. package/src/styles/form.less +1 -1
  271. package/src/styles/icons/README.md +151 -1
  272. package/src/types/file-browser.d.ts +1 -10
  273. package/src/types/jodit.d.ts +1 -1
  274. package/src/types/observer.d.ts +1 -2
  275. package/src/types/traits.d.ts +10 -5
  276. package/src/types/types.d.ts +39 -0
  277. package/src/types/ui.d.ts +8 -17
  278. package/tsconfig.json +8 -2
  279. package/types/config.d.ts +16 -0
  280. package/types/core/async/async.d.ts +1 -1
  281. package/types/core/component/component.d.ts +1 -1
  282. package/types/core/component/view-component.d.ts +1 -1
  283. package/types/core/constants.d.ts +42 -1
  284. package/types/core/create/create.d.ts +1 -1
  285. package/types/core/decorators/debounce/debounce.d.ts +1 -1
  286. package/types/core/decorators/hook/hook.d.ts +2 -2
  287. package/types/core/decorators/idle/idle.d.ts +1 -1
  288. package/types/core/decorators/persistent/persistent.d.ts +1 -1
  289. package/types/core/decorators/wait/wait.d.ts +1 -1
  290. package/types/core/decorators/watch/watch.d.ts +1 -1
  291. package/types/core/dom/dom.d.ts +1 -1
  292. package/types/core/event-emitter/event-emitter.d.ts +1 -1
  293. package/types/core/event-emitter/index.d.ts +1 -1
  294. package/types/core/event-emitter/observable.d.ts +45 -0
  295. package/types/core/event-emitter/store.d.ts +1 -1
  296. package/types/core/global.d.ts +1 -1
  297. package/types/core/helpers/checker/is-imp-interface.d.ts +1 -1
  298. package/types/core/helpers/checker/is-jodit-object.d.ts +1 -1
  299. package/types/core/helpers/checker/is-plain-object.d.ts +1 -1
  300. package/types/core/helpers/size/get-scroll-parent.d.ts +1 -1
  301. package/types/core/helpers/size/object-size.d.ts +1 -1
  302. package/types/core/helpers/size/offset.d.ts +1 -1
  303. package/types/core/helpers/size/position.d.ts +1 -1
  304. package/types/core/helpers/string/i18n.d.ts +2 -2
  305. package/types/core/helpers/utils/append-script.d.ts +1 -1
  306. package/types/core/helpers/utils/assert.d.ts +8 -0
  307. package/types/core/helpers/utils/build-query.d.ts +1 -1
  308. package/types/core/helpers/utils/config-proto.d.ts +1 -1
  309. package/types/core/helpers/utils/css.d.ts +1 -1
  310. package/types/core/helpers/utils/data-bind.d.ts +1 -1
  311. package/types/core/helpers/utils/get-class-name.d.ts +1 -1
  312. package/types/core/helpers/utils/get.d.ts +1 -1
  313. package/types/core/helpers/utils/index.d.ts +1 -0
  314. package/types/core/helpers/utils/parse-query.d.ts +1 -1
  315. package/types/core/helpers/utils/selector.d.ts +1 -1
  316. package/types/core/helpers/utils/set.d.ts +1 -1
  317. package/types/core/helpers/utils/stack.d.ts +1 -1
  318. package/types/core/helpers/utils/utils.d.ts +2 -2
  319. package/types/core/plugin/plugin-system.d.ts +3 -2
  320. package/types/core/plugin/plugin.d.ts +1 -1
  321. package/types/core/request/ajax.d.ts +1 -1
  322. package/types/core/request/config.d.ts +2 -2
  323. package/types/core/request/response.d.ts +1 -1
  324. package/types/core/selection/select.d.ts +1 -1
  325. package/types/core/selection/style/api/element-has-same-style.d.ts +1 -1
  326. package/types/core/selection/style/api/extract.d.ts +1 -1
  327. package/types/core/selection/style/api/finite-state-machine.d.ts +1 -1
  328. package/types/core/selection/style/api/get-suit-child.d.ts +1 -1
  329. package/types/core/selection/style/api/get-suit-parent.d.ts +1 -1
  330. package/types/core/selection/style/api/is-normal-node.d.ts +1 -1
  331. package/types/core/selection/style/api/is-suit-element.d.ts +2 -2
  332. package/types/core/selection/style/api/toggle/toggle-css.d.ts +2 -2
  333. package/types/core/selection/style/api/toggle/toggle-ordered-list.d.ts +1 -1
  334. package/types/core/selection/style/api/wrap-and-commit-style.d.ts +1 -1
  335. package/types/core/selection/style/api/wrap-ordered-list.d.ts +1 -1
  336. package/types/core/selection/style/api/wrap-unwrapped-text.d.ts +1 -1
  337. package/types/core/selection/style/apply-style.d.ts +1 -1
  338. package/types/core/selection/style/commit-style.d.ts +1 -1
  339. package/types/core/storage/engines/local-storage-provider.d.ts +1 -1
  340. package/types/core/storage/engines/memory-storage-provider.d.ts +1 -1
  341. package/types/core/storage/storage.d.ts +1 -1
  342. package/types/core/traits/elms.d.ts +3 -3
  343. package/types/core/traits/mods.d.ts +6 -6
  344. package/types/core/ui/button/button/button.d.ts +2 -2
  345. package/types/core/ui/button/group/group.d.ts +1 -1
  346. package/types/core/ui/element.d.ts +7 -7
  347. package/types/core/ui/form/block/block.d.ts +2 -2
  348. package/types/core/ui/form/form.d.ts +2 -2
  349. package/types/core/ui/form/inputs/area/area.d.ts +2 -2
  350. package/types/core/ui/form/inputs/checkbox/checkbox.d.ts +2 -2
  351. package/types/core/ui/form/inputs/file/file.d.ts +2 -2
  352. package/types/core/ui/form/inputs/input/input.d.ts +2 -2
  353. package/types/core/ui/form/inputs/select/select.d.ts +2 -2
  354. package/types/core/ui/form/validators/input.d.ts +1 -1
  355. package/types/core/ui/form/validators/select.d.ts +2 -2
  356. package/types/core/ui/group/group.d.ts +2 -2
  357. package/types/core/ui/group/list.d.ts +2 -2
  358. package/types/core/ui/group/separator.d.ts +1 -2
  359. package/types/core/ui/group/spacer.d.ts +1 -1
  360. package/types/core/ui/helpers/buttons.d.ts +1 -1
  361. package/types/core/ui/helpers/get-control-type.d.ts +1 -1
  362. package/types/core/ui/helpers/get-strong-control-types.d.ts +1 -1
  363. package/types/core/ui/icon.d.ts +1 -1
  364. package/types/core/ui/popup/popup.d.ts +2 -2
  365. package/types/core/ui/progress-bar/progress-bar.d.ts +1 -1
  366. package/types/core/view/view-with-toolbar.d.ts +1 -1
  367. package/types/core/view/view.d.ts +4 -4
  368. package/types/langs/index.d.ts +1 -1
  369. package/types/modules/context-menu/context-menu.d.ts +2 -2
  370. package/types/modules/dialog/confirm.d.ts +1 -1
  371. package/types/modules/dialog/dialog.d.ts +3 -3
  372. package/types/modules/dialog/prompt.d.ts +1 -1
  373. package/types/modules/file-browser/builders/context-menu.d.ts +1 -1
  374. package/types/modules/file-browser/builders/elements-map.d.ts +18 -0
  375. package/types/modules/file-browser/builders/item.d.ts +1 -1
  376. package/types/modules/file-browser/config.d.ts +2 -2
  377. package/types/modules/file-browser/data-provider.d.ts +1 -1
  378. package/types/modules/file-browser/factories.d.ts +1 -1
  379. package/types/modules/file-browser/fetch/delete-file.d.ts +13 -0
  380. package/types/modules/file-browser/fetch/load-items.d.ts +13 -0
  381. package/types/modules/file-browser/fetch/load-tree.d.ts +13 -0
  382. package/types/modules/file-browser/file-browser.d.ts +5 -12
  383. package/types/modules/file-browser/listeners/native-listeners.d.ts +1 -1
  384. package/types/modules/file-browser/listeners/self-listeners.d.ts +1 -1
  385. package/types/modules/file-browser/listeners/state-listeners.d.ts +1 -1
  386. package/types/modules/file-browser/ui/files/files.d.ts +1 -1
  387. package/types/modules/file-browser/ui/tree/tree.d.ts +1 -1
  388. package/types/modules/image-editor/image-editor.d.ts +4 -6
  389. package/types/modules/image-editor/templates/form.d.ts +1 -1
  390. package/types/modules/observer/command.d.ts +1 -1
  391. package/types/modules/observer/observer.d.ts +3 -3
  392. package/types/modules/observer/snapshot.d.ts +2 -2
  393. package/types/modules/observer/stack.d.ts +1 -1
  394. package/types/modules/status-bar/status-bar.d.ts +5 -5
  395. package/types/modules/table/table.d.ts +3 -3
  396. package/types/modules/toolbar/button/button.d.ts +13 -5
  397. package/types/modules/toolbar/button/content.d.ts +2 -2
  398. package/types/modules/toolbar/collection/collection.d.ts +3 -3
  399. package/types/modules/toolbar/collection/editor-collection.d.ts +1 -1
  400. package/types/modules/toolbar/factory.d.ts +1 -1
  401. package/types/modules/uploader/uploader.d.ts +3 -3
  402. package/types/modules/widget/color-picker/color-picker.d.ts +1 -1
  403. package/types/modules/widget/file-selector/file-selector.d.ts +1 -1
  404. package/types/modules/widget/tabs/tabs.d.ts +2 -2
  405. package/types/plugins/about/about.d.ts +1 -1
  406. package/types/plugins/add-new-line/add-new-line.d.ts +3 -3
  407. package/types/plugins/bold/bold.d.ts +1 -1
  408. package/types/plugins/class-span/class-span.d.ts +2 -2
  409. package/types/plugins/clipboard/clipboard.d.ts +2 -2
  410. package/types/plugins/clipboard/config.d.ts +22 -2
  411. package/types/plugins/clipboard/copy-format.d.ts +1 -1
  412. package/types/plugins/clipboard/drag-and-drop-element.d.ts +1 -1
  413. package/types/plugins/clipboard/drag-and-drop.d.ts +1 -1
  414. package/types/plugins/clipboard/paste/helpers.d.ts +2 -2
  415. package/types/plugins/clipboard/paste/paste.d.ts +6 -10
  416. package/types/plugins/clipboard/paste-storage/paste-storage.d.ts +1 -1
  417. package/types/plugins/color/color.d.ts +1 -1
  418. package/types/plugins/error-messages/error-messages.d.ts +2 -2
  419. package/types/plugins/fix/clean-html.d.ts +3 -3
  420. package/types/plugins/fix/wrap-text-nodes.d.ts +2 -2
  421. package/types/plugins/focus/focus.d.ts +2 -2
  422. package/types/plugins/font/font.d.ts +2 -2
  423. package/types/plugins/format-block/format-block.d.ts +3 -1
  424. package/types/plugins/fullsize/fullsize.d.ts +2 -2
  425. package/types/plugins/iframe/iframe.d.ts +2 -2
  426. package/types/plugins/image/image-processor.d.ts +1 -1
  427. package/types/plugins/image/image-properties/image-properties.d.ts +2 -2
  428. package/types/plugins/image/image-properties/templates/form.d.ts +1 -1
  429. package/types/plugins/image/image-properties/templates/main-tab.d.ts +1 -1
  430. package/types/plugins/image/image-properties/templates/position-tab.d.ts +1 -1
  431. package/types/plugins/image/image.d.ts +1 -1
  432. package/types/plugins/indent/indent.d.ts +2 -2
  433. package/types/plugins/inline-popup/config/config.d.ts +2 -2
  434. package/types/plugins/inline-popup/inline-popup.d.ts +2 -2
  435. package/types/plugins/insert/hr.d.ts +1 -1
  436. package/types/plugins/justify/justify.d.ts +1 -1
  437. package/types/plugins/keyboard/backspace/backspace.d.ts +2 -2
  438. package/types/plugins/keyboard/backspace/cases/check-join-neighbors.d.ts +1 -1
  439. package/types/plugins/keyboard/backspace/cases/check-join-two-lists.d.ts +1 -1
  440. package/types/plugins/keyboard/backspace/cases/check-not-collapsed.d.ts +1 -1
  441. package/types/plugins/keyboard/backspace/cases/check-remove-char.d.ts +2 -2
  442. package/types/plugins/keyboard/backspace/cases/check-remove-content-not-editable.d.ts +1 -1
  443. package/types/plugins/keyboard/backspace/cases/check-remove-empty-neighbor.d.ts +1 -1
  444. package/types/plugins/keyboard/backspace/cases/check-remove-empty-parent.d.ts +1 -1
  445. package/types/plugins/keyboard/backspace/cases/check-remove-unbreakable-element.d.ts +1 -1
  446. package/types/plugins/keyboard/backspace/cases/check-table-cell.d.ts +1 -1
  447. package/types/plugins/keyboard/backspace/cases/check-unwrap-first-list-item.d.ts +1 -1
  448. package/types/plugins/keyboard/backspace/config.d.ts +1 -1
  449. package/types/plugins/keyboard/enter.d.ts +2 -2
  450. package/types/plugins/keyboard/helpers.d.ts +1 -1
  451. package/types/plugins/keyboard/hotkeys.d.ts +3 -3
  452. package/types/plugins/keyboard/key-arrow-outside.d.ts +2 -2
  453. package/types/plugins/limit/limit.d.ts +3 -3
  454. package/types/plugins/link/link.d.ts +3 -3
  455. package/types/plugins/link/template.d.ts +1 -1
  456. package/types/plugins/media/file.d.ts +1 -1
  457. package/types/plugins/media/media.d.ts +2 -2
  458. package/types/plugins/media/video/index.d.ts +1 -1
  459. package/types/plugins/mobile/mobile.d.ts +2 -2
  460. package/types/plugins/ordered-list/ordered-list.d.ts +2 -2
  461. package/types/plugins/placeholder/placeholder.d.ts +3 -3
  462. package/types/plugins/powered-by-jodit/powered-by-jodit.d.ts +2 -2
  463. package/types/plugins/print/preview.d.ts +1 -1
  464. package/types/plugins/print/print.d.ts +1 -1
  465. package/types/plugins/redo-undo/redo-undo.d.ts +2 -2
  466. package/types/plugins/resizer/resizer.d.ts +4 -4
  467. package/types/plugins/search/search.d.ts +3 -3
  468. package/types/plugins/select/select.d.ts +2 -2
  469. package/types/plugins/size/config.d.ts +1 -1
  470. package/types/plugins/size/resize-handler.d.ts +2 -2
  471. package/types/plugins/size/size.d.ts +2 -2
  472. package/types/plugins/source/config.d.ts +2 -2
  473. package/types/plugins/source/editor/engines/ace.d.ts +1 -1
  474. package/types/plugins/source/editor/engines/area.d.ts +1 -1
  475. package/types/plugins/source/editor/factory.d.ts +1 -1
  476. package/types/plugins/source/editor/sourceEditor.d.ts +1 -1
  477. package/types/plugins/source/source.d.ts +2 -2
  478. package/types/plugins/stat/stat.d.ts +2 -2
  479. package/types/plugins/sticky/sticky.d.ts +2 -2
  480. package/types/plugins/symbols/config.d.ts +1 -1
  481. package/types/plugins/symbols/symbols.d.ts +1 -1
  482. package/types/plugins/table/resize-cells.d.ts +1 -1
  483. package/types/plugins/table/select-cells.d.ts +2 -2
  484. package/types/plugins/table/table-keyboard-navigation.d.ts +1 -1
  485. package/types/plugins/table/table.d.ts +1 -1
  486. package/types/plugins/tooltip/tooltip.d.ts +2 -2
  487. package/types/plugins/xpath/xpath.d.ts +3 -3
  488. package/types/types/{types/ajax.d.ts → ajax.d.ts} +0 -0
  489. package/types/types/{types/async.d.ts → async.d.ts} +0 -0
  490. package/types/types/{types/context.d.ts → context.d.ts} +0 -0
  491. package/types/types/{types/core.ts → core.ts} +0 -0
  492. package/types/types/{types/create.d.ts → create.d.ts} +0 -0
  493. package/types/types/{types/dialog.d.ts → dialog.d.ts} +0 -0
  494. package/types/types/{types/events.d.ts → events.d.ts} +0 -0
  495. package/types/types/{types/file-browser.d.ts → file-browser.d.ts} +1 -10
  496. package/types/types/{types/form.d.ts → form.d.ts} +0 -0
  497. package/types/types/{types/index.d.ts → index.d.ts} +0 -0
  498. package/types/types/{types/jodit.d.ts → jodit.d.ts} +1 -1
  499. package/types/types/{types/observer.d.ts → observer.d.ts} +1 -2
  500. package/types/types/{types/plugin.d.ts → plugin.d.ts} +0 -0
  501. package/types/types/{types/popup.d.ts → popup.d.ts} +0 -0
  502. package/types/types/{types/select.d.ts → select.d.ts} +0 -0
  503. package/types/types/{types/source.d.ts → source.d.ts} +0 -0
  504. package/types/types/{types/storage.ts → storage.ts} +0 -0
  505. package/types/types/{types/style.d.ts → style.d.ts} +0 -0
  506. package/types/types/{types/toolbar.d.ts → toolbar.d.ts} +0 -0
  507. package/types/types/{types/traits.d.ts → traits.d.ts} +10 -5
  508. package/types/types/{types/types.d.ts → types.d.ts} +39 -0
  509. package/types/types/{types/ui.d.ts → ui.d.ts} +8 -17
  510. package/types/types/{types/uploader.d.ts → uploader.d.ts} +0 -0
  511. package/types/types/{types/view.d.ts → view.d.ts} +0 -0
  512. package/src/core/event-emitter/observe-object.ts +0 -157
  513. package/types/core/event-emitter/observe-object.d.ts +0 -24
@@ -1,5 +1,10 @@
1
1
  @import (reference) '../../../../styles/variables';
2
2
  @import (reference) '../../../../styles/mixins';
3
+ @import (reference) '../../styles/file-browser';
4
+
5
+ :root {
6
+ --color-folder-title: #b1b1b1;
7
+ }
3
8
 
4
9
  .jodit-filebrowser-tree {
5
10
  position: relative;
@@ -15,6 +20,10 @@
15
20
  display: flex;
16
21
  }
17
22
 
23
+ &_loading_true {
24
+ .file-browser-loader();
25
+ }
26
+
18
27
  .scrollbarSlim();
19
28
 
20
29
  &_active_true {
@@ -45,8 +54,6 @@
45
54
  background-color: rgba(127, 127, 127, 0.5);
46
55
  outline: 1px solid slategrey;
47
56
  }
48
-
49
- --text-color: #b1b1b1;
50
57
  }
51
58
 
52
59
  &__item {
@@ -57,13 +64,14 @@
57
64
  justify-content: space-between;
58
65
  padding: calc(var(--padding-default) / 2) var(--padding-default);
59
66
  border-bottom: 1px solid #474747;
60
- color: var(--text-color);
67
+ color: var(--color-folder-title);
61
68
  text-decoration: none;
62
69
  transition: background-color 0.2s ease 0s;
63
70
  word-break: break-all;
64
71
 
65
72
  &-title {
66
73
  flex: 1;
74
+ color: var(--color-folder-title);
67
75
  }
68
76
 
69
77
  .jodit-icon_folder {
@@ -81,8 +89,8 @@
81
89
  & svg {
82
90
  width: var(--icon-size);
83
91
  height: var(--icon-size);
84
- fill: var(--text-color) !important;
85
- stroke: var(--text-color) !important;
92
+ fill: var(--color-folder-title) !important;
93
+ stroke: var(--color-folder-title) !important;
86
94
  }
87
95
 
88
96
  &:hover {
@@ -92,7 +100,9 @@
92
100
 
93
101
  &:hover {
94
102
  background-color: var(--color-background-button-hover);
95
- color: #222;
103
+ &-title {
104
+ color: var(--color-text);
105
+ }
96
106
 
97
107
  i.jodit-icon_folder {
98
108
  opacity: 0.6;
@@ -5,7 +5,7 @@
5
5
  */
6
6
 
7
7
  import './tree.less';
8
- import { UIGroup } from '../../../../core/ui';
8
+ import { UIGroup } from 'jodit/core/ui';
9
9
 
10
10
  export class FileBrowserTree extends UIGroup {
11
11
  override className(): string {
@@ -21,17 +21,17 @@ import type {
21
21
  IUIButton,
22
22
  IDictionary,
23
23
  IFileBrowserDataProvider
24
- } from '../../types';
25
- import { Config } from '../../config';
26
- import { ViewComponent } from '../../core/component';
27
- import { Alert, Dialog, Prompt } from '../dialog';
28
- import { $$, attr, css, refs, toArray, trim } from '../../core/helpers';
29
- import { Dom } from '../../core/dom';
30
- import { Button } from '../../core/ui/button';
24
+ } from 'jodit/types';
25
+ import { Config } from 'jodit/config';
26
+ import { ViewComponent } from 'jodit/core/component';
27
+ import { Alert, Dialog, Prompt } from 'jodit/modules/dialog';
28
+ import { $$, attr, css, refs, toArray, trim } from 'jodit/core/helpers';
29
+ import { Dom } from 'jodit/core/dom';
30
+ import { Button } from 'jodit/core/ui/button';
31
31
  import { form } from './templates/form';
32
- import { component, debounce, throttle, autobind } from '../../core/decorators';
32
+ import { component, debounce, throttle, autobind } from 'jodit/core/decorators';
33
33
 
34
- declare module '../../config' {
34
+ declare module 'jodit/config' {
35
35
  interface Config {
36
36
  imageeditor: ImageEditorOptions;
37
37
  }
@@ -40,56 +40,15 @@ declare module '../../config' {
40
40
  Config.prototype.imageeditor = {
41
41
  min_width: 20,
42
42
  min_height: 20,
43
- /**
44
- * @property {boolean} imageeditor.closeAfterSave=false Close editor after save image
45
- */
46
43
  closeAfterSave: false,
47
-
48
- /**
49
- * @property {string|int} imageeditor.width=85% Default dialog width by screen
50
- */
51
44
  width: '85%',
52
-
53
- /**
54
- * @property {string|int} imageeditor.height=85% Default dialog height by screen
55
- */
56
45
  height: '85%',
57
-
58
- /**
59
- * @property {boolean} imageeditor.crop=true Show tab cropping
60
- */
61
46
  crop: true,
62
-
63
- /**
64
- * @property {boolean} imageeditor.resize=true Show tab resizing
65
- */
66
47
  resize: true,
67
-
68
- /**
69
- * @property {boolean} imageeditor.resizeUseRatio=true Keep aspect ratio on resize
70
- */
71
48
  resizeUseRatio: true,
72
-
73
- /**
74
- * @property {int} imageeditor.resizeMinWidth=20 minimal width on resize
75
- */
76
49
  resizeMinWidth: 20,
77
-
78
- /**
79
- * @property {boolean} imageeditor.resizeMinHeight=20 minimal height on resize
80
- */
81
50
  resizeMinHeight: 20,
82
-
83
- /**
84
- * @property {boolean} imageeditor.cropUseRatio=true Keep aspect ratio on crop
85
- */
86
51
  cropUseRatio: true,
87
-
88
- /**
89
- * @property {string} imageeditor.cropDefaultWidth=70% In the tab, crop the image is displayed not in real size.
90
- * Boxing default size for it
91
- * @property {string} imageeditor.cropDefaultHeight=70%
92
- */
93
52
  cropDefaultWidth: '70%',
94
53
  cropDefaultHeight: '70%'
95
54
  };
@@ -645,8 +604,6 @@ export class ImageEditor extends ViewComponent {
645
604
 
646
605
  /**
647
606
  * Hide image editor
648
- *
649
- * @method hide
650
607
  */
651
608
  @autobind
652
609
  hide(): void {
@@ -8,8 +8,8 @@
8
8
  * @module modules/image-editor
9
9
  */
10
10
 
11
- import type { ImageEditorOptions, IViewBased } from '../../../types';
12
- import { Icon } from '../../../core/ui';
11
+ import type { ImageEditorOptions, IViewBased } from 'jodit/types';
12
+ import { Icon } from 'jodit/core/ui';
13
13
 
14
14
  const jie = 'jodit-image-editor';
15
15
  const gi = Icon.get.bind(Icon);
@@ -30,9 +30,9 @@ export const form = (
30
30
  ) => `<div class="jodit-form__group">
31
31
  <label>${i(label)}</label>
32
32
 
33
- <label class='jodi-switcher'>
33
+ <label class='jodit-switcher'>
34
34
  <input ${act(active, 'checked')} data-ref="${ref}" type="checkbox"/>
35
- <span class="jodi-switcher__slider"></span>
35
+ <span class="jodit-switcher__slider"></span>
36
36
  </label>
37
37
  </div>`;
38
38
 
@@ -8,7 +8,7 @@
8
8
  * @module modules/observer
9
9
  */
10
10
 
11
- import type { SnapshotType } from '../../types';
11
+ import type { SnapshotType } from 'jodit/types';
12
12
  import type { Observer } from './observer';
13
13
 
14
14
  export class Command {
@@ -10,15 +10,15 @@
10
10
  * @module modules/observer
11
11
  */
12
12
 
13
- import type { IJodit, SnapshotType, IObserver } from '../../types';
14
- import { Config } from '../../config';
15
- import { ViewComponent } from '../../core/component';
13
+ import type { IJodit, SnapshotType, IObserver } from 'jodit/types';
14
+ import { Config } from 'jodit/config';
15
+ import { ViewComponent } from 'jodit/core/component';
16
16
  import { Snapshot } from './snapshot';
17
17
  import { Stack } from './stack';
18
18
  import { Command } from './command';
19
- import { debounce } from '../../core/decorators';
19
+ import { debounce } from 'jodit/core/decorators';
20
20
 
21
- declare module '../../config' {
21
+ declare module 'jodit/config' {
22
22
  interface Config {
23
23
  observer: {
24
24
  /**
@@ -8,9 +8,9 @@
8
8
  * @module modules/observer
9
9
  */
10
10
 
11
- import type { IJodit, ISnapshot, SnapshotType } from '../../types';
12
- import { ViewComponent } from '../../core/component';
13
- import { Dom } from '../../core/dom';
11
+ import type { IJodit, ISnapshot, SnapshotType } from 'jodit/types';
12
+ import { ViewComponent } from 'jodit/core/component';
13
+ import { Dom } from 'jodit/core/dom';
14
14
 
15
15
  // declare const isProd: boolean;
16
16
  /**
@@ -8,7 +8,7 @@
8
8
  * @module modules/observer
9
9
  */
10
10
 
11
- import type { CanUndef, IStack } from '../../types';
11
+ import type { CanUndef, IStack } from 'jodit/types';
12
12
  import type { Command } from './command';
13
13
 
14
14
  export class Stack implements IStack {
@@ -12,10 +12,10 @@
12
12
 
13
13
  import './status-bar.less';
14
14
 
15
- import type { IJodit, IStatusBar, IDictionary } from '../../types';
16
- import { ViewComponent, STATUSES } from '../../core/component';
17
- import { Dom } from '../../core/dom';
18
- import { Mods } from '../../core/traits';
15
+ import type { IJodit, IStatusBar, IDictionary, ModType } from 'jodit/types';
16
+ import { ViewComponent, STATUSES } from 'jodit/core/component';
17
+ import { Dom } from 'jodit/core/dom';
18
+ import { Mods } from 'jodit/core/traits';
19
19
 
20
20
  export class StatusBar extends ViewComponent<IJodit> implements IStatusBar {
21
21
  className(): string {
@@ -45,16 +45,16 @@ export class StatusBar extends ViewComponent<IJodit> implements IStatusBar {
45
45
  return !this.container.classList.contains('jodit_hidden');
46
46
  }
47
47
 
48
- readonly mods: IDictionary<string | boolean | null> = {};
48
+ readonly mods: IDictionary<ModType> = {};
49
49
 
50
50
  /** @see [[Mods.setMod]] */
51
- setMod(name: string, value: string | boolean | null): this {
51
+ setMod(name: string, value: ModType): this {
52
52
  Mods.setMod.call(this, name, value);
53
53
  return this;
54
54
  }
55
55
 
56
56
  /** @see [[Mods.getMod]] */
57
- getMod(name: string): string | boolean | null {
57
+ getMod(name: string): ModType {
58
58
  return Mods.getMod.call(this, name);
59
59
  }
60
60
 
@@ -10,9 +10,9 @@
10
10
  * @module modules/table
11
11
  */
12
12
 
13
- import type { ICreate, IDictionary, IJodit } from '../../types';
14
- import * as consts from '../../core/constants';
15
- import { Dom } from '../../core/dom';
13
+ import type { ICreate, IDictionary, IJodit } from 'jodit/types';
14
+ import * as consts from 'jodit/core/constants';
15
+ import { Dom } from 'jodit/core/dom';
16
16
  import {
17
17
  $$,
18
18
  attr,
@@ -20,12 +20,12 @@ import {
20
20
  isNumber,
21
21
  toArray,
22
22
  trim
23
- } from '../../core/helpers/';
24
- import { ViewComponent } from '../../core/component';
25
- import { getContainer } from '../../core/global';
26
- import { debounce } from '../../core/decorators';
23
+ } from 'jodit/core/helpers/';
24
+ import { ViewComponent } from 'jodit/core/component';
25
+ import { getContainer } from 'jodit/core/global';
26
+ import { debounce } from 'jodit/core/decorators';
27
27
 
28
- declare module '../../config' {
28
+ declare module 'jodit/config' {
29
29
  interface Config {
30
30
  table: {
31
31
  allowCellSelection: boolean;
@@ -6,7 +6,7 @@
6
6
 
7
7
  @import (reference) '../../../styles/variables';
8
8
  @import (reference) '../../../styles/mixins';
9
- @import (reference) '../../../core/ui/button/button/button';
9
+ @import (reference) 'jodit/core/ui/button/button/button';
10
10
 
11
11
  .trigger-size(@size) {
12
12
  width: @size;
@@ -21,12 +21,12 @@ import type {
21
21
  IToolbarCollection,
22
22
  IViewBased,
23
23
  Nullable
24
- } from '../../../types';
25
- import { UIButton, UIButtonState } from '../../../core/ui/button';
26
- import { component, watch } from '../../../core/decorators';
27
- import { Dom } from '../../../core/dom';
28
- import { Popup } from '../../../core/ui/popup/';
29
- import { makeCollection } from '../factory';
24
+ } from 'jodit/types';
25
+ import { UIButton, UIButtonState } from 'jodit/core/ui/button';
26
+ import { component, watch } from 'jodit/core/decorators';
27
+ import { Dom } from 'jodit/core/dom';
28
+ import { Popup } from 'jodit/core/ui/popup/';
29
+ import { makeCollection } from 'jodit/modules/toolbar/factory';
30
30
  import {
31
31
  isFunction,
32
32
  isString,
@@ -37,11 +37,11 @@ import {
37
37
  call,
38
38
  isArray,
39
39
  keys
40
- } from '../../../core/helpers/';
41
- import { Icon } from '../../../core/ui';
42
- import { ToolbarCollection } from '../../../modules/toolbar/collection/collection';
43
- import { STATUSES } from '../../../core/component';
44
- import { findControlType } from '../../../core/ui/helpers/get-control-type';
40
+ } from 'jodit/core/helpers';
41
+ import { Icon } from 'jodit/core/ui';
42
+ import { ToolbarCollection } from 'jodit/modules/toolbar/collection/collection';
43
+ import { STATUSES } from 'jodit/core/component';
44
+ import { findControlType } from 'jodit/core/ui/helpers/get-control-type';
45
45
 
46
46
  @component
47
47
  export class ToolbarButton<T extends IViewBased = IViewBased>
@@ -83,10 +83,8 @@ export class ToolbarButton<T extends IViewBased = IViewBased>
83
83
  const { control, state } = this,
84
84
  tc = this.closest(ToolbarCollection) as ToolbarCollection;
85
85
 
86
- if (tc) {
87
- state.disabled = Boolean(tc.shouldBeDisabled(this));
88
- state.activated = Boolean(tc.shouldBeActive(this));
89
- }
86
+ state.disabled = this.calculateDisabledStatus(tc);
87
+ state.activated = this.calculateActivatedStatus(tc);
90
88
 
91
89
  if (isFunction(control.update)) {
92
90
  control.update(this);
@@ -95,6 +93,50 @@ export class ToolbarButton<T extends IViewBased = IViewBased>
95
93
  super.update();
96
94
  }
97
95
 
96
+ /**
97
+ * Calculates whether the button is active
98
+ */
99
+ private calculateActivatedStatus(tc?: ToolbarCollection): boolean {
100
+ if (isJoditObject(this.j) && !this.j.editorIsActive) {
101
+ return false;
102
+ }
103
+
104
+ if (
105
+ isFunction(this.control.isActive) &&
106
+ this.control.isActive(this.j, this.control, this)
107
+ ) {
108
+ return true;
109
+ }
110
+
111
+ return Boolean(tc && tc.shouldBeActive(this));
112
+ }
113
+
114
+ /**
115
+ * Calculates whether an element is blocked for the user
116
+ */
117
+ private calculateDisabledStatus(tc?: ToolbarCollection): boolean {
118
+ if (this.j.o.disabled) {
119
+ return true;
120
+ }
121
+
122
+ if (
123
+ this.j.o.readonly &&
124
+ (!this.j.o.activeButtonsInReadOnly ||
125
+ !this.j.o.activeButtonsInReadOnly.includes(this.control.name))
126
+ ) {
127
+ return true;
128
+ }
129
+
130
+ if (
131
+ isFunction(this.control.isDisabled) &&
132
+ this.control.isDisabled(this.j, this.control, this)
133
+ ) {
134
+ return true;
135
+ }
136
+
137
+ return Boolean(tc && tc.shouldBeDisabled(this));
138
+ }
139
+
98
140
  /** @override */
99
141
  protected override onChangeActivated(): void {
100
142
  attr(this.button, 'aria-pressed', this.state.activated);
@@ -6,7 +6,7 @@
6
6
 
7
7
  @import (reference) '../../../styles/variables';
8
8
  @import (reference) '../../../styles/mixins';
9
- @import (reference) '../../../core/ui/button/button/button';
9
+ @import (reference) 'jodit/core/ui/button/button/button';
10
10
 
11
11
  .jodit-toolbar-content {
12
12
  .jodit-ui-button();
@@ -15,11 +15,11 @@ import type {
15
15
  IToolbarButton,
16
16
  IViewBased,
17
17
  Nullable
18
- } from '../../../types';
19
- import { UIButton } from '../../../core/ui/button';
20
- import { Dom } from '../../../core/dom';
21
- import { isString, attr } from '../../../core/helpers';
22
- import { component } from '../../../core/decorators';
18
+ } from 'jodit/types';
19
+ import { UIButton } from 'jodit/core/ui/button';
20
+ import { Dom } from 'jodit/core/dom';
21
+ import { isString, attr } from 'jodit/core/helpers';
22
+ import { component } from 'jodit/core/decorators';
23
23
 
24
24
  @component
25
25
  export class ToolbarContent<T extends IViewBased = IViewBased>
@@ -5,7 +5,7 @@
5
5
  */
6
6
 
7
7
  @import (reference) '../../../styles/variables';
8
- @import (reference) '../../../core/ui/group/list';
8
+ @import (reference) 'jodit/core/ui/group/list';
9
9
 
10
10
  .gradient(@icon-size) {
11
11
  --button-icon-size: @icon-size;
@@ -23,13 +23,13 @@ import type {
23
23
  CanUndef,
24
24
  IViewWithToolbar,
25
25
  IBound
26
- } from '../../../types/';
26
+ } from 'jodit/types';
27
27
 
28
- import { error, isFunction } from '../../../core/helpers/';
28
+ import { error } from 'jodit/core/helpers';
29
29
 
30
- import { UIList } from '../../../core/ui';
30
+ import { UIList } from 'jodit/core/ui';
31
31
  import { makeButton } from '../factory';
32
- import { component, autobind } from '../../../core/decorators';
32
+ import { component, autobind } from 'jodit/core/decorators';
33
33
 
34
34
  @component
35
35
  export class ToolbarCollection<T extends IViewWithToolbar = IViewWithToolbar>
@@ -66,10 +66,6 @@ export class ToolbarCollection<T extends IViewWithToolbar = IViewWithToolbar>
66
66
  * Button should be active
67
67
  */
68
68
  shouldBeActive(button: IToolbarButton): boolean | undefined {
69
- if (isFunction(button.control.isActive)) {
70
- return button.control.isActive(this.j, button.control, button);
71
- }
72
-
73
69
  return undefined;
74
70
  }
75
71
 
@@ -77,29 +73,7 @@ export class ToolbarCollection<T extends IViewWithToolbar = IViewWithToolbar>
77
73
  * Button should be disabled
78
74
  */
79
75
  shouldBeDisabled(button: IToolbarButton): boolean | undefined {
80
- if (this.j.o.disabled) {
81
- return true;
82
- }
83
-
84
- if (
85
- this.j.o.readonly &&
86
- (!this.j.o.activeButtonsInReadOnly ||
87
- !this.j.o.activeButtonsInReadOnly.includes(button.control.name))
88
- ) {
89
- return true;
90
- }
91
-
92
- let isDisabled: boolean | undefined;
93
-
94
- if (isFunction(button.control.isDisabled)) {
95
- isDisabled = button.control.isDisabled(
96
- this.j,
97
- button.control,
98
- button
99
- );
100
- }
101
-
102
- return isDisabled;
76
+ return undefined;
103
77
  }
104
78
 
105
79
  /**
@@ -9,17 +9,17 @@
9
9
  */
10
10
 
11
11
  import { ToolbarCollection } from './collection';
12
- import * as consts from '../../../core/constants';
13
- import { Dom } from '../../../core/dom';
12
+ import * as consts from 'jodit/core/constants';
13
+ import { Dom } from 'jodit/core/dom';
14
14
  import type {
15
15
  IDictionary,
16
16
  IToolbarButton,
17
17
  IViewBased,
18
18
  IJodit,
19
19
  IBound
20
- } from '../../../types';
21
- import { css, isFunction, isJoditObject } from '../../../core/helpers';
22
- import { component } from '../../../core/decorators';
20
+ } from 'jodit/types';
21
+ import { css, isFunction } from 'jodit/core/helpers';
22
+ import { component } from 'jodit/core/decorators';
23
23
 
24
24
  @component
25
25
  export class ToolbarEditorCollection extends ToolbarCollection<IJodit> {
@@ -46,10 +46,6 @@ export class ToolbarEditorCollection extends ToolbarCollection<IJodit> {
46
46
 
47
47
  /** @override */
48
48
  override shouldBeActive(button: IToolbarButton): boolean {
49
- if (isJoditObject(this.j) && !this.j.editorIsActive) {
50
- return false;
51
- }
52
-
53
49
  const active = super.shouldBeActive(button);
54
50
 
55
51
  if (active !== undefined) {
@@ -18,8 +18,8 @@ import type {
18
18
  IUIElement,
19
19
  IViewBased,
20
20
  Nullable
21
- } from '../../types';
22
- import { isFunction, isJoditObject } from '../../core/helpers';
21
+ } from 'jodit/types';
22
+ import { isFunction, isJoditObject } from 'jodit/core/helpers';
23
23
  import { ToolbarCollection } from './collection/collection';
24
24
  import { ToolbarEditorCollection } from './collection/editor-collection';
25
25
  import { ToolbarButton } from './button/button';
@@ -25,10 +25,10 @@ import type {
25
25
  IUploaderOptions,
26
26
  IViewBased,
27
27
  Nullable
28
- } from '../../types';
29
- import { Config } from '../../config';
30
- import { IS_IE, TEXT_PLAIN } from '../../core/constants';
31
- import { Ajax } from '../../core/request';
28
+ } from 'jodit/types';
29
+ import { Config } from 'jodit/config';
30
+ import { IS_IE, TEXT_PLAIN } from 'jodit/core/constants';
31
+ import { Ajax } from 'jodit/core/request';
32
32
  import {
33
33
  attr,
34
34
  error,
@@ -39,12 +39,12 @@ import {
39
39
  toArray,
40
40
  isString,
41
41
  ConfigProto
42
- } from '../../core/helpers';
43
- import { Dom } from '../../core/dom';
44
- import { ViewComponent, STATUSES } from '../../core/component/';
45
- import { getContainer } from '../../core/global';
42
+ } from 'jodit/core/helpers';
43
+ import { Dom } from 'jodit/core/dom';
44
+ import { ViewComponent, STATUSES } from 'jodit/core/component/';
45
+ import { getContainer } from 'jodit/core/global';
46
46
 
47
- declare module '../../config' {
47
+ declare module 'jodit/config' {
48
48
  interface Config {
49
49
  /**
50
50
  * Enable drag and drop file editor
@@ -12,7 +12,7 @@
12
12
 
13
13
  import './color-picker.less';
14
14
 
15
- import type { IDictionary, IJodit } from '../../../types';
15
+ import type { IDictionary, IJodit } from 'jodit/types';
16
16
  import {
17
17
  normalizeColor,
18
18
  hasBrowserColorPicker,
@@ -21,9 +21,9 @@ import {
21
21
  isFunction,
22
22
  isArray,
23
23
  refs
24
- } from '../../../core/helpers/';
25
- import { Icon } from '../../../core/ui';
26
- import { Dom } from '../../../core/dom';
24
+ } from 'jodit/core/helpers/';
25
+ import { Icon } from 'jodit/core/ui';
26
+ import { Dom } from 'jodit/core/dom';
27
27
 
28
28
  /**
29
29
  * Build color picker
@@ -14,11 +14,11 @@ import type {
14
14
  IFileBrowserCallBackData,
15
15
  IJodit,
16
16
  IUploaderData
17
- } from '../../../types';
18
- import { isFunction, $$, attr, val } from '../../../core/helpers';
19
- import { Dom } from '../../../core/dom';
17
+ } from 'jodit/types';
18
+ import { isFunction, $$, attr, val } from 'jodit/core/helpers';
19
+ import { Dom } from 'jodit/core/dom';
20
20
  import { TabOption, TabsWidget } from '../tabs/tabs';
21
- import { UIBlock, UIForm, UIInput, UIButton } from '../../../core/ui';
21
+ import { UIBlock, UIForm, UIInput, UIButton } from 'jodit/core/ui';
22
22
 
23
23
  interface ImageSelectorCallbacks {
24
24
  /**
@@ -12,9 +12,9 @@
12
12
 
13
13
  import './tabs.less';
14
14
 
15
- import type { IDictionary, IJodit, IUIButton } from '../../../types';
16
- import { $$, isFunction } from '../../../core/helpers';
17
- import { Button, UIElement } from '../../../core/ui';
15
+ import type { IDictionary, IJodit, IUIButton } from 'jodit/types';
16
+ import { $$, isFunction } from 'jodit/core/helpers';
17
+ import { Button, UIElement } from 'jodit/core/ui';
18
18
 
19
19
  export interface TabOption {
20
20
  icon?: string;