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/es2015/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
  */
@@ -4906,7 +4906,96 @@ __webpack_require__.r(__webpack_exports__);
4906
4906
 
4907
4907
  let ConfigPrototype = {};
4908
4908
  /**
4909
- * Default Editor's Configuration
4909
+ * Default Editor's Configuration.
4910
+ *
4911
+ * This class holds all default option values for the Jodit editor.
4912
+ * It uses a **private constructor** and a **lazy singleton** pattern — the single instance
4913
+ * is created on the first access to {@link Config.defaultOptions} (also available as `Jodit.defaultOptions`).
4914
+ *
4915
+ * ## How options are resolved
4916
+ *
4917
+ * When you create an editor with `Jodit.make('#editor', userOptions)`, the library
4918
+ * calls {@link ConfigProto}(userOptions, Config.defaultOptions). `ConfigProto` does
4919
+ * **not** deep-clone the defaults. Instead it creates a new object whose JavaScript
4920
+ * prototype is `Config.defaultOptions`:
4921
+ *
4922
+ * ```
4923
+ * userOptions ──[[Prototype]]──► Config.defaultOptions
4924
+ * ```
4925
+ *
4926
+ * Any key present in `userOptions` shadows the default;
4927
+ * any key **not** present falls through to `Config.defaultOptions` via the prototype chain.
4928
+ * Nested plain objects are recursively prototyped in the same way, so partial overrides
4929
+ * of nested options work automatically:
4930
+ *
4931
+ * ```js
4932
+ * // Only override `dialogWidth`; all other `image.*` defaults are still available
4933
+ * Jodit.make('#editor', {
4934
+ * image: { dialogWidth: 500 }
4935
+ * });
4936
+ * ```
4937
+ *
4938
+ * ## How plugins extend the config
4939
+ *
4940
+ * Each plugin adds its own defaults by assigning to `Config.prototype` and augmenting
4941
+ * the TypeScript type with `declare module`:
4942
+ *
4943
+ * ```ts
4944
+ * // 1. Type augmentation (compile-time)
4945
+ * declare module 'jodit/config' {
4946
+ * interface Config {
4947
+ * toolbarSticky: boolean;
4948
+ * }
4949
+ * }
4950
+ *
4951
+ * // 2. Runtime default
4952
+ * Config.prototype.toolbarSticky = true;
4953
+ * ```
4954
+ *
4955
+ * Because the constructor runs `Object.assign(this, ConfigPrototype)` (where
4956
+ * `ConfigPrototype` is captured as `Config.prototype` after the class definition),
4957
+ * all prototype-level values — including those added by plugins — are materialized
4958
+ * as own properties on the singleton. This means `Config.defaultOptions` always
4959
+ * contains every registered option as an own, enumerable property.
4960
+ *
4961
+ * ## Changing global defaults
4962
+ *
4963
+ * You can modify `Jodit.defaultOptions` **before** creating editors to change
4964
+ * defaults globally:
4965
+ *
4966
+ * ```js
4967
+ * Jodit.defaultOptions.language = 'de';
4968
+ * Jodit.defaultOptions.theme = 'dark';
4969
+ *
4970
+ * // Both editors inherit the new defaults
4971
+ * Jodit.make('#editor1');
4972
+ * Jodit.make('#editor2');
4973
+ * ```
4974
+ *
4975
+ * ## `Jodit.atom` — preventing deep merge
4976
+ *
4977
+ * By default, `ConfigProto` deep-merges nested plain objects and arrays.
4978
+ * Wrap a value with `Jodit.atom(value)` to make it **atomic** — it will completely
4979
+ * replace the default instead of being merged:
4980
+ *
4981
+ * ```js
4982
+ * Jodit.make('#editor', {
4983
+ * controls: {
4984
+ * fontsize: {
4985
+ * // Replace the entire list rather than merging with the default one
4986
+ * list: Jodit.atom([8, 9, 10])
4987
+ * }
4988
+ * }
4989
+ * });
4990
+ * ```
4991
+ *
4992
+ * `Jodit.atom` calls {@link markAsAtomic}, which sets a non-enumerable
4993
+ * `isAtom` flag on the object. `ConfigProto` checks this flag and skips
4994
+ * recursive merging when it is present. Note: top-level arrays (depth 0)
4995
+ * are always treated as atomic — they replace rather than merge.
4996
+ *
4997
+ * @see {@link ConfigProto} for the full merge algorithm
4998
+ * @see {@link markAsAtomic} / {@link isAtom} for the atom marker implementation
4910
4999
  */ class Config {
4911
5000
  static get defaultOptions() {
4912
5001
  if (!Config.__defaultOptions) {
@@ -4916,31 +5005,32 @@ let ConfigPrototype = {};
4916
5005
  }
4917
5006
  constructor(){
4918
5007
  /**
4919
- * Use cache for heavy methods
5008
+ * When enabled, the editor caches the results of expensive computations (e.g. toolbar rebuilds)
5009
+ * to improve performance. Disable for debugging or when options change frequently at runtime.
4920
5010
  */ this.cache = true;
4921
5011
  /**
4922
5012
  * Timeout of all asynchronous methods
4923
5013
  */ this.defaultTimeout = 100;
4924
- this.namespace = '';
5014
+ /**
5015
+ * Prefix used for CSS class names and local-storage keys to avoid collisions
5016
+ * when multiple editor instances or applications share the same page.
5017
+ */ this.namespace = '';
4925
5018
  /**
4926
5019
  * Editor loads completely without plugins. Useful when debugging your own plugin.
4927
5020
  */ this.safeMode = false;
4928
5021
  /**
4929
5022
  * Editor's width
4930
5023
  *
4931
- * @example
4932
5024
  * ```javascript
4933
5025
  * Jodit.make('.editor', {
4934
5026
  * width: '100%',
4935
5027
  * })
4936
5028
  * ```
4937
- * @example
4938
5029
  * ```javascript
4939
5030
  * Jodit.make('.editor', {
4940
5031
  * width: 600, // equivalent for '600px'
4941
5032
  * })
4942
5033
  * ```
4943
- * @example
4944
5034
  * ```javascript
4945
5035
  * Jodit.make('.editor', {
4946
5036
  * width: 'auto', // autosize
@@ -4950,19 +5040,16 @@ let ConfigPrototype = {};
4950
5040
  /**
4951
5041
  * Editor's height
4952
5042
  *
4953
- * @example
4954
5043
  * ```javascript
4955
5044
  * Jodit.make('.editor', {
4956
5045
  * height: '100%',
4957
5046
  * })
4958
5047
  * ```
4959
- * @example
4960
5048
  * ```javascript
4961
5049
  * Jodit.make('.editor', {
4962
5050
  * height: 600, // equivalent for '600px'
4963
5051
  * })
4964
5052
  * ```
4965
- * @example
4966
5053
  * ```javascript
4967
5054
  * Jodit.make('.editor', {
4968
5055
  * height: 'auto', // default - autosize
@@ -4999,7 +5086,32 @@ let ConfigPrototype = {};
4999
5086
  * });
5000
5087
  * ```
5001
5088
  */ this.preset = 'custom';
5002
- this.presets = {
5089
+ /**
5090
+ * Dictionary of named configuration presets. Each key is a preset name and the value
5091
+ * is a partial options object that will be merged into the editor config when
5092
+ * {@link Config.preset} matches the key.
5093
+ *
5094
+ * ```javascript
5095
+ * // Use a built-in preset
5096
+ * Jodit.make('#editor', {
5097
+ * preset: 'inline'
5098
+ * });
5099
+ * ```
5100
+ *
5101
+ * ```javascript
5102
+ * // Define and use a custom preset
5103
+ * Jodit.defaultOptions.presets.myCompact = {
5104
+ * toolbarButtonSize: 'small',
5105
+ * showCharsCounter: false,
5106
+ * showWordsCounter: false,
5107
+ * showXPathInStatusbar: false
5108
+ * };
5109
+ *
5110
+ * Jodit.make('#editor', {
5111
+ * preset: 'myCompact'
5112
+ * });
5113
+ * ```
5114
+ */ this.presets = {
5003
5115
  inline: {
5004
5116
  inline: true,
5005
5117
  toolbar: false,
@@ -5011,7 +5123,10 @@ let ConfigPrototype = {};
5011
5123
  showPlaceholder: false
5012
5124
  }
5013
5125
  };
5014
- this.ownerDocument = _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.globalDocument;
5126
+ /**
5127
+ * The Document object the editor operates within. Defaults to the current `document`.
5128
+ * Override when the editor is created inside an iframe or a different browsing context.
5129
+ */ this.ownerDocument = _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.globalDocument;
5015
5130
  /**
5016
5131
  * Allows you to specify the window in which the editor will be created. Default - window
5017
5132
  * This is necessary if you are creating the editor inside an iframe but the code is running in the parent window
@@ -5042,7 +5157,9 @@ let ConfigPrototype = {};
5042
5157
  * ```
5043
5158
  */ this.shadowRoot = null;
5044
5159
  /**
5045
- * z-index For editor
5160
+ * Base CSS `z-index` for the editor UI (toolbar, popups, dialogs).
5161
+ * Set to a higher value when other page elements overlap the editor.
5162
+ * `0` means no explicit z-index is applied.
5046
5163
  */ this.zIndex = 0;
5047
5164
  /**
5048
5165
  * Change the read-only state of the editor
@@ -5078,7 +5195,6 @@ let ConfigPrototype = {};
5078
5195
  /**
5079
5196
  * Size of icons in the toolbar (can be "small", "middle", "large")
5080
5197
  *
5081
- * @example
5082
5198
  * ```javascript
5083
5199
  * const editor = Jodit.make(".dark_editor", {
5084
5200
  * toolbarButtonSize: "small"
@@ -5089,11 +5205,13 @@ let ConfigPrototype = {};
5089
5205
  * Allow navigation in the toolbar of the editor by Tab key
5090
5206
  */ this.allowTabNavigation = false;
5091
5207
  /**
5092
- * Inline editing mode
5208
+ * When enabled, the editor renders without its own container chrome (toolbar, borders, statusbar).
5209
+ * The editable area becomes the element itself. Typically combined with
5210
+ * `toolbarInline: true` so a floating toolbar appears on selection.
5093
5211
  */ this.inline = false;
5094
5212
  /**
5095
5213
  * Theme (can be "dark")
5096
- * @example
5214
+ *
5097
5215
  * ```javascript
5098
5216
  * const editor = Jodit.make(".dark_editor", {
5099
5217
  * theme: "dark"
@@ -5106,10 +5224,9 @@ let ConfigPrototype = {};
5106
5224
  /**
5107
5225
  * Class name that can be appended to the editable area
5108
5226
  *
5109
- * @see [[Config.iframeCSSLinks]]
5110
- * @see [[Config.iframeStyle]]
5227
+ * @see {@link Config.iframeCSSLinks}
5228
+ * @see {@link Config.iframeStyle}
5111
5229
  *
5112
- * @example
5113
5230
  * ```javascript
5114
5231
  * Jodit.make('#editor', {
5115
5232
  * editorClassName: 'some_my_class'
@@ -5125,7 +5242,7 @@ let ConfigPrototype = {};
5125
5242
  */ this.editorClassName = false;
5126
5243
  /**
5127
5244
  * Class name that can be appended to the main editor container
5128
- * @example
5245
+ *
5129
5246
  * ```javascript
5130
5247
  * const jodit = Jodit.make('#editor', {
5131
5248
  * className: 'some_my_class'
@@ -5145,7 +5262,7 @@ let ConfigPrototype = {};
5145
5262
  /**
5146
5263
  * The internal styles of the editable area. They are intended to change
5147
5264
  * not the appearance of the editor, but to change the appearance of the content.
5148
- * @example
5265
+ *
5149
5266
  * ```javascript
5150
5267
  * Jodit.make('#editor', {
5151
5268
  * style: {
@@ -5156,13 +5273,14 @@ let ConfigPrototype = {};
5156
5273
  * ```
5157
5274
  */ this.style = false;
5158
5275
  /**
5276
+ * Inline CSS styles applied to the outer editor container element.
5277
+ * Use this to style the editor wrapper (borders, background, etc.) without affecting content.
5159
5278
  *
5160
- * @example
5161
5279
  * ```javascript
5162
5280
  * Jodit.make('#editor', {
5163
- * editorStyle: {
5164
- * font: '12px Arial',
5165
- * color: '#0c0c0c'
5281
+ * containerStyle: {
5282
+ * border: '1px solid #ccc',
5283
+ * background: '#f9f9f9'
5166
5284
  * }
5167
5285
  * });
5168
5286
  * ```
@@ -5171,7 +5289,6 @@ let ConfigPrototype = {};
5171
5289
  * Dictionary of variable values in css, a complete list can be found here
5172
5290
  * https://github.com/xdan/jodit/blob/main/src/styles/variables.less#L25
5173
5291
  *
5174
- * @example
5175
5292
  * ```js
5176
5293
  * const editor = Jodit.make('#editor', {
5177
5294
  * styleValues: {
@@ -5183,9 +5300,9 @@ let ConfigPrototype = {};
5183
5300
  * ```
5184
5301
  */ this.styleValues = {};
5185
5302
  /**
5186
- * After all, changes in editors for textarea will call change trigger
5303
+ * When enabled, the editor dispatches a native `change` event on the original
5304
+ * `<textarea>` element whenever the content changes, so standard DOM listeners work.
5187
5305
  *
5188
- * @example
5189
5306
  * ```javascript
5190
5307
  * const editor = Jodit.make('#editor');
5191
5308
  * document.getElementById('editor').addEventListener('change', function () {
@@ -5199,7 +5316,6 @@ let ConfigPrototype = {};
5199
5316
  * the page element direction. 'ltr' – Indicates a Left-To-Right text direction (like in English).
5200
5317
  * 'rtl' – Indicates a Right-To-Left text direction (like in Arabic).
5201
5318
  *
5202
- * @example
5203
5319
  * ```javascript
5204
5320
  * Jodit.make('.editor', {
5205
5321
  * direction: 'rtl'
@@ -5211,7 +5327,6 @@ let ConfigPrototype = {};
5211
5327
  * (navigator.language && navigator.language.substr(0, 2)) ||
5212
5328
  * (navigator.browserLanguage && navigator.browserLanguage.substr(0, 2)) || 'en'
5213
5329
  *
5214
- * @example
5215
5330
  * ```html
5216
5331
  * <!-- include in you page lang file -->
5217
5332
  * <script src="jodit/lang/de.js"></script>
@@ -5225,7 +5340,6 @@ let ConfigPrototype = {};
5225
5340
  /**
5226
5341
  * if true all Lang.i18n(key) return `{key}`
5227
5342
  *
5228
- * @example
5229
5343
  * ```html
5230
5344
  * <script>
5231
5345
  * var editor = Jodit.make('.editor', {
@@ -5239,7 +5353,6 @@ let ConfigPrototype = {};
5239
5353
  /**
5240
5354
  * Collection of language pack data `{en: {'Type something': 'Type something', ...}}`
5241
5355
  *
5242
- * @example
5243
5356
  * ```javascript
5244
5357
  * const editor = Jodit.make('#editor', {
5245
5358
  * language: 'ru',
@@ -5271,11 +5384,11 @@ let ConfigPrototype = {};
5271
5384
  * Delay before show tooltip
5272
5385
  */ this.showTooltipDelay = 200;
5273
5386
  /**
5274
- * Instead of create custop tooltip - use native title tooltips
5387
+ * Instead of creating a custom tooltip, use the browser's native title tooltips
5275
5388
  */ this.useNativeTooltip = false;
5276
5389
  /**
5277
- * Default insert method
5278
- * @default insert_as_html
5390
+ * How pasted content is inserted into the editor by default.
5391
+ * Possible values: `insert_as_html`, `insert_as_text`, `insert_only_text`, `insert_clear_html`.
5279
5392
  */ this.defaultActionOnPaste = _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INSERT_AS_HTML;
5280
5393
  // TODO
5281
5394
  // autosave: false, // false or url
@@ -5288,7 +5401,6 @@ let ConfigPrototype = {};
5288
5401
  /**
5289
5402
  * When this option is enabled, the editor's content will be placed in an iframe and isolated from the rest of the page.
5290
5403
  *
5291
- * @example
5292
5404
  * ```javascript
5293
5405
  * Jodit.make('#editor', {
5294
5406
  * iframe: true,
@@ -5300,7 +5412,7 @@ let ConfigPrototype = {};
5300
5412
  /**
5301
5413
  * Allow editing the entire HTML document(html, head)
5302
5414
  * \> Works together with the iframe option.
5303
- * @example
5415
+ *
5304
5416
  * ```js
5305
5417
  * const editor = Jodit.make('#editor', {
5306
5418
  * iframe: true,
@@ -5319,7 +5431,7 @@ let ConfigPrototype = {};
5319
5431
  /**
5320
5432
  * Jodit.MODE_WYSIWYG The HTML editor allows you to write like MSWord,
5321
5433
  * Jodit.MODE_SOURCE syntax highlighting source editor
5322
- * @example
5434
+ *
5323
5435
  * ```javascript
5324
5436
  * var editor = Jodit.make('#editor', {
5325
5437
  * defaultMode: Jodit.MODE_SPLIT
@@ -5328,11 +5440,11 @@ let ConfigPrototype = {};
5328
5440
  * ```
5329
5441
  */ this.defaultMode = _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.MODE_WYSIWYG;
5330
5442
  /**
5331
- * Use split mode
5443
+ * When enabled, the editor displays both the WYSIWYG view and the source-code view side by side.
5332
5444
  */ this.useSplitMode = false;
5333
5445
  /**
5334
5446
  * The colors in HEX representation to select a color for the background and for the text in colorpicker
5335
- * @example
5447
+ *
5336
5448
  * ```javascript
5337
5449
  * Jodit.make('#editor', {
5338
5450
  * colors: ['#ff0000', '#00ff00', '#0000ff']
@@ -5428,7 +5540,7 @@ let ConfigPrototype = {};
5428
5540
  };
5429
5541
  /**
5430
5542
  * The default tab color picker
5431
- * @example
5543
+ *
5432
5544
  * ```javascript
5433
5545
  * Jodit.make('#editor2', {
5434
5546
  * colorPickerDefaultTab: 'color'
@@ -5436,11 +5548,11 @@ let ConfigPrototype = {};
5436
5548
  * ```
5437
5549
  */ this.colorPickerDefaultTab = 'background';
5438
5550
  /**
5439
- * Image size defaults to a larger image
5551
+ * Default width (in pixels) applied to images inserted into the editor
5440
5552
  */ this.imageDefaultWidth = 300;
5441
5553
  /**
5442
5554
  * Do not display these buttons that are on the list
5443
- * @example
5555
+ *
5444
5556
  * ```javascript
5445
5557
  * Jodit.make('#editor2', {
5446
5558
  * removeButtons: ['hr', 'source']
@@ -5449,7 +5561,7 @@ let ConfigPrototype = {};
5449
5561
  */ this.removeButtons = [];
5450
5562
  /**
5451
5563
  * Do not init these plugins
5452
- * @example
5564
+ *
5453
5565
  * ```typescript
5454
5566
  * var editor = Jodit.make('.editor', {
5455
5567
  * disablePlugins: 'table,iframe'
@@ -5462,7 +5574,7 @@ let ConfigPrototype = {};
5462
5574
  */ this.disablePlugins = [];
5463
5575
  /**
5464
5576
  * Init and download extra plugins
5465
- * @example
5577
+ *
5466
5578
  * ```typescript
5467
5579
  * var editor = Jodit.make('.editor', {
5468
5580
  * extraPlugins: ['emoji']
@@ -5471,14 +5583,13 @@ let ConfigPrototype = {};
5471
5583
  * It will try load %SCRIPT_PATH%/plugins/emoji/emoji.js and after load will try init it
5472
5584
  */ this.extraPlugins = [];
5473
5585
  /**
5474
- * These buttons list will be added to the option. Buttons
5586
+ * Additional buttons appended to the {@link Config.buttons} list
5475
5587
  */ this.extraButtons = [];
5476
5588
  /**
5477
5589
  * By default, you can only install an icon from the Jodit suite.
5478
5590
  * You can add your icon to the set using the `Jodit.modules.Icon.set (name, svg Code)` method.
5479
5591
  * But for a declarative declaration, you can use this option.
5480
5592
  *
5481
- * @example
5482
5593
  * ```js
5483
5594
  * Jodit.modules.Icon.set('someIcon', '<svg><path.../></svg>');
5484
5595
  * const editor = Jodit.make({
@@ -5487,8 +5598,9 @@ let ConfigPrototype = {};
5487
5598
  * icon: 'someIcon'
5488
5599
  * }]
5489
5600
  * });
5601
+ * ```
5490
5602
  *
5491
- * @example
5603
+ * ```js
5492
5604
  * const editor = Jodit.make({
5493
5605
  * extraIcons: {
5494
5606
  * someIcon: '<svg><path.../></svg>'
@@ -5499,7 +5611,7 @@ let ConfigPrototype = {};
5499
5611
  * }]
5500
5612
  * });
5501
5613
  * ```
5502
- * @example
5614
+ *
5503
5615
  * ```js
5504
5616
  * const editor = Jodit.make({
5505
5617
  * extraButtons: [{
@@ -5511,7 +5623,7 @@ let ConfigPrototype = {};
5511
5623
  */ this.extraIcons = {};
5512
5624
  /**
5513
5625
  * Default attributes for created inside editor elements
5514
- * @example
5626
+ *
5515
5627
  * ```js
5516
5628
  * const editor2 = Jodit.make('#editor', {
5517
5629
  * createAttributes: {
@@ -5531,7 +5643,7 @@ let ConfigPrototype = {};
5531
5643
  * expect(ul.className).equals('ui-test');
5532
5644
  * ```
5533
5645
  * Or JSX in React
5534
- * @example
5646
+ *
5535
5647
  * ```jsx
5536
5648
  * import React, {useState, useRef} from 'react';
5537
5649
  * import JoditEditor from "jodit-react";
@@ -5563,7 +5675,7 @@ let ConfigPrototype = {};
5563
5675
  /**
5564
5676
  * The list of buttons that appear in the editor's toolbar on large places (≥ options.sizeLG).
5565
5677
  * Note - this is not the width of the device, the width of the editor
5566
- * @example
5678
+ *
5567
5679
  * ```javascript
5568
5680
  * Jodit.make('#editor', {
5569
5681
  * buttons: ['bold', 'italic', 'source'],
@@ -5571,7 +5683,7 @@ let ConfigPrototype = {};
5571
5683
  * buttonsXS: ['bold', 'fullsize'],
5572
5684
  * });
5573
5685
  * ```
5574
- * @example
5686
+ *
5575
5687
  * ```javascript
5576
5688
  * Jodit.make('#editor2', {
5577
5689
  * buttons: [{
@@ -5595,7 +5707,7 @@ let ConfigPrototype = {};
5595
5707
  * }]
5596
5708
  * });
5597
5709
  * ```
5598
- * @example
5710
+ *
5599
5711
  * ```javascript
5600
5712
  * Jodit.make('#editor2', {
5601
5713
  * buttons: Jodit.defaultOptions.buttons.concat([{
@@ -5716,7 +5828,7 @@ let ConfigPrototype = {};
5716
5828
  * ```
5717
5829
  */ this.events = {};
5718
5830
  /**
5719
- * Buttons in toolbat without SVG - only texts
5831
+ * Buttons in toolbar without SVG - only texts
5720
5832
  */ this.textIcons = false;
5721
5833
  /**
5722
5834
  * Element for dialog container
@@ -12583,7 +12695,11 @@ __webpack_require__.r(__webpack_exports__);
12583
12695
  /* harmony export */ getItem: function() { return /* binding */ getItem; }
12584
12696
  /* harmony export */ });
12585
12697
  /* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
12586
-
12698
+ /*!
12699
+ * Jodit Editor (https://xdsoft.net/jodit/)
12700
+ * Released under MIT see LICENSE.txt in the project root for license information.
12701
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
12702
+ */
12587
12703
  /**
12588
12704
  * @private
12589
12705
  */ 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);
@@ -25098,12 +25214,12 @@ function findCorrectCurrentNode(node, range, rightMode, isCollapsed, checkChild,
25098
25214
  * Jodit Editor (https://xdsoft.net/jodit/)
25099
25215
  * Released under MIT see LICENSE.txt in the project root for license information.
25100
25216
  * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
25101
- */
25102
- /**
25217
+ */ /**
25103
25218
  * [[include:core/decorators/autobind/README.md]]
25104
25219
  * @packageDocumentation
25105
25220
  * @module decorators/autobind
25106
- */ /**
25221
+ */
25222
+ /**
25107
25223
  * Decorator that automatically binds a method to its class instance.
25108
25224
  * This is useful when passing methods as callbacks to preserve the correct `this` context.
25109
25225
  *
@@ -25889,9 +26005,10 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.toolbarStickyOffset = 0
25889
26005
  /* harmony import */ var _decorators_derive_derive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55153);
25890
26006
  /* harmony import */ var _dom_dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2748);
25891
26007
  /* harmony import */ var _helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(70799);
25892
- /* harmony import */ var _traits_elms_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(14316);
25893
- /* harmony import */ var _traits_mods_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(34176);
25894
- /* harmony import */ var _icon_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(12153);
26008
+ /* harmony import */ var _helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29960);
26009
+ /* harmony import */ var _traits_elms_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(14316);
26010
+ /* harmony import */ var _traits_mods_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(34176);
26011
+ /* harmony import */ var _icon_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(12153);
25895
26012
  /*!
25896
26013
  * Jodit Editor (https://xdsoft.net/jodit/)
25897
26014
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -25910,7 +26027,11 @@ var UIElement_1;
25910
26027
 
25911
26028
 
25912
26029
 
26030
+
25913
26031
  let UIElement = UIElement_1 = class UIElement extends _component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewComponent {
26032
+ getRole() {
26033
+ return '';
26034
+ }
25914
26035
  get parentElement() {
25915
26036
  return this.__parentElement;
25916
26037
  }
@@ -25999,7 +26120,7 @@ let UIElement = UIElement_1 = class UIElement extends _component_index_js__WEBPA
25999
26120
  return result;
26000
26121
  }
26001
26122
  parseTemplate(result) {
26002
- 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)));
26123
+ 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)));
26003
26124
  }
26004
26125
  /** @override */ destruct() {
26005
26126
  _dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(this.container);
@@ -26012,6 +26133,8 @@ let UIElement = UIElement_1 = class UIElement extends _component_index_js__WEBPA
26012
26133
  this.__parentElement = null;
26013
26134
  this.mods = {};
26014
26135
  this.container = this.createContainer(options);
26136
+ const role = this.getRole();
26137
+ role && (0,_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_4__.attr)(this.container, 'role', role);
26015
26138
  Object.defineProperty(this.container, 'component', {
26016
26139
  value: this,
26017
26140
  configurable: true
@@ -26019,7 +26142,7 @@ let UIElement = UIElement_1 = class UIElement extends _component_index_js__WEBPA
26019
26142
  }
26020
26143
  };
26021
26144
  UIElement = UIElement_1 = __decorate([
26022
- (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)
26145
+ (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)
26023
26146
  ], UIElement);
26024
26147
 
26025
26148
 
@@ -30068,7 +30191,13 @@ __decorate([
30068
30191
  /* harmony export */ eventEmitter: function() { return /* binding */ eventEmitter; }
30069
30192
  /* harmony export */ });
30070
30193
  /* harmony import */ var _event_emitter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(98220);
30071
-
30194
+ /*!
30195
+ * Jodit Editor (https://xdsoft.net/jodit/)
30196
+ * Released under MIT see LICENSE.txt in the project root for license information.
30197
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
30198
+ */ /**
30199
+ * @module event-emitter
30200
+ */
30072
30201
  const eventEmitter = new _event_emitter_js__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();
30073
30202
 
30074
30203
 
@@ -33523,6 +33652,9 @@ let UIGroup = UIGroup_1 = class UIGroup extends _element_js__WEBPACK_IMPORTED_MO
33523
33652
  className() {
33524
33653
  return 'UIGroup';
33525
33654
  }
33655
+ getRole() {
33656
+ return 'list';
33657
+ }
33526
33658
  /**
33527
33659
  * All group children
33528
33660
  */ get allChildren() {
@@ -41462,6 +41594,9 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
41462
41594
  className() {
41463
41595
  return 'ToolbarButton';
41464
41596
  }
41597
+ getRole() {
41598
+ return 'listitem';
41599
+ }
41465
41600
  /**
41466
41601
  * Get parent toolbar
41467
41602
  */ get toolbar() {
@@ -41529,7 +41664,6 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
41529
41664
  const cn = this.componentName;
41530
41665
  const container = this.j.c.span(cn);
41531
41666
  const button = super.createContainer();
41532
- (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_14__.attr)(container, 'role', 'listitem');
41533
41667
  button.classList.remove(cn);
41534
41668
  button.classList.add(cn + '__button');
41535
41669
  Object.defineProperty(button, 'component', {
@@ -44516,13 +44650,12 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.maxWidth = '100%';
44516
44650
  /**
44517
44651
  * Editor's min-height
44518
44652
  *
44519
- * @example
44520
44653
  * ```javascript
44521
44654
  * Jodit.make('.editor', {
44522
44655
  * minHeight: '30%' //min-height: 30%
44523
44656
  * })
44524
44657
  * ```
44525
- * @example
44658
+ *
44526
44659
  * ```javascript
44527
44660
  * Jodit.make('.editor', {
44528
44661
  * minHeight: 200 //min-height: 200px
@@ -45580,7 +45713,7 @@ __webpack_require__.r(__webpack_exports__);
45580
45713
  * ```
45581
45714
  * @packageDocumentation
45582
45715
  * @module constants
45583
- */ const APP_VERSION = "4.9.19";
45716
+ */ const APP_VERSION = "4.9.22";
45584
45717
  // prettier-ignore
45585
45718
  const ES = "es2015";
45586
45719
  const IS_ES_MODERN = true;
@@ -51048,7 +51181,11 @@ function _async_to_generator(fn) {
51048
51181
  });
51049
51182
  };
51050
51183
  }
51051
-
51184
+ /*!
51185
+ * Jodit Editor (https://xdsoft.net/jodit/)
51186
+ * Released under MIT see LICENSE.txt in the project root for license information.
51187
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
51188
+ */
51052
51189
 
51053
51190
 
51054
51191