jodit-pro 4.2.23 → 4.2.30

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 (353) hide show
  1. package/.nvmrc +1 -1
  2. package/es2015/889.fat.min.js +10 -0
  3. package/es2015/889.js +58 -0
  4. package/es2015/889.min.js +10 -0
  5. package/es2015/jodit.css +14 -2
  6. package/es2015/jodit.fat.min.css +1 -1
  7. package/es2015/jodit.fat.min.js +2 -2
  8. package/es2015/jodit.js +542 -287
  9. package/es2015/jodit.min.css +1 -1
  10. package/es2015/jodit.min.js +2 -2
  11. package/es2015/plugins/autocomplete/autocomplete.js +1 -1
  12. package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
  13. package/es2015/plugins/backup/backup.css +1 -1
  14. package/es2015/plugins/backup/backup.js +1 -1
  15. package/es2015/plugins/backup/backup.min.js +1 -1
  16. package/es2015/plugins/button-generator/button-generator.css +1 -1
  17. package/es2015/plugins/button-generator/button-generator.js +1 -1
  18. package/es2015/plugins/button-generator/button-generator.min.js +1 -1
  19. package/es2015/plugins/change-case/change-case.js +1 -1
  20. package/es2015/plugins/change-case/change-case.min.js +1 -1
  21. package/es2015/plugins/color-picker/color-picker.css +1 -1
  22. package/es2015/plugins/color-picker/color-picker.js +1 -1
  23. package/es2015/plugins/color-picker/color-picker.min.js +1 -1
  24. package/es2015/plugins/emoji/emoji.css +1 -1
  25. package/es2015/plugins/emoji/emoji.js +1 -1
  26. package/es2015/plugins/emoji/emoji.min.js +1 -1
  27. package/es2015/plugins/export-docs/export-docs.js +1 -1
  28. package/es2015/plugins/export-docs/export-docs.min.js +1 -1
  29. package/es2015/plugins/finder/finder.css +1 -1
  30. package/es2015/plugins/finder/finder.js +2 -56
  31. package/es2015/plugins/finder/finder.min.js +2 -2
  32. package/es2015/plugins/google-maps/google-maps.css +1 -1
  33. package/es2015/plugins/google-maps/google-maps.js +7 -3
  34. package/es2015/plugins/google-maps/google-maps.min.js +1 -1
  35. package/es2015/plugins/google-search/google-search.js +1 -1
  36. package/es2015/plugins/google-search/google-search.min.js +1 -1
  37. package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
  38. package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
  39. package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
  40. package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
  41. package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
  42. package/es2015/plugins/keyboard/keyboard.css +1 -1
  43. package/es2015/plugins/keyboard/keyboard.js +1 -1
  44. package/es2015/plugins/keyboard/keyboard.min.js +1 -1
  45. package/es2015/plugins/mobile-view/mobile-view.js +1 -1
  46. package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
  47. package/es2015/plugins/page-break/page-break.js +1 -1
  48. package/es2015/plugins/page-break/page-break.min.js +1 -1
  49. package/es2015/plugins/paste-code/paste-code.css +1 -1
  50. package/es2015/plugins/paste-code/paste-code.js +47 -43
  51. package/es2015/plugins/paste-code/paste-code.min.js +1 -1
  52. package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
  53. package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
  54. package/es2015/plugins/show-blocks/show-blocks.js +77 -39
  55. package/es2015/plugins/show-blocks/show-blocks.min.js +2 -2
  56. package/es2015/plugins/todo-list/todo-list.css +1 -1
  57. package/es2015/plugins/todo-list/todo-list.js +1 -1
  58. package/es2015/plugins/todo-list/todo-list.min.js +1 -1
  59. package/es2015/plugins/translate/translate.css +1 -1
  60. package/es2015/plugins/translate/translate.js +18 -18
  61. package/es2015/plugins/translate/translate.min.js +1 -1
  62. package/es2015/plugins/tune-block/tune-block.css +1 -1
  63. package/es2015/plugins/tune-block/tune-block.js +1 -1
  64. package/es2015/plugins/tune-block/tune-block.min.js +1 -1
  65. package/es2018/889.fat.min.js +10 -0
  66. package/es2018/889.js +58 -0
  67. package/es2018/889.min.js +10 -0
  68. package/es2018/jodit.css +14 -2
  69. package/es2018/jodit.fat.min.css +1 -1
  70. package/es2018/jodit.fat.min.js +2 -2
  71. package/es2018/jodit.js +536 -281
  72. package/es2018/jodit.min.css +1 -1
  73. package/es2018/jodit.min.js +2 -2
  74. package/es2018/plugins/autocomplete/autocomplete.js +1 -1
  75. package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
  76. package/es2018/plugins/backup/backup.css +1 -1
  77. package/es2018/plugins/backup/backup.js +1 -1
  78. package/es2018/plugins/backup/backup.min.js +1 -1
  79. package/es2018/plugins/button-generator/button-generator.css +1 -1
  80. package/es2018/plugins/button-generator/button-generator.js +1 -1
  81. package/es2018/plugins/button-generator/button-generator.min.js +1 -1
  82. package/es2018/plugins/change-case/change-case.js +1 -1
  83. package/es2018/plugins/change-case/change-case.min.js +1 -1
  84. package/es2018/plugins/color-picker/color-picker.css +1 -1
  85. package/es2018/plugins/color-picker/color-picker.js +1 -1
  86. package/es2018/plugins/color-picker/color-picker.min.js +1 -1
  87. package/es2018/plugins/emoji/emoji.css +1 -1
  88. package/es2018/plugins/emoji/emoji.js +1 -1
  89. package/es2018/plugins/emoji/emoji.min.js +1 -1
  90. package/es2018/plugins/export-docs/export-docs.js +1 -1
  91. package/es2018/plugins/export-docs/export-docs.min.js +1 -1
  92. package/es2018/plugins/finder/finder.css +1 -1
  93. package/es2018/plugins/finder/finder.js +2 -56
  94. package/es2018/plugins/finder/finder.min.js +2 -2
  95. package/es2018/plugins/google-maps/google-maps.css +1 -1
  96. package/es2018/plugins/google-maps/google-maps.js +7 -3
  97. package/es2018/plugins/google-maps/google-maps.min.js +1 -1
  98. package/es2018/plugins/google-search/google-search.js +1 -1
  99. package/es2018/plugins/google-search/google-search.min.js +1 -1
  100. package/es2018/plugins/highlight-signature/highlight-signature.js +1 -1
  101. package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
  102. package/es2018/plugins/iframe-editor/iframe-editor.css +1 -1
  103. package/es2018/plugins/iframe-editor/iframe-editor.js +1 -1
  104. package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
  105. package/es2018/plugins/keyboard/keyboard.css +1 -1
  106. package/es2018/plugins/keyboard/keyboard.js +1 -1
  107. package/es2018/plugins/keyboard/keyboard.min.js +1 -1
  108. package/es2018/plugins/mobile-view/mobile-view.js +1 -1
  109. package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
  110. package/es2018/plugins/page-break/page-break.js +1 -1
  111. package/es2018/plugins/page-break/page-break.min.js +1 -1
  112. package/es2018/plugins/paste-code/paste-code.css +1 -1
  113. package/es2018/plugins/paste-code/paste-code.js +40 -36
  114. package/es2018/plugins/paste-code/paste-code.min.js +1 -1
  115. package/es2018/plugins/paste-from-word/paste-from-word.js +1 -1
  116. package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
  117. package/es2018/plugins/show-blocks/show-blocks.js +77 -39
  118. package/es2018/plugins/show-blocks/show-blocks.min.js +2 -2
  119. package/es2018/plugins/todo-list/todo-list.css +1 -1
  120. package/es2018/plugins/todo-list/todo-list.js +1 -1
  121. package/es2018/plugins/todo-list/todo-list.min.js +1 -1
  122. package/es2018/plugins/translate/translate.css +1 -1
  123. package/es2018/plugins/translate/translate.js +18 -18
  124. package/es2018/plugins/translate/translate.min.js +1 -1
  125. package/es2018/plugins/tune-block/tune-block.css +1 -1
  126. package/es2018/plugins/tune-block/tune-block.js +1 -1
  127. package/es2018/plugins/tune-block/tune-block.min.js +1 -1
  128. package/es2021/889.fat.min.js +10 -0
  129. package/es2021/889.js +58 -0
  130. package/es2021/889.min.js +10 -0
  131. package/es2021/jodit.css +14 -2
  132. package/es2021/jodit.fat.min.css +1 -1
  133. package/es2021/jodit.fat.min.js +2 -2
  134. package/es2021/jodit.js +536 -281
  135. package/es2021/jodit.min.css +1 -1
  136. package/es2021/jodit.min.js +2 -2
  137. package/es2021/plugins/autocomplete/autocomplete.js +1 -1
  138. package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
  139. package/es2021/plugins/backup/backup.css +1 -1
  140. package/es2021/plugins/backup/backup.js +1 -1
  141. package/es2021/plugins/backup/backup.min.js +1 -1
  142. package/es2021/plugins/button-generator/button-generator.css +1 -1
  143. package/es2021/plugins/button-generator/button-generator.js +1 -1
  144. package/es2021/plugins/button-generator/button-generator.min.js +1 -1
  145. package/es2021/plugins/change-case/change-case.js +1 -1
  146. package/es2021/plugins/change-case/change-case.min.js +1 -1
  147. package/es2021/plugins/color-picker/color-picker.css +1 -1
  148. package/es2021/plugins/color-picker/color-picker.js +1 -1
  149. package/es2021/plugins/color-picker/color-picker.min.js +1 -1
  150. package/es2021/plugins/emoji/emoji.css +1 -1
  151. package/es2021/plugins/emoji/emoji.js +1 -1
  152. package/es2021/plugins/emoji/emoji.min.js +1 -1
  153. package/es2021/plugins/export-docs/export-docs.js +1 -1
  154. package/es2021/plugins/export-docs/export-docs.min.js +1 -1
  155. package/es2021/plugins/finder/finder.css +1 -1
  156. package/es2021/plugins/finder/finder.js +2 -56
  157. package/es2021/plugins/finder/finder.min.js +2 -2
  158. package/es2021/plugins/google-maps/google-maps.css +1 -1
  159. package/es2021/plugins/google-maps/google-maps.js +7 -3
  160. package/es2021/plugins/google-maps/google-maps.min.js +1 -1
  161. package/es2021/plugins/google-search/google-search.js +1 -1
  162. package/es2021/plugins/google-search/google-search.min.js +1 -1
  163. package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
  164. package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
  165. package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
  166. package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
  167. package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
  168. package/es2021/plugins/keyboard/keyboard.css +1 -1
  169. package/es2021/plugins/keyboard/keyboard.js +1 -1
  170. package/es2021/plugins/keyboard/keyboard.min.js +1 -1
  171. package/es2021/plugins/mobile-view/mobile-view.js +1 -1
  172. package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
  173. package/es2021/plugins/page-break/page-break.js +1 -1
  174. package/es2021/plugins/page-break/page-break.min.js +1 -1
  175. package/es2021/plugins/paste-code/paste-code.css +1 -1
  176. package/es2021/plugins/paste-code/paste-code.js +40 -36
  177. package/es2021/plugins/paste-code/paste-code.min.js +1 -1
  178. package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
  179. package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
  180. package/es2021/plugins/show-blocks/show-blocks.js +77 -39
  181. package/es2021/plugins/show-blocks/show-blocks.min.js +2 -2
  182. package/es2021/plugins/todo-list/todo-list.css +1 -1
  183. package/es2021/plugins/todo-list/todo-list.js +1 -1
  184. package/es2021/plugins/todo-list/todo-list.min.js +1 -1
  185. package/es2021/plugins/translate/translate.css +1 -1
  186. package/es2021/plugins/translate/translate.js +18 -18
  187. package/es2021/plugins/translate/translate.min.js +1 -1
  188. package/es2021/plugins/tune-block/tune-block.css +1 -1
  189. package/es2021/plugins/tune-block/tune-block.js +1 -1
  190. package/es2021/plugins/tune-block/tune-block.min.js +1 -1
  191. package/es2021.en/889.fat.min.js +10 -0
  192. package/es2021.en/889.js +24 -0
  193. package/es2021.en/889.min.js +10 -0
  194. package/es2021.en/jodit.css +14 -2
  195. package/es2021.en/jodit.fat.min.css +1 -1
  196. package/es2021.en/jodit.fat.min.js +2 -2
  197. package/es2021.en/jodit.js +511 -275
  198. package/es2021.en/jodit.min.css +1 -1
  199. package/es2021.en/jodit.min.js +2 -2
  200. package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
  201. package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
  202. package/es2021.en/plugins/backup/backup.css +1 -1
  203. package/es2021.en/plugins/backup/backup.js +1 -1
  204. package/es2021.en/plugins/backup/backup.min.js +1 -1
  205. package/es2021.en/plugins/button-generator/button-generator.css +1 -1
  206. package/es2021.en/plugins/button-generator/button-generator.js +1 -1
  207. package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
  208. package/es2021.en/plugins/change-case/change-case.js +1 -1
  209. package/es2021.en/plugins/change-case/change-case.min.js +1 -1
  210. package/es2021.en/plugins/color-picker/color-picker.css +1 -1
  211. package/es2021.en/plugins/color-picker/color-picker.js +1 -1
  212. package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
  213. package/es2021.en/plugins/emoji/emoji.css +1 -1
  214. package/es2021.en/plugins/emoji/emoji.js +1 -1
  215. package/es2021.en/plugins/emoji/emoji.min.js +1 -1
  216. package/es2021.en/plugins/export-docs/export-docs.js +1 -1
  217. package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
  218. package/es2021.en/plugins/finder/finder.css +1 -1
  219. package/es2021.en/plugins/finder/finder.js +2 -21
  220. package/es2021.en/plugins/finder/finder.min.js +2 -2
  221. package/es2021.en/plugins/google-maps/google-maps.css +1 -1
  222. package/es2021.en/plugins/google-maps/google-maps.js +7 -3
  223. package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
  224. package/es2021.en/plugins/google-search/google-search.js +1 -1
  225. package/es2021.en/plugins/google-search/google-search.min.js +1 -1
  226. package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
  227. package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
  228. package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
  229. package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
  230. package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
  231. package/es2021.en/plugins/keyboard/keyboard.css +1 -1
  232. package/es2021.en/plugins/keyboard/keyboard.js +1 -1
  233. package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
  234. package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
  235. package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
  236. package/es2021.en/plugins/page-break/page-break.js +1 -1
  237. package/es2021.en/plugins/page-break/page-break.min.js +1 -1
  238. package/es2021.en/plugins/paste-code/paste-code.css +1 -1
  239. package/es2021.en/plugins/paste-code/paste-code.js +40 -36
  240. package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
  241. package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
  242. package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
  243. package/es2021.en/plugins/show-blocks/show-blocks.js +41 -39
  244. package/es2021.en/plugins/show-blocks/show-blocks.min.js +2 -2
  245. package/es2021.en/plugins/todo-list/todo-list.css +1 -1
  246. package/es2021.en/plugins/todo-list/todo-list.js +1 -1
  247. package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
  248. package/es2021.en/plugins/translate/translate.css +1 -1
  249. package/es2021.en/plugins/translate/translate.js +18 -18
  250. package/es2021.en/plugins/translate/translate.min.js +1 -1
  251. package/es2021.en/plugins/tune-block/tune-block.css +1 -1
  252. package/es2021.en/plugins/tune-block/tune-block.js +1 -1
  253. package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
  254. package/es5/292.fat.min.js +10 -0
  255. package/es5/292.js +5011 -0
  256. package/es5/292.min.js +10 -0
  257. package/es5/889.fat.min.js +10 -0
  258. package/es5/889.js +58 -0
  259. package/es5/889.min.js +10 -0
  260. package/es5/jodit.css +21 -6
  261. package/es5/jodit.fat.min.css +1 -1
  262. package/es5/jodit.fat.min.js +2 -2
  263. package/es5/jodit.js +814 -5708
  264. package/es5/jodit.min.css +3 -3
  265. package/es5/jodit.min.js +2 -2
  266. package/es5/plugins/autocomplete/autocomplete.js +1 -1
  267. package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
  268. package/es5/plugins/backup/backup.css +1 -1
  269. package/es5/plugins/backup/backup.js +1 -1
  270. package/es5/plugins/backup/backup.min.js +1 -1
  271. package/es5/plugins/button-generator/button-generator.css +1 -1
  272. package/es5/plugins/button-generator/button-generator.js +1 -1
  273. package/es5/plugins/button-generator/button-generator.min.js +1 -1
  274. package/es5/plugins/change-case/change-case.js +1 -1
  275. package/es5/plugins/change-case/change-case.min.js +1 -1
  276. package/es5/plugins/color-picker/color-picker.css +1 -1
  277. package/es5/plugins/color-picker/color-picker.js +1 -1
  278. package/es5/plugins/color-picker/color-picker.min.js +1 -1
  279. package/es5/plugins/emoji/emoji.css +1 -1
  280. package/es5/plugins/emoji/emoji.js +1 -1
  281. package/es5/plugins/emoji/emoji.min.js +1 -1
  282. package/es5/plugins/export-docs/export-docs.js +1 -1
  283. package/es5/plugins/export-docs/export-docs.min.js +1 -1
  284. package/es5/plugins/finder/finder.css +1 -1
  285. package/es5/plugins/finder/finder.js +2 -56
  286. package/es5/plugins/finder/finder.min.js +2 -2
  287. package/es5/plugins/google-maps/google-maps.css +1 -1
  288. package/es5/plugins/google-maps/google-maps.js +7 -3
  289. package/es5/plugins/google-maps/google-maps.min.js +1 -1
  290. package/es5/plugins/google-search/google-search.js +1 -1
  291. package/es5/plugins/google-search/google-search.min.js +1 -1
  292. package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
  293. package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
  294. package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
  295. package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
  296. package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
  297. package/es5/plugins/keyboard/keyboard.css +1 -1
  298. package/es5/plugins/keyboard/keyboard.js +1 -1
  299. package/es5/plugins/keyboard/keyboard.min.js +1 -1
  300. package/es5/plugins/mobile-view/mobile-view.js +1 -1
  301. package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
  302. package/es5/plugins/page-break/page-break.js +1 -1
  303. package/es5/plugins/page-break/page-break.min.js +1 -1
  304. package/es5/plugins/paste-code/paste-code.css +1 -1
  305. package/es5/plugins/paste-code/paste-code.js +50 -46
  306. package/es5/plugins/paste-code/paste-code.min.js +1 -1
  307. package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
  308. package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
  309. package/es5/plugins/show-blocks/show-blocks.js +77 -39
  310. package/es5/plugins/show-blocks/show-blocks.min.js +2 -2
  311. package/es5/plugins/todo-list/todo-list.css +1 -1
  312. package/es5/plugins/todo-list/todo-list.js +1 -1
  313. package/es5/plugins/todo-list/todo-list.min.js +1 -1
  314. package/es5/plugins/translate/translate.css +1 -1
  315. package/es5/plugins/translate/translate.js +24 -24
  316. package/es5/plugins/translate/translate.min.js +1 -1
  317. package/es5/plugins/tune-block/tune-block.css +1 -1
  318. package/es5/plugins/tune-block/tune-block.js +1 -1
  319. package/es5/plugins/tune-block/tune-block.min.js +1 -1
  320. package/esm/plugins/finder/config.js +1 -1
  321. package/esm/plugins/finder/langs/index.d.ts +1 -1
  322. package/esm/plugins/finder/langs/index.js +6 -0
  323. package/esm/plugins/finder/langs/ru.js +6 -0
  324. package/esm/plugins/google-maps/helpers/helpers.d.ts +0 -1
  325. package/esm/plugins/google-maps/ui/map/map.d.ts +0 -1
  326. package/esm/plugins/paste-from-word/element/render.js +1 -1
  327. package/esm/plugins/paste-from-word/element/style.js +1 -1
  328. package/esm/plugins/show-blocks/langs/ar.js +6 -0
  329. package/esm/plugins/show-blocks/langs/cs_cz.js +6 -0
  330. package/esm/plugins/show-blocks/langs/de.js +6 -0
  331. package/esm/plugins/show-blocks/langs/es.js +6 -0
  332. package/esm/plugins/show-blocks/langs/fa.js +6 -0
  333. package/esm/plugins/show-blocks/langs/fr.js +6 -0
  334. package/esm/plugins/show-blocks/langs/he.js +6 -0
  335. package/esm/plugins/show-blocks/langs/hu.js +6 -0
  336. package/esm/plugins/show-blocks/langs/id.js +6 -0
  337. package/esm/plugins/show-blocks/langs/index.d.ts +19 -19
  338. package/esm/plugins/show-blocks/langs/index.js +1 -1
  339. package/esm/plugins/show-blocks/langs/it.js +6 -0
  340. package/esm/plugins/show-blocks/langs/ja.js +6 -0
  341. package/esm/plugins/show-blocks/langs/ko.js +6 -0
  342. package/esm/plugins/show-blocks/langs/nl.js +6 -0
  343. package/esm/plugins/show-blocks/langs/pl.js +6 -0
  344. package/esm/plugins/show-blocks/langs/pt_br.js +6 -0
  345. package/esm/plugins/show-blocks/langs/ru.js +6 -0
  346. package/esm/plugins/show-blocks/langs/tr.js +6 -0
  347. package/esm/plugins/show-blocks/langs/zh_cn.js +6 -0
  348. package/esm/plugins/show-blocks/langs/zh_tw.js +6 -0
  349. package/package.json +1 -1
  350. package/types/plugins/finder/langs/index.d.ts +1 -1
  351. package/types/plugins/google-maps/helpers/helpers.d.ts +0 -1
  352. package/types/plugins/google-maps/ui/map/map.d.ts +0 -1
  353. package/types/plugins/show-blocks/langs/index.d.ts +19 -19
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * jodit-pro - PRO Version of Jodit Editor
3
3
  * Author: Chupurnov Valeriy <chupurnov@gmail.com>
4
- * Version: v4.2.23
4
+ * Version: v4.2.30
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -814,16 +814,12 @@ class Config {
814
814
  showPlaceholder: false
815
815
  }
816
816
  };
817
- this.ownerDocument = (typeof document !== 'undefined'
818
- ? document
819
- : null);
817
+ this.ownerDocument = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument;
820
818
  /**
821
819
  * Allows you to specify the window in which the editor will be created. Default - window
822
820
  * This is necessary if you are creating the editor inside an iframe but the code is running in the parent window
823
821
  */
824
- this.ownerWindow = (typeof window !== 'undefined'
825
- ? window
826
- : null);
822
+ this.ownerWindow = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow;
827
823
  /**
828
824
  * Shadow root if Jodit was created in it
829
825
  *
@@ -1597,16 +1593,16 @@ Config.prototype.controls = {};
1597
1593
  /* harmony export */ j: function() { return /* binding */ Async; }
1598
1594
  /* harmony export */ });
1599
1595
  /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
1600
- /* harmony import */ var jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(98761);
1596
+ /* harmony import */ var jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(61239);
1601
1597
  /* harmony import */ var jodit_core_helpers_checker_is_abort_error__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(54306);
1602
1598
  /* harmony import */ var jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(41959);
1603
- /* harmony import */ var jodit_core_helpers_checker_is_number__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(72558);
1599
+ /* harmony import */ var jodit_core_helpers_checker_is_number__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(72558);
1604
1600
  /* harmony import */ var jodit_core_helpers_checker_is_plain_object__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(47903);
1605
1601
  /* harmony import */ var jodit_core_helpers_checker_is_promise__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(75138);
1606
1602
  /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(26986);
1607
- /* harmony import */ var jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(74197);
1608
- /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(28712);
1609
- /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_1__);
1603
+ /* harmony import */ var jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(74197);
1604
+ /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(28712);
1605
+ /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2__);
1610
1606
  /* harmony import */ var jodit_core_helpers_utils_error_errors_abort_error__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(30126);
1611
1607
  /*!
1612
1608
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -1657,17 +1653,18 @@ class Async {
1657
1653
  return 0;
1658
1654
  }
1659
1655
  let options = {};
1660
- if ((0,jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_2__/* .isVoid */ .R)(timeout)) {
1656
+ if ((0,jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_3__/* .isVoid */ .R)(timeout)) {
1661
1657
  timeout = 0;
1662
1658
  }
1663
- if (!(0,jodit_core_helpers_checker_is_number__WEBPACK_IMPORTED_MODULE_3__/* .isNumber */ .E)(timeout)) {
1659
+ if (!(0,jodit_core_helpers_checker_is_number__WEBPACK_IMPORTED_MODULE_4__/* .isNumber */ .E)(timeout)) {
1664
1660
  options = timeout;
1665
1661
  timeout = options.timeout || 0;
1666
1662
  }
1667
1663
  if (options.label) {
1668
1664
  this.clearLabel(options.label);
1669
1665
  }
1670
- const timer = (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_4__/* .setTimeout */ .w)(callback, timeout, ...args), key = options.label || timer;
1666
+ const timer = (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_1__/* .setTimeout */ .w)(callback, timeout, ...args);
1667
+ const key = options.label || timer;
1671
1668
  this.timers.set(key, timer);
1672
1669
  this.__callbacks.set(key, callback);
1673
1670
  return timer;
@@ -1683,7 +1680,7 @@ class Async {
1683
1680
  }
1684
1681
  clearLabel(label) {
1685
1682
  if (label && this.timers.has(label)) {
1686
- (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_4__/* .clearTimeout */ .D)(this.timers.get(label));
1683
+ (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_1__/* .clearTimeout */ .D)(this.timers.get(label));
1687
1684
  this.timers.delete(label);
1688
1685
  this.__callbacks.delete(label);
1689
1686
  }
@@ -1692,7 +1689,7 @@ class Async {
1692
1689
  if ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_5__/* .isString */ .K)(timerOrLabel)) {
1693
1690
  return this.clearLabel(timerOrLabel);
1694
1691
  }
1695
- (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_4__/* .clearTimeout */ .D)(timerOrLabel);
1692
+ (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_1__/* .clearTimeout */ .D)(timerOrLabel);
1696
1693
  this.timers.delete(timerOrLabel);
1697
1694
  this.__callbacks.delete(timerOrLabel);
1698
1695
  }
@@ -1734,7 +1731,7 @@ class Async {
1734
1731
  if (!timer && firstCallImmediately) {
1735
1732
  callFn(...args);
1736
1733
  }
1737
- (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_4__/* .clearTimeout */ .D)(timer);
1734
+ (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_1__/* .clearTimeout */ .D)(timer);
1738
1735
  timer = this.setTimeout(() => callFn(...args), (0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_7__/* .isFunction */ .T)(timeout) ? timeout() : timeout);
1739
1736
  this.timers.set(fn, timer);
1740
1737
  }
@@ -1888,7 +1885,7 @@ class Async {
1888
1885
  clear() {
1889
1886
  this.requestsIdle.forEach(key => this.cancelIdleCallback(key));
1890
1887
  this.requestsRaf.forEach(key => this.cancelAnimationFrame(key));
1891
- this.timers.forEach(key => (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_4__/* .clearTimeout */ .D)(this.timers.get(key)));
1888
+ this.timers.forEach(key => (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_1__/* .clearTimeout */ .D)(this.timers.get(key)));
1892
1889
  this.timers.clear();
1893
1890
  this.promisesRejections.forEach(reject => reject());
1894
1891
  this.promisesRejections.clear();
@@ -2297,6 +2294,8 @@ __webpack_require__.r(__webpack_exports__);
2297
2294
  /* harmony export */ TEXT_PLAIN: function() { return /* binding */ TEXT_PLAIN; },
2298
2295
  /* harmony export */ TEXT_RTF: function() { return /* binding */ TEXT_RTF; },
2299
2296
  /* harmony export */ TOKENS: function() { return /* binding */ TOKENS; },
2297
+ /* harmony export */ globalDocument: function() { return /* binding */ globalDocument; },
2298
+ /* harmony export */ globalWindow: function() { return /* binding */ globalWindow; },
2300
2299
  /* harmony export */ lang: function() { return /* binding */ lang; }
2301
2300
  /* harmony export */ });
2302
2301
  /*!
@@ -2304,7 +2303,7 @@ __webpack_require__.r(__webpack_exports__);
2304
2303
  * Released under MIT see LICENSE.txt in the project root for license information.
2305
2304
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
2306
2305
  */
2307
- const APP_VERSION = "4.2.23";
2306
+ const APP_VERSION = "4.2.30";
2308
2307
  // prettier-ignore
2309
2308
  const ES = "es2021";
2310
2309
  const IS_ES_MODERN = true;
@@ -2323,6 +2322,10 @@ const INVISIBLE_SPACE_REG_EXP_START = () => /^[\uFEFF]+/g;
2323
2322
  const SPACE_REG_EXP = () => /[\s\n\t\r\uFEFF\u200b]+/g;
2324
2323
  const SPACE_REG_EXP_START = () => /^[\s\n\t\r\uFEFF\u200b]+/g;
2325
2324
  const SPACE_REG_EXP_END = () => /[\s\n\t\r\uFEFF\u200b]+$/g;
2325
+ const globalWindow = typeof window !== 'undefined' ? window : undefined;
2326
+ const globalDocument = typeof document !== 'undefined'
2327
+ ? document
2328
+ : undefined;
2326
2329
  const IS_BLOCK = /^(ADDRESS|ARTICLE|ASIDE|BLOCKQUOTE|CANVAS|DD|DFN|DIV|DL|DT|FIELDSET|FIGCAPTION|FIGURE|FOOTER|FORM|H[1-6]|HEADER|HGROUP|HR|LI|MAIN|NAV|NOSCRIPT|OUTPUT|P|PRE|RUBY|SCRIPT|STYLE|OBJECT|OL|SECTION|IFRAME|JODIT|JODIT-MEDIA|UL|TR|TD|TH|TBODY|THEAD|TFOOT|TABLE|BODY|HTML|VIDEO)$/i;
2327
2330
  const IS_INLINE = /^(STRONG|SPAN|I|EM|B|SUP|SUB|A|U)$/i;
2328
2331
  const LIST_TAGS = new Set(['ul', 'ol']);
@@ -2447,8 +2450,8 @@ const INSERT_AS_TEXT = 'insert_as_text';
2447
2450
  */
2448
2451
  const INSERT_ONLY_TEXT = 'insert_only_text';
2449
2452
  const SAFE_COUNT_CHANGE_CALL = 10;
2450
- const IS_MAC = typeof window !== 'undefined' &&
2451
- /Mac|iPod|iPhone|iPad/.test(window.navigator.platform);
2453
+ const IS_MAC = typeof globalWindow !== 'undefined' &&
2454
+ /Mac|iPod|iPhone|iPad/.test(globalWindow.navigator.platform);
2452
2455
  const KEY_ALIASES = {
2453
2456
  add: '+',
2454
2457
  break: 'pause',
@@ -2466,8 +2469,8 @@ const KEY_ALIASES = {
2466
2469
  option: 'alt',
2467
2470
  return: 'enter',
2468
2471
  right: 'arrowright',
2469
- space: ' ',
2470
- spacebar: ' ',
2472
+ space: 'space',
2473
+ spacebar: 'space',
2471
2474
  up: 'arrowup',
2472
2475
  win: 'meta',
2473
2476
  windows: 'meta'
@@ -2476,7 +2479,7 @@ const BASE_PATH = (() => {
2476
2479
  if (typeof document === 'undefined') {
2477
2480
  return '';
2478
2481
  }
2479
- const script = document.currentScript, removeScriptName = (s) => {
2482
+ const script = globalDocument.currentScript, removeScriptName = (s) => {
2480
2483
  const parts = s.split('/');
2481
2484
  if (/\.js/.test(parts[parts.length - 1])) {
2482
2485
  return parts.slice(0, parts.length - 1).join('/') + '/';
@@ -2486,11 +2489,11 @@ const BASE_PATH = (() => {
2486
2489
  if (script) {
2487
2490
  return removeScriptName(script.src);
2488
2491
  }
2489
- const scripts = document.querySelectorAll('script[src]');
2492
+ const scripts = globalDocument.querySelectorAll('script[src]');
2490
2493
  if (scripts && scripts.length) {
2491
2494
  return removeScriptName(scripts[scripts.length - 1].src);
2492
2495
  }
2493
- return window.location.href;
2496
+ return globalWindow.location.href;
2494
2497
  })();
2495
2498
  const TEMP_ATTR = 'data-jodit-temp';
2496
2499
  const lang = {};
@@ -3234,7 +3237,6 @@ function watch(observeFields, opts) {
3234
3237
  const [objectPath, eventName] = field.split(':');
3235
3238
  let ctx = context;
3236
3239
  if (objectPath.length) {
3237
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
3238
3240
  ctx = component.get(objectPath);
3239
3241
  }
3240
3242
  if ((0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_3__/* .isFunction */ .T)(ctx)) {
@@ -3425,11 +3427,17 @@ class Dom {
3425
3427
  }
3426
3428
  static replace(elm, newTagName, create, withAttributes = false, notMoveContent = false) {
3427
3429
  if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isHTML */ .AH)(newTagName)) {
3430
+ void 0;
3428
3431
  newTagName = create.fromHTML(newTagName);
3429
3432
  }
3430
- const tag = (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isString */ .Kg)(newTagName)
3431
- ? create.element(newTagName)
3432
- : newTagName;
3433
+ let tag;
3434
+ if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isString */ .Kg)(newTagName)) {
3435
+ void 0;
3436
+ tag = create.element(newTagName);
3437
+ }
3438
+ else {
3439
+ tag = newTagName;
3440
+ }
3433
3441
  if (!notMoveContent) {
3434
3442
  while (elm.firstChild) {
3435
3443
  tag.appendChild(elm.firstChild);
@@ -3889,7 +3897,7 @@ class Dom {
3889
3897
  * Move all content to another element
3890
3898
  */
3891
3899
  static moveContent(from, to, inStart = false, filter = () => true) {
3892
- const fragment = (from.ownerDocument || document).createDocumentFragment();
3900
+ const fragment = (from.ownerDocument || jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument).createDocumentFragment();
3893
3901
  (0,jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_1__/* .toArray */ .$)(from.childNodes)
3894
3902
  .filter(elm => {
3895
3903
  if (filter(elm)) {
@@ -4346,7 +4354,7 @@ class EventEmitter {
4346
4354
  passive: true,
4347
4355
  capture: options?.capture ?? false
4348
4356
  }
4349
- : options?.capture ?? false;
4357
+ : (options?.capture ?? false);
4350
4358
  syntheticCallback.options = eOpts;
4351
4359
  subject.addEventListener(event, syntheticCallback, eOpts);
4352
4360
  this.__memoryDOMSubjectToHandler(subject, syntheticCallback);
@@ -4577,7 +4585,7 @@ class EventEmitter {
4577
4585
  this.__domEventsMap = new Map();
4578
4586
  this.__mutedEvents = new Set();
4579
4587
  this.__key = '__JoditEventEmitterNamespaces';
4580
- this.__doc = document;
4588
+ this.__doc = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument;
4581
4589
  this.__prepareEvent = (e) => {
4582
4590
  if (e.cancelBubble) {
4583
4591
  return;
@@ -5070,9 +5078,20 @@ function getContainer(jodit, classFunc, tag = 'div', createInsideEditor = false)
5070
5078
  const data = boxes.get(jodit) || {}, key = name + tag;
5071
5079
  const view = (0,jodit_core_helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_6__/* .isViewObject */ .h)(jodit) ? jodit : jodit.j;
5072
5080
  if (!data[key]) {
5073
- let c = view.c, body = (0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit) && jodit.o.shadowRoot
5074
- ? jodit.o.shadowRoot
5075
- : jodit.od.body;
5081
+ let c = view.c;
5082
+ let body;
5083
+ if ((0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit) && jodit.o.shadowRoot) {
5084
+ body = jodit.o.shadowRoot;
5085
+ }
5086
+ else {
5087
+ body = jodit.od.body;
5088
+ if ((0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit)) {
5089
+ const dialog = _dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.closest(jodit.container, 'dialog', jodit.od.body);
5090
+ if (dialog) {
5091
+ body = dialog;
5092
+ }
5093
+ }
5094
+ }
5076
5095
  if (createInsideEditor &&
5077
5096
  (0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit) &&
5078
5097
  jodit.od !== jodit.ed) {
@@ -5090,6 +5109,7 @@ function getContainer(jodit, classFunc, tag = 'div', createInsideEditor = false)
5090
5109
  body.appendChild(box);
5091
5110
  data[key] = box;
5092
5111
  jodit.hookStatus('beforeDestruct', () => {
5112
+ view.events.off(box);
5093
5113
  _dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.safeRemove(box);
5094
5114
  delete data[key];
5095
5115
  if (Object.keys(data).length) {
@@ -5097,6 +5117,7 @@ function getContainer(jodit, classFunc, tag = 'div', createInsideEditor = false)
5097
5117
  }
5098
5118
  });
5099
5119
  boxes.set(jodit, data);
5120
+ view.events.fire('getContainer', box);
5100
5121
  }
5101
5122
  data[key].classList.remove('jodit_theme_default', 'jodit_theme_dark');
5102
5123
  data[key].classList.add(`jodit_theme_${view.o.theme || 'default'}`);
@@ -5224,7 +5245,7 @@ function splitArray(a) {
5224
5245
  const toArray = function toArray(...args) {
5225
5246
  const func = (0,jodit_core_helpers_checker_is_native_function__WEBPACK_IMPORTED_MODULE_1__/* .isNativeFunction */ .a)(Array.from)
5226
5247
  ? Array.from
5227
- : (0,jodit_core_helpers_utils_reset__WEBPACK_IMPORTED_MODULE_0__/* .reset */ .c)('Array.from') ?? Array.from;
5248
+ : ((0,jodit_core_helpers_utils_reset__WEBPACK_IMPORTED_MODULE_0__/* .reset */ .c)('Array.from') ?? Array.from);
5228
5249
  return func.apply(Array, args);
5229
5250
  };
5230
5251
 
@@ -5261,6 +5282,7 @@ const toArray = function toArray(...args) {
5261
5282
  /* harmony export */ D: function() { return /* binding */ clearTimeout; },
5262
5283
  /* harmony export */ w: function() { return /* binding */ setTimeout; }
5263
5284
  /* harmony export */ });
5285
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
5264
5286
  /*!
5265
5287
  * Jodit Editor (https://xdsoft.net/jodit/)
5266
5288
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -5269,6 +5291,7 @@ const toArray = function toArray(...args) {
5269
5291
  /**
5270
5292
  * @module helpers/async
5271
5293
  */
5294
+
5272
5295
  /**
5273
5296
  * Create async callback if set timeout value - else call function immediately
5274
5297
  */
@@ -5277,7 +5300,7 @@ function setTimeout(callback, timeout, ...args) {
5277
5300
  callback.call(null, ...args);
5278
5301
  }
5279
5302
  else {
5280
- return window.setTimeout(callback, timeout, ...args);
5303
+ return jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow.setTimeout(callback, timeout, ...args);
5281
5304
  }
5282
5305
  return 0;
5283
5306
  }
@@ -5285,7 +5308,7 @@ function setTimeout(callback, timeout, ...args) {
5285
5308
  * Clear timeout
5286
5309
  */
5287
5310
  function clearTimeout(timer) {
5288
- window.clearTimeout(timer);
5311
+ jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow.clearTimeout(timer);
5289
5312
  }
5290
5313
 
5291
5314
 
@@ -5298,6 +5321,7 @@ function clearTimeout(timer) {
5298
5321
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5299
5322
  /* harmony export */ k: function() { return /* binding */ hasBrowserColorPicker; }
5300
5323
  /* harmony export */ });
5324
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
5301
5325
  /*!
5302
5326
  * Jodit Editor (https://xdsoft.net/jodit/)
5303
5327
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -5306,13 +5330,14 @@ function clearTimeout(timer) {
5306
5330
  /**
5307
5331
  * @module helpers/checker
5308
5332
  */
5333
+
5309
5334
  /**
5310
5335
  * Check if browser has a color picker (a new HTML5 attribute for input tag)
5311
5336
  */
5312
5337
  function hasBrowserColorPicker() {
5313
5338
  let supportsColor = true;
5314
5339
  try {
5315
- const a = document.createElement('input');
5340
+ const a = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('input');
5316
5341
  a.type = 'color';
5317
5342
  a.value = '!';
5318
5343
  supportsColor = a.type === 'color' && a.value !== '!';
@@ -5962,6 +5987,7 @@ function isStringArray(value) {
5962
5987
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5963
5988
  /* harmony export */ m: function() { return /* binding */ isURL; }
5964
5989
  /* harmony export */ });
5990
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
5965
5991
  /*!
5966
5992
  * Jodit Editor (https://xdsoft.net/jodit/)
5967
5993
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -5970,6 +5996,7 @@ function isStringArray(value) {
5970
5996
  /**
5971
5997
  * @module helpers/checker
5972
5998
  */
5999
+
5973
6000
  /**
5974
6001
  * Check if a string is an url
5975
6002
  */
@@ -5986,7 +6013,7 @@ function isURL(str) {
5986
6013
  return false;
5987
6014
  }
5988
6015
  }
5989
- const a = document.createElement('a');
6016
+ const a = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('a');
5990
6017
  a.href = str;
5991
6018
  return Boolean(a.hostname);
5992
6019
  }
@@ -6221,9 +6248,9 @@ function applyStyles(html) {
6221
6248
  }
6222
6249
  html = html.substring(html.indexOf('<html '), html.length);
6223
6250
  html = html.substring(0, html.lastIndexOf('</html>') + '</html>'.length);
6224
- const iframe = document.createElement('iframe');
6251
+ const iframe = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('iframe');
6225
6252
  iframe.style.display = 'none';
6226
- document.body.appendChild(iframe);
6253
+ jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.body.appendChild(iframe);
6227
6254
  let convertedString = '', collection = [];
6228
6255
  try {
6229
6256
  const iframeDoc = iframe.contentDocument ||
@@ -6294,9 +6321,10 @@ function applyStyles(html) {
6294
6321
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6295
6322
  /* harmony export */ w: function() { return /* binding */ cleanFromWord; }
6296
6323
  /* harmony export */ });
6297
- /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23545);
6298
- /* harmony import */ var jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7773);
6299
- /* harmony import */ var jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(22718);
6324
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
6325
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23545);
6326
+ /* harmony import */ var jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7773);
6327
+ /* harmony import */ var jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(22718);
6300
6328
  /*!
6301
6329
  * Jodit Editor (https://xdsoft.net/jodit/)
6302
6330
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -6308,6 +6336,7 @@ function applyStyles(html) {
6308
6336
 
6309
6337
 
6310
6338
 
6339
+
6311
6340
  /**
6312
6341
  * The method automatically cleans up content from Microsoft Word and other HTML sources to ensure clean, compliant
6313
6342
  * content that matches the look and feel of the site.
@@ -6319,11 +6348,11 @@ function cleanFromWord(html) {
6319
6348
  }
6320
6349
  let convertedString = '';
6321
6350
  try {
6322
- const div = document.createElement('div');
6351
+ const div = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('div');
6323
6352
  div.innerHTML = html;
6324
6353
  const marks = [];
6325
6354
  if (div.firstChild) {
6326
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.each(div, node => {
6355
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.each(div, node => {
6327
6356
  if (!node) {
6328
6357
  return;
6329
6358
  }
@@ -6338,10 +6367,10 @@ function cleanFromWord(html) {
6338
6367
  case 'W:SDT':
6339
6368
  case 'W:SDTPR':
6340
6369
  case 'FONT':
6341
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.unwrap(node);
6370
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.unwrap(node);
6342
6371
  break;
6343
6372
  default:
6344
- (0,jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_1__/* .toArray */ .$)(node.attributes).forEach((attr) => {
6373
+ (0,jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_2__/* .toArray */ .$)(node.attributes).forEach((attr) => {
6345
6374
  if ([
6346
6375
  'src',
6347
6376
  'href',
@@ -6360,14 +6389,14 @@ function cleanFromWord(html) {
6360
6389
  }
6361
6390
  });
6362
6391
  }
6363
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.safeRemove.apply(null, marks);
6392
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.safeRemove.apply(null, marks);
6364
6393
  convertedString = div.innerHTML;
6365
6394
  }
6366
6395
  catch (e) { }
6367
6396
  if (convertedString) {
6368
6397
  html = convertedString;
6369
6398
  }
6370
- html = html.split(/(\n)/).filter(jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_2__/* .trim */ .Bq).join('\n');
6399
+ html = html.split(/(\n)/).filter(jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_3__/* .trim */ .Bq).join('\n');
6371
6400
  return html
6372
6401
  .replace(/<(\/)?(html|colgroup|col|o:p)[^>]*>/g, '')
6373
6402
  .replace(/<!--[^>]*>/g, '');
@@ -6383,6 +6412,7 @@ function cleanFromWord(html) {
6383
6412
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6384
6413
  /* harmony export */ G: function() { return /* binding */ htmlspecialchars; }
6385
6414
  /* harmony export */ });
6415
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
6386
6416
  /*!
6387
6417
  * Jodit Editor (https://xdsoft.net/jodit/)
6388
6418
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -6391,11 +6421,12 @@ function cleanFromWord(html) {
6391
6421
  /**
6392
6422
  * @module helpers/html
6393
6423
  */
6424
+
6394
6425
  /**
6395
6426
  * Convert special characters to HTML entities
6396
6427
  */
6397
6428
  function htmlspecialchars(html) {
6398
- const tmp = document.createElement('div');
6429
+ const tmp = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('div');
6399
6430
  tmp.textContent = html;
6400
6431
  return tmp.innerHTML;
6401
6432
  }
@@ -6896,7 +6927,8 @@ function normalizeKeyAliases(keys) {
6896
6927
  ctrl: 2,
6897
6928
  control: 2,
6898
6929
  alt: 3,
6899
- shift: 4
6930
+ shift: 4,
6931
+ space: 5
6900
6932
  };
6901
6933
  return keys
6902
6934
  .replace(/\+\+/g, '+add')
@@ -7115,8 +7147,9 @@ const getContentWidth = (element, win) => {
7115
7147
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7116
7148
  /* harmony export */ m: function() { return /* binding */ getScrollParent; }
7117
7149
  /* harmony export */ });
7118
- /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23545);
7119
- /* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71122);
7150
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
7151
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23545);
7152
+ /* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(71122);
7120
7153
  /*!
7121
7154
  * Jodit Editor (https://xdsoft.net/jodit/)
7122
7155
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -7124,19 +7157,20 @@ const getContentWidth = (element, win) => {
7124
7157
  */
7125
7158
 
7126
7159
 
7160
+
7127
7161
  function getScrollParent(node) {
7128
7162
  if (!node) {
7129
7163
  return null;
7130
7164
  }
7131
- const isElement = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isHTMLElement(node);
7132
- const overflowY = isElement && (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.css)(node, 'overflowY');
7165
+ const isElement = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isHTMLElement(node);
7166
+ const overflowY = isElement && (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.css)(node, 'overflowY');
7133
7167
  const isScrollable = isElement && overflowY !== 'visible' && overflowY !== 'hidden';
7134
7168
  if (isScrollable && node.scrollHeight >= node.clientHeight) {
7135
7169
  return node;
7136
7170
  }
7137
7171
  return (getScrollParent(node.parentNode) ||
7138
- document.scrollingElement ||
7139
- document.body);
7172
+ jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.scrollingElement ||
7173
+ jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.body);
7140
7174
  }
7141
7175
 
7142
7176
 
@@ -8060,16 +8094,18 @@ const buildQuery = (data, prefix) => {
8060
8094
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8061
8095
  /* harmony export */ X: function() { return /* binding */ completeUrl; }
8062
8096
  /* harmony export */ });
8097
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
8063
8098
  /*!
8064
8099
  * Jodit Editor (https://xdsoft.net/jodit/)
8065
8100
  * Released under MIT see LICENSE.txt in the project root for license information.
8066
8101
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
8067
8102
  */
8103
+
8068
8104
  /**
8069
8105
  * @module helpers/utils
8070
8106
  */
8071
8107
  const completeUrl = (url) => {
8072
- if (window.location.protocol === 'file:' && /^\/\//.test(url)) {
8108
+ if (jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow.location.protocol === 'file:' && /^\/\//.test(url)) {
8073
8109
  url = 'https:' + url;
8074
8110
  }
8075
8111
  return url;
@@ -8186,8 +8222,9 @@ function ConfigFlatten(obj) {
8186
8222
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8187
8223
  /* harmony export */ m: function() { return /* binding */ convertMediaUrlToVideoEmbed; }
8188
8224
  /* harmony export */ });
8189
- /* harmony import */ var jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20858);
8190
- /* harmony import */ var _parse_query__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(15896);
8225
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
8226
+ /* harmony import */ var jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20858);
8227
+ /* harmony import */ var _parse_query__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15896);
8191
8228
  /*!
8192
8229
  * Jodit Editor (https://xdsoft.net/jodit/)
8193
8230
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -8198,14 +8235,15 @@ function ConfigFlatten(obj) {
8198
8235
  */
8199
8236
 
8200
8237
 
8238
+
8201
8239
  /**
8202
8240
  * Javascript url pattern converter replace youtube/vimeo url in embed code.
8203
8241
  */
8204
8242
  const convertMediaUrlToVideoEmbed = (url, width = 400, height = 345) => {
8205
- if (!(0,jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_0__/* .isURL */ .m)(url)) {
8243
+ if (!(0,jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_1__/* .isURL */ .m)(url)) {
8206
8244
  return url;
8207
8245
  }
8208
- const parser = document.createElement('a'), pattern1 = /(?:http?s?:\/\/)?(?:www\.)?(?:vimeo\.com)\/?(.+)/g;
8246
+ const parser = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('a'), pattern1 = /(?:http?s?:\/\/)?(?:www\.)?(?:vimeo\.com)\/?(.+)/g;
8209
8247
  parser.href = url;
8210
8248
  if (!width) {
8211
8249
  width = 400;
@@ -8231,7 +8269,7 @@ const convertMediaUrlToVideoEmbed = (url, width = 400, height = 345) => {
8231
8269
  case 'youtu.be':
8232
8270
  case 'www.youtu.be': {
8233
8271
  const query = parser.search
8234
- ? (0,_parse_query__WEBPACK_IMPORTED_MODULE_1__/* .parseQuery */ .m)(parser.search)
8272
+ ? (0,_parse_query__WEBPACK_IMPORTED_MODULE_2__/* .parseQuery */ .m)(parser.search)
8235
8273
  : { v: parser.pathname.substr(1) };
8236
8274
  return query.v
8237
8275
  ? '<iframe width="' +
@@ -8425,7 +8463,8 @@ const dataBind = (elm, key, value) => {
8425
8463
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8426
8464
  /* harmony export */ e: function() { return /* binding */ defaultLanguage; }
8427
8465
  /* harmony export */ });
8428
- /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26986);
8466
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
8467
+ /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26986);
8429
8468
  /*!
8430
8469
  * Jodit Editor (https://xdsoft.net/jodit/)
8431
8470
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -8435,15 +8474,16 @@ const dataBind = (elm, key, value) => {
8435
8474
  * @module helpers/utils
8436
8475
  */
8437
8476
 
8477
+
8438
8478
  /**
8439
8479
  * Try define user language
8440
8480
  */
8441
8481
  const defaultLanguage = (language, defaultLanguage = 'en') => {
8442
- if (language !== 'auto' && (0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_0__/* .isString */ .K)(language)) {
8482
+ if (language !== 'auto' && (0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_1__/* .isString */ .K)(language)) {
8443
8483
  return language;
8444
8484
  }
8445
- if (document.documentElement && document.documentElement.lang) {
8446
- return document.documentElement.lang;
8485
+ if (jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.documentElement && jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.documentElement.lang) {
8486
+ return jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.documentElement.lang;
8447
8487
  }
8448
8488
  if (navigator.language) {
8449
8489
  return navigator.language.substring(0, 2);
@@ -9194,10 +9234,10 @@ const map = {};
9194
9234
  */
9195
9235
  function reset(key) {
9196
9236
  if (!(key in map)) {
9197
- const iframe = document.createElement('iframe');
9237
+ const iframe = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('iframe');
9198
9238
  try {
9199
9239
  iframe.src = 'about:blank';
9200
- document.body.appendChild(iframe);
9240
+ jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.body.appendChild(iframe);
9201
9241
  if (!iframe.contentWindow) {
9202
9242
  return null;
9203
9243
  }
@@ -10124,14 +10164,15 @@ Plugin.requires = [];
10124
10164
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10125
10165
  /* harmony export */ d: function() { return /* binding */ Ajax; }
10126
10166
  /* harmony export */ });
10127
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(31635);
10167
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(31635);
10128
10168
  /* harmony import */ var jodit_core_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(61341);
10129
- /* harmony import */ var jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(33442);
10130
- /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9596);
10131
- /* harmony import */ var jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(24839);
10132
- /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(91288);
10133
- /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(91596);
10134
- /* harmony import */ var _response__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(85349);
10169
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67259);
10170
+ /* harmony import */ var jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(33442);
10171
+ /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9596);
10172
+ /* harmony import */ var jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(24839);
10173
+ /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(91288);
10174
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(91596);
10175
+ /* harmony import */ var _response__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(85349);
10135
10176
  /*!
10136
10177
  * Jodit Editor (https://xdsoft.net/jodit/)
10137
10178
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -10145,33 +10186,34 @@ Plugin.requires = [];
10145
10186
 
10146
10187
 
10147
10188
 
10189
+
10148
10190
  class Ajax {
10149
10191
  className() {
10150
10192
  return 'Ajax';
10151
10193
  }
10152
- constructor(options, defaultAjaxOptions = jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.defaultAjaxOptions) {
10194
+ constructor(options, defaultAjaxOptions = jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.defaultAjaxOptions) {
10153
10195
  this.__async = new jodit_core_async__WEBPACK_IMPORTED_MODULE_0__/* .Async */ .j();
10154
10196
  this.__isFulfilled = false;
10155
10197
  this.__activated = false;
10156
10198
  this.__isDestructed = false;
10157
- this.options = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.ConfigProto)(options || {}, defaultAjaxOptions);
10199
+ this.options = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.ConfigProto)(options || {}, defaultAjaxOptions);
10158
10200
  this.xhr = this.o.xhr ? this.o.xhr() : new XMLHttpRequest();
10159
10201
  }
10160
10202
  __buildParams(obj, prefix) {
10161
- if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isPlainObject)(obj) &&
10203
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isPlainObject)(obj) &&
10162
10204
  this.options.contentType &&
10163
10205
  this.options.contentType.includes('application/json')) {
10164
10206
  return JSON.stringify(obj);
10165
10207
  }
10166
- if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isFunction)(this.o.queryBuild)) {
10208
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isFunction)(this.o.queryBuild)) {
10167
10209
  return this.o.queryBuild.call(this, obj, prefix);
10168
10210
  }
10169
- if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(obj) ||
10170
- obj instanceof window.FormData ||
10171
- (typeof obj === 'object' && obj != null && (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isFunction)(obj.append))) {
10211
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isString)(obj) ||
10212
+ obj instanceof jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__.globalWindow.FormData ||
10213
+ (typeof obj === 'object' && obj != null && (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isFunction)(obj.append))) {
10172
10214
  return obj;
10173
10215
  }
10174
- return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.buildQuery)(obj);
10216
+ return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.buildQuery)(obj);
10175
10217
  }
10176
10218
  get o() {
10177
10219
  return this.options;
@@ -10194,16 +10236,16 @@ class Ajax {
10194
10236
  return this.__async.promise(async (resolve, reject) => {
10195
10237
  const onReject = () => {
10196
10238
  this.__isFulfilled = true;
10197
- reject(jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__/* .connection */ .FI('Connection error'));
10239
+ reject(jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_3__/* .connection */ .FI('Connection error'));
10198
10240
  };
10199
10241
  const onResolve = () => {
10200
10242
  this.__isFulfilled = true;
10201
- resolve(new _response__WEBPACK_IMPORTED_MODULE_5__/* .Response */ .Y(request, xhr.status, xhr.statusText, !xhr.responseType ? xhr.responseText : xhr.response));
10243
+ resolve(new _response__WEBPACK_IMPORTED_MODULE_6__/* .Response */ .Y(request, xhr.status, xhr.statusText, !xhr.responseType ? xhr.responseText : xhr.response));
10202
10244
  };
10203
10245
  xhr.onload = onResolve;
10204
10246
  xhr.onabort = () => {
10205
10247
  this.__isFulfilled = true;
10206
- reject(jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__/* .abort */ .h2('Abort connection'));
10248
+ reject(jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_3__/* .abort */ .h2('Abort connection'));
10207
10249
  };
10208
10250
  xhr.onerror = onReject;
10209
10251
  xhr.ontimeout = onReject;
@@ -10225,7 +10267,7 @@ class Ajax {
10225
10267
  }
10226
10268
  else if (xhr.statusText) {
10227
10269
  this.__isFulfilled = true;
10228
- reject(jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__/* .connection */ .FI(xhr.statusText));
10270
+ reject(jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_3__/* .connection */ .FI(xhr.statusText));
10229
10271
  }
10230
10272
  }
10231
10273
  };
@@ -10236,7 +10278,7 @@ class Ajax {
10236
10278
  xhr.setRequestHeader('Content-type', o.contentType);
10237
10279
  }
10238
10280
  let { headers } = o;
10239
- if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isFunction)(headers)) {
10281
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isFunction)(headers)) {
10240
10282
  headers = await headers.call(this);
10241
10283
  }
10242
10284
  if (headers && xhr.setRequestHeader) {
@@ -10252,22 +10294,22 @@ class Ajax {
10252
10294
  }
10253
10295
  prepareRequest() {
10254
10296
  if (!this.o.url) {
10255
- throw jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__/* .error */ .z3('Need URL for AJAX request');
10297
+ throw jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_3__/* .error */ .z3('Need URL for AJAX request');
10256
10298
  }
10257
10299
  let url = this.o.url;
10258
10300
  const data = this.o.data;
10259
10301
  const method = (this.o.method || 'get').toLowerCase();
10260
- if (method === 'get' && data && (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isPlainObject)(data)) {
10302
+ if (method === 'get' && data && (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isPlainObject)(data)) {
10261
10303
  const qIndex = url.indexOf('?');
10262
10304
  if (qIndex !== -1) {
10263
- const urlData = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.parseQuery)(url);
10305
+ const urlData = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.parseQuery)(url);
10264
10306
  url =
10265
10307
  url.substring(0, qIndex) +
10266
10308
  '?' +
10267
- (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.buildQuery)({ ...urlData, ...data });
10309
+ (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.buildQuery)({ ...urlData, ...data });
10268
10310
  }
10269
10311
  else {
10270
- url += '?' + (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.buildQuery)(this.o.data);
10312
+ url += '?' + (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.buildQuery)(this.o.data);
10271
10313
  }
10272
10314
  }
10273
10315
  const request = {
@@ -10291,8 +10333,8 @@ class Ajax {
10291
10333
  }
10292
10334
  }
10293
10335
  Ajax.log = [];
10294
- (0,tslib__WEBPACK_IMPORTED_MODULE_6__/* .__decorate */ .Cg)([
10295
- jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Ay
10336
+ (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .Cg)([
10337
+ jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Ay
10296
10338
  ], Ajax.prototype, "destruct", null);
10297
10339
 
10298
10340
 
@@ -11178,6 +11220,7 @@ class Selection {
11178
11220
  /**
11179
11221
  * Call callback for all selection node
11180
11222
  */
11223
+ // eslint-disable-next-line complexity
11181
11224
  eachSelection(callback) {
11182
11225
  const sel = this.sel;
11183
11226
  if (!sel || !sel.rangeCount) {
@@ -11958,12 +12001,13 @@ function getSuitParent(style, node, root) {
11958
12001
  /* harmony export */ Y: function() { return /* binding */ hasSameStyleKeys; },
11959
12002
  /* harmony export */ g: function() { return /* binding */ hasSameStyle; }
11960
12003
  /* harmony export */ });
11961
- /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23545);
11962
- /* harmony import */ var jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(74197);
11963
- /* harmony import */ var jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(43581);
11964
- /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(28712);
11965
- /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_1__);
11966
- /* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4401);
12004
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
12005
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23545);
12006
+ /* harmony import */ var jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(74197);
12007
+ /* harmony import */ var jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(43581);
12008
+ /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(28712);
12009
+ /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2__);
12010
+ /* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4401);
11967
12011
  /*!
11968
12012
  * Jodit Editor (https://xdsoft.net/jodit/)
11969
12013
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -11974,48 +12018,53 @@ function getSuitParent(style, node, root) {
11974
12018
 
11975
12019
 
11976
12020
 
12021
+
11977
12022
  /**
11978
12023
  * Element has the same styles as in the commit
11979
12024
  * @private
11980
12025
  */
11981
12026
  function hasSameStyle(elm, rules) {
11982
- return Boolean(!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isTag(elm, 'font') &&
11983
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isHTMLElement(elm) &&
12027
+ return Boolean(!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isTag(elm, 'font') &&
12028
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isHTMLElement(elm) &&
11984
12029
  Object.keys(rules).every(property => {
11985
- const value = (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__/* .css */ .A)(elm, property, true);
12030
+ const value = (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__/* .css */ .A)(elm, property, true);
11986
12031
  if (value === '' &&
11987
12032
  (rules[property] === '' || rules[property] == null)) {
11988
12033
  return true;
11989
12034
  }
11990
- return (!(0,jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_3__/* .isVoid */ .R)(value) &&
12035
+ return (!(0,jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_4__/* .isVoid */ .R)(value) &&
11991
12036
  value !== '' &&
11992
- !(0,jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_3__/* .isVoid */ .R)(rules[property]) &&
11993
- (0,jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_4__/* .normalizeCssValue */ .iy)(property, rules[property])
12037
+ !(0,jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_4__/* .isVoid */ .R)(rules[property]) &&
12038
+ (0,jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_5__/* .normalizeCssValue */ .iy)(property, rules[property])
11994
12039
  .toString()
11995
12040
  .toLowerCase() === value.toString().toLowerCase());
11996
12041
  }));
11997
12042
  }
11998
- const elm = document.createElement('div');
11999
- elm.style.color = 'red';
12000
- void 0;
12001
- void 0;
12002
- void 0;
12043
+ if (jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument) {
12044
+ const elm = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('div');
12045
+ elm.style.color = 'red';
12046
+ void 0;
12047
+ void 0;
12048
+ void 0;
12049
+ }
12003
12050
  /**
12004
12051
  * Element has the similar styles keys
12005
12052
  */
12006
12053
  function hasSameStyleKeys(elm, rules) {
12007
- return Boolean(!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isTag(elm, 'font') &&
12008
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isHTMLElement(elm) &&
12054
+ return Boolean(!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isTag(elm, 'font') &&
12055
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isHTMLElement(elm) &&
12009
12056
  Object.keys(rules).every(property => {
12010
- const value = (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__/* .css */ .A)(elm, property, true);
12057
+ const value = (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__/* .css */ .A)(elm, property, true);
12011
12058
  return value !== '';
12012
12059
  }));
12013
12060
  }
12014
- const elm2 = document.createElement('div');
12015
- elm2.style.color = 'red';
12016
- void 0;
12017
- void 0;
12018
- void 0;
12061
+ if (jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument) {
12062
+ const elm2 = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('div');
12063
+ elm2.style.color = 'red';
12064
+ void 0;
12065
+ void 0;
12066
+ void 0;
12067
+ }
12019
12068
 
12020
12069
 
12021
12070
  /***/ }),
@@ -12396,16 +12445,17 @@ function wrapList(commitStyle, wrapper, jodit) {
12396
12445
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
12397
12446
  /* harmony export */ Y: function() { return /* binding */ toggleAttributes; }
12398
12447
  /* harmony export */ });
12399
- /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23545);
12400
- /* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(51431);
12401
- /* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(58588);
12402
- /* harmony import */ var jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(43581);
12403
- /* harmony import */ var jodit_core_helpers_size_object_size__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(88455);
12404
- /* harmony import */ var jodit_core_helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(18014);
12405
- /* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(71122);
12406
- /* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(4401);
12407
- /* harmony import */ var jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49382);
12408
- /* harmony import */ var jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(43072);
12448
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
12449
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23545);
12450
+ /* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51431);
12451
+ /* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(58588);
12452
+ /* harmony import */ var jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(43581);
12453
+ /* harmony import */ var jodit_core_helpers_size_object_size__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(88455);
12454
+ /* harmony import */ var jodit_core_helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(18014);
12455
+ /* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(71122);
12456
+ /* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(4401);
12457
+ /* harmony import */ var jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(49382);
12458
+ /* harmony import */ var jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(43072);
12409
12459
  /*!
12410
12460
  * Jodit Editor (https://xdsoft.net/jodit/)
12411
12461
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -12421,6 +12471,7 @@ function wrapList(commitStyle, wrapper, jodit) {
12421
12471
 
12422
12472
 
12423
12473
 
12474
+
12424
12475
  const tak = 'toggleAttributes';
12425
12476
  /**
12426
12477
  * Toggles attributes
@@ -12432,7 +12483,7 @@ function toggleAttributes(commitStyle, elm, jodit, mode, dry = false) {
12432
12483
  }
12433
12484
  !dry && commitStyle.setApplied(elm, tak);
12434
12485
  const { attributes } = commitStyle.options;
12435
- if (attributes && (0,jodit_core_helpers_size_object_size__WEBPACK_IMPORTED_MODULE_3__/* .size */ .E)(attributes) > 0) {
12486
+ if (attributes && (0,jodit_core_helpers_size_object_size__WEBPACK_IMPORTED_MODULE_4__/* .size */ .E)(attributes) > 0) {
12436
12487
  Object.keys(attributes).forEach((key) => {
12437
12488
  const value = attributes[key];
12438
12489
  switch (key) {
@@ -12454,24 +12505,24 @@ function toggleAttributes(commitStyle, elm, jodit, mode, dry = false) {
12454
12505
  function toggleStyle(commitStyle, jodit, style, elm, dry, mode) {
12455
12506
  void 0;
12456
12507
  Object.keys(style).forEach((rule) => {
12457
- const inlineValue = elm.style.getPropertyValue((0,jodit_core_helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_6__/* .kebabCase */ .k)(rule));
12508
+ const inlineValue = elm.style.getPropertyValue((0,jodit_core_helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_7__/* .kebabCase */ .k)(rule));
12458
12509
  const newValue = style[rule];
12459
12510
  if (inlineValue === '' && newValue == null) {
12460
12511
  return;
12461
12512
  }
12462
12513
  if (getNativeCSSValue(jodit, elm, rule) ===
12463
- (0,jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_7__/* .normalizeCssValue */ .iy)(rule, newValue)) {
12514
+ (0,jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_8__/* .normalizeCssValue */ .iy)(rule, newValue)) {
12464
12515
  if (!inlineValue) {
12465
12516
  return;
12466
12517
  }
12467
- !dry && (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_8__/* .css */ .A)(elm, rule, null);
12468
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .UNSET */ .Ag;
12518
+ !dry && (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_9__/* .css */ .A)(elm, rule, null);
12519
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .UNSET */ .Ag;
12469
12520
  mode = removeExtraStyleAttribute(commitStyle, elm, mode);
12470
12521
  return;
12471
12522
  }
12472
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .CHANGE */ .PL;
12523
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .CHANGE */ .PL;
12473
12524
  if (!dry) {
12474
- (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_8__/* .css */ .A)(elm, rule, newValue);
12525
+ (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_9__/* .css */ .A)(elm, rule, newValue);
12475
12526
  mode = removeExtraStyleAttribute(commitStyle, elm, mode);
12476
12527
  }
12477
12528
  });
@@ -12479,19 +12530,19 @@ function toggleStyle(commitStyle, jodit, style, elm, dry, mode) {
12479
12530
  }
12480
12531
  function toggleClass(jodit, value, elm, mode, dry) {
12481
12532
  void 0;
12482
- const hook = jodit.e.fire.bind(jodit.e, `${jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* ._PREFIX */ .ar}AfterToggleAttribute`);
12533
+ const hook = jodit.e.fire.bind(jodit.e, `${jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* ._PREFIX */ .ar}AfterToggleAttribute`);
12483
12534
  if (elm.classList.contains(value.toString())) {
12484
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .UNSET */ .Ag;
12535
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .UNSET */ .Ag;
12485
12536
  if (!dry) {
12486
12537
  elm.classList.remove(value);
12487
12538
  if (elm.classList.length === 0) {
12488
- (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(elm, 'class', null);
12539
+ (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__.attr)(elm, 'class', null);
12489
12540
  hook(mode, elm, 'class', null);
12490
12541
  }
12491
12542
  }
12492
12543
  }
12493
12544
  else {
12494
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .CHANGE */ .PL;
12545
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .CHANGE */ .PL;
12495
12546
  if (!dry) {
12496
12547
  elm.classList.add(value);
12497
12548
  hook(mode, elm, 'class', value);
@@ -12501,16 +12552,16 @@ function toggleClass(jodit, value, elm, mode, dry) {
12501
12552
  }
12502
12553
  function toggleAttribute(jodit, value, elm, key, dry, mode) {
12503
12554
  void 0;
12504
- const hook = jodit.e.fire.bind(jodit.e, `${jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* ._PREFIX */ .ar}AfterToggleAttribute`);
12505
- if ((0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(elm, key) === value) {
12506
- !dry && (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(elm, key, null);
12507
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .UNSET */ .Ag;
12555
+ const hook = jodit.e.fire.bind(jodit.e, `${jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* ._PREFIX */ .ar}AfterToggleAttribute`);
12556
+ if ((0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__.attr)(elm, key) === value) {
12557
+ !dry && (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__.attr)(elm, key, null);
12558
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .UNSET */ .Ag;
12508
12559
  !dry && hook(mode, elm, key, value);
12509
12560
  return mode;
12510
12561
  }
12511
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .CHANGE */ .PL;
12562
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .CHANGE */ .PL;
12512
12563
  if (!dry) {
12513
- (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(elm, key, value);
12564
+ (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__.attr)(elm, key, value);
12514
12565
  hook(mode, elm, key, value);
12515
12566
  }
12516
12567
  return mode;
@@ -12520,11 +12571,11 @@ function toggleAttribute(jodit, value, elm, key, dry, mode) {
12520
12571
  * and if it is default, it removes the element itself
12521
12572
  */
12522
12573
  function removeExtraStyleAttribute(commitStyle, elm, mode) {
12523
- if (!(0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(elm, 'style')) {
12524
- (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(elm, 'style', null);
12574
+ if (!(0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__.attr)(elm, 'style')) {
12575
+ (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__.attr)(elm, 'style', null);
12525
12576
  if (elm.tagName.toLowerCase() === commitStyle.defaultTag) {
12526
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.unwrap(elm);
12527
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .UNWRAP */ .OJ;
12577
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.unwrap(elm);
12578
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .UNWRAP */ .OJ;
12528
12579
  }
12529
12580
  }
12530
12581
  return mode;
@@ -12533,12 +12584,12 @@ function removeExtraStyleAttribute(commitStyle, elm, mode) {
12533
12584
  * Creates an iframe into which elements will be inserted to test their default styles in the browser
12534
12585
  */
12535
12586
  function getShadowRoot(jodit) {
12536
- if ((0,jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_5__/* .dataBind */ .m)(jodit, 'shadowRoot') !== undefined) {
12537
- return (0,jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_5__/* .dataBind */ .m)(jodit, 'shadowRoot');
12587
+ if ((0,jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_6__/* .dataBind */ .m)(jodit, 'shadowRoot') !== undefined) {
12588
+ return (0,jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_6__/* .dataBind */ .m)(jodit, 'shadowRoot');
12538
12589
  }
12539
- const container = (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_1__/* .getContainer */ .My)(jodit);
12540
- const iframe = document.createElement('iframe');
12541
- (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_8__/* .css */ .A)(iframe, {
12590
+ const container = (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .getContainer */ .My)(jodit);
12591
+ const iframe = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('iframe');
12592
+ (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_9__/* .css */ .A)(iframe, {
12542
12593
  width: 0,
12543
12594
  height: 0,
12544
12595
  position: 'absolute',
@@ -12548,7 +12599,7 @@ function getShadowRoot(jodit) {
12548
12599
  container.appendChild(iframe);
12549
12600
  const doc = iframe.contentWindow?.document;
12550
12601
  const shadowRoot = !doc ? jodit.od.body : doc.body;
12551
- (0,jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_5__/* .dataBind */ .m)(jodit, 'shadowRoot', shadowRoot);
12602
+ (0,jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_6__/* .dataBind */ .m)(jodit, 'shadowRoot', shadowRoot);
12552
12603
  return shadowRoot;
12553
12604
  }
12554
12605
  /**
@@ -12559,8 +12610,8 @@ function getNativeCSSValue(jodit, elm, key) {
12559
12610
  newElm.style.cssText = elm.style.cssText;
12560
12611
  const root = getShadowRoot(jodit);
12561
12612
  root.appendChild(newElm);
12562
- const result = (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_8__/* .css */ .A)(newElm, key);
12563
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.safeRemove(newElm);
12613
+ const result = (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_9__/* .css */ .A)(newElm, key);
12614
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.safeRemove(newElm);
12564
12615
  return result;
12565
12616
  }
12566
12617
 
@@ -13948,15 +13999,21 @@ let UITooltip = UITooltip_1 = class UITooltip extends jodit_core_ui_element__WEB
13948
13999
  if (!view.o.textIcons &&
13949
14000
  view.o.showTooltip &&
13950
14001
  !view.o.useNativeTooltip) {
14002
+ this.j.e.on('getContainer', (box) => {
14003
+ this.__onAttach(box);
14004
+ });
13951
14005
  view.hookStatus(jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .STATUSES */ .f.ready, () => {
13952
- // TODO Move it inside __show method. Now it is here because testcase failed with capturing
13953
- (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .getContainer */ .My)(this.j, UITooltip_1).appendChild(this.container);
13954
- view.e.on(view.container, 'mouseenter.tooltip', this.__onMouseEnter, {
13955
- capture: true
13956
- });
14006
+ this.__onAttach(this.j.container);
13957
14007
  });
13958
14008
  }
13959
14009
  }
14010
+ __onAttach(container) {
14011
+ // TODO Move it inside __show method. Now it is here because testcase failed with capturing
14012
+ (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .getContainer */ .My)(this.j, UITooltip_1).appendChild(this.container);
14013
+ this.j.e.on(container, 'mouseenter.tooltip', this.__onMouseEnter, {
14014
+ capture: true
14015
+ });
14016
+ }
13960
14017
  __addListenersOnEnter() {
13961
14018
  if (this.__listenClose) {
13962
14019
  return;
@@ -14582,6 +14639,7 @@ let UIFileInput = class UIFileInput extends jodit_core_ui_form_inputs_input_inpu
14582
14639
  }
14583
14640
  createContainer(options) {
14584
14641
  this.button = new jodit_core_ui_button_button_button__WEBPACK_IMPORTED_MODULE_0__/* .UIButton */ .lD(this.j, {
14642
+ tooltip: options.tooltip,
14585
14643
  icon: {
14586
14644
  name: 'plus'
14587
14645
  }
@@ -15018,8 +15076,8 @@ __webpack_require__.r(__webpack_exports__);
15018
15076
  /* harmony export */ required: function() { return /* binding */ required; },
15019
15077
  /* harmony export */ url: function() { return /* binding */ url; }
15020
15078
  /* harmony export */ });
15021
- /* harmony import */ var jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20858);
15022
- /* harmony import */ var jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22718);
15079
+ /* harmony import */ var jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20858);
15080
+ /* harmony import */ var jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(22718);
15023
15081
  /*!
15024
15082
  * Jodit Editor (https://xdsoft.net/jodit/)
15025
15083
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -15031,7 +15089,7 @@ __webpack_require__.r(__webpack_exports__);
15031
15089
  * Input is required
15032
15090
  */
15033
15091
  const required = function (input) {
15034
- if (!(0,jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_0__/* .trim */ .Bq)(input.value).length) {
15092
+ if (!(0,jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_1__/* .trim */ .Bq)(input.value).length) {
15035
15093
  input.error = 'Please fill out this field';
15036
15094
  return false;
15037
15095
  }
@@ -15041,7 +15099,7 @@ const required = function (input) {
15041
15099
  * Input value should be valid URL
15042
15100
  */
15043
15101
  const url = function (input) {
15044
- if (!(0,jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_1__/* .isURL */ .m)((0,jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_0__/* .trim */ .Bq)(input.value))) {
15102
+ if (!(0,jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_0__/* .isURL */ .m)((0,jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_1__/* .trim */ .Bq)(input.value))) {
15045
15103
  input.error = 'Please enter a web address';
15046
15104
  return false;
15047
15105
  }
@@ -17683,6 +17741,9 @@ let Jodit = Jodit_1 = class Jodit extends jodit_modules__WEBPACK_IMPORTED_MODULE
17683
17741
  }
17684
17742
  }
17685
17743
  catch (e) {
17744
+ if (!jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.IS_PROD) {
17745
+ throw e;
17746
+ }
17686
17747
  this.destruct();
17687
17748
  throw e;
17688
17749
  }
@@ -19654,10 +19715,12 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.filebrowser
19654
19715
  jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.controls.filebrowser = {
19655
19716
  upload: {
19656
19717
  icon: 'plus',
19718
+ tooltip: 'Upload file',
19657
19719
  isInput: true,
19658
19720
  isDisabled: (browser) => !browser.dataProvider.canI('FileUpload'),
19659
- getContent: (filebrowser) => {
19721
+ getContent: (filebrowser, btnInt) => {
19660
19722
  const btn = new jodit_core_ui_form_inputs_file_file__WEBPACK_IMPORTED_MODULE_2__/* .UIFileInput */ .n(filebrowser, {
19723
+ tooltip: btnInt.control.tooltip,
19661
19724
  onlyImages: filebrowser.state.onlyImages
19662
19725
  });
19663
19726
  filebrowser.e.fire('bindUploader.filebrowser', btn.container);
@@ -19666,6 +19729,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.controls.fil
19666
19729
  },
19667
19730
  remove: {
19668
19731
  icon: 'bin',
19732
+ tooltip: 'Remove file',
19669
19733
  isDisabled: (browser) => {
19670
19734
  return (!browser.state.activeElements.length ||
19671
19735
  !browser.dataProvider.canI('FileRemove'));
@@ -19675,11 +19739,13 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.controls.fil
19675
19739
  }
19676
19740
  },
19677
19741
  update: {
19742
+ tooltip: 'Update file list',
19678
19743
  exec: (editor) => {
19679
19744
  editor.e.fire('update.filebrowser');
19680
19745
  }
19681
19746
  },
19682
19747
  select: {
19748
+ tooltip: 'Select file',
19683
19749
  icon: 'check',
19684
19750
  isDisabled: (browser) => !browser.state.activeElements.length,
19685
19751
  exec: (editor) => {
@@ -19687,6 +19753,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.controls.fil
19687
19753
  }
19688
19754
  },
19689
19755
  edit: {
19756
+ tooltip: 'Edit image',
19690
19757
  icon: 'pencil',
19691
19758
  isDisabled: (browser) => {
19692
19759
  const selected = browser.state.activeElements;
@@ -19700,6 +19767,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.controls.fil
19700
19767
  }
19701
19768
  },
19702
19769
  tiles: {
19770
+ tooltip: 'Tiles view',
19703
19771
  icon: 'th',
19704
19772
  isActive: (filebrowser) => filebrowser.state.view === 'tiles',
19705
19773
  exec: (filebrowser) => {
@@ -19707,6 +19775,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.controls.fil
19707
19775
  }
19708
19776
  },
19709
19777
  list: {
19778
+ tooltip: 'List view',
19710
19779
  icon: 'th-list',
19711
19780
  isActive: (filebrowser) => filebrowser.state.view === 'list',
19712
19781
  exec: (filebrowser) => {
@@ -20120,7 +20189,6 @@ let DataProvider = class DataProvider {
20120
20189
  data: {}
20121
20190
  };
20122
20191
  }
20123
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
20124
20192
  const query = this.o[type];
20125
20193
  if (query.data === undefined) {
20126
20194
  query.data = {
@@ -20366,7 +20434,6 @@ let FileBrowser = class FileBrowser extends jodit_core_view_view_with_toolbar__W
20366
20434
  get dataProvider() {
20367
20435
  return (0,_factories__WEBPACK_IMPORTED_MODULE_16__/* .makeDataProvider */ .S)(this, this.options);
20368
20436
  }
20369
- // eslint-disable-next-line no-unused-vars
20370
20437
  onSelect(callback) {
20371
20438
  return () => {
20372
20439
  if (this.state.activeElements.length) {
@@ -22879,7 +22946,6 @@ class Table extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .ViewCom
22879
22946
  const selector = (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_5__.cssPath)(td);
22880
22947
  selector && selectors.push(selector);
22881
22948
  });
22882
- // eslint-disable-next-line no-prototype-builtins
22883
22949
  style.innerHTML = selectors.length
22884
22950
  ? selectors.join(',') +
22885
22951
  `{${this.jodit.options.table.selectionCellStyle}}`
@@ -23097,46 +23163,39 @@ class Table extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .ViewCom
23097
23163
  removeRow(table, rowIndex) {
23098
23164
  return Table.__removeRow(table, rowIndex);
23099
23165
  }
23100
- static __appendColumn(table, j, after, create) {
23166
+ /**
23167
+ * Insert column before / after all the columns containing the selected cells
23168
+ */
23169
+ appendColumn(table, selectedCell, insertAfter = true) {
23101
23170
  const box = Table.__formalMatrix(table);
23102
- let i;
23103
- if (j === undefined || j < 0) {
23104
- j = Table.__getColumnsCount(table) - 1;
23105
- }
23106
- for (i = 0; i < box.length; i += 1) {
23107
- const cell = create.element('td');
23108
- const td = box[i][j];
23109
- let added = false;
23110
- if (after) {
23111
- if ((box[i] && td && j + 1 >= box[i].length) ||
23112
- td !== box[i][j + 1]) {
23113
- if (td.nextSibling) {
23114
- jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.before(td.nextSibling, cell);
23115
- }
23116
- else {
23117
- td.parentNode && td.parentNode.appendChild(cell);
23118
- }
23119
- added = true;
23171
+ if (!insertAfter && jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.isCell(selectedCell.previousElementSibling)) {
23172
+ return this.appendColumn(table, selectedCell.previousElementSibling, true);
23173
+ }
23174
+ const columnIndex = insertAfter
23175
+ ? selectedCell.cellIndex + ((selectedCell.colSpan || 1) - 1)
23176
+ : selectedCell.cellIndex;
23177
+ const newColumnIndex = insertAfter ? columnIndex + 1 : columnIndex;
23178
+ for (let i = 0; i < box.length;) {
23179
+ const cells = box[i];
23180
+ if (cells[columnIndex] !== cells[newColumnIndex] ||
23181
+ columnIndex === newColumnIndex) {
23182
+ const cell = this.j.createInside.element('td');
23183
+ if (insertAfter) {
23184
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.after(cells[columnIndex], cell);
23120
23185
  }
23121
- }
23122
- else {
23123
- if (j - 1 < 0 ||
23124
- (box[i][j] !== box[i][j - 1] && box[i][j].parentNode)) {
23125
- jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.before(box[i][j], cell);
23126
- added = true;
23186
+ else {
23187
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.before(cells[columnIndex], cell);
23188
+ }
23189
+ if (cells[columnIndex].rowSpan > 1) {
23190
+ cell.rowSpan = cells[columnIndex].rowSpan;
23127
23191
  }
23128
23192
  }
23129
- if (!added) {
23130
- (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_5__.attr)(box[i][j], 'colspan', parseInt((0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_5__.attr)(box[i][j], 'colspan') || '1', 10) + 1);
23193
+ else {
23194
+ cells[columnIndex].colSpan += 1;
23131
23195
  }
23196
+ i += cells[columnIndex].rowSpan || 1;
23132
23197
  }
23133
23198
  }
23134
- /**
23135
- * Insert column before / after all the columns containing the selected cells
23136
- */
23137
- appendColumn(table, j, after) {
23138
- return Table.__appendColumn(table, j, after, this.j.createInside);
23139
- }
23140
23199
  static __removeColumn(table, j) {
23141
23200
  const box = Table.__formalMatrix(table);
23142
23201
  let dec;
@@ -23354,7 +23413,7 @@ class Table extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .ViewCom
23354
23413
  alreadyMerged.delete(first);
23355
23414
  Table.__unmark(__marked);
23356
23415
  Table.__normalizeTable(table);
23357
- (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_5__.toArray)(table.rows).forEach((tr, index) => {
23416
+ (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_5__.toArray)(table.rows).forEach(tr => {
23358
23417
  if (!tr.cells.length) {
23359
23418
  jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.safeRemove(tr);
23360
23419
  }
@@ -23363,7 +23422,7 @@ class Table extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .ViewCom
23363
23422
  }
23364
23423
  }
23365
23424
  /**
23366
- * It combines all of the selected cells into one. The contents of the cells will also be combined
23425
+ * It combines all the selected cells into one. The contents of the cells will also be combined
23367
23426
  */
23368
23427
  mergeSelected(table) {
23369
23428
  return Table.__mergeSelected(table, this.j);
@@ -25705,7 +25764,9 @@ class addNewLine extends jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Plugin {
25705
25764
  editor.e
25706
25765
  .off(editor.editor, '.' + ns)
25707
25766
  .off(editor.container, '.' + ns)
25767
+ .off('.' + ns)
25708
25768
  .on([editor.ow, editor.ew, editor.editor], 'scroll' + '.' + ns, this.__hideForce)
25769
+ .on('finishedCleanHTMLWorker' + '.' + ns, this.__hideForce)
25709
25770
  .on(editor.editor, 'click' + '.' + ns, this.__hide)
25710
25771
  .on(editor.container, 'mouseleave' + '.' + ns, this.__hide)
25711
25772
  .on(editor.editor, 'mousemove' + '.' + ns, this.__onMouseMove);
@@ -25793,7 +25854,8 @@ class addNewLine extends jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Plugin {
25793
25854
  jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Dom.safeRemove(this.__line);
25794
25855
  this.j.e
25795
25856
  .off([this.j.ow, this.j.ew, this.j.editor], '.' + ns)
25796
- .off(this.j.container, '.' + ns);
25857
+ .off(this.j.container, '.' + ns)
25858
+ .off('.' + ns);
25797
25859
  }
25798
25860
  }
25799
25861
  (0,tslib__WEBPACK_IMPORTED_MODULE_5__/* .__decorate */ .Cg)([
@@ -26629,6 +26691,7 @@ function checkNotCollapsed(jodit) {
26629
26691
  * ```
26630
26692
  * @private
26631
26693
  */
26694
+ // eslint-disable-next-line complexity
26632
26695
  function checkRemoveChar(jodit, fakeNode, backspace, mode) {
26633
26696
  const step = backspace ? -1 : 1;
26634
26697
  const anotherSibling = jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.sibling(fakeNode, !backspace);
@@ -27922,13 +27985,21 @@ function allowAttributes(jodit, nodeElm, hadEffect, allow) {
27922
27985
  */
27923
27986
 
27924
27987
 
27988
+ const TABLE_CONTAINER_TAGS = new Set([
27989
+ 'table',
27990
+ 'tbody',
27991
+ 'thead',
27992
+ 'tfoot',
27993
+ 'tr'
27994
+ ]);
27925
27995
  /**
27926
27996
  * @private
27927
27997
  */
27928
27998
  function fillEmptyParagraph(jodit, nodeElm, hadEffect) {
27929
27999
  if (jodit.o.cleanHTML.fillEmptyParagraph &&
27930
28000
  jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isBlock(nodeElm) &&
27931
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isEmpty(nodeElm, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS)) {
28001
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isEmpty(nodeElm, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS) &&
28002
+ !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isTag(nodeElm, TABLE_CONTAINER_TAGS)) {
27932
28003
  const br = jodit.createInside.element('br');
27933
28004
  nodeElm.appendChild(br);
27934
28005
  return true;
@@ -30750,7 +30821,8 @@ class hotkeys extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_3__/* .Plugin *
30750
30821
  constructor() {
30751
30822
  super(...arguments);
30752
30823
  this.onKeyPress = (event) => {
30753
- const special = this.specialKeys[event.which], character = (event.key || String.fromCharCode(event.which)).toLowerCase();
30824
+ const special = this.specialKeys[event.which];
30825
+ const character = (event.key || String.fromCharCode(event.which)).toLowerCase();
30754
30826
  const modif = [special || character];
30755
30827
  ['alt', 'ctrl', 'shift', 'meta'].forEach(specialKey => {
30756
30828
  if (event[specialKey + 'Key'] && special !== specialKey) {
@@ -30844,7 +30916,8 @@ class hotkeys extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_3__/* .Plugin *
30844
30916
  }
30845
30917
  })
30846
30918
  .on('keydown.hotkeys', (event) => {
30847
- const shortcut = this.onKeyPress(event), stop = {
30919
+ const shortcut = this.onKeyPress(event);
30920
+ const stop = {
30848
30921
  shouldStop: true
30849
30922
  };
30850
30923
  const resultOfFire = this.j.e.fire(shortcut + '.hotkey', event.type, stop);
@@ -31018,6 +31091,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.iframeStyle
31018
31091
  '-ms-user-select: none' +
31019
31092
  '}';
31020
31093
  jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.iframeCSSLinks = [];
31094
+ jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.iframeSandbox = null;
31021
31095
 
31022
31096
 
31023
31097
  /***/ }),
@@ -31094,6 +31168,9 @@ function iframe(editor) {
31094
31168
  iframe.setAttribute('allowtransparency', 'true');
31095
31169
  iframe.setAttribute('tabindex', opt.tabIndex.toString());
31096
31170
  iframe.setAttribute('frameborder', '0');
31171
+ if (opt.iframeSandbox != null) {
31172
+ iframe.setAttribute('sandbox', opt.iframeSandbox);
31173
+ }
31097
31174
  editor.workplace.appendChild(iframe);
31098
31175
  editor.iframe = iframe;
31099
31176
  const result = editor.e.fire('generateDocumentStructure.iframe', null, editor);
@@ -36454,13 +36531,13 @@ function generateCriticalCSS(jodit) {
36454
36531
  /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
36455
36532
  /* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33465);
36456
36533
  /* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51431);
36457
- /* harmony import */ var jodit_core_helpers_utils_default_language__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(54614);
36458
- /* harmony import */ var jodit_core_helpers_utils_print__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(85769);
36459
- /* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(80004);
36460
- /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(91288);
36461
- /* harmony import */ var _lib_generate_critical_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(86134);
36462
- /* harmony import */ var _print_svg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(26899);
36463
- /* harmony import */ var _print_svg__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_print_svg__WEBPACK_IMPORTED_MODULE_7__);
36534
+ /* harmony import */ var jodit_core_helpers_utils_default_language__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(54614);
36535
+ /* harmony import */ var jodit_core_helpers_utils_print__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(85769);
36536
+ /* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(80004);
36537
+ /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(91288);
36538
+ /* harmony import */ var _lib_generate_critical_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(86134);
36539
+ /* harmony import */ var _print_svg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(26899);
36540
+ /* harmony import */ var _print_svg__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_print_svg__WEBPACK_IMPORTED_MODULE_8__);
36464
36541
  /*!
36465
36542
  * Jodit Editor (https://xdsoft.net/jodit/)
36466
36543
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -36475,8 +36552,8 @@ function generateCriticalCSS(jodit) {
36475
36552
 
36476
36553
 
36477
36554
 
36478
- jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_4__/* .Icon */ .I.set('print', (_print_svg__WEBPACK_IMPORTED_MODULE_7___default()));
36479
- jodit_config__WEBPACK_IMPORTED_MODULE_5__/* .Config */ .T.prototype.controls.print = {
36555
+ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__/* .Icon */ .I.set('print', (_print_svg__WEBPACK_IMPORTED_MODULE_8___default()));
36556
+ jodit_config__WEBPACK_IMPORTED_MODULE_6__/* .Config */ .T.prototype.controls.print = {
36480
36557
  exec: (editor) => {
36481
36558
  const iframe = editor.create.element('iframe');
36482
36559
  Object.assign(iframe.style, {
@@ -36487,7 +36564,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_5__/* .Config */ .T.prototype.controls.pri
36487
36564
  height: 0,
36488
36565
  border: 0
36489
36566
  });
36490
- (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .getContainer */ .My)(editor, jodit_config__WEBPACK_IMPORTED_MODULE_5__/* .Config */ .T).appendChild(iframe);
36567
+ (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .getContainer */ .My)(editor, jodit_config__WEBPACK_IMPORTED_MODULE_6__/* .Config */ .T).appendChild(iframe);
36491
36568
  const afterFinishPrint = () => {
36492
36569
  editor.e.off(editor.ow, 'mousemove', afterFinishPrint);
36493
36570
  jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.safeRemove(iframe);
@@ -36503,12 +36580,12 @@ jodit_config__WEBPACK_IMPORTED_MODULE_5__/* .Config */ .T.prototype.controls.pri
36503
36580
  }
36504
36581
  else {
36505
36582
  myWindow.document.write('<!doctype html><html lang="' +
36506
- (0,jodit_core_helpers_utils_default_language__WEBPACK_IMPORTED_MODULE_8__/* .defaultLanguage */ .e)(editor.o.language) +
36583
+ (0,jodit_core_helpers_utils_default_language__WEBPACK_IMPORTED_MODULE_3__/* .defaultLanguage */ .e)(editor.o.language) +
36507
36584
  '"><head><title></title></head><style>' +
36508
- (0,_lib_generate_critical_css__WEBPACK_IMPORTED_MODULE_6__/* .generateCriticalCSS */ .Y)(editor) +
36585
+ (0,_lib_generate_critical_css__WEBPACK_IMPORTED_MODULE_7__/* .generateCriticalCSS */ .Y)(editor) +
36509
36586
  '</style><body></body></html>');
36510
36587
  myWindow.document.close();
36511
- (0,jodit_core_helpers_utils_print__WEBPACK_IMPORTED_MODULE_3__/* .previewBox */ .u)(editor, undefined, 'px', myWindow.document.body);
36588
+ (0,jodit_core_helpers_utils_print__WEBPACK_IMPORTED_MODULE_4__/* .previewBox */ .u)(editor, undefined, 'px', myWindow.document.body);
36512
36589
  }
36513
36590
  const style = myWindow.document.createElement('style');
36514
36591
  style.innerHTML = `@media print {
@@ -37584,10 +37661,11 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .pluginSystem */ .fg.add('resiz
37584
37661
  /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
37585
37662
 
37586
37663
  "use strict";
37587
- /* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(80004);
37588
- /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(91288);
37589
- /* harmony import */ var _search_svg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(98973);
37590
- /* harmony import */ var _search_svg__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_search_svg__WEBPACK_IMPORTED_MODULE_2__);
37664
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
37665
+ /* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(80004);
37666
+ /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91288);
37667
+ /* harmony import */ var _search_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(98973);
37668
+ /* harmony import */ var _search_svg__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_search_svg__WEBPACK_IMPORTED_MODULE_3__);
37591
37669
  /*!
37592
37670
  * Jodit Editor (https://xdsoft.net/jodit/)
37593
37671
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -37597,14 +37675,14 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .pluginSystem */ .fg.add('resiz
37597
37675
 
37598
37676
 
37599
37677
 
37600
- jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config */ .T.prototype.useSearch = true;
37601
- jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config */ .T.prototype.search = {
37678
+
37679
+ jodit_config__WEBPACK_IMPORTED_MODULE_2__/* .Config */ .T.prototype.useSearch = true;
37680
+ jodit_config__WEBPACK_IMPORTED_MODULE_2__/* .Config */ .T.prototype.search = {
37602
37681
  lazyIdleTimeout: 0,
37603
- // @ts-ignore Because Highlight is not defined in the types TS 5.3.3
37604
- useCustomHighlightAPI: typeof window.Highlight !== 'undefined'
37682
+ useCustomHighlightAPI: jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow && typeof jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow.Highlight !== 'undefined'
37605
37683
  };
37606
- jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_0__/* .Icon */ .I.set('search', (_search_svg__WEBPACK_IMPORTED_MODULE_2___default()));
37607
- jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config */ .T.prototype.controls.find = {
37684
+ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_1__/* .Icon */ .I.set('search', (_search_svg__WEBPACK_IMPORTED_MODULE_3___default()));
37685
+ jodit_config__WEBPACK_IMPORTED_MODULE_2__/* .Config */ .T.prototype.controls.find = {
37608
37686
  tooltip: 'Find',
37609
37687
  icon: 'search',
37610
37688
  exec(jodit, _, { control }) {
@@ -37645,8 +37723,9 @@ jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config */ .T.prototype.controls.fin
37645
37723
  /* harmony export */ _B: function() { return /* binding */ highlightTextRanges; },
37646
37724
  /* harmony export */ zy: function() { return /* binding */ getSelectionWrappers; }
37647
37725
  /* harmony export */ });
37648
- /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23545);
37649
- /* harmony import */ var jodit_core_helpers_utils_selector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(52989);
37726
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
37727
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23545);
37728
+ /* harmony import */ var jodit_core_helpers_utils_selector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(52989);
37650
37729
  /*!
37651
37730
  * Jodit Editor (https://xdsoft.net/jodit/)
37652
37731
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -37654,6 +37733,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config */ .T.prototype.controls.fin
37654
37733
  */
37655
37734
 
37656
37735
 
37736
+
37657
37737
  /**
37658
37738
  * @private
37659
37739
  */
@@ -37672,15 +37752,15 @@ function highlightTextRanges(jodit, rng, restRanges, ci, root) {
37672
37752
  const span = ci.element('span', {
37673
37753
  [TMP_ATTR]: true
37674
37754
  });
37675
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.markTemporary(span);
37755
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.markTemporary(span);
37676
37756
  normalizeRanges(rng, restRanges, ci);
37677
37757
  let next = rng.startContainer;
37678
37758
  do {
37679
37759
  if (!next) {
37680
37760
  break;
37681
37761
  }
37682
- if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isText(next) && !isSelectionWrapper(next.parentNode)) {
37683
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.wrap(next, span.cloneNode(), ci);
37762
+ if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isText(next) && !isSelectionWrapper(next.parentNode)) {
37763
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.wrap(next, span.cloneNode(), ci);
37684
37764
  }
37685
37765
  if (next === rng.endContainer) {
37686
37766
  break;
@@ -37699,13 +37779,13 @@ function highlightTextRanges(jodit, rng, restRanges, ci, root) {
37699
37779
  * @private
37700
37780
  */
37701
37781
  function getSelectionWrappers(root) {
37702
- return (0,jodit_core_helpers_utils_selector__WEBPACK_IMPORTED_MODULE_1__.$$)(`[${TMP_ATTR}]`, root);
37782
+ return (0,jodit_core_helpers_utils_selector__WEBPACK_IMPORTED_MODULE_2__.$$)(`[${TMP_ATTR}]`, root);
37703
37783
  }
37704
37784
  /**
37705
37785
  * @private
37706
37786
  */
37707
37787
  function clearSelectionWrappers(root) {
37708
- getSelectionWrappers(root).forEach(span => jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.unwrap(span));
37788
+ getSelectionWrappers(root).forEach(span => jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.unwrap(span));
37709
37789
  }
37710
37790
  /**
37711
37791
  * @private
@@ -37717,12 +37797,13 @@ function clearSelectionWrappersFromHTML(root) {
37717
37797
  * @private
37718
37798
  */
37719
37799
  function isSelectionWrapper(node) {
37720
- return jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isElement(node) && node.hasAttribute(TMP_ATTR);
37800
+ return jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isElement(node) && node.hasAttribute(TMP_ATTR);
37721
37801
  }
37722
37802
  function checkNativeSelectionMethod(jodit, rng, restRanges) {
37723
37803
  if (jodit.o.search.useCustomHighlightAPI &&
37724
37804
  // @ts-ignore Because Highlight is not defined in the types TS 5.3.3
37725
- typeof window.Highlight !== 'undefined') {
37805
+ jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow &&
37806
+ typeof jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow.Highlight !== 'undefined') {
37726
37807
  const ranges = [rng, ...restRanges].map(rng => {
37727
37808
  const range = jodit.selection.createRange();
37728
37809
  range.setStart(rng.startContainer, rng.startOffset);
@@ -37746,7 +37827,7 @@ function normalizeRanges(rng, restRanges, ci) {
37746
37827
  if (rng.startOffset !== 0) {
37747
37828
  const text = ci.text(startText.substring(0, rng.startOffset));
37748
37829
  rng.startContainer.nodeValue = startText.substring(rng.startOffset);
37749
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.before(rng.startContainer, text);
37830
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.before(rng.startContainer, text);
37750
37831
  if (rng.startContainer === rng.endContainer) {
37751
37832
  diff = rng.startOffset;
37752
37833
  rng.endOffset -= diff;
@@ -37757,7 +37838,7 @@ function normalizeRanges(rng, restRanges, ci) {
37757
37838
  if (rng.endOffset !== endText.length) {
37758
37839
  const text = ci.text(endText.substring(rng.endOffset));
37759
37840
  rng.endContainer.nodeValue = endText.substring(0, rng.endOffset);
37760
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.after(rng.endContainer, text);
37841
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.after(rng.endContainer, text);
37761
37842
  for (const range of restRanges) {
37762
37843
  if (range.startContainer === rng.endContainer) {
37763
37844
  range.startContainer = text;
@@ -38764,7 +38845,7 @@ class selectCells extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_5__/* .Plug
38764
38845
  break;
38765
38846
  case 'addcolumnafter':
38766
38847
  case 'addcolumnbefore':
38767
- this.__tableModule.appendColumn(table, cell.cellIndex, command === 'addcolumnafter');
38848
+ this.__tableModule.appendColumn(table, cell, command === 'addcolumnafter');
38768
38849
  break;
38769
38850
  case 'addrowafter':
38770
38851
  case 'addrowbefore':
@@ -40212,6 +40293,7 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_1__/* .pluginSystem */ .fg.add('spell
40212
40293
 
40213
40294
  jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.showCharsCounter = true;
40214
40295
  jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.countHTMLChars = false;
40296
+ jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.countTextSpaces = false;
40215
40297
  jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.showWordsCounter = true;
40216
40298
 
40217
40299
 
@@ -40258,9 +40340,20 @@ class stat extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_3__/* .Plug
40258
40340
  this.calc = this.j.async.throttle(() => {
40259
40341
  const text = this.j.text;
40260
40342
  if (this.j.o.showCharsCounter && this.charCounter) {
40261
- const chars = this.j.o.countHTMLChars
40262
- ? this.j.value
40263
- : text.replace((0,jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.SPACE_REG_EXP)(), '');
40343
+ let chars;
40344
+ if (this.j.o.countHTMLChars) {
40345
+ chars = this.j.value;
40346
+ }
40347
+ else {
40348
+ if (this.j.o.countTextSpaces) {
40349
+ chars = text
40350
+ .replace((0,jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE_REG_EXP)(), '')
40351
+ .replace(/[\r\n]/g, '');
40352
+ }
40353
+ else {
40354
+ chars = text.replace((0,jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.SPACE_REG_EXP)(), '');
40355
+ }
40356
+ }
40264
40357
  this.charCounter.textContent = this.j.i18n('Chars: %d', chars.length);
40265
40358
  }
40266
40359
  if (this.j.o.showWordsCounter && this.wordCounter) {
@@ -40724,6 +40817,7 @@ __webpack_require__.r(__webpack_exports__);
40724
40817
  /* harmony export */ pt_br: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; },
40725
40818
  /* harmony export */ ru: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; },
40726
40819
  /* harmony export */ tr: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; },
40820
+ /* harmony export */ ua: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; },
40727
40821
  /* harmony export */ zh_cn: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; },
40728
40822
  /* harmony export */ zh_tw: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; }
40729
40823
  /* harmony export */ });
@@ -40756,6 +40850,7 @@ __webpack_require__.r(__webpack_exports__);
40756
40850
 
40757
40851
 
40758
40852
 
40853
+
40759
40854
 
40760
40855
 
40761
40856
  /***/ }),
@@ -41294,6 +41389,8 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.controls.tab
41294
41389
  }
41295
41390
  },
41296
41391
  popup: (editor, current, close, button) => {
41392
+ editor.editor.normalize();
41393
+ const snapshot = editor.history.snapshot.make();
41297
41394
  const control = button.control;
41298
41395
  const default_rows_count = control.data && control.data.rows ? control.data.rows : 10, default_cols_count = control.data && control.data.cols ? control.data.cols : 10;
41299
41396
  const generateExtraClasses = () => {
@@ -41386,10 +41483,24 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.controls.tab
41386
41483
  table.classList.add(className);
41387
41484
  });
41388
41485
  });
41389
- if (editor.editor.firstChild) {
41390
- editor.s.insertNode(crt.text('\n'), false, false);
41486
+ editor.s.restore();
41487
+ editor.s.removeMarkers();
41488
+ editor.editor.normalize();
41489
+ editor.history.snapshot.restore(snapshot);
41490
+ const block = jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.furthest(editor.s.current(), jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isBlock, editor.editor);
41491
+ if (block && jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isEmpty(block)) {
41492
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.replace(block, table, undefined, false, true);
41493
+ }
41494
+ else {
41495
+ if (block) {
41496
+ const fake = crt.text('\n');
41497
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.after(block, fake);
41498
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.after(fake, table);
41499
+ }
41500
+ else {
41501
+ editor.s.insertNode(table, false);
41502
+ }
41391
41503
  }
41392
- editor.s.insertNode(table, false);
41393
41504
  if (first_td) {
41394
41505
  editor.s.setCursorIn(first_td);
41395
41506
  (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.scrollIntoViewIfNeeded)(first_td, editor.editor, editor.ed);
@@ -42423,7 +42534,6 @@ function getTextLeftOfCursor(range) {
42423
42534
  * ```
42424
42535
  */
42425
42536
  function replaceTextLeftOfCursorAfterSpace(range, elm) {
42426
- // eslint-disable-next-line prefer-const
42427
42537
  let { startContainer, startOffset } = range;
42428
42538
  if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isText(startContainer)) {
42429
42539
  startContainer = startContainer.childNodes[startOffset - 1];
@@ -42928,7 +43038,6 @@ function convertToList(elm) {
42928
43038
  return elm;
42929
43039
  }
42930
43040
  function moveUp(leaf) {
42931
- // eslint-disable-next-line no-constant-condition
42932
43041
  while (leaf) {
42933
43042
  const prev = leaf.previousElement;
42934
43043
  // Leaf after P
@@ -44314,7 +44423,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
44314
44423
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
44315
44424
  PERFORMANCE OF THIS SOFTWARE.
44316
44425
  ***************************************************************************** */
44317
- /* global Reflect, Promise, SuppressedError, Symbol */
44426
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
44318
44427
 
44319
44428
  var extendStatics = function(d, b) {
44320
44429
  extendStatics = Object.setPrototypeOf ||
@@ -44425,8 +44534,8 @@ function __awaiter(thisArg, _arguments, P, generator) {
44425
44534
  }
44426
44535
 
44427
44536
  function __generator(thisArg, body) {
44428
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
44429
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
44537
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
44538
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
44430
44539
  function verb(n) { return function (v) { return step([n, v]); }; }
44431
44540
  function step(op) {
44432
44541
  if (f) throw new TypeError("Generator is already executing.");
@@ -44530,8 +44639,9 @@ function __await(v) {
44530
44639
  function __asyncGenerator(thisArg, _arguments, generator) {
44531
44640
  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
44532
44641
  var g = generator.apply(thisArg, _arguments || []), i, q = [];
44533
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
44534
- function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
44642
+ return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
44643
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
44644
+ function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
44535
44645
  function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
44536
44646
  function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
44537
44647
  function fulfill(value) { resume("next", value); }
@@ -44597,16 +44707,18 @@ function __classPrivateFieldIn(state, receiver) {
44597
44707
  function __addDisposableResource(env, value, async) {
44598
44708
  if (value !== null && value !== void 0) {
44599
44709
  if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
44600
- var dispose;
44710
+ var dispose, inner;
44601
44711
  if (async) {
44602
- if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
44603
- dispose = value[Symbol.asyncDispose];
44712
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
44713
+ dispose = value[Symbol.asyncDispose];
44604
44714
  }
44605
44715
  if (dispose === void 0) {
44606
- if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
44607
- dispose = value[Symbol.dispose];
44716
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
44717
+ dispose = value[Symbol.dispose];
44718
+ if (async) inner = dispose;
44608
44719
  }
44609
44720
  if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
44721
+ if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
44610
44722
  env.stack.push({ value: value, dispose: dispose, async: async });
44611
44723
  }
44612
44724
  else if (async) {
@@ -44625,17 +44737,22 @@ function __disposeResources(env) {
44625
44737
  env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
44626
44738
  env.hasError = true;
44627
44739
  }
44740
+ var r, s = 0;
44628
44741
  function next() {
44629
- while (env.stack.length) {
44630
- var rec = env.stack.pop();
44742
+ while (r = env.stack.pop()) {
44631
44743
  try {
44632
- var result = rec.dispose && rec.dispose.call(rec.value);
44633
- if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
44744
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
44745
+ if (r.dispose) {
44746
+ var result = r.dispose.call(r.value);
44747
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
44748
+ }
44749
+ else s |= 1;
44634
44750
  }
44635
44751
  catch (e) {
44636
- fail(e);
44752
+ fail(e);
44637
44753
  }
44638
44754
  }
44755
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
44639
44756
  if (env.hasError) throw env.error;
44640
44757
  }
44641
44758
  return next();
@@ -44762,11 +44879,88 @@ function __disposeResources(env) {
44762
44879
  /******/ };
44763
44880
  /******/ }();
44764
44881
  /******/
44882
+ /******/ /* webpack/runtime/ensure chunk */
44883
+ /******/ !function() {
44884
+ /******/ __webpack_require__.f = {};
44885
+ /******/ // This file contains only the entry chunk.
44886
+ /******/ // The chunk loading function for additional chunks
44887
+ /******/ __webpack_require__.e = function(chunkId) {
44888
+ /******/ return Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {
44889
+ /******/ __webpack_require__.f[key](chunkId, promises);
44890
+ /******/ return promises;
44891
+ /******/ }, []));
44892
+ /******/ };
44893
+ /******/ }();
44894
+ /******/
44895
+ /******/ /* webpack/runtime/get javascript chunk filename */
44896
+ /******/ !function() {
44897
+ /******/ // This function allow to reference async chunks
44898
+ /******/ __webpack_require__.u = function(chunkId) {
44899
+ /******/ // return url for filenames based on template
44900
+ /******/ return "" + chunkId + ".js";
44901
+ /******/ };
44902
+ /******/ }();
44903
+ /******/
44904
+ /******/ /* webpack/runtime/get mini-css chunk filename */
44905
+ /******/ !function() {
44906
+ /******/ // This function allow to reference async chunks
44907
+ /******/ __webpack_require__.miniCssF = function(chunkId) {
44908
+ /******/ // return url for filenames based on template
44909
+ /******/ return undefined;
44910
+ /******/ };
44911
+ /******/ }();
44912
+ /******/
44765
44913
  /******/ /* webpack/runtime/hasOwnProperty shorthand */
44766
44914
  /******/ !function() {
44767
44915
  /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
44768
44916
  /******/ }();
44769
44917
  /******/
44918
+ /******/ /* webpack/runtime/load script */
44919
+ /******/ !function() {
44920
+ /******/ var inProgress = {};
44921
+ /******/ var dataWebpackPrefix = "jodit-pro:";
44922
+ /******/ // loadScript function to load a script via script tag
44923
+ /******/ __webpack_require__.l = function(url, done, key, chunkId) {
44924
+ /******/ if(inProgress[url]) { inProgress[url].push(done); return; }
44925
+ /******/ var script, needAttach;
44926
+ /******/ if(key !== undefined) {
44927
+ /******/ var scripts = document.getElementsByTagName("script");
44928
+ /******/ for(var i = 0; i < scripts.length; i++) {
44929
+ /******/ var s = scripts[i];
44930
+ /******/ if(s.getAttribute("src") == url || s.getAttribute("data-webpack") == dataWebpackPrefix + key) { script = s; break; }
44931
+ /******/ }
44932
+ /******/ }
44933
+ /******/ if(!script) {
44934
+ /******/ needAttach = true;
44935
+ /******/ script = document.createElement('script');
44936
+ /******/
44937
+ /******/ script.charset = 'utf-8';
44938
+ /******/ script.timeout = 120;
44939
+ /******/ if (__webpack_require__.nc) {
44940
+ /******/ script.setAttribute("nonce", __webpack_require__.nc);
44941
+ /******/ }
44942
+ /******/ script.setAttribute("data-webpack", dataWebpackPrefix + key);
44943
+ /******/
44944
+ /******/ script.src = url;
44945
+ /******/ }
44946
+ /******/ inProgress[url] = [done];
44947
+ /******/ var onScriptComplete = function(prev, event) {
44948
+ /******/ // avoid mem leaks in IE.
44949
+ /******/ script.onerror = script.onload = null;
44950
+ /******/ clearTimeout(timeout);
44951
+ /******/ var doneFns = inProgress[url];
44952
+ /******/ delete inProgress[url];
44953
+ /******/ script.parentNode && script.parentNode.removeChild(script);
44954
+ /******/ doneFns && doneFns.forEach(function(fn) { return fn(event); });
44955
+ /******/ if(prev) return prev(event);
44956
+ /******/ }
44957
+ /******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);
44958
+ /******/ script.onerror = onScriptComplete.bind(null, script.onerror);
44959
+ /******/ script.onload = onScriptComplete.bind(null, script.onload);
44960
+ /******/ needAttach && document.head.appendChild(script);
44961
+ /******/ };
44962
+ /******/ }();
44963
+ /******/
44770
44964
  /******/ /* webpack/runtime/make namespace object */
44771
44965
  /******/ !function() {
44772
44966
  /******/ // define __esModule on exports
@@ -44778,6 +44972,11 @@ function __disposeResources(env) {
44778
44972
  /******/ };
44779
44973
  /******/ }();
44780
44974
  /******/
44975
+ /******/ /* webpack/runtime/publicPath */
44976
+ /******/ !function() {
44977
+ /******/ __webpack_require__.p = "/build/";
44978
+ /******/ }();
44979
+ /******/
44781
44980
  /******/ /* webpack/runtime/jsonp chunk loading */
44782
44981
  /******/ !function() {
44783
44982
  /******/ // no baseURI
@@ -44789,7 +44988,44 @@ function __disposeResources(env) {
44789
44988
  /******/ 521: 0
44790
44989
  /******/ };
44791
44990
  /******/
44792
- /******/ // no chunk on demand loading
44991
+ /******/ __webpack_require__.f.j = function(chunkId, promises) {
44992
+ /******/ // JSONP chunk loading for javascript
44993
+ /******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;
44994
+ /******/ if(installedChunkData !== 0) { // 0 means "already installed".
44995
+ /******/
44996
+ /******/ // a Promise means "currently loading".
44997
+ /******/ if(installedChunkData) {
44998
+ /******/ promises.push(installedChunkData[2]);
44999
+ /******/ } else {
45000
+ /******/ if(true) { // all chunks have JS
45001
+ /******/ // setup Promise in chunk cache
45002
+ /******/ var promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });
45003
+ /******/ promises.push(installedChunkData[2] = promise);
45004
+ /******/
45005
+ /******/ // start chunk loading
45006
+ /******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId);
45007
+ /******/ // create error before stack unwound to get useful stacktrace later
45008
+ /******/ var error = new Error();
45009
+ /******/ var loadingEnded = function(event) {
45010
+ /******/ if(__webpack_require__.o(installedChunks, chunkId)) {
45011
+ /******/ installedChunkData = installedChunks[chunkId];
45012
+ /******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined;
45013
+ /******/ if(installedChunkData) {
45014
+ /******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
45015
+ /******/ var realSrc = event && event.target && event.target.src;
45016
+ /******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
45017
+ /******/ error.name = 'ChunkLoadError';
45018
+ /******/ error.type = errorType;
45019
+ /******/ error.request = realSrc;
45020
+ /******/ installedChunkData[1](error);
45021
+ /******/ }
45022
+ /******/ }
45023
+ /******/ };
45024
+ /******/ __webpack_require__.l(url, loadingEnded, "chunk-" + chunkId, chunkId);
45025
+ /******/ }
45026
+ /******/ }
45027
+ /******/ }
45028
+ /******/ };
44793
45029
  /******/
44794
45030
  /******/ // no prefetching
44795
45031
  /******/