jodit-pro 4.2.22 → 4.2.24

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 (301) hide show
  1. package/es2015/jodit.css +4 -2
  2. package/es2015/jodit.fat.min.css +1 -1
  3. package/es2015/jodit.fat.min.js +2 -2
  4. package/es2015/jodit.js +166 -76
  5. package/es2015/jodit.min.css +1 -1
  6. package/es2015/jodit.min.js +2 -2
  7. package/es2015/plugins/autocomplete/autocomplete.js +1 -1
  8. package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
  9. package/es2015/plugins/backup/backup.css +1 -1
  10. package/es2015/plugins/backup/backup.js +1 -1
  11. package/es2015/plugins/backup/backup.min.js +1 -1
  12. package/es2015/plugins/button-generator/button-generator.css +1 -1
  13. package/es2015/plugins/button-generator/button-generator.js +1 -1
  14. package/es2015/plugins/button-generator/button-generator.min.js +1 -1
  15. package/es2015/plugins/change-case/change-case.js +1 -1
  16. package/es2015/plugins/change-case/change-case.min.js +1 -1
  17. package/es2015/plugins/color-picker/color-picker.css +1 -1
  18. package/es2015/plugins/color-picker/color-picker.js +1 -1
  19. package/es2015/plugins/color-picker/color-picker.min.js +1 -1
  20. package/es2015/plugins/emoji/emoji.css +1 -1
  21. package/es2015/plugins/emoji/emoji.js +1 -1
  22. package/es2015/plugins/emoji/emoji.min.js +1 -1
  23. package/es2015/plugins/export-docs/export-docs.js +1 -1
  24. package/es2015/plugins/export-docs/export-docs.min.js +1 -1
  25. package/es2015/plugins/finder/finder.css +1 -1
  26. package/es2015/plugins/finder/finder.js +1 -1
  27. package/es2015/plugins/finder/finder.min.js +1 -1
  28. package/es2015/plugins/google-maps/google-maps.css +1 -1
  29. package/es2015/plugins/google-maps/google-maps.js +1 -1
  30. package/es2015/plugins/google-maps/google-maps.min.js +1 -1
  31. package/es2015/plugins/google-search/google-search.js +1 -1
  32. package/es2015/plugins/google-search/google-search.min.js +1 -1
  33. package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
  34. package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
  35. package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
  36. package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
  37. package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
  38. package/es2015/plugins/keyboard/keyboard.css +1 -1
  39. package/es2015/plugins/keyboard/keyboard.js +1 -1
  40. package/es2015/plugins/keyboard/keyboard.min.js +1 -1
  41. package/es2015/plugins/mobile-view/mobile-view.js +1 -1
  42. package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
  43. package/es2015/plugins/page-break/page-break.js +1 -1
  44. package/es2015/plugins/page-break/page-break.min.js +1 -1
  45. package/es2015/plugins/paste-code/paste-code.css +1 -1
  46. package/es2015/plugins/paste-code/paste-code.js +1 -1
  47. package/es2015/plugins/paste-code/paste-code.min.js +1 -1
  48. package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
  49. package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
  50. package/es2015/plugins/show-blocks/show-blocks.js +1 -1
  51. package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
  52. package/es2015/plugins/todo-list/todo-list.css +1 -1
  53. package/es2015/plugins/todo-list/todo-list.js +1 -1
  54. package/es2015/plugins/todo-list/todo-list.min.js +1 -1
  55. package/es2015/plugins/translate/translate.css +1 -1
  56. package/es2015/plugins/translate/translate.js +1 -1
  57. package/es2015/plugins/translate/translate.min.js +1 -1
  58. package/es2015/plugins/tune-block/tune-block.css +1 -1
  59. package/es2015/plugins/tune-block/tune-block.js +1 -1
  60. package/es2015/plugins/tune-block/tune-block.min.js +1 -1
  61. package/es2018/jodit.css +4 -2
  62. package/es2018/jodit.fat.min.css +1 -1
  63. package/es2018/jodit.fat.min.js +2 -2
  64. package/es2018/jodit.js +166 -76
  65. package/es2018/jodit.min.css +1 -1
  66. package/es2018/jodit.min.js +2 -2
  67. package/es2018/plugins/autocomplete/autocomplete.js +1 -1
  68. package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
  69. package/es2018/plugins/backup/backup.css +1 -1
  70. package/es2018/plugins/backup/backup.js +1 -1
  71. package/es2018/plugins/backup/backup.min.js +1 -1
  72. package/es2018/plugins/button-generator/button-generator.css +1 -1
  73. package/es2018/plugins/button-generator/button-generator.js +1 -1
  74. package/es2018/plugins/button-generator/button-generator.min.js +1 -1
  75. package/es2018/plugins/change-case/change-case.js +1 -1
  76. package/es2018/plugins/change-case/change-case.min.js +1 -1
  77. package/es2018/plugins/color-picker/color-picker.css +1 -1
  78. package/es2018/plugins/color-picker/color-picker.js +1 -1
  79. package/es2018/plugins/color-picker/color-picker.min.js +1 -1
  80. package/es2018/plugins/emoji/emoji.css +1 -1
  81. package/es2018/plugins/emoji/emoji.js +1 -1
  82. package/es2018/plugins/emoji/emoji.min.js +1 -1
  83. package/es2018/plugins/export-docs/export-docs.js +1 -1
  84. package/es2018/plugins/export-docs/export-docs.min.js +1 -1
  85. package/es2018/plugins/finder/finder.css +1 -1
  86. package/es2018/plugins/finder/finder.js +1 -1
  87. package/es2018/plugins/finder/finder.min.js +1 -1
  88. package/es2018/plugins/google-maps/google-maps.css +1 -1
  89. package/es2018/plugins/google-maps/google-maps.js +1 -1
  90. package/es2018/plugins/google-maps/google-maps.min.js +1 -1
  91. package/es2018/plugins/google-search/google-search.js +1 -1
  92. package/es2018/plugins/google-search/google-search.min.js +1 -1
  93. package/es2018/plugins/highlight-signature/highlight-signature.js +1 -1
  94. package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
  95. package/es2018/plugins/iframe-editor/iframe-editor.css +1 -1
  96. package/es2018/plugins/iframe-editor/iframe-editor.js +1 -1
  97. package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
  98. package/es2018/plugins/keyboard/keyboard.css +1 -1
  99. package/es2018/plugins/keyboard/keyboard.js +1 -1
  100. package/es2018/plugins/keyboard/keyboard.min.js +1 -1
  101. package/es2018/plugins/mobile-view/mobile-view.js +1 -1
  102. package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
  103. package/es2018/plugins/page-break/page-break.js +1 -1
  104. package/es2018/plugins/page-break/page-break.min.js +1 -1
  105. package/es2018/plugins/paste-code/paste-code.css +1 -1
  106. package/es2018/plugins/paste-code/paste-code.js +1 -1
  107. package/es2018/plugins/paste-code/paste-code.min.js +1 -1
  108. package/es2018/plugins/paste-from-word/paste-from-word.js +1 -1
  109. package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
  110. package/es2018/plugins/show-blocks/show-blocks.js +1 -1
  111. package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
  112. package/es2018/plugins/todo-list/todo-list.css +1 -1
  113. package/es2018/plugins/todo-list/todo-list.js +1 -1
  114. package/es2018/plugins/todo-list/todo-list.min.js +1 -1
  115. package/es2018/plugins/translate/translate.css +1 -1
  116. package/es2018/plugins/translate/translate.js +1 -1
  117. package/es2018/plugins/translate/translate.min.js +1 -1
  118. package/es2018/plugins/tune-block/tune-block.css +1 -1
  119. package/es2018/plugins/tune-block/tune-block.js +1 -1
  120. package/es2018/plugins/tune-block/tune-block.min.js +1 -1
  121. package/es2021/jodit.css +4 -2
  122. package/es2021/jodit.fat.min.css +1 -1
  123. package/es2021/jodit.fat.min.js +2 -2
  124. package/es2021/jodit.js +166 -76
  125. package/es2021/jodit.min.css +1 -1
  126. package/es2021/jodit.min.js +2 -2
  127. package/es2021/plugins/autocomplete/autocomplete.js +1 -1
  128. package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
  129. package/es2021/plugins/backup/backup.css +1 -1
  130. package/es2021/plugins/backup/backup.js +1 -1
  131. package/es2021/plugins/backup/backup.min.js +1 -1
  132. package/es2021/plugins/button-generator/button-generator.css +1 -1
  133. package/es2021/plugins/button-generator/button-generator.js +1 -1
  134. package/es2021/plugins/button-generator/button-generator.min.js +1 -1
  135. package/es2021/plugins/change-case/change-case.js +1 -1
  136. package/es2021/plugins/change-case/change-case.min.js +1 -1
  137. package/es2021/plugins/color-picker/color-picker.css +1 -1
  138. package/es2021/plugins/color-picker/color-picker.js +1 -1
  139. package/es2021/plugins/color-picker/color-picker.min.js +1 -1
  140. package/es2021/plugins/emoji/emoji.css +1 -1
  141. package/es2021/plugins/emoji/emoji.js +1 -1
  142. package/es2021/plugins/emoji/emoji.min.js +1 -1
  143. package/es2021/plugins/export-docs/export-docs.js +1 -1
  144. package/es2021/plugins/export-docs/export-docs.min.js +1 -1
  145. package/es2021/plugins/finder/finder.css +1 -1
  146. package/es2021/plugins/finder/finder.js +1 -1
  147. package/es2021/plugins/finder/finder.min.js +1 -1
  148. package/es2021/plugins/google-maps/google-maps.css +1 -1
  149. package/es2021/plugins/google-maps/google-maps.js +1 -1
  150. package/es2021/plugins/google-maps/google-maps.min.js +1 -1
  151. package/es2021/plugins/google-search/google-search.js +1 -1
  152. package/es2021/plugins/google-search/google-search.min.js +1 -1
  153. package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
  154. package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
  155. package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
  156. package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
  157. package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
  158. package/es2021/plugins/keyboard/keyboard.css +1 -1
  159. package/es2021/plugins/keyboard/keyboard.js +1 -1
  160. package/es2021/plugins/keyboard/keyboard.min.js +1 -1
  161. package/es2021/plugins/mobile-view/mobile-view.js +1 -1
  162. package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
  163. package/es2021/plugins/page-break/page-break.js +1 -1
  164. package/es2021/plugins/page-break/page-break.min.js +1 -1
  165. package/es2021/plugins/paste-code/paste-code.css +1 -1
  166. package/es2021/plugins/paste-code/paste-code.js +1 -1
  167. package/es2021/plugins/paste-code/paste-code.min.js +1 -1
  168. package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
  169. package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
  170. package/es2021/plugins/show-blocks/show-blocks.js +1 -1
  171. package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
  172. package/es2021/plugins/todo-list/todo-list.css +1 -1
  173. package/es2021/plugins/todo-list/todo-list.js +1 -1
  174. package/es2021/plugins/todo-list/todo-list.min.js +1 -1
  175. package/es2021/plugins/translate/translate.css +1 -1
  176. package/es2021/plugins/translate/translate.js +1 -1
  177. package/es2021/plugins/translate/translate.min.js +1 -1
  178. package/es2021/plugins/tune-block/tune-block.css +1 -1
  179. package/es2021/plugins/tune-block/tune-block.js +1 -1
  180. package/es2021/plugins/tune-block/tune-block.min.js +1 -1
  181. package/es2021.en/jodit.css +4 -2
  182. package/es2021.en/jodit.fat.min.css +1 -1
  183. package/es2021.en/jodit.fat.min.js +2 -2
  184. package/es2021.en/jodit.js +101 -57
  185. package/es2021.en/jodit.min.css +1 -1
  186. package/es2021.en/jodit.min.js +2 -2
  187. package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
  188. package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
  189. package/es2021.en/plugins/backup/backup.css +1 -1
  190. package/es2021.en/plugins/backup/backup.js +1 -1
  191. package/es2021.en/plugins/backup/backup.min.js +1 -1
  192. package/es2021.en/plugins/button-generator/button-generator.css +1 -1
  193. package/es2021.en/plugins/button-generator/button-generator.js +1 -1
  194. package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
  195. package/es2021.en/plugins/change-case/change-case.js +1 -1
  196. package/es2021.en/plugins/change-case/change-case.min.js +1 -1
  197. package/es2021.en/plugins/color-picker/color-picker.css +1 -1
  198. package/es2021.en/plugins/color-picker/color-picker.js +1 -1
  199. package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
  200. package/es2021.en/plugins/emoji/emoji.css +1 -1
  201. package/es2021.en/plugins/emoji/emoji.js +1 -1
  202. package/es2021.en/plugins/emoji/emoji.min.js +1 -1
  203. package/es2021.en/plugins/export-docs/export-docs.js +1 -1
  204. package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
  205. package/es2021.en/plugins/finder/finder.css +1 -1
  206. package/es2021.en/plugins/finder/finder.js +1 -1
  207. package/es2021.en/plugins/finder/finder.min.js +1 -1
  208. package/es2021.en/plugins/google-maps/google-maps.css +1 -1
  209. package/es2021.en/plugins/google-maps/google-maps.js +1 -1
  210. package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
  211. package/es2021.en/plugins/google-search/google-search.js +1 -1
  212. package/es2021.en/plugins/google-search/google-search.min.js +1 -1
  213. package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
  214. package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
  215. package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
  216. package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
  217. package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
  218. package/es2021.en/plugins/keyboard/keyboard.css +1 -1
  219. package/es2021.en/plugins/keyboard/keyboard.js +1 -1
  220. package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
  221. package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
  222. package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
  223. package/es2021.en/plugins/page-break/page-break.js +1 -1
  224. package/es2021.en/plugins/page-break/page-break.min.js +1 -1
  225. package/es2021.en/plugins/paste-code/paste-code.css +1 -1
  226. package/es2021.en/plugins/paste-code/paste-code.js +1 -1
  227. package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
  228. package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
  229. package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
  230. package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
  231. package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
  232. package/es2021.en/plugins/todo-list/todo-list.css +1 -1
  233. package/es2021.en/plugins/todo-list/todo-list.js +1 -1
  234. package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
  235. package/es2021.en/plugins/translate/translate.css +1 -1
  236. package/es2021.en/plugins/translate/translate.js +1 -1
  237. package/es2021.en/plugins/translate/translate.min.js +1 -1
  238. package/es2021.en/plugins/tune-block/tune-block.css +1 -1
  239. package/es2021.en/plugins/tune-block/tune-block.js +1 -1
  240. package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
  241. package/es5/jodit.css +11 -6
  242. package/es5/jodit.fat.min.css +1 -1
  243. package/es5/jodit.fat.min.js +2 -2
  244. package/es5/jodit.js +169 -76
  245. package/es5/jodit.min.css +3 -3
  246. package/es5/jodit.min.js +2 -2
  247. package/es5/plugins/autocomplete/autocomplete.js +1 -1
  248. package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
  249. package/es5/plugins/backup/backup.css +1 -1
  250. package/es5/plugins/backup/backup.js +1 -1
  251. package/es5/plugins/backup/backup.min.js +1 -1
  252. package/es5/plugins/button-generator/button-generator.css +1 -1
  253. package/es5/plugins/button-generator/button-generator.js +1 -1
  254. package/es5/plugins/button-generator/button-generator.min.js +1 -1
  255. package/es5/plugins/change-case/change-case.js +1 -1
  256. package/es5/plugins/change-case/change-case.min.js +1 -1
  257. package/es5/plugins/color-picker/color-picker.css +1 -1
  258. package/es5/plugins/color-picker/color-picker.js +1 -1
  259. package/es5/plugins/color-picker/color-picker.min.js +1 -1
  260. package/es5/plugins/emoji/emoji.css +1 -1
  261. package/es5/plugins/emoji/emoji.js +1 -1
  262. package/es5/plugins/emoji/emoji.min.js +1 -1
  263. package/es5/plugins/export-docs/export-docs.js +1 -1
  264. package/es5/plugins/export-docs/export-docs.min.js +1 -1
  265. package/es5/plugins/finder/finder.css +1 -1
  266. package/es5/plugins/finder/finder.js +1 -1
  267. package/es5/plugins/finder/finder.min.js +1 -1
  268. package/es5/plugins/google-maps/google-maps.css +1 -1
  269. package/es5/plugins/google-maps/google-maps.js +1 -1
  270. package/es5/plugins/google-maps/google-maps.min.js +1 -1
  271. package/es5/plugins/google-search/google-search.js +1 -1
  272. package/es5/plugins/google-search/google-search.min.js +1 -1
  273. package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
  274. package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
  275. package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
  276. package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
  277. package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
  278. package/es5/plugins/keyboard/keyboard.css +1 -1
  279. package/es5/plugins/keyboard/keyboard.js +1 -1
  280. package/es5/plugins/keyboard/keyboard.min.js +1 -1
  281. package/es5/plugins/mobile-view/mobile-view.js +1 -1
  282. package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
  283. package/es5/plugins/page-break/page-break.js +1 -1
  284. package/es5/plugins/page-break/page-break.min.js +1 -1
  285. package/es5/plugins/paste-code/paste-code.css +1 -1
  286. package/es5/plugins/paste-code/paste-code.js +1 -1
  287. package/es5/plugins/paste-code/paste-code.min.js +1 -1
  288. package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
  289. package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
  290. package/es5/plugins/show-blocks/show-blocks.js +1 -1
  291. package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
  292. package/es5/plugins/todo-list/todo-list.css +1 -1
  293. package/es5/plugins/todo-list/todo-list.js +1 -1
  294. package/es5/plugins/todo-list/todo-list.min.js +1 -1
  295. package/es5/plugins/translate/translate.css +1 -1
  296. package/es5/plugins/translate/translate.js +1 -1
  297. package/es5/plugins/translate/translate.min.js +1 -1
  298. package/es5/plugins/tune-block/tune-block.css +1 -1
  299. package/es5/plugins/tune-block/tune-block.js +1 -1
  300. package/es5/plugins/tune-block/tune-block.min.js +1 -1
  301. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * jodit-pro - PRO Version of Jodit Editor
3
3
  * Author: Chupurnov Valeriy <chupurnov@gmail.com>
4
- * Version: v4.2.22
4
+ * Version: v4.2.24
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -2304,7 +2304,7 @@ __webpack_require__.r(__webpack_exports__);
2304
2304
  * Released under MIT see LICENSE.txt in the project root for license information.
2305
2305
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
2306
2306
  */
2307
- const APP_VERSION = "4.2.22";
2307
+ const APP_VERSION = "4.2.24";
2308
2308
  // prettier-ignore
2309
2309
  const ES = "es2021";
2310
2310
  const IS_ES_MODERN = true;
@@ -2466,8 +2466,8 @@ const KEY_ALIASES = {
2466
2466
  option: 'alt',
2467
2467
  return: 'enter',
2468
2468
  right: 'arrowright',
2469
- space: ' ',
2470
- spacebar: ' ',
2469
+ space: 'space',
2470
+ spacebar: 'space',
2471
2471
  up: 'arrowup',
2472
2472
  win: 'meta',
2473
2473
  windows: 'meta'
@@ -3425,11 +3425,17 @@ class Dom {
3425
3425
  }
3426
3426
  static replace(elm, newTagName, create, withAttributes = false, notMoveContent = false) {
3427
3427
  if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isHTML */ .AH)(newTagName)) {
3428
+ void 0;
3428
3429
  newTagName = create.fromHTML(newTagName);
3429
3430
  }
3430
- const tag = (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isString */ .Kg)(newTagName)
3431
- ? create.element(newTagName)
3432
- : newTagName;
3431
+ let tag;
3432
+ if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isString */ .Kg)(newTagName)) {
3433
+ void 0;
3434
+ tag = create.element(newTagName);
3435
+ }
3436
+ else {
3437
+ tag = newTagName;
3438
+ }
3433
3439
  if (!notMoveContent) {
3434
3440
  while (elm.firstChild) {
3435
3441
  tag.appendChild(elm.firstChild);
@@ -5070,7 +5076,8 @@ function getContainer(jodit, classFunc, tag = 'div', createInsideEditor = false)
5070
5076
  const data = boxes.get(jodit) || {}, key = name + tag;
5071
5077
  const view = (0,jodit_core_helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_6__/* .isViewObject */ .h)(jodit) ? jodit : jodit.j;
5072
5078
  if (!data[key]) {
5073
- let c = view.c, body = (0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit) && jodit.o.shadowRoot
5079
+ let c = view.c;
5080
+ let body = (0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit) && jodit.o.shadowRoot
5074
5081
  ? jodit.o.shadowRoot
5075
5082
  : jodit.od.body;
5076
5083
  if (createInsideEditor &&
@@ -5090,6 +5097,7 @@ function getContainer(jodit, classFunc, tag = 'div', createInsideEditor = false)
5090
5097
  body.appendChild(box);
5091
5098
  data[key] = box;
5092
5099
  jodit.hookStatus('beforeDestruct', () => {
5100
+ view.events.off(box);
5093
5101
  _dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.safeRemove(box);
5094
5102
  delete data[key];
5095
5103
  if (Object.keys(data).length) {
@@ -5097,6 +5105,7 @@ function getContainer(jodit, classFunc, tag = 'div', createInsideEditor = false)
5097
5105
  }
5098
5106
  });
5099
5107
  boxes.set(jodit, data);
5108
+ view.events.fire('getContainer', box);
5100
5109
  }
5101
5110
  data[key].classList.remove('jodit_theme_default', 'jodit_theme_dark');
5102
5111
  data[key].classList.add(`jodit_theme_${view.o.theme || 'default'}`);
@@ -6896,7 +6905,8 @@ function normalizeKeyAliases(keys) {
6896
6905
  ctrl: 2,
6897
6906
  control: 2,
6898
6907
  alt: 3,
6899
- shift: 4
6908
+ shift: 4,
6909
+ space: 5
6900
6910
  };
6901
6911
  return keys
6902
6912
  .replace(/\+\+/g, '+add')
@@ -13948,15 +13958,21 @@ let UITooltip = UITooltip_1 = class UITooltip extends jodit_core_ui_element__WEB
13948
13958
  if (!view.o.textIcons &&
13949
13959
  view.o.showTooltip &&
13950
13960
  !view.o.useNativeTooltip) {
13961
+ this.j.e.on('getContainer', (box) => {
13962
+ this.__onAttach(box);
13963
+ });
13951
13964
  view.hookStatus(jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .STATUSES */ .f.ready, () => {
13952
- // TODO Move it inside __show method. Now it is here because testcase failed with capturing
13953
- (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .getContainer */ .My)(this.j, UITooltip_1).appendChild(this.container);
13954
- view.e.on(view.container, 'mouseenter.tooltip', this.__onMouseEnter, {
13955
- capture: true
13956
- });
13965
+ this.__onAttach(this.j.container);
13957
13966
  });
13958
13967
  }
13959
13968
  }
13969
+ __onAttach(container) {
13970
+ // TODO Move it inside __show method. Now it is here because testcase failed with capturing
13971
+ (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .getContainer */ .My)(this.j, UITooltip_1).appendChild(this.container);
13972
+ this.j.e.on(container, 'mouseenter.tooltip', this.__onMouseEnter, {
13973
+ capture: true
13974
+ });
13975
+ }
13960
13976
  __addListenersOnEnter() {
13961
13977
  if (this.__listenClose) {
13962
13978
  return;
@@ -18138,6 +18154,7 @@ function addClassNames(className, elm) {
18138
18154
 
18139
18155
 
18140
18156
 
18157
+
18141
18158
 
18142
18159
 
18143
18160
  let exp = {};
@@ -18161,6 +18178,7 @@ exp = {
18161
18178
  pt_br: (jodit_langs_ar__WEBPACK_IMPORTED_MODULE_0___default()),
18162
18179
  ru: (jodit_langs_ar__WEBPACK_IMPORTED_MODULE_0___default()),
18163
18180
  tr: (jodit_langs_ar__WEBPACK_IMPORTED_MODULE_0___default()),
18181
+ ua: (jodit_langs_ar__WEBPACK_IMPORTED_MODULE_0___default()),
18164
18182
  zh_cn: (jodit_langs_ar__WEBPACK_IMPORTED_MODULE_0___default()),
18165
18183
  zh_tw: (jodit_langs_ar__WEBPACK_IMPORTED_MODULE_0___default())
18166
18184
  };
@@ -23095,46 +23113,39 @@ class Table extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .ViewCom
23095
23113
  removeRow(table, rowIndex) {
23096
23114
  return Table.__removeRow(table, rowIndex);
23097
23115
  }
23098
- static __appendColumn(table, j, after, create) {
23116
+ /**
23117
+ * Insert column before / after all the columns containing the selected cells
23118
+ */
23119
+ appendColumn(table, selectedCell, insertAfter = true) {
23099
23120
  const box = Table.__formalMatrix(table);
23100
- let i;
23101
- if (j === undefined || j < 0) {
23102
- j = Table.__getColumnsCount(table) - 1;
23103
- }
23104
- for (i = 0; i < box.length; i += 1) {
23105
- const cell = create.element('td');
23106
- const td = box[i][j];
23107
- let added = false;
23108
- if (after) {
23109
- if ((box[i] && td && j + 1 >= box[i].length) ||
23110
- td !== box[i][j + 1]) {
23111
- if (td.nextSibling) {
23112
- jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.before(td.nextSibling, cell);
23113
- }
23114
- else {
23115
- td.parentNode && td.parentNode.appendChild(cell);
23116
- }
23117
- added = true;
23121
+ if (!insertAfter && jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.isCell(selectedCell.previousElementSibling)) {
23122
+ return this.appendColumn(table, selectedCell.previousElementSibling, true);
23123
+ }
23124
+ const columnIndex = insertAfter
23125
+ ? selectedCell.cellIndex + ((selectedCell.colSpan || 1) - 1)
23126
+ : selectedCell.cellIndex;
23127
+ const newColumnIndex = insertAfter ? columnIndex + 1 : columnIndex;
23128
+ for (let i = 0; i < box.length;) {
23129
+ const cells = box[i];
23130
+ if (cells[columnIndex] !== cells[newColumnIndex] ||
23131
+ columnIndex === newColumnIndex) {
23132
+ const cell = this.j.createInside.element('td');
23133
+ if (insertAfter) {
23134
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.after(cells[columnIndex], cell);
23118
23135
  }
23119
- }
23120
- else {
23121
- if (j - 1 < 0 ||
23122
- (box[i][j] !== box[i][j - 1] && box[i][j].parentNode)) {
23123
- jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.before(box[i][j], cell);
23124
- added = true;
23136
+ else {
23137
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.before(cells[columnIndex], cell);
23138
+ }
23139
+ if (cells[columnIndex].rowSpan > 1) {
23140
+ cell.rowSpan = cells[columnIndex].rowSpan;
23125
23141
  }
23126
23142
  }
23127
- if (!added) {
23128
- (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_5__.attr)(box[i][j], 'colspan', parseInt((0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_5__.attr)(box[i][j], 'colspan') || '1', 10) + 1);
23143
+ else {
23144
+ cells[columnIndex].colSpan += 1;
23129
23145
  }
23146
+ i += cells[columnIndex].rowSpan || 1;
23130
23147
  }
23131
23148
  }
23132
- /**
23133
- * Insert column before / after all the columns containing the selected cells
23134
- */
23135
- appendColumn(table, j, after) {
23136
- return Table.__appendColumn(table, j, after, this.j.createInside);
23137
- }
23138
23149
  static __removeColumn(table, j) {
23139
23150
  const box = Table.__formalMatrix(table);
23140
23151
  let dec;
@@ -23352,7 +23363,7 @@ class Table extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .ViewCom
23352
23363
  alreadyMerged.delete(first);
23353
23364
  Table.__unmark(__marked);
23354
23365
  Table.__normalizeTable(table);
23355
- (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_5__.toArray)(table.rows).forEach((tr, index) => {
23366
+ (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_5__.toArray)(table.rows).forEach(tr => {
23356
23367
  if (!tr.cells.length) {
23357
23368
  jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.safeRemove(tr);
23358
23369
  }
@@ -23361,7 +23372,7 @@ class Table extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .ViewCom
23361
23372
  }
23362
23373
  }
23363
23374
  /**
23364
- * It combines all of the selected cells into one. The contents of the cells will also be combined
23375
+ * It combines all the selected cells into one. The contents of the cells will also be combined
23365
23376
  */
23366
23377
  mergeSelected(table) {
23367
23378
  return Table.__mergeSelected(table, this.j);
@@ -25703,7 +25714,9 @@ class addNewLine extends jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Plugin {
25703
25714
  editor.e
25704
25715
  .off(editor.editor, '.' + ns)
25705
25716
  .off(editor.container, '.' + ns)
25717
+ .off('.' + ns)
25706
25718
  .on([editor.ow, editor.ew, editor.editor], 'scroll' + '.' + ns, this.__hideForce)
25719
+ .on('finishedCleanHTMLWorker' + '.' + ns, this.__hideForce)
25707
25720
  .on(editor.editor, 'click' + '.' + ns, this.__hide)
25708
25721
  .on(editor.container, 'mouseleave' + '.' + ns, this.__hide)
25709
25722
  .on(editor.editor, 'mousemove' + '.' + ns, this.__onMouseMove);
@@ -25791,7 +25804,8 @@ class addNewLine extends jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Plugin {
25791
25804
  jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Dom.safeRemove(this.__line);
25792
25805
  this.j.e
25793
25806
  .off([this.j.ow, this.j.ew, this.j.editor], '.' + ns)
25794
- .off(this.j.container, '.' + ns);
25807
+ .off(this.j.container, '.' + ns)
25808
+ .off('.' + ns);
25795
25809
  }
25796
25810
  }
25797
25811
  (0,tslib__WEBPACK_IMPORTED_MODULE_5__/* .__decorate */ .Cg)([
@@ -27920,13 +27934,21 @@ function allowAttributes(jodit, nodeElm, hadEffect, allow) {
27920
27934
  */
27921
27935
 
27922
27936
 
27937
+ const TABLE_CONTAINER_TAGS = new Set([
27938
+ 'table',
27939
+ 'tbody',
27940
+ 'thead',
27941
+ 'tfoot',
27942
+ 'tr'
27943
+ ]);
27923
27944
  /**
27924
27945
  * @private
27925
27946
  */
27926
27947
  function fillEmptyParagraph(jodit, nodeElm, hadEffect) {
27927
27948
  if (jodit.o.cleanHTML.fillEmptyParagraph &&
27928
27949
  jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isBlock(nodeElm) &&
27929
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isEmpty(nodeElm, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS)) {
27950
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isEmpty(nodeElm, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS) &&
27951
+ !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isTag(nodeElm, TABLE_CONTAINER_TAGS)) {
27930
27952
  const br = jodit.createInside.element('br');
27931
27953
  nodeElm.appendChild(br);
27932
27954
  return true;
@@ -30748,7 +30770,8 @@ class hotkeys extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_3__/* .Plugin *
30748
30770
  constructor() {
30749
30771
  super(...arguments);
30750
30772
  this.onKeyPress = (event) => {
30751
- const special = this.specialKeys[event.which], character = (event.key || String.fromCharCode(event.which)).toLowerCase();
30773
+ const special = this.specialKeys[event.which];
30774
+ const character = (event.key || String.fromCharCode(event.which)).toLowerCase();
30752
30775
  const modif = [special || character];
30753
30776
  ['alt', 'ctrl', 'shift', 'meta'].forEach(specialKey => {
30754
30777
  if (event[specialKey + 'Key'] && special !== specialKey) {
@@ -30842,7 +30865,8 @@ class hotkeys extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_3__/* .Plugin *
30842
30865
  }
30843
30866
  })
30844
30867
  .on('keydown.hotkeys', (event) => {
30845
- const shortcut = this.onKeyPress(event), stop = {
30868
+ const shortcut = this.onKeyPress(event);
30869
+ const stop = {
30846
30870
  shouldStop: true
30847
30871
  };
30848
30872
  const resultOfFire = this.j.e.fire(shortcut + '.hotkey', event.type, stop);
@@ -34290,6 +34314,7 @@ __webpack_require__.r(__webpack_exports__);
34290
34314
  /* harmony export */ pt_br: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; },
34291
34315
  /* harmony export */ ru: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; },
34292
34316
  /* harmony export */ tr: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; },
34317
+ /* harmony export */ ua: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; },
34293
34318
  /* harmony export */ zh_cn: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; },
34294
34319
  /* harmony export */ zh_tw: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; }
34295
34320
  /* harmony export */ });
@@ -34322,6 +34347,7 @@ __webpack_require__.r(__webpack_exports__);
34322
34347
 
34323
34348
 
34324
34349
 
34350
+
34325
34351
 
34326
34352
 
34327
34353
  /***/ }),
@@ -38760,7 +38786,7 @@ class selectCells extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_5__/* .Plug
38760
38786
  break;
38761
38787
  case 'addcolumnafter':
38762
38788
  case 'addcolumnbefore':
38763
- this.__tableModule.appendColumn(table, cell.cellIndex, command === 'addcolumnafter');
38789
+ this.__tableModule.appendColumn(table, cell, command === 'addcolumnafter');
38764
38790
  break;
38765
38791
  case 'addrowafter':
38766
38792
  case 'addrowbefore':
@@ -40097,6 +40123,7 @@ __webpack_require__.r(__webpack_exports__);
40097
40123
  /* harmony export */ pt_br: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; },
40098
40124
  /* harmony export */ ru: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; },
40099
40125
  /* harmony export */ tr: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; },
40126
+ /* harmony export */ ua: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; },
40100
40127
  /* harmony export */ zh_cn: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; },
40101
40128
  /* harmony export */ zh_tw: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; }
40102
40129
  /* harmony export */ });
@@ -40129,6 +40156,7 @@ __webpack_require__.r(__webpack_exports__);
40129
40156
 
40130
40157
 
40131
40158
 
40159
+
40132
40160
 
40133
40161
 
40134
40162
  /***/ }),
@@ -41288,6 +41316,8 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.controls.tab
41288
41316
  }
41289
41317
  },
41290
41318
  popup: (editor, current, close, button) => {
41319
+ editor.editor.normalize();
41320
+ const snapshot = editor.history.snapshot.make();
41291
41321
  const control = button.control;
41292
41322
  const default_rows_count = control.data && control.data.rows ? control.data.rows : 10, default_cols_count = control.data && control.data.cols ? control.data.cols : 10;
41293
41323
  const generateExtraClasses = () => {
@@ -41380,10 +41410,24 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.controls.tab
41380
41410
  table.classList.add(className);
41381
41411
  });
41382
41412
  });
41383
- if (editor.editor.firstChild) {
41384
- editor.s.insertNode(crt.text('\n'), false, false);
41413
+ editor.s.restore();
41414
+ editor.s.removeMarkers();
41415
+ editor.editor.normalize();
41416
+ editor.history.snapshot.restore(snapshot);
41417
+ const block = jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.furthest(editor.s.current(), jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isBlock, editor.editor);
41418
+ if (block && jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isEmpty(block)) {
41419
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.replace(block, table, undefined, false, true);
41420
+ }
41421
+ else {
41422
+ if (block) {
41423
+ const fake = crt.text('\n');
41424
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.after(block, fake);
41425
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.after(fake, table);
41426
+ }
41427
+ else {
41428
+ editor.s.insertNode(table, false);
41429
+ }
41385
41430
  }
41386
- editor.s.insertNode(table, false);
41387
41431
  if (first_td) {
41388
41432
  editor.s.setCursorIn(first_td);
41389
41433
  (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.scrollIntoViewIfNeeded)(first_td, editor.editor, editor.ed);