jodit 3.24.9 → 4.0.0-beta.16

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 (2059) hide show
  1. package/CHANGELOG.md +3900 -0
  2. package/README.md +24 -17
  3. package/SECURITY.md +10 -0
  4. package/es2015/jodit.css +4892 -0
  5. package/es2015/jodit.js +33960 -0
  6. package/es2015/jodit.min.css +1 -0
  7. package/es2015/jodit.min.js +10 -0
  8. package/es2015/plugins/debug/debug.js +97 -0
  9. package/es2015/plugins/debug/debug.min.js +10 -0
  10. package/es2015/plugins/speech-recognize/speech-recognize.css +42 -0
  11. package/es2015/plugins/speech-recognize/speech-recognize.js +965 -0
  12. package/es2015/plugins/speech-recognize/speech-recognize.min.js +10 -0
  13. package/es2021/jodit.css +4892 -0
  14. package/es2021/jodit.js +33869 -0
  15. package/es2021/jodit.min.css +1 -0
  16. package/es2021/jodit.min.js +10 -0
  17. package/es2021/plugins/debug/debug.js +97 -0
  18. package/es2021/plugins/debug/debug.min.js +10 -0
  19. package/es2021/plugins/speech-recognize/speech-recognize.css +42 -0
  20. package/es2021/plugins/speech-recognize/speech-recognize.js +964 -0
  21. package/es2021/plugins/speech-recognize/speech-recognize.min.js +10 -0
  22. package/es2021.en/jodit.css +4892 -0
  23. package/es2021.en/jodit.js +32429 -0
  24. package/es2021.en/jodit.min.css +1 -0
  25. package/es2021.en/jodit.min.js +10 -0
  26. package/es2021.en/plugins/debug/debug.js +97 -0
  27. package/es2021.en/plugins/debug/debug.min.js +10 -0
  28. package/es2021.en/plugins/speech-recognize/speech-recognize.css +42 -0
  29. package/es2021.en/plugins/speech-recognize/speech-recognize.js +544 -0
  30. package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +10 -0
  31. package/es5/jodit.css +5971 -0
  32. package/es5/jodit.js +39811 -0
  33. package/es5/jodit.min.css +8 -0
  34. package/es5/jodit.min.js +10 -0
  35. package/es5/plugins/debug/debug.js +103 -0
  36. package/es5/plugins/debug/debug.min.js +10 -0
  37. package/es5/plugins/speech-recognize/speech-recognize.css +42 -0
  38. package/es5/plugins/speech-recognize/speech-recognize.js +998 -0
  39. package/es5/plugins/speech-recognize/speech-recognize.min.css +1 -0
  40. package/es5/plugins/speech-recognize/speech-recognize.min.js +10 -0
  41. package/esm/config.js +898 -0
  42. package/esm/core/async/async.js +278 -0
  43. package/esm/core/async/index.js +9 -0
  44. package/esm/core/component/component.js +191 -0
  45. package/esm/core/component/index.js +11 -0
  46. package/esm/core/component/statuses.js +14 -0
  47. package/esm/core/component/view-component.js +37 -0
  48. package/esm/core/constants.js +194 -0
  49. package/esm/core/create/create.js +137 -0
  50. package/esm/core/create/index.js +9 -0
  51. package/esm/core/decorators/cache/cache.js +52 -0
  52. package/esm/core/decorators/component/component.js +27 -0
  53. package/esm/core/decorators/debounce/debounce.js +42 -0
  54. package/esm/core/decorators/derive/derive.js +36 -0
  55. package/esm/core/decorators/hook/hook.js +20 -0
  56. package/esm/core/decorators/idle/idle.js +20 -0
  57. package/esm/core/decorators/index.js +21 -0
  58. package/esm/core/decorators/nonenumerable/nonenumerable.js +25 -0
  59. package/esm/core/decorators/persistent/persistent.js +22 -0
  60. package/esm/core/decorators/wait/wait.js +33 -0
  61. package/esm/core/decorators/watch/watch.js +107 -0
  62. package/esm/core/dom/dom.js +686 -0
  63. package/esm/core/dom/index.js +10 -0
  64. package/esm/core/dom/lazy-walker.js +95 -0
  65. package/esm/core/event-emitter/event-emitter.js +479 -0
  66. package/esm/core/event-emitter/eventify.js +57 -0
  67. package/esm/core/event-emitter/index.js +12 -0
  68. package/esm/core/event-emitter/observable.js +144 -0
  69. package/esm/core/event-emitter/store.js +70 -0
  70. package/esm/core/global.js +88 -0
  71. package/esm/core/helpers/array/as-array.js +13 -0
  72. package/esm/core/helpers/array/index.js +11 -0
  73. package/esm/core/helpers/array/split-array.js +8 -0
  74. package/esm/core/helpers/array/to-array.js +20 -0
  75. package/esm/core/helpers/async/index.js +9 -0
  76. package/esm/core/helpers/async/set-timeout.js +26 -0
  77. package/esm/core/helpers/checker/has-browser-color-picker.js +24 -0
  78. package/esm/core/helpers/checker/index.js +32 -0
  79. package/esm/core/helpers/checker/is-array.js +14 -0
  80. package/esm/core/helpers/checker/is-boolean.js +11 -0
  81. package/esm/core/helpers/checker/is-equal.js +18 -0
  82. package/esm/core/helpers/checker/is-function.js +14 -0
  83. package/esm/core/helpers/checker/is-html-from-word.js +16 -0
  84. package/esm/core/helpers/checker/is-html.js +14 -0
  85. package/esm/core/helpers/checker/is-imp-interface.js +26 -0
  86. package/esm/core/helpers/checker/is-int.js +19 -0
  87. package/esm/core/helpers/checker/is-jodit-object.js +17 -0
  88. package/esm/core/helpers/checker/is-license.js +12 -0
  89. package/esm/core/helpers/checker/is-marker.js +15 -0
  90. package/esm/core/helpers/checker/is-native-function.js +17 -0
  91. package/esm/core/helpers/checker/is-number.js +14 -0
  92. package/esm/core/helpers/checker/is-numeric.js +21 -0
  93. package/esm/core/helpers/checker/is-plain-object.js +16 -0
  94. package/esm/core/helpers/checker/is-promise.js +11 -0
  95. package/esm/core/helpers/checker/is-set.js +18 -0
  96. package/esm/core/helpers/checker/is-string.js +21 -0
  97. package/esm/core/helpers/checker/is-url.js +28 -0
  98. package/esm/core/helpers/checker/is-valid-name.js +17 -0
  99. package/esm/core/helpers/checker/is-view-object.js +15 -0
  100. package/esm/core/helpers/checker/is-void.js +15 -0
  101. package/esm/core/helpers/checker/is-window.js +11 -0
  102. package/esm/core/helpers/color/color-to-hex.js +43 -0
  103. package/esm/core/helpers/color/index.js +9 -0
  104. package/esm/core/helpers/html/apply-styles.js +99 -0
  105. package/esm/core/helpers/html/clean-from-word.js +75 -0
  106. package/esm/core/helpers/html/htmlspecialchars.js +17 -0
  107. package/esm/core/helpers/html/index.js +14 -0
  108. package/esm/core/helpers/html/nl2br.js +14 -0
  109. package/esm/core/helpers/html/safe-html.js +45 -0
  110. package/esm/core/helpers/html/strip-tags.js +67 -0
  111. package/esm/core/helpers/index.js +19 -0
  112. package/esm/core/helpers/normalize/index.js +16 -0
  113. package/esm/core/helpers/normalize/normalize-color.js +36 -0
  114. package/esm/core/helpers/normalize/normalize-css-value.js +42 -0
  115. package/esm/core/helpers/normalize/normalize-key-aliases.js +39 -0
  116. package/esm/core/helpers/normalize/normalize-license.js +18 -0
  117. package/esm/core/helpers/normalize/normalize-path.js +27 -0
  118. package/esm/core/helpers/normalize/normalize-relative-path.js +30 -0
  119. package/esm/core/helpers/normalize/normalize-size.js +17 -0
  120. package/esm/core/helpers/normalize/normalize-url.js +15 -0
  121. package/esm/core/helpers/size/get-content-width.js +12 -0
  122. package/esm/core/helpers/size/get-scroll-parent.js +21 -0
  123. package/esm/core/helpers/size/index.js +14 -0
  124. package/esm/core/helpers/size/inner-width.js +16 -0
  125. package/esm/core/helpers/size/object-size.js +15 -0
  126. package/esm/core/helpers/size/offset.js +44 -0
  127. package/esm/core/helpers/size/position.js +27 -0
  128. package/esm/core/helpers/string/camel-case.js +16 -0
  129. package/esm/core/helpers/string/fuzzy-search-index.js +42 -0
  130. package/esm/core/helpers/string/i18n.js +112 -0
  131. package/esm/core/helpers/string/index.js +15 -0
  132. package/esm/core/helpers/string/kebab-case.js +21 -0
  133. package/esm/core/helpers/string/stringify.js +28 -0
  134. package/esm/core/helpers/string/trim.js +26 -0
  135. package/esm/core/helpers/string/ucfirst.js +17 -0
  136. package/esm/core/helpers/utils/align.js +70 -0
  137. package/esm/core/helpers/utils/append-script.js +86 -0
  138. package/esm/core/helpers/utils/assert.js +21 -0
  139. package/esm/core/helpers/utils/attr.js +51 -0
  140. package/esm/core/helpers/utils/browser.js +42 -0
  141. package/esm/core/helpers/utils/build-query.js +21 -0
  142. package/esm/core/helpers/utils/complete-url.js +14 -0
  143. package/esm/core/helpers/utils/config-proto.js +82 -0
  144. package/esm/core/helpers/utils/convert-media-url-to-video-embed.js +60 -0
  145. package/esm/core/helpers/utils/css.js +71 -0
  146. package/esm/core/helpers/utils/ctrl-key.js +24 -0
  147. package/esm/core/helpers/utils/data-bind.js +30 -0
  148. package/esm/core/helpers/utils/default-language.js +24 -0
  149. package/esm/core/helpers/utils/error/error.js +27 -0
  150. package/esm/core/helpers/utils/error/errors/abort-error.js +14 -0
  151. package/esm/core/helpers/utils/error/errors/connection-error.js +14 -0
  152. package/esm/core/helpers/utils/error/errors/index.js +11 -0
  153. package/esm/core/helpers/utils/error/errors/options-error.js +14 -0
  154. package/esm/core/helpers/utils/error/index.js +10 -0
  155. package/esm/core/helpers/utils/extend.js +23 -0
  156. package/esm/core/helpers/utils/get-class-name.js +22 -0
  157. package/esm/core/helpers/utils/get.js +48 -0
  158. package/esm/core/helpers/utils/human-size-to-bytes.js +21 -0
  159. package/esm/core/helpers/utils/index.js +36 -0
  160. package/esm/core/helpers/utils/mark-deprecated.js +23 -0
  161. package/esm/core/helpers/utils/parse-query.js +16 -0
  162. package/esm/core/helpers/utils/print.js +166 -0
  163. package/esm/core/helpers/utils/reset.js +40 -0
  164. package/esm/core/helpers/utils/scroll-into-view.js +38 -0
  165. package/esm/core/helpers/utils/selector.js +128 -0
  166. package/esm/core/helpers/utils/set.js +39 -0
  167. package/esm/core/helpers/utils/stack.js +24 -0
  168. package/esm/core/helpers/utils/utils.js +96 -0
  169. package/esm/core/helpers/utils/val.js +18 -0
  170. package/esm/core/plugin/helpers/init-instance.js +54 -0
  171. package/esm/core/plugin/helpers/load.js +63 -0
  172. package/esm/core/plugin/helpers/make-instance.js +31 -0
  173. package/esm/core/plugin/helpers/utils.js +15 -0
  174. package/esm/core/plugin/index.js +10 -0
  175. package/esm/core/plugin/interface.js +1 -0
  176. package/esm/core/plugin/plugin-system.js +138 -0
  177. package/esm/core/plugin/plugin.js +58 -0
  178. package/esm/core/request/ajax.js +160 -0
  179. package/esm/core/request/config.js +20 -0
  180. package/esm/core/request/index.js +10 -0
  181. package/esm/core/request/response.js +25 -0
  182. package/esm/core/selection/helpers/index.js +10 -0
  183. package/esm/core/selection/helpers/move-node-inside-start.js +28 -0
  184. package/esm/core/selection/helpers/move-the-node-along-the-edge-outward.js +27 -0
  185. package/esm/core/selection/index.js +10 -0
  186. package/esm/core/selection/interface.js +1 -0
  187. package/esm/core/selection/selection.js +1147 -0
  188. package/esm/core/selection/style/api/extract.js +53 -0
  189. package/esm/core/selection/style/api/finite-state-machine.js +44 -0
  190. package/esm/core/selection/style/api/get-suit-child.js +31 -0
  191. package/esm/core/selection/style/api/get-suit-parent.js +40 -0
  192. package/esm/core/selection/style/api/has-same-style.js +49 -0
  193. package/esm/core/selection/style/api/index.js +20 -0
  194. package/esm/core/selection/style/api/is-inside-invisible-element.js +13 -0
  195. package/esm/core/selection/style/api/is-normal-node.js +17 -0
  196. package/esm/core/selection/style/api/is-same-attributes.js +36 -0
  197. package/esm/core/selection/style/api/is-suit-element.js +50 -0
  198. package/esm/core/selection/style/api/list/toggle-ordered-list.js +55 -0
  199. package/esm/core/selection/style/api/list/wrap-list.js +40 -0
  200. package/esm/core/selection/style/api/toggle-attributes.js +156 -0
  201. package/esm/core/selection/style/api/unwrap-children.js +60 -0
  202. package/esm/core/selection/style/api/wrap-unwrapped-text.js +52 -0
  203. package/esm/core/selection/style/api/wrap.js +44 -0
  204. package/esm/core/selection/style/apply-style.js +41 -0
  205. package/esm/core/selection/style/commit-style.js +105 -0
  206. package/esm/core/selection/style/transactions.js +174 -0
  207. package/esm/core/storage/engines/local-storage-provider.js +71 -0
  208. package/esm/core/storage/engines/memory-storage-provider.js +28 -0
  209. package/esm/core/storage/index.js +11 -0
  210. package/esm/core/storage/storage.js +46 -0
  211. package/esm/core/traits/dlgs.js +46 -0
  212. package/esm/core/traits/elms.js +20 -0
  213. package/esm/core/traits/mods.js +37 -0
  214. package/esm/core/ui/button/button/button.js +257 -0
  215. package/esm/core/ui/button/group/group.js +72 -0
  216. package/esm/core/ui/button/index.js +13 -0
  217. package/esm/core/ui/button/tooltip/tooltip.js +180 -0
  218. package/esm/core/ui/element.js +141 -0
  219. package/esm/core/ui/form/block/block.js +36 -0
  220. package/esm/core/ui/form/form.js +66 -0
  221. package/esm/core/ui/form/index.js +11 -0
  222. package/esm/core/ui/form/inputs/area/area.js +39 -0
  223. package/esm/core/ui/form/inputs/checkbox/checkbox.js +75 -0
  224. package/esm/core/ui/form/inputs/file/file.js +59 -0
  225. package/esm/core/ui/form/inputs/index.js +13 -0
  226. package/esm/core/ui/form/inputs/input/input.js +223 -0
  227. package/esm/core/ui/form/inputs/select/select.js +75 -0
  228. package/esm/core/ui/form/validators/index.js +10 -0
  229. package/esm/core/ui/form/validators/input.js +27 -0
  230. package/esm/core/ui/form/validators/select.js +16 -0
  231. package/esm/core/ui/group/group.js +139 -0
  232. package/esm/core/ui/group/index.js +12 -0
  233. package/esm/core/ui/group/list.js +142 -0
  234. package/esm/core/ui/group/separator.js +20 -0
  235. package/esm/core/ui/group/spacer.js +20 -0
  236. package/esm/core/ui/helpers/buttons.js +30 -0
  237. package/esm/core/ui/helpers/get-control-type.js +56 -0
  238. package/esm/core/ui/helpers/get-strong-control-types.js +21 -0
  239. package/esm/core/ui/icon.js +86 -0
  240. package/esm/core/ui/index.js +17 -0
  241. package/esm/core/ui/popup/index.js +9 -0
  242. package/esm/core/ui/popup/popup.js +330 -0
  243. package/esm/core/ui/progress-bar/progress-bar.js +43 -0
  244. package/esm/core/view/view-with-toolbar.js +138 -0
  245. package/esm/core/view/view.js +279 -0
  246. package/esm/index.js +60 -0
  247. package/esm/jodit.js +1271 -0
  248. package/esm/langs/ar.js +224 -0
  249. package/esm/langs/cs_cz.js +226 -0
  250. package/esm/langs/de.js +231 -0
  251. package/esm/langs/en.js +11 -0
  252. package/esm/langs/es.js +230 -0
  253. package/esm/langs/fa.js +225 -0
  254. package/esm/langs/fr.js +223 -0
  255. package/esm/langs/he.js +224 -0
  256. package/esm/langs/hu.js +226 -0
  257. package/esm/langs/id.js +226 -0
  258. package/esm/langs/index.js +70 -0
  259. package/esm/langs/it.js +226 -0
  260. package/esm/langs/ja.js +229 -0
  261. package/esm/langs/keys.js +7 -0
  262. package/esm/langs/ko.js +225 -0
  263. package/esm/langs/mn.js +227 -0
  264. package/esm/langs/nl.js +226 -0
  265. package/esm/langs/pl.js +226 -0
  266. package/esm/langs/pt_br.js +230 -0
  267. package/esm/langs/ru.js +226 -0
  268. package/esm/langs/tr.js +225 -0
  269. package/esm/langs/zh_cn.js +224 -0
  270. package/esm/langs/zh_tw.js +222 -0
  271. package/esm/modules/context-menu/context-menu.js +61 -0
  272. package/esm/modules/dialog/alert.js +43 -0
  273. package/esm/modules/dialog/confirm.js +48 -0
  274. package/esm/modules/dialog/dialog.js +596 -0
  275. package/esm/modules/dialog/index.js +14 -0
  276. package/esm/modules/dialog/prompt.js +65 -0
  277. package/esm/modules/file-browser/builders/context-menu.js +158 -0
  278. package/esm/modules/file-browser/builders/elements-map.js +18 -0
  279. package/esm/modules/file-browser/builders/item.js +65 -0
  280. package/esm/modules/file-browser/config.js +326 -0
  281. package/esm/modules/file-browser/data-provider.js +387 -0
  282. package/esm/modules/file-browser/factories.js +13 -0
  283. package/esm/modules/file-browser/fetch/delete-file.js +17 -0
  284. package/esm/modules/file-browser/fetch/load-items.js +27 -0
  285. package/esm/modules/file-browser/fetch/load-tree.js +29 -0
  286. package/esm/modules/file-browser/file-browser.js +330 -0
  287. package/esm/modules/file-browser/index.js +11 -0
  288. package/esm/modules/file-browser/listeners/native-listeners.js +102 -0
  289. package/esm/modules/file-browser/listeners/self-listeners.js +128 -0
  290. package/esm/modules/file-browser/listeners/state-listeners.js +146 -0
  291. package/esm/modules/file-browser/ui/files/files.js +12 -0
  292. package/esm/modules/file-browser/ui/index.js +10 -0
  293. package/esm/modules/file-browser/ui/tree/tree.js +12 -0
  294. package/esm/modules/history/command.js +19 -0
  295. package/esm/modules/history/history.js +159 -0
  296. package/esm/modules/history/snapshot.js +204 -0
  297. package/esm/modules/history/stack.js +63 -0
  298. package/esm/modules/image-editor/config.js +23 -0
  299. package/esm/modules/image-editor/icons/crop.svg.js +1 -0
  300. package/esm/modules/image-editor/icons/resize.svg.js +1 -0
  301. package/esm/modules/image-editor/image-editor.js +574 -0
  302. package/esm/modules/image-editor/templates/form.js +80 -0
  303. package/esm/modules/index.js +37 -0
  304. package/esm/modules/messages/message.js +23 -0
  305. package/esm/modules/messages/messages.js +92 -0
  306. package/esm/modules/status-bar/status-bar.js +92 -0
  307. package/esm/modules/table/table.js +634 -0
  308. package/esm/modules/toolbar/button/button.js +390 -0
  309. package/esm/modules/toolbar/button/content.js +44 -0
  310. package/esm/modules/toolbar/button/index.js +10 -0
  311. package/esm/modules/toolbar/collection/collection.js +114 -0
  312. package/esm/modules/toolbar/collection/editor-collection.js +130 -0
  313. package/esm/modules/toolbar/factory.js +39 -0
  314. package/esm/modules/uploader/config.js +86 -0
  315. package/esm/modules/uploader/helpers/build-data.js +26 -0
  316. package/esm/modules/uploader/helpers/data-uri-to-blob.js +24 -0
  317. package/esm/modules/uploader/helpers/index.js +16 -0
  318. package/esm/modules/uploader/helpers/process-old-browser-drag.js +32 -0
  319. package/esm/modules/uploader/helpers/send-files.js +108 -0
  320. package/esm/modules/uploader/helpers/send.js +72 -0
  321. package/esm/modules/uploader/uploader.js +197 -0
  322. package/esm/modules/widget/color-picker/color-picker.js +94 -0
  323. package/esm/modules/widget/color-picker/palette.svg.js +1 -0
  324. package/esm/modules/widget/file-selector/file-selector.js +124 -0
  325. package/esm/modules/widget/index.js +13 -0
  326. package/esm/modules/widget/tabs/tabs.js +112 -0
  327. package/esm/plugins/about/about.js +53 -0
  328. package/esm/plugins/about/about.svg.js +1 -0
  329. package/esm/plugins/add-new-line/add-new-line.js +220 -0
  330. package/esm/plugins/add-new-line/config.js +19 -0
  331. package/esm/plugins/add-new-line/enter.svg.js +1 -0
  332. package/esm/plugins/backspace/backspace.js +129 -0
  333. package/esm/plugins/backspace/cases/check-join-neighbors.js +61 -0
  334. package/esm/plugins/backspace/cases/check-join-two-lists.js +39 -0
  335. package/esm/plugins/backspace/cases/check-not-collapsed.js +25 -0
  336. package/esm/plugins/backspace/cases/check-remove-char.js +143 -0
  337. package/esm/plugins/backspace/cases/check-remove-content-not-editable.js +29 -0
  338. package/esm/plugins/backspace/cases/check-remove-empty-neighbor.js +32 -0
  339. package/esm/plugins/backspace/cases/check-remove-empty-parent.js +55 -0
  340. package/esm/plugins/backspace/cases/check-remove-unbreakable-element.js +39 -0
  341. package/esm/plugins/backspace/cases/check-table-cell.js +27 -0
  342. package/esm/plugins/backspace/cases/check-unwrap-first-list-item.js +40 -0
  343. package/esm/plugins/backspace/cases/index.js +31 -0
  344. package/esm/plugins/backspace/config.js +19 -0
  345. package/esm/plugins/backspace/helpers.js +35 -0
  346. package/esm/plugins/backspace/interface.js +6 -0
  347. package/esm/plugins/bold/bold.js +76 -0
  348. package/esm/plugins/bold/config.js +46 -0
  349. package/esm/plugins/bold/icons/bold.svg.js +1 -0
  350. package/esm/plugins/bold/icons/italic.svg.js +1 -0
  351. package/esm/plugins/bold/icons/strikethrough.svg.js +1 -0
  352. package/esm/plugins/bold/icons/subscript.svg.js +1 -0
  353. package/esm/plugins/bold/icons/superscript.svg.js +1 -0
  354. package/esm/plugins/bold/icons/underline.svg.js +1 -0
  355. package/esm/plugins/bold/interface.js +1 -0
  356. package/esm/plugins/class-span/class-span.js +98 -0
  357. package/esm/plugins/class-span/class-span.svg.js +1 -0
  358. package/esm/plugins/clean-html/clean-html.js +111 -0
  359. package/esm/plugins/clean-html/config.js +28 -0
  360. package/esm/plugins/clean-html/eraser.svg.js +1 -0
  361. package/esm/plugins/clean-html/helpers/get-hash.js +48 -0
  362. package/esm/plugins/clean-html/helpers/index.js +12 -0
  363. package/esm/plugins/clean-html/helpers/remove-format/remove-format-for-collapsed-selection.js +45 -0
  364. package/esm/plugins/clean-html/helpers/remove-format/remove-format-for-selection.js +53 -0
  365. package/esm/plugins/clean-html/helpers/visitor/filters/allow-attributes.js +30 -0
  366. package/esm/plugins/clean-html/helpers/visitor/filters/fill-empty-paragraph.js +20 -0
  367. package/esm/plugins/clean-html/helpers/visitor/filters/index.js +18 -0
  368. package/esm/plugins/clean-html/helpers/visitor/filters/remove-empty-text-node.js +19 -0
  369. package/esm/plugins/clean-html/helpers/visitor/filters/remove-inv-text-nodes.js +30 -0
  370. package/esm/plugins/clean-html/helpers/visitor/filters/replace-old-tags.js +31 -0
  371. package/esm/plugins/clean-html/helpers/visitor/filters/sanitize-attributes.js +20 -0
  372. package/esm/plugins/clean-html/helpers/visitor/filters/try-remove-node.js +33 -0
  373. package/esm/plugins/clean-html/helpers/visitor/visit-node-walker.js +29 -0
  374. package/esm/plugins/clipboard/clipboard.js +68 -0
  375. package/esm/plugins/clipboard/config.js +26 -0
  376. package/esm/plugins/clipboard/icons/copy.svg.js +1 -0
  377. package/esm/plugins/clipboard/icons/cut.svg.js +1 -0
  378. package/esm/plugins/clipboard/icons/paste.svg.js +1 -0
  379. package/esm/plugins/clipboard/icons/select-all.svg.js +1 -0
  380. package/esm/plugins/color/brush.svg.js +1 -0
  381. package/esm/plugins/color/color.js +38 -0
  382. package/esm/plugins/color/config.js +117 -0
  383. package/esm/plugins/copy-format/copy-format.js +105 -0
  384. package/esm/plugins/copy-format/copy-format.svg.js +1 -0
  385. package/esm/plugins/delete/delete.js +135 -0
  386. package/esm/plugins/delete/interface.js +1 -0
  387. package/esm/plugins/drag-and-drop/drag-and-drop.js +168 -0
  388. package/esm/plugins/drag-and-drop-element/config.js +10 -0
  389. package/esm/plugins/drag-and-drop-element/drag-and-drop-element.js +197 -0
  390. package/esm/plugins/dtd/after-insert/index.js +10 -0
  391. package/esm/plugins/dtd/after-insert/remove-extra-br.js +33 -0
  392. package/esm/plugins/dtd/before-insert/check-block-nesting.js +25 -0
  393. package/esm/plugins/dtd/before-insert/index.js +10 -0
  394. package/esm/plugins/dtd/config.js +39 -0
  395. package/esm/plugins/dtd/dtd.js +35 -0
  396. package/esm/plugins/enter/enter.js +96 -0
  397. package/esm/plugins/enter/helpers/check-br.js +55 -0
  398. package/esm/plugins/enter/helpers/check-unsplittable-box.js +17 -0
  399. package/esm/plugins/enter/helpers/get-block-wrapper.js +29 -0
  400. package/esm/plugins/enter/helpers/has-previous-block.js +12 -0
  401. package/esm/plugins/enter/helpers/index.js +17 -0
  402. package/esm/plugins/enter/helpers/insert-paragraph.js +24 -0
  403. package/esm/plugins/enter/helpers/move-cursor-out-from-specal-tags.js +22 -0
  404. package/esm/plugins/enter/helpers/process-empty-li-leaf.js +40 -0
  405. package/esm/plugins/enter/helpers/split-fragment.js +36 -0
  406. package/esm/plugins/enter/helpers/wrap-text.js +26 -0
  407. package/esm/plugins/enter/interface.js +1 -0
  408. package/esm/plugins/file/file.js +51 -0
  409. package/esm/plugins/focus/focus.js +70 -0
  410. package/esm/plugins/font/config.js +100 -0
  411. package/esm/plugins/font/font.js +42 -0
  412. package/esm/plugins/font/icons/font.svg.js +1 -0
  413. package/esm/plugins/font/icons/fontsize.svg.js +1 -0
  414. package/esm/plugins/format-block/format-block.js +90 -0
  415. package/esm/plugins/format-block/paragraph.svg.js +1 -0
  416. package/esm/plugins/fullsize/config.js +32 -0
  417. package/esm/plugins/fullsize/fullsize.js +98 -0
  418. package/esm/plugins/fullsize/icons/fullsize.svg.js +1 -0
  419. package/esm/plugins/fullsize/icons/shrink.svg.js +1 -0
  420. package/esm/plugins/hotkeys/config.js +25 -0
  421. package/esm/plugins/hotkeys/hotkeys.js +142 -0
  422. package/esm/plugins/hr/hr.js +38 -0
  423. package/esm/plugins/hr/hr.svg.js +1 -0
  424. package/esm/plugins/iframe/config.js +80 -0
  425. package/esm/plugins/iframe/iframe.js +177 -0
  426. package/esm/plugins/image/image.js +57 -0
  427. package/esm/plugins/image/image.svg.js +1 -0
  428. package/esm/plugins/image-processor/config.js +9 -0
  429. package/esm/plugins/image-processor/image-processor.js +117 -0
  430. package/esm/plugins/image-properties/config.js +28 -0
  431. package/esm/plugins/image-properties/image-properties.js +511 -0
  432. package/esm/plugins/image-properties/templates/form.js +26 -0
  433. package/esm/plugins/image-properties/templates/main-tab.js +47 -0
  434. package/esm/plugins/image-properties/templates/position-tab.js +66 -0
  435. package/esm/plugins/indent/config.js +29 -0
  436. package/esm/plugins/indent/helpers.js +14 -0
  437. package/esm/plugins/indent/icons/indent.svg.js +1 -0
  438. package/esm/plugins/indent/icons/outdent.svg.js +1 -0
  439. package/esm/plugins/indent/indent.js +68 -0
  440. package/esm/plugins/index.js +71 -0
  441. package/esm/plugins/inline-popup/config/config.js +52 -0
  442. package/esm/plugins/inline-popup/icons/addcolumn.svg.js +1 -0
  443. package/esm/plugins/inline-popup/icons/addrow.svg.js +1 -0
  444. package/esm/plugins/inline-popup/icons/merge.svg.js +1 -0
  445. package/esm/plugins/inline-popup/icons/splitg.svg.js +1 -0
  446. package/esm/plugins/inline-popup/icons/splitv.svg.js +1 -0
  447. package/esm/plugins/inline-popup/icons/th-list.svg.js +1 -0
  448. package/esm/plugins/inline-popup/icons/th.svg.js +1 -0
  449. package/esm/plugins/inline-popup/inline-popup.js +263 -0
  450. package/esm/plugins/justify/justify.js +109 -0
  451. package/esm/plugins/justify/justify.svg.js +1 -0
  452. package/esm/plugins/key-arrow-outside/key-arrow-outside.js +38 -0
  453. package/esm/plugins/limit/config.js +12 -0
  454. package/esm/plugins/limit/limit.js +102 -0
  455. package/esm/plugins/line-height/config.js +17 -0
  456. package/esm/plugins/line-height/line-height.js +72 -0
  457. package/esm/plugins/line-height/line-height.svg.js +1 -0
  458. package/esm/plugins/link/config.js +45 -0
  459. package/esm/plugins/link/icons/link.svg.js +1 -0
  460. package/esm/plugins/link/icons/unlink.svg.js +1 -0
  461. package/esm/plugins/link/link.js +301 -0
  462. package/esm/plugins/link/template.js +84 -0
  463. package/esm/plugins/media/config.js +12 -0
  464. package/esm/plugins/media/media.js +68 -0
  465. package/esm/plugins/mobile/config.js +42 -0
  466. package/esm/plugins/mobile/mobile.js +70 -0
  467. package/esm/plugins/ordered-list/config.js +41 -0
  468. package/esm/plugins/ordered-list/icons/ol.svg.js +1 -0
  469. package/esm/plugins/ordered-list/icons/ul.svg.js +1 -0
  470. package/esm/plugins/ordered-list/ordered-list.js +47 -0
  471. package/esm/plugins/paste/config.js +80 -0
  472. package/esm/plugins/paste/helpers.js +104 -0
  473. package/esm/plugins/paste/interface.js +6 -0
  474. package/esm/plugins/paste/paste.js +165 -0
  475. package/esm/plugins/paste-from-word/config.js +15 -0
  476. package/esm/plugins/paste-from-word/paste-from-word.js +68 -0
  477. package/esm/plugins/paste-storage/paste-storage.js +170 -0
  478. package/esm/plugins/placeholder/config.js +12 -0
  479. package/esm/plugins/placeholder/placeholder.js +158 -0
  480. package/esm/plugins/powered-by-jodit/powered-by-jodit.js +26 -0
  481. package/esm/plugins/preview/preview.js +36 -0
  482. package/esm/plugins/print/lib/generate-critical-css.js +102 -0
  483. package/esm/plugins/print/print.js +69 -0
  484. package/esm/plugins/print/print.svg.js +1 -0
  485. package/esm/plugins/redo-undo/icons/redo.svg.js +1 -0
  486. package/esm/plugins/redo-undo/icons/undo.svg.js +1 -0
  487. package/esm/plugins/redo-undo/redo-undo.js +58 -0
  488. package/esm/plugins/resize-cells/config.js +10 -0
  489. package/esm/plugins/resize-cells/resize-cells.js +306 -0
  490. package/esm/plugins/resize-handler/config.js +11 -0
  491. package/esm/plugins/resize-handler/resize-handler.js +105 -0
  492. package/esm/plugins/resizer/config.js +15 -0
  493. package/esm/plugins/resizer/resizer.js +455 -0
  494. package/esm/plugins/search/config.js +40 -0
  495. package/esm/plugins/search/helpers/index.js +10 -0
  496. package/esm/plugins/search/helpers/sentence-finder.js +60 -0
  497. package/esm/plugins/search/helpers/wrap-ranges-texts-in-tmp-span.js +100 -0
  498. package/esm/plugins/search/interface.js +1 -0
  499. package/esm/plugins/search/search.js +339 -0
  500. package/esm/plugins/search/search.svg.js +1 -0
  501. package/esm/plugins/search/ui/search.js +205 -0
  502. package/esm/plugins/select/config.js +12 -0
  503. package/esm/plugins/select/select.js +105 -0
  504. package/esm/plugins/select-cells/config.js +10 -0
  505. package/esm/plugins/select-cells/select-cells.js +320 -0
  506. package/esm/plugins/size/config.js +33 -0
  507. package/esm/plugins/size/size.js +161 -0
  508. package/esm/plugins/source/config.js +50 -0
  509. package/esm/plugins/source/editor/engines/ace.js +209 -0
  510. package/esm/plugins/source/editor/engines/area.js +103 -0
  511. package/esm/plugins/source/editor/engines/custom.js +34 -0
  512. package/esm/plugins/source/editor/engines/index.js +11 -0
  513. package/esm/plugins/source/editor/factory.js +29 -0
  514. package/esm/plugins/source/editor/sourceEditor.js +34 -0
  515. package/esm/plugins/source/source.js +311 -0
  516. package/esm/plugins/source/source.svg.js +1 -0
  517. package/esm/plugins/speech-recognize/config.js +91 -0
  518. package/esm/plugins/speech-recognize/constants.js +11 -0
  519. package/esm/plugins/speech-recognize/helpers/api.js +7 -0
  520. package/esm/plugins/speech-recognize/helpers/exec-spell-command.js +9 -0
  521. package/esm/plugins/speech-recognize/helpers/recognize-manager.js +159 -0
  522. package/esm/plugins/speech-recognize/helpers/sound.js +30 -0
  523. package/esm/plugins/speech-recognize/interface.js +6 -0
  524. package/esm/plugins/speech-recognize/speech-recognize.js +106 -0
  525. package/esm/plugins/speech-recognize/speech-recognize.svg.js +1 -0
  526. package/esm/plugins/spellcheck/config.js +18 -0
  527. package/esm/plugins/spellcheck/spellcheck.js +40 -0
  528. package/esm/plugins/spellcheck/spellcheck.svg.js +1 -0
  529. package/esm/plugins/stat/config.js +12 -0
  530. package/esm/plugins/stat/stat.js +61 -0
  531. package/esm/plugins/sticky/config.js +12 -0
  532. package/esm/plugins/sticky/sticky.js +116 -0
  533. package/esm/plugins/symbols/config.js +244 -0
  534. package/esm/plugins/symbols/symbols.js +133 -0
  535. package/esm/plugins/symbols/symbols.svg.js +1 -0
  536. package/esm/plugins/tab/cases/index.js +9 -0
  537. package/esm/plugins/tab/cases/on-tab-inside-li.js +105 -0
  538. package/esm/plugins/tab/config.js +12 -0
  539. package/esm/plugins/tab/tab.js +41 -0
  540. package/esm/plugins/table/config.js +143 -0
  541. package/esm/plugins/table/table.js +20 -0
  542. package/esm/plugins/table/table.svg.js +1 -0
  543. package/esm/plugins/table-keyboard-navigation/table-keyboard-navigation.js +118 -0
  544. package/esm/plugins/video/config.js +64 -0
  545. package/esm/plugins/video/video.js +14 -0
  546. package/esm/plugins/video/video.svg.js +1 -0
  547. package/esm/plugins/wrap-nodes/config.js +10 -0
  548. package/esm/plugins/wrap-nodes/wrap-nodes.js +130 -0
  549. package/esm/plugins/xpath/config.js +10 -0
  550. package/esm/plugins/xpath/xpath.js +157 -0
  551. package/esm/polyfills.js +54 -0
  552. package/esm/styles/icons/angle-down.svg.js +1 -0
  553. package/esm/styles/icons/angle-left.svg.js +1 -0
  554. package/esm/styles/icons/angle-right.svg.js +1 -0
  555. package/esm/styles/icons/angle-up.svg.js +1 -0
  556. package/esm/styles/icons/bin.svg.js +1 -0
  557. package/esm/styles/icons/cancel.svg.js +1 -0
  558. package/esm/styles/icons/center.svg.js +1 -0
  559. package/esm/styles/icons/check.svg.js +1 -0
  560. package/esm/styles/icons/chevron.svg.js +1 -0
  561. package/esm/styles/icons/dots.svg.js +1 -0
  562. package/esm/styles/icons/eye.svg.js +1 -0
  563. package/esm/styles/icons/file.svg.js +1 -0
  564. package/esm/styles/icons/folder.svg.js +1 -0
  565. package/esm/styles/icons/index.js +38 -0
  566. package/esm/styles/icons/info-circle.svg.js +1 -0
  567. package/esm/styles/icons/left.svg.js +1 -0
  568. package/esm/styles/icons/lock.svg.js +1 -0
  569. package/esm/styles/icons/ok.svg.js +1 -0
  570. package/esm/styles/icons/pencil.svg.js +1 -0
  571. package/esm/styles/icons/pins.svg.js +1 -0
  572. package/esm/styles/icons/plus.svg.js +1 -0
  573. package/esm/styles/icons/resize-handler.svg.js +1 -0
  574. package/esm/styles/icons/right.svg.js +1 -0
  575. package/esm/styles/icons/save.svg.js +1 -0
  576. package/esm/styles/icons/settings.svg.js +1 -0
  577. package/esm/styles/icons/unlock.svg.js +1 -0
  578. package/esm/styles/icons/update.svg.js +1 -0
  579. package/esm/styles/icons/upload.svg.js +1 -0
  580. package/esm/styles/icons/valign.svg.js +1 -0
  581. package/examples/arabic.lang.html +76 -0
  582. package/examples/assets/app.css +176 -0
  583. package/examples/assets/app.js +58 -0
  584. package/examples/assets/download.jpg +0 -0
  585. package/examples/assets/icon.png +0 -0
  586. package/examples/assets/logo.png +0 -0
  587. package/examples/assets/prism.css +200 -0
  588. package/examples/assets/prism.js +1254 -0
  589. package/examples/color-picker.html +139 -0
  590. package/examples/custom-icons.html +173 -0
  591. package/examples/custom-toolbar.html +80 -0
  592. package/examples/example.default.html +121 -0
  593. package/examples/fullsize.html +75 -0
  594. package/examples/index.html +176 -0
  595. package/examples/inline-mode.html +116 -0
  596. package/examples/oneinstance.html +125 -0
  597. package/examples/theme.html +121 -0
  598. package/package.json +10 -124
  599. package/types/config.d.ts +2 -556
  600. package/types/core/async/async.d.ts +3 -33
  601. package/types/core/async/index.d.ts +1 -4
  602. package/types/core/component/component.d.ts +2 -83
  603. package/types/core/component/index.d.ts +3 -6
  604. package/types/core/component/statuses.d.ts +0 -3
  605. package/types/core/component/view-component.d.ts +2 -15
  606. package/types/core/constants.d.ts +3 -61
  607. package/types/core/create/create.d.ts +3 -35
  608. package/types/core/create/index.d.ts +1 -4
  609. package/types/core/decorators/cache/cache.d.ts +2 -0
  610. package/types/core/decorators/component/component.d.ts +0 -9
  611. package/types/core/decorators/debounce/debounce.d.ts +1 -9
  612. package/types/core/decorators/hook/hook.d.ts +3 -11
  613. package/types/core/decorators/idle/idle.d.ts +1 -6
  614. package/types/core/decorators/index.d.ts +11 -16
  615. package/types/core/decorators/nonenumerable/nonenumerable.d.ts +0 -5
  616. package/types/core/decorators/persistent/persistent.d.ts +1 -6
  617. package/types/core/decorators/wait/wait.d.ts +1 -6
  618. package/types/core/decorators/watch/watch.d.ts +5 -10
  619. package/types/core/dom/dom.d.ts +5 -176
  620. package/types/core/dom/index.d.ts +2 -5
  621. package/types/core/dom/lazy-walker.d.ts +2 -5
  622. package/types/core/event-emitter/event-emitter.d.ts +4 -100
  623. package/types/core/event-emitter/eventify.d.ts +1 -26
  624. package/types/core/event-emitter/index.d.ts +4 -7
  625. package/types/core/event-emitter/observable.d.ts +1 -39
  626. package/types/core/event-emitter/store.d.ts +1 -4
  627. package/types/core/global.d.ts +3 -15
  628. package/types/core/helpers/array/as-array.d.ts +0 -3
  629. package/types/core/helpers/array/index.d.ts +3 -6
  630. package/types/core/helpers/array/split-array.d.ts +0 -6
  631. package/types/core/helpers/array/to-array.d.ts +0 -4
  632. package/types/core/helpers/async/index.d.ts +1 -4
  633. package/types/core/helpers/async/set-timeout.d.ts +0 -9
  634. package/types/core/helpers/checker/has-browser-color-picker.d.ts +0 -6
  635. package/types/core/helpers/checker/index.d.ts +24 -26
  636. package/types/core/helpers/checker/is-array.d.ts +0 -6
  637. package/types/core/helpers/checker/is-boolean.d.ts +0 -3
  638. package/types/core/helpers/checker/is-equal.d.ts +0 -3
  639. package/types/core/helpers/checker/is-function.d.ts +0 -6
  640. package/types/core/helpers/checker/is-html-from-word.d.ts +0 -6
  641. package/types/core/helpers/checker/is-html.d.ts +0 -3
  642. package/types/core/helpers/checker/is-imp-interface.d.ts +1 -13
  643. package/types/core/helpers/checker/is-int.d.ts +0 -3
  644. package/types/core/helpers/checker/is-jodit-object.d.ts +1 -7
  645. package/types/core/helpers/checker/is-marker.d.ts +1 -4
  646. package/types/core/helpers/checker/is-native-function.d.ts +0 -6
  647. package/types/core/helpers/checker/is-number.d.ts +0 -6
  648. package/types/core/helpers/checker/is-numeric.d.ts +0 -3
  649. package/types/core/helpers/checker/is-plain-object.d.ts +1 -7
  650. package/types/core/helpers/checker/is-promise.d.ts +0 -3
  651. package/types/core/helpers/checker/is-set.d.ts +6 -0
  652. package/types/core/helpers/checker/is-string.d.ts +0 -6
  653. package/types/core/helpers/checker/is-url.d.ts +0 -6
  654. package/types/core/helpers/checker/is-valid-name.d.ts +0 -6
  655. package/types/core/helpers/checker/is-view-object.d.ts +1 -7
  656. package/types/core/helpers/checker/is-void.d.ts +0 -6
  657. package/types/core/helpers/checker/is-window.d.ts +0 -3
  658. package/types/core/helpers/color/color-to-hex.d.ts +0 -16
  659. package/types/core/helpers/color/index.d.ts +1 -4
  660. package/types/core/helpers/html/apply-styles.d.ts +0 -5
  661. package/types/core/helpers/html/clean-from-word.d.ts +0 -4
  662. package/types/core/helpers/html/htmlspecialchars.d.ts +0 -7
  663. package/types/core/helpers/html/index.d.ts +6 -9
  664. package/types/core/helpers/html/nl2br.d.ts +0 -6
  665. package/types/core/helpers/html/safe-html.d.ts +0 -3
  666. package/types/core/helpers/html/strip-tags.d.ts +1 -7
  667. package/types/core/helpers/index.d.ts +9 -14
  668. package/types/core/helpers/normalize/index.d.ts +8 -12
  669. package/types/core/helpers/normalize/normalize-color.d.ts +0 -6
  670. package/types/core/helpers/normalize/normalize-key-aliases.d.ts +0 -3
  671. package/types/core/helpers/normalize/normalize-license.d.ts +0 -3
  672. package/types/core/helpers/normalize/normalize-path.d.ts +0 -3
  673. package/types/core/helpers/normalize/normalize-relative-path.d.ts +0 -3
  674. package/types/core/helpers/normalize/normalize-size.d.ts +0 -6
  675. package/types/core/helpers/normalize/normalize-url.d.ts +0 -3
  676. package/types/core/helpers/size/get-content-width.d.ts +0 -3
  677. package/types/core/helpers/size/get-scroll-parent.d.ts +1 -4
  678. package/types/core/helpers/size/index.d.ts +6 -9
  679. package/types/core/helpers/size/inner-width.d.ts +0 -3
  680. package/types/core/helpers/size/object-size.d.ts +1 -1
  681. package/types/core/helpers/size/offset.d.ts +1 -8
  682. package/types/core/helpers/size/position.d.ts +1 -4
  683. package/types/core/helpers/string/camel-case.d.ts +0 -6
  684. package/types/core/helpers/string/fuzzy-search-index.d.ts +4 -5
  685. package/types/core/helpers/string/i18n.d.ts +1 -32
  686. package/types/core/helpers/string/index.d.ts +7 -10
  687. package/types/core/helpers/string/kebab-case.d.ts +0 -3
  688. package/types/core/helpers/string/stringify.d.ts +0 -3
  689. package/types/core/helpers/string/trim.d.ts +0 -7
  690. package/types/core/helpers/string/ucfirst.d.ts +0 -6
  691. package/types/core/helpers/utils/align.d.ts +1 -13
  692. package/types/core/helpers/utils/append-script.d.ts +1 -13
  693. package/types/core/helpers/utils/assert.d.ts +0 -1
  694. package/types/core/helpers/utils/attr.d.ts +10 -0
  695. package/types/core/helpers/utils/browser.d.ts +0 -14
  696. package/types/core/helpers/utils/build-query.d.ts +1 -7
  697. package/types/core/helpers/utils/complete-url.d.ts +0 -3
  698. package/types/core/helpers/utils/config-proto.d.ts +1 -34
  699. package/types/core/helpers/utils/convert-media-url-to-video-embed.d.ts +0 -3
  700. package/types/core/helpers/utils/css.d.ts +1 -7
  701. package/types/core/helpers/utils/ctrl-key.d.ts +0 -7
  702. package/types/core/helpers/utils/data-bind.d.ts +1 -4
  703. package/types/core/helpers/utils/default-language.d.ts +0 -3
  704. package/types/core/helpers/utils/error/error.d.ts +0 -3
  705. package/types/core/helpers/utils/error/errors/abort-error.d.ts +0 -3
  706. package/types/core/helpers/utils/error/errors/connection-error.d.ts +0 -3
  707. package/types/core/helpers/utils/error/errors/index.d.ts +3 -6
  708. package/types/core/helpers/utils/error/errors/options-error.d.ts +0 -3
  709. package/types/core/helpers/utils/error/index.d.ts +2 -5
  710. package/types/core/helpers/utils/get-class-name.d.ts +1 -4
  711. package/types/core/helpers/utils/get.d.ts +1 -23
  712. package/types/core/helpers/utils/human-size-to-bytes.d.ts +0 -7
  713. package/types/core/helpers/utils/index.d.ts +28 -30
  714. package/types/core/helpers/utils/mark-deprecated.d.ts +0 -10
  715. package/types/core/helpers/utils/parse-query.d.ts +1 -7
  716. package/types/core/helpers/utils/print.d.ts +5 -11
  717. package/types/core/helpers/utils/reset.d.ts +1 -11
  718. package/types/core/helpers/utils/scroll-into-view.d.ts +1 -4
  719. package/types/core/helpers/utils/selector.d.ts +2 -31
  720. package/types/core/helpers/utils/set.d.ts +1 -17
  721. package/types/core/helpers/utils/stack.d.ts +1 -4
  722. package/types/core/helpers/utils/utils.d.ts +1 -41
  723. package/types/core/helpers/utils/val.d.ts +0 -3
  724. package/types/core/plugin/helpers/init-instance.d.ts +1 -12
  725. package/types/core/plugin/helpers/load.d.ts +1 -10
  726. package/types/core/plugin/helpers/make-instance.d.ts +1 -8
  727. package/types/core/plugin/helpers/utils.d.ts +0 -3
  728. package/types/core/plugin/index.d.ts +2 -5
  729. package/types/core/plugin/interface.d.ts +1 -5
  730. package/types/core/plugin/plugin-system.d.ts +3 -33
  731. package/types/core/plugin/plugin.d.ts +2 -12
  732. package/types/core/request/ajax.d.ts +2 -7
  733. package/types/core/request/config.d.ts +2 -8
  734. package/types/core/request/index.d.ts +2 -5
  735. package/types/core/request/response.d.ts +1 -4
  736. package/types/core/selection/helpers/index.d.ts +2 -5
  737. package/types/core/selection/helpers/move-node-inside-start.d.ts +1 -9
  738. package/types/core/selection/helpers/move-the-node-along-the-edge-outward.d.ts +0 -3
  739. package/types/core/selection/index.d.ts +2 -5
  740. package/types/core/selection/interface.d.ts +1 -10
  741. package/types/core/selection/selection.d.ts +73 -0
  742. package/types/core/selection/style/api/extract.d.ts +1 -17
  743. package/types/core/selection/style/api/finite-state-machine.d.ts +1 -4
  744. package/types/core/selection/style/api/get-suit-child.d.ts +1 -9
  745. package/types/core/selection/style/api/get-suit-parent.d.ts +1 -9
  746. package/types/core/selection/style/api/has-same-style.d.ts +1 -8
  747. package/types/core/selection/style/api/index.d.ts +15 -15
  748. package/types/core/selection/style/api/is-inside-invisible-element.d.ts +0 -4
  749. package/types/core/selection/style/api/is-normal-node.d.ts +1 -5
  750. package/types/core/selection/style/api/is-same-attributes.d.ts +1 -5
  751. package/types/core/selection/style/api/is-suit-element.d.ts +1 -25
  752. package/types/core/selection/style/api/list/toggle-ordered-list.d.ts +1 -5
  753. package/types/core/selection/style/api/list/wrap-list.d.ts +1 -6
  754. package/types/core/selection/style/api/toggle-attributes.d.ts +1 -5
  755. package/types/core/selection/style/api/unwrap-children.d.ts +1 -5
  756. package/types/core/selection/style/api/wrap-unwrapped-text.d.ts +1 -5
  757. package/types/core/selection/style/api/wrap.d.ts +1 -5
  758. package/types/core/selection/style/apply-style.d.ts +1 -5
  759. package/types/core/selection/style/commit-style.d.ts +1 -10
  760. package/types/core/selection/style/transactions.d.ts +2 -1
  761. package/types/core/storage/engines/local-storage-provider.d.ts +1 -10
  762. package/types/core/storage/engines/memory-storage-provider.d.ts +1 -4
  763. package/types/core/storage/index.d.ts +3 -6
  764. package/types/core/storage/storage.d.ts +1 -6
  765. package/types/core/traits/dlgs.d.ts +1 -4
  766. package/types/core/traits/elms.d.ts +1 -10
  767. package/types/core/traits/mods.d.ts +1 -12
  768. package/types/core/ui/button/button/button.d.ts +6 -37
  769. package/types/core/ui/button/group/group.d.ts +2 -8
  770. package/types/core/ui/button/index.d.ts +3 -8
  771. package/types/core/ui/button/tooltip/tooltip.d.ts +13 -14
  772. package/types/core/ui/element.d.ts +4 -30
  773. package/types/core/ui/form/block/block.d.ts +2 -6
  774. package/types/core/ui/form/form.d.ts +2 -9
  775. package/types/core/ui/form/index.d.ts +3 -6
  776. package/types/core/ui/form/inputs/area/area.d.ts +2 -10
  777. package/types/core/ui/form/inputs/checkbox/checkbox.d.ts +2 -10
  778. package/types/core/ui/form/inputs/file/file.d.ts +2 -6
  779. package/types/core/ui/form/inputs/index.d.ts +5 -8
  780. package/types/core/ui/form/inputs/input/input.d.ts +2 -20
  781. package/types/core/ui/form/inputs/select/select.d.ts +2 -12
  782. package/types/core/ui/form/validators/index.d.ts +2 -5
  783. package/types/core/ui/form/validators/input.d.ts +1 -10
  784. package/types/core/ui/form/validators/select.d.ts +1 -7
  785. package/types/core/ui/group/group.d.ts +5 -37
  786. package/types/core/ui/group/index.d.ts +4 -7
  787. package/types/core/ui/group/list.d.ts +2 -18
  788. package/types/core/ui/group/separator.d.ts +1 -4
  789. package/types/core/ui/group/spacer.d.ts +1 -4
  790. package/types/core/ui/helpers/buttons.d.ts +1 -10
  791. package/types/core/ui/helpers/get-control-type.d.ts +1 -11
  792. package/types/core/ui/helpers/get-strong-control-types.d.ts +1 -7
  793. package/types/core/ui/icon.d.ts +2 -16
  794. package/types/core/ui/index.d.ts +7 -12
  795. package/types/core/ui/popup/index.d.ts +1 -4
  796. package/types/core/ui/popup/popup.d.ts +2 -37
  797. package/types/core/ui/progress-bar/progress-bar.d.ts +2 -12
  798. package/types/core/view/view-with-toolbar.d.ts +3 -25
  799. package/types/core/view/view.d.ts +11 -72
  800. package/types/index.d.ts +2 -7
  801. package/types/jodit.d.ts +8 -264
  802. package/types/langs/ar.d.ts +212 -0
  803. package/types/langs/cs_cz.d.ts +214 -0
  804. package/types/langs/de.d.ts +217 -0
  805. package/types/langs/en.d.ts +6 -0
  806. package/types/langs/es.d.ts +217 -0
  807. package/types/langs/fr.d.ts +209 -0
  808. package/types/langs/he.d.ts +212 -0
  809. package/types/langs/hu.d.ts +214 -0
  810. package/types/langs/id.d.ts +214 -0
  811. package/types/langs/index.d.ts +1 -6
  812. package/types/langs/it.d.ts +212 -0
  813. package/types/langs/ja.d.ts +217 -0
  814. package/types/langs/keys.d.ts +1 -0
  815. package/types/langs/ko.d.ts +212 -0
  816. package/types/langs/mn.d.ts +212 -0
  817. package/types/langs/nl.d.ts +213 -0
  818. package/types/langs/pl.d.ts +212 -0
  819. package/types/langs/pt_br.d.ts +217 -0
  820. package/types/langs/ru.d.ts +212 -0
  821. package/types/langs/tr.d.ts +212 -0
  822. package/types/langs/zh_cn.d.ts +213 -0
  823. package/types/langs/zh_tw.d.ts +211 -0
  824. package/types/modules/context-menu/context-menu.d.ts +2 -22
  825. package/types/modules/dialog/alert.d.ts +1 -18
  826. package/types/modules/dialog/confirm.d.ts +1 -18
  827. package/types/modules/dialog/dialog.d.ts +3 -118
  828. package/types/modules/dialog/index.d.ts +4 -9
  829. package/types/modules/dialog/prompt.d.ts +1 -21
  830. package/types/modules/file-browser/builders/context-menu.d.ts +1 -4
  831. package/types/modules/file-browser/builders/elements-map.d.ts +1 -8
  832. package/types/modules/file-browser/builders/item.d.ts +1 -4
  833. package/types/modules/file-browser/config.d.ts +2 -2
  834. package/types/modules/file-browser/data-provider.d.ts +1 -73
  835. package/types/modules/file-browser/factories.d.ts +1 -4
  836. package/types/modules/file-browser/fetch/delete-file.d.ts +1 -8
  837. package/types/modules/file-browser/fetch/load-items.d.ts +1 -8
  838. package/types/modules/file-browser/fetch/load-tree.d.ts +1 -8
  839. package/types/modules/file-browser/file-browser.d.ts +9 -49
  840. package/types/modules/file-browser/index.d.ts +1 -6
  841. package/types/modules/file-browser/listeners/native-listeners.d.ts +2 -14
  842. package/types/modules/file-browser/listeners/self-listeners.d.ts +1 -7
  843. package/types/modules/file-browser/listeners/state-listeners.d.ts +1 -8
  844. package/types/modules/file-browser/ui/files/files.d.ts +1 -1
  845. package/types/modules/file-browser/ui/index.d.ts +2 -5
  846. package/types/modules/file-browser/ui/tree/tree.d.ts +1 -1
  847. package/types/modules/history/command.d.ts +2 -5
  848. package/types/modules/history/history.d.ts +5 -42
  849. package/types/modules/history/snapshot.d.ts +2 -42
  850. package/types/modules/history/stack.d.ts +2 -5
  851. package/types/modules/image-editor/config.d.ts +2 -2
  852. package/types/modules/image-editor/image-editor.d.ts +4 -57
  853. package/types/modules/image-editor/templates/form.d.ts +1 -4
  854. package/types/modules/index.d.ts +26 -31
  855. package/types/modules/messages/message.d.ts +2 -5
  856. package/types/modules/messages/messages.d.ts +2 -25
  857. package/types/modules/status-bar/status-bar.d.ts +4 -23
  858. package/types/modules/table/table.d.ts +2 -59
  859. package/types/modules/toolbar/button/button.d.ts +4 -47
  860. package/types/modules/toolbar/button/content.d.ts +2 -8
  861. package/types/modules/toolbar/button/index.d.ts +2 -5
  862. package/types/modules/toolbar/collection/collection.d.ts +2 -25
  863. package/types/modules/toolbar/collection/editor-collection.d.ts +2 -21
  864. package/types/modules/toolbar/factory.d.ts +1 -12
  865. package/types/modules/uploader/config.d.ts +2 -8
  866. package/types/modules/uploader/helpers/build-data.d.ts +1 -4
  867. package/types/modules/uploader/helpers/data-uri-to-blob.d.ts +0 -6
  868. package/types/modules/uploader/helpers/index.d.ts +6 -9
  869. package/types/modules/uploader/helpers/process-old-browser-drag.d.ts +1 -4
  870. package/types/modules/uploader/helpers/send-files.d.ts +1 -7
  871. package/types/modules/uploader/helpers/send.d.ts +2 -5
  872. package/types/modules/uploader/uploader.d.ts +3 -38
  873. package/types/modules/widget/color-picker/color-picker.d.ts +1 -23
  874. package/types/modules/widget/file-selector/file-selector.d.ts +1 -42
  875. package/types/modules/widget/index.d.ts +3 -8
  876. package/types/modules/widget/tabs/tabs.d.ts +2 -24
  877. package/types/plugins/about/about.d.ts +0 -5
  878. package/types/plugins/add-new-line/add-new-line.d.ts +3 -12
  879. package/types/plugins/add-new-line/config.d.ts +2 -24
  880. package/types/plugins/backspace/backspace.d.ts +3 -18
  881. package/types/plugins/backspace/cases/check-join-neighbors.d.ts +1 -8
  882. package/types/plugins/backspace/cases/check-join-two-lists.d.ts +1 -17
  883. package/types/plugins/backspace/cases/check-not-collapsed.d.ts +1 -17
  884. package/types/plugins/backspace/cases/check-remove-char.d.ts +2 -18
  885. package/types/plugins/backspace/cases/check-remove-content-not-editable.d.ts +1 -8
  886. package/types/plugins/backspace/cases/check-remove-empty-neighbor.d.ts +1 -17
  887. package/types/plugins/backspace/cases/check-remove-empty-parent.d.ts +1 -18
  888. package/types/plugins/backspace/cases/check-remove-unbreakable-element.d.ts +1 -18
  889. package/types/plugins/backspace/cases/check-table-cell.d.ts +1 -18
  890. package/types/plugins/backspace/cases/check-unwrap-first-list-item.d.ts +1 -18
  891. package/types/plugins/backspace/cases/index.d.ts +3 -6
  892. package/types/plugins/backspace/config.d.ts +1 -1
  893. package/types/plugins/backspace/helpers.d.ts +1 -12
  894. package/types/plugins/backspace/interface.d.ts +11 -10
  895. package/types/plugins/bold/bold.d.ts +3 -11
  896. package/types/plugins/bold/interface.d.ts +1 -19
  897. package/types/plugins/class-span/class-span.d.ts +2 -29
  898. package/types/plugins/clean-html/clean-html.d.ts +3 -20
  899. package/types/plugins/clean-html/config.d.ts +2 -75
  900. package/types/plugins/clean-html/helpers/get-hash.d.ts +1 -7
  901. package/types/plugins/clean-html/helpers/index.d.ts +4 -7
  902. package/types/plugins/clean-html/helpers/remove-format/remove-format-for-collapsed-selection.d.ts +1 -12
  903. package/types/plugins/clean-html/helpers/remove-format/remove-format-for-selection.d.ts +1 -8
  904. package/types/plugins/clean-html/helpers/visitor/filters/allow-attributes.d.ts +1 -7
  905. package/types/plugins/clean-html/helpers/visitor/filters/fill-empty-paragraph.d.ts +1 -7
  906. package/types/plugins/clean-html/helpers/visitor/filters/index.d.ts +7 -13
  907. package/types/plugins/clean-html/helpers/visitor/filters/remove-empty-text-node.d.ts +1 -7
  908. package/types/plugins/clean-html/helpers/visitor/filters/remove-inv-text-nodes.d.ts +1 -7
  909. package/types/plugins/clean-html/helpers/visitor/filters/replace-old-tags.d.ts +1 -7
  910. package/types/plugins/clean-html/helpers/visitor/filters/sanitize-attributes.d.ts +1 -7
  911. package/types/plugins/clean-html/helpers/visitor/filters/try-remove-node.d.ts +1 -7
  912. package/types/plugins/clean-html/helpers/visitor/visit-node-walker.d.ts +1 -7
  913. package/types/plugins/clipboard/clipboard.d.ts +3 -13
  914. package/types/plugins/color/color.d.ts +2 -10
  915. package/types/plugins/copy-format/copy-format.d.ts +1 -6
  916. package/types/plugins/copy-format/langs/index.d.ts +26 -0
  917. package/types/plugins/debug/debug.d.ts +11 -0
  918. package/types/plugins/delete/delete.d.ts +19 -0
  919. package/types/plugins/delete/interface.d.ts +10 -0
  920. package/types/plugins/drag-and-drop/drag-and-drop.d.ts +1 -6
  921. package/types/plugins/drag-and-drop-element/config.d.ts +1 -4
  922. package/types/plugins/drag-and-drop-element/drag-and-drop-element.d.ts +2 -28
  923. package/types/plugins/dtd/after-insert/index.d.ts +1 -5
  924. package/types/plugins/dtd/after-insert/remove-extra-br.d.ts +1 -10
  925. package/types/plugins/dtd/before-insert/check-block-nesting.d.ts +1 -10
  926. package/types/plugins/dtd/before-insert/index.d.ts +1 -5
  927. package/types/plugins/dtd/config.d.ts +2 -14
  928. package/types/plugins/dtd/dtd.d.ts +1 -1
  929. package/types/plugins/enter/enter.d.ts +3 -14
  930. package/types/plugins/enter/helpers/check-br.d.ts +1 -8
  931. package/types/plugins/enter/helpers/check-unsplittable-box.d.ts +1 -8
  932. package/types/plugins/enter/helpers/get-block-wrapper.d.ts +1 -8
  933. package/types/plugins/enter/helpers/has-previous-block.d.ts +1 -7
  934. package/types/plugins/enter/helpers/index.d.ts +9 -12
  935. package/types/plugins/enter/helpers/insert-paragraph.d.ts +1 -8
  936. package/types/plugins/enter/helpers/move-cursor-out-from-specal-tags.d.ts +1 -8
  937. package/types/plugins/enter/helpers/process-empty-li-leaf.d.ts +1 -8
  938. package/types/plugins/enter/helpers/split-fragment.d.ts +1 -9
  939. package/types/plugins/enter/helpers/wrap-text.d.ts +1 -9
  940. package/types/plugins/enter/interface.d.ts +1 -21
  941. package/types/plugins/file/file.d.ts +1 -6
  942. package/types/plugins/focus/focus.d.ts +2 -7
  943. package/types/plugins/font/config.d.ts +1 -1
  944. package/types/plugins/font/font.d.ts +2 -10
  945. package/types/plugins/format-block/format-block.d.ts +1 -9
  946. package/types/plugins/fullsize/config.d.ts +1 -23
  947. package/types/plugins/fullsize/fullsize.d.ts +2 -10
  948. package/types/plugins/hotkeys/config.d.ts +2 -5
  949. package/types/plugins/hotkeys/hotkeys.d.ts +3 -13
  950. package/types/plugins/hr/hr.d.ts +1 -6
  951. package/types/plugins/iframe/config.d.ts +1 -50
  952. package/types/plugins/iframe/iframe.d.ts +2 -11
  953. package/types/plugins/image/image.d.ts +1 -6
  954. package/types/plugins/image-processor/config.d.ts +1 -4
  955. package/types/plugins/image-processor/image-processor.d.ts +3 -11
  956. package/types/plugins/image-properties/config.d.ts +5 -62
  957. package/types/plugins/image-properties/image-properties.d.ts +3 -45
  958. package/types/plugins/image-properties/templates/form.d.ts +1 -4
  959. package/types/plugins/image-properties/templates/main-tab.d.ts +1 -4
  960. package/types/plugins/image-properties/templates/position-tab.d.ts +1 -4
  961. package/types/plugins/indent/config.d.ts +1 -4
  962. package/types/plugins/indent/helpers.d.ts +0 -4
  963. package/types/plugins/indent/indent.d.ts +2 -10
  964. package/types/plugins/index.d.ts +61 -65
  965. package/types/plugins/inline-popup/config/config.d.ts +2 -5
  966. package/types/plugins/inline-popup/config/items/a.d.ts +8 -0
  967. package/types/plugins/inline-popup/config/items/cells.d.ts +8 -0
  968. package/types/plugins/inline-popup/config/items/iframe.d.ts +12 -0
  969. package/types/plugins/inline-popup/config/items/img.d.ts +9 -0
  970. package/types/plugins/inline-popup/config/items/toolbar.d.ts +7 -0
  971. package/types/plugins/inline-popup/inline-popup.d.ts +5 -41
  972. package/types/plugins/justify/justify.d.ts +1 -9
  973. package/types/plugins/key-arrow-outside/key-arrow-outside.d.ts +2 -10
  974. package/types/plugins/limit/config.d.ts +1 -10
  975. package/types/plugins/limit/limit.d.ts +3 -25
  976. package/types/plugins/line-height/config.d.ts +1 -10
  977. package/types/plugins/line-height/langs/index.d.ts +26 -0
  978. package/types/plugins/line-height/line-height.d.ts +3 -8
  979. package/types/plugins/link/config.d.ts +2 -35
  980. package/types/plugins/link/link.d.ts +3 -14
  981. package/types/plugins/link/template.d.ts +1 -4
  982. package/types/plugins/media/config.d.ts +1 -10
  983. package/types/plugins/media/media.d.ts +2 -10
  984. package/types/plugins/mobile/config.d.ts +1 -7
  985. package/types/plugins/mobile/mobile.d.ts +2 -10
  986. package/types/plugins/ordered-list/ordered-list.d.ts +3 -11
  987. package/types/plugins/paste/config.d.ts +2 -21
  988. package/types/plugins/paste/helpers.d.ts +2 -17
  989. package/types/plugins/paste/interface.d.ts +2 -17
  990. package/types/plugins/paste/paste.d.ts +4 -35
  991. package/types/plugins/paste-from-word/config.d.ts +2 -23
  992. package/types/plugins/paste-from-word/paste-from-word.d.ts +4 -15
  993. package/types/plugins/paste-storage/paste-storage.d.ts +1 -9
  994. package/types/plugins/placeholder/config.d.ts +1 -32
  995. package/types/plugins/placeholder/placeholder.d.ts +3 -15
  996. package/types/plugins/powered-by-jodit/powered-by-jodit.d.ts +2 -10
  997. package/types/plugins/preview/preview.d.ts +1 -6
  998. package/types/plugins/print/lib/generate-critical-css.d.ts +1 -7
  999. package/types/plugins/print/print.d.ts +1 -6
  1000. package/types/plugins/redo-undo/redo-undo.d.ts +2 -11
  1001. package/types/plugins/resize-cells/config.d.ts +1 -1
  1002. package/types/plugins/resize-cells/resize-cells.d.ts +3 -45
  1003. package/types/plugins/resize-handler/config.d.ts +1 -1
  1004. package/types/plugins/resize-handler/resize-handler.d.ts +3 -29
  1005. package/types/plugins/resizer/config.d.ts +2 -33
  1006. package/types/plugins/resizer/resizer.d.ts +3 -25
  1007. package/types/plugins/search/config.d.ts +3 -24
  1008. package/types/plugins/search/helpers/index.d.ts +2 -5
  1009. package/types/plugins/search/helpers/sentence-finder.d.ts +1 -4
  1010. package/types/plugins/search/helpers/wrap-ranges-texts-in-tmp-span.d.ts +1 -19
  1011. package/types/plugins/search/interface.d.ts +2 -25
  1012. package/types/plugins/search/search.d.ts +4 -26
  1013. package/types/plugins/search/ui/search.d.ts +2 -8
  1014. package/types/plugins/select/config.d.ts +1 -9
  1015. package/types/plugins/select/select.d.ts +3 -22
  1016. package/types/plugins/select-cells/config.d.ts +1 -1
  1017. package/types/plugins/select-cells/select-cells.d.ts +3 -37
  1018. package/types/plugins/size/config.d.ts +1 -1
  1019. package/types/plugins/size/size.d.ts +3 -30
  1020. package/types/plugins/source/config.d.ts +2 -27
  1021. package/types/plugins/source/editor/engines/ace.d.ts +3 -9
  1022. package/types/plugins/source/editor/engines/area.d.ts +2 -5
  1023. package/types/plugins/source/editor/engines/custom.d.ts +24 -0
  1024. package/types/plugins/source/editor/engines/index.d.ts +2 -5
  1025. package/types/plugins/source/editor/factory.d.ts +1 -4
  1026. package/types/plugins/source/editor/sourceEditor.d.ts +1 -7
  1027. package/types/plugins/source/source.d.ts +3 -20
  1028. package/types/plugins/speech-recognize/config.d.ts +19 -0
  1029. package/types/plugins/speech-recognize/constants.d.ts +7 -0
  1030. package/types/plugins/speech-recognize/helpers/api.d.ts +7 -0
  1031. package/types/plugins/speech-recognize/helpers/exec-spell-command.d.ts +7 -0
  1032. package/types/plugins/speech-recognize/helpers/recognize-manager.d.ts +45 -0
  1033. package/types/plugins/speech-recognize/helpers/sound.d.ts +11 -0
  1034. package/types/plugins/speech-recognize/interface.d.ts +30 -0
  1035. package/types/plugins/speech-recognize/langs/index.d.ts +26 -0
  1036. package/types/plugins/speech-recognize/speech-recognize.d.ts +19 -0
  1037. package/types/plugins/spellcheck/config.d.ts +1 -5
  1038. package/types/plugins/spellcheck/langs/index.d.ts +26 -0
  1039. package/types/plugins/spellcheck/spellcheck.d.ts +3 -8
  1040. package/types/plugins/stat/config.d.ts +1 -1
  1041. package/types/plugins/stat/stat.d.ts +2 -7
  1042. package/types/plugins/sticky/config.d.ts +1 -20
  1043. package/types/plugins/sticky/sticky.d.ts +3 -21
  1044. package/types/plugins/symbols/config.d.ts +1 -1
  1045. package/types/plugins/symbols/langs/index.d.ts +26 -0
  1046. package/types/plugins/symbols/symbols.d.ts +3 -14
  1047. package/types/plugins/tab/cases/index.d.ts +1 -4
  1048. package/types/plugins/tab/cases/on-tab-inside-li.d.ts +1 -9
  1049. package/types/plugins/tab/config.d.ts +1 -4
  1050. package/types/plugins/tab/tab.d.ts +1 -1
  1051. package/types/plugins/table/config.d.ts +1 -1
  1052. package/types/plugins/table/table.d.ts +2 -7
  1053. package/types/plugins/table-keyboard-navigation/table-keyboard-navigation.d.ts +1 -9
  1054. package/types/plugins/video/video.d.ts +1 -1
  1055. package/types/plugins/wrap-nodes/config.d.ts +2 -15
  1056. package/types/plugins/wrap-nodes/wrap-nodes.d.ts +1 -1
  1057. package/types/plugins/xpath/config.d.ts +1 -1
  1058. package/types/plugins/xpath/xpath.d.ts +1 -6
  1059. package/types/polyfills.d.ts +10 -0
  1060. package/types/styles/icons/index.d.ts +0 -5
  1061. package/types/tsconfig.json +64 -0
  1062. package/types/types/ajax.d.ts +51 -84
  1063. package/types/types/async.d.ts +34 -69
  1064. package/types/types/context.d.ts +7 -15
  1065. package/types/types/core.d.ts +2 -8
  1066. package/types/types/create.d.ts +35 -89
  1067. package/types/types/dialog.d.ts +23 -40
  1068. package/types/types/events.d.ts +117 -163
  1069. package/types/types/file-browser.d.ts +180 -305
  1070. package/types/types/form.d.ts +2 -4
  1071. package/types/types/history.d.ts +25 -40
  1072. package/types/types/index.d.ts +23 -25
  1073. package/types/types/jodit.d.ts +96 -164
  1074. package/types/types/messages.d.ts +5 -7
  1075. package/types/types/plugin.d.ts +26 -41
  1076. package/types/types/popup.d.ts +13 -30
  1077. package/types/types/select.d.ts +65 -93
  1078. package/types/types/source.d.ts +15 -23
  1079. package/types/types/style.d.ts +35 -81
  1080. package/types/types/toolbar.d.ts +238 -352
  1081. package/types/types/traits.d.ts +15 -49
  1082. package/types/types/types.d.ts +158 -235
  1083. package/types/types/ui.d.ts +99 -159
  1084. package/types/types/uploader.d.ts +93 -140
  1085. package/types/types/view.d.ts +86 -133
  1086. package/types/typings.d.ts +13 -0
  1087. package/build/jodit.css +0 -5960
  1088. package/build/jodit.es2018.css +0 -4879
  1089. package/build/jodit.es2018.en.css +0 -4879
  1090. package/build/jodit.es2018.en.js +0 -33657
  1091. package/build/jodit.es2018.en.min.css +0 -1
  1092. package/build/jodit.es2018.en.min.js +0 -1
  1093. package/build/jodit.es2018.js +0 -33840
  1094. package/build/jodit.es2018.min.css +0 -1
  1095. package/build/jodit.es2018.min.js +0 -1
  1096. package/build/jodit.js +0 -41654
  1097. package/build/jodit.min.css +0 -8
  1098. package/build/jodit.min.js +0 -1
  1099. package/build/plugins/debug/debug.es2018.en.js +0 -97
  1100. package/build/plugins/debug/debug.es2018.en.min.js +0 -1
  1101. package/build/plugins/debug/debug.es2018.js +0 -97
  1102. package/build/plugins/debug/debug.es2018.min.js +0 -1
  1103. package/build/plugins/debug/debug.js +0 -96
  1104. package/build/plugins/debug/debug.min.js +0 -1
  1105. package/build/plugins/speech-recognize/speech-recognize.css +0 -42
  1106. package/build/plugins/speech-recognize/speech-recognize.es2018.css +0 -42
  1107. package/build/plugins/speech-recognize/speech-recognize.es2018.en.css +0 -42
  1108. package/build/plugins/speech-recognize/speech-recognize.es2018.en.js +0 -965
  1109. package/build/plugins/speech-recognize/speech-recognize.es2018.en.min.js +0 -1
  1110. package/build/plugins/speech-recognize/speech-recognize.es2018.js +0 -965
  1111. package/build/plugins/speech-recognize/speech-recognize.es2018.min.js +0 -1
  1112. package/build/plugins/speech-recognize/speech-recognize.js +0 -1032
  1113. package/build/plugins/speech-recognize/speech-recognize.min.js +0 -1
  1114. package/build/vdom.css +0 -29
  1115. package/build/vdom.js +0 -2782
  1116. package/index.d.ts +0 -52
  1117. package/index.html +0 -50
  1118. package/src/README.md +0 -58
  1119. package/src/config.ts +0 -987
  1120. package/src/core/async/README.md +0 -149
  1121. package/src/core/async/async.test.js +0 -183
  1122. package/src/core/async/async.ts +0 -381
  1123. package/src/core/async/index.ts +0 -11
  1124. package/src/core/component/README.md +0 -113
  1125. package/src/core/component/component.ts +0 -282
  1126. package/src/core/component/index.ts +0 -13
  1127. package/src/core/component/statuses.ts +0 -16
  1128. package/src/core/component/view-component.ts +0 -59
  1129. package/src/core/constants.ts +0 -234
  1130. package/src/core/create/README.md +0 -59
  1131. package/src/core/create/create.test.js +0 -103
  1132. package/src/core/create/create.ts +0 -247
  1133. package/src/core/create/index.ts +0 -11
  1134. package/src/core/decorators/README.md +0 -39
  1135. package/src/core/decorators/cache/README.md +0 -19
  1136. package/src/core/decorators/cache/cache.ts +0 -47
  1137. package/src/core/decorators/component/README.md +0 -75
  1138. package/src/core/decorators/component/component.ts +0 -48
  1139. package/src/core/decorators/debounce/README.md +0 -46
  1140. package/src/core/decorators/debounce/debounce.ts +0 -85
  1141. package/src/core/decorators/decorators.test.js +0 -184
  1142. package/src/core/decorators/derive/README.md +0 -78
  1143. package/src/core/decorators/derive/derive.ts +0 -48
  1144. package/src/core/decorators/hook/README.md +0 -18
  1145. package/src/core/decorators/hook/hook.ts +0 -39
  1146. package/src/core/decorators/idle/README.md +0 -17
  1147. package/src/core/decorators/idle/idle.ts +0 -37
  1148. package/src/core/decorators/index.ts +0 -23
  1149. package/src/core/decorators/nonenumerable/README.md +0 -17
  1150. package/src/core/decorators/nonenumerable/nonenumerable.ts +0 -29
  1151. package/src/core/decorators/persistent/README.md +0 -25
  1152. package/src/core/decorators/persistent/persistent.ts +0 -37
  1153. package/src/core/decorators/spy/spy.ts +0 -61
  1154. package/src/core/decorators/wait/README.md +0 -22
  1155. package/src/core/decorators/wait/wait.ts +0 -59
  1156. package/src/core/decorators/watch/README.md +0 -133
  1157. package/src/core/decorators/watch/watch.ts +0 -151
  1158. package/src/core/dom/README.md +0 -59
  1159. package/src/core/dom/dom.test.js +0 -669
  1160. package/src/core/dom/dom.ts +0 -1133
  1161. package/src/core/dom/index.ts +0 -12
  1162. package/src/core/dom/lazy-walker.ts +0 -134
  1163. package/src/core/event-emitter/README.md +0 -41
  1164. package/src/core/event-emitter/event-emitter.test.js +0 -1348
  1165. package/src/core/event-emitter/event-emitter.ts +0 -759
  1166. package/src/core/event-emitter/eventify.ts +0 -78
  1167. package/src/core/event-emitter/index.ts +0 -14
  1168. package/src/core/event-emitter/object-observer.test.js +0 -596
  1169. package/src/core/event-emitter/observable.ts +0 -194
  1170. package/src/core/event-emitter/store.ts +0 -102
  1171. package/src/core/global.ts +0 -138
  1172. package/src/core/helpers/README.md +0 -36
  1173. package/src/core/helpers/array/as-array.ts +0 -16
  1174. package/src/core/helpers/array/index.ts +0 -13
  1175. package/src/core/helpers/array/split-array.ts +0 -22
  1176. package/src/core/helpers/array/to-array.ts +0 -26
  1177. package/src/core/helpers/async/index.ts +0 -11
  1178. package/src/core/helpers/async/set-timeout.ts +0 -33
  1179. package/src/core/helpers/checker/has-browser-color-picker.ts +0 -28
  1180. package/src/core/helpers/checker/index.ts +0 -33
  1181. package/src/core/helpers/checker/is-array.ts +0 -16
  1182. package/src/core/helpers/checker/is-boolean.ts +0 -13
  1183. package/src/core/helpers/checker/is-equal.ts +0 -22
  1184. package/src/core/helpers/checker/is-function.ts +0 -16
  1185. package/src/core/helpers/checker/is-html-from-word.ts +0 -20
  1186. package/src/core/helpers/checker/is-html.ts +0 -20
  1187. package/src/core/helpers/checker/is-imp-interface.ts +0 -35
  1188. package/src/core/helpers/checker/is-int.ts +0 -23
  1189. package/src/core/helpers/checker/is-jodit-object.ts +0 -26
  1190. package/src/core/helpers/checker/is-license.ts +0 -16
  1191. package/src/core/helpers/checker/is-marker.ts +0 -20
  1192. package/src/core/helpers/checker/is-native-function.ts +0 -23
  1193. package/src/core/helpers/checker/is-number.ts +0 -16
  1194. package/src/core/helpers/checker/is-numeric.ts +0 -26
  1195. package/src/core/helpers/checker/is-plain-object.ts +0 -28
  1196. package/src/core/helpers/checker/is-promise.ts +0 -13
  1197. package/src/core/helpers/checker/is-string.ts +0 -25
  1198. package/src/core/helpers/checker/is-url.ts +0 -35
  1199. package/src/core/helpers/checker/is-valid-name.ts +0 -20
  1200. package/src/core/helpers/checker/is-view-object.ts +0 -24
  1201. package/src/core/helpers/checker/is-void.ts +0 -17
  1202. package/src/core/helpers/checker/is-window.ts +0 -13
  1203. package/src/core/helpers/color/color-to-hex.ts +0 -57
  1204. package/src/core/helpers/color/index.ts +0 -11
  1205. package/src/core/helpers/helpers.test.js +0 -703
  1206. package/src/core/helpers/html/apply-styles.ts +0 -131
  1207. package/src/core/helpers/html/clean-from-word.ts +0 -99
  1208. package/src/core/helpers/html/htmlspecialchars.ts +0 -19
  1209. package/src/core/helpers/html/index.ts +0 -16
  1210. package/src/core/helpers/html/nl2br.ts +0 -16
  1211. package/src/core/helpers/html/safe-html.ts +0 -69
  1212. package/src/core/helpers/html/strip-tags.ts +0 -96
  1213. package/src/core/helpers/index.ts +0 -21
  1214. package/src/core/helpers/normalize/index.ts +0 -19
  1215. package/src/core/helpers/normalize/normalize-color.ts +0 -45
  1216. package/src/core/helpers/normalize/normalize-css-value.ts +0 -62
  1217. package/src/core/helpers/normalize/normalize-key-aliases.ts +0 -51
  1218. package/src/core/helpers/normalize/normalize-license.ts +0 -26
  1219. package/src/core/helpers/normalize/normalize-node.ts +0 -37
  1220. package/src/core/helpers/normalize/normalize-path.ts +0 -33
  1221. package/src/core/helpers/normalize/normalize-relative-path.ts +0 -34
  1222. package/src/core/helpers/normalize/normalize-size.ts +0 -19
  1223. package/src/core/helpers/normalize/normalize-url.ts +0 -17
  1224. package/src/core/helpers/size/get-content-width.ts +0 -21
  1225. package/src/core/helpers/size/get-scroll-parent.ts +0 -34
  1226. package/src/core/helpers/size/index.ts +0 -16
  1227. package/src/core/helpers/size/inner-width.ts +0 -21
  1228. package/src/core/helpers/size/object-size.ts +0 -26
  1229. package/src/core/helpers/size/offset.ts +0 -71
  1230. package/src/core/helpers/size/position.test.js +0 -259
  1231. package/src/core/helpers/size/position.ts +0 -53
  1232. package/src/core/helpers/string/camel-case.ts +0 -18
  1233. package/src/core/helpers/string/fuzzy-search-index.ts +0 -58
  1234. package/src/core/helpers/string/i18n.ts +0 -157
  1235. package/src/core/helpers/string/index.ts +0 -17
  1236. package/src/core/helpers/string/kebab-case.ts +0 -24
  1237. package/src/core/helpers/string/stringify.ts +0 -48
  1238. package/src/core/helpers/string/trim.ts +0 -35
  1239. package/src/core/helpers/string/ucfirst.ts +0 -20
  1240. package/src/core/helpers/utils/align.ts +0 -87
  1241. package/src/core/helpers/utils/append-script.ts +0 -134
  1242. package/src/core/helpers/utils/assert.ts +0 -28
  1243. package/src/core/helpers/utils/browser.ts +0 -51
  1244. package/src/core/helpers/utils/build-query.ts +0 -34
  1245. package/src/core/helpers/utils/complete-url.ts +0 -17
  1246. package/src/core/helpers/utils/config-proto.ts +0 -106
  1247. package/src/core/helpers/utils/convert-media-url-to-video-embed.ts +0 -78
  1248. package/src/core/helpers/utils/css.ts +0 -133
  1249. package/src/core/helpers/utils/ctrl-key.ts +0 -27
  1250. package/src/core/helpers/utils/data-bind.ts +0 -50
  1251. package/src/core/helpers/utils/default-language.ts +0 -33
  1252. package/src/core/helpers/utils/error/error.ts +0 -34
  1253. package/src/core/helpers/utils/error/errors/abort-error.ts +0 -16
  1254. package/src/core/helpers/utils/error/errors/connection-error.ts +0 -16
  1255. package/src/core/helpers/utils/error/errors/index.ts +0 -13
  1256. package/src/core/helpers/utils/error/errors/options-error.ts +0 -16
  1257. package/src/core/helpers/utils/error/index.ts +0 -12
  1258. package/src/core/helpers/utils/extend.ts +0 -29
  1259. package/src/core/helpers/utils/get-class-name.ts +0 -36
  1260. package/src/core/helpers/utils/get.ts +0 -60
  1261. package/src/core/helpers/utils/human-size-to-bytes.ts +0 -27
  1262. package/src/core/helpers/utils/index.ts +0 -37
  1263. package/src/core/helpers/utils/mark-deprecated.ts +0 -32
  1264. package/src/core/helpers/utils/parse-query.ts +0 -28
  1265. package/src/core/helpers/utils/print.ts +0 -202
  1266. package/src/core/helpers/utils/reset.ts +0 -55
  1267. package/src/core/helpers/utils/scroll-into-view.ts +0 -65
  1268. package/src/core/helpers/utils/selector.ts +0 -220
  1269. package/src/core/helpers/utils/set.ts +0 -53
  1270. package/src/core/helpers/utils/stack.ts +0 -35
  1271. package/src/core/helpers/utils/utils.ts +0 -237
  1272. package/src/core/helpers/utils/val.ts +0 -27
  1273. package/src/core/plugin/README.md +0 -148
  1274. package/src/core/plugin/helpers/init-instance.ts +0 -80
  1275. package/src/core/plugin/helpers/load.ts +0 -98
  1276. package/src/core/plugin/helpers/make-instance.ts +0 -40
  1277. package/src/core/plugin/helpers/utils.ts +0 -18
  1278. package/src/core/plugin/index.ts +0 -12
  1279. package/src/core/plugin/interface.ts +0 -15
  1280. package/src/core/plugin/plugin-system.ts +0 -205
  1281. package/src/core/plugin/plugin.ts +0 -80
  1282. package/src/core/request/README.md +0 -13
  1283. package/src/core/request/ajax.ts +0 -253
  1284. package/src/core/request/config.ts +0 -40
  1285. package/src/core/request/index.ts +0 -12
  1286. package/src/core/request/response.ts +0 -47
  1287. package/src/core/selection/README.md +0 -22
  1288. package/src/core/selection/helpers/index.ts +0 -12
  1289. package/src/core/selection/helpers/move-node-inside-start.ts +0 -43
  1290. package/src/core/selection/helpers/move-the-node-along-the-edge-outward.ts +0 -39
  1291. package/src/core/selection/index.ts +0 -12
  1292. package/src/core/selection/interface.ts +0 -24
  1293. package/src/core/selection/select.ts +0 -1561
  1294. package/src/core/selection/selection.test.js +0 -1141
  1295. package/src/core/selection/style/api/extract.ts +0 -75
  1296. package/src/core/selection/style/api/finite-state-machine.ts +0 -71
  1297. package/src/core/selection/style/api/get-suit-child.ts +0 -43
  1298. package/src/core/selection/style/api/get-suit-parent.ts +0 -58
  1299. package/src/core/selection/style/api/has-same-style.ts +0 -66
  1300. package/src/core/selection/style/api/index.ts +0 -21
  1301. package/src/core/selection/style/api/is-inside-invisible-element.ts +0 -18
  1302. package/src/core/selection/style/api/is-normal-node.ts +0 -22
  1303. package/src/core/selection/style/api/is-same-attributes.ts +0 -56
  1304. package/src/core/selection/style/api/is-suit-element.ts +0 -92
  1305. package/src/core/selection/style/api/list/toggle-ordered-list.ts +0 -100
  1306. package/src/core/selection/style/api/list/wrap-list.ts +0 -71
  1307. package/src/core/selection/style/api/toggle-attributes.ts +0 -251
  1308. package/src/core/selection/style/api/unwrap-children.ts +0 -84
  1309. package/src/core/selection/style/api/wrap-unwrapped-text.ts +0 -74
  1310. package/src/core/selection/style/api/wrap.ts +0 -66
  1311. package/src/core/selection/style/apply-style.ts +0 -54
  1312. package/src/core/selection/style/commit-style.ts +0 -144
  1313. package/src/core/selection/style/style.test.js +0 -2009
  1314. package/src/core/selection/style/transactions.ts +0 -261
  1315. package/src/core/storage/README.md +0 -15
  1316. package/src/core/storage/engines/local-storage-provider.ts +0 -92
  1317. package/src/core/storage/engines/memory-storage-provider.ts +0 -40
  1318. package/src/core/storage/index.ts +0 -13
  1319. package/src/core/storage/storage.ts +0 -68
  1320. package/src/core/traits/dlgs.ts +0 -84
  1321. package/src/core/traits/elms.ts +0 -40
  1322. package/src/core/traits/index.ts +0 -13
  1323. package/src/core/traits/mods.ts +0 -69
  1324. package/src/core/ui/README.md +0 -52
  1325. package/src/core/ui/button/README.md +0 -3
  1326. package/src/core/ui/button/button/button.less +0 -199
  1327. package/src/core/ui/button/button/button.ts +0 -300
  1328. package/src/core/ui/button/group/group.less +0 -40
  1329. package/src/core/ui/button/group/group.ts +0 -104
  1330. package/src/core/ui/button/index.ts +0 -15
  1331. package/src/core/ui/button/tooltip/README.md +0 -3
  1332. package/src/core/ui/button/tooltip/tooltip.less +0 -39
  1333. package/src/core/ui/button/tooltip/tooltip.test.js +0 -117
  1334. package/src/core/ui/button/tooltip/tooltip.ts +0 -132
  1335. package/src/core/ui/element.ts +0 -189
  1336. package/src/core/ui/form/README.md +0 -22
  1337. package/src/core/ui/form/block/block.less +0 -26
  1338. package/src/core/ui/form/block/block.ts +0 -49
  1339. package/src/core/ui/form/form.ts +0 -94
  1340. package/src/core/ui/form/index.ts +0 -13
  1341. package/src/core/ui/form/inputs/area/area.less +0 -15
  1342. package/src/core/ui/form/inputs/area/area.ts +0 -51
  1343. package/src/core/ui/form/inputs/checkbox/checkbox.less +0 -67
  1344. package/src/core/ui/form/inputs/checkbox/checkbox.ts +0 -79
  1345. package/src/core/ui/form/inputs/file/file.less +0 -16
  1346. package/src/core/ui/form/inputs/file/file.ts +0 -77
  1347. package/src/core/ui/form/inputs/index.ts +0 -15
  1348. package/src/core/ui/form/inputs/input/input.less +0 -108
  1349. package/src/core/ui/form/inputs/input/input.ts +0 -286
  1350. package/src/core/ui/form/inputs/select/select.less +0 -38
  1351. package/src/core/ui/form/inputs/select/select.ts +0 -98
  1352. package/src/core/ui/form/validators/index.ts +0 -12
  1353. package/src/core/ui/form/validators/input.ts +0 -37
  1354. package/src/core/ui/form/validators/select.ts +0 -24
  1355. package/src/core/ui/group/README.md +0 -1
  1356. package/src/core/ui/group/group.less +0 -33
  1357. package/src/core/ui/group/group.test.js +0 -44
  1358. package/src/core/ui/group/group.ts +0 -173
  1359. package/src/core/ui/group/index.ts +0 -14
  1360. package/src/core/ui/group/list.less +0 -59
  1361. package/src/core/ui/group/list.ts +0 -192
  1362. package/src/core/ui/group/separator.ts +0 -19
  1363. package/src/core/ui/group/spacer.ts +0 -19
  1364. package/src/core/ui/helpers/buttons.ts +0 -55
  1365. package/src/core/ui/helpers/get-control-type.ts +0 -81
  1366. package/src/core/ui/helpers/get-strong-control-types.ts +0 -39
  1367. package/src/core/ui/icon.ts +0 -110
  1368. package/src/core/ui/index.ts +0 -19
  1369. package/src/core/ui/popup/README.md +0 -15
  1370. package/src/core/ui/popup/index.ts +0 -11
  1371. package/src/core/ui/popup/popup.less +0 -40
  1372. package/src/core/ui/popup/popup.test.js +0 -216
  1373. package/src/core/ui/popup/popup.ts +0 -466
  1374. package/src/core/ui/progress-bar/README.md +0 -1
  1375. package/src/core/ui/progress-bar/progress-bar.less +0 -64
  1376. package/src/core/ui/progress-bar/progress-bar.ts +0 -53
  1377. package/src/core/vdom/README.md +0 -5
  1378. package/src/core/vdom/helpers/index.ts +0 -56
  1379. package/src/core/vdom/index.ts +0 -15
  1380. package/src/core/vdom/interface.ts +0 -61
  1381. package/src/core/vdom/on-demand.ts +0 -13
  1382. package/src/core/vdom/render/index.ts +0 -237
  1383. package/src/core/vdom/render/patcher.ts +0 -14
  1384. package/src/core/vdom/v-dom-jodit.less +0 -29
  1385. package/src/core/vdom/v-dom-jodit.ts +0 -143
  1386. package/src/core/view/README.md +0 -26
  1387. package/src/core/view/view-with-toolbar.less +0 -27
  1388. package/src/core/view/view-with-toolbar.ts +0 -180
  1389. package/src/core/view/view.ts +0 -367
  1390. package/src/header.js +0 -5
  1391. package/src/index.ts +0 -78
  1392. package/src/jodit.ts +0 -1766
  1393. package/src/langs/README.md +0 -127
  1394. package/src/langs/ar.js +0 -224
  1395. package/src/langs/cs_cz.js +0 -226
  1396. package/src/langs/de.js +0 -231
  1397. package/src/langs/en.js +0 -11
  1398. package/src/langs/es.js +0 -230
  1399. package/src/langs/fa.js +0 -225
  1400. package/src/langs/fr.js +0 -223
  1401. package/src/langs/he.js +0 -224
  1402. package/src/langs/hu.js +0 -226
  1403. package/src/langs/i18n.test.js +0 -258
  1404. package/src/langs/id.js +0 -226
  1405. package/src/langs/index.ts +0 -91
  1406. package/src/langs/it.js +0 -226
  1407. package/src/langs/ja.js +0 -229
  1408. package/src/langs/keys.js +0 -7
  1409. package/src/langs/ko.js +0 -225
  1410. package/src/langs/mn.js +0 -227
  1411. package/src/langs/nl.js +0 -226
  1412. package/src/langs/pl.js +0 -226
  1413. package/src/langs/pt_br.js +0 -230
  1414. package/src/langs/ru.js +0 -226
  1415. package/src/langs/tr.js +0 -225
  1416. package/src/langs/zh_cn.js +0 -224
  1417. package/src/langs/zh_tw.js +0 -222
  1418. package/src/modules/README.md +0 -1
  1419. package/src/modules/context-menu/README.md +0 -43
  1420. package/src/modules/context-menu/context-menu.less +0 -30
  1421. package/src/modules/context-menu/context-menu.ts +0 -78
  1422. package/src/modules/dialog/README.md +0 -70
  1423. package/src/modules/dialog/alert.ts +0 -64
  1424. package/src/modules/dialog/confirm.ts +0 -74
  1425. package/src/modules/dialog/dialog.less +0 -333
  1426. package/src/modules/dialog/dialog.test.js +0 -191
  1427. package/src/modules/dialog/dialog.test.screenshot.js +0 -55
  1428. package/src/modules/dialog/dialog.ts +0 -832
  1429. package/src/modules/dialog/index.ts +0 -16
  1430. package/src/modules/dialog/prompt.ts +0 -97
  1431. package/src/modules/file-browser/README.md +0 -361
  1432. package/src/modules/file-browser/builders/context-menu.ts +0 -269
  1433. package/src/modules/file-browser/builders/elements-map.ts +0 -32
  1434. package/src/modules/file-browser/builders/item.ts +0 -103
  1435. package/src/modules/file-browser/config.ts +0 -473
  1436. package/src/modules/file-browser/data-provider.ts +0 -596
  1437. package/src/modules/file-browser/factories.ts +0 -30
  1438. package/src/modules/file-browser/fetch/delete-file.ts +0 -28
  1439. package/src/modules/file-browser/fetch/load-items.ts +0 -35
  1440. package/src/modules/file-browser/fetch/load-tree.ts +0 -43
  1441. package/src/modules/file-browser/file-browser.test.js +0 -1387
  1442. package/src/modules/file-browser/file-browser.test.screenshot.js +0 -74
  1443. package/src/modules/file-browser/file-browser.ts +0 -448
  1444. package/src/modules/file-browser/index.ts +0 -13
  1445. package/src/modules/file-browser/listeners/native-listeners.ts +0 -163
  1446. package/src/modules/file-browser/listeners/self-listeners.ts +0 -183
  1447. package/src/modules/file-browser/listeners/state-listeners.ts +0 -249
  1448. package/src/modules/file-browser/styles/file-browser.less +0 -62
  1449. package/src/modules/file-browser/styles/index.less +0 -8
  1450. package/src/modules/file-browser/styles/preview.less +0 -71
  1451. package/src/modules/file-browser/ui/files/files.less +0 -179
  1452. package/src/modules/file-browser/ui/files/files.ts +0 -14
  1453. package/src/modules/file-browser/ui/index.ts +0 -12
  1454. package/src/modules/file-browser/ui/tree/tree.less +0 -128
  1455. package/src/modules/file-browser/ui/tree/tree.ts +0 -14
  1456. package/src/modules/history/README.md +0 -5
  1457. package/src/modules/history/command.ts +0 -29
  1458. package/src/modules/history/history.test.js +0 -232
  1459. package/src/modules/history/history.ts +0 -244
  1460. package/src/modules/history/snapshot.ts +0 -278
  1461. package/src/modules/history/stack.ts +0 -87
  1462. package/src/modules/image-editor/README.md +0 -14
  1463. package/src/modules/image-editor/config.ts +0 -36
  1464. package/src/modules/image-editor/icons/crop.svg +0 -3
  1465. package/src/modules/image-editor/icons/resize.svg +0 -7
  1466. package/src/modules/image-editor/image-editor.less +0 -229
  1467. package/src/modules/image-editor/image-editor.test.screenshot.js +0 -25
  1468. package/src/modules/image-editor/image-editor.ts +0 -850
  1469. package/src/modules/image-editor/templates/form.ts +0 -111
  1470. package/src/modules/index.ts +0 -53
  1471. package/src/modules/messages/README.md +0 -33
  1472. package/src/modules/messages/message.ts +0 -30
  1473. package/src/modules/messages/messages.less +0 -83
  1474. package/src/modules/messages/messages.test.js +0 -93
  1475. package/src/modules/messages/messages.test.screenshot.js +0 -25
  1476. package/src/modules/messages/messages.ts +0 -151
  1477. package/src/modules/status-bar/README.md +0 -1
  1478. package/src/modules/status-bar/status-bar.less +0 -90
  1479. package/src/modules/status-bar/status-bar.ts +0 -121
  1480. package/src/modules/table/README.md +0 -3
  1481. package/src/modules/table/table.test.js +0 -1443
  1482. package/src/modules/table/table.ts +0 -984
  1483. package/src/modules/toolbar/README.md +0 -1
  1484. package/src/modules/toolbar/button/README.md +0 -1
  1485. package/src/modules/toolbar/button/button.less +0 -84
  1486. package/src/modules/toolbar/button/button.ts +0 -593
  1487. package/src/modules/toolbar/button/content.less +0 -22
  1488. package/src/modules/toolbar/button/content.ts +0 -67
  1489. package/src/modules/toolbar/button/index.ts +0 -12
  1490. package/src/modules/toolbar/collection/README.md +0 -1
  1491. package/src/modules/toolbar/collection/collection.less +0 -85
  1492. package/src/modules/toolbar/collection/collection.ts +0 -166
  1493. package/src/modules/toolbar/collection/editor-collection.ts +0 -188
  1494. package/src/modules/toolbar/factory.ts +0 -75
  1495. package/src/modules/uploader/README.md +0 -233
  1496. package/src/modules/uploader/config.ts +0 -144
  1497. package/src/modules/uploader/helpers/build-data.ts +0 -43
  1498. package/src/modules/uploader/helpers/data-uri-to-blob.ts +0 -30
  1499. package/src/modules/uploader/helpers/index.ts +0 -25
  1500. package/src/modules/uploader/helpers/process-old-browser-drag.ts +0 -62
  1501. package/src/modules/uploader/helpers/send-files.ts +0 -177
  1502. package/src/modules/uploader/helpers/send.ts +0 -105
  1503. package/src/modules/uploader/uploader.less +0 -47
  1504. package/src/modules/uploader/uploader.test.js +0 -310
  1505. package/src/modules/uploader/uploader.ts +0 -318
  1506. package/src/modules/widget/README.md +0 -1
  1507. package/src/modules/widget/color-picker/README.md +0 -1
  1508. package/src/modules/widget/color-picker/color-picker.less +0 -72
  1509. package/src/modules/widget/color-picker/color-picker.ts +0 -159
  1510. package/src/modules/widget/color-picker/palette.svg +0 -11
  1511. package/src/modules/widget/file-selector/README.md +0 -1
  1512. package/src/modules/widget/file-selector/file-selector.ts +0 -188
  1513. package/src/modules/widget/index.ts +0 -15
  1514. package/src/modules/widget/tabs/README.md +0 -1
  1515. package/src/modules/widget/tabs/tabs.less +0 -69
  1516. package/src/modules/widget/tabs/tabs.ts +0 -170
  1517. package/src/modules/widget/widget.less +0 -13
  1518. package/src/plugins/README.md +0 -1
  1519. package/src/plugins/about/README.md +0 -3
  1520. package/src/plugins/about/about.less +0 -27
  1521. package/src/plugins/about/about.svg +0 -3
  1522. package/src/plugins/about/about.ts +0 -73
  1523. package/src/plugins/add-new-line/README.md +0 -6
  1524. package/src/plugins/add-new-line/add-new-line.less +0 -72
  1525. package/src/plugins/add-new-line/add-new-line.test.js +0 -219
  1526. package/src/plugins/add-new-line/add-new-line.ts +0 -314
  1527. package/src/plugins/add-new-line/config.ts +0 -58
  1528. package/src/plugins/add-new-line/enter.svg +0 -4
  1529. package/src/plugins/backspace/README.md +0 -3
  1530. package/src/plugins/backspace/backspace.test.js +0 -1326
  1531. package/src/plugins/backspace/backspace.ts +0 -201
  1532. package/src/plugins/backspace/cases/check-join-neighbors.ts +0 -127
  1533. package/src/plugins/backspace/cases/check-join-two-lists.ts +0 -61
  1534. package/src/plugins/backspace/cases/check-not-collapsed.ts +0 -33
  1535. package/src/plugins/backspace/cases/check-remove-char.ts +0 -219
  1536. package/src/plugins/backspace/cases/check-remove-content-not-editable.ts +0 -52
  1537. package/src/plugins/backspace/cases/check-remove-empty-neighbor.ts +0 -47
  1538. package/src/plugins/backspace/cases/check-remove-empty-parent.ts +0 -90
  1539. package/src/plugins/backspace/cases/check-remove-unbreakable-element.ts +0 -61
  1540. package/src/plugins/backspace/cases/check-table-cell.ts +0 -36
  1541. package/src/plugins/backspace/cases/check-unwrap-first-list-item.ts +0 -63
  1542. package/src/plugins/backspace/cases/index.ts +0 -34
  1543. package/src/plugins/backspace/config.ts +0 -37
  1544. package/src/plugins/backspace/helpers.ts +0 -53
  1545. package/src/plugins/backspace/interface.ts +0 -31
  1546. package/src/plugins/bold/README.md +0 -13
  1547. package/src/plugins/bold/bold.test.js +0 -58
  1548. package/src/plugins/bold/bold.ts +0 -107
  1549. package/src/plugins/bold/config.ts +0 -54
  1550. package/src/plugins/bold/icons/bold.svg +0 -4
  1551. package/src/plugins/bold/icons/italic.svg +0 -4
  1552. package/src/plugins/bold/icons/strikethrough.svg +0 -4
  1553. package/src/plugins/bold/icons/subscript.svg +0 -4
  1554. package/src/plugins/bold/icons/superscript.svg +0 -4
  1555. package/src/plugins/bold/icons/underline.svg +0 -4
  1556. package/src/plugins/bold/interface.ts +0 -39
  1557. package/src/plugins/class-span/README.md +0 -3
  1558. package/src/plugins/class-span/class-span.svg +0 -4
  1559. package/src/plugins/class-span/class-span.test.js +0 -222
  1560. package/src/plugins/class-span/class-span.ts +0 -141
  1561. package/src/plugins/clean-html/README.md +0 -51
  1562. package/src/plugins/clean-html/clean-html.test.js +0 -522
  1563. package/src/plugins/clean-html/clean-html.ts +0 -141
  1564. package/src/plugins/clean-html/config.ts +0 -132
  1565. package/src/plugins/clean-html/eraser.svg +0 -4
  1566. package/src/plugins/clean-html/helpers/get-hash.ts +0 -68
  1567. package/src/plugins/clean-html/helpers/index.ts +0 -14
  1568. package/src/plugins/clean-html/helpers/remove-format/remove-format-for-collapsed-selection.ts +0 -59
  1569. package/src/plugins/clean-html/helpers/remove-format/remove-format-for-selection.ts +0 -83
  1570. package/src/plugins/clean-html/helpers/visitor/filters/allow-attributes.ts +0 -48
  1571. package/src/plugins/clean-html/helpers/visitor/filters/fill-empty-paragraph.ts +0 -34
  1572. package/src/plugins/clean-html/helpers/visitor/filters/index.ts +0 -21
  1573. package/src/plugins/clean-html/helpers/visitor/filters/remove-empty-text-node.ts +0 -35
  1574. package/src/plugins/clean-html/helpers/visitor/filters/remove-inv-text-nodes.ts +0 -48
  1575. package/src/plugins/clean-html/helpers/visitor/filters/replace-old-tags.ts +0 -63
  1576. package/src/plugins/clean-html/helpers/visitor/filters/sanitize-attributes.ts +0 -34
  1577. package/src/plugins/clean-html/helpers/visitor/filters/try-remove-node.ts +0 -68
  1578. package/src/plugins/clean-html/helpers/visitor/visit-node-walker.ts +0 -58
  1579. package/src/plugins/clipboard/README.md +0 -3
  1580. package/src/plugins/clipboard/clipboard.test.js +0 -55
  1581. package/src/plugins/clipboard/clipboard.ts +0 -102
  1582. package/src/plugins/clipboard/config.ts +0 -36
  1583. package/src/plugins/clipboard/icons/copy.svg +0 -7
  1584. package/src/plugins/clipboard/icons/cut.svg +0 -3
  1585. package/src/plugins/clipboard/icons/paste.svg +0 -5
  1586. package/src/plugins/clipboard/icons/select-all.svg +0 -9
  1587. package/src/plugins/color/README.md +0 -4
  1588. package/src/plugins/color/brush.svg +0 -4
  1589. package/src/plugins/color/color.test.js +0 -191
  1590. package/src/plugins/color/color.test.screenshot.js +0 -26
  1591. package/src/plugins/color/color.ts +0 -57
  1592. package/src/plugins/color/config.ts +0 -183
  1593. package/src/plugins/copy-format/README.md +0 -3
  1594. package/src/plugins/copy-format/copy-format.svg +0 -5
  1595. package/src/plugins/copy-format/copy-format.test.js +0 -223
  1596. package/src/plugins/copy-format/copy-format.ts +0 -160
  1597. package/src/plugins/copy-format/langs/ar.js +0 -9
  1598. package/src/plugins/copy-format/langs/cs_cz.js +0 -9
  1599. package/src/plugins/copy-format/langs/de.js +0 -9
  1600. package/src/plugins/copy-format/langs/es.js +0 -9
  1601. package/src/plugins/copy-format/langs/fa.js +0 -9
  1602. package/src/plugins/copy-format/langs/fr.js +0 -9
  1603. package/src/plugins/copy-format/langs/he.js +0 -9
  1604. package/src/plugins/copy-format/langs/hu.js +0 -9
  1605. package/src/plugins/copy-format/langs/id.js +0 -9
  1606. package/src/plugins/copy-format/langs/index.ts +0 -49
  1607. package/src/plugins/copy-format/langs/it.js +0 -9
  1608. package/src/plugins/copy-format/langs/ja.js +0 -9
  1609. package/src/plugins/copy-format/langs/ko.js +0 -9
  1610. package/src/plugins/copy-format/langs/mn.js +0 -9
  1611. package/src/plugins/copy-format/langs/nl.js +0 -9
  1612. package/src/plugins/copy-format/langs/pl.js +0 -9
  1613. package/src/plugins/copy-format/langs/pt_br.js +0 -9
  1614. package/src/plugins/copy-format/langs/ru.js +0 -9
  1615. package/src/plugins/copy-format/langs/tr.js +0 -9
  1616. package/src/plugins/copy-format/langs/zh_cn.js +0 -9
  1617. package/src/plugins/copy-format/langs/zh_tw.js +0 -9
  1618. package/src/plugins/debug/debug.ts +0 -68
  1619. package/src/plugins/drag-and-drop/README.md +0 -3
  1620. package/src/plugins/drag-and-drop/drag-and-drop.ts +0 -231
  1621. package/src/plugins/drag-and-drop-element/README.md +0 -3
  1622. package/src/plugins/drag-and-drop-element/config.ts +0 -22
  1623. package/src/plugins/drag-and-drop-element/drag-and-drop-element.test.js +0 -189
  1624. package/src/plugins/drag-and-drop-element/drag-and-drop-element.ts +0 -257
  1625. package/src/plugins/dtd/README.md +0 -52
  1626. package/src/plugins/dtd/after-insert/index.ts +0 -12
  1627. package/src/plugins/dtd/after-insert/remove-extra-br.ts +0 -39
  1628. package/src/plugins/dtd/before-insert/check-block-nesting.ts +0 -40
  1629. package/src/plugins/dtd/before-insert/index.ts +0 -12
  1630. package/src/plugins/dtd/config.ts +0 -67
  1631. package/src/plugins/dtd/dtd.test.js +0 -128
  1632. package/src/plugins/dtd/dtd.ts +0 -48
  1633. package/src/plugins/enter/README.md +0 -37
  1634. package/src/plugins/enter/enter.test.js +0 -1092
  1635. package/src/plugins/enter/enter.ts +0 -142
  1636. package/src/plugins/enter/helpers/check-br.ts +0 -82
  1637. package/src/plugins/enter/helpers/check-unsplittable-box.ts +0 -29
  1638. package/src/plugins/enter/helpers/get-block-wrapper.ts +0 -47
  1639. package/src/plugins/enter/helpers/has-previous-block.ts +0 -25
  1640. package/src/plugins/enter/helpers/index.ts +0 -19
  1641. package/src/plugins/enter/helpers/insert-paragraph.ts +0 -44
  1642. package/src/plugins/enter/helpers/move-cursor-out-from-specal-tags.ts +0 -34
  1643. package/src/plugins/enter/helpers/process-empty-li-leaf.ts +0 -70
  1644. package/src/plugins/enter/helpers/split-fragment.ts +0 -56
  1645. package/src/plugins/enter/helpers/wrap-text.ts +0 -41
  1646. package/src/plugins/enter/interface.ts +0 -41
  1647. package/src/plugins/file/README.md +0 -3
  1648. package/src/plugins/file/file.ts +0 -90
  1649. package/src/plugins/focus/README.md +0 -11
  1650. package/src/plugins/focus/focus.test.js +0 -115
  1651. package/src/plugins/focus/focus.ts +0 -98
  1652. package/src/plugins/font/README.md +0 -33
  1653. package/src/plugins/font/config.ts +0 -151
  1654. package/src/plugins/font/font.test.js +0 -313
  1655. package/src/plugins/font/font.ts +0 -62
  1656. package/src/plugins/font/icons/font.svg +0 -4
  1657. package/src/plugins/font/icons/fontsize.svg +0 -4
  1658. package/src/plugins/format-block/README.md +0 -42
  1659. package/src/plugins/format-block/format-block.ts +0 -144
  1660. package/src/plugins/format-block/paragraph.svg +0 -1
  1661. package/src/plugins/fullsize/README.md +0 -9
  1662. package/src/plugins/fullsize/config.ts +0 -73
  1663. package/src/plugins/fullsize/fullsize.less +0 -43
  1664. package/src/plugins/fullsize/fullsize.test.js +0 -100
  1665. package/src/plugins/fullsize/fullsize.ts +0 -133
  1666. package/src/plugins/fullsize/icons/fullsize.svg +0 -4
  1667. package/src/plugins/fullsize/icons/shrink.svg +0 -3
  1668. package/src/plugins/hotkeys/README.md +0 -45
  1669. package/src/plugins/hotkeys/config.ts +0 -38
  1670. package/src/plugins/hotkeys/hotkeys.test.js +0 -139
  1671. package/src/plugins/hotkeys/hotkeys.ts +0 -187
  1672. package/src/plugins/hr/README.md +0 -3
  1673. package/src/plugins/hr/hr.svg +0 -3
  1674. package/src/plugins/hr/hr.test.js +0 -17
  1675. package/src/plugins/hr/hr.ts +0 -61
  1676. package/src/plugins/iframe/README.md +0 -17
  1677. package/src/plugins/iframe/config.ts +0 -148
  1678. package/src/plugins/iframe/iframe.test.js +0 -317
  1679. package/src/plugins/iframe/iframe.ts +0 -313
  1680. package/src/plugins/image/README.md +0 -3
  1681. package/src/plugins/image/image.svg +0 -4
  1682. package/src/plugins/image/image.test.js +0 -99
  1683. package/src/plugins/image/image.ts +0 -101
  1684. package/src/plugins/image-processor/README.md +0 -22
  1685. package/src/plugins/image-processor/config.ts +0 -23
  1686. package/src/plugins/image-processor/image-processor.ts +0 -158
  1687. package/src/plugins/image-properties/README.md +0 -10
  1688. package/src/plugins/image-properties/config.ts +0 -131
  1689. package/src/plugins/image-properties/image-properties.less +0 -63
  1690. package/src/plugins/image-properties/image-properties.test.js +0 -629
  1691. package/src/plugins/image-properties/image-properties.test.screenshot.js +0 -27
  1692. package/src/plugins/image-properties/image-properties.ts +0 -795
  1693. package/src/plugins/image-properties/templates/form.ts +0 -39
  1694. package/src/plugins/image-properties/templates/main-tab.ts +0 -69
  1695. package/src/plugins/image-properties/templates/position-tab.ts +0 -99
  1696. package/src/plugins/indent/README.md +0 -9
  1697. package/src/plugins/indent/config.ts +0 -57
  1698. package/src/plugins/indent/helpers.ts +0 -23
  1699. package/src/plugins/indent/icons/indent.svg +0 -3
  1700. package/src/plugins/indent/icons/outdent.svg +0 -3
  1701. package/src/plugins/indent/indent.test.js +0 -276
  1702. package/src/plugins/indent/indent.ts +0 -101
  1703. package/src/plugins/index.ts +0 -72
  1704. package/src/plugins/inline-popup/README.md +0 -15
  1705. package/src/plugins/inline-popup/config/config.ts +0 -72
  1706. package/src/plugins/inline-popup/config/items/a.ts +0 -34
  1707. package/src/plugins/inline-popup/config/items/cells.ts +0 -157
  1708. package/src/plugins/inline-popup/config/items/iframe.ts +0 -23
  1709. package/src/plugins/inline-popup/config/items/img.ts +0 -95
  1710. package/src/plugins/inline-popup/config/items/toolbar.ts +0 -37
  1711. package/src/plugins/inline-popup/icons/addcolumn.svg +0 -11
  1712. package/src/plugins/inline-popup/icons/addrow.svg +0 -9
  1713. package/src/plugins/inline-popup/icons/merge.svg +0 -25
  1714. package/src/plugins/inline-popup/icons/splitg.svg +0 -5
  1715. package/src/plugins/inline-popup/icons/splitv.svg +0 -4
  1716. package/src/plugins/inline-popup/icons/th-list.svg +0 -4
  1717. package/src/plugins/inline-popup/icons/th.svg +0 -4
  1718. package/src/plugins/inline-popup/inline-popup.less +0 -12
  1719. package/src/plugins/inline-popup/inline-popup.test.js +0 -577
  1720. package/src/plugins/inline-popup/inline-popup.ts +0 -361
  1721. package/src/plugins/justify/README.md +0 -3
  1722. package/src/plugins/justify/justify.svg +0 -4
  1723. package/src/plugins/justify/justify.ts +0 -166
  1724. package/src/plugins/key-arrow-outside/README.md +0 -3
  1725. package/src/plugins/key-arrow-outside/key-arrow-outside.ts +0 -53
  1726. package/src/plugins/limit/README.md +0 -50
  1727. package/src/plugins/limit/config.ts +0 -34
  1728. package/src/plugins/limit/limit.test.js +0 -251
  1729. package/src/plugins/limit/limit.ts +0 -135
  1730. package/src/plugins/line-height/README.md +0 -13
  1731. package/src/plugins/line-height/config.ts +0 -42
  1732. package/src/plugins/line-height/langs/ar.js +0 -9
  1733. package/src/plugins/line-height/langs/cs_cz.js +0 -9
  1734. package/src/plugins/line-height/langs/de.js +0 -9
  1735. package/src/plugins/line-height/langs/es.js +0 -9
  1736. package/src/plugins/line-height/langs/fa.js +0 -9
  1737. package/src/plugins/line-height/langs/fr.js +0 -9
  1738. package/src/plugins/line-height/langs/he.js +0 -9
  1739. package/src/plugins/line-height/langs/hu.js +0 -9
  1740. package/src/plugins/line-height/langs/id.js +0 -9
  1741. package/src/plugins/line-height/langs/index.ts +0 -49
  1742. package/src/plugins/line-height/langs/it.js +0 -9
  1743. package/src/plugins/line-height/langs/ja.js +0 -9
  1744. package/src/plugins/line-height/langs/ko.js +0 -9
  1745. package/src/plugins/line-height/langs/mn.js +0 -9
  1746. package/src/plugins/line-height/langs/nl.js +0 -9
  1747. package/src/plugins/line-height/langs/pl.js +0 -9
  1748. package/src/plugins/line-height/langs/pt_br.js +0 -9
  1749. package/src/plugins/line-height/langs/ru.js +0 -9
  1750. package/src/plugins/line-height/langs/tr.js +0 -9
  1751. package/src/plugins/line-height/langs/zh_cn.js +0 -9
  1752. package/src/plugins/line-height/langs/zh_tw.js +0 -9
  1753. package/src/plugins/line-height/line-height.svg +0 -8
  1754. package/src/plugins/line-height/line-height.test.js +0 -136
  1755. package/src/plugins/line-height/line-height.ts +0 -92
  1756. package/src/plugins/link/README.md +0 -69
  1757. package/src/plugins/link/config.ts +0 -124
  1758. package/src/plugins/link/icons/link.svg +0 -4
  1759. package/src/plugins/link/icons/unlink.svg +0 -4
  1760. package/src/plugins/link/link.test.js +0 -1745
  1761. package/src/plugins/link/link.test.screenshot.js +0 -26
  1762. package/src/plugins/link/link.ts +0 -425
  1763. package/src/plugins/link/template.ts +0 -115
  1764. package/src/plugins/media/README.md +0 -3
  1765. package/src/plugins/media/config.ts +0 -34
  1766. package/src/plugins/media/media.ts +0 -100
  1767. package/src/plugins/mobile/README.md +0 -3
  1768. package/src/plugins/mobile/config.ts +0 -89
  1769. package/src/plugins/mobile/mobile.test.js +0 -229
  1770. package/src/plugins/mobile/mobile.ts +0 -112
  1771. package/src/plugins/ordered-list/README.md +0 -3
  1772. package/src/plugins/ordered-list/config.ts +0 -64
  1773. package/src/plugins/ordered-list/icons/ol.svg +0 -3
  1774. package/src/plugins/ordered-list/icons/ul.svg +0 -5
  1775. package/src/plugins/ordered-list/ordered-list.test.js +0 -301
  1776. package/src/plugins/ordered-list/ordered-list.ts +0 -60
  1777. package/src/plugins/paste/README.md +0 -11
  1778. package/src/plugins/paste/config.ts +0 -141
  1779. package/src/plugins/paste/helpers.ts +0 -185
  1780. package/src/plugins/paste/interface.ts +0 -56
  1781. package/src/plugins/paste/paste.test.js +0 -1263
  1782. package/src/plugins/paste/paste.ts +0 -252
  1783. package/src/plugins/paste-from-word/README.md +0 -22
  1784. package/src/plugins/paste-from-word/config.ts +0 -57
  1785. package/src/plugins/paste-from-word/paste-from-word.ts +0 -126
  1786. package/src/plugins/paste-storage/README.md +0 -4
  1787. package/src/plugins/paste-storage/paste-storage.less +0 -60
  1788. package/src/plugins/paste-storage/paste-storage.test.js +0 -231
  1789. package/src/plugins/paste-storage/paste-storage.ts +0 -222
  1790. package/src/plugins/placeholder/README.md +0 -22
  1791. package/src/plugins/placeholder/config.ts +0 -56
  1792. package/src/plugins/placeholder/placeholder.less +0 -20
  1793. package/src/plugins/placeholder/placeholder.test.js +0 -155
  1794. package/src/plugins/placeholder/placeholder.ts +0 -229
  1795. package/src/plugins/plugins.test.js +0 -9
  1796. package/src/plugins/powered-by-jodit/README.md +0 -3
  1797. package/src/plugins/powered-by-jodit/powered-by-jodit.ts +0 -52
  1798. package/src/plugins/preview/README.md +0 -3
  1799. package/src/plugins/preview/preview.less +0 -7
  1800. package/src/plugins/preview/preview.test.js +0 -80
  1801. package/src/plugins/preview/preview.ts +0 -48
  1802. package/src/plugins/print/README.md +0 -3
  1803. package/src/plugins/print/lib/generate-critical-css.ts +0 -142
  1804. package/src/plugins/print/print.svg +0 -3
  1805. package/src/plugins/print/print.ts +0 -97
  1806. package/src/plugins/redo-undo/README.md +0 -3
  1807. package/src/plugins/redo-undo/icons/redo.svg +0 -3
  1808. package/src/plugins/redo-undo/icons/undo.svg +0 -4
  1809. package/src/plugins/redo-undo/redo-undo.ts +0 -75
  1810. package/src/plugins/resize-cells/README.md +0 -3
  1811. package/src/plugins/resize-cells/config.ts +0 -19
  1812. package/src/plugins/resize-cells/resize-cells.less +0 -27
  1813. package/src/plugins/resize-cells/resize-cells.test.js +0 -890
  1814. package/src/plugins/resize-cells/resize-cells.ts +0 -498
  1815. package/src/plugins/resize-handler/README.md +0 -10
  1816. package/src/plugins/resize-handler/config.ts +0 -21
  1817. package/src/plugins/resize-handler/resize-handler.ts +0 -140
  1818. package/src/plugins/resizer/README.md +0 -17
  1819. package/src/plugins/resizer/config.ts +0 -70
  1820. package/src/plugins/resizer/resizer.common.less +0 -30
  1821. package/src/plugins/resizer/resizer.less +0 -102
  1822. package/src/plugins/resizer/resizer.test.js +0 -592
  1823. package/src/plugins/resizer/resizer.ts +0 -598
  1824. package/src/plugins/search/README.md +0 -43
  1825. package/src/plugins/search/config.ts +0 -87
  1826. package/src/plugins/search/helpers/index.ts +0 -12
  1827. package/src/plugins/search/helpers/sentence-finder.ts +0 -103
  1828. package/src/plugins/search/helpers/wrap-ranges-texts-in-tmp-span.ts +0 -140
  1829. package/src/plugins/search/interface.ts +0 -77
  1830. package/src/plugins/search/search.svg +0 -5
  1831. package/src/plugins/search/search.test.js +0 -582
  1832. package/src/plugins/search/search.test.screenshot.js +0 -43
  1833. package/src/plugins/search/search.ts +0 -455
  1834. package/src/plugins/search/ui/search.less +0 -159
  1835. package/src/plugins/search/ui/search.ts +0 -264
  1836. package/src/plugins/select/README.md +0 -11
  1837. package/src/plugins/select/config.ts +0 -31
  1838. package/src/plugins/select/select.ts +0 -128
  1839. package/src/plugins/select-cells/README.md +0 -3
  1840. package/src/plugins/select-cells/config.ts +0 -19
  1841. package/src/plugins/select-cells/select-cells.ts +0 -441
  1842. package/src/plugins/size/README.md +0 -15
  1843. package/src/plugins/size/config.ts +0 -49
  1844. package/src/plugins/size/size.less +0 -25
  1845. package/src/plugins/size/size.test.js +0 -385
  1846. package/src/plugins/size/size.ts +0 -206
  1847. package/src/plugins/source/README.md +0 -60
  1848. package/src/plugins/source/config.ts +0 -111
  1849. package/src/plugins/source/editor/engines/ace.ts +0 -302
  1850. package/src/plugins/source/editor/engines/area.ts +0 -147
  1851. package/src/plugins/source/editor/engines/custom.ts +0 -52
  1852. package/src/plugins/source/editor/engines/index.ts +0 -13
  1853. package/src/plugins/source/editor/factory.ts +0 -56
  1854. package/src/plugins/source/editor/sourceEditor.ts +0 -48
  1855. package/src/plugins/source/source.less +0 -82
  1856. package/src/plugins/source/source.svg +0 -4
  1857. package/src/plugins/source/source.test.js +0 -218
  1858. package/src/plugins/source/source.ts +0 -408
  1859. package/src/plugins/speech-recognize/README.md +0 -111
  1860. package/src/plugins/speech-recognize/config.ts +0 -197
  1861. package/src/plugins/speech-recognize/constants.ts +0 -13
  1862. package/src/plugins/speech-recognize/helpers/api.ts +0 -15
  1863. package/src/plugins/speech-recognize/helpers/exec-spell-command.ts +0 -16
  1864. package/src/plugins/speech-recognize/helpers/recognize-manager.ts +0 -206
  1865. package/src/plugins/speech-recognize/helpers/sound.ts +0 -47
  1866. package/src/plugins/speech-recognize/interface.ts +0 -51
  1867. package/src/plugins/speech-recognize/langs/ar.js +0 -14
  1868. package/src/plugins/speech-recognize/langs/cs_cz.js +0 -14
  1869. package/src/plugins/speech-recognize/langs/de.js +0 -14
  1870. package/src/plugins/speech-recognize/langs/es.js +0 -14
  1871. package/src/plugins/speech-recognize/langs/fa.js +0 -14
  1872. package/src/plugins/speech-recognize/langs/fr.js +0 -14
  1873. package/src/plugins/speech-recognize/langs/he.js +0 -14
  1874. package/src/plugins/speech-recognize/langs/hu.js +0 -14
  1875. package/src/plugins/speech-recognize/langs/id.js +0 -14
  1876. package/src/plugins/speech-recognize/langs/index.ts +0 -49
  1877. package/src/plugins/speech-recognize/langs/it.js +0 -14
  1878. package/src/plugins/speech-recognize/langs/ja.js +0 -14
  1879. package/src/plugins/speech-recognize/langs/ko.js +0 -14
  1880. package/src/plugins/speech-recognize/langs/mn.js +0 -14
  1881. package/src/plugins/speech-recognize/langs/nl.js +0 -14
  1882. package/src/plugins/speech-recognize/langs/pl.js +0 -14
  1883. package/src/plugins/speech-recognize/langs/pt_br.js +0 -14
  1884. package/src/plugins/speech-recognize/langs/ru.js +0 -14
  1885. package/src/plugins/speech-recognize/langs/tr.js +0 -14
  1886. package/src/plugins/speech-recognize/langs/zh_cn.js +0 -14
  1887. package/src/plugins/speech-recognize/langs/zh_tw.js +0 -14
  1888. package/src/plugins/speech-recognize/speech-recognize.less +0 -45
  1889. package/src/plugins/speech-recognize/speech-recognize.svg +0 -5
  1890. package/src/plugins/speech-recognize/speech-recognize.ts +0 -145
  1891. package/src/plugins/spellcheck/README.md +0 -3
  1892. package/src/plugins/spellcheck/config.ts +0 -37
  1893. package/src/plugins/spellcheck/langs/ar.js +0 -9
  1894. package/src/plugins/spellcheck/langs/cs_cz.js +0 -9
  1895. package/src/plugins/spellcheck/langs/de.js +0 -9
  1896. package/src/plugins/spellcheck/langs/es.js +0 -9
  1897. package/src/plugins/spellcheck/langs/fa.js +0 -9
  1898. package/src/plugins/spellcheck/langs/fr.js +0 -9
  1899. package/src/plugins/spellcheck/langs/he.js +0 -9
  1900. package/src/plugins/spellcheck/langs/hu.js +0 -9
  1901. package/src/plugins/spellcheck/langs/id.js +0 -9
  1902. package/src/plugins/spellcheck/langs/index.ts +0 -49
  1903. package/src/plugins/spellcheck/langs/it.js +0 -9
  1904. package/src/plugins/spellcheck/langs/ja.js +0 -9
  1905. package/src/plugins/spellcheck/langs/ko.js +0 -9
  1906. package/src/plugins/spellcheck/langs/mn.js +0 -9
  1907. package/src/plugins/spellcheck/langs/nl.js +0 -9
  1908. package/src/plugins/spellcheck/langs/pl.js +0 -9
  1909. package/src/plugins/spellcheck/langs/pt_br.js +0 -9
  1910. package/src/plugins/spellcheck/langs/ru.js +0 -9
  1911. package/src/plugins/spellcheck/langs/tr.js +0 -9
  1912. package/src/plugins/spellcheck/langs/zh_cn.js +0 -9
  1913. package/src/plugins/spellcheck/langs/zh_tw.js +0 -9
  1914. package/src/plugins/spellcheck/spellcheck.svg +0 -4
  1915. package/src/plugins/spellcheck/spellcheck.ts +0 -56
  1916. package/src/plugins/stat/README.md +0 -11
  1917. package/src/plugins/stat/config.ts +0 -23
  1918. package/src/plugins/stat/stat.test.js +0 -120
  1919. package/src/plugins/stat/stat.ts +0 -87
  1920. package/src/plugins/sticky/README.md +0 -17
  1921. package/src/plugins/sticky/config.ts +0 -44
  1922. package/src/plugins/sticky/sticky.less +0 -26
  1923. package/src/plugins/sticky/sticky.test.js +0 -201
  1924. package/src/plugins/sticky/sticky.ts +0 -154
  1925. package/src/plugins/symbols/README.md +0 -3
  1926. package/src/plugins/symbols/config.ts +0 -271
  1927. package/src/plugins/symbols/langs/ar.js +0 -9
  1928. package/src/plugins/symbols/langs/cs_cz.js +0 -9
  1929. package/src/plugins/symbols/langs/de.js +0 -9
  1930. package/src/plugins/symbols/langs/es.js +0 -9
  1931. package/src/plugins/symbols/langs/fa.js +0 -9
  1932. package/src/plugins/symbols/langs/fr.js +0 -9
  1933. package/src/plugins/symbols/langs/he.js +0 -9
  1934. package/src/plugins/symbols/langs/hu.js +0 -9
  1935. package/src/plugins/symbols/langs/id.js +0 -9
  1936. package/src/plugins/symbols/langs/index.ts +0 -49
  1937. package/src/plugins/symbols/langs/it.js +0 -9
  1938. package/src/plugins/symbols/langs/ja.js +0 -9
  1939. package/src/plugins/symbols/langs/ko.js +0 -9
  1940. package/src/plugins/symbols/langs/mn.js +0 -9
  1941. package/src/plugins/symbols/langs/nl.js +0 -9
  1942. package/src/plugins/symbols/langs/pl.js +0 -9
  1943. package/src/plugins/symbols/langs/pt_br.js +0 -9
  1944. package/src/plugins/symbols/langs/ru.js +0 -9
  1945. package/src/plugins/symbols/langs/tr.js +0 -9
  1946. package/src/plugins/symbols/langs/zh_cn.js +0 -9
  1947. package/src/plugins/symbols/langs/zh_tw.js +0 -9
  1948. package/src/plugins/symbols/symbols.less +0 -65
  1949. package/src/plugins/symbols/symbols.svg +0 -3
  1950. package/src/plugins/symbols/symbols.test.js +0 -281
  1951. package/src/plugins/symbols/symbols.test.screenshot.js +0 -25
  1952. package/src/plugins/symbols/symbols.ts +0 -194
  1953. package/src/plugins/tab/README.md +0 -1
  1954. package/src/plugins/tab/cases/index.ts +0 -11
  1955. package/src/plugins/tab/cases/on-tab-inside-li.ts +0 -161
  1956. package/src/plugins/tab/config.ts +0 -26
  1957. package/src/plugins/tab/tab.test.js +0 -148
  1958. package/src/plugins/tab/tab.ts +0 -55
  1959. package/src/plugins/table/README.md +0 -19
  1960. package/src/plugins/table/config.ts +0 -226
  1961. package/src/plugins/table/table.common.less +0 -8
  1962. package/src/plugins/table/table.less +0 -70
  1963. package/src/plugins/table/table.svg +0 -4
  1964. package/src/plugins/table/table.test.js +0 -43
  1965. package/src/plugins/table/table.ts +0 -27
  1966. package/src/plugins/table-keyboard-navigation/README.md +0 -3
  1967. package/src/plugins/table-keyboard-navigation/table-keyboard-navigation.ts +0 -185
  1968. package/src/plugins/video/README.md +0 -3
  1969. package/src/plugins/video/config.ts +0 -88
  1970. package/src/plugins/video/video.svg +0 -4
  1971. package/src/plugins/video/video.ts +0 -25
  1972. package/src/plugins/wrap-nodes/README.md +0 -34
  1973. package/src/plugins/wrap-nodes/config.ts +0 -37
  1974. package/src/plugins/wrap-nodes/wrap-nodes.test.js +0 -193
  1975. package/src/plugins/wrap-nodes/wrap-nodes.ts +0 -174
  1976. package/src/plugins/xpath/README.md +0 -4
  1977. package/src/plugins/xpath/config.ts +0 -19
  1978. package/src/plugins/xpath/xpath.less +0 -28
  1979. package/src/plugins/xpath/xpath.test.js +0 -182
  1980. package/src/plugins/xpath/xpath.ts +0 -234
  1981. package/src/polyfills.ts +0 -71
  1982. package/src/styles/form.less +0 -264
  1983. package/src/styles/icons/README.md +0 -159
  1984. package/src/styles/icons/angle-down.svg +0 -4
  1985. package/src/styles/icons/angle-left.svg +0 -4
  1986. package/src/styles/icons/angle-right.svg +0 -4
  1987. package/src/styles/icons/angle-up.svg +0 -4
  1988. package/src/styles/icons/bin.svg +0 -4
  1989. package/src/styles/icons/cancel.svg +0 -5
  1990. package/src/styles/icons/center.svg +0 -4
  1991. package/src/styles/icons/check.svg +0 -4
  1992. package/src/styles/icons/chevron.svg +0 -4
  1993. package/src/styles/icons/dots.svg +0 -8
  1994. package/src/styles/icons/eye.svg +0 -4
  1995. package/src/styles/icons/file.svg +0 -3
  1996. package/src/styles/icons/folder.svg +0 -3
  1997. package/src/styles/icons/index.ts +0 -69
  1998. package/src/styles/icons/info-circle.svg +0 -4
  1999. package/src/styles/icons/left.svg +0 -4
  2000. package/src/styles/icons/loader.png +0 -0
  2001. package/src/styles/icons/lock.svg +0 -1
  2002. package/src/styles/icons/ok.svg +0 -3
  2003. package/src/styles/icons/pencil.svg +0 -1
  2004. package/src/styles/icons/pins.svg +0 -1
  2005. package/src/styles/icons/plus.svg +0 -1
  2006. package/src/styles/icons/resize-handler.svg +0 -4
  2007. package/src/styles/icons/right.svg +0 -4
  2008. package/src/styles/icons/save.svg +0 -4
  2009. package/src/styles/icons/settings.svg +0 -3
  2010. package/src/styles/icons/unlock.svg +0 -4
  2011. package/src/styles/icons/update.svg +0 -4
  2012. package/src/styles/icons/upload.svg +0 -4
  2013. package/src/styles/icons/valign.svg +0 -4
  2014. package/src/styles/index.less +0 -14
  2015. package/src/styles/jodit.less +0 -73
  2016. package/src/styles/mixins.less +0 -150
  2017. package/src/styles/modules/button-group.less +0 -50
  2018. package/src/styles/modules/grid.less +0 -55
  2019. package/src/styles/modules/icon.less +0 -51
  2020. package/src/styles/modules/texticons.less +0 -41
  2021. package/src/styles/reset.less +0 -50
  2022. package/src/styles/themes/dark.less +0 -187
  2023. package/src/styles/themes/theme.test.screenshot.js +0 -60
  2024. package/src/styles/variables.less +0 -127
  2025. package/src/types/ajax.d.ts +0 -100
  2026. package/src/types/async.d.ts +0 -84
  2027. package/src/types/context.d.ts +0 -27
  2028. package/src/types/core.d.ts +0 -16
  2029. package/src/types/create.d.ts +0 -100
  2030. package/src/types/dialog.d.ts +0 -53
  2031. package/src/types/events.d.ts +0 -180
  2032. package/src/types/file-browser.d.ts +0 -346
  2033. package/src/types/form.d.ts +0 -14
  2034. package/src/types/history.d.ts +0 -56
  2035. package/src/types/index.d.ts +0 -33
  2036. package/src/types/jodit.d.ts +0 -176
  2037. package/src/types/messages.d.ts +0 -10
  2038. package/src/types/plugin.d.ts +0 -60
  2039. package/src/types/popup.d.ts +0 -40
  2040. package/src/types/select.d.ts +0 -106
  2041. package/src/types/source.d.ts +0 -33
  2042. package/src/types/storage.ts +0 -24
  2043. package/src/types/style.d.ts +0 -97
  2044. package/src/types/toolbar.d.ts +0 -383
  2045. package/src/types/traits.d.ts +0 -64
  2046. package/src/types/types.d.ts +0 -300
  2047. package/src/types/ui.d.ts +0 -196
  2048. package/src/types/uploader.d.ts +0 -158
  2049. package/src/types/view.d.ts +0 -151
  2050. package/src/typings.d.ts +0 -15
  2051. package/tsconfig.json +0 -52
  2052. package/types/core/helpers/normalize/normalize-node.d.ts +0 -6
  2053. package/types/core/selection/select.d.ts +0 -255
  2054. package/types/core/traits/index.d.ts +0 -11
  2055. package/types/types/storage.ts +0 -24
  2056. package/vdom.html +0 -20
  2057. /package/{build → es2015}/plugins/speech-recognize/speech-recognize.min.css +0 -0
  2058. /package/{build/plugins/speech-recognize/speech-recognize.es2018.min.css → es2021/plugins/speech-recognize/speech-recognize.min.css} +0 -0
  2059. /package/{build/plugins/speech-recognize/speech-recognize.es2018.en.min.css → es2021.en/plugins/speech-recognize/speech-recognize.min.css} +0 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,3900 @@
1
+ # Changelog
2
+
3
+ > **Tags:**
4
+ >
5
+ > - :boom: [Breaking Change]
6
+ > - :rocket: [New Feature]
7
+ > - :bug: [Bug Fix]
8
+ > - :memo: [Documentation]
9
+ > - :house: [Internal]
10
+ > - :nail_care: [Polish]
11
+
12
+ ## 4.0.0-beta.10
13
+
14
+
15
+ ```plain
16
+ @types/node ^18.15.12 → ^20.1.0
17
+ @typescript-eslint/eslint-plugin ^5.59.0 → ^5.59.2
18
+ @typescript-eslint/parser ^5.59.0 → ^5.59.2
19
+ axios ^1.3.6 → ^1.4.0
20
+ core-js ^3.30.1 → ^3.30.2
21
+ cssnano-preset-advanced ^6.0.0 → ^6.0.1
22
+ eslint ^8.38.0 → ^8.40.0
23
+ glob ^10.2.1 → ^10.2.2
24
+ karma ^6.4.1 → ^6.4.2
25
+ lint-staged ^13.2.1 → ^13.2.2
26
+ open ^8.4.2 → ^9.1.0
27
+ postcss-loader ^7.2.4 → ^7.3.0
28
+ prettier ^2.8.7 → ^2.8.8
29
+ puppeteer ^19.10.0 → ^20.1.1
30
+ stylelint ^15.5.0 → ^15.6.1
31
+ terser-webpack-plugin ^5.3.7 → ^5.3.8
32
+ webpack 5.80.0 → 5.82.0
33
+ webpack-cli ^5.0.1 → ^5.1.0
34
+ webpack-dev-middleware ^6.0.2 → ^6.1.0
35
+ webpack-dev-server ^4.13.3 → ^4.15.0
36
+ yargs ^17.7.1 → ^17.7.2
37
+ ```
38
+
39
+ ## 4.0.0.beta-0
40
+
41
+ #### :boom: Breaking Change
42
+
43
+ - !!! Build files removed from repository and only available in npm package !!!
44
+ - !!! bowers.json was removed !!!
45
+ - server.js was removed
46
+ - All build js files was rewritten to typescript
47
+ - `build-system` was renamed as `tools`
48
+ - Removed `exludeLangs` build option. Instead use `--includeLanguages=en` option.
49
+ - Default target for build was changed to es2015
50
+ - Build in es2018 target was removed, instead es2021 was added
51
+ - Event `getIcon` was removed. Use option `getIcon` instead
52
+
53
+ ```js
54
+ Jodit.make('#editor', {
55
+ getIcon: (name: string) => {
56
+ if (name === 'bold') {
57
+ return '<svg>...</svg>';
58
+ }
59
+
60
+ return null;
61
+ }
62
+ });
63
+ ```
64
+
65
+ - Removed `errorMessage` event. Use `module.messages` instead
66
+
67
+ ```js
68
+ Jodit.make('#editor').message.info('Hello world');
69
+ ```
70
+
71
+ #### :rocket: New Feature
72
+
73
+ - Added `Jodit.modules.Dom.isList` method
74
+ - Added `Jodit.modules.Dom.isLeaf` method
75
+ - Added plugin `delete` for correct delete content with command `delete`
76
+
77
+ #### :house: Internal
78
+
79
+ ```plain
80
+ @types/node ^18.13.0 → ^18.15.12
81
+ @typescript-eslint/eslint-plugin ^5.50.0 → ^5.59.0
82
+ @typescript-eslint/parser ^5.50.0 → ^5.59.0
83
+ autoprefixer ^10.4.13 → ^10.4.14
84
+ axios ^1.3.3 → ^1.3.6
85
+ core-js ^3.28.0 → ^3.30.1
86
+ css-minimizer-webpack-plugin ^4.2.2 → ^5.0.0
87
+ cssnano-preset-advanced ^5.3.9 → ^6.0.0
88
+ eslint ^8.34.0 → ^8.38.0
89
+ eslint-config-prettier ^8.6.0 → ^8.8.0
90
+ expect-mocha-image-snapshot ^3.0.1 → ^3.0.13
91
+ glob ^8.1.0 → ^10.2.1
92
+ karma-chrome-launcher ^3.1.1 → ^3.2.0
93
+ lint-staged ^13.1.2 → ^13.2.1
94
+ mini-css-extract-plugin ^2.7.2 → ^2.7.5
95
+ postcss >=8.4.21 → >=8.4.23
96
+ postcss-css-variables ^0.18.0 → ^0.19.0
97
+ postcss-loader ^7.0.2 → ^7.2.4
98
+ prettier ^2.8.4 → ^2.8.7
99
+ puppeteer ^19.7.0 → ^19.10.0
100
+ style-loader ^3.3.1 → ^3.3.2
101
+ stylelint ^15.1.0 → ^15.5.0
102
+ stylelint-config-standard ^30.0.1 → ^33.0.0
103
+ stylelint-prettier ^2.0.0 → ^3.0.0
104
+ terser-webpack-plugin ^5.3.6 → ^5.3.7
105
+ tsc-alias ^1.8.2 → ^1.8.5
106
+ typescript ^4.9.5 → ^5.0.4
107
+ webpack 5.76.0 → 5.80.0
108
+ webpack-dev-middleware ^6.0.1 → ^6.0.2
109
+ webpack-dev-server ^4.11.1 → ^4.13.3
110
+ yargs ^17.6.2 → ^17.7.1
111
+ ```
112
+
113
+ ## 3.24.6
114
+
115
+ #### :house: Internal
116
+
117
+ - `Jodit.modules.Helpers.htmlspecialchars` marked as deprecated. Instead use `Jodit.modules.Helpers.stripTags`
118
+ - `Jodit.modules.Helpers.stripTags` added third argument for excluding tags
119
+
120
+ ```js
121
+ Jodit.modules.Helpers.stripTags(
122
+ '<p>test <strong>po<br/>p</strong><br/>stop <em>lop</em><br/></p>',
123
+ document,
124
+ new Set(['p', 'br'])
125
+ );
126
+ // <p>test po<br>p<br>stop lop<br></p>
127
+ ```
128
+
129
+ - Inside `safeMode` will init only `safePluginsList` plugins. It used to init `extraPlugins` too.
130
+ - `size` plugin was added in default `safePluginsList`
131
+
132
+ ```js
133
+ const editor = Jodit.make('#editor', {
134
+ safeMode: true,
135
+ safePluginsList: ['enter', 'backspace']
136
+ });
137
+ console.log(editor.__plugins); // only 'enter', 'backspace'
138
+ ```
139
+
140
+ ## 3.24.5
141
+
142
+ #### :bug: Bug Fix
143
+
144
+ - [Wrong new empty paragraph location when cursor is set after a table and <Enter> key is pressed #953](https://github.com/xdan/jodit/issues/953)
145
+ - The PluginSystem module has been refactored: now asynchronous plugins do not block the initialization of the editor and it is ready to work without them.
146
+ - [Remove anchor element when set black text color. #936](https://github.com/xdan/jodit/issues/936)
147
+ - [Insert_only_text makes mistakes when i copy a text html that includes a style tag #934](https://github.com/xdan/jodit/issues/934)
148
+ - [Selected font styling reverts to default style after removing the added text using the backspace key #925](https://github.com/xdan/jodit/issues/925)
149
+
150
+ #### :house: Internal
151
+
152
+ ```
153
+ core-js ^3.27.2 → ^3.28.0
154
+ @types/node ^18.11.19 → ^18.13.0
155
+ axios ^1.3.2 → ^1.3.3
156
+ eslint ^8.33.0 → ^8.34.0
157
+ karma-sourcemap-loader ^0.3.8 → ^0.4.0
158
+ lint-staged ^13.1.0 → ^13.1.2
159
+ open ^8.4.0 → ^8.4.1
160
+ prettier ^2.8.3 → ^2.8.4
161
+ puppeteer ^19.6.3 → ^19.7.0
162
+ stylelint ^14.16.1 → ^15.1.0
163
+ stylelint-config-prettier ^9.0.4 → ^9.0.5
164
+ stylelint-config-standard ^29.0.0 → ^30.0.1
165
+ synchronous-promise 2.0.15 → 2.0.17
166
+ ```
167
+
168
+ ## 3.24.4
169
+
170
+ #### :boom: Breaking Change
171
+
172
+ - Options to hide the functionality of editing directories and files `filebrowser.createNewFolder`, `filebrowser.editImage`,
173
+ `filebrowser.deleteFolder`,`filebrowser.renameFolder`,`filebrowser.moveFolder`,`filebrowser.moveFile` were marked as deprecated.
174
+ - Instead added `filebrowser.permissionsPresets: Partial<IPermissions>` option.
175
+
176
+ Before:
177
+
178
+ ```js
179
+ Jodit.make('#editor', {
180
+ filebrowser: {
181
+ createNewFolder: false,
182
+ deleteFolder: false,
183
+ renameFolder: false,
184
+ moveFolder: false,
185
+ moveFile: false,
186
+ editImage: false,
187
+ ajax: {
188
+ url: 'https://xdsoft.net/jodit/finder/'
189
+ }
190
+ }
191
+ });
192
+ ```
193
+
194
+ Now
195
+
196
+ ```js
197
+ Jodit.make('#editor', {
198
+ filebrowser: {
199
+ permissionsPresets: {
200
+ allowFiles: false,
201
+ allowFileMove: false,
202
+ allowFileUpload: false,
203
+ allowFileUploadRemote: false,
204
+ allowFileRemove: false,
205
+ allowFileRename: false,
206
+ allowFolders: false,
207
+ allowFolderCreate: false,
208
+ allowFolderMove: false,
209
+ allowFolderRemove: false,
210
+ allowFolderRename: false,
211
+ allowImageResize: false,
212
+ allowImageCrop: false
213
+ },
214
+ ajax: {
215
+ url: 'https://xdsoft.net/jodit/finder/'
216
+ }
217
+ }
218
+ });
219
+ ```
220
+
221
+ ## 3.24.3
222
+
223
+ #### :house: Internal
224
+
225
+ ```plain
226
+ core-js ^3.26.1 → ^3.27.2
227
+ @types/node ^18.11.9 → ^18.11.19
228
+ @typescript-eslint/eslint-plugin ^5.45.0 → ^5.50.0
229
+ @typescript-eslint/parser ^5.45.0 → ^5.50.0
230
+ axios ^1.2.0 → ^1.3.2
231
+ css-loader ^6.7.2 → ^6.7.3
232
+ eslint ^8.28.0 → ^8.33.0
233
+ eslint-config-prettier ^8.5.0 → ^8.6.0
234
+ eslint-plugin-import ^2.26.0 → ^2.27.5
235
+ expect-mocha-image-snapshot ^2.0.14 → ^3.0.1
236
+ glob ^8.0.3 → ^8.1.0
237
+ husky ^8.0.2 → ^8.0.3
238
+ lint-staged ^13.0.4 → ^13.1.0
239
+ mini-css-extract-plugin ^2.7.0 → ^2.7.2
240
+ mocha ^10.1.0 → ^10.2.0
241
+ nock ^13.2.9 → ^13.3.0
242
+ postcss >=8.4.19 → >=8.4.21
243
+ postcss-loader ^7.0.1 → ^7.0.2
244
+ prettier ^2.8.0 → ^2.8.3
245
+ puppeteer ^19.3.0 → ^19.6.3
246
+ stylelint ^14.15.0 → ^14.16.1
247
+ synchronous-promise 2.0.15 → 2.0.17
248
+ ts-loader ^9.4.1 → ^9.4.2
249
+ tsc-alias ^1.7.1 → ^1.8.2
250
+ tslib ^2.4.1 → ^2.5.0
251
+ typescript ^4.9.3 → ^4.9.5
252
+ webpack-cli ^5.0.0 → ^5.0.1
253
+ ```
254
+
255
+ ## 3.24.2
256
+
257
+ #### :rocket: New Feature
258
+
259
+ - [Fix #909 Add option to provide pre-defined classes for img elements. #910](https://github.com/xdan/jodit/pull/910)
260
+
261
+ ## 3.24.1
262
+
263
+ #### :boom: Breaking Change
264
+
265
+ - Constant array `MAY_BE_REMOVED_WITH_KEY` was replaced on set `INSEPARABLE_TAGS`
266
+
267
+ #### :rocket: New Feature
268
+
269
+ - Method `Select.applyStyle` marked as deprecated. Use `Select.commitStyle` instead.
270
+
271
+ Before:
272
+
273
+ ```js
274
+ jodit.select.applyStyle(
275
+ { color: red },
276
+ {
277
+ element: 'strong'
278
+ }
279
+ );
280
+ ```
281
+
282
+ Now:
283
+
284
+ ```js
285
+ jodit.s.commitStyle({
286
+ element: 'strong',
287
+ attributes: {
288
+ style: {
289
+ color: 'red'
290
+ }
291
+ }
292
+ });
293
+ ```
294
+
295
+ - In the options of the `Select`.`commitStyle` method, the `attributes` property has been added, which allows you to
296
+ also set attributes when applying a style.
297
+
298
+ ```js
299
+ jodit.s.commitStyle({
300
+ element: 'a',
301
+ attributes: {
302
+ href: 'https://stename.ru'
303
+ }
304
+ });
305
+ ```
306
+
307
+ Wraps the selected text into a link with the specified address.
308
+
309
+ - When inserting a url, if the text is selected, it will automatically be replaced with a link
310
+
311
+ - In Tab plugin allow use shift+tab for lists
312
+
313
+ #### :bug: Bug Fix
314
+
315
+ - [Safari custom color picker errors out on browser check #906](https://github.com/xdan/jodit/issues/906)
316
+
317
+ #### :house: Internal
318
+
319
+ - Fixed deletion of the asserts function from the production code, instead of regular expressions, transformers are used\*\*\*\*
320
+
321
+ ## 3.23.3
322
+
323
+ #### :rocket: New Feature
324
+
325
+ - Added option `IControlType.childExec` Allows you to set a separate handler for list items
326
+
327
+ ```javascript
328
+ Jodit.make('.editor', {
329
+ buttons: [
330
+ {
331
+ name: 'add-date',
332
+ iconURL: 'stuf/dummy.png',
333
+ list: {
334
+ options: 'Open options'
335
+ },
336
+ exec(editor, current, control) {
337
+ editor.s.insertHTML(new Date().toString());
338
+ },
339
+ childExec(editor, current, control) {
340
+ if (control.args[0] === 'options') {
341
+ editor.alert('Options');
342
+ }
343
+ }
344
+ }
345
+ ]
346
+ });
347
+ ```
348
+
349
+ ## 3.23.2
350
+
351
+ #### :bug: Bug Fix
352
+
353
+ - [Insert link in Safari adds link to the beginning of the text #900](https://github.com/xdan/jodit/issues/900)
354
+
355
+ #### :house: Internal
356
+
357
+ - Deleted ajax.dataType option, because it was not used
358
+
359
+ ## 3.23.1
360
+
361
+ #### :boom: Breaking Change
362
+
363
+ - Remove `IJodit` from first argument of `Ajax` constructor.
364
+
365
+ #### :rocket: New Feature
366
+
367
+ - The focus method and the isFocused property have been added to the `IJodit` interface.
368
+ These are just aliases for the same methods and properties of the `Select` module.
369
+
370
+ ```js
371
+ const editor = Jodit.make('#editor');
372
+ editor.focus();
373
+ ```
374
+
375
+ - The `IJodit.fetch` method has been added to the `IJodit` interface,
376
+ which is similar in signature to the `fetch` method in the browser
377
+
378
+ ```js
379
+ const editor = Jodit.make('#editor');
380
+ const data = await editor.fetch('https://somesite.com?type=json');
381
+ ```
382
+
383
+ #### :bug: Bug Fix
384
+
385
+ - Fixed error when using `superscript` and `subscript` commands. If the cursor was inside sub or sup tags, then nothing happened.
386
+ - Fixed a bug in the placeholder plugin when indent styles were set for the edit area,
387
+ they were not taken into account in the positioning of the placeholder. As a result, it was shifted relative to the focus.
388
+
389
+ ## 3.22.1
390
+
391
+ #### :boom: Breaking Change
392
+
393
+ - `ISnapshot.isBlocked` - is readonly now
394
+ - `IHistory.snapshot` - is readonly now
395
+ - `IHistory.processChanges` and `IHistory.upTick` were removed.
396
+ - Instead of `IHistory.snapshot.isBlocked=true...IHistory.snapshot.isBlocked=false` should be used `IHistory.snapshot.transaction(() => {...})`
397
+ - `IJodit.registerCommand<C extends string>` - is generic now
398
+ - `IJodit.getNativeEditorValue` - marked as internal, please do not use it in your code
399
+ - To class `.jodit-container` was added `background-color: var(--color-background-light-gray);`
400
+ - To class `.jodit-workplace` was added `background-color: var(--color-background-default);`
401
+ - Selection markers now are marked as temporary with `Dom.markTemporary`
402
+ - Search plugin move selection to the next found element after replacing. See bug fix section
403
+ - WrapNodes plugin added `emptyBlockAfterInit=true` option. After the editor is initialized, if it is empty, an empty block will be added to it.
404
+
405
+ #### :bug: Bug Fix
406
+
407
+ - [Select text formatting before writing #894](https://github.com/xdan/jodit/issues/894)
408
+
409
+ #### :house: Internal
410
+
411
+ ```
412
+ core-js ^3.25.5 → ^3.26.0
413
+ @types/node ^18.11.0 → ^18.11.9
414
+ @typescript-eslint/eslint-plugin ^5.40.0 → ^5.42.0
415
+ @typescript-eslint/parser ^5.40.0 → ^5.42.0
416
+ autoprefixer ^10.4.12 → ^10.4.13
417
+ cssnano-preset-advanced ^5.3.8 → ^5.3.9
418
+ eslint ^8.25.0 → ^8.26.0
419
+ puppeteer ^19.0.0 → ^19.2.1
420
+ replace ^1.2.1 → ^1.2.2
421
+ tslib ^2.4.0 → ^2.4.1
422
+ yargs ^17.6.0 → ^17.6.1
423
+ ```
424
+
425
+ ## 3.21.5
426
+
427
+ - [Unnecessary message showing after reaching the limit](https://xdsoft.net/jodit/pro/cab/issues/380e8a02-00c5-4aa0-8923-5b957d503eb1)
428
+
429
+ ## 3.21.4
430
+
431
+ #### :bug: Bug Fix
432
+
433
+ - [Font Style Change when removing Bold or Italics](https://xdsoft.net/jodit/pro/cab/issues/6ef20dc4-fabe-43c3-a299-86797d328bdf)
434
+
435
+ #### :house: Internal
436
+
437
+ @types/node ^18.8.3 → ^18.11.0
438
+ axios ^1.1.2 → ^1.1.3
439
+ css-minimizer-webpack-plugin ^4.2.1 → ^4.2.2
440
+ mocha ^10.0.0 → ^10.1.0
441
+ postcss >=8.4.17 → >=8.4.18
442
+ puppeteer ^18.2.1 → ^19.0.0
443
+ stylelint ^14.13.0 → ^14.14.0
444
+ stylelint-config-standard ^28.0.0 → ^29.0.0
445
+
446
+ ## 3.21.1
447
+
448
+ #### :boom: Breaking Change
449
+
450
+ - Filebrowser adds a timestamp to the image preview url, now it will be the same as the server returned the `changed` field in the response.
451
+ This is necessary for better caching in the browser.
452
+ - `cleanHTML.denyTags` default equal `script` Those. script tags are disabled by default. If you need them then turn off this rule:
453
+
454
+ ```js
455
+ Jodit.make('#editor', {
456
+ cleanHTML: {
457
+ denyTags: false
458
+ }
459
+ });
460
+ ```
461
+
462
+ - The order of the hotkeys plugin keys has been changed to a more popular one.
463
+ It used to be: `b+meta`, `b+ctrl`
464
+ Now: `meta+b`, `ctrl+b`
465
+ This is expressed in the installation of handlers for keyboard shortcuts:
466
+
467
+ ```js
468
+ Jodit.make('#editor', { disablePlugins: ['bold'] }).e.on('meta+b', () => {
469
+ alert('Do smth with text');
470
+ return false;
471
+ });
472
+ ```
473
+
474
+ #### :house: Internal
475
+
476
+ - Remove `assert` calls from production build.
477
+ - Update deps
478
+
479
+ ```
480
+ core-js ^3.24.1 → ^3.25.5
481
+ @types/node ^18.7.3 → ^18.8.3
482
+ @typescript-eslint/eslint-plugin ^5.33.0 → ^5.39.0
483
+ @typescript-eslint/parser ^5.33.0 → ^5.39.0
484
+ autoprefixer ^10.4.8 → ^10.4.12
485
+ axios ^0.27.2 → ^1.1.2
486
+ css-minimizer-webpack-plugin ^4.0.0 → ^4.2.1
487
+ eslint ^8.22.0 → ^8.25.0
488
+ eslint-plugin-tsdoc ^0.2.16 → ^0.2.17
489
+ express ^4.18.1 → ^4.18.2
490
+ karma ^6.4.0 → ^6.4.1
491
+ less-loader ^11.0.0 → ^11.1.0
492
+ postcss >=8.4.16 → >=8.4.17
493
+ puppeteer ^17.0.0 → ^18.2.1
494
+ stylelint ^14.10.0 → ^14.13.0
495
+ stylelint-config-idiomatic-order v8.1.0 → v9.0.0
496
+ stylelint-config-standard ^27.0.0 → ^28.0.0
497
+ synchronous-promise ^2.0.15 → ^2.0.16
498
+ terser-webpack-plugin ^5.3.4 → ^5.3.6
499
+ ts-loader ^9.3.1 → ^9.4.1
500
+ typescript ^4.8.2 → ^4.8.4
501
+ webpack 5.73.0 → 5.74.0
502
+ webpack-dev-server ^4.9.3 → ^4.11.1
503
+ webpack-hot-middleware ^2.25.1 → ^2.25.2
504
+ yargs ^17.5.1 → ^17.6.0
505
+ ```
506
+
507
+ ## 3.20.4
508
+
509
+ #### :house: Internal
510
+
511
+ - Move `error-messages` functionality to `messages` module.
512
+ - Improved appearance of popup messages in the [messages](https://xdsoft.net/jodit/docs/modules/modules_messages.html) module.
513
+
514
+ #### :bug: Bug Fix
515
+
516
+ - Fixed a bug in the limit plugin. When the limit was reached, he checked the limits strictly,
517
+ when entering from the keyboard. Therefore, every time I change the input focus.
518
+ - Events are added to the same plugin when limits are reached.
519
+ More details can be found in the documentation [limit](https://xdsoft.net/jodit/docs/modules/plugins_limit.html)
520
+
521
+ ## 3.20.3
522
+
523
+ #### :house: Internal
524
+
525
+ - En lang is loaded as is
526
+ - Fix types generation:
527
+ - Remove styles
528
+ - Replace aliases
529
+
530
+ #### :bug: Bug Fix
531
+
532
+ - [After reaching the maximum character limit unable to copy the content from the editor](https://xdsoft.net/jodit/pro/cab/issues/e72690fa-6dea-4586-82fb-30b0e8d53d4a)
533
+
534
+ ## 3.20.2
535
+
536
+ #### :house: Internal
537
+
538
+ - Tooltip plugin functionality moved to `ui/button/tooltip` so that it can be used not only with the editor
539
+
540
+ #### :bug: Bug Fix
541
+
542
+ - Fixed bug in add-new-line in iframe-mode
543
+
544
+ ## 3.20.1
545
+
546
+ #### :rocket: New Feature
547
+
548
+ - Removed Panel and IPanel
549
+ - Made IDlgs and Dlgs traits
550
+ - Added @derive decorator
551
+ - Mods/Elms/Dlgs traits now uses with @derive
552
+ - Added `dtd` plugin. [Read more](https://xdsoft.net/jodit/docs/modules/plugins_dtd.html)
553
+
554
+ #### :house: Internal
555
+
556
+ - Added documentation for [Image properties - Input fields are not clickable ( react + material ui ) #879](https://github.com/xdan/jodit/issues/879)
557
+
558
+ #### :bug: Bug Fix
559
+
560
+ - [After adding hyperlink and hit enter the hyperlink added to first letter of the next word.](https://xdsoft.net/jodit/pro/cab/issues/a6ccc696-313f-4195-bed6-59ef28af2643)
561
+ - [After reaching the maximum character limit unable to copy the content from the editor.(eg:- if limit is 50000 then we are able to copy only 49999)](https://xdsoft.net/jodit/pro/cab/issues/e72690fa-6dea-4586-82fb-30b0e8d53d4a)
562
+ - [When typing Japanese characters in Jodit editor, extra characters are being added to the beginning of the first word.](https://xdsoft.net/jodit/pro/cab/issues/4c468c09-837d-40c6-b487-3746aecc470a)
563
+ Same [Composing japanese text is decided unintentionally. #870](https://github.com/xdan/jodit/issues/870)
564
+
565
+ ## 3.19.5
566
+
567
+ #### :rocket: New Feature
568
+
569
+ - Added `cleanHTML.disableCleanFilter:Set<string>` options. Node filtering rules that do not need to be applied to content
570
+ The full list of rules is generated dynamically from the folder
571
+ https://github.com/xdan/jodit/tree/main/src/plugins/clean-html/helpers/visitor/filters
572
+ - Added `allowCommandsInReadOnly:string[]` options. Allow execute commands in readonly mode.
573
+ [activeButtonsInReadOnly: ['source', 'preview'] is not working. #878](https://github.com/xdan/jodit/issues/878)
574
+ ```js
575
+ const editor = Jodit.make('#editor', {
576
+ readonly: true,
577
+ allowCommandsInReadOnly: ['alert']
578
+ });
579
+ editor.registerCommand('alert', (_, _2, text) => {
580
+ alert(text);
581
+ });
582
+ editor.execCommand('alert', '', 'Hello!');
583
+ ```
584
+
585
+ #### :bug: Bug Fix
586
+
587
+ - [Pasting html breaks full screen mode #864](https://github.com/xdan/jodit/issues/864)
588
+ - [Using BR tag as enter element results reset of cursor while typing in newlines. #860](https://github.com/xdan/jodit/issues/860)
589
+ Fixed bugs with invisible aand empty nodes.
590
+ - [Adding paragraph when copying and pasting with little text #851](https://github.com/xdan/jodit/issues/851)
591
+ Options `select.normalizeSelectionBeforeCutAndCopy` now default is false
592
+ - [Jodit-selection-marker span appears after clicking Undo button. #880](https://github.com/xdan/jodit/issues/880)
593
+
594
+ ## 3.19.4
595
+
596
+ #### :rocket: New Feature
597
+
598
+ - Added [[IUploader.getDisplayName]] option. Allow change file name before display it inside editor.
599
+ [Can we customize uploaded file's name? #869](https://github.com/xdan/jodit/issues/869)
600
+
601
+ ```javascript
602
+ Jodit.make('#editor', {
603
+ uploader: {
604
+ url: 'https://sitename.net/jodit/connector/index.php?action=fileUpload',
605
+ getDisplayName: (_, name) => 'File:' + name
606
+ }
607
+ });
608
+ ```
609
+
610
+ - Added `cleanHTML.useIframeSandbox`:`boolean` option(default: false). Use iframe[sandbox] to paste HTML code into the editor to check it for safety.
611
+ Allows you not to run scripts and handlers, but it works much slower
612
+
613
+ #### :bug: Bug Fix
614
+
615
+ - [applyLink event is only fired when link is inserted via menu button but not when it is pasted #874](https://github.com/xdan/jodit/issues/874)
616
+ - [Dialogs don't work inside Shadow DOM #866](https://github.com/xdan/jodit/issues/866)
617
+ - [Popups don't work inside Shadow DOM #865](https://github.com/xdan/jodit/issues/865)
618
+ - [Pb with cleanHTML.safeJavaScriptLink option #862](https://github.com/xdan/jodit/issues/862)
619
+
620
+ ## 3.19.3
621
+
622
+ #### :bug: Bug Fix
623
+
624
+ - Quick fix bug with webpack output.clean=true.
625
+
626
+ ## 3.19.2
627
+
628
+ #### :bug: Bug Fix
629
+
630
+ - Big bugfix in es2021 version, sideEffect cut all styles and configs
631
+
632
+ ## 3.19.1
633
+
634
+ #### :house: Internal
635
+
636
+ - Plugin icons moved to their respective plugins
637
+ - Used plugin `webpack.ids.DeterministicModuleIdsPlugin` for more reliable sharing of exported module names between builds.
638
+ Now you can include plugins from 'es5' in the assembly for 'es2021.en'.
639
+ - Deps
640
+ ```
641
+ @types/node ^17.0.36 → ^17.0.41
642
+ @typescript-eslint/eslint-plugin ^5.27.0 → ^5.27.1
643
+ @typescript-eslint/parser ^5.27.0 → ^5.27.1
644
+ cssnano-preset-advanced ^5.3.6 → ^5.3.7
645
+ eslint ^8.16.0 → ^8.17.0
646
+ lint-staged ^12.4.3 → ^13.0.0
647
+ terser-webpack-plugin ^5.3.1 → ^5.3.3
648
+ typescript ^4.7.2 → ^4.7.3
649
+ webpack ^5.72.1 → ^5.73.0
650
+ webpack-dev-server ^4.9.0 → ^4.9.2
651
+ core-js ^3.22.7 → ^3.22.8
652
+ ```
653
+
654
+ ## 3.18.7
655
+
656
+ #### :rocket: New Feature
657
+
658
+ - Allow custom resizing with Alt btn [How to resize image with the handle bars without fixed aspect ratio #839](https://github.com/xdan/jodit/issues/839)
659
+
660
+ #### :bug: Bug Fix
661
+
662
+ - [Multiple modals 'Paste as HTML' after longer pressing ctrl+v #849](https://github.com/xdan/jodit/issues/849)
663
+ - [All added videos are deleted when you click Delete or Backspace #847](https://github.com/xdan/jodit/issues/847)
664
+
665
+ ## 3.18.6
666
+
667
+ #### :rocket: New Feature
668
+
669
+ - Separate plugin for voice recognition and input of recognized text into the editor.
670
+ [Feature Request: Add ability for user to dictate using local device microphone as input #828](https://github.com/xdan/jodit/issues/828)
671
+ > This plugin is not included in the main Jodit build. It must be connected separately [Подробнее](./src/plugins/speech-recognize/README.md)
672
+
673
+ ## 3.18.5
674
+
675
+ #### :boom: Breaking Change
676
+
677
+ - Added default table style to `createAttributes` option:
678
+
679
+ ```js
680
+ Jodit.defaultOptions.createAttributes = {
681
+ table: {
682
+ style: 'border-collapse:collapse;width: 100%;'
683
+ }
684
+ };
685
+ ```
686
+
687
+ #### :bug: Bug Fix
688
+
689
+ - Fixed a bug where the download cancellation business exceptions were shown as errors in the file browser. Also fixed uncatchable exceptions inside Async.promise
690
+ - [Fixed Eraser delete "<a>" tag! #705 #845](https://github.com/xdan/jodit/pull/845) Thanks @s-renier-taonix-fr
691
+ - [Update Docker Env #844](https://github.com/xdan/jodit/pull/844) Thanks @s-renier-taonix-fr
692
+ - Fixed table default styles [Jodit doesn't keep table borders #295](https://github.com/xdan/jodit/issues/295)
693
+ - [All td elements got double border style. #842](https://github.com/xdan/jodit/issues/842)
694
+
695
+ ## 3.18.4
696
+
697
+ #### :rocket: New Feature
698
+
699
+ - Added option `uploader.processFileName` - The method can be used to change the name of the uploaded file
700
+
701
+ ```js
702
+ Jodit.make('#editor', {
703
+ uploader: {
704
+ url: 'some-connector.php',
705
+ processFileName: (key, file, name) => {
706
+ return [key, file, 'some-prefix_' + name];
707
+ }
708
+ }
709
+ });
710
+ ```
711
+
712
+ - Fixed file naming error when uploading to server
713
+
714
+ ## 3.18.3
715
+
716
+ #### :bug: Bug Fix
717
+
718
+ - Fixed a bug where pressing `Esc` did not close the dialog
719
+
720
+ ## 3.18.2
721
+
722
+ #### :boom: Breaking Change
723
+
724
+ The on/one/off methods of the Jodit Event System have been greatly simplified:
725
+
726
+ instead:
727
+
728
+ ```js
729
+ editor.e.on(
730
+ 'click',
731
+ () => {
732
+ alert('Clicked!');
733
+ },
734
+ undefined,
735
+ true
736
+ );
737
+ ```
738
+
739
+ Now:
740
+
741
+ ```js
742
+ editor.e.on(
743
+ 'click',
744
+ () => {
745
+ alert('Clicked!');
746
+ },
747
+ {
748
+ top: true
749
+ }
750
+ );
751
+ ```
752
+
753
+ Also, the methods now support an array of events:
754
+
755
+ ```js
756
+ editor.e.on('click mousedown mouseup', () => {
757
+ alert('Some event!');
758
+ });
759
+ editor.e.on(['click', 'mousedown', 'mouseup'], () => {
760
+ alert('Some event!');
761
+ });
762
+ ```
763
+
764
+ #### :rocket: New Feature
765
+
766
+ - All components have their own instance of the Async module. What used to be `this.j.async` is now `this.async`.
767
+ - New option `resizer.useAspectRatio` [How to resize image with the handle bars without fixed aspect ratio](https://github.com/xdan/jodit/issues/839)
768
+ - Added event `applyLink` for issue [change default target for all links #841](https://github.com/xdan/jodit/issues/841)
769
+
770
+ #### :bug: Bug Fix
771
+
772
+ - Fixed non-removal of the event handler on destruct
773
+ - Extra br are not removed
774
+ - [Bold removing line break in table #838](https://github.com/xdan/jodit/issues/838)
775
+ - [Cleans <br> that should be there #835](https://github.com/xdan/jodit/issues/835)
776
+ - [Cursor goes out of edit box when moving to a new line #824](https://github.com/xdan/jodit/issues/824)
777
+ - [Couldn't click next line button, when table is resized. #831](https://github.com/xdan/jodit/issues/831)
778
+ - [Unable to add line height for Html pasted content. #830](https://github.com/xdan/jodit/issues/830)
779
+
780
+ #### :house: Internal
781
+
782
+ - Instead of a self-written truncated polyfill for `Array.from`, the core-js module is used
783
+ - Moved the test files to the appropriate directories
784
+ - Update deps
785
+
786
+ ```
787
+ @types/node ^17.0.23 → ^17.0.31
788
+ @typescript-eslint/eslint-plugin ^5.19.0 → ^5.22.0
789
+ @typescript-eslint/parser ^5.19.0 → ^5.22.0
790
+ autoprefixer ^10.4.4 → ^10.4.7
791
+ axios ^0.26.1 → ^0.27.2
792
+ eslint ^8.13.0 → ^8.14.0
793
+ express ^4.17.3 → ^4.18.1
794
+ karma ^6.3.17 → ^6.3.19
795
+ lint-staged ^12.3.7 → ^12.4.1
796
+ mocha ^9.2.2 → ^10.0.0
797
+ postcss >=8.4.12 → >=8.4.13
798
+ stylelint ^14.6.1 → ^14.8.2
799
+ ts-loader ^9.2.8 → ^9.3.0
800
+ tslib ^2.3.1 → ^2.4.0
801
+ typescript ^4.6.3 → ^4.6.4
802
+ webpack-dev-server ^4.8.1 → ^4.9.0
803
+ core-js ^3.21.1 → ^3.22.4
804
+ ```
805
+
806
+ ## 3.17.1
807
+
808
+ #### :boom: Breaking Change
809
+
810
+ Some minifier configurations do not correctly handle inheritance in the `component` decorator,
811
+ we added some helper code earlier to make this work correctly.
812
+ We tried to determine belonging by the name of the component and not by its constructor or prototype.
813
+ Because in some build system(ex. create-react-app):
814
+
815
+ ```js
816
+ @component
817
+ class A extends Component {
818
+ className() {
819
+ return 'A';
820
+ }
821
+ }
822
+ const a = new A();
823
+ a instanceof Component; // false - only in some cases
824
+ elm.className() === A.prototype.className(); // true
825
+ ```
826
+
827
+ In most cases, this entailed new bugs, so in 3.17 we decided to remove this heuristic.
828
+ If something broke in your assembly, please create an [issue on github](https://github.com/xdan/jodit/issues/new).
829
+
830
+ #### :bug: Bug Fix
831
+
832
+ - Fixed processing of inserting videos from YouTube. Now you can start playing the video.
833
+ - [selection.insertHTML causes infinite blur loop when Jodit editor not active](https://github.com/xdan/jodit/issues/819) Added `insertCursorAfter` argument.
834
+ - [Preview missing non styled content in a paragraph when there is any styled text in that paragraph #823](https://github.com/xdan/jodit/issues/823)
835
+ - [Image hyperlink is not working without https:// #821](https://github.com/xdan/jodit/issues/821)
836
+
837
+ ```js
838
+ const editor = Jodit.make('#editor');
839
+ editor.s.insertHTML('test', false);
840
+ ```
841
+
842
+ #### :house: Internal
843
+
844
+ - Update
845
+
846
+ ```
847
+ @typescript-eslint/eslint-plugin ^5.16.0 → ^5.19.0
848
+ @typescript-eslint/parser ^5.16.0 → ^5.19.0
849
+ cssnano-preset-advanced ^5.3.1 → ^5.3.3
850
+ eslint ^8.12.0 → ^8.13.0
851
+ eslint-plugin-tsdoc ^0.2.14 → ^0.2.16
852
+ prettier ^2.6.1 → ^2.6.2
853
+ webpack ^5.70.0 → ^5.72.0
854
+ webpack-dev-server ^4.7.4 → ^4.8.1
855
+ yargs ^17.4.0 → ^17.4.1
856
+ ```
857
+
858
+ ## 3.16.6
859
+
860
+ #### :bug: Bug Fix
861
+
862
+ - [Keyboard Trap in Source Code mode #817](https://github.com/xdan/jodit/issues/817) Author: @haruanm
863
+ - ["Uncaught TypeError: Cannot redefine property: \_\_activeTab" occurs when I use 'brush' button twice in inline-popup for a element. #815](https://github.com/xdan/jodit/issues/815)
864
+
865
+ ## 3.16.5
866
+
867
+ #### :rocket: New Feature
868
+
869
+ - imageProcessor.replaceDataURIToBlobIdInView
870
+ The `imageProcessor` plugin has added the functionality of replacing data-uri objects in the `src` of images with `blob-url`.
871
+ This allows you to more conveniently work with an HTML document without loading the processor.
872
+ Checks if the `imageProcessor.replaceDataURIToBlobIdInView` option is enabled then converts image src which has `data:base64`
873
+ to [blob-object-uri](https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL)
874
+
875
+ In this case, `Jodit.value` returns images with `data-uri`. And original `textarea` itself does the reverse replacement take place.
876
+
877
+ ```js
878
+ const editor = Jodit.make('#editor', {
879
+ imageProcessor: {
880
+ replaceDataURIToBlobIdInView: true // This is the default value, but for examples we set it
881
+ }
882
+ });
883
+
884
+ editor.value =
885
+ '<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII="/></p>';
886
+ console.log(editor.value); // <p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII="/></p>
887
+ console.log(editor.getElementValue()); // '<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII="/></p>'
888
+ console.log(editor.getNativeEditorValue()); // <p><img src="blob:http://localhost:2000/03377cf0-6260-4351-82ad-8a8901ea104f"></p>
889
+ ```
890
+
891
+ - Method `Jodit.setElementValue` marked us deprecated and will be removed in next major release.
892
+
893
+ #### :house: Internal
894
+
895
+ - Update
896
+
897
+ ```
898
+ @types/node ^17.0.21 → ^17.0.23
899
+ @typescript-eslint/eslint-plugin ^5.14.0 → ^5.16.0
900
+ @typescript-eslint/parser ^5.14.0 → ^5.16.0
901
+ autoprefixer ^10.4.2 → ^10.4.4
902
+ cssnano-preset-advanced ^5.2.4 → ^5.3.1
903
+ eslint ^8.11.0 → ^8.12.0
904
+ lint-staged ^12.3.5 → ^12.3.7
905
+ postcss >=8.4.8 → >=8.4.12
906
+ prettier ^2.5.1 → ^2.6.1
907
+ stylelint ^14.5.3 → ^14.6.1
908
+ typescript ^4.6.2 → ^4.6.3
909
+ yargs ^17.3.1 → ^17.4.0
910
+ ```
911
+
912
+ ## 3.16.4
913
+
914
+ #### :bug: Bug Fix
915
+
916
+ - [Sass compile error Css3 min() #809](https://github.com/xdan/jodit/issues/809)
917
+ - [The preview popup has double scrollbars #808](https://github.com/xdan/jodit/issues/808)
918
+ - Fixed bug with sync editor size with iframe mode (Works only with [ResizeObserver](https://caniuse.com/resizeobserver))
919
+
920
+ ## 3.16.3
921
+
922
+ - Fixed composition `wait` and `debounce` decorators
923
+
924
+ ## 3.16.2
925
+
926
+ #### :bug: Bug Fix
927
+
928
+ - ["Uncaught TypeError: this.setEditorValue is not a function" with Japanese input method #807](https://github.com/xdan/jodit/issues/807)
929
+
930
+ ## 3.16.1
931
+
932
+ #### :rocket: New Feature
933
+
934
+ - Added `spellcheck` plugin.
935
+ - Added `Config.pasteHTMLActionList` and `Config.pasteFromWordActionList` options https://github.com/xdan/jodit/issues/802.
936
+ - Added `Jodit.synchronizeValues()` method. The method synchronizes the WYSIWYG values of the editor
937
+ - and the original input field. The method works through `Async.throttle`.
938
+ - Added a new class for working with DOM without blocking the main thread `LazyWalker`
939
+ - Search engine replace on `LazyWalker`
940
+ - CleanHTML plugin engine replace on `LazyWalker`
941
+ - Search plugin now highlights all found options https://github.com/xdan/jodit/issues/798
942
+ - Added `Jodit.constants` https://github.com/xdan/jodit/issues/806
943
+
944
+ #### :boom: Breaking Change
945
+
946
+ - Renamed `wrap-text-nodes` plugin to `wrap-nodes`
947
+ - Option `spellcheck` = false by default. This is due to the fact that the built-in spell check slows down the editor very much on large tests.
948
+ - Enabled `@typescript-eslint/explicit-function-return-type` in eslint
949
+
950
+ #### :bug: Bug Fix
951
+
952
+ - Fixed a bug in the `watch` decorator, when multiple watchers were set, it used only one context
953
+ - [Default is not working for insert ordered list and insert unordered list #799](https://github.com/xdan/jodit/issues/799)
954
+ - [In print preview, table border color and background color is not showing #803](https://github.com/xdan/jodit/issues/803)
955
+
956
+ #### :house: Internal
957
+
958
+ - `clean-html` plugin now works via `requestIdleCallback` and doesn't slow down the browser
959
+
960
+ ## 3.15.3
961
+
962
+ #### :boom: Breaking Change
963
+
964
+ - `Observer` module renamed to `History`, accessed via `Jodit.history`
965
+ - `Jodit.observer` field deprecated and will be removed in future releases
966
+ - Changed to `history` in `observer` settings. The `observer` field has been deprecated.
967
+ - Removed `stack` field from `History` class (former `Observer`).
968
+ - Separated default editor timeout and `history.timeout`. Now the second setting is just for history.
969
+ Timeouts for all asynchronous operations in Jodit now apply the `defaultTimeout` setting
970
+
971
+ Before:
972
+
973
+ ```js
974
+ const editor = Jodit.make({
975
+ observer: {
976
+ timeout: 122,
977
+ maxHistoryLength: 100
978
+ }
979
+ });
980
+ console.log(editor.defaultTimeout); // 122
981
+ editor.observer.stack.clear();
982
+ ```
983
+
984
+ Now:
985
+
986
+ ```js
987
+ const editor = Jodit.make({
988
+ defaultTimeout: 122,
989
+ history: {
990
+ timeout: 1000,
991
+ maxHistoryLength: 100
992
+ }
993
+ });
994
+ console.log(editor.defaultTimeout); // 122
995
+ editor.history.clear();
996
+ ```
997
+
998
+ - When adding information to the editor via `Jodit.value`, the history of changes will be process immediately,
999
+ without a timeout. Read more https://github.com/xdan/jodit/issues/792
1000
+
1001
+ #### :bug: Bug Fix
1002
+
1003
+ - [Colors popup closes when I select the secondary tab (Text) #171](https://github.com/jodit/jodit-react/issues/171)
1004
+
1005
+ ## 3.15.2
1006
+
1007
+ - Fixed a bug when it was impossible to select a normal font after selecting any other
1008
+ - [Dropdowns not hiding when clicking again on the arrow #791](https://github.com/xdan/jodit/issues/791)
1009
+ - [The problem that the selected text disappears #790](https://github.com/xdan/jodit/issues/790)
1010
+
1011
+ ## 3.15.1
1012
+
1013
+ #### :rocket: New Feature
1014
+
1015
+ - When copying elements, their hierarchy is taken into, for example, if you selected `<ul><li><span>|test|</span></li></ul>`,
1016
+ then when copying to the clipboard, the selection will be expanded to root element `UL`.
1017
+ For this, the [[Select.expandSelection]] method has been added to the [[Select]] class.
1018
+ [Ordered Bullets are getting changed to unordered bullets after copy and pasting within the editor #789](https://github.com/xdan/jodit/issues/789)
1019
+ > Method called before copy/cut/selectall operations
1020
+
1021
+ #### :house: Internal
1022
+
1023
+ - The [[Dom.isNode]] method now uses Duck Typing instead of inctanceof, this seems to be enough
1024
+ - Update
1025
+ @types/node ^17.0.18 → ^17.0.21
1026
+ @typescript-eslint/eslint-plugin ^5.12.0 → ^5.13.0
1027
+ @typescript-eslint/parser ^5.12.0 → ^5.13.0
1028
+ cssnano-preset-advanced ^5.1.12 → ^5.2.1
1029
+ eslint ^8.9.0 → ^8.10.0
1030
+ eslint-config-prettier ^8.4.0 → ^8.5.0
1031
+ karma ^6.3.16 → ^6.3.17
1032
+ mini-css-extract-plugin ^2.5.3 → ^2.6.0
1033
+ postcss >=8.4.6 → >=8.4.7
1034
+ stylelint ^14.5.1 → ^14.5.3
1035
+ ts-loader ^9.2.6 → ^9.2.7
1036
+ typescript ^4.5.5 → ^4.6.2
1037
+ webpack ^5.69.1 → ^5.70.0
1038
+
1039
+ ## 3.14.2
1040
+
1041
+ #### :rocket: New Feature
1042
+
1043
+ - Added an experimental module for working with VDom<->Dom, an attempt to switch to this technology in the editor
1044
+
1045
+ #### :house: Internal
1046
+
1047
+ - @types/node ^17.0.15 → ^17.0.18
1048
+ - @typescript-eslint/eslint-plugin ^5.10.2 → ^5.12.0
1049
+ - @typescript-eslint/parser ^5.10.2 → ^5.12.0
1050
+ - axios ^0.25.0 → ^0.26.0
1051
+ - cssnano-preset-advanced ^5.1.11 → ^5.1.12
1052
+ - eslint ^8.8.0 → ^8.9.0
1053
+ - eslint-config-prettier ^8.3.0 → ^8.4.0
1054
+ - express ^4.17.2 → ^4.17.3
1055
+ - karma ^6.3.15 → ^6.3.16
1056
+ - lint-staged ^12.3.3 → ^12.3.4
1057
+ - mocha ^9.2.0 → ^9.2.1
1058
+ - stylelint ^14.3.0 → ^14.5.1
1059
+ - stylelint-config-standard ^24.0.0 → ^25.0.0
1060
+ - webpack ^5.68.0 → ^5.69.1
1061
+ - core-js ^3.21.0 → ^3.21.1
1062
+
1063
+ ## 3.14.1
1064
+
1065
+ #### :house: Internal
1066
+
1067
+ - [(change) improved a few german translations #783](https://github.com/xdan/jodit/pull/783)
1068
+
1069
+ #### :boom: Breaking Change
1070
+
1071
+ - Changed the positions of some buttons on different resolutions for greater density
1072
+ - Disabled the ability to drag and drop elements on mobile devices as it affected page scrollability
1073
+
1074
+ #### :bug: Bug Fix
1075
+
1076
+ - [Cannot format table cells in PRO version #786](https://github.com/xdan/jodit/issues/786) -[Build error: Property or signature expected. #174](https://github.com/jodit/jodit-react/issues/174)
1077
+
1078
+ ## 3.13.5
1079
+
1080
+ #### :bug: Bug Fix
1081
+
1082
+ - [Unable to drag and drop image between table cells #782](https://github.com/xdan/jodit/issues/782)
1083
+
1084
+ ## 3.13.4
1085
+
1086
+ #### :rocket: New Feature
1087
+
1088
+ - Plugin for setting line spacing
1089
+
1090
+ #### :bug: Bug Fix
1091
+
1092
+ - [Previewing data not showing table content #780](https://github.com/xdan/jodit/issues/780)
1093
+
1094
+ ## 3.13.2
1095
+
1096
+ #### :rocket: New Feature
1097
+
1098
+ - Added a plugin to handle pressing the Tab key, it added the functionality of processing a keystroke inside the UL/li
1099
+ element and allows you to add tree-like lists.
1100
+ - Added static `Jodit.isJoditAssigned` method: Checks if the element has already been initialized when for Jodit
1101
+
1102
+ ```js
1103
+ const area = document.getElementById('editor');
1104
+ (Jodit.make(area) === Jodit.make(area)) === Jodit.make(area);
1105
+ console.log(Jodit.isJoditAssigned(area)); // true
1106
+ const editor = Jodit.make(area);
1107
+ editor.destruct();
1108
+ console.log(Jodit.isJoditAssigned(area)); // false
1109
+ ```
1110
+
1111
+ #### :bug: Bug Fix
1112
+
1113
+ - Fixed a bug when switching between source and wysiwyg mode, the FORM tag was wrapped in P
1114
+ - [Not maintaining styles set when switching format blocks #773](https://github.com/xdan/jodit/issues/773)
1115
+
1116
+ ## 3.13.1
1117
+
1118
+ #### :boom: Breaking Change
1119
+
1120
+ - `ObserveObject` removed
1121
+ - Added `observable` function which makes object observable. In this case, the function returns the same object.
1122
+
1123
+ ```js
1124
+ const obj = {
1125
+ a: 1,
1126
+ b: {
1127
+ c: 5
1128
+ }
1129
+ };
1130
+
1131
+ const obsObj = Jodit.modules.observable(obj);
1132
+ console.log(obj === obsObj); // true
1133
+ obsObj.on('change', () => {
1134
+ console.log('Object changed');
1135
+ });
1136
+ obsObj.on('change.a', () => {
1137
+ console.log('Key a changed');
1138
+ });
1139
+ obsObj.on('change.b.c', () => {
1140
+ console.log('Key b.c changed');
1141
+ });
1142
+
1143
+ obj.a = 6;
1144
+ // Object changed
1145
+ // Key a changed
1146
+
1147
+ obj.b = { c: 6 };
1148
+ // Object changed
1149
+
1150
+ obj.b.c = 8;
1151
+ // Object changed
1152
+ // Key b.c changed
1153
+ ```
1154
+
1155
+ #### :bug: Bug Fix
1156
+
1157
+ - Fixed autotest in Chrome on Windows
1158
+
1159
+ ## 3.12.5
1160
+
1161
+ #### :rocket: New Feature
1162
+
1163
+ - Added options `safeMode:boolean` and `safePluginsList:string[]` for debugging
1164
+
1165
+ ```js
1166
+ Jodit.make('#editor', {
1167
+ safeMode: true,
1168
+ safePluginsList: ['about']
1169
+ });
1170
+ ```
1171
+
1172
+ Only one plugin will be activated. Convenient for debugging and your plugins, you can turn off all the others.
1173
+
1174
+ #### :bug: Bug Fix
1175
+
1176
+ - Fixed a bug due to which Jodit did not work in ie11, + added a polyfill for the iterator
1177
+
1178
+ ## 3.12.3
1179
+
1180
+ - [Fixed Full Screen showing elements not part of editable content #763](Issue: https://github.com/xdan/jodit/issues/763)
1181
+
1182
+ #### :rocket: New Feature
1183
+
1184
+ - Added `monospace` button in format list https://github.com/xdan/jodit/issues/767
1185
+ - In plugin `paste` added `memorizeChoiceWhenPasteFragment` option: when the user inserts a piece of HTML, the plugin will ask - How to insert it.
1186
+ If after that user insert the same fragment again, the previous option will be used without extra question.
1187
+
1188
+ > memorizeChoiceWhenPasteFragment = false, by default, it is Breaking change
1189
+
1190
+ ## 3.12.1
1191
+
1192
+ #### :boom: Breaking Change
1193
+
1194
+ - `ObserveObject` renamed to `ObservableObject`
1195
+
1196
+ ```js
1197
+ const obj = { a: 1, b: 2 };
1198
+ const observed = Jodit.modules.ObservableObject.create(obj);
1199
+
1200
+ observed.on('change', (oldV, newV) => console.log(oldV, newV));
1201
+ observed.a = 5;
1202
+ ```
1203
+
1204
+ - [Replace additional newlines by HTML line breaks. #770](https://github.com/xdan/jodit/pull/770)
1205
+
1206
+ #### :bug: Bug Fix
1207
+
1208
+ - [New lines are removed when pasting plain text in the jodit editor #755](https://github.com/xdan/jodit/issues/755)
1209
+
1210
+ #### :rocket: New Feature
1211
+
1212
+ - In addition to the preinstalled editors, the source plugin adds the ability to use its own implementation. You can read more in the [documentation](https://xdsoft.net/jodit/docs/modules/plugins_source.html)
1213
+
1214
+ ## 3.11.2
1215
+
1216
+ #### :bug: Bug Fix
1217
+
1218
+ - Fixed a bug when resizing images whose size was specified in the style attribute - the size did not change
1219
+
1220
+ ## 3.11.1
1221
+
1222
+ #### :boom: Breaking Change
1223
+
1224
+ - Plugin `Delete` renamed to` Backspace`. And it is highly refractory.
1225
+
1226
+ #### :rocket: New Feature
1227
+
1228
+ - Open localhost in browser on `npm start`
1229
+ - Added `Async.prototype.delay` method
1230
+
1231
+ ```js
1232
+ await editor.async.delay(1000);
1233
+ alert('Alert after 1s');
1234
+ ```
1235
+
1236
+ - Added `Ajax.options.responseType` option `XMLHttpRequestResponseType`
1237
+ - Added `Response.prototype.blob()` method
1238
+
1239
+ ```js
1240
+ const ajax = new Jodit.modules.Ajax({ responseType: 'blob' });
1241
+ await ajax.send().then(resp => resp.blob());
1242
+ ```
1243
+
1244
+ #### :bug: Bug Fix
1245
+
1246
+ - Added handling of `contenteditable = false` elements to the plugin` Backspace`.
1247
+ - [es2021 build don't works properly starting from jodit 3.9.4 #758](https://github.com/xdan/jodit/issues/758)
1248
+ - [shadow dom support only partly fixed #746](https://github.com/xdan/jodit/issues/746)
1249
+
1250
+ ## 3.10.2
1251
+
1252
+ #### :boom: Breaking Change
1253
+
1254
+ - The hotkeys have been castled in the Delete plugin:
1255
+ Was:
1256
+
1257
+ ```js
1258
+ const hotkeys = {
1259
+ delete: ['delete', 'cmd+backspace'],
1260
+ deleteWord: ['ctrl+delete', 'cmd+alt+backspace', 'ctrl+alt+backspace'],
1261
+ backspace: ['backspace'],
1262
+ backspaceWord: ['ctrl+backspace']
1263
+ };
1264
+ ```
1265
+
1266
+ But the setting was called incorrectly, when the combination was pressed, not one word was deleted, but a whole sentence.
1267
+ Now added one more setting:
1268
+
1269
+ ```js
1270
+ const hotkeys = {
1271
+ delete: ['delete', 'cmd+backspace'],
1272
+ deleteWord: ['ctrl+delete', 'cmd+alt+backspace', 'ctrl+alt+backspace'],
1273
+ deleteSentence: ['ctrl+shift+delete', 'cmd+shift+delete'],
1274
+ backspace: ['backspace'],
1275
+ backspaceWord: ['ctrl+backspace'],
1276
+ backspaceSentence: ['ctrl+shift+backspace', 'cmd+shift+backspace']
1277
+ };
1278
+ ```
1279
+
1280
+ #### :bug: Bug Fix
1281
+
1282
+ - fixed sync between WYSIWYG and source editor
1283
+
1284
+ ## 3.10.1
1285
+
1286
+ #### :boom: Breaking Change
1287
+
1288
+ - Update `TypeScript@4.5.2`
1289
+ - In `IJodit.getEditorValue` added second argument for using with `afterGetValueFromEditor` event.
1290
+ You can see example in `source` plugin.
1291
+ - In UIButton `state.status` changed to `state.variant`
1292
+ - `beforeClose` event can prevent closing the dialog
1293
+
1294
+ ```js
1295
+ const dialog = new Jodit.modules.Dialog();
1296
+ dialog.setContent('Hello world!').open();
1297
+ dialog.e.on('beforeClose', () => confirm('Are you sure?'));
1298
+ ```
1299
+
1300
+ #### :bug: Bug Fix
1301
+
1302
+ - fix: Proxy blur event to parent triggered on the ACE editor
1303
+
1304
+ ## 3.9.5
1305
+
1306
+ #### :rocket: New Feature
1307
+
1308
+ - [Feature request: Open the inline toolbar without having to highlight text. #600](https://github.com/xdan/jodit/issues/600)
1309
+ Allow open inline toolbar. This feature is implemented on the basis of the `inline-popup` plugin, a setting has been
1310
+ added to it: `popup.toolbar`, which lists the buttons that will be shown in such a toolbar. Added the `showInline`
1311
+ method to the `ToolbarEditorCollection` itself:
1312
+
1313
+ ```js
1314
+ const editor = Jodit.make('#editor', {
1315
+ preset: 'inline',
1316
+ popup: {
1317
+ toolbar: Jodit.atom(['bold', 'italic', 'image'])
1318
+ }
1319
+ });
1320
+ editor.s.focus();
1321
+
1322
+ editor.toolbar.showInline();
1323
+ // or
1324
+ editor.e.fire('showInlineToolbar');
1325
+ ```
1326
+
1327
+ Also added `ToolbarCollection.hide` and `ToolbarCollection.show` methods.
1328
+
1329
+ ```js
1330
+ const editor = Jodit.make('#editor');
1331
+ editor.toolbar.hide();
1332
+ editor.toolbar.show();
1333
+ ```
1334
+
1335
+ - Allow use prototype as component name
1336
+
1337
+ ```js
1338
+ console.log(Jodit.modules.UIButton.getFullElName('element')); // jodit-ui-button__element
1339
+ console.log(Jodit.modules.UIButton.componentName); // jodit-ui-button
1340
+ ```
1341
+
1342
+ - [Remember last opened folder with FileBrowser #675](https://github.com/xdan/jodit/issues/675)
1343
+ Boolean option `filebrowser.saveStateInStorage` split to dictionary:
1344
+
1345
+ ```typescript
1346
+ interface IFileBrowserOptions {
1347
+ saveStateInStorage:
1348
+ | false
1349
+ | {
1350
+ storeLastOpenedFolder?: boolean;
1351
+ storeView?: boolean;
1352
+ storeSortBy?: boolean;
1353
+ };
1354
+ }
1355
+ ```
1356
+
1357
+ By default:
1358
+
1359
+ ```js
1360
+ opt = {
1361
+ saveStateInStorage: {
1362
+ storeLastOpenedFolder: true,
1363
+ storeView: true,
1364
+ storeSortBy: true
1365
+ }
1366
+ };
1367
+ ```
1368
+
1369
+ Disable it:
1370
+
1371
+ ```js
1372
+ Jodit.make('#editor', {
1373
+ filebrowser: {
1374
+ saveStateInStorage: false
1375
+ }
1376
+ });
1377
+
1378
+ // or
1379
+
1380
+ Jodit.make('#editor', {
1381
+ filebrowser: {
1382
+ saveStateInStorage: {
1383
+ storeLastOpenedFolder: false
1384
+ }
1385
+ }
1386
+ });
1387
+ ```
1388
+
1389
+ - [Spacer in Button Toolbar](https://github.com/xdan/jodit/issues/713)
1390
+ In addition to the `|` metacharacters and `\n` which stand for separator and newline, the `---` metacharacter has
1391
+ appeared, which allows you to add a spacer element which pushes all buttons behind the spacer to the right side of the
1392
+ toolbar and creates space in the middle.
1393
+
1394
+ ```js
1395
+ Jodit.make('#editor', {
1396
+ buttons: [
1397
+ 'source',
1398
+ 'bold',
1399
+ '|',
1400
+ '---',
1401
+ '|',
1402
+ 'brush',
1403
+ 'about',
1404
+ '\n',
1405
+ 'italic'
1406
+ ]
1407
+ });
1408
+ ```
1409
+
1410
+ ## 3.9.4
1411
+
1412
+ #### :rocket: New Feature
1413
+
1414
+ - Changed style resize rectangle for resize image or table
1415
+ - Added link `POWERED BY JODIT` in statusbar
1416
+ - Changed icon for resize handle in the bottom right corner
1417
+
1418
+ #### :bug: Bug Fix
1419
+
1420
+ - Fixed popup color for dark theme
1421
+ - [Change html tags when list style on/off #738](https://github.com/xdan/jodit/issues/738)
1422
+ - [order list/unorder list in source view #732](https://github.com/xdan/jodit/issues/732)
1423
+ - [dots supplementary buttons shown incorrectly #692](https://github.com/xdan/jodit/issues/692)
1424
+ - [Jodit adds unexpected <span> tag when user lefts cursor inside <script> tag #687](https://github.com/xdan/jodit/issues/687)
1425
+
1426
+ ## 3.9.3
1427
+
1428
+ #### :boom: Breaking Change
1429
+
1430
+ - The style `table-layout: fixed` has been removed from tables. When inserting a table, the width of the columns is
1431
+ immediately set for it.
1432
+
1433
+ ## 3.9.1
1434
+
1435
+ #### :boom: Breaking Change
1436
+
1437
+ - Removed `Travis.CI` 👋👋👋
1438
+ - `EventsNative` module - renamed to `EventEmitter`
1439
+
1440
+ ```js
1441
+ const editor = Jodit.make('#editor');
1442
+
1443
+ console.log(editor.e instanceof Jodit.modules.EventEmitter); // true
1444
+ console.log(editor.events instanceof Jodit.modules.EventEmitter); // true
1445
+ console.log(editor.events instanceof Jodit.modules.EventsNative); // true, deprecated
1446
+ ```
1447
+
1448
+ - BOOM: Move Ajax class into `request` folder.
1449
+
1450
+ ```js
1451
+ import { Ajax } from 'jodit/core/request';
1452
+ ```
1453
+
1454
+ - Changed the signature of the send method in the Ajax API and is closer to the fetch () API
1455
+
1456
+ ```js
1457
+ const editor = Jodit.make('#editor');
1458
+
1459
+ // Before
1460
+ await new Ajax(editor, {
1461
+ url: 'index.php'
1462
+ }).send(); // {success: true, data: ...}
1463
+
1464
+ // Now
1465
+ await new Ajax(editor, {
1466
+ url: 'index.php'
1467
+ })
1468
+ .send()
1469
+ .then(resp => resp.json()); // {success: true, data: ...}
1470
+ ```
1471
+
1472
+ - In `.npmignore` added:
1473
+ - build-system/
1474
+ - test.html
1475
+ - .eslintrc.js
1476
+ - .eslintignore
1477
+ - .editorconfig
1478
+ - .gitignore
1479
+ - .prettierrc.json
1480
+ - .stylelintrc
1481
+ - app.css
1482
+ - composer.json
1483
+
1484
+ #### :rocket: New Feature
1485
+
1486
+ In `Dom` module added `nextGen` and `eachGen` methods. These methods return generators:
1487
+
1488
+ ```js
1489
+ const editor = Jodit.make('#editor');
1490
+ editor.value = '<ul><li><img>1</li><li>2</li><li>3</li></ul>';
1491
+
1492
+ const gen = Dom.nextGen(editor.editor.querySelector('img'), editor.editor);
1493
+ let next = gen.next();
1494
+
1495
+ while (!next.done) {
1496
+ console.log(next.value); // 1, LI, 2, LI, 3
1497
+ next = gen.next();
1498
+ }
1499
+
1500
+ const gen2 = Dom.eachGen(editor.editor);
1501
+ let next2 = gen2.next();
1502
+
1503
+ while (!next2.done) {
1504
+ console.log(next2.value); // UL, LI, 1, LI, 2, LI, 3
1505
+ next2 = gen2.next();
1506
+ }
1507
+ ```
1508
+
1509
+ #### :bug: Bug Fix
1510
+
1511
+ - [Indent doesn't work in table cell #729](https://github.com/xdan/jodit/issues/729)
1512
+ - [cleanHTML replaceOldTags doesn't seem to do anything #728](https://github.com/xdan/jodit/issues/728)
1513
+ - [Fixed Resize column table #712](https://github.com/xdan/jodit/issues/712)
1514
+ - [Font and font size settings are not applied to all text if part of it has been changed earlier #706](https://github.com/xdan/jodit/issues/706)
1515
+ - [Delete multi rows and colums #690](https://github.com/xdan/jodit/issues/690)
1516
+ - [When {"enter": "BR"} option is enabled, adding a heading to the text causes it to become wrapped by a "h\*" tag #547](https://github.com/xdan/jodit/issues/547)
1517
+ - [Issue with clear format on <p> tags #680](https://github.com/xdan/jodit/issues/680)
1518
+
1519
+ ## 3.8.5
1520
+
1521
+ #### :house: Internal
1522
+
1523
+ - The build system is divided into modules and is now located in the 'build-system' folder, the `src/utils` folder has
1524
+ been moved to it.
1525
+
1526
+ #### :bug: Bug Fix
1527
+
1528
+ - [When I merged some cells by dragging it to change its width. #737](https://github.com/xdan/jodit/issues/737)
1529
+ - [Color dropdown looks broken #736](https://github.com/xdan/jodit/issues/736)
1530
+ - [all popups and dialogs are outside shadow dom #731](https://github.com/xdan/jodit/issues/731)
1531
+ - [shadow dom browser support #730](https://github.com/xdan/jodit/issues/730)
1532
+ - [fix removal of attributes width and height when editing images](https://github.com/xdan/jodit/pull/733)
1533
+ - Fixed work in IE11
1534
+ - [toolbar menus are almost not visible on IE11 #458](https://github.com/xdan/jodit/issues/458)
1535
+
1536
+ ## 3.8.4
1537
+
1538
+ #### :rocket: New Feature
1539
+
1540
+ - В eventEmitter добавлены методы:
1541
+ - `mute(event?: string)` Doesn't start any handler;
1542
+ - `isMuted(event?: string)` No handlers are triggered for the event
1543
+ - `unmute(event?: string)` Returns event handling
1544
+
1545
+ ```js
1546
+ const editor = Jodit.make('#editor');
1547
+
1548
+ editor.events.on('change', () => {
1549
+ console.log(editor.value);
1550
+ });
1551
+ editor.value = '1'; // Console '1'
1552
+
1553
+ editor.events.mute('change');
1554
+ editor.value = '2'; // Nothing
1555
+ editor.events.unmute('change');
1556
+ editor.value = '3'; // Console '3'
1557
+ ```
1558
+
1559
+ ## 3.8.3
1560
+
1561
+ #### :boom: Breaking Change
1562
+
1563
+ - beforeSetNativeEditorValue - get object {value: string} and can change value
1564
+ - Added `resizer.forImageChangeAttributes=true` option. Issue: https://github.com/xdan/jodit/issues/696
1565
+
1566
+ ```js
1567
+ // Disable
1568
+ Jodit.make('#editor', {
1569
+ resizer: {
1570
+ forImageChangeAttributes: false
1571
+ }
1572
+ });
1573
+ ```
1574
+
1575
+ #### :house: Internal
1576
+
1577
+ - The Source button has been moved to the depth of the toolbar as it is not cool for the WYSIWYG editor
1578
+
1579
+ #### :bug: Bug Fix
1580
+
1581
+ - [Trying to get in touch regarding a security issue #702](https://github.com/xdan/jodit/issues/702)
1582
+ - [Scrolling to top of editor bug in Safari. #715](https://github.com/xdan/jodit/issues/715)
1583
+ - [Refused to run the JavaScript URL because it violates the following Content Security Policy directive #716](https://github.com/xdan/jodit/issues/716)
1584
+ - [Popup doesn't follow the toolbar on scroll #703](https://github.com/xdan/jodit/issues/703)
1585
+ - Fixed the link dialog: the unlink button does not work in some cases, and the selection is not restored
1586
+
1587
+ ## 3.8.1
1588
+
1589
+ #### :boom: Breaking Change
1590
+
1591
+ - Rename `Style` to `CommitStyle`
1592
+
1593
+ ```js
1594
+ const editor = Jodit.make('#editor');
1595
+
1596
+ const style = new Jodit.ns.CommitStyle({
1597
+ style: {
1598
+ color: 'red'
1599
+ }
1600
+ });
1601
+
1602
+ editor.execCommand('selectall');
1603
+ style.apply(editor);
1604
+ ```
1605
+
1606
+ - `Dom` refactoring: from `isNode`,`isElement`,`isHTMLElement` removed `Window` argument.
1607
+
1608
+ Before
1609
+
1610
+ ```js
1611
+ const editor = Jodit.make('#editor', { iframe: true });
1612
+ Dom.isNode({}, editor.ow); // false
1613
+ Dom.isNode(document.body, window); // true
1614
+ Dom.isNode(document.body, editor.ow); // true
1615
+ Dom.isNode(editor.od.body, editor.ow); // true
1616
+ Dom.isNode(editor.ed.body, editor.ow); // false
1617
+ ```
1618
+
1619
+ Now
1620
+
1621
+ ```js
1622
+ const editor = Jodit.make('#editor', { iframe: true });
1623
+ Dom.isNode({}); // false
1624
+ Dom.isNode(document.body); // true
1625
+ Dom.isNode(document.body); // true
1626
+ Dom.isNode(editor.od.body); // true
1627
+ Dom.isNode(editor.ed.body); // true
1628
+ ```
1629
+
1630
+ #### :rocket: New Feature
1631
+
1632
+ - Added `KeyArrowOutside`, allowing to go outside an inline element if there is no other element after that.
1633
+ - Dictionary of variable values in css, a complete list can be found
1634
+ here https://github.com/xdan/jodit/blob/main/src/styles/variables.less#L25
1635
+ ```js
1636
+ const editor = Jodit.make('#editor', {
1637
+ styleValues: {
1638
+ 'color-icon': '#0f0',
1639
+ 'color-text': 'red',
1640
+ colorBorder: 'black',
1641
+ 'color-panel': 'blue'
1642
+ }
1643
+ });
1644
+ ```
1645
+
1646
+ #### :bug: Bug Fix
1647
+
1648
+ - [Toolbar buttons are not read by screen reader correctly #725](https://github.com/xdan/jodit/issues/725)
1649
+ - [Bug : table & background color #722](https://github.com/xdan/jodit/issues/722)
1650
+ - [Video links are not reliably converted to an IFrame. #714](https://github.com/xdan/jodit/issues/714)
1651
+ - [Eraser delete "<a>" tag! #705](https://github.com/xdan/jodit/issues/705)
1652
+
1653
+ ## 3.7.1
1654
+
1655
+ #### :boom: Breaking Change
1656
+
1657
+ - Update Typescript 4.3.2 - and used override keyword.
1658
+ - `noImplicitOverride` set true.
1659
+ - Enable `@typescript-eslint/explicit-module-boundary-types`
1660
+ - Remove `type` helper. Buy `jQuery` - it was your last part.
1661
+
1662
+ #### :bug: Bug Fix
1663
+
1664
+ - [hovering over the text editor triggers hover over source button instantly #138](https://github.com/jodit/jodit-react/issues/138)
1665
+ - Allow insert in image dialog - relative path
1666
+
1667
+ #### :rocket: New Feature
1668
+
1669
+ - Added `idle` decorator - allow wrap class method in `requestIdleCallback`
1670
+
1671
+ ```ts
1672
+ @component
1673
+ class UIInput extends UIElement {
1674
+ @idle()
1675
+ onSomeEvent() {
1676
+ console.log('Some data');
1677
+ }
1678
+ }
1679
+
1680
+ const elm = new UIInput(jodit);
1681
+ elm.onSomeEvent();
1682
+ for (let i = 0; i < 5; i += 1) {
1683
+ console.log(i);
1684
+ }
1685
+ ```
1686
+
1687
+ Output
1688
+
1689
+ ```
1690
+ 1
1691
+ 2
1692
+ 3
1693
+ 4
1694
+ Some data
1695
+ ```
1696
+
1697
+ ## 3.6.18
1698
+
1699
+ #### :bug: Bug Fix
1700
+
1701
+ - Fixed table cells selection
1702
+ - [isUrl add rtmp schema #677](https://github.com/xdan/jodit/issues/677)
1703
+ - [The editor is very slow when working with tables in IE #673](https://github.com/xdan/jodit/issues/673)
1704
+
1705
+ ## 3.6.17
1706
+
1707
+ #### :rocket: New Feature
1708
+
1709
+ - Added `IJodit.waitForReady(): Promise<IJodit>` method.
1710
+
1711
+ ```js
1712
+ const jodit = Jodit.make('#editor', {
1713
+ extraPlugins: ['myPlugin']
1714
+ });
1715
+
1716
+ await jodit.waitForReady(); // wait for all plugins will be initialised
1717
+
1718
+ jodit.e.fire('someAsyncLoadedPluginEvent', test => {
1719
+ alert(test);
1720
+ });
1721
+ ```
1722
+
1723
+ ## 3.6.16
1724
+
1725
+ #### :bug: Bug Fix
1726
+
1727
+ - Fixed selection restoring after blur and set source mode.
1728
+
1729
+ ## 3.6.15
1730
+
1731
+ #### :bug: Bug Fix
1732
+
1733
+ - Fixed bug with fixed width and auto height resizing
1734
+
1735
+ ## 3.6.13
1736
+
1737
+ #### :bug: Bug Fix
1738
+
1739
+ - Hot fix `focus` plugin + `Select`.`save` deny set focus in another place.
1740
+
1741
+ #### :rocket: New Feature
1742
+
1743
+ - Added `Select`.`hasMarkers` method.
1744
+
1745
+ ## 3.6.12
1746
+
1747
+ #### :rocket: New Feature
1748
+
1749
+ - Added `cursorAfterAutofocus=end` option inside `autofocus` plugin. Allow change default autofocus position. Possible
1750
+ values `start`, `end`.
1751
+ [autofocus plugin should focus on the end of the text #649](https://github.com/xdan/jodit/issues/649)
1752
+
1753
+ - Added `saveSelectionOnBlur=true` option inside `autofocus` plugin. Allow restore position after editor has focus after
1754
+ blur.
1755
+
1756
+ #### :house: Internal
1757
+
1758
+ - Renamed `autofocus` > `focus` plugin.
1759
+
1760
+ #### :boom: Breaking Change
1761
+
1762
+ - The `Dom`.`wrap` method changed signature - instead IJodit call with ICreate.
1763
+ - The `Select`.`restore` method is called with no arguments. It finds the range using the data attribute selector. In
1764
+ the `Select`.`save` method added `silent=false` argument.
1765
+
1766
+ Earlier
1767
+
1768
+ ```js
1769
+ const editor = Jodit.make('#editor');
1770
+ const info = editor.s.save();
1771
+ // Change code
1772
+ editor.s.restore(info);
1773
+ ```
1774
+
1775
+ Now
1776
+
1777
+ ```js
1778
+ const editor = Jodit.make('#editor');
1779
+
1780
+ editor.s.save(true); // Do not change current range
1781
+ // Change code
1782
+ editor.s.restore();
1783
+ ```
1784
+
1785
+ #### :bug: Bug Fix
1786
+
1787
+ - ['allowResizeX' option does not work without 'height' option #668](https://github.com/xdan/jodit/issues/668)
1788
+ - [Pasting link with a colon (:) crashes the browser/makes it unresponsive #667](https://github.com/xdan/jodit/issues/667)
1789
+ - [Inserting images/videos scrolls user to top of text area #644](https://github.com/xdan/jodit/issues/644)
1790
+ - [Change event is fired twice after inserting a link #636](https://github.com/xdan/jodit/issues/636)
1791
+ - [iPhone is out of text selection #632](https://github.com/xdan/jodit/issues/632)
1792
+ - [Pasting an MS Excel cell inserts the cell as image #474](https://github.com/xdan/jodit/issues/474)
1793
+ - Fixed a bug when FONT was inserted into the change history
1794
+
1795
+ ## 3.6.10
1796
+
1797
+ #### :rocket: New Feature
1798
+
1799
+ - [Video alignment request #646](https://github.com/xdan/jodit/issues/646)
1800
+ - Set `component` property for source textarea with Jodit instance.
1801
+
1802
+ ```html
1803
+ <textarea id="editor" cols="30" rows="10"></textarea>
1804
+ <script>
1805
+ Jodit.make('#editor');
1806
+ console.log(document.getElementById('editor').component.value);
1807
+ document.getElementById('editor').component.filebrowser.open();
1808
+ </script>
1809
+ ```
1810
+
1811
+ #### :bug: Bug Fix
1812
+
1813
+ - Hide popup after deleting target node with key press.
1814
+ - [image-editor : onChangeSizeInput #663](https://github.com/xdan/jodit/issues/663)
1815
+ - [image-editor : switcher #662](https://github.com/xdan/jodit/issues/662) Replace buttons to switcher
1816
+ - [Error from ESlint, please fix it #658](https://github.com/xdan/jodit/issues/658)
1817
+ - [Support Mobile platform’s slide to type feature. #654](https://github.com/xdan/jodit/issues/654)
1818
+ - [The Jodit eraser tool doesn't work for <p> tags #652](https://github.com/xdan/jodit/issues/652)
1819
+ - [Links at the end of editor after unlink #648](https://github.com/xdan/jodit/issues/648)
1820
+
1821
+ ## 3.6.7
1822
+
1823
+ #### :bug: Bug Fix
1824
+
1825
+ - When deleting a file via the context menu - the list of files was not updated.
1826
+
1827
+ #### :rocket: New Feature
1828
+
1829
+ - Added the ability to open a file browser and any dialog in a new window. To do this, you need to define
1830
+ the `ownerWindow` field. For example, this can be done so that the file browser opens in a separate popup window.
1831
+
1832
+ ```js
1833
+ const editor = Jodit.make('#editor', {
1834
+ uploader: {
1835
+ url: 'https://xdsoft.net/jodit/connector/index.php?action=fileUpload'
1836
+ },
1837
+ filebrowser: {
1838
+ ajax: {
1839
+ url: 'https://xdsoft.net/jodit/connector/index.php'
1840
+ }
1841
+ }
1842
+ });
1843
+
1844
+ // Rewrite default filebrowser instance
1845
+ editor.e.on('getInstanceFileBrowser', options => {
1846
+ const win = window.open(
1847
+ 'about:blank',
1848
+ 'File Browser',
1849
+ 'location=0,menubar=0,status=0,toolbar=0,titlebar=0,width=700,height=500'
1850
+ );
1851
+
1852
+ win.document.open();
1853
+ // Need append css for Jodit
1854
+ win.document.write(
1855
+ '<html><head><title>File Browser!</title><link rel="stylesheet" type="text/css" href="./build/es2015/jodit.min.css"></head><body></body></html>'
1856
+ );
1857
+ win.document.close();
1858
+
1859
+ const browser = new Jodit.modules.FileBrowser({
1860
+ ownerWindow: win, // set window which will be used for opening
1861
+ headerButtons: [], // disable buttns - close and fullscreen
1862
+ fullsize: true,
1863
+ events: {
1864
+ beforeOpen: () => {
1865
+ win.focus();
1866
+ },
1867
+ afterClose: () => {
1868
+ win.close();
1869
+ }
1870
+ },
1871
+ ajax: options.ajax
1872
+ });
1873
+
1874
+ browser.noCache = true; // Becouse window can be closed - create instance on every getInstanceFileBrowser
1875
+
1876
+ return browser;
1877
+ });
1878
+ ```
1879
+
1880
+ ## 3.6.5
1881
+
1882
+ #### :boom: Breaking Change
1883
+
1884
+ - Removed options: `useIframeResizer`, `useImgResizer`, `useTableResizer` from `resizer` plugin. Instead,
1885
+ added `allowResizeTags`.
1886
+
1887
+ ```js
1888
+ Config.prototype.allowResizeTags = ['img', 'iframe', 'table', 'jodit'];
1889
+ ```
1890
+
1891
+ ## 3.6.2
1892
+
1893
+ #### :bug: Bug Fix
1894
+
1895
+ - [Error when resizing tables and tables cells](https://github.com/xdan/jodit/issues/611)
1896
+ - [Image and video resizing in the table does not work correctly](https://github.com/xdan/jodit/issues/528)
1897
+ - [The link popup closes when trying to add it to an image inside a table. #524](https://github.com/xdan/jodit/issues/524)
1898
+ - Fixed a bug when command `emptyTable` didn't work.
1899
+
1900
+ ## 3.6.1
1901
+
1902
+ #### :bug: Bug Fix
1903
+
1904
+ - [<style> tag wrapping problem #620](https://github.com/xdan/jodit/issues/620)
1905
+ - [Disable Link Checking #618](https://github.com/xdan/jodit/issues/618)
1906
+ - [Changing text style undoes text alignment #614](https://github.com/xdan/jodit/issues/614)
1907
+ - [<section> tag is always wraped <p></p> once when toggle the wysiwyg/source mode #612](https://github.com/xdan/jodit/issues/612)
1908
+ - [Error when resizing tables and tables cells. #611](https://github.com/xdan/jodit/issues/611)
1909
+ - [Backspace and Delete have an errant character #597](https://github.com/xdan/jodit/issues/597)
1910
+
1911
+ #### :rocket: New Feature
1912
+
1913
+ - Added `classSpan` plugin. Applying some className to selected text. Thanks https://github.com/s-renier-taonix-fr
1914
+
1915
+ ```js
1916
+ const editor = new Jodit('#editor', {
1917
+ controls: {
1918
+ classSpan: {
1919
+ list: {
1920
+ class1: 'Classe 1',
1921
+ class2: 'Classe 2',
1922
+ class3: 'Classe 3',
1923
+ class4: 'Classe 4',
1924
+ class5: 'Classe 5'
1925
+ }
1926
+ }
1927
+ }
1928
+ });
1929
+ ```
1930
+
1931
+ - Added `UIFileInput` element.
1932
+ - Added `UIButtonGroup` element.
1933
+
1934
+ ```ts
1935
+ const group = new UIButtonGroup(jodit, {
1936
+ label: 'Theme',
1937
+ name: 'theme',
1938
+ value: this.state.theme,
1939
+ radio: true,
1940
+ options: [
1941
+ { value: 'default', text: 'Light' },
1942
+ { value: 'dark', text: 'Dark' }
1943
+ ],
1944
+ onChange: values => {
1945
+ this.state.theme = values[0].value as string;
1946
+ }
1947
+ });
1948
+ ```
1949
+
1950
+ #### :house: Internal
1951
+
1952
+ - Enabled `"importsNotUsedAsValues": "error"` in `tsconfig`
1953
+ - Refactoring `Filebrowser` module
1954
+ - Refactoring `Dialog` module
1955
+ - Added "stylelint-config-idiomatic-order" in style linter
1956
+ - Added "en" bundle without another languages.
1957
+ - Replaced `Config` system. You can change default setting in you extensions.
1958
+
1959
+ ```js
1960
+ // before
1961
+ const a = new Jodit();
1962
+ a.options.allowResizeY; // true
1963
+ Jodit.defaultOptions.allowResizeY = false;
1964
+ a.options.allowResizeY; // true
1965
+
1966
+ // Now
1967
+ const a = new Jodit();
1968
+ a.options.allowResizeY; // true
1969
+ Jodit.defaultOptions.allowResizeY = false;
1970
+ a.options.allowResizeY; // false
1971
+ ```
1972
+
1973
+ - Added `promisify` mode in `debounce` and `throttle` decorators.
1974
+ - Removed `src/core/ui/form/validators/key-validator.ts`.
1975
+ - Added `Async`.`requestIdlePromise` method.
1976
+ - Removed `Helpers`.`extend` method.
1977
+ - Added `Helpers`.`loadImage` method.
1978
+ - Changed `render` method in state/ui system.
1979
+
1980
+ ```js
1981
+ // Before
1982
+ @component
1983
+ class UIBtn extends UIElement {
1984
+ className() {
1985
+ return 'UIBtn';
1986
+ }
1987
+
1988
+ createContainer() {
1989
+ const button = this.j.c.element('button');
1990
+ button.style.color = 'red';
1991
+
1992
+ button.classList.add(this.getFullElName('button'));
1993
+
1994
+ this.j.e.on('click', button, this.onClick);
1995
+ return button;
1996
+ }
1997
+
1998
+ @autobind onClick() {
1999
+ alert('click');
2000
+ }
2001
+ }
2002
+
2003
+ // Now
2004
+ @component
2005
+ class UIBtn extends UIElement {
2006
+ className() {
2007
+ return 'UIBtn';
2008
+ }
2009
+
2010
+ render() {
2011
+ return `<button class="&__button" style="color:red"></button>`;
2012
+ }
2013
+
2014
+ @watch('container:click') onClick() {
2015
+ alert('click');
2016
+ }
2017
+ }
2018
+ ```
2019
+
2020
+ and styles
2021
+
2022
+ ```css
2023
+ .jodit-ui-btn__button {
2024
+ border: 1px solid #ccc;
2025
+ }
2026
+ ```
2027
+
2028
+ ## 3.5.4
2029
+
2030
+ #### :bug: Bug Fix
2031
+
2032
+ - [From Jodit 3.5.1 on, popup z-index is lower than the modal (Ant Design) z-index #587](https://github.com/xdan/jodit/issues/587)
2033
+
2034
+ ## 3.5.3
2035
+
2036
+ #### :bug: Bug Fix
2037
+
2038
+ - Fixed es2021 version https://github.com/xdan/jodit/issues/585
2039
+
2040
+ ## 3.5.2
2041
+
2042
+ #### :house: Internal
2043
+
2044
+ - Added `async.requestIdleCallback` method https://developer.mozilla.org/en-US/docs/Web/API/Window/requestIdleCallback.
2045
+ - Focused inputs have box shadow.
2046
+
2047
+ #### :bug: Bug Fix
2048
+
2049
+ - [The link and image popup closes automatically on the inline preset. #582](https://github.com/xdan/jodit/issues/582)
2050
+ - [Preset:inline / Link Popup Closes #515](https://github.com/xdan/jodit/issues/515)
2051
+ - [Missing autobind-decorator types on the latest release #583](https://github.com/xdan/jodit/issues/583)
2052
+ - [link does not carry when dragging/dropping #581](https://github.com/xdan/jodit/issues/581)
2053
+ - [When editor is disabled/readonly (both), list controls are still available by using the arrow bug #572](https://github.com/xdan/jodit/issues/572)
2054
+
2055
+ #### :rocket: New Feature
2056
+
2057
+ ##### New option `link.hotkeys: string[] = ['ctrl+k', 'cmd+k']`
2058
+
2059
+ Execute new command `openLinkDialog`. Related: https://github.com/xdan/jodit/issues/576
2060
+
2061
+ ## 3.5.1
2062
+
2063
+ #### :house: Internal
2064
+
2065
+ - Removed `useAceEditor` option. [https://github.com/xdan/jodit/issues/544](https://github.com/xdan/jodit/issues/544)
2066
+ - Added `component` and `persistent` decorators
2067
+
2068
+ ```typescript
2069
+ import { component, persistent } from './src/core/decorators';
2070
+
2071
+ @component
2072
+ class Item extends UIElement {
2073
+ @persistent
2074
+ options = {
2075
+ some: true
2076
+ };
2077
+ }
2078
+
2079
+ const item = new Item(jodit);
2080
+ console.log(item.options); // {some: true}
2081
+
2082
+ item.options = {
2083
+ some: false
2084
+ };
2085
+
2086
+ const item2 = new Item(jodit); // or reload page
2087
+ console.log(item.options); // {some: false}
2088
+ ```
2089
+
2090
+ - In `UIInput` added `autocomplete`, `clearButton`, `icon` options.
2091
+
2092
+ #### :bug: Bug Fix
2093
+
2094
+ - [Clear formatting control does not clear all styles (keeps underline and strikethrough) #575](https://github.com/xdan/jodit/issues/575)
2095
+ - [Reset in size change not rescaling image #568](https://github.com/xdan/jodit/issues/568)
2096
+ - [Backspace in beginning of a _
2097
+ styled_ line does not affect the line positioning #567](https://github.com/xdan/jodit/issues/567)
2098
+ - [Table cell elements are always left-aligned #550](https://github.com/xdan/jodit/issues/550)
2099
+ - [editor.destruct throws error #543](https://github.com/xdan/jodit/issues/543)
2100
+ - [How I can get Iframe without parent element <jodit>...</jodit> #540](https://github.com/xdan/jodit/issues/540)
2101
+ - [Layout bug and drag&drop image loading #536](https://github.com/xdan/jodit/issues/536)
2102
+ - [Popups are not showing at all on Legacy Edge #531](https://github.com/xdan/jodit/issues/531)
2103
+ - Fixed a bug when the search bar was shown in the scrolling editor, the editor was scrolled up. And the search box was
2104
+ not in sticky mode.
2105
+
2106
+ #### :rocket: New Feature
2107
+
2108
+ ##### Jodit.atom
2109
+
2110
+ `Jodit.Array` and `Jodit.Object` marked as deprecated. In `3.5` they will be removed. Instead, use `Jodit.atom`.
2111
+
2112
+ ```
2113
+ const editor = Jodit.make('#editor', {
2114
+ buttons: Jodit.atom(['bold', 'italic']),
2115
+ popup: {
2116
+ img: Jodit.atom({
2117
+ // full rewrite
2118
+ })
2119
+ }
2120
+ });
2121
+ ```
2122
+
2123
+ ##### New option `observer.maxHistoryLength: number = Infinity`
2124
+
2125
+ Related with https://github.com/xdan/jodit/issues/574. In some cases need to limit size of undo history.
2126
+
2127
+ ##### New options in `link.plugin`
2128
+
2129
+ - @property {"input"|"select"|""} link.modeClassName="input" Use an input text to ask the classname or a select or not
2130
+ ask
2131
+ - @property {boolean} link.selectMultipleClassName=true Allow multiple choises (to use with modeClassName="select")
2132
+ - @property {number} link.selectSizeClassName=3 The size of the select (to use with modeClassName="select")
2133
+ - @property {IUIOption[]} link.selectOptionsClassName=[] The list of the option for the select (to use with
2134
+ modeClassName="select")
2135
+ - ex: [
2136
+ - { value: "", text: "" },
2137
+ - { value: "val1", text: "text1" },
2138
+ - { value: "val2", text: "text2" },
2139
+ - { value: "val3", text: "text3" }
2140
+ - ]
2141
+ PR: https://github.com/xdan/jodit/pull/577 Thanks @s-renier-taonix-fr
2142
+
2143
+ ##### New option `statusbar: boolean = true`
2144
+
2145
+ Issue https://github.com/xdan/jodit/issues/535
2146
+
2147
+ ```
2148
+ const editor = Jodit.make('#editor', {
2149
+ statusbar: false
2150
+ });
2151
+ console.log(editor.statusbar.isShown); // false
2152
+ editor.statusbar.show();
2153
+ console.log(editor.statusbar.isShown); // true
2154
+ ```
2155
+
2156
+ ##### Buttons groups
2157
+
2158
+ The `buttons` option can contain named groups of buttons. Each plugin decides which button belongs to which group. Thus,
2159
+ if you turn off the plugin, then its buttons will not be shown either. Available
2160
+ groups: ["source", "font-style", "script", "list", "indent", "font", "color", "media", "state", "clipboard", "insert", "history", "search", "other", "info"]
2161
+ ;
2162
+
2163
+ ```js
2164
+ const editor = Jodit.make('#editor', {
2165
+ buttons: [
2166
+ {
2167
+ group: 'custom',
2168
+ buttons: []
2169
+ },
2170
+ 'bold'
2171
+ ]
2172
+ });
2173
+
2174
+ Jodit.defaultOptions.controls.someButton = {
2175
+ icon: 'pencil',
2176
+ command: 'selectall'
2177
+ };
2178
+
2179
+ Jodit.plugins.add('somePlugin', function (editor) {
2180
+ editor.registerButton({
2181
+ name: 'someButton',
2182
+ group: 'custom'
2183
+ });
2184
+ });
2185
+ ```
2186
+
2187
+ ##### Hotkeys for BackSpace and Delete and remove part of text
2188
+
2189
+ Added hotkey settings for Delete and Backspace buttons. And added hotkey `ctrl+backspace` for removing left part of
2190
+ text. Issue: [https://github.com/xdan/jodit/issues/532](https://github.com/xdan/jodit/issues/532)
2191
+
2192
+ ```js
2193
+ Jodit.make('#editor', {
2194
+ delete: Jodit.atom({
2195
+ hotkeys: {
2196
+ delete: ['delete', 'cmd+backspace'],
2197
+ deleteWord: [
2198
+ 'ctrl+delete',
2199
+ 'cmd+alt+backspace',
2200
+ 'ctrl+alt+backspace'
2201
+ ],
2202
+ backspace: ['backspace'],
2203
+ backspaceWord: ['ctrl+backspace']
2204
+ }
2205
+ })
2206
+ });
2207
+ ```
2208
+
2209
+ ##### Added `one` method in event system
2210
+
2211
+ ```js
2212
+ const editor = Jodit.make('#editor');
2213
+
2214
+ editor.events
2215
+ .one('keydown', () => {
2216
+ console.log('Fire only one time');
2217
+ })
2218
+ .on('keydown', () => {
2219
+ console.log('Fire everytime');
2220
+ });
2221
+ ```
2222
+
2223
+ ## 3.4.28
2224
+
2225
+ #### :bug: Bug Fix
2226
+
2227
+ - [#526 Editor disable in ifram with split_mode](https://github.com/xdan/jodit/issues/526)
2228
+ - [#519 Insert link scrolls user to top of text area](https://github.com/xdan/jodit/issues/519)
2229
+
2230
+ #### :rocket: New Feature
2231
+
2232
+ Added `extraIcons` option. By default, you can only install an icon from the Jodit suite. You can add your icon to the
2233
+ set using the `Jodit.modules.Icon.set (name, svg Code)` method. But for a declarative declaration, you can use this
2234
+ option.
2235
+
2236
+ ```js
2237
+ Jodit.modules.Icon.set('someIcon', '<svg><path.../></svg>');
2238
+ const editor = Jodit.make({
2239
+ extraButtons: [
2240
+ {
2241
+ name: 'someButton',
2242
+ icon: 'someIcon'
2243
+ }
2244
+ ]
2245
+ });
2246
+ ```
2247
+
2248
+ ```js
2249
+ const editor = Jodit.make({
2250
+ extraIcons: {
2251
+ someIcon: '<svg><path.../></svg>'
2252
+ },
2253
+ extraButtons: [
2254
+ {
2255
+ name: 'someButton',
2256
+ icon: 'someIcon'
2257
+ }
2258
+ ]
2259
+ });
2260
+ ```
2261
+
2262
+ ```js
2263
+ const editor = Jodit.make({
2264
+ extraButtons: [
2265
+ {
2266
+ name: 'someButton',
2267
+ icon: '<svg><path.../></svg>'
2268
+ }
2269
+ ]
2270
+ });
2271
+ ```
2272
+
2273
+ ## 3.4.27
2274
+
2275
+ - https://github.com/xdan/jodit/issues/514
2276
+ Run command insertUnorderedList & insertOrderedList should replace all headings (h1, h2, etc.) to ul>li
2277
+
2278
+ ## 3.4.26
2279
+
2280
+ #### :bug: Bug Fix
2281
+
2282
+ - https://github.com/xdan/jodit/issues/506
2283
+ - https://github.com/xdan/jodit/issues/505
2284
+ - https://github.com/xdan/jodit/issues/503
2285
+ - https://github.com/xdan/jodit/issues/501
2286
+ - https://github.com/xdan/jodit/issues/500
2287
+ - https://github.com/xdan/jodit/issues/496
2288
+ - https://github.com/xdan/jodit/issues/495
2289
+ - https://github.com/xdan/jodit/issues/490
2290
+
2291
+ #### :rocket: New Feature
2292
+
2293
+ - https://github.com/xdan/jodit/issues/513 allow set percentage and another points inside width and height inputs
2294
+
2295
+ ## 3.4.25
2296
+
2297
+ - https://github.com/xdan/jodit/issues/422
2298
+ - https://github.com/xdan/jodit/issues/375
2299
+ - https://github.com/xdan/jodit/issues/343
2300
+
2301
+ ### Features
2302
+
2303
+ - https://github.com/xdan/jodit/issues/489
2304
+ In textIcons - besides `boolean`, you can put `function(key: string): boolean`;
2305
+
2306
+ ```js
2307
+ var editor = new Jodit('#editor', {
2308
+ textIcons: key => key !== 'bold'
2309
+ });
2310
+ ```
2311
+
2312
+ ## 3.4.24
2313
+
2314
+ ### Bug fixes
2315
+
2316
+ - https://github.com/xdan/jodit/issues/487
2317
+ - https://github.com/xdan/jodit/issues/486
2318
+ - https://github.com/xdan/jodit/issues/485
2319
+ - https://github.com/xdan/jodit/issues/483
2320
+ - https://github.com/xdan/jodit/issues/478
2321
+ - https://github.com/xdan/jodit/issues/476
2322
+ - https://github.com/xdan/jodit/issues/475
2323
+ - https://github.com/xdan/jodit/issues/473
2324
+
2325
+ ## 3.4.22
2326
+
2327
+ - https://github.com/xdan/jodit/issues/467
2328
+ - https://github.com/xdan/jodit/issues/466
2329
+
2330
+ ### Features
2331
+
2332
+ Added `maxHeight` option.
2333
+
2334
+ ```js
2335
+ const jodit = Jodit.make('#editor', {
2336
+ minHeight: 200,
2337
+ maxHeight: 500
2338
+ });
2339
+ ```
2340
+
2341
+ ## 3.4.18
2342
+
2343
+ - https://github.com/xdan/jodit/issues/463
2344
+ - https://github.com/xdan/jodit/issues/446
2345
+ - https://github.com/xdan/jodit/issues/342
2346
+ - https://github.com/xdan/jodit/issues/340
2347
+
2348
+ ## 3.4.16
2349
+
2350
+ ### Bug fixes
2351
+
2352
+ - Fixed https://github.com/xdan/jodit/issues/456
2353
+ - Fixed https://github.com/xdan/jodit/issues/454
2354
+ - Fixed https://github.com/xdan/jodit/issues/453
2355
+ - Fixed https://github.com/xdan/jodit/issues/451
2356
+ - Fixed https://github.com/xdan/jodit/issues/444
2357
+ - Fixed https://github.com/xdan/jodit/issues/428
2358
+ - Fixed https://github.com/xdan/jodit/issues/427
2359
+ - Fixed https://github.com/xdan/jodit/issues/426
2360
+ - Fixed https://github.com/xdan/jodit/issues/222
2361
+
2362
+ ### Features
2363
+
2364
+ - Added Find and Preview buttons
2365
+ - https://github.com/xdan/jodit/issues/417
2366
+ Added `defaultFontSizePoints` options. Possible values `pt` or `px`. By default: `px`
2367
+
2368
+ ```js
2369
+ const editor = new Jodit('#editor', {
2370
+ defaultFontSizePoints: 'pt'
2371
+ });
2372
+ ```
2373
+
2374
+ - https://github.com/xdan/jodit/issues/449
2375
+ Added `showCharsCounter` options.
2376
+
2377
+ ```js
2378
+ const editor = new Jodit('#editor', {
2379
+ language: 'en',
2380
+ showCharsCounter: true,
2381
+ countHTMLChars: true
2382
+ });
2383
+
2384
+ editor.value = '<p>Simple text</p><p>Simple text</p>';
2385
+ const statusbar = editor.container.querySelector('.jodit-status-bar');
2386
+
2387
+ expect(statusbar.textContent.match(/Chars: 36/)).is.not.null;
2388
+ ```
2389
+
2390
+ ## 3.4.15
2391
+
2392
+ - Fixed https://github.com/xdan/jodit/issues/441
2393
+ - Fixed https://github.com/xdan/jodit/issues/437
2394
+ - Fixed https://github.com/xdan/jodit/issues/435
2395
+ - Fixed https://github.com/xdan/jodit/issues/431
2396
+
2397
+ ## 3.4.13
2398
+
2399
+ ### Bug fixes
2400
+
2401
+ - https://github.com/xdan/jodit/issues/379
2402
+
2403
+ ## 3.4.12
2404
+
2405
+ ### Bug fixes
2406
+
2407
+ - https://github.com/xdan/jodit/issues/424
2408
+ Fixed `allowTabNavigation` By default: `false`.
2409
+
2410
+ ```js
2411
+ const jodit = new Jodit('#editor', {
2412
+ allowTabNavigation: true // enable tab navigation between toolbar's buttons
2413
+ });
2414
+ ```
2415
+
2416
+ - https://github.com/xdan/jodit/issues/421
2417
+ - https://github.com/xdan/jodit/issues/420
2418
+ - https://github.com/xdan/jodit/issues/419
2419
+ - https://github.com/xdan/jodit/issues/418#issuecomment-651145548
2420
+ - https://github.com/xdan/jodit/issues/415
2421
+
2422
+ ## 3.4.2
2423
+
2424
+ ### Bug fixes
2425
+
2426
+ https://github.com/xdan/jodit/issues/359
2427
+
2428
+ ## 3.4
2429
+
2430
+ ### Bug fixes
2431
+
2432
+ - https://github.com/xdan/jodit/issues/408
2433
+ - https://github.com/xdan/jodit/issues/405
2434
+ - https://github.com/xdan/jodit/issues/404 See more in Features
2435
+ - https://github.com/xdan/jodit/issues/400
2436
+ - https://github.com/xdan/jodit/issues/398
2437
+ - https://github.com/xdan/jodit/issues/396
2438
+ - https://github.com/xdan/jodit/issues/393
2439
+ - https://github.com/xdan/jodit/issues/392
2440
+ - https://github.com/xdan/jodit/issues/391
2441
+ - https://github.com/xdan/jodit/issues/385
2442
+ - https://github.com/xdan/jodit/issues/378
2443
+ - https://github.com/xdan/jodit/issues/369
2444
+ - https://github.com/xdan/jodit/issues/360
2445
+ - https://github.com/xdan/jodit/issues/352
2446
+ - Fixed unde-redo subsystem for source mode
2447
+
2448
+ ### Features
2449
+
2450
+ - All `less` variables were replaced to css custom properties for modern browsers.
2451
+ - Added `WrapNodes` plugin - it wrap all alone text node(or inline elements) inside `options.enter` element. You can
2452
+ disable this behaviour:
2453
+
2454
+ ```js
2455
+ const editor = Jodit.make('#editor', {
2456
+ disablePlugins: ['WrapNodes']
2457
+ });
2458
+ ```
2459
+
2460
+ - Added `shadowRoot` option for ShadowDom support.
2461
+ > ACE source editor does not support Shadow Dom
2462
+
2463
+ ```html
2464
+ <div id="editor"></div>
2465
+ ```
2466
+
2467
+ ```js
2468
+ const app = document.getElementById('editor');
2469
+ app.attachShadow({ mode: 'open' });
2470
+ const root = app.shadowRoot;
2471
+
2472
+ root.innerHTML = `
2473
+ <link rel="stylesheet" href="./build/jodit.css"/>
2474
+ <h1>Jodit example in Shadow DOM</h1>
2475
+ <div id="edit"></div>
2476
+ `;
2477
+
2478
+ var editor = new Jodit(root.getElementById('edit'), {
2479
+ globalFullSize: false,
2480
+ shadowRoot: root
2481
+ });
2482
+ editor.value = '<p>start</p>';
2483
+ ```
2484
+
2485
+ - From `NativeEvent.on` method was removed `selector` argument. It was `jQuery.live` style. Example:
2486
+
2487
+ ```html
2488
+ <div class="test">
2489
+ <button>1</button>
2490
+ <button>2</button>
2491
+ </div>
2492
+ ```
2493
+
2494
+ Earlier, you can use something like this
2495
+
2496
+ ```js
2497
+ editor.events.on(
2498
+ document.querySelector('div'),
2499
+ 'click',
2500
+ function () {
2501
+ alert(this.innerText);
2502
+ },
2503
+ 'button'
2504
+ );
2505
+ ```
2506
+
2507
+ Now, you should use `event.target`
2508
+
2509
+ ```js
2510
+ editor.events.on(document.querySelector('div'), 'click', function (e) {
2511
+ alert(e.target.innerText);
2512
+ });
2513
+ ```
2514
+
2515
+ - `Select.applyCSS` was renamed to `Select.applyStyle`
2516
+
2517
+ ```js
2518
+ const editor = Jodit.make('#editor');
2519
+ editor.s.applyStyle({ color: 'red' }); // will add to all selection text - red color
2520
+ ```
2521
+
2522
+ - `FileBrowser`, `Dialog` etc. modules which extend `View` has only one argument in the constructor - options. Before:
2523
+
2524
+ ```js
2525
+ const editor = Jodit.make('#editor');
2526
+ const fb = Jodit.modules.FileBrowser(editor, {
2527
+ ajax: {
2528
+ url: 'https://xdsoft.net'
2529
+ }
2530
+ });
2531
+ fb.open();
2532
+ fb.close();
2533
+
2534
+ editor.destruct();
2535
+ fb.open(); // error, fb is already destructed
2536
+ ```
2537
+
2538
+ Now:
2539
+
2540
+ ```js
2541
+ const editor = Jodit.make('#editor');
2542
+ const fb = Jodit.modules.FileBrowser({
2543
+ ajax: {
2544
+ url: 'https://xdsoft.net'
2545
+ }
2546
+ });
2547
+ fb.open();
2548
+ fb.close();
2549
+
2550
+ editor.destruct();
2551
+ fb.open(); // Normal
2552
+
2553
+ fb.destruct();
2554
+ //or
2555
+ editor.e.on('beforeDestruct', () => {
2556
+ fb.destruct();
2557
+ });
2558
+ ```
2559
+
2560
+ - Split `table` plugin on `select-cells` and `resize-cells` plugins. `useTableProcessor` was removed. Instead, use
2561
+
2562
+ ```js
2563
+ Jodit.make('#editor', {
2564
+ table: {
2565
+ allowCellSelection: true,
2566
+ selectionCellStyle: 'border: 1px double #1e88e5 !important;',
2567
+
2568
+ allowCellResize: true,
2569
+ useExtraClassesOptions: true
2570
+ }
2571
+ });
2572
+ ```
2573
+
2574
+ - All `less` files were moved near with TS. Class naming was changed closer to BEM.
2575
+ - Removed `PopupList` and `Popup`. Instead, use only `PopupMenu`.
2576
+ - Added `ui.button` and `ui.list` for working with buttons. `toolbar.button` extends `ui.button`. UIButton - is
2577
+ reactive:
2578
+
2579
+ ```js
2580
+ const button = new UIButton();
2581
+ button.state.activated = true; // will automatically change setAttribute('area-pressed', 'true')
2582
+ button.state.icon = 'plus'; // will add `svg` icon in container
2583
+
2584
+ // or use `setState`
2585
+ button
2586
+ .setState({
2587
+ text: 'Click me'
2588
+ })
2589
+ .onAction(() => {
2590
+ Jodit.Alert('Click');
2591
+ })
2592
+ .appendTo(document.body); // will append it inside the body
2593
+ ```
2594
+
2595
+ - In `tsconfig` added decorators supports. Methods that need binding binds with `@autobind` decorator.
2596
+ - Added `watch` decorator.
2597
+ - All filenames were renamed to kebab-case.
2598
+ - Added short aliases for. Can be used as chain - `this.j.e.on`
2599
+ - `this.jodit` => `this.j`
2600
+ - `this.options` => `this.o`
2601
+ - `this.selection` => `this.s`
2602
+ - `this.create` => `this.c`
2603
+ - `this.events` => `this.e`
2604
+ - `this.ownerDocument` => `this.od`
2605
+ - `this.ownerWindow` => `this.ow`
2606
+ - `this.editorDocument` => `this.ed`
2607
+ - `this.editorWindow` => `this.ew`
2608
+ - Change name `Dialog`.`setTitle` to `Dialog`.`setHeader`
2609
+ - Remove `Create.inside` field and instead added `Jodit.createInside`
2610
+ - In popups added position strategies: `'leftBottom' | 'rightBottom' | 'leftTop' | 'rightTop'` etc.
2611
+
2612
+ ## 3.3.24
2613
+
2614
+ ### BugFix
2615
+
2616
+ - [342](https://github.com/xdan/jodit/issues/342)
2617
+ - [343](https://github.com/xdan/jodit/issues/343)
2618
+
2619
+ ## 3.3.23
2620
+
2621
+ ### BugFix
2622
+
2623
+ - [#325](https://github.com/xdan/jodit/issues/325) [#239](https://github.com/xdan/jodit/issues/239)
2624
+ - [#327](https://github.com/xdan/jodit/issues/327)
2625
+ - [#292](https://github.com/xdan/jodit/issues/292)
2626
+ - [#203](https://github.com/xdan/jodit/issues/203)
2627
+ - [#339](https://github.com/xdan/jodit/issues/339)
2628
+
2629
+ ### Feature
2630
+
2631
+ - Added `Dom`.`isTag` method
2632
+
2633
+ ```js
2634
+ const editor = Jodit.make('#editor');
2635
+
2636
+ const a = editor.createInside.element('a');
2637
+ const br = document.createElement('br');
2638
+
2639
+ Jodit.modules.Dom.isTag(a, 'a'); // true
2640
+ Jodit.modules.Dom.isTag(br, 'br'); // true
2641
+ ```
2642
+
2643
+ - Added `Helpers`.`call` method
2644
+
2645
+ ```js
2646
+ const f = Math.random();
2647
+ Jodit.modules.Helpers.call(f > 0.5 ? Math.ceil : Math.floor, f);
2648
+ ```
2649
+
2650
+ - Added `Helpers`.`position` method - Helper function to get an element's exact position
2651
+
2652
+ ```js
2653
+ console.log(Jodit.modules.Helpers.position(editor.editor.querySelector('p')));
2654
+ ```
2655
+
2656
+ ## 3.3.19
2657
+
2658
+ ### BugFix
2659
+
2660
+ - Fixed a lots of bugs inside `link` plugin
2661
+ [#331](https://github.com/xdan/jodit/issues/331)
2662
+ [#334](https://github.com/xdan/jodit/issues/334)
2663
+ [#334](https://github.com/xdan/jodit/issues/334)
2664
+ [#235](https://github.com/xdan/jodit/issues/235)
2665
+
2666
+ ### Feature
2667
+
2668
+ - In `link` plugin added `formTemplate` and `formClassName` options [#333](https://github.com/xdan/jodit/issues/333)
2669
+
2670
+ ```js
2671
+ const editor = getJodit({
2672
+ link: {
2673
+ formTemplate: function () {
2674
+ return '<form class="form_url"><input ref="url_input" type="url"><button>save</button></form>';
2675
+ },
2676
+ formClassName: 'some_class'
2677
+ }
2678
+ });
2679
+ ```
2680
+
2681
+ - Added deprecated mechanism. Some methods will not be removed and only will be marked as deprecated until major
2682
+ release. [#330](https://github.com/xdan/jodit/issues/330)
2683
+
2684
+ ## 3.3.16
2685
+
2686
+ Added `createAttributes` option [#243](https://github.com/xdan/jodit/issues/243)
2687
+ All elements which will be inserted in editor will be created with these attributes
2688
+
2689
+ ```js
2690
+ const editor2 = Jodit.make('#editor', {
2691
+ createAttributes: {
2692
+ div: {
2693
+ class: 'test'
2694
+ },
2695
+ ul: function (ul) {
2696
+ ul.classList.add('ui-test');
2697
+ }
2698
+ }
2699
+ });
2700
+
2701
+ const div2 = editor2.createInside.div();
2702
+ expect(div2.className).equals('test');
2703
+
2704
+ const ul = editor2.createInside.element('ul');
2705
+ expect(ul.className).equals('ui-test');
2706
+ ```
2707
+
2708
+ ## 3.3.15
2709
+
2710
+ ### Bugfix
2711
+
2712
+ Fixed SPLIT_MODE
2713
+
2714
+ ### Feature
2715
+
2716
+ Added `editHTMLDocumentMode` in order to allow the user to edit the entire
2717
+ document [#241](https://github.com/xdan/jodit/issues/241).
2718
+
2719
+ Also added `iframeTitle` and `iframeDoctype` options
2720
+
2721
+ ```js
2722
+ const editor = Jodit.make('#editor', {
2723
+ iframe: true,
2724
+ iframeTitle: 'Hello world!',
2725
+ iframeDoctype: '<!DOCTYPE html>',
2726
+ editHTMLDocumentMode: true,
2727
+ iframeStyle: ''
2728
+ });
2729
+
2730
+ console.log(editor.value);
2731
+
2732
+ // <html dir="" class="jodit" lang="en" spellcheck="true" style="min-height: 113px;">
2733
+ // <head>
2734
+ // <title>Hello world!</title>
2735
+ // </head>
2736
+ // <body class="jodit-wysiwyg" style="outline:none">test test <a href="#">test</a></body>
2737
+ // </html>
2738
+ ```
2739
+
2740
+ ## 3.3.14
2741
+
2742
+ ### Bugfix
2743
+
2744
+ Fixed https://github.com/xdan/jodit/issues/316
2745
+ Fixed bug when Jodit was initialized inside iframe.
2746
+
2747
+ ```js
2748
+ const iframe = document.createElement('iframe');
2749
+ document.body.appendChild(iframe);
2750
+
2751
+ const win = iframe.contentWindow;
2752
+ const doc = win.document;
2753
+ doc.open();
2754
+ doc.write(
2755
+ '<html><body><textarea id="editor"></textarea><' +
2756
+ 'script src="./build/jodit.js"><' +
2757
+ '/script></body></html>'
2758
+ );
2759
+ doc.close();
2760
+
2761
+ Jodit.make('#editor', {
2762
+ ownerWindow: win,
2763
+ ownerDocument: doc
2764
+ });
2765
+ ```
2766
+
2767
+ Fixed bug with ProgressBar - it simply does not work(
2768
+
2769
+ ### Feature
2770
+
2771
+ Source plugin was separated on several classes. Now you can choose SourceEditor or make
2772
+ yourself (https://github.com/xdan/jodit/issues/242)
2773
+
2774
+ > Before
2775
+
2776
+ ```js
2777
+ Jodit.make('#editor', {
2778
+ useAceEditor: true
2779
+ });
2780
+ ```
2781
+
2782
+ > Now
2783
+
2784
+ ```js
2785
+ Jodit.make('#editor', {
2786
+ sourceEditor: 'area' || 'ace' // || 'mirror' in PRO
2787
+ });
2788
+ ```
2789
+
2790
+ In PRO version you can choose mirrror&
2791
+
2792
+ - Added Async module for control asynchronous operations
2793
+
2794
+ ```javascript
2795
+ const editor = new Jodit('#editor');
2796
+ setTimeout(() => {
2797
+ editor.s.insertHTML('Hello!');
2798
+ }, 1000);
2799
+
2800
+ editor.async.setTimeout(() => {
2801
+ editor.s.insertHTML('World!');
2802
+ }, 1000);
2803
+
2804
+ editor.destruct();
2805
+ ```
2806
+
2807
+ After destruct the first timeout will throw the error, but second will be cleared.
2808
+
2809
+ Added two methods setPanel and addPlace
2810
+
2811
+ ```html
2812
+ <textarea id="editor"></textarea>
2813
+ <textarea id="editor2"></textarea>
2814
+ <textarea id="editor3"></textarea>
2815
+ <div id="toolbar"></div>
2816
+ ```
2817
+
2818
+ ```js
2819
+ const editor = new Jodit('#editor');
2820
+ editor.setPanel('#toolbar');
2821
+ //add id instance to editor
2822
+ editor.addPlace('#editor2');
2823
+ editor.addPlace('#editor3');
2824
+ ```
2825
+
2826
+ ### Events
2827
+
2828
+ Added `afterRemoveNode` event
2829
+
2830
+ ```js
2831
+ const editor = new Jodit('#editor');
2832
+ editor.events.on('afterRemoveNode', node => {
2833
+ if (node.nodeName === 'IMG') {
2834
+ fetch('delete.php', { image: node.src });
2835
+ }
2836
+ });
2837
+ ```
2838
+
2839
+ ## 3.3.8
2840
+
2841
+ ### Plugin system was changed
2842
+
2843
+ > Before
2844
+
2845
+ ```javascript
2846
+ Jodit.plugins.insertText = function (editor) {
2847
+ editor.events.on('someEvent', function (text) {
2848
+ editor.s.insertHTMl('Hello ' + text);
2849
+ });
2850
+ };
2851
+ ```
2852
+
2853
+ > Now
2854
+
2855
+ ```javascript
2856
+ Jodit.plugins.add('insertText', function (editor) {
2857
+ editor.events.on('someEvent', function (text) {
2858
+ editor.s.insertHTMl('Hello ' + text);
2859
+ });
2860
+ });
2861
+ console.log(Jodit.plugins.get('insertText'));
2862
+ Jodit.plugins.remove('insertText');
2863
+ ```
2864
+
2865
+ ### `extraPlugins` options
2866
+
2867
+ Inside plugin, you can use several fields:
2868
+
2869
+ ```js
2870
+ // emoji.js
2871
+
2872
+ class Emoji {
2873
+ hasStyle = true; //
2874
+ requires = ['autocomplete'];
2875
+
2876
+ init(editor) {
2877
+ // this code will be execute only after autocomplete.init
2878
+ }
2879
+ }
2880
+
2881
+ Jodit.plugins.add('emoji', Emoji);
2882
+ ```
2883
+
2884
+ And inside you init code
2885
+
2886
+ ```javascript
2887
+ Jodit.make('#editor', {
2888
+ basePath: 'https://sitename.com/somepath/',
2889
+ extraPlugins: ['emoji']
2890
+ });
2891
+ ```
2892
+
2893
+ It will try to download
2894
+
2895
+ ```
2896
+ https://sitename.com/somepath/plugins/emoji/emoji.js
2897
+ ```
2898
+
2899
+ `hasStyle = true;` means try download and include in page style file:
2900
+
2901
+ ```
2902
+ https://sitename.com/somepath/plugins/emoji/emoji.css
2903
+ ```
2904
+
2905
+ In `plugins/example` folder you can find an example.
2906
+
2907
+ extraPlugins option allows appending in editor extra plugins from npm, bower etc.
2908
+
2909
+ ### Build System
2910
+
2911
+ In Build system was added gulp subsystem to build extra plugins. You can make extra plugins like `plugins/example` and
2912
+ after build, this plugin will not be inside `jodit.min.js` file. It will be in separate folder (
2913
+ eg `build/plugins/emoji/`).
2914
+
2915
+ Also in root you can find `make.js` file for install your plugin in build system.
2916
+
2917
+ ---
2918
+
2919
+ ### 2.5.61
2920
+
2921
+ Added `zIndex` option
2922
+
2923
+ ```javascript
2924
+ var editor = new Jodir('.editor', {
2925
+ zIndex: 10000
2926
+ });
2927
+ ```
2928
+
2929
+ ### 2.5.60
2930
+
2931
+ - Fix table editor in iframe mode
2932
+ - Fix styles
2933
+
2934
+ ### 2.5.57
2935
+
2936
+ - Added `useIframeResizer` option for resize IFRAME tag
2937
+ ![Iframe resizer](http://xdsoft.net/jodit/stuf/iframe-resizer.jpg)
2938
+ - Added `offsetTopForAssix` option. For example, in Joomla, the top menu bar closes Jodit toolbar when scrolling.
2939
+ Therefore, it is necessary to move the toolbar Jodit by this amount
2940
+
2941
+ ```javascript
2942
+ var editor = new Jodit('#editor', {
2943
+ offsetTopForAssix: 74
2944
+ });
2945
+ ```
2946
+
2947
+ Without affix offset
2948
+ ![Without affix](http://xdsoft.net/jodit/stuf/joomla-exampla-affix-bad.jpg)
2949
+ With affix offset
2950
+ ![Withou affix](http://xdsoft.net/jodit/stuf/joomla-exampla-affix-good.jpg)
2951
+
2952
+ ### 2.5.55
2953
+
2954
+ Added `Embed video` button. Added `vimeo` or `youtube` video embeded code.
2955
+
2956
+ ### 2.5.54
2957
+
2958
+ When you insert text into the editor from another site, all the images are from a remote site. Before Jodit, it was
2959
+ quite uncomfortable: first I had to download the image from a remote resource, and then upload it to your site, then
2960
+ replace the image in the editor. In 2.5.54 it can be done in 3 clicks
2961
+
2962
+ ![Upload remote image](http://xdsoft.net/jodit/stuf/upload-remote-image.jpg)
2963
+
2964
+ > `Note`. Need update [PHP Connector](https://github.com/xdan/jodit-connectors)
2965
+
2966
+ ### 2.5.53
2967
+
2968
+ Added [Jodit.focus](http://xdsoft.net/jodit/doc/module-Jodit.html#.focus) method
2969
+
2970
+ ```javascript
2971
+ var editor = new Jodit('.redactor');
2972
+ editor.focus();
2973
+ ```
2974
+
2975
+ ### 2.5.52
2976
+
2977
+ Added `OK` button in Alert dialog
2978
+
2979
+ #### More About dialogs
2980
+
2981
+ #### Alert
2982
+
2983
+ ```javascript
2984
+ Jodit.Alert('File was uploaded');
2985
+ Jodit.Alert('File was uploaded', 'Message');
2986
+ Jodit.Alert('File was uploaded', function () {
2987
+ $('form').hide();
2988
+ });
2989
+ Jodit.Alert("File wasn't uploaded", 'Error', function () {
2990
+ $('form').hide();
2991
+ });
2992
+ ```
2993
+
2994
+ #### Promt
2995
+
2996
+ ![Promt dialog](http://xdsoft.net/jodit/stuf/promt.jpg)
2997
+
2998
+ ```javascript
2999
+ Jodit.Promt('Enter your name', function (name) {
3000
+ if (name.length < 3) {
3001
+ Jodit.Alert('The name must be at least 3 letters');
3002
+ return false;
3003
+ }
3004
+ // do something
3005
+ });
3006
+ Jodit.Promt('Enter your name', 'Promt Dialog', function (name) {
3007
+ if (name.length < 3) {
3008
+ Jodit.Alert('The name must be at least 3 letters');
3009
+ return false;
3010
+ }
3011
+ // do something
3012
+ });
3013
+ ```
3014
+
3015
+ #### Confirm
3016
+
3017
+ ![Confirm dialog](http://xdsoft.net/jodit/stuf/confirm.jpg)
3018
+
3019
+ ```javascript
3020
+ Jodit.Confirm('Are you sure?', function (yes) {
3021
+ if (yes) {
3022
+ // do something
3023
+ }
3024
+ });
3025
+ ```
3026
+
3027
+ ### 2.5.49
3028
+
3029
+ First step for Mobile-friendly [sizeLG,sizeMD,sizeSM](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#sizeLG) and
3030
+ sets of buttons for different sizes editors.
3031
+
3032
+ > `Note`. this is not the width of the device, the width of the editor
3033
+
3034
+ - buttons The list of buttons that appear in the editor's toolbar on large places (≥ options.sizeLG).
3035
+ - buttonsMD The list of buttons that appear in the editor's toolbar on medium places (≥ options.sizeMD).
3036
+ - buttonsSM The list of buttons that appear in the editor's toolbar on small places (≥ options.sizeSM).
3037
+ - buttonsXS The list of buttons that appear in the editor's toolbar on tiny places (< options.sizeSM).
3038
+
3039
+ ```javascript
3040
+ var editor = new Jodit('#some-editor', {
3041
+ sizeLG: 900,
3042
+ sizeMD: 700,
3043
+ sizeSM: 400,
3044
+
3045
+ buttons: [
3046
+ 'source',
3047
+ '|',
3048
+ 'bold',
3049
+ 'italic',
3050
+ '|',
3051
+ 'ul',
3052
+ 'ol',
3053
+ '|',
3054
+ 'font',
3055
+ 'fontsize',
3056
+ 'brush',
3057
+ 'paragraph',
3058
+ '|',
3059
+ 'image',
3060
+ 'table',
3061
+ 'link',
3062
+ '|',
3063
+ 'left',
3064
+ 'center',
3065
+ 'right',
3066
+ 'justify',
3067
+ '|',
3068
+ 'undo',
3069
+ 'redo',
3070
+ '|',
3071
+ 'hr',
3072
+ 'eraser',
3073
+ 'fullsize',
3074
+ 'about'
3075
+ ],
3076
+ buttonsMD: [
3077
+ 'source',
3078
+ '|',
3079
+ 'bold',
3080
+ 'italic',
3081
+ '|',
3082
+ 'ul',
3083
+ 'ol',
3084
+ '|',
3085
+ 'font',
3086
+ 'fontsize',
3087
+ 'brush',
3088
+ 'paragraph',
3089
+ '|',
3090
+ 'image',
3091
+ 'table',
3092
+ 'link',
3093
+ '|',
3094
+ 'left',
3095
+ 'center',
3096
+ 'right',
3097
+ 'justify',
3098
+ '|',
3099
+ 'undo',
3100
+ 'redo',
3101
+ '|',
3102
+ 'hr',
3103
+ 'eraser',
3104
+ 'fullsize'
3105
+ ],
3106
+ buttonsSM: [
3107
+ 'bold',
3108
+ 'italic',
3109
+ '|',
3110
+ 'ul',
3111
+ 'ol',
3112
+ '|',
3113
+ 'fontsize',
3114
+ 'brush',
3115
+ 'paragraph',
3116
+ '|',
3117
+ 'image',
3118
+ 'table',
3119
+ 'link',
3120
+ '|',
3121
+ 'left',
3122
+ 'center',
3123
+ 'right',
3124
+ '|',
3125
+ 'undo',
3126
+ 'redo',
3127
+ '|',
3128
+ 'eraser',
3129
+ 'fullsize'
3130
+ ],
3131
+ buttonsXS: [
3132
+ 'bold',
3133
+ 'image',
3134
+ '|',
3135
+ 'brush',
3136
+ 'paragraph',
3137
+ '|',
3138
+ 'left',
3139
+ 'center',
3140
+ 'right',
3141
+ '|',
3142
+ 'undo',
3143
+ 'redo',
3144
+ '|',
3145
+ 'eraser'
3146
+ ]
3147
+ });
3148
+ ```
3149
+
3150
+ ### 2.5.46
3151
+
3152
+ - More comfortable colorpicker
3153
+
3154
+ ![More comfortable colorpicker](http://xdsoft.net/jodit/stuf/colorpicker.jpg)
3155
+
3156
+ - Added [Helper.normalizeColor](http://xdsoft.net/jodit/doc/module-Helper.html#~normalizeColor)
3157
+ - Fixed [Helper.colorToHex](http://xdsoft.net/jodit/doc/module-Helper.html#~colorToHex) now for transparent color it
3158
+ will return NaN
3159
+
3160
+ ### 2.5.45
3161
+
3162
+ - Fixed bug in Image Resizer when border was less than Image
3163
+ - Rename Selection.setCursorTo to Selection.moveCursorTo
3164
+ - Fixed style for Dialog resizer
3165
+
3166
+ ### 2.5.42
3167
+
3168
+ Fix a few bugs in [JJE](http://xdsoft.net/jodit/#extesions)
3169
+
3170
+ ### 2.5.40
3171
+
3172
+ - In [Helper](http://xdsoft.net/jodit/doc/module-Helper.html) module added [isHTML] method. Used plugin `insertHTML`
3173
+ - Added simple plugin `insertHTML` and him option `askBeforePasteHTML` - Ask before paste HTML in WYSIWYG mode. Try
3174
+ insert in WYSIWYG mode some HTML source
3175
+
3176
+ ```javascript
3177
+ (function ($) {
3178
+ 'use strict';
3179
+ Jodit.defaultOptions = $.extend(true, Jodit.defaultOptions, {
3180
+ /**
3181
+ * @property {boolean} askBeforePasteHTML=true Ask before paste HTML in WYSIWYG mode
3182
+ */
3183
+ askBeforePasteHTML: true
3184
+ });
3185
+
3186
+ /**
3187
+ * Ask before paste HTML source
3188
+ */
3189
+ Jodit.plugins.insertHTML = function (parent) {
3190
+ if (parent.options.askBeforePasteHTML) {
3191
+ parent.events.on('beforePaste', function (event) {
3192
+ if (
3193
+ event &&
3194
+ event.clipboardData &&
3195
+ event.clipboardData.getData &&
3196
+ event.clipboardData.types[0] === 'text/plain'
3197
+ ) {
3198
+ var html = event.clipboardData.getData('text/plain');
3199
+ if (parent.helper.isHTML(html)) {
3200
+ Jodit.Confirm(
3201
+ 'Your code is similar to HTML. Paste as HTML?',
3202
+ 'Paste as HTML',
3203
+ function (agree) {
3204
+ if (agree) {
3205
+ parent.s.insertHTML(html);
3206
+ } else {
3207
+ parent.s.insertHTML(
3208
+ parent.helper.htmlspecialchars(html)
3209
+ );
3210
+ }
3211
+ parent.syncCode(true);
3212
+ }
3213
+ );
3214
+ return false;
3215
+ }
3216
+ }
3217
+ });
3218
+ }
3219
+ };
3220
+ })(Jodit.modules.Dom);
3221
+ ```
3222
+
3223
+ ### 2.5.39
3224
+
3225
+ Fix [#issue 11](https://github.com/xdan/jodit/issues/11) in `file:` mode CDN CodeMirror not working
3226
+
3227
+ ### 2.5.38
3228
+
3229
+ - Added `Filter` in FileBrowser
3230
+ - Added `SortBy` in FileBrowser
3231
+
3232
+ ### 2.5.37
3233
+
3234
+ - Fixed bug in [`Beautifier`](http://xdsoft.net/jodit/doc/module-Beautifier.html) plugin. When in `source` mode, start
3235
+ comment enter `<!--` Browser stops responding.
3236
+ - Added `tiles` and `list` switcher in filebrowser
3237
+
3238
+ ### 2.5.36
3239
+
3240
+ - In PHP FileBrowser connector added MaxFileSize option
3241
+ - Fixed popap error in filebrowser
3242
+
3243
+ ### 2.5.30
3244
+
3245
+ Fix Splitmode autohaight
3246
+ ![Autoheight in Split mode Jodit](http://xdsoft.net/jodit/stuf/split-mode.jpg)
3247
+ Fix syncronize code in TableProcessor module
3248
+
3249
+ ### 2.5.28
3250
+
3251
+ Fix bug in Dialog.Confirm
3252
+
3253
+ ```javascript
3254
+ Jodit.Confirm('Are you sure?', 'Confirm', function (success) {
3255
+ if (success) {
3256
+ alert('Agree');
3257
+ }
3258
+ });
3259
+ ```
3260
+
3261
+ ### 2.5.27
3262
+
3263
+ - Fixed IE11's
3264
+ bug [http://xdsoft.net/jodit/doc/module-Jodit.html#comment-2866837441](http://xdsoft.net/jodit/doc/module-Jodit.html#comment-2866837441)
3265
+ - Added [textIcons](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#texticons) options - Use text instead of
3266
+ icons. In IE9 it is default - true [Example](http://xdsoft.net/jodit/#example-text-icons)
3267
+
3268
+ ```javascript
3269
+ var editor = new Jodit('#example2_0', {
3270
+ textIcons: true,
3271
+ removeButtons: [
3272
+ 'hr',
3273
+ 'ol',
3274
+ 'about',
3275
+ 'italic',
3276
+ 'format',
3277
+ 'fullsize',
3278
+ 'justify'
3279
+ ]
3280
+ });
3281
+ ```
3282
+
3283
+ ![Text icons](http://xdsoft.net/jodit/stuf/texticons.jpg)
3284
+ ![Text icons in filebrowser](http://xdsoft.net/jodit/stuf/texticons-filebrowser.jpg)
3285
+
3286
+ ### 2.5.26
3287
+
3288
+ Dom Module is now compatible with jQuery objects
3289
+
3290
+ ```javascript
3291
+ var a = jQuery('<a href="#link">Link</a>');
3292
+ jodit.modules.Dom('.selector').append(a);
3293
+ jodit.modules.Dom(jQuery('#someid')).val();
3294
+ jodit.modules.Dom('#someid').val();
3295
+ ```
3296
+
3297
+ But you must remember that Jodit.modules.Dom! = JQuery
3298
+
3299
+ ### 2.5.23
3300
+
3301
+ - Added `expand button` In filebrowser
3302
+ - Added [fullsize](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#dialog)
3303
+ and [fullsizeButton](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#dialog) options
3304
+
3305
+ ### 2.5.20
3306
+
3307
+ - Fix [Dom.prev](http://xdsoft.net/jodit/doc/module-Dom.html#prev) method
3308
+ - Added navigation and select in preview
3309
+ ![Navigation and select buttons](http://xdsoft.net/jodit/stuf/preview_navigation.jpg)
3310
+ - Added [showSelectButtonInPreview](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#filebrowser)
3311
+ and [showPreviewNavigation](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#filebrowser)
3312
+
3313
+ ### 2.5.19
3314
+
3315
+ Added [cleanHTML.allowTags](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#cleanhtml) option.
3316
+
3317
+ ```javascript
3318
+ var editor = Jodit('#editor', {
3319
+ allowTags: 'p,a[href],table,tr,td, img[src=1.png]' // allow only <p>,<a>,<table>,<tr>,<td>,<img> tags and for <a> allow only `href` attribute and <img> allow only `src` atrribute == '1.png'
3320
+ });
3321
+ editor.val(
3322
+ 'Sorry! <strong>Goodby</strong> <span>mr.</span> <a style="color:red" href="http://xsoft.net">Freeman</a>'
3323
+ );
3324
+ console.log(editor.val()); //Sorry! <a href="http://xsoft.net">Freeman</a>
3325
+ ```
3326
+
3327
+ Or you can use PlainObject. This code equivalent to the top
3328
+
3329
+ ```javascript
3330
+ var editor = Jodit('#editor', {
3331
+ allowTags: {
3332
+ p: true,
3333
+ a: {
3334
+ href: true
3335
+ },
3336
+ table: true,
3337
+ tr: true,
3338
+ td: true,
3339
+ img: {
3340
+ src: '1.png'
3341
+ }
3342
+ }
3343
+ });
3344
+ ```
3345
+
3346
+ ### 2.5.18
3347
+
3348
+ Fixed bug in Image plugin
3349
+
3350
+ ### 2.5.17
3351
+
3352
+ Fixed bug in JJE
3353
+
3354
+ ### 2.5.16
3355
+
3356
+ - Fixed a few styles
3357
+
3358
+ ### 2.5.15
3359
+
3360
+ - Fixed `package.json`
3361
+
3362
+ ### 2.5.13
3363
+
3364
+ - Added in FileBrowser [sort](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#filebrowser) options
3365
+ - Jodit.Promt and Jodit.Alert by default set focus to OK button
3366
+
3367
+ ```javascript
3368
+ Jodit.Promt('Enter your name', function (name) {
3369
+ if (!name.length) {
3370
+ Jodit.Alert('You need enter 3 chars');
3371
+ return false;
3372
+ }
3373
+ //... some logic
3374
+ });
3375
+ ```
3376
+
3377
+ - Fix `$config` bug in [JJE](http://xdsoft.net/jodit/release/joomla.zip)
3378
+ - Added a few options in JJE plugin
3379
+
3380
+ ### 2.5.12
3381
+
3382
+ Added edit button in Image Properties Dialog
3383
+ ![Edit button](http://xdsoft.net/jodit/stuf/editbutton.jpg)
3384
+
3385
+ ### 2.5.11
3386
+
3387
+ - Added file info in filebrowser
3388
+ ![Filebrowser file info](http://xdsoft.net/jodit/stuf/filebrowsernames.jpg)
3389
+ - Added [showFileName,showFileSize,showFileChangeTime](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#filebrowser)
3390
+
3391
+ ### 2.5.1
3392
+
3393
+ - Dom module was rewritten and was fixed afew bugs
3394
+ - In [OEM and Pro](http://xdsoft.net/jodit/#download)
3395
+ added [Image Editor module](http://xdsoft.net/jodit/doc/module-ImageEditor.html) resize and crop image. You can
3396
+ try [here](http://xdsoft.net/jodit/)
3397
+ ![Crop Image](http://xdsoft.net/jodit/stuf/crop.jpg)
3398
+ ![Resize Image](http://xdsoft.net/jodit/stuf/resize.jpg)
3399
+
3400
+ ### 2.4.22
3401
+
3402
+ - Added contextmenu module.
3403
+ - Added context menu in FileBrowser
3404
+ - Added preview in FilwBrowser
3405
+
3406
+ ### 2.4.21
3407
+
3408
+ - Fixed TableProcessor's bugs. In a situation did not appear resizer cells and the resizer throughout the table.
3409
+
3410
+ ### 2.4.20
3411
+
3412
+ - Fixed z-index Popap
3413
+ - Fixed behavior of selection table cells
3414
+
3415
+ ### 2.4.17
3416
+
3417
+ Fixed copy-paste html behavior
3418
+
3419
+ ### 2.4.16
3420
+
3421
+ Fixed bug on after type `Enter`
3422
+
3423
+ ### 2.4.15
3424
+
3425
+ Fixed bug with insert `OL` tag and Fixed Dom module work with Text node
3426
+
3427
+ ### 2.4.12
3428
+
3429
+ Added [toolbarButtonSize](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#toolbarbuttonsize) Size of icons in the
3430
+ toolbar (can be "small", "middle", "large")
3431
+
3432
+ ```javascript
3433
+ var editor = new Jodit('#editor', {
3434
+ toolbarButtonSize: 'small'
3435
+ });
3436
+ ```
3437
+
3438
+ ### 2.4.10
3439
+
3440
+ - Added [node.create](http://xdsoft.net/jodit/doc/module-Node.html#create) method
3441
+
3442
+ ```javascript
3443
+ var editor = new Jodit('.jodit'),
3444
+ node = editor.node.create('text', 'Hellow world');
3445
+ editor.s.insertNode(node);
3446
+ ```
3447
+
3448
+ - Added [link](http://xdsoft.net/jodit/doc/module-link.html) plugin. And its options
3449
+ - [processPastedLink](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#link) Wrap inserted link
3450
+ in `<a href="link">link</a>`
3451
+ - [openLinkDialogAfterPost](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#link) Open Link dialog after post
3452
+ - [removeLinkAfterFormat](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#link) When the button is pressed to
3453
+ clean format, if it was done on the link is removed like command `unlink`
3454
+ - Replace format icon
3455
+
3456
+ ### 2.4.8
3457
+
3458
+ Fixed Base icons [issue](https://gist.github.com/leonderijke/c5cf7c5b2e424c0061d2)
3459
+
3460
+ ### 2.4.6
3461
+
3462
+ Fast Fixed in JJE Fixed a lot of bugs in Jodit
3463
+
3464
+ ### 2.4.1
3465
+
3466
+ - Fixed a lot of bugs in Dom module
3467
+ - Fixed a lot of bugs in TableProcessor module
3468
+ - Replace PNG icon on SVG sprite
3469
+ - Added new module Icons
3470
+ - Added theme `Dark`
3471
+ - Fixed bug Popap's module
3472
+ - Divide one less file by modules
3473
+
3474
+ ### 2.3.59
3475
+
3476
+ - Added [Cookie](http://xdsoft.net/jodit/doc/module-Cookie.html) module
3477
+ - Added [saveModeInCookie](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#savemodeincookie) if it is true that
3478
+ the current mode is saved in a cookie , and is restored after a reload of the page
3479
+ - In Joomla Jodit Editor(JJE) added corresponding option
3480
+ saveModeInCookie [Download Jodit Joomla editor](http://xdsoft.net/jodit/release/joomla.zip)
3481
+
3482
+ ### 2.3.57
3483
+
3484
+ - Fixed issue with `input[type=checkbox]` and [Dom.attr](http://xdsoft.net/jodit/doc/module-Dom.html#attr) method
3485
+ - Release Joomla Jodit Editor (JJE) [Download JJE](http://xdsoft.net/jodit/release/joomla.zip)
3486
+
3487
+ ### 2.3.53
3488
+
3489
+ - Added option [cleanHTML.cleanOnPaste](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#cleanhtml) The
3490
+ plugin [cleanHTML](http://xdsoft.net/jodit/doc/module-cleanHTML.html) automatically cleans up content from Microsoft
3491
+ Word and other HTML sources to ensure clean, compliant content that matches the look and feel of the site.
3492
+ - Added [beforePaste](http://xdsoft.net/jodit/doc/module-Jodit.html#~event:beforePaste),[processPaste](http://xdsoft.net/jodit/doc/module-Jodit.html#~event:processPaste),[afterPaste](http://xdsoft.net/jodit/doc/module-Jodit.html#~event:afterPaste)
3493
+ events
3494
+
3495
+ ### 2.3.49
3496
+
3497
+ Added [iframeBaseUrl](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#iframebaseurl) option - Base URL where the
3498
+ root directory for [iframe](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#iframe) mode
3499
+
3500
+ ### 2.3.48
3501
+
3502
+ Added [spellcheck](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#spellcheck) option specifies whether the editor
3503
+ is to have its spelling and grammar checked or not
3504
+
3505
+ ### 2.3.47
3506
+
3507
+ Added [removeEmptyBlocks](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#removeemptyblocks) option - Remove empty
3508
+ blocks
3509
+
3510
+ ```javascript
3511
+ var editor = new Jodit('#editor', {
3512
+ removeEmptyBlocks: false
3513
+ });
3514
+ editor.val(' '); // add space in editor
3515
+ console.log(editor.val()); //<p>&nbsp;</p>
3516
+
3517
+ editor.options.removeEmptyBlocks = true;
3518
+ editor.val(' ');
3519
+ console.log(editor.val()); //''
3520
+ ```
3521
+
3522
+ ### 2.3.46
3523
+
3524
+ - Fixed critical bug in Safari (window.performance)
3525
+ - Fixed bug when editor can get selection from another place
3526
+
3527
+ ### 2.3.44
3528
+
3529
+ Added [direction](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#direction) option. The writing direction of the
3530
+ language which is used to create editor content. Allowed values are:
3531
+
3532
+ - '' (an empty string) – Indicates that content direction will be the same as either the editor UI direction or the page
3533
+ element direction.
3534
+ - 'ltr' – Indicates a Left-To-Right text direction (like in English).
3535
+ - 'rtl' – Indicates a Right-To-Left text direction (like in Arabic).
3536
+
3537
+ ### 2.3.43
3538
+
3539
+ Fixed styles bugs
3540
+
3541
+ ### 2.3.41
3542
+
3543
+ When [filebrowser.showFoldersPanel](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#filebrowser) === false show 4
3544
+ colums in filelist
3545
+
3546
+ ### 2.3.40
3547
+
3548
+ - Added [filebrowser.moveFolder](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#filebrowser) option. Allow/deny
3549
+ move folder
3550
+ - Added [filebrowser.moveFile](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#filebrowser) option. Allow/deny
3551
+ move file
3552
+ - Added [filebrowser.showFoldersPanel](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#filebrowser) option.
3553
+ Hide/show folders panel in filebrowser
3554
+
3555
+ ### 2.3.39
3556
+
3557
+ Fixed [Filebrowser](http://xdsoft.net/jodit/doc/module-Filebrowser.html) uploader's options bug. Previously , you had to
3558
+ either use a general [Uploader](http://xdsoft.net/jodit/doc/module-Uploader.html) module settings , or override them
3559
+ completely
3560
+
3561
+ ```javascript
3562
+ var editor = new Jodit('.redactor', {
3563
+ filebrowser: {
3564
+ uploader: null
3565
+ },
3566
+ uploader: {
3567
+ url: 'uploader.php',
3568
+ format: 'json'
3569
+ }
3570
+ });
3571
+
3572
+ // or
3573
+ var editor = new Jodit('.redactor', {
3574
+ filebrowser: {
3575
+ uploader: {
3576
+ url: 'uploader.php',
3577
+ format: 'json',
3578
+ filesVariableName: 'fils'
3579
+ //... all options from [uploader](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#uploader)
3580
+ }
3581
+ }
3582
+ });
3583
+ ```
3584
+
3585
+ Now you can just override some of your settings
3586
+
3587
+ ```javascript
3588
+ var editor = new Jodit('.redactor', {
3589
+ filebrowser: {
3590
+ uploader: {
3591
+ url: 'uploader2.php'
3592
+ }
3593
+ },
3594
+ uploader: {
3595
+ url: 'uploader.php'
3596
+ }
3597
+ });
3598
+ ```
3599
+
3600
+ ### 2.3.38
3601
+
3602
+ - Fixed i18n bug
3603
+ - [useSplitMode](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#usesplitmode) set default false
3604
+ - Fixed toolbar width after fullsize mode
3605
+ - Fixed [#issue5](https://github.com/xdan/jodit/issues/5)
3606
+
3607
+ ### 2.3.37
3608
+
3609
+ Fast fix
3610
+
3611
+ ### 2.3.36
3612
+
3613
+ - Added plugin `Fullsize`. Now you can change fullsize mode
3614
+
3615
+ ```javascript
3616
+ var editor = new Jodit();
3617
+ editor.events.fire('toggleFullsize');
3618
+ editor.events.fire('toggleFullsize', [true]); // fullsize
3619
+ editor.events.fire('toggleFullsize', [false]); // usual mode
3620
+ ```
3621
+
3622
+ - Added [globalFullsize](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#globalFullsize) (default `true`) if true,
3623
+ after `fullsize` - all parents element get `jodit_fullsize_box` class (z-index: 100000 !important;)
3624
+ - Fixed focus bug
3625
+
3626
+ ### 2.3.35
3627
+
3628
+ - Fixed placeholder style
3629
+ - Fixed [Dom.css](http://xdsoft.net/jodit/doc/module-Dom.html#~css) then
3630
+
3631
+ ```html
3632
+ <div class="idclass" style="margin-top:20px;"></div>
3633
+ ```
3634
+
3635
+ ```javascript
3636
+ Jodit.modules.Dom('.idclass').css('margin-top'); //has returned string `20px`
3637
+ Jodit.modules.Dom('.idclass').css('margin-top'); //now it returns int `20`
3638
+ ```
3639
+
3640
+ ### 2.3.33
3641
+
3642
+ - Fixed placeholder style. Placeholder placed in a separate
3643
+ module [Placeholder](http://xdsoft.net/jodit/doc/module-Placeholder.html)
3644
+ - Added [showPlaceholder](http://xdsoft.net/jodit/doc/module-Placeholder.html#showplaceholder) option
3645
+ - Added [useInputsPlaceholder](http://xdsoft.net/jodit/doc/module-Placeholder.html#useinputsplaceholder) option
3646
+ - Added [placeholder](http://xdsoft.net/jodit/doc/module-Placeholder.html#placeholder) option
3647
+
3648
+ ### 2.3.32
3649
+
3650
+ Added [uploader.data](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#uploader) option. Data to be sent to the
3651
+ server like POST parameters
3652
+
3653
+ ### 2.3.31
3654
+
3655
+ Added [editorCssClass](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#editorcssclass) option - Class name that
3656
+ can be appended to the editor Fixed internacionalization
3657
+
3658
+ ### 2.3.30
3659
+
3660
+ Added [triggerChangeEvent](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#triggerchangeevent) option Fixed
3661
+ uploader's options - When the uploader is not configured, the editor still displays images upload button
3662
+
3663
+ ### 2.3.29
3664
+
3665
+ Add [Dom.defaultAjaxOptions.async](http://xdsoft.net/jodit/doc/module-Dom.html#.__.defaultAjaxOptions) By default, all
3666
+ requests are sent asynchronously (i.e. this is set to true by default). If you need synchronous requests, set this
3667
+ option to false
3668
+
3669
+ ### 2.3.28
3670
+
3671
+ Added `headers` option in [[FileBrowser]] and [[Uploader]]. But primarily in [[Dom]]
3672
+
3673
+ ```javascript
3674
+ var token = document
3675
+ .querySelector('meta[name="csrf-token"]')
3676
+ .getAttribute('content'),
3677
+ editor = new Jodit('#redactor', {
3678
+ uploader: {
3679
+ url: '../connector/index.php?action=upload',
3680
+ headers: {
3681
+ 'X-CSRF-Token': token
3682
+ }
3683
+ },
3684
+ filebrowser: {
3685
+ ajax: {
3686
+ url: '../connector/index.php',
3687
+ headers: {
3688
+ 'X-CSRF-Token': token
3689
+ }
3690
+ }
3691
+ }
3692
+ });
3693
+ // or replace global options
3694
+ Jodit.modules.Dom.defaultAjaxOptions.headers = {
3695
+ headers: {
3696
+ 'X-CSRF-Token': token
3697
+ }
3698
+ };
3699
+ ```
3700
+
3701
+ ```javascript
3702
+ Jodit.modules.Dom.ajax({
3703
+ url: 'data.json',
3704
+ headers: {
3705
+ 'Accept-Language': 'en-US,en;q=0.8,ru;q=0.6,de;q=0.4,ja;q=0.2'
3706
+ },
3707
+ success: function (resp) {
3708
+ console.log(resp);
3709
+ }
3710
+ });
3711
+ ```
3712
+
3713
+ ### 2.3.27
3714
+
3715
+ Fixed [#issues1](https://github.com/xdan/jodit/issues/1)
3716
+
3717
+ ### 2.3.24
3718
+
3719
+ Fixed dialog's module when was opened Promt window, after Enter submit the form and the page reloaded. Fixed connector's
3720
+ bugs Update [Jodit.i18n](http://xdsoft.net/jodit/doc/module-Jodit.html#.i18n) method. Now it can be used staticly
3721
+
3722
+ ```javascript
3723
+ var editor = new Jodit('#redactor', {
3724
+ langusage: 'ru'
3725
+ });
3726
+ console.log(editor.i18n('Cancel')); //Отмена;
3727
+
3728
+ Jodit.defaultOptions.language = 'ru';
3729
+ console.log(Jodit.prototype.i18n('Cancel')); //Отмена
3730
+
3731
+ Jodit.lang.cs = {
3732
+ Cancel: 'Zrušit'
3733
+ };
3734
+ Jodit.defaultOptions.language = 'cs';
3735
+ console.log(Jodit.prototype.i18n('Cancel')); //Zrušit
3736
+
3737
+ Jodit.lang.cs = {
3738
+ 'Hello world': 'Hello 1$ Good 2$'
3739
+ };
3740
+ Jodit.defaultOptions.language = 'cs';
3741
+ console.log(Jodit.prototype.i18n('Hello world', 'mr.Perkins', 'day')); //Hello mr.Perkins Good day
3742
+ ```
3743
+
3744
+ Fixed [Jodit.destroy](http://xdsoft.net/jodit/doc/module-Jodit.html#.destroy) method
3745
+
3746
+ ```javascript
3747
+ var editor = new Jodit('.jodit');
3748
+ editor.destroy();
3749
+ ```
3750
+
3751
+ ### 2.3.22
3752
+
3753
+ Fixed bug when Dialog module was used without Jodit context
3754
+
3755
+ ```javascript
3756
+ Jodit.Alert('Hello world!!!');
3757
+ ```
3758
+
3759
+ ### 2.3.20
3760
+
3761
+ Fixed dialog's module zIndex manage. Fixed [Dom.css](http://xdsoft.net/jodit/doc/module-Dom.html#~css) method bug. That
3762
+ example has not worked.
3763
+
3764
+ ```javascript
3765
+ Jodit.modules.Dom('.someelement').css('z-index', 1000);
3766
+ ```
3767
+
3768
+ ### 2.3.19
3769
+
3770
+ Fixed bug in Uploader module when `http://sitename.net/jodit///files/fg.jpg` was
3771
+ replaced `http:/sitename.net/jodit/files/fg.jpg`
3772
+
3773
+ ### 2.3.18
3774
+
3775
+ Added `afterInsertImage` event - triggered after image was
3776
+ inserted [selection.insertImage](http://xdsoft.net/jodit/doc/module-Selection.html#-insertImage__anchor). This method
3777
+ can execute from [Filebrowser](http://xdsoft.net/jodit/doc/module-Filebrowser.html)
3778
+ or [Uploader](http://xdsoft.net/jodit/doc/module-Uploader.html)
3779
+
3780
+ ```javascript
3781
+ var editor = new Jodit('#redactor');
3782
+ editor.events.on('afterInsertImage', function (image) {
3783
+ image.className = 'bloghead4';
3784
+ });
3785
+ ```
3786
+
3787
+ ### 2.3.15
3788
+
3789
+ Fixed bug with inserting table
3790
+
3791
+ ### 2.3.14
3792
+
3793
+ Work with table became faster
3794
+
3795
+ ### 2.3.12
3796
+
3797
+ - Fixed filbrowser bug. When a new file is uploaded file list has not been updated
3798
+ - Added [dialog.zIndex](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#.dialog) option
3799
+
3800
+ ### 2.3.11
3801
+
3802
+ Fixed toolbar width fot fullsize mode
3803
+
3804
+ ### 2.3.10
3805
+
3806
+ - Fixed CodeMirror bug on download XML parser
3807
+ - Fixed CodeMirror bug endless cycle
3808
+ - Fixed overflow behavior in fullsize mode
3809
+
3810
+ ### 2.3.8
3811
+
3812
+ Fixed connector problem and Fixed item's style in filebrowser
3813
+
3814
+ ### 2.3.3
3815
+
3816
+ Switched on FontAwesome icons
3817
+
3818
+ ### 2.3.0
3819
+
3820
+ Added copy-paste image file for FireFox
3821
+
3822
+ ### 2.2.6
3823
+
3824
+ Fixed copy-paste for FireFox
3825
+
3826
+ ### 2.2.5
3827
+
3828
+ Added copy-paste support by clipboard image. [Try](http://xdsoft.net/jodit) paste print screen.
3829
+
3830
+ ### 2.2.4
3831
+
3832
+ Added the ability in the file browser to obtain data about the file not as a string and as an object with parameters
3833
+ {file: 'name.jpg', thumb: '\_thumbs/name.jpg'}
3834
+
3835
+ ### 2.2.3
3836
+
3837
+ Fixed conflict between textProcessor and Beatyfier plugins
3838
+
3839
+ ### 2.2.2
3840
+
3841
+ Fixed BACKSPACE entering behavior. And Fixed ie10 support
3842
+
3843
+ ### 2.2.0
3844
+
3845
+ Added [iframe](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#.iframe)
3846
+ , [iframeStyle](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#.iframeStyle)
3847
+ , [iframeIncludeJoditStyle](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#.iframeIncludeJoditStyle)
3848
+ , [iframeCSSLinks](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#.iframeCSSLinks)
3849
+ , [width](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#.width)
3850
+ , [height](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#.height)
3851
+ , [minHeight](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#.minHeight).
3852
+ `iframe` by default false. When this option is enabled, the editor's content will be placed in an iframe and isolated
3853
+ from the rest of the page.
3854
+ `width` and `height` you can set size fot editor
3855
+
3856
+ ### 2.1.0
3857
+
3858
+ Added internationalization. Read more http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#.language
3859
+
3860
+ ### 2.0.9
3861
+
3862
+ Added Split mode. Added [useSplitMode](http://xdsoft.net/jodit/doc/Jodit.defaultOptions.html#.useSplitMode) options (
3863
+ default true) Example [here](http://xdsoft.net/jodit/#splitmode)
3864
+
3865
+ ### 2.0.8
3866
+
3867
+ Fixed dialog bug
3868
+
3869
+ ### 2.0.4
3870
+
3871
+ Added CodeMirror plugin. Enable by default [[Config.codeMirror]]
3872
+
3873
+ ### 2.0.0
3874
+
3875
+ We got rid of jQuery
3876
+
3877
+ ### 1.2.1
3878
+
3879
+ Fixed bug in filebrowser
3880
+
3881
+ ### 1.2.0
3882
+
3883
+ Fixed bug when [selection.insertHTML](http://xdsoft.net/jodit/doc/module-Selection.html#-inner-insertHTML__anchor)
3884
+ doesn't work without focus
3885
+
3886
+ ### 1.1.0
3887
+
3888
+ Fixed bug with uploader and filebrowser
3889
+
3890
+ ### 1.0.6
3891
+
3892
+ If source `textarea` has `placeholder` attribute then Jodit use it how placeholder
3893
+
3894
+ ### 1.0.4
3895
+
3896
+ Added About button
3897
+
3898
+ ### 1.0.1
3899
+
3900
+ First release