jodit-pro 4.13.16 → 4.13.17

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 (325) hide show
  1. package/es2015/jodit.css +2 -2
  2. package/es2015/jodit.fat.min.css +1 -1
  3. package/es2015/jodit.fat.min.js +3 -3
  4. package/es2015/jodit.js +150 -17
  5. package/es2015/jodit.min.css +1 -1
  6. package/es2015/jodit.min.js +3 -3
  7. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  8. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  9. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  10. package/es2015/plugins/autocomplete/autocomplete.css +1 -1
  11. package/es2015/plugins/autocomplete/autocomplete.js +1 -1
  12. package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
  13. package/es2015/plugins/backup/backup.css +1 -1
  14. package/es2015/plugins/backup/backup.js +1 -1
  15. package/es2015/plugins/backup/backup.min.js +1 -1
  16. package/es2015/plugins/button-generator/button-generator.css +1 -1
  17. package/es2015/plugins/button-generator/button-generator.js +1 -1
  18. package/es2015/plugins/button-generator/button-generator.min.js +1 -1
  19. package/es2015/plugins/change-case/change-case.js +1 -1
  20. package/es2015/plugins/change-case/change-case.min.js +1 -1
  21. package/es2015/plugins/color-picker/color-picker.css +1 -1
  22. package/es2015/plugins/color-picker/color-picker.js +1 -1
  23. package/es2015/plugins/color-picker/color-picker.min.js +1 -1
  24. package/es2015/plugins/emoji/emoji.css +1 -1
  25. package/es2015/plugins/emoji/emoji.js +1 -1
  26. package/es2015/plugins/emoji/emoji.min.js +1 -1
  27. package/es2015/plugins/export-docs/export-docs.js +1 -1
  28. package/es2015/plugins/export-docs/export-docs.min.js +1 -1
  29. package/es2015/plugins/finder/finder.css +1 -1
  30. package/es2015/plugins/finder/finder.js +1 -1
  31. package/es2015/plugins/finder/finder.min.js +1 -1
  32. package/es2015/plugins/google-maps/google-maps.css +1 -1
  33. package/es2015/plugins/google-maps/google-maps.js +1 -1
  34. package/es2015/plugins/google-maps/google-maps.min.js +1 -1
  35. package/es2015/plugins/google-search/google-search.js +1 -1
  36. package/es2015/plugins/google-search/google-search.min.js +1 -1
  37. package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
  38. package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
  39. package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
  40. package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
  41. package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
  42. package/es2015/plugins/image-editor-pro/image-editor-pro.css +1 -1
  43. package/es2015/plugins/image-editor-pro/image-editor-pro.js +1 -1
  44. package/es2015/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  45. package/es2015/plugins/keyboard/keyboard.css +1 -1
  46. package/es2015/plugins/keyboard/keyboard.js +1 -1
  47. package/es2015/plugins/keyboard/keyboard.min.js +1 -1
  48. package/es2015/plugins/mobile-view/mobile-view.js +1 -1
  49. package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
  50. package/es2015/plugins/page-break/page-break.js +1 -1
  51. package/es2015/plugins/page-break/page-break.min.js +1 -1
  52. package/es2015/plugins/paste-code/paste-code.css +1 -1
  53. package/es2015/plugins/paste-code/paste-code.js +1 -1
  54. package/es2015/plugins/paste-code/paste-code.min.js +1 -1
  55. package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
  56. package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
  57. package/es2015/plugins/show-blocks/show-blocks.js +1 -1
  58. package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
  59. package/es2015/plugins/style/style.css +1 -1
  60. package/es2015/plugins/style/style.js +1 -1
  61. package/es2015/plugins/style/style.min.js +1 -1
  62. package/es2015/plugins/templates/templates.css +1 -1
  63. package/es2015/plugins/templates/templates.js +1 -1
  64. package/es2015/plugins/templates/templates.min.js +1 -1
  65. package/es2015/plugins/todo-list/todo-list.css +1 -1
  66. package/es2015/plugins/todo-list/todo-list.js +1 -1
  67. package/es2015/plugins/todo-list/todo-list.min.js +1 -1
  68. package/es2015/plugins/translate/translate.css +1 -1
  69. package/es2015/plugins/translate/translate.js +1 -1
  70. package/es2015/plugins/translate/translate.min.js +1 -1
  71. package/es2015/plugins/tune-block/tune-block.css +1 -1
  72. package/es2015/plugins/tune-block/tune-block.js +1 -1
  73. package/es2015/plugins/tune-block/tune-block.min.js +1 -1
  74. package/es2018/jodit.fat.min.css +1 -1
  75. package/es2018/jodit.fat.min.js +15 -15
  76. package/es2018/jodit.min.css +1 -1
  77. package/es2018/jodit.min.js +3 -3
  78. package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  79. package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
  80. package/es2018/plugins/backup/backup.min.js +1 -1
  81. package/es2018/plugins/button-generator/button-generator.min.js +1 -1
  82. package/es2018/plugins/change-case/change-case.min.js +1 -1
  83. package/es2018/plugins/color-picker/color-picker.min.js +1 -1
  84. package/es2018/plugins/emoji/emoji.min.js +1 -1
  85. package/es2018/plugins/export-docs/export-docs.min.js +1 -1
  86. package/es2018/plugins/finder/finder.min.js +1 -1
  87. package/es2018/plugins/google-maps/google-maps.min.js +1 -1
  88. package/es2018/plugins/google-search/google-search.min.js +1 -1
  89. package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
  90. package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
  91. package/es2018/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  92. package/es2018/plugins/keyboard/keyboard.min.js +1 -1
  93. package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
  94. package/es2018/plugins/page-break/page-break.min.js +1 -1
  95. package/es2018/plugins/paste-code/paste-code.min.js +1 -1
  96. package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
  97. package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
  98. package/es2018/plugins/style/style.min.js +1 -1
  99. package/es2018/plugins/templates/templates.min.js +1 -1
  100. package/es2018/plugins/todo-list/todo-list.min.js +1 -1
  101. package/es2018/plugins/translate/translate.min.js +1 -1
  102. package/es2018/plugins/tune-block/tune-block.min.js +1 -1
  103. package/es2021/jodit.css +2 -2
  104. package/es2021/jodit.fat.min.css +1 -1
  105. package/es2021/jodit.fat.min.js +4 -4
  106. package/es2021/jodit.js +150 -17
  107. package/es2021/jodit.min.css +1 -1
  108. package/es2021/jodit.min.js +4 -4
  109. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  110. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  111. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  112. package/es2021/plugins/autocomplete/autocomplete.css +1 -1
  113. package/es2021/plugins/autocomplete/autocomplete.js +1 -1
  114. package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
  115. package/es2021/plugins/backup/backup.css +1 -1
  116. package/es2021/plugins/backup/backup.js +1 -1
  117. package/es2021/plugins/backup/backup.min.js +1 -1
  118. package/es2021/plugins/button-generator/button-generator.css +1 -1
  119. package/es2021/plugins/button-generator/button-generator.js +1 -1
  120. package/es2021/plugins/button-generator/button-generator.min.js +1 -1
  121. package/es2021/plugins/change-case/change-case.js +1 -1
  122. package/es2021/plugins/change-case/change-case.min.js +1 -1
  123. package/es2021/plugins/color-picker/color-picker.css +1 -1
  124. package/es2021/plugins/color-picker/color-picker.js +1 -1
  125. package/es2021/plugins/color-picker/color-picker.min.js +1 -1
  126. package/es2021/plugins/emoji/emoji.css +1 -1
  127. package/es2021/plugins/emoji/emoji.js +1 -1
  128. package/es2021/plugins/emoji/emoji.min.js +1 -1
  129. package/es2021/plugins/export-docs/export-docs.js +1 -1
  130. package/es2021/plugins/export-docs/export-docs.min.js +1 -1
  131. package/es2021/plugins/finder/finder.css +1 -1
  132. package/es2021/plugins/finder/finder.js +1 -1
  133. package/es2021/plugins/finder/finder.min.js +1 -1
  134. package/es2021/plugins/google-maps/google-maps.css +1 -1
  135. package/es2021/plugins/google-maps/google-maps.js +1 -1
  136. package/es2021/plugins/google-maps/google-maps.min.js +1 -1
  137. package/es2021/plugins/google-search/google-search.js +1 -1
  138. package/es2021/plugins/google-search/google-search.min.js +1 -1
  139. package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
  140. package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
  141. package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
  142. package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
  143. package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
  144. package/es2021/plugins/image-editor-pro/image-editor-pro.css +1 -1
  145. package/es2021/plugins/image-editor-pro/image-editor-pro.js +1 -1
  146. package/es2021/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  147. package/es2021/plugins/keyboard/keyboard.css +1 -1
  148. package/es2021/plugins/keyboard/keyboard.js +1 -1
  149. package/es2021/plugins/keyboard/keyboard.min.js +1 -1
  150. package/es2021/plugins/mobile-view/mobile-view.js +1 -1
  151. package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
  152. package/es2021/plugins/page-break/page-break.js +1 -1
  153. package/es2021/plugins/page-break/page-break.min.js +1 -1
  154. package/es2021/plugins/paste-code/paste-code.css +1 -1
  155. package/es2021/plugins/paste-code/paste-code.js +1 -1
  156. package/es2021/plugins/paste-code/paste-code.min.js +1 -1
  157. package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
  158. package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
  159. package/es2021/plugins/show-blocks/show-blocks.js +1 -1
  160. package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
  161. package/es2021/plugins/style/style.css +1 -1
  162. package/es2021/plugins/style/style.js +1 -1
  163. package/es2021/plugins/style/style.min.js +1 -1
  164. package/es2021/plugins/templates/templates.css +1 -1
  165. package/es2021/plugins/templates/templates.js +1 -1
  166. package/es2021/plugins/templates/templates.min.js +1 -1
  167. package/es2021/plugins/todo-list/todo-list.css +1 -1
  168. package/es2021/plugins/todo-list/todo-list.js +1 -1
  169. package/es2021/plugins/todo-list/todo-list.min.js +1 -1
  170. package/es2021/plugins/translate/translate.css +1 -1
  171. package/es2021/plugins/translate/translate.js +1 -1
  172. package/es2021/plugins/translate/translate.min.js +1 -1
  173. package/es2021/plugins/tune-block/tune-block.css +1 -1
  174. package/es2021/plugins/tune-block/tune-block.js +1 -1
  175. package/es2021/plugins/tune-block/tune-block.min.js +1 -1
  176. package/es2021.en/jodit.css +2 -2
  177. package/es2021.en/jodit.fat.min.css +1 -1
  178. package/es2021.en/jodit.fat.min.js +131 -131
  179. package/es2021.en/jodit.js +150 -17
  180. package/es2021.en/jodit.min.css +1 -1
  181. package/es2021.en/jodit.min.js +4 -4
  182. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  183. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  184. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  185. package/es2021.en/plugins/autocomplete/autocomplete.css +1 -1
  186. package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
  187. package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
  188. package/es2021.en/plugins/backup/backup.css +1 -1
  189. package/es2021.en/plugins/backup/backup.js +1 -1
  190. package/es2021.en/plugins/backup/backup.min.js +1 -1
  191. package/es2021.en/plugins/button-generator/button-generator.css +1 -1
  192. package/es2021.en/plugins/button-generator/button-generator.js +1 -1
  193. package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
  194. package/es2021.en/plugins/change-case/change-case.js +1 -1
  195. package/es2021.en/plugins/change-case/change-case.min.js +1 -1
  196. package/es2021.en/plugins/color-picker/color-picker.css +1 -1
  197. package/es2021.en/plugins/color-picker/color-picker.js +1 -1
  198. package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
  199. package/es2021.en/plugins/emoji/emoji.css +1 -1
  200. package/es2021.en/plugins/emoji/emoji.js +1 -1
  201. package/es2021.en/plugins/emoji/emoji.min.js +1 -1
  202. package/es2021.en/plugins/export-docs/export-docs.js +1 -1
  203. package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
  204. package/es2021.en/plugins/finder/finder.css +1 -1
  205. package/es2021.en/plugins/finder/finder.js +1 -1
  206. package/es2021.en/plugins/finder/finder.min.js +1 -1
  207. package/es2021.en/plugins/google-maps/google-maps.css +1 -1
  208. package/es2021.en/plugins/google-maps/google-maps.js +1 -1
  209. package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
  210. package/es2021.en/plugins/google-search/google-search.js +1 -1
  211. package/es2021.en/plugins/google-search/google-search.min.js +1 -1
  212. package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
  213. package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
  214. package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
  215. package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
  216. package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
  217. package/es2021.en/plugins/image-editor-pro/image-editor-pro.css +1 -1
  218. package/es2021.en/plugins/image-editor-pro/image-editor-pro.js +1 -1
  219. package/es2021.en/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  220. package/es2021.en/plugins/keyboard/keyboard.css +1 -1
  221. package/es2021.en/plugins/keyboard/keyboard.js +1 -1
  222. package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
  223. package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
  224. package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
  225. package/es2021.en/plugins/page-break/page-break.js +1 -1
  226. package/es2021.en/plugins/page-break/page-break.min.js +1 -1
  227. package/es2021.en/plugins/paste-code/paste-code.css +1 -1
  228. package/es2021.en/plugins/paste-code/paste-code.js +1 -1
  229. package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
  230. package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
  231. package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
  232. package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
  233. package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
  234. package/es2021.en/plugins/style/style.css +1 -1
  235. package/es2021.en/plugins/style/style.js +1 -1
  236. package/es2021.en/plugins/style/style.min.js +1 -1
  237. package/es2021.en/plugins/templates/templates.css +1 -1
  238. package/es2021.en/plugins/templates/templates.js +1 -1
  239. package/es2021.en/plugins/templates/templates.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/jodit.css +3 -3
  250. package/es5/jodit.fat.min.css +1 -1
  251. package/es5/jodit.fat.min.js +2 -2
  252. package/es5/jodit.js +186 -17
  253. package/es5/jodit.min.css +3 -3
  254. package/es5/jodit.min.js +2 -2
  255. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  256. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  257. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  258. package/es5/plugins/autocomplete/autocomplete.css +1 -1
  259. package/es5/plugins/autocomplete/autocomplete.js +1 -1
  260. package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
  261. package/es5/plugins/backup/backup.css +1 -1
  262. package/es5/plugins/backup/backup.js +1 -1
  263. package/es5/plugins/backup/backup.min.js +1 -1
  264. package/es5/plugins/button-generator/button-generator.css +1 -1
  265. package/es5/plugins/button-generator/button-generator.js +1 -1
  266. package/es5/plugins/button-generator/button-generator.min.js +1 -1
  267. package/es5/plugins/change-case/change-case.js +1 -1
  268. package/es5/plugins/change-case/change-case.min.js +1 -1
  269. package/es5/plugins/color-picker/color-picker.css +1 -1
  270. package/es5/plugins/color-picker/color-picker.js +1 -1
  271. package/es5/plugins/color-picker/color-picker.min.js +1 -1
  272. package/es5/plugins/emoji/emoji.css +1 -1
  273. package/es5/plugins/emoji/emoji.js +1 -1
  274. package/es5/plugins/emoji/emoji.min.js +1 -1
  275. package/es5/plugins/export-docs/export-docs.js +1 -1
  276. package/es5/plugins/export-docs/export-docs.min.js +1 -1
  277. package/es5/plugins/finder/finder.css +1 -1
  278. package/es5/plugins/finder/finder.js +1 -1
  279. package/es5/plugins/finder/finder.min.js +1 -1
  280. package/es5/plugins/google-maps/google-maps.css +1 -1
  281. package/es5/plugins/google-maps/google-maps.js +1 -1
  282. package/es5/plugins/google-maps/google-maps.min.js +1 -1
  283. package/es5/plugins/google-search/google-search.js +1 -1
  284. package/es5/plugins/google-search/google-search.min.js +1 -1
  285. package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
  286. package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
  287. package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
  288. package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
  289. package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
  290. package/es5/plugins/image-editor-pro/image-editor-pro.css +1 -1
  291. package/es5/plugins/image-editor-pro/image-editor-pro.js +1 -1
  292. package/es5/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
  293. package/es5/plugins/keyboard/keyboard.css +1 -1
  294. package/es5/plugins/keyboard/keyboard.js +1 -1
  295. package/es5/plugins/keyboard/keyboard.min.js +1 -1
  296. package/es5/plugins/mobile-view/mobile-view.js +1 -1
  297. package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
  298. package/es5/plugins/page-break/page-break.js +1 -1
  299. package/es5/plugins/page-break/page-break.min.js +1 -1
  300. package/es5/plugins/paste-code/paste-code.css +1 -1
  301. package/es5/plugins/paste-code/paste-code.js +1 -1
  302. package/es5/plugins/paste-code/paste-code.min.js +1 -1
  303. package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
  304. package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
  305. package/es5/plugins/show-blocks/show-blocks.js +1 -1
  306. package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
  307. package/es5/plugins/style/style.css +1 -1
  308. package/es5/plugins/style/style.js +1 -1
  309. package/es5/plugins/style/style.min.js +1 -1
  310. package/es5/plugins/templates/templates.css +1 -1
  311. package/es5/plugins/templates/templates.js +1 -1
  312. package/es5/plugins/templates/templates.min.js +1 -1
  313. package/es5/plugins/todo-list/todo-list.css +1 -1
  314. package/es5/plugins/todo-list/todo-list.js +1 -1
  315. package/es5/plugins/todo-list/todo-list.min.js +1 -1
  316. package/es5/plugins/translate/translate.css +1 -1
  317. package/es5/plugins/translate/translate.js +1 -1
  318. package/es5/plugins/translate/translate.min.js +1 -1
  319. package/es5/plugins/tune-block/tune-block.css +1 -1
  320. package/es5/plugins/tune-block/tune-block.js +1 -1
  321. package/es5/plugins/tune-block/tune-block.min.js +1 -1
  322. package/es5/polyfills.fat.min.js +1 -1
  323. package/es5/polyfills.js +1 -1
  324. package/es5/polyfills.min.js +1 -1
  325. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * jodit-pro - PRO Version of Jodit Editor
3
3
  * Author: Chupurnov Valerii <chupurnov@gmail.com>
4
- * Version: v4.13.16
4
+ * Version: v4.13.17
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -1787,7 +1787,7 @@ __webpack_require__.r(__webpack_exports__);
1787
1787
  * ```
1788
1788
  * @packageDocumentation
1789
1789
  * @module constants
1790
- */ const APP_VERSION = "4.13.16";
1790
+ */ const APP_VERSION = "4.13.17";
1791
1791
  // prettier-ignore
1792
1792
  const ES = "es2021";
1793
1793
  const IS_ES_MODERN = true;
@@ -11062,6 +11062,131 @@ class Selection {
11062
11062
  }
11063
11063
  return '';
11064
11064
  }
11065
+ /**
11066
+ * Splits the boundaries of the current selection and wraps every
11067
+ * contiguous run of selected inline content (grouped by block) into a
11068
+ * `<font>` element, returning those wrappers in document order.
11069
+ *
11070
+ * This is a pure-DOM replacement for the old
11071
+ * `nativeExecCommand('fontsize', false, '7')` trick which relied on the
11072
+ * browser to split the selection into `<font size="7">` fragments.
11073
+ */ __wrapSelectionFragments() {
11074
+ const range = this.range;
11075
+ this.__splitSelectionBoundaries(range);
11076
+ let root = range.commonAncestorContainer;
11077
+ if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(root)) {
11078
+ root = root.parentNode;
11079
+ }
11080
+ if (!root) {
11081
+ return [];
11082
+ }
11083
+ return this.__wrapSelectionRuns(this.__collectContainedNodes(root, range));
11084
+ }
11085
+ /**
11086
+ * Splits the text nodes at both ends of the range so that its boundaries
11087
+ * always fall between nodes. Afterwards every node inside the range is
11088
+ * fully (not partially) selected.
11089
+ */ __splitSelectionBoundaries(range) {
11090
+ var _a, _b, _c, _d, _e, _f, _g, _h;
11091
+ let { startContainer, endContainer } = range;
11092
+ let { startOffset, endOffset } = range;
11093
+ if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(endContainer) && endOffset > 0 && endOffset < ((_b = (_a = endContainer.nodeValue) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0)) {
11094
+ endContainer.splitText(endOffset);
11095
+ endOffset = (_d = (_c = endContainer.nodeValue) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : endOffset;
11096
+ }
11097
+ if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(startContainer) && startOffset > 0 && startOffset < ((_f = (_e = startContainer.nodeValue) === null || _e === void 0 ? void 0 : _e.length) !== null && _f !== void 0 ? _f : 0)) {
11098
+ const middle = startContainer.splitText(startOffset);
11099
+ // Selection located inside a single text node - the tail we just
11100
+ // cut off is the actual selected fragment.
11101
+ if (startContainer === endContainer) {
11102
+ endContainer = middle;
11103
+ endOffset = (_h = (_g = middle.nodeValue) === null || _g === void 0 ? void 0 : _g.length) !== null && _h !== void 0 ? _h : 0;
11104
+ }
11105
+ startContainer = middle;
11106
+ startOffset = 0;
11107
+ }
11108
+ range.setStart(startContainer, startOffset);
11109
+ range.setEnd(endContainer, endOffset);
11110
+ // Normalize text-edge boundaries (e.g. `(text, 0)` or `(text, length)`)
11111
+ // to the element level so that containment checks based on
11112
+ // `selectNode()` treat a fully selected text node as contained.
11113
+ this.__normalizeRangeBoundary(range, true);
11114
+ this.__normalizeRangeBoundary(range, false);
11115
+ }
11116
+ __normalizeRangeBoundary(range, atStart) {
11117
+ var _a, _b;
11118
+ const container = atStart ? range.startContainer : range.endContainer;
11119
+ if (!_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(container)) {
11120
+ return;
11121
+ }
11122
+ const offset = atStart ? range.startOffset : range.endOffset;
11123
+ const length = (_b = (_a = container.nodeValue) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
11124
+ if (offset === 0) {
11125
+ atStart ? range.setStartBefore(container) : range.setEndBefore(container);
11126
+ } else if (offset >= length) {
11127
+ atStart ? range.setStartAfter(container) : range.setEndAfter(container);
11128
+ }
11129
+ }
11130
+ /**
11131
+ * Collects the highest-level nodes that are completely inside the range,
11132
+ * descending into nodes that are only partially selected.
11133
+ */ __collectContainedNodes(root, range) {
11134
+ const result = [];
11135
+ (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.toArray)(root.childNodes).forEach((child)=>{
11136
+ if (this.__isFullyContained(range, child)) {
11137
+ result.push(child);
11138
+ } else if (child.childNodes.length && range.intersectsNode(child)) {
11139
+ result.push(...this.__collectContainedNodes(child, range));
11140
+ }
11141
+ });
11142
+ return result;
11143
+ }
11144
+ __isFullyContained(range, node) {
11145
+ const nodeRange = this.createRange();
11146
+ nodeRange.selectNode(node);
11147
+ return range.compareBoundaryPoints(Range.START_TO_START, nodeRange) <= 0 && range.compareBoundaryPoints(Range.END_TO_END, nodeRange) >= 0;
11148
+ }
11149
+ /**
11150
+ * Wraps every contiguous run of selected inline siblings into a `<font>`
11151
+ * element. Block-level nodes are never wrapped themselves - their inline
11152
+ * content is wrapped instead, keeping every `<font>` inside a single block.
11153
+ */ __wrapSelectionRuns(nodes) {
11154
+ const fonts = [];
11155
+ let run = [];
11156
+ const flush = ()=>{
11157
+ if (run.length) {
11158
+ fonts.push(this.__wrapRunInFont(run));
11159
+ run = [];
11160
+ }
11161
+ };
11162
+ nodes.forEach((node)=>{
11163
+ if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isElement(node) && this.__isOrContainsBlock(node)) {
11164
+ flush();
11165
+ fonts.push(...this.__wrapSelectionRuns((0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.toArray)(node.childNodes)));
11166
+ } else {
11167
+ if (run.length && run[run.length - 1].parentNode !== node.parentNode) {
11168
+ flush();
11169
+ }
11170
+ run.push(node);
11171
+ }
11172
+ });
11173
+ flush();
11174
+ return fonts;
11175
+ }
11176
+ __isOrContainsBlock(node) {
11177
+ if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isBlock(node)) {
11178
+ return true;
11179
+ }
11180
+ return (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.toArray)(node.childNodes).some((child)=>this.__isOrContainsBlock(child));
11181
+ }
11182
+ __wrapRunInFont(run) {
11183
+ var _a;
11184
+ const font = this.j.createInside.element('font');
11185
+ const [first] = run;
11186
+ (_a = first.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(font, first);
11187
+ run.forEach((node)=>font.appendChild(node));
11188
+ return font;
11189
+ }
11065
11190
  /**
11066
11191
  * Wrap all selected fragments inside Tag or apply some callback
11067
11192
  */ *wrapInTagGen(fakes) {
@@ -11075,20 +11200,7 @@ class Selection {
11075
11200
  _dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.unwrap(font);
11076
11201
  return;
11077
11202
  }
11078
- // fix issue https://github.com/xdan/jodit/issues/65
11079
- (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.$$)('*[style*=font-size]', this.area).forEach((elm)=>{
11080
- (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(elm, 'data-font-size', elm.style.fontSize.toString());
11081
- elm.style.removeProperty('font-size');
11082
- });
11083
- this.j.nativeExecCommand('fontsize', false, '7');
11084
- (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.$$)('*[data-font-size]', this.area).forEach((elm)=>{
11085
- const fontSize = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(elm, 'data-font-size');
11086
- if (fontSize) {
11087
- elm.style.fontSize = fontSize;
11088
- (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(elm, 'data-font-size', null);
11089
- }
11090
- });
11091
- const elms = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.$$)('font[size="7"]', this.area);
11203
+ const elms = this.__wrapSelectionFragments();
11092
11204
  for (const font of elms){
11093
11205
  const { firstChild, lastChild } = font;
11094
11206
  if (firstChild && firstChild === lastChild && (0,_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_4__.isMarker)(firstChild)) {
@@ -16207,9 +16319,23 @@ class ViewWithToolbar extends _view_js__WEBPACK_IMPORTED_MODULE_9__.View {
16207
16319
  if (!this.o.fullsize && ((0,_helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_5__.isString)(this.o.toolbar) || _dom_dom_js__WEBPACK_IMPORTED_MODULE_3__.Dom.isHTMLElement(this.o.toolbar))) {
16208
16320
  return (0,_helpers_utils_selector_js__WEBPACK_IMPORTED_MODULE_6__.resolveElement)(this.o.toolbar, this.o.shadowRoot || this.od);
16209
16321
  }
16210
- this.o.toolbar && _dom_dom_js__WEBPACK_IMPORTED_MODULE_3__.Dom.appendChildFirst(this.container, this.__defaultToolbarContainer);
16322
+ this.o.toolbar && this.__appendToolbarBox();
16211
16323
  return this.__defaultToolbarContainer;
16212
16324
  }
16325
+ /**
16326
+ * Keep the toolbar box as the first child of the container, except that
16327
+ * children flagged with `data-jodit-above-toolbar` (e.g. the `above`
16328
+ * workplace slot used for presence bars and banners) stay above it.
16329
+ */ __appendToolbarBox() {
16330
+ const box = this.__defaultToolbarContainer;
16331
+ let anchor = this.container.firstElementChild;
16332
+ while(anchor && anchor !== box && anchor.hasAttribute('data-jodit-above-toolbar')){
16333
+ anchor = anchor.nextElementSibling;
16334
+ }
16335
+ if (anchor !== box) {
16336
+ this.container.insertBefore(box, anchor);
16337
+ }
16338
+ }
16213
16339
  /**
16214
16340
  * Change panel container
16215
16341
  */ setPanel(element) {
@@ -17577,6 +17703,12 @@ let Jodit = Jodit_1 = class Jodit extends _modules_index_js__WEBPACK_IMPORTED_MO
17577
17703
  element.style.display = 'none';
17578
17704
  }
17579
17705
  const SLOT = 'workplace-slot';
17706
+ // A slot that always stays ABOVE the toolbar (presence bars, banners…).
17707
+ // The `data-jodit-above-toolbar` attribute tells ViewWithToolbar to keep
17708
+ // the toolbar box below it when (re)attaching the toolbar container.
17709
+ const aboveSlot = this.c.div(this.getFullElName(SLOT, 'above'), NOEDIT);
17710
+ aboveSlot.setAttribute('data-jodit-above-toolbar', '');
17711
+ _modules_index_js__WEBPACK_IMPORTED_MODULE_7__.Dom.appendChildFirst(container, aboveSlot);
17580
17712
  const topSlot = this.c.div(this.getFullElName(SLOT, 'top'), NOEDIT);
17581
17713
  container.appendChild(topSlot);
17582
17714
  const centerSlot = this.c.div(this.getFullElName(SLOT, 'center'), NOEDIT);
@@ -17609,6 +17741,7 @@ let Jodit = Jodit_1 = class Jodit extends _modules_index_js__WEBPACK_IMPORTED_MO
17609
17741
  container,
17610
17742
  workplace,
17611
17743
  slots: {
17744
+ above: aboveSlot,
17612
17745
  top: topSlot,
17613
17746
  bottom: bottomPanel,
17614
17747
  center: centerSlot,