jodit 4.2.50 → 4.3.2

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 (560) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/es2015/jodit.css +1 -1
  3. package/es2015/jodit.fat.min.js +2 -2
  4. package/es2015/jodit.js +238 -108
  5. package/es2015/jodit.min.js +2 -2
  6. package/es2015/plugins/debug/debug.css +1 -1
  7. package/es2015/plugins/debug/debug.js +1 -1
  8. package/es2015/plugins/debug/debug.min.js +1 -1
  9. package/es2015/plugins/speech-recognize/speech-recognize.css +1 -1
  10. package/es2015/plugins/speech-recognize/speech-recognize.js +1 -1
  11. package/es2015/plugins/speech-recognize/speech-recognize.min.js +1 -1
  12. package/es2018/jodit.css +1 -1
  13. package/es2018/jodit.fat.min.js +2 -2
  14. package/es2018/jodit.js +239 -108
  15. package/es2018/jodit.min.js +2 -2
  16. package/es2018/plugins/debug/debug.css +1 -1
  17. package/es2018/plugins/debug/debug.js +1 -1
  18. package/es2018/plugins/debug/debug.min.js +1 -1
  19. package/es2018/plugins/speech-recognize/speech-recognize.css +1 -1
  20. package/es2018/plugins/speech-recognize/speech-recognize.js +1 -1
  21. package/es2018/plugins/speech-recognize/speech-recognize.min.js +1 -1
  22. package/es2021/jodit.css +1 -1
  23. package/es2021/jodit.fat.min.js +2 -2
  24. package/es2021/jodit.js +237 -107
  25. package/es2021/jodit.min.js +2 -2
  26. package/es2021/plugins/debug/debug.css +1 -1
  27. package/es2021/plugins/debug/debug.js +1 -1
  28. package/es2021/plugins/debug/debug.min.js +1 -1
  29. package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
  30. package/es2021/plugins/speech-recognize/speech-recognize.js +1 -1
  31. package/es2021/plugins/speech-recognize/speech-recognize.min.js +1 -1
  32. package/es2021.en/jodit.css +1 -1
  33. package/es2021.en/jodit.fat.min.js +2 -2
  34. package/es2021.en/jodit.js +237 -107
  35. package/es2021.en/jodit.min.js +2 -2
  36. package/es2021.en/plugins/debug/debug.css +1 -1
  37. package/es2021.en/plugins/debug/debug.js +1 -1
  38. package/es2021.en/plugins/debug/debug.min.js +1 -1
  39. package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
  40. package/es2021.en/plugins/speech-recognize/speech-recognize.js +1 -1
  41. package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +1 -1
  42. package/es5/164.fat.min.js +1 -1
  43. package/es5/164.min.js +1 -1
  44. package/es5/5.fat.min.js +1 -1
  45. package/es5/5.min.js +1 -1
  46. package/es5/jodit.css +2 -2
  47. package/es5/jodit.fat.min.js +2 -2
  48. package/es5/jodit.js +241 -109
  49. package/es5/jodit.min.css +2 -2
  50. package/es5/jodit.min.js +2 -2
  51. package/es5/plugins/debug/debug.css +1 -1
  52. package/es5/plugins/debug/debug.js +1 -1
  53. package/es5/plugins/debug/debug.min.js +1 -1
  54. package/es5/plugins/speech-recognize/speech-recognize.css +1 -1
  55. package/es5/plugins/speech-recognize/speech-recognize.js +1 -1
  56. package/es5/plugins/speech-recognize/speech-recognize.min.js +1 -1
  57. package/esm/config.d.ts +4 -0
  58. package/esm/config.js +4 -0
  59. package/esm/core/async/index.d.ts +1 -1
  60. package/esm/core/component/index.d.ts +3 -3
  61. package/esm/core/component/view-component.d.ts +1 -1
  62. package/esm/core/constants.js +1 -1
  63. package/esm/core/create/index.d.ts +1 -1
  64. package/esm/core/decorators/cache/cache.d.ts +100 -0
  65. package/esm/core/decorators/cache/cache.js +106 -0
  66. package/esm/core/decorators/index.d.ts +11 -11
  67. package/esm/core/dom/index.d.ts +2 -2
  68. package/esm/core/dom/lazy-walker.d.ts +1 -1
  69. package/esm/core/event-emitter/index.d.ts +4 -4
  70. package/esm/core/global.d.ts +7 -2
  71. package/esm/core/global.js +15 -13
  72. package/esm/core/helpers/array/index.d.ts +3 -3
  73. package/esm/core/helpers/async/index.d.ts +1 -1
  74. package/esm/core/helpers/checker/index.d.ts +25 -25
  75. package/esm/core/helpers/checker/is-abort-error.d.ts +1 -1
  76. package/esm/core/helpers/color/index.d.ts +1 -1
  77. package/esm/core/helpers/html/index.d.ts +6 -6
  78. package/esm/core/helpers/normalize/index.d.ts +8 -8
  79. package/esm/core/helpers/size/index.d.ts +6 -6
  80. package/esm/core/helpers/string/index.d.ts +7 -7
  81. package/esm/core/helpers/utils/error/errors/abort-error.d.ts +1 -1
  82. package/esm/core/helpers/utils/error/errors/index.d.ts +3 -3
  83. package/esm/core/helpers/utils/error/index.d.ts +1 -1
  84. package/esm/core/helpers/utils/index.d.ts +26 -26
  85. package/esm/core/helpers/utils/selector.d.ts +5 -1
  86. package/esm/core/helpers/utils/selector.js +3 -0
  87. package/esm/core/plugin/index.d.ts +2 -2
  88. package/esm/core/plugin/plugin-system.d.ts +1 -1
  89. package/esm/core/request/ajax.d.ts +1 -1
  90. package/esm/core/request/index.d.ts +2 -2
  91. package/esm/core/selection/helpers/index.d.ts +2 -2
  92. package/esm/core/selection/index.d.ts +3 -3
  93. package/esm/core/selection/selection.d.ts +1 -1
  94. package/esm/core/selection/style/api/index.d.ts +15 -15
  95. package/esm/core/storage/index.d.ts +3 -3
  96. package/esm/core/traits/dlgs.js +3 -0
  97. package/esm/core/ui/button/button/button.d.ts +1 -2
  98. package/esm/core/ui/button/group/group.d.ts +1 -2
  99. package/esm/core/ui/button/index.d.ts +3 -3
  100. package/esm/core/ui/button/tooltip/tooltip.d.ts +1 -2
  101. package/esm/core/ui/element.d.ts +2 -2
  102. package/esm/core/ui/form/block/block.d.ts +1 -2
  103. package/esm/core/ui/form/form.d.ts +1 -1
  104. package/esm/core/ui/form/index.d.ts +2 -2
  105. package/esm/core/ui/form/inputs/area/area.d.ts +1 -2
  106. package/esm/core/ui/form/inputs/checkbox/checkbox.d.ts +1 -2
  107. package/esm/core/ui/form/inputs/file/file.d.ts +1 -2
  108. package/esm/core/ui/form/inputs/index.d.ts +5 -5
  109. package/esm/core/ui/form/inputs/input/input.d.ts +1 -2
  110. package/esm/core/ui/form/inputs/select/select.d.ts +1 -2
  111. package/esm/core/ui/form/validators/index.d.ts +2 -2
  112. package/esm/core/ui/group/group.d.ts +1 -2
  113. package/esm/core/ui/group/index.d.ts +4 -4
  114. package/esm/core/ui/group/list.d.ts +1 -2
  115. package/esm/core/ui/group/separator.d.ts +1 -1
  116. package/esm/core/ui/group/spacer.d.ts +1 -1
  117. package/esm/core/ui/index.d.ts +3 -3
  118. package/esm/core/ui/popup/index.d.ts +1 -1
  119. package/esm/core/ui/popup/popup.d.ts +1 -2
  120. package/esm/core/ui/progress-bar/progress-bar.d.ts +1 -2
  121. package/esm/core/view/view-with-toolbar.d.ts +1 -2
  122. package/esm/core/view/view.d.ts +3 -3
  123. package/esm/core/view/view.js +4 -6
  124. package/esm/index.d.ts +2 -4
  125. package/esm/jodit.d.ts +3 -3
  126. package/esm/jodit.js +5 -5
  127. package/esm/modules/context-menu/context-menu.d.ts +1 -2
  128. package/esm/modules/dialog/dialog.d.ts +9 -10
  129. package/esm/modules/dialog/dialog.js +37 -30
  130. package/esm/modules/dialog/index.d.ts +4 -4
  131. package/esm/modules/file-browser/config.d.ts +1 -1
  132. package/esm/modules/file-browser/file-browser.d.ts +3 -4
  133. package/esm/modules/file-browser/file-browser.js +2 -2
  134. package/esm/modules/file-browser/index.d.ts +1 -1
  135. package/esm/modules/file-browser/ui/files/files.d.ts +0 -1
  136. package/esm/modules/file-browser/ui/index.d.ts +2 -2
  137. package/esm/modules/file-browser/ui/tree/tree.d.ts +0 -1
  138. package/esm/modules/history/command.d.ts +1 -1
  139. package/esm/modules/history/history.d.ts +2 -2
  140. package/esm/modules/history/stack.d.ts +1 -1
  141. package/esm/modules/image-editor/icons/crop.svg.js +1 -1
  142. package/esm/modules/image-editor/icons/resize.svg.js +1 -1
  143. package/esm/modules/image-editor/image-editor.d.ts +1 -2
  144. package/esm/modules/index.d.ts +13 -13
  145. package/esm/modules/messages/messages.d.ts +1 -2
  146. package/esm/modules/status-bar/status-bar.d.ts +2 -3
  147. package/esm/modules/toolbar/button/button.d.ts +0 -1
  148. package/esm/modules/toolbar/button/content.d.ts +0 -1
  149. package/esm/modules/toolbar/button/index.d.ts +3 -3
  150. package/esm/modules/toolbar/button/select/select.d.ts +1 -2
  151. package/esm/modules/toolbar/collection/collection.d.ts +0 -1
  152. package/esm/modules/toolbar/collection/editor-collection.d.ts +1 -1
  153. package/esm/modules/uploader/helpers/index.d.ts +5 -5
  154. package/esm/modules/uploader/uploader.d.ts +1 -2
  155. package/esm/modules/widget/color-picker/color-picker.d.ts +0 -1
  156. package/esm/modules/widget/color-picker/palette.svg.js +1 -1
  157. package/esm/modules/widget/index.d.ts +3 -3
  158. package/esm/modules/widget/tabs/tabs.d.ts +0 -1
  159. package/esm/plugins/about/about.d.ts +0 -1
  160. package/esm/plugins/about/about.svg.js +1 -1
  161. package/esm/plugins/add-new-line/add-new-line.d.ts +1 -2
  162. package/esm/plugins/add-new-line/enter.svg.js +1 -1
  163. package/esm/plugins/ai-assistant/ai-assistant.d.ts +2 -2
  164. package/esm/plugins/ai-assistant/ai-assistant.svg.js +1 -1
  165. package/esm/plugins/ai-assistant/chat-bot.svg.js +1 -1
  166. package/esm/plugins/ai-assistant/langs/index.d.ts +2 -2
  167. package/esm/plugins/ai-assistant/ui/ui-ai-assistant.d.ts +1 -2
  168. package/esm/plugins/backspace/backspace.d.ts +1 -1
  169. package/esm/plugins/backspace/cases/check-remove-char.d.ts +1 -1
  170. package/esm/plugins/backspace/cases/index.d.ts +2 -2
  171. package/esm/plugins/bold/bold.d.ts +2 -2
  172. package/esm/plugins/bold/icons/bold.svg.js +1 -1
  173. package/esm/plugins/bold/icons/italic.svg.js +1 -1
  174. package/esm/plugins/bold/icons/strikethrough.svg.js +1 -1
  175. package/esm/plugins/bold/icons/subscript.svg.js +1 -1
  176. package/esm/plugins/bold/icons/superscript.svg.js +1 -1
  177. package/esm/plugins/bold/icons/underline.svg.js +1 -1
  178. package/esm/plugins/class-span/class-span.svg.js +1 -1
  179. package/esm/plugins/clean-html/clean-html.d.ts +2 -2
  180. package/esm/plugins/clean-html/eraser.svg.js +1 -1
  181. package/esm/plugins/clean-html/helpers/index.d.ts +4 -4
  182. package/esm/plugins/clean-html/helpers/visitor/filters/index.d.ts +7 -7
  183. package/esm/plugins/clipboard/clipboard.d.ts +1 -1
  184. package/esm/plugins/clipboard/clipboard.js +2 -1
  185. package/esm/plugins/clipboard/icons/copy.svg.js +1 -1
  186. package/esm/plugins/clipboard/icons/cut.svg.js +1 -1
  187. package/esm/plugins/clipboard/icons/paste.svg.js +1 -1
  188. package/esm/plugins/clipboard/icons/select-all.svg.js +1 -1
  189. package/esm/plugins/color/brush.svg.js +1 -1
  190. package/esm/plugins/color/color.d.ts +1 -1
  191. package/esm/plugins/copy-format/copy-format.svg.js +1 -1
  192. package/esm/plugins/copy-format/langs/index.d.ts +21 -21
  193. package/esm/plugins/debug/debug.d.ts +1 -2
  194. package/esm/plugins/delete/delete.d.ts +1 -1
  195. package/esm/plugins/drag-and-drop-element/drag-and-drop-element.d.ts +1 -1
  196. package/esm/plugins/dtd/after-insert/index.d.ts +1 -1
  197. package/esm/plugins/dtd/before-insert/index.d.ts +1 -1
  198. package/esm/plugins/dtd/dtd.d.ts +1 -1
  199. package/esm/plugins/enter/enter.d.ts +2 -2
  200. package/esm/plugins/enter/helpers/index.d.ts +9 -9
  201. package/esm/plugins/font/font.d.ts +1 -1
  202. package/esm/plugins/font/icons/font.svg.js +1 -1
  203. package/esm/plugins/font/icons/fontsize.svg.js +1 -1
  204. package/esm/plugins/format-block/format-block.d.ts +1 -1
  205. package/esm/plugins/format-block/paragraph.svg.js +1 -1
  206. package/esm/plugins/fullsize/config.d.ts +0 -1
  207. package/esm/plugins/fullsize/fullsize.d.ts +1 -2
  208. package/esm/plugins/fullsize/icons/fullsize.svg.js +1 -1
  209. package/esm/plugins/fullsize/icons/shrink.svg.js +1 -1
  210. package/esm/plugins/hotkeys/hotkeys.d.ts +1 -1
  211. package/esm/plugins/hr/hr.svg.js +1 -1
  212. package/esm/plugins/iframe/iframe.d.ts +1 -1
  213. package/esm/plugins/image/image.svg.js +1 -1
  214. package/esm/plugins/image-processor/image-processor.d.ts +1 -1
  215. package/esm/plugins/image-processor/image-processor.js +5 -4
  216. package/esm/plugins/image-properties/config.d.ts +1 -1
  217. package/esm/plugins/image-properties/image-properties.d.ts +3 -3
  218. package/esm/plugins/image-properties/readers/align.d.ts +1 -1
  219. package/esm/plugins/image-properties/readers/index.d.ts +1 -1
  220. package/esm/plugins/image-properties/readers/link.d.ts +1 -1
  221. package/esm/plugins/image-properties/readers/margin.d.ts +1 -1
  222. package/esm/plugins/image-properties/readers/size.d.ts +1 -1
  223. package/esm/plugins/image-properties/ui/ui-image-form.d.ts +2 -3
  224. package/esm/plugins/image-properties/ui/ui-image-main-tab.d.ts +2 -2
  225. package/esm/plugins/image-properties/ui/ui-image-position-tab.d.ts +2 -2
  226. package/esm/plugins/image-properties/utils/open-image-editor.d.ts +1 -1
  227. package/esm/plugins/image-properties/utils/open-image-popup.d.ts +1 -1
  228. package/esm/plugins/image-properties/writers/index.d.ts +1 -1
  229. package/esm/plugins/indent/icons/indent.svg.js +1 -1
  230. package/esm/plugins/indent/icons/outdent.svg.js +1 -1
  231. package/esm/plugins/indent/indent.d.ts +1 -1
  232. package/esm/plugins/index.d.ts +62 -62
  233. package/esm/plugins/inline-popup/icons/addcolumn.svg.js +1 -1
  234. package/esm/plugins/inline-popup/icons/addrow.svg.js +1 -1
  235. package/esm/plugins/inline-popup/icons/merge.svg.js +1 -1
  236. package/esm/plugins/inline-popup/icons/splitg.svg.js +1 -1
  237. package/esm/plugins/inline-popup/icons/splitv.svg.js +1 -1
  238. package/esm/plugins/inline-popup/icons/th-list.svg.js +1 -1
  239. package/esm/plugins/inline-popup/icons/th.svg.js +1 -1
  240. package/esm/plugins/inline-popup/inline-popup.d.ts +1 -2
  241. package/esm/plugins/justify/justify.svg.js +1 -1
  242. package/esm/plugins/limit/limit.d.ts +1 -1
  243. package/esm/plugins/line-height/langs/index.d.ts +22 -22
  244. package/esm/plugins/line-height/line-height.d.ts +1 -1
  245. package/esm/plugins/line-height/line-height.svg.js +1 -1
  246. package/esm/plugins/link/icons/link.svg.js +1 -1
  247. package/esm/plugins/link/icons/unlink.svg.js +1 -1
  248. package/esm/plugins/link/link.d.ts +1 -1
  249. package/esm/plugins/media/media.d.ts +1 -1
  250. package/esm/plugins/mobile/mobile.d.ts +1 -1
  251. package/esm/plugins/ordered-list/icons/ol.svg.js +1 -1
  252. package/esm/plugins/ordered-list/icons/ul.svg.js +1 -1
  253. package/esm/plugins/ordered-list/ordered-list.d.ts +1 -1
  254. package/esm/plugins/paste/helpers.d.ts +1 -1
  255. package/esm/plugins/paste/paste.d.ts +2 -2
  256. package/esm/plugins/paste-from-word/paste-from-word.d.ts +2 -2
  257. package/esm/plugins/paste-storage/paste-storage.d.ts +1 -2
  258. package/esm/plugins/placeholder/placeholder.d.ts +2 -3
  259. package/esm/plugins/preview/preview.d.ts +0 -1
  260. package/esm/plugins/print/print.svg.js +1 -1
  261. package/esm/plugins/redo-undo/icons/redo.svg.js +1 -1
  262. package/esm/plugins/redo-undo/icons/undo.svg.js +1 -1
  263. package/esm/plugins/redo-undo/redo-undo.d.ts +1 -1
  264. package/esm/plugins/resize-cells/resize-cells.d.ts +1 -2
  265. package/esm/plugins/resize-handler/resize-handler.d.ts +1 -1
  266. package/esm/plugins/resizer/resizer.d.ts +2 -3
  267. package/esm/plugins/search/config.d.ts +1 -1
  268. package/esm/plugins/search/helpers/index.d.ts +2 -2
  269. package/esm/plugins/search/search.d.ts +1 -1
  270. package/esm/plugins/search/search.js +2 -2
  271. package/esm/plugins/search/search.svg.js +1 -1
  272. package/esm/plugins/search/ui/search.d.ts +0 -1
  273. package/esm/plugins/select/select.d.ts +1 -1
  274. package/esm/plugins/select-cells/select-cells.d.ts +1 -1
  275. package/esm/plugins/size/size.d.ts +2 -3
  276. package/esm/plugins/source/editor/engines/ace.d.ts +1 -1
  277. package/esm/plugins/source/editor/engines/area.d.ts +1 -1
  278. package/esm/plugins/source/editor/engines/index.d.ts +2 -2
  279. package/esm/plugins/source/source.d.ts +1 -2
  280. package/esm/plugins/source/source.svg.js +1 -1
  281. package/esm/plugins/speech-recognize/config.d.ts +1 -1
  282. package/esm/plugins/speech-recognize/helpers/api.d.ts +1 -1
  283. package/esm/plugins/speech-recognize/helpers/recognize-manager.d.ts +2 -2
  284. package/esm/plugins/speech-recognize/langs/index.d.ts +22 -22
  285. package/esm/plugins/speech-recognize/speech-recognize.d.ts +1 -2
  286. package/esm/plugins/speech-recognize/speech-recognize.svg.js +1 -1
  287. package/esm/plugins/spellcheck/langs/index.d.ts +22 -22
  288. package/esm/plugins/spellcheck/spellcheck.d.ts +1 -1
  289. package/esm/plugins/spellcheck/spellcheck.svg.js +1 -1
  290. package/esm/plugins/stat/stat.d.ts +2 -2
  291. package/esm/plugins/sticky/sticky.d.ts +2 -3
  292. package/esm/plugins/symbols/langs/index.d.ts +22 -22
  293. package/esm/plugins/symbols/symbols.d.ts +2 -3
  294. package/esm/plugins/symbols/symbols.svg.js +1 -1
  295. package/esm/plugins/tab/cases/index.d.ts +1 -1
  296. package/esm/plugins/tab/tab.d.ts +1 -1
  297. package/esm/plugins/table/table.d.ts +1 -2
  298. package/esm/plugins/table/table.svg.js +1 -1
  299. package/esm/plugins/video/video.d.ts +1 -1
  300. package/esm/plugins/video/video.svg.js +1 -1
  301. package/esm/plugins/wrap-nodes/wrap-nodes.d.ts +1 -1
  302. package/esm/plugins/xpath/xpath.d.ts +1 -2
  303. package/esm/polyfills.js +3 -3
  304. package/esm/styles/icons/angle-down.svg.js +1 -1
  305. package/esm/styles/icons/angle-left.svg.js +1 -1
  306. package/esm/styles/icons/angle-right.svg.js +1 -1
  307. package/esm/styles/icons/angle-up.svg.js +1 -1
  308. package/esm/styles/icons/bin.svg.js +1 -1
  309. package/esm/styles/icons/cancel.svg.js +1 -1
  310. package/esm/styles/icons/center.svg.js +1 -1
  311. package/esm/styles/icons/check.svg.js +1 -1
  312. package/esm/styles/icons/chevron.svg.js +1 -1
  313. package/esm/styles/icons/dots.svg.js +1 -1
  314. package/esm/styles/icons/eye.svg.js +1 -1
  315. package/esm/styles/icons/file.svg.js +1 -1
  316. package/esm/styles/icons/folder.svg.js +1 -1
  317. package/esm/styles/icons/index.d.ts +0 -27
  318. package/esm/styles/icons/info-circle.svg.js +1 -1
  319. package/esm/styles/icons/left.svg.js +1 -1
  320. package/esm/styles/icons/lock.svg.js +1 -1
  321. package/esm/styles/icons/ok.svg.js +1 -1
  322. package/esm/styles/icons/pencil.svg.js +1 -1
  323. package/esm/styles/icons/pins.svg.js +1 -1
  324. package/esm/styles/icons/plus.svg.js +1 -1
  325. package/esm/styles/icons/resize-handler.svg.js +1 -1
  326. package/esm/styles/icons/right.svg.js +1 -1
  327. package/esm/styles/icons/save.svg.js +1 -1
  328. package/esm/styles/icons/settings.svg.js +1 -1
  329. package/esm/styles/icons/unlock.svg.js +1 -1
  330. package/esm/styles/icons/update.svg.js +1 -1
  331. package/esm/styles/icons/upload.svg.js +1 -1
  332. package/esm/styles/icons/valign.svg.js +1 -1
  333. package/esm/types/ajax.d.ts +1 -1
  334. package/esm/types/async.d.ts +2 -2
  335. package/esm/types/context.d.ts +2 -2
  336. package/esm/types/core.d.ts +1 -1
  337. package/esm/types/create.d.ts +1 -1
  338. package/esm/types/dialog.d.ts +3 -3
  339. package/esm/types/events.d.ts +1 -1
  340. package/esm/types/file-browser.d.ts +7 -7
  341. package/esm/types/history.d.ts +1 -1
  342. package/esm/types/index.d.ts +23 -23
  343. package/esm/types/jodit.d.ts +5 -5
  344. package/esm/types/messages.d.ts +1 -1
  345. package/esm/types/plugin.d.ts +3 -3
  346. package/esm/types/popup.d.ts +2 -2
  347. package/esm/types/select.d.ts +2 -2
  348. package/esm/types/source.d.ts +1 -1
  349. package/esm/types/style.d.ts +2 -2
  350. package/esm/types/toolbar.d.ts +6 -6
  351. package/esm/types/traits.d.ts +2 -2
  352. package/esm/types/types.d.ts +2 -2
  353. package/esm/types/ui.d.ts +5 -5
  354. package/esm/types/uploader.d.ts +3 -3
  355. package/esm/types/view.d.ts +10 -9
  356. package/package.json +1 -1
  357. package/types/config.d.ts +4 -0
  358. package/types/core/async/index.d.ts +1 -1
  359. package/types/core/component/index.d.ts +3 -3
  360. package/types/core/component/view-component.d.ts +1 -1
  361. package/types/core/create/index.d.ts +1 -1
  362. package/types/core/decorators/cache/cache.d.ts +100 -0
  363. package/types/core/decorators/index.d.ts +11 -11
  364. package/types/core/dom/index.d.ts +2 -2
  365. package/types/core/dom/lazy-walker.d.ts +1 -1
  366. package/types/core/event-emitter/index.d.ts +4 -4
  367. package/types/core/global.d.ts +7 -2
  368. package/types/core/helpers/array/index.d.ts +3 -3
  369. package/types/core/helpers/async/index.d.ts +1 -1
  370. package/types/core/helpers/checker/index.d.ts +25 -25
  371. package/types/core/helpers/checker/is-abort-error.d.ts +1 -1
  372. package/types/core/helpers/color/index.d.ts +1 -1
  373. package/types/core/helpers/html/index.d.ts +6 -6
  374. package/types/core/helpers/normalize/index.d.ts +8 -8
  375. package/types/core/helpers/size/index.d.ts +6 -6
  376. package/types/core/helpers/string/index.d.ts +7 -7
  377. package/types/core/helpers/utils/error/errors/abort-error.d.ts +1 -1
  378. package/types/core/helpers/utils/error/errors/index.d.ts +3 -3
  379. package/types/core/helpers/utils/error/index.d.ts +1 -1
  380. package/types/core/helpers/utils/index.d.ts +26 -26
  381. package/types/core/helpers/utils/selector.d.ts +5 -1
  382. package/types/core/plugin/index.d.ts +2 -2
  383. package/types/core/plugin/plugin-system.d.ts +1 -1
  384. package/types/core/request/ajax.d.ts +1 -1
  385. package/types/core/request/index.d.ts +2 -2
  386. package/types/core/selection/helpers/index.d.ts +2 -2
  387. package/types/core/selection/index.d.ts +3 -3
  388. package/types/core/selection/selection.d.ts +1 -1
  389. package/types/core/selection/style/api/index.d.ts +15 -15
  390. package/types/core/storage/index.d.ts +3 -3
  391. package/types/core/ui/button/button/button.d.ts +1 -2
  392. package/types/core/ui/button/group/group.d.ts +1 -2
  393. package/types/core/ui/button/index.d.ts +3 -3
  394. package/types/core/ui/button/tooltip/tooltip.d.ts +1 -2
  395. package/types/core/ui/element.d.ts +2 -2
  396. package/types/core/ui/form/block/block.d.ts +1 -2
  397. package/types/core/ui/form/form.d.ts +1 -1
  398. package/types/core/ui/form/index.d.ts +2 -2
  399. package/types/core/ui/form/inputs/area/area.d.ts +1 -2
  400. package/types/core/ui/form/inputs/checkbox/checkbox.d.ts +1 -2
  401. package/types/core/ui/form/inputs/file/file.d.ts +1 -2
  402. package/types/core/ui/form/inputs/index.d.ts +5 -5
  403. package/types/core/ui/form/inputs/input/input.d.ts +1 -2
  404. package/types/core/ui/form/inputs/select/select.d.ts +1 -2
  405. package/types/core/ui/form/validators/index.d.ts +2 -2
  406. package/types/core/ui/group/group.d.ts +1 -2
  407. package/types/core/ui/group/index.d.ts +4 -4
  408. package/types/core/ui/group/list.d.ts +1 -2
  409. package/types/core/ui/group/separator.d.ts +1 -1
  410. package/types/core/ui/group/spacer.d.ts +1 -1
  411. package/types/core/ui/index.d.ts +3 -3
  412. package/types/core/ui/popup/index.d.ts +1 -1
  413. package/types/core/ui/popup/popup.d.ts +1 -2
  414. package/types/core/ui/progress-bar/progress-bar.d.ts +1 -2
  415. package/types/core/view/view-with-toolbar.d.ts +1 -2
  416. package/types/core/view/view.d.ts +3 -3
  417. package/types/index.d.ts +2 -4
  418. package/types/jodit.d.ts +3 -3
  419. package/types/modules/context-menu/context-menu.d.ts +1 -2
  420. package/types/modules/dialog/dialog.d.ts +9 -10
  421. package/types/modules/dialog/index.d.ts +4 -4
  422. package/types/modules/file-browser/config.d.ts +1 -1
  423. package/types/modules/file-browser/file-browser.d.ts +3 -4
  424. package/types/modules/file-browser/index.d.ts +1 -1
  425. package/types/modules/file-browser/ui/files/files.d.ts +0 -1
  426. package/types/modules/file-browser/ui/index.d.ts +2 -2
  427. package/types/modules/file-browser/ui/tree/tree.d.ts +0 -1
  428. package/types/modules/history/command.d.ts +1 -1
  429. package/types/modules/history/history.d.ts +2 -2
  430. package/types/modules/history/stack.d.ts +1 -1
  431. package/types/modules/image-editor/image-editor.d.ts +1 -2
  432. package/types/modules/index.d.ts +13 -13
  433. package/types/modules/messages/messages.d.ts +1 -2
  434. package/types/modules/status-bar/status-bar.d.ts +2 -3
  435. package/types/modules/toolbar/button/button.d.ts +0 -1
  436. package/types/modules/toolbar/button/content.d.ts +0 -1
  437. package/types/modules/toolbar/button/index.d.ts +3 -3
  438. package/types/modules/toolbar/button/select/select.d.ts +1 -2
  439. package/types/modules/toolbar/collection/collection.d.ts +0 -1
  440. package/types/modules/toolbar/collection/editor-collection.d.ts +1 -1
  441. package/types/modules/uploader/helpers/index.d.ts +5 -5
  442. package/types/modules/uploader/uploader.d.ts +1 -2
  443. package/types/modules/widget/color-picker/color-picker.d.ts +0 -1
  444. package/types/modules/widget/index.d.ts +3 -3
  445. package/types/modules/widget/tabs/tabs.d.ts +0 -1
  446. package/types/plugins/about/about.d.ts +0 -1
  447. package/types/plugins/add-new-line/add-new-line.d.ts +1 -2
  448. package/types/plugins/ai-assistant/ai-assistant.d.ts +2 -2
  449. package/types/plugins/ai-assistant/langs/index.d.ts +2 -2
  450. package/types/plugins/ai-assistant/ui/ui-ai-assistant.d.ts +1 -2
  451. package/types/plugins/backspace/backspace.d.ts +1 -1
  452. package/types/plugins/backspace/cases/check-remove-char.d.ts +1 -1
  453. package/types/plugins/backspace/cases/index.d.ts +2 -2
  454. package/types/plugins/bold/bold.d.ts +2 -2
  455. package/types/plugins/clean-html/clean-html.d.ts +2 -2
  456. package/types/plugins/clean-html/helpers/index.d.ts +4 -4
  457. package/types/plugins/clean-html/helpers/visitor/filters/index.d.ts +7 -7
  458. package/types/plugins/clipboard/clipboard.d.ts +1 -1
  459. package/types/plugins/color/color.d.ts +1 -1
  460. package/types/plugins/copy-format/langs/index.d.ts +21 -21
  461. package/types/plugins/debug/debug.d.ts +1 -2
  462. package/types/plugins/delete/delete.d.ts +1 -1
  463. package/types/plugins/drag-and-drop-element/drag-and-drop-element.d.ts +1 -1
  464. package/types/plugins/dtd/after-insert/index.d.ts +1 -1
  465. package/types/plugins/dtd/before-insert/index.d.ts +1 -1
  466. package/types/plugins/dtd/dtd.d.ts +1 -1
  467. package/types/plugins/enter/enter.d.ts +2 -2
  468. package/types/plugins/enter/helpers/index.d.ts +9 -9
  469. package/types/plugins/font/font.d.ts +1 -1
  470. package/types/plugins/format-block/format-block.d.ts +1 -1
  471. package/types/plugins/fullsize/config.d.ts +0 -1
  472. package/types/plugins/fullsize/fullsize.d.ts +1 -2
  473. package/types/plugins/hotkeys/hotkeys.d.ts +1 -1
  474. package/types/plugins/iframe/iframe.d.ts +1 -1
  475. package/types/plugins/image-processor/image-processor.d.ts +1 -1
  476. package/types/plugins/image-properties/config.d.ts +1 -1
  477. package/types/plugins/image-properties/image-properties.d.ts +3 -3
  478. package/types/plugins/image-properties/readers/align.d.ts +1 -1
  479. package/types/plugins/image-properties/readers/index.d.ts +1 -1
  480. package/types/plugins/image-properties/readers/link.d.ts +1 -1
  481. package/types/plugins/image-properties/readers/margin.d.ts +1 -1
  482. package/types/plugins/image-properties/readers/size.d.ts +1 -1
  483. package/types/plugins/image-properties/ui/ui-image-form.d.ts +2 -3
  484. package/types/plugins/image-properties/ui/ui-image-main-tab.d.ts +2 -2
  485. package/types/plugins/image-properties/ui/ui-image-position-tab.d.ts +2 -2
  486. package/types/plugins/image-properties/utils/open-image-editor.d.ts +1 -1
  487. package/types/plugins/image-properties/utils/open-image-popup.d.ts +1 -1
  488. package/types/plugins/image-properties/writers/index.d.ts +1 -1
  489. package/types/plugins/indent/indent.d.ts +1 -1
  490. package/types/plugins/index.d.ts +62 -62
  491. package/types/plugins/inline-popup/inline-popup.d.ts +1 -2
  492. package/types/plugins/limit/limit.d.ts +1 -1
  493. package/types/plugins/line-height/langs/index.d.ts +22 -22
  494. package/types/plugins/line-height/line-height.d.ts +1 -1
  495. package/types/plugins/link/link.d.ts +1 -1
  496. package/types/plugins/media/media.d.ts +1 -1
  497. package/types/plugins/mobile/mobile.d.ts +1 -1
  498. package/types/plugins/ordered-list/ordered-list.d.ts +1 -1
  499. package/types/plugins/paste/helpers.d.ts +1 -1
  500. package/types/plugins/paste/paste.d.ts +2 -2
  501. package/types/plugins/paste-from-word/paste-from-word.d.ts +2 -2
  502. package/types/plugins/paste-storage/paste-storage.d.ts +1 -2
  503. package/types/plugins/placeholder/placeholder.d.ts +2 -3
  504. package/types/plugins/preview/preview.d.ts +0 -1
  505. package/types/plugins/redo-undo/redo-undo.d.ts +1 -1
  506. package/types/plugins/resize-cells/resize-cells.d.ts +1 -2
  507. package/types/plugins/resize-handler/resize-handler.d.ts +1 -1
  508. package/types/plugins/resizer/resizer.d.ts +2 -3
  509. package/types/plugins/search/config.d.ts +1 -1
  510. package/types/plugins/search/helpers/index.d.ts +2 -2
  511. package/types/plugins/search/search.d.ts +1 -1
  512. package/types/plugins/search/ui/search.d.ts +0 -1
  513. package/types/plugins/select/select.d.ts +1 -1
  514. package/types/plugins/select-cells/select-cells.d.ts +1 -1
  515. package/types/plugins/size/size.d.ts +2 -3
  516. package/types/plugins/source/editor/engines/ace.d.ts +1 -1
  517. package/types/plugins/source/editor/engines/area.d.ts +1 -1
  518. package/types/plugins/source/editor/engines/index.d.ts +2 -2
  519. package/types/plugins/source/source.d.ts +1 -2
  520. package/types/plugins/speech-recognize/config.d.ts +1 -1
  521. package/types/plugins/speech-recognize/helpers/api.d.ts +1 -1
  522. package/types/plugins/speech-recognize/helpers/recognize-manager.d.ts +2 -2
  523. package/types/plugins/speech-recognize/langs/index.d.ts +22 -22
  524. package/types/plugins/speech-recognize/speech-recognize.d.ts +1 -2
  525. package/types/plugins/spellcheck/langs/index.d.ts +22 -22
  526. package/types/plugins/spellcheck/spellcheck.d.ts +1 -1
  527. package/types/plugins/stat/stat.d.ts +2 -2
  528. package/types/plugins/sticky/sticky.d.ts +2 -3
  529. package/types/plugins/symbols/langs/index.d.ts +22 -22
  530. package/types/plugins/symbols/symbols.d.ts +2 -3
  531. package/types/plugins/tab/cases/index.d.ts +1 -1
  532. package/types/plugins/tab/tab.d.ts +1 -1
  533. package/types/plugins/table/table.d.ts +1 -2
  534. package/types/plugins/video/video.d.ts +1 -1
  535. package/types/plugins/wrap-nodes/wrap-nodes.d.ts +1 -1
  536. package/types/plugins/xpath/xpath.d.ts +1 -2
  537. package/types/styles/icons/index.d.ts +0 -27
  538. package/types/types/ajax.d.ts +1 -1
  539. package/types/types/async.d.ts +2 -2
  540. package/types/types/context.d.ts +2 -2
  541. package/types/types/core.d.ts +1 -1
  542. package/types/types/create.d.ts +1 -1
  543. package/types/types/dialog.d.ts +3 -3
  544. package/types/types/events.d.ts +1 -1
  545. package/types/types/file-browser.d.ts +7 -7
  546. package/types/types/history.d.ts +1 -1
  547. package/types/types/index.d.ts +23 -23
  548. package/types/types/jodit.d.ts +5 -5
  549. package/types/types/messages.d.ts +1 -1
  550. package/types/types/plugin.d.ts +3 -3
  551. package/types/types/popup.d.ts +2 -2
  552. package/types/types/select.d.ts +2 -2
  553. package/types/types/source.d.ts +1 -1
  554. package/types/types/style.d.ts +2 -2
  555. package/types/types/toolbar.d.ts +6 -6
  556. package/types/types/traits.d.ts +2 -2
  557. package/types/types/types.d.ts +2 -2
  558. package/types/types/ui.d.ts +5 -5
  559. package/types/types/uploader.d.ts +3 -3
  560. package/types/types/view.d.ts +10 -9
package/es5/jodit.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * jodit - Jodit is an awesome and useful wysiwyg editor with filebrowser
3
3
  * Author: Chupurnov <chupurnov@gmail.com> (https://xdsoft.net/jodit/)
4
- * Version: v4.2.50
4
+ * Version: v4.3.2
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
@@ -1000,6 +1000,10 @@ var Config = /** @class */ (function () {
1000
1000
  * Buttons in toolbat without SVG - only texts
1001
1001
  */
1002
1002
  this.textIcons = false;
1003
+ /**
1004
+ * Element for dialog container
1005
+ */
1006
+ this.popupRoot = null;
1003
1007
  /**
1004
1008
  * shows a INPUT[type=color] to open the browser color picker, on the right bottom of widget color picker
1005
1009
  */
@@ -1838,7 +1842,7 @@ __webpack_require__.r(__webpack_exports__);
1838
1842
  * Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
1839
1843
  */
1840
1844
 
1841
- var APP_VERSION = "4.2.50";
1845
+ var APP_VERSION = "4.3.2";
1842
1846
  // prettier-ignore
1843
1847
  var ES = "es5";
1844
1848
  var IS_ES_MODERN = false;
@@ -2263,9 +2267,10 @@ var Create = /** @class */ (function () {
2263
2267
  /* harmony export */ PP: function() { return /* binding */ cache; }
2264
2268
  /* harmony export */ });
2265
2269
  /* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(64567);
2266
- /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55186);
2267
- /* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9823);
2268
- /* harmony import */ var jodit_core_helpers_utils_error_error__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(76166);
2270
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(17352);
2271
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(55186);
2272
+ /* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9823);
2273
+ /* harmony import */ var jodit_core_helpers_utils_error_error__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(76166);
2269
2274
  /*!
2270
2275
  * Jodit Editor (https://xdsoft.net/jodit/)
2271
2276
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -2275,19 +2280,125 @@ var Create = /** @class */ (function () {
2275
2280
 
2276
2281
 
2277
2282
 
2283
+
2284
+ /**
2285
+ * Retrieves a cached property value from an object if it exists; otherwise, returns `null`.
2286
+ *
2287
+ * This utility is particularly useful when working with properties that are lazily initialized
2288
+ * or dynamically created, such as getters or cached computations. It ensures you can safely
2289
+ * access the value without triggering initialization or creating a new instance.
2290
+ *
2291
+ * ### Usage Example:
2292
+ * ```typescript
2293
+ * import type { IUIElement } from "jodit";
2294
+ *
2295
+ * const { component, cache, cached } = Jodit.decorators;
2296
+ * const { UIElement } = Jodit.modules;
2297
+ *
2298
+ * @component
2299
+ * class SomeComponent extends UIElement {
2300
+ * @cache
2301
+ * get someElement(): IUIElement {
2302
+ * return new UIElement(this.jodit);
2303
+ * }
2304
+ *
2305
+ * destruct() {
2306
+ * // Use the cached utility to clean up only if the property is initialized
2307
+ * cached(this, 'someElement')?.destruct();
2308
+ * super.destruct();
2309
+ * }
2310
+ * }
2311
+ * ```
2312
+ *
2313
+ * @param object - The object containing the property to check.
2314
+ * @param property - The name of the property to retrieve from the cache.
2315
+ * @returns The cached value of the property if it exists; otherwise, `null`.
2316
+ *
2317
+ * ### Notes:
2318
+ * - If the property is defined as a getter, the function will return `null`
2319
+ * instead of invoking the getter.
2320
+ * - This function is non-destructive and does not alter the object's state.
2321
+ */
2278
2322
  function cached(object, property) {
2279
2323
  var descriptor = Object.getOwnPropertyDescriptor(object, property);
2280
- if (!descriptor || (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isFunction */ .Tn)(descriptor.get)) {
2324
+ if (!descriptor || (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_3__/* .isFunction */ .Tn)(descriptor.get)) {
2281
2325
  return null;
2282
2326
  }
2283
2327
  return descriptor.value;
2284
2328
  }
2329
+ /**
2330
+ * A decorator that caches the result of a getter method. Once the getter is accessed for the first time,
2331
+ * its computed value is stored as a property of the object. Subsequent accesses return the cached value
2332
+ * without recalculating it, improving performance and avoiding redundant computations.
2333
+ *
2334
+ * ### Key Features:
2335
+ * - **Lazy Initialization**: The original getter is invoked only once, the first time the property is accessed.
2336
+ * - **Immutability**: After caching, the value is stored as a non-writable, non-configurable property, preventing accidental modifications.
2337
+ * - **Conditional Caching**: If the returned value has a property `noCache` set to `true`, the caching mechanism is bypassed, and the getter is invoked each time.
2338
+ *
2339
+ * ### Usage Example 1: Basic Caching
2340
+ * ```typescript
2341
+ * import { cache } from './decorators';
2342
+ *
2343
+ * class Example {
2344
+ * private counter = 0;
2345
+ *
2346
+ * @cache
2347
+ * get expensiveComputation(): number {
2348
+ * console.log('Calculating...');
2349
+ * return ++this.counter;
2350
+ * }
2351
+ * }
2352
+ *
2353
+ * const instance = new Example();
2354
+ * console.log(instance.expensiveComputation); // Logs "Calculating..." and returns 1
2355
+ * console.log(instance.expensiveComputation); // Returns 1 (cached value, no calculation)
2356
+ * ```
2357
+ *
2358
+ * ### Usage Example 2: Integration with Cached Utilities
2359
+ * ```typescript
2360
+ * import { cache, cached } from './decorators';
2361
+ * import type { IUIElement } from "jodit";
2362
+ *
2363
+ * const { component } = Jodit.decorators;
2364
+ * const { UIElement } = Jodit.modules;
2365
+ *
2366
+ * @component
2367
+ * class SomeComponent extends UIElement {
2368
+ * @cache
2369
+ * get someElement(): IUIElement {
2370
+ * return new UIElement(this.jodit);
2371
+ * }
2372
+ *
2373
+ * destruct() {
2374
+ * // Use the cached utility to clean up only if the property is initialized
2375
+ * cached(this, 'someElement')?.destruct();
2376
+ * super.destruct();
2377
+ * }
2378
+ * }
2379
+ * ```
2380
+ *
2381
+ * @param _ - The target object (not used directly).
2382
+ * @param name - The name of the property to decorate.
2383
+ * @param descriptor - The property descriptor, which must include a getter method.
2384
+ * @throws Will throw an error if the descriptor does not include a getter.
2385
+ *
2386
+ * ### Notes:
2387
+ * - **Performance**: Ideal for properties that are computationally expensive and do not change after the initial computation.
2388
+ * - **Flexibility**: Supports conditional caching via the `noCache` property in the returned value.
2389
+ * - **Compatibility**: Designed to work seamlessly with objects and classes in TypeScript or JavaScript.
2390
+ */
2285
2391
  function cache(_, name, descriptor) {
2286
2392
  var getter = descriptor.get;
2287
2393
  if (!getter) {
2288
- throw (0,jodit_core_helpers_utils_error_error__WEBPACK_IMPORTED_MODULE_3__/* .error */ .z3)('Getter property descriptor expected');
2394
+ throw (0,jodit_core_helpers_utils_error_error__WEBPACK_IMPORTED_MODULE_4__/* .error */ .z3)('Getter property descriptor expected');
2289
2395
  }
2290
2396
  descriptor.get = function () {
2397
+ if (!jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__.IS_PROD) {
2398
+ if (this.isInDestruct) {
2399
+ console.error('Trying to access property in destructed component');
2400
+ }
2401
+ }
2291
2402
  var value = getter.call(this);
2292
2403
  if (value && value.noCache === true) {
2293
2404
  return value;
@@ -2303,8 +2414,8 @@ function cache(_, name, descriptor) {
2303
2414
  }
2304
2415
  function cacheHTML(target, _, descriptor) {
2305
2416
  var fn = descriptor.value;
2306
- if (!(0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isFunction */ .Tn)(fn)) {
2307
- throw (0,jodit_core_helpers_utils_error_error__WEBPACK_IMPORTED_MODULE_3__/* .error */ .z3)('Handler must be a Function');
2417
+ if (!(0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_3__/* .isFunction */ .Tn)(fn)) {
2418
+ throw (0,jodit_core_helpers_utils_error_error__WEBPACK_IMPORTED_MODULE_4__/* .error */ .z3)('Handler must be a Function');
2308
2419
  }
2309
2420
  var useCache = true;
2310
2421
  var cached = new WeakMap();
@@ -2318,13 +2429,13 @@ function cacheHTML(target, _, descriptor) {
2318
2429
  return (_a = cached.get(this.constructor)) === null || _a === void 0 ? void 0 : _a.cloneNode(true);
2319
2430
  }
2320
2431
  var value = fn.apply(this, attrs);
2321
- if (useCache && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isElement(value)) {
2432
+ if (useCache && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__/* .Dom */ .J.isElement(value)) {
2322
2433
  cached.set(this.constructor, value);
2323
2434
  }
2324
2435
  return useCache ? value.cloneNode(true) : value;
2325
2436
  };
2326
2437
  target.hookStatus(jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_0__/* .STATUSES */ .f.ready, function (component) {
2327
- var view = (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isViewObject */ .hH)(component)
2438
+ var view = (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_3__/* .isViewObject */ .hH)(component)
2328
2439
  ? component
2329
2440
  : component.jodit;
2330
2441
  useCache = Boolean(view.options.cache);
@@ -4739,18 +4850,20 @@ var EventHandlersStore = /** @class */ (function () {
4739
4850
  /* harmony export */ RR: function() { return /* binding */ eventEmitter; },
4740
4851
  /* harmony export */ VF: function() { return /* binding */ instances; },
4741
4852
  /* harmony export */ av: function() { return /* binding */ modules; },
4853
+ /* harmony export */ ef: function() { return /* binding */ getPopupViewRoot; },
4742
4854
  /* harmony export */ fg: function() { return /* binding */ pluginSystem; },
4743
4855
  /* harmony export */ w9: function() { return /* binding */ uniqueUid; }
4744
4856
  /* harmony export */ });
4745
- /* harmony import */ var jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(83044);
4746
- /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(98253);
4747
- /* harmony import */ var jodit_core_helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(12041);
4748
- /* harmony import */ var jodit_core_helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(449);
4749
- /* harmony import */ var jodit_core_helpers_utils_get_class_name__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75766);
4750
- /* harmony import */ var jodit_core_plugin_plugin_system__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(77402);
4751
- /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(17352);
4752
- /* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(71842);
4753
- /* harmony import */ var _event_emitter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(50025);
4857
+ /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65147);
4858
+ /* harmony import */ var jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(83044);
4859
+ /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(98253);
4860
+ /* harmony import */ var jodit_core_helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(12041);
4861
+ /* harmony import */ var jodit_core_helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(449);
4862
+ /* harmony import */ var jodit_core_helpers_utils_get_class_name__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(75766);
4863
+ /* harmony import */ var jodit_core_plugin_plugin_system__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(77402);
4864
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(17352);
4865
+ /* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(71842);
4866
+ /* harmony import */ var _event_emitter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(50025);
4754
4867
  /*!
4755
4868
  * Jodit Editor (https://xdsoft.net/jodit/)
4756
4869
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -4765,6 +4878,7 @@ var EventHandlersStore = /** @class */ (function () {
4765
4878
 
4766
4879
 
4767
4880
 
4881
+
4768
4882
  var instances = {};
4769
4883
  var counter = 1;
4770
4884
  var uuids = new Set();
@@ -4783,15 +4897,15 @@ function uniqueUid() {
4783
4897
  uuids.add(uid);
4784
4898
  return uid;
4785
4899
  }
4786
- var pluginSystem = new jodit_core_plugin_plugin_system__WEBPACK_IMPORTED_MODULE_1__/* .PluginSystem */ .$();
4900
+ var pluginSystem = new jodit_core_plugin_plugin_system__WEBPACK_IMPORTED_MODULE_2__/* .PluginSystem */ .$();
4787
4901
  var modules = {};
4788
4902
  var extendLang = function (langs) {
4789
4903
  Object.keys(langs).forEach(function (key) {
4790
- if (_constants__WEBPACK_IMPORTED_MODULE_2__.lang[key]) {
4791
- Object.assign(_constants__WEBPACK_IMPORTED_MODULE_2__.lang[key], langs[key]);
4904
+ if (_constants__WEBPACK_IMPORTED_MODULE_3__.lang[key]) {
4905
+ Object.assign(_constants__WEBPACK_IMPORTED_MODULE_3__.lang[key], langs[key]);
4792
4906
  }
4793
4907
  else {
4794
- _constants__WEBPACK_IMPORTED_MODULE_2__.lang[key] = langs[key];
4908
+ _constants__WEBPACK_IMPORTED_MODULE_3__.lang[key] = langs[key];
4795
4909
  }
4796
4910
  });
4797
4911
  };
@@ -4802,47 +4916,36 @@ var boxes = new WeakMap();
4802
4916
  function getContainer(jodit, classFunc, tag, createInsideEditor) {
4803
4917
  if (tag === void 0) { tag = 'div'; }
4804
4918
  if (createInsideEditor === void 0) { createInsideEditor = false; }
4805
- var name = (0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_5__/* .isString */ .K)(classFunc)
4919
+ var name = (0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_6__/* .isString */ .K)(classFunc)
4806
4920
  ? classFunc
4807
4921
  : classFunc
4808
- ? (0,jodit_core_helpers_utils_get_class_name__WEBPACK_IMPORTED_MODULE_0__/* .getClassName */ .u)(classFunc.prototype)
4922
+ ? (0,jodit_core_helpers_utils_get_class_name__WEBPACK_IMPORTED_MODULE_1__/* .getClassName */ .u)(classFunc.prototype)
4809
4923
  : 'jodit-utils';
4810
4924
  var data = boxes.get(jodit) || {}, key = name + tag;
4811
- var view = (0,jodit_core_helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_6__/* .isViewObject */ .h)(jodit) ? jodit : jodit.j;
4925
+ var view = (0,jodit_core_helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_7__/* .isViewObject */ .h)(jodit) ? jodit : jodit.j;
4926
+ var body = null;
4812
4927
  if (!data[key]) {
4813
4928
  var c = view.c;
4814
- var body = void 0;
4815
- if ((0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit) && jodit.o.shadowRoot) {
4816
- body = jodit.o.shadowRoot;
4817
- }
4818
- else {
4819
- body = jodit.od.body;
4820
- if ((0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit)) {
4821
- var dialog = _dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.closest(jodit.container, 'dialog', jodit.od.body);
4822
- if (dialog) {
4823
- body = dialog;
4824
- }
4825
- }
4826
- }
4929
+ body = getPopupViewRoot(view.o, view.container, jodit.od.body);
4827
4930
  if (createInsideEditor &&
4828
- (0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit) &&
4931
+ (0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_8__/* .isJoditObject */ .y)(jodit) &&
4829
4932
  jodit.od !== jodit.ed) {
4830
4933
  c = jodit.createInside;
4831
4934
  var place = tag === 'style' ? jodit.ed.head : jodit.ed.body;
4832
4935
  body =
4833
- (0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit) && jodit.o.shadowRoot
4936
+ (0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_8__/* .isJoditObject */ .y)(jodit) && jodit.o.shadowRoot
4834
4937
  ? jodit.o.shadowRoot
4835
4938
  : place;
4836
4939
  }
4837
4940
  var box_1 = c.element(tag, {
4838
- className: "jodit jodit-".concat((0,jodit_core_helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_8__/* .kebabCase */ .k)(name), "-container jodit-box")
4941
+ className: "jodit jodit-".concat((0,jodit_core_helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_9__/* .kebabCase */ .k)(name), "-container jodit-box")
4839
4942
  });
4840
4943
  box_1.classList.add("jodit_theme_".concat(view.o.theme || 'default'));
4841
4944
  body.appendChild(box_1);
4842
4945
  data[key] = box_1;
4843
4946
  jodit.hookStatus('beforeDestruct', function () {
4844
4947
  view.events.off(box_1);
4845
- _dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.safeRemove(box_1);
4948
+ _dom__WEBPACK_IMPORTED_MODULE_4__/* .Dom */ .J.safeRemove(box_1);
4846
4949
  delete data[key];
4847
4950
  if (Object.keys(data).length) {
4848
4951
  boxes.delete(jodit);
@@ -4855,10 +4958,22 @@ function getContainer(jodit, classFunc, tag, createInsideEditor) {
4855
4958
  data[key].classList.add("jodit_theme_".concat(view.o.theme || 'default'));
4856
4959
  return data[key];
4857
4960
  }
4961
+ /**
4962
+ * Get root element for view
4963
+ * @internal
4964
+ */
4965
+ function getPopupViewRoot(o, container, defaultRoot) {
4966
+ var _a, _b, _c;
4967
+ return ((_c = (_b = (_a = o.popupRoot) !== null && _a !== void 0 ? _a : o.shadowRoot) !== null && _b !== void 0 ? _b : _dom__WEBPACK_IMPORTED_MODULE_4__/* .Dom */ .J.closest(container, function (parentElement) {
4968
+ return _dom__WEBPACK_IMPORTED_MODULE_4__/* .Dom */ .J.isHTMLElement(parentElement) &&
4969
+ (_dom__WEBPACK_IMPORTED_MODULE_4__/* .Dom */ .J.isTag(parentElement, 'dialog') ||
4970
+ ['fixed', 'absolute'].includes((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.css)(parentElement, 'position')));
4971
+ }, defaultRoot)) !== null && _c !== void 0 ? _c : defaultRoot);
4972
+ }
4858
4973
  /**
4859
4974
  * Global event emitter
4860
4975
  */
4861
- var eventEmitter = new _event_emitter__WEBPACK_IMPORTED_MODULE_4__/* .EventEmitter */ .bk();
4976
+ var eventEmitter = new _event_emitter__WEBPACK_IMPORTED_MODULE_5__/* .EventEmitter */ .bk();
4862
4977
 
4863
4978
 
4864
4979
  /***/ }),
@@ -9211,6 +9326,9 @@ var $$temp = function () {
9211
9326
  temp++;
9212
9327
  return temp;
9213
9328
  };
9329
+ /**
9330
+ * @deprecated Do not use it in new code
9331
+ */
9214
9332
  function $$(selector, root) {
9215
9333
  var result;
9216
9334
  if (!jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.IS_ES_NEXT &&
@@ -13490,10 +13608,11 @@ var Storage = /** @class */ (function () {
13490
13608
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
13491
13609
  /* harmony export */ z: function() { return /* binding */ Dlgs; }
13492
13610
  /* harmony export */ });
13493
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(31635);
13494
- /* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9823);
13495
- /* harmony import */ var jodit_core_helpers_utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84976);
13496
- /* harmony import */ var jodit_modules_dialog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(34256);
13611
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(31635);
13612
+ /* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(56298);
13613
+ /* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9823);
13614
+ /* harmony import */ var jodit_core_helpers_utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(84976);
13615
+ /* harmony import */ var jodit_modules_dialog__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(34256);
13497
13616
  /*!
13498
13617
  * Jodit Editor (https://xdsoft.net/jodit/)
13499
13618
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -13503,36 +13622,38 @@ var Storage = /** @class */ (function () {
13503
13622
 
13504
13623
 
13505
13624
 
13625
+
13506
13626
  var Dlgs = /** @class */ (function () {
13507
13627
  function Dlgs() {
13508
13628
  }
13509
13629
  Dlgs.prototype.dlg = function (options) {
13510
- var dialog = new jodit_modules_dialog__WEBPACK_IMPORTED_MODULE_2__/* .Dialog */ .lG((0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__assign */ .Cl)({ language: this.o.language, shadowRoot: this.o.shadowRoot, ownerWindow: this.o.ownerWindow, defaultTimeout: this.o.defaultTimeout, direction: this.o.direction, theme: this.o.theme, globalFullSize: this.o.globalFullSize }, options));
13511
- (0,jodit_core_helpers_utils_utils__WEBPACK_IMPORTED_MODULE_1__/* .markOwner */ .b_)(this, dialog.container);
13630
+ var popupRoot = (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_0__/* .getPopupViewRoot */ .ef)(this.o, this.container, this.od.body);
13631
+ var dialog = new jodit_modules_dialog__WEBPACK_IMPORTED_MODULE_3__/* .Dialog */ .lG((0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__assign */ .Cl)({ language: this.o.language, shadowRoot: this.o.shadowRoot, popupRoot: popupRoot, ownerWindow: this.o.ownerWindow, defaultTimeout: this.o.defaultTimeout, direction: this.o.direction, theme: this.o.theme, globalFullSize: this.o.globalFullSize }, options));
13632
+ (0,jodit_core_helpers_utils_utils__WEBPACK_IMPORTED_MODULE_2__/* .markOwner */ .b_)(this, dialog.container);
13512
13633
  dialog.parent = this;
13513
13634
  return dialog.bindDestruct(this);
13514
13635
  };
13515
13636
  Dlgs.prototype.confirm = function (msg, title, callback) {
13516
13637
  msg = processTitle(msg, this);
13517
13638
  title = processTitle(title, this);
13518
- return jodit_modules_dialog__WEBPACK_IMPORTED_MODULE_2__/* .Confirm */ .pT.call(this.dlg({ closeOnClickOverlay: true }), msg, title, callback);
13639
+ return jodit_modules_dialog__WEBPACK_IMPORTED_MODULE_3__/* .Confirm */ .pT.call(this.dlg({ closeOnClickOverlay: true }), msg, title, callback);
13519
13640
  };
13520
13641
  Dlgs.prototype.prompt = function (msg, title, callback, placeholder, defaultValue) {
13521
13642
  msg = processTitle(msg, this);
13522
13643
  title = processTitle(title, this);
13523
13644
  placeholder = processTitle(placeholder, this);
13524
- return jodit_modules_dialog__WEBPACK_IMPORTED_MODULE_2__/* .Prompt */ .XG.call(this.dlg({ closeOnClickOverlay: true }), msg, title, callback, placeholder, defaultValue);
13645
+ return jodit_modules_dialog__WEBPACK_IMPORTED_MODULE_3__/* .Prompt */ .XG.call(this.dlg({ closeOnClickOverlay: true }), msg, title, callback, placeholder, defaultValue);
13525
13646
  };
13526
13647
  Dlgs.prototype.alert = function (msg, title, callback, className) {
13527
13648
  msg = processTitle(msg, this);
13528
13649
  title = processTitle(title, this);
13529
- return jodit_modules_dialog__WEBPACK_IMPORTED_MODULE_2__/* .Alert */ .Fc.call(this.dlg({ closeOnClickOverlay: true }), msg, title, callback, className);
13650
+ return jodit_modules_dialog__WEBPACK_IMPORTED_MODULE_3__/* .Alert */ .Fc.call(this.dlg({ closeOnClickOverlay: true }), msg, title, callback, className);
13530
13651
  };
13531
13652
  return Dlgs;
13532
13653
  }());
13533
13654
 
13534
13655
  function processTitle(title, self) {
13535
- if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__/* .isString */ .Kg)(title) && !(0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__/* .isHTML */ .AH)(title)) {
13656
+ if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isString */ .Kg)(title) && !(0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isHTML */ .AH)(title)) {
13536
13657
  title = self.i18n(title);
13537
13658
  }
13538
13659
  return title;
@@ -17063,19 +17184,18 @@ var View = /** @class */ (function (_super) {
17063
17184
  };
17064
17185
  /** @override */
17065
17186
  View.prototype.destruct = function () {
17187
+ var _a, _b, _c;
17066
17188
  if (this.isDestructed) {
17067
17189
  return;
17068
17190
  }
17069
- this.progressbar.destruct();
17070
- this.message.destruct();
17191
+ (_a = (0,jodit_core_decorators_cache_cache__WEBPACK_IMPORTED_MODULE_5__/* .cached */ .PO)(this, 'progressbar')) === null || _a === void 0 ? void 0 : _a.destruct();
17192
+ (_b = (0,jodit_core_decorators_cache_cache__WEBPACK_IMPORTED_MODULE_5__/* .cached */ .PO)(this, 'message')) === null || _b === void 0 ? void 0 : _b.destruct();
17071
17193
  if (this.events) {
17072
17194
  this.events.destruct();
17073
17195
  // @ts-ignore
17074
17196
  this.events = undefined;
17075
17197
  }
17076
- if (this.buffer) {
17077
- this.buffer.clear();
17078
- }
17198
+ (_c = (0,jodit_core_decorators_cache_cache__WEBPACK_IMPORTED_MODULE_5__/* .cached */ .PO)(this, 'buffer')) === null || _c === void 0 ? void 0 : _c.clear();
17079
17199
  jodit_core_dom__WEBPACK_IMPORTED_MODULE_7__/* .Dom */ .J.safeRemove(this.container);
17080
17200
  _super.prototype.destruct.call(this);
17081
17201
  };
@@ -18424,20 +18544,21 @@ var Jodit = /** @class */ (function (_super) {
18424
18544
  */
18425
18545
  Jodit.prototype.destruct = function () {
18426
18546
  var _this = this;
18547
+ var _a, _b;
18427
18548
  if (this.isInDestruct) {
18428
18549
  return;
18429
18550
  }
18430
18551
  this.setStatus(jodit_modules__WEBPACK_IMPORTED_MODULE_7__.STATUSES.beforeDestruct);
18431
18552
  this.__elementToPlace.clear();
18432
- this.storage.clear();
18433
- this.buffer.clear();
18553
+ (_a = (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.cached)(this, 'storage')) === null || _a === void 0 ? void 0 : _a.clear();
18554
+ (_b = (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.cached)(this, 'buffer')) === null || _b === void 0 ? void 0 : _b.clear();
18434
18555
  this.commands.clear();
18435
18556
  this.__selectionLocked = null;
18436
18557
  this.e.off(this.ow, 'resize');
18437
18558
  this.e.off(this.ow);
18438
18559
  this.e.off(this.od);
18439
18560
  this.e.off(this.od.body);
18440
- var buffer = this.editor ? this.getEditorValue() : '';
18561
+ var tmpValue = this.editor ? this.getEditorValue() : '';
18441
18562
  this.places.forEach(function (_a) {
18442
18563
  var container = _a.container, workplace = _a.workplace, statusbar = _a.statusbar, element = _a.element, iframe = _a.iframe, editor = _a.editor, history = _a.history;
18443
18564
  if (!element) {
@@ -18482,7 +18603,7 @@ var Jodit = /** @class */ (function (_super) {
18482
18603
  jodit_modules__WEBPACK_IMPORTED_MODULE_7__.Dom.safeRemove(iframe);
18483
18604
  // inline mode
18484
18605
  if (container === element) {
18485
- element.innerHTML = buffer;
18606
+ element.innerHTML = tmpValue;
18486
18607
  }
18487
18608
  history.destruct();
18488
18609
  });
@@ -18944,7 +19065,7 @@ var Dialog = /** @class */ (function (_super) {
18944
19065
  _this.unlockSelect = function () {
18945
19066
  _this.setMod('moved', false);
18946
19067
  };
18947
- _this.onResize = function () {
19068
+ _this.__onResize = function () {
18948
19069
  if (_this.options &&
18949
19070
  _this.o.resizable &&
18950
19071
  !_this.moved &&
@@ -19001,14 +19122,14 @@ var Dialog = /** @class */ (function (_super) {
19001
19122
  });
19002
19123
  var headerBox = self.getElm('header');
19003
19124
  headerBox &&
19004
- self.e.on(headerBox, 'pointerdown touchstart', self.onHeaderMouseDown);
19005
- self.e.on(self.resizer, 'mousedown touchstart', self.onResizerMouseDown);
19125
+ self.e.on(headerBox, 'pointerdown touchstart', self.__onHeaderMouseDown);
19126
+ self.e.on(self.resizer, 'mousedown touchstart', self.__onResizerMouseDown);
19006
19127
  var fullSize = jodit_core_global__WEBPACK_IMPORTED_MODULE_4__/* .pluginSystem */ .fg.get('fullsize');
19007
19128
  (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_6__/* .isFunction */ .Tn)(fullSize) && fullSize(self);
19008
19129
  _this.e
19009
19130
  .on(self.container, 'close_dialog', self.close)
19010
- .on(_this.ow, 'keydown', _this.onEsc)
19011
- .on(_this.ow, 'resize', _this.onResize);
19131
+ .on(_this.ow, 'keydown', _this.__onEsc)
19132
+ .on(_this.ow, 'resize', _this.__onResize);
19012
19133
  if (_this.o.closeOnClickOverlay) {
19013
19134
  var overlay = self.getElm('overlay');
19014
19135
  void 0;
@@ -19023,8 +19144,14 @@ var Dialog = /** @class */ (function (_super) {
19023
19144
  };
19024
19145
  Object.defineProperty(Dialog.prototype, "destination", {
19025
19146
  get: function () {
19026
- var _a;
19027
- return ((_a = this.o.shadowRoot) !== null && _a !== void 0 ? _a : this.od.body);
19147
+ var _a = this.o, popupRoot = _a.popupRoot, shadowRoot = _a.shadowRoot;
19148
+ if (popupRoot) {
19149
+ return popupRoot;
19150
+ }
19151
+ if (shadowRoot) {
19152
+ return shadowRoot;
19153
+ }
19154
+ return this.od.body;
19028
19155
  },
19029
19156
  enumerable: false,
19030
19157
  configurable: true
@@ -19057,14 +19184,14 @@ var Dialog = /** @class */ (function (_super) {
19057
19184
  }
19058
19185
  });
19059
19186
  };
19060
- Dialog.prototype.onMouseUp = function () {
19187
+ Dialog.prototype.__onMouseUp = function () {
19061
19188
  if (this.draggable || this.resizable) {
19062
- this.removeGlobalResizeListeners();
19189
+ this.__removeGlobalResizeListeners();
19063
19190
  this.draggable = false;
19064
19191
  this.resizable = false;
19065
19192
  this.unlockSelect();
19066
19193
  if (this.e) {
19067
- this.removeGlobalResizeListeners();
19194
+ this.__removeGlobalResizeListeners();
19068
19195
  /**
19069
19196
  * Fired when the dialog box is finished to resizing
19070
19197
  */
@@ -19075,7 +19202,7 @@ var Dialog = /** @class */ (function (_super) {
19075
19202
  /**
19076
19203
  *
19077
19204
  */
19078
- Dialog.prototype.onHeaderMouseDown = function (e) {
19205
+ Dialog.prototype.__onHeaderMouseDown = function (e) {
19079
19206
  var target = e.target;
19080
19207
  if (!this.o.draggable ||
19081
19208
  (target && target.nodeName.match(/^(INPUT|SELECT)$/))) {
@@ -19091,7 +19218,7 @@ var Dialog = /** @class */ (function (_super) {
19091
19218
  e.preventDefault();
19092
19219
  }
19093
19220
  this.lockSelect();
19094
- this.addGlobalResizeListeners();
19221
+ this.__addGlobalResizeListeners();
19095
19222
  if (this.e) {
19096
19223
  /**
19097
19224
  * Fired when dialog box is started moving
@@ -19100,7 +19227,7 @@ var Dialog = /** @class */ (function (_super) {
19100
19227
  this.e.fire('closeAllPopups');
19101
19228
  }
19102
19229
  };
19103
- Dialog.prototype.onMouseMove = function (e) {
19230
+ Dialog.prototype.__onMouseMove = function (e) {
19104
19231
  if (this.draggable && this.o.draggable) {
19105
19232
  this.setPosition(this.startPoint.x + e.clientX - this.startX, this.startPoint.y + e.clientY - this.startY);
19106
19233
  if (this.e) {
@@ -19121,7 +19248,7 @@ var Dialog = /** @class */ (function (_super) {
19121
19248
  }
19122
19249
  }
19123
19250
  };
19124
- Dialog.prototype.onEsc = function (e) {
19251
+ Dialog.prototype.__onEsc = function (e) {
19125
19252
  if (!this.o.closeOnEsc) {
19126
19253
  return;
19127
19254
  }
@@ -19138,14 +19265,14 @@ var Dialog = /** @class */ (function (_super) {
19138
19265
  e.stopImmediatePropagation();
19139
19266
  }
19140
19267
  };
19141
- Dialog.prototype.onResizerMouseDown = function (e) {
19268
+ Dialog.prototype.__onResizerMouseDown = function (e) {
19142
19269
  this.resizable = true;
19143
19270
  this.startX = e.clientX;
19144
19271
  this.startY = e.clientY;
19145
19272
  this.startPoint.w = this.dialog.offsetWidth;
19146
19273
  this.startPoint.h = this.dialog.offsetHeight;
19147
19274
  this.lockSelect();
19148
- this.addGlobalResizeListeners();
19275
+ this.__addGlobalResizeListeners();
19149
19276
  if (this.e) {
19150
19277
  /**
19151
19278
  * Fired when dialog box is started resizing
@@ -19153,17 +19280,17 @@ var Dialog = /** @class */ (function (_super) {
19153
19280
  this.e.fire(this, 'startResize');
19154
19281
  }
19155
19282
  };
19156
- Dialog.prototype.addGlobalResizeListeners = function () {
19283
+ Dialog.prototype.__addGlobalResizeListeners = function () {
19157
19284
  var self = this;
19158
19285
  self.e
19159
- .on(self.ow, 'pointermove touchmove', self.onMouseMove)
19160
- .on(self.ow, 'pointerup touchend', self.onMouseUp);
19286
+ .on(self.ow, 'pointermove touchmove', self.__onMouseMove)
19287
+ .on(self.ow, 'pointerup touchend', self.__onMouseUp);
19161
19288
  };
19162
- Dialog.prototype.removeGlobalResizeListeners = function () {
19289
+ Dialog.prototype.__removeGlobalResizeListeners = function () {
19163
19290
  var self = this;
19164
19291
  self.e
19165
- .off(self.ow, 'mousemove pointermove', self.onMouseMove)
19166
- .off(self.ow, 'mouseup pointerup', self.onMouseUp);
19292
+ .off(self.ow, 'mousemove pointermove', self.__onMouseMove)
19293
+ .off(self.ow, 'mouseup pointerup', self.__onMouseUp);
19167
19294
  };
19168
19295
  /**
19169
19296
  * Specifies the size of the window
@@ -19419,7 +19546,7 @@ var Dialog = /** @class */ (function (_super) {
19419
19546
  this.toggleFullSize(false);
19420
19547
  }
19421
19548
  jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.safeRemove(this.container);
19422
- this.removeGlobalResizeListeners();
19549
+ this.__removeGlobalResizeListeners();
19423
19550
  /**
19424
19551
  * It called after the window is closed
19425
19552
  */
@@ -19452,30 +19579,30 @@ var Dialog = /** @class */ (function (_super) {
19452
19579
  this.close();
19453
19580
  }
19454
19581
  if (this.events) {
19455
- this.removeGlobalResizeListeners();
19582
+ this.__removeGlobalResizeListeners();
19456
19583
  this.events
19457
19584
  .off(this.container, 'close_dialog', self.close)
19458
- .off(this.ow, 'keydown', this.onEsc)
19459
- .off(this.ow, 'resize', this.onResize);
19585
+ .off(this.ow, 'keydown', this.__onEsc)
19586
+ .off(this.ow, 'resize', this.__onResize);
19460
19587
  }
19461
19588
  _super.prototype.destruct.call(this);
19462
19589
  };
19463
19590
  var Dialog_1;
19464
19591
  (0,tslib__WEBPACK_IMPORTED_MODULE_13__/* .__decorate */ .Cg)([
19465
19592
  jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
19466
- ], Dialog.prototype, "onMouseUp", null);
19593
+ ], Dialog.prototype, "__onMouseUp", null);
19467
19594
  (0,tslib__WEBPACK_IMPORTED_MODULE_13__/* .__decorate */ .Cg)([
19468
19595
  jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
19469
- ], Dialog.prototype, "onHeaderMouseDown", null);
19596
+ ], Dialog.prototype, "__onHeaderMouseDown", null);
19470
19597
  (0,tslib__WEBPACK_IMPORTED_MODULE_13__/* .__decorate */ .Cg)([
19471
19598
  jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
19472
- ], Dialog.prototype, "onMouseMove", null);
19599
+ ], Dialog.prototype, "__onMouseMove", null);
19473
19600
  (0,tslib__WEBPACK_IMPORTED_MODULE_13__/* .__decorate */ .Cg)([
19474
19601
  jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
19475
- ], Dialog.prototype, "onEsc", null);
19602
+ ], Dialog.prototype, "__onEsc", null);
19476
19603
  (0,tslib__WEBPACK_IMPORTED_MODULE_13__/* .__decorate */ .Cg)([
19477
19604
  jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
19478
- ], Dialog.prototype, "onResizerMouseDown", null);
19605
+ ], Dialog.prototype, "__onResizerMouseDown", null);
19479
19606
  (0,tslib__WEBPACK_IMPORTED_MODULE_13__/* .__decorate */ .Cg)([
19480
19607
  jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
19481
19608
  ], Dialog.prototype, "close", null);
@@ -21202,11 +21329,12 @@ var FileBrowser = /** @class */ (function (_super) {
21202
21329
  });
21203
21330
  };
21204
21331
  FileBrowser.prototype.destruct = function () {
21332
+ var _a;
21205
21333
  if (this.isInDestruct) {
21206
21334
  return;
21207
21335
  }
21336
+ (_a = (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.cached)(this, '_dialog')) === null || _a === void 0 ? void 0 : _a.destruct();
21208
21337
  _super.prototype.destruct.call(this);
21209
- this._dialog.destruct();
21210
21338
  this.events && this.e.off('.filebrowser');
21211
21339
  this.uploader && this.uploader.destruct();
21212
21340
  };
@@ -29070,9 +29198,10 @@ function visitNodeWalker(jodit, nodeElm, allowTags, denyTags, currentSelectionNo
29070
29198
  "use strict";
29071
29199
  /* unused harmony export clipboard */
29072
29200
  /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17352);
29073
- /* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(56298);
29074
- /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65147);
29075
- /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(51329);
29201
+ /* harmony import */ var jodit_core_decorators_cache_cache__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(87875);
29202
+ /* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(56298);
29203
+ /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65147);
29204
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(51329);
29076
29205
  /*!
29077
29206
  * Jodit Editor (https://xdsoft.net/jodit/)
29078
29207
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -29082,6 +29211,7 @@ function visitNodeWalker(jodit, nodeElm, allowTags, denyTags, currentSelectionNo
29082
29211
 
29083
29212
 
29084
29213
 
29214
+
29085
29215
  /**
29086
29216
  * Clipboard plugin - cut and copy functionality
29087
29217
  */
@@ -29115,11 +29245,11 @@ var clipboard = /** @class */ (function () {
29115
29245
  .on("copy.".concat(jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID, " cut.").concat(jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID), function (event) {
29116
29246
  var _a;
29117
29247
  var selectedText = editor.s.html;
29118
- var clipboardData = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.getDataTransfer)(event) ||
29119
- (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.getDataTransfer)(editor.ew) ||
29120
- (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.getDataTransfer)(event.originalEvent);
29248
+ var clipboardData = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.getDataTransfer)(event) ||
29249
+ (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.getDataTransfer)(editor.ew) ||
29250
+ (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.getDataTransfer)(event.originalEvent);
29121
29251
  if (clipboardData) {
29122
- clipboardData.setData(jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.TEXT_PLAIN, (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.stripTags)(selectedText));
29252
+ clipboardData.setData(jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.TEXT_PLAIN, (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.stripTags)(selectedText));
29123
29253
  clipboardData.setData(jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.TEXT_HTML, selectedText);
29124
29254
  }
29125
29255
  editor.buffer.set(jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID, selectedText);
@@ -29139,13 +29269,13 @@ var clipboard = /** @class */ (function () {
29139
29269
  /** @override */
29140
29270
  clipboard.prototype.destruct = function (editor) {
29141
29271
  var _a, _b;
29142
- (_a = editor === null || editor === void 0 ? void 0 : editor.buffer) === null || _a === void 0 ? void 0 : _a.set(jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID, '');
29272
+ (_a = (0,jodit_core_decorators_cache_cache__WEBPACK_IMPORTED_MODULE_1__/* .cached */ .PO)(editor, 'buffer')) === null || _a === void 0 ? void 0 : _a.set(jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID, '');
29143
29273
  (_b = editor === null || editor === void 0 ? void 0 : editor.events) === null || _b === void 0 ? void 0 : _b.off('.' + jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID);
29144
29274
  };
29145
29275
  return clipboard;
29146
29276
  }());
29147
29277
 
29148
- jodit_core_global__WEBPACK_IMPORTED_MODULE_1__/* .pluginSystem */ .fg.add('clipboard', clipboard);
29278
+ jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .pluginSystem */ .fg.add('clipboard', clipboard);
29149
29279
 
29150
29280
 
29151
29281
  /***/ }),
@@ -32589,8 +32719,9 @@ var imageProcessor = /** @class */ (function (_super) {
32589
32719
  imageProcessor.prototype.afterInit = function (jodit) { };
32590
32720
  imageProcessor.prototype.beforeDestruct = function (jodit) {
32591
32721
  var e_1, _a;
32592
- var list = jodit.buffer.get(JODIT_IMAGE_BLOB_ID);
32593
- if (list) {
32722
+ var buffer = (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.cached)(jodit, 'buffer');
32723
+ var list = buffer === null || buffer === void 0 ? void 0 : buffer.get(JODIT_IMAGE_BLOB_ID);
32724
+ if (buffer && list) {
32594
32725
  var keys = Object.keys(list);
32595
32726
  try {
32596
32727
  for (var keys_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_6__/* .__values */ .Ju)(keys), keys_1_1 = keys_1.next(); !keys_1_1.done; keys_1_1 = keys_1.next()) {
@@ -32605,7 +32736,7 @@ var imageProcessor = /** @class */ (function (_super) {
32605
32736
  }
32606
32737
  finally { if (e_1) throw e_1.error; }
32607
32738
  }
32608
- jodit.buffer.delete(JODIT_IMAGE_BLOB_ID);
32739
+ buffer.delete(JODIT_IMAGE_BLOB_ID);
32609
32740
  }
32610
32741
  };
32611
32742
  imageProcessor.prototype.onAfterGetValueFromEditor = function (data, consumer) {
@@ -40335,7 +40466,8 @@ var search = /** @class */ (function (_super) {
40335
40466
  };
40336
40467
  /** @override */
40337
40468
  search.prototype.beforeDestruct = function (jodit) {
40338
- this.ui.destruct();
40469
+ var _a;
40470
+ (_a = (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.cached)(this, 'ui')) === null || _a === void 0 ? void 0 : _a.destruct();
40339
40471
  jodit.e.off('.search');
40340
40472
  };
40341
40473
  (0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .Cg)([