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/es2015/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
  */
@@ -2449,7 +2449,7 @@ __webpack_require__.r(__webpack_exports__);
2449
2449
  * Released under MIT see LICENSE.txt in the project root for license information.
2450
2450
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
2451
2451
  */
2452
- const APP_VERSION = "4.2.35";
2452
+ const APP_VERSION = "4.2.41";
2453
2453
  // prettier-ignore
2454
2454
  const ES = "es2015";
2455
2455
  const IS_ES_MODERN = true;
@@ -8266,10 +8266,10 @@ const buildQuery = (data, prefix) => {
8266
8266
  * Released under MIT see LICENSE.txt in the project root for license information.
8267
8267
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
8268
8268
  */
8269
-
8270
8269
  /**
8271
8270
  * @module helpers/utils
8272
8271
  */
8272
+
8273
8273
  const completeUrl = (url) => {
8274
8274
  if (jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalWindow.location.protocol === 'file:' && /^\/\//.test(url)) {
8275
8275
  url = 'https:' + url;
@@ -8405,11 +8405,12 @@ function ConfigFlatten(obj) {
8405
8405
  /**
8406
8406
  * Javascript url pattern converter replace youtube/vimeo url in embed code.
8407
8407
  */
8408
- const convertMediaUrlToVideoEmbed = (url, width = 400, height = 345) => {
8408
+ const convertMediaUrlToVideoEmbed = (url, { width = 400, height = 345 } = {}) => {
8409
8409
  if (!(0,jodit_core_helpers_checker_is_url__WEBPACK_IMPORTED_MODULE_1__/* .isURL */ .m)(url)) {
8410
8410
  return url;
8411
8411
  }
8412
- const parser = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('a'), pattern1 = /(?:http?s?:\/\/)?(?:www\.)?(?:vimeo\.com)\/?(.+)/g;
8412
+ const parser = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('a');
8413
+ const pattern1 = /(?:http?s?:\/\/)?(?:www\.)?(?:vimeo\.com)\/?(.+)/g;
8413
8414
  parser.href = url;
8414
8415
  if (!width) {
8415
8416
  width = 400;
@@ -8436,7 +8437,10 @@ const convertMediaUrlToVideoEmbed = (url, width = 400, height = 345) => {
8436
8437
  case 'www.youtu.be': {
8437
8438
  const query = parser.search
8438
8439
  ? (0,_parse_query__WEBPACK_IMPORTED_MODULE_2__/* .parseQuery */ .m)(parser.search)
8439
- : { v: parser.pathname.substr(1) };
8440
+ : { v: parser.pathname.substring(1) };
8441
+ if (/^embed\/.*/.test(query.v)) {
8442
+ query.v = query.v.substring(6);
8443
+ }
8440
8444
  return query.v
8441
8445
  ? '<iframe width="' +
8442
8446
  width +
@@ -12007,6 +12011,7 @@ function extractSelectedPart(wrapper, font, jodit) {
12007
12011
  }
12008
12012
  /**
12009
12013
  * Retrieves content before after the selected area, clears it if it is empty, and inserts before after the framed selection
12014
+ * @private
12010
12015
  */
12011
12016
  function extractAndMove(wrapper, range, left) {
12012
12017
  const fragment = range.extractContents();
@@ -14142,6 +14147,7 @@ const JODIT_EVENTS_ON_HIDE = [
14142
14147
  'changePlace.tooltip',
14143
14148
  'afterOpenPopup.tooltip',
14144
14149
  'hidePopup.tooltip',
14150
+ 'beforePopupClose.tooltip',
14145
14151
  'closeAllPopups.tooltip'
14146
14152
  ];
14147
14153
  let UITooltip = UITooltip_1 = class UITooltip extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_5__/* .UIElement */ .D {
@@ -14154,6 +14160,7 @@ let UITooltip = UITooltip_1 = class UITooltip extends jodit_core_ui_element__WEB
14154
14160
  constructor(view) {
14155
14161
  super(view);
14156
14162
  this.__isOpened = false;
14163
+ this.__attachedContainers = new Set();
14157
14164
  this.__listenClose = false;
14158
14165
  this.__currentTarget = null;
14159
14166
  this.__delayShowTimeout = 0;
@@ -14172,7 +14179,16 @@ let UITooltip = UITooltip_1 = class UITooltip extends jodit_core_ui_element__WEB
14172
14179
  __onAttach(container) {
14173
14180
  // TODO Move it inside __show method. Now it is here because testcase failed with capturing
14174
14181
  (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .getContainer */ .My)(this.j, UITooltip_1).appendChild(this.container);
14175
- this.j.e.on(container, 'mouseenter.tooltip', this.__onMouseEnter, {
14182
+ this.__attachedContainers.add(container);
14183
+ this.__attachedContainers.add(this.j.container);
14184
+ this.j.e
14185
+ .on(container, 'mouseenter.tooltip', this.__onMouseEnter, {
14186
+ capture: true
14187
+ })
14188
+ .on(container, 'mouseleave.tooltip', this.__onMouseLeave, {
14189
+ capture: true
14190
+ })
14191
+ .on(this.j.container, 'mouseleave.tooltip', this.__onMouseLeave, {
14176
14192
  capture: true
14177
14193
  });
14178
14194
  }
@@ -14184,10 +14200,7 @@ let UITooltip = UITooltip_1 = class UITooltip extends jodit_core_ui_element__WEB
14184
14200
  const view = this.j;
14185
14201
  view.e
14186
14202
  .on(view.ow, WINDOW_EVENTS_ON_HIDE, this.__hide)
14187
- .on(JODIT_EVENTS_ON_HIDE, this.__hide)
14188
- .on(view.container, 'mouseleave.tooltip', this.__onMouseLeave, {
14189
- capture: true
14190
- });
14203
+ .on(JODIT_EVENTS_ON_HIDE, this.__hide);
14191
14204
  }
14192
14205
  __removeListenersOnLeave() {
14193
14206
  if (!this.__listenClose) {
@@ -14197,8 +14210,7 @@ let UITooltip = UITooltip_1 = class UITooltip extends jodit_core_ui_element__WEB
14197
14210
  const view = this.j;
14198
14211
  view.e
14199
14212
  .off(view.ow, WINDOW_EVENTS_ON_HIDE, this.__hide)
14200
- .off(JODIT_EVENTS_ON_HIDE, this.__hide)
14201
- .off(view.container, 'mouseleave.tooltip', this.__onMouseLeave);
14213
+ .off(JODIT_EVENTS_ON_HIDE, this.__hide);
14202
14214
  }
14203
14215
  __onMouseLeave(e) {
14204
14216
  if (this.__currentTarget === e.target) {
@@ -14275,7 +14287,11 @@ let UITooltip = UITooltip_1 = class UITooltip extends jodit_core_ui_element__WEB
14275
14287
  this.__hideTimeout = this.async.setTimeout(this.__hide, this.j.defaultTimeout);
14276
14288
  }
14277
14289
  destruct() {
14278
- this.j.e.off(this.j.container, 'mouseenter.tooltip', this.__onMouseEnter);
14290
+ this.__attachedContainers.forEach(container => {
14291
+ this.j.e
14292
+ .off(container, 'mouseenter.tooltip', this.__onMouseEnter)
14293
+ .off(container, 'mouseleave.tooltip', this.__onMouseLeave);
14294
+ });
14279
14295
  this.__hide();
14280
14296
  super.destruct();
14281
14297
  }
@@ -16475,17 +16491,18 @@ class ProgressBar extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_1__/* .
16475
16491
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
16476
16492
  /* harmony export */ T: function() { return /* binding */ ViewWithToolbar; }
16477
16493
  /* harmony export */ });
16478
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(31635);
16494
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(31635);
16479
16495
  /* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(33894);
16480
- /* harmony import */ var jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(33442);
16496
+ /* harmony import */ var jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(33442);
16481
16497
  /* harmony import */ var jodit_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24014);
16482
16498
  /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(23545);
16483
16499
  /* harmony import */ var jodit_core_helpers_array__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(23462);
16484
- /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(26986);
16500
+ /* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(26986);
16485
16501
  /* harmony import */ var jodit_core_helpers_utils_selector__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(52989);
16486
- /* harmony import */ var jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(73246);
16487
- /* harmony import */ var jodit_core_view_view__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(50313);
16488
- /* harmony import */ var jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(78072);
16502
+ /* harmony import */ var jodit_core_ui__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(76185);
16503
+ /* harmony import */ var jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(73246);
16504
+ /* harmony import */ var jodit_core_view_view__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(50313);
16505
+ /* harmony import */ var jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(78072);
16489
16506
  /*!
16490
16507
  * Jodit Editor (https://xdsoft.net/jodit/)
16491
16508
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -16503,13 +16520,14 @@ class ProgressBar extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_1__/* .
16503
16520
 
16504
16521
 
16505
16522
 
16506
- class ViewWithToolbar extends jodit_core_view_view__WEBPACK_IMPORTED_MODULE_5__/* .View */ .S {
16523
+
16524
+ class ViewWithToolbar extends jodit_core_view_view__WEBPACK_IMPORTED_MODULE_6__/* .View */ .S {
16507
16525
  /**
16508
16526
  * Container for toolbar
16509
16527
  */
16510
16528
  get toolbarContainer() {
16511
16529
  if (!this.o.fullsize &&
16512
- ((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))) {
16530
+ ((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))) {
16513
16531
  return (0,jodit_core_helpers_utils_selector__WEBPACK_IMPORTED_MODULE_4__/* .resolveElement */ .tI)(this.o.toolbar, this.o.shadowRoot || this.od);
16514
16532
  }
16515
16533
  this.o.toolbar &&
@@ -16581,7 +16599,7 @@ class ViewWithToolbar extends jodit_core_view_view__WEBPACK_IMPORTED_MODULE_5__/
16581
16599
  beforeToolbarBuild(items) {
16582
16600
  if (Object.keys(this.groupToButtons).length) {
16583
16601
  return items.map(item => {
16584
- if ((0,jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_8__/* .isButtonGroup */ .i)(item) &&
16602
+ if ((0,jodit_core_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_9__/* .isButtonGroup */ .i)(item) &&
16585
16603
  item.group &&
16586
16604
  this.groupToButtons[item.group]) {
16587
16605
  return {
@@ -16599,11 +16617,12 @@ class ViewWithToolbar extends jodit_core_view_view__WEBPACK_IMPORTED_MODULE_5__/
16599
16617
  /** @override **/
16600
16618
  constructor(options, isJodit = false) {
16601
16619
  super(options, isJodit);
16602
- this.toolbar = (0,jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_6__/* .makeCollection */ .$K)(this);
16620
+ this.toolbar = (0,jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_7__/* .makeCollection */ .$K)(this);
16603
16621
  this.__defaultToolbarContainer = this.c.div('jodit-toolbar__box');
16604
16622
  this.registeredButtons = new Set();
16605
16623
  this.groupToButtons = {};
16606
16624
  this.isJodit = false;
16625
+ this.__tooltip = new jodit_core_ui__WEBPACK_IMPORTED_MODULE_5__/* .UITooltip */ .SB(this);
16607
16626
  this.isJodit = isJodit;
16608
16627
  this.e.on('beforeToolbarBuild', this.beforeToolbarBuild);
16609
16628
  }
@@ -16613,17 +16632,18 @@ class ViewWithToolbar extends jodit_core_view_view__WEBPACK_IMPORTED_MODULE_5__/
16613
16632
  }
16614
16633
  this.setStatus(jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_0__/* .STATUSES */ .f.beforeDestruct);
16615
16634
  this.e.off('beforeToolbarBuild', this.beforeToolbarBuild);
16635
+ this.__tooltip.destruct();
16616
16636
  this.toolbar.destruct();
16617
16637
  // @ts-ignore After destruct, we are not responsible for anything
16618
16638
  this.toolbar = undefined;
16619
16639
  super.destruct();
16620
16640
  }
16621
16641
  }
16622
- (0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .Cg)([
16642
+ (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__decorate */ .Cg)([
16623
16643
  (0,jodit_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_1__/* .watch */ .w)(':rebuildToolbar')
16624
16644
  ], ViewWithToolbar.prototype, "buildToolbar", null);
16625
- (0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .Cg)([
16626
- jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Ay
16645
+ (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__decorate */ .Cg)([
16646
+ jodit_core_decorators_autobind_autobind__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Ay
16627
16647
  ], ViewWithToolbar.prototype, "beforeToolbarBuild", null);
16628
16648
 
16629
16649
 
@@ -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);
@@ -21684,6 +21714,7 @@ class Snapshot extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .View
21684
21714
  constructor() {
21685
21715
  super(...arguments);
21686
21716
  this.__isBlocked = false;
21717
+ this.__levelOfTransaction = 0;
21687
21718
  }
21688
21719
  /** @override */
21689
21720
  className() {
@@ -21764,6 +21795,7 @@ class Snapshot extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .View
21764
21795
  }
21765
21796
  transaction(changes) {
21766
21797
  this.__block(true);
21798
+ this.__levelOfTransaction += 1;
21767
21799
  try {
21768
21800
  changes();
21769
21801
  }
@@ -21772,7 +21804,12 @@ class Snapshot extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .View
21772
21804
  throw e;
21773
21805
  }
21774
21806
  }
21775
- this.__block(false);
21807
+ finally {
21808
+ this.__levelOfTransaction -= 1;
21809
+ if (this.__levelOfTransaction === 0) {
21810
+ this.__block(false);
21811
+ }
21812
+ }
21776
21813
  }
21777
21814
  /**
21778
21815
  * Creates object a snapshot of editor: html and the current selection. Current selection calculate by
@@ -24014,17 +24051,26 @@ let ToolbarButton = class ToolbarButton extends jodit_core_ui_button__WEBPACK_IM
24014
24051
  if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isFunction)(ctr.popup)) {
24015
24052
  const popup = this.openPopup();
24016
24053
  popup.parentElement = this;
24017
- if (this.j.e.fire((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.camelCase)(`before-${ctr.name}-open-popup`), this.target, ctr, popup) !== false) {
24018
- const 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;
24019
- const elm = ctr.popup(this.j, target, this.__closePopup, this);
24020
- if (elm) {
24021
- popup
24022
- .setContent((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isString)(elm) ? this.j.c.fromHTML(elm) : elm)
24023
- .open(() => (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.position)(this.container), false, this.j.o.allowTabNavigation
24024
- ? this.container
24025
- : undefined);
24054
+ try {
24055
+ if (this.j.e.fire((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.camelCase)(`before-${ctr.name}-open-popup`), this.target, ctr, popup) !== false) {
24056
+ const 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;
24057
+ const elm = ctr.popup(this.j, target, this.__closePopup, this);
24058
+ if (elm) {
24059
+ popup
24060
+ .setContent((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isString)(elm) ? this.j.c.fromHTML(elm) : elm)
24061
+ .open(() => (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.position)(this.container), false, this.j.o.allowTabNavigation
24062
+ ? this.container
24063
+ : undefined);
24064
+ }
24065
+ else {
24066
+ this.__closePopup();
24067
+ }
24026
24068
  }
24027
24069
  }
24070
+ catch (e) {
24071
+ this.__closePopup();
24072
+ throw e;
24073
+ }
24028
24074
  /**
24029
24075
  * Fired after the popup was opened for some control button
24030
24076
  */
@@ -24404,7 +24450,6 @@ let ToolbarCollection = class ToolbarCollection extends jodit_core_ui__WEBPACK_I
24404
24450
  super(jodit);
24405
24451
  this.__listenEvents = 'updatePlugins updateToolbar changeStack mousedown mouseup keydown change afterInit readonly afterResize ' +
24406
24452
  'selectionchange changeSelection focus afterSetMode touchstart focus blur';
24407
- this.__tooltip = new jodit_core_ui__WEBPACK_IMPORTED_MODULE_2__/* .UITooltip */ .SB(this.jodit);
24408
24453
  }
24409
24454
  __initEvents() {
24410
24455
  this.j.e
@@ -24431,12 +24476,9 @@ let ToolbarCollection = class ToolbarCollection extends jodit_core_ui__WEBPACK_I
24431
24476
  }
24432
24477
  /** @override **/
24433
24478
  destruct() {
24434
- var _a;
24435
24479
  if (this.isDestructed) {
24436
24480
  return;
24437
24481
  }
24438
- (_a = this.__tooltip) === null || _a === void 0 ? void 0 : _a.destruct();
24439
- this.__tooltip = null;
24440
24482
  this.j.e
24441
24483
  .off(this.__listenEvents, this.update)
24442
24484
  .off('afterSetMode focus', this.__immediateUpdate);
@@ -26417,6 +26459,9 @@ __webpack_require__.r(__webpack_exports__);
26417
26459
  * Released under MIT see LICENSE.txt in the project root for license information.
26418
26460
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
26419
26461
  */
26462
+ /**
26463
+ * @module plugins/ai-assistant
26464
+ */
26420
26465
 
26421
26466
 
26422
26467
 
@@ -30421,9 +30466,11 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_3__/* .pluginSystem */ .fg.add('enter
30421
30466
  */
30422
30467
  function checkBR(fake, jodit, shiftKeyPressed) {
30423
30468
  const isMultiLineBlock = Boolean(jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.closest(fake, ['pre', 'blockquote'], jodit.editor));
30469
+ const isCell = !isMultiLineBlock && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.closest(fake, ['td', 'th'], jodit.editor);
30424
30470
  const isBRMode = jodit.o.enter.toLowerCase() === jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.BR.toLowerCase();
30425
30471
  // if you use <br> defaultTag for break line or when was entered SHIFt key or in <td> or <th> or <blockquote>
30426
30472
  if (isBRMode ||
30473
+ isCell ||
30427
30474
  (shiftKeyPressed && !isMultiLineBlock) ||
30428
30475
  (!shiftKeyPressed && isMultiLineBlock)) {
30429
30476
  // 2 BR before
@@ -32401,7 +32448,9 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .pluginSystem */ .fg.add('image
32401
32448
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
32402
32449
  */
32403
32450
 
32404
- /** @private */
32451
+ /**
32452
+ * @private
32453
+ */
32405
32454
  function readAlign(image, values) {
32406
32455
  // Align
32407
32456
  if (image.style.cssFloat &&
@@ -32526,6 +32575,9 @@ function readLink(state, j, values) {
32526
32575
  * Released under MIT see LICENSE.txt in the project root for license information.
32527
32576
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
32528
32577
  */
32578
+ /**
32579
+ * @module plugins/image-properties
32580
+ */
32529
32581
 
32530
32582
  /** @private */
32531
32583
  function readMargins(image, values, state) {
@@ -32571,6 +32623,9 @@ function readMargins(image, values, state) {
32571
32623
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
32572
32624
  */
32573
32625
 
32626
+ /**
32627
+ * @module plugins/image-properties
32628
+ */
32574
32629
 
32575
32630
 
32576
32631
 
@@ -33390,6 +33445,9 @@ function openImagePopup(j, dialog, state, button) {
33390
33445
  * Released under MIT see LICENSE.txt in the project root for license information.
33391
33446
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
33392
33447
  */
33448
+ /**
33449
+ * @module plugins/image-properties
33450
+ */
33393
33451
 
33394
33452
 
33395
33453
  /** @private */
@@ -33578,6 +33636,9 @@ function applyMargin(j, marginTop, marginRight, marginBottom, marginLeft, image,
33578
33636
  * Released under MIT see LICENSE.txt in the project root for license information.
33579
33637
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
33580
33638
  */
33639
+ /**
33640
+ * @module plugins/image-properties
33641
+ */
33581
33642
 
33582
33643
 
33583
33644
 
@@ -33920,6 +33981,7 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .pluginSystem */ .fg.add('inden
33920
33981
 
33921
33982
 
33922
33983
 
33984
+ // import 'jodit/plugins/debug/debug';
33923
33985
 
33924
33986
 
33925
33987
 
@@ -34549,10 +34611,10 @@ class inlinePopup extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_4__/* .Plug
34549
34611
  if (!this.j.o.toolbarInlineForSelection) {
34550
34612
  return;
34551
34613
  }
34552
- const type = 'selection', sel = this.j.s.sel, range = this.j.s.range;
34553
- if ((sel === null || sel === void 0 ? void 0 : sel.isCollapsed) ||
34554
- this.isSelectedTarget(range) ||
34555
- this.tableModule.getAllSelectedCells().length) {
34614
+ const type = 'selection';
34615
+ const sel = this.j.s.sel;
34616
+ const range = this.j.s.range;
34617
+ if ((sel === null || sel === void 0 ? void 0 : sel.isCollapsed) || this.isSelectedTarget(range)) {
34556
34618
  if (this.type === type && this.popup.isOpened) {
34557
34619
  this.hidePopup();
34558
34620
  }
@@ -34577,9 +34639,9 @@ class inlinePopup extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_4__/* .Plug
34577
34639
  /**
34578
34640
  * Shortcut for Table module
34579
34641
  */
34580
- get tableModule() {
34581
- return this.j.getInstance('Table', this.j.o);
34582
- }
34642
+ // private get tableModule(): Table {
34643
+ // return this.j.getInstance<Table>('Table', this.j.o);
34644
+ // }
34583
34645
  /** @override **/
34584
34646
  beforeDestruct(jodit) {
34585
34647
  jodit.e
@@ -35715,13 +35777,17 @@ class link extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_4__/* .Plugin */ .
35715
35777
  }
35716
35778
  }
35717
35779
  onProcessPasteLink(ignore, html) {
35780
+ var _a, _b, _c, _d;
35718
35781
  const { jodit } = this;
35719
35782
  if (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isURL)(html) || !jodit.o.link.processPastedLink) {
35720
35783
  return;
35721
35784
  }
35722
35785
  jodit.e.stopPropagation('processPaste');
35723
35786
  if (jodit.o.link.processVideoLink) {
35724
- const embed = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.convertMediaUrlToVideoEmbed)(html);
35787
+ const 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, {
35788
+ width: (_c = jodit.o.video) === null || _c === void 0 ? void 0 : _c.defaultWidth,
35789
+ height: (_d = jodit.o.video) === null || _d === void 0 ? void 0 : _d.defaultHeight
35790
+ });
35725
35791
  if (embed !== html) {
35726
35792
  return jodit.createInside.fromHTML(embed);
35727
35793
  }
@@ -42349,14 +42415,13 @@ jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config */ .T.prototype.controls.sym
42349
42415
  editor.e.on(container, 'close_dialog', close);
42350
42416
  return box;
42351
42417
  }
42352
- else {
42353
- editor
42354
- .alert(container, 'Select Special Character', undefined, 'jodit-symbols')
42355
- .bindDestruct(editor);
42356
- const a = container.querySelector('a');
42357
- a && a.focus();
42358
- }
42418
+ editor
42419
+ .alert(container, 'Select Special Character', undefined, 'jodit-symbols')
42420
+ .bindDestruct(editor);
42421
+ const a = container.querySelector('a');
42422
+ a && a.focus();
42359
42423
  }
42424
+ return;
42360
42425
  }
42361
42426
  };
42362
42427
 
@@ -42873,17 +42938,15 @@ module.exports = {
42873
42938
  class symbols extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_4__/* .Plugin */ .k {
42874
42939
  constructor(jodit) {
42875
42940
  super(jodit);
42876
- /** @override */
42877
42941
  this.buttons = [
42878
42942
  {
42879
42943
  name: 'symbols',
42880
42944
  group: 'insert'
42881
42945
  }
42882
42946
  ];
42883
- this.countInRow = 17;
42947
+ this.__countInRow = 17;
42884
42948
  (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_2__/* .extendLang */ .JW)(_langs__WEBPACK_IMPORTED_MODULE_6__);
42885
42949
  }
42886
- /** @override */
42887
42950
  afterInit(jodit) {
42888
42951
  jodit.e.on('generateSpecialCharactersTable.symbols', () => {
42889
42952
  const container = jodit.c.fromHTML(`<div class="jodit-symbols__container">
@@ -42893,10 +42956,15 @@ class symbols extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_4__/* .P
42893
42956
  <div class="jodit-symbols__container_preview">
42894
42957
  <div class="jodit-symbols__preview"></div>
42895
42958
  </div>
42896
- </div>`), preview = container.querySelector('.jodit-symbols__preview'), table = container.querySelector('table'), body = table.tBodies[0], chars = [];
42959
+ </div>`);
42960
+ const preview = container.querySelector('.jodit-symbols__preview');
42961
+ const table = container.querySelector('table');
42962
+ const body = table.tBodies[0];
42963
+ const chars = [];
42897
42964
  for (let i = 0; i < jodit.o.specialCharacters.length;) {
42898
42965
  const tr = jodit.c.element('tr');
42899
- for (let j = 0; j < this.countInRow && i < jodit.o.specialCharacters.length; j += 1, i += 1) {
42966
+ for (let j = 0; j < this.__countInRow &&
42967
+ i < jodit.o.specialCharacters.length; j += 1, i += 1) {
42900
42968
  const td = jodit.c.element('td'), a = jodit.c.fromHTML(`<a
42901
42969
  data-index="${i}"
42902
42970
  data-index-j="${j}"
@@ -42918,7 +42986,9 @@ class symbols extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_4__/* .P
42918
42986
  if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isTag(this, 'a')) {
42919
42987
  jodit.s.focus();
42920
42988
  jodit.s.insertHTML(this.innerHTML);
42921
- jodit.e.fire(this, 'close_dialog');
42989
+ if (!(e === null || e === void 0 ? void 0 : e.shiftKey)) {
42990
+ jodit.e.fire(this, 'close_dialog');
42991
+ }
42922
42992
  e && e.preventDefault();
42923
42993
  e && e.stopImmediatePropagation();
42924
42994
  }
@@ -42938,18 +43008,18 @@ class symbols extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_4__/* .P
42938
43008
  case jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.KEY_DOWN:
42939
43009
  newIndex =
42940
43010
  e.key === jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.KEY_UP
42941
- ? index - self.countInRow
42942
- : index + self.countInRow;
43011
+ ? index - self.__countInRow
43012
+ : index + self.__countInRow;
42943
43013
  if (chars[newIndex] === undefined) {
42944
43014
  newIndex =
42945
43015
  e.key === jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.KEY_UP
42946
43016
  ? Math.floor(chars.length /
42947
- self.countInRow) *
42948
- self.countInRow +
43017
+ self.__countInRow) *
43018
+ self.__countInRow +
42949
43019
  jIndex
42950
43020
  : jIndex;
42951
43021
  if (newIndex > chars.length - 1) {
42952
- newIndex -= self.countInRow;
43022
+ newIndex -= self.__countInRow;
42953
43023
  }
42954
43024
  }
42955
43025
  chars[newIndex] && chars[newIndex].focus();
@@ -43564,12 +43634,17 @@ jodit_core_global__WEBPACK_IMPORTED_MODULE_0__/* .pluginSystem */ .fg.add('table
43564
43634
 
43565
43635
 
43566
43636
 
43637
+ jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.video = {
43638
+ parseUrlToVideoEmbed: jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.convertMediaUrlToVideoEmbed,
43639
+ defaultWidth: 400,
43640
+ defaultHeight: 345
43641
+ };
43567
43642
  jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__/* .Icon */ .I.set('video', (_video_svg__WEBPACK_IMPORTED_MODULE_6___default()));
43568
43643
  jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.controls.video = {
43569
- popup: (editor, current, close) => {
43570
- const formLink = new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIForm */ .XV(editor, [
43571
- new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(editor, [
43572
- new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIInput */ .tS(editor, {
43644
+ popup: (jodit, current, close) => {
43645
+ const formLink = new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIForm */ .XV(jodit, [
43646
+ new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(jodit, [
43647
+ new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIInput */ .tS(jodit, {
43573
43648
  name: 'url',
43574
43649
  required: true,
43575
43650
  label: 'URL',
@@ -43577,26 +43652,26 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.controls.vid
43577
43652
  validators: ['url']
43578
43653
  })
43579
43654
  ]),
43580
- new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(editor, [
43581
- (0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_1__/* .Button */ .$n)(editor, '', 'Insert', 'primary').onAction(() => formLink.submit())
43655
+ new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(jodit, [
43656
+ (0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_1__/* .Button */ .$n)(jodit, '', 'Insert', 'primary').onAction(() => formLink.submit())
43582
43657
  ])
43583
- ]), formCode = new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIForm */ .XV(editor, [
43584
- new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(editor, [
43585
- new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UITextArea */ .F0(editor, {
43658
+ ]), formCode = new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIForm */ .XV(jodit, [
43659
+ new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(jodit, [
43660
+ new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UITextArea */ .F0(jodit, {
43586
43661
  name: 'code',
43587
43662
  required: true,
43588
43663
  label: 'Embed code'
43589
43664
  })
43590
43665
  ]),
43591
- new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(editor, [
43592
- (0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_1__/* .Button */ .$n)(editor, '', 'Insert', 'primary').onAction(() => formCode.submit())
43666
+ new jodit_core_ui_form__WEBPACK_IMPORTED_MODULE_2__/* .UIBlock */ .Yh(jodit, [
43667
+ (0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_1__/* .Button */ .$n)(jodit, '', 'Insert', 'primary').onAction(() => formCode.submit())
43593
43668
  ])
43594
43669
  ]), tabs = [], insertCode = (code) => {
43595
- editor.s.restore();
43596
- editor.s.insertHTML(code);
43670
+ jodit.s.restore();
43671
+ jodit.s.insertHTML(code);
43597
43672
  close();
43598
43673
  };
43599
- editor.s.save();
43674
+ jodit.s.save();
43600
43675
  tabs.push({
43601
43676
  icon: 'link',
43602
43677
  name: 'Link',
@@ -43607,12 +43682,16 @@ jodit_config__WEBPACK_IMPORTED_MODULE_4__/* .Config */ .T.prototype.controls.vid
43607
43682
  content: formCode.container
43608
43683
  });
43609
43684
  formLink.onSubmit(data => {
43610
- insertCode((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.convertMediaUrlToVideoEmbed)(data.url));
43685
+ var _a, _b, _c, _d;
43686
+ 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, {
43687
+ width: (_c = jodit.o.video) === null || _c === void 0 ? void 0 : _c.defaultWidth,
43688
+ height: (_d = jodit.o.video) === null || _d === void 0 ? void 0 : _d.defaultHeight
43689
+ }));
43611
43690
  });
43612
43691
  formCode.onSubmit(data => {
43613
43692
  insertCode(data.code);
43614
43693
  });
43615
- return (0,jodit_modules_widget__WEBPACK_IMPORTED_MODULE_5__/* .TabsWidget */ .Zg)(editor, tabs);
43694
+ return (0,jodit_modules_widget__WEBPACK_IMPORTED_MODULE_5__/* .TabsWidget */ .Zg)(jodit, tabs);
43616
43695
  },
43617
43696
  tags: ['iframe'],
43618
43697
  tooltip: 'Insert youtube/vimeo video'
@@ -46417,7 +46496,7 @@ module.exports = {assert(){}};;
46417
46496
  /* harmony export */ Cg: function() { return /* binding */ __decorate; },
46418
46497
  /* harmony export */ sH: function() { return /* binding */ __awaiter; }
46419
46498
  /* harmony export */ });
46420
- /* unused harmony exports __extends, __assign, __rest, __param, __esDecorate, __runInitializers, __propKey, __setFunctionName, __metadata, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __spreadArray, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet, __classPrivateFieldIn, __addDisposableResource, __disposeResources */
46499
+ /* unused harmony exports __extends, __assign, __rest, __param, __esDecorate, __runInitializers, __propKey, __setFunctionName, __metadata, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __spreadArray, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet, __classPrivateFieldIn, __addDisposableResource, __disposeResources, __rewriteRelativeImportExtension */
46421
46500
  /******************************************************************************
46422
46501
  Copyright (c) Microsoft Corporation.
46423
46502
 
@@ -46683,10 +46762,19 @@ var __setModuleDefault = Object.create ? (function(o, v) {
46683
46762
  o["default"] = v;
46684
46763
  };
46685
46764
 
46765
+ var ownKeys = function(o) {
46766
+ ownKeys = Object.getOwnPropertyNames || function (o) {
46767
+ var ar = [];
46768
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
46769
+ return ar;
46770
+ };
46771
+ return ownKeys(o);
46772
+ };
46773
+
46686
46774
  function __importStar(mod) {
46687
46775
  if (mod && mod.__esModule) return mod;
46688
46776
  var result = {};
46689
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
46777
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
46690
46778
  __setModuleDefault(result, mod);
46691
46779
  return result;
46692
46780
  }
@@ -46767,12 +46855,25 @@ function __disposeResources(env) {
46767
46855
  return next();
46768
46856
  }
46769
46857
 
46858
+ function __rewriteRelativeImportExtension(path, preserveJsx) {
46859
+ if (typeof path === "string" && /^\.\.?\//.test(path)) {
46860
+ return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
46861
+ return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
46862
+ });
46863
+ }
46864
+ return path;
46865
+ }
46866
+
46770
46867
  /* unused harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = ({
46771
46868
  __extends,
46772
46869
  __assign,
46773
46870
  __rest,
46774
46871
  __decorate,
46775
46872
  __param,
46873
+ __esDecorate,
46874
+ __runInitializers,
46875
+ __propKey,
46876
+ __setFunctionName,
46776
46877
  __metadata,
46777
46878
  __awaiter,
46778
46879
  __generator,
@@ -46795,6 +46896,7 @@ function __disposeResources(env) {
46795
46896
  __classPrivateFieldIn,
46796
46897
  __addDisposableResource,
46797
46898
  __disposeResources,
46899
+ __rewriteRelativeImportExtension,
46798
46900
  });
46799
46901
 
46800
46902
 
@@ -47080,7 +47182,7 @@ function __disposeResources(env) {
47080
47182
  /******/
47081
47183
  /************************************************************************/
47082
47184
  var __webpack_exports__ = {};
47083
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
47185
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
47084
47186
  !function() {
47085
47187
  "use strict";
47086
47188
  __webpack_require__.r(__webpack_exports__);