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
@@ -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
  }
@@ -33986,8 +34031,21 @@ let UiAiAssistant = class UiAiAssistant extends _core_ui_element_js__WEBPACK_IMP
33986
34031
  this.__toggleSubmitButton(true);
33987
34032
  }
33988
34033
  };
33989
- this.__submitButton = (0,_core_ui_index_js__WEBPACK_IMPORTED_MODULE_4__.Button)(jodit, 'ai-assistant', '').onAction(onSubmit);
33990
- this.__tryAgainButton = (0,_core_ui_index_js__WEBPACK_IMPORTED_MODULE_4__.Button)(jodit, 'update', '', 'initial').onAction(onSubmit);
34034
+ this.__submitButton = (0,_core_ui_index_js__WEBPACK_IMPORTED_MODULE_4__.Button)(jodit, {
34035
+ icon: {
34036
+ name: 'ai-assistant'
34037
+ },
34038
+ name: 'ai-assistant',
34039
+ tooltip: 'Submit'
34040
+ }).onAction(onSubmit);
34041
+ this.__tryAgainButton = (0,_core_ui_index_js__WEBPACK_IMPORTED_MODULE_4__.Button)(jodit, {
34042
+ icon: {
34043
+ name: 'update'
34044
+ },
34045
+ name: 'update',
34046
+ tooltip: 'Try Again',
34047
+ variant: 'initial'
34048
+ }).onAction(onSubmit);
33991
34049
  this.promptInput = new _core_ui_index_js__WEBPACK_IMPORTED_MODULE_4__.UITextArea(jodit, {
33992
34050
  name: 'prompt',
33993
34051
  required: true,
@@ -34349,6 +34407,9 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('backspace', backs
34349
34407
  * Check if two separate elements can be connected
34350
34408
  * @private
34351
34409
  */ function checkJoinNeighbors(jodit, fakeNode, backspace) {
34410
+ if (checkJoinBareText(jodit, fakeNode, backspace)) {
34411
+ return true;
34412
+ }
34352
34413
  let nextBox = fakeNode, mainClosestBox = nextBox;
34353
34414
  // Find the main big closest element
34354
34415
  while(nextBox && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.findNotEmptySibling(nextBox, backspace) && nextBox.parentElement !== jodit.editor){
@@ -34376,7 +34437,7 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('backspace', backs
34376
34437
  return true;
34377
34438
  }
34378
34439
  const box = findCaretBox(fakeNode, mainClosestBox);
34379
- if (sibling && (checkPullNextLine(jodit, fakeNode, box, sibling, backspace) || checkMoveListContent(jodit, box, sibling, backspace) || moveContentAndRemoveEmpty(jodit, box, findEdgeBlock(resolveTableSibling(sibling, backspace), backspace, jodit.editor), backspace))) {
34440
+ 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))) {
34380
34441
  jodit.s.setCursorBefore(fakeNode);
34381
34442
  return true;
34382
34443
  }
@@ -34461,6 +34522,70 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('backspace', backs
34461
34522
  }
34462
34523
  return true;
34463
34524
  }
34525
+ /**
34526
+ * A block next to bare text in the same parent joins that text, as the
34527
+ * browsers do: `<li>one<p>|two</p></li>` gives `<li>one|two</li>`, and
34528
+ * `<li><p>one|</p>two</li>` gives `<li><p>one|two</p></li>`
34529
+ * @private
34530
+ */ function checkJoinInlineSibling(jodit, box, sibling, backspace) {
34531
+ 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>`
34532
+ box.parentNode !== sibling.parentNode || Array.from(box.childNodes).some((node)=>_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(node))) {
34533
+ return false;
34534
+ }
34535
+ if (backspace) {
34536
+ // Text after the block keeps its own line
34537
+ const next = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.findNotEmptySibling(box, false);
34538
+ 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')) {
34539
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.after(box, jodit.createInside.element('br'));
34540
+ }
34541
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.unwrap(box);
34542
+ return true;
34543
+ }
34544
+ const filter = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_2__.getMoveFilter)(jodit);
34545
+ for(let node = sibling; node && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(node);){
34546
+ const next = node.nextSibling;
34547
+ if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(node, 'br')) {
34548
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(node);
34549
+ break;
34550
+ }
34551
+ 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);
34552
+ node = next;
34553
+ }
34554
+ return true;
34555
+ }
34556
+ /**
34557
+ * Bare text next to a block in the same parent, as the browsers join them:
34558
+ * Backspace in `<div><p>a</p>|b</div>` gives `<div><p>a|b</p></div>`, Delete
34559
+ * in `<div>a|<p>b</p>c</div>` gives `<div>a|b<br>c</div>`
34560
+ */ function checkJoinBareText(jodit, fakeNode, backspace) {
34561
+ const block = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.findNotEmptySibling(fakeNode, backspace);
34562
+ 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))) {
34563
+ return false;
34564
+ }
34565
+ const filter = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_2__.getMoveFilter)(jodit);
34566
+ if (backspace) {
34567
+ // The caret's line goes to the end of the block before it
34568
+ for(let node = fakeNode; node && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(node);){
34569
+ const next = node.nextSibling;
34570
+ if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(node, 'br')) {
34571
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(node);
34572
+ break;
34573
+ }
34574
+ 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);
34575
+ node = next;
34576
+ }
34577
+ } else {
34578
+ // The block's content joins the caret's line, and text after the
34579
+ // block keeps its own line
34580
+ const next = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.findNotEmptySibling(block, false);
34581
+ 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')) {
34582
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.after(block, jodit.createInside.element('br'));
34583
+ }
34584
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.unwrap(block);
34585
+ }
34586
+ jodit.s.setCursorBefore(fakeNode);
34587
+ return true;
34588
+ }
34464
34589
  function checkMoveListContent(jodit, mainClosestBox, sibling, backspace) {
34465
34590
  // Process UL/LI/OL cases
34466
34591
  const siblingIsList = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(sibling, _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.LIST_TAGS);
@@ -34664,10 +34789,11 @@ function getNextInlineSibling(sibling, backspace, root) {
34664
34789
  let nextSibling = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.sibling(sibling, backspace);
34665
34790
  if (!nextSibling && sibling.parentNode && sibling.parentNode !== root) {
34666
34791
  nextSibling = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_3__.findMostNestedNeighbor)(sibling, !backspace, root, true);
34667
- // Do not cross a list-item boundary. At the start of a list item the
34668
- // neighbor can be the text of the parent/previous item; deleting a char
34669
- // there is wrong — the list cases must handle the outdent/merge (#1277).
34670
- 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)) {
34792
+ // Do not cross a block boundary. At the start of a list item the
34793
+ // neighbor can be the text of the parent/previous item (#1277), and at
34794
+ // the start of a paragraph the text before it in the same parent
34795
+ // (#1693); deleting a char there is wrong — the join cases handle them.
34796
+ 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)) {
34671
34797
  return null;
34672
34798
  }
34673
34799
  }
@@ -35029,6 +35155,66 @@ function isSpace(char) {
35029
35155
  }
35030
35156
 
35031
35157
 
35158
+ /***/ }),
35159
+
35160
+ /***/ 70921:
35161
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
35162
+
35163
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
35164
+ /* harmony export */ checkUnwrapListItem: function() { return /* binding */ checkUnwrapListItem; }
35165
+ /* harmony export */ });
35166
+ /* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
35167
+ /*!
35168
+ * Jodit Editor (https://xdsoft.net/jodit/)
35169
+ * Released under MIT see LICENSE.txt in the project root for license information.
35170
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
35171
+ */
35172
+ /**
35173
+ * Backspace at the start of a later list item takes the bullet off, as Word
35174
+ * does: the item becomes a paragraph where it was, and the list is split
35175
+ * around it. A split `<ol>` carries its numbering on with `start`.
35176
+ *
35177
+ * @example
35178
+ * ```html
35179
+ * <ol><li>first</li><li>|second</li><li>third</li></ol>
35180
+ * ```
35181
+ * Result
35182
+ * ```html
35183
+ * <ol><li>first</li></ol><p>|second</p><ol start="2"><li>third</li></ol>
35184
+ * ```
35185
+ *
35186
+ * @private
35187
+ */ function checkUnwrapListItem(jodit, fakeNode, backspace) {
35188
+ if (!backspace) {
35189
+ return false;
35190
+ }
35191
+ const li = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(fakeNode, 'li', jodit.editor);
35192
+ const list = li ? li.parentElement : null;
35193
+ 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)) {
35194
+ return false;
35195
+ }
35196
+ const p = jodit.createInside.element(jodit.o.enterBlock);
35197
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(list, p);
35198
+ if (li.nextElementSibling) {
35199
+ const rest = list.cloneNode(false);
35200
+ // Two lists cannot share one id
35201
+ rest.removeAttribute('id');
35202
+ while(li.nextSibling){
35203
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.append(rest, li.nextSibling);
35204
+ }
35205
+ if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(list, 'ol')) {
35206
+ const start = parseInt(list.getAttribute('start') || '1', 10) || 1;
35207
+ rest.setAttribute('start', String(start + list.children.length - 1));
35208
+ }
35209
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(p, rest);
35210
+ }
35211
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.moveContent(li, p);
35212
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(li);
35213
+ jodit.s.setCursorBefore(fakeNode);
35214
+ return true;
35215
+ }
35216
+
35217
+
35032
35218
  /***/ }),
35033
35219
 
35034
35220
  /***/ 14630:
@@ -35044,6 +35230,7 @@ function isSpace(char) {
35044
35230
  /* harmony import */ var _check_remove_unbreakable_element_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(56825);
35045
35231
  /* harmony import */ var _check_table_cell_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(90240);
35046
35232
  /* harmony import */ var _check_unwrap_first_list_item_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(68034);
35233
+ /* harmony import */ var _check_unwrap_list_item_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(70921);
35047
35234
  /*!
35048
35235
  * Jodit Editor (https://xdsoft.net/jodit/)
35049
35236
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -35057,6 +35244,7 @@ function isSpace(char) {
35057
35244
 
35058
35245
 
35059
35246
 
35247
+
35060
35248
  /**
35061
35249
  * Ordered delete/backspace cases with stable keys. The first one returning
35062
35250
  * `true` wins. The keys are stable across minified builds (function names are
@@ -35091,6 +35279,10 @@ function isSpace(char) {
35091
35279
  'join-two-lists',
35092
35280
  _check_join_two_lists_js__WEBPACK_IMPORTED_MODULE_1__.checkJoinTwoLists
35093
35281
  ],
35282
+ [
35283
+ 'unwrap-list-item',
35284
+ _check_unwrap_list_item_js__WEBPACK_IMPORTED_MODULE_9__.checkUnwrapListItem
35285
+ ],
35094
35286
  [
35095
35287
  'join-neighbors',
35096
35288
  _check_join_neighbors_js__WEBPACK_IMPORTED_MODULE_0__.checkJoinNeighbors
@@ -35319,13 +35511,13 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.controls.subscript = {
35319
35511
  tags: [
35320
35512
  'sub'
35321
35513
  ],
35322
- tooltip: 'subscript'
35514
+ tooltip: 'Subscript'
35323
35515
  };
35324
35516
  _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.controls.superscript = {
35325
35517
  tags: [
35326
35518
  'sup'
35327
35519
  ],
35328
- tooltip: 'superscript'
35520
+ tooltip: 'Superscript'
35329
35521
  };
35330
35522
  _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.controls.bold = {
35331
35523
  tagRegExp: /^(strong|b)$/i,
@@ -38425,7 +38617,7 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_1__.pluginSystem.add('dtd', dtd);
38425
38617
  ]);
38426
38618
  let block = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_6__.getBlockWrapper)(fake, jodit);
38427
38619
  const isLi = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isLeaf(block);
38428
- // if use <br> defaultTag for break line or when was entered SHIFt key or in <td> or <th> or <blockquote>
38620
+ // if use <br> defaultTag for break line or when was entered SHIFt key or in <td>, <th> or <blockquote> without an inner block
38429
38621
  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)) {
38430
38622
  return false;
38431
38623
  }
@@ -38486,10 +38678,9 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_3__.pluginSystem.add('enter', enter);
38486
38678
  * Checks the possibility and necessity of inserting a BR instead of a block
38487
38679
  * @private
38488
38680
  */ function checkBR(fake, jodit, shiftKeyPressed, block) {
38489
- const isMultiLineBlock = Boolean(_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(fake, [
38490
- 'pre',
38491
- 'blockquote'
38492
- ], jodit.editor));
38681
+ // Text in a <pre>, or bare text in a quote, gets a BR. A real block inside
38682
+ // a quote (<p>, <h3>, ...) is split like anywhere else, as in a cell below.
38683
+ 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)));
38493
38684
  // A cell itself can't be split into two cells, so bare cell content gets
38494
38685
  // a BR. But when the cell already holds a real block (<p>, <h3>, ...) that
38495
38686
  // block is split like anywhere else, otherwise every line of the cell
@@ -38499,7 +38690,7 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_3__.pluginSystem.add('enter', enter);
38499
38690
  'th'
38500
38691
  ], jodit.editor)));
38501
38692
  const isBRMode = jodit.o.enter.toLowerCase() === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.BR.toLowerCase();
38502
- // if you use <br> defaultTag for break line or when was entered SHIFt key or in <td> or <th> or <blockquote>
38693
+ // if you use <br> defaultTag for break line or when was entered SHIFt key or in <td>, <th> or <blockquote> without an inner block
38503
38694
  if (isBRMode || isCell || shiftKeyPressed && !isMultiLineBlock || !shiftKeyPressed && isMultiLineBlock) {
38504
38695
  // 2 BR before
38505
38696
  if (isMultiLineBlock && checkSeveralBR(fake)) {