jodit-pro 4.18.11 → 4.18.13

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 (342) hide show
  1. package/es2015/jodit.css +1 -1
  2. package/es2015/jodit.fat.min.js +6 -6
  3. package/es2015/jodit.js +237 -46
  4. package/es2015/jodit.min.js +14 -14
  5. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  6. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  7. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  8. package/es2015/plugins/autocomplete/autocomplete.css +1 -1
  9. package/es2015/plugins/autocomplete/autocomplete.js +1 -1
  10. package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
  11. package/es2015/plugins/backup/backup.css +1 -1
  12. package/es2015/plugins/backup/backup.js +1 -1
  13. package/es2015/plugins/backup/backup.min.js +1 -1
  14. package/es2015/plugins/button-generator/button-generator.css +1 -1
  15. package/es2015/plugins/button-generator/button-generator.js +1 -1
  16. package/es2015/plugins/button-generator/button-generator.min.js +1 -1
  17. package/es2015/plugins/change-case/change-case.js +1 -1
  18. package/es2015/plugins/change-case/change-case.min.js +1 -1
  19. package/es2015/plugins/chart/chart.css +1 -1
  20. package/es2015/plugins/chart/chart.js +1 -1
  21. package/es2015/plugins/chart/chart.min.js +1 -1
  22. package/es2015/plugins/color-picker/color-picker.css +1 -1
  23. package/es2015/plugins/color-picker/color-picker.js +1 -1
  24. package/es2015/plugins/color-picker/color-picker.min.js +1 -1
  25. package/es2015/plugins/emoji/emoji.css +1 -1
  26. package/es2015/plugins/emoji/emoji.js +1 -1
  27. package/es2015/plugins/emoji/emoji.min.js +1 -1
  28. package/es2015/plugins/export-docs/export-docs.js +1 -1
  29. package/es2015/plugins/export-docs/export-docs.min.js +1 -1
  30. package/es2015/plugins/finder/finder.css +1 -1
  31. package/es2015/plugins/finder/finder.js +1 -1
  32. package/es2015/plugins/finder/finder.min.js +1 -1
  33. package/es2015/plugins/google-maps/google-maps.css +1 -1
  34. package/es2015/plugins/google-maps/google-maps.js +1 -1
  35. package/es2015/plugins/google-maps/google-maps.min.js +1 -1
  36. package/es2015/plugins/google-search/google-search.js +1 -1
  37. package/es2015/plugins/google-search/google-search.min.js +1 -1
  38. package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
  39. package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
  40. package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
  41. package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
  42. package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
  43. package/es2015/plugins/image-editor-pro/image-editor-pro.css +1 -1
  44. package/es2015/plugins/image-editor-pro/image-editor-pro.js +1 -1
  45. package/es2015/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  46. package/es2015/plugins/keyboard/keyboard.css +1 -1
  47. package/es2015/plugins/keyboard/keyboard.js +1 -1
  48. package/es2015/plugins/keyboard/keyboard.min.js +1 -1
  49. package/es2015/plugins/math/math.css +1 -1
  50. package/es2015/plugins/math/math.js +1 -1
  51. package/es2015/plugins/math/math.min.js +1 -1
  52. package/es2015/plugins/mobile-view/mobile-view.js +1 -1
  53. package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
  54. package/es2015/plugins/page-break/page-break.js +1 -1
  55. package/es2015/plugins/page-break/page-break.min.js +1 -1
  56. package/es2015/plugins/paste-code/paste-code.css +1 -1
  57. package/es2015/plugins/paste-code/paste-code.js +1 -1
  58. package/es2015/plugins/paste-code/paste-code.min.js +1 -1
  59. package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
  60. package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
  61. package/es2015/plugins/show-blocks/show-blocks.js +1 -1
  62. package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
  63. package/es2015/plugins/style/style.css +1 -1
  64. package/es2015/plugins/style/style.js +1 -1
  65. package/es2015/plugins/style/style.min.js +1 -1
  66. package/es2015/plugins/templates/templates.css +1 -1
  67. package/es2015/plugins/templates/templates.js +1 -1
  68. package/es2015/plugins/templates/templates.min.js +1 -1
  69. package/es2015/plugins/todo-list/todo-list.css +1 -1
  70. package/es2015/plugins/todo-list/todo-list.js +1 -1
  71. package/es2015/plugins/todo-list/todo-list.min.js +1 -1
  72. package/es2015/plugins/translate/translate.css +1 -1
  73. package/es2015/plugins/translate/translate.js +1 -1
  74. package/es2015/plugins/translate/translate.min.js +1 -1
  75. package/es2015/plugins/tune-block/tune-block.css +1 -1
  76. package/es2015/plugins/tune-block/tune-block.js +1 -1
  77. package/es2015/plugins/tune-block/tune-block.min.js +1 -1
  78. package/es2018/jodit.fat.min.js +6 -6
  79. package/es2018/jodit.min.js +6 -6
  80. package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  81. package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
  82. package/es2018/plugins/backup/backup.min.js +1 -1
  83. package/es2018/plugins/button-generator/button-generator.min.js +1 -1
  84. package/es2018/plugins/change-case/change-case.min.js +1 -1
  85. package/es2018/plugins/chart/chart.min.js +1 -1
  86. package/es2018/plugins/color-picker/color-picker.min.js +1 -1
  87. package/es2018/plugins/emoji/emoji.min.js +1 -1
  88. package/es2018/plugins/export-docs/export-docs.min.js +1 -1
  89. package/es2018/plugins/finder/finder.min.js +1 -1
  90. package/es2018/plugins/google-maps/google-maps.min.js +1 -1
  91. package/es2018/plugins/google-search/google-search.min.js +1 -1
  92. package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
  93. package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
  94. package/es2018/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  95. package/es2018/plugins/keyboard/keyboard.min.js +1 -1
  96. package/es2018/plugins/math/math.min.js +1 -1
  97. package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
  98. package/es2018/plugins/page-break/page-break.min.js +1 -1
  99. package/es2018/plugins/paste-code/paste-code.min.js +1 -1
  100. package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
  101. package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
  102. package/es2018/plugins/style/style.min.js +1 -1
  103. package/es2018/plugins/templates/templates.min.js +1 -1
  104. package/es2018/plugins/todo-list/todo-list.min.js +1 -1
  105. package/es2018/plugins/translate/translate.min.js +1 -1
  106. package/es2018/plugins/tune-block/tune-block.min.js +1 -1
  107. package/es2021/jodit.css +1 -1
  108. package/es2021/jodit.fat.min.js +6 -6
  109. package/es2021/jodit.js +237 -46
  110. package/es2021/jodit.min.js +6 -6
  111. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  112. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  113. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  114. package/es2021/plugins/autocomplete/autocomplete.css +1 -1
  115. package/es2021/plugins/autocomplete/autocomplete.js +1 -1
  116. package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
  117. package/es2021/plugins/backup/backup.css +1 -1
  118. package/es2021/plugins/backup/backup.js +1 -1
  119. package/es2021/plugins/backup/backup.min.js +1 -1
  120. package/es2021/plugins/button-generator/button-generator.css +1 -1
  121. package/es2021/plugins/button-generator/button-generator.js +1 -1
  122. package/es2021/plugins/button-generator/button-generator.min.js +1 -1
  123. package/es2021/plugins/change-case/change-case.js +1 -1
  124. package/es2021/plugins/change-case/change-case.min.js +1 -1
  125. package/es2021/plugins/chart/chart.css +1 -1
  126. package/es2021/plugins/chart/chart.js +1 -1
  127. package/es2021/plugins/chart/chart.min.js +1 -1
  128. package/es2021/plugins/color-picker/color-picker.css +1 -1
  129. package/es2021/plugins/color-picker/color-picker.js +1 -1
  130. package/es2021/plugins/color-picker/color-picker.min.js +1 -1
  131. package/es2021/plugins/emoji/emoji.css +1 -1
  132. package/es2021/plugins/emoji/emoji.js +1 -1
  133. package/es2021/plugins/emoji/emoji.min.js +1 -1
  134. package/es2021/plugins/export-docs/export-docs.js +1 -1
  135. package/es2021/plugins/export-docs/export-docs.min.js +1 -1
  136. package/es2021/plugins/finder/finder.css +1 -1
  137. package/es2021/plugins/finder/finder.js +1 -1
  138. package/es2021/plugins/finder/finder.min.js +1 -1
  139. package/es2021/plugins/google-maps/google-maps.css +1 -1
  140. package/es2021/plugins/google-maps/google-maps.js +1 -1
  141. package/es2021/plugins/google-maps/google-maps.min.js +1 -1
  142. package/es2021/plugins/google-search/google-search.js +1 -1
  143. package/es2021/plugins/google-search/google-search.min.js +1 -1
  144. package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
  145. package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
  146. package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
  147. package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
  148. package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
  149. package/es2021/plugins/image-editor-pro/image-editor-pro.css +1 -1
  150. package/es2021/plugins/image-editor-pro/image-editor-pro.js +1 -1
  151. package/es2021/plugins/image-editor-pro/image-editor-pro.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/math/math.css +1 -1
  156. package/es2021/plugins/math/math.js +1 -1
  157. package/es2021/plugins/math/math.min.js +1 -1
  158. package/es2021/plugins/mobile-view/mobile-view.js +1 -1
  159. package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
  160. package/es2021/plugins/page-break/page-break.js +1 -1
  161. package/es2021/plugins/page-break/page-break.min.js +1 -1
  162. package/es2021/plugins/paste-code/paste-code.css +1 -1
  163. package/es2021/plugins/paste-code/paste-code.js +1 -1
  164. package/es2021/plugins/paste-code/paste-code.min.js +1 -1
  165. package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
  166. package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
  167. package/es2021/plugins/show-blocks/show-blocks.js +1 -1
  168. package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
  169. package/es2021/plugins/style/style.css +1 -1
  170. package/es2021/plugins/style/style.js +1 -1
  171. package/es2021/plugins/style/style.min.js +1 -1
  172. package/es2021/plugins/templates/templates.css +1 -1
  173. package/es2021/plugins/templates/templates.js +1 -1
  174. package/es2021/plugins/templates/templates.min.js +1 -1
  175. package/es2021/plugins/todo-list/todo-list.css +1 -1
  176. package/es2021/plugins/todo-list/todo-list.js +1 -1
  177. package/es2021/plugins/todo-list/todo-list.min.js +1 -1
  178. package/es2021/plugins/translate/translate.css +1 -1
  179. package/es2021/plugins/translate/translate.js +1 -1
  180. package/es2021/plugins/translate/translate.min.js +1 -1
  181. package/es2021/plugins/tune-block/tune-block.css +1 -1
  182. package/es2021/plugins/tune-block/tune-block.js +1 -1
  183. package/es2021/plugins/tune-block/tune-block.min.js +1 -1
  184. package/es2021.en/jodit.css +1 -1
  185. package/es2021.en/jodit.fat.min.js +6 -6
  186. package/es2021.en/jodit.js +237 -46
  187. package/es2021.en/jodit.min.js +6 -6
  188. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  189. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  190. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  191. package/es2021.en/plugins/autocomplete/autocomplete.css +1 -1
  192. package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
  193. package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
  194. package/es2021.en/plugins/backup/backup.css +1 -1
  195. package/es2021.en/plugins/backup/backup.js +1 -1
  196. package/es2021.en/plugins/backup/backup.min.js +1 -1
  197. package/es2021.en/plugins/button-generator/button-generator.css +1 -1
  198. package/es2021.en/plugins/button-generator/button-generator.js +1 -1
  199. package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
  200. package/es2021.en/plugins/change-case/change-case.js +1 -1
  201. package/es2021.en/plugins/change-case/change-case.min.js +1 -1
  202. package/es2021.en/plugins/chart/chart.css +1 -1
  203. package/es2021.en/plugins/chart/chart.js +1 -1
  204. package/es2021.en/plugins/chart/chart.min.js +1 -1
  205. package/es2021.en/plugins/color-picker/color-picker.css +1 -1
  206. package/es2021.en/plugins/color-picker/color-picker.js +1 -1
  207. package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
  208. package/es2021.en/plugins/emoji/emoji.css +1 -1
  209. package/es2021.en/plugins/emoji/emoji.js +1 -1
  210. package/es2021.en/plugins/emoji/emoji.min.js +1 -1
  211. package/es2021.en/plugins/export-docs/export-docs.js +1 -1
  212. package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
  213. package/es2021.en/plugins/finder/finder.css +1 -1
  214. package/es2021.en/plugins/finder/finder.js +1 -1
  215. package/es2021.en/plugins/finder/finder.min.js +1 -1
  216. package/es2021.en/plugins/google-maps/google-maps.css +1 -1
  217. package/es2021.en/plugins/google-maps/google-maps.js +1 -1
  218. package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
  219. package/es2021.en/plugins/google-search/google-search.js +1 -1
  220. package/es2021.en/plugins/google-search/google-search.min.js +1 -1
  221. package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
  222. package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
  223. package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
  224. package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
  225. package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
  226. package/es2021.en/plugins/image-editor-pro/image-editor-pro.css +1 -1
  227. package/es2021.en/plugins/image-editor-pro/image-editor-pro.js +1 -1
  228. package/es2021.en/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  229. package/es2021.en/plugins/keyboard/keyboard.css +1 -1
  230. package/es2021.en/plugins/keyboard/keyboard.js +1 -1
  231. package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
  232. package/es2021.en/plugins/math/math.css +1 -1
  233. package/es2021.en/plugins/math/math.js +1 -1
  234. package/es2021.en/plugins/math/math.min.js +1 -1
  235. package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
  236. package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
  237. package/es2021.en/plugins/page-break/page-break.js +1 -1
  238. package/es2021.en/plugins/page-break/page-break.min.js +1 -1
  239. package/es2021.en/plugins/paste-code/paste-code.css +1 -1
  240. package/es2021.en/plugins/paste-code/paste-code.js +1 -1
  241. package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
  242. package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
  243. package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
  244. package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
  245. package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
  246. package/es2021.en/plugins/style/style.css +1 -1
  247. package/es2021.en/plugins/style/style.js +1 -1
  248. package/es2021.en/plugins/style/style.min.js +1 -1
  249. package/es2021.en/plugins/templates/templates.css +1 -1
  250. package/es2021.en/plugins/templates/templates.js +1 -1
  251. package/es2021.en/plugins/templates/templates.min.js +1 -1
  252. package/es2021.en/plugins/todo-list/todo-list.css +1 -1
  253. package/es2021.en/plugins/todo-list/todo-list.js +1 -1
  254. package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
  255. package/es2021.en/plugins/translate/translate.css +1 -1
  256. package/es2021.en/plugins/translate/translate.js +1 -1
  257. package/es2021.en/plugins/translate/translate.min.js +1 -1
  258. package/es2021.en/plugins/tune-block/tune-block.css +1 -1
  259. package/es2021.en/plugins/tune-block/tune-block.js +1 -1
  260. package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
  261. package/es5/jodit.css +2 -2
  262. package/es5/jodit.fat.min.js +2 -2
  263. package/es5/jodit.js +245 -46
  264. package/es5/jodit.min.css +2 -2
  265. package/es5/jodit.min.js +2 -2
  266. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  267. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  268. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  269. package/es5/plugins/autocomplete/autocomplete.css +1 -1
  270. package/es5/plugins/autocomplete/autocomplete.js +1 -1
  271. package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
  272. package/es5/plugins/backup/backup.css +1 -1
  273. package/es5/plugins/backup/backup.js +1 -1
  274. package/es5/plugins/backup/backup.min.js +1 -1
  275. package/es5/plugins/button-generator/button-generator.css +1 -1
  276. package/es5/plugins/button-generator/button-generator.js +1 -1
  277. package/es5/plugins/button-generator/button-generator.min.js +1 -1
  278. package/es5/plugins/change-case/change-case.js +1 -1
  279. package/es5/plugins/change-case/change-case.min.js +1 -1
  280. package/es5/plugins/chart/chart.css +1 -1
  281. package/es5/plugins/chart/chart.js +1 -1
  282. package/es5/plugins/chart/chart.min.js +1 -1
  283. package/es5/plugins/color-picker/color-picker.css +1 -1
  284. package/es5/plugins/color-picker/color-picker.js +1 -1
  285. package/es5/plugins/color-picker/color-picker.min.js +1 -1
  286. package/es5/plugins/emoji/emoji.css +1 -1
  287. package/es5/plugins/emoji/emoji.js +1 -1
  288. package/es5/plugins/emoji/emoji.min.js +1 -1
  289. package/es5/plugins/export-docs/export-docs.js +1 -1
  290. package/es5/plugins/export-docs/export-docs.min.js +1 -1
  291. package/es5/plugins/finder/finder.css +1 -1
  292. package/es5/plugins/finder/finder.js +1 -1
  293. package/es5/plugins/finder/finder.min.js +1 -1
  294. package/es5/plugins/google-maps/google-maps.css +1 -1
  295. package/es5/plugins/google-maps/google-maps.js +1 -1
  296. package/es5/plugins/google-maps/google-maps.min.js +1 -1
  297. package/es5/plugins/google-search/google-search.js +1 -1
  298. package/es5/plugins/google-search/google-search.min.js +1 -1
  299. package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
  300. package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
  301. package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
  302. package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
  303. package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
  304. package/es5/plugins/image-editor-pro/image-editor-pro.css +1 -1
  305. package/es5/plugins/image-editor-pro/image-editor-pro.js +1 -1
  306. package/es5/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  307. package/es5/plugins/keyboard/keyboard.css +1 -1
  308. package/es5/plugins/keyboard/keyboard.js +1 -1
  309. package/es5/plugins/keyboard/keyboard.min.js +1 -1
  310. package/es5/plugins/math/math.css +1 -1
  311. package/es5/plugins/math/math.js +1 -1
  312. package/es5/plugins/math/math.min.js +1 -1
  313. package/es5/plugins/mobile-view/mobile-view.js +1 -1
  314. package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
  315. package/es5/plugins/page-break/page-break.js +1 -1
  316. package/es5/plugins/page-break/page-break.min.js +1 -1
  317. package/es5/plugins/paste-code/paste-code.css +1 -1
  318. package/es5/plugins/paste-code/paste-code.js +1 -1
  319. package/es5/plugins/paste-code/paste-code.min.js +1 -1
  320. package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
  321. package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
  322. package/es5/plugins/show-blocks/show-blocks.js +1 -1
  323. package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
  324. package/es5/plugins/style/style.css +1 -1
  325. package/es5/plugins/style/style.js +1 -1
  326. package/es5/plugins/style/style.min.js +1 -1
  327. package/es5/plugins/templates/templates.css +1 -1
  328. package/es5/plugins/templates/templates.js +1 -1
  329. package/es5/plugins/templates/templates.min.js +1 -1
  330. package/es5/plugins/todo-list/todo-list.css +1 -1
  331. package/es5/plugins/todo-list/todo-list.js +1 -1
  332. package/es5/plugins/todo-list/todo-list.min.js +1 -1
  333. package/es5/plugins/translate/translate.css +1 -1
  334. package/es5/plugins/translate/translate.js +1 -1
  335. package/es5/plugins/translate/translate.min.js +1 -1
  336. package/es5/plugins/tune-block/tune-block.css +1 -1
  337. package/es5/plugins/tune-block/tune-block.js +1 -1
  338. package/es5/plugins/tune-block/tune-block.min.js +1 -1
  339. package/es5/polyfills.fat.min.js +1 -1
  340. package/es5/polyfills.js +1 -1
  341. package/es5/polyfills.min.js +1 -1
  342. 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 Valerii <chupurnov@gmail.com>
4
- * Version: v4.18.11
4
+ * Version: v4.18.13
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -2331,7 +2331,7 @@ function _unsupported_iterable_to_array(o, minLen) {
2331
2331
  if (n === "Map" || n === "Set") return Array.from(n);
2332
2332
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
2333
2333
  }
2334
- var APP_VERSION = "4.18.11";
2334
+ var APP_VERSION = "4.18.13";
2335
2335
  // prettier-ignore
2336
2336
  var ES = "es5";
2337
2337
  var IS_ES_MODERN = false;
@@ -20789,6 +20789,12 @@ var UITooltip = UITooltip_1 = /*#__PURE__*/ function(UIElement) {
20789
20789
  if (!isOwn) {
20790
20790
  return;
20791
20791
  }
20792
+ // A dialog's `aria-label` is its title and a file input's names its
20793
+ // click target. Neither is a tooltip, and both boxes would put one off
20794
+ // the screen
20795
+ if ((0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_6__.attr)(e.target, 'role') === 'dialog' || _dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(e.target, 'input') && e.target.type === 'file') {
20796
+ return;
20797
+ }
20792
20798
  this.__currentTarget = e.target;
20793
20799
  var target = e.target;
20794
20800
  this.__open(function() {
@@ -28081,7 +28087,8 @@ function addClassNames(className, elm) {
28081
28087
  Controls: 'عناصر التحكم',
28082
28088
  'Start at...': 'البدء من...',
28083
28089
  'Start numbering at': 'بدء الترقيم من',
28084
- 'Number for the first item': 'رقم العنصر الأول'
28090
+ 'Number for the first item': 'رقم العنصر الأول',
28091
+ Close: 'إغلاق'
28085
28092
  });
28086
28093
 
28087
28094
 
@@ -28325,7 +28332,8 @@ function addClassNames(className, elm) {
28325
28332
  Controls: 'İdarəetmə elementləri',
28326
28333
  'Start at...': 'Başlanğıc nömrəsi...',
28327
28334
  'Start numbering at': 'Nömrələmənin başlanğıcı',
28328
- 'Number for the first item': 'Birinci bəndin nömrəsi'
28335
+ 'Number for the first item': 'Birinci bəndin nömrəsi',
28336
+ Close: 'Bağla'
28329
28337
  });
28330
28338
 
28331
28339
 
@@ -28561,7 +28569,8 @@ function addClassNames(className, elm) {
28561
28569
  Controls: 'Ovládací prvky',
28562
28570
  'Start at...': 'Začít od...',
28563
28571
  'Start numbering at': 'Začít číslování od',
28564
- 'Number for the first item': 'Číslo první položky'
28572
+ 'Number for the first item': 'Číslo první položky',
28573
+ Close: 'Zavřít'
28565
28574
  });
28566
28575
 
28567
28576
 
@@ -28801,7 +28810,8 @@ function addClassNames(className, elm) {
28801
28810
  Controls: 'Steuerelemente',
28802
28811
  'Start at...': 'Beginnen bei...',
28803
28812
  'Start numbering at': 'Nummerierung beginnen bei',
28804
- 'Number for the first item': 'Nummer des ersten Eintrags'
28813
+ 'Number for the first item': 'Nummer des ersten Eintrags',
28814
+ Close: 'Schließen'
28805
28815
  });
28806
28816
 
28807
28817
 
@@ -29058,7 +29068,8 @@ function addClassNames(className, elm) {
29058
29068
  Controls: 'Controles',
29059
29069
  'Start at...': 'Empezar en...',
29060
29070
  'Start numbering at': 'Empezar la numeración en',
29061
- 'Number for the first item': 'Número del primer elemento'
29071
+ 'Number for the first item': 'Número del primer elemento',
29072
+ Close: 'Cerrar'
29062
29073
  });
29063
29074
 
29064
29075
 
@@ -29293,7 +29304,8 @@ function addClassNames(className, elm) {
29293
29304
  Controls: 'کنترل‌ها',
29294
29305
  'Start at...': 'شروع از...',
29295
29306
  'Start numbering at': 'شروع شماره‌گذاری از',
29296
- 'Number for the first item': 'شماره‌ی نخستین مورد'
29307
+ 'Number for the first item': 'شماره‌ی نخستین مورد',
29308
+ Close: 'بستن'
29297
29309
  });
29298
29310
 
29299
29311
 
@@ -29534,7 +29546,8 @@ function addClassNames(className, elm) {
29534
29546
  Controls: 'Säätimet',
29535
29547
  'Start at...': 'Aloita numerosta...',
29536
29548
  'Start numbering at': 'Aloita numerointi numerosta',
29537
- 'Number for the first item': 'Ensimmäisen kohdan numero'
29549
+ 'Number for the first item': 'Ensimmäisen kohdan numero',
29550
+ Close: 'Sulje'
29538
29551
  });
29539
29552
 
29540
29553
 
@@ -29769,7 +29782,8 @@ function addClassNames(className, elm) {
29769
29782
  Controls: 'Commandes',
29770
29783
  'Start at...': 'Commencer à...',
29771
29784
  'Start numbering at': 'Commencer la numérotation à',
29772
- 'Number for the first item': 'Numéro du premier élément'
29785
+ 'Number for the first item': 'Numéro du premier élément',
29786
+ Close: 'Fermer'
29773
29787
  });
29774
29788
 
29775
29789
 
@@ -30004,7 +30018,8 @@ function addClassNames(className, elm) {
30004
30018
  Controls: 'פקדים',
30005
30019
  'Start at...': 'התחל מ...',
30006
30020
  'Start numbering at': 'התחל מספור מ',
30007
- 'Number for the first item': 'מספר הפריט הראשון'
30021
+ 'Number for the first item': 'מספר הפריט הראשון',
30022
+ Close: 'סגור'
30008
30023
  });
30009
30024
 
30010
30025
 
@@ -30241,7 +30256,8 @@ function addClassNames(className, elm) {
30241
30256
  Controls: 'Vezérlők',
30242
30257
  'Start at...': 'Kezdőszám...',
30243
30258
  'Start numbering at': 'Számozás kezdőértéke',
30244
- 'Number for the first item': 'Az első elem száma'
30259
+ 'Number for the first item': 'Az első elem száma',
30260
+ Close: 'Bezárás'
30245
30261
  });
30246
30262
 
30247
30263
 
@@ -30477,7 +30493,8 @@ function addClassNames(className, elm) {
30477
30493
  Controls: 'Kontrol',
30478
30494
  'Start at...': 'Mulai dari...',
30479
30495
  'Start numbering at': 'Mulai penomoran dari',
30480
- 'Number for the first item': 'Nomor untuk item pertama'
30496
+ 'Number for the first item': 'Nomor untuk item pertama',
30497
+ Close: 'Tutup'
30481
30498
  });
30482
30499
 
30483
30500
 
@@ -30717,7 +30734,8 @@ function addClassNames(className, elm) {
30717
30734
  Controls: 'Controlli',
30718
30735
  'Start at...': 'Inizia da...',
30719
30736
  'Start numbering at': 'Inizia la numerazione da',
30720
- 'Number for the first item': 'Numero del primo elemento'
30737
+ 'Number for the first item': 'Numero del primo elemento',
30738
+ Close: 'Chiudi'
30721
30739
  });
30722
30740
 
30723
30741
 
@@ -30957,7 +30975,8 @@ function addClassNames(className, elm) {
30957
30975
  Controls: 'コントロール',
30958
30976
  'Start at...': '開始番号...',
30959
30977
  'Start numbering at': '番号の開始値',
30960
- 'Number for the first item': '最初の項目の番号'
30978
+ 'Number for the first item': '最初の項目の番号',
30979
+ Close: '閉じる'
30961
30980
  });
30962
30981
 
30963
30982
 
@@ -31203,7 +31222,8 @@ function addClassNames(className, elm) {
31203
31222
  Controls: '컨트롤',
31204
31223
  'Start at...': '시작 번호...',
31205
31224
  'Start numbering at': '번호 매기기 시작 값',
31206
- 'Number for the first item': '첫 번째 항목의 번호'
31225
+ 'Number for the first item': '첫 번째 항목의 번호',
31226
+ Close: '닫기'
31207
31227
  });
31208
31228
 
31209
31229
 
@@ -31438,7 +31458,8 @@ function addClassNames(className, elm) {
31438
31458
  Controls: 'Удирдлага',
31439
31459
  'Start at...': 'Эхлэх дугаар...',
31440
31460
  'Start numbering at': 'Дугаарлалт эхлэх',
31441
- 'Number for the first item': 'Эхний зүйлийн дугаар'
31461
+ 'Number for the first item': 'Эхний зүйлийн дугаар',
31462
+ Close: 'Хаах'
31442
31463
  });
31443
31464
 
31444
31465
 
@@ -31674,7 +31695,8 @@ function addClassNames(className, elm) {
31674
31695
  Controls: 'Bedieningselementen',
31675
31696
  'Start at...': 'Beginnen bij...',
31676
31697
  'Start numbering at': 'Nummering beginnen bij',
31677
- 'Number for the first item': 'Nummer van het eerste item'
31698
+ 'Number for the first item': 'Nummer van het eerste item',
31699
+ Close: 'Sluiten'
31678
31700
  });
31679
31701
 
31680
31702
 
@@ -31918,7 +31940,8 @@ function addClassNames(className, elm) {
31918
31940
  Controls: 'Kontroller',
31919
31941
  'Start at...': 'Start på...',
31920
31942
  'Start numbering at': 'Start nummereringen på',
31921
- 'Number for the first item': 'Nummer for første punkt'
31943
+ 'Number for the first item': 'Nummer for første punkt',
31944
+ Close: 'Lukk'
31922
31945
  });
31923
31946
 
31924
31947
 
@@ -32153,7 +32176,8 @@ function addClassNames(className, elm) {
32153
32176
  Controls: 'Elementy sterujące',
32154
32177
  'Start at...': 'Zacznij od...',
32155
32178
  'Start numbering at': 'Rozpocznij numerowanie od',
32156
- 'Number for the first item': 'Numer pierwszego elementu'
32179
+ 'Number for the first item': 'Numer pierwszego elementu',
32180
+ Close: 'Zamknij'
32157
32181
  });
32158
32182
 
32159
32183
 
@@ -32393,7 +32417,8 @@ function addClassNames(className, elm) {
32393
32417
  Controls: 'Controles',
32394
32418
  'Start at...': 'Começar em...',
32395
32419
  'Start numbering at': 'Começar a numeração em',
32396
- 'Number for the first item': 'Número do primeiro item'
32420
+ 'Number for the first item': 'Número do primeiro item',
32421
+ Close: 'Fechar'
32397
32422
  });
32398
32423
 
32399
32424
 
@@ -32627,7 +32652,8 @@ function addClassNames(className, elm) {
32627
32652
  Controls: 'Элементы управления',
32628
32653
  'Start at...': 'Начать с...',
32629
32654
  'Start numbering at': 'Начать нумерацию с',
32630
- 'Number for the first item': 'Номер первого пункта'
32655
+ 'Number for the first item': 'Номер первого пункта',
32656
+ Close: 'Закрыть'
32631
32657
  });
32632
32658
 
32633
32659
 
@@ -32869,7 +32895,8 @@ function addClassNames(className, elm) {
32869
32895
  Controls: 'Ovládacie prvky',
32870
32896
  'Start at...': 'Začať od...',
32871
32897
  'Start numbering at': 'Začať číslovanie od',
32872
- 'Number for the first item': 'Číslo prvej položky'
32898
+ 'Number for the first item': 'Číslo prvej položky',
32899
+ Close: 'Zavrieť'
32873
32900
  });
32874
32901
 
32875
32902
 
@@ -33112,7 +33139,8 @@ function addClassNames(className, elm) {
33112
33139
  Controls: 'Kontroller',
33113
33140
  'Start at...': 'Börja på...',
33114
33141
  'Start numbering at': 'Börja numreringen på',
33115
- 'Number for the first item': 'Nummer för första punkten'
33142
+ 'Number for the first item': 'Nummer för första punkten',
33143
+ Close: 'Stäng'
33116
33144
  });
33117
33145
 
33118
33146
 
@@ -33347,7 +33375,8 @@ function addClassNames(className, elm) {
33347
33375
  Controls: 'Kontroller',
33348
33376
  'Start at...': 'Başlangıç numarası...',
33349
33377
  'Start numbering at': 'Numaralandırma başlangıcı',
33350
- 'Number for the first item': 'İlk öğenin numarası'
33378
+ 'Number for the first item': 'İlk öğenin numarası',
33379
+ Close: 'Kapat'
33351
33380
  });
33352
33381
 
33353
33382
 
@@ -33581,7 +33610,8 @@ function addClassNames(className, elm) {
33581
33610
  Controls: 'Елементи керування',
33582
33611
  'Start at...': 'Почати з...',
33583
33612
  'Start numbering at': 'Почати нумерацію з',
33584
- 'Number for the first item': 'Номер першого пункту'
33613
+ 'Number for the first item': 'Номер першого пункту',
33614
+ Close: 'Закрити'
33585
33615
  });
33586
33616
 
33587
33617
 
@@ -33817,7 +33847,8 @@ function addClassNames(className, elm) {
33817
33847
  Controls: '播放控件',
33818
33848
  'Start at...': '起始于...',
33819
33849
  'Start numbering at': '编号起始值',
33820
- 'Number for the first item': '第一项的编号'
33850
+ 'Number for the first item': '第一项的编号',
33851
+ Close: '关闭'
33821
33852
  });
33822
33853
 
33823
33854
 
@@ -34052,7 +34083,8 @@ function addClassNames(className, elm) {
34052
34083
  Controls: '播放控制項',
34053
34084
  'Start at...': '起始於...',
34054
34085
  'Start numbering at': '編號起始值',
34055
- 'Number for the first item': '第一項的編號'
34086
+ 'Number for the first item': '第一項的編號',
34087
+ Close: '關閉'
34056
34088
  });
34057
34089
 
34058
34090
 
@@ -34662,6 +34694,11 @@ var Dialog_1;
34662
34694
 
34663
34695
 
34664
34696
 
34697
+ /**
34698
+ * A position from 0 up to `max`, or 0 when the panel is larger than the window
34699
+ */ var clampToWindow = function clampToWindow(value, max) {
34700
+ return Math.max(0, Math.min(value, max));
34701
+ };
34665
34702
  _config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.dialog = {
34666
34703
  namespace: '',
34667
34704
  extraButtons: [],
@@ -34681,6 +34718,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.dialog = {
34681
34718
  _config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.controls.dialog = {
34682
34719
  close: {
34683
34720
  icon: 'cancel',
34721
+ tooltip: 'Close',
34684
34722
  exec: function exec(dialog) {
34685
34723
  dialog.close();
34686
34724
  }
@@ -34872,6 +34910,11 @@ _config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.controls.dialog = {
34872
34910
  this.startY = e.clientY;
34873
34911
  this.startPoint.x = (0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.css)(this.dialog, 'left');
34874
34912
  this.startPoint.y = (0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.css)(this.dialog, 'top');
34913
+ // Rounded up: at the right edge a fraction of a pixel less room would
34914
+ // wrap the header of a panel that has no width of its own
34915
+ var _this_dialog_getBoundingClientRect = this.dialog.getBoundingClientRect(), width = _this_dialog_getBoundingClientRect.width, height = _this_dialog_getBoundingClientRect.height;
34916
+ this.startPoint.w = Math.ceil(width);
34917
+ this.startPoint.h = Math.ceil(height);
34875
34918
  this.setMaxZIndex();
34876
34919
  if (e.cancelable) {
34877
34920
  e.preventDefault();
@@ -34890,7 +34933,11 @@ _config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.controls.dialog = {
34890
34933
  key: "__onMouseMove",
34891
34934
  value: function __onMouseMove(e) {
34892
34935
  if (this.draggable && this.o.draggable) {
34893
- this.setPosition(this.startPoint.x + e.clientX - this.startX, this.startPoint.y + e.clientY - this.startY);
34936
+ var documentElement = this.od.documentElement;
34937
+ // Keep the whole panel in the window at the size it had when the
34938
+ // drag began. A panel with no width of its own would otherwise
34939
+ // shrink as it neared the right edge, and then leave the window
34940
+ this.setPosition(clampToWindow(this.startPoint.x + e.clientX - this.startX, (documentElement.clientWidth || this.ow.innerWidth) - this.startPoint.w), clampToWindow(this.startPoint.y + e.clientY - this.startY, (documentElement.clientHeight || this.ow.innerHeight) - this.startPoint.h));
34894
34941
  if (this.e) {
34895
34942
  /**
34896
34943
  * Fired when dialog box is moved
@@ -35040,8 +35087,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.controls.dialog = {
35040
35087
  }
35041
35088
  // strings on purpose: `css()` would truncate fractional pixels
35042
35089
  ;(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.css)(this.dialog, {
35043
- left: (x || left) + 'px',
35044
- top: (y || top) + 'px'
35090
+ left: (x !== null && x !== void 0 ? x : left) + 'px',
35091
+ top: (y !== null && y !== void 0 ? y : top) + 'px'
35045
35092
  });
35046
35093
  return this;
35047
35094
  }
@@ -46709,8 +46756,21 @@ var UiAiAssistant = /*#__PURE__*/ function(UIElement) {
46709
46756
  _this.__toggleSubmitButton(true);
46710
46757
  }
46711
46758
  };
46712
- _this.__submitButton = (0,_core_ui_index_js__WEBPACK_IMPORTED_MODULE_4__.Button)(jodit, 'ai-assistant', '').onAction(onSubmit);
46713
- _this.__tryAgainButton = (0,_core_ui_index_js__WEBPACK_IMPORTED_MODULE_4__.Button)(jodit, 'update', '', 'initial').onAction(onSubmit);
46759
+ _this.__submitButton = (0,_core_ui_index_js__WEBPACK_IMPORTED_MODULE_4__.Button)(jodit, {
46760
+ icon: {
46761
+ name: 'ai-assistant'
46762
+ },
46763
+ name: 'ai-assistant',
46764
+ tooltip: 'Submit'
46765
+ }).onAction(onSubmit);
46766
+ _this.__tryAgainButton = (0,_core_ui_index_js__WEBPACK_IMPORTED_MODULE_4__.Button)(jodit, {
46767
+ icon: {
46768
+ name: 'update'
46769
+ },
46770
+ name: 'update',
46771
+ tooltip: 'Try Again',
46772
+ variant: 'initial'
46773
+ }).onAction(onSubmit);
46714
46774
  _this.promptInput = new _core_ui_index_js__WEBPACK_IMPORTED_MODULE_4__.UITextArea(jodit, {
46715
46775
  name: 'prompt',
46716
46776
  required: true,
@@ -47345,6 +47405,9 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('backspace', backs
47345
47405
  * Check if two separate elements can be connected
47346
47406
  * @private
47347
47407
  */ function checkJoinNeighbors(jodit, fakeNode, backspace) {
47408
+ if (checkJoinBareText(jodit, fakeNode, backspace)) {
47409
+ return true;
47410
+ }
47348
47411
  var nextBox = fakeNode, mainClosestBox = nextBox;
47349
47412
  // Find the main big closest element
47350
47413
  while(nextBox && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.findNotEmptySibling(nextBox, backspace) && nextBox.parentElement !== jodit.editor){
@@ -47372,7 +47435,7 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('backspace', backs
47372
47435
  return true;
47373
47436
  }
47374
47437
  var box = findCaretBox(fakeNode, mainClosestBox);
47375
- if (sibling && (checkPullNextLine(jodit, fakeNode, box, sibling, backspace) || checkMoveListContent(jodit, box, sibling, backspace) || moveContentAndRemoveEmpty(jodit, box, findEdgeBlock(resolveTableSibling(sibling, backspace), backspace, jodit.editor), backspace))) {
47438
+ if (sibling && (checkPullNextLine(jodit, fakeNode, box, sibling, backspace) || checkMoveListContent(jodit, box, sibling, backspace) || checkJoinInlineSibling(jodit, box, sibling, backspace) || moveContentAndRemoveEmpty(jodit, box, findEdgeBlock(resolveTableSibling(sibling, backspace), backspace, jodit.editor), backspace))) {
47376
47439
  jodit.s.setCursorBefore(fakeNode);
47377
47440
  return true;
47378
47441
  }
@@ -47459,6 +47522,74 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('backspace', backs
47459
47522
  }
47460
47523
  return true;
47461
47524
  }
47525
+ /**
47526
+ * A block next to bare text in the same parent joins that text, as the
47527
+ * browsers do: `<li>one<p>|two</p></li>` gives `<li>one|two</li>`, and
47528
+ * `<li><p>one|</p>two</li>` gives `<li><p>one|two</p></li>`
47529
+ * @private
47530
+ */ function checkJoinInlineSibling(jodit, box, sibling, backspace) {
47531
+ if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(sibling) || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(box) || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isList(box) || // The caret's block is nested deeper than the text: `text<div><p>|x</p></div>`
47532
+ box.parentNode !== sibling.parentNode || Array.from(box.childNodes).some(function(node) {
47533
+ return _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(node);
47534
+ })) {
47535
+ return false;
47536
+ }
47537
+ if (backspace) {
47538
+ // Text after the block keeps its own line
47539
+ var next = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.findNotEmptySibling(box, false);
47540
+ if (next && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(next) && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(next, 'br')) {
47541
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.after(box, jodit.createInside.element('br'));
47542
+ }
47543
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.unwrap(box);
47544
+ return true;
47545
+ }
47546
+ var filter = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_2__.getMoveFilter)(jodit);
47547
+ for(var node = sibling; node && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(node);){
47548
+ var next1 = node.nextSibling;
47549
+ if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(node, 'br')) {
47550
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(node);
47551
+ break;
47552
+ }
47553
+ filter(node) ? _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.append(box, node) : _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(node);
47554
+ node = next1;
47555
+ }
47556
+ return true;
47557
+ }
47558
+ /**
47559
+ * Bare text next to a block in the same parent, as the browsers join them:
47560
+ * Backspace in `<div><p>a</p>|b</div>` gives `<div><p>a|b</p></div>`, Delete
47561
+ * in `<div>a|<p>b</p>c</div>` gives `<div>a|b<br>c</div>`
47562
+ */ function checkJoinBareText(jodit, fakeNode, backspace) {
47563
+ var block = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.findNotEmptySibling(fakeNode, backspace);
47564
+ if (!_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isElement(block) || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(block) || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isList(block) || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(block, 'table') || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isCell(block) || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isContentEditable(block, jodit.editor) || Array.from(block.childNodes).some(function(node) {
47565
+ return _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(node);
47566
+ })) {
47567
+ return false;
47568
+ }
47569
+ var filter = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_2__.getMoveFilter)(jodit);
47570
+ if (backspace) {
47571
+ // The caret's line goes to the end of the block before it
47572
+ for(var node = fakeNode; node && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(node);){
47573
+ var next = node.nextSibling;
47574
+ if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(node, 'br')) {
47575
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(node);
47576
+ break;
47577
+ }
47578
+ filter(node) ? _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.append(block, node) : _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(node);
47579
+ node = next;
47580
+ }
47581
+ } else {
47582
+ // The block's content joins the caret's line, and text after the
47583
+ // block keeps its own line
47584
+ var next1 = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.findNotEmptySibling(block, false);
47585
+ if (next1 && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(next1) && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(next1, 'br')) {
47586
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.after(block, jodit.createInside.element('br'));
47587
+ }
47588
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.unwrap(block);
47589
+ }
47590
+ jodit.s.setCursorBefore(fakeNode);
47591
+ return true;
47592
+ }
47462
47593
  function checkMoveListContent(jodit, mainClosestBox, sibling, backspace) {
47463
47594
  // Process UL/LI/OL cases
47464
47595
  var siblingIsList = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(sibling, _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.LIST_TAGS);
@@ -47665,10 +47796,11 @@ function getNextInlineSibling(sibling, backspace, root) {
47665
47796
  var nextSibling = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.sibling(sibling, backspace);
47666
47797
  if (!nextSibling && sibling.parentNode && sibling.parentNode !== root) {
47667
47798
  nextSibling = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_3__.findMostNestedNeighbor)(sibling, !backspace, root, true);
47668
- // Do not cross a list-item boundary. At the start of a list item the
47669
- // neighbor can be the text of the parent/previous item; deleting a char
47670
- // there is wrong — the list cases must handle the outdent/merge (#1277).
47671
- if (nextSibling && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(sibling, 'li', root) !== _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(nextSibling, 'li', root)) {
47799
+ // Do not cross a block boundary. At the start of a list item the
47800
+ // neighbor can be the text of the parent/previous item (#1277), and at
47801
+ // the start of a paragraph the text before it in the same parent
47802
+ // (#1693); deleting a char there is wrong — the join cases handle them.
47803
+ if (nextSibling && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(sibling, _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock, root) !== _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(nextSibling, _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock, root)) {
47672
47804
  return null;
47673
47805
  }
47674
47806
  }
@@ -48032,6 +48164,68 @@ function isSpace(char) {
48032
48164
  }
48033
48165
 
48034
48166
 
48167
+ /***/ }),
48168
+
48169
+ /***/ 70921:
48170
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
48171
+
48172
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
48173
+ /* harmony export */ checkUnwrapListItem: function() { return /* binding */ checkUnwrapListItem; }
48174
+ /* harmony export */ });
48175
+ /* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
48176
+ /*!
48177
+ * Jodit Editor (https://xdsoft.net/jodit/)
48178
+ * Released under MIT see LICENSE.txt in the project root for license information.
48179
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
48180
+ */
48181
+ /**
48182
+ * Backspace at the start of a later list item takes the bullet off, as Word
48183
+ * does: the item becomes a paragraph where it was, and the list is split
48184
+ * around it. A split `<ol>` carries its numbering on with `start`.
48185
+ *
48186
+ * @example
48187
+ * ```html
48188
+ * <ol><li>first</li><li>|second</li><li>third</li></ol>
48189
+ * ```
48190
+ * Result
48191
+ * ```html
48192
+ * <ol><li>first</li></ol><p>|second</p><ol start="2"><li>third</li></ol>
48193
+ * ```
48194
+ *
48195
+ * @private
48196
+ */ function checkUnwrapListItem(jodit, fakeNode, backspace) {
48197
+ if (!backspace) {
48198
+ return false;
48199
+ }
48200
+ var li = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(fakeNode, 'li', jodit.editor);
48201
+ var list = li ? li.parentElement : null;
48202
+ if (!li || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isList(list) || !li.previousElementSibling || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmpty(li) || Array.from(li.childNodes).some(function(node) {
48203
+ return _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock(node);
48204
+ }) || !jodit.s.cursorInTheEdge(true, li)) {
48205
+ return false;
48206
+ }
48207
+ var p = jodit.createInside.element(jodit.o.enterBlock);
48208
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(list, p);
48209
+ if (li.nextElementSibling) {
48210
+ var rest = list.cloneNode(false);
48211
+ // Two lists cannot share one id
48212
+ rest.removeAttribute('id');
48213
+ while(li.nextSibling){
48214
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.append(rest, li.nextSibling);
48215
+ }
48216
+ if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(list, 'ol')) {
48217
+ var start = parseInt(list.getAttribute('start') || '1', 10) || 1;
48218
+ rest.setAttribute('start', String(start + list.children.length - 1));
48219
+ }
48220
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(p, rest);
48221
+ }
48222
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.moveContent(li, p);
48223
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(li);
48224
+ jodit.s.setCursorBefore(fakeNode);
48225
+ return true;
48226
+ }
48227
+
48228
+
48035
48229
  /***/ }),
48036
48230
 
48037
48231
  /***/ 14630:
@@ -48050,6 +48244,7 @@ function isSpace(char) {
48050
48244
  /* harmony import */ var _check_remove_unbreakable_element_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(56825);
48051
48245
  /* harmony import */ var _check_table_cell_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(90240);
48052
48246
  /* harmony import */ var _check_unwrap_first_list_item_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(68034);
48247
+ /* harmony import */ var _check_unwrap_list_item_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(70921);
48053
48248
  function _array_like_to_array(arr, len) {
48054
48249
  if (len == null || len > arr.length) len = arr.length;
48055
48250
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
@@ -48109,6 +48304,7 @@ function _unsupported_iterable_to_array(o, minLen) {
48109
48304
 
48110
48305
 
48111
48306
 
48307
+
48112
48308
  /**
48113
48309
  * Ordered delete/backspace cases with stable keys. The first one returning
48114
48310
  * `true` wins. The keys are stable across minified builds (function names are
@@ -48143,6 +48339,10 @@ function _unsupported_iterable_to_array(o, minLen) {
48143
48339
  'join-two-lists',
48144
48340
  _check_join_two_lists_js__WEBPACK_IMPORTED_MODULE_1__.checkJoinTwoLists
48145
48341
  ],
48342
+ [
48343
+ 'unwrap-list-item',
48344
+ _check_unwrap_list_item_js__WEBPACK_IMPORTED_MODULE_9__.checkUnwrapListItem
48345
+ ],
48146
48346
  [
48147
48347
  'join-neighbors',
48148
48348
  _check_join_neighbors_js__WEBPACK_IMPORTED_MODULE_0__.checkJoinNeighbors
@@ -48399,13 +48599,13 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.controls.subscript = {
48399
48599
  tags: [
48400
48600
  'sub'
48401
48601
  ],
48402
- tooltip: 'subscript'
48602
+ tooltip: 'Subscript'
48403
48603
  };
48404
48604
  _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.controls.superscript = {
48405
48605
  tags: [
48406
48606
  'sup'
48407
48607
  ],
48408
- tooltip: 'superscript'
48608
+ tooltip: 'Superscript'
48409
48609
  };
48410
48610
  _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.controls.bold = {
48411
48611
  tagRegExp: /^(strong|b)$/i,
@@ -53117,7 +53317,7 @@ function _wrap_native_super(Class) {
53117
53317
  ]);
53118
53318
  var block = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_6__.getBlockWrapper)(fake, jodit);
53119
53319
  var isLi = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isLeaf(block);
53120
- // if use <br> defaultTag for break line or when was entered SHIFt key or in <td> or <th> or <blockquote>
53320
+ // if use <br> defaultTag for break line or when was entered SHIFt key or in <td>, <th> or <blockquote> without an inner block
53121
53321
  if ((!isLi || (event === null || event === void 0 ? void 0 : event.shiftKey)) && (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_6__.checkBR)(fake, jodit, event === null || event === void 0 ? void 0 : event.shiftKey, block)) {
53122
53322
  return false;
53123
53323
  }
@@ -53187,10 +53387,9 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_3__.pluginSystem.add('enter', enter);
53187
53387
  * Checks the possibility and necessity of inserting a BR instead of a block
53188
53388
  * @private
53189
53389
  */ function checkBR(fake, jodit, shiftKeyPressed, block) {
53190
- var isMultiLineBlock = Boolean(_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(fake, [
53191
- 'pre',
53192
- 'blockquote'
53193
- ], jodit.editor));
53390
+ // Text in a <pre>, or bare text in a quote, gets a BR. A real block inside
53391
+ // a quote (<p>, <h3>, ...) is split like anywhere else, as in a cell below.
53392
+ var isMultiLineBlock = Boolean(_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(fake, 'pre', jodit.editor)) || (block ? _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(block, 'blockquote') : Boolean(_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(fake, 'blockquote', jodit.editor)));
53194
53393
  // A cell itself can't be split into two cells, so bare cell content gets
53195
53394
  // a BR. But when the cell already holds a real block (<p>, <h3>, ...) that
53196
53395
  // block is split like anywhere else, otherwise every line of the cell
@@ -53200,7 +53399,7 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_3__.pluginSystem.add('enter', enter);
53200
53399
  'th'
53201
53400
  ], jodit.editor)));
53202
53401
  var isBRMode = jodit.o.enter.toLowerCase() === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.BR.toLowerCase();
53203
- // if you use <br> defaultTag for break line or when was entered SHIFt key or in <td> or <th> or <blockquote>
53402
+ // if you use <br> defaultTag for break line or when was entered SHIFt key or in <td>, <th> or <blockquote> without an inner block
53204
53403
  if (isBRMode || isCell || shiftKeyPressed && !isMultiLineBlock || !shiftKeyPressed && isMultiLineBlock) {
53205
53404
  // 2 BR before
53206
53405
  if (isMultiLineBlock && checkSeveralBR(fake)) {
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 Valerii <chupurnov@gmail.com>
4
- * Version: v4.18.11
4
+ * Version: v4.18.13
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 Valerii <chupurnov@gmail.com>
11
- * Version: v4.18.11
11
+ * Version: v4.18.13
12
12
  * Url: https://xdsoft.net/jodit/pro/
13
13
  * License(s): SEE LICENSE IN LICENSE.md
14
14
  */