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
@@ -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
  /***/ }),
@@ -34560,9 +34602,10 @@ function moveContentAndRemoveEmpty(jodit, mainClosestBox, sibling, backspace) {
34560
34602
  * ```html
34561
34603
  * t|st
34562
34604
  * ```
34605
+ * With `stopBeforeSpace`, nothing is removed when the next char is a space.
34563
34606
  * @private
34564
34607
  */ // eslint-disable-next-line complexity
34565
- function checkRemoveChar(jodit, fakeNode, backspace, mode) {
34608
+ function checkRemoveChar(jodit, fakeNode, backspace, mode, stopBeforeSpace = false) {
34566
34609
  var _a, _b;
34567
34610
  const step = backspace ? -1 : 1;
34568
34611
  const anotherSibling = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.sibling(fakeNode, !backspace);
@@ -34581,6 +34624,9 @@ function checkRemoveChar(jodit, fakeNode, backspace, mode) {
34581
34624
  break;
34582
34625
  }
34583
34626
  if ((_a = sibling.nodeValue) === null || _a === void 0 ? void 0 : _a.length) {
34627
+ if (stopBeforeSpace && isSpace(nextChar(sibling.nodeValue, backspace))) {
34628
+ break;
34629
+ }
34584
34630
  removed = tryRemoveChar(sibling, backspace, step, anotherSibling);
34585
34631
  if (!sibling.nodeValue.length && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isInlineBlock(sibling.parentNode)) {
34586
34632
  sibling.nodeValue = _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE;
@@ -34688,9 +34734,25 @@ function replaceSpaceOnNBSP(anotherSibling, backspace, value) {
34688
34734
  }
34689
34735
  function checkRepeatRemoveCharAction(backspace, sibling, fakeNode, mode, removed, jodit) {
34690
34736
  ;(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);
34691
- if (mode === 'sentence' || mode === 'word' && removed !== ' ' && removed !== _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.NBSP_SPACE) {
34692
- checkRemoveChar(jodit, fakeNode, backspace, mode);
34737
+ const wordChar = mode === 'word' && !isSpace(removed);
34738
+ // Backspace by word removes the spaces before the caret, then the word, and keeps the space in front of it
34739
+ if (mode === 'sentence' || wordChar || mode === 'word' && backspace) {
34740
+ checkRemoveChar(jodit, fakeNode, backspace, mode, wordChar && backspace);
34741
+ }
34742
+ }
34743
+ /**
34744
+ * The char tryRemoveChar would remove next
34745
+ */ function nextChar(value, backspace) {
34746
+ const chars = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.toArray)(value);
34747
+ const step = backspace ? -1 : 1;
34748
+ let index = backspace ? chars.length - 1 : 0;
34749
+ while(chars[index] === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE){
34750
+ index += step;
34693
34751
  }
34752
+ return chars[index];
34753
+ }
34754
+ function isSpace(char) {
34755
+ return char === ' ' || char === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.NBSP_SPACE;
34694
34756
  }
34695
34757
 
34696
34758
 
@@ -35053,7 +35115,8 @@ function checkRepeatRemoveCharAction(backspace, sibling, fakeNode, mode, removed
35053
35115
  /***/ 32496:
35054
35116
  /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
35055
35117
 
35056
- /* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6441);
35118
+ /* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
35119
+ /* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6441);
35057
35120
  /*!
35058
35121
  * Jodit Editor (https://xdsoft.net/jodit/)
35059
35122
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -35061,13 +35124,18 @@ function checkRepeatRemoveCharAction(backspace, sibling, fakeNode, mode, removed
35061
35124
  */ /**
35062
35125
  * @module plugins/backspace
35063
35126
  */
35064
- _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.delete = {
35127
+
35128
+ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.delete = {
35065
35129
  hotkeys: {
35066
- delete: [
35130
+ delete: _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_MAC ? [
35131
+ 'delete'
35132
+ ] : [
35067
35133
  'delete',
35068
35134
  'cmd+backspace'
35069
35135
  ],
35070
- deleteWord: [
35136
+ deleteWord: _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_MAC ? [
35137
+ 'ctrl+delete'
35138
+ ] : [
35071
35139
  'ctrl+delete',
35072
35140
  'cmd+alt+backspace',
35073
35141
  'ctrl+alt+backspace'
@@ -35079,7 +35147,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.delete = {
35079
35147
  backspace: [
35080
35148
  'backspace'
35081
35149
  ],
35082
- backspaceWord: [
35150
+ backspaceWord: _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_MAC ? [] : [
35083
35151
  'ctrl+backspace'
35084
35152
  ],
35085
35153
  backspaceSentence: [
@@ -40730,8 +40798,12 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.image = {
40730
40798
  dialog.close();
40731
40799
  });
40732
40800
  buttons.remove.onAction(()=>{
40801
+ const caret = j.s.createRange();
40802
+ caret.setStartBefore(this.state.sourceImage);
40803
+ caret.collapse(true);
40733
40804
  j.s.removeNode(this.state.sourceImage);
40734
40805
  dialog.close();
40806
+ j.s.selectRange(caret);
40735
40807
  });
40736
40808
  buttons.cancel.onAction(()=>{
40737
40809
  dialog.close();
@@ -40745,10 +40817,20 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.image = {
40745
40817
  ],
40746
40818
  buttons.check
40747
40819
  ]);
40748
- j.e.on(dialog, 'afterClose', ()=>{
40749
- if (this.state.image.parentNode && j.o.image.selectImageAfterClose) {
40750
- j.s.select(this.state.sourceImage);
40820
+ // The dialog fires `afterClose` on its own emitter, not the editor's
40821
+ dialog.e.on(dialog, 'afterClose', ()=>{
40822
+ const { sourceImage } = this.state;
40823
+ if (j.isInDestruct || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isOrContains(j.editor, sourceImage)) {
40824
+ return;
40825
+ }
40826
+ if (j.o.image.selectImageAfterClose) {
40827
+ j.s.select(sourceImage);
40828
+ return;
40751
40829
  }
40830
+ const caret = j.s.createRange();
40831
+ caret.setStartAfter(sourceImage);
40832
+ caret.collapse(true);
40833
+ j.s.selectRange(caret);
40752
40834
  });
40753
40835
  dialog.setSize(j.o.image.dialogWidth);
40754
40836
  (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.markOwner)(j, dialog.container);
@@ -40779,6 +40861,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.image = {
40779
40861
  this.activeTabState.activeTab = 'Image';
40780
40862
  this.__lock();
40781
40863
  this.dialog.open().setModal(true).setPosition();
40864
+ this.__focusFirstField();
40782
40865
  this.async.promise((resolve, reject)=>(0,_readers_index_js__WEBPACK_IMPORTED_MODULE_10__.readValuesFromImage)(this.j, this.state).then(resolve, reject)).catch((e)=>{
40783
40866
  if (!(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.isAbortError)(e)) {
40784
40867
  this.dialog.message.error(e.message);
@@ -40786,6 +40869,14 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.image = {
40786
40869
  }).finally(()=>this.__unlock());
40787
40870
  return false;
40788
40871
  }
40872
+ /**
40873
+ * Keys typed while the dialog is open must not reach the editor behind it,
40874
+ * so focus the active tab's first field, or else the first field shown
40875
+ */ __focusFirstField() {
40876
+ var _a;
40877
+ const fields = (box)=>(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.toArray)(box.querySelectorAll('input, select, textarea'));
40878
+ (_a = fields(this.form.getElm('tabsBox')).concat(fields(this.form.container)).find((field)=>field.offsetParent != null)) === null || _a === void 0 ? void 0 : _a.focus();
40879
+ }
40789
40880
  __lock() {
40790
40881
  this.dialog.lock();
40791
40882
  this.form.setMod('lock', true);
@@ -44811,9 +44902,11 @@ const isButtonSeparator = (item)=>item === '|' || item === '---' || item === '\n
44811
44902
  return cleaned;
44812
44903
  }
44813
44904
  /**
44814
- * The width that decides which breakpoint set the toolbar uses. A toolbar
44815
- * rendered into an external container (`toolbar` set to an element or a
44816
- * selector) lays out in that container, so its width is what matters there.
44905
+ * The width that decides which breakpoint set the toolbar uses: the editor's
44906
+ * own width, or its parent's while the editor has none yet (for example
44907
+ * while hidden at init). A toolbar rendered into an external container
44908
+ * (`toolbar` set to an element or a selector) lays out in that container, so
44909
+ * its width is what matters there.
44817
44910
  */ function adaptiveWidth(editor) {
44818
44911
  var _a;
44819
44912
  const { toolbar } = editor.o;
@@ -44823,7 +44916,7 @@ const isButtonSeparator = (item)=>item === '|' || item === '---' || item === '\n
44823
44916
  return width;
44824
44917
  }
44825
44918
  }
44826
- return ((_a = editor.container.parentElement) !== null && _a !== void 0 ? _a : editor.container).offsetWidth;
44919
+ return editor.container.offsetWidth || ((_a = editor.container.parentElement) !== null && _a !== void 0 ? _a : editor.container).offsetWidth;
44827
44920
  }
44828
44921
  /**
44829
44922
  * Rebuild toolbar in depends on editor's width