jodit 3.10.2 → 3.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (843) hide show
  1. package/.github/workflows/docs.yml +16 -0
  2. package/.github/workflows/tests.yml +1 -2
  3. package/.idea/dictionaries/v_chupurnov.xml +1 -0
  4. package/.idea/workspace.xml +303 -269
  5. package/CHANGELOG.MD +63 -7
  6. package/LICENSE.txt +1 -1
  7. package/README.md +6 -4
  8. package/build/jodit.css +85 -85
  9. package/build/jodit.es2018.css +74 -74
  10. package/build/jodit.es2018.en.css +74 -74
  11. package/build/jodit.es2018.en.js +2933 -2707
  12. package/build/jodit.es2018.en.min.css +1 -1
  13. package/build/jodit.es2018.en.min.js +1 -1
  14. package/build/jodit.es2018.js +2807 -2581
  15. package/build/jodit.es2018.min.css +1 -1
  16. package/build/jodit.es2018.min.js +1 -1
  17. package/build/jodit.js +3864 -3537
  18. package/build/jodit.min.css +2 -2
  19. package/build/jodit.min.js +1 -1
  20. package/index.d.ts +1 -1
  21. package/package.json +14 -2
  22. package/src/README.md +55 -0
  23. package/src/config.ts +5 -1
  24. package/src/core/async/README.md +147 -0
  25. package/src/core/{async.ts → async/async.ts} +16 -7
  26. package/src/core/async/index.ts +11 -0
  27. package/src/core/component/README.md +110 -0
  28. package/src/core/component/component.ts +7 -1
  29. package/src/core/component/index.ts +5 -1
  30. package/src/core/component/statuses.ts +5 -1
  31. package/src/core/component/view-component.ts +5 -1
  32. package/src/core/constants.ts +5 -1
  33. package/src/core/create/README.md +57 -0
  34. package/src/core/{create.ts → create/create.ts} +11 -5
  35. package/src/core/create/index.ts +11 -0
  36. package/src/core/decorators/README.md +4 -0
  37. package/src/core/decorators/cache/README.md +17 -0
  38. package/src/core/decorators/{cache.ts → cache/cache.ts} +9 -3
  39. package/src/core/decorators/component/README.md +65 -0
  40. package/src/core/decorators/{component.ts → component/component.ts} +8 -2
  41. package/src/core/decorators/debounce/README.md +44 -0
  42. package/src/core/decorators/{debounce.ts → debounce/debounce.ts} +11 -8
  43. package/src/core/decorators/hook/README.md +16 -0
  44. package/src/core/decorators/{hook.ts → hook/hook.ts} +11 -4
  45. package/src/core/decorators/idle/README.md +1 -0
  46. package/src/core/decorators/{idle.ts → idle/idle.ts} +11 -7
  47. package/src/core/decorators/index.ts +16 -10
  48. package/src/core/decorators/nonenumerable/README.md +15 -0
  49. package/src/core/decorators/{nonenumerable.ts → nonenumerable/nonenumerable.ts} +5 -2
  50. package/src/core/decorators/persistent/README.md +23 -0
  51. package/src/core/decorators/{persistent.ts → persistent/persistent.ts} +9 -6
  52. package/src/core/decorators/wait/README.md +20 -0
  53. package/src/core/decorators/{wait.ts → wait/wait.ts} +9 -6
  54. package/src/core/decorators/watch/README.md +125 -0
  55. package/src/core/decorators/{watch.ts → watch/watch.ts} +16 -14
  56. package/src/core/dom/README.md +13 -0
  57. package/src/core/{dom.ts → dom/dom.ts} +31 -10
  58. package/src/core/dom/index.ts +11 -0
  59. package/src/core/event-emitter/README.md +39 -0
  60. package/src/core/{events → event-emitter}/event-emitter.ts +9 -9
  61. package/src/core/{events → event-emitter}/index.ts +5 -1
  62. package/src/core/{events → event-emitter}/observe-object.ts +17 -8
  63. package/src/core/{events → event-emitter}/store.ts +5 -1
  64. package/src/core/global.ts +12 -12
  65. package/src/core/helpers/README.md +1 -0
  66. package/src/core/helpers/array/as-array.ts +5 -1
  67. package/src/core/helpers/array/index.ts +5 -1
  68. package/src/core/helpers/array/split-array.ts +5 -1
  69. package/src/core/helpers/array/to-array.ts +5 -1
  70. package/src/core/helpers/async/index.ts +5 -1
  71. package/src/core/helpers/async/set-timeout.ts +5 -1
  72. package/src/core/helpers/checker/has-browser-color-picker.ts +5 -1
  73. package/src/core/helpers/checker/index.ts +5 -1
  74. package/src/core/helpers/checker/is-array.ts +5 -1
  75. package/src/core/helpers/checker/is-boolean.ts +5 -1
  76. package/src/core/helpers/checker/is-equal.ts +5 -1
  77. package/src/core/helpers/checker/is-function.ts +5 -1
  78. package/src/core/helpers/checker/is-html-from-word.ts +5 -1
  79. package/src/core/helpers/checker/is-html.ts +5 -1
  80. package/src/core/helpers/checker/is-imp-interface.ts +5 -1
  81. package/src/core/helpers/checker/is-int.ts +5 -1
  82. package/src/core/helpers/checker/is-jodit-object.ts +5 -1
  83. package/src/core/helpers/checker/is-license.ts +5 -1
  84. package/src/core/helpers/checker/is-native-function.ts +5 -1
  85. package/src/core/helpers/checker/is-number.ts +5 -1
  86. package/src/core/helpers/checker/is-numeric.ts +5 -1
  87. package/src/core/helpers/checker/is-plain-object.ts +5 -1
  88. package/src/core/helpers/checker/is-promise.ts +5 -1
  89. package/src/core/helpers/checker/is-string.ts +5 -1
  90. package/src/core/helpers/checker/is-url.ts +5 -1
  91. package/src/core/helpers/checker/is-valid-name.ts +5 -1
  92. package/src/core/helpers/checker/is-void.ts +5 -1
  93. package/src/core/helpers/checker/is-window.ts +5 -1
  94. package/src/core/helpers/color/color-to-hex.ts +5 -1
  95. package/src/core/helpers/color/index.ts +5 -1
  96. package/src/core/helpers/html/apply-styles.ts +6 -2
  97. package/src/core/helpers/html/clean-from-word.ts +5 -1
  98. package/src/core/helpers/html/htmlspecialchars.ts +5 -1
  99. package/src/core/helpers/html/index.ts +5 -1
  100. package/src/core/helpers/html/nl2br.ts +6 -2
  101. package/src/core/helpers/html/strip-tags.ts +6 -2
  102. package/src/core/helpers/index.ts +7 -22
  103. package/src/core/helpers/normalize/index.ts +5 -1
  104. package/src/core/helpers/normalize/normalize-color.ts +5 -1
  105. package/src/core/helpers/normalize/normalize-css-value.ts +5 -1
  106. package/src/core/helpers/normalize/normalize-key-aliases.ts +5 -1
  107. package/src/core/helpers/normalize/normalize-license.ts +5 -1
  108. package/src/core/helpers/normalize/normalize-node.ts +5 -1
  109. package/src/core/helpers/normalize/normalize-path.ts +5 -1
  110. package/src/core/helpers/normalize/normalize-relative-path.ts +5 -1
  111. package/src/core/helpers/normalize/normalize-size.ts +5 -1
  112. package/src/core/helpers/normalize/normalize-url.ts +5 -1
  113. package/src/core/helpers/size/get-content-width.ts +3 -2
  114. package/src/core/helpers/size/get-scroll-parent.ts +11 -5
  115. package/src/core/helpers/size/index.ts +5 -1
  116. package/src/core/helpers/size/inner-width.ts +5 -1
  117. package/src/core/helpers/size/object-size.ts +5 -1
  118. package/src/core/helpers/size/offset.ts +5 -1
  119. package/src/core/helpers/size/position.ts +5 -1
  120. package/src/core/helpers/string/camel-case.ts +5 -1
  121. package/src/core/helpers/string/i18n.ts +6 -2
  122. package/src/core/helpers/string/index.ts +5 -1
  123. package/src/core/helpers/string/kebab-case.ts +5 -1
  124. package/src/core/helpers/string/stringify.ts +5 -1
  125. package/src/core/helpers/string/trim.ts +5 -1
  126. package/src/core/helpers/string/ucfirst.ts +5 -1
  127. package/src/core/helpers/{append-script.ts → utils/append-script.ts} +7 -3
  128. package/src/core/helpers/{browser.ts → utils/browser.ts} +5 -1
  129. package/src/core/helpers/{build-query.ts → utils/build-query.ts} +7 -3
  130. package/src/core/helpers/{complete-url.ts → utils/complete-url.ts} +5 -1
  131. package/src/core/helpers/{config-proto.ts → utils/config-proto.ts} +8 -4
  132. package/src/core/helpers/{convert-media-url-to-video-embed.ts → utils/convert-media-url-to-video-embed.ts} +6 -2
  133. package/src/core/helpers/{css.ts → utils/css.ts} +9 -5
  134. package/src/core/helpers/{ctrl-key.ts → utils/ctrl-key.ts} +5 -1
  135. package/src/core/helpers/{data-bind.ts → utils/data-bind.ts} +8 -4
  136. package/src/core/helpers/{default-language.ts → utils/default-language.ts} +6 -2
  137. package/src/core/helpers/{type.ts → utils/error.ts} +5 -1
  138. package/src/core/helpers/{extend.ts → utils/extend.ts} +6 -2
  139. package/src/core/helpers/utils/get-class-name.ts +5 -1
  140. package/src/core/helpers/utils/get.ts +5 -1
  141. package/src/core/helpers/{human-size-to-bytes.ts → utils/human-size-to-bytes.ts} +5 -1
  142. package/src/core/helpers/utils/index.ts +22 -1
  143. package/src/core/helpers/utils/mark-deprecated.ts +5 -1
  144. package/src/core/helpers/{parse-query.ts → utils/parse-query.ts} +6 -2
  145. package/src/core/helpers/{scroll-into-view.ts → utils/scroll-into-view.ts} +5 -1
  146. package/src/core/helpers/{selector.ts → utils/selector.ts} +13 -9
  147. package/src/core/helpers/utils/set.ts +5 -1
  148. package/src/core/helpers/utils/stack.ts +6 -1
  149. package/src/core/helpers/utils/utils.ts +7 -3
  150. package/src/core/helpers/{val.ts → utils/val.ts} +5 -1
  151. package/src/core/plugin/README.md +133 -0
  152. package/src/core/plugin/index.ts +12 -0
  153. package/src/core/{plugin-system.ts → plugin/plugin-system.ts} +7 -3
  154. package/src/core/{plugin.ts → plugin/plugin.ts} +11 -5
  155. package/src/core/request/README.md +11 -0
  156. package/src/core/request/ajax.ts +23 -14
  157. package/src/core/request/config.ts +5 -1
  158. package/src/core/request/index.ts +5 -1
  159. package/src/core/request/response.ts +13 -5
  160. package/src/core/selection/README.md +20 -0
  161. package/src/core/selection/index.ts +5 -1
  162. package/src/core/selection/select.ts +8 -2
  163. package/src/core/selection/style/api/element-has-same-style.ts +2 -1
  164. package/src/core/selection/style/api/extract.ts +2 -1
  165. package/src/core/selection/style/api/finite-state-machine.ts +1 -1
  166. package/src/core/selection/style/api/get-suit-child.ts +2 -1
  167. package/src/core/selection/style/api/get-suit-parent.ts +2 -1
  168. package/src/core/selection/style/api/index.ts +1 -1
  169. package/src/core/selection/style/api/is-inside-invisible-element.ts +2 -1
  170. package/src/core/selection/style/api/is-normal-node.ts +2 -1
  171. package/src/core/selection/style/api/is-suit-element.ts +2 -1
  172. package/src/core/selection/style/api/toggle/toggle-css.ts +3 -2
  173. package/src/core/selection/style/api/toggle/toggle-ordered-list.ts +2 -1
  174. package/src/core/selection/style/api/toggle-commit-styles.ts +2 -1
  175. package/src/core/selection/style/api/unwrap-children.ts +2 -1
  176. package/src/core/selection/style/api/wrap-and-commit-style.ts +2 -1
  177. package/src/core/selection/style/api/wrap-ordered-list.ts +2 -1
  178. package/src/core/selection/style/api/wrap-unwrapped-text.ts +2 -1
  179. package/src/core/selection/style/apply-style.ts +5 -1
  180. package/src/core/selection/style/commit-style.ts +5 -1
  181. package/src/core/storage/README.md +13 -0
  182. package/src/core/storage/engines/local-storage-provider.ts +5 -1
  183. package/src/core/storage/engines/memory-storage-provider.ts +5 -1
  184. package/src/core/storage/index.ts +5 -1
  185. package/src/core/storage/storage.ts +7 -1
  186. package/src/core/traits/elms.ts +5 -1
  187. package/src/core/traits/index.ts +5 -1
  188. package/src/core/traits/mods.ts +5 -1
  189. package/src/core/ui/README.md +51 -0
  190. package/src/core/ui/button/README.md +3 -0
  191. package/src/core/ui/button/button/button.less +1 -1
  192. package/src/core/ui/button/button/button.ts +6 -2
  193. package/src/core/ui/button/group/group.ts +6 -2
  194. package/src/core/ui/button/index.ts +7 -1
  195. package/src/core/ui/element.ts +5 -1
  196. package/src/core/ui/form/README.md +22 -0
  197. package/src/core/ui/form/block/block.ts +6 -2
  198. package/src/core/ui/form/form.ts +8 -2
  199. package/src/core/ui/form/index.ts +5 -1
  200. package/src/core/ui/form/inputs/area/area.ts +5 -1
  201. package/src/core/ui/form/inputs/checkbox/checkbox.ts +5 -1
  202. package/src/core/ui/form/inputs/file/file.ts +5 -1
  203. package/src/core/ui/form/inputs/index.ts +5 -1
  204. package/src/core/ui/form/inputs/input/input.ts +5 -1
  205. package/src/core/ui/form/inputs/select/select.ts +5 -1
  206. package/src/core/ui/form/validators/index.ts +5 -1
  207. package/src/core/ui/form/validators/input.ts +5 -1
  208. package/src/core/ui/form/validators/select.ts +5 -1
  209. package/src/core/ui/group/README.md +1 -0
  210. package/src/core/ui/{list → group}/group.less +1 -1
  211. package/src/core/ui/{list → group}/group.ts +7 -1
  212. package/src/core/ui/{list → group}/index.ts +5 -1
  213. package/src/core/ui/{list → group}/list.less +1 -1
  214. package/src/core/ui/{list → group}/list.ts +5 -1
  215. package/src/core/ui/{list → group}/separator.ts +5 -1
  216. package/src/core/ui/{list → group}/spacer.ts +5 -1
  217. package/src/core/ui/helpers/buttons.ts +5 -1
  218. package/src/core/ui/helpers/get-control-type.ts +5 -1
  219. package/src/core/ui/helpers/get-strong-control-types.ts +5 -1
  220. package/src/core/ui/icon.ts +6 -2
  221. package/src/core/ui/index.ts +8 -2
  222. package/src/core/ui/popup/README.md +15 -0
  223. package/src/core/ui/popup/index.ts +5 -1
  224. package/src/core/ui/popup/popup.less +1 -1
  225. package/src/core/ui/popup/popup.ts +13 -3
  226. package/src/core/ui/progress-bar/README.md +1 -0
  227. package/src/core/ui/progress-bar/progress-bar.less +1 -1
  228. package/src/core/ui/progress-bar/progress-bar.ts +7 -1
  229. package/src/core/view/README.md +24 -0
  230. package/src/core/view/view-with-toolbar.less +1 -1
  231. package/src/core/view/view-with-toolbar.ts +5 -1
  232. package/src/core/view/view.ts +11 -4
  233. package/src/header.js +1 -1
  234. package/src/index.ts +7 -1
  235. package/src/jodit.ts +7 -1
  236. package/src/langs/README.md +1 -0
  237. package/src/langs/ar.js +1 -1
  238. package/src/langs/cs_cz.js +1 -1
  239. package/src/langs/de.js +1 -1
  240. package/src/langs/en.js +1 -1
  241. package/src/langs/es.js +1 -1
  242. package/src/langs/fa.js +1 -1
  243. package/src/langs/fr.js +1 -1
  244. package/src/langs/he.js +1 -1
  245. package/src/langs/hu.js +1 -1
  246. package/src/langs/id.js +1 -1
  247. package/src/langs/index.ts +8 -1
  248. package/src/langs/it.js +1 -1
  249. package/src/langs/ja.js +1 -1
  250. package/src/langs/ko.js +1 -1
  251. package/src/langs/nl.js +1 -1
  252. package/src/langs/pl.js +1 -1
  253. package/src/langs/pt_br.js +1 -1
  254. package/src/langs/ru.js +1 -1
  255. package/src/langs/tr.js +1 -1
  256. package/src/langs/zh_cn.js +1 -1
  257. package/src/langs/zh_tw.js +1 -1
  258. package/src/modules/README.md +1 -0
  259. package/src/modules/context-menu/README.md +1 -0
  260. package/src/modules/context-menu/context-menu.less +1 -1
  261. package/src/modules/context-menu/context-menu.ts +7 -1
  262. package/src/modules/dialog/README.md +45 -0
  263. package/src/modules/dialog/alert.ts +5 -1
  264. package/src/modules/dialog/confirm.ts +5 -1
  265. package/src/modules/dialog/dialog.less +1 -1
  266. package/src/modules/dialog/dialog.ts +5 -1
  267. package/src/modules/dialog/index.ts +7 -1
  268. package/src/modules/dialog/prompt.ts +5 -1
  269. package/src/modules/file-browser/{README.MD → README.md} +173 -63
  270. package/src/modules/file-browser/builders/context-menu.ts +7 -3
  271. package/src/modules/file-browser/builders/item.ts +5 -1
  272. package/src/modules/file-browser/config.ts +5 -1
  273. package/src/modules/file-browser/data-provider.ts +5 -1
  274. package/src/modules/file-browser/factories.ts +5 -1
  275. package/src/modules/file-browser/file-browser.ts +36 -17
  276. package/src/modules/file-browser/index.ts +13 -0
  277. package/src/modules/file-browser/listeners/native-listeners.ts +8 -4
  278. package/src/modules/file-browser/listeners/self-listeners.ts +7 -4
  279. package/src/modules/file-browser/listeners/state-listeners.ts +7 -4
  280. package/src/modules/file-browser/styles/file-browser.less +1 -1
  281. package/src/modules/file-browser/styles/index.less +1 -1
  282. package/src/modules/file-browser/styles/preview.less +1 -1
  283. package/src/modules/file-browser/ui/files/files.ts +1 -1
  284. package/src/modules/file-browser/ui/index.ts +5 -1
  285. package/src/modules/file-browser/ui/tree/tree.ts +1 -1
  286. package/src/modules/image-editor/README.md +1 -0
  287. package/src/modules/image-editor/image-editor.less +1 -1
  288. package/src/modules/image-editor/image-editor.ts +12 -11
  289. package/src/modules/image-editor/templates/form.ts +5 -1
  290. package/src/modules/index.ts +12 -6
  291. package/src/modules/observer/README.md +0 -0
  292. package/src/modules/observer/command.ts +5 -1
  293. package/src/modules/observer/observer.ts +7 -1
  294. package/src/modules/observer/snapshot.ts +5 -1
  295. package/src/modules/observer/stack.ts +5 -1
  296. package/src/modules/status-bar/README.md +1 -0
  297. package/src/modules/status-bar/status-bar.less +1 -1
  298. package/src/modules/status-bar/status-bar.ts +7 -1
  299. package/src/modules/table/README.md +3 -0
  300. package/src/modules/{table.ts → table/table.ts} +20 -13
  301. package/src/modules/toolbar/README.md +1 -0
  302. package/src/modules/toolbar/button/README.md +1 -0
  303. package/src/modules/toolbar/button/button.less +1 -1
  304. package/src/modules/toolbar/button/button.ts +7 -1
  305. package/src/modules/toolbar/button/content.less +1 -1
  306. package/src/modules/toolbar/button/content.ts +5 -1
  307. package/src/modules/toolbar/button/index.ts +5 -1
  308. package/src/modules/toolbar/collection/README.md +1 -0
  309. package/src/modules/toolbar/collection/collection.less +2 -2
  310. package/src/modules/toolbar/collection/collection.ts +7 -1
  311. package/src/modules/toolbar/collection/editor-collection.ts +5 -1
  312. package/src/modules/toolbar/factory.ts +7 -1
  313. package/src/modules/uploader/README.md +1 -0
  314. package/src/modules/uploader/uploader.less +1 -1
  315. package/src/modules/uploader/uploader.ts +7 -1
  316. package/src/modules/widget/README.md +1 -0
  317. package/src/modules/widget/color-picker/README.md +1 -0
  318. package/src/modules/widget/color-picker/color-picker.less +1 -1
  319. package/src/modules/widget/color-picker/color-picker.ts +7 -1
  320. package/src/modules/widget/file-selector/README.md +1 -0
  321. package/src/modules/widget/file-selector/file-selector.ts +7 -1
  322. package/src/modules/widget/index.ts +7 -1
  323. package/src/modules/widget/tabs/README.md +1 -0
  324. package/src/modules/widget/tabs/tabs.less +1 -1
  325. package/src/modules/widget/tabs/tabs.ts +7 -1
  326. package/src/modules/widget/widget.less +1 -1
  327. package/src/plugins/README.md +3 -0
  328. package/src/plugins/about/about.less +1 -1
  329. package/src/plugins/about/about.ts +5 -1
  330. package/src/plugins/add-new-line/README.md +6 -0
  331. package/src/plugins/add-new-line/add-new-line.less +1 -1
  332. package/src/plugins/add-new-line/add-new-line.ts +13 -1
  333. package/src/plugins/{bold.ts → bold/bold.ts} +9 -5
  334. package/src/plugins/class-span/class-span.ts +5 -1
  335. package/src/plugins/clipboard/clipboard.ts +5 -1
  336. package/src/plugins/clipboard/config.ts +5 -1
  337. package/src/plugins/clipboard/copy-format.ts +5 -1
  338. package/src/plugins/clipboard/drag-and-drop-element.ts +5 -1
  339. package/src/plugins/clipboard/drag-and-drop.ts +7 -8
  340. package/src/plugins/clipboard/index.ts +5 -1
  341. package/src/plugins/clipboard/paste/helpers.ts +5 -1
  342. package/src/plugins/clipboard/paste/paste.ts +5 -1
  343. package/src/plugins/clipboard/paste-storage/paste-storage.less +1 -1
  344. package/src/plugins/clipboard/paste-storage/paste-storage.ts +5 -1
  345. package/src/plugins/{color.ts → color/color.ts} +10 -6
  346. package/src/plugins/error-messages/error-messages.ts +5 -1
  347. package/src/plugins/error-messages/errors-messages.less +1 -1
  348. package/src/plugins/fix/clean-html.ts +5 -1
  349. package/src/plugins/fix/wrap-text-nodes.ts +5 -1
  350. package/src/plugins/focus/README.md +3 -0
  351. package/src/plugins/{focus.ts → focus/focus.ts} +11 -8
  352. package/src/plugins/{font.ts → font/font.ts} +10 -6
  353. package/src/plugins/{format-block.ts → format-block/format-block.ts} +14 -5
  354. package/src/plugins/fullsize/fullsize.less +1 -1
  355. package/src/plugins/fullsize/fullsize.ts +5 -1
  356. package/src/plugins/{iframe.ts → iframe/iframe.ts} +11 -7
  357. package/src/plugins/image/helpers.ts +5 -1
  358. package/src/plugins/image/image-processor.ts +5 -1
  359. package/src/plugins/image/image-properties/image-properties.less +1 -1
  360. package/src/plugins/image/image-properties/image-properties.ts +5 -1
  361. package/src/plugins/image/image-properties/templates/form.ts +5 -1
  362. package/src/plugins/image/image-properties/templates/index.ts +7 -3
  363. package/src/plugins/image/image-properties/templates/{mainTab.ts → main-tab.ts} +5 -1
  364. package/src/plugins/image/image-properties/templates/{positionTab.ts → position-tab.ts} +5 -1
  365. package/src/plugins/image/image.ts +5 -1
  366. package/src/plugins/image/index.ts +5 -1
  367. package/src/plugins/{indent.ts → indent/indent.ts} +11 -7
  368. package/src/plugins/index.ts +23 -17
  369. package/src/plugins/inline-popup/config/config.ts +5 -1
  370. package/src/plugins/inline-popup/config/items/a.ts +5 -1
  371. package/src/plugins/inline-popup/config/items/cells.ts +5 -1
  372. package/src/plugins/inline-popup/config/items/iframe.ts +5 -1
  373. package/src/plugins/inline-popup/config/items/img.ts +5 -1
  374. package/src/plugins/inline-popup/config/items/toolbar.ts +5 -1
  375. package/src/plugins/inline-popup/inline-popup.less +1 -1
  376. package/src/plugins/inline-popup/inline-popup.ts +5 -1
  377. package/src/plugins/insert/hr.ts +5 -1
  378. package/src/plugins/insert/index.ts +5 -1
  379. package/src/plugins/{justify.ts → justify/justify.ts} +9 -5
  380. package/src/plugins/keyboard/backspace/backspace.ts +187 -0
  381. package/src/plugins/keyboard/backspace/cases/check-join-neighbors.ts +117 -0
  382. package/src/plugins/keyboard/backspace/cases/check-join-two-lists.ts +56 -0
  383. package/src/plugins/keyboard/backspace/cases/check-not-collapsed.ts +28 -0
  384. package/src/plugins/keyboard/backspace/cases/check-remove-char.ts +192 -0
  385. package/src/plugins/keyboard/backspace/cases/check-remove-content-not-editable.ts +47 -0
  386. package/src/plugins/keyboard/backspace/cases/check-remove-empty-neighbor.ts +44 -0
  387. package/src/plugins/keyboard/backspace/cases/check-remove-empty-parent.ts +82 -0
  388. package/src/plugins/keyboard/backspace/cases/check-remove-unbreakable-element.ts +48 -0
  389. package/src/plugins/keyboard/backspace/cases/check-table-cell.ts +32 -0
  390. package/src/plugins/keyboard/backspace/cases/check-unwrap-first-list-item.ts +59 -0
  391. package/src/plugins/keyboard/backspace/cases/index.ts +27 -0
  392. package/src/plugins/keyboard/backspace/config.ts +37 -0
  393. package/src/plugins/keyboard/backspace/interface.d.ts +11 -0
  394. package/src/plugins/keyboard/enter.ts +5 -1
  395. package/src/plugins/keyboard/helpers.ts +13 -4
  396. package/src/plugins/keyboard/hotkeys.ts +5 -1
  397. package/src/plugins/keyboard/key-arrow-outside.ts +6 -1
  398. package/src/plugins/{limit.ts → limit/limit.ts} +12 -8
  399. package/src/plugins/link/link.ts +5 -1
  400. package/src/plugins/link/template.ts +5 -1
  401. package/src/plugins/media/file.ts +5 -1
  402. package/src/plugins/media/index.ts +5 -1
  403. package/src/plugins/media/media.ts +5 -1
  404. package/src/plugins/media/video/config.ts +5 -1
  405. package/src/plugins/media/video/index.ts +5 -1
  406. package/src/plugins/{mobile.ts → mobile/mobile.ts} +14 -10
  407. package/src/plugins/{ordered-list.ts → ordered-list/ordered-list.ts} +11 -7
  408. package/src/plugins/placeholder/placeholder.less +1 -1
  409. package/src/plugins/placeholder/placeholder.ts +5 -1
  410. package/src/plugins/{powered-by-jodit.ts → powered-by-jodit/powered-by-jodit.ts} +10 -3
  411. package/src/plugins/print/index.ts +5 -1
  412. package/src/plugins/print/preview.ts +5 -1
  413. package/src/plugins/print/print.ts +5 -1
  414. package/src/plugins/{redo-undo.ts → redo-undo/redo-undo.ts} +9 -5
  415. package/src/plugins/resizer/resizer.less +1 -1
  416. package/src/plugins/resizer/resizer.ts +12 -3
  417. package/src/plugins/search/search.less +1 -1
  418. package/src/plugins/search/search.ts +5 -1
  419. package/src/plugins/{select.ts → select/select.ts} +11 -8
  420. package/src/plugins/size/config.ts +6 -1
  421. package/src/plugins/size/index.ts +5 -1
  422. package/src/plugins/size/resize-handler.ts +5 -1
  423. package/src/plugins/size/size.less +1 -1
  424. package/src/plugins/size/size.ts +5 -1
  425. package/src/plugins/source/README.md +60 -0
  426. package/src/plugins/source/config.ts +18 -3
  427. package/src/plugins/source/const.ts +5 -1
  428. package/src/plugins/source/editor/engines/ace.ts +5 -1
  429. package/src/plugins/source/editor/engines/area.ts +5 -1
  430. package/src/plugins/source/editor/engines/custom.ts +5 -1
  431. package/src/plugins/source/editor/engines/index.ts +5 -1
  432. package/src/plugins/source/editor/factory.ts +25 -16
  433. package/src/plugins/source/editor/sourceEditor.ts +5 -1
  434. package/src/plugins/source/index.ts +7 -1
  435. package/src/plugins/source/source.less +1 -1
  436. package/src/plugins/source/source.ts +5 -1
  437. package/src/plugins/{stat.ts → stat/stat.ts} +11 -7
  438. package/src/plugins/sticky/sticky.less +1 -1
  439. package/src/plugins/sticky/sticky.ts +5 -1
  440. package/src/plugins/symbols/config.ts +5 -1
  441. package/src/plugins/symbols/symbols.less +1 -1
  442. package/src/plugins/symbols/symbols.ts +5 -1
  443. package/src/plugins/table/config.ts +5 -1
  444. package/src/plugins/table/index.ts +5 -1
  445. package/src/plugins/table/resize-cells.ts +5 -1
  446. package/src/plugins/table/select-cells.ts +6 -2
  447. package/src/plugins/table/table-keyboard-navigation.ts +5 -1
  448. package/src/plugins/table/table.less +1 -1
  449. package/src/plugins/table/table.ts +5 -1
  450. package/src/plugins/tooltip/tooltip.less +1 -1
  451. package/src/plugins/tooltip/tooltip.ts +5 -1
  452. package/src/plugins/xpath/xpath.less +1 -1
  453. package/src/plugins/xpath/xpath.ts +5 -1
  454. package/src/polyfills.ts +1 -1
  455. package/src/styles/form.less +1 -1
  456. package/src/styles/icons/README.md +1 -0
  457. package/src/styles/icons/index.ts +7 -1
  458. package/src/styles/index.less +1 -1
  459. package/src/styles/jodit.less +1 -1
  460. package/src/styles/mixins.less +1 -1
  461. package/src/styles/modules/button-group.less +1 -1
  462. package/src/styles/modules/grid.less +1 -1
  463. package/src/styles/modules/icon.less +1 -1
  464. package/src/styles/modules/texticons.less +1 -1
  465. package/src/styles/reset.less +1 -1
  466. package/src/styles/themes/dark.less +1 -1
  467. package/src/styles/variables.less +1 -1
  468. package/src/types/ajax.d.ts +8 -1
  469. package/src/types/async.d.ts +7 -1
  470. package/src/types/context.d.ts +5 -1
  471. package/src/types/core.ts +5 -1
  472. package/src/types/create.d.ts +5 -1
  473. package/src/types/dialog.d.ts +5 -1
  474. package/src/types/events.d.ts +9 -5
  475. package/src/types/file-browser.d.ts +21 -5
  476. package/src/types/form.d.ts +5 -1
  477. package/src/types/index.d.ts +6 -2
  478. package/src/types/jodit.d.ts +5 -1
  479. package/src/types/{observe.d.ts → observer.d.ts} +7 -5
  480. package/src/types/plugin.d.ts +5 -1
  481. package/src/types/popup.d.ts +5 -1
  482. package/src/types/select.d.ts +5 -1
  483. package/src/types/source.d.ts +5 -1
  484. package/src/types/storage.ts +5 -1
  485. package/src/types/style.d.ts +5 -1
  486. package/src/types/toolbar.d.ts +5 -1
  487. package/src/types/traits.d.ts +5 -1
  488. package/src/types/types.d.ts +5 -1
  489. package/src/types/ui.d.ts +5 -1
  490. package/src/types/uploader.d.ts +4 -2
  491. package/src/types/view.d.ts +5 -1
  492. package/src/typings.d.ts +5 -1
  493. package/tsdoc.json +20 -0
  494. package/types/config.d.ts +4 -1
  495. package/types/core/{async.d.ts → async/async.d.ts} +11 -6
  496. package/types/core/async/index.d.ts +9 -0
  497. package/types/core/component/component.d.ts +6 -1
  498. package/types/core/component/index.d.ts +4 -1
  499. package/types/core/component/statuses.d.ts +4 -1
  500. package/types/core/component/view-component.d.ts +4 -1
  501. package/types/core/constants.d.ts +4 -1
  502. package/types/core/{create.d.ts → create/create.d.ts} +7 -2
  503. package/types/core/create/index.d.ts +9 -0
  504. package/types/core/decorators/{cache.d.ts → cache/cache.d.ts} +1 -1
  505. package/types/core/decorators/{component.d.ts → component/component.d.ts} +1 -1
  506. package/types/core/decorators/{debounce.d.ts → debounce/debounce.d.ts} +5 -3
  507. package/types/core/decorators/{hook.d.ts → hook/hook.d.ts} +8 -3
  508. package/types/core/decorators/{idle.d.ts → idle/idle.d.ts} +5 -3
  509. package/types/core/decorators/index.d.ts +15 -10
  510. package/types/core/decorators/{nonenumerable.d.ts → nonenumerable/nonenumerable.d.ts} +4 -2
  511. package/types/core/decorators/{persistent.d.ts → persistent/persistent.d.ts} +5 -3
  512. package/types/core/decorators/{wait.d.ts → wait/wait.d.ts} +5 -3
  513. package/types/core/decorators/{watch.d.ts → watch/watch.d.ts} +7 -2
  514. package/types/core/{dom.d.ts → dom/dom.d.ts} +12 -3
  515. package/types/core/dom/index.d.ts +9 -0
  516. package/types/core/{events → event-emitter}/event-emitter.d.ts +7 -7
  517. package/types/core/{events → event-emitter}/index.d.ts +4 -1
  518. package/types/core/{events → event-emitter}/observe-object.d.ts +7 -4
  519. package/types/core/{events → event-emitter}/store.d.ts +4 -1
  520. package/types/core/global.d.ts +7 -4
  521. package/types/core/helpers/array/as-array.d.ts +1 -1
  522. package/types/core/helpers/array/index.d.ts +4 -1
  523. package/types/core/helpers/array/split-array.d.ts +1 -1
  524. package/types/core/helpers/array/to-array.d.ts +1 -1
  525. package/types/core/helpers/async/index.d.ts +4 -1
  526. package/types/core/helpers/async/set-timeout.d.ts +4 -1
  527. package/types/core/helpers/checker/has-browser-color-picker.d.ts +4 -1
  528. package/types/core/helpers/checker/index.d.ts +4 -1
  529. package/types/core/helpers/checker/is-array.d.ts +4 -1
  530. package/types/core/helpers/checker/is-boolean.d.ts +4 -1
  531. package/types/core/helpers/checker/is-equal.d.ts +1 -1
  532. package/types/core/helpers/checker/is-function.d.ts +4 -1
  533. package/types/core/helpers/checker/is-html-from-word.d.ts +4 -1
  534. package/types/core/helpers/checker/is-html.d.ts +1 -1
  535. package/types/core/helpers/checker/is-imp-interface.d.ts +4 -1
  536. package/types/core/helpers/checker/is-int.d.ts +1 -1
  537. package/types/core/helpers/checker/is-jodit-object.d.ts +4 -1
  538. package/types/core/helpers/checker/is-license.d.ts +1 -1
  539. package/types/core/helpers/checker/is-native-function.d.ts +4 -1
  540. package/types/core/helpers/checker/is-number.d.ts +4 -1
  541. package/types/core/helpers/checker/is-numeric.d.ts +1 -1
  542. package/types/core/helpers/checker/is-plain-object.d.ts +4 -1
  543. package/types/core/helpers/checker/is-promise.d.ts +4 -1
  544. package/types/core/helpers/checker/is-string.d.ts +4 -1
  545. package/types/core/helpers/checker/is-url.d.ts +4 -1
  546. package/types/core/helpers/checker/is-valid-name.d.ts +4 -1
  547. package/types/core/helpers/checker/is-void.d.ts +4 -1
  548. package/types/core/helpers/checker/is-window.d.ts +4 -1
  549. package/types/core/helpers/color/color-to-hex.d.ts +4 -1
  550. package/types/core/helpers/color/index.d.ts +4 -1
  551. package/types/core/helpers/html/apply-styles.d.ts +1 -1
  552. package/types/core/helpers/html/clean-from-word.d.ts +1 -1
  553. package/types/core/helpers/html/htmlspecialchars.d.ts +4 -1
  554. package/types/core/helpers/html/index.d.ts +4 -1
  555. package/types/core/helpers/html/nl2br.d.ts +4 -1
  556. package/types/core/helpers/html/strip-tags.d.ts +1 -1
  557. package/types/core/helpers/index.d.ts +6 -19
  558. package/types/core/helpers/normalize/index.d.ts +4 -1
  559. package/types/core/helpers/normalize/normalize-color.d.ts +1 -1
  560. package/types/core/helpers/normalize/normalize-css-value.d.ts +1 -1
  561. package/types/core/helpers/normalize/normalize-key-aliases.d.ts +1 -1
  562. package/types/core/helpers/normalize/normalize-license.d.ts +4 -1
  563. package/types/core/helpers/normalize/normalize-node.d.ts +1 -1
  564. package/types/core/helpers/normalize/normalize-path.d.ts +1 -1
  565. package/types/core/helpers/normalize/normalize-relative-path.d.ts +4 -1
  566. package/types/core/helpers/normalize/normalize-size.d.ts +4 -1
  567. package/types/core/helpers/normalize/normalize-url.d.ts +4 -1
  568. package/types/core/helpers/size/get-content-width.d.ts +2 -2
  569. package/types/core/helpers/size/get-scroll-parent.d.ts +4 -1
  570. package/types/core/helpers/size/index.d.ts +4 -1
  571. package/types/core/helpers/size/inner-width.d.ts +4 -1
  572. package/types/core/helpers/size/object-size.d.ts +1 -1
  573. package/types/core/helpers/size/offset.d.ts +4 -1
  574. package/types/core/helpers/size/position.d.ts +4 -1
  575. package/types/core/helpers/string/camel-case.d.ts +4 -1
  576. package/types/core/helpers/string/i18n.d.ts +4 -1
  577. package/types/core/helpers/string/index.d.ts +4 -1
  578. package/types/core/helpers/string/kebab-case.d.ts +4 -1
  579. package/types/core/helpers/string/stringify.d.ts +1 -1
  580. package/types/core/helpers/string/trim.d.ts +1 -1
  581. package/types/core/helpers/string/ucfirst.d.ts +4 -1
  582. package/types/core/helpers/{append-script.d.ts → utils/append-script.d.ts} +5 -2
  583. package/types/core/helpers/{browser.d.ts → utils/browser.d.ts} +4 -1
  584. package/types/core/helpers/{build-query.d.ts → utils/build-query.d.ts} +5 -2
  585. package/types/core/helpers/{complete-url.d.ts → utils/complete-url.d.ts} +4 -1
  586. package/types/core/helpers/{config-proto.d.ts → utils/config-proto.d.ts} +5 -2
  587. package/types/core/helpers/{convert-media-url-to-video-embed.d.ts → utils/convert-media-url-to-video-embed.d.ts} +1 -1
  588. package/types/core/helpers/{css.d.ts → utils/css.d.ts} +5 -2
  589. package/types/core/helpers/{ctrl-key.d.ts → utils/ctrl-key.d.ts} +4 -1
  590. package/types/core/helpers/{data-bind.d.ts → utils/data-bind.d.ts} +5 -2
  591. package/types/core/helpers/{default-language.d.ts → utils/default-language.d.ts} +1 -1
  592. package/types/core/helpers/{type.d.ts → utils/error.d.ts} +4 -1
  593. package/types/core/helpers/{extend.d.ts → utils/extend.d.ts} +1 -1
  594. package/types/core/helpers/utils/get-class-name.d.ts +4 -1
  595. package/types/core/helpers/utils/get.d.ts +4 -1
  596. package/types/core/helpers/{human-size-to-bytes.d.ts → utils/human-size-to-bytes.d.ts} +4 -1
  597. package/types/core/helpers/utils/index.d.ts +21 -1
  598. package/types/core/helpers/utils/mark-deprecated.d.ts +4 -1
  599. package/types/core/helpers/{parse-query.d.ts → utils/parse-query.d.ts} +5 -2
  600. package/types/core/helpers/{scroll-into-view.d.ts → utils/scroll-into-view.d.ts} +4 -1
  601. package/types/core/helpers/{selector.d.ts → utils/selector.d.ts} +5 -2
  602. package/types/core/helpers/utils/set.d.ts +4 -1
  603. package/types/core/helpers/utils/stack.d.ts +4 -1
  604. package/types/core/helpers/utils/utils.d.ts +4 -1
  605. package/types/core/helpers/{val.d.ts → utils/val.d.ts} +4 -1
  606. package/types/core/plugin/index.d.ts +10 -0
  607. package/types/core/{plugin-system.d.ts → plugin/plugin-system.d.ts} +5 -2
  608. package/types/core/{plugin.d.ts → plugin/plugin.d.ts} +8 -3
  609. package/types/core/request/ajax.d.ts +7 -2
  610. package/types/core/request/config.d.ts +4 -1
  611. package/types/core/request/index.d.ts +4 -1
  612. package/types/core/request/response.d.ts +6 -2
  613. package/types/core/selection/index.d.ts +4 -1
  614. package/types/core/selection/select.d.ts +6 -1
  615. package/types/core/selection/style/api/element-has-same-style.d.ts +2 -1
  616. package/types/core/selection/style/api/extract.d.ts +2 -1
  617. package/types/core/selection/style/api/finite-state-machine.d.ts +1 -1
  618. package/types/core/selection/style/api/get-suit-child.d.ts +2 -1
  619. package/types/core/selection/style/api/get-suit-parent.d.ts +2 -1
  620. package/types/core/selection/style/api/index.d.ts +1 -1
  621. package/types/core/selection/style/api/is-inside-invisible-element.d.ts +2 -1
  622. package/types/core/selection/style/api/is-normal-node.d.ts +2 -1
  623. package/types/core/selection/style/api/is-suit-element.d.ts +2 -1
  624. package/types/core/selection/style/api/toggle/toggle-css.d.ts +2 -1
  625. package/types/core/selection/style/api/toggle/toggle-ordered-list.d.ts +2 -1
  626. package/types/core/selection/style/api/toggle-commit-styles.d.ts +2 -1
  627. package/types/core/selection/style/api/unwrap-children.d.ts +2 -1
  628. package/types/core/selection/style/api/wrap-and-commit-style.d.ts +2 -1
  629. package/types/core/selection/style/api/wrap-ordered-list.d.ts +2 -1
  630. package/types/core/selection/style/api/wrap-unwrapped-text.d.ts +2 -1
  631. package/types/core/selection/style/apply-style.d.ts +4 -1
  632. package/types/core/selection/style/commit-style.d.ts +4 -1
  633. package/types/core/storage/engines/local-storage-provider.d.ts +4 -1
  634. package/types/core/storage/engines/memory-storage-provider.d.ts +4 -1
  635. package/types/core/storage/index.d.ts +4 -1
  636. package/types/core/storage/storage.d.ts +6 -1
  637. package/types/core/traits/elms.d.ts +4 -1
  638. package/types/core/traits/index.d.ts +4 -1
  639. package/types/core/traits/mods.d.ts +4 -1
  640. package/types/core/ui/button/button/button.d.ts +4 -1
  641. package/types/core/ui/button/group/group.d.ts +5 -2
  642. package/types/core/ui/button/index.d.ts +6 -1
  643. package/types/core/ui/element.d.ts +4 -1
  644. package/types/core/ui/form/block/block.d.ts +5 -2
  645. package/types/core/ui/form/form.d.ts +7 -2
  646. package/types/core/ui/form/index.d.ts +4 -1
  647. package/types/core/ui/form/inputs/area/area.d.ts +4 -1
  648. package/types/core/ui/form/inputs/checkbox/checkbox.d.ts +4 -1
  649. package/types/core/ui/form/inputs/file/file.d.ts +4 -1
  650. package/types/core/ui/form/inputs/index.d.ts +4 -1
  651. package/types/core/ui/form/inputs/input/input.d.ts +4 -1
  652. package/types/core/ui/form/inputs/select/select.d.ts +4 -1
  653. package/types/core/ui/form/validators/index.d.ts +4 -1
  654. package/types/core/ui/form/validators/input.d.ts +4 -1
  655. package/types/core/ui/form/validators/select.d.ts +4 -1
  656. package/types/core/ui/{list → group}/group.d.ts +6 -1
  657. package/types/core/ui/{list → group}/index.d.ts +4 -1
  658. package/types/core/ui/{list → group}/list.d.ts +4 -1
  659. package/types/core/ui/{list → group}/separator.d.ts +4 -1
  660. package/types/core/ui/{list → group}/spacer.d.ts +4 -1
  661. package/types/core/ui/helpers/buttons.d.ts +4 -1
  662. package/types/core/ui/helpers/get-control-type.d.ts +4 -1
  663. package/types/core/ui/helpers/get-strong-control-types.d.ts +4 -1
  664. package/types/core/ui/icon.d.ts +4 -1
  665. package/types/core/ui/index.d.ts +7 -2
  666. package/types/core/ui/popup/index.d.ts +4 -1
  667. package/types/core/ui/popup/popup.d.ts +6 -1
  668. package/types/core/ui/progress-bar/progress-bar.d.ts +6 -1
  669. package/types/core/view/view-with-toolbar.d.ts +4 -1
  670. package/types/core/view/view.d.ts +9 -4
  671. package/types/index.d.ts +6 -1
  672. package/types/jodit.d.ts +6 -1
  673. package/types/langs/index.d.ts +6 -1
  674. package/types/modules/context-menu/context-menu.d.ts +6 -1
  675. package/types/modules/dialog/alert.d.ts +4 -1
  676. package/types/modules/dialog/confirm.d.ts +4 -1
  677. package/types/modules/dialog/dialog.d.ts +4 -1
  678. package/types/modules/dialog/index.d.ts +6 -1
  679. package/types/modules/dialog/prompt.d.ts +4 -1
  680. package/types/modules/file-browser/builders/context-menu.d.ts +6 -3
  681. package/types/modules/file-browser/builders/item.d.ts +4 -1
  682. package/types/modules/file-browser/config.d.ts +1 -1
  683. package/types/modules/file-browser/data-provider.d.ts +4 -1
  684. package/types/modules/file-browser/factories.d.ts +4 -1
  685. package/types/modules/file-browser/file-browser.d.ts +10 -4
  686. package/types/modules/file-browser/index.d.ts +11 -0
  687. package/types/modules/file-browser/listeners/native-listeners.d.ts +6 -4
  688. package/types/modules/file-browser/listeners/self-listeners.d.ts +6 -3
  689. package/types/modules/file-browser/listeners/state-listeners.d.ts +6 -3
  690. package/types/modules/file-browser/ui/files/files.d.ts +1 -1
  691. package/types/modules/file-browser/ui/index.d.ts +4 -1
  692. package/types/modules/file-browser/ui/tree/tree.d.ts +1 -1
  693. package/types/modules/image-editor/image-editor.d.ts +12 -10
  694. package/types/modules/image-editor/templates/form.d.ts +4 -1
  695. package/types/modules/index.d.ts +11 -6
  696. package/types/modules/observer/command.d.ts +4 -1
  697. package/types/modules/observer/observer.d.ts +6 -1
  698. package/types/modules/observer/snapshot.d.ts +4 -1
  699. package/types/modules/observer/stack.d.ts +4 -1
  700. package/types/modules/status-bar/status-bar.d.ts +6 -1
  701. package/types/modules/{table.d.ts → table/table.d.ts} +7 -7
  702. package/types/modules/toolbar/button/button.d.ts +6 -1
  703. package/types/modules/toolbar/button/content.d.ts +4 -1
  704. package/types/modules/toolbar/button/index.d.ts +4 -1
  705. package/types/modules/toolbar/collection/collection.d.ts +6 -1
  706. package/types/modules/toolbar/collection/editor-collection.d.ts +4 -1
  707. package/types/modules/toolbar/factory.d.ts +6 -1
  708. package/types/modules/uploader/uploader.d.ts +6 -1
  709. package/types/modules/widget/color-picker/color-picker.d.ts +6 -1
  710. package/types/modules/widget/file-selector/file-selector.d.ts +6 -1
  711. package/types/modules/widget/index.d.ts +6 -1
  712. package/types/modules/widget/tabs/tabs.d.ts +6 -1
  713. package/types/plugins/about/about.d.ts +4 -1
  714. package/types/plugins/add-new-line/add-new-line.d.ts +12 -1
  715. package/types/plugins/{bold.d.ts → bold/bold.d.ts} +6 -3
  716. package/types/plugins/class-span/class-span.d.ts +4 -1
  717. package/types/plugins/clipboard/clipboard.d.ts +4 -1
  718. package/types/plugins/clipboard/config.d.ts +1 -1
  719. package/types/plugins/clipboard/copy-format.d.ts +4 -1
  720. package/types/plugins/clipboard/drag-and-drop-element.d.ts +1 -1
  721. package/types/plugins/clipboard/drag-and-drop.d.ts +1 -1
  722. package/types/plugins/clipboard/index.d.ts +4 -1
  723. package/types/plugins/clipboard/paste/helpers.d.ts +4 -1
  724. package/types/plugins/clipboard/paste/paste.d.ts +4 -1
  725. package/types/plugins/clipboard/paste-storage/paste-storage.d.ts +4 -1
  726. package/types/plugins/{color.d.ts → color/color.d.ts} +5 -2
  727. package/types/plugins/error-messages/error-messages.d.ts +4 -1
  728. package/types/plugins/fix/clean-html.d.ts +4 -1
  729. package/types/plugins/fix/wrap-text-nodes.d.ts +4 -1
  730. package/types/plugins/{focus.d.ts → focus/focus.d.ts} +8 -6
  731. package/types/plugins/{font.d.ts → font/font.d.ts} +6 -3
  732. package/types/plugins/{format-block.d.ts → format-block/format-block.d.ts} +5 -2
  733. package/types/plugins/fullsize/fullsize.d.ts +4 -1
  734. package/types/plugins/{iframe.d.ts → iframe/iframe.d.ts} +6 -3
  735. package/types/plugins/image/helpers.d.ts +1 -1
  736. package/types/plugins/image/image-processor.d.ts +4 -1
  737. package/types/plugins/image/image-properties/image-properties.d.ts +4 -1
  738. package/types/plugins/image/image-properties/templates/form.d.ts +4 -1
  739. package/types/plugins/image/image-properties/templates/index.d.ts +6 -3
  740. package/types/plugins/image/image-properties/templates/{mainTab.d.ts → main-tab.d.ts} +4 -1
  741. package/types/plugins/image/image-properties/templates/{positionTab.d.ts → position-tab.d.ts} +4 -1
  742. package/types/plugins/image/image.d.ts +4 -1
  743. package/types/plugins/image/index.d.ts +4 -1
  744. package/types/plugins/{indent.d.ts → indent/indent.d.ts} +6 -3
  745. package/types/plugins/index.d.ts +22 -17
  746. package/types/plugins/inline-popup/config/config.d.ts +4 -1
  747. package/types/plugins/inline-popup/inline-popup.d.ts +4 -1
  748. package/types/plugins/insert/hr.d.ts +4 -1
  749. package/types/plugins/insert/index.d.ts +4 -1
  750. package/types/plugins/{justify.d.ts → justify/justify.d.ts} +5 -2
  751. package/types/plugins/keyboard/backspace/backspace.d.ts +31 -0
  752. package/types/plugins/keyboard/backspace/cases/check-join-neighbors.d.ts +10 -0
  753. package/types/plugins/keyboard/backspace/cases/check-join-two-lists.d.ts +20 -0
  754. package/types/plugins/keyboard/backspace/cases/check-not-collapsed.d.ts +20 -0
  755. package/types/plugins/keyboard/backspace/cases/check-remove-char.d.ts +21 -0
  756. package/types/plugins/keyboard/backspace/cases/check-remove-content-not-editable.d.ts +11 -0
  757. package/types/plugins/keyboard/backspace/cases/check-remove-empty-neighbor.d.ts +20 -0
  758. package/types/plugins/keyboard/backspace/cases/check-remove-empty-parent.d.ts +21 -0
  759. package/types/plugins/keyboard/backspace/cases/check-remove-unbreakable-element.d.ts +21 -0
  760. package/types/plugins/keyboard/backspace/cases/check-table-cell.d.ts +21 -0
  761. package/types/plugins/keyboard/backspace/cases/check-unwrap-first-list-item.d.ts +21 -0
  762. package/types/plugins/keyboard/backspace/cases/index.d.ts +8 -0
  763. package/types/plugins/keyboard/backspace/config.d.ts +20 -0
  764. package/types/plugins/keyboard/enter.d.ts +4 -1
  765. package/types/plugins/keyboard/helpers.d.ts +6 -3
  766. package/types/plugins/keyboard/hotkeys.d.ts +4 -1
  767. package/types/plugins/keyboard/key-arrow-outside.d.ts +4 -1
  768. package/types/plugins/{limit.d.ts → limit/limit.d.ts} +7 -4
  769. package/types/plugins/link/link.d.ts +4 -1
  770. package/types/plugins/link/template.d.ts +4 -1
  771. package/types/plugins/media/file.d.ts +4 -1
  772. package/types/plugins/media/index.d.ts +4 -1
  773. package/types/plugins/media/media.d.ts +4 -1
  774. package/types/plugins/media/video/config.d.ts +1 -1
  775. package/types/plugins/media/video/index.d.ts +4 -1
  776. package/types/plugins/{mobile.d.ts → mobile/mobile.d.ts} +6 -3
  777. package/types/plugins/{ordered-list.d.ts → ordered-list/ordered-list.d.ts} +6 -3
  778. package/types/plugins/placeholder/placeholder.d.ts +4 -1
  779. package/types/plugins/{powered-by-jodit.d.ts → powered-by-jodit/powered-by-jodit.d.ts} +9 -3
  780. package/types/plugins/print/index.d.ts +4 -1
  781. package/types/plugins/print/preview.d.ts +4 -1
  782. package/types/plugins/print/print.d.ts +4 -1
  783. package/types/plugins/{redo-undo.d.ts → redo-undo/redo-undo.d.ts} +6 -3
  784. package/types/plugins/resizer/resizer.d.ts +4 -1
  785. package/types/plugins/search/search.d.ts +4 -1
  786. package/types/plugins/{select.d.ts → select/select.d.ts} +6 -4
  787. package/types/plugins/size/config.d.ts +5 -0
  788. package/types/plugins/size/index.d.ts +4 -1
  789. package/types/plugins/size/resize-handler.d.ts +4 -1
  790. package/types/plugins/size/size.d.ts +4 -1
  791. package/types/plugins/source/config.d.ts +16 -3
  792. package/types/plugins/source/const.d.ts +4 -1
  793. package/types/plugins/source/editor/engines/ace.d.ts +4 -1
  794. package/types/plugins/source/editor/engines/area.d.ts +4 -1
  795. package/types/plugins/source/editor/engines/index.d.ts +4 -1
  796. package/types/plugins/source/editor/factory.d.ts +5 -2
  797. package/types/plugins/source/editor/sourceEditor.d.ts +4 -1
  798. package/types/plugins/source/index.d.ts +6 -1
  799. package/types/plugins/source/source.d.ts +4 -1
  800. package/types/plugins/{stat.d.ts → stat/stat.d.ts} +3 -3
  801. package/types/plugins/sticky/sticky.d.ts +4 -1
  802. package/types/plugins/symbols/config.d.ts +1 -1
  803. package/types/plugins/symbols/symbols.d.ts +4 -1
  804. package/types/plugins/table/config.d.ts +1 -1
  805. package/types/plugins/table/index.d.ts +4 -1
  806. package/types/plugins/table/resize-cells.d.ts +4 -1
  807. package/types/plugins/table/select-cells.d.ts +4 -1
  808. package/types/plugins/table/table-keyboard-navigation.d.ts +4 -1
  809. package/types/plugins/table/table.d.ts +4 -1
  810. package/types/plugins/tooltip/tooltip.d.ts +4 -1
  811. package/types/plugins/xpath/xpath.d.ts +4 -1
  812. package/types/styles/icons/index.d.ts +6 -1
  813. package/types/types/core.d.ts +4 -1
  814. package/types/types/storage.d.ts +4 -1
  815. package/types/types/types/ajax.d.ts +8 -1
  816. package/types/types/types/async.d.ts +7 -1
  817. package/types/types/types/context.d.ts +5 -1
  818. package/types/types/types/core.ts +5 -1
  819. package/types/types/types/create.d.ts +5 -1
  820. package/types/types/types/dialog.d.ts +5 -1
  821. package/types/types/types/events.d.ts +9 -5
  822. package/types/types/types/file-browser.d.ts +21 -5
  823. package/types/types/types/form.d.ts +5 -1
  824. package/types/types/types/index.d.ts +6 -2
  825. package/types/types/types/jodit.d.ts +5 -1
  826. package/types/types/types/{observe.d.ts → observer.d.ts} +7 -5
  827. package/types/types/types/plugin.d.ts +5 -1
  828. package/types/types/types/popup.d.ts +5 -1
  829. package/types/types/types/select.d.ts +5 -1
  830. package/types/types/types/source.d.ts +5 -1
  831. package/types/types/types/storage.ts +5 -1
  832. package/types/types/types/style.d.ts +5 -1
  833. package/types/types/types/toolbar.d.ts +5 -1
  834. package/types/types/types/traits.d.ts +5 -1
  835. package/types/types/types/types.d.ts +5 -1
  836. package/types/types/types/ui.d.ts +5 -1
  837. package/types/types/types/uploader.d.ts +4 -2
  838. package/types/types/types/view.d.ts +5 -1
  839. package/src/core/decorators/spy.ts +0 -55
  840. package/src/core/helpers/each.ts +0 -61
  841. package/src/plugins/keyboard/delete.ts +0 -768
  842. package/types/core/helpers/each.d.ts +0 -20
  843. package/types/plugins/keyboard/delete.d.ts +0 -163
@@ -1,15 +1,19 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
6
 
7
- import type { IControlType, IJodit, Nullable } from '../types';
8
- import { Config } from '../config';
9
- import { Dom } from '../core/dom';
10
- import { dataBind, toArray } from '../core/helpers';
11
- import { Plugin } from '../core/plugin';
12
- import { autobind } from '../core/decorators';
7
+ /**
8
+ * @module plugins/ordered-list
9
+ */
10
+
11
+ import type { IControlType, IJodit, Nullable } from '../../types';
12
+ import { Config } from '../../config';
13
+ import { Dom } from '../../core/dom';
14
+ import { dataBind, toArray } from '../../core/helpers';
15
+ import { Plugin } from '../../core/plugin';
16
+ import { autobind } from '../../core/decorators';
13
17
 
14
18
  const exec: IControlType<IJodit>['exec'] = (jodit, _, { control }): void => {
15
19
  const key = `button${control.command}`;
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
6
 
7
7
  @import (reference) '../../styles/variables';
@@ -1,7 +1,11 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module plugins/placeholder
5
9
  */
6
10
 
7
11
  import './placeholder.less';
@@ -1,13 +1,20 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
6
 
7
- import type { IJodit } from '../types';
7
+ /**
8
+ * @module plugins/powered-by-jodit
9
+ */
10
+
11
+ import type { IJodit } from '../../types';
8
12
 
9
- declare module '../config' {
13
+ declare module '../../config' {
10
14
  interface Config {
15
+ /**
16
+ * Hide the link to the Jodit site at the bottom of the editor
17
+ */
11
18
  hidePoweredByJodit: boolean;
12
19
  }
13
20
  }
@@ -1,7 +1,11 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module plugins/print
5
9
  */
6
10
 
7
11
  export * from './preview';
@@ -1,7 +1,11 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module plugins/print
5
9
  */
6
10
 
7
11
  import type { IControlType, IDialog, IJodit } from '../../types';
@@ -1,7 +1,11 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module plugins/print
5
9
  */
6
10
 
7
11
  import type { IControlType, IJodit } from '../../types';
@@ -1,13 +1,17 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
6
 
7
- import type { IControlType, IJodit, IPlugin } from '../types/';
8
- import { Config } from '../config';
9
- import * as consts from '../core/constants';
10
- import { Plugin } from '../core/plugin';
7
+ /**
8
+ * @module plugins/redo-undo
9
+ */
10
+
11
+ import type { IControlType, IJodit, IPlugin } from '../../types/';
12
+ import { Config } from '../../config';
13
+ import * as consts from '../../core/constants';
14
+ import { Plugin } from '../../core/plugin';
11
15
 
12
16
  Config.prototype.controls.redo = {
13
17
  mode: consts.MODE_SPLIT,
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
6
 
7
7
  @import (reference) '../../styles/variables';
@@ -1,7 +1,11 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module plugins/resizer
5
9
  */
6
10
 
7
11
  import './resizer.less';
@@ -308,9 +312,14 @@ export class resizer extends Plugin {
308
312
  key: 'width' | 'height',
309
313
  value: number | string
310
314
  ): void {
311
- if (Dom.isImage(element) && this.j.o.resizer.forImageChangeAttributes) {
315
+ const changeAttrs =
316
+ Dom.isImage(element) && this.j.o.resizer.forImageChangeAttributes;
317
+
318
+ if (changeAttrs) {
312
319
  attr(element, key, value);
313
- } else {
320
+ }
321
+
322
+ if (!changeAttrs || element.style[key]) {
314
323
  css(element, key, value);
315
324
  }
316
325
  }
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
6
 
7
7
  @import (reference) '../../styles/variables';
@@ -1,7 +1,11 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module plugins/search
5
9
  */
6
10
 
7
11
  import './search.less';
@@ -1,15 +1,19 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
6
 
7
- import type { IJodit, Nullable } from '../types';
8
- import { Plugin } from '../core/plugin';
9
- import { autobind, watch } from '../core/decorators';
10
- import { camelCase } from '../core/helpers';
11
- import { Dom } from '../core/dom';
12
- import { Popup, UIElement } from '../core/ui';
7
+ /**
8
+ * @module plugins/select
9
+ */
10
+
11
+ import type { IJodit, Nullable } from '../../types';
12
+ import { Plugin } from '../../core/plugin';
13
+ import { autobind, watch } from '../../core/decorators';
14
+ import { camelCase } from '../../core/helpers';
15
+ import { Dom } from '../../core/dom';
16
+ import { Popup, UIElement } from '../../core/ui';
13
17
 
14
18
  /* eslint-disable tsdoc/syntax */
15
19
 
@@ -70,7 +74,6 @@ export class select extends Plugin {
70
74
  }
71
75
 
72
76
  /**
73
- *
74
77
  * @event outsideClick(e) - when user clicked in the outside of editor
75
78
  */
76
79
  @watch('ow:click')
@@ -1,8 +1,13 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
+
7
+ /**
8
+ * @module plugins/size
9
+ */
10
+
6
11
  import { Config } from '../../config';
7
12
 
8
13
  declare module '../../config' {
@@ -1,7 +1,11 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module plugins/size
5
9
  */
6
10
 
7
11
  import './config';
@@ -1,7 +1,11 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module plugins/size
5
9
  */
6
10
 
7
11
  import type { IJodit, IPointBound } from '../../types';
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
6
  @import (reference) '../../styles/variables';
7
7
  @import (reference) '../../styles/mixins';
@@ -1,7 +1,11 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module plugins/size
5
9
  */
6
10
 
7
11
  import './size.less';
@@ -0,0 +1,60 @@
1
+ The plugin allows you to add the ability to directly edit HTML to the editor.
2
+ The plugin connects the editor to the [Ace](https://ace.c9.io/) page (default behavior).
3
+ This is implemented through the connection of the CDN JS file. They are set in the settings in [[Config.sourceEditorCDNUrlsJS]]
4
+ The appearance of the Ace editor can be set through its settings, option [[Config.sourceEditorNativeOptions]]
5
+
6
+ For example, let's change the editor theme to light `Chrome`
7
+
8
+ ```js
9
+ Jodit.make('#editor', {
10
+ sourceEditorNativeOptions: {
11
+ theme: 'chrome'
12
+ }
13
+ })
14
+ ```
15
+
16
+ The list of themes supported by `Ace` can be found on this page https://ace.c9.io/build/kitchen-sink.html
17
+
18
+ Also, you can not use `Ace` but just use `Textarea`
19
+
20
+ ```js
21
+ Jodit.make('#editor', {
22
+ sourceEditor: 'area'
23
+ })
24
+ ```
25
+
26
+ ## Custom editor
27
+
28
+ You can implement your own text editor implementation, for example you can use [CodeMirror](https://codemirror.net/)
29
+ To do this, you need to add a class that will implement the interface [[ISourceEditor]] and register it with the plugin.
30
+
31
+ ```js
32
+ class MirrorEditor {
33
+ constructor(jodit){}
34
+
35
+ getValue() {}
36
+ setValue(raw) {};
37
+ insertRaw(raw) {};
38
+
39
+ getSelectionEnd() {};
40
+ getSelectionStart() {};
41
+ setSelectionRange(start, end) {};
42
+
43
+ setPlaceHolder(title){}
44
+
45
+ focus() {
46
+ }
47
+
48
+ setReadOnly(isReadOnly) {}
49
+
50
+ selectAll() {}
51
+
52
+ get isReady() {};
53
+ onReadyAlways(callback) {};
54
+ }
55
+
56
+ Jodit.make('#editor', {
57
+ sourceEditor: (j) => new MirrorEditor(j)
58
+ });
59
+ ```
60
+
@@ -1,20 +1,34 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
6
 
7
- import type { IControlType, IJodit } from '../../types';
7
+ /**
8
+ * @module plugins/source
9
+ */
10
+
11
+ import type { IControlType, IJodit, ISourceEditor } from '../../types';
8
12
  import { Config } from '../../config';
9
13
  import * as consts from '../../core/constants';
10
14
  import { IS_IE } from '../../core/constants';
11
15
 
12
16
  declare module '../../config' {
13
17
  interface Config {
14
- sourceEditor: 'area' | 'ace';
18
+ sourceEditor: 'area' | 'ace' | ((jodit: IJodit) => ISourceEditor);
15
19
 
16
20
  /**
17
21
  * Options for [ace](https://ace.c9.io/#config) editor
22
+ * @example
23
+ * ```js
24
+ * Jodit.make('#editor', {
25
+ * showGutter: true,
26
+ * theme: 'ace/theme/idle_fingers',
27
+ * mode: 'ace/mode/html',
28
+ * wrap: true,
29
+ § * highlightActiveLine: true
30
+ * })
31
+ * ```
18
32
  */
19
33
  sourceEditorNativeOptions: {
20
34
  showGutter: boolean;
@@ -23,6 +37,7 @@ declare module '../../config' {
23
37
  wrap: string | boolean | number;
24
38
  highlightActiveLine: boolean;
25
39
  };
40
+
26
41
  /**
27
42
  * Beautify HTML then it possible
28
43
  */
@@ -1,7 +1,11 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module plugins/source
5
9
  */
6
10
 
7
11
  export const SOURCE_CONSUMER = 'source-consumer';
@@ -1,7 +1,11 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module plugins/source
5
9
  */
6
10
 
7
11
  import type { IJodit, ISourceEditor } from '../../../../types';
@@ -1,7 +1,11 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module plugins/source
5
9
  */
6
10
 
7
11
  import type { IJodit, ISourceEditor } from '../../../../types';
@@ -1,7 +1,11 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module plugins/source
5
9
  */
6
10
 
7
11
  import type { ISourceEditor } from '../../../../types';
@@ -1,7 +1,11 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module plugins/source
5
9
  */
6
10
 
7
11
  export * from './area';
@@ -1,14 +1,19 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module plugins/source
5
9
  */
6
10
 
7
11
  import type { CallbackFunction, IJodit, ISourceEditor } from '../../../types';
8
12
  import { AceEditor, TextAreaEditor } from './engines';
13
+ import { isFunction } from '../../../core/helpers';
9
14
 
10
15
  export function createSourceEditor(
11
- type: 'ace' | 'mirror' | 'area',
16
+ type: 'ace' | 'mirror' | 'area' | ((jodit: IJodit) => ISourceEditor),
12
17
  editor: IJodit,
13
18
  container: HTMLElement,
14
19
  toWYSIWYG: CallbackFunction,
@@ -16,25 +21,29 @@ export function createSourceEditor(
16
21
  ): ISourceEditor {
17
22
  let sourceEditor: ISourceEditor;
18
23
 
19
- switch (type) {
20
- case 'ace':
21
- if (!editor.o.shadowRoot) {
22
- sourceEditor = new AceEditor(
24
+ if (isFunction(type)) {
25
+ sourceEditor = type(editor);
26
+ } else {
27
+ switch (type) {
28
+ case 'ace':
29
+ if (!editor.o.shadowRoot) {
30
+ sourceEditor = new AceEditor(
31
+ editor,
32
+ container,
33
+ toWYSIWYG,
34
+ fromWYSIWYG
35
+ );
36
+ break;
37
+ }
38
+
39
+ default:
40
+ sourceEditor = new TextAreaEditor(
23
41
  editor,
24
42
  container,
25
43
  toWYSIWYG,
26
44
  fromWYSIWYG
27
45
  );
28
- break;
29
- }
30
-
31
- default:
32
- sourceEditor = new TextAreaEditor(
33
- editor,
34
- container,
35
- toWYSIWYG,
36
- fromWYSIWYG
37
- );
46
+ }
38
47
  }
39
48
 
40
49
  sourceEditor.init(editor);
@@ -1,7 +1,11 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module plugins/source
5
9
  */
6
10
 
7
11
  import type { CallbackFunction, IJodit } from '../../../types';
@@ -1,7 +1,13 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * [[include:plugins/source/README.md]]
9
+ * @packageDocumentation
10
+ * @module plugins/source
5
11
  */
6
12
 
7
13
  import './config';
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
6
 
7
7
  @import (reference) '../../styles/variables';
@@ -1,7 +1,11 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+
7
+ /**
8
+ * @module plugins/source
5
9
  */
6
10
 
7
11
  import './source.less';
@@ -1,16 +1,20 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
6
 
7
- import type { Nullable } from '../types';
8
- import { Config } from '../config';
9
- import { INVISIBLE_SPACE_REG_EXP, SPACE_REG_EXP } from '../core/constants';
10
- import { Plugin } from '../core/plugin';
11
- import { Dom } from '../core/dom';
7
+ /**
8
+ * @module plugins/stat
9
+ */
10
+
11
+ import type { Nullable } from '../../types';
12
+ import { Config } from '../../config';
13
+ import { INVISIBLE_SPACE_REG_EXP, SPACE_REG_EXP } from '../../core/constants';
14
+ import { Plugin } from '../../core/plugin';
15
+ import { Dom } from '../../core/dom';
12
16
 
13
- declare module '../config' {
17
+ declare module '../../config' {
14
18
  interface Config {
15
19
  showCharsCounter: boolean;
16
20
  countHTMLChars: boolean;
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Jodit Editor (https://xdsoft.net/jodit/)
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
- * Copyright (c) 2013-2021 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
4
+ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
6
 
7
7
  @import (reference) '../../styles/variables';