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/es2021/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 @@ class Config {
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
  */
@@ -1736,7 +1740,7 @@ __webpack_require__.r(__webpack_exports__);
1736
1740
  * Released under MIT see LICENSE.txt in the project root for license information.
1737
1741
  * Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
1738
1742
  */
1739
- const APP_VERSION = "4.2.50";
1743
+ const APP_VERSION = "4.3.2";
1740
1744
  // prettier-ignore
1741
1745
  const ES = "es2021";
1742
1746
  const IS_ES_MODERN = true;
@@ -2152,9 +2156,10 @@ class Create {
2152
2156
  /* harmony export */ PP: function() { return /* binding */ cache; }
2153
2157
  /* harmony export */ });
2154
2158
  /* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(64567);
2155
- /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55186);
2156
- /* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9823);
2157
- /* harmony import */ var jodit_core_helpers_utils_error_error__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(76166);
2159
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(17352);
2160
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(55186);
2161
+ /* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9823);
2162
+ /* harmony import */ var jodit_core_helpers_utils_error_error__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(76166);
2158
2163
  /*!
2159
2164
  * Jodit Editor (https://xdsoft.net/jodit/)
2160
2165
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -2164,19 +2169,125 @@ class Create {
2164
2169
 
2165
2170
 
2166
2171
 
2172
+
2173
+ /**
2174
+ * Retrieves a cached property value from an object if it exists; otherwise, returns `null`.
2175
+ *
2176
+ * This utility is particularly useful when working with properties that are lazily initialized
2177
+ * or dynamically created, such as getters or cached computations. It ensures you can safely
2178
+ * access the value without triggering initialization or creating a new instance.
2179
+ *
2180
+ * ### Usage Example:
2181
+ * ```typescript
2182
+ * import type { IUIElement } from "jodit";
2183
+ *
2184
+ * const { component, cache, cached } = Jodit.decorators;
2185
+ * const { UIElement } = Jodit.modules;
2186
+ *
2187
+ * @component
2188
+ * class SomeComponent extends UIElement {
2189
+ * @cache
2190
+ * get someElement(): IUIElement {
2191
+ * return new UIElement(this.jodit);
2192
+ * }
2193
+ *
2194
+ * destruct() {
2195
+ * // Use the cached utility to clean up only if the property is initialized
2196
+ * cached(this, 'someElement')?.destruct();
2197
+ * super.destruct();
2198
+ * }
2199
+ * }
2200
+ * ```
2201
+ *
2202
+ * @param object - The object containing the property to check.
2203
+ * @param property - The name of the property to retrieve from the cache.
2204
+ * @returns The cached value of the property if it exists; otherwise, `null`.
2205
+ *
2206
+ * ### Notes:
2207
+ * - If the property is defined as a getter, the function will return `null`
2208
+ * instead of invoking the getter.
2209
+ * - This function is non-destructive and does not alter the object's state.
2210
+ */
2167
2211
  function cached(object, property) {
2168
2212
  const descriptor = Object.getOwnPropertyDescriptor(object, property);
2169
- if (!descriptor || (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isFunction */ .Tn)(descriptor.get)) {
2213
+ if (!descriptor || (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_3__/* .isFunction */ .Tn)(descriptor.get)) {
2170
2214
  return null;
2171
2215
  }
2172
2216
  return descriptor.value;
2173
2217
  }
2218
+ /**
2219
+ * A decorator that caches the result of a getter method. Once the getter is accessed for the first time,
2220
+ * its computed value is stored as a property of the object. Subsequent accesses return the cached value
2221
+ * without recalculating it, improving performance and avoiding redundant computations.
2222
+ *
2223
+ * ### Key Features:
2224
+ * - **Lazy Initialization**: The original getter is invoked only once, the first time the property is accessed.
2225
+ * - **Immutability**: After caching, the value is stored as a non-writable, non-configurable property, preventing accidental modifications.
2226
+ * - **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.
2227
+ *
2228
+ * ### Usage Example 1: Basic Caching
2229
+ * ```typescript
2230
+ * import { cache } from './decorators';
2231
+ *
2232
+ * class Example {
2233
+ * private counter = 0;
2234
+ *
2235
+ * @cache
2236
+ * get expensiveComputation(): number {
2237
+ * console.log('Calculating...');
2238
+ * return ++this.counter;
2239
+ * }
2240
+ * }
2241
+ *
2242
+ * const instance = new Example();
2243
+ * console.log(instance.expensiveComputation); // Logs "Calculating..." and returns 1
2244
+ * console.log(instance.expensiveComputation); // Returns 1 (cached value, no calculation)
2245
+ * ```
2246
+ *
2247
+ * ### Usage Example 2: Integration with Cached Utilities
2248
+ * ```typescript
2249
+ * import { cache, cached } from './decorators';
2250
+ * import type { IUIElement } from "jodit";
2251
+ *
2252
+ * const { component } = Jodit.decorators;
2253
+ * const { UIElement } = Jodit.modules;
2254
+ *
2255
+ * @component
2256
+ * class SomeComponent extends UIElement {
2257
+ * @cache
2258
+ * get someElement(): IUIElement {
2259
+ * return new UIElement(this.jodit);
2260
+ * }
2261
+ *
2262
+ * destruct() {
2263
+ * // Use the cached utility to clean up only if the property is initialized
2264
+ * cached(this, 'someElement')?.destruct();
2265
+ * super.destruct();
2266
+ * }
2267
+ * }
2268
+ * ```
2269
+ *
2270
+ * @param _ - The target object (not used directly).
2271
+ * @param name - The name of the property to decorate.
2272
+ * @param descriptor - The property descriptor, which must include a getter method.
2273
+ * @throws Will throw an error if the descriptor does not include a getter.
2274
+ *
2275
+ * ### Notes:
2276
+ * - **Performance**: Ideal for properties that are computationally expensive and do not change after the initial computation.
2277
+ * - **Flexibility**: Supports conditional caching via the `noCache` property in the returned value.
2278
+ * - **Compatibility**: Designed to work seamlessly with objects and classes in TypeScript or JavaScript.
2279
+ */
2174
2280
  function cache(_, name, descriptor) {
2175
2281
  const getter = descriptor.get;
2176
2282
  if (!getter) {
2177
- throw (0,jodit_core_helpers_utils_error_error__WEBPACK_IMPORTED_MODULE_3__/* .error */ .z3)('Getter property descriptor expected');
2283
+ throw (0,jodit_core_helpers_utils_error_error__WEBPACK_IMPORTED_MODULE_4__/* .error */ .z3)('Getter property descriptor expected');
2178
2284
  }
2179
2285
  descriptor.get = function () {
2286
+ if (!jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__.IS_PROD) {
2287
+ if (this.isInDestruct) {
2288
+ console.error('Trying to access property in destructed component');
2289
+ }
2290
+ }
2180
2291
  const value = getter.call(this);
2181
2292
  if (value && value.noCache === true) {
2182
2293
  return value;
@@ -2192,8 +2303,8 @@ function cache(_, name, descriptor) {
2192
2303
  }
2193
2304
  function cacheHTML(target, _, descriptor) {
2194
2305
  const fn = descriptor.value;
2195
- if (!(0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isFunction */ .Tn)(fn)) {
2196
- throw (0,jodit_core_helpers_utils_error_error__WEBPACK_IMPORTED_MODULE_3__/* .error */ .z3)('Handler must be a Function');
2306
+ if (!(0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_3__/* .isFunction */ .Tn)(fn)) {
2307
+ throw (0,jodit_core_helpers_utils_error_error__WEBPACK_IMPORTED_MODULE_4__/* .error */ .z3)('Handler must be a Function');
2197
2308
  }
2198
2309
  let useCache = true;
2199
2310
  const cached = new WeakMap();
@@ -2202,13 +2313,13 @@ function cacheHTML(target, _, descriptor) {
2202
2313
  return cached.get(this.constructor)?.cloneNode(true);
2203
2314
  }
2204
2315
  const value = fn.apply(this, attrs);
2205
- if (useCache && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isElement(value)) {
2316
+ if (useCache && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__/* .Dom */ .J.isElement(value)) {
2206
2317
  cached.set(this.constructor, value);
2207
2318
  }
2208
2319
  return useCache ? value.cloneNode(true) : value;
2209
2320
  };
2210
2321
  target.hookStatus(jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_0__/* .STATUSES */ .f.ready, (component) => {
2211
- const view = (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isViewObject */ .hH)(component)
2322
+ const view = (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_3__/* .isViewObject */ .hH)(component)
2212
2323
  ? component
2213
2324
  : component.jodit;
2214
2325
  useCache = Boolean(view.options.cache);
@@ -4442,18 +4553,20 @@ class EventHandlersStore {
4442
4553
  /* harmony export */ RR: function() { return /* binding */ eventEmitter; },
4443
4554
  /* harmony export */ VF: function() { return /* binding */ instances; },
4444
4555
  /* harmony export */ av: function() { return /* binding */ modules; },
4556
+ /* harmony export */ ef: function() { return /* binding */ getPopupViewRoot; },
4445
4557
  /* harmony export */ fg: function() { return /* binding */ pluginSystem; },
4446
4558
  /* harmony export */ w9: function() { return /* binding */ uniqueUid; }
4447
4559
  /* harmony export */ });
4448
- /* harmony import */ var jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(83044);
4449
- /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(98253);
4450
- /* harmony import */ var jodit_core_helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(12041);
4451
- /* harmony import */ var jodit_core_helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(449);
4452
- /* harmony import */ var jodit_core_helpers_utils_get_class_name__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75766);
4453
- /* harmony import */ var jodit_core_plugin_plugin_system__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(77402);
4454
- /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(17352);
4455
- /* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(71842);
4456
- /* harmony import */ var _event_emitter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(50025);
4560
+ /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65147);
4561
+ /* harmony import */ var jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(83044);
4562
+ /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(98253);
4563
+ /* harmony import */ var jodit_core_helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(12041);
4564
+ /* harmony import */ var jodit_core_helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(449);
4565
+ /* harmony import */ var jodit_core_helpers_utils_get_class_name__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(75766);
4566
+ /* harmony import */ var jodit_core_plugin_plugin_system__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(77402);
4567
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(17352);
4568
+ /* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(71842);
4569
+ /* harmony import */ var _event_emitter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(50025);
4457
4570
  /*!
4458
4571
  * Jodit Editor (https://xdsoft.net/jodit/)
4459
4572
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -4468,6 +4581,7 @@ class EventHandlersStore {
4468
4581
 
4469
4582
 
4470
4583
 
4584
+
4471
4585
  const instances = {};
4472
4586
  let counter = 1;
4473
4587
  const uuids = new Set();
@@ -4486,15 +4600,15 @@ function uniqueUid() {
4486
4600
  uuids.add(uid);
4487
4601
  return uid;
4488
4602
  }
4489
- const pluginSystem = new jodit_core_plugin_plugin_system__WEBPACK_IMPORTED_MODULE_1__/* .PluginSystem */ .$();
4603
+ const pluginSystem = new jodit_core_plugin_plugin_system__WEBPACK_IMPORTED_MODULE_2__/* .PluginSystem */ .$();
4490
4604
  const modules = {};
4491
4605
  const extendLang = (langs) => {
4492
4606
  Object.keys(langs).forEach(key => {
4493
- if (_constants__WEBPACK_IMPORTED_MODULE_2__.lang[key]) {
4494
- Object.assign(_constants__WEBPACK_IMPORTED_MODULE_2__.lang[key], langs[key]);
4607
+ if (_constants__WEBPACK_IMPORTED_MODULE_3__.lang[key]) {
4608
+ Object.assign(_constants__WEBPACK_IMPORTED_MODULE_3__.lang[key], langs[key]);
4495
4609
  }
4496
4610
  else {
4497
- _constants__WEBPACK_IMPORTED_MODULE_2__.lang[key] = langs[key];
4611
+ _constants__WEBPACK_IMPORTED_MODULE_3__.lang[key] = langs[key];
4498
4612
  }
4499
4613
  });
4500
4614
  };
@@ -4503,47 +4617,36 @@ const boxes = new WeakMap();
4503
4617
  * Create unique box(HTMLCotainer) and remove it after destroy
4504
4618
  */
4505
4619
  function getContainer(jodit, classFunc, tag = 'div', createInsideEditor = false) {
4506
- const name = (0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_5__/* .isString */ .K)(classFunc)
4620
+ const name = (0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_6__/* .isString */ .K)(classFunc)
4507
4621
  ? classFunc
4508
4622
  : classFunc
4509
- ? (0,jodit_core_helpers_utils_get_class_name__WEBPACK_IMPORTED_MODULE_0__/* .getClassName */ .u)(classFunc.prototype)
4623
+ ? (0,jodit_core_helpers_utils_get_class_name__WEBPACK_IMPORTED_MODULE_1__/* .getClassName */ .u)(classFunc.prototype)
4510
4624
  : 'jodit-utils';
4511
4625
  const data = boxes.get(jodit) || {}, key = name + tag;
4512
- const view = (0,jodit_core_helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_6__/* .isViewObject */ .h)(jodit) ? jodit : jodit.j;
4626
+ const view = (0,jodit_core_helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_7__/* .isViewObject */ .h)(jodit) ? jodit : jodit.j;
4627
+ let body = null;
4513
4628
  if (!data[key]) {
4514
4629
  let c = view.c;
4515
- let body;
4516
- if ((0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit) && jodit.o.shadowRoot) {
4517
- body = jodit.o.shadowRoot;
4518
- }
4519
- else {
4520
- body = jodit.od.body;
4521
- if ((0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit)) {
4522
- const dialog = _dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.closest(jodit.container, 'dialog', jodit.od.body);
4523
- if (dialog) {
4524
- body = dialog;
4525
- }
4526
- }
4527
- }
4630
+ body = getPopupViewRoot(view.o, view.container, jodit.od.body);
4528
4631
  if (createInsideEditor &&
4529
- (0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit) &&
4632
+ (0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_8__/* .isJoditObject */ .y)(jodit) &&
4530
4633
  jodit.od !== jodit.ed) {
4531
4634
  c = jodit.createInside;
4532
4635
  const place = tag === 'style' ? jodit.ed.head : jodit.ed.body;
4533
4636
  body =
4534
- (0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_7__/* .isJoditObject */ .y)(jodit) && jodit.o.shadowRoot
4637
+ (0,jodit_core_helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_8__/* .isJoditObject */ .y)(jodit) && jodit.o.shadowRoot
4535
4638
  ? jodit.o.shadowRoot
4536
4639
  : place;
4537
4640
  }
4538
4641
  const box = c.element(tag, {
4539
- className: `jodit jodit-${(0,jodit_core_helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_8__/* .kebabCase */ .k)(name)}-container jodit-box`
4642
+ className: `jodit jodit-${(0,jodit_core_helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_9__/* .kebabCase */ .k)(name)}-container jodit-box`
4540
4643
  });
4541
4644
  box.classList.add(`jodit_theme_${view.o.theme || 'default'}`);
4542
4645
  body.appendChild(box);
4543
4646
  data[key] = box;
4544
4647
  jodit.hookStatus('beforeDestruct', () => {
4545
4648
  view.events.off(box);
4546
- _dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.safeRemove(box);
4649
+ _dom__WEBPACK_IMPORTED_MODULE_4__/* .Dom */ .J.safeRemove(box);
4547
4650
  delete data[key];
4548
4651
  if (Object.keys(data).length) {
4549
4652
  boxes.delete(jodit);
@@ -4556,10 +4659,22 @@ function getContainer(jodit, classFunc, tag = 'div', createInsideEditor = false)
4556
4659
  data[key].classList.add(`jodit_theme_${view.o.theme || 'default'}`);
4557
4660
  return data[key];
4558
4661
  }
4662
+ /**
4663
+ * Get root element for view
4664
+ * @internal
4665
+ */
4666
+ function getPopupViewRoot(o, container, defaultRoot) {
4667
+ return (o.popupRoot ??
4668
+ o.shadowRoot ??
4669
+ _dom__WEBPACK_IMPORTED_MODULE_4__/* .Dom */ .J.closest(container, parentElement => _dom__WEBPACK_IMPORTED_MODULE_4__/* .Dom */ .J.isHTMLElement(parentElement) &&
4670
+ (_dom__WEBPACK_IMPORTED_MODULE_4__/* .Dom */ .J.isTag(parentElement, 'dialog') ||
4671
+ ['fixed', 'absolute'].includes((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.css)(parentElement, 'position'))), defaultRoot) ??
4672
+ defaultRoot);
4673
+ }
4559
4674
  /**
4560
4675
  * Global event emitter
4561
4676
  */
4562
- const eventEmitter = new _event_emitter__WEBPACK_IMPORTED_MODULE_4__/* .EventEmitter */ .bk();
4677
+ const eventEmitter = new _event_emitter__WEBPACK_IMPORTED_MODULE_5__/* .EventEmitter */ .bk();
4563
4678
 
4564
4679
 
4565
4680
  /***/ }),
@@ -8813,6 +8928,9 @@ const $$temp = () => {
8813
8928
  temp++;
8814
8929
  return temp;
8815
8930
  };
8931
+ /**
8932
+ * @deprecated Do not use it in new code
8933
+ */
8816
8934
  function $$(selector, root) {
8817
8935
  let result;
8818
8936
  if (!jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.IS_ES_NEXT &&
@@ -12866,9 +12984,10 @@ class Storage {
12866
12984
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
12867
12985
  /* harmony export */ z: function() { return /* binding */ Dlgs; }
12868
12986
  /* harmony export */ });
12869
- /* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9823);
12870
- /* harmony import */ var jodit_core_helpers_utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84976);
12871
- /* harmony import */ var jodit_modules_dialog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(34256);
12987
+ /* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(56298);
12988
+ /* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9823);
12989
+ /* harmony import */ var jodit_core_helpers_utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(84976);
12990
+ /* harmony import */ var jodit_modules_dialog__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(34256);
12872
12991
  /*!
12873
12992
  * Jodit Editor (https://xdsoft.net/jodit/)
12874
12993
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -12877,11 +12996,14 @@ class Storage {
12877
12996
 
12878
12997
 
12879
12998
 
12999
+
12880
13000
  class Dlgs {
12881
13001
  dlg(options) {
12882
- const dialog = new jodit_modules_dialog__WEBPACK_IMPORTED_MODULE_2__/* .Dialog */ .lG({
13002
+ const popupRoot = (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_0__/* .getPopupViewRoot */ .ef)(this.o, this.container, this.od.body);
13003
+ const dialog = new jodit_modules_dialog__WEBPACK_IMPORTED_MODULE_3__/* .Dialog */ .lG({
12883
13004
  language: this.o.language,
12884
13005
  shadowRoot: this.o.shadowRoot,
13006
+ popupRoot,
12885
13007
  ownerWindow: this.o.ownerWindow,
12886
13008
  defaultTimeout: this.o.defaultTimeout,
12887
13009
  direction: this.o.direction,
@@ -12889,29 +13011,29 @@ class Dlgs {
12889
13011
  globalFullSize: this.o.globalFullSize,
12890
13012
  ...options
12891
13013
  });
12892
- (0,jodit_core_helpers_utils_utils__WEBPACK_IMPORTED_MODULE_1__/* .markOwner */ .b_)(this, dialog.container);
13014
+ (0,jodit_core_helpers_utils_utils__WEBPACK_IMPORTED_MODULE_2__/* .markOwner */ .b_)(this, dialog.container);
12893
13015
  dialog.parent = this;
12894
13016
  return dialog.bindDestruct(this);
12895
13017
  }
12896
13018
  confirm(msg, title, callback) {
12897
13019
  msg = processTitle(msg, this);
12898
13020
  title = processTitle(title, this);
12899
- return jodit_modules_dialog__WEBPACK_IMPORTED_MODULE_2__/* .Confirm */ .pT.call(this.dlg({ closeOnClickOverlay: true }), msg, title, callback);
13021
+ return jodit_modules_dialog__WEBPACK_IMPORTED_MODULE_3__/* .Confirm */ .pT.call(this.dlg({ closeOnClickOverlay: true }), msg, title, callback);
12900
13022
  }
12901
13023
  prompt(msg, title, callback, placeholder, defaultValue) {
12902
13024
  msg = processTitle(msg, this);
12903
13025
  title = processTitle(title, this);
12904
13026
  placeholder = processTitle(placeholder, this);
12905
- return jodit_modules_dialog__WEBPACK_IMPORTED_MODULE_2__/* .Prompt */ .XG.call(this.dlg({ closeOnClickOverlay: true }), msg, title, callback, placeholder, defaultValue);
13027
+ return jodit_modules_dialog__WEBPACK_IMPORTED_MODULE_3__/* .Prompt */ .XG.call(this.dlg({ closeOnClickOverlay: true }), msg, title, callback, placeholder, defaultValue);
12906
13028
  }
12907
13029
  alert(msg, title, callback, className) {
12908
13030
  msg = processTitle(msg, this);
12909
13031
  title = processTitle(title, this);
12910
- return jodit_modules_dialog__WEBPACK_IMPORTED_MODULE_2__/* .Alert */ .Fc.call(this.dlg({ closeOnClickOverlay: true }), msg, title, callback, className);
13032
+ return jodit_modules_dialog__WEBPACK_IMPORTED_MODULE_3__/* .Alert */ .Fc.call(this.dlg({ closeOnClickOverlay: true }), msg, title, callback, className);
12911
13033
  }
12912
13034
  }
12913
13035
  function processTitle(title, self) {
12914
- 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)) {
13036
+ 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)) {
12915
13037
  title = self.i18n(title);
12916
13038
  }
12917
13039
  return title;
@@ -16228,16 +16350,14 @@ let View = View_1 = class View extends jodit_core_component_component__WEBPACK_I
16228
16350
  if (this.isDestructed) {
16229
16351
  return;
16230
16352
  }
16231
- this.progressbar.destruct();
16232
- this.message.destruct();
16353
+ (0,jodit_core_decorators_cache_cache__WEBPACK_IMPORTED_MODULE_5__/* .cached */ .PO)(this, 'progressbar')?.destruct();
16354
+ (0,jodit_core_decorators_cache_cache__WEBPACK_IMPORTED_MODULE_5__/* .cached */ .PO)(this, 'message')?.destruct();
16233
16355
  if (this.events) {
16234
16356
  this.events.destruct();
16235
16357
  // @ts-ignore
16236
16358
  this.events = undefined;
16237
16359
  }
16238
- if (this.buffer) {
16239
- this.buffer.clear();
16240
- }
16360
+ (0,jodit_core_decorators_cache_cache__WEBPACK_IMPORTED_MODULE_5__/* .cached */ .PO)(this, 'buffer')?.clear();
16241
16361
  jodit_core_dom__WEBPACK_IMPORTED_MODULE_7__/* .Dom */ .J.safeRemove(this.container);
16242
16362
  super.destruct();
16243
16363
  }
@@ -17463,15 +17583,15 @@ let Jodit = Jodit_1 = class Jodit extends jodit_modules__WEBPACK_IMPORTED_MODULE
17463
17583
  }
17464
17584
  this.setStatus(jodit_modules__WEBPACK_IMPORTED_MODULE_7__.STATUSES.beforeDestruct);
17465
17585
  this.__elementToPlace.clear();
17466
- this.storage.clear();
17467
- this.buffer.clear();
17586
+ (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.cached)(this, 'storage')?.clear();
17587
+ (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.cached)(this, 'buffer')?.clear();
17468
17588
  this.commands.clear();
17469
17589
  this.__selectionLocked = null;
17470
17590
  this.e.off(this.ow, 'resize');
17471
17591
  this.e.off(this.ow);
17472
17592
  this.e.off(this.od);
17473
17593
  this.e.off(this.od.body);
17474
- const buffer = this.editor ? this.getEditorValue() : '';
17594
+ const tmpValue = this.editor ? this.getEditorValue() : '';
17475
17595
  this.places.forEach(({ container, workplace, statusbar, element, iframe, editor, history }) => {
17476
17596
  if (!element) {
17477
17597
  return;
@@ -17515,7 +17635,7 @@ let Jodit = Jodit_1 = class Jodit extends jodit_modules__WEBPACK_IMPORTED_MODULE
17515
17635
  jodit_modules__WEBPACK_IMPORTED_MODULE_7__.Dom.safeRemove(iframe);
17516
17636
  // inline mode
17517
17637
  if (container === element) {
17518
- element.innerHTML = buffer;
17638
+ element.innerHTML = tmpValue;
17519
17639
  }
17520
17640
  history.destruct();
17521
17641
  });
@@ -17954,7 +18074,14 @@ let Dialog = Dialog_1 = class Dialog extends jodit_core_view_view_with_toolbar__
17954
18074
  return 'Dialog';
17955
18075
  }
17956
18076
  get destination() {
17957
- return (this.o.shadowRoot ?? this.od.body);
18077
+ const { popupRoot, shadowRoot } = this.o;
18078
+ if (popupRoot) {
18079
+ return popupRoot;
18080
+ }
18081
+ if (shadowRoot) {
18082
+ return shadowRoot;
18083
+ }
18084
+ return this.od.body;
17958
18085
  }
17959
18086
  setElements(root, elements) {
17960
18087
  const elements_list = [];
@@ -17983,14 +18110,14 @@ let Dialog = Dialog_1 = class Dialog extends jodit_core_view_view_with_toolbar__
17983
18110
  }
17984
18111
  });
17985
18112
  }
17986
- onMouseUp() {
18113
+ __onMouseUp() {
17987
18114
  if (this.draggable || this.resizable) {
17988
- this.removeGlobalResizeListeners();
18115
+ this.__removeGlobalResizeListeners();
17989
18116
  this.draggable = false;
17990
18117
  this.resizable = false;
17991
18118
  this.unlockSelect();
17992
18119
  if (this.e) {
17993
- this.removeGlobalResizeListeners();
18120
+ this.__removeGlobalResizeListeners();
17994
18121
  /**
17995
18122
  * Fired when the dialog box is finished to resizing
17996
18123
  */
@@ -18001,7 +18128,7 @@ let Dialog = Dialog_1 = class Dialog extends jodit_core_view_view_with_toolbar__
18001
18128
  /**
18002
18129
  *
18003
18130
  */
18004
- onHeaderMouseDown(e) {
18131
+ __onHeaderMouseDown(e) {
18005
18132
  const target = e.target;
18006
18133
  if (!this.o.draggable ||
18007
18134
  (target && target.nodeName.match(/^(INPUT|SELECT)$/))) {
@@ -18017,7 +18144,7 @@ let Dialog = Dialog_1 = class Dialog extends jodit_core_view_view_with_toolbar__
18017
18144
  e.preventDefault();
18018
18145
  }
18019
18146
  this.lockSelect();
18020
- this.addGlobalResizeListeners();
18147
+ this.__addGlobalResizeListeners();
18021
18148
  if (this.e) {
18022
18149
  /**
18023
18150
  * Fired when dialog box is started moving
@@ -18026,7 +18153,7 @@ let Dialog = Dialog_1 = class Dialog extends jodit_core_view_view_with_toolbar__
18026
18153
  this.e.fire('closeAllPopups');
18027
18154
  }
18028
18155
  }
18029
- onMouseMove(e) {
18156
+ __onMouseMove(e) {
18030
18157
  if (this.draggable && this.o.draggable) {
18031
18158
  this.setPosition(this.startPoint.x + e.clientX - this.startX, this.startPoint.y + e.clientY - this.startY);
18032
18159
  if (this.e) {
@@ -18047,7 +18174,7 @@ let Dialog = Dialog_1 = class Dialog extends jodit_core_view_view_with_toolbar__
18047
18174
  }
18048
18175
  }
18049
18176
  }
18050
- onEsc(e) {
18177
+ __onEsc(e) {
18051
18178
  if (!this.o.closeOnEsc) {
18052
18179
  return;
18053
18180
  }
@@ -18064,14 +18191,14 @@ let Dialog = Dialog_1 = class Dialog extends jodit_core_view_view_with_toolbar__
18064
18191
  e.stopImmediatePropagation();
18065
18192
  }
18066
18193
  }
18067
- onResizerMouseDown(e) {
18194
+ __onResizerMouseDown(e) {
18068
18195
  this.resizable = true;
18069
18196
  this.startX = e.clientX;
18070
18197
  this.startY = e.clientY;
18071
18198
  this.startPoint.w = this.dialog.offsetWidth;
18072
18199
  this.startPoint.h = this.dialog.offsetHeight;
18073
18200
  this.lockSelect();
18074
- this.addGlobalResizeListeners();
18201
+ this.__addGlobalResizeListeners();
18075
18202
  if (this.e) {
18076
18203
  /**
18077
18204
  * Fired when dialog box is started resizing
@@ -18079,17 +18206,17 @@ let Dialog = Dialog_1 = class Dialog extends jodit_core_view_view_with_toolbar__
18079
18206
  this.e.fire(this, 'startResize');
18080
18207
  }
18081
18208
  }
18082
- addGlobalResizeListeners() {
18209
+ __addGlobalResizeListeners() {
18083
18210
  const self = this;
18084
18211
  self.e
18085
- .on(self.ow, 'pointermove touchmove', self.onMouseMove)
18086
- .on(self.ow, 'pointerup touchend', self.onMouseUp);
18212
+ .on(self.ow, 'pointermove touchmove', self.__onMouseMove)
18213
+ .on(self.ow, 'pointerup touchend', self.__onMouseUp);
18087
18214
  }
18088
- removeGlobalResizeListeners() {
18215
+ __removeGlobalResizeListeners() {
18089
18216
  const self = this;
18090
18217
  self.e
18091
- .off(self.ow, 'mousemove pointermove', self.onMouseMove)
18092
- .off(self.ow, 'mouseup pointerup', self.onMouseUp);
18218
+ .off(self.ow, 'mousemove pointermove', self.__onMouseMove)
18219
+ .off(self.ow, 'mouseup pointerup', self.__onMouseUp);
18093
18220
  }
18094
18221
  /**
18095
18222
  * Specifies the size of the window
@@ -18345,7 +18472,7 @@ let Dialog = Dialog_1 = class Dialog extends jodit_core_view_view_with_toolbar__
18345
18472
  this.toggleFullSize(false);
18346
18473
  }
18347
18474
  jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom */ .J.safeRemove(this.container);
18348
- this.removeGlobalResizeListeners();
18475
+ this.__removeGlobalResizeListeners();
18349
18476
  /**
18350
18477
  * It called after the window is closed
18351
18478
  */
@@ -18371,7 +18498,7 @@ let Dialog = Dialog_1 = class Dialog extends jodit_core_view_view_with_toolbar__
18371
18498
  this.unlockSelect = () => {
18372
18499
  this.setMod('moved', false);
18373
18500
  };
18374
- this.onResize = () => {
18501
+ this.__onResize = () => {
18375
18502
  if (this.options &&
18376
18503
  this.o.resizable &&
18377
18504
  !this.moved &&
@@ -18439,14 +18566,14 @@ let Dialog = Dialog_1 = class Dialog extends jodit_core_view_view_with_toolbar__
18439
18566
  });
18440
18567
  const headerBox = self.getElm('header');
18441
18568
  headerBox &&
18442
- self.e.on(headerBox, 'pointerdown touchstart', self.onHeaderMouseDown);
18443
- self.e.on(self.resizer, 'mousedown touchstart', self.onResizerMouseDown);
18569
+ self.e.on(headerBox, 'pointerdown touchstart', self.__onHeaderMouseDown);
18570
+ self.e.on(self.resizer, 'mousedown touchstart', self.__onResizerMouseDown);
18444
18571
  const fullSize = jodit_core_global__WEBPACK_IMPORTED_MODULE_4__/* .pluginSystem */ .fg.get('fullsize');
18445
18572
  (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_6__/* .isFunction */ .Tn)(fullSize) && fullSize(self);
18446
18573
  this.e
18447
18574
  .on(self.container, 'close_dialog', self.close)
18448
- .on(this.ow, 'keydown', this.onEsc)
18449
- .on(this.ow, 'resize', this.onResize);
18575
+ .on(this.ow, 'keydown', this.__onEsc)
18576
+ .on(this.ow, 'resize', this.__onResize);
18450
18577
  if (this.o.closeOnClickOverlay) {
18451
18578
  const overlay = self.getElm('overlay');
18452
18579
  void 0;
@@ -18475,30 +18602,30 @@ let Dialog = Dialog_1 = class Dialog extends jodit_core_view_view_with_toolbar__
18475
18602
  this.close();
18476
18603
  }
18477
18604
  if (this.events) {
18478
- this.removeGlobalResizeListeners();
18605
+ this.__removeGlobalResizeListeners();
18479
18606
  this.events
18480
18607
  .off(this.container, 'close_dialog', self.close)
18481
- .off(this.ow, 'keydown', this.onEsc)
18482
- .off(this.ow, 'resize', this.onResize);
18608
+ .off(this.ow, 'keydown', this.__onEsc)
18609
+ .off(this.ow, 'resize', this.__onResize);
18483
18610
  }
18484
18611
  super.destruct();
18485
18612
  }
18486
18613
  };
18487
18614
  (0,tslib__WEBPACK_IMPORTED_MODULE_13__/* .__decorate */ .Cg)([
18488
18615
  jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
18489
- ], Dialog.prototype, "onMouseUp", null);
18616
+ ], Dialog.prototype, "__onMouseUp", null);
18490
18617
  (0,tslib__WEBPACK_IMPORTED_MODULE_13__/* .__decorate */ .Cg)([
18491
18618
  jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
18492
- ], Dialog.prototype, "onHeaderMouseDown", null);
18619
+ ], Dialog.prototype, "__onHeaderMouseDown", null);
18493
18620
  (0,tslib__WEBPACK_IMPORTED_MODULE_13__/* .__decorate */ .Cg)([
18494
18621
  jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
18495
- ], Dialog.prototype, "onMouseMove", null);
18622
+ ], Dialog.prototype, "__onMouseMove", null);
18496
18623
  (0,tslib__WEBPACK_IMPORTED_MODULE_13__/* .__decorate */ .Cg)([
18497
18624
  jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
18498
- ], Dialog.prototype, "onEsc", null);
18625
+ ], Dialog.prototype, "__onEsc", null);
18499
18626
  (0,tslib__WEBPACK_IMPORTED_MODULE_13__/* .__decorate */ .Cg)([
18500
18627
  jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
18501
- ], Dialog.prototype, "onResizerMouseDown", null);
18628
+ ], Dialog.prototype, "__onResizerMouseDown", null);
18502
18629
  (0,tslib__WEBPACK_IMPORTED_MODULE_13__/* .__decorate */ .Cg)([
18503
18630
  jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
18504
18631
  ], Dialog.prototype, "close", null);
@@ -20132,8 +20259,8 @@ let FileBrowser = class FileBrowser extends jodit_core_view_view_with_toolbar__W
20132
20259
  if (this.isInDestruct) {
20133
20260
  return;
20134
20261
  }
20262
+ (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.cached)(this, '_dialog')?.destruct();
20135
20263
  super.destruct();
20136
- this._dialog.destruct();
20137
20264
  this.events && this.e.off('.filebrowser');
20138
20265
  this.uploader && this.uploader.destruct();
20139
20266
  }
@@ -27802,9 +27929,10 @@ function visitNodeWalker(jodit, nodeElm, allowTags, denyTags, currentSelectionNo
27802
27929
  "use strict";
27803
27930
  /* unused harmony export clipboard */
27804
27931
  /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17352);
27805
- /* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(56298);
27806
- /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65147);
27807
- /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(51329);
27932
+ /* harmony import */ var jodit_core_decorators_cache_cache__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(87875);
27933
+ /* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(56298);
27934
+ /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65147);
27935
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(51329);
27808
27936
  /*!
27809
27937
  * Jodit Editor (https://xdsoft.net/jodit/)
27810
27938
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -27814,6 +27942,7 @@ function visitNodeWalker(jodit, nodeElm, allowTags, denyTags, currentSelectionNo
27814
27942
 
27815
27943
 
27816
27944
 
27945
+
27817
27946
  /**
27818
27947
  * Clipboard plugin - cut and copy functionality
27819
27948
  */
@@ -27845,11 +27974,11 @@ class clipboard {
27845
27974
  .off(`copy.${jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID} cut.${jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID}`)
27846
27975
  .on(`copy.${jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID} cut.${jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID}`, (event) => {
27847
27976
  const selectedText = editor.s.html;
27848
- const clipboardData = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.getDataTransfer)(event) ||
27849
- (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.getDataTransfer)(editor.ew) ||
27850
- (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.getDataTransfer)(event.originalEvent);
27977
+ const clipboardData = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.getDataTransfer)(event) ||
27978
+ (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.getDataTransfer)(editor.ew) ||
27979
+ (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.getDataTransfer)(event.originalEvent);
27851
27980
  if (clipboardData) {
27852
- clipboardData.setData(jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.TEXT_PLAIN, (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.stripTags)(selectedText));
27981
+ clipboardData.setData(jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.TEXT_PLAIN, (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.stripTags)(selectedText));
27853
27982
  clipboardData.setData(jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.TEXT_HTML, selectedText);
27854
27983
  }
27855
27984
  editor.buffer.set(jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID, selectedText);
@@ -27868,11 +27997,11 @@ class clipboard {
27868
27997
  }
27869
27998
  /** @override */
27870
27999
  destruct(editor) {
27871
- editor?.buffer?.set(jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID, '');
28000
+ (0,jodit_core_decorators_cache_cache__WEBPACK_IMPORTED_MODULE_1__/* .cached */ .PO)(editor, 'buffer')?.set(jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID, '');
27872
28001
  editor?.events?.off('.' + jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID);
27873
28002
  }
27874
28003
  }
27875
- jodit_core_global__WEBPACK_IMPORTED_MODULE_1__/* .pluginSystem */ .fg.add('clipboard', clipboard);
28004
+ jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .pluginSystem */ .fg.add('clipboard', clipboard);
27876
28005
 
27877
28006
 
27878
28007
  /***/ }),
@@ -31246,13 +31375,14 @@ const JODIT_IMAGE_BLOB_ID = JODIT_IMAGE_PROCESSOR_BINDED + 'blob-id';
31246
31375
  class imageProcessor extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_4__/* .Plugin */ .k {
31247
31376
  afterInit(jodit) { }
31248
31377
  beforeDestruct(jodit) {
31249
- const list = jodit.buffer.get(JODIT_IMAGE_BLOB_ID);
31250
- if (list) {
31378
+ const buffer = (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.cached)(jodit, 'buffer');
31379
+ const list = buffer?.get(JODIT_IMAGE_BLOB_ID);
31380
+ if (buffer && list) {
31251
31381
  const keys = Object.keys(list);
31252
31382
  for (const uri of keys) {
31253
31383
  URL.revokeObjectURL(uri);
31254
31384
  }
31255
- jodit.buffer.delete(JODIT_IMAGE_BLOB_ID);
31385
+ buffer.delete(JODIT_IMAGE_BLOB_ID);
31256
31386
  }
31257
31387
  }
31258
31388
  onAfterGetValueFromEditor(data, consumer) {
@@ -38646,7 +38776,7 @@ class search extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_5__/* .Plugin */
38646
38776
  }
38647
38777
  /** @override */
38648
38778
  beforeDestruct(jodit) {
38649
- this.ui.destruct();
38779
+ (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.cached)(this, 'ui')?.destruct();
38650
38780
  jodit.e.off('.search');
38651
38781
  }
38652
38782
  }