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/es2018/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/)
@@ -1803,17 +1799,18 @@ class Async {
1803
1799
  return 0;
1804
1800
  }
1805
1801
  let options = {};
1806
- if ((0,jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_2__/* .isVoid */ .R)(timeout)) {
1802
+ if ((0,jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_3__/* .isVoid */ .R)(timeout)) {
1807
1803
  timeout = 0;
1808
1804
  }
1809
- if (!(0,jodit_core_helpers_checker_is_number__WEBPACK_IMPORTED_MODULE_3__/* .isNumber */ .E)(timeout)) {
1805
+ if (!(0,jodit_core_helpers_checker_is_number__WEBPACK_IMPORTED_MODULE_4__/* .isNumber */ .E)(timeout)) {
1810
1806
  options = timeout;
1811
1807
  timeout = options.timeout || 0;
1812
1808
  }
1813
1809
  if (options.label) {
1814
1810
  this.clearLabel(options.label);
1815
1811
  }
1816
- const timer = (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_4__/* .setTimeout */ .w)(callback, timeout, ...args), key = options.label || timer;
1812
+ const timer = (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_1__/* .setTimeout */ .w)(callback, timeout, ...args);
1813
+ const key = options.label || timer;
1817
1814
  this.timers.set(key, timer);
1818
1815
  this.__callbacks.set(key, callback);
1819
1816
  return timer;
@@ -1829,7 +1826,7 @@ class Async {
1829
1826
  }
1830
1827
  clearLabel(label) {
1831
1828
  if (label && this.timers.has(label)) {
1832
- (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_4__/* .clearTimeout */ .D)(this.timers.get(label));
1829
+ (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_1__/* .clearTimeout */ .D)(this.timers.get(label));
1833
1830
  this.timers.delete(label);
1834
1831
  this.__callbacks.delete(label);
1835
1832
  }
@@ -1838,7 +1835,7 @@ class Async {
1838
1835
  if ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_5__/* .isString */ .K)(timerOrLabel)) {
1839
1836
  return this.clearLabel(timerOrLabel);
1840
1837
  }
1841
- (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_4__/* .clearTimeout */ .D)(timerOrLabel);
1838
+ (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_1__/* .clearTimeout */ .D)(timerOrLabel);
1842
1839
  this.timers.delete(timerOrLabel);
1843
1840
  this.__callbacks.delete(timerOrLabel);
1844
1841
  }
@@ -1880,7 +1877,7 @@ class Async {
1880
1877
  if (!timer && firstCallImmediately) {
1881
1878
  callFn(...args);
1882
1879
  }
1883
- (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_4__/* .clearTimeout */ .D)(timer);
1880
+ (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_1__/* .clearTimeout */ .D)(timer);
1884
1881
  timer = this.setTimeout(() => callFn(...args), (0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_7__/* .isFunction */ .T)(timeout) ? timeout() : timeout);
1885
1882
  this.timers.set(fn, timer);
1886
1883
  }
@@ -2034,7 +2031,7 @@ class Async {
2034
2031
  clear() {
2035
2032
  this.requestsIdle.forEach(key => this.cancelIdleCallback(key));
2036
2033
  this.requestsRaf.forEach(key => this.cancelAnimationFrame(key));
2037
- this.timers.forEach(key => (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_4__/* .clearTimeout */ .D)(this.timers.get(key)));
2034
+ this.timers.forEach(key => (0,jodit_core_helpers_async__WEBPACK_IMPORTED_MODULE_1__/* .clearTimeout */ .D)(this.timers.get(key)));
2038
2035
  this.timers.clear();
2039
2036
  this.promisesRejections.forEach(reject => reject());
2040
2037
  this.promisesRejections.clear();
@@ -2443,6 +2440,8 @@ __webpack_require__.r(__webpack_exports__);
2443
2440
  /* harmony export */ TEXT_PLAIN: function() { return /* binding */ TEXT_PLAIN; },
2444
2441
  /* harmony export */ TEXT_RTF: function() { return /* binding */ TEXT_RTF; },
2445
2442
  /* harmony export */ TOKENS: function() { return /* binding */ TOKENS; },
2443
+ /* harmony export */ globalDocument: function() { return /* binding */ globalDocument; },
2444
+ /* harmony export */ globalWindow: function() { return /* binding */ globalWindow; },
2446
2445
  /* harmony export */ lang: function() { return /* binding */ lang; }
2447
2446
  /* harmony export */ });
2448
2447
  /*!
@@ -2450,7 +2449,7 @@ __webpack_require__.r(__webpack_exports__);
2450
2449
  * Released under MIT see LICENSE.txt in the project root for license information.
2451
2450
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
2452
2451
  */
2453
- const APP_VERSION = "4.2.23";
2452
+ const APP_VERSION = "4.2.30";
2454
2453
  // prettier-ignore
2455
2454
  const ES = "es2018";
2456
2455
  const IS_ES_MODERN = true;
@@ -2469,6 +2468,10 @@ const INVISIBLE_SPACE_REG_EXP_START = () => /^[\uFEFF]+/g;
2469
2468
  const SPACE_REG_EXP = () => /[\s\n\t\r\uFEFF\u200b]+/g;
2470
2469
  const SPACE_REG_EXP_START = () => /^[\s\n\t\r\uFEFF\u200b]+/g;
2471
2470
  const SPACE_REG_EXP_END = () => /[\s\n\t\r\uFEFF\u200b]+$/g;
2471
+ const globalWindow = typeof window !== 'undefined' ? window : undefined;
2472
+ const globalDocument = typeof document !== 'undefined'
2473
+ ? document
2474
+ : undefined;
2472
2475
  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;
2473
2476
  const IS_INLINE = /^(STRONG|SPAN|I|EM|B|SUP|SUB|A|U)$/i;
2474
2477
  const LIST_TAGS = new Set(['ul', 'ol']);
@@ -2593,8 +2596,8 @@ const INSERT_AS_TEXT = 'insert_as_text';
2593
2596
  */
2594
2597
  const INSERT_ONLY_TEXT = 'insert_only_text';
2595
2598
  const SAFE_COUNT_CHANGE_CALL = 10;
2596
- const IS_MAC = typeof window !== 'undefined' &&
2597
- /Mac|iPod|iPhone|iPad/.test(window.navigator.platform);
2599
+ const IS_MAC = typeof globalWindow !== 'undefined' &&
2600
+ /Mac|iPod|iPhone|iPad/.test(globalWindow.navigator.platform);
2598
2601
  const KEY_ALIASES = {
2599
2602
  add: '+',
2600
2603
  break: 'pause',
@@ -2612,8 +2615,8 @@ const KEY_ALIASES = {
2612
2615
  option: 'alt',
2613
2616
  return: 'enter',
2614
2617
  right: 'arrowright',
2615
- space: ' ',
2616
- spacebar: ' ',
2618
+ space: 'space',
2619
+ spacebar: 'space',
2617
2620
  up: 'arrowup',
2618
2621
  win: 'meta',
2619
2622
  windows: 'meta'
@@ -2622,7 +2625,7 @@ const BASE_PATH = (() => {
2622
2625
  if (typeof document === 'undefined') {
2623
2626
  return '';
2624
2627
  }
2625
- const script = document.currentScript, removeScriptName = (s) => {
2628
+ const script = globalDocument.currentScript, removeScriptName = (s) => {
2626
2629
  const parts = s.split('/');
2627
2630
  if (/\.js/.test(parts[parts.length - 1])) {
2628
2631
  return parts.slice(0, parts.length - 1).join('/') + '/';
@@ -2632,11 +2635,11 @@ const BASE_PATH = (() => {
2632
2635
  if (script) {
2633
2636
  return removeScriptName(script.src);
2634
2637
  }
2635
- const scripts = document.querySelectorAll('script[src]');
2638
+ const scripts = globalDocument.querySelectorAll('script[src]');
2636
2639
  if (scripts && scripts.length) {
2637
2640
  return removeScriptName(scripts[scripts.length - 1].src);
2638
2641
  }
2639
- return window.location.href;
2642
+ return globalWindow.location.href;
2640
2643
  })();
2641
2644
  const TEMP_ATTR = 'data-jodit-temp';
2642
2645
  const lang = {};
@@ -3384,7 +3387,6 @@ function watch(observeFields, opts) {
3384
3387
  const [objectPath, eventName] = field.split(':');
3385
3388
  let ctx = context;
3386
3389
  if (objectPath.length) {
3387
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
3388
3390
  ctx = component.get(objectPath);
3389
3391
  }
3390
3392
  if ((0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_3__/* .isFunction */ .T)(ctx)) {
@@ -3575,11 +3577,17 @@ class Dom {
3575
3577
  }
3576
3578
  static replace(elm, newTagName, create, withAttributes = false, notMoveContent = false) {
3577
3579
  if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isHTML */ .AH)(newTagName)) {
3580
+ void 0;
3578
3581
  newTagName = create.fromHTML(newTagName);
3579
3582
  }
3580
- const tag = (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isString */ .Kg)(newTagName)
3581
- ? create.element(newTagName)
3582
- : newTagName;
3583
+ let tag;
3584
+ if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isString */ .Kg)(newTagName)) {
3585
+ void 0;
3586
+ tag = create.element(newTagName);
3587
+ }
3588
+ else {
3589
+ tag = newTagName;
3590
+ }
3583
3591
  if (!notMoveContent) {
3584
3592
  while (elm.firstChild) {
3585
3593
  tag.appendChild(elm.firstChild);
@@ -4043,7 +4051,7 @@ class Dom {
4043
4051
  * Move all content to another element
4044
4052
  */
4045
4053
  static moveContent(from, to, inStart = false, filter = () => true) {
4046
- const fragment = (from.ownerDocument || document).createDocumentFragment();
4054
+ const fragment = (from.ownerDocument || jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument).createDocumentFragment();
4047
4055
  (0,jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_1__/* .toArray */ .$)(from.childNodes)
4048
4056
  .filter(elm => {
4049
4057
  if (filter(elm)) {
@@ -4504,7 +4512,7 @@ class EventEmitter {
4504
4512
  passive: true,
4505
4513
  capture: (_a = options === null || options === void 0 ? void 0 : options.capture) !== null && _a !== void 0 ? _a : false
4506
4514
  }
4507
- : (_b = options === null || options === void 0 ? void 0 : options.capture) !== null && _b !== void 0 ? _b : false;
4515
+ : ((_b = options === null || options === void 0 ? void 0 : options.capture) !== null && _b !== void 0 ? _b : false);
4508
4516
  syntheticCallback.options = eOpts;
4509
4517
  subject.addEventListener(event, syntheticCallback, eOpts);
4510
4518
  this.__memoryDOMSubjectToHandler(subject, syntheticCallback);
@@ -4736,7 +4744,7 @@ class EventEmitter {
4736
4744
  this.__domEventsMap = new Map();
4737
4745
  this.__mutedEvents = new Set();
4738
4746
  this.__key = '__JoditEventEmitterNamespaces';
4739
- this.__doc = document;
4747
+ this.__doc = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument;
4740
4748
  this.__prepareEvent = (e) => {
4741
4749
  if (e.cancelBubble) {
4742
4750
  return;
@@ -5232,9 +5240,20 @@ function getContainer(jodit, classFunc, tag = 'div', createInsideEditor = false)
5232
5240
  const data = boxes.get(jodit) || {}, key = name + tag;
5233
5241
  const view = (0,jodit_core_helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_6__/* .isViewObject */ .h)(jodit) ? jodit : jodit.j;
5234
5242
  if (!data[key]) {
5235
- let c = view.c, body = (0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit) && jodit.o.shadowRoot
5236
- ? jodit.o.shadowRoot
5237
- : jodit.od.body;
5243
+ let c = view.c;
5244
+ let body;
5245
+ if ((0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit) && jodit.o.shadowRoot) {
5246
+ body = jodit.o.shadowRoot;
5247
+ }
5248
+ else {
5249
+ body = jodit.od.body;
5250
+ if ((0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit)) {
5251
+ const dialog = _dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.closest(jodit.container, 'dialog', jodit.od.body);
5252
+ if (dialog) {
5253
+ body = dialog;
5254
+ }
5255
+ }
5256
+ }
5238
5257
  if (createInsideEditor &&
5239
5258
  (0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit) &&
5240
5259
  jodit.od !== jodit.ed) {
@@ -5252,6 +5271,7 @@ function getContainer(jodit, classFunc, tag = 'div', createInsideEditor = false)
5252
5271
  body.appendChild(box);
5253
5272
  data[key] = box;
5254
5273
  jodit.hookStatus('beforeDestruct', () => {
5274
+ view.events.off(box);
5255
5275
  _dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.safeRemove(box);
5256
5276
  delete data[key];
5257
5277
  if (Object.keys(data).length) {
@@ -5259,6 +5279,7 @@ function getContainer(jodit, classFunc, tag = 'div', createInsideEditor = false)
5259
5279
  }
5260
5280
  });
5261
5281
  boxes.set(jodit, data);
5282
+ view.events.fire('getContainer', box);
5262
5283
  }
5263
5284
  data[key].classList.remove('jodit_theme_default', 'jodit_theme_dark');
5264
5285
  data[key].classList.add(`jodit_theme_${view.o.theme || 'default'}`);
@@ -5387,7 +5408,7 @@ const toArray = function toArray(...args) {
5387
5408
  var _a;
5388
5409
  const func = (0,jodit_core_helpers_checker_is_native_function__WEBPACK_IMPORTED_MODULE_1__/* .isNativeFunction */ .a)(Array.from)
5389
5410
  ? Array.from
5390
- : (_a = (0,jodit_core_helpers_utils_reset__WEBPACK_IMPORTED_MODULE_0__/* .reset */ .c)('Array.from')) !== null && _a !== void 0 ? _a : Array.from;
5411
+ : ((_a = (0,jodit_core_helpers_utils_reset__WEBPACK_IMPORTED_MODULE_0__/* .reset */ .c)('Array.from')) !== null && _a !== void 0 ? _a : Array.from);
5391
5412
  return func.apply(Array, args);
5392
5413
  };
5393
5414
 
@@ -5424,6 +5445,7 @@ const toArray = function toArray(...args) {
5424
5445
  /* harmony export */ D: function() { return /* binding */ clearTimeout; },
5425
5446
  /* harmony export */ w: function() { return /* binding */ setTimeout; }
5426
5447
  /* harmony export */ });
5448
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
5427
5449
  /*!
5428
5450
  * Jodit Editor (https://xdsoft.net/jodit/)
5429
5451
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -5432,6 +5454,7 @@ const toArray = function toArray(...args) {
5432
5454
  /**
5433
5455
  * @module helpers/async
5434
5456
  */
5457
+
5435
5458
  /**
5436
5459
  * Create async callback if set timeout value - else call function immediately
5437
5460
  */
@@ -5440,7 +5463,7 @@ function setTimeout(callback, timeout, ...args) {
5440
5463
  callback.call(null, ...args);
5441
5464
  }
5442
5465
  else {
5443
- return window.setTimeout(callback, timeout, ...args);
5466
+ return jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow.setTimeout(callback, timeout, ...args);
5444
5467
  }
5445
5468
  return 0;
5446
5469
  }
@@ -5448,7 +5471,7 @@ function setTimeout(callback, timeout, ...args) {
5448
5471
  * Clear timeout
5449
5472
  */
5450
5473
  function clearTimeout(timer) {
5451
- window.clearTimeout(timer);
5474
+ jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow.clearTimeout(timer);
5452
5475
  }
5453
5476
 
5454
5477
 
@@ -5461,6 +5484,7 @@ function clearTimeout(timer) {
5461
5484
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5462
5485
  /* harmony export */ k: function() { return /* binding */ hasBrowserColorPicker; }
5463
5486
  /* harmony export */ });
5487
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
5464
5488
  /*!
5465
5489
  * Jodit Editor (https://xdsoft.net/jodit/)
5466
5490
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -5469,13 +5493,14 @@ function clearTimeout(timer) {
5469
5493
  /**
5470
5494
  * @module helpers/checker
5471
5495
  */
5496
+
5472
5497
  /**
5473
5498
  * Check if browser has a color picker (a new HTML5 attribute for input tag)
5474
5499
  */
5475
5500
  function hasBrowserColorPicker() {
5476
5501
  let supportsColor = true;
5477
5502
  try {
5478
- const a = document.createElement('input');
5503
+ const a = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('input');
5479
5504
  a.type = 'color';
5480
5505
  a.value = '!';
5481
5506
  supportsColor = a.type === 'color' && a.value !== '!';
@@ -6125,6 +6150,7 @@ function isStringArray(value) {
6125
6150
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6126
6151
  /* harmony export */ m: function() { return /* binding */ isURL; }
6127
6152
  /* harmony export */ });
6153
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
6128
6154
  /*!
6129
6155
  * Jodit Editor (https://xdsoft.net/jodit/)
6130
6156
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -6133,6 +6159,7 @@ function isStringArray(value) {
6133
6159
  /**
6134
6160
  * @module helpers/checker
6135
6161
  */
6162
+
6136
6163
  /**
6137
6164
  * Check if a string is an url
6138
6165
  */
@@ -6149,7 +6176,7 @@ function isURL(str) {
6149
6176
  return false;
6150
6177
  }
6151
6178
  }
6152
- const a = document.createElement('a');
6179
+ const a = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('a');
6153
6180
  a.href = str;
6154
6181
  return Boolean(a.hostname);
6155
6182
  }
@@ -6384,9 +6411,9 @@ function applyStyles(html) {
6384
6411
  }
6385
6412
  html = html.substring(html.indexOf('<html '), html.length);
6386
6413
  html = html.substring(0, html.lastIndexOf('</html>') + '</html>'.length);
6387
- const iframe = document.createElement('iframe');
6414
+ const iframe = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('iframe');
6388
6415
  iframe.style.display = 'none';
6389
- document.body.appendChild(iframe);
6416
+ jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.body.appendChild(iframe);
6390
6417
  let convertedString = '', collection = [];
6391
6418
  try {
6392
6419
  const iframeDoc = iframe.contentDocument ||
@@ -6457,9 +6484,10 @@ function applyStyles(html) {
6457
6484
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6458
6485
  /* harmony export */ w: function() { return /* binding */ cleanFromWord; }
6459
6486
  /* harmony export */ });
6460
- /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23545);
6461
- /* harmony import */ var jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7773);
6462
- /* harmony import */ var jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(22718);
6487
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
6488
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23545);
6489
+ /* harmony import */ var jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7773);
6490
+ /* harmony import */ var jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(22718);
6463
6491
  /*!
6464
6492
  * Jodit Editor (https://xdsoft.net/jodit/)
6465
6493
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -6471,6 +6499,7 @@ function applyStyles(html) {
6471
6499
 
6472
6500
 
6473
6501
 
6502
+
6474
6503
  /**
6475
6504
  * The method automatically cleans up content from Microsoft Word and other HTML sources to ensure clean, compliant
6476
6505
  * content that matches the look and feel of the site.
@@ -6482,11 +6511,11 @@ function cleanFromWord(html) {
6482
6511
  }
6483
6512
  let convertedString = '';
6484
6513
  try {
6485
- const div = document.createElement('div');
6514
+ const div = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('div');
6486
6515
  div.innerHTML = html;
6487
6516
  const marks = [];
6488
6517
  if (div.firstChild) {
6489
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.each(div, node => {
6518
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.each(div, node => {
6490
6519
  if (!node) {
6491
6520
  return;
6492
6521
  }
@@ -6501,10 +6530,10 @@ function cleanFromWord(html) {
6501
6530
  case 'W:SDT':
6502
6531
  case 'W:SDTPR':
6503
6532
  case 'FONT':
6504
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.unwrap(node);
6533
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.unwrap(node);
6505
6534
  break;
6506
6535
  default:
6507
- (0,jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_1__/* .toArray */ .$)(node.attributes).forEach((attr) => {
6536
+ (0,jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_2__/* .toArray */ .$)(node.attributes).forEach((attr) => {
6508
6537
  if ([
6509
6538
  'src',
6510
6539
  'href',
@@ -6523,14 +6552,14 @@ function cleanFromWord(html) {
6523
6552
  }
6524
6553
  });
6525
6554
  }
6526
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.safeRemove.apply(null, marks);
6555
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.safeRemove.apply(null, marks);
6527
6556
  convertedString = div.innerHTML;
6528
6557
  }
6529
6558
  catch (e) { }
6530
6559
  if (convertedString) {
6531
6560
  html = convertedString;
6532
6561
  }
6533
- html = html.split(/(\n)/).filter(jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_2__/* .trim */ .Bq).join('\n');
6562
+ html = html.split(/(\n)/).filter(jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_3__/* .trim */ .Bq).join('\n');
6534
6563
  return html
6535
6564
  .replace(/<(\/)?(html|colgroup|col|o:p)[^>]*>/g, '')
6536
6565
  .replace(/<!--[^>]*>/g, '');
@@ -6546,6 +6575,7 @@ function cleanFromWord(html) {
6546
6575
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6547
6576
  /* harmony export */ G: function() { return /* binding */ htmlspecialchars; }
6548
6577
  /* harmony export */ });
6578
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
6549
6579
  /*!
6550
6580
  * Jodit Editor (https://xdsoft.net/jodit/)
6551
6581
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -6554,11 +6584,12 @@ function cleanFromWord(html) {
6554
6584
  /**
6555
6585
  * @module helpers/html
6556
6586
  */
6587
+
6557
6588
  /**
6558
6589
  * Convert special characters to HTML entities
6559
6590
  */
6560
6591
  function htmlspecialchars(html) {
6561
- const tmp = document.createElement('div');
6592
+ const tmp = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('div');
6562
6593
  tmp.textContent = html;
6563
6594
  return tmp.innerHTML;
6564
6595
  }
@@ -7059,7 +7090,8 @@ function normalizeKeyAliases(keys) {
7059
7090
  ctrl: 2,
7060
7091
  control: 2,
7061
7092
  alt: 3,
7062
- shift: 4
7093
+ shift: 4,
7094
+ space: 5
7063
7095
  };
7064
7096
  return keys
7065
7097
  .replace(/\+\+/g, '+add')
@@ -7278,8 +7310,9 @@ const getContentWidth = (element, win) => {
7278
7310
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7279
7311
  /* harmony export */ m: function() { return /* binding */ getScrollParent; }
7280
7312
  /* harmony export */ });
7281
- /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23545);
7282
- /* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71122);
7313
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
7314
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23545);
7315
+ /* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(71122);
7283
7316
  /*!
7284
7317
  * Jodit Editor (https://xdsoft.net/jodit/)
7285
7318
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -7287,19 +7320,20 @@ const getContentWidth = (element, win) => {
7287
7320
  */
7288
7321
 
7289
7322
 
7323
+
7290
7324
  function getScrollParent(node) {
7291
7325
  if (!node) {
7292
7326
  return null;
7293
7327
  }
7294
- const isElement = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isHTMLElement(node);
7295
- const overflowY = isElement && (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.css)(node, 'overflowY');
7328
+ const isElement = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isHTMLElement(node);
7329
+ const overflowY = isElement && (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.css)(node, 'overflowY');
7296
7330
  const isScrollable = isElement && overflowY !== 'visible' && overflowY !== 'hidden';
7297
7331
  if (isScrollable && node.scrollHeight >= node.clientHeight) {
7298
7332
  return node;
7299
7333
  }
7300
7334
  return (getScrollParent(node.parentNode) ||
7301
- document.scrollingElement ||
7302
- document.body);
7335
+ jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.scrollingElement ||
7336
+ jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.body);
7303
7337
  }
7304
7338
 
7305
7339
 
@@ -8224,16 +8258,18 @@ const buildQuery = (data, prefix) => {
8224
8258
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8225
8259
  /* harmony export */ X: function() { return /* binding */ completeUrl; }
8226
8260
  /* harmony export */ });
8261
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
8227
8262
  /*!
8228
8263
  * Jodit Editor (https://xdsoft.net/jodit/)
8229
8264
  * Released under MIT see LICENSE.txt in the project root for license information.
8230
8265
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
8231
8266
  */
8267
+
8232
8268
  /**
8233
8269
  * @module helpers/utils
8234
8270
  */
8235
8271
  const completeUrl = (url) => {
8236
- if (window.location.protocol === 'file:' && /^\/\//.test(url)) {
8272
+ if (jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow.location.protocol === 'file:' && /^\/\//.test(url)) {
8237
8273
  url = 'https:' + url;
8238
8274
  }
8239
8275
  return url;
@@ -8350,8 +8386,9 @@ function ConfigFlatten(obj) {
8350
8386
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8351
8387
  /* harmony export */ m: function() { return /* binding */ convertMediaUrlToVideoEmbed; }
8352
8388
  /* harmony export */ });
8353
- /* harmony import */ var jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20858);
8354
- /* harmony import */ var _parse_query__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(15896);
8389
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
8390
+ /* harmony import */ var jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20858);
8391
+ /* harmony import */ var _parse_query__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15896);
8355
8392
  /*!
8356
8393
  * Jodit Editor (https://xdsoft.net/jodit/)
8357
8394
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -8362,14 +8399,15 @@ function ConfigFlatten(obj) {
8362
8399
  */
8363
8400
 
8364
8401
 
8402
+
8365
8403
  /**
8366
8404
  * Javascript url pattern converter replace youtube/vimeo url in embed code.
8367
8405
  */
8368
8406
  const convertMediaUrlToVideoEmbed = (url, width = 400, height = 345) => {
8369
- if (!(0,jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_0__/* .isURL */ .m)(url)) {
8407
+ if (!(0,jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_1__/* .isURL */ .m)(url)) {
8370
8408
  return url;
8371
8409
  }
8372
- const parser = document.createElement('a'), pattern1 = /(?:http?s?:\/\/)?(?:www\.)?(?:vimeo\.com)\/?(.+)/g;
8410
+ const parser = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('a'), pattern1 = /(?:http?s?:\/\/)?(?:www\.)?(?:vimeo\.com)\/?(.+)/g;
8373
8411
  parser.href = url;
8374
8412
  if (!width) {
8375
8413
  width = 400;
@@ -8395,7 +8433,7 @@ const convertMediaUrlToVideoEmbed = (url, width = 400, height = 345) => {
8395
8433
  case 'youtu.be':
8396
8434
  case 'www.youtu.be': {
8397
8435
  const query = parser.search
8398
- ? (0,_parse_query__WEBPACK_IMPORTED_MODULE_1__/* .parseQuery */ .m)(parser.search)
8436
+ ? (0,_parse_query__WEBPACK_IMPORTED_MODULE_2__/* .parseQuery */ .m)(parser.search)
8399
8437
  : { v: parser.pathname.substr(1) };
8400
8438
  return query.v
8401
8439
  ? '<iframe width="' +
@@ -8589,7 +8627,8 @@ const dataBind = (elm, key, value) => {
8589
8627
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8590
8628
  /* harmony export */ e: function() { return /* binding */ defaultLanguage; }
8591
8629
  /* harmony export */ });
8592
- /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26986);
8630
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
8631
+ /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26986);
8593
8632
  /*!
8594
8633
  * Jodit Editor (https://xdsoft.net/jodit/)
8595
8634
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -8599,15 +8638,16 @@ const dataBind = (elm, key, value) => {
8599
8638
  * @module helpers/utils
8600
8639
  */
8601
8640
 
8641
+
8602
8642
  /**
8603
8643
  * Try define user language
8604
8644
  */
8605
8645
  const defaultLanguage = (language, defaultLanguage = 'en') => {
8606
- if (language !== 'auto' && (0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_0__/* .isString */ .K)(language)) {
8646
+ if (language !== 'auto' && (0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_1__/* .isString */ .K)(language)) {
8607
8647
  return language;
8608
8648
  }
8609
- if (document.documentElement && document.documentElement.lang) {
8610
- return document.documentElement.lang;
8649
+ if (jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.documentElement && jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.documentElement.lang) {
8650
+ return jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.documentElement.lang;
8611
8651
  }
8612
8652
  if (navigator.language) {
8613
8653
  return navigator.language.substring(0, 2);
@@ -9361,10 +9401,10 @@ const map = {};
9361
9401
  function reset(key) {
9362
9402
  var _a, _b;
9363
9403
  if (!(key in map)) {
9364
- const iframe = document.createElement('iframe');
9404
+ const iframe = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('iframe');
9365
9405
  try {
9366
9406
  iframe.src = 'about:blank';
9367
- document.body.appendChild(iframe);
9407
+ jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.body.appendChild(iframe);
9368
9408
  if (!iframe.contentWindow) {
9369
9409
  return null;
9370
9410
  }
@@ -10293,14 +10333,15 @@ Plugin.requires = [];
10293
10333
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10294
10334
  /* harmony export */ d: function() { return /* binding */ Ajax; }
10295
10335
  /* harmony export */ });
10296
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(31635);
10336
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(31635);
10297
10337
  /* harmony import */ var jodit_core_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(61341);
10298
- /* harmony import */ var jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(33442);
10299
- /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9596);
10300
- /* harmony import */ var jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(24839);
10301
- /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(91288);
10302
- /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(91596);
10303
- /* harmony import */ var _response__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(85349);
10338
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67259);
10339
+ /* harmony import */ var jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(33442);
10340
+ /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9596);
10341
+ /* harmony import */ var jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(24839);
10342
+ /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(91288);
10343
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(91596);
10344
+ /* harmony import */ var _response__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(85349);
10304
10345
  /*!
10305
10346
  * Jodit Editor (https://xdsoft.net/jodit/)
10306
10347
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -10314,33 +10355,34 @@ Plugin.requires = [];
10314
10355
 
10315
10356
 
10316
10357
 
10358
+
10317
10359
  class Ajax {
10318
10360
  className() {
10319
10361
  return 'Ajax';
10320
10362
  }
10321
- constructor(options, defaultAjaxOptions = jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.defaultAjaxOptions) {
10363
+ constructor(options, defaultAjaxOptions = jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.defaultAjaxOptions) {
10322
10364
  this.__async = new jodit_core_async__WEBPACK_IMPORTED_MODULE_0__/* .Async */ .j();
10323
10365
  this.__isFulfilled = false;
10324
10366
  this.__activated = false;
10325
10367
  this.__isDestructed = false;
10326
- this.options = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.ConfigProto)(options || {}, defaultAjaxOptions);
10368
+ this.options = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.ConfigProto)(options || {}, defaultAjaxOptions);
10327
10369
  this.xhr = this.o.xhr ? this.o.xhr() : new XMLHttpRequest();
10328
10370
  }
10329
10371
  __buildParams(obj, prefix) {
10330
- if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isPlainObject)(obj) &&
10372
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isPlainObject)(obj) &&
10331
10373
  this.options.contentType &&
10332
10374
  this.options.contentType.includes('application/json')) {
10333
10375
  return JSON.stringify(obj);
10334
10376
  }
10335
- if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isFunction)(this.o.queryBuild)) {
10377
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isFunction)(this.o.queryBuild)) {
10336
10378
  return this.o.queryBuild.call(this, obj, prefix);
10337
10379
  }
10338
- if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(obj) ||
10339
- obj instanceof window.FormData ||
10340
- (typeof obj === 'object' && obj != null && (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isFunction)(obj.append))) {
10380
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isString)(obj) ||
10381
+ obj instanceof jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__.globalWindow.FormData ||
10382
+ (typeof obj === 'object' && obj != null && (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isFunction)(obj.append))) {
10341
10383
  return obj;
10342
10384
  }
10343
- return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.buildQuery)(obj);
10385
+ return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.buildQuery)(obj);
10344
10386
  }
10345
10387
  get o() {
10346
10388
  return this.options;
@@ -10364,16 +10406,16 @@ class Ajax {
10364
10406
  var _a;
10365
10407
  const onReject = () => {
10366
10408
  this.__isFulfilled = true;
10367
- reject(jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__/* .connection */ .FI('Connection error'));
10409
+ reject(jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_3__/* .connection */ .FI('Connection error'));
10368
10410
  };
10369
10411
  const onResolve = () => {
10370
10412
  this.__isFulfilled = true;
10371
- resolve(new _response__WEBPACK_IMPORTED_MODULE_5__/* .Response */ .Y(request, xhr.status, xhr.statusText, !xhr.responseType ? xhr.responseText : xhr.response));
10413
+ resolve(new _response__WEBPACK_IMPORTED_MODULE_6__/* .Response */ .Y(request, xhr.status, xhr.statusText, !xhr.responseType ? xhr.responseText : xhr.response));
10372
10414
  };
10373
10415
  xhr.onload = onResolve;
10374
10416
  xhr.onabort = () => {
10375
10417
  this.__isFulfilled = true;
10376
- reject(jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__/* .abort */ .h2('Abort connection'));
10418
+ reject(jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_3__/* .abort */ .h2('Abort connection'));
10377
10419
  };
10378
10420
  xhr.onerror = onReject;
10379
10421
  xhr.ontimeout = onReject;
@@ -10397,7 +10439,7 @@ class Ajax {
10397
10439
  }
10398
10440
  else if (xhr.statusText) {
10399
10441
  this.__isFulfilled = true;
10400
- reject(jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__/* .connection */ .FI(xhr.statusText));
10442
+ reject(jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_3__/* .connection */ .FI(xhr.statusText));
10401
10443
  }
10402
10444
  }
10403
10445
  };
@@ -10408,7 +10450,7 @@ class Ajax {
10408
10450
  xhr.setRequestHeader('Content-type', o.contentType);
10409
10451
  }
10410
10452
  let { headers } = o;
10411
- if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isFunction)(headers)) {
10453
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isFunction)(headers)) {
10412
10454
  headers = await headers.call(this);
10413
10455
  }
10414
10456
  if (headers && xhr.setRequestHeader) {
@@ -10424,22 +10466,22 @@ class Ajax {
10424
10466
  }
10425
10467
  prepareRequest() {
10426
10468
  if (!this.o.url) {
10427
- throw jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__/* .error */ .z3('Need URL for AJAX request');
10469
+ throw jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_3__/* .error */ .z3('Need URL for AJAX request');
10428
10470
  }
10429
10471
  let url = this.o.url;
10430
10472
  const data = this.o.data;
10431
10473
  const method = (this.o.method || 'get').toLowerCase();
10432
- if (method === 'get' && data && (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isPlainObject)(data)) {
10474
+ if (method === 'get' && data && (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isPlainObject)(data)) {
10433
10475
  const qIndex = url.indexOf('?');
10434
10476
  if (qIndex !== -1) {
10435
- const urlData = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.parseQuery)(url);
10477
+ const urlData = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.parseQuery)(url);
10436
10478
  url =
10437
10479
  url.substring(0, qIndex) +
10438
10480
  '?' +
10439
- (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.buildQuery)({ ...urlData, ...data });
10481
+ (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.buildQuery)({ ...urlData, ...data });
10440
10482
  }
10441
10483
  else {
10442
- url += '?' + (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.buildQuery)(this.o.data);
10484
+ url += '?' + (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.buildQuery)(this.o.data);
10443
10485
  }
10444
10486
  }
10445
10487
  const request = {
@@ -10463,8 +10505,8 @@ class Ajax {
10463
10505
  }
10464
10506
  }
10465
10507
  Ajax.log = [];
10466
- (0,tslib__WEBPACK_IMPORTED_MODULE_6__/* .__decorate */ .Cg)([
10467
- jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Ay
10508
+ (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .Cg)([
10509
+ jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Ay
10468
10510
  ], Ajax.prototype, "destruct", null);
10469
10511
 
10470
10512
 
@@ -11354,6 +11396,7 @@ class Selection {
11354
11396
  /**
11355
11397
  * Call callback for all selection node
11356
11398
  */
11399
+ // eslint-disable-next-line complexity
11357
11400
  eachSelection(callback) {
11358
11401
  var _a;
11359
11402
  const sel = this.sel;
@@ -12138,12 +12181,13 @@ function getSuitParent(style, node, root) {
12138
12181
  /* harmony export */ Y: function() { return /* binding */ hasSameStyleKeys; },
12139
12182
  /* harmony export */ g: function() { return /* binding */ hasSameStyle; }
12140
12183
  /* harmony export */ });
12141
- /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23545);
12142
- /* harmony import */ var jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(74197);
12143
- /* harmony import */ var jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(43581);
12144
- /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(28712);
12145
- /* 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__);
12146
- /* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4401);
12184
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
12185
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23545);
12186
+ /* harmony import */ var jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(74197);
12187
+ /* harmony import */ var jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(43581);
12188
+ /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(28712);
12189
+ /* 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__);
12190
+ /* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4401);
12147
12191
  /*!
12148
12192
  * Jodit Editor (https://xdsoft.net/jodit/)
12149
12193
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -12154,48 +12198,53 @@ function getSuitParent(style, node, root) {
12154
12198
 
12155
12199
 
12156
12200
 
12201
+
12157
12202
  /**
12158
12203
  * Element has the same styles as in the commit
12159
12204
  * @private
12160
12205
  */
12161
12206
  function hasSameStyle(elm, rules) {
12162
- return Boolean(!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isTag(elm, 'font') &&
12163
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isHTMLElement(elm) &&
12207
+ return Boolean(!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isTag(elm, 'font') &&
12208
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isHTMLElement(elm) &&
12164
12209
  Object.keys(rules).every(property => {
12165
- const value = (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__/* .css */ .A)(elm, property, true);
12210
+ const value = (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__/* .css */ .A)(elm, property, true);
12166
12211
  if (value === '' &&
12167
12212
  (rules[property] === '' || rules[property] == null)) {
12168
12213
  return true;
12169
12214
  }
12170
- return (!(0,jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_3__/* .isVoid */ .R)(value) &&
12215
+ return (!(0,jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_4__/* .isVoid */ .R)(value) &&
12171
12216
  value !== '' &&
12172
- !(0,jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_3__/* .isVoid */ .R)(rules[property]) &&
12173
- (0,jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_4__/* .normalizeCssValue */ .iy)(property, rules[property])
12217
+ !(0,jodit_core_helpers_checker_is_void__WEBPACK_IMPORTED_MODULE_4__/* .isVoid */ .R)(rules[property]) &&
12218
+ (0,jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_5__/* .normalizeCssValue */ .iy)(property, rules[property])
12174
12219
  .toString()
12175
12220
  .toLowerCase() === value.toString().toLowerCase());
12176
12221
  }));
12177
12222
  }
12178
- const elm = document.createElement('div');
12179
- elm.style.color = 'red';
12180
- void 0;
12181
- void 0;
12182
- void 0;
12223
+ if (jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument) {
12224
+ const elm = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('div');
12225
+ elm.style.color = 'red';
12226
+ void 0;
12227
+ void 0;
12228
+ void 0;
12229
+ }
12183
12230
  /**
12184
12231
  * Element has the similar styles keys
12185
12232
  */
12186
12233
  function hasSameStyleKeys(elm, rules) {
12187
- return Boolean(!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isTag(elm, 'font') &&
12188
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isHTMLElement(elm) &&
12234
+ return Boolean(!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isTag(elm, 'font') &&
12235
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isHTMLElement(elm) &&
12189
12236
  Object.keys(rules).every(property => {
12190
- const value = (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__/* .css */ .A)(elm, property, true);
12237
+ const value = (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__/* .css */ .A)(elm, property, true);
12191
12238
  return value !== '';
12192
12239
  }));
12193
12240
  }
12194
- const elm2 = document.createElement('div');
12195
- elm2.style.color = 'red';
12196
- void 0;
12197
- void 0;
12198
- void 0;
12241
+ if (jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument) {
12242
+ const elm2 = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('div');
12243
+ elm2.style.color = 'red';
12244
+ void 0;
12245
+ void 0;
12246
+ void 0;
12247
+ }
12199
12248
 
12200
12249
 
12201
12250
  /***/ }),
@@ -12578,16 +12627,17 @@ function wrapList(commitStyle, wrapper, jodit) {
12578
12627
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
12579
12628
  /* harmony export */ Y: function() { return /* binding */ toggleAttributes; }
12580
12629
  /* harmony export */ });
12581
- /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23545);
12582
- /* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(51431);
12583
- /* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(58588);
12584
- /* harmony import */ var jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(43581);
12585
- /* harmony import */ var jodit_core_helpers_size_object_size__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(88455);
12586
- /* harmony import */ var jodit_core_helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(18014);
12587
- /* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(71122);
12588
- /* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(4401);
12589
- /* harmony import */ var jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49382);
12590
- /* harmony import */ var jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(43072);
12630
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
12631
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23545);
12632
+ /* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51431);
12633
+ /* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(58588);
12634
+ /* harmony import */ var jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(43581);
12635
+ /* harmony import */ var jodit_core_helpers_size_object_size__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(88455);
12636
+ /* harmony import */ var jodit_core_helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(18014);
12637
+ /* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(71122);
12638
+ /* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(4401);
12639
+ /* harmony import */ var jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(49382);
12640
+ /* harmony import */ var jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(43072);
12591
12641
  /*!
12592
12642
  * Jodit Editor (https://xdsoft.net/jodit/)
12593
12643
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -12603,6 +12653,7 @@ function wrapList(commitStyle, wrapper, jodit) {
12603
12653
 
12604
12654
 
12605
12655
 
12656
+
12606
12657
  const tak = 'toggleAttributes';
12607
12658
  /**
12608
12659
  * Toggles attributes
@@ -12614,7 +12665,7 @@ function toggleAttributes(commitStyle, elm, jodit, mode, dry = false) {
12614
12665
  }
12615
12666
  !dry && commitStyle.setApplied(elm, tak);
12616
12667
  const { attributes } = commitStyle.options;
12617
- if (attributes && (0,jodit_core_helpers_size_object_size__WEBPACK_IMPORTED_MODULE_3__/* .size */ .E)(attributes) > 0) {
12668
+ if (attributes && (0,jodit_core_helpers_size_object_size__WEBPACK_IMPORTED_MODULE_4__/* .size */ .E)(attributes) > 0) {
12618
12669
  Object.keys(attributes).forEach((key) => {
12619
12670
  const value = attributes[key];
12620
12671
  switch (key) {
@@ -12636,24 +12687,24 @@ function toggleAttributes(commitStyle, elm, jodit, mode, dry = false) {
12636
12687
  function toggleStyle(commitStyle, jodit, style, elm, dry, mode) {
12637
12688
  void 0;
12638
12689
  Object.keys(style).forEach((rule) => {
12639
- const inlineValue = elm.style.getPropertyValue((0,jodit_core_helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_6__/* .kebabCase */ .k)(rule));
12690
+ const inlineValue = elm.style.getPropertyValue((0,jodit_core_helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_7__/* .kebabCase */ .k)(rule));
12640
12691
  const newValue = style[rule];
12641
12692
  if (inlineValue === '' && newValue == null) {
12642
12693
  return;
12643
12694
  }
12644
12695
  if (getNativeCSSValue(jodit, elm, rule) ===
12645
- (0,jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_7__/* .normalizeCssValue */ .iy)(rule, newValue)) {
12696
+ (0,jodit_core_helpers_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_8__/* .normalizeCssValue */ .iy)(rule, newValue)) {
12646
12697
  if (!inlineValue) {
12647
12698
  return;
12648
12699
  }
12649
- !dry && (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_8__/* .css */ .A)(elm, rule, null);
12650
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .UNSET */ .Ag;
12700
+ !dry && (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_9__/* .css */ .A)(elm, rule, null);
12701
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .UNSET */ .Ag;
12651
12702
  mode = removeExtraStyleAttribute(commitStyle, elm, mode);
12652
12703
  return;
12653
12704
  }
12654
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .CHANGE */ .PL;
12705
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .CHANGE */ .PL;
12655
12706
  if (!dry) {
12656
- (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_8__/* .css */ .A)(elm, rule, newValue);
12707
+ (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_9__/* .css */ .A)(elm, rule, newValue);
12657
12708
  mode = removeExtraStyleAttribute(commitStyle, elm, mode);
12658
12709
  }
12659
12710
  });
@@ -12661,19 +12712,19 @@ function toggleStyle(commitStyle, jodit, style, elm, dry, mode) {
12661
12712
  }
12662
12713
  function toggleClass(jodit, value, elm, mode, dry) {
12663
12714
  void 0;
12664
- const hook = jodit.e.fire.bind(jodit.e, `${jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* ._PREFIX */ .ar}AfterToggleAttribute`);
12715
+ const hook = jodit.e.fire.bind(jodit.e, `${jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* ._PREFIX */ .ar}AfterToggleAttribute`);
12665
12716
  if (elm.classList.contains(value.toString())) {
12666
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .UNSET */ .Ag;
12717
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .UNSET */ .Ag;
12667
12718
  if (!dry) {
12668
12719
  elm.classList.remove(value);
12669
12720
  if (elm.classList.length === 0) {
12670
- (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(elm, 'class', null);
12721
+ (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__.attr)(elm, 'class', null);
12671
12722
  hook(mode, elm, 'class', null);
12672
12723
  }
12673
12724
  }
12674
12725
  }
12675
12726
  else {
12676
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .CHANGE */ .PL;
12727
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .CHANGE */ .PL;
12677
12728
  if (!dry) {
12678
12729
  elm.classList.add(value);
12679
12730
  hook(mode, elm, 'class', value);
@@ -12683,16 +12734,16 @@ function toggleClass(jodit, value, elm, mode, dry) {
12683
12734
  }
12684
12735
  function toggleAttribute(jodit, value, elm, key, dry, mode) {
12685
12736
  void 0;
12686
- const hook = jodit.e.fire.bind(jodit.e, `${jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* ._PREFIX */ .ar}AfterToggleAttribute`);
12687
- if ((0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(elm, key) === value) {
12688
- !dry && (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(elm, key, null);
12689
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .UNSET */ .Ag;
12737
+ const hook = jodit.e.fire.bind(jodit.e, `${jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* ._PREFIX */ .ar}AfterToggleAttribute`);
12738
+ if ((0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__.attr)(elm, key) === value) {
12739
+ !dry && (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__.attr)(elm, key, null);
12740
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .UNSET */ .Ag;
12690
12741
  !dry && hook(mode, elm, key, value);
12691
12742
  return mode;
12692
12743
  }
12693
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .CHANGE */ .PL;
12744
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .CHANGE */ .PL;
12694
12745
  if (!dry) {
12695
- (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(elm, key, value);
12746
+ (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__.attr)(elm, key, value);
12696
12747
  hook(mode, elm, key, value);
12697
12748
  }
12698
12749
  return mode;
@@ -12702,11 +12753,11 @@ function toggleAttribute(jodit, value, elm, key, dry, mode) {
12702
12753
  * and if it is default, it removes the element itself
12703
12754
  */
12704
12755
  function removeExtraStyleAttribute(commitStyle, elm, mode) {
12705
- if (!(0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(elm, 'style')) {
12706
- (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(elm, 'style', null);
12756
+ if (!(0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__.attr)(elm, 'style')) {
12757
+ (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_5__.attr)(elm, 'style', null);
12707
12758
  if (elm.tagName.toLowerCase() === commitStyle.defaultTag) {
12708
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.unwrap(elm);
12709
- mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_9__/* .UNWRAP */ .OJ;
12759
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.unwrap(elm);
12760
+ mode = jodit_core_selection_style_constants__WEBPACK_IMPORTED_MODULE_10__/* .UNWRAP */ .OJ;
12710
12761
  }
12711
12762
  }
12712
12763
  return mode;
@@ -12716,12 +12767,12 @@ function removeExtraStyleAttribute(commitStyle, elm, mode) {
12716
12767
  */
12717
12768
  function getShadowRoot(jodit) {
12718
12769
  var _a;
12719
- if ((0,jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_5__/* .dataBind */ .m)(jodit, 'shadowRoot') !== undefined) {
12720
- return (0,jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_5__/* .dataBind */ .m)(jodit, 'shadowRoot');
12770
+ if ((0,jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_6__/* .dataBind */ .m)(jodit, 'shadowRoot') !== undefined) {
12771
+ return (0,jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_6__/* .dataBind */ .m)(jodit, 'shadowRoot');
12721
12772
  }
12722
- const container = (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_1__/* .getContainer */ .My)(jodit);
12723
- const iframe = document.createElement('iframe');
12724
- (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_8__/* .css */ .A)(iframe, {
12773
+ const container = (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .getContainer */ .My)(jodit);
12774
+ const iframe = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('iframe');
12775
+ (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_9__/* .css */ .A)(iframe, {
12725
12776
  width: 0,
12726
12777
  height: 0,
12727
12778
  position: 'absolute',
@@ -12731,7 +12782,7 @@ function getShadowRoot(jodit) {
12731
12782
  container.appendChild(iframe);
12732
12783
  const doc = (_a = iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.document;
12733
12784
  const shadowRoot = !doc ? jodit.od.body : doc.body;
12734
- (0,jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_5__/* .dataBind */ .m)(jodit, 'shadowRoot', shadowRoot);
12785
+ (0,jodit_core_helpers_utils_data_bind__WEBPACK_IMPORTED_MODULE_6__/* .dataBind */ .m)(jodit, 'shadowRoot', shadowRoot);
12735
12786
  return shadowRoot;
12736
12787
  }
12737
12788
  /**
@@ -12742,8 +12793,8 @@ function getNativeCSSValue(jodit, elm, key) {
12742
12793
  newElm.style.cssText = elm.style.cssText;
12743
12794
  const root = getShadowRoot(jodit);
12744
12795
  root.appendChild(newElm);
12745
- const result = (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_8__/* .css */ .A)(newElm, key);
12746
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.safeRemove(newElm);
12796
+ const result = (0,jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_9__/* .css */ .A)(newElm, key);
12797
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.safeRemove(newElm);
12747
12798
  return result;
12748
12799
  }
12749
12800
 
@@ -14137,15 +14188,21 @@ let UITooltip = UITooltip_1 = class UITooltip extends jodit_core_ui_element__WEB
14137
14188
  if (!view.o.textIcons &&
14138
14189
  view.o.showTooltip &&
14139
14190
  !view.o.useNativeTooltip) {
14191
+ this.j.e.on('getContainer', (box) => {
14192
+ this.__onAttach(box);
14193
+ });
14140
14194
  view.hookStatus(jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .STATUSES */ .f.ready, () => {
14141
- // TODO Move it inside __show method. Now it is here because testcase failed with capturing
14142
- (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .getContainer */ .My)(this.j, UITooltip_1).appendChild(this.container);
14143
- view.e.on(view.container, 'mouseenter.tooltip', this.__onMouseEnter, {
14144
- capture: true
14145
- });
14195
+ this.__onAttach(this.j.container);
14146
14196
  });
14147
14197
  }
14148
14198
  }
14199
+ __onAttach(container) {
14200
+ // TODO Move it inside __show method. Now it is here because testcase failed with capturing
14201
+ (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .getContainer */ .My)(this.j, UITooltip_1).appendChild(this.container);
14202
+ this.j.e.on(container, 'mouseenter.tooltip', this.__onMouseEnter, {
14203
+ capture: true
14204
+ });
14205
+ }
14149
14206
  __addListenersOnEnter() {
14150
14207
  if (this.__listenClose) {
14151
14208
  return;
@@ -14773,6 +14830,7 @@ let UIFileInput = class UIFileInput extends jodit_core_ui_form_inputs_input_inpu
14773
14830
  }
14774
14831
  createContainer(options) {
14775
14832
  this.button = new jodit_core_ui_button_button_button__WEBPACK_IMPORTED_MODULE_0__/* .UIButton */ .lD(this.j, {
14833
+ tooltip: options.tooltip,
14776
14834
  icon: {
14777
14835
  name: 'plus'
14778
14836
  }
@@ -15212,8 +15270,8 @@ __webpack_require__.r(__webpack_exports__);
15212
15270
  /* harmony export */ required: function() { return /* binding */ required; },
15213
15271
  /* harmony export */ url: function() { return /* binding */ url; }
15214
15272
  /* harmony export */ });
15215
- /* harmony import */ var jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20858);
15216
- /* harmony import */ var jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22718);
15273
+ /* harmony import */ var jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20858);
15274
+ /* harmony import */ var jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(22718);
15217
15275
  /*!
15218
15276
  * Jodit Editor (https://xdsoft.net/jodit/)
15219
15277
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -15225,7 +15283,7 @@ __webpack_require__.r(__webpack_exports__);
15225
15283
  * Input is required
15226
15284
  */
15227
15285
  const required = function (input) {
15228
- if (!(0,jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_0__/* .trim */ .Bq)(input.value).length) {
15286
+ if (!(0,jodit_core_helpers_string_trim__WEBPACK_IMPORTED_MODULE_1__/* .trim */ .Bq)(input.value).length) {
15229
15287
  input.error = 'Please fill out this field';
15230
15288
  return false;
15231
15289
  }
@@ -15235,7 +15293,7 @@ const required = function (input) {
15235
15293
  * Input value should be valid URL
15236
15294
  */
15237
15295
  const url = function (input) {
15238
- 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))) {
15296
+ 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))) {
15239
15297
  input.error = 'Please enter a web address';
15240
15298
  return false;
15241
15299
  }
@@ -17884,6 +17942,9 @@ let Jodit = Jodit_1 = class Jodit extends jodit_modules__WEBPACK_IMPORTED_MODULE
17884
17942
  }
17885
17943
  }
17886
17944
  catch (e) {
17945
+ if (!jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.IS_PROD) {
17946
+ throw e;
17947
+ }
17887
17948
  this.destruct();
17888
17949
  throw e;
17889
17950
  }
@@ -19877,10 +19938,12 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.filebrowser
19877
19938
  jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.controls.filebrowser = {
19878
19939
  upload: {
19879
19940
  icon: 'plus',
19941
+ tooltip: 'Upload file',
19880
19942
  isInput: true,
19881
19943
  isDisabled: (browser) => !browser.dataProvider.canI('FileUpload'),
19882
- getContent: (filebrowser) => {
19944
+ getContent: (filebrowser, btnInt) => {
19883
19945
  const btn = new jodit_core_ui_form_inputs_file_file__WEBPACK_IMPORTED_MODULE_2__/* .UIFileInput */ .n(filebrowser, {
19946
+ tooltip: btnInt.control.tooltip,
19884
19947
  onlyImages: filebrowser.state.onlyImages
19885
19948
  });
19886
19949
  filebrowser.e.fire('bindUploader.filebrowser', btn.container);
@@ -19889,6 +19952,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.controls.fil
19889
19952
  },
19890
19953
  remove: {
19891
19954
  icon: 'bin',
19955
+ tooltip: 'Remove file',
19892
19956
  isDisabled: (browser) => {
19893
19957
  return (!browser.state.activeElements.length ||
19894
19958
  !browser.dataProvider.canI('FileRemove'));
@@ -19898,11 +19962,13 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.controls.fil
19898
19962
  }
19899
19963
  },
19900
19964
  update: {
19965
+ tooltip: 'Update file list',
19901
19966
  exec: (editor) => {
19902
19967
  editor.e.fire('update.filebrowser');
19903
19968
  }
19904
19969
  },
19905
19970
  select: {
19971
+ tooltip: 'Select file',
19906
19972
  icon: 'check',
19907
19973
  isDisabled: (browser) => !browser.state.activeElements.length,
19908
19974
  exec: (editor) => {
@@ -19910,6 +19976,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.controls.fil
19910
19976
  }
19911
19977
  },
19912
19978
  edit: {
19979
+ tooltip: 'Edit image',
19913
19980
  icon: 'pencil',
19914
19981
  isDisabled: (browser) => {
19915
19982
  const selected = browser.state.activeElements;
@@ -19923,6 +19990,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.controls.fil
19923
19990
  }
19924
19991
  },
19925
19992
  tiles: {
19993
+ tooltip: 'Tiles view',
19926
19994
  icon: 'th',
19927
19995
  isActive: (filebrowser) => filebrowser.state.view === 'tiles',
19928
19996
  exec: (filebrowser) => {
@@ -19930,6 +19998,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.controls.fil
19930
19998
  }
19931
19999
  },
19932
20000
  list: {
20001
+ tooltip: 'List view',
19933
20002
  icon: 'th-list',
19934
20003
  isActive: (filebrowser) => filebrowser.state.view === 'list',
19935
20004
  exec: (filebrowser) => {
@@ -20346,7 +20415,6 @@ let DataProvider = class DataProvider {
20346
20415
  data: {}
20347
20416
  };
20348
20417
  }
20349
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
20350
20418
  const query = this.o[type];
20351
20419
  if (query.data === undefined) {
20352
20420
  query.data = {
@@ -20592,7 +20660,6 @@ let FileBrowser = class FileBrowser extends jodit_core_view_view_with_toolbar__W
20592
20660
  get dataProvider() {
20593
20661
  return (0,_factories__WEBPACK_IMPORTED_MODULE_16__/* .makeDataProvider */ .S)(this, this.options);
20594
20662
  }
20595
- // eslint-disable-next-line no-unused-vars
20596
20663
  onSelect(callback) {
20597
20664
  return () => {
20598
20665
  if (this.state.activeElements.length) {
@@ -23114,7 +23181,6 @@ class Table extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .ViewCom
23114
23181
  const selector = (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_5__.cssPath)(td);
23115
23182
  selector && selectors.push(selector);
23116
23183
  });
23117
- // eslint-disable-next-line no-prototype-builtins
23118
23184
  style.innerHTML = selectors.length
23119
23185
  ? selectors.join(',') +
23120
23186
  `{${this.jodit.options.table.selectionCellStyle}}`
@@ -23333,46 +23399,39 @@ class Table extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .ViewCom
23333
23399
  removeRow(table, rowIndex) {
23334
23400
  return Table.__removeRow(table, rowIndex);
23335
23401
  }
23336
- static __appendColumn(table, j, after, create) {
23402
+ /**
23403
+ * Insert column before / after all the columns containing the selected cells
23404
+ */
23405
+ appendColumn(table, selectedCell, insertAfter = true) {
23337
23406
  const box = Table.__formalMatrix(table);
23338
- let i;
23339
- if (j === undefined || j < 0) {
23340
- j = Table.__getColumnsCount(table) - 1;
23341
- }
23342
- for (i = 0; i < box.length; i += 1) {
23343
- const cell = create.element('td');
23344
- const td = box[i][j];
23345
- let added = false;
23346
- if (after) {
23347
- if ((box[i] && td && j + 1 >= box[i].length) ||
23348
- td !== box[i][j + 1]) {
23349
- if (td.nextSibling) {
23350
- jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.before(td.nextSibling, cell);
23351
- }
23352
- else {
23353
- td.parentNode && td.parentNode.appendChild(cell);
23354
- }
23355
- added = true;
23407
+ if (!insertAfter && jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.isCell(selectedCell.previousElementSibling)) {
23408
+ return this.appendColumn(table, selectedCell.previousElementSibling, true);
23409
+ }
23410
+ const columnIndex = insertAfter
23411
+ ? selectedCell.cellIndex + ((selectedCell.colSpan || 1) - 1)
23412
+ : selectedCell.cellIndex;
23413
+ const newColumnIndex = insertAfter ? columnIndex + 1 : columnIndex;
23414
+ for (let i = 0; i < box.length;) {
23415
+ const cells = box[i];
23416
+ if (cells[columnIndex] !== cells[newColumnIndex] ||
23417
+ columnIndex === newColumnIndex) {
23418
+ const cell = this.j.createInside.element('td');
23419
+ if (insertAfter) {
23420
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.after(cells[columnIndex], cell);
23356
23421
  }
23357
- }
23358
- else {
23359
- if (j - 1 < 0 ||
23360
- (box[i][j] !== box[i][j - 1] && box[i][j].parentNode)) {
23361
- jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.before(box[i][j], cell);
23362
- added = true;
23422
+ else {
23423
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.before(cells[columnIndex], cell);
23424
+ }
23425
+ if (cells[columnIndex].rowSpan > 1) {
23426
+ cell.rowSpan = cells[columnIndex].rowSpan;
23363
23427
  }
23364
23428
  }
23365
- if (!added) {
23366
- (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);
23429
+ else {
23430
+ cells[columnIndex].colSpan += 1;
23367
23431
  }
23432
+ i += cells[columnIndex].rowSpan || 1;
23368
23433
  }
23369
23434
  }
23370
- /**
23371
- * Insert column before / after all the columns containing the selected cells
23372
- */
23373
- appendColumn(table, j, after) {
23374
- return Table.__appendColumn(table, j, after, this.j.createInside);
23375
- }
23376
23435
  static __removeColumn(table, j) {
23377
23436
  const box = Table.__formalMatrix(table);
23378
23437
  let dec;
@@ -23590,7 +23649,7 @@ class Table extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .ViewCom
23590
23649
  alreadyMerged.delete(first);
23591
23650
  Table.__unmark(__marked);
23592
23651
  Table.__normalizeTable(table);
23593
- (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_5__.toArray)(table.rows).forEach((tr, index) => {
23652
+ (0,jodit_core_helpers___WEBPACK_IMPORTED_MODULE_5__.toArray)(table.rows).forEach(tr => {
23594
23653
  if (!tr.cells.length) {
23595
23654
  jodit_core_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.safeRemove(tr);
23596
23655
  }
@@ -23599,7 +23658,7 @@ class Table extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .ViewCom
23599
23658
  }
23600
23659
  }
23601
23660
  /**
23602
- * It combines all of the selected cells into one. The contents of the cells will also be combined
23661
+ * It combines all the selected cells into one. The contents of the cells will also be combined
23603
23662
  */
23604
23663
  mergeSelected(table) {
23605
23664
  return Table.__mergeSelected(table, this.j);
@@ -25955,7 +26014,9 @@ class addNewLine extends jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Plugin {
25955
26014
  editor.e
25956
26015
  .off(editor.editor, '.' + ns)
25957
26016
  .off(editor.container, '.' + ns)
26017
+ .off('.' + ns)
25958
26018
  .on([editor.ow, editor.ew, editor.editor], 'scroll' + '.' + ns, this.__hideForce)
26019
+ .on('finishedCleanHTMLWorker' + '.' + ns, this.__hideForce)
25959
26020
  .on(editor.editor, 'click' + '.' + ns, this.__hide)
25960
26021
  .on(editor.container, 'mouseleave' + '.' + ns, this.__hide)
25961
26022
  .on(editor.editor, 'mousemove' + '.' + ns, this.__onMouseMove);
@@ -26043,7 +26104,8 @@ class addNewLine extends jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Plugin {
26043
26104
  jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Dom.safeRemove(this.__line);
26044
26105
  this.j.e
26045
26106
  .off([this.j.ow, this.j.ew, this.j.editor], '.' + ns)
26046
- .off(this.j.container, '.' + ns);
26107
+ .off(this.j.container, '.' + ns)
26108
+ .off('.' + ns);
26047
26109
  }
26048
26110
  }
26049
26111
  (0,tslib__WEBPACK_IMPORTED_MODULE_5__/* .__decorate */ .Cg)([
@@ -26934,6 +26996,7 @@ function checkNotCollapsed(jodit) {
26934
26996
  * ```
26935
26997
  * @private
26936
26998
  */
26999
+ // eslint-disable-next-line complexity
26937
27000
  function checkRemoveChar(jodit, fakeNode, backspace, mode) {
26938
27001
  var _a, _b;
26939
27002
  const step = backspace ? -1 : 1;
@@ -28230,13 +28293,21 @@ function allowAttributes(jodit, nodeElm, hadEffect, allow) {
28230
28293
  */
28231
28294
 
28232
28295
 
28296
+ const TABLE_CONTAINER_TAGS = new Set([
28297
+ 'table',
28298
+ 'tbody',
28299
+ 'thead',
28300
+ 'tfoot',
28301
+ 'tr'
28302
+ ]);
28233
28303
  /**
28234
28304
  * @private
28235
28305
  */
28236
28306
  function fillEmptyParagraph(jodit, nodeElm, hadEffect) {
28237
28307
  if (jodit.o.cleanHTML.fillEmptyParagraph &&
28238
28308
  jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isBlock(nodeElm) &&
28239
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isEmpty(nodeElm, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS)) {
28309
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isEmpty(nodeElm, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS) &&
28310
+ !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isTag(nodeElm, TABLE_CONTAINER_TAGS)) {
28240
28311
  const br = jodit.createInside.element('br');
28241
28312
  nodeElm.appendChild(br);
28242
28313
  return true;
@@ -31467,7 +31538,8 @@ class hotkeys extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_3__/* .Plugin *
31467
31538
  constructor() {
31468
31539
  super(...arguments);
31469
31540
  this.onKeyPress = (event) => {
31470
- const special = this.specialKeys[event.which], character = (event.key || String.fromCharCode(event.which)).toLowerCase();
31541
+ const special = this.specialKeys[event.which];
31542
+ const character = (event.key || String.fromCharCode(event.which)).toLowerCase();
31471
31543
  const modif = [special || character];
31472
31544
  ['alt', 'ctrl', 'shift', 'meta'].forEach(specialKey => {
31473
31545
  if (event[specialKey + 'Key'] && special !== specialKey) {
@@ -31561,7 +31633,8 @@ class hotkeys extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_3__/* .Plugin *
31561
31633
  }
31562
31634
  })
31563
31635
  .on('keydown.hotkeys', (event) => {
31564
- const shortcut = this.onKeyPress(event), stop = {
31636
+ const shortcut = this.onKeyPress(event);
31637
+ const stop = {
31565
31638
  shouldStop: true
31566
31639
  };
31567
31640
  const resultOfFire = this.j.e.fire(shortcut + '.hotkey', event.type, stop);
@@ -31735,6 +31808,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.iframeStyle
31735
31808
  '-ms-user-select: none' +
31736
31809
  '}';
31737
31810
  jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.iframeCSSLinks = [];
31811
+ jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.iframeSandbox = null;
31738
31812
 
31739
31813
 
31740
31814
  /***/ }),
@@ -31811,6 +31885,9 @@ function iframe(editor) {
31811
31885
  iframe.setAttribute('allowtransparency', 'true');
31812
31886
  iframe.setAttribute('tabindex', opt.tabIndex.toString());
31813
31887
  iframe.setAttribute('frameborder', '0');
31888
+ if (opt.iframeSandbox != null) {
31889
+ iframe.setAttribute('sandbox', opt.iframeSandbox);
31890
+ }
31814
31891
  editor.workplace.appendChild(iframe);
31815
31892
  editor.iframe = iframe;
31816
31893
  const result = editor.e.fire('generateDocumentStructure.iframe', null, editor);
@@ -37594,13 +37671,13 @@ function generateCriticalCSS(jodit) {
37594
37671
  /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
37595
37672
  /* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33465);
37596
37673
  /* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51431);
37597
- /* harmony import */ var jodit_core_helpers_utils_default_language__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(54614);
37598
- /* harmony import */ var jodit_core_helpers_utils_print__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(85769);
37599
- /* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(80004);
37600
- /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(91288);
37601
- /* harmony import */ var _lib_generate_critical_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(86134);
37602
- /* harmony import */ var _print_svg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(26899);
37603
- /* harmony import */ var _print_svg__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_print_svg__WEBPACK_IMPORTED_MODULE_7__);
37674
+ /* harmony import */ var jodit_core_helpers_utils_default_language__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(54614);
37675
+ /* harmony import */ var jodit_core_helpers_utils_print__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(85769);
37676
+ /* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(80004);
37677
+ /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(91288);
37678
+ /* harmony import */ var _lib_generate_critical_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(86134);
37679
+ /* harmony import */ var _print_svg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(26899);
37680
+ /* harmony import */ var _print_svg__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_print_svg__WEBPACK_IMPORTED_MODULE_8__);
37604
37681
  /*!
37605
37682
  * Jodit Editor (https://xdsoft.net/jodit/)
37606
37683
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -37615,8 +37692,8 @@ function generateCriticalCSS(jodit) {
37615
37692
 
37616
37693
 
37617
37694
 
37618
- jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_4__/* .Icon */ .I.set('print', (_print_svg__WEBPACK_IMPORTED_MODULE_7___default()));
37619
- jodit_config__WEBPACK_IMPORTED_MODULE_5__/* .Config */ .T.prototype.controls.print = {
37695
+ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__/* .Icon */ .I.set('print', (_print_svg__WEBPACK_IMPORTED_MODULE_8___default()));
37696
+ jodit_config__WEBPACK_IMPORTED_MODULE_6__/* .Config */ .T.prototype.controls.print = {
37620
37697
  exec: (editor) => {
37621
37698
  const iframe = editor.create.element('iframe');
37622
37699
  Object.assign(iframe.style, {
@@ -37627,7 +37704,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_5__/* .Config */ .T.prototype.controls.pri
37627
37704
  height: 0,
37628
37705
  border: 0
37629
37706
  });
37630
- (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .getContainer */ .My)(editor, jodit_config__WEBPACK_IMPORTED_MODULE_5__/* .Config */ .T).appendChild(iframe);
37707
+ (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .getContainer */ .My)(editor, jodit_config__WEBPACK_IMPORTED_MODULE_6__/* .Config */ .T).appendChild(iframe);
37631
37708
  const afterFinishPrint = () => {
37632
37709
  editor.e.off(editor.ow, 'mousemove', afterFinishPrint);
37633
37710
  jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.safeRemove(iframe);
@@ -37643,12 +37720,12 @@ jodit_config__WEBPACK_IMPORTED_MODULE_5__/* .Config */ .T.prototype.controls.pri
37643
37720
  }
37644
37721
  else {
37645
37722
  myWindow.document.write('<!doctype html><html lang="' +
37646
- (0,jodit_core_helpers_utils_default_language__WEBPACK_IMPORTED_MODULE_8__/* .defaultLanguage */ .e)(editor.o.language) +
37723
+ (0,jodit_core_helpers_utils_default_language__WEBPACK_IMPORTED_MODULE_3__/* .defaultLanguage */ .e)(editor.o.language) +
37647
37724
  '"><head><title></title></head><style>' +
37648
- (0,_lib_generate_critical_css__WEBPACK_IMPORTED_MODULE_6__/* .generateCriticalCSS */ .Y)(editor) +
37725
+ (0,_lib_generate_critical_css__WEBPACK_IMPORTED_MODULE_7__/* .generateCriticalCSS */ .Y)(editor) +
37649
37726
  '</style><body></body></html>');
37650
37727
  myWindow.document.close();
37651
- (0,jodit_core_helpers_utils_print__WEBPACK_IMPORTED_MODULE_3__/* .previewBox */ .u)(editor, undefined, 'px', myWindow.document.body);
37728
+ (0,jodit_core_helpers_utils_print__WEBPACK_IMPORTED_MODULE_4__/* .previewBox */ .u)(editor, undefined, 'px', myWindow.document.body);
37652
37729
  }
37653
37730
  const style = myWindow.document.createElement('style');
37654
37731
  style.innerHTML = `@media print {
@@ -38724,10 +38801,11 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .pluginSystem */ .fg.add('resiz
38724
38801
  /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
38725
38802
 
38726
38803
  "use strict";
38727
- /* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(80004);
38728
- /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(91288);
38729
- /* harmony import */ var _search_svg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(98973);
38730
- /* harmony import */ var _search_svg__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_search_svg__WEBPACK_IMPORTED_MODULE_2__);
38804
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
38805
+ /* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(80004);
38806
+ /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91288);
38807
+ /* harmony import */ var _search_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(98973);
38808
+ /* harmony import */ var _search_svg__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_search_svg__WEBPACK_IMPORTED_MODULE_3__);
38731
38809
  /*!
38732
38810
  * Jodit Editor (https://xdsoft.net/jodit/)
38733
38811
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -38737,14 +38815,14 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .pluginSystem */ .fg.add('resiz
38737
38815
 
38738
38816
 
38739
38817
 
38740
- jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config */ .T.prototype.useSearch = true;
38741
- jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config */ .T.prototype.search = {
38818
+
38819
+ jodit_config__WEBPACK_IMPORTED_MODULE_2__/* .Config */ .T.prototype.useSearch = true;
38820
+ jodit_config__WEBPACK_IMPORTED_MODULE_2__/* .Config */ .T.prototype.search = {
38742
38821
  lazyIdleTimeout: 0,
38743
- // @ts-ignore Because Highlight is not defined in the types TS 5.3.3
38744
- useCustomHighlightAPI: typeof window.Highlight !== 'undefined'
38822
+ useCustomHighlightAPI: jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow && typeof jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow.Highlight !== 'undefined'
38745
38823
  };
38746
- jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_0__/* .Icon */ .I.set('search', (_search_svg__WEBPACK_IMPORTED_MODULE_2___default()));
38747
- jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config */ .T.prototype.controls.find = {
38824
+ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_1__/* .Icon */ .I.set('search', (_search_svg__WEBPACK_IMPORTED_MODULE_3___default()));
38825
+ jodit_config__WEBPACK_IMPORTED_MODULE_2__/* .Config */ .T.prototype.controls.find = {
38748
38826
  tooltip: 'Find',
38749
38827
  icon: 'search',
38750
38828
  exec(jodit, _, { control }) {
@@ -38785,8 +38863,9 @@ jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config */ .T.prototype.controls.fin
38785
38863
  /* harmony export */ _B: function() { return /* binding */ highlightTextRanges; },
38786
38864
  /* harmony export */ zy: function() { return /* binding */ getSelectionWrappers; }
38787
38865
  /* harmony export */ });
38788
- /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23545);
38789
- /* harmony import */ var jodit_core_helpers_utils_selector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(52989);
38866
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67259);
38867
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23545);
38868
+ /* harmony import */ var jodit_core_helpers_utils_selector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(52989);
38790
38869
  /*!
38791
38870
  * Jodit Editor (https://xdsoft.net/jodit/)
38792
38871
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -38794,6 +38873,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config */ .T.prototype.controls.fin
38794
38873
  */
38795
38874
 
38796
38875
 
38876
+
38797
38877
  /**
38798
38878
  * @private
38799
38879
  */
@@ -38812,15 +38892,15 @@ function highlightTextRanges(jodit, rng, restRanges, ci, root) {
38812
38892
  const span = ci.element('span', {
38813
38893
  [TMP_ATTR]: true
38814
38894
  });
38815
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.markTemporary(span);
38895
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.markTemporary(span);
38816
38896
  normalizeRanges(rng, restRanges, ci);
38817
38897
  let next = rng.startContainer;
38818
38898
  do {
38819
38899
  if (!next) {
38820
38900
  break;
38821
38901
  }
38822
- if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isText(next) && !isSelectionWrapper(next.parentNode)) {
38823
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.wrap(next, span.cloneNode(), ci);
38902
+ if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isText(next) && !isSelectionWrapper(next.parentNode)) {
38903
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.wrap(next, span.cloneNode(), ci);
38824
38904
  }
38825
38905
  if (next === rng.endContainer) {
38826
38906
  break;
@@ -38839,13 +38919,13 @@ function highlightTextRanges(jodit, rng, restRanges, ci, root) {
38839
38919
  * @private
38840
38920
  */
38841
38921
  function getSelectionWrappers(root) {
38842
- return (0,jodit_core_helpers_utils_selector__WEBPACK_IMPORTED_MODULE_1__.$$)(`[${TMP_ATTR}]`, root);
38922
+ return (0,jodit_core_helpers_utils_selector__WEBPACK_IMPORTED_MODULE_2__.$$)(`[${TMP_ATTR}]`, root);
38843
38923
  }
38844
38924
  /**
38845
38925
  * @private
38846
38926
  */
38847
38927
  function clearSelectionWrappers(root) {
38848
- getSelectionWrappers(root).forEach(span => jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.unwrap(span));
38928
+ getSelectionWrappers(root).forEach(span => jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.unwrap(span));
38849
38929
  }
38850
38930
  /**
38851
38931
  * @private
@@ -38857,12 +38937,13 @@ function clearSelectionWrappersFromHTML(root) {
38857
38937
  * @private
38858
38938
  */
38859
38939
  function isSelectionWrapper(node) {
38860
- return jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isElement(node) && node.hasAttribute(TMP_ATTR);
38940
+ return jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isElement(node) && node.hasAttribute(TMP_ATTR);
38861
38941
  }
38862
38942
  function checkNativeSelectionMethod(jodit, rng, restRanges) {
38863
38943
  if (jodit.o.search.useCustomHighlightAPI &&
38864
38944
  // @ts-ignore Because Highlight is not defined in the types TS 5.3.3
38865
- typeof window.Highlight !== 'undefined') {
38945
+ jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow &&
38946
+ typeof jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow.Highlight !== 'undefined') {
38866
38947
  const ranges = [rng, ...restRanges].map(rng => {
38867
38948
  const range = jodit.selection.createRange();
38868
38949
  range.setStart(rng.startContainer, rng.startOffset);
@@ -38886,7 +38967,7 @@ function normalizeRanges(rng, restRanges, ci) {
38886
38967
  if (rng.startOffset !== 0) {
38887
38968
  const text = ci.text(startText.substring(0, rng.startOffset));
38888
38969
  rng.startContainer.nodeValue = startText.substring(rng.startOffset);
38889
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.before(rng.startContainer, text);
38970
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.before(rng.startContainer, text);
38890
38971
  if (rng.startContainer === rng.endContainer) {
38891
38972
  diff = rng.startOffset;
38892
38973
  rng.endOffset -= diff;
@@ -38897,7 +38978,7 @@ function normalizeRanges(rng, restRanges, ci) {
38897
38978
  if (rng.endOffset !== endText.length) {
38898
38979
  const text = ci.text(endText.substring(rng.endOffset));
38899
38980
  rng.endContainer.nodeValue = endText.substring(0, rng.endOffset);
38900
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.after(rng.endContainer, text);
38981
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.after(rng.endContainer, text);
38901
38982
  for (const range of restRanges) {
38902
38983
  if (range.startContainer === rng.endContainer) {
38903
38984
  range.startContainer = text;
@@ -39914,7 +39995,7 @@ class selectCells extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_5__/* .Plug
39914
39995
  break;
39915
39996
  case 'addcolumnafter':
39916
39997
  case 'addcolumnbefore':
39917
- this.__tableModule.appendColumn(table, cell.cellIndex, command === 'addcolumnafter');
39998
+ this.__tableModule.appendColumn(table, cell, command === 'addcolumnafter');
39918
39999
  break;
39919
40000
  case 'addrowafter':
39920
40001
  case 'addrowbefore':
@@ -41794,6 +41875,7 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_1__/* .pluginSystem */ .fg.add('spell
41794
41875
 
41795
41876
  jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.showCharsCounter = true;
41796
41877
  jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.countHTMLChars = false;
41878
+ jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.countTextSpaces = false;
41797
41879
  jodit_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.showWordsCounter = true;
41798
41880
 
41799
41881
 
@@ -41840,9 +41922,20 @@ class stat extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_3__/* .Plug
41840
41922
  this.calc = this.j.async.throttle(() => {
41841
41923
  const text = this.j.text;
41842
41924
  if (this.j.o.showCharsCounter && this.charCounter) {
41843
- const chars = this.j.o.countHTMLChars
41844
- ? this.j.value
41845
- : text.replace((0,jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.SPACE_REG_EXP)(), '');
41925
+ let chars;
41926
+ if (this.j.o.countHTMLChars) {
41927
+ chars = this.j.value;
41928
+ }
41929
+ else {
41930
+ if (this.j.o.countTextSpaces) {
41931
+ chars = text
41932
+ .replace((0,jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE_REG_EXP)(), '')
41933
+ .replace(/[\r\n]/g, '');
41934
+ }
41935
+ else {
41936
+ chars = text.replace((0,jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.SPACE_REG_EXP)(), '');
41937
+ }
41938
+ }
41846
41939
  this.charCounter.textContent = this.j.i18n('Chars: %d', chars.length);
41847
41940
  }
41848
41941
  if (this.j.o.showWordsCounter && this.wordCounter) {
@@ -42476,8 +42569,9 @@ __webpack_require__.r(__webpack_exports__);
42476
42569
  /* harmony export */ pt_br: function() { return /* reexport module object */ _pt_br_js__WEBPACK_IMPORTED_MODULE_16__; },
42477
42570
  /* harmony export */ ru: function() { return /* reexport module object */ _ru_js__WEBPACK_IMPORTED_MODULE_17__; },
42478
42571
  /* harmony export */ tr: function() { return /* reexport module object */ _tr_js__WEBPACK_IMPORTED_MODULE_18__; },
42479
- /* harmony export */ zh_cn: function() { return /* reexport module object */ _zh_cn_js__WEBPACK_IMPORTED_MODULE_19__; },
42480
- /* harmony export */ zh_tw: function() { return /* reexport module object */ _zh_tw_js__WEBPACK_IMPORTED_MODULE_20__; }
42572
+ /* harmony export */ ua: function() { return /* reexport module object */ _ua_js__WEBPACK_IMPORTED_MODULE_19__; },
42573
+ /* harmony export */ zh_cn: function() { return /* reexport module object */ _zh_cn_js__WEBPACK_IMPORTED_MODULE_20__; },
42574
+ /* harmony export */ zh_tw: function() { return /* reexport module object */ _zh_tw_js__WEBPACK_IMPORTED_MODULE_21__; }
42481
42575
  /* harmony export */ });
42482
42576
  /* harmony import */ var _ar_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(52438);
42483
42577
  /* harmony import */ var _ar_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ar_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -42517,10 +42611,12 @@ __webpack_require__.r(__webpack_exports__);
42517
42611
  /* harmony import */ var _ru_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_ru_js__WEBPACK_IMPORTED_MODULE_17__);
42518
42612
  /* harmony import */ var _tr_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(64331);
42519
42613
  /* harmony import */ var _tr_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_tr_js__WEBPACK_IMPORTED_MODULE_18__);
42520
- /* harmony import */ var _zh_cn_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(13599);
42521
- /* harmony import */ var _zh_cn_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_zh_cn_js__WEBPACK_IMPORTED_MODULE_19__);
42522
- /* harmony import */ var _zh_tw_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(70871);
42523
- /* harmony import */ var _zh_tw_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_zh_tw_js__WEBPACK_IMPORTED_MODULE_20__);
42614
+ /* harmony import */ var _ua_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(87983);
42615
+ /* harmony import */ var _ua_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_ua_js__WEBPACK_IMPORTED_MODULE_19__);
42616
+ /* harmony import */ var _zh_cn_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(13599);
42617
+ /* harmony import */ var _zh_cn_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_zh_cn_js__WEBPACK_IMPORTED_MODULE_20__);
42618
+ /* harmony import */ var _zh_tw_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(70871);
42619
+ /* harmony import */ var _zh_tw_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_zh_tw_js__WEBPACK_IMPORTED_MODULE_21__);
42524
42620
  /*!
42525
42621
  * Jodit Editor (https://xdsoft.net/jodit/)
42526
42622
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -42548,6 +42644,7 @@ __webpack_require__.r(__webpack_exports__);
42548
42644
 
42549
42645
 
42550
42646
 
42647
+
42551
42648
 
42552
42649
 
42553
42650
  /***/ }),
@@ -42703,6 +42800,23 @@ module.exports = {
42703
42800
  };
42704
42801
 
42705
42802
 
42803
+ /***/ }),
42804
+
42805
+ /***/ 87983:
42806
+ /***/ (function(module) {
42807
+
42808
+ "use strict";
42809
+
42810
+ /*!
42811
+ * Jodit Editor (https://xdsoft.net/jodit/)
42812
+ * Released under MIT see LICENSE.txt in the project root for license information.
42813
+ * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
42814
+ */
42815
+ module.exports = {
42816
+ symbols: 'символ'
42817
+ };
42818
+
42819
+
42706
42820
  /***/ }),
42707
42821
 
42708
42822
  /***/ 13599:
@@ -43273,6 +43387,8 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.controls.tab
43273
43387
  }
43274
43388
  },
43275
43389
  popup: (editor, current, close, button) => {
43390
+ editor.editor.normalize();
43391
+ const snapshot = editor.history.snapshot.make();
43276
43392
  const control = button.control;
43277
43393
  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;
43278
43394
  const generateExtraClasses = () => {
@@ -43365,10 +43481,24 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.controls.tab
43365
43481
  table.classList.add(className);
43366
43482
  });
43367
43483
  });
43368
- if (editor.editor.firstChild) {
43369
- editor.s.insertNode(crt.text('\n'), false, false);
43484
+ editor.s.restore();
43485
+ editor.s.removeMarkers();
43486
+ editor.editor.normalize();
43487
+ editor.history.snapshot.restore(snapshot);
43488
+ 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);
43489
+ if (block && jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isEmpty(block)) {
43490
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.replace(block, table, undefined, false, true);
43491
+ }
43492
+ else {
43493
+ if (block) {
43494
+ const fake = crt.text('\n');
43495
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.after(block, fake);
43496
+ jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.after(fake, table);
43497
+ }
43498
+ else {
43499
+ editor.s.insertNode(table, false);
43500
+ }
43370
43501
  }
43371
- editor.s.insertNode(table, false);
43372
43502
  if (first_td) {
43373
43503
  editor.s.setCursorIn(first_td);
43374
43504
  (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.scrollIntoViewIfNeeded)(first_td, editor.editor, editor.ed);
@@ -44411,7 +44541,6 @@ function getTextLeftOfCursor(range) {
44411
44541
  */
44412
44542
  function replaceTextLeftOfCursorAfterSpace(range, elm) {
44413
44543
  var _a, _b, _c;
44414
- // eslint-disable-next-line prefer-const
44415
44544
  let { startContainer, startOffset } = range;
44416
44545
  if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom */ .J.isText(startContainer)) {
44417
44546
  startContainer = startContainer.childNodes[startOffset - 1];
@@ -44920,7 +45049,6 @@ function convertToList(elm) {
44920
45049
  return elm;
44921
45050
  }
44922
45051
  function moveUp(leaf) {
44923
- // eslint-disable-next-line no-constant-condition
44924
45052
  while (leaf) {
44925
45053
  const prev = leaf.previousElement;
44926
45054
  // Leaf after P
@@ -46309,7 +46437,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
46309
46437
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
46310
46438
  PERFORMANCE OF THIS SOFTWARE.
46311
46439
  ***************************************************************************** */
46312
- /* global Reflect, Promise, SuppressedError, Symbol */
46440
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
46313
46441
 
46314
46442
  var extendStatics = function(d, b) {
46315
46443
  extendStatics = Object.setPrototypeOf ||
@@ -46420,8 +46548,8 @@ function __awaiter(thisArg, _arguments, P, generator) {
46420
46548
  }
46421
46549
 
46422
46550
  function __generator(thisArg, body) {
46423
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
46424
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
46551
+ 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);
46552
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
46425
46553
  function verb(n) { return function (v) { return step([n, v]); }; }
46426
46554
  function step(op) {
46427
46555
  if (f) throw new TypeError("Generator is already executing.");
@@ -46525,8 +46653,9 @@ function __await(v) {
46525
46653
  function __asyncGenerator(thisArg, _arguments, generator) {
46526
46654
  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
46527
46655
  var g = generator.apply(thisArg, _arguments || []), i, q = [];
46528
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
46529
- 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); }); }; }
46656
+ return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
46657
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
46658
+ 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]); } }
46530
46659
  function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
46531
46660
  function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
46532
46661
  function fulfill(value) { resume("next", value); }
@@ -46592,16 +46721,18 @@ function __classPrivateFieldIn(state, receiver) {
46592
46721
  function __addDisposableResource(env, value, async) {
46593
46722
  if (value !== null && value !== void 0) {
46594
46723
  if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
46595
- var dispose;
46724
+ var dispose, inner;
46596
46725
  if (async) {
46597
- if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
46598
- dispose = value[Symbol.asyncDispose];
46726
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
46727
+ dispose = value[Symbol.asyncDispose];
46599
46728
  }
46600
46729
  if (dispose === void 0) {
46601
- if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
46602
- dispose = value[Symbol.dispose];
46730
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
46731
+ dispose = value[Symbol.dispose];
46732
+ if (async) inner = dispose;
46603
46733
  }
46604
46734
  if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
46735
+ if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
46605
46736
  env.stack.push({ value: value, dispose: dispose, async: async });
46606
46737
  }
46607
46738
  else if (async) {
@@ -46620,17 +46751,22 @@ function __disposeResources(env) {
46620
46751
  env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
46621
46752
  env.hasError = true;
46622
46753
  }
46754
+ var r, s = 0;
46623
46755
  function next() {
46624
- while (env.stack.length) {
46625
- var rec = env.stack.pop();
46756
+ while (r = env.stack.pop()) {
46626
46757
  try {
46627
- var result = rec.dispose && rec.dispose.call(rec.value);
46628
- if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
46758
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
46759
+ if (r.dispose) {
46760
+ var result = r.dispose.call(r.value);
46761
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
46762
+ }
46763
+ else s |= 1;
46629
46764
  }
46630
46765
  catch (e) {
46631
- fail(e);
46766
+ fail(e);
46632
46767
  }
46633
46768
  }
46769
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
46634
46770
  if (env.hasError) throw env.error;
46635
46771
  }
46636
46772
  return next();
@@ -46757,11 +46893,88 @@ function __disposeResources(env) {
46757
46893
  /******/ };
46758
46894
  /******/ }();
46759
46895
  /******/
46896
+ /******/ /* webpack/runtime/ensure chunk */
46897
+ /******/ !function() {
46898
+ /******/ __webpack_require__.f = {};
46899
+ /******/ // This file contains only the entry chunk.
46900
+ /******/ // The chunk loading function for additional chunks
46901
+ /******/ __webpack_require__.e = function(chunkId) {
46902
+ /******/ return Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {
46903
+ /******/ __webpack_require__.f[key](chunkId, promises);
46904
+ /******/ return promises;
46905
+ /******/ }, []));
46906
+ /******/ };
46907
+ /******/ }();
46908
+ /******/
46909
+ /******/ /* webpack/runtime/get javascript chunk filename */
46910
+ /******/ !function() {
46911
+ /******/ // This function allow to reference async chunks
46912
+ /******/ __webpack_require__.u = function(chunkId) {
46913
+ /******/ // return url for filenames based on template
46914
+ /******/ return "" + chunkId + ".js";
46915
+ /******/ };
46916
+ /******/ }();
46917
+ /******/
46918
+ /******/ /* webpack/runtime/get mini-css chunk filename */
46919
+ /******/ !function() {
46920
+ /******/ // This function allow to reference async chunks
46921
+ /******/ __webpack_require__.miniCssF = function(chunkId) {
46922
+ /******/ // return url for filenames based on template
46923
+ /******/ return undefined;
46924
+ /******/ };
46925
+ /******/ }();
46926
+ /******/
46760
46927
  /******/ /* webpack/runtime/hasOwnProperty shorthand */
46761
46928
  /******/ !function() {
46762
46929
  /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
46763
46930
  /******/ }();
46764
46931
  /******/
46932
+ /******/ /* webpack/runtime/load script */
46933
+ /******/ !function() {
46934
+ /******/ var inProgress = {};
46935
+ /******/ var dataWebpackPrefix = "jodit-pro:";
46936
+ /******/ // loadScript function to load a script via script tag
46937
+ /******/ __webpack_require__.l = function(url, done, key, chunkId) {
46938
+ /******/ if(inProgress[url]) { inProgress[url].push(done); return; }
46939
+ /******/ var script, needAttach;
46940
+ /******/ if(key !== undefined) {
46941
+ /******/ var scripts = document.getElementsByTagName("script");
46942
+ /******/ for(var i = 0; i < scripts.length; i++) {
46943
+ /******/ var s = scripts[i];
46944
+ /******/ if(s.getAttribute("src") == url || s.getAttribute("data-webpack") == dataWebpackPrefix + key) { script = s; break; }
46945
+ /******/ }
46946
+ /******/ }
46947
+ /******/ if(!script) {
46948
+ /******/ needAttach = true;
46949
+ /******/ script = document.createElement('script');
46950
+ /******/
46951
+ /******/ script.charset = 'utf-8';
46952
+ /******/ script.timeout = 120;
46953
+ /******/ if (__webpack_require__.nc) {
46954
+ /******/ script.setAttribute("nonce", __webpack_require__.nc);
46955
+ /******/ }
46956
+ /******/ script.setAttribute("data-webpack", dataWebpackPrefix + key);
46957
+ /******/
46958
+ /******/ script.src = url;
46959
+ /******/ }
46960
+ /******/ inProgress[url] = [done];
46961
+ /******/ var onScriptComplete = function(prev, event) {
46962
+ /******/ // avoid mem leaks in IE.
46963
+ /******/ script.onerror = script.onload = null;
46964
+ /******/ clearTimeout(timeout);
46965
+ /******/ var doneFns = inProgress[url];
46966
+ /******/ delete inProgress[url];
46967
+ /******/ script.parentNode && script.parentNode.removeChild(script);
46968
+ /******/ doneFns && doneFns.forEach(function(fn) { return fn(event); });
46969
+ /******/ if(prev) return prev(event);
46970
+ /******/ }
46971
+ /******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);
46972
+ /******/ script.onerror = onScriptComplete.bind(null, script.onerror);
46973
+ /******/ script.onload = onScriptComplete.bind(null, script.onload);
46974
+ /******/ needAttach && document.head.appendChild(script);
46975
+ /******/ };
46976
+ /******/ }();
46977
+ /******/
46765
46978
  /******/ /* webpack/runtime/make namespace object */
46766
46979
  /******/ !function() {
46767
46980
  /******/ // define __esModule on exports
@@ -46773,6 +46986,11 @@ function __disposeResources(env) {
46773
46986
  /******/ };
46774
46987
  /******/ }();
46775
46988
  /******/
46989
+ /******/ /* webpack/runtime/publicPath */
46990
+ /******/ !function() {
46991
+ /******/ __webpack_require__.p = "/build/";
46992
+ /******/ }();
46993
+ /******/
46776
46994
  /******/ /* webpack/runtime/jsonp chunk loading */
46777
46995
  /******/ !function() {
46778
46996
  /******/ // no baseURI
@@ -46784,7 +47002,44 @@ function __disposeResources(env) {
46784
47002
  /******/ 521: 0
46785
47003
  /******/ };
46786
47004
  /******/
46787
- /******/ // no chunk on demand loading
47005
+ /******/ __webpack_require__.f.j = function(chunkId, promises) {
47006
+ /******/ // JSONP chunk loading for javascript
47007
+ /******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;
47008
+ /******/ if(installedChunkData !== 0) { // 0 means "already installed".
47009
+ /******/
47010
+ /******/ // a Promise means "currently loading".
47011
+ /******/ if(installedChunkData) {
47012
+ /******/ promises.push(installedChunkData[2]);
47013
+ /******/ } else {
47014
+ /******/ if(true) { // all chunks have JS
47015
+ /******/ // setup Promise in chunk cache
47016
+ /******/ var promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });
47017
+ /******/ promises.push(installedChunkData[2] = promise);
47018
+ /******/
47019
+ /******/ // start chunk loading
47020
+ /******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId);
47021
+ /******/ // create error before stack unwound to get useful stacktrace later
47022
+ /******/ var error = new Error();
47023
+ /******/ var loadingEnded = function(event) {
47024
+ /******/ if(__webpack_require__.o(installedChunks, chunkId)) {
47025
+ /******/ installedChunkData = installedChunks[chunkId];
47026
+ /******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined;
47027
+ /******/ if(installedChunkData) {
47028
+ /******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
47029
+ /******/ var realSrc = event && event.target && event.target.src;
47030
+ /******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
47031
+ /******/ error.name = 'ChunkLoadError';
47032
+ /******/ error.type = errorType;
47033
+ /******/ error.request = realSrc;
47034
+ /******/ installedChunkData[1](error);
47035
+ /******/ }
47036
+ /******/ }
47037
+ /******/ };
47038
+ /******/ __webpack_require__.l(url, loadingEnded, "chunk-" + chunkId, chunkId);
47039
+ /******/ }
47040
+ /******/ }
47041
+ /******/ }
47042
+ /******/ };
46788
47043
  /******/
46789
47044
  /******/ // no prefetching
46790
47045
  /******/