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/es2021/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
  */
@@ -1766,7 +1766,7 @@ __webpack_require__.r(__webpack_exports__);
1766
1766
  * ```
1767
1767
  * @packageDocumentation
1768
1768
  * @module constants
1769
- */ const APP_VERSION = "4.18.11";
1769
+ */ const APP_VERSION = "4.18.13";
1770
1770
  // prettier-ignore
1771
1771
  const ES = "es2021";
1772
1772
  const IS_ES_MODERN = true;
@@ -15073,6 +15073,12 @@ let UITooltip = UITooltip_1 = class UITooltip extends _element_js__WEBPACK_IMPOR
15073
15073
  if (!isOwn) {
15074
15074
  return;
15075
15075
  }
15076
+ // A dialog's `aria-label` is its title and a file input's names its
15077
+ // click target. Neither is a tooltip, and both boxes would put one off
15078
+ // the screen
15079
+ 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') {
15080
+ return;
15081
+ }
15076
15082
  this.__currentTarget = e.target;
15077
15083
  const target = e.target;
15078
15084
  this.__open(()=>{
@@ -19497,7 +19503,8 @@ function addClassNames(className, elm) {
19497
19503
  Controls: 'عناصر التحكم',
19498
19504
  'Start at...': 'البدء من...',
19499
19505
  'Start numbering at': 'بدء الترقيم من',
19500
- 'Number for the first item': 'رقم العنصر الأول'
19506
+ 'Number for the first item': 'رقم العنصر الأول',
19507
+ Close: 'إغلاق'
19501
19508
  });
19502
19509
 
19503
19510
 
@@ -19741,7 +19748,8 @@ function addClassNames(className, elm) {
19741
19748
  Controls: 'İdarəetmə elementləri',
19742
19749
  'Start at...': 'Başlanğıc nömrəsi...',
19743
19750
  'Start numbering at': 'Nömrələmənin başlanğıcı',
19744
- 'Number for the first item': 'Birinci bəndin nömrəsi'
19751
+ 'Number for the first item': 'Birinci bəndin nömrəsi',
19752
+ Close: 'Bağla'
19745
19753
  });
19746
19754
 
19747
19755
 
@@ -19977,7 +19985,8 @@ function addClassNames(className, elm) {
19977
19985
  Controls: 'Ovládací prvky',
19978
19986
  'Start at...': 'Začít od...',
19979
19987
  'Start numbering at': 'Začít číslování od',
19980
- 'Number for the first item': 'Číslo první položky'
19988
+ 'Number for the first item': 'Číslo první položky',
19989
+ Close: 'Zavřít'
19981
19990
  });
19982
19991
 
19983
19992
 
@@ -20217,7 +20226,8 @@ function addClassNames(className, elm) {
20217
20226
  Controls: 'Steuerelemente',
20218
20227
  'Start at...': 'Beginnen bei...',
20219
20228
  'Start numbering at': 'Nummerierung beginnen bei',
20220
- 'Number for the first item': 'Nummer des ersten Eintrags'
20229
+ 'Number for the first item': 'Nummer des ersten Eintrags',
20230
+ Close: 'Schließen'
20221
20231
  });
20222
20232
 
20223
20233
 
@@ -20474,7 +20484,8 @@ function addClassNames(className, elm) {
20474
20484
  Controls: 'Controles',
20475
20485
  'Start at...': 'Empezar en...',
20476
20486
  'Start numbering at': 'Empezar la numeración en',
20477
- 'Number for the first item': 'Número del primer elemento'
20487
+ 'Number for the first item': 'Número del primer elemento',
20488
+ Close: 'Cerrar'
20478
20489
  });
20479
20490
 
20480
20491
 
@@ -20709,7 +20720,8 @@ function addClassNames(className, elm) {
20709
20720
  Controls: 'کنترل‌ها',
20710
20721
  'Start at...': 'شروع از...',
20711
20722
  'Start numbering at': 'شروع شماره‌گذاری از',
20712
- 'Number for the first item': 'شماره‌ی نخستین مورد'
20723
+ 'Number for the first item': 'شماره‌ی نخستین مورد',
20724
+ Close: 'بستن'
20713
20725
  });
20714
20726
 
20715
20727
 
@@ -20950,7 +20962,8 @@ function addClassNames(className, elm) {
20950
20962
  Controls: 'Säätimet',
20951
20963
  'Start at...': 'Aloita numerosta...',
20952
20964
  'Start numbering at': 'Aloita numerointi numerosta',
20953
- 'Number for the first item': 'Ensimmäisen kohdan numero'
20965
+ 'Number for the first item': 'Ensimmäisen kohdan numero',
20966
+ Close: 'Sulje'
20954
20967
  });
20955
20968
 
20956
20969
 
@@ -21185,7 +21198,8 @@ function addClassNames(className, elm) {
21185
21198
  Controls: 'Commandes',
21186
21199
  'Start at...': 'Commencer à...',
21187
21200
  'Start numbering at': 'Commencer la numérotation à',
21188
- 'Number for the first item': 'Numéro du premier élément'
21201
+ 'Number for the first item': 'Numéro du premier élément',
21202
+ Close: 'Fermer'
21189
21203
  });
21190
21204
 
21191
21205
 
@@ -21420,7 +21434,8 @@ function addClassNames(className, elm) {
21420
21434
  Controls: 'פקדים',
21421
21435
  'Start at...': 'התחל מ...',
21422
21436
  'Start numbering at': 'התחל מספור מ',
21423
- 'Number for the first item': 'מספר הפריט הראשון'
21437
+ 'Number for the first item': 'מספר הפריט הראשון',
21438
+ Close: 'סגור'
21424
21439
  });
21425
21440
 
21426
21441
 
@@ -21657,7 +21672,8 @@ function addClassNames(className, elm) {
21657
21672
  Controls: 'Vezérlők',
21658
21673
  'Start at...': 'Kezdőszám...',
21659
21674
  'Start numbering at': 'Számozás kezdőértéke',
21660
- 'Number for the first item': 'Az első elem száma'
21675
+ 'Number for the first item': 'Az első elem száma',
21676
+ Close: 'Bezárás'
21661
21677
  });
21662
21678
 
21663
21679
 
@@ -21893,7 +21909,8 @@ function addClassNames(className, elm) {
21893
21909
  Controls: 'Kontrol',
21894
21910
  'Start at...': 'Mulai dari...',
21895
21911
  'Start numbering at': 'Mulai penomoran dari',
21896
- 'Number for the first item': 'Nomor untuk item pertama'
21912
+ 'Number for the first item': 'Nomor untuk item pertama',
21913
+ Close: 'Tutup'
21897
21914
  });
21898
21915
 
21899
21916
 
@@ -22133,7 +22150,8 @@ function addClassNames(className, elm) {
22133
22150
  Controls: 'Controlli',
22134
22151
  'Start at...': 'Inizia da...',
22135
22152
  'Start numbering at': 'Inizia la numerazione da',
22136
- 'Number for the first item': 'Numero del primo elemento'
22153
+ 'Number for the first item': 'Numero del primo elemento',
22154
+ Close: 'Chiudi'
22137
22155
  });
22138
22156
 
22139
22157
 
@@ -22373,7 +22391,8 @@ function addClassNames(className, elm) {
22373
22391
  Controls: 'コントロール',
22374
22392
  'Start at...': '開始番号...',
22375
22393
  'Start numbering at': '番号の開始値',
22376
- 'Number for the first item': '最初の項目の番号'
22394
+ 'Number for the first item': '最初の項目の番号',
22395
+ Close: '閉じる'
22377
22396
  });
22378
22397
 
22379
22398
 
@@ -22619,7 +22638,8 @@ function addClassNames(className, elm) {
22619
22638
  Controls: '컨트롤',
22620
22639
  'Start at...': '시작 번호...',
22621
22640
  'Start numbering at': '번호 매기기 시작 값',
22622
- 'Number for the first item': '첫 번째 항목의 번호'
22641
+ 'Number for the first item': '첫 번째 항목의 번호',
22642
+ Close: '닫기'
22623
22643
  });
22624
22644
 
22625
22645
 
@@ -22854,7 +22874,8 @@ function addClassNames(className, elm) {
22854
22874
  Controls: 'Удирдлага',
22855
22875
  'Start at...': 'Эхлэх дугаар...',
22856
22876
  'Start numbering at': 'Дугаарлалт эхлэх',
22857
- 'Number for the first item': 'Эхний зүйлийн дугаар'
22877
+ 'Number for the first item': 'Эхний зүйлийн дугаар',
22878
+ Close: 'Хаах'
22858
22879
  });
22859
22880
 
22860
22881
 
@@ -23090,7 +23111,8 @@ function addClassNames(className, elm) {
23090
23111
  Controls: 'Bedieningselementen',
23091
23112
  'Start at...': 'Beginnen bij...',
23092
23113
  'Start numbering at': 'Nummering beginnen bij',
23093
- 'Number for the first item': 'Nummer van het eerste item'
23114
+ 'Number for the first item': 'Nummer van het eerste item',
23115
+ Close: 'Sluiten'
23094
23116
  });
23095
23117
 
23096
23118
 
@@ -23334,7 +23356,8 @@ function addClassNames(className, elm) {
23334
23356
  Controls: 'Kontroller',
23335
23357
  'Start at...': 'Start på...',
23336
23358
  'Start numbering at': 'Start nummereringen på',
23337
- 'Number for the first item': 'Nummer for første punkt'
23359
+ 'Number for the first item': 'Nummer for første punkt',
23360
+ Close: 'Lukk'
23338
23361
  });
23339
23362
 
23340
23363
 
@@ -23569,7 +23592,8 @@ function addClassNames(className, elm) {
23569
23592
  Controls: 'Elementy sterujące',
23570
23593
  'Start at...': 'Zacznij od...',
23571
23594
  'Start numbering at': 'Rozpocznij numerowanie od',
23572
- 'Number for the first item': 'Numer pierwszego elementu'
23595
+ 'Number for the first item': 'Numer pierwszego elementu',
23596
+ Close: 'Zamknij'
23573
23597
  });
23574
23598
 
23575
23599
 
@@ -23809,7 +23833,8 @@ function addClassNames(className, elm) {
23809
23833
  Controls: 'Controles',
23810
23834
  'Start at...': 'Começar em...',
23811
23835
  'Start numbering at': 'Começar a numeração em',
23812
- 'Number for the first item': 'Número do primeiro item'
23836
+ 'Number for the first item': 'Número do primeiro item',
23837
+ Close: 'Fechar'
23813
23838
  });
23814
23839
 
23815
23840
 
@@ -24043,7 +24068,8 @@ function addClassNames(className, elm) {
24043
24068
  Controls: 'Элементы управления',
24044
24069
  'Start at...': 'Начать с...',
24045
24070
  'Start numbering at': 'Начать нумерацию с',
24046
- 'Number for the first item': 'Номер первого пункта'
24071
+ 'Number for the first item': 'Номер первого пункта',
24072
+ Close: 'Закрыть'
24047
24073
  });
24048
24074
 
24049
24075
 
@@ -24285,7 +24311,8 @@ function addClassNames(className, elm) {
24285
24311
  Controls: 'Ovládacie prvky',
24286
24312
  'Start at...': 'Začať od...',
24287
24313
  'Start numbering at': 'Začať číslovanie od',
24288
- 'Number for the first item': 'Číslo prvej položky'
24314
+ 'Number for the first item': 'Číslo prvej položky',
24315
+ Close: 'Zavrieť'
24289
24316
  });
24290
24317
 
24291
24318
 
@@ -24528,7 +24555,8 @@ function addClassNames(className, elm) {
24528
24555
  Controls: 'Kontroller',
24529
24556
  'Start at...': 'Börja på...',
24530
24557
  'Start numbering at': 'Börja numreringen på',
24531
- 'Number for the first item': 'Nummer för första punkten'
24558
+ 'Number for the first item': 'Nummer för första punkten',
24559
+ Close: 'Stäng'
24532
24560
  });
24533
24561
 
24534
24562
 
@@ -24763,7 +24791,8 @@ function addClassNames(className, elm) {
24763
24791
  Controls: 'Kontroller',
24764
24792
  'Start at...': 'Başlangıç numarası...',
24765
24793
  'Start numbering at': 'Numaralandırma başlangıcı',
24766
- 'Number for the first item': 'İlk öğenin numarası'
24794
+ 'Number for the first item': 'İlk öğenin numarası',
24795
+ Close: 'Kapat'
24767
24796
  });
24768
24797
 
24769
24798
 
@@ -24997,7 +25026,8 @@ function addClassNames(className, elm) {
24997
25026
  Controls: 'Елементи керування',
24998
25027
  'Start at...': 'Почати з...',
24999
25028
  'Start numbering at': 'Почати нумерацію з',
25000
- 'Number for the first item': 'Номер першого пункту'
25029
+ 'Number for the first item': 'Номер першого пункту',
25030
+ Close: 'Закрити'
25001
25031
  });
25002
25032
 
25003
25033
 
@@ -25233,7 +25263,8 @@ function addClassNames(className, elm) {
25233
25263
  Controls: '播放控件',
25234
25264
  'Start at...': '起始于...',
25235
25265
  'Start numbering at': '编号起始值',
25236
- 'Number for the first item': '第一项的编号'
25266
+ 'Number for the first item': '第一项的编号',
25267
+ Close: '关闭'
25237
25268
  });
25238
25269
 
25239
25270
 
@@ -25468,7 +25499,8 @@ function addClassNames(className, elm) {
25468
25499
  Controls: '播放控制項',
25469
25500
  'Start at...': '起始於...',
25470
25501
  'Start numbering at': '編號起始值',
25471
- 'Number for the first item': '第一項的編號'
25502
+ 'Number for the first item': '第一項的編號',
25503
+ Close: '關閉'
25472
25504
  });
25473
25505
 
25474
25506
 
@@ -25840,6 +25872,9 @@ var Dialog_1;
25840
25872
 
25841
25873
 
25842
25874
 
25875
+ /**
25876
+ * A position from 0 up to `max`, or 0 when the panel is larger than the window
25877
+ */ const clampToWindow = (value, max)=>Math.max(0, Math.min(value, max));
25843
25878
  _config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.dialog = {
25844
25879
  namespace: '',
25845
25880
  extraButtons: [],
@@ -25859,6 +25894,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.dialog = {
25859
25894
  _config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.controls.dialog = {
25860
25895
  close: {
25861
25896
  icon: 'cancel',
25897
+ tooltip: 'Close',
25862
25898
  exec: (dialog)=>{
25863
25899
  dialog.close();
25864
25900
  }
@@ -25932,6 +25968,11 @@ _config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.controls.dialog = {
25932
25968
  this.startY = e.clientY;
25933
25969
  this.startPoint.x = (0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.css)(this.dialog, 'left');
25934
25970
  this.startPoint.y = (0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.css)(this.dialog, 'top');
25971
+ // Rounded up: at the right edge a fraction of a pixel less room would
25972
+ // wrap the header of a panel that has no width of its own
25973
+ const { width, height } = this.dialog.getBoundingClientRect();
25974
+ this.startPoint.w = Math.ceil(width);
25975
+ this.startPoint.h = Math.ceil(height);
25935
25976
  this.setMaxZIndex();
25936
25977
  if (e.cancelable) {
25937
25978
  e.preventDefault();
@@ -25947,7 +25988,11 @@ _config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.controls.dialog = {
25947
25988
  }
25948
25989
  __onMouseMove(e) {
25949
25990
  if (this.draggable && this.o.draggable) {
25950
- this.setPosition(this.startPoint.x + e.clientX - this.startX, this.startPoint.y + e.clientY - this.startY);
25991
+ const { documentElement } = this.od;
25992
+ // Keep the whole panel in the window at the size it had when the
25993
+ // drag began. A panel with no width of its own would otherwise
25994
+ // shrink as it neared the right edge, and then leave the window
25995
+ 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));
25951
25996
  if (this.e) {
25952
25997
  /**
25953
25998
  * Fired when dialog box is moved
@@ -26073,8 +26118,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.controls.dialog = {
26073
26118
  }
26074
26119
  // strings on purpose: `css()` would truncate fractional pixels
26075
26120
  ;(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.css)(this.dialog, {
26076
- left: (x || left) + 'px',
26077
- top: (y || top) + 'px'
26121
+ left: (x !== null && x !== void 0 ? x : left) + 'px',
26122
+ top: (y !== null && y !== void 0 ? y : top) + 'px'
26078
26123
  });
26079
26124
  return this;
26080
26125
  }
@@ -34037,8 +34082,21 @@ let UiAiAssistant = class UiAiAssistant extends _core_ui_element_js__WEBPACK_IMP
34037
34082
  this.__toggleSubmitButton(true);
34038
34083
  }
34039
34084
  };
34040
- this.__submitButton = (0,_core_ui_index_js__WEBPACK_IMPORTED_MODULE_4__.Button)(jodit, 'ai-assistant', '').onAction(onSubmit);
34041
- this.__tryAgainButton = (0,_core_ui_index_js__WEBPACK_IMPORTED_MODULE_4__.Button)(jodit, 'update', '', 'initial').onAction(onSubmit);
34085
+ this.__submitButton = (0,_core_ui_index_js__WEBPACK_IMPORTED_MODULE_4__.Button)(jodit, {
34086
+ icon: {
34087
+ name: 'ai-assistant'
34088
+ },
34089
+ name: 'ai-assistant',
34090
+ tooltip: 'Submit'
34091
+ }).onAction(onSubmit);
34092
+ this.__tryAgainButton = (0,_core_ui_index_js__WEBPACK_IMPORTED_MODULE_4__.Button)(jodit, {
34093
+ icon: {
34094
+ name: 'update'
34095
+ },
34096
+ name: 'update',
34097
+ tooltip: 'Try Again',
34098
+ variant: 'initial'
34099
+ }).onAction(onSubmit);
34042
34100
  this.promptInput = new _core_ui_index_js__WEBPACK_IMPORTED_MODULE_4__.UITextArea(jodit, {
34043
34101
  name: 'prompt',
34044
34102
  required: true,
@@ -34400,6 +34458,9 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('backspace', backs
34400
34458
  * Check if two separate elements can be connected
34401
34459
  * @private
34402
34460
  */ function checkJoinNeighbors(jodit, fakeNode, backspace) {
34461
+ if (checkJoinBareText(jodit, fakeNode, backspace)) {
34462
+ return true;
34463
+ }
34403
34464
  let nextBox = fakeNode, mainClosestBox = nextBox;
34404
34465
  // Find the main big closest element
34405
34466
  while(nextBox && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.findNotEmptySibling(nextBox, backspace) && nextBox.parentElement !== jodit.editor){
@@ -34427,7 +34488,7 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('backspace', backs
34427
34488
  return true;
34428
34489
  }
34429
34490
  const box = findCaretBox(fakeNode, mainClosestBox);
34430
- if (sibling && (checkPullNextLine(jodit, fakeNode, box, sibling, backspace) || checkMoveListContent(jodit, box, sibling, backspace) || moveContentAndRemoveEmpty(jodit, box, findEdgeBlock(resolveTableSibling(sibling, backspace), backspace, jodit.editor), backspace))) {
34491
+ 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))) {
34431
34492
  jodit.s.setCursorBefore(fakeNode);
34432
34493
  return true;
34433
34494
  }
@@ -34512,6 +34573,70 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('backspace', backs
34512
34573
  }
34513
34574
  return true;
34514
34575
  }
34576
+ /**
34577
+ * A block next to bare text in the same parent joins that text, as the
34578
+ * browsers do: `<li>one<p>|two</p></li>` gives `<li>one|two</li>`, and
34579
+ * `<li><p>one|</p>two</li>` gives `<li><p>one|two</p></li>`
34580
+ * @private
34581
+ */ function checkJoinInlineSibling(jodit, box, sibling, backspace) {
34582
+ 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>`
34583
+ box.parentNode !== sibling.parentNode || Array.from(box.childNodes).some((node)=>_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(node))) {
34584
+ return false;
34585
+ }
34586
+ if (backspace) {
34587
+ // Text after the block keeps its own line
34588
+ const next = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.findNotEmptySibling(box, false);
34589
+ 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')) {
34590
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.after(box, jodit.createInside.element('br'));
34591
+ }
34592
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.unwrap(box);
34593
+ return true;
34594
+ }
34595
+ const filter = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_2__.getMoveFilter)(jodit);
34596
+ for(let node = sibling; node && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(node);){
34597
+ const next = node.nextSibling;
34598
+ if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(node, 'br')) {
34599
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(node);
34600
+ break;
34601
+ }
34602
+ 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);
34603
+ node = next;
34604
+ }
34605
+ return true;
34606
+ }
34607
+ /**
34608
+ * Bare text next to a block in the same parent, as the browsers join them:
34609
+ * Backspace in `<div><p>a</p>|b</div>` gives `<div><p>a|b</p></div>`, Delete
34610
+ * in `<div>a|<p>b</p>c</div>` gives `<div>a|b<br>c</div>`
34611
+ */ function checkJoinBareText(jodit, fakeNode, backspace) {
34612
+ const block = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.findNotEmptySibling(fakeNode, backspace);
34613
+ 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((node)=>_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(node))) {
34614
+ return false;
34615
+ }
34616
+ const filter = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_2__.getMoveFilter)(jodit);
34617
+ if (backspace) {
34618
+ // The caret's line goes to the end of the block before it
34619
+ for(let node = fakeNode; node && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(node);){
34620
+ const next = node.nextSibling;
34621
+ if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(node, 'br')) {
34622
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(node);
34623
+ break;
34624
+ }
34625
+ 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);
34626
+ node = next;
34627
+ }
34628
+ } else {
34629
+ // The block's content joins the caret's line, and text after the
34630
+ // block keeps its own line
34631
+ const next = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.findNotEmptySibling(block, false);
34632
+ 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')) {
34633
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.after(block, jodit.createInside.element('br'));
34634
+ }
34635
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.unwrap(block);
34636
+ }
34637
+ jodit.s.setCursorBefore(fakeNode);
34638
+ return true;
34639
+ }
34515
34640
  function checkMoveListContent(jodit, mainClosestBox, sibling, backspace) {
34516
34641
  // Process UL/LI/OL cases
34517
34642
  const siblingIsList = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(sibling, _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.LIST_TAGS);
@@ -34715,10 +34840,11 @@ function getNextInlineSibling(sibling, backspace, root) {
34715
34840
  let nextSibling = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.sibling(sibling, backspace);
34716
34841
  if (!nextSibling && sibling.parentNode && sibling.parentNode !== root) {
34717
34842
  nextSibling = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_3__.findMostNestedNeighbor)(sibling, !backspace, root, true);
34718
- // Do not cross a list-item boundary. At the start of a list item the
34719
- // neighbor can be the text of the parent/previous item; deleting a char
34720
- // there is wrong — the list cases must handle the outdent/merge (#1277).
34721
- 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)) {
34843
+ // Do not cross a block boundary. At the start of a list item the
34844
+ // neighbor can be the text of the parent/previous item (#1277), and at
34845
+ // the start of a paragraph the text before it in the same parent
34846
+ // (#1693); deleting a char there is wrong — the join cases handle them.
34847
+ 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)) {
34722
34848
  return null;
34723
34849
  }
34724
34850
  }
@@ -35080,6 +35206,66 @@ function isSpace(char) {
35080
35206
  }
35081
35207
 
35082
35208
 
35209
+ /***/ }),
35210
+
35211
+ /***/ 70921:
35212
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
35213
+
35214
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
35215
+ /* harmony export */ checkUnwrapListItem: function() { return /* binding */ checkUnwrapListItem; }
35216
+ /* harmony export */ });
35217
+ /* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
35218
+ /*!
35219
+ * Jodit Editor (https://xdsoft.net/jodit/)
35220
+ * Released under MIT see LICENSE.txt in the project root for license information.
35221
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
35222
+ */
35223
+ /**
35224
+ * Backspace at the start of a later list item takes the bullet off, as Word
35225
+ * does: the item becomes a paragraph where it was, and the list is split
35226
+ * around it. A split `<ol>` carries its numbering on with `start`.
35227
+ *
35228
+ * @example
35229
+ * ```html
35230
+ * <ol><li>first</li><li>|second</li><li>third</li></ol>
35231
+ * ```
35232
+ * Result
35233
+ * ```html
35234
+ * <ol><li>first</li></ol><p>|second</p><ol start="2"><li>third</li></ol>
35235
+ * ```
35236
+ *
35237
+ * @private
35238
+ */ function checkUnwrapListItem(jodit, fakeNode, backspace) {
35239
+ if (!backspace) {
35240
+ return false;
35241
+ }
35242
+ const li = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(fakeNode, 'li', jodit.editor);
35243
+ const list = li ? li.parentElement : null;
35244
+ 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((node)=>_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock(node)) || !jodit.s.cursorInTheEdge(true, li)) {
35245
+ return false;
35246
+ }
35247
+ const p = jodit.createInside.element(jodit.o.enterBlock);
35248
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(list, p);
35249
+ if (li.nextElementSibling) {
35250
+ const rest = list.cloneNode(false);
35251
+ // Two lists cannot share one id
35252
+ rest.removeAttribute('id');
35253
+ while(li.nextSibling){
35254
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.append(rest, li.nextSibling);
35255
+ }
35256
+ if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(list, 'ol')) {
35257
+ const start = parseInt(list.getAttribute('start') || '1', 10) || 1;
35258
+ rest.setAttribute('start', String(start + list.children.length - 1));
35259
+ }
35260
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(p, rest);
35261
+ }
35262
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.moveContent(li, p);
35263
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(li);
35264
+ jodit.s.setCursorBefore(fakeNode);
35265
+ return true;
35266
+ }
35267
+
35268
+
35083
35269
  /***/ }),
35084
35270
 
35085
35271
  /***/ 14630:
@@ -35095,6 +35281,7 @@ function isSpace(char) {
35095
35281
  /* harmony import */ var _check_remove_unbreakable_element_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(56825);
35096
35282
  /* harmony import */ var _check_table_cell_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(90240);
35097
35283
  /* harmony import */ var _check_unwrap_first_list_item_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(68034);
35284
+ /* harmony import */ var _check_unwrap_list_item_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(70921);
35098
35285
  /*!
35099
35286
  * Jodit Editor (https://xdsoft.net/jodit/)
35100
35287
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -35108,6 +35295,7 @@ function isSpace(char) {
35108
35295
 
35109
35296
 
35110
35297
 
35298
+
35111
35299
  /**
35112
35300
  * Ordered delete/backspace cases with stable keys. The first one returning
35113
35301
  * `true` wins. The keys are stable across minified builds (function names are
@@ -35142,6 +35330,10 @@ function isSpace(char) {
35142
35330
  'join-two-lists',
35143
35331
  _check_join_two_lists_js__WEBPACK_IMPORTED_MODULE_1__.checkJoinTwoLists
35144
35332
  ],
35333
+ [
35334
+ 'unwrap-list-item',
35335
+ _check_unwrap_list_item_js__WEBPACK_IMPORTED_MODULE_9__.checkUnwrapListItem
35336
+ ],
35145
35337
  [
35146
35338
  'join-neighbors',
35147
35339
  _check_join_neighbors_js__WEBPACK_IMPORTED_MODULE_0__.checkJoinNeighbors
@@ -35370,13 +35562,13 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.controls.subscript = {
35370
35562
  tags: [
35371
35563
  'sub'
35372
35564
  ],
35373
- tooltip: 'subscript'
35565
+ tooltip: 'Subscript'
35374
35566
  };
35375
35567
  _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.controls.superscript = {
35376
35568
  tags: [
35377
35569
  'sup'
35378
35570
  ],
35379
- tooltip: 'superscript'
35571
+ tooltip: 'Superscript'
35380
35572
  };
35381
35573
  _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.controls.bold = {
35382
35574
  tagRegExp: /^(strong|b)$/i,
@@ -38810,7 +39002,7 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_1__.pluginSystem.add('dtd', dtd);
38810
39002
  ]);
38811
39003
  let block = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_6__.getBlockWrapper)(fake, jodit);
38812
39004
  const isLi = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isLeaf(block);
38813
- // if use <br> defaultTag for break line or when was entered SHIFt key or in <td> or <th> or <blockquote>
39005
+ // if use <br> defaultTag for break line or when was entered SHIFt key or in <td>, <th> or <blockquote> without an inner block
38814
39006
  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)) {
38815
39007
  return false;
38816
39008
  }
@@ -38871,10 +39063,9 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_3__.pluginSystem.add('enter', enter);
38871
39063
  * Checks the possibility and necessity of inserting a BR instead of a block
38872
39064
  * @private
38873
39065
  */ function checkBR(fake, jodit, shiftKeyPressed, block) {
38874
- const isMultiLineBlock = Boolean(_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(fake, [
38875
- 'pre',
38876
- 'blockquote'
38877
- ], jodit.editor));
39066
+ // Text in a <pre>, or bare text in a quote, gets a BR. A real block inside
39067
+ // a quote (<p>, <h3>, ...) is split like anywhere else, as in a cell below.
39068
+ const 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)));
38878
39069
  // A cell itself can't be split into two cells, so bare cell content gets
38879
39070
  // a BR. But when the cell already holds a real block (<p>, <h3>, ...) that
38880
39071
  // block is split like anywhere else, otherwise every line of the cell
@@ -38884,7 +39075,7 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_3__.pluginSystem.add('enter', enter);
38884
39075
  'th'
38885
39076
  ], jodit.editor)));
38886
39077
  const isBRMode = jodit.o.enter.toLowerCase() === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.BR.toLowerCase();
38887
- // if you use <br> defaultTag for break line or when was entered SHIFt key or in <td> or <th> or <blockquote>
39078
+ // if you use <br> defaultTag for break line or when was entered SHIFt key or in <td>, <th> or <blockquote> without an inner block
38888
39079
  if (isBRMode || isCell || shiftKeyPressed && !isMultiLineBlock || !shiftKeyPressed && isMultiLineBlock) {
38889
39080
  // 2 BR before
38890
39081
  if (isMultiLineBlock && checkSeveralBR(fake)) {