jodit-pro 4.17.1 → 4.17.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/es2015/jodit.css +1 -1
  2. package/es2015/jodit.fat.min.js +4 -4
  3. package/es2015/jodit.js +179 -7
  4. package/es2015/jodit.min.js +6 -6
  5. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  6. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  7. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  8. package/es2015/plugins/autocomplete/autocomplete.css +1 -1
  9. package/es2015/plugins/autocomplete/autocomplete.js +1 -1
  10. package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
  11. package/es2015/plugins/backup/backup.css +1 -1
  12. package/es2015/plugins/backup/backup.js +1 -1
  13. package/es2015/plugins/backup/backup.min.js +1 -1
  14. package/es2015/plugins/button-generator/button-generator.css +1 -1
  15. package/es2015/plugins/button-generator/button-generator.js +1 -1
  16. package/es2015/plugins/button-generator/button-generator.min.js +1 -1
  17. package/es2015/plugins/change-case/change-case.js +1 -1
  18. package/es2015/plugins/change-case/change-case.min.js +1 -1
  19. package/es2015/plugins/color-picker/color-picker.css +1 -1
  20. package/es2015/plugins/color-picker/color-picker.js +1 -1
  21. package/es2015/plugins/color-picker/color-picker.min.js +1 -1
  22. package/es2015/plugins/emoji/emoji.css +1 -1
  23. package/es2015/plugins/emoji/emoji.js +1 -1
  24. package/es2015/plugins/emoji/emoji.min.js +1 -1
  25. package/es2015/plugins/export-docs/export-docs.js +1 -1
  26. package/es2015/plugins/export-docs/export-docs.min.js +1 -1
  27. package/es2015/plugins/finder/finder.css +1 -1
  28. package/es2015/plugins/finder/finder.js +1 -1
  29. package/es2015/plugins/finder/finder.min.js +1 -1
  30. package/es2015/plugins/google-maps/google-maps.css +1 -1
  31. package/es2015/plugins/google-maps/google-maps.js +1 -1
  32. package/es2015/plugins/google-maps/google-maps.min.js +1 -1
  33. package/es2015/plugins/google-search/google-search.js +1 -1
  34. package/es2015/plugins/google-search/google-search.min.js +1 -1
  35. package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
  36. package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
  37. package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
  38. package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
  39. package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
  40. package/es2015/plugins/image-editor-pro/image-editor-pro.css +1 -1
  41. package/es2015/plugins/image-editor-pro/image-editor-pro.js +1 -1
  42. package/es2015/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  43. package/es2015/plugins/keyboard/keyboard.css +1 -1
  44. package/es2015/plugins/keyboard/keyboard.js +1 -1
  45. package/es2015/plugins/keyboard/keyboard.min.js +1 -1
  46. package/es2015/plugins/mobile-view/mobile-view.js +1 -1
  47. package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
  48. package/es2015/plugins/page-break/page-break.js +1 -1
  49. package/es2015/plugins/page-break/page-break.min.js +1 -1
  50. package/es2015/plugins/paste-code/paste-code.css +1 -1
  51. package/es2015/plugins/paste-code/paste-code.js +1 -1
  52. package/es2015/plugins/paste-code/paste-code.min.js +1 -1
  53. package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
  54. package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
  55. package/es2015/plugins/show-blocks/show-blocks.js +1 -1
  56. package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
  57. package/es2015/plugins/style/style.css +1 -1
  58. package/es2015/plugins/style/style.js +1 -1
  59. package/es2015/plugins/style/style.min.js +1 -1
  60. package/es2015/plugins/templates/templates.css +1 -1
  61. package/es2015/plugins/templates/templates.js +1 -1
  62. package/es2015/plugins/templates/templates.min.js +1 -1
  63. package/es2015/plugins/todo-list/todo-list.css +1 -1
  64. package/es2015/plugins/todo-list/todo-list.js +1 -1
  65. package/es2015/plugins/todo-list/todo-list.min.js +1 -1
  66. package/es2015/plugins/translate/translate.css +1 -1
  67. package/es2015/plugins/translate/translate.js +1 -1
  68. package/es2015/plugins/translate/translate.min.js +1 -1
  69. package/es2015/plugins/tune-block/tune-block.css +1 -1
  70. package/es2015/plugins/tune-block/tune-block.js +1 -1
  71. package/es2015/plugins/tune-block/tune-block.min.js +1 -1
  72. package/es2018/jodit.fat.min.js +4 -4
  73. package/es2018/jodit.min.js +6 -6
  74. package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  75. package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
  76. package/es2018/plugins/backup/backup.min.js +1 -1
  77. package/es2018/plugins/button-generator/button-generator.min.js +1 -1
  78. package/es2018/plugins/change-case/change-case.min.js +1 -1
  79. package/es2018/plugins/color-picker/color-picker.min.js +1 -1
  80. package/es2018/plugins/emoji/emoji.min.js +1 -1
  81. package/es2018/plugins/export-docs/export-docs.min.js +1 -1
  82. package/es2018/plugins/finder/finder.min.js +1 -1
  83. package/es2018/plugins/google-maps/google-maps.min.js +1 -1
  84. package/es2018/plugins/google-search/google-search.min.js +1 -1
  85. package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
  86. package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
  87. package/es2018/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  88. package/es2018/plugins/keyboard/keyboard.min.js +1 -1
  89. package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
  90. package/es2018/plugins/page-break/page-break.min.js +1 -1
  91. package/es2018/plugins/paste-code/paste-code.min.js +1 -1
  92. package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
  93. package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
  94. package/es2018/plugins/style/style.min.js +1 -1
  95. package/es2018/plugins/templates/templates.min.js +1 -1
  96. package/es2018/plugins/todo-list/todo-list.min.js +1 -1
  97. package/es2018/plugins/translate/translate.min.js +1 -1
  98. package/es2018/plugins/tune-block/tune-block.min.js +1 -1
  99. package/es2021/jodit.css +1 -1
  100. package/es2021/jodit.fat.min.js +6 -6
  101. package/es2021/jodit.js +179 -7
  102. package/es2021/jodit.min.js +8 -8
  103. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  104. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  105. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  106. package/es2021/plugins/autocomplete/autocomplete.css +1 -1
  107. package/es2021/plugins/autocomplete/autocomplete.js +1 -1
  108. package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
  109. package/es2021/plugins/backup/backup.css +1 -1
  110. package/es2021/plugins/backup/backup.js +1 -1
  111. package/es2021/plugins/backup/backup.min.js +1 -1
  112. package/es2021/plugins/button-generator/button-generator.css +1 -1
  113. package/es2021/plugins/button-generator/button-generator.js +1 -1
  114. package/es2021/plugins/button-generator/button-generator.min.js +1 -1
  115. package/es2021/plugins/change-case/change-case.js +1 -1
  116. package/es2021/plugins/change-case/change-case.min.js +1 -1
  117. package/es2021/plugins/color-picker/color-picker.css +1 -1
  118. package/es2021/plugins/color-picker/color-picker.js +1 -1
  119. package/es2021/plugins/color-picker/color-picker.min.js +1 -1
  120. package/es2021/plugins/emoji/emoji.css +1 -1
  121. package/es2021/plugins/emoji/emoji.js +1 -1
  122. package/es2021/plugins/emoji/emoji.min.js +1 -1
  123. package/es2021/plugins/export-docs/export-docs.js +1 -1
  124. package/es2021/plugins/export-docs/export-docs.min.js +1 -1
  125. package/es2021/plugins/finder/finder.css +1 -1
  126. package/es2021/plugins/finder/finder.js +1 -1
  127. package/es2021/plugins/finder/finder.min.js +1 -1
  128. package/es2021/plugins/google-maps/google-maps.css +1 -1
  129. package/es2021/plugins/google-maps/google-maps.js +1 -1
  130. package/es2021/plugins/google-maps/google-maps.min.js +1 -1
  131. package/es2021/plugins/google-search/google-search.js +1 -1
  132. package/es2021/plugins/google-search/google-search.min.js +1 -1
  133. package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
  134. package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
  135. package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
  136. package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
  137. package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
  138. package/es2021/plugins/image-editor-pro/image-editor-pro.css +1 -1
  139. package/es2021/plugins/image-editor-pro/image-editor-pro.js +1 -1
  140. package/es2021/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  141. package/es2021/plugins/keyboard/keyboard.css +1 -1
  142. package/es2021/plugins/keyboard/keyboard.js +1 -1
  143. package/es2021/plugins/keyboard/keyboard.min.js +1 -1
  144. package/es2021/plugins/mobile-view/mobile-view.js +1 -1
  145. package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
  146. package/es2021/plugins/page-break/page-break.js +1 -1
  147. package/es2021/plugins/page-break/page-break.min.js +1 -1
  148. package/es2021/plugins/paste-code/paste-code.css +1 -1
  149. package/es2021/plugins/paste-code/paste-code.js +1 -1
  150. package/es2021/plugins/paste-code/paste-code.min.js +1 -1
  151. package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
  152. package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
  153. package/es2021/plugins/show-blocks/show-blocks.js +1 -1
  154. package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
  155. package/es2021/plugins/style/style.css +1 -1
  156. package/es2021/plugins/style/style.js +1 -1
  157. package/es2021/plugins/style/style.min.js +1 -1
  158. package/es2021/plugins/templates/templates.css +1 -1
  159. package/es2021/plugins/templates/templates.js +1 -1
  160. package/es2021/plugins/templates/templates.min.js +1 -1
  161. package/es2021/plugins/todo-list/todo-list.css +1 -1
  162. package/es2021/plugins/todo-list/todo-list.js +1 -1
  163. package/es2021/plugins/todo-list/todo-list.min.js +1 -1
  164. package/es2021/plugins/translate/translate.css +1 -1
  165. package/es2021/plugins/translate/translate.js +1 -1
  166. package/es2021/plugins/translate/translate.min.js +1 -1
  167. package/es2021/plugins/tune-block/tune-block.css +1 -1
  168. package/es2021/plugins/tune-block/tune-block.js +1 -1
  169. package/es2021/plugins/tune-block/tune-block.min.js +1 -1
  170. package/es2021.en/jodit.css +1 -1
  171. package/es2021.en/jodit.fat.min.js +6 -6
  172. package/es2021.en/jodit.js +179 -7
  173. package/es2021.en/jodit.min.js +6 -6
  174. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  175. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  176. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  177. package/es2021.en/plugins/autocomplete/autocomplete.css +1 -1
  178. package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
  179. package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
  180. package/es2021.en/plugins/backup/backup.css +1 -1
  181. package/es2021.en/plugins/backup/backup.js +1 -1
  182. package/es2021.en/plugins/backup/backup.min.js +1 -1
  183. package/es2021.en/plugins/button-generator/button-generator.css +1 -1
  184. package/es2021.en/plugins/button-generator/button-generator.js +1 -1
  185. package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
  186. package/es2021.en/plugins/change-case/change-case.js +1 -1
  187. package/es2021.en/plugins/change-case/change-case.min.js +1 -1
  188. package/es2021.en/plugins/color-picker/color-picker.css +1 -1
  189. package/es2021.en/plugins/color-picker/color-picker.js +1 -1
  190. package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
  191. package/es2021.en/plugins/emoji/emoji.css +1 -1
  192. package/es2021.en/plugins/emoji/emoji.js +1 -1
  193. package/es2021.en/plugins/emoji/emoji.min.js +1 -1
  194. package/es2021.en/plugins/export-docs/export-docs.js +1 -1
  195. package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
  196. package/es2021.en/plugins/finder/finder.css +1 -1
  197. package/es2021.en/plugins/finder/finder.js +1 -1
  198. package/es2021.en/plugins/finder/finder.min.js +1 -1
  199. package/es2021.en/plugins/google-maps/google-maps.css +1 -1
  200. package/es2021.en/plugins/google-maps/google-maps.js +1 -1
  201. package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
  202. package/es2021.en/plugins/google-search/google-search.js +1 -1
  203. package/es2021.en/plugins/google-search/google-search.min.js +1 -1
  204. package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
  205. package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
  206. package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
  207. package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
  208. package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
  209. package/es2021.en/plugins/image-editor-pro/image-editor-pro.css +1 -1
  210. package/es2021.en/plugins/image-editor-pro/image-editor-pro.js +1 -1
  211. package/es2021.en/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  212. package/es2021.en/plugins/keyboard/keyboard.css +1 -1
  213. package/es2021.en/plugins/keyboard/keyboard.js +1 -1
  214. package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
  215. package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
  216. package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
  217. package/es2021.en/plugins/page-break/page-break.js +1 -1
  218. package/es2021.en/plugins/page-break/page-break.min.js +1 -1
  219. package/es2021.en/plugins/paste-code/paste-code.css +1 -1
  220. package/es2021.en/plugins/paste-code/paste-code.js +1 -1
  221. package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
  222. package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
  223. package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
  224. package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
  225. package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
  226. package/es2021.en/plugins/style/style.css +1 -1
  227. package/es2021.en/plugins/style/style.js +1 -1
  228. package/es2021.en/plugins/style/style.min.js +1 -1
  229. package/es2021.en/plugins/templates/templates.css +1 -1
  230. package/es2021.en/plugins/templates/templates.js +1 -1
  231. package/es2021.en/plugins/templates/templates.min.js +1 -1
  232. package/es2021.en/plugins/todo-list/todo-list.css +1 -1
  233. package/es2021.en/plugins/todo-list/todo-list.js +1 -1
  234. package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
  235. package/es2021.en/plugins/translate/translate.css +1 -1
  236. package/es2021.en/plugins/translate/translate.js +1 -1
  237. package/es2021.en/plugins/translate/translate.min.js +1 -1
  238. package/es2021.en/plugins/tune-block/tune-block.css +1 -1
  239. package/es2021.en/plugins/tune-block/tune-block.js +1 -1
  240. package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
  241. package/es5/jodit.css +2 -2
  242. package/es5/jodit.fat.min.js +2 -2
  243. package/es5/jodit.js +214 -7
  244. package/es5/jodit.min.css +2 -2
  245. package/es5/jodit.min.js +2 -2
  246. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  247. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  248. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  249. package/es5/plugins/autocomplete/autocomplete.css +1 -1
  250. package/es5/plugins/autocomplete/autocomplete.js +1 -1
  251. package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
  252. package/es5/plugins/backup/backup.css +1 -1
  253. package/es5/plugins/backup/backup.js +1 -1
  254. package/es5/plugins/backup/backup.min.js +1 -1
  255. package/es5/plugins/button-generator/button-generator.css +1 -1
  256. package/es5/plugins/button-generator/button-generator.js +1 -1
  257. package/es5/plugins/button-generator/button-generator.min.js +1 -1
  258. package/es5/plugins/change-case/change-case.js +1 -1
  259. package/es5/plugins/change-case/change-case.min.js +1 -1
  260. package/es5/plugins/color-picker/color-picker.css +1 -1
  261. package/es5/plugins/color-picker/color-picker.js +1 -1
  262. package/es5/plugins/color-picker/color-picker.min.js +1 -1
  263. package/es5/plugins/emoji/emoji.css +1 -1
  264. package/es5/plugins/emoji/emoji.js +1 -1
  265. package/es5/plugins/emoji/emoji.min.js +1 -1
  266. package/es5/plugins/export-docs/export-docs.js +1 -1
  267. package/es5/plugins/export-docs/export-docs.min.js +1 -1
  268. package/es5/plugins/finder/finder.css +1 -1
  269. package/es5/plugins/finder/finder.js +1 -1
  270. package/es5/plugins/finder/finder.min.js +1 -1
  271. package/es5/plugins/google-maps/google-maps.css +1 -1
  272. package/es5/plugins/google-maps/google-maps.js +1 -1
  273. package/es5/plugins/google-maps/google-maps.min.js +1 -1
  274. package/es5/plugins/google-search/google-search.js +1 -1
  275. package/es5/plugins/google-search/google-search.min.js +1 -1
  276. package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
  277. package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
  278. package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
  279. package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
  280. package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
  281. package/es5/plugins/image-editor-pro/image-editor-pro.css +1 -1
  282. package/es5/plugins/image-editor-pro/image-editor-pro.js +1 -1
  283. package/es5/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  284. package/es5/plugins/keyboard/keyboard.css +1 -1
  285. package/es5/plugins/keyboard/keyboard.js +1 -1
  286. package/es5/plugins/keyboard/keyboard.min.js +1 -1
  287. package/es5/plugins/mobile-view/mobile-view.js +1 -1
  288. package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
  289. package/es5/plugins/page-break/page-break.js +1 -1
  290. package/es5/plugins/page-break/page-break.min.js +1 -1
  291. package/es5/plugins/paste-code/paste-code.css +1 -1
  292. package/es5/plugins/paste-code/paste-code.js +1 -1
  293. package/es5/plugins/paste-code/paste-code.min.js +1 -1
  294. package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
  295. package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
  296. package/es5/plugins/show-blocks/show-blocks.js +1 -1
  297. package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
  298. package/es5/plugins/style/style.css +1 -1
  299. package/es5/plugins/style/style.js +1 -1
  300. package/es5/plugins/style/style.min.js +1 -1
  301. package/es5/plugins/templates/templates.css +1 -1
  302. package/es5/plugins/templates/templates.js +1 -1
  303. package/es5/plugins/templates/templates.min.js +1 -1
  304. package/es5/plugins/todo-list/todo-list.css +1 -1
  305. package/es5/plugins/todo-list/todo-list.js +1 -1
  306. package/es5/plugins/todo-list/todo-list.min.js +1 -1
  307. package/es5/plugins/translate/translate.css +1 -1
  308. package/es5/plugins/translate/translate.js +1 -1
  309. package/es5/plugins/translate/translate.min.js +1 -1
  310. package/es5/plugins/tune-block/tune-block.css +1 -1
  311. package/es5/plugins/tune-block/tune-block.js +1 -1
  312. package/es5/plugins/tune-block/tune-block.min.js +1 -1
  313. package/es5/polyfills.fat.min.js +1 -1
  314. package/es5/polyfills.js +1 -1
  315. package/es5/polyfills.min.js +1 -1
  316. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * jodit-pro - PRO Version of Jodit Editor
3
3
  * Author: Chupurnov Valerii <chupurnov@gmail.com>
4
- * Version: v4.17.1
4
+ * Version: v4.17.3
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -1743,7 +1743,7 @@ __webpack_require__.r(__webpack_exports__);
1743
1743
  * ```
1744
1744
  * @packageDocumentation
1745
1745
  * @module constants
1746
- */ const APP_VERSION = "4.17.1";
1746
+ */ const APP_VERSION = "4.17.3";
1747
1747
  // prettier-ignore
1748
1748
  const ES = "es2021";
1749
1749
  const IS_ES_MODERN = true;
@@ -6022,6 +6022,21 @@ function isSmuggledForeignHtml(elm) {
6022
6022
  _dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(elm);
6023
6023
  }
6024
6024
  }
6025
+ // `<noscript>` is parsed as markup in a document with scripting off (the
6026
+ // inert document the value is sanitized in) and as raw text in one with
6027
+ // scripting on (the live editor). The same serialized bytes therefore
6028
+ // describe two different trees, and markup hidden as inert text in the
6029
+ // first comes alive as elements in the second. The element has no use in
6030
+ // editor content, so it goes, together with everything it carried.
6031
+ const noscript = [];
6032
+ _dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.each(box, (node)=>{
6033
+ if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(node) && node.nodeName === 'NOSCRIPT') {
6034
+ noscript.push(node);
6035
+ }
6036
+ });
6037
+ for (const elm of noscript){
6038
+ _dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(elm);
6039
+ }
6025
6040
  const removeEvents = (_a = options.removeEventAttributes) !== null && _a !== void 0 ? _a : options.removeOnError;
6026
6041
  // Single synchronous traversal of the subtree. Besides removing event
6027
6042
  // handlers and `javascript:` links, `sanitizeHTMLElement` neutralises
@@ -10299,20 +10314,83 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.defaultAjaxOptions = {
10299
10314
  }
10300
10315
 
10301
10316
 
10317
+ /***/ }),
10318
+
10319
+ /***/ 79505:
10320
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10321
+
10322
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10323
+ /* harmony export */ composedRanges: function() { return /* binding */ composedRanges; }
10324
+ /* harmony export */ });
10325
+ /* harmony import */ var _helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27613);
10326
+ /*!
10327
+ * Jodit Editor (https://xdsoft.net/jodit/)
10328
+ * Released under MIT see LICENSE.txt in the project root for license information.
10329
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
10330
+ */
10331
+ function isInside(node, shadowRoot) {
10332
+ return node === shadowRoot || shadowRoot.contains(node);
10333
+ }
10334
+ function usable(ranges, shadowRoot) {
10335
+ return Array.isArray(ranges) && ranges.length > 0 && ranges.every((range)=>isInside(range.startContainer, shadowRoot));
10336
+ }
10337
+ /**
10338
+ * Ranges of a selection that lies inside the given shadow tree.
10339
+ *
10340
+ * `window.getSelection()` stops at the shadow boundary and reports the host
10341
+ * instead of the node the caret is really in. `getComposedRanges` is the
10342
+ * standard way to ask past that boundary.
10343
+ *
10344
+ * @returns `null` when the browser has no `getComposedRanges`, or when neither
10345
+ * call shape returned ranges that point inside the shadow tree — in which case
10346
+ * there is nothing better to offer than the plain window selection.
10347
+ */ function composedRanges(selection, shadowRoot) {
10348
+ const getComposedRanges = selection.getComposedRanges;
10349
+ if (!(0,_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(getComposedRanges)) {
10350
+ return null;
10351
+ }
10352
+ for (const args of [
10353
+ [
10354
+ {
10355
+ shadowRoots: [
10356
+ shadowRoot
10357
+ ]
10358
+ }
10359
+ ],
10360
+ [
10361
+ shadowRoot
10362
+ ]
10363
+ ]){
10364
+ let ranges;
10365
+ try {
10366
+ ranges = getComposedRanges.apply(selection, args);
10367
+ } catch (_a) {
10368
+ continue;
10369
+ }
10370
+ if (usable(ranges, shadowRoot)) {
10371
+ return ranges;
10372
+ }
10373
+ }
10374
+ return null;
10375
+ }
10376
+
10377
+
10302
10378
  /***/ }),
10303
10379
 
10304
10380
  /***/ 45124:
10305
10381
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10306
10382
 
10307
10383
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10384
+ /* harmony export */ composedRanges: function() { return /* reexport safe */ _composed_ranges_js__WEBPACK_IMPORTED_MODULE_2__.composedRanges; },
10308
10385
  /* harmony export */ cursorInTheEdgeOfString: function() { return /* binding */ cursorInTheEdgeOfString; },
10309
10386
  /* harmony export */ findCorrectCurrentNode: function() { return /* binding */ findCorrectCurrentNode; },
10310
- /* harmony export */ moveNodeInsideStart: function() { return /* reexport safe */ _move_node_inside_start_js__WEBPACK_IMPORTED_MODULE_2__.moveNodeInsideStart; }
10387
+ /* harmony export */ moveNodeInsideStart: function() { return /* reexport safe */ _move_node_inside_start_js__WEBPACK_IMPORTED_MODULE_3__.moveNodeInsideStart; }
10311
10388
  /* harmony export */ });
10312
10389
  /* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
10313
10390
  /* harmony import */ var _dom_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2748);
10314
- /* harmony import */ var _move_node_inside_start_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(26716);
10315
- /* harmony import */ var _move_the_node_along_the_edge_outward_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(43463);
10391
+ /* harmony import */ var _composed_ranges_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(79505);
10392
+ /* harmony import */ var _move_node_inside_start_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(26716);
10393
+ /* harmony import */ var _move_the_node_along_the_edge_outward_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(43463);
10316
10394
  /*!
10317
10395
  * Jodit Editor (https://xdsoft.net/jodit/)
10318
10396
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -10323,6 +10401,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.defaultAjaxOptions = {
10323
10401
 
10324
10402
 
10325
10403
 
10404
+
10326
10405
  /**
10327
10406
  * Despite the name, returns `true` when the cursor is NOT at the checked edge
10328
10407
  * of the text node: there is significant (non invisible-space) text between
@@ -10546,11 +10625,87 @@ class Selection {
10546
10625
  /**
10547
10626
  * Return current selection object
10548
10627
  */ get sel() {
10549
- if (this.j.o.shadowRoot && (0,_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_4__.isFunction)(this.j.o.shadowRoot.getSelection)) {
10550
- return this.j.o.shadowRoot.getSelection();
10628
+ const { shadowRoot } = this.j.o;
10629
+ if (shadowRoot) {
10630
+ if ((0,_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_4__.isFunction)(shadowRoot.getSelection)) {
10631
+ return shadowRoot.getSelection();
10632
+ }
10633
+ const composed = this.__composedSelection(shadowRoot);
10634
+ if (composed) {
10635
+ return composed;
10636
+ }
10551
10637
  }
10552
10638
  return this.win.getSelection();
10553
10639
  }
10640
+ /**
10641
+ * Selection of a shadow tree in a browser without `ShadowRoot.getSelection`.
10642
+ *
10643
+ * `ShadowRoot.getSelection()` is a non-standard method that WebKit never
10644
+ * implemented, and `window.getSelection()` stops at the shadow boundary: for
10645
+ * a caret inside the shadow tree it reports the host, or the document
10646
+ * itself. Everything downstream then works on the wrong tree, which is why
10647
+ * Backspace used to throw `HierarchyRequestError` and Enter did nothing when
10648
+ * the editor lived in a shadow root in Safari.
10649
+ *
10650
+ * The standard replacement is `Selection.getComposedRanges()`, which does
10651
+ * reach into a shadow tree it is given. It hands back `StaticRange`s, and
10652
+ * the editor mutates ranges constantly, so they are turned into live ones.
10653
+ *
10654
+ * Reads are answered from those ranges; everything else, including the
10655
+ * writes (`addRange`, `removeAllRanges`, `setBaseAndExtent`), goes to the
10656
+ * real selection, which does accept nodes inside a shadow tree. Reading is
10657
+ * the only side the browser blocks.
10658
+ *
10659
+ * @returns `null` when the browser offers neither API, so the caller falls
10660
+ * back to the plain window selection.
10661
+ */ __composedSelection(shadowRoot) {
10662
+ const selection = this.win.getSelection();
10663
+ if (!selection) {
10664
+ return null;
10665
+ }
10666
+ // Firefox has no `ShadowRoot.getSelection` either, but its window
10667
+ // selection does see into a shadow tree. Where the plain selection
10668
+ // already points at the right node there is nothing to work around, and
10669
+ // taking it over would change behaviour that works today.
10670
+ const { anchorNode } = selection;
10671
+ if (anchorNode && _dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isOrContains(shadowRoot, anchorNode)) {
10672
+ return null;
10673
+ }
10674
+ const ranges = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_9__.composedRanges)(selection, shadowRoot);
10675
+ if (!ranges) {
10676
+ return null;
10677
+ }
10678
+ const live = ranges.map((staticRange)=>{
10679
+ const range = this.createRange();
10680
+ range.setStart(staticRange.startContainer, staticRange.startOffset);
10681
+ range.setEnd(staticRange.endContainer, staticRange.endOffset);
10682
+ return range;
10683
+ });
10684
+ const first = live[0];
10685
+ const overrides = {
10686
+ rangeCount: live.length,
10687
+ getRangeAt: (index)=>live[index],
10688
+ isCollapsed: live.every((range)=>range.collapsed),
10689
+ // Without these the editor asks the window selection where the
10690
+ // caret is, is told "outside the editable area", and resets the
10691
+ // caret to the start of it — which is the focus loss that shows up
10692
+ // right after a successful Backspace.
10693
+ anchorNode: first ? first.startContainer : null,
10694
+ anchorOffset: first ? first.startOffset : 0,
10695
+ focusNode: first ? first.endContainer : null,
10696
+ focusOffset: first ? first.endOffset : 0,
10697
+ toString: ()=>live.map((range)=>range.toString()).join('')
10698
+ };
10699
+ return new Proxy(selection, {
10700
+ get (target, property) {
10701
+ if ((0,_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_4__.isString)(property) && property in overrides) {
10702
+ return overrides[property];
10703
+ }
10704
+ const value = Reflect.get(target, property, target);
10705
+ return (0,_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_4__.isFunction)(value) ? value.bind(target) : value;
10706
+ }
10707
+ });
10708
+ }
10554
10709
  /**
10555
10710
  * Return first selected range or create new
10556
10711
  */ get range() {
@@ -17611,6 +17766,11 @@ let Jodit = Jodit_1 = class Jodit extends _modules_index_js__WEBPACK_IMPORTED_MO
17611
17766
  }
17612
17767
  if (this.editor) {
17613
17768
  this.editor.innerHTML = data.value;
17769
+ // Fired synchronously, before any task can run: the value was
17770
+ // sanitized in an inert document and re-parsed here with scripting
17771
+ // on, and the two parsers do not always agree. Listeners get to
17772
+ // look at the tree that actually exists.
17773
+ this.e.fire('afterSetNativeEditorValue');
17614
17774
  }
17615
17775
  }
17616
17776
  /**
@@ -34420,6 +34580,15 @@ class cleanHtml extends _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_5__.Plug
34420
34580
  return false;
34421
34581
  }
34422
34582
  }
34583
+ /**
34584
+ * The value was sanitized in an inert document and has just been re-parsed
34585
+ * into the live editor with scripting on. Where the two parsers disagree
34586
+ * (`<noscript>`, raw-text elements), markup that was inert text a moment
34587
+ * ago is a real element now, so the live tree is sanitized once more, in
34588
+ * the same call stack, before any handler it might carry can fire.
34589
+ */ onAfterSetNativeEditorValue() {
34590
+ ;(0,_core_helpers_html_safe_html_js__WEBPACK_IMPORTED_MODULE_4__.safeHTML)(this.j.editor, this.j.o.cleanHTML);
34591
+ }
34423
34592
  /**
34424
34593
  * Event handler when manually assigning a value to the HTML editor.
34425
34594
  */ onBeforeSetNativeEditorValue(data) {
@@ -34549,6 +34718,9 @@ __decorate([
34549
34718
  __decorate([
34550
34719
  (0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.watch)(':beforeCommand')
34551
34720
  ], cleanHtml.prototype, "beforeCommand", null);
34721
+ __decorate([
34722
+ (0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.watch)(':afterSetNativeEditorValue')
34723
+ ], cleanHtml.prototype, "onAfterSetNativeEditorValue", null);
34552
34724
  __decorate([
34553
34725
  (0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.watch)(':beforeSetNativeEditorValue')
34554
34726
  ], cleanHtml.prototype, "onBeforeSetNativeEditorValue", null);