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
@@ -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
 
@@ -44703,10 +44720,26 @@ let UISearch = class UISearch extends _core_ui_index_js__WEBPACK_IMPORTED_MODULE
44703
44720
  this.replaceButton = replaceBtn;
44704
44721
  this.currentBox = current;
44705
44722
  this.countBox = count;
44723
+ const closeAction = ()=>this.close();
44724
+ const replaceAction = ()=>void jodit.e.fire(this, 'pressReplaceButton');
44725
+ const nextAction = ()=>void jodit.e.fire('searchNext');
44726
+ const prevAction = ()=>void jodit.e.fire('searchPrevious');
44727
+ // Pointer activation is handled on `pointerdown` (returning `false`
44728
+ // there keeps the focus and selection intact), but activating a
44729
+ // native button from the keyboard (Enter/Space) fires only `click`
44730
+ // with `detail === 0` — handle that path separately. Pointer clicks
44731
+ // arrive with `detail >= 1`, so the action does not run twice.
44732
+ // See https://github.com/xdan/jodit/issues/1440
44733
+ const onKeyboardActivate = (action)=>(e)=>{
44734
+ if (!e.detail) {
44735
+ e.preventDefault();
44736
+ action();
44737
+ }
44738
+ };
44706
44739
  jodit.e.on(this.closeButton, 'pointerdown', ()=>{
44707
- this.close();
44740
+ closeAction();
44708
44741
  return false;
44709
- }).on(this.queryInput, 'input', ()=>{
44742
+ }).on(this.closeButton, 'click', onKeyboardActivate(closeAction)).on(this.queryInput, 'input', ()=>{
44710
44743
  this.currentIndex = 0;
44711
44744
  }).on(this.queryInput, 'pointerdown', ()=>{
44712
44745
  if (jodit.s.isFocused()) {
@@ -44714,15 +44747,15 @@ let UISearch = class UISearch extends _core_ui_index_js__WEBPACK_IMPORTED_MODULE
44714
44747
  this.selInfo = jodit.s.save();
44715
44748
  }
44716
44749
  }).on(this.replaceButton, 'pointerdown', ()=>{
44717
- jodit.e.fire(this, 'pressReplaceButton');
44750
+ replaceAction();
44718
44751
  return false;
44719
- }).on(next, 'pointerdown', ()=>{
44720
- void jodit.e.fire('searchNext');
44752
+ }).on(this.replaceButton, 'click', onKeyboardActivate(replaceAction)).on(next, 'pointerdown', ()=>{
44753
+ nextAction();
44721
44754
  return false;
44722
- }).on(prev, 'pointerdown', ()=>{
44723
- jodit.e.fire('searchPrevious');
44755
+ }).on(next, 'click', onKeyboardActivate(nextAction)).on(prev, 'pointerdown', ()=>{
44756
+ prevAction();
44724
44757
  return false;
44725
- }).on(this.queryInput, 'input', ()=>{
44758
+ }).on(prev, 'click', onKeyboardActivate(prevAction)).on(this.queryInput, 'input', ()=>{
44726
44759
  this.setMod('empty-query', !(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.trim)(this.queryInput.value).length);
44727
44760
  }).on(this.queryInput, 'keydown', (()=>{
44728
44761
  const debounced = this.j.async.debounce(async (e)=>{
@@ -48256,12 +48289,13 @@ function findCell(editor, key) {
48256
48289
  /***/ 40329:
48257
48290
  /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
48258
48291
 
48259
- /* harmony import */ var _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22732);
48260
- /* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21537);
48261
- /* harmony import */ var _core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(43555);
48262
- /* harmony import */ var _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12153);
48263
- /* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6441);
48264
- /* harmony import */ var _table_svg_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6091);
48292
+ /* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
48293
+ /* harmony import */ var _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(22732);
48294
+ /* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21537);
48295
+ /* harmony import */ var _core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(43555);
48296
+ /* harmony import */ var _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(12153);
48297
+ /* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6441);
48298
+ /* harmony import */ var _table_svg_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6091);
48265
48299
  /*!
48266
48300
  * Jodit Editor (https://xdsoft.net/jodit/)
48267
48301
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -48272,13 +48306,14 @@ function findCell(editor, key) {
48272
48306
 
48273
48307
 
48274
48308
 
48275
- _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.table = {
48309
+
48310
+ _config_js__WEBPACK_IMPORTED_MODULE_5__.Config.prototype.table = {
48276
48311
  splitBlockOnInsertTable: true,
48277
48312
  selectionCellStyle: 'border: 1px double #1e88e5 !important;',
48278
48313
  useExtraClassesOptions: false
48279
48314
  };
48280
- _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_3__.Icon.set('table', _table_svg_js__WEBPACK_IMPORTED_MODULE_5__["default"]);
48281
- _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
48315
+ _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__.Icon.set('table', _table_svg_js__WEBPACK_IMPORTED_MODULE_6__["default"]);
48316
+ _config_js__WEBPACK_IMPORTED_MODULE_5__.Config.prototype.controls.table = {
48282
48317
  data: {
48283
48318
  cols: 10,
48284
48319
  rows: 10,
@@ -48308,19 +48343,25 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
48308
48343
  };
48309
48344
  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 = [];
48310
48345
  const cnt = default_rows_count * default_cols_count;
48346
+ (0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(blocksContainer, {
48347
+ role: 'grid',
48348
+ ariaLabel: 'Table size',
48349
+ ariaRowcount: default_rows_count,
48350
+ ariaColcount: default_cols_count
48351
+ });
48311
48352
  for(let i = 0; i < cnt; i += 1){
48312
48353
  if (!cells[i]) {
48354
+ const row = Math.floor(i / default_cols_count) + 1, col = i % default_cols_count + 1;
48313
48355
  cells.push(editor.c.element('span', {
48314
- dataIndex: i
48356
+ dataIndex: i,
48357
+ role: 'gridcell',
48358
+ tabindex: i === 0 ? 0 : -1,
48359
+ ariaLabel: `${row} by ${col}`
48315
48360
  }));
48316
48361
  }
48317
48362
  }
48318
- const mouseenter = (e, index)=>{
48319
- const dv = e.target;
48320
- if (!_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(dv, 'span')) {
48321
- return;
48322
- }
48323
- const k = index === undefined || isNaN(index) ? parseInt((0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_2__.attr)(dv, '-index') || '0', 10) : index || 0;
48363
+ const highlightCell = (cell)=>{
48364
+ const k = parseInt((0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(cell, '-index') || '0', 10);
48324
48365
  const rows_count = Math.ceil((k + 1) / default_cols_count), cols_count = k % default_cols_count + 1;
48325
48366
  for(let i = 0; i < cells.length; i += 1){
48326
48367
  if (cols_count >= i % default_cols_count + 1 && rows_count >= Math.ceil((i + 1) / default_cols_count)) {
@@ -48332,14 +48373,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
48332
48373
  cols.textContent = cols_count.toString();
48333
48374
  rows.textContent = rows_count.toString();
48334
48375
  };
48335
- editor.e.on(blocksContainer, 'mousemove', mouseenter).on(blocksContainer, 'touchstart mousedown', (e)=>{
48336
- const dv = e.target;
48337
- e.preventDefault();
48338
- e.stopImmediatePropagation();
48339
- if (!_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(dv, 'span')) {
48340
- return;
48341
- }
48342
- const k = parseInt((0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_2__.attr)(dv, '-index') || '0', 10);
48376
+ const insertTable = (cell)=>{
48377
+ const k = parseInt((0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(cell, '-index') || '0', 10);
48343
48378
  const rows_count = Math.ceil((k + 1) / default_cols_count), cols_count = k % default_cols_count + 1;
48344
48379
  const crt = editor.createInside, tbody = crt.element('tbody'), table = crt.element('table');
48345
48380
  table.appendChild(tbody);
@@ -48351,7 +48386,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
48351
48386
  if (!first_td) {
48352
48387
  first_td = td;
48353
48388
  }
48354
- (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_1__.css)(td, 'width', (100 / cols_count).toFixed(4) + '%');
48389
+ (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.css)(td, 'width', (100 / cols_count).toFixed(4) + '%');
48355
48390
  td.appendChild(crt.element('br'));
48356
48391
  tr.appendChild(crt.text('\n'));
48357
48392
  tr.appendChild(crt.text('\t'));
@@ -48360,7 +48395,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
48360
48395
  tbody.appendChild(crt.text('\n'));
48361
48396
  tbody.appendChild(tr);
48362
48397
  }
48363
- (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_1__.$$)('input[type=checkbox]:checked', options).forEach((input)=>{
48398
+ (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.$$)('input[type=checkbox]:checked', options).forEach((input)=>{
48364
48399
  input.value.split(/[\s]+/).forEach((className)=>{
48365
48400
  table.classList.add(className);
48366
48401
  });
@@ -48369,15 +48404,15 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
48369
48404
  editor.s.removeMarkers();
48370
48405
  editor.editor.normalize();
48371
48406
  editor.history.snapshot.restore(snapshot);
48372
- 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);
48373
- if (block && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmpty(block)) {
48374
- _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.replace(block, table, undefined, false, true);
48407
+ 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);
48408
+ if (block && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isEmpty(block)) {
48409
+ _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.replace(block, table, undefined, false, true);
48375
48410
  } else {
48376
48411
  if (block) {
48377
48412
  const fake = crt.text('\n');
48378
48413
  if (!editor.o.table.splitBlockOnInsertTable) {
48379
- _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(block, fake);
48380
- _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(fake, table);
48414
+ _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.after(block, fake);
48415
+ _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.after(fake, table);
48381
48416
  } else {
48382
48417
  const range = editor.s.range;
48383
48418
  range.collapse(false);
@@ -48386,9 +48421,9 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
48386
48421
  editor.s.selectRange(range);
48387
48422
  const firstPart = editor.s.splitSelection(block, fake);
48388
48423
  if (firstPart) {
48389
- _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(firstPart, table);
48424
+ _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.after(firstPart, table);
48390
48425
  } else {
48391
- _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(block, table);
48426
+ _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.after(block, table);
48392
48427
  }
48393
48428
  }
48394
48429
  } else {
@@ -48397,13 +48432,68 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.table = {
48397
48432
  }
48398
48433
  if (first_td) {
48399
48434
  editor.s.setCursorIn(first_td);
48400
- (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_1__.scrollIntoViewIfNeeded)(first_td, editor.editor, editor.ed);
48435
+ (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.scrollIntoViewIfNeeded)(first_td, editor.editor, editor.ed);
48401
48436
  }
48402
48437
  close();
48438
+ };
48439
+ editor.e.on(blocksContainer, 'mousemove', (e)=>{
48440
+ if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(e.target, 'span')) {
48441
+ highlightCell(e.target);
48442
+ }
48443
+ }).on(blocksContainer, 'touchstart mousedown', (e)=>{
48444
+ if (!_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(e.target, 'span')) {
48445
+ return;
48446
+ }
48447
+ e.preventDefault();
48448
+ e.stopImmediatePropagation();
48449
+ insertTable(e.target);
48450
+ }).on(blocksContainer, 'keydown', (e)=>{
48451
+ if (!_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(e.target, 'span')) {
48452
+ return;
48453
+ }
48454
+ if (e.key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_ENTER) {
48455
+ e.preventDefault();
48456
+ e.stopImmediatePropagation();
48457
+ insertTable(e.target);
48458
+ return;
48459
+ }
48460
+ if (e.key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_ESC) {
48461
+ e.preventDefault();
48462
+ e.stopImmediatePropagation();
48463
+ close();
48464
+ return;
48465
+ }
48466
+ 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;
48467
+ let nextIndex = index;
48468
+ switch(e.key){
48469
+ case _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_LEFT:
48470
+ nextIndex = col > 0 ? index - 1 : index;
48471
+ break;
48472
+ case _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_RIGHT:
48473
+ nextIndex = col < default_cols_count - 1 ? index + 1 : index;
48474
+ break;
48475
+ case _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_UP:
48476
+ nextIndex = row > 0 ? index - default_cols_count : index;
48477
+ break;
48478
+ case _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_DOWN:
48479
+ nextIndex = row < default_rows_count - 1 ? index + default_cols_count : index;
48480
+ break;
48481
+ default:
48482
+ return;
48483
+ }
48484
+ e.preventDefault();
48485
+ e.stopImmediatePropagation();
48486
+ if (nextIndex !== index) {
48487
+ cells[index].tabIndex = -1;
48488
+ cells[nextIndex].tabIndex = 0;
48489
+ cells[nextIndex].focus();
48490
+ highlightCell(cells[nextIndex]);
48491
+ }
48403
48492
  });
48404
48493
  if (button && button.parentElement) {
48405
48494
  for(let i = 0; i < default_rows_count; i += 1){
48406
48495
  const row = editor.c.div();
48496
+ (0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(row, 'role', 'row');
48407
48497
  for(let j = 0; j < default_cols_count; j += 1){
48408
48498
  row.appendChild(cells[i * default_cols_count + j]);
48409
48499
  }