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/es2021/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
  */
@@ -2450,7 +2450,7 @@ __webpack_require__.r(__webpack_exports__);
2450
2450
  * Released under MIT see LICENSE.txt in the project root for license information.
2451
2451
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
2452
2452
  */
2453
- const APP_VERSION = "4.2.35";
2453
+ const APP_VERSION = "4.2.41";
2454
2454
  // prettier-ignore
2455
2455
  const ES = "es2021";
2456
2456
  const IS_ES_MODERN = true;
@@ -8247,10 +8247,10 @@ const buildQuery = (data, prefix) => {
8247
8247
  * Released under MIT see LICENSE.txt in the project root for license information.
8248
8248
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
8249
8249
  */
8250
-
8251
8250
  /**
8252
8251
  * @module helpers/utils
8253
8252
  */
8253
+
8254
8254
  const completeUrl = (url) => {
8255
8255
  if (jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow.location.protocol === 'file:' && /^\/\//.test(url)) {
8256
8256
  url = 'https:' + url;
@@ -8386,11 +8386,12 @@ function ConfigFlatten(obj) {
8386
8386
  /**
8387
8387
  * Javascript url pattern converter replace youtube/vimeo url in embed code.
8388
8388
  */
8389
- const convertMediaUrlToVideoEmbed = (url, width = 400, height = 345) => {
8389
+ const convertMediaUrlToVideoEmbed = (url, { width = 400, height = 345 } = {}) => {
8390
8390
  if (!(0,jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_1__/* .isURL */ .m)(url)) {
8391
8391
  return url;
8392
8392
  }
8393
- const parser = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('a'), pattern1 = /(?:http?s?:\/\/)?(?:www\.)?(?:vimeo\.com)\/?(.+)/g;
8393
+ const parser = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('a');
8394
+ const pattern1 = /(?:http?s?:\/\/)?(?:www\.)?(?:vimeo\.com)\/?(.+)/g;
8394
8395
  parser.href = url;
8395
8396
  if (!width) {
8396
8397
  width = 400;
@@ -8417,7 +8418,10 @@ const convertMediaUrlToVideoEmbed = (url, width = 400, height = 345) => {
8417
8418
  case 'www.youtu.be': {
8418
8419
  const query = parser.search
8419
8420
  ? (0,_parse_query__WEBPACK_IMPORTED_MODULE_2__/* .parseQuery */ .m)(parser.search)
8420
- : { v: parser.pathname.substr(1) };
8421
+ : { v: parser.pathname.substring(1) };
8422
+ if (/^embed\/.*/.test(query.v)) {
8423
+ query.v = query.v.substring(6);
8424
+ }
8421
8425
  return query.v
8422
8426
  ? '<iframe width="' +
8423
8427
  width +
@@ -11962,6 +11966,7 @@ function extractSelectedPart(wrapper, font, jodit) {
11962
11966
  }
11963
11967
  /**
11964
11968
  * Retrieves content before after the selected area, clears it if it is empty, and inserts before after the framed selection
11969
+ * @private
11965
11970
  */
11966
11971
  function extractAndMove(wrapper, range, left) {
11967
11972
  const fragment = range.extractContents();
@@ -14125,6 +14130,7 @@ const JODIT_EVENTS_ON_HIDE = [
14125
14130
  'changePlace.tooltip',
14126
14131
  'afterOpenPopup.tooltip',
14127
14132
  'hidePopup.tooltip',
14133
+ 'beforePopupClose.tooltip',
14128
14134
  'closeAllPopups.tooltip'
14129
14135
  ];
14130
14136
  let UITooltip = UITooltip_1 = class UITooltip extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_5__/* .UIElement */ .D {
@@ -14137,6 +14143,7 @@ let UITooltip = UITooltip_1 = class UITooltip extends jodit_core_ui_element__WEB
14137
14143
  constructor(view) {
14138
14144
  super(view);
14139
14145
  this.__isOpened = false;
14146
+ this.__attachedContainers = new Set();
14140
14147
  this.__listenClose = false;
14141
14148
  this.__currentTarget = null;
14142
14149
  this.__delayShowTimeout = 0;
@@ -14155,7 +14162,16 @@ let UITooltip = UITooltip_1 = class UITooltip extends jodit_core_ui_element__WEB
14155
14162
  __onAttach(container) {
14156
14163
  // TODO Move it inside __show method. Now it is here because testcase failed with capturing
14157
14164
  (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .getContainer */ .My)(this.j, UITooltip_1).appendChild(this.container);
14158
- this.j.e.on(container, 'mouseenter.tooltip', this.__onMouseEnter, {
14165
+ this.__attachedContainers.add(container);
14166
+ this.__attachedContainers.add(this.j.container);
14167
+ this.j.e
14168
+ .on(container, 'mouseenter.tooltip', this.__onMouseEnter, {
14169
+ capture: true
14170
+ })
14171
+ .on(container, 'mouseleave.tooltip', this.__onMouseLeave, {
14172
+ capture: true
14173
+ })
14174
+ .on(this.j.container, 'mouseleave.tooltip', this.__onMouseLeave, {
14159
14175
  capture: true
14160
14176
  });
14161
14177
  }
@@ -14167,10 +14183,7 @@ let UITooltip = UITooltip_1 = class UITooltip extends jodit_core_ui_element__WEB
14167
14183
  const view = this.j;
14168
14184
  view.e
14169
14185
  .on(view.ow, WINDOW_EVENTS_ON_HIDE, this.__hide)
14170
- .on(JODIT_EVENTS_ON_HIDE, this.__hide)
14171
- .on(view.container, 'mouseleave.tooltip', this.__onMouseLeave, {
14172
- capture: true
14173
- });
14186
+ .on(JODIT_EVENTS_ON_HIDE, this.__hide);
14174
14187
  }
14175
14188
  __removeListenersOnLeave() {
14176
14189
  if (!this.__listenClose) {
@@ -14180,8 +14193,7 @@ let UITooltip = UITooltip_1 = class UITooltip extends jodit_core_ui_element__WEB
14180
14193
  const view = this.j;
14181
14194
  view.e
14182
14195
  .off(view.ow, WINDOW_EVENTS_ON_HIDE, this.__hide)
14183
- .off(JODIT_EVENTS_ON_HIDE, this.__hide)
14184
- .off(view.container, 'mouseleave.tooltip', this.__onMouseLeave);
14196
+ .off(JODIT_EVENTS_ON_HIDE, this.__hide);
14185
14197
  }
14186
14198
  __onMouseLeave(e) {
14187
14199
  if (this.__currentTarget === e.target) {
@@ -14258,7 +14270,11 @@ let UITooltip = UITooltip_1 = class UITooltip extends jodit_core_ui_element__WEB
14258
14270
  this.__hideTimeout = this.async.setTimeout(this.__hide, this.j.defaultTimeout);
14259
14271
  }
14260
14272
  destruct() {
14261
- this.j.e.off(this.j.container, 'mouseenter.tooltip', this.__onMouseEnter);
14273
+ this.__attachedContainers.forEach(container => {
14274
+ this.j.e
14275
+ .off(container, 'mouseenter.tooltip', this.__onMouseEnter)
14276
+ .off(container, 'mouseleave.tooltip', this.__onMouseLeave);
14277
+ });
14262
14278
  this.__hide();
14263
14279
  super.destruct();
14264
14280
  }
@@ -16477,17 +16493,18 @@ class ProgressBar extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_1__/* .
16477
16493
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
16478
16494
  /* harmony export */ T: function() { return /* binding */ ViewWithToolbar; }
16479
16495
  /* harmony export */ });
16480
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(31635);
16496
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(31635);
16481
16497
  /* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(33894);
16482
- /* harmony import */ var jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(33442);
16498
+ /* harmony import */ var jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(33442);
16483
16499
  /* harmony import */ var jodit_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24014);
16484
16500
  /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(23545);
16485
16501
  /* harmony import */ var jodit_core_helpers_array__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(23462);
16486
- /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(26986);
16502
+ /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(26986);
16487
16503
  /* harmony import */ var jodit_core_helpers_utils_selector__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(52989);
16488
- /* harmony import */ var jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(73246);
16489
- /* harmony import */ var jodit_core_view_view__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(50313);
16490
- /* harmony import */ var jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(78072);
16504
+ /* harmony import */ var jodit_core_ui__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(76185);
16505
+ /* harmony import */ var jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(73246);
16506
+ /* harmony import */ var jodit_core_view_view__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(50313);
16507
+ /* harmony import */ var jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(78072);
16491
16508
  /*!
16492
16509
  * Jodit Editor (https://xdsoft.net/jodit/)
16493
16510
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -16505,13 +16522,14 @@ class ProgressBar extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_1__/* .
16505
16522
 
16506
16523
 
16507
16524
 
16508
- class ViewWithToolbar extends jodit_core_view_view__WEBPACK_IMPORTED_MODULE_5__/* .View */ .S {
16525
+
16526
+ class ViewWithToolbar extends jodit_core_view_view__WEBPACK_IMPORTED_MODULE_6__/* .View */ .S {
16509
16527
  /**
16510
16528
  * Container for toolbar
16511
16529
  */
16512
16530
  get toolbarContainer() {
16513
16531
  if (!this.o.fullsize &&
16514
- ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_7__/* .isString */ .K)(this.o.toolbar) || jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__/* .Dom */ .J.isHTMLElement(this.o.toolbar))) {
16532
+ ((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))) {
16515
16533
  return (0,jodit_core_helpers_utils_selector__WEBPACK_IMPORTED_MODULE_4__/* .resolveElement */ .tI)(this.o.toolbar, this.o.shadowRoot || this.od);
16516
16534
  }
16517
16535
  this.o.toolbar &&
@@ -16583,7 +16601,7 @@ class ViewWithToolbar extends jodit_core_view_view__WEBPACK_IMPORTED_MODULE_5__/
16583
16601
  beforeToolbarBuild(items) {
16584
16602
  if (Object.keys(this.groupToButtons).length) {
16585
16603
  return items.map(item => {
16586
- if ((0,jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_8__/* .isButtonGroup */ .i)(item) &&
16604
+ if ((0,jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_9__/* .isButtonGroup */ .i)(item) &&
16587
16605
  item.group &&
16588
16606
  this.groupToButtons[item.group]) {
16589
16607
  return {
@@ -16601,11 +16619,12 @@ class ViewWithToolbar extends jodit_core_view_view__WEBPACK_IMPORTED_MODULE_5__/
16601
16619
  /** @override **/
16602
16620
  constructor(options, isJodit = false) {
16603
16621
  super(options, isJodit);
16604
- this.toolbar = (0,jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_6__/* .makeCollection */ .$K)(this);
16622
+ this.toolbar = (0,jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_7__/* .makeCollection */ .$K)(this);
16605
16623
  this.__defaultToolbarContainer = this.c.div('jodit-toolbar__box');
16606
16624
  this.registeredButtons = new Set();
16607
16625
  this.groupToButtons = {};
16608
16626
  this.isJodit = false;
16627
+ this.__tooltip = new jodit_core_ui__WEBPACK_IMPORTED_MODULE_5__/* .UITooltip */ .SB(this);
16609
16628
  this.isJodit = isJodit;
16610
16629
  this.e.on('beforeToolbarBuild', this.beforeToolbarBuild);
16611
16630
  }
@@ -16615,17 +16634,18 @@ class ViewWithToolbar extends jodit_core_view_view__WEBPACK_IMPORTED_MODULE_5__/
16615
16634
  }
16616
16635
  this.setStatus(jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_0__/* .STATUSES */ .f.beforeDestruct);
16617
16636
  this.e.off('beforeToolbarBuild', this.beforeToolbarBuild);
16637
+ this.__tooltip.destruct();
16618
16638
  this.toolbar.destruct();
16619
16639
  // @ts-ignore After destruct, we are not responsible for anything
16620
16640
  this.toolbar = undefined;
16621
16641
  super.destruct();
16622
16642
  }
16623
16643
  }
16624
- (0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .Cg)([
16644
+ (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__decorate */ .Cg)([
16625
16645
  (0,jodit_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_1__/* .watch */ .w)(':rebuildToolbar')
16626
16646
  ], ViewWithToolbar.prototype, "buildToolbar", null);
16627
- (0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .Cg)([
16628
- jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Ay
16647
+ (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__decorate */ .Cg)([
16648
+ jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Ay
16629
16649
  ], ViewWithToolbar.prototype, "beforeToolbarBuild", null);
16630
16650
 
16631
16651
 
@@ -17130,7 +17150,17 @@ let Jodit = Jodit_1 = class Jodit extends jodit_modules__WEBPACK_IMPORTED_MODULE
17130
17150
  : jodit_config__WEBPACK_IMPORTED_MODULE_6__/* .Config */ .T.defaultOptions.defaultTimeout;
17131
17151
  }
17132
17152
  /**
17133
- * Method wrap usual Has Object in Object helper for prevent deep object merging in options*
17153
+ * Method wrap usual object in Object helper for prevent deep object merging in options*
17154
+ * ```js
17155
+ * const editor = Jodit.make('#editor', {
17156
+ * controls: {
17157
+ * fontsize: {
17158
+ * list: Jodit.atom([8, 9, 10])
17159
+ * }
17160
+ * }
17161
+ * });
17162
+ * ```
17163
+ * In this case, the array [8, 9, 10] will not be combined with other arrays, but will replace them
17134
17164
  */
17135
17165
  static atom(object) {
17136
17166
  return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.markAsAtomic)(object);
@@ -21682,6 +21712,7 @@ class Snapshot extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .View
21682
21712
  constructor() {
21683
21713
  super(...arguments);
21684
21714
  this.__isBlocked = false;
21715
+ this.__levelOfTransaction = 0;
21685
21716
  }
21686
21717
  /** @override */
21687
21718
  className() {
@@ -21762,6 +21793,7 @@ class Snapshot extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .View
21762
21793
  }
21763
21794
  transaction(changes) {
21764
21795
  this.__block(true);
21796
+ this.__levelOfTransaction += 1;
21765
21797
  try {
21766
21798
  changes();
21767
21799
  }
@@ -21770,7 +21802,12 @@ class Snapshot extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .View
21770
21802
  throw e;
21771
21803
  }
21772
21804
  }
21773
- this.__block(false);
21805
+ finally {
21806
+ this.__levelOfTransaction -= 1;
21807
+ if (this.__levelOfTransaction === 0) {
21808
+ this.__block(false);
21809
+ }
21810
+ }
21774
21811
  }
21775
21812
  /**
21776
21813
  * Creates object a snapshot of editor: html and the current selection. Current selection calculate by
@@ -24007,17 +24044,26 @@ let ToolbarButton = class ToolbarButton extends jodit_core_ui_button__WEBPACK_IM
24007
24044
  if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isFunction)(ctr.popup)) {
24008
24045
  const popup = this.openPopup();
24009
24046
  popup.parentElement = this;
24010
- if (this.j.e.fire((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.camelCase)(`before-${ctr.name}-open-popup`), this.target, ctr, popup) !== false) {
24011
- const target = this.toolbar?.getTarget(this) ?? this.target ?? null;
24012
- const elm = ctr.popup(this.j, target, this.__closePopup, this);
24013
- if (elm) {
24014
- popup
24015
- .setContent((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isString)(elm) ? this.j.c.fromHTML(elm) : elm)
24016
- .open(() => (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.position)(this.container), false, this.j.o.allowTabNavigation
24017
- ? this.container
24018
- : undefined);
24047
+ try {
24048
+ if (this.j.e.fire((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.camelCase)(`before-${ctr.name}-open-popup`), this.target, ctr, popup) !== false) {
24049
+ const target = this.toolbar?.getTarget(this) ?? this.target ?? null;
24050
+ const elm = ctr.popup(this.j, target, this.__closePopup, this);
24051
+ if (elm) {
24052
+ popup
24053
+ .setContent((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isString)(elm) ? this.j.c.fromHTML(elm) : elm)
24054
+ .open(() => (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.position)(this.container), false, this.j.o.allowTabNavigation
24055
+ ? this.container
24056
+ : undefined);
24057
+ }
24058
+ else {
24059
+ this.__closePopup();
24060
+ }
24019
24061
  }
24020
24062
  }
24063
+ catch (e) {
24064
+ this.__closePopup();
24065
+ throw e;
24066
+ }
24021
24067
  /**
24022
24068
  * Fired after the popup was opened for some control button
24023
24069
  */
@@ -24401,7 +24447,6 @@ let ToolbarCollection = class ToolbarCollection extends jodit_core_ui__WEBPACK_I
24401
24447
  super(jodit);
24402
24448
  this.__listenEvents = 'updatePlugins updateToolbar changeStack mousedown mouseup keydown change afterInit readonly afterResize ' +
24403
24449
  'selectionchange changeSelection focus afterSetMode touchstart focus blur';
24404
- this.__tooltip = new jodit_core_ui__WEBPACK_IMPORTED_MODULE_2__/* .UITooltip */ .SB(this.jodit);
24405
24450
  }
24406
24451
  __initEvents() {
24407
24452
  this.j.e
@@ -24431,8 +24476,6 @@ let ToolbarCollection = class ToolbarCollection extends jodit_core_ui__WEBPACK_I
24431
24476
  if (this.isDestructed) {
24432
24477
  return;
24433
24478
  }
24434
- this.__tooltip?.destruct();
24435
- this.__tooltip = null;
24436
24479
  this.j.e
24437
24480
  .off(this.__listenEvents, this.update)
24438
24481
  .off('afterSetMode focus', this.__immediateUpdate);
@@ -26412,6 +26455,9 @@ __webpack_require__.r(__webpack_exports__);
26412
26455
  * Released under MIT see LICENSE.txt in the project root for license information.
26413
26456
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
26414
26457
  */
26458
+ /**
26459
+ * @module plugins/ai-assistant
26460
+ */
26415
26461
 
26416
26462
 
26417
26463
 
@@ -30409,9 +30455,11 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .pluginSystem */ .fg.add('enter
30409
30455
  */
30410
30456
  function checkBR(fake, jodit, shiftKeyPressed) {
30411
30457
  const isMultiLineBlock = Boolean(jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.closest(fake, ['pre', 'blockquote'], jodit.editor));
30458
+ const isCell = !isMultiLineBlock && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.closest(fake, ['td', 'th'], jodit.editor);
30412
30459
  const isBRMode = jodit.o.enter.toLowerCase() === jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.BR.toLowerCase();
30413
30460
  // if you use <br> defaultTag for break line or when was entered SHIFt key or in <td> or <th> or <blockquote>
30414
30461
  if (isBRMode ||
30462
+ isCell ||
30415
30463
  (shiftKeyPressed && !isMultiLineBlock) ||
30416
30464
  (!shiftKeyPressed && isMultiLineBlock)) {
30417
30465
  // 2 BR before
@@ -32383,7 +32431,9 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .pluginSystem */ .fg.add('image
32383
32431
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
32384
32432
  */
32385
32433
 
32386
- /** @private */
32434
+ /**
32435
+ * @private
32436
+ */
32387
32437
  function readAlign(image, values) {
32388
32438
  // Align
32389
32439
  if (image.style.cssFloat &&
@@ -32504,6 +32554,9 @@ function readLink(state, j, values) {
32504
32554
  * Released under MIT see LICENSE.txt in the project root for license information.
32505
32555
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
32506
32556
  */
32557
+ /**
32558
+ * @module plugins/image-properties
32559
+ */
32507
32560
 
32508
32561
  /** @private */
32509
32562
  function readMargins(image, values, state) {
@@ -32547,6 +32600,9 @@ function readMargins(image, values, state) {
32547
32600
  * Released under MIT see LICENSE.txt in the project root for license information.
32548
32601
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
32549
32602
  */
32603
+ /**
32604
+ * @module plugins/image-properties
32605
+ */
32550
32606
 
32551
32607
 
32552
32608
 
@@ -33360,6 +33416,9 @@ function openImagePopup(j, dialog, state, button) {
33360
33416
  * Released under MIT see LICENSE.txt in the project root for license information.
33361
33417
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
33362
33418
  */
33419
+ /**
33420
+ * @module plugins/image-properties
33421
+ */
33363
33422
 
33364
33423
 
33365
33424
  /** @private */
@@ -33548,6 +33607,9 @@ function applyMargin(j, marginTop, marginRight, marginBottom, marginLeft, image,
33548
33607
  * Released under MIT see LICENSE.txt in the project root for license information.
33549
33608
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
33550
33609
  */
33610
+ /**
33611
+ * @module plugins/image-properties
33612
+ */
33551
33613
 
33552
33614
 
33553
33615
 
@@ -33888,6 +33950,7 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .pluginSystem */ .fg.add('inden
33888
33950
 
33889
33951
 
33890
33952
 
33953
+ // import 'jodit/plugins/debug/debug';
33891
33954
 
33892
33955
 
33893
33956
 
@@ -34517,10 +34580,10 @@ class inlinePopup extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_4__/* .Plug
34517
34580
  if (!this.j.o.toolbarInlineForSelection) {
34518
34581
  return;
34519
34582
  }
34520
- const type = 'selection', sel = this.j.s.sel, range = this.j.s.range;
34521
- if (sel?.isCollapsed ||
34522
- this.isSelectedTarget(range) ||
34523
- this.tableModule.getAllSelectedCells().length) {
34583
+ const type = 'selection';
34584
+ const sel = this.j.s.sel;
34585
+ const range = this.j.s.range;
34586
+ if (sel?.isCollapsed || this.isSelectedTarget(range)) {
34524
34587
  if (this.type === type && this.popup.isOpened) {
34525
34588
  this.hidePopup();
34526
34589
  }
@@ -34545,9 +34608,9 @@ class inlinePopup extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_4__/* .Plug
34545
34608
  /**
34546
34609
  * Shortcut for Table module
34547
34610
  */
34548
- get tableModule() {
34549
- return this.j.getInstance('Table', this.j.o);
34550
- }
34611
+ // private get tableModule(): Table {
34612
+ // return this.j.getInstance<Table>('Table', this.j.o);
34613
+ // }
34551
34614
  /** @override **/
34552
34615
  beforeDestruct(jodit) {
34553
34616
  jodit.e
@@ -35688,7 +35751,11 @@ class link extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_4__/* .Plugin */ .
35688
35751
  }
35689
35752
  jodit.e.stopPropagation('processPaste');
35690
35753
  if (jodit.o.link.processVideoLink) {
35691
- const embed = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.convertMediaUrlToVideoEmbed)(html);
35754
+ const embed = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.call)(jodit.o.video?.parseUrlToVideoEmbed ??
35755
+ jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.convertMediaUrlToVideoEmbed, html, {
35756
+ width: jodit.o.video?.defaultWidth,
35757
+ height: jodit.o.video?.defaultHeight
35758
+ });
35692
35759
  if (embed !== html) {
35693
35760
  return jodit.createInside.fromHTML(embed);
35694
35761
  }
@@ -42269,14 +42336,13 @@ jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config */ .T.prototype.controls.sym
42269
42336
  editor.e.on(container, 'close_dialog', close);
42270
42337
  return box;
42271
42338
  }
42272
- else {
42273
- editor
42274
- .alert(container, 'Select Special Character', undefined, 'jodit-symbols')
42275
- .bindDestruct(editor);
42276
- const a = container.querySelector('a');
42277
- a && a.focus();
42278
- }
42339
+ editor
42340
+ .alert(container, 'Select Special Character', undefined, 'jodit-symbols')
42341
+ .bindDestruct(editor);
42342
+ const a = container.querySelector('a');
42343
+ a && a.focus();
42279
42344
  }
42345
+ return;
42280
42346
  }
42281
42347
  };
42282
42348
 
@@ -42793,17 +42859,15 @@ module.exports = {
42793
42859
  class symbols extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_4__/* .Plugin */ .k {
42794
42860
  constructor(jodit) {
42795
42861
  super(jodit);
42796
- /** @override */
42797
42862
  this.buttons = [
42798
42863
  {
42799
42864
  name: 'symbols',
42800
42865
  group: 'insert'
42801
42866
  }
42802
42867
  ];
42803
- this.countInRow = 17;
42868
+ this.__countInRow = 17;
42804
42869
  (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .extendLang */ .JW)(_langs__WEBPACK_IMPORTED_MODULE_6__);
42805
42870
  }
42806
- /** @override */
42807
42871
  afterInit(jodit) {
42808
42872
  jodit.e.on('generateSpecialCharactersTable.symbols', () => {
42809
42873
  const container = jodit.c.fromHTML(`<div class="jodit-symbols__container">
@@ -42813,10 +42877,15 @@ class symbols extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_4__/* .P
42813
42877
  <div class="jodit-symbols__container_preview">
42814
42878
  <div class="jodit-symbols__preview"></div>
42815
42879
  </div>
42816
- </div>`), preview = container.querySelector('.jodit-symbols__preview'), table = container.querySelector('table'), body = table.tBodies[0], chars = [];
42880
+ </div>`);
42881
+ const preview = container.querySelector('.jodit-symbols__preview');
42882
+ const table = container.querySelector('table');
42883
+ const body = table.tBodies[0];
42884
+ const chars = [];
42817
42885
  for (let i = 0; i < jodit.o.specialCharacters.length;) {
42818
42886
  const tr = jodit.c.element('tr');
42819
- for (let j = 0; j < this.countInRow && i < jodit.o.specialCharacters.length; j += 1, i += 1) {
42887
+ for (let j = 0; j < this.__countInRow &&
42888
+ i < jodit.o.specialCharacters.length; j += 1, i += 1) {
42820
42889
  const td = jodit.c.element('td'), a = jodit.c.fromHTML(`<a
42821
42890
  data-index="${i}"
42822
42891
  data-index-j="${j}"
@@ -42838,7 +42907,9 @@ class symbols extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_4__/* .P
42838
42907
  if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isTag(this, 'a')) {
42839
42908
  jodit.s.focus();
42840
42909
  jodit.s.insertHTML(this.innerHTML);
42841
- jodit.e.fire(this, 'close_dialog');
42910
+ if (!e?.shiftKey) {
42911
+ jodit.e.fire(this, 'close_dialog');
42912
+ }
42842
42913
  e && e.preventDefault();
42843
42914
  e && e.stopImmediatePropagation();
42844
42915
  }
@@ -42858,18 +42929,18 @@ class symbols extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_4__/* .P
42858
42929
  case jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.KEY_DOWN:
42859
42930
  newIndex =
42860
42931
  e.key === jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.KEY_UP
42861
- ? index - self.countInRow
42862
- : index + self.countInRow;
42932
+ ? index - self.__countInRow
42933
+ : index + self.__countInRow;
42863
42934
  if (chars[newIndex] === undefined) {
42864
42935
  newIndex =
42865
42936
  e.key === jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.KEY_UP
42866
42937
  ? Math.floor(chars.length /
42867
- self.countInRow) *
42868
- self.countInRow +
42938
+ self.__countInRow) *
42939
+ self.__countInRow +
42869
42940
  jIndex
42870
42941
  : jIndex;
42871
42942
  if (newIndex > chars.length - 1) {
42872
- newIndex -= self.countInRow;
42943
+ newIndex -= self.__countInRow;
42873
42944
  }
42874
42945
  }
42875
42946
  chars[newIndex] && chars[newIndex].focus();
@@ -43484,12 +43555,17 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_0__/* .pluginSystem */ .fg.add('table
43484
43555
 
43485
43556
 
43486
43557
 
43558
+ jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.video = {
43559
+ parseUrlToVideoEmbed: jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.convertMediaUrlToVideoEmbed,
43560
+ defaultWidth: 400,
43561
+ defaultHeight: 345
43562
+ };
43487
43563
  jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__/* .Icon */ .I.set('video', (_video_svg__WEBPACK_IMPORTED_MODULE_6___default()));
43488
43564
  jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.controls.video = {
43489
- popup: (editor, current, close) => {
43490
- const formLink = new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIForm */ .XV(editor, [
43491
- new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(editor, [
43492
- new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIInput */ .tS(editor, {
43565
+ popup: (jodit, current, close) => {
43566
+ const formLink = new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIForm */ .XV(jodit, [
43567
+ new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(jodit, [
43568
+ new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIInput */ .tS(jodit, {
43493
43569
  name: 'url',
43494
43570
  required: true,
43495
43571
  label: 'URL',
@@ -43497,26 +43573,26 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.controls.vid
43497
43573
  validators: ['url']
43498
43574
  })
43499
43575
  ]),
43500
- new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(editor, [
43501
- (0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_1__/* .Button */ .$n)(editor, '', 'Insert', 'primary').onAction(() => formLink.submit())
43576
+ new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(jodit, [
43577
+ (0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_1__/* .Button */ .$n)(jodit, '', 'Insert', 'primary').onAction(() => formLink.submit())
43502
43578
  ])
43503
- ]), formCode = new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIForm */ .XV(editor, [
43504
- new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(editor, [
43505
- new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UITextArea */ .F0(editor, {
43579
+ ]), formCode = new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIForm */ .XV(jodit, [
43580
+ new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(jodit, [
43581
+ new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UITextArea */ .F0(jodit, {
43506
43582
  name: 'code',
43507
43583
  required: true,
43508
43584
  label: 'Embed code'
43509
43585
  })
43510
43586
  ]),
43511
- new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(editor, [
43512
- (0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_1__/* .Button */ .$n)(editor, '', 'Insert', 'primary').onAction(() => formCode.submit())
43587
+ new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(jodit, [
43588
+ (0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_1__/* .Button */ .$n)(jodit, '', 'Insert', 'primary').onAction(() => formCode.submit())
43513
43589
  ])
43514
43590
  ]), tabs = [], insertCode = (code) => {
43515
- editor.s.restore();
43516
- editor.s.insertHTML(code);
43591
+ jodit.s.restore();
43592
+ jodit.s.insertHTML(code);
43517
43593
  close();
43518
43594
  };
43519
- editor.s.save();
43595
+ jodit.s.save();
43520
43596
  tabs.push({
43521
43597
  icon: 'link',
43522
43598
  name: 'Link',
@@ -43527,12 +43603,16 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.controls.vid
43527
43603
  content: formCode.container
43528
43604
  });
43529
43605
  formLink.onSubmit(data => {
43530
- insertCode((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.convertMediaUrlToVideoEmbed)(data.url));
43606
+ insertCode((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.call)(jodit.o.video?.parseUrlToVideoEmbed ??
43607
+ jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.convertMediaUrlToVideoEmbed, data.url, {
43608
+ width: jodit.o.video?.defaultWidth,
43609
+ height: jodit.o.video?.defaultHeight
43610
+ }));
43531
43611
  });
43532
43612
  formCode.onSubmit(data => {
43533
43613
  insertCode(data.code);
43534
43614
  });
43535
- return (0,jodit_modules_widget__WEBPACK_IMPORTED_MODULE_5__/* .TabsWidget */ .Zg)(editor, tabs);
43615
+ return (0,jodit_modules_widget__WEBPACK_IMPORTED_MODULE_5__/* .TabsWidget */ .Zg)(jodit, tabs);
43536
43616
  },
43537
43617
  tags: ['iframe'],
43538
43618
  tooltip: 'Insert youtube/vimeo video'
@@ -46307,7 +46387,7 @@ module.exports = {assert(){}};;
46307
46387
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
46308
46388
  /* harmony export */ Cg: function() { return /* binding */ __decorate; }
46309
46389
  /* harmony export */ });
46310
- /* unused harmony exports __extends, __assign, __rest, __param, __esDecorate, __runInitializers, __propKey, __setFunctionName, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __spreadArray, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet, __classPrivateFieldIn, __addDisposableResource, __disposeResources */
46390
+ /* unused harmony exports __extends, __assign, __rest, __param, __esDecorate, __runInitializers, __propKey, __setFunctionName, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __spreadArray, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet, __classPrivateFieldIn, __addDisposableResource, __disposeResources, __rewriteRelativeImportExtension */
46311
46391
  /******************************************************************************
46312
46392
  Copyright (c) Microsoft Corporation.
46313
46393
 
@@ -46573,10 +46653,19 @@ var __setModuleDefault = Object.create ? (function(o, v) {
46573
46653
  o["default"] = v;
46574
46654
  };
46575
46655
 
46656
+ var ownKeys = function(o) {
46657
+ ownKeys = Object.getOwnPropertyNames || function (o) {
46658
+ var ar = [];
46659
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
46660
+ return ar;
46661
+ };
46662
+ return ownKeys(o);
46663
+ };
46664
+
46576
46665
  function __importStar(mod) {
46577
46666
  if (mod && mod.__esModule) return mod;
46578
46667
  var result = {};
46579
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
46668
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
46580
46669
  __setModuleDefault(result, mod);
46581
46670
  return result;
46582
46671
  }
@@ -46657,12 +46746,25 @@ function __disposeResources(env) {
46657
46746
  return next();
46658
46747
  }
46659
46748
 
46749
+ function __rewriteRelativeImportExtension(path, preserveJsx) {
46750
+ if (typeof path === "string" && /^\.\.?\//.test(path)) {
46751
+ return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
46752
+ return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
46753
+ });
46754
+ }
46755
+ return path;
46756
+ }
46757
+
46660
46758
  /* unused harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = ({
46661
46759
  __extends,
46662
46760
  __assign,
46663
46761
  __rest,
46664
46762
  __decorate,
46665
46763
  __param,
46764
+ __esDecorate,
46765
+ __runInitializers,
46766
+ __propKey,
46767
+ __setFunctionName,
46666
46768
  __metadata,
46667
46769
  __awaiter,
46668
46770
  __generator,
@@ -46685,6 +46787,7 @@ function __disposeResources(env) {
46685
46787
  __classPrivateFieldIn,
46686
46788
  __addDisposableResource,
46687
46789
  __disposeResources,
46790
+ __rewriteRelativeImportExtension,
46688
46791
  });
46689
46792
 
46690
46793
 
@@ -46970,7 +47073,7 @@ function __disposeResources(env) {
46970
47073
  /******/
46971
47074
  /************************************************************************/
46972
47075
  var __webpack_exports__ = {};
46973
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
47076
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
46974
47077
  !function() {
46975
47078
  "use strict";
46976
47079
  __webpack_require__.r(__webpack_exports__);