jodit-pro 4.9.19 → 4.9.22

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 (286) hide show
  1. package/es2015/jodit.css +1 -1
  2. package/es2015/jodit.fat.min.js +5 -5
  3. package/es2015/jodit.js +207 -70
  4. package/es2015/jodit.min.js +4 -4
  5. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  6. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  7. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  8. package/es2015/plugins/autocomplete/autocomplete.js +1 -1
  9. package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
  10. package/es2015/plugins/backup/backup.css +1 -1
  11. package/es2015/plugins/backup/backup.js +1 -1
  12. package/es2015/plugins/backup/backup.min.js +1 -1
  13. package/es2015/plugins/button-generator/button-generator.css +1 -1
  14. package/es2015/plugins/button-generator/button-generator.js +1 -1
  15. package/es2015/plugins/button-generator/button-generator.min.js +1 -1
  16. package/es2015/plugins/change-case/change-case.js +1 -1
  17. package/es2015/plugins/change-case/change-case.min.js +1 -1
  18. package/es2015/plugins/color-picker/color-picker.css +1 -1
  19. package/es2015/plugins/color-picker/color-picker.js +1 -1
  20. package/es2015/plugins/color-picker/color-picker.min.js +1 -1
  21. package/es2015/plugins/emoji/emoji.css +1 -1
  22. package/es2015/plugins/emoji/emoji.js +1 -1
  23. package/es2015/plugins/emoji/emoji.min.js +1 -1
  24. package/es2015/plugins/export-docs/export-docs.js +1 -1
  25. package/es2015/plugins/export-docs/export-docs.min.js +1 -1
  26. package/es2015/plugins/finder/finder.css +1 -1
  27. package/es2015/plugins/finder/finder.js +1 -1
  28. package/es2015/plugins/finder/finder.min.js +1 -1
  29. package/es2015/plugins/google-maps/google-maps.css +1 -1
  30. package/es2015/plugins/google-maps/google-maps.js +1 -1
  31. package/es2015/plugins/google-maps/google-maps.min.js +1 -1
  32. package/es2015/plugins/google-search/google-search.js +1 -1
  33. package/es2015/plugins/google-search/google-search.min.js +1 -1
  34. package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
  35. package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
  36. package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
  37. package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
  38. package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
  39. package/es2015/plugins/keyboard/keyboard.css +1 -1
  40. package/es2015/plugins/keyboard/keyboard.js +1 -1
  41. package/es2015/plugins/keyboard/keyboard.min.js +1 -1
  42. package/es2015/plugins/mobile-view/mobile-view.js +1 -1
  43. package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
  44. package/es2015/plugins/page-break/page-break.js +1 -1
  45. package/es2015/plugins/page-break/page-break.min.js +1 -1
  46. package/es2015/plugins/paste-code/paste-code.css +1 -1
  47. package/es2015/plugins/paste-code/paste-code.js +1 -1
  48. package/es2015/plugins/paste-code/paste-code.min.js +1 -1
  49. package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
  50. package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
  51. package/es2015/plugins/show-blocks/show-blocks.js +1 -1
  52. package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
  53. package/es2015/plugins/style/style.css +1 -1
  54. package/es2015/plugins/style/style.js +1 -1
  55. package/es2015/plugins/style/style.min.js +1 -1
  56. package/es2015/plugins/todo-list/todo-list.css +1 -1
  57. package/es2015/plugins/todo-list/todo-list.js +1 -1
  58. package/es2015/plugins/todo-list/todo-list.min.js +1 -1
  59. package/es2015/plugins/translate/translate.css +1 -1
  60. package/es2015/plugins/translate/translate.js +1 -1
  61. package/es2015/plugins/translate/translate.min.js +1 -1
  62. package/es2015/plugins/tune-block/tune-block.css +1 -1
  63. package/es2015/plugins/tune-block/tune-block.js +1 -1
  64. package/es2015/plugins/tune-block/tune-block.min.js +1 -1
  65. package/es2018/jodit.fat.min.js +5 -5
  66. package/es2018/jodit.min.js +4 -4
  67. package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  68. package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
  69. package/es2018/plugins/backup/backup.min.js +1 -1
  70. package/es2018/plugins/button-generator/button-generator.min.js +1 -1
  71. package/es2018/plugins/change-case/change-case.min.js +1 -1
  72. package/es2018/plugins/color-picker/color-picker.min.js +1 -1
  73. package/es2018/plugins/emoji/emoji.min.js +1 -1
  74. package/es2018/plugins/export-docs/export-docs.min.js +1 -1
  75. package/es2018/plugins/finder/finder.min.js +1 -1
  76. package/es2018/plugins/google-maps/google-maps.min.js +1 -1
  77. package/es2018/plugins/google-search/google-search.min.js +1 -1
  78. package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
  79. package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
  80. package/es2018/plugins/keyboard/keyboard.min.js +1 -1
  81. package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
  82. package/es2018/plugins/page-break/page-break.min.js +1 -1
  83. package/es2018/plugins/paste-code/paste-code.min.js +1 -1
  84. package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
  85. package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
  86. package/es2018/plugins/style/style.min.js +1 -1
  87. package/es2018/plugins/todo-list/todo-list.min.js +1 -1
  88. package/es2018/plugins/translate/translate.min.js +1 -1
  89. package/es2018/plugins/tune-block/tune-block.min.js +1 -1
  90. package/es2021/jodit.css +1 -1
  91. package/es2021/jodit.fat.min.js +5 -5
  92. package/es2021/jodit.js +207 -70
  93. package/es2021/jodit.min.js +4 -4
  94. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  95. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  96. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  97. package/es2021/plugins/autocomplete/autocomplete.js +1 -1
  98. package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
  99. package/es2021/plugins/backup/backup.css +1 -1
  100. package/es2021/plugins/backup/backup.js +1 -1
  101. package/es2021/plugins/backup/backup.min.js +1 -1
  102. package/es2021/plugins/button-generator/button-generator.css +1 -1
  103. package/es2021/plugins/button-generator/button-generator.js +1 -1
  104. package/es2021/plugins/button-generator/button-generator.min.js +1 -1
  105. package/es2021/plugins/change-case/change-case.js +1 -1
  106. package/es2021/plugins/change-case/change-case.min.js +1 -1
  107. package/es2021/plugins/color-picker/color-picker.css +1 -1
  108. package/es2021/plugins/color-picker/color-picker.js +1 -1
  109. package/es2021/plugins/color-picker/color-picker.min.js +1 -1
  110. package/es2021/plugins/emoji/emoji.css +1 -1
  111. package/es2021/plugins/emoji/emoji.js +1 -1
  112. package/es2021/plugins/emoji/emoji.min.js +1 -1
  113. package/es2021/plugins/export-docs/export-docs.js +1 -1
  114. package/es2021/plugins/export-docs/export-docs.min.js +1 -1
  115. package/es2021/plugins/finder/finder.css +1 -1
  116. package/es2021/plugins/finder/finder.js +1 -1
  117. package/es2021/plugins/finder/finder.min.js +1 -1
  118. package/es2021/plugins/google-maps/google-maps.css +1 -1
  119. package/es2021/plugins/google-maps/google-maps.js +1 -1
  120. package/es2021/plugins/google-maps/google-maps.min.js +1 -1
  121. package/es2021/plugins/google-search/google-search.js +1 -1
  122. package/es2021/plugins/google-search/google-search.min.js +1 -1
  123. package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
  124. package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
  125. package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
  126. package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
  127. package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
  128. package/es2021/plugins/keyboard/keyboard.css +1 -1
  129. package/es2021/plugins/keyboard/keyboard.js +1 -1
  130. package/es2021/plugins/keyboard/keyboard.min.js +1 -1
  131. package/es2021/plugins/mobile-view/mobile-view.js +1 -1
  132. package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
  133. package/es2021/plugins/page-break/page-break.js +1 -1
  134. package/es2021/plugins/page-break/page-break.min.js +1 -1
  135. package/es2021/plugins/paste-code/paste-code.css +1 -1
  136. package/es2021/plugins/paste-code/paste-code.js +1 -1
  137. package/es2021/plugins/paste-code/paste-code.min.js +1 -1
  138. package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
  139. package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
  140. package/es2021/plugins/show-blocks/show-blocks.js +1 -1
  141. package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
  142. package/es2021/plugins/style/style.css +1 -1
  143. package/es2021/plugins/style/style.js +1 -1
  144. package/es2021/plugins/style/style.min.js +1 -1
  145. package/es2021/plugins/todo-list/todo-list.css +1 -1
  146. package/es2021/plugins/todo-list/todo-list.js +1 -1
  147. package/es2021/plugins/todo-list/todo-list.min.js +1 -1
  148. package/es2021/plugins/translate/translate.css +1 -1
  149. package/es2021/plugins/translate/translate.js +1 -1
  150. package/es2021/plugins/translate/translate.min.js +1 -1
  151. package/es2021/plugins/tune-block/tune-block.css +1 -1
  152. package/es2021/plugins/tune-block/tune-block.js +1 -1
  153. package/es2021/plugins/tune-block/tune-block.min.js +1 -1
  154. package/es2021.en/jodit.css +1 -1
  155. package/es2021.en/jodit.fat.min.js +5 -5
  156. package/es2021.en/jodit.js +207 -70
  157. package/es2021.en/jodit.min.js +4 -4
  158. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  159. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  160. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  161. package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
  162. package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
  163. package/es2021.en/plugins/backup/backup.css +1 -1
  164. package/es2021.en/plugins/backup/backup.js +1 -1
  165. package/es2021.en/plugins/backup/backup.min.js +1 -1
  166. package/es2021.en/plugins/button-generator/button-generator.css +1 -1
  167. package/es2021.en/plugins/button-generator/button-generator.js +1 -1
  168. package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
  169. package/es2021.en/plugins/change-case/change-case.js +1 -1
  170. package/es2021.en/plugins/change-case/change-case.min.js +1 -1
  171. package/es2021.en/plugins/color-picker/color-picker.css +1 -1
  172. package/es2021.en/plugins/color-picker/color-picker.js +1 -1
  173. package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
  174. package/es2021.en/plugins/emoji/emoji.css +1 -1
  175. package/es2021.en/plugins/emoji/emoji.js +1 -1
  176. package/es2021.en/plugins/emoji/emoji.min.js +1 -1
  177. package/es2021.en/plugins/export-docs/export-docs.js +1 -1
  178. package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
  179. package/es2021.en/plugins/finder/finder.css +1 -1
  180. package/es2021.en/plugins/finder/finder.js +1 -1
  181. package/es2021.en/plugins/finder/finder.min.js +1 -1
  182. package/es2021.en/plugins/google-maps/google-maps.css +1 -1
  183. package/es2021.en/plugins/google-maps/google-maps.js +1 -1
  184. package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
  185. package/es2021.en/plugins/google-search/google-search.js +1 -1
  186. package/es2021.en/plugins/google-search/google-search.min.js +1 -1
  187. package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
  188. package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
  189. package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
  190. package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
  191. package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
  192. package/es2021.en/plugins/keyboard/keyboard.css +1 -1
  193. package/es2021.en/plugins/keyboard/keyboard.js +1 -1
  194. package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
  195. package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
  196. package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
  197. package/es2021.en/plugins/page-break/page-break.js +1 -1
  198. package/es2021.en/plugins/page-break/page-break.min.js +1 -1
  199. package/es2021.en/plugins/paste-code/paste-code.css +1 -1
  200. package/es2021.en/plugins/paste-code/paste-code.js +1 -1
  201. package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
  202. package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
  203. package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
  204. package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
  205. package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
  206. package/es2021.en/plugins/style/style.css +1 -1
  207. package/es2021.en/plugins/style/style.js +1 -1
  208. package/es2021.en/plugins/style/style.min.js +1 -1
  209. package/es2021.en/plugins/todo-list/todo-list.css +1 -1
  210. package/es2021.en/plugins/todo-list/todo-list.js +1 -1
  211. package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
  212. package/es2021.en/plugins/translate/translate.css +1 -1
  213. package/es2021.en/plugins/translate/translate.js +1 -1
  214. package/es2021.en/plugins/translate/translate.min.js +1 -1
  215. package/es2021.en/plugins/tune-block/tune-block.css +1 -1
  216. package/es2021.en/plugins/tune-block/tune-block.js +1 -1
  217. package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
  218. package/es5/jodit.css +2 -2
  219. package/es5/jodit.fat.min.js +2 -2
  220. package/es5/jodit.js +216 -70
  221. package/es5/jodit.min.css +2 -2
  222. package/es5/jodit.min.js +2 -2
  223. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  224. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  225. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  226. package/es5/plugins/autocomplete/autocomplete.js +1 -1
  227. package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
  228. package/es5/plugins/backup/backup.css +1 -1
  229. package/es5/plugins/backup/backup.js +1 -1
  230. package/es5/plugins/backup/backup.min.js +1 -1
  231. package/es5/plugins/button-generator/button-generator.css +1 -1
  232. package/es5/plugins/button-generator/button-generator.js +1 -1
  233. package/es5/plugins/button-generator/button-generator.min.js +1 -1
  234. package/es5/plugins/change-case/change-case.js +1 -1
  235. package/es5/plugins/change-case/change-case.min.js +1 -1
  236. package/es5/plugins/color-picker/color-picker.css +1 -1
  237. package/es5/plugins/color-picker/color-picker.js +1 -1
  238. package/es5/plugins/color-picker/color-picker.min.js +1 -1
  239. package/es5/plugins/emoji/emoji.css +1 -1
  240. package/es5/plugins/emoji/emoji.js +1 -1
  241. package/es5/plugins/emoji/emoji.min.js +1 -1
  242. package/es5/plugins/export-docs/export-docs.js +1 -1
  243. package/es5/plugins/export-docs/export-docs.min.js +1 -1
  244. package/es5/plugins/finder/finder.css +1 -1
  245. package/es5/plugins/finder/finder.js +1 -1
  246. package/es5/plugins/finder/finder.min.js +1 -1
  247. package/es5/plugins/google-maps/google-maps.css +1 -1
  248. package/es5/plugins/google-maps/google-maps.js +1 -1
  249. package/es5/plugins/google-maps/google-maps.min.js +1 -1
  250. package/es5/plugins/google-search/google-search.js +1 -1
  251. package/es5/plugins/google-search/google-search.min.js +1 -1
  252. package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
  253. package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
  254. package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
  255. package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
  256. package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
  257. package/es5/plugins/keyboard/keyboard.css +1 -1
  258. package/es5/plugins/keyboard/keyboard.js +1 -1
  259. package/es5/plugins/keyboard/keyboard.min.js +1 -1
  260. package/es5/plugins/mobile-view/mobile-view.js +1 -1
  261. package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
  262. package/es5/plugins/page-break/page-break.js +1 -1
  263. package/es5/plugins/page-break/page-break.min.js +1 -1
  264. package/es5/plugins/paste-code/paste-code.css +1 -1
  265. package/es5/plugins/paste-code/paste-code.js +1 -1
  266. package/es5/plugins/paste-code/paste-code.min.js +1 -1
  267. package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
  268. package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
  269. package/es5/plugins/show-blocks/show-blocks.js +1 -1
  270. package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
  271. package/es5/plugins/style/style.css +1 -1
  272. package/es5/plugins/style/style.js +1 -1
  273. package/es5/plugins/style/style.min.js +1 -1
  274. package/es5/plugins/todo-list/todo-list.css +1 -1
  275. package/es5/plugins/todo-list/todo-list.js +1 -1
  276. package/es5/plugins/todo-list/todo-list.min.js +1 -1
  277. package/es5/plugins/translate/translate.css +1 -1
  278. package/es5/plugins/translate/translate.js +1 -1
  279. package/es5/plugins/translate/translate.min.js +1 -1
  280. package/es5/plugins/tune-block/tune-block.css +1 -1
  281. package/es5/plugins/tune-block/tune-block.js +1 -1
  282. package/es5/plugins/tune-block/tune-block.min.js +1 -1
  283. package/es5/polyfills.fat.min.js +1 -1
  284. package/es5/polyfills.js +1 -1
  285. package/es5/polyfills.min.js +1 -1
  286. package/package.json +1 -1
package/es2021/jodit.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * jodit-pro - PRO Version of Jodit Editor
3
3
  * Author: Chupurnov Valerii <chupurnov@gmail.com>
4
- * Version: v4.9.19
4
+ * Version: v4.9.22
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -4743,7 +4743,96 @@ __webpack_require__.r(__webpack_exports__);
4743
4743
 
4744
4744
  let ConfigPrototype = {};
4745
4745
  /**
4746
- * Default Editor's Configuration
4746
+ * Default Editor's Configuration.
4747
+ *
4748
+ * This class holds all default option values for the Jodit editor.
4749
+ * It uses a **private constructor** and a **lazy singleton** pattern — the single instance
4750
+ * is created on the first access to {@link Config.defaultOptions} (also available as `Jodit.defaultOptions`).
4751
+ *
4752
+ * ## How options are resolved
4753
+ *
4754
+ * When you create an editor with `Jodit.make('#editor', userOptions)`, the library
4755
+ * calls {@link ConfigProto}(userOptions, Config.defaultOptions). `ConfigProto` does
4756
+ * **not** deep-clone the defaults. Instead it creates a new object whose JavaScript
4757
+ * prototype is `Config.defaultOptions`:
4758
+ *
4759
+ * ```
4760
+ * userOptions ──[[Prototype]]──► Config.defaultOptions
4761
+ * ```
4762
+ *
4763
+ * Any key present in `userOptions` shadows the default;
4764
+ * any key **not** present falls through to `Config.defaultOptions` via the prototype chain.
4765
+ * Nested plain objects are recursively prototyped in the same way, so partial overrides
4766
+ * of nested options work automatically:
4767
+ *
4768
+ * ```js
4769
+ * // Only override `dialogWidth`; all other `image.*` defaults are still available
4770
+ * Jodit.make('#editor', {
4771
+ * image: { dialogWidth: 500 }
4772
+ * });
4773
+ * ```
4774
+ *
4775
+ * ## How plugins extend the config
4776
+ *
4777
+ * Each plugin adds its own defaults by assigning to `Config.prototype` and augmenting
4778
+ * the TypeScript type with `declare module`:
4779
+ *
4780
+ * ```ts
4781
+ * // 1. Type augmentation (compile-time)
4782
+ * declare module 'jodit/config' {
4783
+ * interface Config {
4784
+ * toolbarSticky: boolean;
4785
+ * }
4786
+ * }
4787
+ *
4788
+ * // 2. Runtime default
4789
+ * Config.prototype.toolbarSticky = true;
4790
+ * ```
4791
+ *
4792
+ * Because the constructor runs `Object.assign(this, ConfigPrototype)` (where
4793
+ * `ConfigPrototype` is captured as `Config.prototype` after the class definition),
4794
+ * all prototype-level values — including those added by plugins — are materialized
4795
+ * as own properties on the singleton. This means `Config.defaultOptions` always
4796
+ * contains every registered option as an own, enumerable property.
4797
+ *
4798
+ * ## Changing global defaults
4799
+ *
4800
+ * You can modify `Jodit.defaultOptions` **before** creating editors to change
4801
+ * defaults globally:
4802
+ *
4803
+ * ```js
4804
+ * Jodit.defaultOptions.language = 'de';
4805
+ * Jodit.defaultOptions.theme = 'dark';
4806
+ *
4807
+ * // Both editors inherit the new defaults
4808
+ * Jodit.make('#editor1');
4809
+ * Jodit.make('#editor2');
4810
+ * ```
4811
+ *
4812
+ * ## `Jodit.atom` — preventing deep merge
4813
+ *
4814
+ * By default, `ConfigProto` deep-merges nested plain objects and arrays.
4815
+ * Wrap a value with `Jodit.atom(value)` to make it **atomic** — it will completely
4816
+ * replace the default instead of being merged:
4817
+ *
4818
+ * ```js
4819
+ * Jodit.make('#editor', {
4820
+ * controls: {
4821
+ * fontsize: {
4822
+ * // Replace the entire list rather than merging with the default one
4823
+ * list: Jodit.atom([8, 9, 10])
4824
+ * }
4825
+ * }
4826
+ * });
4827
+ * ```
4828
+ *
4829
+ * `Jodit.atom` calls {@link markAsAtomic}, which sets a non-enumerable
4830
+ * `isAtom` flag on the object. `ConfigProto` checks this flag and skips
4831
+ * recursive merging when it is present. Note: top-level arrays (depth 0)
4832
+ * are always treated as atomic — they replace rather than merge.
4833
+ *
4834
+ * @see {@link ConfigProto} for the full merge algorithm
4835
+ * @see {@link markAsAtomic} / {@link isAtom} for the atom marker implementation
4747
4836
  */ class Config {
4748
4837
  static get defaultOptions() {
4749
4838
  if (!Config.__defaultOptions) {
@@ -4753,31 +4842,32 @@ let ConfigPrototype = {};
4753
4842
  }
4754
4843
  constructor(){
4755
4844
  /**
4756
- * Use cache for heavy methods
4845
+ * When enabled, the editor caches the results of expensive computations (e.g. toolbar rebuilds)
4846
+ * to improve performance. Disable for debugging or when options change frequently at runtime.
4757
4847
  */ this.cache = true;
4758
4848
  /**
4759
4849
  * Timeout of all asynchronous methods
4760
4850
  */ this.defaultTimeout = 100;
4761
- this.namespace = '';
4851
+ /**
4852
+ * Prefix used for CSS class names and local-storage keys to avoid collisions
4853
+ * when multiple editor instances or applications share the same page.
4854
+ */ this.namespace = '';
4762
4855
  /**
4763
4856
  * Editor loads completely without plugins. Useful when debugging your own plugin.
4764
4857
  */ this.safeMode = false;
4765
4858
  /**
4766
4859
  * Editor's width
4767
4860
  *
4768
- * @example
4769
4861
  * ```javascript
4770
4862
  * Jodit.make('.editor', {
4771
4863
  * width: '100%',
4772
4864
  * })
4773
4865
  * ```
4774
- * @example
4775
4866
  * ```javascript
4776
4867
  * Jodit.make('.editor', {
4777
4868
  * width: 600, // equivalent for '600px'
4778
4869
  * })
4779
4870
  * ```
4780
- * @example
4781
4871
  * ```javascript
4782
4872
  * Jodit.make('.editor', {
4783
4873
  * width: 'auto', // autosize
@@ -4787,19 +4877,16 @@ let ConfigPrototype = {};
4787
4877
  /**
4788
4878
  * Editor's height
4789
4879
  *
4790
- * @example
4791
4880
  * ```javascript
4792
4881
  * Jodit.make('.editor', {
4793
4882
  * height: '100%',
4794
4883
  * })
4795
4884
  * ```
4796
- * @example
4797
4885
  * ```javascript
4798
4886
  * Jodit.make('.editor', {
4799
4887
  * height: 600, // equivalent for '600px'
4800
4888
  * })
4801
4889
  * ```
4802
- * @example
4803
4890
  * ```javascript
4804
4891
  * Jodit.make('.editor', {
4805
4892
  * height: 'auto', // default - autosize
@@ -4836,7 +4923,32 @@ let ConfigPrototype = {};
4836
4923
  * });
4837
4924
  * ```
4838
4925
  */ this.preset = 'custom';
4839
- this.presets = {
4926
+ /**
4927
+ * Dictionary of named configuration presets. Each key is a preset name and the value
4928
+ * is a partial options object that will be merged into the editor config when
4929
+ * {@link Config.preset} matches the key.
4930
+ *
4931
+ * ```javascript
4932
+ * // Use a built-in preset
4933
+ * Jodit.make('#editor', {
4934
+ * preset: 'inline'
4935
+ * });
4936
+ * ```
4937
+ *
4938
+ * ```javascript
4939
+ * // Define and use a custom preset
4940
+ * Jodit.defaultOptions.presets.myCompact = {
4941
+ * toolbarButtonSize: 'small',
4942
+ * showCharsCounter: false,
4943
+ * showWordsCounter: false,
4944
+ * showXPathInStatusbar: false
4945
+ * };
4946
+ *
4947
+ * Jodit.make('#editor', {
4948
+ * preset: 'myCompact'
4949
+ * });
4950
+ * ```
4951
+ */ this.presets = {
4840
4952
  inline: {
4841
4953
  inline: true,
4842
4954
  toolbar: false,
@@ -4848,7 +4960,10 @@ let ConfigPrototype = {};
4848
4960
  showPlaceholder: false
4849
4961
  }
4850
4962
  };
4851
- this.ownerDocument = _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.globalDocument;
4963
+ /**
4964
+ * The Document object the editor operates within. Defaults to the current `document`.
4965
+ * Override when the editor is created inside an iframe or a different browsing context.
4966
+ */ this.ownerDocument = _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.globalDocument;
4852
4967
  /**
4853
4968
  * Allows you to specify the window in which the editor will be created. Default - window
4854
4969
  * This is necessary if you are creating the editor inside an iframe but the code is running in the parent window
@@ -4879,7 +4994,9 @@ let ConfigPrototype = {};
4879
4994
  * ```
4880
4995
  */ this.shadowRoot = null;
4881
4996
  /**
4882
- * z-index For editor
4997
+ * Base CSS `z-index` for the editor UI (toolbar, popups, dialogs).
4998
+ * Set to a higher value when other page elements overlap the editor.
4999
+ * `0` means no explicit z-index is applied.
4883
5000
  */ this.zIndex = 0;
4884
5001
  /**
4885
5002
  * Change the read-only state of the editor
@@ -4915,7 +5032,6 @@ let ConfigPrototype = {};
4915
5032
  /**
4916
5033
  * Size of icons in the toolbar (can be "small", "middle", "large")
4917
5034
  *
4918
- * @example
4919
5035
  * ```javascript
4920
5036
  * const editor = Jodit.make(".dark_editor", {
4921
5037
  * toolbarButtonSize: "small"
@@ -4926,11 +5042,13 @@ let ConfigPrototype = {};
4926
5042
  * Allow navigation in the toolbar of the editor by Tab key
4927
5043
  */ this.allowTabNavigation = false;
4928
5044
  /**
4929
- * Inline editing mode
5045
+ * When enabled, the editor renders without its own container chrome (toolbar, borders, statusbar).
5046
+ * The editable area becomes the element itself. Typically combined with
5047
+ * `toolbarInline: true` so a floating toolbar appears on selection.
4930
5048
  */ this.inline = false;
4931
5049
  /**
4932
5050
  * Theme (can be "dark")
4933
- * @example
5051
+ *
4934
5052
  * ```javascript
4935
5053
  * const editor = Jodit.make(".dark_editor", {
4936
5054
  * theme: "dark"
@@ -4943,10 +5061,9 @@ let ConfigPrototype = {};
4943
5061
  /**
4944
5062
  * Class name that can be appended to the editable area
4945
5063
  *
4946
- * @see [[Config.iframeCSSLinks]]
4947
- * @see [[Config.iframeStyle]]
5064
+ * @see {@link Config.iframeCSSLinks}
5065
+ * @see {@link Config.iframeStyle}
4948
5066
  *
4949
- * @example
4950
5067
  * ```javascript
4951
5068
  * Jodit.make('#editor', {
4952
5069
  * editorClassName: 'some_my_class'
@@ -4962,7 +5079,7 @@ let ConfigPrototype = {};
4962
5079
  */ this.editorClassName = false;
4963
5080
  /**
4964
5081
  * Class name that can be appended to the main editor container
4965
- * @example
5082
+ *
4966
5083
  * ```javascript
4967
5084
  * const jodit = Jodit.make('#editor', {
4968
5085
  * className: 'some_my_class'
@@ -4982,7 +5099,7 @@ let ConfigPrototype = {};
4982
5099
  /**
4983
5100
  * The internal styles of the editable area. They are intended to change
4984
5101
  * not the appearance of the editor, but to change the appearance of the content.
4985
- * @example
5102
+ *
4986
5103
  * ```javascript
4987
5104
  * Jodit.make('#editor', {
4988
5105
  * style: {
@@ -4993,13 +5110,14 @@ let ConfigPrototype = {};
4993
5110
  * ```
4994
5111
  */ this.style = false;
4995
5112
  /**
5113
+ * Inline CSS styles applied to the outer editor container element.
5114
+ * Use this to style the editor wrapper (borders, background, etc.) without affecting content.
4996
5115
  *
4997
- * @example
4998
5116
  * ```javascript
4999
5117
  * Jodit.make('#editor', {
5000
- * editorStyle: {
5001
- * font: '12px Arial',
5002
- * color: '#0c0c0c'
5118
+ * containerStyle: {
5119
+ * border: '1px solid #ccc',
5120
+ * background: '#f9f9f9'
5003
5121
  * }
5004
5122
  * });
5005
5123
  * ```
@@ -5008,7 +5126,6 @@ let ConfigPrototype = {};
5008
5126
  * Dictionary of variable values in css, a complete list can be found here
5009
5127
  * https://github.com/xdan/jodit/blob/main/src/styles/variables.less#L25
5010
5128
  *
5011
- * @example
5012
5129
  * ```js
5013
5130
  * const editor = Jodit.make('#editor', {
5014
5131
  * styleValues: {
@@ -5020,9 +5137,9 @@ let ConfigPrototype = {};
5020
5137
  * ```
5021
5138
  */ this.styleValues = {};
5022
5139
  /**
5023
- * After all, changes in editors for textarea will call change trigger
5140
+ * When enabled, the editor dispatches a native `change` event on the original
5141
+ * `<textarea>` element whenever the content changes, so standard DOM listeners work.
5024
5142
  *
5025
- * @example
5026
5143
  * ```javascript
5027
5144
  * const editor = Jodit.make('#editor');
5028
5145
  * document.getElementById('editor').addEventListener('change', function () {
@@ -5036,7 +5153,6 @@ let ConfigPrototype = {};
5036
5153
  * the page element direction. 'ltr' – Indicates a Left-To-Right text direction (like in English).
5037
5154
  * 'rtl' – Indicates a Right-To-Left text direction (like in Arabic).
5038
5155
  *
5039
- * @example
5040
5156
  * ```javascript
5041
5157
  * Jodit.make('.editor', {
5042
5158
  * direction: 'rtl'
@@ -5048,7 +5164,6 @@ let ConfigPrototype = {};
5048
5164
  * (navigator.language && navigator.language.substr(0, 2)) ||
5049
5165
  * (navigator.browserLanguage && navigator.browserLanguage.substr(0, 2)) || 'en'
5050
5166
  *
5051
- * @example
5052
5167
  * ```html
5053
5168
  * <!-- include in you page lang file -->
5054
5169
  * <script src="jodit/lang/de.js"></script>
@@ -5062,7 +5177,6 @@ let ConfigPrototype = {};
5062
5177
  /**
5063
5178
  * if true all Lang.i18n(key) return `{key}`
5064
5179
  *
5065
- * @example
5066
5180
  * ```html
5067
5181
  * <script>
5068
5182
  * var editor = Jodit.make('.editor', {
@@ -5076,7 +5190,6 @@ let ConfigPrototype = {};
5076
5190
  /**
5077
5191
  * Collection of language pack data `{en: {'Type something': 'Type something', ...}}`
5078
5192
  *
5079
- * @example
5080
5193
  * ```javascript
5081
5194
  * const editor = Jodit.make('#editor', {
5082
5195
  * language: 'ru',
@@ -5108,11 +5221,11 @@ let ConfigPrototype = {};
5108
5221
  * Delay before show tooltip
5109
5222
  */ this.showTooltipDelay = 200;
5110
5223
  /**
5111
- * Instead of create custop tooltip - use native title tooltips
5224
+ * Instead of creating a custom tooltip, use the browser's native title tooltips
5112
5225
  */ this.useNativeTooltip = false;
5113
5226
  /**
5114
- * Default insert method
5115
- * @default insert_as_html
5227
+ * How pasted content is inserted into the editor by default.
5228
+ * Possible values: `insert_as_html`, `insert_as_text`, `insert_only_text`, `insert_clear_html`.
5116
5229
  */ this.defaultActionOnPaste = _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INSERT_AS_HTML;
5117
5230
  // TODO
5118
5231
  // autosave: false, // false or url
@@ -5125,7 +5238,6 @@ let ConfigPrototype = {};
5125
5238
  /**
5126
5239
  * When this option is enabled, the editor's content will be placed in an iframe and isolated from the rest of the page.
5127
5240
  *
5128
- * @example
5129
5241
  * ```javascript
5130
5242
  * Jodit.make('#editor', {
5131
5243
  * iframe: true,
@@ -5137,7 +5249,7 @@ let ConfigPrototype = {};
5137
5249
  /**
5138
5250
  * Allow editing the entire HTML document(html, head)
5139
5251
  * \> Works together with the iframe option.
5140
- * @example
5252
+ *
5141
5253
  * ```js
5142
5254
  * const editor = Jodit.make('#editor', {
5143
5255
  * iframe: true,
@@ -5156,7 +5268,7 @@ let ConfigPrototype = {};
5156
5268
  /**
5157
5269
  * Jodit.MODE_WYSIWYG The HTML editor allows you to write like MSWord,
5158
5270
  * Jodit.MODE_SOURCE syntax highlighting source editor
5159
- * @example
5271
+ *
5160
5272
  * ```javascript
5161
5273
  * var editor = Jodit.make('#editor', {
5162
5274
  * defaultMode: Jodit.MODE_SPLIT
@@ -5165,11 +5277,11 @@ let ConfigPrototype = {};
5165
5277
  * ```
5166
5278
  */ this.defaultMode = _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.MODE_WYSIWYG;
5167
5279
  /**
5168
- * Use split mode
5280
+ * When enabled, the editor displays both the WYSIWYG view and the source-code view side by side.
5169
5281
  */ this.useSplitMode = false;
5170
5282
  /**
5171
5283
  * The colors in HEX representation to select a color for the background and for the text in colorpicker
5172
- * @example
5284
+ *
5173
5285
  * ```javascript
5174
5286
  * Jodit.make('#editor', {
5175
5287
  * colors: ['#ff0000', '#00ff00', '#0000ff']
@@ -5265,7 +5377,7 @@ let ConfigPrototype = {};
5265
5377
  };
5266
5378
  /**
5267
5379
  * The default tab color picker
5268
- * @example
5380
+ *
5269
5381
  * ```javascript
5270
5382
  * Jodit.make('#editor2', {
5271
5383
  * colorPickerDefaultTab: 'color'
@@ -5273,11 +5385,11 @@ let ConfigPrototype = {};
5273
5385
  * ```
5274
5386
  */ this.colorPickerDefaultTab = 'background';
5275
5387
  /**
5276
- * Image size defaults to a larger image
5388
+ * Default width (in pixels) applied to images inserted into the editor
5277
5389
  */ this.imageDefaultWidth = 300;
5278
5390
  /**
5279
5391
  * Do not display these buttons that are on the list
5280
- * @example
5392
+ *
5281
5393
  * ```javascript
5282
5394
  * Jodit.make('#editor2', {
5283
5395
  * removeButtons: ['hr', 'source']
@@ -5286,7 +5398,7 @@ let ConfigPrototype = {};
5286
5398
  */ this.removeButtons = [];
5287
5399
  /**
5288
5400
  * Do not init these plugins
5289
- * @example
5401
+ *
5290
5402
  * ```typescript
5291
5403
  * var editor = Jodit.make('.editor', {
5292
5404
  * disablePlugins: 'table,iframe'
@@ -5299,7 +5411,7 @@ let ConfigPrototype = {};
5299
5411
  */ this.disablePlugins = [];
5300
5412
  /**
5301
5413
  * Init and download extra plugins
5302
- * @example
5414
+ *
5303
5415
  * ```typescript
5304
5416
  * var editor = Jodit.make('.editor', {
5305
5417
  * extraPlugins: ['emoji']
@@ -5308,14 +5420,13 @@ let ConfigPrototype = {};
5308
5420
  * It will try load %SCRIPT_PATH%/plugins/emoji/emoji.js and after load will try init it
5309
5421
  */ this.extraPlugins = [];
5310
5422
  /**
5311
- * These buttons list will be added to the option. Buttons
5423
+ * Additional buttons appended to the {@link Config.buttons} list
5312
5424
  */ this.extraButtons = [];
5313
5425
  /**
5314
5426
  * By default, you can only install an icon from the Jodit suite.
5315
5427
  * You can add your icon to the set using the `Jodit.modules.Icon.set (name, svg Code)` method.
5316
5428
  * But for a declarative declaration, you can use this option.
5317
5429
  *
5318
- * @example
5319
5430
  * ```js
5320
5431
  * Jodit.modules.Icon.set('someIcon', '<svg><path.../></svg>');
5321
5432
  * const editor = Jodit.make({
@@ -5324,8 +5435,9 @@ let ConfigPrototype = {};
5324
5435
  * icon: 'someIcon'
5325
5436
  * }]
5326
5437
  * });
5438
+ * ```
5327
5439
  *
5328
- * @example
5440
+ * ```js
5329
5441
  * const editor = Jodit.make({
5330
5442
  * extraIcons: {
5331
5443
  * someIcon: '<svg><path.../></svg>'
@@ -5336,7 +5448,7 @@ let ConfigPrototype = {};
5336
5448
  * }]
5337
5449
  * });
5338
5450
  * ```
5339
- * @example
5451
+ *
5340
5452
  * ```js
5341
5453
  * const editor = Jodit.make({
5342
5454
  * extraButtons: [{
@@ -5348,7 +5460,7 @@ let ConfigPrototype = {};
5348
5460
  */ this.extraIcons = {};
5349
5461
  /**
5350
5462
  * Default attributes for created inside editor elements
5351
- * @example
5463
+ *
5352
5464
  * ```js
5353
5465
  * const editor2 = Jodit.make('#editor', {
5354
5466
  * createAttributes: {
@@ -5368,7 +5480,7 @@ let ConfigPrototype = {};
5368
5480
  * expect(ul.className).equals('ui-test');
5369
5481
  * ```
5370
5482
  * Or JSX in React
5371
- * @example
5483
+ *
5372
5484
  * ```jsx
5373
5485
  * import React, {useState, useRef} from 'react';
5374
5486
  * import JoditEditor from "jodit-react";
@@ -5400,7 +5512,7 @@ let ConfigPrototype = {};
5400
5512
  /**
5401
5513
  * The list of buttons that appear in the editor's toolbar on large places (≥ options.sizeLG).
5402
5514
  * Note - this is not the width of the device, the width of the editor
5403
- * @example
5515
+ *
5404
5516
  * ```javascript
5405
5517
  * Jodit.make('#editor', {
5406
5518
  * buttons: ['bold', 'italic', 'source'],
@@ -5408,7 +5520,7 @@ let ConfigPrototype = {};
5408
5520
  * buttonsXS: ['bold', 'fullsize'],
5409
5521
  * });
5410
5522
  * ```
5411
- * @example
5523
+ *
5412
5524
  * ```javascript
5413
5525
  * Jodit.make('#editor2', {
5414
5526
  * buttons: [{
@@ -5432,7 +5544,7 @@ let ConfigPrototype = {};
5432
5544
  * }]
5433
5545
  * });
5434
5546
  * ```
5435
- * @example
5547
+ *
5436
5548
  * ```javascript
5437
5549
  * Jodit.make('#editor2', {
5438
5550
  * buttons: Jodit.defaultOptions.buttons.concat([{
@@ -5553,7 +5665,7 @@ let ConfigPrototype = {};
5553
5665
  * ```
5554
5666
  */ this.events = {};
5555
5667
  /**
5556
- * Buttons in toolbat without SVG - only texts
5668
+ * Buttons in toolbar without SVG - only texts
5557
5669
  */ this.textIcons = false;
5558
5670
  /**
5559
5671
  * Element for dialog container
@@ -12142,7 +12254,11 @@ __webpack_require__.r(__webpack_exports__);
12142
12254
  /* harmony export */ getItem: function() { return /* binding */ getItem; }
12143
12255
  /* harmony export */ });
12144
12256
  /* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
12145
-
12257
+ /*!
12258
+ * Jodit Editor (https://xdsoft.net/jodit/)
12259
+ * Released under MIT see LICENSE.txt in the project root for license information.
12260
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
12261
+ */
12146
12262
  /**
12147
12263
  * @private
12148
12264
  */ const getItem = (node, root, tag = 'a')=>_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(node, (elm)=>_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(elm, tag), root);
@@ -24310,12 +24426,12 @@ function findCorrectCurrentNode(node, range, rightMode, isCollapsed, checkChild,
24310
24426
  * Jodit Editor (https://xdsoft.net/jodit/)
24311
24427
  * Released under MIT see LICENSE.txt in the project root for license information.
24312
24428
  * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
24313
- */
24314
- /**
24429
+ */ /**
24315
24430
  * [[include:core/decorators/autobind/README.md]]
24316
24431
  * @packageDocumentation
24317
24432
  * @module decorators/autobind
24318
- */ /**
24433
+ */
24434
+ /**
24319
24435
  * Decorator that automatically binds a method to its class instance.
24320
24436
  * This is useful when passing methods as callbacks to preserve the correct `this` context.
24321
24437
  *
@@ -25101,9 +25217,10 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.toolbarStickyOffset = 0
25101
25217
  /* harmony import */ var _decorators_derive_derive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55153);
25102
25218
  /* harmony import */ var _dom_dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2748);
25103
25219
  /* harmony import */ var _helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(70799);
25104
- /* harmony import */ var _traits_elms_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(14316);
25105
- /* harmony import */ var _traits_mods_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(34176);
25106
- /* harmony import */ var _icon_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(12153);
25220
+ /* harmony import */ var _helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29960);
25221
+ /* harmony import */ var _traits_elms_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(14316);
25222
+ /* harmony import */ var _traits_mods_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(34176);
25223
+ /* harmony import */ var _icon_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(12153);
25107
25224
  /*!
25108
25225
  * Jodit Editor (https://xdsoft.net/jodit/)
25109
25226
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -25122,7 +25239,11 @@ var UIElement_1;
25122
25239
 
25123
25240
 
25124
25241
 
25242
+
25125
25243
  let UIElement = UIElement_1 = class UIElement extends _component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewComponent {
25244
+ getRole() {
25245
+ return '';
25246
+ }
25126
25247
  get parentElement() {
25127
25248
  return this.__parentElement;
25128
25249
  }
@@ -25211,7 +25332,7 @@ let UIElement = UIElement_1 = class UIElement extends _component_index_js__WEBPA
25211
25332
  return result;
25212
25333
  }
25213
25334
  parseTemplate(result) {
25214
- return this.j.c.fromHTML(result.replace(/\*([^*]+?)\*/g, (_, name)=>_icon_js__WEBPACK_IMPORTED_MODULE_6__.Icon.get(name) || '').replace(/&_/g, this.componentName + '_').replace(/~([^~]+?)~/g, (_, s)=>this.i18n(s)));
25335
+ return this.j.c.fromHTML(result.replace(/\*([^*]+?)\*/g, (_, name)=>_icon_js__WEBPACK_IMPORTED_MODULE_7__.Icon.get(name) || '').replace(/&_/g, this.componentName + '_').replace(/~([^~]+?)~/g, (_, s)=>this.i18n(s)));
25215
25336
  }
25216
25337
  /** @override */ destruct() {
25217
25338
  _dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(this.container);
@@ -25224,6 +25345,8 @@ let UIElement = UIElement_1 = class UIElement extends _component_index_js__WEBPA
25224
25345
  this.__parentElement = null;
25225
25346
  this.mods = {};
25226
25347
  this.container = this.createContainer(options);
25348
+ const role = this.getRole();
25349
+ role && (0,_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_4__.attr)(this.container, 'role', role);
25227
25350
  Object.defineProperty(this.container, 'component', {
25228
25351
  value: this,
25229
25352
  configurable: true
@@ -25231,7 +25354,7 @@ let UIElement = UIElement_1 = class UIElement extends _component_index_js__WEBPA
25231
25354
  }
25232
25355
  };
25233
25356
  UIElement = UIElement_1 = __decorate([
25234
- (0,_decorators_derive_derive_js__WEBPACK_IMPORTED_MODULE_1__.derive)(_traits_mods_js__WEBPACK_IMPORTED_MODULE_5__.Mods, _traits_elms_js__WEBPACK_IMPORTED_MODULE_4__.Elms)
25357
+ (0,_decorators_derive_derive_js__WEBPACK_IMPORTED_MODULE_1__.derive)(_traits_mods_js__WEBPACK_IMPORTED_MODULE_6__.Mods, _traits_elms_js__WEBPACK_IMPORTED_MODULE_5__.Elms)
25235
25358
  ], UIElement);
25236
25359
 
25237
25360
 
@@ -29113,7 +29236,13 @@ __decorate([
29113
29236
  /* harmony export */ eventEmitter: function() { return /* binding */ eventEmitter; }
29114
29237
  /* harmony export */ });
29115
29238
  /* harmony import */ var _event_emitter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(98220);
29116
-
29239
+ /*!
29240
+ * Jodit Editor (https://xdsoft.net/jodit/)
29241
+ * Released under MIT see LICENSE.txt in the project root for license information.
29242
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
29243
+ */ /**
29244
+ * @module event-emitter
29245
+ */
29117
29246
  const eventEmitter = new _event_emitter_js__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();
29118
29247
 
29119
29248
 
@@ -32516,6 +32645,9 @@ let UIGroup = UIGroup_1 = class UIGroup extends _element_js__WEBPACK_IMPORTED_MO
32516
32645
  className() {
32517
32646
  return 'UIGroup';
32518
32647
  }
32648
+ getRole() {
32649
+ return 'list';
32650
+ }
32519
32651
  /**
32520
32652
  * All group children
32521
32653
  */ get allChildren() {
@@ -40258,6 +40390,9 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
40258
40390
  className() {
40259
40391
  return 'ToolbarButton';
40260
40392
  }
40393
+ getRole() {
40394
+ return 'listitem';
40395
+ }
40261
40396
  /**
40262
40397
  * Get parent toolbar
40263
40398
  */ get toolbar() {
@@ -40325,7 +40460,6 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
40325
40460
  const cn = this.componentName;
40326
40461
  const container = this.j.c.span(cn);
40327
40462
  const button = super.createContainer();
40328
- (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_14__.attr)(container, 'role', 'listitem');
40329
40463
  button.classList.remove(cn);
40330
40464
  button.classList.add(cn + '__button');
40331
40465
  Object.defineProperty(button, 'component', {
@@ -43258,13 +43392,12 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.maxWidth = '100%';
43258
43392
  /**
43259
43393
  * Editor's min-height
43260
43394
  *
43261
- * @example
43262
43395
  * ```javascript
43263
43396
  * Jodit.make('.editor', {
43264
43397
  * minHeight: '30%' //min-height: 30%
43265
43398
  * })
43266
43399
  * ```
43267
- * @example
43400
+ *
43268
43401
  * ```javascript
43269
43402
  * Jodit.make('.editor', {
43270
43403
  * minHeight: 200 //min-height: 200px
@@ -44322,7 +44455,7 @@ __webpack_require__.r(__webpack_exports__);
44322
44455
  * ```
44323
44456
  * @packageDocumentation
44324
44457
  * @module constants
44325
- */ const APP_VERSION = "4.9.19";
44458
+ */ const APP_VERSION = "4.9.22";
44326
44459
  // prettier-ignore
44327
44460
  const ES = "es2021";
44328
44461
  const IS_ES_MODERN = true;
@@ -49591,7 +49724,11 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.wrapNodes = {
49591
49724
  /* harmony import */ var _engines_local_storage_provider_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65638);
49592
49725
  /* harmony import */ var _engines_memory_storage_provider_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21162);
49593
49726
  /* harmony import */ var _storage_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6700);
49594
-
49727
+ /*!
49728
+ * Jodit Editor (https://xdsoft.net/jodit/)
49729
+ * Released under MIT see LICENSE.txt in the project root for license information.
49730
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
49731
+ */
49595
49732
 
49596
49733
 
49597
49734