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
@@ -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;
@@ -42963,6 +43028,7 @@ class selectCells extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plu
42963
43028
  /**
42964
43029
  * Stop a selection process
42965
43030
  */ __onStopSelection(table, e) {
43031
+ var _a, _b;
42966
43032
  if (!this.__selectedCell) {
42967
43033
  return;
42968
43034
  }
@@ -42987,7 +43053,16 @@ class selectCells extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plu
42987
43053
  cell,
42988
43054
  this.__selectedCell
42989
43055
  ]), box = this.__tableModule.formalMatrix(table);
42990
- const max = box[bound[1][0]][bound[1][1]], min = box[bound[0][0]][bound[0][1]];
43056
+ 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]];
43057
+ // `getSelectedBound` keeps its `Infinity` sentinel when none of the
43058
+ // selected cells belong to this table's matrix — e.g. after a
43059
+ // drag-and-drop that moved/removed the cells, leaving a stale anchor and
43060
+ // a drop target outside the table. Bail out instead of dereferencing an
43061
+ // out-of-range matrix slot (which threw `Cannot read properties of
43062
+ // undefined`).
43063
+ if (!min || !max) {
43064
+ return;
43065
+ }
42991
43066
  this.j.e.fire('showPopup', table, ()=>{
42992
43067
  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);
42993
43068
  return {
@@ -47865,7 +47940,10 @@ function isAllowedSubdomain(domain) {
47865
47940
  /**
47866
47941
  * Validate license
47867
47942
  */ function validateLicense(code, domain) {
47868
- code = code.replace(/[^A-Z0-9-]/g, 'R');
47943
+ // Be forgiving about how the key arrives: uppercase it (lowercase letters
47944
+ // would otherwise be wiped), turn unicode dashes from email/Word back into
47945
+ // '-', drop stray whitespace, then blank out anything still illegal.
47946
+ code = String(code).toUpperCase().replace(/[‐-―−]/g, '-').replace(/\s+/g, '').replace(/[^A-Z0-9-]/g, 'R');
47869
47947
  if (validateEntLicense(code)) {
47870
47948
  return true;
47871
47949
  }
@@ -47883,14 +47961,15 @@ function isAllowedSubdomain(domain) {
47883
47961
  return part.replace('{part}', domainsParts[index] || '[R-T]');
47884
47962
  });
47885
47963
  const reg = RegExp(`^${parts.join('-')}$`, 'i');
47886
- const type = code.substring(12, 13);
47887
- const result = reg.test(code);
47888
- if (!result && type === (typeof !domain).toUpperCase()[5]) {
47889
- const parts = domain.split('.');
47890
- parts.shift();
47891
- return parts.length ? validateLicense(code, parts.join('.')) : false;
47964
+ if (reg.test(code)) {
47965
+ return true;
47892
47966
  }
47893
- return result;
47967
+ // A license issued for a parent domain also covers its subdomains: walk up
47968
+ // one label at a time and re-check, stopping at the registrable domain
47969
+ // (e.g. example.com) so we never try to match a bare TLD.
47970
+ const labels = domain.split('.');
47971
+ labels.shift();
47972
+ return labels.length > 1 ? validateLicense(code, labels.join('.')) : false;
47894
47973
  }
47895
47974
  function validateEntLicense(code) {
47896
47975
  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);
@@ -47958,7 +48037,7 @@ class license extends jodit_esm_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_5__.
47958
48037
  return '';
47959
48038
  }
47960
48039
  let valid = (0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_0__.validateLicense)(code, domain);
47961
- if (!valid && code[12] > 'A' && !jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_1__.IS_TEST) {
48040
+ if (!valid && !jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_1__.IS_TEST) {
47962
48041
  valid = await this.validateLicenseRemote(code, domain);
47963
48042
  }
47964
48043
  return valid ? 'normal' : '';
@@ -47972,27 +48051,34 @@ class license extends jodit_esm_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_5__.
47972
48051
  }
47973
48052
  const s = document.createElement('script');
47974
48053
  s.src = `https://xdsoft.net/jodit/pro/api/licenses/validate/?code=${encodeURIComponent(code)}&host=${encodeURIComponent(domain)}`;
47975
- document.body.appendChild(s);
47976
48054
  return this.j.async.promise((res)=>{
47977
- window['onJoditResolveKeyCode'] = (newCode)=>{
47978
- try {
47979
- if ((0,jodit_esm_core_helpers_checker_is_boolean__WEBPACK_IMPORTED_MODULE_3__.isBoolean)(newCode)) {
47980
- return res(newCode);
47981
- }
47982
- if ((0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_0__.validateLicense)(newCode, domain)) {
47983
- this.j.storage.set(storageKey, newCode);
47984
- res(true);
47985
- } else {
47986
- res(false);
47987
- }
47988
- } finally{
47989
- jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(s);
48055
+ let settled = false;
48056
+ const finish = (value)=>{
48057
+ if (settled) {
48058
+ return;
47990
48059
  }
47991
- };
47992
- this.j.async.setTimeout(()=>{
47993
- res(false);
48060
+ settled = true;
47994
48061
  jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(s);
47995
- }, 3000);
48062
+ res(value);
48063
+ };
48064
+ window['onJoditResolveKeyCode'] = (response)=>{
48065
+ // We reached our server and got an explicit verdict.
48066
+ if ((0,jodit_esm_core_helpers_checker_is_boolean__WEBPACK_IMPORTED_MODULE_3__.isBoolean)(response)) {
48067
+ return finish(response);
48068
+ }
48069
+ if ((0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_0__.validateLicense)(response, domain)) {
48070
+ this.j.storage.set(storageKey, response);
48071
+ finish(true);
48072
+ } else {
48073
+ finish(false);
48074
+ }
48075
+ };
48076
+ // Could not load our endpoint (offline, CSP, firewall, ad-blocker):
48077
+ // don't punish a paying customer — treat the key as valid.
48078
+ s.onerror = ()=>finish(true);
48079
+ document.body.appendChild(s);
48080
+ // No answer in time → assume our server is unreachable → valid.
48081
+ this.j.async.setTimeout(()=>finish(true), 5000);
47996
48082
  });
47997
48083
  }
47998
48084
  }