jodit-pro 2.0.0-beta.18 → 2.0.0-beta.21

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 (292) hide show
  1. package/es2015/jodit.css +1 -1
  2. package/es2015/jodit.fat.min.js +2 -2
  3. package/es2015/jodit.js +85 -58
  4. package/es2015/jodit.min.js +2 -2
  5. package/es2015/plugins/autocomplete/autocomplete.js +1 -1
  6. package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
  7. package/es2015/plugins/backup/backup.css +1 -1
  8. package/es2015/plugins/backup/backup.js +1 -1
  9. package/es2015/plugins/backup/backup.min.js +1 -1
  10. package/es2015/plugins/button-generator/button-generator.css +1 -1
  11. package/es2015/plugins/button-generator/button-generator.js +1 -1
  12. package/es2015/plugins/button-generator/button-generator.min.js +1 -1
  13. package/es2015/plugins/change-case/change-case.js +1 -1
  14. package/es2015/plugins/change-case/change-case.min.js +1 -1
  15. package/es2015/plugins/color-picker/color-picker.css +1 -1
  16. package/es2015/plugins/color-picker/color-picker.js +1 -1
  17. package/es2015/plugins/color-picker/color-picker.min.js +1 -1
  18. package/es2015/plugins/emoji/emoji.css +1 -1
  19. package/es2015/plugins/emoji/emoji.js +1 -1
  20. package/es2015/plugins/emoji/emoji.min.js +1 -1
  21. package/es2015/plugins/export-docs/export-docs.js +1 -1
  22. package/es2015/plugins/export-docs/export-docs.min.js +1 -1
  23. package/es2015/plugins/finder/finder.css +1 -1
  24. package/es2015/plugins/finder/finder.js +1 -1
  25. package/es2015/plugins/finder/finder.min.js +1 -1
  26. package/es2015/plugins/google-maps/google-maps.css +1 -1
  27. package/es2015/plugins/google-maps/google-maps.js +1 -1
  28. package/es2015/plugins/google-maps/google-maps.min.js +1 -1
  29. package/es2015/plugins/google-search/google-search.js +1 -1
  30. package/es2015/plugins/google-search/google-search.min.js +1 -1
  31. package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
  32. package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
  33. package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
  34. package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
  35. package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
  36. package/es2015/plugins/keyboard/keyboard.css +1 -1
  37. package/es2015/plugins/keyboard/keyboard.js +1 -1
  38. package/es2015/plugins/keyboard/keyboard.min.js +1 -1
  39. package/es2015/plugins/mobile-view/mobile-view.js +1 -1
  40. package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
  41. package/es2015/plugins/page-break/page-break.js +1 -1
  42. package/es2015/plugins/page-break/page-break.min.js +1 -1
  43. package/es2015/plugins/paste-code/paste-code.css +1 -1
  44. package/es2015/plugins/paste-code/paste-code.js +1 -1
  45. package/es2015/plugins/paste-code/paste-code.min.js +1 -1
  46. package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
  47. package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
  48. package/es2015/plugins/show-blocks/show-blocks.js +1 -1
  49. package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
  50. package/es2015/plugins/todo-list/todo-list.css +1 -1
  51. package/es2015/plugins/todo-list/todo-list.js +1 -1
  52. package/es2015/plugins/todo-list/todo-list.min.js +1 -1
  53. package/es2015/plugins/translate/translate.css +1 -1
  54. package/es2015/plugins/translate/translate.js +1 -1
  55. package/es2015/plugins/translate/translate.min.js +1 -1
  56. package/es2015/plugins/tune-block/tune-block.css +1 -1
  57. package/es2015/plugins/tune-block/tune-block.js +1 -1
  58. package/es2015/plugins/tune-block/tune-block.min.js +1 -1
  59. package/es2018/jodit.css +1 -1
  60. package/es2018/jodit.fat.min.js +2 -2
  61. package/es2018/jodit.js +85 -58
  62. package/es2018/jodit.min.js +2 -2
  63. package/es2018/plugins/autocomplete/autocomplete.js +1 -1
  64. package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
  65. package/es2018/plugins/backup/backup.css +1 -1
  66. package/es2018/plugins/backup/backup.js +1 -1
  67. package/es2018/plugins/backup/backup.min.js +1 -1
  68. package/es2018/plugins/button-generator/button-generator.css +1 -1
  69. package/es2018/plugins/button-generator/button-generator.js +1 -1
  70. package/es2018/plugins/button-generator/button-generator.min.js +1 -1
  71. package/es2018/plugins/change-case/change-case.js +1 -1
  72. package/es2018/plugins/change-case/change-case.min.js +1 -1
  73. package/es2018/plugins/color-picker/color-picker.css +1 -1
  74. package/es2018/plugins/color-picker/color-picker.js +1 -1
  75. package/es2018/plugins/color-picker/color-picker.min.js +1 -1
  76. package/es2018/plugins/emoji/emoji.css +1 -1
  77. package/es2018/plugins/emoji/emoji.js +1 -1
  78. package/es2018/plugins/emoji/emoji.min.js +1 -1
  79. package/es2018/plugins/export-docs/export-docs.js +1 -1
  80. package/es2018/plugins/export-docs/export-docs.min.js +1 -1
  81. package/es2018/plugins/finder/finder.css +1 -1
  82. package/es2018/plugins/finder/finder.js +1 -1
  83. package/es2018/plugins/finder/finder.min.js +1 -1
  84. package/es2018/plugins/google-maps/google-maps.css +1 -1
  85. package/es2018/plugins/google-maps/google-maps.js +1 -1
  86. package/es2018/plugins/google-maps/google-maps.min.js +1 -1
  87. package/es2018/plugins/google-search/google-search.js +1 -1
  88. package/es2018/plugins/google-search/google-search.min.js +1 -1
  89. package/es2018/plugins/highlight-signature/highlight-signature.js +1 -1
  90. package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
  91. package/es2018/plugins/iframe-editor/iframe-editor.css +1 -1
  92. package/es2018/plugins/iframe-editor/iframe-editor.js +1 -1
  93. package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
  94. package/es2018/plugins/keyboard/keyboard.css +1 -1
  95. package/es2018/plugins/keyboard/keyboard.js +1 -1
  96. package/es2018/plugins/keyboard/keyboard.min.js +1 -1
  97. package/es2018/plugins/mobile-view/mobile-view.js +1 -1
  98. package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
  99. package/es2018/plugins/page-break/page-break.js +1 -1
  100. package/es2018/plugins/page-break/page-break.min.js +1 -1
  101. package/es2018/plugins/paste-code/paste-code.css +1 -1
  102. package/es2018/plugins/paste-code/paste-code.js +1 -1
  103. package/es2018/plugins/paste-code/paste-code.min.js +1 -1
  104. package/es2018/plugins/paste-from-word/paste-from-word.js +1 -1
  105. package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
  106. package/es2018/plugins/show-blocks/show-blocks.js +1 -1
  107. package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
  108. package/es2018/plugins/todo-list/todo-list.css +1 -1
  109. package/es2018/plugins/todo-list/todo-list.js +1 -1
  110. package/es2018/plugins/todo-list/todo-list.min.js +1 -1
  111. package/es2018/plugins/translate/translate.css +1 -1
  112. package/es2018/plugins/translate/translate.js +1 -1
  113. package/es2018/plugins/translate/translate.min.js +1 -1
  114. package/es2018/plugins/tune-block/tune-block.css +1 -1
  115. package/es2018/plugins/tune-block/tune-block.js +1 -1
  116. package/es2018/plugins/tune-block/tune-block.min.js +1 -1
  117. package/es2021/jodit.css +1 -1
  118. package/es2021/jodit.fat.min.js +2 -2
  119. package/es2021/jodit.js +85 -57
  120. package/es2021/jodit.min.js +2 -2
  121. package/es2021/plugins/autocomplete/autocomplete.js +1 -1
  122. package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
  123. package/es2021/plugins/backup/backup.css +1 -1
  124. package/es2021/plugins/backup/backup.js +1 -1
  125. package/es2021/plugins/backup/backup.min.js +1 -1
  126. package/es2021/plugins/button-generator/button-generator.css +1 -1
  127. package/es2021/plugins/button-generator/button-generator.js +1 -1
  128. package/es2021/plugins/button-generator/button-generator.min.js +1 -1
  129. package/es2021/plugins/change-case/change-case.js +1 -1
  130. package/es2021/plugins/change-case/change-case.min.js +1 -1
  131. package/es2021/plugins/color-picker/color-picker.css +1 -1
  132. package/es2021/plugins/color-picker/color-picker.js +1 -1
  133. package/es2021/plugins/color-picker/color-picker.min.js +1 -1
  134. package/es2021/plugins/emoji/emoji.css +1 -1
  135. package/es2021/plugins/emoji/emoji.js +1 -1
  136. package/es2021/plugins/emoji/emoji.min.js +1 -1
  137. package/es2021/plugins/export-docs/export-docs.js +1 -1
  138. package/es2021/plugins/export-docs/export-docs.min.js +1 -1
  139. package/es2021/plugins/finder/finder.css +1 -1
  140. package/es2021/plugins/finder/finder.js +1 -1
  141. package/es2021/plugins/finder/finder.min.js +1 -1
  142. package/es2021/plugins/google-maps/google-maps.css +1 -1
  143. package/es2021/plugins/google-maps/google-maps.js +1 -1
  144. package/es2021/plugins/google-maps/google-maps.min.js +1 -1
  145. package/es2021/plugins/google-search/google-search.js +1 -1
  146. package/es2021/plugins/google-search/google-search.min.js +1 -1
  147. package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
  148. package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
  149. package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
  150. package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
  151. package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
  152. package/es2021/plugins/keyboard/keyboard.css +1 -1
  153. package/es2021/plugins/keyboard/keyboard.js +1 -1
  154. package/es2021/plugins/keyboard/keyboard.min.js +1 -1
  155. package/es2021/plugins/mobile-view/mobile-view.js +1 -1
  156. package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
  157. package/es2021/plugins/page-break/page-break.js +1 -1
  158. package/es2021/plugins/page-break/page-break.min.js +1 -1
  159. package/es2021/plugins/paste-code/paste-code.css +1 -1
  160. package/es2021/plugins/paste-code/paste-code.js +1 -1
  161. package/es2021/plugins/paste-code/paste-code.min.js +1 -1
  162. package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
  163. package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
  164. package/es2021/plugins/show-blocks/show-blocks.js +1 -1
  165. package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
  166. package/es2021/plugins/todo-list/todo-list.css +1 -1
  167. package/es2021/plugins/todo-list/todo-list.js +1 -1
  168. package/es2021/plugins/todo-list/todo-list.min.js +1 -1
  169. package/es2021/plugins/translate/translate.css +1 -1
  170. package/es2021/plugins/translate/translate.js +1 -1
  171. package/es2021/plugins/translate/translate.min.js +1 -1
  172. package/es2021/plugins/tune-block/tune-block.css +1 -1
  173. package/es2021/plugins/tune-block/tune-block.js +1 -1
  174. package/es2021/plugins/tune-block/tune-block.min.js +1 -1
  175. package/es2021.en/jodit.css +1 -1
  176. package/es2021.en/jodit.fat.min.js +2 -2
  177. package/es2021.en/jodit.js +85 -57
  178. package/es2021.en/jodit.min.js +2 -2
  179. package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
  180. package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
  181. package/es2021.en/plugins/backup/backup.css +1 -1
  182. package/es2021.en/plugins/backup/backup.js +1 -1
  183. package/es2021.en/plugins/backup/backup.min.js +1 -1
  184. package/es2021.en/plugins/button-generator/button-generator.css +1 -1
  185. package/es2021.en/plugins/button-generator/button-generator.js +1 -1
  186. package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
  187. package/es2021.en/plugins/change-case/change-case.js +1 -1
  188. package/es2021.en/plugins/change-case/change-case.min.js +1 -1
  189. package/es2021.en/plugins/color-picker/color-picker.css +1 -1
  190. package/es2021.en/plugins/color-picker/color-picker.js +1 -1
  191. package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
  192. package/es2021.en/plugins/emoji/emoji.css +1 -1
  193. package/es2021.en/plugins/emoji/emoji.js +1 -1
  194. package/es2021.en/plugins/emoji/emoji.min.js +1 -1
  195. package/es2021.en/plugins/export-docs/export-docs.js +1 -1
  196. package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
  197. package/es2021.en/plugins/finder/finder.css +1 -1
  198. package/es2021.en/plugins/finder/finder.js +1 -1
  199. package/es2021.en/plugins/finder/finder.min.js +1 -1
  200. package/es2021.en/plugins/google-maps/google-maps.css +1 -1
  201. package/es2021.en/plugins/google-maps/google-maps.js +1 -1
  202. package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
  203. package/es2021.en/plugins/google-search/google-search.js +1 -1
  204. package/es2021.en/plugins/google-search/google-search.min.js +1 -1
  205. package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
  206. package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
  207. package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
  208. package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
  209. package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
  210. package/es2021.en/plugins/keyboard/keyboard.css +1 -1
  211. package/es2021.en/plugins/keyboard/keyboard.js +1 -1
  212. package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
  213. package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
  214. package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
  215. package/es2021.en/plugins/page-break/page-break.js +1 -1
  216. package/es2021.en/plugins/page-break/page-break.min.js +1 -1
  217. package/es2021.en/plugins/paste-code/paste-code.css +1 -1
  218. package/es2021.en/plugins/paste-code/paste-code.js +1 -1
  219. package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
  220. package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
  221. package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
  222. package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
  223. package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
  224. package/es2021.en/plugins/todo-list/todo-list.css +1 -1
  225. package/es2021.en/plugins/todo-list/todo-list.js +1 -1
  226. package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
  227. package/es2021.en/plugins/translate/translate.css +1 -1
  228. package/es2021.en/plugins/translate/translate.js +1 -1
  229. package/es2021.en/plugins/translate/translate.min.js +1 -1
  230. package/es2021.en/plugins/tune-block/tune-block.css +1 -1
  231. package/es2021.en/plugins/tune-block/tune-block.js +1 -1
  232. package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
  233. package/es5/jodit.css +2 -2
  234. package/es5/jodit.fat.min.js +2 -2
  235. package/es5/jodit.js +90 -59
  236. package/es5/jodit.min.css +2 -2
  237. package/es5/jodit.min.js +2 -2
  238. package/es5/plugins/autocomplete/autocomplete.js +1 -1
  239. package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
  240. package/es5/plugins/backup/backup.css +1 -1
  241. package/es5/plugins/backup/backup.js +1 -1
  242. package/es5/plugins/backup/backup.min.js +1 -1
  243. package/es5/plugins/button-generator/button-generator.css +1 -1
  244. package/es5/plugins/button-generator/button-generator.js +1 -1
  245. package/es5/plugins/button-generator/button-generator.min.js +1 -1
  246. package/es5/plugins/change-case/change-case.js +1 -1
  247. package/es5/plugins/change-case/change-case.min.js +1 -1
  248. package/es5/plugins/color-picker/color-picker.css +1 -1
  249. package/es5/plugins/color-picker/color-picker.js +1 -1
  250. package/es5/plugins/color-picker/color-picker.min.js +1 -1
  251. package/es5/plugins/emoji/emoji.css +1 -1
  252. package/es5/plugins/emoji/emoji.js +1 -1
  253. package/es5/plugins/emoji/emoji.min.js +1 -1
  254. package/es5/plugins/export-docs/export-docs.js +1 -1
  255. package/es5/plugins/export-docs/export-docs.min.js +1 -1
  256. package/es5/plugins/finder/finder.css +1 -1
  257. package/es5/plugins/finder/finder.js +1 -1
  258. package/es5/plugins/finder/finder.min.js +1 -1
  259. package/es5/plugins/google-maps/google-maps.css +1 -1
  260. package/es5/plugins/google-maps/google-maps.js +1 -1
  261. package/es5/plugins/google-maps/google-maps.min.js +1 -1
  262. package/es5/plugins/google-search/google-search.js +1 -1
  263. package/es5/plugins/google-search/google-search.min.js +1 -1
  264. package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
  265. package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
  266. package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
  267. package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
  268. package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
  269. package/es5/plugins/keyboard/keyboard.css +1 -1
  270. package/es5/plugins/keyboard/keyboard.js +1 -1
  271. package/es5/plugins/keyboard/keyboard.min.js +1 -1
  272. package/es5/plugins/mobile-view/mobile-view.js +1 -1
  273. package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
  274. package/es5/plugins/page-break/page-break.js +1 -1
  275. package/es5/plugins/page-break/page-break.min.js +1 -1
  276. package/es5/plugins/paste-code/paste-code.css +1 -1
  277. package/es5/plugins/paste-code/paste-code.js +1 -1
  278. package/es5/plugins/paste-code/paste-code.min.js +1 -1
  279. package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
  280. package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
  281. package/es5/plugins/show-blocks/show-blocks.js +1 -1
  282. package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
  283. package/es5/plugins/todo-list/todo-list.css +1 -1
  284. package/es5/plugins/todo-list/todo-list.js +1 -1
  285. package/es5/plugins/todo-list/todo-list.min.js +1 -1
  286. package/es5/plugins/translate/translate.css +1 -1
  287. package/es5/plugins/translate/translate.js +1 -1
  288. package/es5/plugins/translate/translate.min.js +1 -1
  289. package/es5/plugins/tune-block/tune-block.css +1 -1
  290. package/es5/plugins/tune-block/tune-block.js +1 -1
  291. package/es5/plugins/tune-block/tune-block.min.js +1 -1
  292. package/package.json +1 -1
package/es5/jodit.js CHANGED
@@ -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: v2.0.0-beta.18
4
+ * Version: v2.0.0-beta.21
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -7598,7 +7598,7 @@ __webpack_require__.r(__webpack_exports__);
7598
7598
  * Copyright (c) 2013-2023 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
7599
7599
  */
7600
7600
 
7601
- var APP_VERSION = "2.0.0-beta.18";
7601
+ var APP_VERSION = "2.0.0-beta.21";
7602
7602
  // eslint-disable-next-line prettier/prettier
7603
7603
  var ES = "es5";
7604
7604
  var IS_ES_MODERN = false;
@@ -9361,8 +9361,15 @@ var Dom = /** @class */ (function () {
9361
9361
  Dom.safeInsertNode = function (range, node) {
9362
9362
  range.collapsed || range.deleteContents();
9363
9363
  var child = Dom.isFragment(node) ? node.lastChild : node;
9364
- range.insertNode(node);
9365
- child && range.setStartBefore(child);
9364
+ if (range.startContainer === range.endContainer &&
9365
+ range.collapsed &&
9366
+ Dom.isTag(range.startContainer, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS)) {
9367
+ Dom.after(range.startContainer, node);
9368
+ }
9369
+ else {
9370
+ range.insertNode(node);
9371
+ child && range.setStartBefore(child);
9372
+ }
9366
9373
  range.collapse(true);
9367
9374
  // https://developer.mozilla.org/en-US/docs/Web/API/Range/insertNode
9368
9375
  // if the new node is to be added to a text Node, that Node is split at the
@@ -14863,25 +14870,29 @@ function reset(key) {
14863
14870
  /**
14864
14871
  * @module helpers/utils
14865
14872
  */
14866
- var inView = function (elm, root, doc) {
14873
+ /**
14874
+ * Check if element is in view
14875
+ */
14876
+ function inView(elm, root, doc) {
14867
14877
  var rect = elm.getBoundingClientRect(), el = elm;
14868
14878
  var top = rect.top, height = rect.height;
14869
- do {
14870
- if (el && el.parentNode) {
14871
- el = el.parentNode;
14872
- rect = el.getBoundingClientRect();
14873
- if (!(top <= rect.bottom)) {
14874
- return false;
14875
- }
14876
- // Check if the element is out of view due to a container scrolling
14877
- if (top + height <= rect.top) {
14878
- return false;
14879
- }
14879
+ while (el && el !== root && el.parentNode) {
14880
+ el = el.parentNode;
14881
+ rect = el.getBoundingClientRect();
14882
+ if (!(top <= rect.bottom)) {
14883
+ return false;
14880
14884
  }
14881
- } while (el && el !== root && el.parentNode);
14882
- // Check its within the document viewport
14885
+ // Check if the element is out of view due to a container scrolling
14886
+ if (top + height <= rect.top) {
14887
+ return false;
14888
+ }
14889
+ }
14890
+ // Check it's within the document viewport
14883
14891
  return (top <= ((doc.documentElement && doc.documentElement.clientHeight) || 0));
14884
- };
14892
+ }
14893
+ /**
14894
+ * Scroll element into view if it is not in view
14895
+ */
14885
14896
  function scrollIntoViewIfNeeded(elm, root, doc) {
14886
14897
  if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.isHTMLElement */ .i.isHTMLElement(elm) && !inView(elm, root, doc)) {
14887
14898
  if (root.clientHeight !== root.scrollHeight) {
@@ -16533,14 +16544,14 @@ var Selection = /** @class */ (function () {
16533
16544
  var left = range.cloneRange();
16534
16545
  left.collapse(true);
16535
16546
  var fakeLeft = this.j.createInside.fake();
16536
- left.insertNode(fakeLeft);
16547
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeInsertNode */ .i.safeInsertNode(left, fakeLeft);
16537
16548
  range.setStartBefore(fakeLeft);
16538
16549
  var result = [fakeLeft];
16539
16550
  if (!range.collapsed) {
16540
16551
  var right = range.cloneRange();
16541
16552
  right.collapse(false);
16542
16553
  var fakeRight = this.j.createInside.fake();
16543
- right.insertNode(fakeRight);
16554
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeInsertNode */ .i.safeInsertNode(right, fakeRight);
16544
16555
  range.setEndAfter(fakeRight);
16545
16556
  result.push(fakeRight);
16546
16557
  }
@@ -16778,7 +16789,6 @@ var Selection = /** @class */ (function () {
16778
16789
  }
16779
16790
  var sel = this.sel;
16780
16791
  this.j.history.snapshot.transaction(function () {
16781
- var _a;
16782
16792
  if (!_this.isCollapsed()) {
16783
16793
  _this.j.execCommand('Delete');
16784
16794
  }
@@ -16786,13 +16796,7 @@ var Selection = /** @class */ (function () {
16786
16796
  if (sel && sel.rangeCount) {
16787
16797
  var range = sel.getRangeAt(0);
16788
16798
  if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isOrContains */ .i.isOrContains(_this.area, range.commonAncestorContainer)) {
16789
- if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isTag */ .i.isTag(range.startContainer, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS) &&
16790
- range.collapsed) {
16791
- (_a = range.startContainer.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(node, range.startContainer);
16792
- }
16793
- else {
16794
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeInsertNode */ .i.safeInsertNode(range, node);
16795
- }
16799
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeInsertNode */ .i.safeInsertNode(range, node);
16796
16800
  }
16797
16801
  else {
16798
16802
  _this.area.appendChild(node);
@@ -16801,14 +16805,26 @@ var Selection = /** @class */ (function () {
16801
16805
  else {
16802
16806
  _this.area.appendChild(node);
16803
16807
  }
16808
+ var setCursor = function (node) {
16809
+ if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isBlock */ .i.isBlock(node)) {
16810
+ var child_1 = node.lastChild;
16811
+ if (child_1) {
16812
+ return setCursor(child_1);
16813
+ }
16814
+ }
16815
+ _this.setCursorAfter(node);
16816
+ };
16804
16817
  if (insertCursorAfter) {
16805
16818
  if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isFragment */ .i.isFragment(node)) {
16806
- child && _this.setCursorAfter(child);
16819
+ child && setCursor(child);
16807
16820
  }
16808
16821
  else {
16809
- _this.setCursorAfter(node);
16822
+ setCursor(node);
16810
16823
  }
16811
16824
  }
16825
+ if (_this.j.o.scrollToPastedContent) {
16826
+ (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.scrollIntoViewIfNeeded)(child !== null && child !== void 0 ? child : node, _this.j.editor, _this.doc);
16827
+ }
16812
16828
  });
16813
16829
  if (fireChange && this.j.events) {
16814
16830
  this.j.__imdSynchronizeValues();
@@ -21808,6 +21824,13 @@ var Icon = /** @class */ (function () {
21808
21824
 
21809
21825
 
21810
21826
 
21827
+ var EVENTS_FOR_AUTOCLOSE = [
21828
+ 'escape',
21829
+ 'cut',
21830
+ 'delete',
21831
+ 'backSpaceAfterDelete',
21832
+ 'beforeCommandDelete'
21833
+ ];
21811
21834
  var Popup = /** @class */ (function (_super) {
21812
21835
  (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__extends */ .ZT)(Popup, _super);
21813
21836
  function Popup(jodit, smart) {
@@ -22076,7 +22099,7 @@ var Popup = /** @class */ (function (_super) {
22076
22099
  jodit_core_global__WEBPACK_IMPORTED_MODULE_6__/* .eventEmitter.on */ .TB.on('closeAllPopups', this.close);
22077
22100
  if (this.smart) {
22078
22101
  this.j.e
22079
- .on('escape', this.close)
22102
+ .on(EVENTS_FOR_AUTOCLOSE, this.close)
22080
22103
  .on('mousedown touchstart', this.closeOnOutsideClick)
22081
22104
  .on(ow, 'mousedown touchstart', this.closeOnOutsideClick);
22082
22105
  }
@@ -22096,7 +22119,7 @@ var Popup = /** @class */ (function (_super) {
22096
22119
  jodit_core_global__WEBPACK_IMPORTED_MODULE_6__/* .eventEmitter.off */ .TB.off('closeAllPopups', this.close);
22097
22120
  if (this.smart) {
22098
22121
  this.j.e
22099
- .off('escape', this.close)
22122
+ .off(EVENTS_FOR_AUTOCLOSE, this.close)
22100
22123
  .off('mousedown touchstart', this.closeOnOutsideClick)
22101
22124
  .off(ow, 'mousedown touchstart', this.closeOnOutsideClick);
22102
22125
  }
@@ -23516,7 +23539,7 @@ var Jodit = /** @class */ (function (_super) {
23516
23539
  * ```
23517
23540
  */
23518
23541
  Jodit.prototype.execCommand = function (command, showUI, value) {
23519
- var _a;
23542
+ var _a, _b;
23520
23543
  var args = [];
23521
23544
  for (var _i = 3; _i < arguments.length; _i++) {
23522
23545
  args[_i - 3] = arguments[_i];
@@ -23548,7 +23571,14 @@ var Jodit = /** @class */ (function (_super) {
23548
23571
  * })
23549
23572
  * ```
23550
23573
  */
23551
- result = (_a = this.e).fire.apply(_a, (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__spreadArray */ .ev)(['beforeCommand', command, showUI, value], (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__read */ .CR)(args), false));
23574
+ result = (_a = this.e).fire.apply(_a, (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__spreadArray */ .ev)(["beforeCommand".concat((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.ucfirst)(command)), showUI,
23575
+ value], (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__read */ .CR)(args), false));
23576
+ if (result !== false) {
23577
+ result = (_b = this.e).fire.apply(_b, (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__spreadArray */ .ev)(['beforeCommand',
23578
+ command,
23579
+ showUI,
23580
+ value], (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__read */ .CR)(args), false));
23581
+ }
23552
23582
  if (result !== false) {
23553
23583
  result = this.__execCustomCommands.apply(this, (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__spreadArray */ .ev)([command, showUI, value], (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__read */ .CR)(args), false));
23554
23584
  }
@@ -39245,7 +39275,7 @@ var inlinePopup = /** @class */ (function (_super) {
39245
39275
  * Hide opened popup
39246
39276
  */
39247
39277
  inlinePopup.prototype.hidePopup = function (type) {
39248
- if (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isString)(type) || type === this.type) {
39278
+ if (this.popup.isOpened && (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isString)(type) || type === this.type)) {
39249
39279
  this.popup.close();
39250
39280
  }
39251
39281
  };
@@ -39415,7 +39445,7 @@ var inlinePopup = /** @class */ (function (_super) {
39415
39445
  (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_6__.wait)(function (ctx) { return !ctx.j.isLocked; })
39416
39446
  ], inlinePopup.prototype, "showPopup", null);
39417
39447
  (0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .gn)([
39418
- (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_6__.watch)(':clickEditor'),
39448
+ (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_6__.watch)([':clickEditor', ':beforeCommandDelete', ':backSpaceAfterDelete']),
39419
39449
  jodit_core_decorators__WEBPACK_IMPORTED_MODULE_6__.autobind
39420
39450
  ], inlinePopup.prototype, "hidePopup", null);
39421
39451
  (0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .gn)([
@@ -41523,6 +41553,7 @@ var _a;
41523
41553
 
41524
41554
  jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config.prototype.askBeforePasteHTML */ .D.prototype.askBeforePasteHTML = true;
41525
41555
  jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config.prototype.processPasteHTML */ .D.prototype.processPasteHTML = true;
41556
+ jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config.prototype.scrollToPastedContent */ .D.prototype.scrollToPastedContent = true;
41526
41557
  jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config.prototype.pasteHTMLActionList */ .D.prototype.pasteHTMLActionList = [
41527
41558
  { value: jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSERT_AS_HTML, text: 'Keep' },
41528
41559
  { value: jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSERT_AS_TEXT, text: 'Insert as Text' },
@@ -41862,7 +41893,7 @@ var paste = /** @class */ (function (_super) {
41862
41893
  text = result;
41863
41894
  }
41864
41895
  if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.isString)(text) || jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__/* .Dom.isNode */ .i.isNode(text)) {
41865
- this.insertByType(e, text, this.j.o.defaultActionOnPaste);
41896
+ this.__insertByType(e, text, this.j.o.defaultActionOnPaste);
41866
41897
  }
41867
41898
  e.preventDefault();
41868
41899
  e.stopPropagation();
@@ -41873,35 +41904,35 @@ var paste = /** @class */ (function (_super) {
41873
41904
  */
41874
41905
  paste.prototype.processHTML = function (e, html) {
41875
41906
  var _this = this;
41876
- if (this.j.o.askBeforePasteHTML) {
41877
- if (this.j.o.memorizeChoiceWhenPasteFragment) {
41878
- var cached = this.pasteStack.find(function (cachedItem) { return cachedItem.html === html; });
41879
- if (cached) {
41880
- this.insertByType(e, html, cached.action || this.j.o.defaultActionOnPaste);
41881
- return true;
41882
- }
41883
- }
41884
- if (this._isDialogOpened) {
41907
+ if (!this.j.o.askBeforePasteHTML) {
41908
+ return false;
41909
+ }
41910
+ if (this.j.o.memorizeChoiceWhenPasteFragment) {
41911
+ var cached = this.pasteStack.find(function (cachedItem) { return cachedItem.html === html; });
41912
+ if (cached) {
41913
+ this.__insertByType(e, html, cached.action || this.j.o.defaultActionOnPaste);
41885
41914
  return true;
41886
41915
  }
41887
- var dialog = (0,_helpers__WEBPACK_IMPORTED_MODULE_6__/* .askInsertTypeDialog */ .$t)(this.j, 'Your code is similar to HTML. Keep as HTML?', 'Paste as HTML', function (insertType) {
41888
- _this._isDialogOpened = false;
41889
- _this.insertByType(e, html, insertType);
41890
- }, this.j.o.pasteHTMLActionList);
41891
- if (dialog) {
41892
- this._isDialogOpened = true;
41893
- dialog.e.on('beforeClose', function () {
41894
- _this._isDialogOpened = false;
41895
- });
41896
- }
41916
+ }
41917
+ if (this._isDialogOpened) {
41897
41918
  return true;
41898
41919
  }
41899
- return false;
41920
+ var dialog = (0,_helpers__WEBPACK_IMPORTED_MODULE_6__/* .askInsertTypeDialog */ .$t)(this.j, 'Your code is similar to HTML. Keep as HTML?', 'Paste as HTML', function (insertType) {
41921
+ _this._isDialogOpened = false;
41922
+ _this.__insertByType(e, html, insertType);
41923
+ }, this.j.o.pasteHTMLActionList);
41924
+ if (dialog) {
41925
+ this._isDialogOpened = true;
41926
+ dialog.e.on('beforeClose', function () {
41927
+ _this._isDialogOpened = false;
41928
+ });
41929
+ }
41930
+ return true;
41900
41931
  };
41901
41932
  /**
41902
41933
  * Insert HTML by option type
41903
41934
  */
41904
- paste.prototype.insertByType = function (e, html, action) {
41935
+ paste.prototype.__insertByType = function (e, html, action) {
41905
41936
  this.pasteStack.push({ html: html, action: action });
41906
41937
  if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_4__.isString)(html)) {
41907
41938
  this.j.buffer.set(jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__.CLIPBOARD_ID, html);
package/es5/jodit.min.css CHANGED
@@ -1,14 +1,14 @@
1
1
  /*!
2
2
  * jodit-pro - PRO Version of Jodit Editor
3
3
  * Author: Chupurnov Valeriy <chupurnov@gmail.com>
4
- * Version: v2.0.0-beta.18
4
+ * Version: v2.0.0-beta.21
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
8
8
  /*!
9
9
  * jodit-pro - PRO Version of Jodit Editor
10
10
  * Author: Chupurnov Valeriy <chupurnov@gmail.com>
11
- * Version: v2.0.0-beta.18
11
+ * Version: v2.0.0-beta.21
12
12
  * Url: https://xdsoft.net/jodit/pro/
13
13
  * License(s): SEE LICENSE IN LICENSE.md
14
14
  */