jodit-pro 4.12.11 → 4.12.13

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 (301) hide show
  1. package/es2015/jodit.css +1 -1
  2. package/es2015/jodit.fat.min.js +6 -6
  3. package/es2015/jodit.js +144 -58
  4. package/es2015/jodit.min.js +6 -6
  5. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  6. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  7. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  8. package/es2015/plugins/autocomplete/autocomplete.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/templates/templates.css +1 -1
  57. package/es2015/plugins/templates/templates.js +1 -1
  58. package/es2015/plugins/templates/templates.min.js +1 -1
  59. package/es2015/plugins/todo-list/todo-list.css +1 -1
  60. package/es2015/plugins/todo-list/todo-list.js +1 -1
  61. package/es2015/plugins/todo-list/todo-list.min.js +1 -1
  62. package/es2015/plugins/translate/translate.css +1 -1
  63. package/es2015/plugins/translate/translate.js +1 -1
  64. package/es2015/plugins/translate/translate.min.js +1 -1
  65. package/es2015/plugins/tune-block/tune-block.css +1 -1
  66. package/es2015/plugins/tune-block/tune-block.js +1 -1
  67. package/es2015/plugins/tune-block/tune-block.min.js +1 -1
  68. package/es2018/jodit.fat.min.js +6 -6
  69. package/es2018/jodit.min.js +6 -6
  70. package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  71. package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
  72. package/es2018/plugins/backup/backup.min.js +1 -1
  73. package/es2018/plugins/button-generator/button-generator.min.js +1 -1
  74. package/es2018/plugins/change-case/change-case.min.js +1 -1
  75. package/es2018/plugins/color-picker/color-picker.min.js +1 -1
  76. package/es2018/plugins/emoji/emoji.min.js +1 -1
  77. package/es2018/plugins/export-docs/export-docs.min.js +1 -1
  78. package/es2018/plugins/finder/finder.min.js +1 -1
  79. package/es2018/plugins/google-maps/google-maps.min.js +1 -1
  80. package/es2018/plugins/google-search/google-search.min.js +1 -1
  81. package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
  82. package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
  83. package/es2018/plugins/keyboard/keyboard.min.js +1 -1
  84. package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
  85. package/es2018/plugins/page-break/page-break.min.js +1 -1
  86. package/es2018/plugins/paste-code/paste-code.min.js +1 -1
  87. package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
  88. package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
  89. package/es2018/plugins/style/style.min.js +1 -1
  90. package/es2018/plugins/templates/templates.min.js +1 -1
  91. package/es2018/plugins/todo-list/todo-list.min.js +1 -1
  92. package/es2018/plugins/translate/translate.min.js +1 -1
  93. package/es2018/plugins/tune-block/tune-block.min.js +1 -1
  94. package/es2021/jodit.css +1 -1
  95. package/es2021/jodit.fat.min.js +7 -7
  96. package/es2021/jodit.js +144 -58
  97. package/es2021/jodit.min.js +7 -7
  98. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  99. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  100. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  101. package/es2021/plugins/autocomplete/autocomplete.js +1 -1
  102. package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
  103. package/es2021/plugins/backup/backup.css +1 -1
  104. package/es2021/plugins/backup/backup.js +1 -1
  105. package/es2021/plugins/backup/backup.min.js +1 -1
  106. package/es2021/plugins/button-generator/button-generator.css +1 -1
  107. package/es2021/plugins/button-generator/button-generator.js +1 -1
  108. package/es2021/plugins/button-generator/button-generator.min.js +1 -1
  109. package/es2021/plugins/change-case/change-case.js +1 -1
  110. package/es2021/plugins/change-case/change-case.min.js +1 -1
  111. package/es2021/plugins/color-picker/color-picker.css +1 -1
  112. package/es2021/plugins/color-picker/color-picker.js +1 -1
  113. package/es2021/plugins/color-picker/color-picker.min.js +1 -1
  114. package/es2021/plugins/emoji/emoji.css +1 -1
  115. package/es2021/plugins/emoji/emoji.js +1 -1
  116. package/es2021/plugins/emoji/emoji.min.js +1 -1
  117. package/es2021/plugins/export-docs/export-docs.js +1 -1
  118. package/es2021/plugins/export-docs/export-docs.min.js +1 -1
  119. package/es2021/plugins/finder/finder.css +1 -1
  120. package/es2021/plugins/finder/finder.js +1 -1
  121. package/es2021/plugins/finder/finder.min.js +1 -1
  122. package/es2021/plugins/google-maps/google-maps.css +1 -1
  123. package/es2021/plugins/google-maps/google-maps.js +1 -1
  124. package/es2021/plugins/google-maps/google-maps.min.js +1 -1
  125. package/es2021/plugins/google-search/google-search.js +1 -1
  126. package/es2021/plugins/google-search/google-search.min.js +1 -1
  127. package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
  128. package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
  129. package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
  130. package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
  131. package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
  132. package/es2021/plugins/keyboard/keyboard.css +1 -1
  133. package/es2021/plugins/keyboard/keyboard.js +1 -1
  134. package/es2021/plugins/keyboard/keyboard.min.js +1 -1
  135. package/es2021/plugins/mobile-view/mobile-view.js +1 -1
  136. package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
  137. package/es2021/plugins/page-break/page-break.js +1 -1
  138. package/es2021/plugins/page-break/page-break.min.js +1 -1
  139. package/es2021/plugins/paste-code/paste-code.css +1 -1
  140. package/es2021/plugins/paste-code/paste-code.js +1 -1
  141. package/es2021/plugins/paste-code/paste-code.min.js +1 -1
  142. package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
  143. package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
  144. package/es2021/plugins/show-blocks/show-blocks.js +1 -1
  145. package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
  146. package/es2021/plugins/style/style.css +1 -1
  147. package/es2021/plugins/style/style.js +1 -1
  148. package/es2021/plugins/style/style.min.js +1 -1
  149. package/es2021/plugins/templates/templates.css +1 -1
  150. package/es2021/plugins/templates/templates.js +1 -1
  151. package/es2021/plugins/templates/templates.min.js +1 -1
  152. package/es2021/plugins/todo-list/todo-list.css +1 -1
  153. package/es2021/plugins/todo-list/todo-list.js +1 -1
  154. package/es2021/plugins/todo-list/todo-list.min.js +1 -1
  155. package/es2021/plugins/translate/translate.css +1 -1
  156. package/es2021/plugins/translate/translate.js +1 -1
  157. package/es2021/plugins/translate/translate.min.js +1 -1
  158. package/es2021/plugins/tune-block/tune-block.css +1 -1
  159. package/es2021/plugins/tune-block/tune-block.js +1 -1
  160. package/es2021/plugins/tune-block/tune-block.min.js +1 -1
  161. package/es2021.en/jodit.css +1 -1
  162. package/es2021.en/jodit.fat.min.js +7 -7
  163. package/es2021.en/jodit.js +144 -58
  164. package/es2021.en/jodit.min.js +7 -7
  165. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  166. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  167. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  168. package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
  169. package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
  170. package/es2021.en/plugins/backup/backup.css +1 -1
  171. package/es2021.en/plugins/backup/backup.js +1 -1
  172. package/es2021.en/plugins/backup/backup.min.js +1 -1
  173. package/es2021.en/plugins/button-generator/button-generator.css +1 -1
  174. package/es2021.en/plugins/button-generator/button-generator.js +1 -1
  175. package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
  176. package/es2021.en/plugins/change-case/change-case.js +1 -1
  177. package/es2021.en/plugins/change-case/change-case.min.js +1 -1
  178. package/es2021.en/plugins/color-picker/color-picker.css +1 -1
  179. package/es2021.en/plugins/color-picker/color-picker.js +1 -1
  180. package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
  181. package/es2021.en/plugins/emoji/emoji.css +1 -1
  182. package/es2021.en/plugins/emoji/emoji.js +1 -1
  183. package/es2021.en/plugins/emoji/emoji.min.js +1 -1
  184. package/es2021.en/plugins/export-docs/export-docs.js +1 -1
  185. package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
  186. package/es2021.en/plugins/finder/finder.css +1 -1
  187. package/es2021.en/plugins/finder/finder.js +1 -1
  188. package/es2021.en/plugins/finder/finder.min.js +1 -1
  189. package/es2021.en/plugins/google-maps/google-maps.css +1 -1
  190. package/es2021.en/plugins/google-maps/google-maps.js +1 -1
  191. package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
  192. package/es2021.en/plugins/google-search/google-search.js +1 -1
  193. package/es2021.en/plugins/google-search/google-search.min.js +1 -1
  194. package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
  195. package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
  196. package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
  197. package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
  198. package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
  199. package/es2021.en/plugins/keyboard/keyboard.css +1 -1
  200. package/es2021.en/plugins/keyboard/keyboard.js +1 -1
  201. package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
  202. package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
  203. package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
  204. package/es2021.en/plugins/page-break/page-break.js +1 -1
  205. package/es2021.en/plugins/page-break/page-break.min.js +1 -1
  206. package/es2021.en/plugins/paste-code/paste-code.css +1 -1
  207. package/es2021.en/plugins/paste-code/paste-code.js +1 -1
  208. package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
  209. package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
  210. package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
  211. package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
  212. package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
  213. package/es2021.en/plugins/style/style.css +1 -1
  214. package/es2021.en/plugins/style/style.js +1 -1
  215. package/es2021.en/plugins/style/style.min.js +1 -1
  216. package/es2021.en/plugins/templates/templates.css +1 -1
  217. package/es2021.en/plugins/templates/templates.js +1 -1
  218. package/es2021.en/plugins/templates/templates.min.js +1 -1
  219. package/es2021.en/plugins/todo-list/todo-list.css +1 -1
  220. package/es2021.en/plugins/todo-list/todo-list.js +1 -1
  221. package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
  222. package/es2021.en/plugins/translate/translate.css +1 -1
  223. package/es2021.en/plugins/translate/translate.js +1 -1
  224. package/es2021.en/plugins/translate/translate.min.js +1 -1
  225. package/es2021.en/plugins/tune-block/tune-block.css +1 -1
  226. package/es2021.en/plugins/tune-block/tune-block.js +1 -1
  227. package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
  228. package/es5/jodit.css +2 -2
  229. package/es5/jodit.fat.min.js +2 -2
  230. package/es5/jodit.js +146 -58
  231. package/es5/jodit.min.css +2 -2
  232. package/es5/jodit.min.js +2 -2
  233. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  234. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  235. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  236. package/es5/plugins/autocomplete/autocomplete.js +1 -1
  237. package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
  238. package/es5/plugins/backup/backup.css +1 -1
  239. package/es5/plugins/backup/backup.js +1 -1
  240. package/es5/plugins/backup/backup.min.js +1 -1
  241. package/es5/plugins/button-generator/button-generator.css +1 -1
  242. package/es5/plugins/button-generator/button-generator.js +1 -1
  243. package/es5/plugins/button-generator/button-generator.min.js +1 -1
  244. package/es5/plugins/change-case/change-case.js +1 -1
  245. package/es5/plugins/change-case/change-case.min.js +1 -1
  246. package/es5/plugins/color-picker/color-picker.css +1 -1
  247. package/es5/plugins/color-picker/color-picker.js +1 -1
  248. package/es5/plugins/color-picker/color-picker.min.js +1 -1
  249. package/es5/plugins/emoji/emoji.css +1 -1
  250. package/es5/plugins/emoji/emoji.js +1 -1
  251. package/es5/plugins/emoji/emoji.min.js +1 -1
  252. package/es5/plugins/export-docs/export-docs.js +1 -1
  253. package/es5/plugins/export-docs/export-docs.min.js +1 -1
  254. package/es5/plugins/finder/finder.css +1 -1
  255. package/es5/plugins/finder/finder.js +1 -1
  256. package/es5/plugins/finder/finder.min.js +1 -1
  257. package/es5/plugins/google-maps/google-maps.css +1 -1
  258. package/es5/plugins/google-maps/google-maps.js +1 -1
  259. package/es5/plugins/google-maps/google-maps.min.js +1 -1
  260. package/es5/plugins/google-search/google-search.js +1 -1
  261. package/es5/plugins/google-search/google-search.min.js +1 -1
  262. package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
  263. package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
  264. package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
  265. package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
  266. package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
  267. package/es5/plugins/keyboard/keyboard.css +1 -1
  268. package/es5/plugins/keyboard/keyboard.js +1 -1
  269. package/es5/plugins/keyboard/keyboard.min.js +1 -1
  270. package/es5/plugins/mobile-view/mobile-view.js +1 -1
  271. package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
  272. package/es5/plugins/page-break/page-break.js +1 -1
  273. package/es5/plugins/page-break/page-break.min.js +1 -1
  274. package/es5/plugins/paste-code/paste-code.css +1 -1
  275. package/es5/plugins/paste-code/paste-code.js +1 -1
  276. package/es5/plugins/paste-code/paste-code.min.js +1 -1
  277. package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
  278. package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
  279. package/es5/plugins/show-blocks/show-blocks.js +1 -1
  280. package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
  281. package/es5/plugins/style/style.css +1 -1
  282. package/es5/plugins/style/style.js +1 -1
  283. package/es5/plugins/style/style.min.js +1 -1
  284. package/es5/plugins/templates/templates.css +1 -1
  285. package/es5/plugins/templates/templates.js +1 -1
  286. package/es5/plugins/templates/templates.min.js +1 -1
  287. package/es5/plugins/todo-list/todo-list.css +1 -1
  288. package/es5/plugins/todo-list/todo-list.js +1 -1
  289. package/es5/plugins/todo-list/todo-list.min.js +1 -1
  290. package/es5/plugins/translate/translate.css +1 -1
  291. package/es5/plugins/translate/translate.js +1 -1
  292. package/es5/plugins/translate/translate.min.js +1 -1
  293. package/es5/plugins/tune-block/tune-block.css +1 -1
  294. package/es5/plugins/tune-block/tune-block.js +1 -1
  295. package/es5/plugins/tune-block/tune-block.min.js +1 -1
  296. package/es5/polyfills.fat.min.js +1 -1
  297. package/es5/polyfills.js +1 -1
  298. package/es5/polyfills.min.js +1 -1
  299. package/esm/plugins/license/helpers/helpers.js +1 -1
  300. package/esm/plugins/license/license.js +1 -1
  301. 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.12.11
4
+ * Version: v4.12.13
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -1746,7 +1746,7 @@ __webpack_require__.r(__webpack_exports__);
1746
1746
  * ```
1747
1747
  * @packageDocumentation
1748
1748
  * @module constants
1749
- */ const APP_VERSION = "4.12.11";
1749
+ */ const APP_VERSION = "4.12.13";
1750
1750
  // prettier-ignore
1751
1751
  const ES = "es2021";
1752
1752
  const IS_ES_MODERN = true;
@@ -6032,6 +6032,7 @@ __webpack_require__.r(__webpack_exports__);
6032
6032
  /* harmony export */ getClassName: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.getClassName; },
6033
6033
  /* harmony export */ getContentWidth: function() { return /* reexport safe */ _size_index_js__WEBPACK_IMPORTED_MODULE_6__.getContentWidth; },
6034
6034
  /* harmony export */ getDataTransfer: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.getDataTransfer; },
6035
+ /* harmony export */ getFixedPositionOffset: function() { return /* reexport safe */ _size_index_js__WEBPACK_IMPORTED_MODULE_6__.getFixedPositionOffset; },
6035
6036
  /* harmony export */ getPropertyDescriptor: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.getPropertyDescriptor; },
6036
6037
  /* harmony export */ getScrollParent: function() { return /* reexport safe */ _size_index_js__WEBPACK_IMPORTED_MODULE_6__.getScrollParent; },
6037
6038
  /* harmony export */ getXPathByElement: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.getXPathByElement; },
@@ -6491,6 +6492,56 @@ function normalizeCssValue(key, value) {
6491
6492
  };
6492
6493
 
6493
6494
 
6495
+ /***/ }),
6496
+
6497
+ /***/ 35224:
6498
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6499
+
6500
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6501
+ /* harmony export */ getFixedPositionOffset: function() { return /* binding */ getFixedPositionOffset; }
6502
+ /* harmony export */ });
6503
+ /*!
6504
+ * Jodit Editor (https://xdsoft.net/jodit/)
6505
+ * Released under MIT see LICENSE.txt in the project root for license information.
6506
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
6507
+ */ /**
6508
+ * Whether the element establishes a containing block for its
6509
+ * `position: fixed` descendants, so their coordinates become relative to it
6510
+ * instead of the viewport.
6511
+ */ function isContainingBlockForFixed(style) {
6512
+ return style.transform !== '' && style.transform !== 'none' || style.perspective !== '' && style.perspective !== 'none' || style.filter !== '' && style.filter !== 'none' || style.willChange === 'transform' || style.willChange === 'perspective' || style.willChange === 'filter' || style.contain === 'paint' || style.contain === 'layout' || style.contain === 'strict' || style.contain === 'content';
6513
+ }
6514
+ /**
6515
+ * Returns the viewport offset of the containing block of a `position: fixed`
6516
+ * descendant of `elm`. A fixed element is normally positioned relative to the
6517
+ * viewport, but an ancestor with `transform`, `filter`, `perspective`, etc.
6518
+ * establishes a new containing block, shifting the fixed element by that
6519
+ * ancestor's top-left corner. The returned offset should be subtracted from
6520
+ * the desired viewport coordinates before applying them.
6521
+ *
6522
+ * Returns `{ x: 0, y: 0 }` when no such ancestor exists (the common case), so
6523
+ * call sites keep their previous behaviour unchanged.
6524
+ */ function getFixedPositionOffset(elm) {
6525
+ var _a;
6526
+ const win = (_a = elm.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;
6527
+ let node = elm.parentElement;
6528
+ while(win && node){
6529
+ if (isContainingBlockForFixed(win.getComputedStyle(node))) {
6530
+ const rect = node.getBoundingClientRect();
6531
+ return {
6532
+ x: rect.left,
6533
+ y: rect.top
6534
+ };
6535
+ }
6536
+ node = node.parentElement;
6537
+ }
6538
+ return {
6539
+ x: 0,
6540
+ y: 0
6541
+ };
6542
+ }
6543
+
6544
+
6494
6545
  /***/ }),
6495
6546
 
6496
6547
  /***/ 16442:
@@ -6530,18 +6581,20 @@ function getScrollParent(node) {
6530
6581
 
6531
6582
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6532
6583
  /* harmony export */ getContentWidth: function() { return /* reexport safe */ _get_content_width_js__WEBPACK_IMPORTED_MODULE_0__.getContentWidth; },
6533
- /* harmony export */ getScrollParent: function() { return /* reexport safe */ _get_scroll_parent_js__WEBPACK_IMPORTED_MODULE_1__.getScrollParent; },
6534
- /* harmony export */ innerWidth: function() { return /* reexport safe */ _inner_width_js__WEBPACK_IMPORTED_MODULE_2__.innerWidth; },
6535
- /* harmony export */ offset: function() { return /* reexport safe */ _offset_js__WEBPACK_IMPORTED_MODULE_4__.offset; },
6536
- /* harmony export */ position: function() { return /* reexport safe */ _position_js__WEBPACK_IMPORTED_MODULE_5__.position; },
6537
- /* harmony export */ size: function() { return /* reexport safe */ _object_size_js__WEBPACK_IMPORTED_MODULE_3__.size; }
6584
+ /* harmony export */ getFixedPositionOffset: function() { return /* reexport safe */ _get_fixed_position_offset_js__WEBPACK_IMPORTED_MODULE_1__.getFixedPositionOffset; },
6585
+ /* harmony export */ getScrollParent: function() { return /* reexport safe */ _get_scroll_parent_js__WEBPACK_IMPORTED_MODULE_2__.getScrollParent; },
6586
+ /* harmony export */ innerWidth: function() { return /* reexport safe */ _inner_width_js__WEBPACK_IMPORTED_MODULE_3__.innerWidth; },
6587
+ /* harmony export */ offset: function() { return /* reexport safe */ _offset_js__WEBPACK_IMPORTED_MODULE_5__.offset; },
6588
+ /* harmony export */ position: function() { return /* reexport safe */ _position_js__WEBPACK_IMPORTED_MODULE_6__.position; },
6589
+ /* harmony export */ size: function() { return /* reexport safe */ _object_size_js__WEBPACK_IMPORTED_MODULE_4__.size; }
6538
6590
  /* harmony export */ });
6539
6591
  /* harmony import */ var _get_content_width_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(44506);
6540
- /* harmony import */ var _get_scroll_parent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16442);
6541
- /* harmony import */ var _inner_width_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(81630);
6542
- /* harmony import */ var _object_size_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21496);
6543
- /* harmony import */ var _offset_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(81284);
6544
- /* harmony import */ var _position_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5700);
6592
+ /* harmony import */ var _get_fixed_position_offset_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(35224);
6593
+ /* harmony import */ var _get_scroll_parent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16442);
6594
+ /* harmony import */ var _inner_width_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(81630);
6595
+ /* harmony import */ var _object_size_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(21496);
6596
+ /* harmony import */ var _offset_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(81284);
6597
+ /* harmony import */ var _position_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5700);
6545
6598
  /*!
6546
6599
  * Jodit Editor (https://xdsoft.net/jodit/)
6547
6600
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -6556,6 +6609,7 @@ function getScrollParent(node) {
6556
6609
 
6557
6610
 
6558
6611
 
6612
+
6559
6613
  /***/ }),
6560
6614
 
6561
6615
  /***/ 81630:
@@ -13375,9 +13429,10 @@ UIButtonGroup = __decorate([
13375
13429
  /* harmony import */ var _decorators_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65478);
13376
13430
  /* harmony import */ var _dom_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(22732);
13377
13431
  /* harmony import */ var _global_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(580);
13378
- /* harmony import */ var _helpers_size_position_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5700);
13379
- /* harmony import */ var _helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(43555);
13380
- /* harmony import */ var _element_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(48538);
13432
+ /* harmony import */ var _helpers_size_get_fixed_position_offset_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35224);
13433
+ /* harmony import */ var _helpers_size_position_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5700);
13434
+ /* harmony import */ var _helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(43555);
13435
+ /* harmony import */ var _element_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(48538);
13381
13436
  /*!
13382
13437
  * Jodit Editor (https://xdsoft.net/jodit/)
13383
13438
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -13396,6 +13451,7 @@ var UITooltip_1;
13396
13451
 
13397
13452
 
13398
13453
 
13454
+
13399
13455
  const WINDOW_EVENTS_ON_HIDE = [
13400
13456
  'scroll.tooltip',
13401
13457
  'joditCloseDialog',
@@ -13410,7 +13466,7 @@ const JODIT_EVENTS_ON_HIDE = [
13410
13466
  'beforePopupClose.tooltip',
13411
13467
  'closeAllPopups.tooltip'
13412
13468
  ];
13413
- let UITooltip = UITooltip_1 = class UITooltip extends _element_js__WEBPACK_IMPORTED_MODULE_6__.UIElement {
13469
+ let UITooltip = UITooltip_1 = class UITooltip extends _element_js__WEBPACK_IMPORTED_MODULE_7__.UIElement {
13414
13470
  className() {
13415
13471
  return 'UITooltip';
13416
13472
  }
@@ -13456,11 +13512,11 @@ let UITooltip = UITooltip_1 = class UITooltip extends _element_js__WEBPACK_IMPOR
13456
13512
  if (!_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isHTMLElement(e.target)) {
13457
13513
  return;
13458
13514
  }
13459
- const tooltip = (0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_5__.attr)(e.target, 'aria-label');
13515
+ const tooltip = (0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_6__.attr)(e.target, 'aria-label');
13460
13516
  if (!tooltip) {
13461
13517
  return;
13462
13518
  }
13463
- const disabled = Boolean((0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_5__.attr)(e.target, 'disabled'));
13519
+ const disabled = Boolean((0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_6__.attr)(e.target, 'disabled'));
13464
13520
  if (disabled) {
13465
13521
  return;
13466
13522
  }
@@ -13471,7 +13527,7 @@ let UITooltip = UITooltip_1 = class UITooltip extends _element_js__WEBPACK_IMPOR
13471
13527
  this.__currentTarget = e.target;
13472
13528
  const target = e.target;
13473
13529
  this.__open(()=>{
13474
- const pos = (0,_helpers_size_position_js__WEBPACK_IMPORTED_MODULE_4__.position)(target);
13530
+ const pos = (0,_helpers_size_position_js__WEBPACK_IMPORTED_MODULE_5__.position)(target);
13475
13531
  return {
13476
13532
  x: pos.left + pos.width / 2,
13477
13533
  y: pos.top + pos.height
@@ -13495,18 +13551,23 @@ let UITooltip = UITooltip_1 = class UITooltip extends _element_js__WEBPACK_IMPOR
13495
13551
  this.setMod('above', false);
13496
13552
  this.getElm('content').innerHTML = content;
13497
13553
  const point = getPoint();
13498
- (0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_5__.css)(this.container, {
13499
- left: point.x,
13500
- top: point.y
13501
- });
13502
- const tooltipPos = (0,_helpers_size_position_js__WEBPACK_IMPORTED_MODULE_4__.position)(this.container);
13554
+ // The tooltip is `position: fixed`. If it is rendered inside an ancestor
13555
+ // with a `transform` (e.g. an editor placed in a modal/flyout), that
13556
+ // ancestor becomes the containing block, so viewport coordinates must be
13557
+ // shifted by its offset. Returns `{0, 0}` when there is no such ancestor.
13558
+ const offset = (0,_helpers_size_get_fixed_position_offset_js__WEBPACK_IMPORTED_MODULE_4__.getFixedPositionOffset)(this.container);
13559
+ (0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_6__.css)(this.container, {
13560
+ left: point.x - offset.x,
13561
+ top: point.y - offset.y
13562
+ });
13563
+ const tooltipPos = (0,_helpers_size_position_js__WEBPACK_IMPORTED_MODULE_5__.position)(this.container);
13503
13564
  const viewHeight = this.j.ow.innerHeight;
13504
13565
  // If tooltip overflows below viewport, show it above the target
13505
13566
  if (tooltipPos.top + tooltipPos.height > viewHeight) {
13506
- const targetPos = (0,_helpers_size_position_js__WEBPACK_IMPORTED_MODULE_4__.position)(this.__currentTarget);
13567
+ const targetPos = (0,_helpers_size_position_js__WEBPACK_IMPORTED_MODULE_5__.position)(this.__currentTarget);
13507
13568
  this.setMod('above', true);
13508
- (0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_5__.css)(this.container, {
13509
- top: targetPos.top - tooltipPos.height
13569
+ (0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_6__.css)(this.container, {
13570
+ top: targetPos.top - tooltipPos.height - offset.y
13510
13571
  });
13511
13572
  }
13512
13573
  }
@@ -13518,7 +13579,7 @@ let UITooltip = UITooltip_1 = class UITooltip extends _element_js__WEBPACK_IMPOR
13518
13579
  this.__isOpened = false;
13519
13580
  this.setMod('visible', false);
13520
13581
  this.getElm('content').innerHTML = '';
13521
- (0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_5__.css)(this.container, {
13582
+ (0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_6__.css)(this.container, {
13522
13583
  left: -5000
13523
13584
  });
13524
13585
  }
@@ -15468,9 +15529,13 @@ class Popup extends _group_group_js__WEBPACK_IMPORTED_MODULE_7__.UIGroup {
15468
15529
  }
15469
15530
  const [pos, strategy] = this.__calculatePosition(this.__targetBound(), this.viewBound(), (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.position)(this.container, this.j));
15470
15531
  this.setMod('strategy', strategy);
15532
+ // The popup is `position: fixed`; shift by the containing-block offset
15533
+ // when it is rendered inside a transformed ancestor (e.g. a modal),
15534
+ // otherwise `{0, 0}` keeps the viewport coordinates unchanged.
15535
+ const offset = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.getFixedPositionOffset)(this.container);
15471
15536
  (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.css)(this.container, {
15472
- left: pos.left,
15473
- top: pos.top
15537
+ left: pos.left - offset.x,
15538
+ top: pos.top - offset.y
15474
15539
  });
15475
15540
  this.__childrenPopups.forEach((popup)=>popup.updatePosition());
15476
15541
  return this;
@@ -43720,6 +43785,7 @@ class selectCells extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plu
43720
43785
  /**
43721
43786
  * Stop a selection process
43722
43787
  */ __onStopSelection(table, e) {
43788
+ var _a, _b;
43723
43789
  if (!this.__selectedCell) {
43724
43790
  return;
43725
43791
  }
@@ -43744,7 +43810,16 @@ class selectCells extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plu
43744
43810
  cell,
43745
43811
  this.__selectedCell
43746
43812
  ]), box = this.__tableModule.formalMatrix(table);
43747
- const max = box[bound[1][0]][bound[1][1]], min = box[bound[0][0]][bound[0][1]];
43813
+ const max = (_a = box[bound[1][0]]) === null || _a === void 0 ? void 0 : _a[bound[1][1]], min = (_b = box[bound[0][0]]) === null || _b === void 0 ? void 0 : _b[bound[0][1]];
43814
+ // `getSelectedBound` keeps its `Infinity` sentinel when none of the
43815
+ // selected cells belong to this table's matrix — e.g. after a
43816
+ // drag-and-drop that moved/removed the cells, leaving a stale anchor and
43817
+ // a drop target outside the table. Bail out instead of dereferencing an
43818
+ // out-of-range matrix slot (which threw `Cannot read properties of
43819
+ // undefined`).
43820
+ if (!min || !max) {
43821
+ return;
43822
+ }
43748
43823
  this.j.e.fire('showPopup', table, ()=>{
43749
43824
  const minOffset = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.position)(min, this.j), maxOffset = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.position)(max, this.j);
43750
43825
  return {
@@ -49887,7 +49962,10 @@ function isAllowedSubdomain(domain) {
49887
49962
  /**
49888
49963
  * Validate license
49889
49964
  */ function validateLicense(code, domain) {
49890
- code = code.replace(/[^A-Z0-9-]/g, 'R');
49965
+ // Be forgiving about how the key arrives: uppercase it (lowercase letters
49966
+ // would otherwise be wiped), turn unicode dashes from email/Word back into
49967
+ // '-', drop stray whitespace, then blank out anything still illegal.
49968
+ code = String(code).toUpperCase().replace(/[‐-―−]/g, '-').replace(/\s+/g, '').replace(/[^A-Z0-9-]/g, 'R');
49891
49969
  if (validateEntLicense(code)) {
49892
49970
  return true;
49893
49971
  }
@@ -49905,14 +49983,15 @@ function isAllowedSubdomain(domain) {
49905
49983
  return part.replace('{part}', domainsParts[index] || '[R-T]');
49906
49984
  });
49907
49985
  const reg = RegExp(`^${parts.join('-')}$`, 'i');
49908
- const type = code.substring(12, 13);
49909
- const result = reg.test(code);
49910
- if (!result && type === (typeof !domain).toUpperCase()[5]) {
49911
- const parts = domain.split('.');
49912
- parts.shift();
49913
- return parts.length ? validateLicense(code, parts.join('.')) : false;
49986
+ if (reg.test(code)) {
49987
+ return true;
49914
49988
  }
49915
- return result;
49989
+ // A license issued for a parent domain also covers its subdomains: walk up
49990
+ // one label at a time and re-check, stopping at the registrable domain
49991
+ // (e.g. example.com) so we never try to match a bare TLD.
49992
+ const labels = domain.split('.');
49993
+ labels.shift();
49994
+ return labels.length > 1 ? validateLicense(code, labels.join('.')) : false;
49916
49995
  }
49917
49996
  function validateEntLicense(code) {
49918
49997
  return /[A-Z0-9][013456][A-P0-9]{2}[ABC]-([0-3])[ELPDF][E-L4-8]{2}\1-[A-D][R0][J-P5-6]{3}-[DPGHYE][GFPOD]{3}[A-SX-Z]/.test(code);
@@ -49980,7 +50059,7 @@ class license extends jodit_esm_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_5__.
49980
50059
  return '';
49981
50060
  }
49982
50061
  let valid = (0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_0__.validateLicense)(code, domain);
49983
- if (!valid && code[12] > 'A' && !jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_1__.IS_TEST) {
50062
+ if (!valid && !jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_1__.IS_TEST) {
49984
50063
  valid = await this.validateLicenseRemote(code, domain);
49985
50064
  }
49986
50065
  return valid ? 'normal' : '';
@@ -49994,27 +50073,34 @@ class license extends jodit_esm_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_5__.
49994
50073
  }
49995
50074
  const s = document.createElement('script');
49996
50075
  s.src = `https://xdsoft.net/jodit/pro/api/licenses/validate/?code=${encodeURIComponent(code)}&host=${encodeURIComponent(domain)}`;
49997
- document.body.appendChild(s);
49998
50076
  return this.j.async.promise((res)=>{
49999
- window['onJoditResolveKeyCode'] = (newCode)=>{
50000
- try {
50001
- if ((0,jodit_esm_core_helpers_checker_is_boolean__WEBPACK_IMPORTED_MODULE_3__.isBoolean)(newCode)) {
50002
- return res(newCode);
50003
- }
50004
- if ((0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_0__.validateLicense)(newCode, domain)) {
50005
- this.j.storage.set(storageKey, newCode);
50006
- res(true);
50007
- } else {
50008
- res(false);
50009
- }
50010
- } finally{
50011
- jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(s);
50077
+ let settled = false;
50078
+ const finish = (value)=>{
50079
+ if (settled) {
50080
+ return;
50012
50081
  }
50013
- };
50014
- this.j.async.setTimeout(()=>{
50015
- res(false);
50082
+ settled = true;
50016
50083
  jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(s);
50017
- }, 3000);
50084
+ res(value);
50085
+ };
50086
+ window['onJoditResolveKeyCode'] = (response)=>{
50087
+ // We reached our server and got an explicit verdict.
50088
+ if ((0,jodit_esm_core_helpers_checker_is_boolean__WEBPACK_IMPORTED_MODULE_3__.isBoolean)(response)) {
50089
+ return finish(response);
50090
+ }
50091
+ if ((0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_0__.validateLicense)(response, domain)) {
50092
+ this.j.storage.set(storageKey, response);
50093
+ finish(true);
50094
+ } else {
50095
+ finish(false);
50096
+ }
50097
+ };
50098
+ // Could not load our endpoint (offline, CSP, firewall, ad-blocker):
50099
+ // don't punish a paying customer — treat the key as valid.
50100
+ s.onerror = ()=>finish(true);
50101
+ document.body.appendChild(s);
50102
+ // No answer in time → assume our server is unreachable → valid.
50103
+ this.j.async.setTimeout(()=>finish(true), 5000);
50018
50104
  });
50019
50105
  }
50020
50106
  }