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
package/es2021/jodit.js CHANGED
@@ -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
  */
@@ -961,16 +961,12 @@ class Config {
961
961
  showPlaceholder: false
962
962
  }
963
963
  };
964
- this.ownerDocument = (typeof document !== 'undefined'
965
- ? document
966
- : null);
964
+ this.ownerDocument = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument;
967
965
  /**
968
966
  * Allows you to specify the window in which the editor will be created. Default - window
969
967
  * This is necessary if you are creating the editor inside an iframe but the code is running in the parent window
970
968
  */
971
- this.ownerWindow = (typeof window !== 'undefined'
972
- ? window
973
- : null);
969
+ this.ownerWindow = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow;
974
970
  /**
975
971
  * Shadow root if Jodit was created in it
976
972
  *
@@ -1744,16 +1740,16 @@ Config.prototype.controls = {};
1744
1740
  /* harmony export */ j: function() { return /* binding */ Async; }
1745
1741
  /* harmony export */ });
1746
1742
  /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
1747
- /* harmony import */ var jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(98761);
1743
+ /* harmony import */ var jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(61239);
1748
1744
  /* harmony import */ var jodit_core_helpers_checker_is_abort_error__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(54306);
1749
1745
  /* harmony import */ var jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(41959);
1750
- /* harmony import */ var jodit_core_helpers_checker_is_number__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(72558);
1746
+ /* harmony import */ var jodit_core_helpers_checker_is_number__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(72558);
1751
1747
  /* harmony import */ var jodit_core_helpers_checker_is_plain_object__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(47903);
1752
1748
  /* harmony import */ var jodit_core_helpers_checker_is_promise__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(75138);
1753
1749
  /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(26986);
1754
- /* harmony import */ var jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(74197);
1755
- /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(28712);
1756
- /* 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__);
1750
+ /* harmony import */ var jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(74197);
1751
+ /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(28712);
1752
+ /* 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__);
1757
1753
  /* harmony import */ var jodit_core_helpers_utils_error_errors_abort_error__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(30126);
1758
1754
  /*!
1759
1755
  * Jodit Editor (https://xdsoft.net/jodit/)
@@ -1804,17 +1800,18 @@ class Async {
1804
1800
  return 0;
1805
1801
  }
1806
1802
  let options = {};
1807
- if ((0,jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_2__/* .isVoid */ .R)(timeout)) {
1803
+ if ((0,jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_3__/* .isVoid */ .R)(timeout)) {
1808
1804
  timeout = 0;
1809
1805
  }
1810
- if (!(0,jodit_core_helpers_checker_is_number__WEBPACK_IMPORTED_MODULE_3__/* .isNumber */ .E)(timeout)) {
1806
+ if (!(0,jodit_core_helpers_checker_is_number__WEBPACK_IMPORTED_MODULE_4__/* .isNumber */ .E)(timeout)) {
1811
1807
  options = timeout;
1812
1808
  timeout = options.timeout || 0;
1813
1809
  }
1814
1810
  if (options.label) {
1815
1811
  this.clearLabel(options.label);
1816
1812
  }
1817
- const timer = (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_4__/* .setTimeout */ .w)(callback, timeout, ...args), key = options.label || timer;
1813
+ const timer = (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_1__/* .setTimeout */ .w)(callback, timeout, ...args);
1814
+ const key = options.label || timer;
1818
1815
  this.timers.set(key, timer);
1819
1816
  this.__callbacks.set(key, callback);
1820
1817
  return timer;
@@ -1830,7 +1827,7 @@ class Async {
1830
1827
  }
1831
1828
  clearLabel(label) {
1832
1829
  if (label && this.timers.has(label)) {
1833
- (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_4__/* .clearTimeout */ .D)(this.timers.get(label));
1830
+ (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_1__/* .clearTimeout */ .D)(this.timers.get(label));
1834
1831
  this.timers.delete(label);
1835
1832
  this.__callbacks.delete(label);
1836
1833
  }
@@ -1839,7 +1836,7 @@ class Async {
1839
1836
  if ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_5__/* .isString */ .K)(timerOrLabel)) {
1840
1837
  return this.clearLabel(timerOrLabel);
1841
1838
  }
1842
- (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_4__/* .clearTimeout */ .D)(timerOrLabel);
1839
+ (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_1__/* .clearTimeout */ .D)(timerOrLabel);
1843
1840
  this.timers.delete(timerOrLabel);
1844
1841
  this.__callbacks.delete(timerOrLabel);
1845
1842
  }
@@ -1881,7 +1878,7 @@ class Async {
1881
1878
  if (!timer && firstCallImmediately) {
1882
1879
  callFn(...args);
1883
1880
  }
1884
- (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_4__/* .clearTimeout */ .D)(timer);
1881
+ (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_1__/* .clearTimeout */ .D)(timer);
1885
1882
  timer = this.setTimeout(() => callFn(...args), (0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_7__/* .isFunction */ .T)(timeout) ? timeout() : timeout);
1886
1883
  this.timers.set(fn, timer);
1887
1884
  }
@@ -2035,7 +2032,7 @@ class Async {
2035
2032
  clear() {
2036
2033
  this.requestsIdle.forEach(key => this.cancelIdleCallback(key));
2037
2034
  this.requestsRaf.forEach(key => this.cancelAnimationFrame(key));
2038
- this.timers.forEach(key => (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_4__/* .clearTimeout */ .D)(this.timers.get(key)));
2035
+ this.timers.forEach(key => (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_1__/* .clearTimeout */ .D)(this.timers.get(key)));
2039
2036
  this.timers.clear();
2040
2037
  this.promisesRejections.forEach(reject => reject());
2041
2038
  this.promisesRejections.clear();
@@ -2444,6 +2441,8 @@ __webpack_require__.r(__webpack_exports__);
2444
2441
  /* harmony export */ TEXT_PLAIN: function() { return /* binding */ TEXT_PLAIN; },
2445
2442
  /* harmony export */ TEXT_RTF: function() { return /* binding */ TEXT_RTF; },
2446
2443
  /* harmony export */ TOKENS: function() { return /* binding */ TOKENS; },
2444
+ /* harmony export */ globalDocument: function() { return /* binding */ globalDocument; },
2445
+ /* harmony export */ globalWindow: function() { return /* binding */ globalWindow; },
2447
2446
  /* harmony export */ lang: function() { return /* binding */ lang; }
2448
2447
  /* harmony export */ });
2449
2448
  /*!
@@ -2451,7 +2450,7 @@ __webpack_require__.r(__webpack_exports__);
2451
2450
  * Released under MIT see LICENSE.txt in the project root for license information.
2452
2451
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
2453
2452
  */
2454
- const APP_VERSION = "4.2.23";
2453
+ const APP_VERSION = "4.2.30";
2455
2454
  // prettier-ignore
2456
2455
  const ES = "es2021";
2457
2456
  const IS_ES_MODERN = true;
@@ -2470,6 +2469,10 @@ const INVISIBLE_SPACE_REG_EXP_START = () => /^[\uFEFF]+/g;
2470
2469
  const SPACE_REG_EXP = () => /[\s\n\t\r\uFEFF\u200b]+/g;
2471
2470
  const SPACE_REG_EXP_START = () => /^[\s\n\t\r\uFEFF\u200b]+/g;
2472
2471
  const SPACE_REG_EXP_END = () => /[\s\n\t\r\uFEFF\u200b]+$/g;
2472
+ const globalWindow = typeof window !== 'undefined' ? window : undefined;
2473
+ const globalDocument = typeof document !== 'undefined'
2474
+ ? document
2475
+ : undefined;
2473
2476
  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;
2474
2477
  const IS_INLINE = /^(STRONG|SPAN|I|EM|B|SUP|SUB|A|U)$/i;
2475
2478
  const LIST_TAGS = new Set(['ul', 'ol']);
@@ -2594,8 +2597,8 @@ const INSERT_AS_TEXT = 'insert_as_text';
2594
2597
  */
2595
2598
  const INSERT_ONLY_TEXT = 'insert_only_text';
2596
2599
  const SAFE_COUNT_CHANGE_CALL = 10;
2597
- const IS_MAC = typeof window !== 'undefined' &&
2598
- /Mac|iPod|iPhone|iPad/.test(window.navigator.platform);
2600
+ const IS_MAC = typeof globalWindow !== 'undefined' &&
2601
+ /Mac|iPod|iPhone|iPad/.test(globalWindow.navigator.platform);
2599
2602
  const KEY_ALIASES = {
2600
2603
  add: '+',
2601
2604
  break: 'pause',
@@ -2613,8 +2616,8 @@ const KEY_ALIASES = {
2613
2616
  option: 'alt',
2614
2617
  return: 'enter',
2615
2618
  right: 'arrowright',
2616
- space: ' ',
2617
- spacebar: ' ',
2619
+ space: 'space',
2620
+ spacebar: 'space',
2618
2621
  up: 'arrowup',
2619
2622
  win: 'meta',
2620
2623
  windows: 'meta'
@@ -2623,7 +2626,7 @@ const BASE_PATH = (() => {
2623
2626
  if (typeof document === 'undefined') {
2624
2627
  return '';
2625
2628
  }
2626
- const script = document.currentScript, removeScriptName = (s) => {
2629
+ const script = globalDocument.currentScript, removeScriptName = (s) => {
2627
2630
  const parts = s.split('/');
2628
2631
  if (/\.js/.test(parts[parts.length - 1])) {
2629
2632
  return parts.slice(0, parts.length - 1).join('/') + '/';
@@ -2633,11 +2636,11 @@ const BASE_PATH = (() => {
2633
2636
  if (script) {
2634
2637
  return removeScriptName(script.src);
2635
2638
  }
2636
- const scripts = document.querySelectorAll('script[src]');
2639
+ const scripts = globalDocument.querySelectorAll('script[src]');
2637
2640
  if (scripts && scripts.length) {
2638
2641
  return removeScriptName(scripts[scripts.length - 1].src);
2639
2642
  }
2640
- return window.location.href;
2643
+ return globalWindow.location.href;
2641
2644
  })();
2642
2645
  const TEMP_ATTR = 'data-jodit-temp';
2643
2646
  const lang = {};
@@ -3381,7 +3384,6 @@ function watch(observeFields, opts) {
3381
3384
  const [objectPath, eventName] = field.split(':');
3382
3385
  let ctx = context;
3383
3386
  if (objectPath.length) {
3384
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
3385
3387
  ctx = component.get(objectPath);
3386
3388
  }
3387
3389
  if ((0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_3__/* .isFunction */ .T)(ctx)) {
@@ -3572,11 +3574,17 @@ class Dom {
3572
3574
  }
3573
3575
  static replace(elm, newTagName, create, withAttributes = false, notMoveContent = false) {
3574
3576
  if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isHTML */ .AH)(newTagName)) {
3577
+ void 0;
3575
3578
  newTagName = create.fromHTML(newTagName);
3576
3579
  }
3577
- const tag = (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isString */ .Kg)(newTagName)
3578
- ? create.element(newTagName)
3579
- : newTagName;
3580
+ let tag;
3581
+ if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isString */ .Kg)(newTagName)) {
3582
+ void 0;
3583
+ tag = create.element(newTagName);
3584
+ }
3585
+ else {
3586
+ tag = newTagName;
3587
+ }
3580
3588
  if (!notMoveContent) {
3581
3589
  while (elm.firstChild) {
3582
3590
  tag.appendChild(elm.firstChild);
@@ -4036,7 +4044,7 @@ class Dom {
4036
4044
  * Move all content to another element
4037
4045
  */
4038
4046
  static moveContent(from, to, inStart = false, filter = () => true) {
4039
- const fragment = (from.ownerDocument || document).createDocumentFragment();
4047
+ const fragment = (from.ownerDocument || jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument).createDocumentFragment();
4040
4048
  (0,jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_1__/* .toArray */ .$)(from.childNodes)
4041
4049
  .filter(elm => {
4042
4050
  if (filter(elm)) {
@@ -4493,7 +4501,7 @@ class EventEmitter {
4493
4501
  passive: true,
4494
4502
  capture: options?.capture ?? false
4495
4503
  }
4496
- : options?.capture ?? false;
4504
+ : (options?.capture ?? false);
4497
4505
  syntheticCallback.options = eOpts;
4498
4506
  subject.addEventListener(event, syntheticCallback, eOpts);
4499
4507
  this.__memoryDOMSubjectToHandler(subject, syntheticCallback);
@@ -4724,7 +4732,7 @@ class EventEmitter {
4724
4732
  this.__domEventsMap = new Map();
4725
4733
  this.__mutedEvents = new Set();
4726
4734
  this.__key = '__JoditEventEmitterNamespaces';
4727
- this.__doc = document;
4735
+ this.__doc = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument;
4728
4736
  this.__prepareEvent = (e) => {
4729
4737
  if (e.cancelBubble) {
4730
4738
  return;
@@ -5217,9 +5225,20 @@ function getContainer(jodit, classFunc, tag = 'div', createInsideEditor = false)
5217
5225
  const data = boxes.get(jodit) || {}, key = name + tag;
5218
5226
  const view = (0,jodit_core_helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_6__/* .isViewObject */ .h)(jodit) ? jodit : jodit.j;
5219
5227
  if (!data[key]) {
5220
- let c = view.c, body = (0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit) && jodit.o.shadowRoot
5221
- ? jodit.o.shadowRoot
5222
- : jodit.od.body;
5228
+ let c = view.c;
5229
+ let body;
5230
+ if ((0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit) && jodit.o.shadowRoot) {
5231
+ body = jodit.o.shadowRoot;
5232
+ }
5233
+ else {
5234
+ body = jodit.od.body;
5235
+ if ((0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit)) {
5236
+ const dialog = _dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.closest(jodit.container, 'dialog', jodit.od.body);
5237
+ if (dialog) {
5238
+ body = dialog;
5239
+ }
5240
+ }
5241
+ }
5223
5242
  if (createInsideEditor &&
5224
5243
  (0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit) &&
5225
5244
  jodit.od !== jodit.ed) {
@@ -5237,6 +5256,7 @@ function getContainer(jodit, classFunc, tag = 'div', createInsideEditor = false)
5237
5256
  body.appendChild(box);
5238
5257
  data[key] = box;
5239
5258
  jodit.hookStatus('beforeDestruct', () => {
5259
+ view.events.off(box);
5240
5260
  _dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.safeRemove(box);
5241
5261
  delete data[key];
5242
5262
  if (Object.keys(data).length) {
@@ -5244,6 +5264,7 @@ function getContainer(jodit, classFunc, tag = 'div', createInsideEditor = false)
5244
5264
  }
5245
5265
  });
5246
5266
  boxes.set(jodit, data);
5267
+ view.events.fire('getContainer', box);
5247
5268
  }
5248
5269
  data[key].classList.remove('jodit_theme_default', 'jodit_theme_dark');
5249
5270
  data[key].classList.add(`jodit_theme_${view.o.theme || 'default'}`);
@@ -5371,7 +5392,7 @@ function splitArray(a) {
5371
5392
  const toArray = function toArray(...args) {
5372
5393
  const func = (0,jodit_core_helpers_checker_is_native_function__WEBPACK_IMPORTED_MODULE_1__/* .isNativeFunction */ .a)(Array.from)
5373
5394
  ? Array.from
5374
- : (0,jodit_core_helpers_utils_reset__WEBPACK_IMPORTED_MODULE_0__/* .reset */ .c)('Array.from') ?? Array.from;
5395
+ : ((0,jodit_core_helpers_utils_reset__WEBPACK_IMPORTED_MODULE_0__/* .reset */ .c)('Array.from') ?? Array.from);
5375
5396
  return func.apply(Array, args);
5376
5397
  };
5377
5398
 
@@ -5408,6 +5429,7 @@ const toArray = function toArray(...args) {
5408
5429
  /* harmony export */ D: function() { return /* binding */ clearTimeout; },
5409
5430
  /* harmony export */ w: function() { return /* binding */ setTimeout; }
5410
5431
  /* harmony export */ });
5432
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
5411
5433
  /*!
5412
5434
  * Jodit Editor (https://xdsoft.net/jodit/)
5413
5435
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -5416,6 +5438,7 @@ const toArray = function toArray(...args) {
5416
5438
  /**
5417
5439
  * @module helpers/async
5418
5440
  */
5441
+
5419
5442
  /**
5420
5443
  * Create async callback if set timeout value - else call function immediately
5421
5444
  */
@@ -5424,7 +5447,7 @@ function setTimeout(callback, timeout, ...args) {
5424
5447
  callback.call(null, ...args);
5425
5448
  }
5426
5449
  else {
5427
- return window.setTimeout(callback, timeout, ...args);
5450
+ return jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow.setTimeout(callback, timeout, ...args);
5428
5451
  }
5429
5452
  return 0;
5430
5453
  }
@@ -5432,7 +5455,7 @@ function setTimeout(callback, timeout, ...args) {
5432
5455
  * Clear timeout
5433
5456
  */
5434
5457
  function clearTimeout(timer) {
5435
- window.clearTimeout(timer);
5458
+ jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow.clearTimeout(timer);
5436
5459
  }
5437
5460
 
5438
5461
 
@@ -5445,6 +5468,7 @@ function clearTimeout(timer) {
5445
5468
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5446
5469
  /* harmony export */ k: function() { return /* binding */ hasBrowserColorPicker; }
5447
5470
  /* harmony export */ });
5471
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
5448
5472
  /*!
5449
5473
  * Jodit Editor (https://xdsoft.net/jodit/)
5450
5474
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -5453,13 +5477,14 @@ function clearTimeout(timer) {
5453
5477
  /**
5454
5478
  * @module helpers/checker
5455
5479
  */
5480
+
5456
5481
  /**
5457
5482
  * Check if browser has a color picker (a new HTML5 attribute for input tag)
5458
5483
  */
5459
5484
  function hasBrowserColorPicker() {
5460
5485
  let supportsColor = true;
5461
5486
  try {
5462
- const a = document.createElement('input');
5487
+ const a = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('input');
5463
5488
  a.type = 'color';
5464
5489
  a.value = '!';
5465
5490
  supportsColor = a.type === 'color' && a.value !== '!';
@@ -6109,6 +6134,7 @@ function isStringArray(value) {
6109
6134
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6110
6135
  /* harmony export */ m: function() { return /* binding */ isURL; }
6111
6136
  /* harmony export */ });
6137
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
6112
6138
  /*!
6113
6139
  * Jodit Editor (https://xdsoft.net/jodit/)
6114
6140
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -6117,6 +6143,7 @@ function isStringArray(value) {
6117
6143
  /**
6118
6144
  * @module helpers/checker
6119
6145
  */
6146
+
6120
6147
  /**
6121
6148
  * Check if a string is an url
6122
6149
  */
@@ -6133,7 +6160,7 @@ function isURL(str) {
6133
6160
  return false;
6134
6161
  }
6135
6162
  }
6136
- const a = document.createElement('a');
6163
+ const a = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('a');
6137
6164
  a.href = str;
6138
6165
  return Boolean(a.hostname);
6139
6166
  }
@@ -6368,9 +6395,9 @@ function applyStyles(html) {
6368
6395
  }
6369
6396
  html = html.substring(html.indexOf('<html '), html.length);
6370
6397
  html = html.substring(0, html.lastIndexOf('</html>') + '</html>'.length);
6371
- const iframe = document.createElement('iframe');
6398
+ const iframe = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('iframe');
6372
6399
  iframe.style.display = 'none';
6373
- document.body.appendChild(iframe);
6400
+ jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.body.appendChild(iframe);
6374
6401
  let convertedString = '', collection = [];
6375
6402
  try {
6376
6403
  const iframeDoc = iframe.contentDocument ||
@@ -6441,9 +6468,10 @@ function applyStyles(html) {
6441
6468
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6442
6469
  /* harmony export */ w: function() { return /* binding */ cleanFromWord; }
6443
6470
  /* harmony export */ });
6444
- /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23545);
6445
- /* harmony import */ var jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7773);
6446
- /* harmony import */ var jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(22718);
6471
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
6472
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23545);
6473
+ /* harmony import */ var jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7773);
6474
+ /* harmony import */ var jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(22718);
6447
6475
  /*!
6448
6476
  * Jodit Editor (https://xdsoft.net/jodit/)
6449
6477
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -6455,6 +6483,7 @@ function applyStyles(html) {
6455
6483
 
6456
6484
 
6457
6485
 
6486
+
6458
6487
  /**
6459
6488
  * The method automatically cleans up content from Microsoft Word and other HTML sources to ensure clean, compliant
6460
6489
  * content that matches the look and feel of the site.
@@ -6466,11 +6495,11 @@ function cleanFromWord(html) {
6466
6495
  }
6467
6496
  let convertedString = '';
6468
6497
  try {
6469
- const div = document.createElement('div');
6498
+ const div = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('div');
6470
6499
  div.innerHTML = html;
6471
6500
  const marks = [];
6472
6501
  if (div.firstChild) {
6473
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.each(div, node => {
6502
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.each(div, node => {
6474
6503
  if (!node) {
6475
6504
  return;
6476
6505
  }
@@ -6485,10 +6514,10 @@ function cleanFromWord(html) {
6485
6514
  case 'W:SDT':
6486
6515
  case 'W:SDTPR':
6487
6516
  case 'FONT':
6488
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.unwrap(node);
6517
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.unwrap(node);
6489
6518
  break;
6490
6519
  default:
6491
- (0,jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_1__/* .toArray */ .$)(node.attributes).forEach((attr) => {
6520
+ (0,jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_2__/* .toArray */ .$)(node.attributes).forEach((attr) => {
6492
6521
  if ([
6493
6522
  'src',
6494
6523
  'href',
@@ -6507,14 +6536,14 @@ function cleanFromWord(html) {
6507
6536
  }
6508
6537
  });
6509
6538
  }
6510
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.safeRemove.apply(null, marks);
6539
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.safeRemove.apply(null, marks);
6511
6540
  convertedString = div.innerHTML;
6512
6541
  }
6513
6542
  catch (e) { }
6514
6543
  if (convertedString) {
6515
6544
  html = convertedString;
6516
6545
  }
6517
- html = html.split(/(\n)/).filter(jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_2__/* .trim */ .Bq).join('\n');
6546
+ html = html.split(/(\n)/).filter(jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_3__/* .trim */ .Bq).join('\n');
6518
6547
  return html
6519
6548
  .replace(/<(\/)?(html|colgroup|col|o:p)[^>]*>/g, '')
6520
6549
  .replace(/<!--[^>]*>/g, '');
@@ -6530,6 +6559,7 @@ function cleanFromWord(html) {
6530
6559
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6531
6560
  /* harmony export */ G: function() { return /* binding */ htmlspecialchars; }
6532
6561
  /* harmony export */ });
6562
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
6533
6563
  /*!
6534
6564
  * Jodit Editor (https://xdsoft.net/jodit/)
6535
6565
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -6538,11 +6568,12 @@ function cleanFromWord(html) {
6538
6568
  /**
6539
6569
  * @module helpers/html
6540
6570
  */
6571
+
6541
6572
  /**
6542
6573
  * Convert special characters to HTML entities
6543
6574
  */
6544
6575
  function htmlspecialchars(html) {
6545
- const tmp = document.createElement('div');
6576
+ const tmp = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('div');
6546
6577
  tmp.textContent = html;
6547
6578
  return tmp.innerHTML;
6548
6579
  }
@@ -7043,7 +7074,8 @@ function normalizeKeyAliases(keys) {
7043
7074
  ctrl: 2,
7044
7075
  control: 2,
7045
7076
  alt: 3,
7046
- shift: 4
7077
+ shift: 4,
7078
+ space: 5
7047
7079
  };
7048
7080
  return keys
7049
7081
  .replace(/\+\+/g, '+add')
@@ -7262,8 +7294,9 @@ const getContentWidth = (element, win) => {
7262
7294
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7263
7295
  /* harmony export */ m: function() { return /* binding */ getScrollParent; }
7264
7296
  /* harmony export */ });
7265
- /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23545);
7266
- /* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71122);
7297
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
7298
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23545);
7299
+ /* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(71122);
7267
7300
  /*!
7268
7301
  * Jodit Editor (https://xdsoft.net/jodit/)
7269
7302
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -7271,19 +7304,20 @@ const getContentWidth = (element, win) => {
7271
7304
  */
7272
7305
 
7273
7306
 
7307
+
7274
7308
  function getScrollParent(node) {
7275
7309
  if (!node) {
7276
7310
  return null;
7277
7311
  }
7278
- const isElement = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isHTMLElement(node);
7279
- const overflowY = isElement && (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.css)(node, 'overflowY');
7312
+ const isElement = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isHTMLElement(node);
7313
+ const overflowY = isElement && (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.css)(node, 'overflowY');
7280
7314
  const isScrollable = isElement && overflowY !== 'visible' && overflowY !== 'hidden';
7281
7315
  if (isScrollable && node.scrollHeight >= node.clientHeight) {
7282
7316
  return node;
7283
7317
  }
7284
7318
  return (getScrollParent(node.parentNode) ||
7285
- document.scrollingElement ||
7286
- document.body);
7319
+ jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.scrollingElement ||
7320
+ jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.body);
7287
7321
  }
7288
7322
 
7289
7323
 
@@ -8207,16 +8241,18 @@ const buildQuery = (data, prefix) => {
8207
8241
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8208
8242
  /* harmony export */ X: function() { return /* binding */ completeUrl; }
8209
8243
  /* harmony export */ });
8244
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
8210
8245
  /*!
8211
8246
  * Jodit Editor (https://xdsoft.net/jodit/)
8212
8247
  * Released under MIT see LICENSE.txt in the project root for license information.
8213
8248
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
8214
8249
  */
8250
+
8215
8251
  /**
8216
8252
  * @module helpers/utils
8217
8253
  */
8218
8254
  const completeUrl = (url) => {
8219
- if (window.location.protocol === 'file:' && /^\/\//.test(url)) {
8255
+ if (jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow.location.protocol === 'file:' && /^\/\//.test(url)) {
8220
8256
  url = 'https:' + url;
8221
8257
  }
8222
8258
  return url;
@@ -8333,8 +8369,9 @@ function ConfigFlatten(obj) {
8333
8369
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8334
8370
  /* harmony export */ m: function() { return /* binding */ convertMediaUrlToVideoEmbed; }
8335
8371
  /* harmony export */ });
8336
- /* harmony import */ var jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20858);
8337
- /* harmony import */ var _parse_query__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(15896);
8372
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
8373
+ /* harmony import */ var jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20858);
8374
+ /* harmony import */ var _parse_query__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15896);
8338
8375
  /*!
8339
8376
  * Jodit Editor (https://xdsoft.net/jodit/)
8340
8377
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -8345,14 +8382,15 @@ function ConfigFlatten(obj) {
8345
8382
  */
8346
8383
 
8347
8384
 
8385
+
8348
8386
  /**
8349
8387
  * Javascript url pattern converter replace youtube/vimeo url in embed code.
8350
8388
  */
8351
8389
  const convertMediaUrlToVideoEmbed = (url, width = 400, height = 345) => {
8352
- if (!(0,jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_0__/* .isURL */ .m)(url)) {
8390
+ if (!(0,jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_1__/* .isURL */ .m)(url)) {
8353
8391
  return url;
8354
8392
  }
8355
- const parser = document.createElement('a'), pattern1 = /(?:http?s?:\/\/)?(?:www\.)?(?:vimeo\.com)\/?(.+)/g;
8393
+ const parser = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('a'), pattern1 = /(?:http?s?:\/\/)?(?:www\.)?(?:vimeo\.com)\/?(.+)/g;
8356
8394
  parser.href = url;
8357
8395
  if (!width) {
8358
8396
  width = 400;
@@ -8378,7 +8416,7 @@ const convertMediaUrlToVideoEmbed = (url, width = 400, height = 345) => {
8378
8416
  case 'youtu.be':
8379
8417
  case 'www.youtu.be': {
8380
8418
  const query = parser.search
8381
- ? (0,_parse_query__WEBPACK_IMPORTED_MODULE_1__/* .parseQuery */ .m)(parser.search)
8419
+ ? (0,_parse_query__WEBPACK_IMPORTED_MODULE_2__/* .parseQuery */ .m)(parser.search)
8382
8420
  : { v: parser.pathname.substr(1) };
8383
8421
  return query.v
8384
8422
  ? '<iframe width="' +
@@ -8572,7 +8610,8 @@ const dataBind = (elm, key, value) => {
8572
8610
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8573
8611
  /* harmony export */ e: function() { return /* binding */ defaultLanguage; }
8574
8612
  /* harmony export */ });
8575
- /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26986);
8613
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
8614
+ /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26986);
8576
8615
  /*!
8577
8616
  * Jodit Editor (https://xdsoft.net/jodit/)
8578
8617
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -8582,15 +8621,16 @@ const dataBind = (elm, key, value) => {
8582
8621
  * @module helpers/utils
8583
8622
  */
8584
8623
 
8624
+
8585
8625
  /**
8586
8626
  * Try define user language
8587
8627
  */
8588
8628
  const defaultLanguage = (language, defaultLanguage = 'en') => {
8589
- if (language !== 'auto' && (0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_0__/* .isString */ .K)(language)) {
8629
+ if (language !== 'auto' && (0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_1__/* .isString */ .K)(language)) {
8590
8630
  return language;
8591
8631
  }
8592
- if (document.documentElement && document.documentElement.lang) {
8593
- return document.documentElement.lang;
8632
+ if (jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.documentElement && jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.documentElement.lang) {
8633
+ return jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.documentElement.lang;
8594
8634
  }
8595
8635
  if (navigator.language) {
8596
8636
  return navigator.language.substring(0, 2);
@@ -9341,10 +9381,10 @@ const map = {};
9341
9381
  */
9342
9382
  function reset(key) {
9343
9383
  if (!(key in map)) {
9344
- const iframe = document.createElement('iframe');
9384
+ const iframe = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('iframe');
9345
9385
  try {
9346
9386
  iframe.src = 'about:blank';
9347
- document.body.appendChild(iframe);
9387
+ jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.body.appendChild(iframe);
9348
9388
  if (!iframe.contentWindow) {
9349
9389
  return null;
9350
9390
  }
@@ -10271,14 +10311,15 @@ Plugin.requires = [];
10271
10311
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10272
10312
  /* harmony export */ d: function() { return /* binding */ Ajax; }
10273
10313
  /* harmony export */ });
10274
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(31635);
10314
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(31635);
10275
10315
  /* harmony import */ var jodit_core_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(61341);
10276
- /* harmony import */ var jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(33442);
10277
- /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9596);
10278
- /* harmony import */ var jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(24839);
10279
- /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(91288);
10280
- /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(91596);
10281
- /* harmony import */ var _response__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(85349);
10316
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67259);
10317
+ /* harmony import */ var jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(33442);
10318
+ /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9596);
10319
+ /* harmony import */ var jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(24839);
10320
+ /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(91288);
10321
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(91596);
10322
+ /* harmony import */ var _response__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(85349);
10282
10323
  /*!
10283
10324
  * Jodit Editor (https://xdsoft.net/jodit/)
10284
10325
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -10292,33 +10333,34 @@ Plugin.requires = [];
10292
10333
 
10293
10334
 
10294
10335
 
10336
+
10295
10337
  class Ajax {
10296
10338
  className() {
10297
10339
  return 'Ajax';
10298
10340
  }
10299
- constructor(options, defaultAjaxOptions = jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.defaultAjaxOptions) {
10341
+ constructor(options, defaultAjaxOptions = jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.defaultAjaxOptions) {
10300
10342
  this.__async = new jodit_core_async__WEBPACK_IMPORTED_MODULE_0__/* .Async */ .j();
10301
10343
  this.__isFulfilled = false;
10302
10344
  this.__activated = false;
10303
10345
  this.__isDestructed = false;
10304
- this.options = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.ConfigProto)(options || {}, defaultAjaxOptions);
10346
+ this.options = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.ConfigProto)(options || {}, defaultAjaxOptions);
10305
10347
  this.xhr = this.o.xhr ? this.o.xhr() : new XMLHttpRequest();
10306
10348
  }
10307
10349
  __buildParams(obj, prefix) {
10308
- if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isPlainObject)(obj) &&
10350
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isPlainObject)(obj) &&
10309
10351
  this.options.contentType &&
10310
10352
  this.options.contentType.includes('application/json')) {
10311
10353
  return JSON.stringify(obj);
10312
10354
  }
10313
- if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isFunction)(this.o.queryBuild)) {
10355
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isFunction)(this.o.queryBuild)) {
10314
10356
  return this.o.queryBuild.call(this, obj, prefix);
10315
10357
  }
10316
- if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(obj) ||
10317
- obj instanceof window.FormData ||
10318
- (typeof obj === 'object' && obj != null && (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isFunction)(obj.append))) {
10358
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isString)(obj) ||
10359
+ obj instanceof jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__.globalWindow.FormData ||
10360
+ (typeof obj === 'object' && obj != null && (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isFunction)(obj.append))) {
10319
10361
  return obj;
10320
10362
  }
10321
- return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.buildQuery)(obj);
10363
+ return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.buildQuery)(obj);
10322
10364
  }
10323
10365
  get o() {
10324
10366
  return this.options;
@@ -10341,16 +10383,16 @@ class Ajax {
10341
10383
  return this.__async.promise(async (resolve, reject) => {
10342
10384
  const onReject = () => {
10343
10385
  this.__isFulfilled = true;
10344
- reject(jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__/* .connection */ .FI('Connection error'));
10386
+ reject(jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_3__/* .connection */ .FI('Connection error'));
10345
10387
  };
10346
10388
  const onResolve = () => {
10347
10389
  this.__isFulfilled = true;
10348
- resolve(new _response__WEBPACK_IMPORTED_MODULE_5__/* .Response */ .Y(request, xhr.status, xhr.statusText, !xhr.responseType ? xhr.responseText : xhr.response));
10390
+ resolve(new _response__WEBPACK_IMPORTED_MODULE_6__/* .Response */ .Y(request, xhr.status, xhr.statusText, !xhr.responseType ? xhr.responseText : xhr.response));
10349
10391
  };
10350
10392
  xhr.onload = onResolve;
10351
10393
  xhr.onabort = () => {
10352
10394
  this.__isFulfilled = true;
10353
- reject(jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__/* .abort */ .h2('Abort connection'));
10395
+ reject(jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_3__/* .abort */ .h2('Abort connection'));
10354
10396
  };
10355
10397
  xhr.onerror = onReject;
10356
10398
  xhr.ontimeout = onReject;
@@ -10372,7 +10414,7 @@ class Ajax {
10372
10414
  }
10373
10415
  else if (xhr.statusText) {
10374
10416
  this.__isFulfilled = true;
10375
- reject(jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__/* .connection */ .FI(xhr.statusText));
10417
+ reject(jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_3__/* .connection */ .FI(xhr.statusText));
10376
10418
  }
10377
10419
  }
10378
10420
  };
@@ -10383,7 +10425,7 @@ class Ajax {
10383
10425
  xhr.setRequestHeader('Content-type', o.contentType);
10384
10426
  }
10385
10427
  let { headers } = o;
10386
- if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isFunction)(headers)) {
10428
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isFunction)(headers)) {
10387
10429
  headers = await headers.call(this);
10388
10430
  }
10389
10431
  if (headers && xhr.setRequestHeader) {
@@ -10399,22 +10441,22 @@ class Ajax {
10399
10441
  }
10400
10442
  prepareRequest() {
10401
10443
  if (!this.o.url) {
10402
- throw jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__/* .error */ .z3('Need URL for AJAX request');
10444
+ throw jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_3__/* .error */ .z3('Need URL for AJAX request');
10403
10445
  }
10404
10446
  let url = this.o.url;
10405
10447
  const data = this.o.data;
10406
10448
  const method = (this.o.method || 'get').toLowerCase();
10407
- if (method === 'get' && data && (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isPlainObject)(data)) {
10449
+ if (method === 'get' && data && (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isPlainObject)(data)) {
10408
10450
  const qIndex = url.indexOf('?');
10409
10451
  if (qIndex !== -1) {
10410
- const urlData = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.parseQuery)(url);
10452
+ const urlData = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.parseQuery)(url);
10411
10453
  url =
10412
10454
  url.substring(0, qIndex) +
10413
10455
  '?' +
10414
- (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.buildQuery)({ ...urlData, ...data });
10456
+ (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.buildQuery)({ ...urlData, ...data });
10415
10457
  }
10416
10458
  else {
10417
- url += '?' + (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.buildQuery)(this.o.data);
10459
+ url += '?' + (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.buildQuery)(this.o.data);
10418
10460
  }
10419
10461
  }
10420
10462
  const request = {
@@ -10438,8 +10480,8 @@ class Ajax {
10438
10480
  }
10439
10481
  }
10440
10482
  Ajax.log = [];
10441
- (0,tslib__WEBPACK_IMPORTED_MODULE_6__/* .__decorate */ .Cg)([
10442
- jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Ay
10483
+ (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .Cg)([
10484
+ jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Ay
10443
10485
  ], Ajax.prototype, "destruct", null);
10444
10486
 
10445
10487
 
@@ -11325,6 +11367,7 @@ class Selection {
11325
11367
  /**
11326
11368
  * Call callback for all selection node
11327
11369
  */
11370
+ // eslint-disable-next-line complexity
11328
11371
  eachSelection(callback) {
11329
11372
  const sel = this.sel;
11330
11373
  if (!sel || !sel.rangeCount) {
@@ -12105,12 +12148,13 @@ function getSuitParent(style, node, root) {
12105
12148
  /* harmony export */ Y: function() { return /* binding */ hasSameStyleKeys; },
12106
12149
  /* harmony export */ g: function() { return /* binding */ hasSameStyle; }
12107
12150
  /* harmony export */ });
12108
- /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23545);
12109
- /* harmony import */ var jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(74197);
12110
- /* harmony import */ var jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(43581);
12111
- /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(28712);
12112
- /* 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__);
12113
- /* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4401);
12151
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
12152
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23545);
12153
+ /* harmony import */ var jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(74197);
12154
+ /* harmony import */ var jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(43581);
12155
+ /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(28712);
12156
+ /* 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__);
12157
+ /* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4401);
12114
12158
  /*!
12115
12159
  * Jodit Editor (https://xdsoft.net/jodit/)
12116
12160
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -12121,48 +12165,53 @@ function getSuitParent(style, node, root) {
12121
12165
 
12122
12166
 
12123
12167
 
12168
+
12124
12169
  /**
12125
12170
  * Element has the same styles as in the commit
12126
12171
  * @private
12127
12172
  */
12128
12173
  function hasSameStyle(elm, rules) {
12129
- return Boolean(!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isTag(elm, 'font') &&
12130
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isHTMLElement(elm) &&
12174
+ return Boolean(!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isTag(elm, 'font') &&
12175
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isHTMLElement(elm) &&
12131
12176
  Object.keys(rules).every(property => {
12132
- const value = (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__/* .css */ .A)(elm, property, true);
12177
+ const value = (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__/* .css */ .A)(elm, property, true);
12133
12178
  if (value === '' &&
12134
12179
  (rules[property] === '' || rules[property] == null)) {
12135
12180
  return true;
12136
12181
  }
12137
- return (!(0,jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_3__/* .isVoid */ .R)(value) &&
12182
+ return (!(0,jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_4__/* .isVoid */ .R)(value) &&
12138
12183
  value !== '' &&
12139
- !(0,jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_3__/* .isVoid */ .R)(rules[property]) &&
12140
- (0,jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_4__/* .normalizeCssValue */ .iy)(property, rules[property])
12184
+ !(0,jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_4__/* .isVoid */ .R)(rules[property]) &&
12185
+ (0,jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_5__/* .normalizeCssValue */ .iy)(property, rules[property])
12141
12186
  .toString()
12142
12187
  .toLowerCase() === value.toString().toLowerCase());
12143
12188
  }));
12144
12189
  }
12145
- const elm = document.createElement('div');
12146
- elm.style.color = 'red';
12147
- void 0;
12148
- void 0;
12149
- void 0;
12190
+ if (jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument) {
12191
+ const elm = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('div');
12192
+ elm.style.color = 'red';
12193
+ void 0;
12194
+ void 0;
12195
+ void 0;
12196
+ }
12150
12197
  /**
12151
12198
  * Element has the similar styles keys
12152
12199
  */
12153
12200
  function hasSameStyleKeys(elm, rules) {
12154
- return Boolean(!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isTag(elm, 'font') &&
12155
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isHTMLElement(elm) &&
12201
+ return Boolean(!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isTag(elm, 'font') &&
12202
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isHTMLElement(elm) &&
12156
12203
  Object.keys(rules).every(property => {
12157
- const value = (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__/* .css */ .A)(elm, property, true);
12204
+ const value = (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__/* .css */ .A)(elm, property, true);
12158
12205
  return value !== '';
12159
12206
  }));
12160
12207
  }
12161
- const elm2 = document.createElement('div');
12162
- elm2.style.color = 'red';
12163
- void 0;
12164
- void 0;
12165
- void 0;
12208
+ if (jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument) {
12209
+ const elm2 = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('div');
12210
+ elm2.style.color = 'red';
12211
+ void 0;
12212
+ void 0;
12213
+ void 0;
12214
+ }
12166
12215
 
12167
12216
 
12168
12217
  /***/ }),
@@ -12543,16 +12592,17 @@ function wrapList(commitStyle, wrapper, jodit) {
12543
12592
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
12544
12593
  /* harmony export */ Y: function() { return /* binding */ toggleAttributes; }
12545
12594
  /* harmony export */ });
12546
- /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23545);
12547
- /* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(51431);
12548
- /* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(58588);
12549
- /* harmony import */ var jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(43581);
12550
- /* harmony import */ var jodit_core_helpers_size_object_size__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(88455);
12551
- /* harmony import */ var jodit_core_helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(18014);
12552
- /* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(71122);
12553
- /* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(4401);
12554
- /* harmony import */ var jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49382);
12555
- /* harmony import */ var jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(43072);
12595
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
12596
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23545);
12597
+ /* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51431);
12598
+ /* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(58588);
12599
+ /* harmony import */ var jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(43581);
12600
+ /* harmony import */ var jodit_core_helpers_size_object_size__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(88455);
12601
+ /* harmony import */ var jodit_core_helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(18014);
12602
+ /* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(71122);
12603
+ /* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(4401);
12604
+ /* harmony import */ var jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(49382);
12605
+ /* harmony import */ var jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(43072);
12556
12606
  /*!
12557
12607
  * Jodit Editor (https://xdsoft.net/jodit/)
12558
12608
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -12568,6 +12618,7 @@ function wrapList(commitStyle, wrapper, jodit) {
12568
12618
 
12569
12619
 
12570
12620
 
12621
+
12571
12622
  const tak = 'toggleAttributes';
12572
12623
  /**
12573
12624
  * Toggles attributes
@@ -12579,7 +12630,7 @@ function toggleAttributes(commitStyle, elm, jodit, mode, dry = false) {
12579
12630
  }
12580
12631
  !dry && commitStyle.setApplied(elm, tak);
12581
12632
  const { attributes } = commitStyle.options;
12582
- if (attributes && (0,jodit_core_helpers_size_object_size__WEBPACK_IMPORTED_MODULE_3__/* .size */ .E)(attributes) > 0) {
12633
+ if (attributes && (0,jodit_core_helpers_size_object_size__WEBPACK_IMPORTED_MODULE_4__/* .size */ .E)(attributes) > 0) {
12583
12634
  Object.keys(attributes).forEach((key) => {
12584
12635
  const value = attributes[key];
12585
12636
  switch (key) {
@@ -12601,24 +12652,24 @@ function toggleAttributes(commitStyle, elm, jodit, mode, dry = false) {
12601
12652
  function toggleStyle(commitStyle, jodit, style, elm, dry, mode) {
12602
12653
  void 0;
12603
12654
  Object.keys(style).forEach((rule) => {
12604
- const inlineValue = elm.style.getPropertyValue((0,jodit_core_helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_6__/* .kebabCase */ .k)(rule));
12655
+ const inlineValue = elm.style.getPropertyValue((0,jodit_core_helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_7__/* .kebabCase */ .k)(rule));
12605
12656
  const newValue = style[rule];
12606
12657
  if (inlineValue === '' && newValue == null) {
12607
12658
  return;
12608
12659
  }
12609
12660
  if (getNativeCSSValue(jodit, elm, rule) ===
12610
- (0,jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_7__/* .normalizeCssValue */ .iy)(rule, newValue)) {
12661
+ (0,jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_8__/* .normalizeCssValue */ .iy)(rule, newValue)) {
12611
12662
  if (!inlineValue) {
12612
12663
  return;
12613
12664
  }
12614
- !dry && (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_8__/* .css */ .A)(elm, rule, null);
12615
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .UNSET */ .Ag;
12665
+ !dry && (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_9__/* .css */ .A)(elm, rule, null);
12666
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .UNSET */ .Ag;
12616
12667
  mode = removeExtraStyleAttribute(commitStyle, elm, mode);
12617
12668
  return;
12618
12669
  }
12619
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .CHANGE */ .PL;
12670
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .CHANGE */ .PL;
12620
12671
  if (!dry) {
12621
- (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_8__/* .css */ .A)(elm, rule, newValue);
12672
+ (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_9__/* .css */ .A)(elm, rule, newValue);
12622
12673
  mode = removeExtraStyleAttribute(commitStyle, elm, mode);
12623
12674
  }
12624
12675
  });
@@ -12626,19 +12677,19 @@ function toggleStyle(commitStyle, jodit, style, elm, dry, mode) {
12626
12677
  }
12627
12678
  function toggleClass(jodit, value, elm, mode, dry) {
12628
12679
  void 0;
12629
- const hook = jodit.e.fire.bind(jodit.e, `${jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* ._PREFIX */ .ar}AfterToggleAttribute`);
12680
+ const hook = jodit.e.fire.bind(jodit.e, `${jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* ._PREFIX */ .ar}AfterToggleAttribute`);
12630
12681
  if (elm.classList.contains(value.toString())) {
12631
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .UNSET */ .Ag;
12682
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .UNSET */ .Ag;
12632
12683
  if (!dry) {
12633
12684
  elm.classList.remove(value);
12634
12685
  if (elm.classList.length === 0) {
12635
- (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(elm, 'class', null);
12686
+ (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__.attr)(elm, 'class', null);
12636
12687
  hook(mode, elm, 'class', null);
12637
12688
  }
12638
12689
  }
12639
12690
  }
12640
12691
  else {
12641
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .CHANGE */ .PL;
12692
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .CHANGE */ .PL;
12642
12693
  if (!dry) {
12643
12694
  elm.classList.add(value);
12644
12695
  hook(mode, elm, 'class', value);
@@ -12648,16 +12699,16 @@ function toggleClass(jodit, value, elm, mode, dry) {
12648
12699
  }
12649
12700
  function toggleAttribute(jodit, value, elm, key, dry, mode) {
12650
12701
  void 0;
12651
- const hook = jodit.e.fire.bind(jodit.e, `${jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* ._PREFIX */ .ar}AfterToggleAttribute`);
12652
- if ((0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(elm, key) === value) {
12653
- !dry && (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(elm, key, null);
12654
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .UNSET */ .Ag;
12702
+ const hook = jodit.e.fire.bind(jodit.e, `${jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* ._PREFIX */ .ar}AfterToggleAttribute`);
12703
+ if ((0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__.attr)(elm, key) === value) {
12704
+ !dry && (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__.attr)(elm, key, null);
12705
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .UNSET */ .Ag;
12655
12706
  !dry && hook(mode, elm, key, value);
12656
12707
  return mode;
12657
12708
  }
12658
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .CHANGE */ .PL;
12709
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .CHANGE */ .PL;
12659
12710
  if (!dry) {
12660
- (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(elm, key, value);
12711
+ (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__.attr)(elm, key, value);
12661
12712
  hook(mode, elm, key, value);
12662
12713
  }
12663
12714
  return mode;
@@ -12667,11 +12718,11 @@ function toggleAttribute(jodit, value, elm, key, dry, mode) {
12667
12718
  * and if it is default, it removes the element itself
12668
12719
  */
12669
12720
  function removeExtraStyleAttribute(commitStyle, elm, mode) {
12670
- if (!(0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(elm, 'style')) {
12671
- (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(elm, 'style', null);
12721
+ if (!(0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__.attr)(elm, 'style')) {
12722
+ (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__.attr)(elm, 'style', null);
12672
12723
  if (elm.tagName.toLowerCase() === commitStyle.defaultTag) {
12673
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.unwrap(elm);
12674
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .UNWRAP */ .OJ;
12724
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.unwrap(elm);
12725
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .UNWRAP */ .OJ;
12675
12726
  }
12676
12727
  }
12677
12728
  return mode;
@@ -12680,12 +12731,12 @@ function removeExtraStyleAttribute(commitStyle, elm, mode) {
12680
12731
  * Creates an iframe into which elements will be inserted to test their default styles in the browser
12681
12732
  */
12682
12733
  function getShadowRoot(jodit) {
12683
- if ((0,jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_5__/* .dataBind */ .m)(jodit, 'shadowRoot') !== undefined) {
12684
- return (0,jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_5__/* .dataBind */ .m)(jodit, 'shadowRoot');
12734
+ if ((0,jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_6__/* .dataBind */ .m)(jodit, 'shadowRoot') !== undefined) {
12735
+ return (0,jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_6__/* .dataBind */ .m)(jodit, 'shadowRoot');
12685
12736
  }
12686
- const container = (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_1__/* .getContainer */ .My)(jodit);
12687
- const iframe = document.createElement('iframe');
12688
- (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_8__/* .css */ .A)(iframe, {
12737
+ const container = (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .getContainer */ .My)(jodit);
12738
+ const iframe = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('iframe');
12739
+ (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_9__/* .css */ .A)(iframe, {
12689
12740
  width: 0,
12690
12741
  height: 0,
12691
12742
  position: 'absolute',
@@ -12695,7 +12746,7 @@ function getShadowRoot(jodit) {
12695
12746
  container.appendChild(iframe);
12696
12747
  const doc = iframe.contentWindow?.document;
12697
12748
  const shadowRoot = !doc ? jodit.od.body : doc.body;
12698
- (0,jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_5__/* .dataBind */ .m)(jodit, 'shadowRoot', shadowRoot);
12749
+ (0,jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_6__/* .dataBind */ .m)(jodit, 'shadowRoot', shadowRoot);
12699
12750
  return shadowRoot;
12700
12751
  }
12701
12752
  /**
@@ -12706,8 +12757,8 @@ function getNativeCSSValue(jodit, elm, key) {
12706
12757
  newElm.style.cssText = elm.style.cssText;
12707
12758
  const root = getShadowRoot(jodit);
12708
12759
  root.appendChild(newElm);
12709
- const result = (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_8__/* .css */ .A)(newElm, key);
12710
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.safeRemove(newElm);
12760
+ const result = (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_9__/* .css */ .A)(newElm, key);
12761
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.safeRemove(newElm);
12711
12762
  return result;
12712
12763
  }
12713
12764
 
@@ -14095,15 +14146,21 @@ let UITooltip = UITooltip_1 = class UITooltip extends jodit_core_ui_element__WEB
14095
14146
  if (!view.o.textIcons &&
14096
14147
  view.o.showTooltip &&
14097
14148
  !view.o.useNativeTooltip) {
14149
+ this.j.e.on('getContainer', (box) => {
14150
+ this.__onAttach(box);
14151
+ });
14098
14152
  view.hookStatus(jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .STATUSES */ .f.ready, () => {
14099
- // TODO Move it inside __show method. Now it is here because testcase failed with capturing
14100
- (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .getContainer */ .My)(this.j, UITooltip_1).appendChild(this.container);
14101
- view.e.on(view.container, 'mouseenter.tooltip', this.__onMouseEnter, {
14102
- capture: true
14103
- });
14153
+ this.__onAttach(this.j.container);
14104
14154
  });
14105
14155
  }
14106
14156
  }
14157
+ __onAttach(container) {
14158
+ // TODO Move it inside __show method. Now it is here because testcase failed with capturing
14159
+ (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .getContainer */ .My)(this.j, UITooltip_1).appendChild(this.container);
14160
+ this.j.e.on(container, 'mouseenter.tooltip', this.__onMouseEnter, {
14161
+ capture: true
14162
+ });
14163
+ }
14107
14164
  __addListenersOnEnter() {
14108
14165
  if (this.__listenClose) {
14109
14166
  return;
@@ -14729,6 +14786,7 @@ let UIFileInput = class UIFileInput extends jodit_core_ui_form_inputs_input_inpu
14729
14786
  }
14730
14787
  createContainer(options) {
14731
14788
  this.button = new jodit_core_ui_button_button_button__WEBPACK_IMPORTED_MODULE_0__/* .UIButton */ .lD(this.j, {
14789
+ tooltip: options.tooltip,
14732
14790
  icon: {
14733
14791
  name: 'plus'
14734
14792
  }
@@ -15165,8 +15223,8 @@ __webpack_require__.r(__webpack_exports__);
15165
15223
  /* harmony export */ required: function() { return /* binding */ required; },
15166
15224
  /* harmony export */ url: function() { return /* binding */ url; }
15167
15225
  /* harmony export */ });
15168
- /* harmony import */ var jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20858);
15169
- /* harmony import */ var jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22718);
15226
+ /* harmony import */ var jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20858);
15227
+ /* harmony import */ var jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(22718);
15170
15228
  /*!
15171
15229
  * Jodit Editor (https://xdsoft.net/jodit/)
15172
15230
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -15178,7 +15236,7 @@ __webpack_require__.r(__webpack_exports__);
15178
15236
  * Input is required
15179
15237
  */
15180
15238
  const required = function (input) {
15181
- if (!(0,jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_0__/* .trim */ .Bq)(input.value).length) {
15239
+ if (!(0,jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_1__/* .trim */ .Bq)(input.value).length) {
15182
15240
  input.error = 'Please fill out this field';
15183
15241
  return false;
15184
15242
  }
@@ -15188,7 +15246,7 @@ const required = function (input) {
15188
15246
  * Input value should be valid URL
15189
15247
  */
15190
15248
  const url = function (input) {
15191
- 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))) {
15249
+ 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))) {
15192
15250
  input.error = 'Please enter a web address';
15193
15251
  return false;
15194
15252
  }
@@ -17830,6 +17888,9 @@ let Jodit = Jodit_1 = class Jodit extends jodit_modules__WEBPACK_IMPORTED_MODULE
17830
17888
  }
17831
17889
  }
17832
17890
  catch (e) {
17891
+ if (!jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.IS_PROD) {
17892
+ throw e;
17893
+ }
17833
17894
  this.destruct();
17834
17895
  throw e;
17835
17896
  }
@@ -19820,10 +19881,12 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.filebrowser
19820
19881
  jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.controls.filebrowser = {
19821
19882
  upload: {
19822
19883
  icon: 'plus',
19884
+ tooltip: 'Upload file',
19823
19885
  isInput: true,
19824
19886
  isDisabled: (browser) => !browser.dataProvider.canI('FileUpload'),
19825
- getContent: (filebrowser) => {
19887
+ getContent: (filebrowser, btnInt) => {
19826
19888
  const btn = new jodit_core_ui_form_inputs_file_file__WEBPACK_IMPORTED_MODULE_2__/* .UIFileInput */ .n(filebrowser, {
19889
+ tooltip: btnInt.control.tooltip,
19827
19890
  onlyImages: filebrowser.state.onlyImages
19828
19891
  });
19829
19892
  filebrowser.e.fire('bindUploader.filebrowser', btn.container);
@@ -19832,6 +19895,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.controls.fil
19832
19895
  },
19833
19896
  remove: {
19834
19897
  icon: 'bin',
19898
+ tooltip: 'Remove file',
19835
19899
  isDisabled: (browser) => {
19836
19900
  return (!browser.state.activeElements.length ||
19837
19901
  !browser.dataProvider.canI('FileRemove'));
@@ -19841,11 +19905,13 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.controls.fil
19841
19905
  }
19842
19906
  },
19843
19907
  update: {
19908
+ tooltip: 'Update file list',
19844
19909
  exec: (editor) => {
19845
19910
  editor.e.fire('update.filebrowser');
19846
19911
  }
19847
19912
  },
19848
19913
  select: {
19914
+ tooltip: 'Select file',
19849
19915
  icon: 'check',
19850
19916
  isDisabled: (browser) => !browser.state.activeElements.length,
19851
19917
  exec: (editor) => {
@@ -19853,6 +19919,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.controls.fil
19853
19919
  }
19854
19920
  },
19855
19921
  edit: {
19922
+ tooltip: 'Edit image',
19856
19923
  icon: 'pencil',
19857
19924
  isDisabled: (browser) => {
19858
19925
  const selected = browser.state.activeElements;
@@ -19866,6 +19933,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.controls.fil
19866
19933
  }
19867
19934
  },
19868
19935
  tiles: {
19936
+ tooltip: 'Tiles view',
19869
19937
  icon: 'th',
19870
19938
  isActive: (filebrowser) => filebrowser.state.view === 'tiles',
19871
19939
  exec: (filebrowser) => {
@@ -19873,6 +19941,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.controls.fil
19873
19941
  }
19874
19942
  },
19875
19943
  list: {
19944
+ tooltip: 'List view',
19876
19945
  icon: 'th-list',
19877
19946
  isActive: (filebrowser) => filebrowser.state.view === 'list',
19878
19947
  exec: (filebrowser) => {
@@ -20286,7 +20355,6 @@ let DataProvider = class DataProvider {
20286
20355
  data: {}
20287
20356
  };
20288
20357
  }
20289
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
20290
20358
  const query = this.o[type];
20291
20359
  if (query.data === undefined) {
20292
20360
  query.data = {
@@ -20532,7 +20600,6 @@ let FileBrowser = class FileBrowser extends jodit_core_view_view_with_toolbar__W
20532
20600
  get dataProvider() {
20533
20601
  return (0,_factories__WEBPACK_IMPORTED_MODULE_16__/* .makeDataProvider */ .S)(this, this.options);
20534
20602
  }
20535
- // eslint-disable-next-line no-unused-vars
20536
20603
  onSelect(callback) {
20537
20604
  return () => {
20538
20605
  if (this.state.activeElements.length) {
@@ -23045,7 +23112,6 @@ class Table extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .ViewCom
23045
23112
  const selector = (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_5__.cssPath)(td);
23046
23113
  selector && selectors.push(selector);
23047
23114
  });
23048
- // eslint-disable-next-line no-prototype-builtins
23049
23115
  style.innerHTML = selectors.length
23050
23116
  ? selectors.join(',') +
23051
23117
  `{${this.jodit.options.table.selectionCellStyle}}`
@@ -23263,46 +23329,39 @@ class Table extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .ViewCom
23263
23329
  removeRow(table, rowIndex) {
23264
23330
  return Table.__removeRow(table, rowIndex);
23265
23331
  }
23266
- static __appendColumn(table, j, after, create) {
23332
+ /**
23333
+ * Insert column before / after all the columns containing the selected cells
23334
+ */
23335
+ appendColumn(table, selectedCell, insertAfter = true) {
23267
23336
  const box = Table.__formalMatrix(table);
23268
- let i;
23269
- if (j === undefined || j < 0) {
23270
- j = Table.__getColumnsCount(table) - 1;
23271
- }
23272
- for (i = 0; i < box.length; i += 1) {
23273
- const cell = create.element('td');
23274
- const td = box[i][j];
23275
- let added = false;
23276
- if (after) {
23277
- if ((box[i] && td && j + 1 >= box[i].length) ||
23278
- td !== box[i][j + 1]) {
23279
- if (td.nextSibling) {
23280
- jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.before(td.nextSibling, cell);
23281
- }
23282
- else {
23283
- td.parentNode && td.parentNode.appendChild(cell);
23284
- }
23285
- added = true;
23337
+ if (!insertAfter && jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.isCell(selectedCell.previousElementSibling)) {
23338
+ return this.appendColumn(table, selectedCell.previousElementSibling, true);
23339
+ }
23340
+ const columnIndex = insertAfter
23341
+ ? selectedCell.cellIndex + ((selectedCell.colSpan || 1) - 1)
23342
+ : selectedCell.cellIndex;
23343
+ const newColumnIndex = insertAfter ? columnIndex + 1 : columnIndex;
23344
+ for (let i = 0; i < box.length;) {
23345
+ const cells = box[i];
23346
+ if (cells[columnIndex] !== cells[newColumnIndex] ||
23347
+ columnIndex === newColumnIndex) {
23348
+ const cell = this.j.createInside.element('td');
23349
+ if (insertAfter) {
23350
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.after(cells[columnIndex], cell);
23286
23351
  }
23287
- }
23288
- else {
23289
- if (j - 1 < 0 ||
23290
- (box[i][j] !== box[i][j - 1] && box[i][j].parentNode)) {
23291
- jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.before(box[i][j], cell);
23292
- added = true;
23352
+ else {
23353
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.before(cells[columnIndex], cell);
23354
+ }
23355
+ if (cells[columnIndex].rowSpan > 1) {
23356
+ cell.rowSpan = cells[columnIndex].rowSpan;
23293
23357
  }
23294
23358
  }
23295
- if (!added) {
23296
- (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);
23359
+ else {
23360
+ cells[columnIndex].colSpan += 1;
23297
23361
  }
23362
+ i += cells[columnIndex].rowSpan || 1;
23298
23363
  }
23299
23364
  }
23300
- /**
23301
- * Insert column before / after all the columns containing the selected cells
23302
- */
23303
- appendColumn(table, j, after) {
23304
- return Table.__appendColumn(table, j, after, this.j.createInside);
23305
- }
23306
23365
  static __removeColumn(table, j) {
23307
23366
  const box = Table.__formalMatrix(table);
23308
23367
  let dec;
@@ -23520,7 +23579,7 @@ class Table extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .ViewCom
23520
23579
  alreadyMerged.delete(first);
23521
23580
  Table.__unmark(__marked);
23522
23581
  Table.__normalizeTable(table);
23523
- (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_5__.toArray)(table.rows).forEach((tr, index) => {
23582
+ (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_5__.toArray)(table.rows).forEach(tr => {
23524
23583
  if (!tr.cells.length) {
23525
23584
  jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.safeRemove(tr);
23526
23585
  }
@@ -23529,7 +23588,7 @@ class Table extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .ViewCom
23529
23588
  }
23530
23589
  }
23531
23590
  /**
23532
- * It combines all of the selected cells into one. The contents of the cells will also be combined
23591
+ * It combines all the selected cells into one. The contents of the cells will also be combined
23533
23592
  */
23534
23593
  mergeSelected(table) {
23535
23594
  return Table.__mergeSelected(table, this.j);
@@ -25871,7 +25930,9 @@ class addNewLine extends jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Plugin {
25871
25930
  editor.e
25872
25931
  .off(editor.editor, '.' + ns)
25873
25932
  .off(editor.container, '.' + ns)
25933
+ .off('.' + ns)
25874
25934
  .on([editor.ow, editor.ew, editor.editor], 'scroll' + '.' + ns, this.__hideForce)
25935
+ .on('finishedCleanHTMLWorker' + '.' + ns, this.__hideForce)
25875
25936
  .on(editor.editor, 'click' + '.' + ns, this.__hide)
25876
25937
  .on(editor.container, 'mouseleave' + '.' + ns, this.__hide)
25877
25938
  .on(editor.editor, 'mousemove' + '.' + ns, this.__onMouseMove);
@@ -25959,7 +26020,8 @@ class addNewLine extends jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Plugin {
25959
26020
  jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Dom.safeRemove(this.__line);
25960
26021
  this.j.e
25961
26022
  .off([this.j.ow, this.j.ew, this.j.editor], '.' + ns)
25962
- .off(this.j.container, '.' + ns);
26023
+ .off(this.j.container, '.' + ns)
26024
+ .off('.' + ns);
25963
26025
  }
25964
26026
  }
25965
26027
  (0,tslib__WEBPACK_IMPORTED_MODULE_5__/* .__decorate */ .Cg)([
@@ -26848,6 +26910,7 @@ function checkNotCollapsed(jodit) {
26848
26910
  * ```
26849
26911
  * @private
26850
26912
  */
26913
+ // eslint-disable-next-line complexity
26851
26914
  function checkRemoveChar(jodit, fakeNode, backspace, mode) {
26852
26915
  const step = backspace ? -1 : 1;
26853
26916
  const anotherSibling = jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.sibling(fakeNode, !backspace);
@@ -28141,13 +28204,21 @@ function allowAttributes(jodit, nodeElm, hadEffect, allow) {
28141
28204
  */
28142
28205
 
28143
28206
 
28207
+ const TABLE_CONTAINER_TAGS = new Set([
28208
+ 'table',
28209
+ 'tbody',
28210
+ 'thead',
28211
+ 'tfoot',
28212
+ 'tr'
28213
+ ]);
28144
28214
  /**
28145
28215
  * @private
28146
28216
  */
28147
28217
  function fillEmptyParagraph(jodit, nodeElm, hadEffect) {
28148
28218
  if (jodit.o.cleanHTML.fillEmptyParagraph &&
28149
28219
  jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isBlock(nodeElm) &&
28150
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isEmpty(nodeElm, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS)) {
28220
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isEmpty(nodeElm, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS) &&
28221
+ !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isTag(nodeElm, TABLE_CONTAINER_TAGS)) {
28151
28222
  const br = jodit.createInside.element('br');
28152
28223
  nodeElm.appendChild(br);
28153
28224
  return true;
@@ -31366,7 +31437,8 @@ class hotkeys extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_3__/* .Plugin *
31366
31437
  constructor() {
31367
31438
  super(...arguments);
31368
31439
  this.onKeyPress = (event) => {
31369
- const special = this.specialKeys[event.which], character = (event.key || String.fromCharCode(event.which)).toLowerCase();
31440
+ const special = this.specialKeys[event.which];
31441
+ const character = (event.key || String.fromCharCode(event.which)).toLowerCase();
31370
31442
  const modif = [special || character];
31371
31443
  ['alt', 'ctrl', 'shift', 'meta'].forEach(specialKey => {
31372
31444
  if (event[specialKey + 'Key'] && special !== specialKey) {
@@ -31460,7 +31532,8 @@ class hotkeys extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_3__/* .Plugin *
31460
31532
  }
31461
31533
  })
31462
31534
  .on('keydown.hotkeys', (event) => {
31463
- const shortcut = this.onKeyPress(event), stop = {
31535
+ const shortcut = this.onKeyPress(event);
31536
+ const stop = {
31464
31537
  shouldStop: true
31465
31538
  };
31466
31539
  const resultOfFire = this.j.e.fire(shortcut + '.hotkey', event.type, stop);
@@ -31634,6 +31707,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.iframeStyle
31634
31707
  '-ms-user-select: none' +
31635
31708
  '}';
31636
31709
  jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.iframeCSSLinks = [];
31710
+ jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.iframeSandbox = null;
31637
31711
 
31638
31712
 
31639
31713
  /***/ }),
@@ -31710,6 +31784,9 @@ function iframe(editor) {
31710
31784
  iframe.setAttribute('allowtransparency', 'true');
31711
31785
  iframe.setAttribute('tabindex', opt.tabIndex.toString());
31712
31786
  iframe.setAttribute('frameborder', '0');
31787
+ if (opt.iframeSandbox != null) {
31788
+ iframe.setAttribute('sandbox', opt.iframeSandbox);
31789
+ }
31713
31790
  editor.workplace.appendChild(iframe);
31714
31791
  editor.iframe = iframe;
31715
31792
  const result = editor.e.fire('generateDocumentStructure.iframe', null, editor);
@@ -37486,13 +37563,13 @@ function generateCriticalCSS(jodit) {
37486
37563
  /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
37487
37564
  /* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33465);
37488
37565
  /* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51431);
37489
- /* harmony import */ var jodit_core_helpers_utils_default_language__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(54614);
37490
- /* harmony import */ var jodit_core_helpers_utils_print__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(85769);
37491
- /* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(80004);
37492
- /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(91288);
37493
- /* harmony import */ var _lib_generate_critical_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(86134);
37494
- /* harmony import */ var _print_svg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(26899);
37495
- /* harmony import */ var _print_svg__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_print_svg__WEBPACK_IMPORTED_MODULE_7__);
37566
+ /* harmony import */ var jodit_core_helpers_utils_default_language__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(54614);
37567
+ /* harmony import */ var jodit_core_helpers_utils_print__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(85769);
37568
+ /* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(80004);
37569
+ /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(91288);
37570
+ /* harmony import */ var _lib_generate_critical_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(86134);
37571
+ /* harmony import */ var _print_svg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(26899);
37572
+ /* harmony import */ var _print_svg__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_print_svg__WEBPACK_IMPORTED_MODULE_8__);
37496
37573
  /*!
37497
37574
  * Jodit Editor (https://xdsoft.net/jodit/)
37498
37575
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -37507,8 +37584,8 @@ function generateCriticalCSS(jodit) {
37507
37584
 
37508
37585
 
37509
37586
 
37510
- jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_4__/* .Icon */ .I.set('print', (_print_svg__WEBPACK_IMPORTED_MODULE_7___default()));
37511
- jodit_config__WEBPACK_IMPORTED_MODULE_5__/* .Config */ .T.prototype.controls.print = {
37587
+ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__/* .Icon */ .I.set('print', (_print_svg__WEBPACK_IMPORTED_MODULE_8___default()));
37588
+ jodit_config__WEBPACK_IMPORTED_MODULE_6__/* .Config */ .T.prototype.controls.print = {
37512
37589
  exec: (editor) => {
37513
37590
  const iframe = editor.create.element('iframe');
37514
37591
  Object.assign(iframe.style, {
@@ -37519,7 +37596,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_5__/* .Config */ .T.prototype.controls.pri
37519
37596
  height: 0,
37520
37597
  border: 0
37521
37598
  });
37522
- (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .getContainer */ .My)(editor, jodit_config__WEBPACK_IMPORTED_MODULE_5__/* .Config */ .T).appendChild(iframe);
37599
+ (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .getContainer */ .My)(editor, jodit_config__WEBPACK_IMPORTED_MODULE_6__/* .Config */ .T).appendChild(iframe);
37523
37600
  const afterFinishPrint = () => {
37524
37601
  editor.e.off(editor.ow, 'mousemove', afterFinishPrint);
37525
37602
  jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.safeRemove(iframe);
@@ -37535,12 +37612,12 @@ jodit_config__WEBPACK_IMPORTED_MODULE_5__/* .Config */ .T.prototype.controls.pri
37535
37612
  }
37536
37613
  else {
37537
37614
  myWindow.document.write('<!doctype html><html lang="' +
37538
- (0,jodit_core_helpers_utils_default_language__WEBPACK_IMPORTED_MODULE_8__/* .defaultLanguage */ .e)(editor.o.language) +
37615
+ (0,jodit_core_helpers_utils_default_language__WEBPACK_IMPORTED_MODULE_3__/* .defaultLanguage */ .e)(editor.o.language) +
37539
37616
  '"><head><title></title></head><style>' +
37540
- (0,_lib_generate_critical_css__WEBPACK_IMPORTED_MODULE_6__/* .generateCriticalCSS */ .Y)(editor) +
37617
+ (0,_lib_generate_critical_css__WEBPACK_IMPORTED_MODULE_7__/* .generateCriticalCSS */ .Y)(editor) +
37541
37618
  '</style><body></body></html>');
37542
37619
  myWindow.document.close();
37543
- (0,jodit_core_helpers_utils_print__WEBPACK_IMPORTED_MODULE_3__/* .previewBox */ .u)(editor, undefined, 'px', myWindow.document.body);
37620
+ (0,jodit_core_helpers_utils_print__WEBPACK_IMPORTED_MODULE_4__/* .previewBox */ .u)(editor, undefined, 'px', myWindow.document.body);
37544
37621
  }
37545
37622
  const style = myWindow.document.createElement('style');
37546
37623
  style.innerHTML = `@media print {
@@ -38616,10 +38693,11 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .pluginSystem */ .fg.add('resiz
38616
38693
  /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
38617
38694
 
38618
38695
  "use strict";
38619
- /* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(80004);
38620
- /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(91288);
38621
- /* harmony import */ var _search_svg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(98973);
38622
- /* harmony import */ var _search_svg__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_search_svg__WEBPACK_IMPORTED_MODULE_2__);
38696
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
38697
+ /* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(80004);
38698
+ /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91288);
38699
+ /* harmony import */ var _search_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(98973);
38700
+ /* harmony import */ var _search_svg__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_search_svg__WEBPACK_IMPORTED_MODULE_3__);
38623
38701
  /*!
38624
38702
  * Jodit Editor (https://xdsoft.net/jodit/)
38625
38703
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -38629,14 +38707,14 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .pluginSystem */ .fg.add('resiz
38629
38707
 
38630
38708
 
38631
38709
 
38632
- jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config */ .T.prototype.useSearch = true;
38633
- jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config */ .T.prototype.search = {
38710
+
38711
+ jodit_config__WEBPACK_IMPORTED_MODULE_2__/* .Config */ .T.prototype.useSearch = true;
38712
+ jodit_config__WEBPACK_IMPORTED_MODULE_2__/* .Config */ .T.prototype.search = {
38634
38713
  lazyIdleTimeout: 0,
38635
- // @ts-ignore Because Highlight is not defined in the types TS 5.3.3
38636
- useCustomHighlightAPI: typeof window.Highlight !== 'undefined'
38714
+ useCustomHighlightAPI: jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow && typeof jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow.Highlight !== 'undefined'
38637
38715
  };
38638
- jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_0__/* .Icon */ .I.set('search', (_search_svg__WEBPACK_IMPORTED_MODULE_2___default()));
38639
- jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config */ .T.prototype.controls.find = {
38716
+ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_1__/* .Icon */ .I.set('search', (_search_svg__WEBPACK_IMPORTED_MODULE_3___default()));
38717
+ jodit_config__WEBPACK_IMPORTED_MODULE_2__/* .Config */ .T.prototype.controls.find = {
38640
38718
  tooltip: 'Find',
38641
38719
  icon: 'search',
38642
38720
  exec(jodit, _, { control }) {
@@ -38677,8 +38755,9 @@ jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config */ .T.prototype.controls.fin
38677
38755
  /* harmony export */ _B: function() { return /* binding */ highlightTextRanges; },
38678
38756
  /* harmony export */ zy: function() { return /* binding */ getSelectionWrappers; }
38679
38757
  /* harmony export */ });
38680
- /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23545);
38681
- /* harmony import */ var jodit_core_helpers_utils_selector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(52989);
38758
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
38759
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23545);
38760
+ /* harmony import */ var jodit_core_helpers_utils_selector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(52989);
38682
38761
  /*!
38683
38762
  * Jodit Editor (https://xdsoft.net/jodit/)
38684
38763
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -38686,6 +38765,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config */ .T.prototype.controls.fin
38686
38765
  */
38687
38766
 
38688
38767
 
38768
+
38689
38769
  /**
38690
38770
  * @private
38691
38771
  */
@@ -38704,15 +38784,15 @@ function highlightTextRanges(jodit, rng, restRanges, ci, root) {
38704
38784
  const span = ci.element('span', {
38705
38785
  [TMP_ATTR]: true
38706
38786
  });
38707
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.markTemporary(span);
38787
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.markTemporary(span);
38708
38788
  normalizeRanges(rng, restRanges, ci);
38709
38789
  let next = rng.startContainer;
38710
38790
  do {
38711
38791
  if (!next) {
38712
38792
  break;
38713
38793
  }
38714
- if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isText(next) && !isSelectionWrapper(next.parentNode)) {
38715
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.wrap(next, span.cloneNode(), ci);
38794
+ if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isText(next) && !isSelectionWrapper(next.parentNode)) {
38795
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.wrap(next, span.cloneNode(), ci);
38716
38796
  }
38717
38797
  if (next === rng.endContainer) {
38718
38798
  break;
@@ -38731,13 +38811,13 @@ function highlightTextRanges(jodit, rng, restRanges, ci, root) {
38731
38811
  * @private
38732
38812
  */
38733
38813
  function getSelectionWrappers(root) {
38734
- return (0,jodit_core_helpers_utils_selector__WEBPACK_IMPORTED_MODULE_1__.$$)(`[${TMP_ATTR}]`, root);
38814
+ return (0,jodit_core_helpers_utils_selector__WEBPACK_IMPORTED_MODULE_2__.$$)(`[${TMP_ATTR}]`, root);
38735
38815
  }
38736
38816
  /**
38737
38817
  * @private
38738
38818
  */
38739
38819
  function clearSelectionWrappers(root) {
38740
- getSelectionWrappers(root).forEach(span => jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.unwrap(span));
38820
+ getSelectionWrappers(root).forEach(span => jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.unwrap(span));
38741
38821
  }
38742
38822
  /**
38743
38823
  * @private
@@ -38749,12 +38829,13 @@ function clearSelectionWrappersFromHTML(root) {
38749
38829
  * @private
38750
38830
  */
38751
38831
  function isSelectionWrapper(node) {
38752
- return jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isElement(node) && node.hasAttribute(TMP_ATTR);
38832
+ return jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isElement(node) && node.hasAttribute(TMP_ATTR);
38753
38833
  }
38754
38834
  function checkNativeSelectionMethod(jodit, rng, restRanges) {
38755
38835
  if (jodit.o.search.useCustomHighlightAPI &&
38756
38836
  // @ts-ignore Because Highlight is not defined in the types TS 5.3.3
38757
- typeof window.Highlight !== 'undefined') {
38837
+ jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow &&
38838
+ typeof jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow.Highlight !== 'undefined') {
38758
38839
  const ranges = [rng, ...restRanges].map(rng => {
38759
38840
  const range = jodit.selection.createRange();
38760
38841
  range.setStart(rng.startContainer, rng.startOffset);
@@ -38778,7 +38859,7 @@ function normalizeRanges(rng, restRanges, ci) {
38778
38859
  if (rng.startOffset !== 0) {
38779
38860
  const text = ci.text(startText.substring(0, rng.startOffset));
38780
38861
  rng.startContainer.nodeValue = startText.substring(rng.startOffset);
38781
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.before(rng.startContainer, text);
38862
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.before(rng.startContainer, text);
38782
38863
  if (rng.startContainer === rng.endContainer) {
38783
38864
  diff = rng.startOffset;
38784
38865
  rng.endOffset -= diff;
@@ -38789,7 +38870,7 @@ function normalizeRanges(rng, restRanges, ci) {
38789
38870
  if (rng.endOffset !== endText.length) {
38790
38871
  const text = ci.text(endText.substring(rng.endOffset));
38791
38872
  rng.endContainer.nodeValue = endText.substring(0, rng.endOffset);
38792
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.after(rng.endContainer, text);
38873
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.after(rng.endContainer, text);
38793
38874
  for (const range of restRanges) {
38794
38875
  if (range.startContainer === rng.endContainer) {
38795
38876
  range.startContainer = text;
@@ -39796,7 +39877,7 @@ class selectCells extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_5__/* .Plug
39796
39877
  break;
39797
39878
  case 'addcolumnafter':
39798
39879
  case 'addcolumnbefore':
39799
- this.__tableModule.appendColumn(table, cell.cellIndex, command === 'addcolumnafter');
39880
+ this.__tableModule.appendColumn(table, cell, command === 'addcolumnafter');
39800
39881
  break;
39801
39882
  case 'addrowafter':
39802
39883
  case 'addrowbefore':
@@ -41660,6 +41741,7 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_1__/* .pluginSystem */ .fg.add('spell
41660
41741
 
41661
41742
  jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.showCharsCounter = true;
41662
41743
  jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.countHTMLChars = false;
41744
+ jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.countTextSpaces = false;
41663
41745
  jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.showWordsCounter = true;
41664
41746
 
41665
41747
 
@@ -41706,9 +41788,20 @@ class stat extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_3__/* .Plug
41706
41788
  this.calc = this.j.async.throttle(() => {
41707
41789
  const text = this.j.text;
41708
41790
  if (this.j.o.showCharsCounter && this.charCounter) {
41709
- const chars = this.j.o.countHTMLChars
41710
- ? this.j.value
41711
- : text.replace((0,jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.SPACE_REG_EXP)(), '');
41791
+ let chars;
41792
+ if (this.j.o.countHTMLChars) {
41793
+ chars = this.j.value;
41794
+ }
41795
+ else {
41796
+ if (this.j.o.countTextSpaces) {
41797
+ chars = text
41798
+ .replace((0,jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE_REG_EXP)(), '')
41799
+ .replace(/[\r\n]/g, '');
41800
+ }
41801
+ else {
41802
+ chars = text.replace((0,jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.SPACE_REG_EXP)(), '');
41803
+ }
41804
+ }
41712
41805
  this.charCounter.textContent = this.j.i18n('Chars: %d', chars.length);
41713
41806
  }
41714
41807
  if (this.j.o.showWordsCounter && this.wordCounter) {
@@ -42342,8 +42435,9 @@ __webpack_require__.r(__webpack_exports__);
42342
42435
  /* harmony export */ pt_br: function() { return /* reexport module object */ _pt_br_js__WEBPACK_IMPORTED_MODULE_16__; },
42343
42436
  /* harmony export */ ru: function() { return /* reexport module object */ _ru_js__WEBPACK_IMPORTED_MODULE_17__; },
42344
42437
  /* harmony export */ tr: function() { return /* reexport module object */ _tr_js__WEBPACK_IMPORTED_MODULE_18__; },
42345
- /* harmony export */ zh_cn: function() { return /* reexport module object */ _zh_cn_js__WEBPACK_IMPORTED_MODULE_19__; },
42346
- /* harmony export */ zh_tw: function() { return /* reexport module object */ _zh_tw_js__WEBPACK_IMPORTED_MODULE_20__; }
42438
+ /* harmony export */ ua: function() { return /* reexport module object */ _ua_js__WEBPACK_IMPORTED_MODULE_19__; },
42439
+ /* harmony export */ zh_cn: function() { return /* reexport module object */ _zh_cn_js__WEBPACK_IMPORTED_MODULE_20__; },
42440
+ /* harmony export */ zh_tw: function() { return /* reexport module object */ _zh_tw_js__WEBPACK_IMPORTED_MODULE_21__; }
42347
42441
  /* harmony export */ });
42348
42442
  /* harmony import */ var _ar_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(52438);
42349
42443
  /* harmony import */ var _ar_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ar_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -42383,10 +42477,12 @@ __webpack_require__.r(__webpack_exports__);
42383
42477
  /* harmony import */ var _ru_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_ru_js__WEBPACK_IMPORTED_MODULE_17__);
42384
42478
  /* harmony import */ var _tr_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(64331);
42385
42479
  /* harmony import */ var _tr_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_tr_js__WEBPACK_IMPORTED_MODULE_18__);
42386
- /* harmony import */ var _zh_cn_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(13599);
42387
- /* harmony import */ var _zh_cn_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_zh_cn_js__WEBPACK_IMPORTED_MODULE_19__);
42388
- /* harmony import */ var _zh_tw_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(70871);
42389
- /* harmony import */ var _zh_tw_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_zh_tw_js__WEBPACK_IMPORTED_MODULE_20__);
42480
+ /* harmony import */ var _ua_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(87983);
42481
+ /* harmony import */ var _ua_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_ua_js__WEBPACK_IMPORTED_MODULE_19__);
42482
+ /* harmony import */ var _zh_cn_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(13599);
42483
+ /* harmony import */ var _zh_cn_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_zh_cn_js__WEBPACK_IMPORTED_MODULE_20__);
42484
+ /* harmony import */ var _zh_tw_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(70871);
42485
+ /* harmony import */ var _zh_tw_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_zh_tw_js__WEBPACK_IMPORTED_MODULE_21__);
42390
42486
  /*!
42391
42487
  * Jodit Editor (https://xdsoft.net/jodit/)
42392
42488
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -42414,6 +42510,7 @@ __webpack_require__.r(__webpack_exports__);
42414
42510
 
42415
42511
 
42416
42512
 
42513
+
42417
42514
 
42418
42515
 
42419
42516
  /***/ }),
@@ -42569,6 +42666,23 @@ module.exports = {
42569
42666
  };
42570
42667
 
42571
42668
 
42669
+ /***/ }),
42670
+
42671
+ /***/ 87983:
42672
+ /***/ (function(module) {
42673
+
42674
+ "use strict";
42675
+
42676
+ /*!
42677
+ * Jodit Editor (https://xdsoft.net/jodit/)
42678
+ * Released under MIT see LICENSE.txt in the project root for license information.
42679
+ * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
42680
+ */
42681
+ module.exports = {
42682
+ symbols: 'символ'
42683
+ };
42684
+
42685
+
42572
42686
  /***/ }),
42573
42687
 
42574
42688
  /***/ 13599:
@@ -43139,6 +43253,8 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.controls.tab
43139
43253
  }
43140
43254
  },
43141
43255
  popup: (editor, current, close, button) => {
43256
+ editor.editor.normalize();
43257
+ const snapshot = editor.history.snapshot.make();
43142
43258
  const control = button.control;
43143
43259
  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;
43144
43260
  const generateExtraClasses = () => {
@@ -43231,10 +43347,24 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.controls.tab
43231
43347
  table.classList.add(className);
43232
43348
  });
43233
43349
  });
43234
- if (editor.editor.firstChild) {
43235
- editor.s.insertNode(crt.text('\n'), false, false);
43350
+ editor.s.restore();
43351
+ editor.s.removeMarkers();
43352
+ editor.editor.normalize();
43353
+ editor.history.snapshot.restore(snapshot);
43354
+ 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);
43355
+ if (block && jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isEmpty(block)) {
43356
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.replace(block, table, undefined, false, true);
43357
+ }
43358
+ else {
43359
+ if (block) {
43360
+ const fake = crt.text('\n');
43361
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.after(block, fake);
43362
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.after(fake, table);
43363
+ }
43364
+ else {
43365
+ editor.s.insertNode(table, false);
43366
+ }
43236
43367
  }
43237
- editor.s.insertNode(table, false);
43238
43368
  if (first_td) {
43239
43369
  editor.s.setCursorIn(first_td);
43240
43370
  (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.scrollIntoViewIfNeeded)(first_td, editor.editor, editor.ed);
@@ -44268,7 +44398,6 @@ function getTextLeftOfCursor(range) {
44268
44398
  * ```
44269
44399
  */
44270
44400
  function replaceTextLeftOfCursorAfterSpace(range, elm) {
44271
- // eslint-disable-next-line prefer-const
44272
44401
  let { startContainer, startOffset } = range;
44273
44402
  if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isText(startContainer)) {
44274
44403
  startContainer = startContainer.childNodes[startOffset - 1];
@@ -44773,7 +44902,6 @@ function convertToList(elm) {
44773
44902
  return elm;
44774
44903
  }
44775
44904
  function moveUp(leaf) {
44776
- // eslint-disable-next-line no-constant-condition
44777
44905
  while (leaf) {
44778
44906
  const prev = leaf.previousElement;
44779
44907
  // Leaf after P
@@ -46151,7 +46279,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
46151
46279
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
46152
46280
  PERFORMANCE OF THIS SOFTWARE.
46153
46281
  ***************************************************************************** */
46154
- /* global Reflect, Promise, SuppressedError, Symbol */
46282
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
46155
46283
 
46156
46284
  var extendStatics = function(d, b) {
46157
46285
  extendStatics = Object.setPrototypeOf ||
@@ -46262,8 +46390,8 @@ function __awaiter(thisArg, _arguments, P, generator) {
46262
46390
  }
46263
46391
 
46264
46392
  function __generator(thisArg, body) {
46265
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
46266
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
46393
+ 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);
46394
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
46267
46395
  function verb(n) { return function (v) { return step([n, v]); }; }
46268
46396
  function step(op) {
46269
46397
  if (f) throw new TypeError("Generator is already executing.");
@@ -46367,8 +46495,9 @@ function __await(v) {
46367
46495
  function __asyncGenerator(thisArg, _arguments, generator) {
46368
46496
  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
46369
46497
  var g = generator.apply(thisArg, _arguments || []), i, q = [];
46370
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
46371
- 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); }); }; }
46498
+ return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
46499
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
46500
+ 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]); } }
46372
46501
  function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
46373
46502
  function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
46374
46503
  function fulfill(value) { resume("next", value); }
@@ -46434,16 +46563,18 @@ function __classPrivateFieldIn(state, receiver) {
46434
46563
  function __addDisposableResource(env, value, async) {
46435
46564
  if (value !== null && value !== void 0) {
46436
46565
  if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
46437
- var dispose;
46566
+ var dispose, inner;
46438
46567
  if (async) {
46439
- if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
46440
- dispose = value[Symbol.asyncDispose];
46568
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
46569
+ dispose = value[Symbol.asyncDispose];
46441
46570
  }
46442
46571
  if (dispose === void 0) {
46443
- if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
46444
- dispose = value[Symbol.dispose];
46572
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
46573
+ dispose = value[Symbol.dispose];
46574
+ if (async) inner = dispose;
46445
46575
  }
46446
46576
  if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
46577
+ if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
46447
46578
  env.stack.push({ value: value, dispose: dispose, async: async });
46448
46579
  }
46449
46580
  else if (async) {
@@ -46462,17 +46593,22 @@ function __disposeResources(env) {
46462
46593
  env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
46463
46594
  env.hasError = true;
46464
46595
  }
46596
+ var r, s = 0;
46465
46597
  function next() {
46466
- while (env.stack.length) {
46467
- var rec = env.stack.pop();
46598
+ while (r = env.stack.pop()) {
46468
46599
  try {
46469
- var result = rec.dispose && rec.dispose.call(rec.value);
46470
- if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
46600
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
46601
+ if (r.dispose) {
46602
+ var result = r.dispose.call(r.value);
46603
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
46604
+ }
46605
+ else s |= 1;
46471
46606
  }
46472
46607
  catch (e) {
46473
- fail(e);
46608
+ fail(e);
46474
46609
  }
46475
46610
  }
46611
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
46476
46612
  if (env.hasError) throw env.error;
46477
46613
  }
46478
46614
  return next();
@@ -46599,11 +46735,88 @@ function __disposeResources(env) {
46599
46735
  /******/ };
46600
46736
  /******/ }();
46601
46737
  /******/
46738
+ /******/ /* webpack/runtime/ensure chunk */
46739
+ /******/ !function() {
46740
+ /******/ __webpack_require__.f = {};
46741
+ /******/ // This file contains only the entry chunk.
46742
+ /******/ // The chunk loading function for additional chunks
46743
+ /******/ __webpack_require__.e = function(chunkId) {
46744
+ /******/ return Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {
46745
+ /******/ __webpack_require__.f[key](chunkId, promises);
46746
+ /******/ return promises;
46747
+ /******/ }, []));
46748
+ /******/ };
46749
+ /******/ }();
46750
+ /******/
46751
+ /******/ /* webpack/runtime/get javascript chunk filename */
46752
+ /******/ !function() {
46753
+ /******/ // This function allow to reference async chunks
46754
+ /******/ __webpack_require__.u = function(chunkId) {
46755
+ /******/ // return url for filenames based on template
46756
+ /******/ return "" + chunkId + ".js";
46757
+ /******/ };
46758
+ /******/ }();
46759
+ /******/
46760
+ /******/ /* webpack/runtime/get mini-css chunk filename */
46761
+ /******/ !function() {
46762
+ /******/ // This function allow to reference async chunks
46763
+ /******/ __webpack_require__.miniCssF = function(chunkId) {
46764
+ /******/ // return url for filenames based on template
46765
+ /******/ return undefined;
46766
+ /******/ };
46767
+ /******/ }();
46768
+ /******/
46602
46769
  /******/ /* webpack/runtime/hasOwnProperty shorthand */
46603
46770
  /******/ !function() {
46604
46771
  /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
46605
46772
  /******/ }();
46606
46773
  /******/
46774
+ /******/ /* webpack/runtime/load script */
46775
+ /******/ !function() {
46776
+ /******/ var inProgress = {};
46777
+ /******/ var dataWebpackPrefix = "jodit-pro:";
46778
+ /******/ // loadScript function to load a script via script tag
46779
+ /******/ __webpack_require__.l = function(url, done, key, chunkId) {
46780
+ /******/ if(inProgress[url]) { inProgress[url].push(done); return; }
46781
+ /******/ var script, needAttach;
46782
+ /******/ if(key !== undefined) {
46783
+ /******/ var scripts = document.getElementsByTagName("script");
46784
+ /******/ for(var i = 0; i < scripts.length; i++) {
46785
+ /******/ var s = scripts[i];
46786
+ /******/ if(s.getAttribute("src") == url || s.getAttribute("data-webpack") == dataWebpackPrefix + key) { script = s; break; }
46787
+ /******/ }
46788
+ /******/ }
46789
+ /******/ if(!script) {
46790
+ /******/ needAttach = true;
46791
+ /******/ script = document.createElement('script');
46792
+ /******/
46793
+ /******/ script.charset = 'utf-8';
46794
+ /******/ script.timeout = 120;
46795
+ /******/ if (__webpack_require__.nc) {
46796
+ /******/ script.setAttribute("nonce", __webpack_require__.nc);
46797
+ /******/ }
46798
+ /******/ script.setAttribute("data-webpack", dataWebpackPrefix + key);
46799
+ /******/
46800
+ /******/ script.src = url;
46801
+ /******/ }
46802
+ /******/ inProgress[url] = [done];
46803
+ /******/ var onScriptComplete = function(prev, event) {
46804
+ /******/ // avoid mem leaks in IE.
46805
+ /******/ script.onerror = script.onload = null;
46806
+ /******/ clearTimeout(timeout);
46807
+ /******/ var doneFns = inProgress[url];
46808
+ /******/ delete inProgress[url];
46809
+ /******/ script.parentNode && script.parentNode.removeChild(script);
46810
+ /******/ doneFns && doneFns.forEach(function(fn) { return fn(event); });
46811
+ /******/ if(prev) return prev(event);
46812
+ /******/ }
46813
+ /******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);
46814
+ /******/ script.onerror = onScriptComplete.bind(null, script.onerror);
46815
+ /******/ script.onload = onScriptComplete.bind(null, script.onload);
46816
+ /******/ needAttach && document.head.appendChild(script);
46817
+ /******/ };
46818
+ /******/ }();
46819
+ /******/
46607
46820
  /******/ /* webpack/runtime/make namespace object */
46608
46821
  /******/ !function() {
46609
46822
  /******/ // define __esModule on exports
@@ -46615,6 +46828,11 @@ function __disposeResources(env) {
46615
46828
  /******/ };
46616
46829
  /******/ }();
46617
46830
  /******/
46831
+ /******/ /* webpack/runtime/publicPath */
46832
+ /******/ !function() {
46833
+ /******/ __webpack_require__.p = "/build/";
46834
+ /******/ }();
46835
+ /******/
46618
46836
  /******/ /* webpack/runtime/jsonp chunk loading */
46619
46837
  /******/ !function() {
46620
46838
  /******/ // no baseURI
@@ -46626,7 +46844,44 @@ function __disposeResources(env) {
46626
46844
  /******/ 521: 0
46627
46845
  /******/ };
46628
46846
  /******/
46629
- /******/ // no chunk on demand loading
46847
+ /******/ __webpack_require__.f.j = function(chunkId, promises) {
46848
+ /******/ // JSONP chunk loading for javascript
46849
+ /******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;
46850
+ /******/ if(installedChunkData !== 0) { // 0 means "already installed".
46851
+ /******/
46852
+ /******/ // a Promise means "currently loading".
46853
+ /******/ if(installedChunkData) {
46854
+ /******/ promises.push(installedChunkData[2]);
46855
+ /******/ } else {
46856
+ /******/ if(true) { // all chunks have JS
46857
+ /******/ // setup Promise in chunk cache
46858
+ /******/ var promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });
46859
+ /******/ promises.push(installedChunkData[2] = promise);
46860
+ /******/
46861
+ /******/ // start chunk loading
46862
+ /******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId);
46863
+ /******/ // create error before stack unwound to get useful stacktrace later
46864
+ /******/ var error = new Error();
46865
+ /******/ var loadingEnded = function(event) {
46866
+ /******/ if(__webpack_require__.o(installedChunks, chunkId)) {
46867
+ /******/ installedChunkData = installedChunks[chunkId];
46868
+ /******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined;
46869
+ /******/ if(installedChunkData) {
46870
+ /******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
46871
+ /******/ var realSrc = event && event.target && event.target.src;
46872
+ /******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
46873
+ /******/ error.name = 'ChunkLoadError';
46874
+ /******/ error.type = errorType;
46875
+ /******/ error.request = realSrc;
46876
+ /******/ installedChunkData[1](error);
46877
+ /******/ }
46878
+ /******/ }
46879
+ /******/ };
46880
+ /******/ __webpack_require__.l(url, loadingEnded, "chunk-" + chunkId, chunkId);
46881
+ /******/ }
46882
+ /******/ }
46883
+ /******/ }
46884
+ /******/ };
46630
46885
  /******/
46631
46886
  /******/ // no prefetching
46632
46887
  /******/