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/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.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
  */
@@ -1797,7 +1797,7 @@ __webpack_require__.r(__webpack_exports__);
1797
1797
  * ```
1798
1798
  * @packageDocumentation
1799
1799
  * @module constants
1800
- */ const APP_VERSION = "4.12.11";
1800
+ */ const APP_VERSION = "4.12.13";
1801
1801
  // prettier-ignore
1802
1802
  const ES = "es2015";
1803
1803
  const IS_ES_MODERN = true;
@@ -6083,6 +6083,7 @@ __webpack_require__.r(__webpack_exports__);
6083
6083
  /* harmony export */ getClassName: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.getClassName; },
6084
6084
  /* harmony export */ getContentWidth: function() { return /* reexport safe */ _size_index_js__WEBPACK_IMPORTED_MODULE_6__.getContentWidth; },
6085
6085
  /* harmony export */ getDataTransfer: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.getDataTransfer; },
6086
+ /* harmony export */ getFixedPositionOffset: function() { return /* reexport safe */ _size_index_js__WEBPACK_IMPORTED_MODULE_6__.getFixedPositionOffset; },
6086
6087
  /* harmony export */ getPropertyDescriptor: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.getPropertyDescriptor; },
6087
6088
  /* harmony export */ getScrollParent: function() { return /* reexport safe */ _size_index_js__WEBPACK_IMPORTED_MODULE_6__.getScrollParent; },
6088
6089
  /* harmony export */ getXPathByElement: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.getXPathByElement; },
@@ -6542,6 +6543,56 @@ function normalizeCssValue(key, value) {
6542
6543
  };
6543
6544
 
6544
6545
 
6546
+ /***/ }),
6547
+
6548
+ /***/ 35224:
6549
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6550
+
6551
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6552
+ /* harmony export */ getFixedPositionOffset: function() { return /* binding */ getFixedPositionOffset; }
6553
+ /* harmony export */ });
6554
+ /*!
6555
+ * Jodit Editor (https://xdsoft.net/jodit/)
6556
+ * Released under MIT see LICENSE.txt in the project root for license information.
6557
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
6558
+ */ /**
6559
+ * Whether the element establishes a containing block for its
6560
+ * `position: fixed` descendants, so their coordinates become relative to it
6561
+ * instead of the viewport.
6562
+ */ function isContainingBlockForFixed(style) {
6563
+ 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';
6564
+ }
6565
+ /**
6566
+ * Returns the viewport offset of the containing block of a `position: fixed`
6567
+ * descendant of `elm`. A fixed element is normally positioned relative to the
6568
+ * viewport, but an ancestor with `transform`, `filter`, `perspective`, etc.
6569
+ * establishes a new containing block, shifting the fixed element by that
6570
+ * ancestor's top-left corner. The returned offset should be subtracted from
6571
+ * the desired viewport coordinates before applying them.
6572
+ *
6573
+ * Returns `{ x: 0, y: 0 }` when no such ancestor exists (the common case), so
6574
+ * call sites keep their previous behaviour unchanged.
6575
+ */ function getFixedPositionOffset(elm) {
6576
+ var _a;
6577
+ const win = (_a = elm.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;
6578
+ let node = elm.parentElement;
6579
+ while(win && node){
6580
+ if (isContainingBlockForFixed(win.getComputedStyle(node))) {
6581
+ const rect = node.getBoundingClientRect();
6582
+ return {
6583
+ x: rect.left,
6584
+ y: rect.top
6585
+ };
6586
+ }
6587
+ node = node.parentElement;
6588
+ }
6589
+ return {
6590
+ x: 0,
6591
+ y: 0
6592
+ };
6593
+ }
6594
+
6595
+
6545
6596
  /***/ }),
6546
6597
 
6547
6598
  /***/ 16442:
@@ -6581,18 +6632,20 @@ function getScrollParent(node) {
6581
6632
 
6582
6633
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6583
6634
  /* harmony export */ getContentWidth: function() { return /* reexport safe */ _get_content_width_js__WEBPACK_IMPORTED_MODULE_0__.getContentWidth; },
6584
- /* harmony export */ getScrollParent: function() { return /* reexport safe */ _get_scroll_parent_js__WEBPACK_IMPORTED_MODULE_1__.getScrollParent; },
6585
- /* harmony export */ innerWidth: function() { return /* reexport safe */ _inner_width_js__WEBPACK_IMPORTED_MODULE_2__.innerWidth; },
6586
- /* harmony export */ offset: function() { return /* reexport safe */ _offset_js__WEBPACK_IMPORTED_MODULE_4__.offset; },
6587
- /* harmony export */ position: function() { return /* reexport safe */ _position_js__WEBPACK_IMPORTED_MODULE_5__.position; },
6588
- /* harmony export */ size: function() { return /* reexport safe */ _object_size_js__WEBPACK_IMPORTED_MODULE_3__.size; }
6635
+ /* harmony export */ getFixedPositionOffset: function() { return /* reexport safe */ _get_fixed_position_offset_js__WEBPACK_IMPORTED_MODULE_1__.getFixedPositionOffset; },
6636
+ /* harmony export */ getScrollParent: function() { return /* reexport safe */ _get_scroll_parent_js__WEBPACK_IMPORTED_MODULE_2__.getScrollParent; },
6637
+ /* harmony export */ innerWidth: function() { return /* reexport safe */ _inner_width_js__WEBPACK_IMPORTED_MODULE_3__.innerWidth; },
6638
+ /* harmony export */ offset: function() { return /* reexport safe */ _offset_js__WEBPACK_IMPORTED_MODULE_5__.offset; },
6639
+ /* harmony export */ position: function() { return /* reexport safe */ _position_js__WEBPACK_IMPORTED_MODULE_6__.position; },
6640
+ /* harmony export */ size: function() { return /* reexport safe */ _object_size_js__WEBPACK_IMPORTED_MODULE_4__.size; }
6589
6641
  /* harmony export */ });
6590
6642
  /* harmony import */ var _get_content_width_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(44506);
6591
- /* harmony import */ var _get_scroll_parent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16442);
6592
- /* harmony import */ var _inner_width_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(81630);
6593
- /* harmony import */ var _object_size_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21496);
6594
- /* harmony import */ var _offset_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(81284);
6595
- /* harmony import */ var _position_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5700);
6643
+ /* harmony import */ var _get_fixed_position_offset_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(35224);
6644
+ /* harmony import */ var _get_scroll_parent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16442);
6645
+ /* harmony import */ var _inner_width_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(81630);
6646
+ /* harmony import */ var _object_size_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(21496);
6647
+ /* harmony import */ var _offset_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(81284);
6648
+ /* harmony import */ var _position_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5700);
6596
6649
  /*!
6597
6650
  * Jodit Editor (https://xdsoft.net/jodit/)
6598
6651
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -6607,6 +6660,7 @@ function getScrollParent(node) {
6607
6660
 
6608
6661
 
6609
6662
 
6663
+
6610
6664
  /***/ }),
6611
6665
 
6612
6666
  /***/ 81630:
@@ -13780,9 +13834,10 @@ UIButtonGroup = __decorate([
13780
13834
  /* harmony import */ var _decorators_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65478);
13781
13835
  /* harmony import */ var _dom_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(22732);
13782
13836
  /* harmony import */ var _global_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(580);
13783
- /* harmony import */ var _helpers_size_position_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5700);
13784
- /* harmony import */ var _helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(43555);
13785
- /* harmony import */ var _element_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(48538);
13837
+ /* harmony import */ var _helpers_size_get_fixed_position_offset_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35224);
13838
+ /* harmony import */ var _helpers_size_position_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5700);
13839
+ /* harmony import */ var _helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(43555);
13840
+ /* harmony import */ var _element_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(48538);
13786
13841
  /*!
13787
13842
  * Jodit Editor (https://xdsoft.net/jodit/)
13788
13843
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -13801,6 +13856,7 @@ var UITooltip_1;
13801
13856
 
13802
13857
 
13803
13858
 
13859
+
13804
13860
  const WINDOW_EVENTS_ON_HIDE = [
13805
13861
  'scroll.tooltip',
13806
13862
  'joditCloseDialog',
@@ -13815,7 +13871,7 @@ const JODIT_EVENTS_ON_HIDE = [
13815
13871
  'beforePopupClose.tooltip',
13816
13872
  'closeAllPopups.tooltip'
13817
13873
  ];
13818
- let UITooltip = UITooltip_1 = class UITooltip extends _element_js__WEBPACK_IMPORTED_MODULE_6__.UIElement {
13874
+ let UITooltip = UITooltip_1 = class UITooltip extends _element_js__WEBPACK_IMPORTED_MODULE_7__.UIElement {
13819
13875
  className() {
13820
13876
  return 'UITooltip';
13821
13877
  }
@@ -13861,11 +13917,11 @@ let UITooltip = UITooltip_1 = class UITooltip extends _element_js__WEBPACK_IMPOR
13861
13917
  if (!_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isHTMLElement(e.target)) {
13862
13918
  return;
13863
13919
  }
13864
- const tooltip = (0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_5__.attr)(e.target, 'aria-label');
13920
+ const tooltip = (0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_6__.attr)(e.target, 'aria-label');
13865
13921
  if (!tooltip) {
13866
13922
  return;
13867
13923
  }
13868
- const disabled = Boolean((0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_5__.attr)(e.target, 'disabled'));
13924
+ const disabled = Boolean((0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_6__.attr)(e.target, 'disabled'));
13869
13925
  if (disabled) {
13870
13926
  return;
13871
13927
  }
@@ -13876,7 +13932,7 @@ let UITooltip = UITooltip_1 = class UITooltip extends _element_js__WEBPACK_IMPOR
13876
13932
  this.__currentTarget = e.target;
13877
13933
  const target = e.target;
13878
13934
  this.__open(()=>{
13879
- const pos = (0,_helpers_size_position_js__WEBPACK_IMPORTED_MODULE_4__.position)(target);
13935
+ const pos = (0,_helpers_size_position_js__WEBPACK_IMPORTED_MODULE_5__.position)(target);
13880
13936
  return {
13881
13937
  x: pos.left + pos.width / 2,
13882
13938
  y: pos.top + pos.height
@@ -13900,18 +13956,23 @@ let UITooltip = UITooltip_1 = class UITooltip extends _element_js__WEBPACK_IMPOR
13900
13956
  this.setMod('above', false);
13901
13957
  this.getElm('content').innerHTML = content;
13902
13958
  const point = getPoint();
13903
- (0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_5__.css)(this.container, {
13904
- left: point.x,
13905
- top: point.y
13906
- });
13907
- const tooltipPos = (0,_helpers_size_position_js__WEBPACK_IMPORTED_MODULE_4__.position)(this.container);
13959
+ // The tooltip is `position: fixed`. If it is rendered inside an ancestor
13960
+ // with a `transform` (e.g. an editor placed in a modal/flyout), that
13961
+ // ancestor becomes the containing block, so viewport coordinates must be
13962
+ // shifted by its offset. Returns `{0, 0}` when there is no such ancestor.
13963
+ const offset = (0,_helpers_size_get_fixed_position_offset_js__WEBPACK_IMPORTED_MODULE_4__.getFixedPositionOffset)(this.container);
13964
+ (0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_6__.css)(this.container, {
13965
+ left: point.x - offset.x,
13966
+ top: point.y - offset.y
13967
+ });
13968
+ const tooltipPos = (0,_helpers_size_position_js__WEBPACK_IMPORTED_MODULE_5__.position)(this.container);
13908
13969
  const viewHeight = this.j.ow.innerHeight;
13909
13970
  // If tooltip overflows below viewport, show it above the target
13910
13971
  if (tooltipPos.top + tooltipPos.height > viewHeight) {
13911
- const targetPos = (0,_helpers_size_position_js__WEBPACK_IMPORTED_MODULE_4__.position)(this.__currentTarget);
13972
+ const targetPos = (0,_helpers_size_position_js__WEBPACK_IMPORTED_MODULE_5__.position)(this.__currentTarget);
13912
13973
  this.setMod('above', true);
13913
- (0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_5__.css)(this.container, {
13914
- top: targetPos.top - tooltipPos.height
13974
+ (0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_6__.css)(this.container, {
13975
+ top: targetPos.top - tooltipPos.height - offset.y
13915
13976
  });
13916
13977
  }
13917
13978
  }
@@ -13923,7 +13984,7 @@ let UITooltip = UITooltip_1 = class UITooltip extends _element_js__WEBPACK_IMPOR
13923
13984
  this.__isOpened = false;
13924
13985
  this.setMod('visible', false);
13925
13986
  this.getElm('content').innerHTML = '';
13926
- (0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_5__.css)(this.container, {
13987
+ (0,_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_6__.css)(this.container, {
13927
13988
  left: -5000
13928
13989
  });
13929
13990
  }
@@ -16171,9 +16232,13 @@ class Popup extends _group_group_js__WEBPACK_IMPORTED_MODULE_7__.UIGroup {
16171
16232
  }
16172
16233
  const [pos, strategy] = this.__calculatePosition(this.__targetBound(), this.viewBound(), (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.position)(this.container, this.j));
16173
16234
  this.setMod('strategy', strategy);
16235
+ // The popup is `position: fixed`; shift by the containing-block offset
16236
+ // when it is rendered inside a transformed ancestor (e.g. a modal),
16237
+ // otherwise `{0, 0}` keeps the viewport coordinates unchanged.
16238
+ const offset = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.getFixedPositionOffset)(this.container);
16174
16239
  (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.css)(this.container, {
16175
- left: pos.left,
16176
- top: pos.top
16240
+ left: pos.left - offset.x,
16241
+ top: pos.top - offset.y
16177
16242
  });
16178
16243
  this.__childrenPopups.forEach((popup)=>popup.updatePosition());
16179
16244
  return this;
@@ -45166,6 +45231,7 @@ class selectCells extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plu
45166
45231
  /**
45167
45232
  * Stop a selection process
45168
45233
  */ __onStopSelection(table, e) {
45234
+ var _a, _b;
45169
45235
  if (!this.__selectedCell) {
45170
45236
  return;
45171
45237
  }
@@ -45190,7 +45256,16 @@ class selectCells extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plu
45190
45256
  cell,
45191
45257
  this.__selectedCell
45192
45258
  ]), box = this.__tableModule.formalMatrix(table);
45193
- const max = box[bound[1][0]][bound[1][1]], min = box[bound[0][0]][bound[0][1]];
45259
+ 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]];
45260
+ // `getSelectedBound` keeps its `Infinity` sentinel when none of the
45261
+ // selected cells belong to this table's matrix — e.g. after a
45262
+ // drag-and-drop that moved/removed the cells, leaving a stale anchor and
45263
+ // a drop target outside the table. Bail out instead of dereferencing an
45264
+ // out-of-range matrix slot (which threw `Cannot read properties of
45265
+ // undefined`).
45266
+ if (!min || !max) {
45267
+ return;
45268
+ }
45194
45269
  this.j.e.fire('showPopup', table, ()=>{
45195
45270
  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);
45196
45271
  return {
@@ -51390,7 +51465,10 @@ function isAllowedSubdomain(domain) {
51390
51465
  /**
51391
51466
  * Validate license
51392
51467
  */ function validateLicense(code, domain) {
51393
- code = code.replace(/[^A-Z0-9-]/g, 'R');
51468
+ // Be forgiving about how the key arrives: uppercase it (lowercase letters
51469
+ // would otherwise be wiped), turn unicode dashes from email/Word back into
51470
+ // '-', drop stray whitespace, then blank out anything still illegal.
51471
+ code = String(code).toUpperCase().replace(/[‐-―−]/g, '-').replace(/\s+/g, '').replace(/[^A-Z0-9-]/g, 'R');
51394
51472
  if (validateEntLicense(code)) {
51395
51473
  return true;
51396
51474
  }
@@ -51408,14 +51486,15 @@ function isAllowedSubdomain(domain) {
51408
51486
  return part.replace('{part}', domainsParts[index] || '[R-T]');
51409
51487
  });
51410
51488
  const reg = RegExp(`^${parts.join('-')}$`, 'i');
51411
- const type = code.substring(12, 13);
51412
- const result = reg.test(code);
51413
- if (!result && type === (typeof !domain).toUpperCase()[5]) {
51414
- const parts = domain.split('.');
51415
- parts.shift();
51416
- return parts.length ? validateLicense(code, parts.join('.')) : false;
51489
+ if (reg.test(code)) {
51490
+ return true;
51417
51491
  }
51418
- return result;
51492
+ // A license issued for a parent domain also covers its subdomains: walk up
51493
+ // one label at a time and re-check, stopping at the registrable domain
51494
+ // (e.g. example.com) so we never try to match a bare TLD.
51495
+ const labels = domain.split('.');
51496
+ labels.shift();
51497
+ return labels.length > 1 ? validateLicense(code, labels.join('.')) : false;
51419
51498
  }
51420
51499
  function validateEntLicense(code) {
51421
51500
  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);
@@ -51485,7 +51564,7 @@ class license extends jodit_esm_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_6__.
51485
51564
  return '';
51486
51565
  }
51487
51566
  let valid = (0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_1__.validateLicense)(code, domain);
51488
- if (!valid && code[12] > 'A' && !jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_2__.IS_TEST) {
51567
+ if (!valid && !jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_2__.IS_TEST) {
51489
51568
  valid = yield this.validateLicenseRemote(code, domain);
51490
51569
  }
51491
51570
  return valid ? 'normal' : '';
@@ -51500,27 +51579,34 @@ class license extends jodit_esm_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_6__.
51500
51579
  }
51501
51580
  const s = document.createElement('script');
51502
51581
  s.src = `https://xdsoft.net/jodit/pro/api/licenses/validate/?code=${encodeURIComponent(code)}&host=${encodeURIComponent(domain)}`;
51503
- document.body.appendChild(s);
51504
51582
  return this.j.async.promise((res)=>{
51505
- window['onJoditResolveKeyCode'] = (newCode)=>{
51506
- try {
51507
- if ((0,jodit_esm_core_helpers_checker_is_boolean__WEBPACK_IMPORTED_MODULE_4__.isBoolean)(newCode)) {
51508
- return res(newCode);
51509
- }
51510
- if ((0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_1__.validateLicense)(newCode, domain)) {
51511
- this.j.storage.set(storageKey, newCode);
51512
- res(true);
51513
- } else {
51514
- res(false);
51515
- }
51516
- } finally{
51517
- jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__.Dom.safeRemove(s);
51583
+ let settled = false;
51584
+ const finish = (value)=>{
51585
+ if (settled) {
51586
+ return;
51518
51587
  }
51519
- };
51520
- this.j.async.setTimeout(()=>{
51521
- res(false);
51588
+ settled = true;
51522
51589
  jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__.Dom.safeRemove(s);
51523
- }, 3000);
51590
+ res(value);
51591
+ };
51592
+ window['onJoditResolveKeyCode'] = (response)=>{
51593
+ // We reached our server and got an explicit verdict.
51594
+ if ((0,jodit_esm_core_helpers_checker_is_boolean__WEBPACK_IMPORTED_MODULE_4__.isBoolean)(response)) {
51595
+ return finish(response);
51596
+ }
51597
+ if ((0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_1__.validateLicense)(response, domain)) {
51598
+ this.j.storage.set(storageKey, response);
51599
+ finish(true);
51600
+ } else {
51601
+ finish(false);
51602
+ }
51603
+ };
51604
+ // Could not load our endpoint (offline, CSP, firewall, ad-blocker):
51605
+ // don't punish a paying customer — treat the key as valid.
51606
+ s.onerror = ()=>finish(true);
51607
+ document.body.appendChild(s);
51608
+ // No answer in time → assume our server is unreachable → valid.
51609
+ this.j.async.setTimeout(()=>finish(true), 5000);
51524
51610
  });
51525
51611
  }).call(this);
51526
51612
  }