jodit-pro 4.13.35 → 4.13.37

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 (316) hide show
  1. package/es2015/jodit.css +1 -1
  2. package/es2015/jodit.fat.min.js +5 -5
  3. package/es2015/jodit.js +199 -109
  4. package/es2015/jodit.min.js +10 -10
  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/color-picker/color-picker.css +1 -1
  20. package/es2015/plugins/color-picker/color-picker.js +1 -1
  21. package/es2015/plugins/color-picker/color-picker.min.js +1 -1
  22. package/es2015/plugins/emoji/emoji.css +1 -1
  23. package/es2015/plugins/emoji/emoji.js +1 -1
  24. package/es2015/plugins/emoji/emoji.min.js +1 -1
  25. package/es2015/plugins/export-docs/export-docs.js +1 -1
  26. package/es2015/plugins/export-docs/export-docs.min.js +1 -1
  27. package/es2015/plugins/finder/finder.css +1 -1
  28. package/es2015/plugins/finder/finder.js +1 -1
  29. package/es2015/plugins/finder/finder.min.js +1 -1
  30. package/es2015/plugins/google-maps/google-maps.css +1 -1
  31. package/es2015/plugins/google-maps/google-maps.js +1 -1
  32. package/es2015/plugins/google-maps/google-maps.min.js +1 -1
  33. package/es2015/plugins/google-search/google-search.js +1 -1
  34. package/es2015/plugins/google-search/google-search.min.js +1 -1
  35. package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
  36. package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
  37. package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
  38. package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
  39. package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
  40. package/es2015/plugins/image-editor-pro/image-editor-pro.css +1 -1
  41. package/es2015/plugins/image-editor-pro/image-editor-pro.js +1 -1
  42. package/es2015/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  43. package/es2015/plugins/keyboard/keyboard.css +1 -1
  44. package/es2015/plugins/keyboard/keyboard.js +1 -1
  45. package/es2015/plugins/keyboard/keyboard.min.js +1 -1
  46. package/es2015/plugins/mobile-view/mobile-view.js +1 -1
  47. package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
  48. package/es2015/plugins/page-break/page-break.js +1 -1
  49. package/es2015/plugins/page-break/page-break.min.js +1 -1
  50. package/es2015/plugins/paste-code/paste-code.css +1 -1
  51. package/es2015/plugins/paste-code/paste-code.js +1 -1
  52. package/es2015/plugins/paste-code/paste-code.min.js +1 -1
  53. package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
  54. package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
  55. package/es2015/plugins/show-blocks/show-blocks.js +1 -1
  56. package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
  57. package/es2015/plugins/style/style.css +1 -1
  58. package/es2015/plugins/style/style.js +1 -1
  59. package/es2015/plugins/style/style.min.js +1 -1
  60. package/es2015/plugins/templates/templates.css +1 -1
  61. package/es2015/plugins/templates/templates.js +1 -1
  62. package/es2015/plugins/templates/templates.min.js +1 -1
  63. package/es2015/plugins/todo-list/todo-list.css +1 -1
  64. package/es2015/plugins/todo-list/todo-list.js +1 -1
  65. package/es2015/plugins/todo-list/todo-list.min.js +1 -1
  66. package/es2015/plugins/translate/translate.css +1 -1
  67. package/es2015/plugins/translate/translate.js +1 -1
  68. package/es2015/plugins/translate/translate.min.js +1 -1
  69. package/es2015/plugins/tune-block/tune-block.css +1 -1
  70. package/es2015/plugins/tune-block/tune-block.js +1 -1
  71. package/es2015/plugins/tune-block/tune-block.min.js +1 -1
  72. package/es2018/jodit.fat.min.js +5 -5
  73. package/es2018/jodit.min.js +5 -5
  74. package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  75. package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
  76. package/es2018/plugins/backup/backup.min.js +1 -1
  77. package/es2018/plugins/button-generator/button-generator.min.js +1 -1
  78. package/es2018/plugins/change-case/change-case.min.js +1 -1
  79. package/es2018/plugins/color-picker/color-picker.min.js +1 -1
  80. package/es2018/plugins/emoji/emoji.min.js +1 -1
  81. package/es2018/plugins/export-docs/export-docs.min.js +1 -1
  82. package/es2018/plugins/finder/finder.min.js +1 -1
  83. package/es2018/plugins/google-maps/google-maps.min.js +1 -1
  84. package/es2018/plugins/google-search/google-search.min.js +1 -1
  85. package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
  86. package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
  87. package/es2018/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  88. package/es2018/plugins/keyboard/keyboard.min.js +1 -1
  89. package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
  90. package/es2018/plugins/page-break/page-break.min.js +1 -1
  91. package/es2018/plugins/paste-code/paste-code.min.js +1 -1
  92. package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
  93. package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
  94. package/es2018/plugins/style/style.min.js +1 -1
  95. package/es2018/plugins/templates/templates.min.js +1 -1
  96. package/es2018/plugins/todo-list/todo-list.min.js +1 -1
  97. package/es2018/plugins/translate/translate.min.js +1 -1
  98. package/es2018/plugins/tune-block/tune-block.min.js +1 -1
  99. package/es2021/jodit.css +1 -1
  100. package/es2021/jodit.fat.min.js +8 -8
  101. package/es2021/jodit.js +199 -109
  102. package/es2021/jodit.min.js +8 -8
  103. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  104. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  105. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  106. package/es2021/plugins/autocomplete/autocomplete.css +1 -1
  107. package/es2021/plugins/autocomplete/autocomplete.js +1 -1
  108. package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
  109. package/es2021/plugins/backup/backup.css +1 -1
  110. package/es2021/plugins/backup/backup.js +1 -1
  111. package/es2021/plugins/backup/backup.min.js +1 -1
  112. package/es2021/plugins/button-generator/button-generator.css +1 -1
  113. package/es2021/plugins/button-generator/button-generator.js +1 -1
  114. package/es2021/plugins/button-generator/button-generator.min.js +1 -1
  115. package/es2021/plugins/change-case/change-case.js +1 -1
  116. package/es2021/plugins/change-case/change-case.min.js +1 -1
  117. package/es2021/plugins/color-picker/color-picker.css +1 -1
  118. package/es2021/plugins/color-picker/color-picker.js +1 -1
  119. package/es2021/plugins/color-picker/color-picker.min.js +1 -1
  120. package/es2021/plugins/emoji/emoji.css +1 -1
  121. package/es2021/plugins/emoji/emoji.js +1 -1
  122. package/es2021/plugins/emoji/emoji.min.js +1 -1
  123. package/es2021/plugins/export-docs/export-docs.js +1 -1
  124. package/es2021/plugins/export-docs/export-docs.min.js +1 -1
  125. package/es2021/plugins/finder/finder.css +1 -1
  126. package/es2021/plugins/finder/finder.js +1 -1
  127. package/es2021/plugins/finder/finder.min.js +1 -1
  128. package/es2021/plugins/google-maps/google-maps.css +1 -1
  129. package/es2021/plugins/google-maps/google-maps.js +1 -1
  130. package/es2021/plugins/google-maps/google-maps.min.js +1 -1
  131. package/es2021/plugins/google-search/google-search.js +1 -1
  132. package/es2021/plugins/google-search/google-search.min.js +1 -1
  133. package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
  134. package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
  135. package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
  136. package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
  137. package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
  138. package/es2021/plugins/image-editor-pro/image-editor-pro.css +1 -1
  139. package/es2021/plugins/image-editor-pro/image-editor-pro.js +1 -1
  140. package/es2021/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  141. package/es2021/plugins/keyboard/keyboard.css +1 -1
  142. package/es2021/plugins/keyboard/keyboard.js +1 -1
  143. package/es2021/plugins/keyboard/keyboard.min.js +1 -1
  144. package/es2021/plugins/mobile-view/mobile-view.js +1 -1
  145. package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
  146. package/es2021/plugins/page-break/page-break.js +1 -1
  147. package/es2021/plugins/page-break/page-break.min.js +1 -1
  148. package/es2021/plugins/paste-code/paste-code.css +1 -1
  149. package/es2021/plugins/paste-code/paste-code.js +1 -1
  150. package/es2021/plugins/paste-code/paste-code.min.js +1 -1
  151. package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
  152. package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
  153. package/es2021/plugins/show-blocks/show-blocks.js +1 -1
  154. package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
  155. package/es2021/plugins/style/style.css +1 -1
  156. package/es2021/plugins/style/style.js +1 -1
  157. package/es2021/plugins/style/style.min.js +1 -1
  158. package/es2021/plugins/templates/templates.css +1 -1
  159. package/es2021/plugins/templates/templates.js +1 -1
  160. package/es2021/plugins/templates/templates.min.js +1 -1
  161. package/es2021/plugins/todo-list/todo-list.css +1 -1
  162. package/es2021/plugins/todo-list/todo-list.js +1 -1
  163. package/es2021/plugins/todo-list/todo-list.min.js +1 -1
  164. package/es2021/plugins/translate/translate.css +1 -1
  165. package/es2021/plugins/translate/translate.js +1 -1
  166. package/es2021/plugins/translate/translate.min.js +1 -1
  167. package/es2021/plugins/tune-block/tune-block.css +1 -1
  168. package/es2021/plugins/tune-block/tune-block.js +1 -1
  169. package/es2021/plugins/tune-block/tune-block.min.js +1 -1
  170. package/es2021.en/jodit.css +1 -1
  171. package/es2021.en/jodit.fat.min.js +8 -8
  172. package/es2021.en/jodit.js +199 -109
  173. package/es2021.en/jodit.min.js +8 -8
  174. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  175. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  176. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  177. package/es2021.en/plugins/autocomplete/autocomplete.css +1 -1
  178. package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
  179. package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
  180. package/es2021.en/plugins/backup/backup.css +1 -1
  181. package/es2021.en/plugins/backup/backup.js +1 -1
  182. package/es2021.en/plugins/backup/backup.min.js +1 -1
  183. package/es2021.en/plugins/button-generator/button-generator.css +1 -1
  184. package/es2021.en/plugins/button-generator/button-generator.js +1 -1
  185. package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
  186. package/es2021.en/plugins/change-case/change-case.js +1 -1
  187. package/es2021.en/plugins/change-case/change-case.min.js +1 -1
  188. package/es2021.en/plugins/color-picker/color-picker.css +1 -1
  189. package/es2021.en/plugins/color-picker/color-picker.js +1 -1
  190. package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
  191. package/es2021.en/plugins/emoji/emoji.css +1 -1
  192. package/es2021.en/plugins/emoji/emoji.js +1 -1
  193. package/es2021.en/plugins/emoji/emoji.min.js +1 -1
  194. package/es2021.en/plugins/export-docs/export-docs.js +1 -1
  195. package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
  196. package/es2021.en/plugins/finder/finder.css +1 -1
  197. package/es2021.en/plugins/finder/finder.js +1 -1
  198. package/es2021.en/plugins/finder/finder.min.js +1 -1
  199. package/es2021.en/plugins/google-maps/google-maps.css +1 -1
  200. package/es2021.en/plugins/google-maps/google-maps.js +1 -1
  201. package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
  202. package/es2021.en/plugins/google-search/google-search.js +1 -1
  203. package/es2021.en/plugins/google-search/google-search.min.js +1 -1
  204. package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
  205. package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
  206. package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
  207. package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
  208. package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
  209. package/es2021.en/plugins/image-editor-pro/image-editor-pro.css +1 -1
  210. package/es2021.en/plugins/image-editor-pro/image-editor-pro.js +1 -1
  211. package/es2021.en/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  212. package/es2021.en/plugins/keyboard/keyboard.css +1 -1
  213. package/es2021.en/plugins/keyboard/keyboard.js +1 -1
  214. package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
  215. package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
  216. package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
  217. package/es2021.en/plugins/page-break/page-break.js +1 -1
  218. package/es2021.en/plugins/page-break/page-break.min.js +1 -1
  219. package/es2021.en/plugins/paste-code/paste-code.css +1 -1
  220. package/es2021.en/plugins/paste-code/paste-code.js +1 -1
  221. package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
  222. package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
  223. package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
  224. package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
  225. package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
  226. package/es2021.en/plugins/style/style.css +1 -1
  227. package/es2021.en/plugins/style/style.js +1 -1
  228. package/es2021.en/plugins/style/style.min.js +1 -1
  229. package/es2021.en/plugins/templates/templates.css +1 -1
  230. package/es2021.en/plugins/templates/templates.js +1 -1
  231. package/es2021.en/plugins/templates/templates.min.js +1 -1
  232. package/es2021.en/plugins/todo-list/todo-list.css +1 -1
  233. package/es2021.en/plugins/todo-list/todo-list.js +1 -1
  234. package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
  235. package/es2021.en/plugins/translate/translate.css +1 -1
  236. package/es2021.en/plugins/translate/translate.js +1 -1
  237. package/es2021.en/plugins/translate/translate.min.js +1 -1
  238. package/es2021.en/plugins/tune-block/tune-block.css +1 -1
  239. package/es2021.en/plugins/tune-block/tune-block.js +1 -1
  240. package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
  241. package/es5/jodit.css +2 -2
  242. package/es5/jodit.fat.min.js +2 -2
  243. package/es5/jodit.js +216 -113
  244. package/es5/jodit.min.css +2 -2
  245. package/es5/jodit.min.js +2 -2
  246. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  247. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  248. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  249. package/es5/plugins/autocomplete/autocomplete.css +1 -1
  250. package/es5/plugins/autocomplete/autocomplete.js +1 -1
  251. package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
  252. package/es5/plugins/backup/backup.css +1 -1
  253. package/es5/plugins/backup/backup.js +1 -1
  254. package/es5/plugins/backup/backup.min.js +1 -1
  255. package/es5/plugins/button-generator/button-generator.css +1 -1
  256. package/es5/plugins/button-generator/button-generator.js +1 -1
  257. package/es5/plugins/button-generator/button-generator.min.js +1 -1
  258. package/es5/plugins/change-case/change-case.js +1 -1
  259. package/es5/plugins/change-case/change-case.min.js +1 -1
  260. package/es5/plugins/color-picker/color-picker.css +1 -1
  261. package/es5/plugins/color-picker/color-picker.js +1 -1
  262. package/es5/plugins/color-picker/color-picker.min.js +1 -1
  263. package/es5/plugins/emoji/emoji.css +1 -1
  264. package/es5/plugins/emoji/emoji.js +1 -1
  265. package/es5/plugins/emoji/emoji.min.js +1 -1
  266. package/es5/plugins/export-docs/export-docs.js +1 -1
  267. package/es5/plugins/export-docs/export-docs.min.js +1 -1
  268. package/es5/plugins/finder/finder.css +1 -1
  269. package/es5/plugins/finder/finder.js +1 -1
  270. package/es5/plugins/finder/finder.min.js +1 -1
  271. package/es5/plugins/google-maps/google-maps.css +1 -1
  272. package/es5/plugins/google-maps/google-maps.js +1 -1
  273. package/es5/plugins/google-maps/google-maps.min.js +1 -1
  274. package/es5/plugins/google-search/google-search.js +1 -1
  275. package/es5/plugins/google-search/google-search.min.js +1 -1
  276. package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
  277. package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
  278. package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
  279. package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
  280. package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
  281. package/es5/plugins/image-editor-pro/image-editor-pro.css +1 -1
  282. package/es5/plugins/image-editor-pro/image-editor-pro.js +1 -1
  283. package/es5/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  284. package/es5/plugins/keyboard/keyboard.css +1 -1
  285. package/es5/plugins/keyboard/keyboard.js +1 -1
  286. package/es5/plugins/keyboard/keyboard.min.js +1 -1
  287. package/es5/plugins/mobile-view/mobile-view.js +1 -1
  288. package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
  289. package/es5/plugins/page-break/page-break.js +1 -1
  290. package/es5/plugins/page-break/page-break.min.js +1 -1
  291. package/es5/plugins/paste-code/paste-code.css +1 -1
  292. package/es5/plugins/paste-code/paste-code.js +1 -1
  293. package/es5/plugins/paste-code/paste-code.min.js +1 -1
  294. package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
  295. package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
  296. package/es5/plugins/show-blocks/show-blocks.js +1 -1
  297. package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
  298. package/es5/plugins/style/style.css +1 -1
  299. package/es5/plugins/style/style.js +1 -1
  300. package/es5/plugins/style/style.min.js +1 -1
  301. package/es5/plugins/templates/templates.css +1 -1
  302. package/es5/plugins/templates/templates.js +1 -1
  303. package/es5/plugins/templates/templates.min.js +1 -1
  304. package/es5/plugins/todo-list/todo-list.css +1 -1
  305. package/es5/plugins/todo-list/todo-list.js +1 -1
  306. package/es5/plugins/todo-list/todo-list.min.js +1 -1
  307. package/es5/plugins/translate/translate.css +1 -1
  308. package/es5/plugins/translate/translate.js +1 -1
  309. package/es5/plugins/translate/translate.min.js +1 -1
  310. package/es5/plugins/tune-block/tune-block.css +1 -1
  311. package/es5/plugins/tune-block/tune-block.js +1 -1
  312. package/es5/plugins/tune-block/tune-block.min.js +1 -1
  313. package/es5/polyfills.fat.min.js +1 -1
  314. package/es5/polyfills.js +1 -1
  315. package/es5/polyfills.min.js +1 -1
  316. package/package.json +1 -1
package/es2021/jodit.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * jodit-pro - PRO Version of Jodit Editor
3
3
  * Author: Chupurnov Valerii <chupurnov@gmail.com>
4
- * Version: v4.13.35
4
+ * Version: v4.13.37
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -1787,7 +1787,7 @@ __webpack_require__.r(__webpack_exports__);
1787
1787
  * ```
1788
1788
  * @packageDocumentation
1789
1789
  * @module constants
1790
- */ const APP_VERSION = "4.13.35";
1790
+ */ const APP_VERSION = "4.13.37";
1791
1791
  // prettier-ignore
1792
1792
  const ES = "es2021";
1793
1793
  const IS_ES_MODERN = true;
@@ -29204,26 +29204,27 @@ const instance = (j)=>j.getInstance('Table', j.o);
29204
29204
  /* harmony export */ ToolbarButton: function() { return /* binding */ ToolbarButton; }
29205
29205
  /* harmony export */ });
29206
29206
  /* harmony import */ var _core_component_statuses_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78213);
29207
- /* harmony import */ var _core_decorators_autobind_autobind_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(45219);
29208
- /* harmony import */ var _core_decorators_cache_cache_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(33433);
29209
- /* harmony import */ var _core_decorators_component_component_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(87325);
29210
- /* harmony import */ var _core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(37133);
29211
- /* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2748);
29212
- /* harmony import */ var _core_helpers_checker_is_array_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(68345);
29213
- /* harmony import */ var _core_helpers_checker_is_function_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(23282);
29214
- /* harmony import */ var _core_helpers_checker_is_jodit_object_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(19306);
29215
- /* harmony import */ var _core_helpers_checker_is_plain_object_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(72430);
29216
- /* harmony import */ var _core_helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(70799);
29217
- /* harmony import */ var _core_helpers_size_index_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(56175);
29218
- /* harmony import */ var _core_helpers_string_camel_case_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(87058);
29219
- /* harmony import */ var _core_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(38837);
29220
- /* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(29960);
29221
- /* harmony import */ var _core_helpers_utils_utils_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(37790);
29222
- /* harmony import */ var _core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(62843);
29223
- /* harmony import */ var _core_ui_helpers_get_control_type_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(72157);
29224
- /* harmony import */ var _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(12153);
29225
- /* harmony import */ var _core_ui_popup_popup_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(56917);
29226
- /* harmony import */ var _factory_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(21491);
29207
+ /* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82758);
29208
+ /* harmony import */ var _core_decorators_autobind_autobind_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(45219);
29209
+ /* harmony import */ var _core_decorators_cache_cache_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(33433);
29210
+ /* harmony import */ var _core_decorators_component_component_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(87325);
29211
+ /* harmony import */ var _core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(37133);
29212
+ /* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2748);
29213
+ /* harmony import */ var _core_helpers_checker_is_array_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(68345);
29214
+ /* harmony import */ var _core_helpers_checker_is_function_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(23282);
29215
+ /* harmony import */ var _core_helpers_checker_is_jodit_object_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(19306);
29216
+ /* harmony import */ var _core_helpers_checker_is_plain_object_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(72430);
29217
+ /* harmony import */ var _core_helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(70799);
29218
+ /* harmony import */ var _core_helpers_size_index_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(56175);
29219
+ /* harmony import */ var _core_helpers_string_camel_case_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(87058);
29220
+ /* harmony import */ var _core_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(38837);
29221
+ /* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(29960);
29222
+ /* harmony import */ var _core_helpers_utils_utils_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(37790);
29223
+ /* harmony import */ var _core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(62843);
29224
+ /* harmony import */ var _core_ui_helpers_get_control_type_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(72157);
29225
+ /* harmony import */ var _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(12153);
29226
+ /* harmony import */ var _core_ui_popup_popup_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(56917);
29227
+ /* harmony import */ var _factory_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(21491);
29227
29228
  /*!
29228
29229
  * Jodit Editor (https://xdsoft.net/jodit/)
29229
29230
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -29255,7 +29256,8 @@ const instance = (j)=>j.getInstance('Table', j.o);
29255
29256
 
29256
29257
 
29257
29258
 
29258
- let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_16__.UIButton {
29259
+
29260
+ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_17__.UIButton {
29259
29261
  className() {
29260
29262
  return 'ToolbarButton';
29261
29263
  }
@@ -29266,13 +29268,13 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
29266
29268
  super.updateAriaLabel();
29267
29269
  if (this.trigger) {
29268
29270
  const i8nTooltip = this.state.tooltip ? this.jodit.i18n(this.state.tooltip) : null;
29269
- (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_14__.attr)(this.trigger, 'aria-label', i8nTooltip);
29271
+ (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_15__.attr)(this.trigger, 'aria-label', i8nTooltip);
29270
29272
  }
29271
29273
  }
29272
29274
  /**
29273
29275
  * Get parent toolbar
29274
29276
  */ get toolbar() {
29275
- const ToolbarCollection = (0,_core_decorators_component_component_js__WEBPACK_IMPORTED_MODULE_3__.getComponentClass)('ToolbarCollection');
29277
+ const ToolbarCollection = (0,_core_decorators_component_component_js__WEBPACK_IMPORTED_MODULE_4__.getComponentClass)('ToolbarCollection');
29276
29278
  return this.closest(ToolbarCollection);
29277
29279
  }
29278
29280
  update() {
@@ -29294,7 +29296,7 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
29294
29296
  * Calculates whether the button is active
29295
29297
  */ __calculateActivatedStatus(tc) {
29296
29298
  var _a, _b;
29297
- if ((0,_core_helpers_checker_is_jodit_object_js__WEBPACK_IMPORTED_MODULE_8__.isJoditObject)(this.j) && !this.j.editorIsActive) {
29299
+ if ((0,_core_helpers_checker_is_jodit_object_js__WEBPACK_IMPORTED_MODULE_9__.isJoditObject)(this.j) && !this.j.editorIsActive) {
29298
29300
  return false;
29299
29301
  }
29300
29302
  if ((_b = (_a = this.control).isActive) === null || _b === void 0 ? void 0 : _b.call(_a, this.j, this)) {
@@ -29318,11 +29320,11 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
29318
29320
  return Boolean(tc && tc.shouldBeDisabled(this));
29319
29321
  }
29320
29322
  onChangeActivated() {
29321
- (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_14__.attr)(this.button, 'aria-pressed', this.state.activated);
29323
+ (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_15__.attr)(this.button, 'aria-pressed', this.state.activated);
29322
29324
  super.onChangeActivated();
29323
29325
  }
29324
29326
  onChangeText() {
29325
- if ((0,_core_helpers_checker_is_function_js__WEBPACK_IMPORTED_MODULE_7__.isFunction)(this.control.template)) {
29327
+ if ((0,_core_helpers_checker_is_function_js__WEBPACK_IMPORTED_MODULE_8__.isFunction)(this.control.template)) {
29326
29328
  this.text.innerHTML = this.control.template(this.j, this.control.name, this.j.i18n(this.state.text));
29327
29329
  } else {
29328
29330
  super.onChangeText();
@@ -29330,7 +29332,8 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
29330
29332
  this.setMod('text-icons', Boolean(this.text.innerText.trim().length));
29331
29333
  }
29332
29334
  onChangeTabIndex() {
29333
- (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_14__.attr)(this.button, 'tabindex', this.state.tabIndex);
29335
+ (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_15__.attr)(this.button, 'tabindex', this.state.tabIndex);
29336
+ (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_15__.attr)(this.trigger, 'tabindex', this.state.tabIndex);
29334
29337
  }
29335
29338
  createContainer() {
29336
29339
  const cn = this.componentName;
@@ -29343,7 +29346,7 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
29343
29346
  configurable: true
29344
29347
  });
29345
29348
  container.appendChild(button);
29346
- const trigger = this.j.c.fromHTML(`<span role="button" aria-haspopup="true" aria-expanded="false" class="${cn}__trigger">${_core_ui_icon_js__WEBPACK_IMPORTED_MODULE_18__.Icon.get('chevron')}</span>`);
29349
+ const trigger = this.j.c.fromHTML(`<span role="button" aria-haspopup="true" aria-expanded="false" class="${cn}__trigger">${_core_ui_icon_js__WEBPACK_IMPORTED_MODULE_19__.Icon.get('chevron')}</span>`);
29347
29350
  // For caching
29348
29351
  button.appendChild(trigger);
29349
29352
  return container;
@@ -29356,15 +29359,15 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
29356
29359
  if (this.state.hasTrigger) {
29357
29360
  this.container.appendChild(this.trigger);
29358
29361
  } else {
29359
- _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_5__.Dom.safeRemove(this.trigger);
29362
+ _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_6__.Dom.safeRemove(this.trigger);
29360
29363
  }
29361
29364
  this.setMod('with-trigger', this.state.hasTrigger || null);
29362
29365
  }
29363
29366
  /** @override */ onChangeDisabled() {
29364
29367
  const disabled = this.state.disabled ? 'disabled' : null;
29365
- (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_14__.attr)(this.trigger, 'disabled', disabled);
29366
- (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_14__.attr)(this.button, 'disabled', disabled);
29367
- (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_14__.attr)(this.container, 'disabled', disabled);
29368
+ (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_15__.attr)(this.trigger, 'disabled', disabled);
29369
+ (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_15__.attr)(this.button, 'disabled', disabled);
29370
+ (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_15__.attr)(this.container, 'disabled', disabled);
29368
29371
  }
29369
29372
  /**
29370
29373
  * Init constant data from control
@@ -29374,7 +29377,7 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
29374
29377
  state.name = ctr.name;
29375
29378
  this.__initIconFromControl();
29376
29379
  if (ctr.tooltip) {
29377
- state.tooltip = (0,_core_helpers_checker_is_function_js__WEBPACK_IMPORTED_MODULE_7__.isFunction)(ctr.tooltip) ? ctr.tooltip(this.j, ctr, this) : ctr.tooltip;
29380
+ state.tooltip = (0,_core_helpers_checker_is_function_js__WEBPACK_IMPORTED_MODULE_8__.isFunction)(ctr.tooltip) ? ctr.tooltip(this.j, ctr, this) : ctr.tooltip;
29378
29381
  }
29379
29382
  state.hasTrigger = Boolean(ctr.list || ctr.popup && ctr.exec);
29380
29383
  }
@@ -29382,12 +29385,12 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
29382
29385
  var _a;
29383
29386
  const { control: ctr, state } = this;
29384
29387
  const { textIcons } = this.j.o;
29385
- if (textIcons === true || (0,_core_helpers_checker_is_function_js__WEBPACK_IMPORTED_MODULE_7__.isFunction)(textIcons) && textIcons(ctr.name) || ctr.template) {
29386
- state.icon = (0,_core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_16__.UIButtonState)().icon;
29388
+ if (textIcons === true || (0,_core_helpers_checker_is_function_js__WEBPACK_IMPORTED_MODULE_8__.isFunction)(textIcons) && textIcons(ctr.name) || ctr.template) {
29389
+ state.icon = (0,_core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_17__.UIButtonState)().icon;
29387
29390
  state.text = ctr.text || ctr.name;
29388
29391
  return;
29389
29392
  }
29390
- if (!(0,_core_helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_10__.isString)(ctr.icon) && ctr.icon != null) {
29393
+ if (!(0,_core_helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_11__.isString)(ctr.icon) && ctr.icon != null) {
29391
29394
  state.icon = {
29392
29395
  name: ctr.icon.name || ctr.name,
29393
29396
  iconURL: ctr.icon.iconURL || '',
@@ -29400,7 +29403,7 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
29400
29403
  state.icon.iconURL = ctr.iconURL;
29401
29404
  } else {
29402
29405
  const name = ctr.icon || ctr.name;
29403
- state.icon.name = _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_18__.Icon.exists(name) || ((_a = this.j.o.extraIcons) === null || _a === void 0 ? void 0 : _a[name]) ? name : '';
29406
+ state.icon.name = _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_19__.Icon.exists(name) || ((_a = this.j.o.extraIcons) === null || _a === void 0 ? void 0 : _a[name]) ? name : '';
29404
29407
  }
29405
29408
  if (!ctr.iconURL && !state.icon.name) {
29406
29409
  state.text = ctr.text || ctr.name;
@@ -29415,22 +29418,22 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
29415
29418
  return;
29416
29419
  }
29417
29420
  const { control: ctr } = this;
29418
- (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_14__.attr)(this.trigger, 'aria-expanded', true);
29421
+ (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_15__.attr)(this.trigger, 'aria-expanded', true);
29419
29422
  e.buffer = {
29420
29423
  actionTrigger: this
29421
29424
  };
29422
29425
  if (ctr.list) {
29423
29426
  return this.__openControlList(ctr);
29424
29427
  }
29425
- if ((0,_core_helpers_checker_is_function_js__WEBPACK_IMPORTED_MODULE_7__.isFunction)(ctr.popup)) {
29428
+ if ((0,_core_helpers_checker_is_function_js__WEBPACK_IMPORTED_MODULE_8__.isFunction)(ctr.popup)) {
29426
29429
  const popup = this.openPopup();
29427
29430
  popup.parentElement = this;
29428
29431
  try {
29429
- if (this.j.e.fire((0,_core_helpers_string_camel_case_js__WEBPACK_IMPORTED_MODULE_12__.camelCase)(`before-${ctr.name}-open-popup`), this.target, ctr, popup) !== false) {
29432
+ if (this.j.e.fire((0,_core_helpers_string_camel_case_js__WEBPACK_IMPORTED_MODULE_13__.camelCase)(`before-${ctr.name}-open-popup`), this.target, ctr, popup) !== false) {
29430
29433
  const target = (_c = (_b = (_a = this.toolbar) === null || _a === void 0 ? void 0 : _a.getTarget(this)) !== null && _b !== void 0 ? _b : this.target) !== null && _c !== void 0 ? _c : null;
29431
29434
  const elm = ctr.popup(this.j, target, this.__closePopup, this);
29432
29435
  if (elm) {
29433
- popup.setContent((0,_core_helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_10__.isString)(elm) ? this.j.c.fromHTML(elm) : elm).open(()=>(0,_core_helpers_size_index_js__WEBPACK_IMPORTED_MODULE_11__.position)(this.container), false, this.j.o.allowTabNavigation ? this.container : undefined);
29436
+ popup.setContent((0,_core_helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_11__.isString)(elm) ? this.j.c.fromHTML(elm) : elm).open(()=>(0,_core_helpers_size_index_js__WEBPACK_IMPORTED_MODULE_12__.position)(this.container), false, this.j.o.allowTabNavigation ? this.container : undefined);
29434
29437
  } else {
29435
29438
  this.__closePopup();
29436
29439
  }
@@ -29443,29 +29446,40 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
29443
29446
  * Fired after the popup was opened for some control button
29444
29447
  */ /**
29445
29448
  * Close all opened popups
29446
- */ this.j.e.fire((0,_core_helpers_string_camel_case_js__WEBPACK_IMPORTED_MODULE_12__.camelCase)(`after-${ctr.name}-open-popup`), popup.container);
29449
+ */ this.j.e.fire((0,_core_helpers_string_camel_case_js__WEBPACK_IMPORTED_MODULE_13__.camelCase)(`after-${ctr.name}-open-popup`), popup.container);
29447
29450
  }
29448
29451
  }
29452
+ onTriggerKeyDown(e) {
29453
+ if (this.state.disabled || ![
29454
+ _core_constants_js__WEBPACK_IMPORTED_MODULE_1__.KEY_ENTER,
29455
+ _core_constants_js__WEBPACK_IMPORTED_MODULE_1__.KEY_SPACE,
29456
+ ' '
29457
+ ].includes(e.key)) {
29458
+ return;
29459
+ }
29460
+ e.preventDefault();
29461
+ this.trigger.click();
29462
+ }
29449
29463
  /**
29450
29464
  * Create an open popup list
29451
29465
  */ __openControlList(control) {
29452
29466
  var _a;
29453
- const controls = (_a = this.jodit.options.controls) !== null && _a !== void 0 ? _a : {}, getControl = (key)=>(0,_core_ui_helpers_get_control_type_js__WEBPACK_IMPORTED_MODULE_17__.findControlType)(key, controls);
29467
+ const controls = (_a = this.jodit.options.controls) !== null && _a !== void 0 ? _a : {}, getControl = (key)=>(0,_core_ui_helpers_get_control_type_js__WEBPACK_IMPORTED_MODULE_18__.findControlType)(key, controls);
29454
29468
  const list = control.list;
29455
29469
  const menu = this.openPopup();
29456
- const toolbar = (0,_factory_js__WEBPACK_IMPORTED_MODULE_20__.makeCollection)(this.j);
29470
+ const toolbar = (0,_factory_js__WEBPACK_IMPORTED_MODULE_21__.makeCollection)(this.j);
29457
29471
  menu.parentElement = this;
29458
29472
  toolbar.parentElement = menu;
29459
29473
  toolbar.mode = 'vertical';
29460
- const isListItem = (key)=>(0,_core_helpers_checker_is_plain_object_js__WEBPACK_IMPORTED_MODULE_9__.isPlainObject)(key) && 'title' in key && 'value' in key;
29474
+ const isListItem = (key)=>(0,_core_helpers_checker_is_plain_object_js__WEBPACK_IMPORTED_MODULE_10__.isPlainObject)(key) && 'title' in key && 'value' in key;
29461
29475
  const getButton = (key, value)=>{
29462
- if ((0,_core_helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_10__.isString)(value) && getControl(value)) {
29476
+ if ((0,_core_helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_11__.isString)(value) && getControl(value)) {
29463
29477
  return {
29464
29478
  name: value.toString(),
29465
29479
  ...getControl(value)
29466
29480
  };
29467
29481
  }
29468
- if ((0,_core_helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_10__.isString)(key) && getControl(key)) {
29482
+ if ((0,_core_helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_11__.isString)(key) && getControl(key)) {
29469
29483
  return {
29470
29484
  name: key.toString(),
29471
29485
  ...getControl(key),
@@ -29499,26 +29513,26 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
29499
29513
  value
29500
29514
  ]
29501
29515
  };
29502
- if ((0,_core_helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_10__.isString)(value)) {
29516
+ if ((0,_core_helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_11__.isString)(value)) {
29503
29517
  childControl.text = value;
29504
29518
  }
29505
29519
  return childControl;
29506
29520
  };
29507
- toolbar.build((0,_core_helpers_checker_is_array_js__WEBPACK_IMPORTED_MODULE_6__.isArray)(list) ? list.map(getButton) : (0,_core_helpers_utils_utils_js__WEBPACK_IMPORTED_MODULE_15__.keys)(list, false).map((key)=>getButton(key, list[key])), this.target);
29508
- menu.setContent(toolbar).open(()=>(0,_core_helpers_size_index_js__WEBPACK_IMPORTED_MODULE_11__.position)(this.container), false, this.j.o.allowTabNavigation ? this.container : undefined);
29521
+ toolbar.build((0,_core_helpers_checker_is_array_js__WEBPACK_IMPORTED_MODULE_7__.isArray)(list) ? list.map(getButton) : (0,_core_helpers_utils_utils_js__WEBPACK_IMPORTED_MODULE_16__.keys)(list, false).map((key)=>getButton(key, list[key])), this.target);
29522
+ menu.setContent(toolbar).open(()=>(0,_core_helpers_size_index_js__WEBPACK_IMPORTED_MODULE_12__.position)(this.container), false, this.j.o.allowTabNavigation ? this.container : undefined);
29509
29523
  this.state.activated = true;
29510
29524
  }
29511
29525
  onOutsideClick(e) {
29512
29526
  if (!this.openedPopup) {
29513
29527
  return;
29514
29528
  }
29515
- if (!e || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_5__.Dom.isNode(e.target) || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_5__.Dom.isOrContains(this.container, e.target) && !this.openedPopup.isOwnClick(e)) {
29529
+ if (!e || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_6__.Dom.isNode(e.target) || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_6__.Dom.isOrContains(this.container, e.target) && !this.openedPopup.isOwnClick(e)) {
29516
29530
  this.__closePopup();
29517
29531
  }
29518
29532
  }
29519
29533
  openPopup() {
29520
29534
  this.__closePopup();
29521
- this.openedPopup = new _core_ui_popup_popup_js__WEBPACK_IMPORTED_MODULE_19__.Popup(this.j, false);
29535
+ this.openedPopup = new _core_ui_popup_popup_js__WEBPACK_IMPORTED_MODULE_20__.Popup(this.j, false);
29522
29536
  this.j.e.on(this.ow, 'mousedown touchstart', this.onOutsideClick).on('escape closeAllPopups', this.onOutsideClick);
29523
29537
  return this.openedPopup;
29524
29538
  }
@@ -29530,7 +29544,7 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
29530
29544
  this.openedPopup.destruct();
29531
29545
  this.openedPopup = null;
29532
29546
  if (this.trigger) {
29533
- (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_14__.attr)(this.trigger, 'aria-expanded', false);
29547
+ (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_15__.attr)(this.trigger, 'aria-expanded', false);
29534
29548
  }
29535
29549
  }
29536
29550
  }
@@ -29539,7 +29553,7 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
29539
29553
  */ onClick(originalEvent) {
29540
29554
  var _a, _b, _c, _d, _e, _f, _g;
29541
29555
  const { control: ctr } = this;
29542
- if ((0,_core_helpers_checker_is_function_js__WEBPACK_IMPORTED_MODULE_7__.isFunction)(ctr.exec)) {
29556
+ if ((0,_core_helpers_checker_is_function_js__WEBPACK_IMPORTED_MODULE_8__.isFunction)(ctr.exec)) {
29543
29557
  const target = (_c = (_b = (_a = this.toolbar) === null || _a === void 0 ? void 0 : _a.getTarget(this)) !== null && _b !== void 0 ? _b : this.target) !== null && _c !== void 0 ? _c : null;
29544
29558
  const result = ctr.exec(this.j, target, {
29545
29559
  control: ctr,
@@ -29563,11 +29577,11 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
29563
29577
  if (ctr.list) {
29564
29578
  return this.__openControlList(ctr);
29565
29579
  }
29566
- if ((0,_core_helpers_checker_is_function_js__WEBPACK_IMPORTED_MODULE_7__.isFunction)(ctr.popup)) {
29580
+ if ((0,_core_helpers_checker_is_function_js__WEBPACK_IMPORTED_MODULE_8__.isFunction)(ctr.popup)) {
29567
29581
  return this.onTriggerClick(originalEvent);
29568
29582
  }
29569
29583
  if (ctr.command || ctr.name) {
29570
- (0,_core_helpers_utils_utils_js__WEBPACK_IMPORTED_MODULE_15__.call)((0,_core_helpers_checker_is_jodit_object_js__WEBPACK_IMPORTED_MODULE_8__.isJoditObject)(this.j) ? this.j.execCommand.bind(this.j) : this.j.od.execCommand.bind(this.j.od), ctr.command || ctr.name, false, ctr.args && ctr.args[0]);
29584
+ (0,_core_helpers_utils_utils_js__WEBPACK_IMPORTED_MODULE_16__.call)((0,_core_helpers_checker_is_jodit_object_js__WEBPACK_IMPORTED_MODULE_9__.isJoditObject)(this.j) ? this.j.execCommand.bind(this.j) : this.j.od.execCommand.bind(this.j.od), ctr.command || ctr.name, false, ctr.args && ctr.args[0]);
29571
29585
  this.j.e.fire('closeAllPopups');
29572
29586
  }
29573
29587
  }
@@ -29580,21 +29594,21 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
29580
29594
  this.control = control;
29581
29595
  this.target = target;
29582
29596
  this.state = {
29583
- ...(0,_core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_16__.UIButtonState)(),
29597
+ ...(0,_core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_17__.UIButtonState)(),
29584
29598
  theme: 'toolbar',
29585
29599
  currentValue: '',
29586
29600
  hasTrigger: false
29587
29601
  };
29588
29602
  this.openedPopup = null;
29589
29603
  const button = this.getElm('button');
29590
- (0,_core_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_13__.assert)(button, 'Element button should exists');
29604
+ (0,_core_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_14__.assert)(button, 'Element button should exists');
29591
29605
  this.button = button;
29592
29606
  Object.defineProperty(button, 'component', {
29593
29607
  value: this,
29594
29608
  configurable: true
29595
29609
  });
29596
29610
  const trigger = this.getElm('trigger');
29597
- (0,_core_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_13__.assert)(trigger, 'Element trigger should exists');
29611
+ (0,_core_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_14__.assert)(trigger, 'Element trigger should exists');
29598
29612
  this.trigger = trigger;
29599
29613
  trigger.remove();
29600
29614
  // Prevent lost focus
@@ -29615,24 +29629,27 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
29615
29629
  }
29616
29630
  };
29617
29631
  __decorate([
29618
- _core_decorators_cache_cache_js__WEBPACK_IMPORTED_MODULE_2__.cacheHTML
29632
+ _core_decorators_cache_cache_js__WEBPACK_IMPORTED_MODULE_3__.cacheHTML
29619
29633
  ], ToolbarButton.prototype, "createContainer", null);
29620
29634
  __decorate([
29621
- (0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_4__.watch)('state.hasTrigger', {
29635
+ (0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_5__.watch)('state.hasTrigger', {
29622
29636
  immediately: false
29623
29637
  })
29624
29638
  ], ToolbarButton.prototype, "onChangeHasTrigger", null);
29625
29639
  __decorate([
29626
- (0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_4__.watch)('trigger:click')
29640
+ (0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_5__.watch)('trigger:click')
29627
29641
  ], ToolbarButton.prototype, "onTriggerClick", null);
29628
29642
  __decorate([
29629
- _core_decorators_autobind_autobind_js__WEBPACK_IMPORTED_MODULE_1__.autobind
29643
+ (0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_5__.watch)('trigger:keydown')
29644
+ ], ToolbarButton.prototype, "onTriggerKeyDown", null);
29645
+ __decorate([
29646
+ _core_decorators_autobind_autobind_js__WEBPACK_IMPORTED_MODULE_2__.autobind
29630
29647
  ], ToolbarButton.prototype, "onOutsideClick", null);
29631
29648
  __decorate([
29632
- _core_decorators_autobind_autobind_js__WEBPACK_IMPORTED_MODULE_1__.autobind
29649
+ _core_decorators_autobind_autobind_js__WEBPACK_IMPORTED_MODULE_2__.autobind
29633
29650
  ], ToolbarButton.prototype, "__closePopup", null);
29634
29651
  ToolbarButton = __decorate([
29635
- _core_decorators_component_component_js__WEBPACK_IMPORTED_MODULE_3__.component
29652
+ _core_decorators_component_component_js__WEBPACK_IMPORTED_MODULE_4__.component
29636
29653
  ], ToolbarButton);
29637
29654
 
29638
29655
 
@@ -45477,10 +45494,26 @@ let UISearch = class UISearch extends _core_ui_index_js__WEBPACK_IMPORTED_MODULE
45477
45494
  this.replaceButton = replaceBtn;
45478
45495
  this.currentBox = current;
45479
45496
  this.countBox = count;
45497
+ const closeAction = ()=>this.close();
45498
+ const replaceAction = ()=>void jodit.e.fire(this, 'pressReplaceButton');
45499
+ const nextAction = ()=>void jodit.e.fire('searchNext');
45500
+ const prevAction = ()=>void jodit.e.fire('searchPrevious');
45501
+ // Pointer activation is handled on `pointerdown` (returning `false`
45502
+ // there keeps the focus and selection intact), but activating a
45503
+ // native button from the keyboard (Enter/Space) fires only `click`
45504
+ // with `detail === 0` — handle that path separately. Pointer clicks
45505
+ // arrive with `detail >= 1`, so the action does not run twice.
45506
+ // See https://github.com/xdan/jodit/issues/1440
45507
+ const onKeyboardActivate = (action)=>(e)=>{
45508
+ if (!e.detail) {
45509
+ e.preventDefault();
45510
+ action();
45511
+ }
45512
+ };
45480
45513
  jodit.e.on(this.closeButton, 'pointerdown', ()=>{
45481
- this.close();
45514
+ closeAction();
45482
45515
  return false;
45483
- }).on(this.queryInput, 'input', ()=>{
45516
+ }).on(this.closeButton, 'click', onKeyboardActivate(closeAction)).on(this.queryInput, 'input', ()=>{
45484
45517
  this.currentIndex = 0;
45485
45518
  }).on(this.queryInput, 'pointerdown', ()=>{
45486
45519
  if (jodit.s.isFocused()) {
@@ -45488,15 +45521,15 @@ let UISearch = class UISearch extends _core_ui_index_js__WEBPACK_IMPORTED_MODULE
45488
45521
  this.selInfo = jodit.s.save();
45489
45522
  }
45490
45523
  }).on(this.replaceButton, 'pointerdown', ()=>{
45491
- jodit.e.fire(this, 'pressReplaceButton');
45524
+ replaceAction();
45492
45525
  return false;
45493
- }).on(next, 'pointerdown', ()=>{
45494
- void jodit.e.fire('searchNext');
45526
+ }).on(this.replaceButton, 'click', onKeyboardActivate(replaceAction)).on(next, 'pointerdown', ()=>{
45527
+ nextAction();
45495
45528
  return false;
45496
- }).on(prev, 'pointerdown', ()=>{
45497
- jodit.e.fire('searchPrevious');
45529
+ }).on(next, 'click', onKeyboardActivate(nextAction)).on(prev, 'pointerdown', ()=>{
45530
+ prevAction();
45498
45531
  return false;
45499
- }).on(this.queryInput, 'input', ()=>{
45532
+ }).on(prev, 'click', onKeyboardActivate(prevAction)).on(this.queryInput, 'input', ()=>{
45500
45533
  this.setMod('empty-query', !(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.trim)(this.queryInput.value).length);
45501
45534
  }).on(this.queryInput, 'keydown', (()=>{
45502
45535
  const debounced = this.j.async.debounce(async (e)=>{
@@ -50334,12 +50367,13 @@ function findCell(editor, key) {
50334
50367
  /***/ 40329:
50335
50368
  /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
50336
50369
 
50337
- /* harmony import */ var _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22732);
50338
- /* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21537);
50339
- /* harmony import */ var _core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(43555);
50340
- /* harmony import */ var _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12153);
50341
- /* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6441);
50342
- /* harmony import */ var _table_svg_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6091);
50370
+ /* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
50371
+ /* harmony import */ var _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(22732);
50372
+ /* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21537);
50373
+ /* harmony import */ var _core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(43555);
50374
+ /* harmony import */ var _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(12153);
50375
+ /* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6441);
50376
+ /* harmony import */ var _table_svg_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6091);
50343
50377
  /*!
50344
50378
  * Jodit Editor (https://xdsoft.net/jodit/)
50345
50379
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -50350,13 +50384,14 @@ function findCell(editor, key) {
50350
50384
 
50351
50385
 
50352
50386
 
50353
- _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.table = {
50387
+
50388
+ _config_js__WEBPACK_IMPORTED_MODULE_5__.Config.prototype.table = {
50354
50389
  splitBlockOnInsertTable: true,
50355
50390
  selectionCellStyle: 'border: 1px double #1e88e5 !important;',
50356
50391
  useExtraClassesOptions: false
50357
50392
  };
50358
- _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_3__.Icon.set('table', _table_svg_js__WEBPACK_IMPORTED_MODULE_5__["default"]);
50359
- _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
50393
+ _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__.Icon.set('table', _table_svg_js__WEBPACK_IMPORTED_MODULE_6__["default"]);
50394
+ _config_js__WEBPACK_IMPORTED_MODULE_5__.Config.prototype.controls.table = {
50360
50395
  data: {
50361
50396
  cols: 10,
50362
50397
  rows: 10,
@@ -50386,19 +50421,25 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
50386
50421
  };
50387
50422
  const form = editor.c.fromHTML('<form class="jodit-form jodit-form__inserter">' + '<div class="jodit-form__table-creator-box">' + '<div class="jodit-form__container"></div>' + '<div class="jodit-form__options">' + generateExtraClasses() + '</div>' + '</div>' + '<label class="jodit-form__center">' + '<span>1</span> &times; <span>1</span>' + '</label>' + '</form>'), rows = form.querySelectorAll('span')[0], cols = form.querySelectorAll('span')[1], blocksContainer = form.querySelector('.jodit-form__container'), options = form.querySelector('.jodit-form__options'), cells = [];
50388
50423
  const cnt = default_rows_count * default_cols_count;
50424
+ (0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(blocksContainer, {
50425
+ role: 'grid',
50426
+ ariaLabel: 'Table size',
50427
+ ariaRowcount: default_rows_count,
50428
+ ariaColcount: default_cols_count
50429
+ });
50389
50430
  for(let i = 0; i < cnt; i += 1){
50390
50431
  if (!cells[i]) {
50432
+ const row = Math.floor(i / default_cols_count) + 1, col = i % default_cols_count + 1;
50391
50433
  cells.push(editor.c.element('span', {
50392
- dataIndex: i
50434
+ dataIndex: i,
50435
+ role: 'gridcell',
50436
+ tabindex: i === 0 ? 0 : -1,
50437
+ ariaLabel: `${row} by ${col}`
50393
50438
  }));
50394
50439
  }
50395
50440
  }
50396
- const mouseenter = (e, index)=>{
50397
- const dv = e.target;
50398
- if (!_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(dv, 'span')) {
50399
- return;
50400
- }
50401
- const k = index === undefined || isNaN(index) ? parseInt((0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_2__.attr)(dv, '-index') || '0', 10) : index || 0;
50441
+ const highlightCell = (cell)=>{
50442
+ const k = parseInt((0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(cell, '-index') || '0', 10);
50402
50443
  const rows_count = Math.ceil((k + 1) / default_cols_count), cols_count = k % default_cols_count + 1;
50403
50444
  for(let i = 0; i < cells.length; i += 1){
50404
50445
  if (cols_count >= i % default_cols_count + 1 && rows_count >= Math.ceil((i + 1) / default_cols_count)) {
@@ -50410,14 +50451,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
50410
50451
  cols.textContent = cols_count.toString();
50411
50452
  rows.textContent = rows_count.toString();
50412
50453
  };
50413
- editor.e.on(blocksContainer, 'mousemove', mouseenter).on(blocksContainer, 'touchstart mousedown', (e)=>{
50414
- const dv = e.target;
50415
- e.preventDefault();
50416
- e.stopImmediatePropagation();
50417
- if (!_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(dv, 'span')) {
50418
- return;
50419
- }
50420
- const k = parseInt((0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_2__.attr)(dv, '-index') || '0', 10);
50454
+ const insertTable = (cell)=>{
50455
+ const k = parseInt((0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(cell, '-index') || '0', 10);
50421
50456
  const rows_count = Math.ceil((k + 1) / default_cols_count), cols_count = k % default_cols_count + 1;
50422
50457
  const crt = editor.createInside, tbody = crt.element('tbody'), table = crt.element('table');
50423
50458
  table.appendChild(tbody);
@@ -50429,7 +50464,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
50429
50464
  if (!first_td) {
50430
50465
  first_td = td;
50431
50466
  }
50432
- (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_1__.css)(td, 'width', (100 / cols_count).toFixed(4) + '%');
50467
+ (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.css)(td, 'width', (100 / cols_count).toFixed(4) + '%');
50433
50468
  td.appendChild(crt.element('br'));
50434
50469
  tr.appendChild(crt.text('\n'));
50435
50470
  tr.appendChild(crt.text('\t'));
@@ -50438,7 +50473,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
50438
50473
  tbody.appendChild(crt.text('\n'));
50439
50474
  tbody.appendChild(tr);
50440
50475
  }
50441
- (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_1__.$$)('input[type=checkbox]:checked', options).forEach((input)=>{
50476
+ (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.$$)('input[type=checkbox]:checked', options).forEach((input)=>{
50442
50477
  input.value.split(/[\s]+/).forEach((className)=>{
50443
50478
  table.classList.add(className);
50444
50479
  });
@@ -50447,15 +50482,15 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
50447
50482
  editor.s.removeMarkers();
50448
50483
  editor.editor.normalize();
50449
50484
  editor.history.snapshot.restore(snapshot);
50450
- const block = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.furthest(editor.s.current(), _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock, editor.editor);
50451
- if (block && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmpty(block)) {
50452
- _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.replace(block, table, undefined, false, true);
50485
+ const block = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.furthest(editor.s.current(), _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock, editor.editor);
50486
+ if (block && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isEmpty(block)) {
50487
+ _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.replace(block, table, undefined, false, true);
50453
50488
  } else {
50454
50489
  if (block) {
50455
50490
  const fake = crt.text('\n');
50456
50491
  if (!editor.o.table.splitBlockOnInsertTable) {
50457
- _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(block, fake);
50458
- _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(fake, table);
50492
+ _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.after(block, fake);
50493
+ _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.after(fake, table);
50459
50494
  } else {
50460
50495
  const range = editor.s.range;
50461
50496
  range.collapse(false);
@@ -50464,9 +50499,9 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
50464
50499
  editor.s.selectRange(range);
50465
50500
  const firstPart = editor.s.splitSelection(block, fake);
50466
50501
  if (firstPart) {
50467
- _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(firstPart, table);
50502
+ _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.after(firstPart, table);
50468
50503
  } else {
50469
- _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(block, table);
50504
+ _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.after(block, table);
50470
50505
  }
50471
50506
  }
50472
50507
  } else {
@@ -50475,13 +50510,68 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
50475
50510
  }
50476
50511
  if (first_td) {
50477
50512
  editor.s.setCursorIn(first_td);
50478
- (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_1__.scrollIntoViewIfNeeded)(first_td, editor.editor, editor.ed);
50513
+ (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.scrollIntoViewIfNeeded)(first_td, editor.editor, editor.ed);
50479
50514
  }
50480
50515
  close();
50516
+ };
50517
+ editor.e.on(blocksContainer, 'mousemove', (e)=>{
50518
+ if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(e.target, 'span')) {
50519
+ highlightCell(e.target);
50520
+ }
50521
+ }).on(blocksContainer, 'touchstart mousedown', (e)=>{
50522
+ if (!_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(e.target, 'span')) {
50523
+ return;
50524
+ }
50525
+ e.preventDefault();
50526
+ e.stopImmediatePropagation();
50527
+ insertTable(e.target);
50528
+ }).on(blocksContainer, 'keydown', (e)=>{
50529
+ if (!_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(e.target, 'span')) {
50530
+ return;
50531
+ }
50532
+ if (e.key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_ENTER) {
50533
+ e.preventDefault();
50534
+ e.stopImmediatePropagation();
50535
+ insertTable(e.target);
50536
+ return;
50537
+ }
50538
+ if (e.key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_ESC) {
50539
+ e.preventDefault();
50540
+ e.stopImmediatePropagation();
50541
+ close();
50542
+ return;
50543
+ }
50544
+ const index = parseInt((0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(e.target, '-index') || '0', 10), row = Math.floor(index / default_cols_count), col = index % default_cols_count;
50545
+ let nextIndex = index;
50546
+ switch(e.key){
50547
+ case _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_LEFT:
50548
+ nextIndex = col > 0 ? index - 1 : index;
50549
+ break;
50550
+ case _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_RIGHT:
50551
+ nextIndex = col < default_cols_count - 1 ? index + 1 : index;
50552
+ break;
50553
+ case _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_UP:
50554
+ nextIndex = row > 0 ? index - default_cols_count : index;
50555
+ break;
50556
+ case _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_DOWN:
50557
+ nextIndex = row < default_rows_count - 1 ? index + default_cols_count : index;
50558
+ break;
50559
+ default:
50560
+ return;
50561
+ }
50562
+ e.preventDefault();
50563
+ e.stopImmediatePropagation();
50564
+ if (nextIndex !== index) {
50565
+ cells[index].tabIndex = -1;
50566
+ cells[nextIndex].tabIndex = 0;
50567
+ cells[nextIndex].focus();
50568
+ highlightCell(cells[nextIndex]);
50569
+ }
50481
50570
  });
50482
50571
  if (button && button.parentElement) {
50483
50572
  for(let i = 0; i < default_rows_count; i += 1){
50484
50573
  const row = editor.c.div();
50574
+ (0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(row, 'role', 'row');
50485
50575
  for(let j = 0; j < default_cols_count; j += 1){
50486
50576
  row.appendChild(cells[i * default_cols_count + j]);
50487
50577
  }