jodit-pro 4.18.9 → 4.18.11

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 (348) hide show
  1. package/es2015/jodit.css +1 -1
  2. package/es2015/jodit.fat.min.js +12 -12
  3. package/es2015/jodit.js +127 -34
  4. package/es2015/jodit.min.js +7 -7
  5. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  6. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +19 -1
  7. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +3 -3
  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 +14 -7
  13. package/es2015/plugins/backup/backup.min.js +2 -2
  14. package/es2015/plugins/button-generator/button-generator.css +1 -1
  15. package/es2015/plugins/button-generator/button-generator.js +26 -19
  16. package/es2015/plugins/button-generator/button-generator.min.js +3 -3
  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 +15 -15
  79. package/es2018/jodit.min.js +7 -7
  80. package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +3 -3
  81. package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
  82. package/es2018/plugins/backup/backup.min.js +2 -2
  83. package/es2018/plugins/button-generator/button-generator.min.js +3 -3
  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 +18 -18
  109. package/es2021/jodit.js +127 -34
  110. package/es2021/jodit.min.js +7 -7
  111. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  112. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +19 -1
  113. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +3 -3
  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 +14 -7
  119. package/es2021/plugins/backup/backup.min.js +2 -2
  120. package/es2021/plugins/button-generator/button-generator.css +1 -1
  121. package/es2021/plugins/button-generator/button-generator.js +26 -19
  122. package/es2021/plugins/button-generator/button-generator.min.js +3 -3
  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 +16 -16
  186. package/es2021.en/jodit.js +127 -34
  187. package/es2021.en/jodit.min.js +7 -7
  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 +19 -1
  190. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +26 -26
  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 +14 -7
  196. package/es2021.en/plugins/backup/backup.min.js +2 -2
  197. package/es2021.en/plugins/button-generator/button-generator.css +1 -1
  198. package/es2021.en/plugins/button-generator/button-generator.js +26 -19
  199. package/es2021.en/plugins/button-generator/button-generator.min.js +3 -3
  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 +131 -30
  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 +19 -1
  268. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +2 -2
  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 +14 -7
  274. package/es5/plugins/backup/backup.min.js +2 -2
  275. package/es5/plugins/button-generator/button-generator.css +1 -1
  276. package/es5/plugins/button-generator/button-generator.js +26 -19
  277. package/es5/plugins/button-generator/button-generator.min.js +2 -2
  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/esm/plugins/ai-assistant-pro/ai-assistant-pro.js +2 -2
  343. package/esm/plugins/ai-assistant-pro/core/panel-resize.d.ts +4 -0
  344. package/esm/plugins/ai-assistant-pro/core/panel-resize.js +1 -1
  345. package/esm/plugins/backup/ui/item.js +1 -1
  346. package/esm/plugins/button-generator/ui/form/form.js +2 -2
  347. package/package.json +1 -1
  348. package/types/plugins/ai-assistant-pro/core/panel-resize.d.ts +4 -0
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.9
4
+ * Version: v4.18.11
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.9";
1769
+ */ const APP_VERSION = "4.18.11";
1770
1770
  // prettier-ignore
1771
1771
  const ES = "es2021";
1772
1772
  const IS_ES_MODERN = true;
@@ -2484,6 +2484,8 @@ function cacheHTML(target, _, descriptor) {
2484
2484
  */
2485
2485
 
2486
2486
  const componentRegistry = new Map();
2487
+ const decoratedClasses = new WeakSet();
2488
+ const warnedClasses = new WeakSet();
2487
2489
  /**
2488
2490
  * Decorate components and set status isReady after constructor
2489
2491
  * @param constructorFunction - Component constructor class
@@ -2500,9 +2502,16 @@ const componentRegistry = new Map();
2500
2502
  Object.setPrototypeOf(this, newConstructorFunction.prototype);
2501
2503
  }
2502
2504
  this.setStatus('ready');
2505
+ } else if (!_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_PROD && !decoratedClasses.has(this.constructor) && !warnedClasses.has(this.constructor)) {
2506
+ // Only the outermost class's decorator sets `ready`, so a subclass
2507
+ // without its own decorator stays in `beforeInit`. See #1685
2508
+ warnedClasses.add(this.constructor);
2509
+ console.warn(`Component "${this.constructor.name || (0,_helpers_utils_get_class_name_js__WEBPACK_IMPORTED_MODULE_1__.getClassName)(this)}" extends a @component class without being decorated itself, so it never becomes ready and its @watch, @debounce, @throttle and @hook handlers never run`);
2503
2510
  }
2504
2511
  }
2505
2512
  }
2513
+ decoratedClasses.add(constructorFunction);
2514
+ decoratedClasses.add(newConstructorFunction);
2506
2515
  const name = (0,_helpers_utils_get_class_name_js__WEBPACK_IMPORTED_MODULE_1__.getClassName)(constructorFunction.prototype);
2507
2516
  if (componentRegistry.has(name) && !_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_PROD) {
2508
2517
  throw new Error(`Component with name "${name}" is already registered`);
@@ -16944,6 +16953,7 @@ Icon.__cache = new Map();
16944
16953
  else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
16945
16954
  return c > 3 && r && Object.defineProperty(target, key, r), r;
16946
16955
  };
16956
+ var Popup_1;
16947
16957
 
16948
16958
 
16949
16959
 
@@ -16960,7 +16970,7 @@ const EVENTS_FOR_AUTOCLOSE = [
16960
16970
  'backSpaceAfterDelete',
16961
16971
  'beforeCommandDelete'
16962
16972
  ];
16963
- class Popup extends _group_group_js__WEBPACK_IMPORTED_MODULE_8__.UIGroup {
16973
+ let Popup = Popup_1 = class Popup extends _group_group_js__WEBPACK_IMPORTED_MODULE_8__.UIGroup {
16964
16974
  className() {
16965
16975
  return 'Popup';
16966
16976
  }
@@ -16970,7 +16980,7 @@ class Popup extends _group_group_js__WEBPACK_IMPORTED_MODULE_8__.UIGroup {
16970
16980
  _dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(content, childContainer);
16971
16981
  }
16972
16982
  updateParentElement(target) {
16973
- if (target !== this && _component_component_js__WEBPACK_IMPORTED_MODULE_0__.Component.isInstanceOf(target, Popup)) {
16983
+ if (target !== this && _component_component_js__WEBPACK_IMPORTED_MODULE_0__.Component.isInstanceOf(target, Popup_1)) {
16974
16984
  this.__childrenPopups.forEach((popup)=>{
16975
16985
  if (!target.closest(popup) && popup.isOpened) {
16976
16986
  popup.close();
@@ -17012,7 +17022,7 @@ class Popup extends _group_group_js__WEBPACK_IMPORTED_MODULE_8__.UIGroup {
17012
17022
  if (parentContainer) {
17013
17023
  _dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(parentContainer, this.container);
17014
17024
  } else {
17015
- const popupContainer = (0,_global_js__WEBPACK_IMPORTED_MODULE_3__.getContainer)(this.jodit, Popup);
17025
+ const popupContainer = (0,_global_js__WEBPACK_IMPORTED_MODULE_3__.getContainer)(this.jodit, Popup_1);
17016
17026
  if (parentContainer !== this.container.parentElement) {
17017
17027
  _dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(popupContainer, this.container);
17018
17028
  }
@@ -17125,11 +17135,11 @@ class Popup extends _group_group_js__WEBPACK_IMPORTED_MODULE_8__.UIGroup {
17125
17135
  };
17126
17136
  const getMatchStrategy = (inBox)=>{
17127
17137
  let strategy;
17128
- if (Popup.boxInView(getPointByStrategy(defaultStrategy), inBox)) {
17138
+ if (Popup_1.boxInView(getPointByStrategy(defaultStrategy), inBox)) {
17129
17139
  strategy = defaultStrategy;
17130
17140
  } else {
17131
17141
  strategy = list.find((key)=>{
17132
- if (Popup.boxInView(getPointByStrategy(key), inBox)) {
17142
+ if (Popup_1.boxInView(getPointByStrategy(key), inBox)) {
17133
17143
  return key;
17134
17144
  }
17135
17145
  return;
@@ -17140,7 +17150,7 @@ class Popup extends _group_group_js__WEBPACK_IMPORTED_MODULE_8__.UIGroup {
17140
17150
  // Try to find match position inside Jodit.container
17141
17151
  let strategy = getMatchStrategy((0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.position)(this.j.container, this.j));
17142
17152
  // If not found or is not inside window view
17143
- if (!strategy || !Popup.boxInView(getPointByStrategy(strategy), view)) {
17153
+ if (!strategy || !Popup_1.boxInView(getPointByStrategy(strategy), view)) {
17144
17154
  // Find match strategy inside window view
17145
17155
  strategy = getMatchStrategy(view) || strategy || defaultStrategy;
17146
17156
  }
@@ -17190,7 +17200,7 @@ class Popup extends _group_group_js__WEBPACK_IMPORTED_MODULE_8__.UIGroup {
17190
17200
  if (!e.target) {
17191
17201
  return false;
17192
17202
  }
17193
- const box = _element_js__WEBPACK_IMPORTED_MODULE_7__.UIElement.closestElement(e.target, Popup);
17203
+ const box = _element_js__WEBPACK_IMPORTED_MODULE_7__.UIElement.closestElement(e.target, Popup_1);
17194
17204
  return Boolean(box && (this === box || box.closest(this)));
17195
17205
  }
17196
17206
  __addGlobalListeners() {
@@ -17245,7 +17255,7 @@ class Popup extends _group_group_js__WEBPACK_IMPORTED_MODULE_8__.UIGroup {
17245
17255
  this.__childrenPopups = new Set();
17246
17256
  (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(this.container, 'role', 'popup');
17247
17257
  }
17248
- }
17258
+ };
17249
17259
  __decorate([
17250
17260
  _decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.autobind
17251
17261
  ], Popup.prototype, "updatePosition", null);
@@ -17259,6 +17269,10 @@ __decorate([
17259
17269
  __decorate([
17260
17270
  _decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.autobind
17261
17271
  ], Popup.prototype, "__closeOnOutsideClick", null);
17272
+ Popup = Popup_1 = __decorate([
17273
+ _decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.component
17274
+ ], Popup);
17275
+
17262
17276
 
17263
17277
 
17264
17278
  /***/ }),
@@ -18456,7 +18470,7 @@ let Jodit = Jodit_1 = class Jodit extends _modules_index_js__WEBPACK_IMPORTED_MO
18456
18470
  commands.push(command);
18457
18471
  if (!(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.isFunction)(command)) {
18458
18472
  const hotkeys = this.o.commandToHotkeys[commandName] || this.o.commandToHotkeys[commandNameOriginal] || command.hotkeys;
18459
- if (hotkeys) {
18473
+ if (hotkeys && hotkeys.length) {
18460
18474
  this.registerHotkeyToCommand(hotkeys, commandName, options === null || options === void 0 ? void 0 : options.stopPropagation);
18461
18475
  }
18462
18476
  }
@@ -18465,6 +18479,10 @@ let Jodit = Jodit_1 = class Jodit extends _modules_index_js__WEBPACK_IMPORTED_MO
18465
18479
  /**
18466
18480
  * Register hotkey for command
18467
18481
  */ registerHotkeyToCommand(hotkeys, commandName, shouldStop = true) {
18482
+ // An empty list (e.g. `commandToHotkeys: { cmd: [] }`) turns the key off
18483
+ if (!hotkeys || !hotkeys.length) {
18484
+ return;
18485
+ }
18468
18486
  const shortcuts = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.asArray)(hotkeys).map(_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.normalizeKeyAliases).map((hotkey)=>hotkey + '.hotkey').join(' ');
18469
18487
  this.e.off(shortcuts).on(shortcuts, (type, stop)=>{
18470
18488
  if (stop) {
@@ -28577,17 +28595,29 @@ const DEFAULT_SOURCE_NAME = 'default';
28577
28595
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
28578
28596
  /* harmony export */ FileBrowserFiles: function() { return /* binding */ FileBrowserFiles; }
28579
28597
  /* harmony export */ });
28580
- /* harmony import */ var _core_ui_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67510);
28598
+ /* harmony import */ var _core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65478);
28599
+ /* harmony import */ var _core_ui_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67510);
28581
28600
  /*!
28582
28601
  * Jodit Editor (https://xdsoft.net/jodit/)
28583
28602
  * Released under MIT see LICENSE.txt in the project root for license information.
28584
28603
  * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
28585
- */
28586
- class FileBrowserFiles extends _core_ui_index_js__WEBPACK_IMPORTED_MODULE_0__.UIGroup {
28604
+ */ var __decorate = undefined && undefined.__decorate || function(decorators, target, key, desc) {
28605
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
28606
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
28607
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
28608
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
28609
+ };
28610
+
28611
+
28612
+ let FileBrowserFiles = class FileBrowserFiles extends _core_ui_index_js__WEBPACK_IMPORTED_MODULE_1__.UIGroup {
28587
28613
  className() {
28588
28614
  return 'FileBrowserFiles';
28589
28615
  }
28590
- }
28616
+ };
28617
+ FileBrowserFiles = __decorate([
28618
+ _core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.component
28619
+ ], FileBrowserFiles);
28620
+
28591
28621
 
28592
28622
 
28593
28623
  /***/ }),
@@ -28619,17 +28649,29 @@ class FileBrowserFiles extends _core_ui_index_js__WEBPACK_IMPORTED_MODULE_0__.UI
28619
28649
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
28620
28650
  /* harmony export */ FileBrowserTree: function() { return /* binding */ FileBrowserTree; }
28621
28651
  /* harmony export */ });
28622
- /* harmony import */ var _core_ui_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67510);
28652
+ /* harmony import */ var _core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65478);
28653
+ /* harmony import */ var _core_ui_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67510);
28623
28654
  /*!
28624
28655
  * Jodit Editor (https://xdsoft.net/jodit/)
28625
28656
  * Released under MIT see LICENSE.txt in the project root for license information.
28626
28657
  * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
28627
- */
28628
- class FileBrowserTree extends _core_ui_index_js__WEBPACK_IMPORTED_MODULE_0__.UIGroup {
28658
+ */ var __decorate = undefined && undefined.__decorate || function(decorators, target, key, desc) {
28659
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
28660
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
28661
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
28662
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
28663
+ };
28664
+
28665
+
28666
+ let FileBrowserTree = class FileBrowserTree extends _core_ui_index_js__WEBPACK_IMPORTED_MODULE_1__.UIGroup {
28629
28667
  className() {
28630
28668
  return 'FileBrowserTree';
28631
28669
  }
28632
- }
28670
+ };
28671
+ FileBrowserTree = __decorate([
28672
+ _core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.component
28673
+ ], FileBrowserTree);
28674
+
28633
28675
 
28634
28676
 
28635
28677
  /***/ }),
@@ -34611,9 +34653,10 @@ function moveContentAndRemoveEmpty(jodit, mainClosestBox, sibling, backspace) {
34611
34653
  * ```html
34612
34654
  * t|st
34613
34655
  * ```
34656
+ * With `stopBeforeSpace`, nothing is removed when the next char is a space.
34614
34657
  * @private
34615
34658
  */ // eslint-disable-next-line complexity
34616
- function checkRemoveChar(jodit, fakeNode, backspace, mode) {
34659
+ function checkRemoveChar(jodit, fakeNode, backspace, mode, stopBeforeSpace = false) {
34617
34660
  var _a, _b;
34618
34661
  const step = backspace ? -1 : 1;
34619
34662
  const anotherSibling = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.sibling(fakeNode, !backspace);
@@ -34632,6 +34675,9 @@ function checkRemoveChar(jodit, fakeNode, backspace, mode) {
34632
34675
  break;
34633
34676
  }
34634
34677
  if ((_a = sibling.nodeValue) === null || _a === void 0 ? void 0 : _a.length) {
34678
+ if (stopBeforeSpace && isSpace(nextChar(sibling.nodeValue, backspace))) {
34679
+ break;
34680
+ }
34635
34681
  removed = tryRemoveChar(sibling, backspace, step, anotherSibling);
34636
34682
  if (!sibling.nodeValue.length && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isInlineBlock(sibling.parentNode)) {
34637
34683
  sibling.nodeValue = _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE;
@@ -34739,9 +34785,25 @@ function replaceSpaceOnNBSP(anotherSibling, backspace, value) {
34739
34785
  }
34740
34786
  function checkRepeatRemoveCharAction(backspace, sibling, fakeNode, mode, removed, jodit) {
34741
34787
  ;(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.call)(backspace ? _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.after : _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.before, sibling, fakeNode);
34742
- if (mode === 'sentence' || mode === 'word' && removed !== ' ' && removed !== _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.NBSP_SPACE) {
34743
- checkRemoveChar(jodit, fakeNode, backspace, mode);
34788
+ const wordChar = mode === 'word' && !isSpace(removed);
34789
+ // Backspace by word removes the spaces before the caret, then the word, and keeps the space in front of it
34790
+ if (mode === 'sentence' || wordChar || mode === 'word' && backspace) {
34791
+ checkRemoveChar(jodit, fakeNode, backspace, mode, wordChar && backspace);
34792
+ }
34793
+ }
34794
+ /**
34795
+ * The char tryRemoveChar would remove next
34796
+ */ function nextChar(value, backspace) {
34797
+ const chars = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.toArray)(value);
34798
+ const step = backspace ? -1 : 1;
34799
+ let index = backspace ? chars.length - 1 : 0;
34800
+ while(chars[index] === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE){
34801
+ index += step;
34744
34802
  }
34803
+ return chars[index];
34804
+ }
34805
+ function isSpace(char) {
34806
+ return char === ' ' || char === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.NBSP_SPACE;
34745
34807
  }
34746
34808
 
34747
34809
 
@@ -35104,7 +35166,8 @@ function checkRepeatRemoveCharAction(backspace, sibling, fakeNode, mode, removed
35104
35166
  /***/ 32496:
35105
35167
  /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
35106
35168
 
35107
- /* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6441);
35169
+ /* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
35170
+ /* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6441);
35108
35171
  /*!
35109
35172
  * Jodit Editor (https://xdsoft.net/jodit/)
35110
35173
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -35112,13 +35175,18 @@ function checkRepeatRemoveCharAction(backspace, sibling, fakeNode, mode, removed
35112
35175
  */ /**
35113
35176
  * @module plugins/backspace
35114
35177
  */
35115
- _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.delete = {
35178
+
35179
+ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.delete = {
35116
35180
  hotkeys: {
35117
- delete: [
35181
+ delete: _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_MAC ? [
35182
+ 'delete'
35183
+ ] : [
35118
35184
  'delete',
35119
35185
  'cmd+backspace'
35120
35186
  ],
35121
- deleteWord: [
35187
+ deleteWord: _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_MAC ? [
35188
+ 'ctrl+delete'
35189
+ ] : [
35122
35190
  'ctrl+delete',
35123
35191
  'cmd+alt+backspace',
35124
35192
  'ctrl+alt+backspace'
@@ -35130,7 +35198,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.delete = {
35130
35198
  backspace: [
35131
35199
  'backspace'
35132
35200
  ],
35133
- backspaceWord: [
35201
+ backspaceWord: _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_MAC ? [] : [
35134
35202
  'ctrl+backspace'
35135
35203
  ],
35136
35204
  backspaceSentence: [
@@ -41115,8 +41183,12 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.image = {
41115
41183
  dialog.close();
41116
41184
  });
41117
41185
  buttons.remove.onAction(()=>{
41186
+ const caret = j.s.createRange();
41187
+ caret.setStartBefore(this.state.sourceImage);
41188
+ caret.collapse(true);
41118
41189
  j.s.removeNode(this.state.sourceImage);
41119
41190
  dialog.close();
41191
+ j.s.selectRange(caret);
41120
41192
  });
41121
41193
  buttons.cancel.onAction(()=>{
41122
41194
  dialog.close();
@@ -41130,10 +41202,20 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.image = {
41130
41202
  ],
41131
41203
  buttons.check
41132
41204
  ]);
41133
- j.e.on(dialog, 'afterClose', ()=>{
41134
- if (this.state.image.parentNode && j.o.image.selectImageAfterClose) {
41135
- j.s.select(this.state.sourceImage);
41205
+ // The dialog fires `afterClose` on its own emitter, not the editor's
41206
+ dialog.e.on(dialog, 'afterClose', ()=>{
41207
+ const { sourceImage } = this.state;
41208
+ if (j.isInDestruct || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isOrContains(j.editor, sourceImage)) {
41209
+ return;
41210
+ }
41211
+ if (j.o.image.selectImageAfterClose) {
41212
+ j.s.select(sourceImage);
41213
+ return;
41136
41214
  }
41215
+ const caret = j.s.createRange();
41216
+ caret.setStartAfter(sourceImage);
41217
+ caret.collapse(true);
41218
+ j.s.selectRange(caret);
41137
41219
  });
41138
41220
  dialog.setSize(j.o.image.dialogWidth);
41139
41221
  (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.markOwner)(j, dialog.container);
@@ -41164,6 +41246,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.image = {
41164
41246
  this.activeTabState.activeTab = 'Image';
41165
41247
  this.__lock();
41166
41248
  this.dialog.open().setModal(true).setPosition();
41249
+ this.__focusFirstField();
41167
41250
  this.async.promise((resolve, reject)=>(0,_readers_index_js__WEBPACK_IMPORTED_MODULE_10__.readValuesFromImage)(this.j, this.state).then(resolve, reject)).catch((e)=>{
41168
41251
  if (!(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.isAbortError)(e)) {
41169
41252
  this.dialog.message.error(e.message);
@@ -41171,6 +41254,14 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.image = {
41171
41254
  }).finally(()=>this.__unlock());
41172
41255
  return false;
41173
41256
  }
41257
+ /**
41258
+ * Keys typed while the dialog is open must not reach the editor behind it,
41259
+ * so focus the active tab's first field, or else the first field shown
41260
+ */ __focusFirstField() {
41261
+ var _a;
41262
+ const fields = (box)=>(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.toArray)(box.querySelectorAll('input, select, textarea'));
41263
+ (_a = fields(this.form.getElm('tabsBox')).concat(fields(this.form.container)).find((field)=>field.offsetParent != null)) === null || _a === void 0 ? void 0 : _a.focus();
41264
+ }
41174
41265
  __lock() {
41175
41266
  this.dialog.lock();
41176
41267
  this.form.setMod('lock', true);
@@ -45585,9 +45676,11 @@ const isButtonSeparator = (item)=>item === '|' || item === '---' || item === '\n
45585
45676
  return cleaned;
45586
45677
  }
45587
45678
  /**
45588
- * The width that decides which breakpoint set the toolbar uses. A toolbar
45589
- * rendered into an external container (`toolbar` set to an element or a
45590
- * selector) lays out in that container, so its width is what matters there.
45679
+ * The width that decides which breakpoint set the toolbar uses: the editor's
45680
+ * own width, or its parent's while the editor has none yet (for example
45681
+ * while hidden at init). A toolbar rendered into an external container
45682
+ * (`toolbar` set to an element or a selector) lays out in that container, so
45683
+ * its width is what matters there.
45591
45684
  */ function adaptiveWidth(editor) {
45592
45685
  var _a;
45593
45686
  const { toolbar } = editor.o;
@@ -45597,7 +45690,7 @@ const isButtonSeparator = (item)=>item === '|' || item === '---' || item === '\n
45597
45690
  return width;
45598
45691
  }
45599
45692
  }
45600
- return ((_a = editor.container.parentElement) !== null && _a !== void 0 ? _a : editor.container).offsetWidth;
45693
+ return editor.container.offsetWidth || ((_a = editor.container.parentElement) !== null && _a !== void 0 ? _a : editor.container).offsetWidth;
45601
45694
  }
45602
45695
  /**
45603
45696
  * Rebuild toolbar in depends on editor's width