jodit-pro 4.4.6 → 4.4.8

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 (295) hide show
  1. package/es2015/jodit.css +1 -1
  2. package/es2015/jodit.fat.min.js +2 -2
  3. package/es2015/jodit.js +76 -36
  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 +76 -36
  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 +76 -36
  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 +76 -36
  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 +83 -37
  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/esm/jodit-pro.js +1 -1
  293. package/esm/plugins/license/helpers/helpers.js +1 -1
  294. package/esm/plugins/license/license.js +1 -1
  295. package/package.json +1 -1
package/es2018/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: v4.4.6
4
+ * Version: v4.4.8
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -1644,7 +1644,7 @@ __webpack_require__.r(__webpack_exports__);
1644
1644
  * Jodit Editor (https://xdsoft.net/jodit/)
1645
1645
  * Released under MIT see LICENSE.txt in the project root for license information.
1646
1646
  * Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
1647
- */ const APP_VERSION = "4.4.7";
1647
+ */ const APP_VERSION = "4.4.8";
1648
1648
  // prettier-ignore
1649
1649
  const ES = "es2020";
1650
1650
  const IS_ES_MODERN = true;
@@ -2710,27 +2710,24 @@ function getPropertyDescriptor(obj, prop) {
2710
2710
  }
2711
2711
  }
2712
2712
  /**
2713
- * Wrap all inline siblings
2714
- */ static wrapInline(current, tag, editor) {
2715
- let tmp, first = current, last = current;
2713
+ * Wrap all inline next siblings
2714
+ */ static wrapNextInline(current, tag, editor) {
2715
+ let tmp;
2716
+ const first = current;
2717
+ let last = current;
2716
2718
  editor.s.save();
2717
2719
  let needFindNext = false;
2718
- do {
2719
- needFindNext = false;
2720
- tmp = first.previousSibling;
2721
- if (tmp && !Dom.isBlock(tmp)) {
2722
- needFindNext = true;
2723
- first = tmp;
2724
- }
2725
- }while (needFindNext)
2726
2720
  do {
2727
2721
  needFindNext = false;
2728
2722
  tmp = last.nextSibling;
2729
- if (tmp && !Dom.isBlock(tmp)) {
2723
+ if (tmp && !Dom.isBlock(tmp) && !Dom.isTag(tmp, 'br')) {
2730
2724
  needFindNext = true;
2731
2725
  last = tmp;
2732
2726
  }
2733
2727
  }while (needFindNext)
2728
+ return Dom.__wrapElements(tag, editor, first, last);
2729
+ }
2730
+ static __wrapElements(tag, editor, first, last) {
2734
2731
  const wrapper = (0,_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_2__/* .isString */ .Kg)(tag) ? editor.createInside.element(tag) : tag;
2735
2732
  if (first.parentNode) {
2736
2733
  first.parentNode.insertBefore(wrapper, first);
@@ -2747,6 +2744,32 @@ function getPropertyDescriptor(obj, prop) {
2747
2744
  editor.s.restore();
2748
2745
  return wrapper;
2749
2746
  }
2747
+ /**
2748
+ * Wrap all inline siblings
2749
+ */ static wrapInline(current, tag, editor) {
2750
+ let tmp;
2751
+ let first = current;
2752
+ let last = current;
2753
+ editor.s.save();
2754
+ let needFindNext = false;
2755
+ do {
2756
+ needFindNext = false;
2757
+ tmp = first.previousSibling;
2758
+ if (tmp && !Dom.isBlock(tmp)) {
2759
+ needFindNext = true;
2760
+ first = tmp;
2761
+ }
2762
+ }while (needFindNext)
2763
+ do {
2764
+ needFindNext = false;
2765
+ tmp = last.nextSibling;
2766
+ if (tmp && !Dom.isBlock(tmp)) {
2767
+ needFindNext = true;
2768
+ last = tmp;
2769
+ }
2770
+ }while (needFindNext)
2771
+ return Dom.__wrapElements(tag, editor, first, last);
2772
+ }
2750
2773
  /**
2751
2774
  * Wrap node inside another node
2752
2775
  */ static wrap(current, tag, create) {
@@ -35953,7 +35976,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__/* .Config */ .T.prototype.indentMargin =
35953
35976
  /* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(59230);
35954
35977
  /* harmony import */ var _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(50036);
35955
35978
  /* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29964);
35956
- /* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(30057);
35979
+ /* harmony import */ var _core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(33179);
35957
35980
  /* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(10589);
35958
35981
  /* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(73686);
35959
35982
  /*!
@@ -35966,6 +35989,22 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__/* .Config */ .T.prototype.indentMargin =
35966
35989
 
35967
35990
 
35968
35991
 
35992
+ const applyIndentToBox = (processedElements, currentBox, editor, command)=>{
35993
+ if (!currentBox) {
35994
+ return;
35995
+ }
35996
+ if (processedElements.has(currentBox)) {
35997
+ return;
35998
+ }
35999
+ const key = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_5__/* .getKey */ .i)(editor.o.direction, currentBox);
36000
+ processedElements.add(currentBox);
36001
+ let value = currentBox.style[key] ? parseInt(currentBox.style[key], 10) : 0;
36002
+ value += editor.o.indentMargin * (command === 'outdent' ? -1 : 1);
36003
+ currentBox.style[key] = value > 0 ? value + 'px' : '';
36004
+ if (!(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__/* .attr */ .CF)(currentBox, 'style')) {
36005
+ (0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__/* .attr */ .CF)(currentBox, 'style', null);
36006
+ }
36007
+ };
35969
36008
  /**
35970
36009
  * Indents the line containing the selection or insertion point.
35971
36010
  */ function indent(editor) {
@@ -35976,44 +36015,43 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__/* .Config */ .T.prototype.indentMargin =
35976
36015
  name: 'outdent',
35977
36016
  group: 'indent'
35978
36017
  });
35979
- const callback = (command)=>{
35980
- const processedElements = [];
36018
+ const indentCommand = (command)=>{
36019
+ const processedElements = new Set();
36020
+ const { enter, enterBlock } = editor.o;
36021
+ const isBrMode = enter.toLowerCase() === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.BR;
36022
+ const current = editor.s.current();
36023
+ if (isBrMode && editor.s.isCollapsed()) {
36024
+ if (current) {
36025
+ const box = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.wrapNextInline(current, enterBlock, editor);
36026
+ applyIndentToBox(processedElements, box, editor, command);
36027
+ return false;
36028
+ }
36029
+ }
35981
36030
  editor.s.eachSelection((current)=>{
35982
36031
  editor.s.save();
35983
36032
  let currentBox = current ? _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.up(current, _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isBlock, editor.editor) : false;
35984
- const { enter } = editor.o;
35985
36033
  if (!currentBox && current) {
35986
- currentBox = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.wrapInline(current, enter !== _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.BR ? enter : _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.PARAGRAPH, editor);
36034
+ currentBox = (0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__/* .call */ .T1)(!isBrMode ? _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.wrapInline : _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.wrapNextInline, current, !isBrMode ? enter.toLowerCase() : enterBlock, editor);
35987
36035
  }
35988
36036
  if (!currentBox) {
35989
36037
  editor.s.restore();
35990
36038
  return false;
35991
36039
  }
35992
- const alreadyIndented = processedElements.includes(currentBox);
35993
- if (currentBox && !alreadyIndented) {
35994
- const key = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_5__/* .getKey */ .i)(editor.o.direction, currentBox);
35995
- processedElements.push(currentBox);
35996
- let value = currentBox.style[key] ? parseInt(currentBox.style[key], 10) : 0;
35997
- value += editor.o.indentMargin * (command === 'outdent' ? -1 : 1);
35998
- currentBox.style[key] = value > 0 ? value + 'px' : '';
35999
- if (!(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(currentBox, 'style')) {
36000
- (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(currentBox, 'style', null);
36001
- }
36002
- }
36040
+ applyIndentToBox(processedElements, currentBox, editor, command);
36003
36041
  editor.s.restore();
36004
36042
  });
36005
36043
  editor.synchronizeValues();
36006
36044
  return false;
36007
36045
  };
36008
36046
  editor.registerCommand('indent', {
36009
- exec: callback,
36047
+ exec: indentCommand,
36010
36048
  hotkeys: [
36011
36049
  'ctrl+]',
36012
36050
  'cmd+]'
36013
36051
  ]
36014
36052
  });
36015
36053
  editor.registerCommand('outdent', {
36016
- exec: callback,
36054
+ exec: indentCommand,
36017
36055
  hotkeys: [
36018
36056
  'ctrl+[',
36019
36057
  'cmd+['
@@ -47062,7 +47100,7 @@ class JoditPro extends jodit_esm_index__WEBPACK_IMPORTED_MODULE_2__/* .Jodit */
47062
47100
  }
47063
47101
  afterInitHook() {
47064
47102
  (async () => {
47065
- if ((await this.e.fire('checkReserve')) !== 'normal') {
47103
+ if ((await this.e.fire('checkReserve', location.host)) !== 'normal') {
47066
47104
  if (this.isInDestruct) {
47067
47105
  return;
47068
47106
  }
@@ -47692,6 +47730,7 @@ class AutocompleteItem extends jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODUL
47692
47730
  * Validate license
47693
47731
  */
47694
47732
  function validateLicense(code, domain) {
47733
+ code = code.replace(/[^A-Z0-9-]/g, 'R');
47695
47734
  if (validateEntLicense(code)) {
47696
47735
  return true;
47697
47736
  }
@@ -47735,7 +47774,8 @@ function domainsHash(domain) {
47735
47774
  return String.fromCharCode(p[p.length - 1].charCodeAt(0) - 1);
47736
47775
  }
47737
47776
  return p[p.length - 1];
47738
- }));
47777
+ }))
47778
+ .map((p) => (p != null && /\w/.test(p) ? p : 'r'));
47739
47779
  }
47740
47780
 
47741
47781
 
@@ -47772,9 +47812,9 @@ class license extends jodit_esm_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_2__/
47772
47812
  }
47773
47813
  /** @override */
47774
47814
  afterInit(jodit) {
47775
- this.j.e.on('checkReserve', async () => {
47815
+ this.j.e.on('checkReserve', async (checkDomain) => {
47776
47816
  const code = this.j.o.license;
47777
- const domain = location.host;
47817
+ const domain = checkDomain;
47778
47818
  if (!(0,jodit_esm_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_4__/* .isString */ .K)(code)) {
47779
47819
  return '';
47780
47820
  }