jodit-pro 4.11.28 → 4.12.1

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 (318) hide show
  1. package/es2015/jodit.css +1 -1
  2. package/es2015/jodit.fat.min.js +9 -12
  3. package/es2015/jodit.js +87 -7
  4. package/es2015/jodit.min.js +5 -5
  5. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  6. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +161 -29
  7. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +4 -7
  8. package/es2015/plugins/autocomplete/autocomplete.js +1 -1
  9. package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
  10. package/es2015/plugins/backup/backup.css +1 -1
  11. package/es2015/plugins/backup/backup.js +1 -1
  12. package/es2015/plugins/backup/backup.min.js +1 -1
  13. package/es2015/plugins/button-generator/button-generator.css +1 -1
  14. package/es2015/plugins/button-generator/button-generator.js +1 -1
  15. package/es2015/plugins/button-generator/button-generator.min.js +1 -1
  16. package/es2015/plugins/change-case/change-case.js +1 -1
  17. package/es2015/plugins/change-case/change-case.min.js +1 -1
  18. package/es2015/plugins/color-picker/color-picker.css +1 -1
  19. package/es2015/plugins/color-picker/color-picker.js +1 -1
  20. package/es2015/plugins/color-picker/color-picker.min.js +1 -1
  21. package/es2015/plugins/emoji/emoji.css +1 -1
  22. package/es2015/plugins/emoji/emoji.js +1 -1
  23. package/es2015/plugins/emoji/emoji.min.js +1 -1
  24. package/es2015/plugins/export-docs/export-docs.js +1 -1
  25. package/es2015/plugins/export-docs/export-docs.min.js +1 -1
  26. package/es2015/plugins/finder/finder.css +1 -1
  27. package/es2015/plugins/finder/finder.js +2 -2
  28. package/es2015/plugins/finder/finder.min.js +2 -2
  29. package/es2015/plugins/google-maps/google-maps.css +1 -1
  30. package/es2015/plugins/google-maps/google-maps.js +1 -1
  31. package/es2015/plugins/google-maps/google-maps.min.js +1 -1
  32. package/es2015/plugins/google-search/google-search.js +1 -1
  33. package/es2015/plugins/google-search/google-search.min.js +1 -1
  34. package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
  35. package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
  36. package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
  37. package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
  38. package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
  39. package/es2015/plugins/keyboard/keyboard.css +1 -1
  40. package/es2015/plugins/keyboard/keyboard.js +1 -1
  41. package/es2015/plugins/keyboard/keyboard.min.js +1 -1
  42. package/es2015/plugins/mobile-view/mobile-view.js +1 -1
  43. package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
  44. package/es2015/plugins/page-break/page-break.js +1 -1
  45. package/es2015/plugins/page-break/page-break.min.js +1 -1
  46. package/es2015/plugins/paste-code/paste-code.css +1 -1
  47. package/es2015/plugins/paste-code/paste-code.js +1 -1
  48. package/es2015/plugins/paste-code/paste-code.min.js +1 -1
  49. package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
  50. package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
  51. package/es2015/plugins/show-blocks/show-blocks.js +1 -1
  52. package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
  53. package/es2015/plugins/style/style.css +1 -1
  54. package/es2015/plugins/style/style.js +1 -1
  55. package/es2015/plugins/style/style.min.js +1 -1
  56. package/es2015/plugins/templates/templates.css +1 -1
  57. package/es2015/plugins/templates/templates.js +1 -1
  58. package/es2015/plugins/templates/templates.min.js +1 -1
  59. package/es2015/plugins/todo-list/todo-list.css +1 -1
  60. package/es2015/plugins/todo-list/todo-list.js +1 -1
  61. package/es2015/plugins/todo-list/todo-list.min.js +1 -1
  62. package/es2015/plugins/translate/translate.css +1 -1
  63. package/es2015/plugins/translate/translate.js +1 -1
  64. package/es2015/plugins/translate/translate.min.js +1 -1
  65. package/es2015/plugins/tune-block/tune-block.css +1 -1
  66. package/es2015/plugins/tune-block/tune-block.js +1 -1
  67. package/es2015/plugins/tune-block/tune-block.min.js +1 -1
  68. package/es2018/jodit.fat.min.js +11 -14
  69. package/es2018/jodit.min.js +5 -5
  70. package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +5 -8
  71. package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
  72. package/es2018/plugins/backup/backup.min.js +1 -1
  73. package/es2018/plugins/button-generator/button-generator.min.js +1 -1
  74. package/es2018/plugins/change-case/change-case.min.js +1 -1
  75. package/es2018/plugins/color-picker/color-picker.min.js +1 -1
  76. package/es2018/plugins/emoji/emoji.min.js +1 -1
  77. package/es2018/plugins/export-docs/export-docs.min.js +1 -1
  78. package/es2018/plugins/finder/finder.min.js +2 -2
  79. package/es2018/plugins/google-maps/google-maps.min.js +1 -1
  80. package/es2018/plugins/google-search/google-search.min.js +1 -1
  81. package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
  82. package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
  83. package/es2018/plugins/keyboard/keyboard.min.js +1 -1
  84. package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
  85. package/es2018/plugins/page-break/page-break.min.js +1 -1
  86. package/es2018/plugins/paste-code/paste-code.min.js +1 -1
  87. package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
  88. package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
  89. package/es2018/plugins/style/style.min.js +1 -1
  90. package/es2018/plugins/templates/templates.min.js +1 -1
  91. package/es2018/plugins/todo-list/todo-list.min.js +1 -1
  92. package/es2018/plugins/translate/translate.min.js +1 -1
  93. package/es2018/plugins/tune-block/tune-block.min.js +1 -1
  94. package/es2021/jodit.css +1 -1
  95. package/es2021/jodit.fat.min.js +13 -16
  96. package/es2021/jodit.js +87 -7
  97. package/es2021/jodit.min.js +6 -6
  98. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  99. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +154 -29
  100. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +5 -8
  101. package/es2021/plugins/autocomplete/autocomplete.js +1 -1
  102. package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
  103. package/es2021/plugins/backup/backup.css +1 -1
  104. package/es2021/plugins/backup/backup.js +1 -1
  105. package/es2021/plugins/backup/backup.min.js +1 -1
  106. package/es2021/plugins/button-generator/button-generator.css +1 -1
  107. package/es2021/plugins/button-generator/button-generator.js +1 -1
  108. package/es2021/plugins/button-generator/button-generator.min.js +1 -1
  109. package/es2021/plugins/change-case/change-case.js +1 -1
  110. package/es2021/plugins/change-case/change-case.min.js +1 -1
  111. package/es2021/plugins/color-picker/color-picker.css +1 -1
  112. package/es2021/plugins/color-picker/color-picker.js +1 -1
  113. package/es2021/plugins/color-picker/color-picker.min.js +1 -1
  114. package/es2021/plugins/emoji/emoji.css +1 -1
  115. package/es2021/plugins/emoji/emoji.js +1 -1
  116. package/es2021/plugins/emoji/emoji.min.js +1 -1
  117. package/es2021/plugins/export-docs/export-docs.js +1 -1
  118. package/es2021/plugins/export-docs/export-docs.min.js +1 -1
  119. package/es2021/plugins/finder/finder.css +1 -1
  120. package/es2021/plugins/finder/finder.js +2 -2
  121. package/es2021/plugins/finder/finder.min.js +2 -2
  122. package/es2021/plugins/google-maps/google-maps.css +1 -1
  123. package/es2021/plugins/google-maps/google-maps.js +1 -1
  124. package/es2021/plugins/google-maps/google-maps.min.js +1 -1
  125. package/es2021/plugins/google-search/google-search.js +1 -1
  126. package/es2021/plugins/google-search/google-search.min.js +1 -1
  127. package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
  128. package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
  129. package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
  130. package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
  131. package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
  132. package/es2021/plugins/keyboard/keyboard.css +1 -1
  133. package/es2021/plugins/keyboard/keyboard.js +1 -1
  134. package/es2021/plugins/keyboard/keyboard.min.js +1 -1
  135. package/es2021/plugins/mobile-view/mobile-view.js +1 -1
  136. package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
  137. package/es2021/plugins/page-break/page-break.js +1 -1
  138. package/es2021/plugins/page-break/page-break.min.js +1 -1
  139. package/es2021/plugins/paste-code/paste-code.css +1 -1
  140. package/es2021/plugins/paste-code/paste-code.js +1 -1
  141. package/es2021/plugins/paste-code/paste-code.min.js +1 -1
  142. package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
  143. package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
  144. package/es2021/plugins/show-blocks/show-blocks.js +1 -1
  145. package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
  146. package/es2021/plugins/style/style.css +1 -1
  147. package/es2021/plugins/style/style.js +1 -1
  148. package/es2021/plugins/style/style.min.js +1 -1
  149. package/es2021/plugins/templates/templates.css +1 -1
  150. package/es2021/plugins/templates/templates.js +1 -1
  151. package/es2021/plugins/templates/templates.min.js +1 -1
  152. package/es2021/plugins/todo-list/todo-list.css +1 -1
  153. package/es2021/plugins/todo-list/todo-list.js +1 -1
  154. package/es2021/plugins/todo-list/todo-list.min.js +1 -1
  155. package/es2021/plugins/translate/translate.css +1 -1
  156. package/es2021/plugins/translate/translate.js +1 -1
  157. package/es2021/plugins/translate/translate.min.js +1 -1
  158. package/es2021/plugins/tune-block/tune-block.css +1 -1
  159. package/es2021/plugins/tune-block/tune-block.js +1 -1
  160. package/es2021/plugins/tune-block/tune-block.min.js +1 -1
  161. package/es2021.en/jodit.css +1 -1
  162. package/es2021.en/jodit.fat.min.js +10 -13
  163. package/es2021.en/jodit.js +87 -7
  164. package/es2021.en/jodit.min.js +6 -6
  165. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  166. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +154 -29
  167. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +26 -29
  168. package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
  169. package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
  170. package/es2021.en/plugins/backup/backup.css +1 -1
  171. package/es2021.en/plugins/backup/backup.js +1 -1
  172. package/es2021.en/plugins/backup/backup.min.js +1 -1
  173. package/es2021.en/plugins/button-generator/button-generator.css +1 -1
  174. package/es2021.en/plugins/button-generator/button-generator.js +1 -1
  175. package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
  176. package/es2021.en/plugins/change-case/change-case.js +1 -1
  177. package/es2021.en/plugins/change-case/change-case.min.js +1 -1
  178. package/es2021.en/plugins/color-picker/color-picker.css +1 -1
  179. package/es2021.en/plugins/color-picker/color-picker.js +1 -1
  180. package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
  181. package/es2021.en/plugins/emoji/emoji.css +1 -1
  182. package/es2021.en/plugins/emoji/emoji.js +1 -1
  183. package/es2021.en/plugins/emoji/emoji.min.js +1 -1
  184. package/es2021.en/plugins/export-docs/export-docs.js +1 -1
  185. package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
  186. package/es2021.en/plugins/finder/finder.css +1 -1
  187. package/es2021.en/plugins/finder/finder.js +2 -2
  188. package/es2021.en/plugins/finder/finder.min.js +2 -2
  189. package/es2021.en/plugins/google-maps/google-maps.css +1 -1
  190. package/es2021.en/plugins/google-maps/google-maps.js +1 -1
  191. package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
  192. package/es2021.en/plugins/google-search/google-search.js +1 -1
  193. package/es2021.en/plugins/google-search/google-search.min.js +1 -1
  194. package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
  195. package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
  196. package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
  197. package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
  198. package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
  199. package/es2021.en/plugins/keyboard/keyboard.css +1 -1
  200. package/es2021.en/plugins/keyboard/keyboard.js +1 -1
  201. package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
  202. package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
  203. package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
  204. package/es2021.en/plugins/page-break/page-break.js +1 -1
  205. package/es2021.en/plugins/page-break/page-break.min.js +1 -1
  206. package/es2021.en/plugins/paste-code/paste-code.css +1 -1
  207. package/es2021.en/plugins/paste-code/paste-code.js +1 -1
  208. package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
  209. package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
  210. package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
  211. package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
  212. package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
  213. package/es2021.en/plugins/style/style.css +1 -1
  214. package/es2021.en/plugins/style/style.js +1 -1
  215. package/es2021.en/plugins/style/style.min.js +1 -1
  216. package/es2021.en/plugins/templates/templates.css +1 -1
  217. package/es2021.en/plugins/templates/templates.js +1 -1
  218. package/es2021.en/plugins/templates/templates.min.js +1 -1
  219. package/es2021.en/plugins/todo-list/todo-list.css +1 -1
  220. package/es2021.en/plugins/todo-list/todo-list.js +1 -1
  221. package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
  222. package/es2021.en/plugins/translate/translate.css +1 -1
  223. package/es2021.en/plugins/translate/translate.js +1 -1
  224. package/es2021.en/plugins/translate/translate.min.js +1 -1
  225. package/es2021.en/plugins/tune-block/tune-block.css +1 -1
  226. package/es2021.en/plugins/tune-block/tune-block.js +1 -1
  227. package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
  228. package/es5/jodit.css +2 -2
  229. package/es5/jodit.fat.min.js +2 -2
  230. package/es5/jodit.js +89 -6
  231. package/es5/jodit.min.css +2 -2
  232. package/es5/jodit.min.js +2 -2
  233. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  234. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +174 -26
  235. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +2 -2
  236. package/es5/plugins/autocomplete/autocomplete.js +1 -1
  237. package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
  238. package/es5/plugins/backup/backup.css +1 -1
  239. package/es5/plugins/backup/backup.js +1 -1
  240. package/es5/plugins/backup/backup.min.js +1 -1
  241. package/es5/plugins/button-generator/button-generator.css +1 -1
  242. package/es5/plugins/button-generator/button-generator.js +1 -1
  243. package/es5/plugins/button-generator/button-generator.min.js +1 -1
  244. package/es5/plugins/change-case/change-case.js +1 -1
  245. package/es5/plugins/change-case/change-case.min.js +1 -1
  246. package/es5/plugins/color-picker/color-picker.css +1 -1
  247. package/es5/plugins/color-picker/color-picker.js +1 -1
  248. package/es5/plugins/color-picker/color-picker.min.js +1 -1
  249. package/es5/plugins/emoji/emoji.css +1 -1
  250. package/es5/plugins/emoji/emoji.js +1 -1
  251. package/es5/plugins/emoji/emoji.min.js +1 -1
  252. package/es5/plugins/export-docs/export-docs.js +1 -1
  253. package/es5/plugins/export-docs/export-docs.min.js +1 -1
  254. package/es5/plugins/finder/finder.css +1 -1
  255. package/es5/plugins/finder/finder.js +2 -2
  256. package/es5/plugins/finder/finder.min.js +2 -2
  257. package/es5/plugins/google-maps/google-maps.css +1 -1
  258. package/es5/plugins/google-maps/google-maps.js +1 -1
  259. package/es5/plugins/google-maps/google-maps.min.js +1 -1
  260. package/es5/plugins/google-search/google-search.js +1 -1
  261. package/es5/plugins/google-search/google-search.min.js +1 -1
  262. package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
  263. package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
  264. package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
  265. package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
  266. package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
  267. package/es5/plugins/keyboard/keyboard.css +1 -1
  268. package/es5/plugins/keyboard/keyboard.js +1 -1
  269. package/es5/plugins/keyboard/keyboard.min.js +1 -1
  270. package/es5/plugins/mobile-view/mobile-view.js +1 -1
  271. package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
  272. package/es5/plugins/page-break/page-break.js +1 -1
  273. package/es5/plugins/page-break/page-break.min.js +1 -1
  274. package/es5/plugins/paste-code/paste-code.css +1 -1
  275. package/es5/plugins/paste-code/paste-code.js +1 -1
  276. package/es5/plugins/paste-code/paste-code.min.js +1 -1
  277. package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
  278. package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
  279. package/es5/plugins/show-blocks/show-blocks.js +1 -1
  280. package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
  281. package/es5/plugins/style/style.css +1 -1
  282. package/es5/plugins/style/style.js +1 -1
  283. package/es5/plugins/style/style.min.js +1 -1
  284. package/es5/plugins/templates/templates.css +1 -1
  285. package/es5/plugins/templates/templates.js +1 -1
  286. package/es5/plugins/templates/templates.min.js +1 -1
  287. package/es5/plugins/todo-list/todo-list.css +1 -1
  288. package/es5/plugins/todo-list/todo-list.js +1 -1
  289. package/es5/plugins/todo-list/todo-list.min.js +1 -1
  290. package/es5/plugins/translate/translate.css +1 -1
  291. package/es5/plugins/translate/translate.js +1 -1
  292. package/es5/plugins/translate/translate.min.js +1 -1
  293. package/es5/plugins/tune-block/tune-block.css +1 -1
  294. package/es5/plugins/tune-block/tune-block.js +1 -1
  295. package/es5/plugins/tune-block/tune-block.min.js +1 -1
  296. package/es5/polyfills.fat.min.js +1 -1
  297. package/es5/polyfills.js +1 -1
  298. package/es5/polyfills.min.js +1 -1
  299. package/esm/plugins/ai-assistant-pro/config.js +1 -1
  300. package/esm/plugins/ai-assistant-pro/tools/add-html/definition.d.ts +10 -0
  301. package/esm/plugins/ai-assistant-pro/tools/add-html/definition.js +1 -0
  302. package/esm/plugins/ai-assistant-pro/tools/add-html/executor.d.ts +13 -0
  303. package/esm/plugins/ai-assistant-pro/tools/add-html/executor.js +1 -0
  304. package/esm/plugins/ai-assistant-pro/tools/add-html/index.d.ts +9 -0
  305. package/esm/plugins/ai-assistant-pro/tools/add-html/index.js +1 -0
  306. package/esm/plugins/ai-assistant-pro/tools/index.js +1 -1
  307. package/esm/plugins/ai-assistant-pro/tools/read-blocks/executor.js +1 -1
  308. package/esm/plugins/ai-assistant-pro/ui/message-list/message-list.d.ts +4 -1
  309. package/esm/plugins/ai-assistant-pro/ui/message-list/message-list.js +1 -1
  310. package/esm/plugins/ai-assistant-pro/ui/permission-request/permission-request.js +2 -5
  311. package/esm/plugins/finder/ui/item/item.js +2 -2
  312. package/esm/typings.d.ts +1 -0
  313. package/package.json +1 -1
  314. package/types/plugins/ai-assistant-pro/tools/add-html/definition.d.ts +10 -0
  315. package/types/plugins/ai-assistant-pro/tools/add-html/executor.d.ts +13 -0
  316. package/types/plugins/ai-assistant-pro/tools/add-html/index.d.ts +9 -0
  317. package/types/plugins/ai-assistant-pro/ui/message-list/message-list.d.ts +4 -1
  318. package/types/typings.d.ts +1 -0
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
package/es5/polyfills.js CHANGED
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.11.28
4
+ * Version: v4.12.1
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -1 +1 @@
1
- var d=Object.defineProperty;var r=(e,t)=>d(e,"name",{value:t,configurable:!0});var n;import{base64ToFile as p}from"../ai-assistant-pro/helpers/base64tofile.js";import m from"./icons/add-context.svg.js";import c from"./icons/ai-assistant.svg.js";import f from"./icons/ai-commands.svg.js";import g from"./icons/chevron-right.svg.js";import h from"./icons/send.svg.js";import A from"./icons/shield.svg.js";import x from"./icons/tool-bolt.svg.js";import{getAIProviderOptions as C,registerAIProvider as y}from"./providers/index.js";import{getToolNames as w}from"./tools/index.js";import{Config as s}from"jodit/esm/config.js";import{Icon as I}from"jodit/esm/core/ui/icon.js";import{aiAssitentCommands as T}from"jodit/esm/plugins/ai-assistant/config.js";import{marked as b}from"marked";I.set("ai-assistant-pro",c).set("ai-commands-pro",f).set("ai-add-context",m).set("send",h).set("tool-bolt",x).set("chevron-right",g).set("shield",A),s.prototype.aiAssistantPro={displayMode:"right",panelWidth:400,panelHeight:500,flightPanelHeight:250,dialogFullSize:!1,resizable:!0,apiMode:"incremental",apiRequest:null,maxRetries:3,requestTimeout:6e4*5,retryDelay:1e3,maxRecursionToolCallDepth:1e3,enabledTools:w(),customTools:[],toolPermissions:{},autoApproveTools:["readDocument","readBlocks","readSelection","insertHTML"],alwaysDenyTools:[],defaultPermissionScope:"conversation",storage:"indexedDB",maxConversations:50,storageKey:"jodit-ai-assistant-pro",showConversationList:!0,enableMarkdown:!0,enableCodeHighlight:!0,maxMessageHeight:400,placeholderText:"Ask AI assistant...",sendShortcut:"Ctrl+Enter",showTimestamps:!0,formatTimestamp:r((e,t)=>{const o=new Date(e),i=new Date().getTime()-o.getTime();return i<6e4?t("Just now"):i<36e5?t("%dm ago",Math.floor(i/6e4)):i<864e5?t("%dh ago",Math.floor(i/36e5)):o.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})},"formatTimestamp"),formatMessageContent:r((e,t)=>b.parse(e,{breaks:!0,gfm:!0}),"formatMessageContent"),showAvatars:!0,showTypingIndicator:!0,includeSelectionByDefault:!0,maxContextRanges:5,showContextPreview:!0,sendOnEnter:!0,instructions:void 0,includeEditorMetadata:!1,autoOpen:!0,rememberLastConversation:!0,autoFocusInput:!0,closeAfterInsert:!1,enableSoundNotifications:!1,debug:!1,textAutocompleteEnabled:!1,textAutocompleteApiRequest:null,textAutocompleteMinQueryLength:3,textAutocompleteMaxSuggestions:3,textAutocompleteDebounceMs:500,textAutocompleteCacheTTL:3e4,textAutocompleteCacheMaxSize:50,quickCommandsSilentMode:!1,quickCommandsDisplayMode:"flight",showCopyMessageAction:!0,showRestartMessageAction:!0,showEditMessageAction:!0,showDeleteMessageAction:!0,dialogSettings:{},allowEditDialogSettings:!1,allowEditDisplayMode:!0,allowEditPanelWidth:!0,initiallyOpened:!1,allowClose:!0,persistOpenState:!0,theme:"parent",allowEditTheme:!0,async uploadBase64Artifact(e,t){if(e.type==="image"&&e.data&&e.data.kind==="base64")try{const o=p(e.data.base64,e.id,e.mimeType),a=await t.uploader.upload([o]);return{...e,data:{kind:"url",url:a.baseurl+a.files[0]},metadata:{...e.metadata,filename:a.files[0]}}}catch(o){t.e.fire("error",o)}return e},getAIProviderOptions(e,t){return C(e,t)},registerAIProvider(e,t){y(e,t)}},s.prototype.controls.aiAssistantPro={icon:"ai-assistant-pro",tooltip:"AI Assistant",hotkeys:["ctrl+shift+a","cmd+shift+a"],exec(e){e.e.fire("openAIAssistantPro.ai-assistant-pro")},isDisabled(e){return!e.o.aiAssistantPro.apiRequest},getLabel(e){return e.o.aiAssistantPro.apiRequest?"AI Assistant":"AI Assistant (not configured)"}},s.prototype.controls.aiAddContext={icon:"ai-add-context",tooltip:"Add to AI Context",exec(e){e.e.fire("addContextToAIAssistant")},isDisabled(e){return e.o.aiAssistantPro.apiRequest?e.s.isCollapsed():!0}},s.prototype.controls.aiCommandsPro={icon:"ai-commands-pro",tooltip:"AI Commands",isDisabled(e){return!e.o.aiAssistantPro.apiRequest},list:T,exec(e,t,{control:o}){e.e.fire("executeQuickCommand.ai-assistant-pro",o.name)}};const l=((n=s.prototype.tuneBlock)===null||n===void 0?void 0:n.popup)||{},u={},M=["p","h1","h2","h3","h4","h5","h6","div","section","article","pre","blockquote","ul","ol","li","table","tr","td","th","img","figure"];M.forEach(e=>{const t=l[e]||["tune.up","tune.remove","tune.down"];u[e]=[...t,"|","aiAddContext"]}),s.prototype.tuneBlock&&(s.prototype.tuneBlock.popup={...l,...u});
1
+ var d=Object.defineProperty;var r=(e,t)=>d(e,"name",{value:t,configurable:!0});var n;import{base64ToFile as p}from"../ai-assistant-pro/helpers/base64tofile.js";import m from"./icons/add-context.svg.js";import c from"./icons/ai-assistant.svg.js";import f from"./icons/ai-commands.svg.js";import g from"./icons/chevron-right.svg.js";import h from"./icons/send.svg.js";import A from"./icons/shield.svg.js";import x from"./icons/tool-bolt.svg.js";import{getAIProviderOptions as C,registerAIProvider as y}from"./providers/index.js";import{getToolNames as w}from"./tools/index.js";import{Config as s}from"jodit/esm/config.js";import{Icon as T}from"jodit/esm/core/ui/icon.js";import{aiAssitentCommands as I}from"jodit/esm/plugins/ai-assistant/config.js";import{marked as b}from"marked";T.set("ai-assistant-pro",c).set("ai-commands-pro",f).set("ai-add-context",m).set("send",h).set("tool-bolt",x).set("chevron-right",g).set("shield",A),s.prototype.aiAssistantPro={displayMode:"right",panelWidth:400,panelHeight:500,flightPanelHeight:250,dialogFullSize:!1,resizable:!0,apiMode:"incremental",apiRequest:null,maxRetries:3,requestTimeout:6e4*5,retryDelay:1e3,maxRecursionToolCallDepth:1e3,enabledTools:w(),customTools:[],toolPermissions:{},autoApproveTools:["readDocument","readBlocks","readSelection","insertHTML","addHTML"],alwaysDenyTools:[],defaultPermissionScope:"conversation",storage:"indexedDB",maxConversations:50,storageKey:"jodit-ai-assistant-pro",showConversationList:!0,enableMarkdown:!0,enableCodeHighlight:!0,maxMessageHeight:400,placeholderText:"Ask AI assistant...",sendShortcut:"Ctrl+Enter",showTimestamps:!0,formatTimestamp:r((e,t)=>{const o=new Date(e),i=new Date().getTime()-o.getTime();return i<6e4?t("Just now"):i<36e5?t("%dm ago",Math.floor(i/6e4)):i<864e5?t("%dh ago",Math.floor(i/36e5)):o.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})},"formatTimestamp"),formatMessageContent:r((e,t)=>b.parse(e,{breaks:!0,gfm:!0}),"formatMessageContent"),showAvatars:!0,showTypingIndicator:!0,includeSelectionByDefault:!0,maxContextRanges:5,showContextPreview:!0,sendOnEnter:!0,instructions:void 0,includeEditorMetadata:!1,autoOpen:!0,rememberLastConversation:!0,autoFocusInput:!0,closeAfterInsert:!1,enableSoundNotifications:!1,debug:!1,textAutocompleteEnabled:!1,textAutocompleteApiRequest:null,textAutocompleteMinQueryLength:3,textAutocompleteMaxSuggestions:3,textAutocompleteDebounceMs:500,textAutocompleteCacheTTL:3e4,textAutocompleteCacheMaxSize:50,quickCommandsSilentMode:!1,quickCommandsDisplayMode:"flight",showCopyMessageAction:!0,showRestartMessageAction:!0,showEditMessageAction:!0,showDeleteMessageAction:!0,dialogSettings:{},allowEditDialogSettings:!1,allowEditDisplayMode:!0,allowEditPanelWidth:!0,initiallyOpened:!1,allowClose:!0,persistOpenState:!0,theme:"parent",allowEditTheme:!0,async uploadBase64Artifact(e,t){if(e.type==="image"&&e.data&&e.data.kind==="base64")try{const o=p(e.data.base64,e.id,e.mimeType),a=await t.uploader.upload([o]);return{...e,data:{kind:"url",url:a.baseurl+a.files[0]},metadata:{...e.metadata,filename:a.files[0]}}}catch(o){t.e.fire("error",o)}return e},getAIProviderOptions(e,t){return C(e,t)},registerAIProvider(e,t){y(e,t)}},s.prototype.controls.aiAssistantPro={icon:"ai-assistant-pro",tooltip:"AI Assistant",hotkeys:["ctrl+shift+a","cmd+shift+a"],exec(e){e.e.fire("openAIAssistantPro.ai-assistant-pro")},isDisabled(e){return!e.o.aiAssistantPro.apiRequest},getLabel(e){return e.o.aiAssistantPro.apiRequest?"AI Assistant":"AI Assistant (not configured)"}},s.prototype.controls.aiAddContext={icon:"ai-add-context",tooltip:"Add to AI Context",exec(e){e.e.fire("addContextToAIAssistant")},isDisabled(e){return e.o.aiAssistantPro.apiRequest?e.s.isCollapsed():!0}},s.prototype.controls.aiCommandsPro={icon:"ai-commands-pro",tooltip:"AI Commands",isDisabled(e){return!e.o.aiAssistantPro.apiRequest},list:I,exec(e,t,{control:o}){e.e.fire("executeQuickCommand.ai-assistant-pro",o.name)}};const l=((n=s.prototype.tuneBlock)===null||n===void 0?void 0:n.popup)||{},u={},M=["p","h1","h2","h3","h4","h5","h6","div","section","article","pre","blockquote","ul","ol","li","table","tr","td","th","img","figure"];M.forEach(e=>{const t=l[e]||["tune.up","tune.remove","tune.down"];u[e]=[...t,"|","aiAddContext"]}),s.prototype.tuneBlock&&(s.prototype.tuneBlock.popup={...l,...u});
@@ -0,0 +1,10 @@
1
+ /*!
2
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
3
+ * See LICENSE.md in the project root for license information.
4
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
5
+ */
6
+ import type { IToolParameter } from "../../interface/index";
7
+ export declare const name = "addHTML";
8
+ export declare const description = "Add HTML content to the beginning or end of the document";
9
+ export declare const parameters: IToolParameter[];
10
+ export declare const requiresPermission = true;
@@ -0,0 +1 @@
1
+ const e="addHTML",t="Add HTML content to the beginning or end of the document",n=[{name:"html",type:"string",description:"HTML content to add",required:!0},{name:"position",type:"string",description:'Where to add: "start" adds at the beginning of the document, "end" appends to the end',required:!1,default:"end"}],o=!0;export{t as description,e as name,n as parameters,o as requiresPermission};
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
3
+ * See LICENSE.md in the project root for license information.
4
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
5
+ */
6
+ import type { IDictionary, IJodit } from "jodit/esm/types/index";
7
+ /**
8
+ * Add HTML content to the beginning or end of the document
9
+ */
10
+ export declare function execute(jodit: IJodit, args: IDictionary, signal: AbortSignal): Promise<{
11
+ success: boolean;
12
+ message: string;
13
+ }>;
@@ -0,0 +1 @@
1
+ var c=Object.defineProperty;var i=(e,t)=>c(e,"name",{value:t,configurable:!0});import{throwIfAborted as m}from"../../core/abort-utils.js";import{requireString as h}from"../../core/arg-utils.js";import{Dom as d}from"jodit/esm/core/dom/index.js";async function g(e,t,a){const n=h(t,"html",{allowEmpty:!0}),{position:s="end"}=t;if(!n.trim())return{success:!0,message:"Nothing to add: HTML is empty"};m(a);try{const r=e.createInside.fragment(),o=e.createInside.div();for(o.innerHTML=n;o.firstChild;)r.appendChild(o.firstChild);return s==="start"?d.prepend(e.editor,r):d.append(e.editor,r),e.synchronizeValues(),{success:!0,message:`Added ${n.length} characters of HTML at the ${s==="start"?"beginning":"end"} of the document`}}catch(r){throw new Error(`Failed to add HTML: ${r?.message||"Unknown error"}`)}}i(g,"execute");export{g as execute};
@@ -0,0 +1,9 @@
1
+ import { execute } from "./executor";
2
+ declare const _default: {
3
+ execute: typeof execute;
4
+ name: "addHTML";
5
+ description: "Add HTML content to the beginning or end of the document";
6
+ parameters: import("../../interface/index").IToolParameter[];
7
+ requiresPermission: true;
8
+ };
9
+ export default _default;
@@ -0,0 +1 @@
1
+ import*as e from"./definition.js";import{execute as o}from"./executor.js";var i={...e,execute:o};export{i as default};
@@ -1 +1 @@
1
- var m=Object.defineProperty;var r=(o,e)=>m(o,"name",{value:e,configurable:!0});import n from"./apply-format/index.js";import p from"./insert-html/index.js";import i from"./read-blocks/index.js";import c from"./read-document/index.js";import f from"./read-selection/index.js";import l from"./replace-block/index.js";import a from"./replace-in-document/index.js";import u from"./replace-selection/index.js";import s from"./write-document/index.js";const t={readDocument:c,readBlocks:i,readSelection:f,writeDocument:s,replaceSelection:u,replaceBlock:l,replaceInDocument:a,insertHTML:p,applyFormat:n};function g(){return Object.keys(t)}r(g,"getToolNames");function y(o){return t[o]}r(y,"getTool");function N(o){return o in t}r(N,"hasTool");export{t as BUILT_IN_TOOLS,y as getTool,g as getToolNames,N as hasTool};
1
+ var m=Object.defineProperty;var r=(o,e)=>m(o,"name",{value:e,configurable:!0});import p from"./add-html/index.js";import i from"./apply-format/index.js";import n from"./insert-html/index.js";import c from"./read-blocks/index.js";import f from"./read-document/index.js";import a from"./read-selection/index.js";import l from"./replace-block/index.js";import u from"./replace-in-document/index.js";import T from"./replace-selection/index.js";import s from"./write-document/index.js";const t={readDocument:f,readBlocks:c,readSelection:a,writeDocument:s,replaceSelection:T,replaceBlock:l,replaceInDocument:u,insertHTML:n,addHTML:p,applyFormat:i};function H(){return Object.keys(t)}r(H,"getToolNames");function M(o){return t[o]}r(M,"getTool");function N(o){return o in t}r(N,"hasTool");export{t as BUILT_IN_TOOLS,M as getTool,H as getToolNames,N as hasTool};
@@ -1 +1 @@
1
- var u=Object.defineProperty;var d=(s,i)=>u(s,"name",{value:i,configurable:!0});import{throwIfAborted as g}from"../../core/abort-utils.js";import{Dom as x}from"jodit/esm/core/dom/index.js";async function w(s,i,m){const{offset:f,limit:e,query:l}=i;g(m);const n=[];Array.from(s.editor.children).forEach((o,a)=>{if(x.isElement(o)){const r=o;n.push({blockIndex:a,tagName:r.tagName.toLowerCase(),content:r.innerHTML,textContent:r.textContent||"",classList:Array.from(r.classList)})}});let t=n;if(l&&typeof l=="string"){const o=l.toLowerCase();t=n.filter(a=>a.textContent.toLowerCase().includes(o))}const c=Math.max(0,Math.min(typeof f=="number"?f:0,t.length)),h=e!==void 0?Math.min(c+e,t.length):t.length;return{blocks:t.slice(c,h),total:n.length,offset:c,limit:e!==void 0?e:void 0}}d(w,"execute");export{w as execute};
1
+ var h=Object.defineProperty;var f=(i,a)=>h(i,"name",{value:a,configurable:!0});import{throwIfAborted as g}from"../../core/abort-utils.js";import{Dom as x}from"jodit/esm/core/dom/index.js";async function k(i,a,m){const{offset:d,limit:o,query:l}=a;g(m);const s=[];Array.from(i.editor.children).forEach((e,n)=>{if(x.isElement(e)){const r=e;s.push({blockIndex:n,tagName:r.tagName.toLowerCase(),content:r.innerHTML,textContent:r.textContent||"",classList:Array.from(r.classList)})}});let t=s;if(l&&typeof l=="string"){const e=l.toLowerCase();t=s.filter(n=>n.textContent.toLowerCase().includes(e)||n.tagName.includes(e)||n.content.toLowerCase().includes(e))}const c=Math.max(0,Math.min(typeof d=="number"?d:0,t.length)),u=o!==void 0?Math.min(c+o,t.length):t.length;return{blocks:t.slice(c,u),total:s.length,offset:c,limit:o!==void 0?o:void 0}}f(k,"execute");export{k as execute};
@@ -27,7 +27,10 @@ export declare class UIMessageList extends UIGroup<IViewBased> {
27
27
  protected render(): string;
28
28
  protected afterRender(): void;
29
29
  /**
30
- * Handle user scroll events - check if user has scrolled away from bottom
30
+ * Handle user scroll events - check if user has scrolled away from bottom.
31
+ * Only listen to user-initiated events (wheel, touchmove) to avoid
32
+ * false positives from programmatic scrollTop changes which also fire
33
+ * the 'scroll' event.
31
34
  */
32
35
  protected onUserScroll(): void;
33
36
  /**
@@ -1 +1 @@
1
- var u=Object.defineProperty;var h=(r,s)=>u(r,"name",{value:s,configurable:!0});var a,l=function(r,s,i,t){var e=arguments.length,o=e<3?s:t===null?t=Object.getOwnPropertyDescriptor(s,i):t,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(r,s,i,t);else for(var m=r.length-1;m>=0;m--)(c=r[m])&&(o=(e<3?c(o):e>3?c(s,i,o):c(s,i))||o);return e>3&&o&&Object.defineProperty(s,i,o),o};import{UIMessageListItem as f}from"./item/message-list-item.js";import{autobind as g,component as I,hook as C,throttle as d,watch as p}from"jodit/esm/core/decorators/index.js";import{UIGroup as S}from"jodit/esm/core/ui/group/group.js";import{ListReconciler as M}from"../../../../core/ui/helpers/index.js";let n=(a=class extends S{className(){return"UIMessageList"}constructor(s,i){super(s),this.params=i,this.messages=[],this.messageItems=new Map,this.autoScrollEnabled=!0}render(){return'<div class="&__scroll-container"></div>'}afterRender(){this.scrollContainer=this.container}onUserScroll(){if(!this.scrollContainer)return;const{scrollTop:s,scrollHeight:i,clientHeight:t}=this.scrollContainer,e=i-s-t<10;this.autoScrollEnabled=e}onMessageSent(){this.autoScrollEnabled=!0,this.scrollToBottom()}appendChildToContainer(s){this.scrollContainer&&this.scrollContainer.appendChild(s)}setMessages(s){const i=this.messages.slice();this.messages=s.slice(),this.updateMessageList(i),this.scrollToBottom()}updateMessageList(s){const i=M.reconcile(s,this.messages,{getId:h(t=>t.id,"getId"),isEqual:h((t,e)=>t.id===e.id&&t.content===e.content&&t.timestamp===e.timestamp&&JSON.stringify(t.artifacts)===JSON.stringify(e.artifacts)&&JSON.stringify(t.toolCalls)===JSON.stringify(e.toolCalls),"isEqual"),preserveOrder:!0});i.toRemove.forEach(t=>{const e=this.messageItems.get(t.id);e&&(this.elements.indexOf(e)!==-1&&(this.remove(e),e.destruct()),this.messageItems.delete(t.id))}),i.toUpdate.forEach(({newItem:t,index:e})=>{const o=this.messageItems.get(t.id);o&&(o.updateMessage(t),this.elements.indexOf(o)!==e&&e<this.elements.length&&(this.remove(o),this.append(o,e)))}),i.toCreate.forEach(t=>{const e=new f(this.j,t,this.params);this.messageItems.set(t.id,e);const o=this.messages.indexOf(t);this.append(e,o)})}scrollToBottom(){this.j.isDestructed||!this.autoScrollEnabled||(this.container.scrollTop=this.container.scrollHeight)}destruct(){this.messageItems.clear(),this.messages=[],super.destruct()}},h(a,"UIMessageList"),a);l([C("ready")],n.prototype,"afterRender",null),l([p(["scrollContainer:wheel","scrollContainer:scroll","scrollContainer:touchmove"]),d(r=>r.defaultTimeout)],n.prototype,"onUserScroll",null),l([p(":messageSent.ai-assistant-pro")],n.prototype,"onMessageSent",null),l([g],n.prototype,"setMessages",null),l([d(r=>r.defaultTimeout*2)],n.prototype,"scrollToBottom",null),n=l([I],n);export{n as UIMessageList};
1
+ var u=Object.defineProperty;var h=(r,s)=>u(r,"name",{value:s,configurable:!0});var a,l=function(r,s,i,t){var e=arguments.length,o=e<3?s:t===null?t=Object.getOwnPropertyDescriptor(s,i):t,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(r,s,i,t);else for(var m=r.length-1;m>=0;m--)(c=r[m])&&(o=(e<3?c(o):e>3?c(s,i,o):c(s,i))||o);return e>3&&o&&Object.defineProperty(s,i,o),o};import{UIMessageListItem as f}from"./item/message-list-item.js";import{autobind as g,component as I,hook as C,throttle as d,watch as p}from"jodit/esm/core/decorators/index.js";import{UIGroup as S}from"jodit/esm/core/ui/group/group.js";import{ListReconciler as M}from"../../../../core/ui/helpers/index.js";let n=(a=class extends S{className(){return"UIMessageList"}constructor(s,i){super(s),this.params=i,this.messages=[],this.messageItems=new Map,this.autoScrollEnabled=!0}render(){return'<div class="&__scroll-container"></div>'}afterRender(){this.scrollContainer=this.container}onUserScroll(){if(!this.scrollContainer)return;const{scrollTop:s,scrollHeight:i,clientHeight:t}=this.scrollContainer,e=i-s-t<10;this.autoScrollEnabled=e}onMessageSent(){this.autoScrollEnabled=!0,this.scrollToBottom()}appendChildToContainer(s){this.scrollContainer&&this.scrollContainer.appendChild(s)}setMessages(s){const i=this.messages.slice();this.messages=s.slice(),this.updateMessageList(i),this.scrollToBottom()}updateMessageList(s){const i=M.reconcile(s,this.messages,{getId:h(t=>t.id,"getId"),isEqual:h((t,e)=>t.id===e.id&&t.content===e.content&&t.timestamp===e.timestamp&&JSON.stringify(t.artifacts)===JSON.stringify(e.artifacts)&&JSON.stringify(t.toolCalls)===JSON.stringify(e.toolCalls),"isEqual"),preserveOrder:!0});i.toRemove.forEach(t=>{const e=this.messageItems.get(t.id);e&&(this.elements.indexOf(e)!==-1&&(this.remove(e),e.destruct()),this.messageItems.delete(t.id))}),i.toUpdate.forEach(({newItem:t,index:e})=>{const o=this.messageItems.get(t.id);o&&(o.updateMessage(t),this.elements.indexOf(o)!==e&&e<this.elements.length&&(this.remove(o),this.append(o,e)))}),i.toCreate.forEach(t=>{const e=new f(this.j,t,this.params);this.messageItems.set(t.id,e);const o=this.messages.indexOf(t);this.append(e,o)})}scrollToBottom(){this.j.isDestructed||!this.autoScrollEnabled||this.container.scrollTo({top:this.container.scrollHeight,behavior:"smooth"})}destruct(){this.messageItems.clear(),this.messages=[],super.destruct()}},h(a,"UIMessageList"),a);l([C("ready")],n.prototype,"afterRender",null),l([p(["scrollContainer:wheel","scrollContainer:touchmove"]),d(r=>r.defaultTimeout)],n.prototype,"onUserScroll",null),l([p(":messageSent.ai-assistant-pro")],n.prototype,"onMessageSent",null),l([g],n.prototype,"setMessages",null),l([d(r=>r.defaultTimeout*2)],n.prototype,"scrollToBottom",null),n=l([I],n);export{n as UIMessageList};
@@ -1,4 +1,4 @@
1
- var v=Object.defineProperty;var d=(r,t)=>v(r,"name",{value:t,configurable:!0});var l,c=function(r,t,e,i){var o=arguments.length,n=o<3?t:i===null?i=Object.getOwnPropertyDescriptor(t,e):i,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,t,e,i);else for(var p=r.length-1;p>=0;p--)(a=r[p])&&(n=(o<3?a(n):o>3?a(t,e,n):a(t,e))||n);return o>3&&n&&Object.defineProperty(t,e,n),n};import{autobind as u,component as m,hook as f}from"jodit/esm/core/decorators/index.js";import{UIElement as _}from"jodit/esm/core/ui/index.js";import{UIButton as h}from"jodit/esm/core/ui/button/index.js";import{UISelect as C}from"jodit/esm/core/ui/form/inputs/select/select.js";import{Icon as y}from"jodit/esm/core/ui/icon.js";let s=(l=class extends _{className(){return"UIPermissionRequest"}constructor(t,e){super(t),this.state=e,this.scopeSelect=null,this.approveButton=null,this.denyButton=null}setToolCall(t){this.toolCall=t,this.updateContent()}setParentView(t){var e,i,o;return(e=this.scopeSelect)===null||e===void 0||e.setParentView(t),(i=this.approveButton)===null||i===void 0||i.setParentView(t),(o=this.denyButton)===null||o===void 0||o.setParentView(t),super.setParentView(t)}render(){return`<div class="&__container">
1
+ var v=Object.defineProperty;var d=(r,t)=>v(r,"name",{value:t,configurable:!0});var l,c=function(r,t,e,o){var i=arguments.length,n=i<3?t:o===null?o=Object.getOwnPropertyDescriptor(t,e):o,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,t,e,o);else for(var p=r.length-1;p>=0;p--)(a=r[p])&&(n=(i<3?a(n):i>3?a(t,e,n):a(t,e))||n);return i>3&&n&&Object.defineProperty(t,e,n),n};import{autobind as h,component as m,hook as f}from"jodit/esm/core/decorators/index.js";import{UIElement as _}from"jodit/esm/core/ui/index.js";import{UIButton as u}from"jodit/esm/core/ui/button/index.js";import{UISelect as C}from"jodit/esm/core/ui/form/inputs/select/select.js";import{Icon as y}from"jodit/esm/core/ui/icon.js";let s=(l=class extends _{className(){return"UIPermissionRequest"}constructor(t,e){super(t),this.state=e,this.scopeSelect=null,this.approveButton=null,this.denyButton=null}setToolCall(t){this.toolCall=t,this.updateContent()}setParentView(t){var e,o,i;return(e=this.scopeSelect)===null||e===void 0||e.setParentView(t),(o=this.approveButton)===null||o===void 0||o.setParentView(t),(i=this.denyButton)===null||i===void 0||i.setParentView(t),super.setParentView(t)}render(){return`<div class="&__container">
2
2
  <div class="&__header">
3
3
  <div class="&__icon"></div>
4
4
  <div class="&__title">~Permission Required~</div>
@@ -8,7 +8,4 @@ var v=Object.defineProperty;var d=(r,t)=>v(r,"name",{value:t,configurable:!0});v
8
8
  <div class="&__actions-buttons"></div>
9
9
  <div class="&__actions-scope"></div>
10
10
  </div>
11
- </div>`}afterRender(){const t=this.getElm("icon");t&&(t.innerHTML=y.get("shield")||""),this.createControls(),this.updateContent()}createControls(){const t=this.getElm("actions-buttons"),e=this.getElm("actions-scope");this.denyButton=new h(this.j,{text:this.j.i18n("Deny"),variant:"initial",size:"small",name:"deny-permission"}),this.j.e.on(this.denyButton,"click",this.onDeny),this.approveButton=new h(this.j,{text:this.j.i18n("Allow"),variant:"initial",size:"small",name:"approve-permission"}),this.j.e.on(this.approveButton,"click",this.onApprove),this.scopeSelect=new C(this.j,{name:"permission-scope",options:[{value:"once",text:this.j.i18n("Once")},{value:"conversation",text:this.j.i18n("This conversation")},{value:"forever",text:this.j.i18n("Always")}]}),this.scopeSelect.value=this.state.defaultPermissionScope,t.appendChild(this.denyButton.container),t.appendChild(this.approveButton.container),e.appendChild(this.scopeSelect.container)}updateContent(){if(!this.toolCall)return;const t=this.getElm("tool-info");t.innerHTML=`
12
- <div class="${this.getFullElName("tool-name")}">${this.j.i18n(this.toolCall.name)}</div>
13
- <div class="${this.getFullElName("tool-args")}">${this.formatArguments(this.toolCall.arguments)}</div>
14
- `}formatArguments(t){return Object.entries(t).map(([e,i])=>`${e}: ${JSON.stringify(i)}`).join(", ")}onApprove(){var t;const e=(t=this.scopeSelect)===null||t===void 0?void 0:t.value;this.j.e.fire("approveToolCall.ai-assistant-pro",this.toolCall.id,e)}onDeny(){this.j.e.fire("denyToolCall.ai-assistant-pro",this.toolCall.id)}destruct(){var t,e,i;(t=this.scopeSelect)===null||t===void 0||t.destruct(),(e=this.approveButton)===null||e===void 0||e.destruct(),(i=this.denyButton)===null||i===void 0||i.destruct(),super.destruct()}},d(l,"UIPermissionRequest"),l);c([f("ready")],s.prototype,"afterRender",null),c([u],s.prototype,"onApprove",null),c([u],s.prototype,"onDeny",null),s=c([m],s);export{s as UIPermissionRequest};
11
+ </div>`}afterRender(){const t=this.getElm("icon");t&&(t.innerHTML=y.get("shield")||""),this.createControls(),this.updateContent()}createControls(){const t=this.getElm("actions-buttons"),e=this.getElm("actions-scope");this.denyButton=new u(this.j,{text:this.j.i18n("Deny"),variant:"initial",size:"small",name:"deny-permission"}),this.j.e.on(this.denyButton,"click",this.onDeny),this.approveButton=new u(this.j,{text:"Allow",variant:"initial",size:"small",name:"approve-permission"}),this.j.e.on(this.approveButton,"click",this.onApprove),this.scopeSelect=new C(this.j,{name:"permission-scope",options:[{value:"once",text:this.j.i18n("Once")},{value:"conversation",text:this.j.i18n("This conversation")},{value:"forever",text:this.j.i18n("Always")}]}),this.scopeSelect.value=this.state.defaultPermissionScope,t.appendChild(this.denyButton.container),t.appendChild(this.approveButton.container),e.appendChild(this.scopeSelect.container)}updateContent(){if(!this.toolCall)return;const t=this.getElm("tool-info");t.innerHTML="";const e=this.j.c.div(this.getFullElName("tool-name"));e.textContent=this.j.i18n(this.toolCall.name);const o=this.j.c.div(this.getFullElName("tool-args"));o.textContent=this.formatArguments(this.toolCall.arguments),t.appendChild(e),t.appendChild(o)}formatArguments(t){return Object.entries(t).map(([e,o])=>`${e}: ${JSON.stringify(o)}`).join(", ")}onApprove(){var t;const e=(t=this.scopeSelect)===null||t===void 0?void 0:t.value;this.j.e.fire("approveToolCall.ai-assistant-pro",this.toolCall.id,e)}onDeny(){this.j.e.fire("denyToolCall.ai-assistant-pro",this.toolCall.id)}destruct(){var t,e,o;(t=this.scopeSelect)===null||t===void 0||t.destruct(),(e=this.approveButton)===null||e===void 0||e.destruct(),(o=this.denyButton)===null||o===void 0||o.destruct(),super.destruct()}},d(l,"UIPermissionRequest"),l);c([f("ready")],s.prototype,"afterRender",null),c([h],s.prototype,"onApprove",null),c([h],s.prototype,"onDeny",null),s=c([m],s);export{s as UIPermissionRequest};
@@ -1,5 +1,5 @@
1
- var d=Object.defineProperty;var f=(l,e)=>d(l,"name",{value:e,configurable:!0});var s,c=function(l,e,t,i){var r=arguments.length,n=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,m;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(l,e,t,i);else for(var a=l.length-1;a>=0;a--)(m=l[a])&&(n=(r<3?m(n):r>3?m(e,t,n):m(e,t))||n);return r>3&&n&&Object.defineProperty(e,t,n),n};import{component as v,watch as h}from"jodit/esm/core/decorators/index.js";import{attr as g,css as b,ctrlKey as p}from"jodit/esm/core/helpers/index.js";import{assert as u}from"jodit/esm/core/helpers/utils/assert.js";import{UIElement as I}from"jodit/esm/core/ui/index.js";import{Dom as w}from"jodit/esm/modules/index.js";import{FileBrowserItem as y}from"jodit/esm/modules/file-browser/builders/item.js";let o=(s=class extends I{className(){return"UIBrowserItem"}constructor(e,t){super(e),this.item=y.create(t),e.e.on(this.container,"click contextmenu dblclick",i=>(e.e.fire(i.type+"Item.filebrowser",this.item,p(i)||i.shiftKey,i),!1)),this.update()}render(){return`<div tabindex='-1'>
1
+ var d=Object.defineProperty;var f=(o,e)=>d(o,"name",{value:e,configurable:!0});var n,c=function(o,e,t,i){var r=arguments.length,s=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,m;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(m=o[a])&&(s=(r<3?m(s):r>3?m(e,t,s):m(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s};import{component as v,watch as u}from"jodit/esm/core/decorators/index.js";import{attr as g,css as I,ctrlKey as h}from"jodit/esm/core/helpers/index.js";import{assert as p}from"jodit/esm/core/helpers/utils/assert.js";import{UIElement as b}from"jodit/esm/core/ui/index.js";import{Dom as w}from"jodit/esm/modules/index.js";import{FileBrowserItem as y}from"jodit/esm/modules/file-browser/builders/item.js";let l=(n=class extends b{className(){return"UIBrowserItem"}constructor(e,t){super(e),this.item=y.create(t),e.e.on(this.container,"click contextmenu dblclick",i=>(e.e.fire(i.type+"Item.filebrowser",this.item,h(i)||i.shiftKey,i),!1)),this.update()}render(){return`<div tabindex='-1' data-ref='uiBrowserItem'>
2
2
  <div class='&__image'></div>
3
3
  <div class='&__info'></div>
4
4
  <div class='&__heart'>*heart*</div>
5
- </div>`}onClickFavorite(){return this.bubble(e=>{this.jodit.e.fire(e,"toggleFavoriteItem",this.item)}),!1}onAction(e){return this.jodit.e.fire(e.type+"Item.filebrowser",this.item,p(e)||e.shiftKey,e),!1}update(){const e=this.getElm("image");u(e!=null,"image element does not exists"),b(e,"backgroundImage",`url(${encodeURI(this.item.imageURL)})`);const{type:t,file:i,time:r,size:n}=this.item;this.setMod("is-file",this.item.isImage===!1).setMod("type",t??"file").setElementValue("name",i).setElementValue("time",r).setElementValue("filesize",n),g(this.container,"title",t!=="folder"?`${i} ${r} ${n}`:i),super.update()}setElementValue(e,t){const i=this.getFullElName(e);let r=this.getElm(e);if(!t)return r&&w.safeRemove(r),this;if(!r){const n=this.getElm("info");u(n!=null,"wrapper element does not exist"),r=this.j.create.div(i),n.appendChild(r)}return r.innerText=t,this}},f(s,"UIBrowserItem"),s);c([h("heart:click")],o.prototype,"onClickFavorite",null),c([h(["container:click","container:contextmenu","container:dblclick"])],o.prototype,"onAction",null),o=c([v],o);export{o as UIBrowserItem};
5
+ </div>`}onClickFavorite(){return this.bubble(e=>{this.jodit.e.fire(e,"toggleFavoriteItem",this.item)}),!1}onAction(e){return this.jodit.e.fire(e.type+"Item.filebrowser",this.item,h(e)||e.shiftKey,e),!1}update(){const e=this.getElm("image");p(e!=null,"image element does not exists"),I(e,"backgroundImage",`url(${encodeURI(this.item.imageURL)})`);const{type:t,file:i,time:r,size:s}=this.item;this.setMod("is-file",this.item.isImage===!1).setMod("type",t??"file").setElementValue("name",i).setElementValue("time",r).setElementValue("filesize",s),g(this.container,"title",t!=="folder"?`${i} ${r} ${s}`:i),super.update()}setElementValue(e,t){const i=this.getFullElName(e);let r=this.getElm(e);if(!t)return r&&w.safeRemove(r),this;if(!r){const s=this.getElm("info");p(s!=null,"wrapper element does not exist"),r=this.j.create.div(i),s.appendChild(r)}return r.innerText=t,this}},f(n,"UIBrowserItem"),n);c([u("heart:click")],l.prototype,"onClickFavorite",null),c([u(["container:click","container:contextmenu","container:dblclick"])],l.prototype,"onAction",null),l=c([v],l);export{l as UIBrowserItem};
package/esm/typings.d.ts CHANGED
@@ -3,3 +3,4 @@
3
3
  * See LICENSE.md in the project root for license information.
4
4
  * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
5
5
  */
6
+ declare module '*.less';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jodit-pro",
3
- "version": "4.11.28",
3
+ "version": "4.12.1",
4
4
  "author": "Chupurnov Valerii <chupurnov@gmail.com>",
5
5
  "homepage": "https://xdsoft.net/jodit/pro/",
6
6
  "bugs": {
@@ -0,0 +1,10 @@
1
+ /*!
2
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
3
+ * See LICENSE.md in the project root for license information.
4
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
5
+ */
6
+ import type { IToolParameter } from "../../interface/index";
7
+ export declare const name = "addHTML";
8
+ export declare const description = "Add HTML content to the beginning or end of the document";
9
+ export declare const parameters: IToolParameter[];
10
+ export declare const requiresPermission = true;
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
3
+ * See LICENSE.md in the project root for license information.
4
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
5
+ */
6
+ import type { IDictionary, IJodit } from "jodit/esm/types/index";
7
+ /**
8
+ * Add HTML content to the beginning or end of the document
9
+ */
10
+ export declare function execute(jodit: IJodit, args: IDictionary, signal: AbortSignal): Promise<{
11
+ success: boolean;
12
+ message: string;
13
+ }>;