jodit-pro 4.2.35 → 4.2.41

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 (314) hide show
  1. package/es2015/889.fat.min.js +1 -1
  2. package/es2015/889.min.js +1 -1
  3. package/es2015/jodit.css +7 -1
  4. package/es2015/jodit.fat.min.css +1 -1
  5. package/es2015/jodit.fat.min.js +2 -2
  6. package/es2015/jodit.js +190 -88
  7. package/es2015/jodit.min.css +1 -1
  8. package/es2015/jodit.min.js +2 -2
  9. package/es2015/plugins/autocomplete/autocomplete.js +1 -1
  10. package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
  11. package/es2015/plugins/backup/backup.css +1 -1
  12. package/es2015/plugins/backup/backup.js +1 -1
  13. package/es2015/plugins/backup/backup.min.js +1 -1
  14. package/es2015/plugins/button-generator/button-generator.css +1 -1
  15. package/es2015/plugins/button-generator/button-generator.js +1 -1
  16. package/es2015/plugins/button-generator/button-generator.min.js +1 -1
  17. package/es2015/plugins/change-case/change-case.js +1 -1
  18. package/es2015/plugins/change-case/change-case.min.js +1 -1
  19. package/es2015/plugins/color-picker/color-picker.css +1 -1
  20. package/es2015/plugins/color-picker/color-picker.js +1 -1
  21. package/es2015/plugins/color-picker/color-picker.min.js +1 -1
  22. package/es2015/plugins/emoji/emoji.css +1 -1
  23. package/es2015/plugins/emoji/emoji.js +1 -1
  24. package/es2015/plugins/emoji/emoji.min.js +1 -1
  25. package/es2015/plugins/export-docs/export-docs.js +1 -1
  26. package/es2015/plugins/export-docs/export-docs.min.js +1 -1
  27. package/es2015/plugins/finder/finder.css +1 -1
  28. package/es2015/plugins/finder/finder.js +1 -1
  29. package/es2015/plugins/finder/finder.min.js +1 -1
  30. package/es2015/plugins/google-maps/google-maps.css +1 -1
  31. package/es2015/plugins/google-maps/google-maps.js +1 -1
  32. package/es2015/plugins/google-maps/google-maps.min.js +1 -1
  33. package/es2015/plugins/google-search/google-search.js +1 -1
  34. package/es2015/plugins/google-search/google-search.min.js +1 -1
  35. package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
  36. package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
  37. package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
  38. package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
  39. package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
  40. package/es2015/plugins/keyboard/keyboard.css +1 -1
  41. package/es2015/plugins/keyboard/keyboard.js +1 -1
  42. package/es2015/plugins/keyboard/keyboard.min.js +1 -1
  43. package/es2015/plugins/mobile-view/mobile-view.js +1 -1
  44. package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
  45. package/es2015/plugins/page-break/page-break.js +1 -1
  46. package/es2015/plugins/page-break/page-break.min.js +1 -1
  47. package/es2015/plugins/paste-code/paste-code.css +1 -1
  48. package/es2015/plugins/paste-code/paste-code.js +1 -1
  49. package/es2015/plugins/paste-code/paste-code.min.js +1 -1
  50. package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
  51. package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
  52. package/es2015/plugins/show-blocks/show-blocks.js +1 -1
  53. package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
  54. package/es2015/plugins/todo-list/todo-list.css +1 -1
  55. package/es2015/plugins/todo-list/todo-list.js +1 -1
  56. package/es2015/plugins/todo-list/todo-list.min.js +1 -1
  57. package/es2015/plugins/translate/translate.css +1 -1
  58. package/es2015/plugins/translate/translate.js +1 -1
  59. package/es2015/plugins/translate/translate.min.js +1 -1
  60. package/es2015/plugins/tune-block/tune-block.css +1 -1
  61. package/es2015/plugins/tune-block/tune-block.js +1 -1
  62. package/es2015/plugins/tune-block/tune-block.min.js +1 -1
  63. package/es2018/889.fat.min.js +1 -1
  64. package/es2018/889.min.js +1 -1
  65. package/es2018/jodit.css +7 -1
  66. package/es2018/jodit.fat.min.css +1 -1
  67. package/es2018/jodit.fat.min.js +2 -2
  68. package/es2018/jodit.js +190 -88
  69. package/es2018/jodit.min.css +1 -1
  70. package/es2018/jodit.min.js +2 -2
  71. package/es2018/plugins/autocomplete/autocomplete.js +1 -1
  72. package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
  73. package/es2018/plugins/backup/backup.css +1 -1
  74. package/es2018/plugins/backup/backup.js +1 -1
  75. package/es2018/plugins/backup/backup.min.js +1 -1
  76. package/es2018/plugins/button-generator/button-generator.css +1 -1
  77. package/es2018/plugins/button-generator/button-generator.js +1 -1
  78. package/es2018/plugins/button-generator/button-generator.min.js +1 -1
  79. package/es2018/plugins/change-case/change-case.js +1 -1
  80. package/es2018/plugins/change-case/change-case.min.js +1 -1
  81. package/es2018/plugins/color-picker/color-picker.css +1 -1
  82. package/es2018/plugins/color-picker/color-picker.js +1 -1
  83. package/es2018/plugins/color-picker/color-picker.min.js +1 -1
  84. package/es2018/plugins/emoji/emoji.css +1 -1
  85. package/es2018/plugins/emoji/emoji.js +1 -1
  86. package/es2018/plugins/emoji/emoji.min.js +1 -1
  87. package/es2018/plugins/export-docs/export-docs.js +1 -1
  88. package/es2018/plugins/export-docs/export-docs.min.js +1 -1
  89. package/es2018/plugins/finder/finder.css +1 -1
  90. package/es2018/plugins/finder/finder.js +1 -1
  91. package/es2018/plugins/finder/finder.min.js +1 -1
  92. package/es2018/plugins/google-maps/google-maps.css +1 -1
  93. package/es2018/plugins/google-maps/google-maps.js +1 -1
  94. package/es2018/plugins/google-maps/google-maps.min.js +1 -1
  95. package/es2018/plugins/google-search/google-search.js +1 -1
  96. package/es2018/plugins/google-search/google-search.min.js +1 -1
  97. package/es2018/plugins/highlight-signature/highlight-signature.js +1 -1
  98. package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
  99. package/es2018/plugins/iframe-editor/iframe-editor.css +1 -1
  100. package/es2018/plugins/iframe-editor/iframe-editor.js +1 -1
  101. package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
  102. package/es2018/plugins/keyboard/keyboard.css +1 -1
  103. package/es2018/plugins/keyboard/keyboard.js +1 -1
  104. package/es2018/plugins/keyboard/keyboard.min.js +1 -1
  105. package/es2018/plugins/mobile-view/mobile-view.js +1 -1
  106. package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
  107. package/es2018/plugins/page-break/page-break.js +1 -1
  108. package/es2018/plugins/page-break/page-break.min.js +1 -1
  109. package/es2018/plugins/paste-code/paste-code.css +1 -1
  110. package/es2018/plugins/paste-code/paste-code.js +1 -1
  111. package/es2018/plugins/paste-code/paste-code.min.js +1 -1
  112. package/es2018/plugins/paste-from-word/paste-from-word.js +1 -1
  113. package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
  114. package/es2018/plugins/show-blocks/show-blocks.js +1 -1
  115. package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
  116. package/es2018/plugins/todo-list/todo-list.css +1 -1
  117. package/es2018/plugins/todo-list/todo-list.js +1 -1
  118. package/es2018/plugins/todo-list/todo-list.min.js +1 -1
  119. package/es2018/plugins/translate/translate.css +1 -1
  120. package/es2018/plugins/translate/translate.js +1 -1
  121. package/es2018/plugins/translate/translate.min.js +1 -1
  122. package/es2018/plugins/tune-block/tune-block.css +1 -1
  123. package/es2018/plugins/tune-block/tune-block.js +1 -1
  124. package/es2018/plugins/tune-block/tune-block.min.js +1 -1
  125. package/es2021/889.fat.min.js +1 -1
  126. package/es2021/889.min.js +1 -1
  127. package/es2021/jodit.css +7 -1
  128. package/es2021/jodit.fat.min.css +1 -1
  129. package/es2021/jodit.fat.min.js +2 -2
  130. package/es2021/jodit.js +190 -87
  131. package/es2021/jodit.min.css +1 -1
  132. package/es2021/jodit.min.js +2 -2
  133. package/es2021/plugins/autocomplete/autocomplete.js +1 -1
  134. package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
  135. package/es2021/plugins/backup/backup.css +1 -1
  136. package/es2021/plugins/backup/backup.js +1 -1
  137. package/es2021/plugins/backup/backup.min.js +1 -1
  138. package/es2021/plugins/button-generator/button-generator.css +1 -1
  139. package/es2021/plugins/button-generator/button-generator.js +1 -1
  140. package/es2021/plugins/button-generator/button-generator.min.js +1 -1
  141. package/es2021/plugins/change-case/change-case.js +1 -1
  142. package/es2021/plugins/change-case/change-case.min.js +1 -1
  143. package/es2021/plugins/color-picker/color-picker.css +1 -1
  144. package/es2021/plugins/color-picker/color-picker.js +1 -1
  145. package/es2021/plugins/color-picker/color-picker.min.js +1 -1
  146. package/es2021/plugins/emoji/emoji.css +1 -1
  147. package/es2021/plugins/emoji/emoji.js +1 -1
  148. package/es2021/plugins/emoji/emoji.min.js +1 -1
  149. package/es2021/plugins/export-docs/export-docs.js +1 -1
  150. package/es2021/plugins/export-docs/export-docs.min.js +1 -1
  151. package/es2021/plugins/finder/finder.css +1 -1
  152. package/es2021/plugins/finder/finder.js +1 -1
  153. package/es2021/plugins/finder/finder.min.js +1 -1
  154. package/es2021/plugins/google-maps/google-maps.css +1 -1
  155. package/es2021/plugins/google-maps/google-maps.js +1 -1
  156. package/es2021/plugins/google-maps/google-maps.min.js +1 -1
  157. package/es2021/plugins/google-search/google-search.js +1 -1
  158. package/es2021/plugins/google-search/google-search.min.js +1 -1
  159. package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
  160. package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
  161. package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
  162. package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
  163. package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
  164. package/es2021/plugins/keyboard/keyboard.css +1 -1
  165. package/es2021/plugins/keyboard/keyboard.js +1 -1
  166. package/es2021/plugins/keyboard/keyboard.min.js +1 -1
  167. package/es2021/plugins/mobile-view/mobile-view.js +1 -1
  168. package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
  169. package/es2021/plugins/page-break/page-break.js +1 -1
  170. package/es2021/plugins/page-break/page-break.min.js +1 -1
  171. package/es2021/plugins/paste-code/paste-code.css +1 -1
  172. package/es2021/plugins/paste-code/paste-code.js +1 -1
  173. package/es2021/plugins/paste-code/paste-code.min.js +1 -1
  174. package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
  175. package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
  176. package/es2021/plugins/show-blocks/show-blocks.js +1 -1
  177. package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
  178. package/es2021/plugins/todo-list/todo-list.css +1 -1
  179. package/es2021/plugins/todo-list/todo-list.js +1 -1
  180. package/es2021/plugins/todo-list/todo-list.min.js +1 -1
  181. package/es2021/plugins/translate/translate.css +1 -1
  182. package/es2021/plugins/translate/translate.js +1 -1
  183. package/es2021/plugins/translate/translate.min.js +1 -1
  184. package/es2021/plugins/tune-block/tune-block.css +1 -1
  185. package/es2021/plugins/tune-block/tune-block.js +1 -1
  186. package/es2021/plugins/tune-block/tune-block.min.js +1 -1
  187. package/es2021.en/889.fat.min.js +1 -1
  188. package/es2021.en/889.min.js +1 -1
  189. package/es2021.en/jodit.css +7 -1
  190. package/es2021.en/jodit.fat.min.css +1 -1
  191. package/es2021.en/jodit.fat.min.js +2 -2
  192. package/es2021.en/jodit.js +190 -87
  193. package/es2021.en/jodit.min.css +1 -1
  194. package/es2021.en/jodit.min.js +2 -2
  195. package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
  196. package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
  197. package/es2021.en/plugins/backup/backup.css +1 -1
  198. package/es2021.en/plugins/backup/backup.js +1 -1
  199. package/es2021.en/plugins/backup/backup.min.js +1 -1
  200. package/es2021.en/plugins/button-generator/button-generator.css +1 -1
  201. package/es2021.en/plugins/button-generator/button-generator.js +1 -1
  202. package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
  203. package/es2021.en/plugins/change-case/change-case.js +1 -1
  204. package/es2021.en/plugins/change-case/change-case.min.js +1 -1
  205. package/es2021.en/plugins/color-picker/color-picker.css +1 -1
  206. package/es2021.en/plugins/color-picker/color-picker.js +1 -1
  207. package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
  208. package/es2021.en/plugins/emoji/emoji.css +1 -1
  209. package/es2021.en/plugins/emoji/emoji.js +1 -1
  210. package/es2021.en/plugins/emoji/emoji.min.js +1 -1
  211. package/es2021.en/plugins/export-docs/export-docs.js +1 -1
  212. package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
  213. package/es2021.en/plugins/finder/finder.css +1 -1
  214. package/es2021.en/plugins/finder/finder.js +1 -1
  215. package/es2021.en/plugins/finder/finder.min.js +1 -1
  216. package/es2021.en/plugins/google-maps/google-maps.css +1 -1
  217. package/es2021.en/plugins/google-maps/google-maps.js +1 -1
  218. package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
  219. package/es2021.en/plugins/google-search/google-search.js +1 -1
  220. package/es2021.en/plugins/google-search/google-search.min.js +1 -1
  221. package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
  222. package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
  223. package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
  224. package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
  225. package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
  226. package/es2021.en/plugins/keyboard/keyboard.css +1 -1
  227. package/es2021.en/plugins/keyboard/keyboard.js +1 -1
  228. package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
  229. package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
  230. package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
  231. package/es2021.en/plugins/page-break/page-break.js +1 -1
  232. package/es2021.en/plugins/page-break/page-break.min.js +1 -1
  233. package/es2021.en/plugins/paste-code/paste-code.css +1 -1
  234. package/es2021.en/plugins/paste-code/paste-code.js +1 -1
  235. package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
  236. package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
  237. package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
  238. package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
  239. package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
  240. package/es2021.en/plugins/todo-list/todo-list.css +1 -1
  241. package/es2021.en/plugins/todo-list/todo-list.js +1 -1
  242. package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
  243. package/es2021.en/plugins/translate/translate.css +1 -1
  244. package/es2021.en/plugins/translate/translate.js +1 -1
  245. package/es2021.en/plugins/translate/translate.min.js +1 -1
  246. package/es2021.en/plugins/tune-block/tune-block.css +1 -1
  247. package/es2021.en/plugins/tune-block/tune-block.js +1 -1
  248. package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
  249. package/es5/292.fat.min.js +2 -2
  250. package/es5/292.js +6 -6
  251. package/es5/292.min.js +2 -2
  252. package/es5/889.fat.min.js +1 -1
  253. package/es5/889.min.js +1 -1
  254. package/es5/jodit.css +11 -2
  255. package/es5/jodit.fat.min.css +1 -1
  256. package/es5/jodit.fat.min.js +2 -2
  257. package/es5/jodit.js +197 -103
  258. package/es5/jodit.min.css +3 -3
  259. package/es5/jodit.min.js +2 -2
  260. package/es5/plugins/autocomplete/autocomplete.js +1 -1
  261. package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
  262. package/es5/plugins/backup/backup.css +1 -1
  263. package/es5/plugins/backup/backup.js +1 -1
  264. package/es5/plugins/backup/backup.min.js +1 -1
  265. package/es5/plugins/button-generator/button-generator.css +1 -1
  266. package/es5/plugins/button-generator/button-generator.js +1 -1
  267. package/es5/plugins/button-generator/button-generator.min.js +1 -1
  268. package/es5/plugins/change-case/change-case.js +1 -1
  269. package/es5/plugins/change-case/change-case.min.js +1 -1
  270. package/es5/plugins/color-picker/color-picker.css +1 -1
  271. package/es5/plugins/color-picker/color-picker.js +1 -1
  272. package/es5/plugins/color-picker/color-picker.min.js +1 -1
  273. package/es5/plugins/emoji/emoji.css +1 -1
  274. package/es5/plugins/emoji/emoji.js +1 -1
  275. package/es5/plugins/emoji/emoji.min.js +1 -1
  276. package/es5/plugins/export-docs/export-docs.js +1 -1
  277. package/es5/plugins/export-docs/export-docs.min.js +1 -1
  278. package/es5/plugins/finder/finder.css +1 -1
  279. package/es5/plugins/finder/finder.js +1 -1
  280. package/es5/plugins/finder/finder.min.js +1 -1
  281. package/es5/plugins/google-maps/google-maps.css +1 -1
  282. package/es5/plugins/google-maps/google-maps.js +1 -1
  283. package/es5/plugins/google-maps/google-maps.min.js +1 -1
  284. package/es5/plugins/google-search/google-search.js +1 -1
  285. package/es5/plugins/google-search/google-search.min.js +1 -1
  286. package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
  287. package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
  288. package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
  289. package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
  290. package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
  291. package/es5/plugins/keyboard/keyboard.css +1 -1
  292. package/es5/plugins/keyboard/keyboard.js +1 -1
  293. package/es5/plugins/keyboard/keyboard.min.js +1 -1
  294. package/es5/plugins/mobile-view/mobile-view.js +1 -1
  295. package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
  296. package/es5/plugins/page-break/page-break.js +1 -1
  297. package/es5/plugins/page-break/page-break.min.js +1 -1
  298. package/es5/plugins/paste-code/paste-code.css +1 -1
  299. package/es5/plugins/paste-code/paste-code.js +1 -1
  300. package/es5/plugins/paste-code/paste-code.min.js +1 -1
  301. package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
  302. package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
  303. package/es5/plugins/show-blocks/show-blocks.js +1 -1
  304. package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
  305. package/es5/plugins/todo-list/todo-list.css +1 -1
  306. package/es5/plugins/todo-list/todo-list.js +1 -1
  307. package/es5/plugins/todo-list/todo-list.min.js +1 -1
  308. package/es5/plugins/translate/translate.css +1 -1
  309. package/es5/plugins/translate/translate.js +1 -1
  310. package/es5/plugins/translate/translate.min.js +1 -1
  311. package/es5/plugins/tune-block/tune-block.css +1 -1
  312. package/es5/plugins/tune-block/tune-block.js +1 -1
  313. package/es5/plugins/tune-block/tune-block.min.js +1 -1
  314. package/package.json +1 -1
package/es5/jodit.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * jodit-pro - PRO Version of Jodit Editor
3
3
  * Author: Chupurnov Valeriy <chupurnov@gmail.com>
4
- * Version: v4.2.35
4
+ * Version: v4.2.41
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -2558,7 +2558,7 @@ __webpack_require__.r(__webpack_exports__);
2558
2558
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
2559
2559
  */
2560
2560
 
2561
- var APP_VERSION = "4.2.35";
2561
+ var APP_VERSION = "4.2.41";
2562
2562
  // prettier-ignore
2563
2563
  var ES = "es5";
2564
2564
  var IS_ES_MODERN = false;
@@ -8689,10 +8689,10 @@ var buildQuery = function (data, prefix) {
8689
8689
  * Released under MIT see LICENSE.txt in the project root for license information.
8690
8690
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
8691
8691
  */
8692
-
8693
8692
  /**
8694
8693
  * @module helpers/utils
8695
8694
  */
8695
+
8696
8696
  var completeUrl = function (url) {
8697
8697
  if (jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow.location.protocol === 'file:' && /^\/\//.test(url)) {
8698
8698
  url = 'https:' + url;
@@ -8833,17 +8833,13 @@ function ConfigFlatten(obj) {
8833
8833
  /**
8834
8834
  * Javascript url pattern converter replace youtube/vimeo url in embed code.
8835
8835
  */
8836
- var convertMediaUrlToVideoEmbed = function (url, width, height) {
8837
- if (width === void 0) {
8838
- width = 400;
8839
- }
8840
- if (height === void 0) {
8841
- height = 345;
8842
- }
8836
+ var convertMediaUrlToVideoEmbed = function (url, _a) {
8837
+ var _b = _a === void 0 ? {} : _a, _c = _b.width, width = _c === void 0 ? 400 : _c, _d = _b.height, height = _d === void 0 ? 345 : _d;
8843
8838
  if (!(0,jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_1__/* .isURL */ .m)(url)) {
8844
8839
  return url;
8845
8840
  }
8846
- var parser = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('a'), pattern1 = /(?:http?s?:\/\/)?(?:www\.)?(?:vimeo\.com)\/?(.+)/g;
8841
+ var parser = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('a');
8842
+ var pattern1 = /(?:http?s?:\/\/)?(?:www\.)?(?:vimeo\.com)\/?(.+)/g;
8847
8843
  parser.href = url;
8848
8844
  if (!width) {
8849
8845
  width = 400;
@@ -8870,7 +8866,10 @@ var convertMediaUrlToVideoEmbed = function (url, width, height) {
8870
8866
  case 'www.youtu.be': {
8871
8867
  var query = parser.search
8872
8868
  ? (0,_parse_query__WEBPACK_IMPORTED_MODULE_2__/* .parseQuery */ .m)(parser.search)
8873
- : { v: parser.pathname.substr(1) };
8869
+ : { v: parser.pathname.substring(1) };
8870
+ if (/^embed\/.*/.test(query.v)) {
8871
+ query.v = query.v.substring(6);
8872
+ }
8874
8873
  return query.v
8875
8874
  ? '<iframe width="' +
8876
8875
  width +
@@ -12725,6 +12724,7 @@ function extractSelectedPart(wrapper, font, jodit) {
12725
12724
  }
12726
12725
  /**
12727
12726
  * Retrieves content before after the selected area, clears it if it is empty, and inserts before after the framed selection
12727
+ * @private
12728
12728
  */
12729
12729
  function extractAndMove(wrapper, range, left) {
12730
12730
  var fragment = range.extractContents();
@@ -14948,6 +14948,7 @@ var JODIT_EVENTS_ON_HIDE = [
14948
14948
  'changePlace.tooltip',
14949
14949
  'afterOpenPopup.tooltip',
14950
14950
  'hidePopup.tooltip',
14951
+ 'beforePopupClose.tooltip',
14951
14952
  'closeAllPopups.tooltip'
14952
14953
  ];
14953
14954
  var UITooltip = /** @class */ (function (_super) {
@@ -14955,6 +14956,7 @@ var UITooltip = /** @class */ (function (_super) {
14955
14956
  function UITooltip(view) {
14956
14957
  var _this = _super.call(this, view) || this;
14957
14958
  _this.__isOpened = false;
14959
+ _this.__attachedContainers = new Set();
14958
14960
  _this.__listenClose = false;
14959
14961
  _this.__currentTarget = null;
14960
14962
  _this.__delayShowTimeout = 0;
@@ -14981,7 +14983,16 @@ var UITooltip = /** @class */ (function (_super) {
14981
14983
  UITooltip.prototype.__onAttach = function (container) {
14982
14984
  // TODO Move it inside __show method. Now it is here because testcase failed with capturing
14983
14985
  (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .getContainer */ .My)(this.j, UITooltip_1).appendChild(this.container);
14984
- this.j.e.on(container, 'mouseenter.tooltip', this.__onMouseEnter, {
14986
+ this.__attachedContainers.add(container);
14987
+ this.__attachedContainers.add(this.j.container);
14988
+ this.j.e
14989
+ .on(container, 'mouseenter.tooltip', this.__onMouseEnter, {
14990
+ capture: true
14991
+ })
14992
+ .on(container, 'mouseleave.tooltip', this.__onMouseLeave, {
14993
+ capture: true
14994
+ })
14995
+ .on(this.j.container, 'mouseleave.tooltip', this.__onMouseLeave, {
14985
14996
  capture: true
14986
14997
  });
14987
14998
  };
@@ -14993,10 +15004,7 @@ var UITooltip = /** @class */ (function (_super) {
14993
15004
  var view = this.j;
14994
15005
  view.e
14995
15006
  .on(view.ow, WINDOW_EVENTS_ON_HIDE, this.__hide)
14996
- .on(JODIT_EVENTS_ON_HIDE, this.__hide)
14997
- .on(view.container, 'mouseleave.tooltip', this.__onMouseLeave, {
14998
- capture: true
14999
- });
15007
+ .on(JODIT_EVENTS_ON_HIDE, this.__hide);
15000
15008
  };
15001
15009
  UITooltip.prototype.__removeListenersOnLeave = function () {
15002
15010
  if (!this.__listenClose) {
@@ -15006,8 +15014,7 @@ var UITooltip = /** @class */ (function (_super) {
15006
15014
  var view = this.j;
15007
15015
  view.e
15008
15016
  .off(view.ow, WINDOW_EVENTS_ON_HIDE, this.__hide)
15009
- .off(JODIT_EVENTS_ON_HIDE, this.__hide)
15010
- .off(view.container, 'mouseleave.tooltip', this.__onMouseLeave);
15017
+ .off(JODIT_EVENTS_ON_HIDE, this.__hide);
15011
15018
  };
15012
15019
  UITooltip.prototype.__onMouseLeave = function (e) {
15013
15020
  if (this.__currentTarget === e.target) {
@@ -15085,7 +15092,12 @@ var UITooltip = /** @class */ (function (_super) {
15085
15092
  this.__hideTimeout = this.async.setTimeout(this.__hide, this.j.defaultTimeout);
15086
15093
  };
15087
15094
  UITooltip.prototype.destruct = function () {
15088
- this.j.e.off(this.j.container, 'mouseenter.tooltip', this.__onMouseEnter);
15095
+ var _this = this;
15096
+ this.__attachedContainers.forEach(function (container) {
15097
+ _this.j.e
15098
+ .off(container, 'mouseenter.tooltip', _this.__onMouseEnter)
15099
+ .off(container, 'mouseleave.tooltip', _this.__onMouseLeave);
15100
+ });
15089
15101
  this.__hide();
15090
15102
  _super.prototype.destruct.call(this);
15091
15103
  };
@@ -17447,17 +17459,18 @@ var ProgressBar = /** @class */ (function (_super) {
17447
17459
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
17448
17460
  /* harmony export */ T: function() { return /* binding */ ViewWithToolbar; }
17449
17461
  /* harmony export */ });
17450
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(31635);
17462
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(31635);
17451
17463
  /* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(33894);
17452
- /* harmony import */ var jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(33442);
17464
+ /* harmony import */ var jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(33442);
17453
17465
  /* harmony import */ var jodit_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24014);
17454
17466
  /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(23545);
17455
17467
  /* harmony import */ var jodit_core_helpers_array__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(23462);
17456
- /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(26986);
17468
+ /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(26986);
17457
17469
  /* harmony import */ var jodit_core_helpers_utils_selector__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(52989);
17458
- /* harmony import */ var jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(73246);
17459
- /* harmony import */ var jodit_core_view_view__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(50313);
17460
- /* harmony import */ var jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(78072);
17470
+ /* harmony import */ var jodit_core_ui__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(76185);
17471
+ /* harmony import */ var jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(73246);
17472
+ /* harmony import */ var jodit_core_view_view__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(50313);
17473
+ /* harmony import */ var jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(78072);
17461
17474
  /*!
17462
17475
  * Jodit Editor (https://xdsoft.net/jodit/)
17463
17476
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -17475,19 +17488,21 @@ var ProgressBar = /** @class */ (function (_super) {
17475
17488
 
17476
17489
 
17477
17490
 
17491
+
17478
17492
  var ViewWithToolbar = /** @class */ (function (_super) {
17479
- (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__extends */ .C6)(ViewWithToolbar, _super);
17493
+ (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__extends */ .C6)(ViewWithToolbar, _super);
17480
17494
  /** @override **/
17481
17495
  function ViewWithToolbar(options, isJodit) {
17482
17496
  if (isJodit === void 0) {
17483
17497
  isJodit = false;
17484
17498
  }
17485
17499
  var _this = _super.call(this, options, isJodit) || this;
17486
- _this.toolbar = (0,jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_6__/* .makeCollection */ .$K)(_this);
17500
+ _this.toolbar = (0,jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_7__/* .makeCollection */ .$K)(_this);
17487
17501
  _this.__defaultToolbarContainer = _this.c.div('jodit-toolbar__box');
17488
17502
  _this.registeredButtons = new Set();
17489
17503
  _this.groupToButtons = {};
17490
17504
  _this.isJodit = false;
17505
+ _this.__tooltip = new jodit_core_ui__WEBPACK_IMPORTED_MODULE_5__/* .UITooltip */ .SB(_this);
17491
17506
  _this.isJodit = isJodit;
17492
17507
  _this.e.on('beforeToolbarBuild', _this.beforeToolbarBuild);
17493
17508
  return _this;
@@ -17498,7 +17513,7 @@ var ViewWithToolbar = /** @class */ (function (_super) {
17498
17513
  */
17499
17514
  get: function () {
17500
17515
  if (!this.o.fullsize &&
17501
- ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_8__/* .isString */ .K)(this.o.toolbar) || jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__/* .Dom */ .J.isHTMLElement(this.o.toolbar))) {
17516
+ ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_9__/* .isString */ .K)(this.o.toolbar) || jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__/* .Dom */ .J.isHTMLElement(this.o.toolbar))) {
17502
17517
  return (0,jodit_core_helpers_utils_selector__WEBPACK_IMPORTED_MODULE_4__/* .resolveElement */ .tI)(this.o.toolbar, this.o.shadowRoot || this.od);
17503
17518
  }
17504
17519
  this.o.toolbar &&
@@ -17574,12 +17589,12 @@ var ViewWithToolbar = /** @class */ (function (_super) {
17574
17589
  var _this = this;
17575
17590
  if (Object.keys(this.groupToButtons).length) {
17576
17591
  return items.map(function (item) {
17577
- if ((0,jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_9__/* .isButtonGroup */ .i)(item) &&
17592
+ if ((0,jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_10__/* .isButtonGroup */ .i)(item) &&
17578
17593
  item.group &&
17579
17594
  _this.groupToButtons[item.group]) {
17580
17595
  return {
17581
17596
  group: item.group,
17582
- buttons: (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__spreadArray */ .fX)((0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__spreadArray */ .fX)([], (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__read */ .zs)(item.buttons), false), (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__read */ .zs)(_this.groupToButtons[item.group]), false)
17597
+ buttons: (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__spreadArray */ .fX)((0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__spreadArray */ .fX)([], (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__read */ .zs)(item.buttons), false), (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__read */ .zs)(_this.groupToButtons[item.group]), false)
17583
17598
  };
17584
17599
  }
17585
17600
  return item;
@@ -17592,19 +17607,20 @@ var ViewWithToolbar = /** @class */ (function (_super) {
17592
17607
  }
17593
17608
  this.setStatus(jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_0__/* .STATUSES */ .f.beforeDestruct);
17594
17609
  this.e.off('beforeToolbarBuild', this.beforeToolbarBuild);
17610
+ this.__tooltip.destruct();
17595
17611
  this.toolbar.destruct();
17596
17612
  // @ts-ignore After destruct, we are not responsible for anything
17597
17613
  this.toolbar = undefined;
17598
17614
  _super.prototype.destruct.call(this);
17599
17615
  };
17600
- (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .Cg)([
17616
+ (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .Cg)([
17601
17617
  (0,jodit_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_1__/* .watch */ .w)(':rebuildToolbar')
17602
17618
  ], ViewWithToolbar.prototype, "buildToolbar", null);
17603
- (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .Cg)([
17604
- jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Ay
17619
+ (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .Cg)([
17620
+ jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Ay
17605
17621
  ], ViewWithToolbar.prototype, "beforeToolbarBuild", null);
17606
17622
  return ViewWithToolbar;
17607
- }(jodit_core_view_view__WEBPACK_IMPORTED_MODULE_5__/* .View */ .S));
17623
+ }(jodit_core_view_view__WEBPACK_IMPORTED_MODULE_6__/* .View */ .S));
17608
17624
 
17609
17625
 
17610
17626
 
@@ -18288,7 +18304,17 @@ var Jodit = /** @class */ (function (_super) {
18288
18304
  configurable: true
18289
18305
  });
18290
18306
  /**
18291
- * Method wrap usual Has Object in Object helper for prevent deep object merging in options*
18307
+ * Method wrap usual object in Object helper for prevent deep object merging in options*
18308
+ * ```js
18309
+ * const editor = Jodit.make('#editor', {
18310
+ * controls: {
18311
+ * fontsize: {
18312
+ * list: Jodit.atom([8, 9, 10])
18313
+ * }
18314
+ * }
18315
+ * });
18316
+ * ```
18317
+ * In this case, the array [8, 9, 10] will not be combined with other arrays, but will replace them
18292
18318
  */
18293
18319
  Jodit.atom = function (object) {
18294
18320
  return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.markAsAtomic)(object);
@@ -23064,6 +23090,7 @@ var Snapshot = /** @class */ (function (_super) {
23064
23090
  function Snapshot() {
23065
23091
  var _this = _super.apply(this, (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__spreadArray */ .fX)([], (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__read */ .zs)(arguments), false)) || this;
23066
23092
  _this.__isBlocked = false;
23093
+ _this.__levelOfTransaction = 0;
23067
23094
  return _this;
23068
23095
  }
23069
23096
  /** @override */
@@ -23149,6 +23176,7 @@ var Snapshot = /** @class */ (function (_super) {
23149
23176
  };
23150
23177
  Snapshot.prototype.transaction = function (changes) {
23151
23178
  this.__block(true);
23179
+ this.__levelOfTransaction += 1;
23152
23180
  try {
23153
23181
  changes();
23154
23182
  }
@@ -23157,7 +23185,12 @@ var Snapshot = /** @class */ (function (_super) {
23157
23185
  throw e;
23158
23186
  }
23159
23187
  }
23160
- this.__block(false);
23188
+ finally {
23189
+ this.__levelOfTransaction -= 1;
23190
+ if (this.__levelOfTransaction === 0) {
23191
+ this.__block(false);
23192
+ }
23193
+ }
23161
23194
  };
23162
23195
  /**
23163
23196
  * Creates object a snapshot of editor: html and the current selection. Current selection calculate by
@@ -25425,17 +25458,26 @@ var ToolbarButton = /** @class */ (function (_super) {
25425
25458
  if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isFunction)(ctr.popup)) {
25426
25459
  var popup = this.openPopup();
25427
25460
  popup.parentElement = this;
25428
- if (this.j.e.fire((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.camelCase)("before-".concat(ctr.name, "-open-popup")), this.target, ctr, popup) !== false) {
25429
- var target = (_c = (_b = (_a = this.toolbar) === null || _a === void 0 ? void 0 : _a.getTarget(this)) !== null && _b !== void 0 ? _b : this.target) !== null && _c !== void 0 ? _c : null;
25430
- var elm = ctr.popup(this.j, target, this.__closePopup, this);
25431
- if (elm) {
25432
- popup
25433
- .setContent((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isString)(elm) ? this.j.c.fromHTML(elm) : elm)
25434
- .open(function () { return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.position)(_this.container); }, false, this.j.o.allowTabNavigation
25435
- ? this.container
25436
- : undefined);
25461
+ try {
25462
+ if (this.j.e.fire((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.camelCase)("before-".concat(ctr.name, "-open-popup")), this.target, ctr, popup) !== false) {
25463
+ var target = (_c = (_b = (_a = this.toolbar) === null || _a === void 0 ? void 0 : _a.getTarget(this)) !== null && _b !== void 0 ? _b : this.target) !== null && _c !== void 0 ? _c : null;
25464
+ var elm = ctr.popup(this.j, target, this.__closePopup, this);
25465
+ if (elm) {
25466
+ popup
25467
+ .setContent((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isString)(elm) ? this.j.c.fromHTML(elm) : elm)
25468
+ .open(function () { return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.position)(_this.container); }, false, this.j.o.allowTabNavigation
25469
+ ? this.container
25470
+ : undefined);
25471
+ }
25472
+ else {
25473
+ this.__closePopup();
25474
+ }
25437
25475
  }
25438
25476
  }
25477
+ catch (e) {
25478
+ this.__closePopup();
25479
+ throw e;
25480
+ }
25439
25481
  /**
25440
25482
  * Fired after the popup was opened for some control button
25441
25483
  */
@@ -25781,7 +25823,6 @@ var ToolbarCollection = /** @class */ (function (_super) {
25781
25823
  var _this = _super.call(this, jodit) || this;
25782
25824
  _this.__listenEvents = 'updatePlugins updateToolbar changeStack mousedown mouseup keydown change afterInit readonly afterResize ' +
25783
25825
  'selectionchange changeSelection focus afterSetMode touchstart focus blur';
25784
- _this.__tooltip = new jodit_core_ui__WEBPACK_IMPORTED_MODULE_2__/* .UITooltip */ .SB(_this.jodit);
25785
25826
  return _this;
25786
25827
  }
25787
25828
  /** @override */
@@ -25874,12 +25915,9 @@ var ToolbarCollection = /** @class */ (function (_super) {
25874
25915
  };
25875
25916
  /** @override **/
25876
25917
  ToolbarCollection.prototype.destruct = function () {
25877
- var _a;
25878
25918
  if (this.isDestructed) {
25879
25919
  return;
25880
25920
  }
25881
- (_a = this.__tooltip) === null || _a === void 0 ? void 0 : _a.destruct();
25882
- this.__tooltip = null;
25883
25921
  this.j.e
25884
25922
  .off(this.__listenEvents, this.update)
25885
25923
  .off('afterSetMode focus', this.__immediateUpdate);
@@ -27927,6 +27965,9 @@ __webpack_require__.r(__webpack_exports__);
27927
27965
  * Released under MIT see LICENSE.txt in the project root for license information.
27928
27966
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
27929
27967
  */
27968
+ /**
27969
+ * @module plugins/ai-assistant
27970
+ */
27930
27971
 
27931
27972
 
27932
27973
 
@@ -32033,9 +32074,11 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .pluginSystem */ .fg.add('enter
32033
32074
  */
32034
32075
  function checkBR(fake, jodit, shiftKeyPressed) {
32035
32076
  var isMultiLineBlock = Boolean(jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.closest(fake, ['pre', 'blockquote'], jodit.editor));
32077
+ var isCell = !isMultiLineBlock && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.closest(fake, ['td', 'th'], jodit.editor);
32036
32078
  var isBRMode = jodit.o.enter.toLowerCase() === jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.BR.toLowerCase();
32037
32079
  // if you use <br> defaultTag for break line or when was entered SHIFt key or in <td> or <th> or <blockquote>
32038
32080
  if (isBRMode ||
32081
+ isCell ||
32039
32082
  (shiftKeyPressed && !isMultiLineBlock) ||
32040
32083
  (!shiftKeyPressed && isMultiLineBlock)) {
32041
32084
  // 2 BR before
@@ -34121,7 +34164,9 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .pluginSystem */ .fg.add('image
34121
34164
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
34122
34165
  */
34123
34166
 
34124
- /** @private */
34167
+ /**
34168
+ * @private
34169
+ */
34125
34170
  function readAlign(image, values) {
34126
34171
  // Align
34127
34172
  if (image.style.cssFloat &&
@@ -34249,6 +34294,9 @@ function readLink(state, j, values) {
34249
34294
  * Released under MIT see LICENSE.txt in the project root for license information.
34250
34295
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
34251
34296
  */
34297
+ /**
34298
+ * @module plugins/image-properties
34299
+ */
34252
34300
 
34253
34301
  /** @private */
34254
34302
  function readMargins(image, values, state) {
@@ -34294,6 +34342,9 @@ function readMargins(image, values, state) {
34294
34342
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
34295
34343
  */
34296
34344
 
34345
+ /**
34346
+ * @module plugins/image-properties
34347
+ */
34297
34348
 
34298
34349
 
34299
34350
 
@@ -35086,6 +35137,9 @@ function openImagePopup(j, dialog, state, button) {
35086
35137
  * Released under MIT see LICENSE.txt in the project root for license information.
35087
35138
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
35088
35139
  */
35140
+ /**
35141
+ * @module plugins/image-properties
35142
+ */
35089
35143
 
35090
35144
 
35091
35145
  /** @private */
@@ -35274,6 +35328,9 @@ function applyMargin(j, marginTop, marginRight, marginBottom, marginLeft, image,
35274
35328
  * Released under MIT see LICENSE.txt in the project root for license information.
35275
35329
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
35276
35330
  */
35331
+ /**
35332
+ * @module plugins/image-properties
35333
+ */
35277
35334
 
35278
35335
 
35279
35336
 
@@ -35633,6 +35690,7 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .pluginSystem */ .fg.add('inden
35633
35690
 
35634
35691
 
35635
35692
 
35693
+ // import 'jodit/plugins/debug/debug';
35636
35694
 
35637
35695
 
35638
35696
 
@@ -36284,10 +36342,10 @@ var inlinePopup = /** @class */ (function (_super) {
36284
36342
  if (!this.j.o.toolbarInlineForSelection) {
36285
36343
  return;
36286
36344
  }
36287
- var type = 'selection', sel = this.j.s.sel, range = this.j.s.range;
36288
- if ((sel === null || sel === void 0 ? void 0 : sel.isCollapsed) ||
36289
- this.isSelectedTarget(range) ||
36290
- this.tableModule.getAllSelectedCells().length) {
36345
+ var type = 'selection';
36346
+ var sel = this.j.s.sel;
36347
+ var range = this.j.s.range;
36348
+ if ((sel === null || sel === void 0 ? void 0 : sel.isCollapsed) || this.isSelectedTarget(range)) {
36291
36349
  if (this.type === type && this.popup.isOpened) {
36292
36350
  this.hidePopup();
36293
36351
  }
@@ -36309,16 +36367,12 @@ var inlinePopup = /** @class */ (function (_super) {
36309
36367
  jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isTag(sc.childNodes[r.startOffset], new Set((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.keys)(this.j.o.popup, false))) &&
36310
36368
  r.startOffset === r.endOffset - 1);
36311
36369
  };
36312
- Object.defineProperty(inlinePopup.prototype, "tableModule", {
36313
- /**
36314
- * Shortcut for Table module
36315
- */
36316
- get: function () {
36317
- return this.j.getInstance('Table', this.j.o);
36318
- },
36319
- enumerable: false,
36320
- configurable: true
36321
- });
36370
+ /**
36371
+ * Shortcut for Table module
36372
+ */
36373
+ // private get tableModule(): Table {
36374
+ // return this.j.getInstance<Table>('Table', this.j.o);
36375
+ // }
36322
36376
  /** @override **/
36323
36377
  inlinePopup.prototype.beforeDestruct = function (jodit) {
36324
36378
  jodit.e
@@ -37480,13 +37534,17 @@ var link = /** @class */ (function (_super) {
37480
37534
  }
37481
37535
  };
37482
37536
  link.prototype.onProcessPasteLink = function (ignore, html) {
37537
+ var _a, _b, _c, _d;
37483
37538
  var jodit = this.jodit;
37484
37539
  if (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isURL)(html) || !jodit.o.link.processPastedLink) {
37485
37540
  return;
37486
37541
  }
37487
37542
  jodit.e.stopPropagation('processPaste');
37488
37543
  if (jodit.o.link.processVideoLink) {
37489
- var embed = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.convertMediaUrlToVideoEmbed)(html);
37544
+ var embed = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.call)((_b = (_a = jodit.o.video) === null || _a === void 0 ? void 0 : _a.parseUrlToVideoEmbed) !== null && _b !== void 0 ? _b : jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.convertMediaUrlToVideoEmbed, html, {
37545
+ width: (_c = jodit.o.video) === null || _c === void 0 ? void 0 : _c.defaultWidth,
37546
+ height: (_d = jodit.o.video) === null || _d === void 0 ? void 0 : _d.defaultHeight
37547
+ });
37490
37548
  if (embed !== html) {
37491
37549
  return jodit.createInside.fromHTML(embed);
37492
37550
  }
@@ -44453,14 +44511,13 @@ jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config */ .T.prototype.controls.sym
44453
44511
  editor.e.on(container, 'close_dialog', close);
44454
44512
  return box;
44455
44513
  }
44456
- else {
44457
- editor
44458
- .alert(container, 'Select Special Character', undefined, 'jodit-symbols')
44459
- .bindDestruct(editor);
44460
- var a = container.querySelector('a');
44461
- a && a.focus();
44462
- }
44514
+ editor
44515
+ .alert(container, 'Select Special Character', undefined, 'jodit-symbols')
44516
+ .bindDestruct(editor);
44517
+ var a = container.querySelector('a');
44518
+ a && a.focus();
44463
44519
  }
44520
+ return;
44464
44521
  }
44465
44522
  };
44466
44523
 
@@ -44980,25 +45037,28 @@ var symbols = /** @class */ (function (_super) {
44980
45037
  (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__extends */ .C6)(symbols, _super);
44981
45038
  function symbols(jodit) {
44982
45039
  var _this = _super.call(this, jodit) || this;
44983
- /** @override */
44984
45040
  _this.buttons = [
44985
45041
  {
44986
45042
  name: 'symbols',
44987
45043
  group: 'insert'
44988
45044
  }
44989
45045
  ];
44990
- _this.countInRow = 17;
45046
+ _this.__countInRow = 17;
44991
45047
  (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .extendLang */ .JW)(_langs__WEBPACK_IMPORTED_MODULE_6__);
44992
45048
  return _this;
44993
45049
  }
44994
- /** @override */
44995
45050
  symbols.prototype.afterInit = function (jodit) {
44996
45051
  var _this = this;
44997
45052
  jodit.e.on('generateSpecialCharactersTable.symbols', function () {
44998
- var container = jodit.c.fromHTML("<div class=\"jodit-symbols__container\">\n\t\t\t\t\t\t<div class=\"jodit-symbols__container_table\">\n\t\t\t\t\t\t\t<table class=\"jodit-symbols__table\"><tbody></tbody></table>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"jodit-symbols__container_preview\">\n\t\t\t\t\t\t\t<div class=\"jodit-symbols__preview\"></div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>"), preview = container.querySelector('.jodit-symbols__preview'), table = container.querySelector('table'), body = table.tBodies[0], chars = [];
45053
+ var container = jodit.c.fromHTML("<div class=\"jodit-symbols__container\">\n\t\t\t\t\t\t<div class=\"jodit-symbols__container_table\">\n\t\t\t\t\t\t\t<table class=\"jodit-symbols__table\"><tbody></tbody></table>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"jodit-symbols__container_preview\">\n\t\t\t\t\t\t\t<div class=\"jodit-symbols__preview\"></div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>");
45054
+ var preview = container.querySelector('.jodit-symbols__preview');
45055
+ var table = container.querySelector('table');
45056
+ var body = table.tBodies[0];
45057
+ var chars = [];
44999
45058
  for (var i = 0; i < jodit.o.specialCharacters.length;) {
45000
45059
  var tr = jodit.c.element('tr');
45001
- for (var j = 0; j < _this.countInRow && i < jodit.o.specialCharacters.length; j += 1, i += 1) {
45060
+ for (var j = 0; j < _this.__countInRow &&
45061
+ i < jodit.o.specialCharacters.length; j += 1, i += 1) {
45002
45062
  var td = jodit.c.element('td'), a = jodit.c.fromHTML("<a\n\t\t\t\t\t\t\t\t\tdata-index=\"".concat(i, "\"\n\t\t\t\t\t\t\t\t\tdata-index-j=\"").concat(j, "\"\n\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t\t\t>").concat(jodit.o.specialCharacters[i], "</a>"));
45003
45063
  chars.push(a);
45004
45064
  td.appendChild(a);
@@ -45015,7 +45075,9 @@ var symbols = /** @class */ (function (_super) {
45015
45075
  if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isTag(this, 'a')) {
45016
45076
  jodit.s.focus();
45017
45077
  jodit.s.insertHTML(this.innerHTML);
45018
- jodit.e.fire(this, 'close_dialog');
45078
+ if (!(e === null || e === void 0 ? void 0 : e.shiftKey)) {
45079
+ jodit.e.fire(this, 'close_dialog');
45080
+ }
45019
45081
  e && e.preventDefault();
45020
45082
  e && e.stopImmediatePropagation();
45021
45083
  }
@@ -45035,18 +45097,18 @@ var symbols = /** @class */ (function (_super) {
45035
45097
  case jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.KEY_DOWN:
45036
45098
  newIndex =
45037
45099
  e.key === jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.KEY_UP
45038
- ? index - self.countInRow
45039
- : index + self.countInRow;
45100
+ ? index - self.__countInRow
45101
+ : index + self.__countInRow;
45040
45102
  if (chars[newIndex] === undefined) {
45041
45103
  newIndex =
45042
45104
  e.key === jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.KEY_UP
45043
45105
  ? Math.floor(chars.length /
45044
- self.countInRow) *
45045
- self.countInRow +
45106
+ self.__countInRow) *
45107
+ self.__countInRow +
45046
45108
  jIndex
45047
45109
  : jIndex;
45048
45110
  if (newIndex > chars.length - 1) {
45049
- newIndex -= self.countInRow;
45111
+ newIndex -= self.__countInRow;
45050
45112
  }
45051
45113
  }
45052
45114
  chars[newIndex] && chars[newIndex].focus();
@@ -45681,12 +45743,17 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_0__/* .pluginSystem */ .fg.add('table
45681
45743
 
45682
45744
 
45683
45745
 
45746
+ jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.video = {
45747
+ parseUrlToVideoEmbed: jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.convertMediaUrlToVideoEmbed,
45748
+ defaultWidth: 400,
45749
+ defaultHeight: 345
45750
+ };
45684
45751
  jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__/* .Icon */ .I.set('video', (_video_svg__WEBPACK_IMPORTED_MODULE_6___default()));
45685
45752
  jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.controls.video = {
45686
- popup: function (editor, current, close) {
45687
- var formLink = new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIForm */ .XV(editor, [
45688
- new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(editor, [
45689
- new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIInput */ .tS(editor, {
45753
+ popup: function (jodit, current, close) {
45754
+ var formLink = new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIForm */ .XV(jodit, [
45755
+ new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(jodit, [
45756
+ new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIInput */ .tS(jodit, {
45690
45757
  name: 'url',
45691
45758
  required: true,
45692
45759
  label: 'URL',
@@ -45694,30 +45761,30 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.controls.vid
45694
45761
  validators: ['url']
45695
45762
  })
45696
45763
  ]),
45697
- new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(editor, [
45698
- (0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_1__/* .Button */ .$n)(editor, '', 'Insert', 'primary').onAction(function () {
45764
+ new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(jodit, [
45765
+ (0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_1__/* .Button */ .$n)(jodit, '', 'Insert', 'primary').onAction(function () {
45699
45766
  return formLink.submit();
45700
45767
  })
45701
45768
  ])
45702
- ]), formCode = new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIForm */ .XV(editor, [
45703
- new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(editor, [
45704
- new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UITextArea */ .F0(editor, {
45769
+ ]), formCode = new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIForm */ .XV(jodit, [
45770
+ new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(jodit, [
45771
+ new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UITextArea */ .F0(jodit, {
45705
45772
  name: 'code',
45706
45773
  required: true,
45707
45774
  label: 'Embed code'
45708
45775
  })
45709
45776
  ]),
45710
- new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(editor, [
45711
- (0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_1__/* .Button */ .$n)(editor, '', 'Insert', 'primary').onAction(function () {
45777
+ new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(jodit, [
45778
+ (0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_1__/* .Button */ .$n)(jodit, '', 'Insert', 'primary').onAction(function () {
45712
45779
  return formCode.submit();
45713
45780
  })
45714
45781
  ])
45715
45782
  ]), tabs = [], insertCode = function (code) {
45716
- editor.s.restore();
45717
- editor.s.insertHTML(code);
45783
+ jodit.s.restore();
45784
+ jodit.s.insertHTML(code);
45718
45785
  close();
45719
45786
  };
45720
- editor.s.save();
45787
+ jodit.s.save();
45721
45788
  tabs.push({
45722
45789
  icon: 'link',
45723
45790
  name: 'Link',
@@ -45728,12 +45795,16 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.controls.vid
45728
45795
  content: formCode.container
45729
45796
  });
45730
45797
  formLink.onSubmit(function (data) {
45731
- insertCode((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.convertMediaUrlToVideoEmbed)(data.url));
45798
+ var _a, _b, _c, _d;
45799
+ insertCode((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.call)((_b = (_a = jodit.o.video) === null || _a === void 0 ? void 0 : _a.parseUrlToVideoEmbed) !== null && _b !== void 0 ? _b : jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.convertMediaUrlToVideoEmbed, data.url, {
45800
+ width: (_c = jodit.o.video) === null || _c === void 0 ? void 0 : _c.defaultWidth,
45801
+ height: (_d = jodit.o.video) === null || _d === void 0 ? void 0 : _d.defaultHeight
45802
+ }));
45732
45803
  });
45733
45804
  formCode.onSubmit(function (data) {
45734
45805
  insertCode(data.code);
45735
45806
  });
45736
- return (0,jodit_modules_widget__WEBPACK_IMPORTED_MODULE_5__/* .TabsWidget */ .Zg)(editor, tabs);
45807
+ return (0,jodit_modules_widget__WEBPACK_IMPORTED_MODULE_5__/* .TabsWidget */ .Zg)(jodit, tabs);
45737
45808
  },
45738
45809
  tags: ['iframe'],
45739
45810
  tooltip: 'Insert youtube/vimeo video'
@@ -48783,7 +48854,7 @@ module.exports = {assert(){}};;
48783
48854
  /* harmony export */ sH: function() { return /* binding */ __awaiter; },
48784
48855
  /* harmony export */ zs: function() { return /* binding */ __read; }
48785
48856
  /* harmony export */ });
48786
- /* unused harmony exports __rest, __param, __esDecorate, __runInitializers, __propKey, __setFunctionName, __metadata, __createBinding, __exportStar, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet, __classPrivateFieldIn, __addDisposableResource, __disposeResources */
48857
+ /* unused harmony exports __rest, __param, __esDecorate, __runInitializers, __propKey, __setFunctionName, __metadata, __createBinding, __exportStar, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet, __classPrivateFieldIn, __addDisposableResource, __disposeResources, __rewriteRelativeImportExtension */
48787
48858
  /******************************************************************************
48788
48859
  Copyright (c) Microsoft Corporation.
48789
48860
 
@@ -49049,10 +49120,19 @@ var __setModuleDefault = Object.create ? (function(o, v) {
49049
49120
  o["default"] = v;
49050
49121
  };
49051
49122
 
49123
+ var ownKeys = function(o) {
49124
+ ownKeys = Object.getOwnPropertyNames || function (o) {
49125
+ var ar = [];
49126
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
49127
+ return ar;
49128
+ };
49129
+ return ownKeys(o);
49130
+ };
49131
+
49052
49132
  function __importStar(mod) {
49053
49133
  if (mod && mod.__esModule) return mod;
49054
49134
  var result = {};
49055
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
49135
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
49056
49136
  __setModuleDefault(result, mod);
49057
49137
  return result;
49058
49138
  }
@@ -49133,12 +49213,25 @@ function __disposeResources(env) {
49133
49213
  return next();
49134
49214
  }
49135
49215
 
49216
+ function __rewriteRelativeImportExtension(path, preserveJsx) {
49217
+ if (typeof path === "string" && /^\.\.?\//.test(path)) {
49218
+ return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
49219
+ return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
49220
+ });
49221
+ }
49222
+ return path;
49223
+ }
49224
+
49136
49225
  /* unused harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = ({
49137
49226
  __extends,
49138
49227
  __assign,
49139
49228
  __rest,
49140
49229
  __decorate,
49141
49230
  __param,
49231
+ __esDecorate,
49232
+ __runInitializers,
49233
+ __propKey,
49234
+ __setFunctionName,
49142
49235
  __metadata,
49143
49236
  __awaiter,
49144
49237
  __generator,
@@ -49161,6 +49254,7 @@ function __disposeResources(env) {
49161
49254
  __classPrivateFieldIn,
49162
49255
  __addDisposableResource,
49163
49256
  __disposeResources,
49257
+ __rewriteRelativeImportExtension,
49164
49258
  });
49165
49259
 
49166
49260
 
@@ -49458,7 +49552,7 @@ function __disposeResources(env) {
49458
49552
  /******/
49459
49553
  /************************************************************************/
49460
49554
  var __webpack_exports__ = {};
49461
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
49555
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
49462
49556
  !function() {
49463
49557
  "use strict";
49464
49558
  __webpack_require__.r(__webpack_exports__);