jodit 4.0.17 → 4.1.3

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 (580) hide show
  1. package/.nvmrc +1 -1
  2. package/CHANGELOG.md +72 -9
  3. package/es2015/jodit.css +3504 -3426
  4. package/es2015/jodit.fat.min.css +1 -1
  5. package/es2015/jodit.fat.min.js +3 -3
  6. package/es2015/jodit.js +12106 -6608
  7. package/es2015/jodit.min.css +1 -1
  8. package/es2015/jodit.min.js +3 -3
  9. package/es2015/plugins/debug/debug.js +14 -14
  10. package/es2015/plugins/debug/debug.min.js +3 -3
  11. package/es2015/plugins/speech-recognize/speech-recognize.css +2 -2
  12. package/es2015/plugins/speech-recognize/speech-recognize.js +117 -122
  13. package/es2015/plugins/speech-recognize/speech-recognize.min.js +3 -3
  14. package/es2018/jodit.css +3504 -3426
  15. package/es2018/jodit.fat.min.css +1 -1
  16. package/es2018/jodit.fat.min.js +3 -3
  17. package/es2018/jodit.js +12077 -6579
  18. package/es2018/jodit.min.css +1 -1
  19. package/es2018/jodit.min.js +3 -3
  20. package/es2018/plugins/debug/debug.js +14 -14
  21. package/es2018/plugins/debug/debug.min.js +3 -3
  22. package/es2018/plugins/speech-recognize/speech-recognize.css +2 -2
  23. package/es2018/plugins/speech-recognize/speech-recognize.js +117 -122
  24. package/es2018/plugins/speech-recognize/speech-recognize.min.js +3 -3
  25. package/es2021/jodit.css +3504 -3426
  26. package/es2021/jodit.fat.min.css +1 -1
  27. package/es2021/jodit.fat.min.js +3 -3
  28. package/es2021/jodit.js +12077 -6579
  29. package/es2021/jodit.min.css +1 -1
  30. package/es2021/jodit.min.js +3 -3
  31. package/es2021/plugins/debug/debug.js +14 -14
  32. package/es2021/plugins/debug/debug.min.js +3 -3
  33. package/es2021/plugins/speech-recognize/speech-recognize.css +2 -2
  34. package/es2021/plugins/speech-recognize/speech-recognize.js +117 -122
  35. package/es2021/plugins/speech-recognize/speech-recognize.min.js +3 -3
  36. package/es2021.en/jodit.css +3504 -3426
  37. package/es2021.en/jodit.fat.min.css +1 -1
  38. package/es2021.en/jodit.fat.min.js +3 -3
  39. package/es2021.en/jodit.js +11824 -6379
  40. package/es2021.en/jodit.min.css +1 -1
  41. package/es2021.en/jodit.min.js +3 -3
  42. package/es2021.en/plugins/debug/debug.js +14 -14
  43. package/es2021.en/plugins/debug/debug.min.js +3 -3
  44. package/es2021.en/plugins/speech-recognize/speech-recognize.css +2 -2
  45. package/es2021.en/plugins/speech-recognize/speech-recognize.js +76 -81
  46. package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +3 -3
  47. package/es5/jodit.css +4207 -4114
  48. package/es5/jodit.fat.min.css +1 -1
  49. package/es5/jodit.fat.min.js +3 -3
  50. package/es5/jodit.js +7619 -7277
  51. package/es5/jodit.min.css +5 -5
  52. package/es5/jodit.min.js +3 -3
  53. package/es5/plugins/debug/debug.js +16 -16
  54. package/es5/plugins/debug/debug.min.js +3 -3
  55. package/es5/plugins/speech-recognize/speech-recognize.css +2 -2
  56. package/es5/plugins/speech-recognize/speech-recognize.js +122 -127
  57. package/es5/plugins/speech-recognize/speech-recognize.min.js +3 -3
  58. package/esm/config.d.ts +6 -19
  59. package/esm/config.js +18 -5
  60. package/esm/core/async/async.js +4 -4
  61. package/esm/core/component/component.d.ts +2 -2
  62. package/esm/core/component/component.js +4 -4
  63. package/esm/core/component/index.d.ts +1 -1
  64. package/esm/core/component/index.js +1 -1
  65. package/esm/core/constants.d.ts +1 -0
  66. package/esm/core/constants.js +2 -1
  67. package/esm/core/create/create.d.ts +3 -2
  68. package/esm/core/create/create.js +5 -4
  69. package/esm/core/decorators/autobind/autobind.d.ts +6 -0
  70. package/esm/core/decorators/autobind/autobind.js +6 -0
  71. package/esm/core/decorators/cache/cache.d.ts +2 -2
  72. package/esm/core/decorators/cache/cache.js +4 -4
  73. package/esm/core/decorators/debounce/debounce.d.ts +1 -1
  74. package/esm/core/decorators/debounce/debounce.js +2 -2
  75. package/esm/core/decorators/index.d.ts +3 -3
  76. package/esm/core/decorators/index.js +3 -3
  77. package/esm/core/decorators/wait/wait.js +1 -1
  78. package/esm/core/decorators/watch/watch.js +3 -3
  79. package/esm/core/dom/dom.js +2 -2
  80. package/esm/core/dom/lazy-walker.js +1 -1
  81. package/esm/core/event-emitter/event-emitter.js +4 -4
  82. package/esm/core/event-emitter/observable.d.ts +1 -1
  83. package/esm/core/event-emitter/observable.js +1 -1
  84. package/esm/core/event-emitter/store.js +1 -1
  85. package/esm/core/global.d.ts +1 -1
  86. package/esm/core/global.js +7 -7
  87. package/esm/core/helpers/array/as-array.d.ts +1 -1
  88. package/esm/core/helpers/array/to-array.js +1 -1
  89. package/esm/core/helpers/checker/index.d.ts +3 -3
  90. package/esm/core/helpers/checker/index.js +3 -3
  91. package/esm/core/helpers/checker/is-imp-interface.js +1 -1
  92. package/esm/core/helpers/checker/is-marker.js +1 -1
  93. package/esm/core/helpers/checker/is-url.d.ts +1 -1
  94. package/esm/core/helpers/checker/is-url.js +1 -1
  95. package/esm/core/helpers/checker/is-view-object.d.ts +1 -1
  96. package/esm/core/helpers/checker/is-view-object.js +1 -1
  97. package/esm/core/helpers/html/apply-styles.js +2 -2
  98. package/esm/core/helpers/html/clean-from-word.js +1 -1
  99. package/esm/core/helpers/html/index.d.ts +2 -2
  100. package/esm/core/helpers/html/index.js +2 -2
  101. package/esm/core/helpers/html/safe-html.js +1 -1
  102. package/esm/core/helpers/html/strip-tags.d.ts +1 -1
  103. package/esm/core/helpers/html/strip-tags.js +2 -2
  104. package/esm/core/helpers/index.d.ts +1 -1
  105. package/esm/core/helpers/index.js +1 -1
  106. package/esm/core/helpers/normalize/index.d.ts +2 -2
  107. package/esm/core/helpers/normalize/index.js +2 -2
  108. package/esm/core/helpers/normalize/normalize-css-value.js +2 -2
  109. package/esm/core/helpers/normalize/normalize-key-aliases.js +1 -1
  110. package/esm/core/helpers/size/get-scroll-parent.js +1 -1
  111. package/esm/core/helpers/size/index.d.ts +1 -1
  112. package/esm/core/helpers/size/index.js +1 -1
  113. package/esm/core/helpers/string/i18n.js +3 -3
  114. package/esm/core/helpers/string/trim.js +1 -1
  115. package/esm/core/helpers/utils/append-script.js +1 -1
  116. package/esm/core/helpers/utils/attr.js +1 -1
  117. package/esm/core/helpers/utils/config-proto.js +3 -3
  118. package/esm/core/helpers/utils/css.js +2 -2
  119. package/esm/core/helpers/utils/data-bind.d.ts +1 -1
  120. package/esm/core/helpers/utils/index.d.ts +1 -1
  121. package/esm/core/helpers/utils/index.js +1 -1
  122. package/esm/core/helpers/utils/print.js +2 -2
  123. package/esm/core/helpers/utils/reset.js +2 -2
  124. package/esm/core/helpers/utils/selector.d.ts +7 -6
  125. package/esm/core/helpers/utils/selector.js +6 -8
  126. package/esm/core/helpers/utils/set.js +2 -2
  127. package/esm/core/helpers/utils/utils.d.ts +4 -4
  128. package/esm/core/helpers/utils/utils.js +2 -2
  129. package/esm/core/plugin/helpers/init-instance.d.ts +1 -1
  130. package/esm/core/plugin/helpers/init-instance.js +3 -3
  131. package/esm/core/plugin/helpers/load.js +2 -2
  132. package/esm/core/plugin/helpers/make-instance.js +1 -1
  133. package/esm/core/plugin/index.d.ts +1 -1
  134. package/esm/core/plugin/index.js +1 -1
  135. package/esm/core/plugin/plugin-system.js +5 -5
  136. package/esm/core/plugin/plugin.js +1 -1
  137. package/esm/core/request/ajax.d.ts +1 -1
  138. package/esm/core/request/ajax.js +5 -5
  139. package/esm/core/selection/helpers/move-node-inside-start.js +1 -1
  140. package/esm/core/selection/index.d.ts +1 -1
  141. package/esm/core/selection/index.js +1 -1
  142. package/esm/core/selection/selection.js +5 -5
  143. package/esm/core/selection/style/api/extract.js +2 -2
  144. package/esm/core/selection/style/api/finite-state-machine.js +3 -2
  145. package/esm/core/selection/style/api/get-suit-child.d.ts +1 -1
  146. package/esm/core/selection/style/api/get-suit-parent.d.ts +1 -1
  147. package/esm/core/selection/style/api/has-same-style.js +2 -2
  148. package/esm/core/selection/style/api/index.d.ts +5 -5
  149. package/esm/core/selection/style/api/index.js +5 -5
  150. package/esm/core/selection/style/api/is-same-attributes.js +1 -1
  151. package/esm/core/selection/style/api/is-suit-element.d.ts +1 -1
  152. package/esm/core/selection/style/api/is-suit-element.js +1 -1
  153. package/esm/core/selection/style/api/list/toggle-ordered-list.d.ts +1 -1
  154. package/esm/core/selection/style/api/list/toggle-ordered-list.js +1 -1
  155. package/esm/core/selection/style/api/list/wrap-list.d.ts +1 -1
  156. package/esm/core/selection/style/api/list/wrap-list.js +1 -1
  157. package/esm/core/selection/style/api/toggle-attributes.d.ts +1 -1
  158. package/esm/core/selection/style/api/toggle-attributes.js +6 -6
  159. package/esm/core/selection/style/api/wrap-unwrapped-text.d.ts +1 -1
  160. package/esm/core/selection/style/api/wrap.d.ts +1 -1
  161. package/esm/core/selection/style/api/wrap.js +1 -1
  162. package/esm/core/selection/style/apply-style.d.ts +1 -1
  163. package/esm/core/selection/style/apply-style.js +1 -1
  164. package/esm/core/selection/style/commit-style.d.ts +2 -2
  165. package/esm/core/selection/style/commit-style.js +1 -1
  166. package/esm/core/selection/style/transactions.d.ts +1 -1
  167. package/esm/core/selection/style/transactions.js +3 -4
  168. package/esm/core/storage/index.d.ts +1 -1
  169. package/esm/core/storage/index.js +1 -1
  170. package/esm/core/traits/dlgs.d.ts +1 -1
  171. package/esm/core/traits/dlgs.js +1 -1
  172. package/esm/core/traits/mods.d.ts +1 -1
  173. package/esm/core/ui/button/button/button.d.ts +4 -4
  174. package/esm/core/ui/button/button/button.js +8 -11
  175. package/esm/core/ui/button/group/group.d.ts +1 -1
  176. package/esm/core/ui/button/group/group.js +2 -5
  177. package/esm/core/ui/button/tooltip/tooltip.d.ts +1 -1
  178. package/esm/core/ui/button/tooltip/tooltip.js +4 -9
  179. package/esm/core/ui/element.d.ts +1 -1
  180. package/esm/core/ui/element.js +4 -4
  181. package/esm/core/ui/form/block/block.d.ts +1 -1
  182. package/esm/core/ui/form/block/block.js +2 -5
  183. package/esm/core/ui/form/form.d.ts +1 -1
  184. package/esm/core/ui/form/form.js +5 -4
  185. package/esm/core/ui/form/index.d.ts +1 -1
  186. package/esm/core/ui/form/index.js +1 -1
  187. package/esm/core/ui/form/inputs/area/area.d.ts +2 -2
  188. package/esm/core/ui/form/inputs/area/area.js +2 -5
  189. package/esm/core/ui/form/inputs/checkbox/checkbox.d.ts +2 -2
  190. package/esm/core/ui/form/inputs/checkbox/checkbox.js +2 -5
  191. package/esm/core/ui/form/inputs/file/file.d.ts +1 -1
  192. package/esm/core/ui/form/inputs/file/file.js +1 -4
  193. package/esm/core/ui/form/inputs/index.d.ts +2 -2
  194. package/esm/core/ui/form/inputs/index.js +2 -2
  195. package/esm/core/ui/form/inputs/input/input.d.ts +1 -1
  196. package/esm/core/ui/form/inputs/input/input.js +5 -8
  197. package/esm/core/ui/form/inputs/select/select.d.ts +1 -1
  198. package/esm/core/ui/form/inputs/select/select.js +1 -4
  199. package/esm/core/ui/group/group.d.ts +2 -3
  200. package/esm/core/ui/group/group.js +3 -8
  201. package/esm/core/ui/group/list.d.ts +2 -2
  202. package/esm/core/ui/group/list.js +4 -7
  203. package/esm/core/ui/group/separator.d.ts +0 -3
  204. package/esm/core/ui/group/separator.js +1 -1
  205. package/esm/core/ui/group/spacer.d.ts +0 -3
  206. package/esm/core/ui/group/spacer.js +1 -1
  207. package/esm/core/ui/helpers/get-strong-control-types.js +2 -2
  208. package/esm/core/ui/icon.js +3 -3
  209. package/esm/core/ui/index.d.ts +3 -3
  210. package/esm/core/ui/index.js +3 -3
  211. package/esm/core/ui/popup/popup.d.ts +1 -1
  212. package/esm/core/ui/popup/popup.js +4 -9
  213. package/esm/core/ui/progress-bar/progress-bar.d.ts +1 -1
  214. package/esm/core/ui/progress-bar/progress-bar.js +0 -5
  215. package/esm/core/view/view-with-toolbar.d.ts +5 -5
  216. package/esm/core/view/view-with-toolbar.js +11 -13
  217. package/esm/core/view/view.d.ts +6 -6
  218. package/esm/core/view/view.js +15 -8
  219. package/esm/index.d.ts +2 -7
  220. package/esm/index.js +11 -4
  221. package/esm/jodit.d.ts +8 -8
  222. package/esm/jodit.js +14 -14
  223. package/esm/languages.js +2 -2
  224. package/esm/modules/context-menu/context-menu.d.ts +3 -3
  225. package/esm/modules/context-menu/context-menu.js +4 -9
  226. package/esm/modules/dialog/alert.js +2 -2
  227. package/esm/modules/dialog/confirm.js +1 -1
  228. package/esm/modules/dialog/dialog.d.ts +2 -2
  229. package/esm/modules/dialog/dialog.js +9 -12
  230. package/esm/modules/dialog/index.d.ts +2 -2
  231. package/esm/modules/dialog/index.js +2 -2
  232. package/esm/modules/dialog/prompt.js +1 -1
  233. package/esm/modules/file-browser/builders/context-menu.d.ts +1 -1
  234. package/esm/modules/file-browser/builders/context-menu.js +3 -3
  235. package/esm/modules/file-browser/config.d.ts +3 -0
  236. package/esm/modules/file-browser/config.js +2 -5
  237. package/esm/modules/file-browser/data-provider.d.ts +1 -1
  238. package/esm/modules/file-browser/data-provider.js +2 -2
  239. package/esm/modules/file-browser/file-browser.d.ts +3 -3
  240. package/esm/modules/file-browser/file-browser.js +13 -16
  241. package/esm/modules/file-browser/listeners/native-listeners.d.ts +1 -1
  242. package/esm/modules/file-browser/listeners/native-listeners.js +1 -1
  243. package/esm/modules/file-browser/listeners/self-listeners.js +4 -4
  244. package/esm/modules/file-browser/ui/files/files.d.ts +1 -1
  245. package/esm/modules/file-browser/ui/tree/tree.d.ts +1 -1
  246. package/esm/modules/history/history.d.ts +1 -1
  247. package/esm/modules/history/history.js +3 -3
  248. package/esm/modules/history/snapshot.js +1 -1
  249. package/esm/modules/image-editor/config.js +1 -1
  250. package/esm/modules/image-editor/image-editor.d.ts +2 -2
  251. package/esm/modules/image-editor/image-editor.js +4 -9
  252. package/esm/modules/index.d.ts +13 -12
  253. package/esm/modules/index.js +13 -12
  254. package/esm/modules/messages/message.js +1 -1
  255. package/esm/modules/messages/messages.d.ts +1 -1
  256. package/esm/modules/messages/messages.js +1 -6
  257. package/esm/modules/status-bar/status-bar.d.ts +3 -3
  258. package/esm/modules/status-bar/status-bar.js +3 -8
  259. package/esm/modules/table/table.js +3 -3
  260. package/esm/modules/toolbar/button/button.d.ts +3 -3
  261. package/esm/modules/toolbar/button/button.js +9 -14
  262. package/esm/modules/toolbar/button/content.d.ts +1 -1
  263. package/esm/modules/toolbar/button/content.js +3 -6
  264. package/esm/modules/toolbar/button/select/select.d.ts +1 -1
  265. package/esm/modules/toolbar/button/select/select.js +0 -3
  266. package/esm/modules/toolbar/collection/collection.d.ts +4 -4
  267. package/esm/modules/toolbar/collection/collection.js +3 -8
  268. package/esm/modules/toolbar/collection/editor-collection.d.ts +1 -1
  269. package/esm/modules/toolbar/collection/editor-collection.js +2 -5
  270. package/esm/modules/toolbar/factory.js +2 -2
  271. package/esm/modules/uploader/config.js +1 -1
  272. package/esm/modules/uploader/helpers/index.d.ts +2 -2
  273. package/esm/modules/uploader/helpers/index.js +2 -2
  274. package/esm/modules/uploader/helpers/process-old-browser-drag.js +1 -1
  275. package/esm/modules/uploader/helpers/send.js +1 -2
  276. package/esm/modules/uploader/uploader.d.ts +1 -1
  277. package/esm/modules/uploader/uploader.js +3 -8
  278. package/esm/modules/widget/color-picker/color-picker.d.ts +3 -3
  279. package/esm/modules/widget/color-picker/color-picker.js +4 -9
  280. package/esm/modules/widget/file-selector/file-selector.js +2 -2
  281. package/esm/modules/widget/index.d.ts +1 -1
  282. package/esm/modules/widget/index.js +1 -1
  283. package/esm/modules/widget/tabs/tabs.d.ts +1 -1
  284. package/esm/modules/widget/tabs/tabs.js +2 -7
  285. package/esm/plugins/about/about.d.ts +0 -5
  286. package/esm/plugins/about/about.js +3 -8
  287. package/esm/plugins/add-new-line/add-new-line.d.ts +1 -1
  288. package/esm/plugins/add-new-line/add-new-line.js +2 -7
  289. package/esm/plugins/add-new-line/config.js +1 -1
  290. package/esm/plugins/ai-assistant/ai-assistant.d.ts +27 -0
  291. package/esm/plugins/ai-assistant/ai-assistant.js +104 -0
  292. package/esm/plugins/ai-assistant/ai-assistant.svg.js +1 -0
  293. package/esm/plugins/ai-assistant/chat-bot.svg.js +1 -0
  294. package/esm/plugins/ai-assistant/config.d.ts +72 -0
  295. package/esm/plugins/ai-assistant/config.js +94 -0
  296. package/esm/plugins/ai-assistant/langs/en.d.ts +9 -0
  297. package/esm/plugins/ai-assistant/langs/en.js +14 -0
  298. package/esm/plugins/ai-assistant/langs/es.d.ts +40 -0
  299. package/esm/plugins/ai-assistant/langs/es.js +45 -0
  300. package/esm/plugins/ai-assistant/langs/index.d.ts +8 -0
  301. package/esm/plugins/ai-assistant/langs/index.js +8 -0
  302. package/esm/plugins/ai-assistant/ui/ui-ai-assistant.d.ts +34 -0
  303. package/esm/plugins/ai-assistant/ui/ui-ai-assistant.js +141 -0
  304. package/esm/plugins/backspace/backspace.js +5 -5
  305. package/esm/plugins/backspace/cases/check-join-neighbors.js +2 -2
  306. package/esm/plugins/backspace/cases/check-remove-char.js +2 -2
  307. package/esm/plugins/backspace/cases/check-remove-empty-parent.js +1 -1
  308. package/esm/plugins/backspace/cases/check-remove-unbreakable-element.js +1 -1
  309. package/esm/plugins/backspace/cases/check-unwrap-first-list-item.d.ts +1 -1
  310. package/esm/plugins/backspace/cases/check-unwrap-first-list-item.js +1 -1
  311. package/esm/plugins/backspace/cases/index.d.ts +1 -1
  312. package/esm/plugins/backspace/cases/index.js +6 -6
  313. package/esm/plugins/bold/bold.js +4 -4
  314. package/esm/plugins/class-span/class-span.js +3 -3
  315. package/esm/plugins/clean-html/clean-html.js +5 -5
  316. package/esm/plugins/clean-html/config.js +1 -1
  317. package/esm/plugins/clean-html/helpers/get-hash.js +1 -1
  318. package/esm/plugins/clean-html/helpers/remove-format/remove-format-for-collapsed-selection.js +1 -1
  319. package/esm/plugins/clean-html/helpers/visitor/filters/fill-empty-paragraph.js +1 -1
  320. package/esm/plugins/clean-html/helpers/visitor/filters/index.d.ts +2 -2
  321. package/esm/plugins/clean-html/helpers/visitor/filters/index.js +2 -2
  322. package/esm/plugins/clean-html/helpers/visitor/filters/try-remove-node.js +1 -1
  323. package/esm/plugins/clean-html/helpers/visitor/visit-node-walker.d.ts +1 -1
  324. package/esm/plugins/clean-html/helpers/visitor/visit-node-walker.js +1 -1
  325. package/esm/plugins/clipboard/clipboard.js +1 -1
  326. package/esm/plugins/clipboard/config.js +1 -1
  327. package/esm/plugins/color/color.js +1 -1
  328. package/esm/plugins/color/config.js +3 -3
  329. package/esm/plugins/copy-format/copy-format.js +2 -2
  330. package/esm/plugins/delete/delete.js +2 -2
  331. package/esm/plugins/drag-and-drop/drag-and-drop.js +2 -2
  332. package/esm/plugins/drag-and-drop-element/drag-and-drop-element.js +3 -3
  333. package/esm/plugins/dtd/dtd.js +3 -3
  334. package/esm/plugins/enter/enter.js +5 -5
  335. package/esm/plugins/enter/helpers/check-br.js +2 -2
  336. package/esm/plugins/enter/helpers/index.d.ts +2 -2
  337. package/esm/plugins/enter/helpers/index.js +2 -2
  338. package/esm/plugins/enter/helpers/move-cursor-out-from-specal-tags.d.ts +1 -1
  339. package/esm/plugins/enter/helpers/split-fragment.js +1 -1
  340. package/esm/plugins/file/file.js +2 -2
  341. package/esm/plugins/focus/focus.js +1 -1
  342. package/esm/plugins/font/config.js +4 -4
  343. package/esm/plugins/font/font.js +1 -1
  344. package/esm/plugins/format-block/config.js +2 -2
  345. package/esm/plugins/fullsize/config.d.ts +0 -3
  346. package/esm/plugins/fullsize/config.js +1 -4
  347. package/esm/plugins/fullsize/fullsize.d.ts +1 -1
  348. package/esm/plugins/fullsize/fullsize.js +2 -7
  349. package/esm/plugins/hotkeys/hotkeys.js +2 -2
  350. package/esm/plugins/hr/hr.js +1 -1
  351. package/esm/plugins/iframe/iframe.js +2 -2
  352. package/esm/plugins/image/image.js +3 -3
  353. package/esm/plugins/image-processor/image-processor.js +3 -3
  354. package/esm/plugins/image-properties/image-properties.d.ts +1 -1
  355. package/esm/plugins/image-properties/image-properties.js +6 -11
  356. package/esm/plugins/indent/config.js +2 -2
  357. package/esm/plugins/indent/indent.js +1 -1
  358. package/esm/plugins/index.d.ts +1 -0
  359. package/esm/plugins/inline-popup/config/config.js +9 -11
  360. package/esm/plugins/inline-popup/config/items/a.d.ts +1 -1
  361. package/esm/plugins/inline-popup/config/items/cells.d.ts +1 -1
  362. package/esm/plugins/inline-popup/config/items/img.d.ts +1 -1
  363. package/esm/plugins/inline-popup/config/items/img.js +1 -1
  364. package/esm/plugins/inline-popup/inline-popup.d.ts +1 -1
  365. package/esm/plugins/inline-popup/inline-popup.js +6 -11
  366. package/esm/plugins/justify/justify.js +3 -3
  367. package/esm/plugins/key-arrow-outside/key-arrow-outside.js +2 -2
  368. package/esm/plugins/limit/limit.js +1 -1
  369. package/esm/plugins/line-height/config.js +1 -1
  370. package/esm/plugins/line-height/line-height.js +3 -3
  371. package/esm/plugins/link/config.d.ts +1 -1
  372. package/esm/plugins/link/config.js +2 -2
  373. package/esm/plugins/link/link.js +2 -2
  374. package/esm/plugins/link/template.js +1 -1
  375. package/esm/plugins/media/media.js +1 -1
  376. package/esm/plugins/mobile/config.d.ts +3 -0
  377. package/esm/plugins/mobile/config.js +2 -5
  378. package/esm/plugins/mobile/mobile.js +1 -1
  379. package/esm/plugins/ordered-list/config.js +1 -1
  380. package/esm/plugins/ordered-list/ordered-list.js +1 -1
  381. package/esm/plugins/paste/config.js +3 -1
  382. package/esm/plugins/paste/helpers.js +2 -2
  383. package/esm/plugins/paste/paste.js +4 -4
  384. package/esm/plugins/paste-from-word/config.js +1 -1
  385. package/esm/plugins/paste-from-word/paste-from-word.d.ts +1 -1
  386. package/esm/plugins/paste-from-word/paste-from-word.js +3 -3
  387. package/esm/plugins/paste-storage/paste-storage.d.ts +1 -6
  388. package/esm/plugins/paste-storage/paste-storage.js +2 -7
  389. package/esm/plugins/placeholder/placeholder.d.ts +1 -1
  390. package/esm/plugins/placeholder/placeholder.js +5 -10
  391. package/esm/plugins/preview/preview.d.ts +1 -1
  392. package/esm/plugins/preview/preview.js +1 -6
  393. package/esm/plugins/print/print.js +4 -5
  394. package/esm/plugins/redo-undo/redo-undo.js +2 -2
  395. package/esm/plugins/resize-cells/resize-cells.d.ts +1 -1
  396. package/esm/plugins/resize-cells/resize-cells.js +2 -7
  397. package/esm/plugins/resize-handler/resize-handler.js +3 -3
  398. package/esm/plugins/resizer/resizer.d.ts +1 -1
  399. package/esm/plugins/resizer/resizer.js +3 -9
  400. package/esm/plugins/search/config.js +2 -2
  401. package/esm/plugins/search/helpers/index.d.ts +1 -1
  402. package/esm/plugins/search/helpers/index.js +1 -1
  403. package/esm/plugins/search/search.d.ts +1 -1
  404. package/esm/plugins/search/search.js +6 -6
  405. package/esm/plugins/search/ui/search.d.ts +1 -1
  406. package/esm/plugins/search/ui/search.js +2 -5
  407. package/esm/plugins/select/select.js +3 -3
  408. package/esm/plugins/select-cells/select-cells.js +4 -4
  409. package/esm/plugins/size/config.js +1 -1
  410. package/esm/plugins/size/size.d.ts +1 -1
  411. package/esm/plugins/size/size.js +2 -7
  412. package/esm/plugins/source/config.js +1 -1
  413. package/esm/plugins/source/editor/engines/area.js +1 -1
  414. package/esm/plugins/source/editor/engines/index.d.ts +1 -1
  415. package/esm/plugins/source/editor/engines/index.js +1 -1
  416. package/esm/plugins/source/source.d.ts +1 -1
  417. package/esm/plugins/source/source.js +4 -9
  418. package/esm/plugins/speech-recognize/config.js +3 -3
  419. package/esm/plugins/speech-recognize/helpers/recognize-manager.d.ts +1 -1
  420. package/esm/plugins/speech-recognize/helpers/recognize-manager.js +2 -2
  421. package/esm/plugins/speech-recognize/speech-recognize.d.ts +1 -1
  422. package/esm/plugins/speech-recognize/speech-recognize.js +5 -10
  423. package/esm/plugins/spellcheck/config.js +1 -1
  424. package/esm/plugins/spellcheck/spellcheck.js +3 -3
  425. package/esm/plugins/stat/stat.js +1 -1
  426. package/esm/plugins/sticky/sticky.d.ts +1 -1
  427. package/esm/plugins/sticky/sticky.js +3 -8
  428. package/esm/plugins/symbols/config.js +1 -1
  429. package/esm/plugins/symbols/symbols.d.ts +1 -1
  430. package/esm/plugins/symbols/symbols.js +3 -8
  431. package/esm/plugins/tab/tab.js +3 -3
  432. package/esm/plugins/table/config.js +2 -2
  433. package/esm/plugins/table/table.d.ts +1 -1
  434. package/esm/plugins/table/table.js +0 -5
  435. package/esm/plugins/table-keyboard-navigation/table-keyboard-navigation.js +1 -1
  436. package/esm/plugins/video/config.js +3 -3
  437. package/esm/plugins/wrap-nodes/config.d.ts +1 -1
  438. package/esm/plugins/wrap-nodes/wrap-nodes.js +3 -3
  439. package/esm/plugins/xpath/xpath.d.ts +1 -6
  440. package/esm/plugins/xpath/xpath.js +4 -9
  441. package/esm/polyfills.d.ts +10 -0
  442. package/esm/types/view.d.ts +1 -1
  443. package/package.json +2 -2
  444. package/types/config.d.ts +6 -19
  445. package/types/core/component/component.d.ts +2 -2
  446. package/types/core/component/index.d.ts +1 -1
  447. package/types/core/constants.d.ts +1 -0
  448. package/types/core/create/create.d.ts +3 -2
  449. package/types/core/decorators/autobind/autobind.d.ts +6 -0
  450. package/types/core/decorators/cache/cache.d.ts +2 -2
  451. package/types/core/decorators/debounce/debounce.d.ts +1 -1
  452. package/types/core/decorators/index.d.ts +3 -3
  453. package/types/core/event-emitter/observable.d.ts +1 -1
  454. package/types/core/global.d.ts +1 -1
  455. package/types/core/helpers/array/as-array.d.ts +1 -1
  456. package/types/core/helpers/checker/index.d.ts +3 -3
  457. package/types/core/helpers/checker/is-url.d.ts +1 -1
  458. package/types/core/helpers/checker/is-view-object.d.ts +1 -1
  459. package/types/core/helpers/html/index.d.ts +2 -2
  460. package/types/core/helpers/html/strip-tags.d.ts +1 -1
  461. package/types/core/helpers/index.d.ts +1 -1
  462. package/types/core/helpers/normalize/index.d.ts +2 -2
  463. package/types/core/helpers/size/index.d.ts +1 -1
  464. package/types/core/helpers/utils/data-bind.d.ts +1 -1
  465. package/types/core/helpers/utils/index.d.ts +1 -1
  466. package/types/core/helpers/utils/selector.d.ts +7 -6
  467. package/types/core/helpers/utils/utils.d.ts +4 -4
  468. package/types/core/plugin/helpers/init-instance.d.ts +1 -1
  469. package/types/core/plugin/index.d.ts +1 -1
  470. package/types/core/request/ajax.d.ts +1 -1
  471. package/types/core/selection/index.d.ts +1 -1
  472. package/types/core/selection/style/api/get-suit-child.d.ts +1 -1
  473. package/types/core/selection/style/api/get-suit-parent.d.ts +1 -1
  474. package/types/core/selection/style/api/index.d.ts +5 -5
  475. package/types/core/selection/style/api/is-suit-element.d.ts +1 -1
  476. package/types/core/selection/style/api/list/toggle-ordered-list.d.ts +1 -1
  477. package/types/core/selection/style/api/list/wrap-list.d.ts +1 -1
  478. package/types/core/selection/style/api/toggle-attributes.d.ts +1 -1
  479. package/types/core/selection/style/api/wrap-unwrapped-text.d.ts +1 -1
  480. package/types/core/selection/style/api/wrap.d.ts +1 -1
  481. package/types/core/selection/style/apply-style.d.ts +1 -1
  482. package/types/core/selection/style/commit-style.d.ts +2 -2
  483. package/types/core/selection/style/transactions.d.ts +1 -1
  484. package/types/core/storage/index.d.ts +1 -1
  485. package/types/core/traits/dlgs.d.ts +1 -1
  486. package/types/core/traits/mods.d.ts +1 -1
  487. package/types/core/ui/button/button/button.d.ts +4 -4
  488. package/types/core/ui/button/group/group.d.ts +1 -1
  489. package/types/core/ui/button/tooltip/tooltip.d.ts +1 -1
  490. package/types/core/ui/element.d.ts +1 -1
  491. package/types/core/ui/form/block/block.d.ts +1 -1
  492. package/types/core/ui/form/form.d.ts +1 -1
  493. package/types/core/ui/form/index.d.ts +1 -1
  494. package/types/core/ui/form/inputs/area/area.d.ts +2 -2
  495. package/types/core/ui/form/inputs/checkbox/checkbox.d.ts +2 -2
  496. package/types/core/ui/form/inputs/file/file.d.ts +1 -1
  497. package/types/core/ui/form/inputs/index.d.ts +2 -2
  498. package/types/core/ui/form/inputs/input/input.d.ts +1 -1
  499. package/types/core/ui/form/inputs/select/select.d.ts +1 -1
  500. package/types/core/ui/group/group.d.ts +2 -3
  501. package/types/core/ui/group/list.d.ts +2 -2
  502. package/types/core/ui/group/separator.d.ts +0 -3
  503. package/types/core/ui/group/spacer.d.ts +0 -3
  504. package/types/core/ui/index.d.ts +3 -3
  505. package/types/core/ui/popup/popup.d.ts +1 -1
  506. package/types/core/ui/progress-bar/progress-bar.d.ts +1 -1
  507. package/types/core/view/view-with-toolbar.d.ts +5 -5
  508. package/types/core/view/view.d.ts +6 -6
  509. package/types/index.d.ts +2 -7
  510. package/types/jodit.d.ts +8 -8
  511. package/types/modules/context-menu/context-menu.d.ts +3 -3
  512. package/types/modules/dialog/dialog.d.ts +2 -2
  513. package/types/modules/dialog/index.d.ts +2 -2
  514. package/types/modules/file-browser/builders/context-menu.d.ts +1 -1
  515. package/types/modules/file-browser/config.d.ts +3 -0
  516. package/types/modules/file-browser/data-provider.d.ts +1 -1
  517. package/types/modules/file-browser/file-browser.d.ts +3 -3
  518. package/types/modules/file-browser/listeners/native-listeners.d.ts +1 -1
  519. package/types/modules/file-browser/ui/files/files.d.ts +1 -1
  520. package/types/modules/file-browser/ui/tree/tree.d.ts +1 -1
  521. package/types/modules/history/history.d.ts +1 -1
  522. package/types/modules/image-editor/image-editor.d.ts +2 -2
  523. package/types/modules/index.d.ts +13 -12
  524. package/types/modules/messages/messages.d.ts +1 -1
  525. package/types/modules/status-bar/status-bar.d.ts +3 -3
  526. package/types/modules/toolbar/button/button.d.ts +3 -3
  527. package/types/modules/toolbar/button/content.d.ts +1 -1
  528. package/types/modules/toolbar/button/select/select.d.ts +1 -1
  529. package/types/modules/toolbar/collection/collection.d.ts +4 -4
  530. package/types/modules/toolbar/collection/editor-collection.d.ts +1 -1
  531. package/types/modules/uploader/helpers/index.d.ts +2 -2
  532. package/types/modules/uploader/uploader.d.ts +1 -1
  533. package/types/modules/widget/color-picker/color-picker.d.ts +3 -3
  534. package/types/modules/widget/index.d.ts +1 -1
  535. package/types/modules/widget/tabs/tabs.d.ts +1 -1
  536. package/types/plugins/about/about.d.ts +0 -5
  537. package/types/plugins/add-new-line/add-new-line.d.ts +1 -1
  538. package/types/plugins/ai-assistant/ai-assistant.d.ts +27 -0
  539. package/types/plugins/ai-assistant/config.d.ts +72 -0
  540. package/types/plugins/ai-assistant/langs/en.d.ts +9 -0
  541. package/types/plugins/ai-assistant/langs/es.d.ts +40 -0
  542. package/types/plugins/ai-assistant/langs/index.d.ts +8 -0
  543. package/types/plugins/ai-assistant/ui/ui-ai-assistant.d.ts +34 -0
  544. package/types/plugins/backspace/cases/check-unwrap-first-list-item.d.ts +1 -1
  545. package/types/plugins/backspace/cases/index.d.ts +1 -1
  546. package/types/plugins/clean-html/helpers/visitor/filters/index.d.ts +2 -2
  547. package/types/plugins/clean-html/helpers/visitor/visit-node-walker.d.ts +1 -1
  548. package/types/plugins/enter/helpers/index.d.ts +2 -2
  549. package/types/plugins/enter/helpers/move-cursor-out-from-specal-tags.d.ts +1 -1
  550. package/types/plugins/fullsize/config.d.ts +0 -3
  551. package/types/plugins/fullsize/fullsize.d.ts +1 -1
  552. package/types/plugins/image-properties/image-properties.d.ts +1 -1
  553. package/types/plugins/index.d.ts +1 -0
  554. package/types/plugins/inline-popup/config/items/a.d.ts +1 -1
  555. package/types/plugins/inline-popup/config/items/cells.d.ts +1 -1
  556. package/types/plugins/inline-popup/config/items/img.d.ts +1 -1
  557. package/types/plugins/inline-popup/inline-popup.d.ts +1 -1
  558. package/types/plugins/link/config.d.ts +1 -1
  559. package/types/plugins/mobile/config.d.ts +3 -0
  560. package/types/plugins/paste-from-word/paste-from-word.d.ts +1 -1
  561. package/types/plugins/paste-storage/paste-storage.d.ts +1 -6
  562. package/types/plugins/placeholder/placeholder.d.ts +1 -1
  563. package/types/plugins/preview/preview.d.ts +1 -1
  564. package/types/plugins/resize-cells/resize-cells.d.ts +1 -1
  565. package/types/plugins/resizer/resizer.d.ts +1 -1
  566. package/types/plugins/search/helpers/index.d.ts +1 -1
  567. package/types/plugins/search/search.d.ts +1 -1
  568. package/types/plugins/search/ui/search.d.ts +1 -1
  569. package/types/plugins/size/size.d.ts +1 -1
  570. package/types/plugins/source/editor/engines/index.d.ts +1 -1
  571. package/types/plugins/source/source.d.ts +1 -1
  572. package/types/plugins/speech-recognize/helpers/recognize-manager.d.ts +1 -1
  573. package/types/plugins/speech-recognize/speech-recognize.d.ts +1 -1
  574. package/types/plugins/sticky/sticky.d.ts +1 -1
  575. package/types/plugins/symbols/symbols.d.ts +1 -1
  576. package/types/plugins/table/table.d.ts +1 -1
  577. package/types/plugins/wrap-nodes/config.d.ts +1 -1
  578. package/types/plugins/xpath/xpath.d.ts +1 -6
  579. package/types/polyfills.d.ts +10 -0
  580. package/types/types/view.d.ts +1 -1
@@ -0,0 +1,9 @@
1
+ declare const _exports: {
2
+ aiAssistant: string;
3
+ aiCommands: string;
4
+ 'AI Assistant': string;
5
+ Prompt: string;
6
+ 'Ask AI to improve generated text': string;
7
+ Submit: string;
8
+ };
9
+ export = _exports;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ /*!
3
+ * Jodit Editor (https://xdsoft.net/jodit/)
4
+ * Released under MIT see LICENSE.txt in the project root for license information.
5
+ * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
6
+ */
7
+ export default {
8
+ aiAssistant: 'AI Assistant',
9
+ aiCommands: 'AI Commands',
10
+ 'AI Assistant': 'AI Assistant',
11
+ Prompt: 'Prompt',
12
+ 'Ask AI to improve generated text': 'Ask AI to improve generated text',
13
+ Submit: 'Submit'
14
+ };
@@ -0,0 +1,40 @@
1
+ declare const _exports: {
2
+ aiAssistant: string;
3
+ aiCommands: string;
4
+ 'AI Assistant': string;
5
+ 'AI Commands': string;
6
+ 'Improve writing': string;
7
+ 'Make shorter': string;
8
+ 'Make longer': string;
9
+ 'Simplify language': string;
10
+ Summarize: string;
11
+ Continue: string;
12
+ Prompt: string;
13
+ Insert: string;
14
+ 'Insert After': string;
15
+ 'Try Again': string;
16
+ 'Ask AI to improve generated text': string;
17
+ 'Change tone to professional': string;
18
+ 'Change tone to friendly': string;
19
+ 'Change tone to formal': string;
20
+ 'Change tone to casual': string;
21
+ 'Change tone to direct': string;
22
+ 'Change tone to confident': string;
23
+ 'Change tone to business': string;
24
+ 'Change style to legal': string;
25
+ 'Change style to journalism': string;
26
+ 'Change style to poetic': string;
27
+ 'Translate to Spanish': string;
28
+ 'Translate to French': string;
29
+ 'Translate to German': string;
30
+ 'Translate to Italian': string;
31
+ 'Translate to Portuguese': string;
32
+ 'Translate to English': string;
33
+ 'Translate to Chinese': string;
34
+ 'Translate to Japanese': string;
35
+ 'Translate to Korean': string;
36
+ 'Translate to Russian': string;
37
+ 'Translate to Arabic': string;
38
+ Submit: string;
39
+ };
40
+ export = _exports;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ /*!
3
+ * Jodit Editor (https://xdsoft.net/jodit/)
4
+ * Released under MIT see LICENSE.txt in the project root for license information.
5
+ * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
6
+ */
7
+ export default {
8
+ aiAssistant: 'Asistente de IA',
9
+ aiCommands: 'Comandos de IA',
10
+ 'AI Assistant': 'Asistente de IA',
11
+ 'AI Commands': 'Comandos de IA',
12
+ 'Improve writing': 'Mejorar escritura',
13
+ 'Make shorter': 'Hacer más corto',
14
+ 'Make longer': 'Hacer más largo',
15
+ 'Simplify language': 'Simplificar lenguaje',
16
+ Summarize: 'Resumir',
17
+ Continue: 'Continuar',
18
+ Prompt: 'Solicitud',
19
+ Insert: 'Insertar',
20
+ 'Insert After': 'Insertar después',
21
+ 'Try Again': 'Intentar de nuevo',
22
+ 'Ask AI to improve generated text': 'Pida a la IA que mejore el texto generado',
23
+ 'Change tone to professional': 'Cambiar tono a profesional',
24
+ 'Change tone to friendly': 'Cambiar tono a amigable',
25
+ 'Change tone to formal': 'Cambiar tono a formal',
26
+ 'Change tone to casual': 'Cambiar tono a casual',
27
+ 'Change tone to direct': 'Cambiar tono a directo',
28
+ 'Change tone to confident': 'Cambiar tono a confiado',
29
+ 'Change tone to business': 'Cambiar tono a empresarial',
30
+ 'Change style to legal': 'Cambiar estilo a legal',
31
+ 'Change style to journalism': 'Cambiar estilo a periodístico',
32
+ 'Change style to poetic': 'Cambiar estilo a poético',
33
+ 'Translate to Spanish': 'Traducir al español',
34
+ 'Translate to French': 'Traducir al francés',
35
+ 'Translate to German': 'Traducir al alemán',
36
+ 'Translate to Italian': 'Traducir al italiano',
37
+ 'Translate to Portuguese': 'Traducir al portugués',
38
+ 'Translate to English': 'Traducir al inglés',
39
+ 'Translate to Chinese': 'Traducir al chino',
40
+ 'Translate to Japanese': 'Traducid al japonés',
41
+ 'Translate to Korean': 'Traducir al coreano',
42
+ 'Translate to Russian': 'Traducir al ruso',
43
+ 'Translate to Arabic': 'Traducir al árabe',
44
+ Submit: 'Enviar'
45
+ };
@@ -0,0 +1,8 @@
1
+ /*!
2
+ * Jodit Editor (https://xdsoft.net/jodit/)
3
+ * Released under MIT see LICENSE.txt in the project root for license information.
4
+ * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+ import * as en from "./en.js";
7
+ import * as es from "./es.js";
8
+ export { en, es };
@@ -0,0 +1,8 @@
1
+ /*!
2
+ * Jodit Editor (https://xdsoft.net/jodit/)
3
+ * Released under MIT see LICENSE.txt in the project root for license information.
4
+ * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+ import * as en from "./en.js";
7
+ import * as es from "./es.js";
8
+ export { en, es };
@@ -0,0 +1,34 @@
1
+ /*!
2
+ * Jodit Editor (https://xdsoft.net/jodit/)
3
+ * Released under MIT see LICENSE.txt in the project root for license information.
4
+ * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+ import type { IJodit } from "jodit/esm/types";
7
+ import { UITextArea } from "jodit/esm/core/ui";
8
+ import { UIElement } from "jodit/esm/core/ui/element";
9
+
10
+ export declare class UiAiAssistant extends UIElement<IJodit> {
11
+ private __body;
12
+ private __buttons;
13
+ private __results;
14
+ private __spinner;
15
+ private __error;
16
+ promptInput: UITextArea;
17
+ private __insertAfterButton;
18
+ private __submitButton;
19
+ private __tryAgainButton;
20
+ private __insertButton;
21
+ private __formAiAssistant;
22
+ className(): string;
23
+ constructor(jodit: IJodit, { onInsert, onInsertAfter }: {
24
+ onInsert: (html: string) => void;
25
+ onInsertAfter: (html: string) => void;
26
+ });
27
+ protected render(): string;
28
+ setPrompt(prompt: string): void;
29
+ private __aiResult;
30
+ protected onAiAssistentResponse(result: string): void;
31
+ protected onAiAssistentError(error: string): void;
32
+ protected onChangePromptValue(): void;
33
+ private __toogleSubmitButton;
34
+ }
@@ -0,0 +1,141 @@
1
+ /*!
2
+ * Jodit Editor (https://xdsoft.net/jodit/)
3
+ * Released under MIT see LICENSE.txt in the project root for license information.
4
+ * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
7
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
8
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
9
+ r = Reflect.decorate(decorators, target, key, desc);
10
+ else
11
+ for (var i = decorators.length - 1; i >= 0; i--)
12
+ if (d = decorators[i])
13
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
14
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
15
+ };
16
+ import { component } from "jodit/esm/core/decorators/component/component.js";
17
+ import watch from "jodit/esm/core/decorators/watch/watch.js";
18
+ import { Dom } from "jodit/esm/core/dom/dom.js";
19
+ import { isString } from "jodit/esm/core/helpers/checker/is-string.js";
20
+ import { Button, UIBlock, UIForm, UITextArea } from "jodit/esm/core/ui/index.js";
21
+ import { UIElement } from "jodit/esm/core/ui/element.js";
22
+ let UiAiAssistant = class UiAiAssistant extends UIElement {
23
+ className() {
24
+ return 'UIAiAssistant';
25
+ }
26
+ constructor(jodit, { onInsert, onInsertAfter }) {
27
+ super(jodit);
28
+ this.__aiResult = '';
29
+ this.__error = this.getElm('error');
30
+ this.__body = this.getElm('body');
31
+ this.__buttons = this.getElm('buttons');
32
+ this.__results = this.getElm('results');
33
+ this.__spinner = this.getElm('spinner');
34
+ this.__insertButton = Button(jodit, '', 'Insert', 'primary').onAction(() => onInsert(this.__aiResult));
35
+ this.__insertAfterButton = Button(jodit, '', 'Insert After', 'initial').onAction(() => onInsertAfter(this.__aiResult));
36
+ const onSubmit = () => {
37
+ if (this.__formAiAssistant.validate()) {
38
+ this.__formAiAssistant.submit();
39
+ this.__toogleSubmitButton(true);
40
+ }
41
+ };
42
+ this.__submitButton = Button(jodit, 'ai-assistant', '').onAction(onSubmit);
43
+ this.__tryAgainButton = Button(jodit, '', 'Try Again', 'initial').onAction(onSubmit);
44
+ this.promptInput = new UITextArea(jodit, {
45
+ name: 'prompt',
46
+ required: true,
47
+ label: 'Prompt',
48
+ placeholder: 'Ask AI to improve generated text',
49
+ className: this.getFullElName('prompt-row-input')
50
+ });
51
+ const buttonsBLock = new UIBlock(jodit, [
52
+ this.__insertButton,
53
+ this.__insertAfterButton,
54
+ this.__tryAgainButton
55
+ ], {
56
+ className: this.getFullElName('prompt-row')
57
+ });
58
+ this.__formAiAssistant = new UIForm(jodit, [
59
+ new UIBlock(jodit, [this.promptInput, this.__submitButton], {
60
+ className: this.getFullElName('prompt-row')
61
+ })
62
+ ]).onSubmit((data) => {
63
+ this.__error.textContent = '';
64
+ this.setMod('loading', true);
65
+ jodit.e.fire('invokeAiAssistant', data.prompt);
66
+ const hideMod = this.getFullElName('', 'hide', 'true');
67
+ this.__results.classList.remove(hideMod);
68
+ this.__buttons.classList.remove(hideMod);
69
+ Dom.detach(this.__results);
70
+ this.__results.appendChild(this.__spinner);
71
+ this.__insertButton.focus();
72
+ });
73
+ this.__buttons.appendChild(buttonsBLock.container);
74
+ this.__body.appendChild(this.__formAiAssistant.container);
75
+ this.onChangePromptValue();
76
+ }
77
+ render() {
78
+ return `<div>
79
+ <div class="&__container">
80
+ <div class="&__error"></div>
81
+ <div class="&__body"></div>
82
+ <div class="&__buttons &_hide_true"></div>
83
+ <div class="&__results &_hide_true">
84
+ <div class="&__spinner"></div>
85
+ </div>
86
+ </div>
87
+ </div>`;
88
+ }
89
+ setPrompt(prompt) {
90
+ if (prompt) {
91
+ const { jodit } = this;
92
+ const promptOpt = jodit.o.aiAssistant[prompt];
93
+ const { aiCommonPrefixPrompt, aiCommonSuffixPrompt } = jodit.o.aiAssistant;
94
+ this.promptInput.value = [
95
+ aiCommonPrefixPrompt,
96
+ isString(promptOpt) ? promptOpt : '',
97
+ aiCommonSuffixPrompt
98
+ ]
99
+ .filter(Boolean)
100
+ .join(' ');
101
+ if (this.promptInput.value) {
102
+ this.__formAiAssistant.submit();
103
+ this.__toogleSubmitButton(true);
104
+ }
105
+ }
106
+ this.promptInput.focus();
107
+ }
108
+ onAiAssistentResponse(result) {
109
+ this.setMod('loading', false);
110
+ Dom.detach(this.__results);
111
+ this.__aiResult = result;
112
+ this.__results.appendChild(this.jodit.c.fromHTML(result));
113
+ this.__toogleSubmitButton(false);
114
+ }
115
+ onAiAssistentError(error) {
116
+ this.__aiResult = '';
117
+ this.setMod('loading', false);
118
+ this.__error.textContent = error;
119
+ this.__toogleSubmitButton(false);
120
+ }
121
+ onChangePromptValue() {
122
+ this.__toogleSubmitButton(!this.promptInput.value);
123
+ }
124
+ __toogleSubmitButton(value) {
125
+ this.__submitButton.state.disabled = value;
126
+ this.__tryAgainButton.state.disabled = value;
127
+ }
128
+ };
129
+ __decorate([
130
+ watch(':ai-assistant-response')
131
+ ], UiAiAssistant.prototype, "onAiAssistentResponse", null);
132
+ __decorate([
133
+ watch(':ai-assistant-error')
134
+ ], UiAiAssistant.prototype, "onAiAssistentError", null);
135
+ __decorate([
136
+ watch('promptInput.nativeInput:input')
137
+ ], UiAiAssistant.prototype, "onChangePromptValue", null);
138
+ UiAiAssistant = __decorate([
139
+ component
140
+ ], UiAiAssistant);
141
+ export { UiAiAssistant };
@@ -3,15 +3,15 @@
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
4
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
- import { Plugin } from "jodit/esm/core/plugin/index.js";
7
- import { Dom } from "jodit/esm/core/dom/index.js";
8
6
  import { INVISIBLE_SPACE, IS_PROD } from "jodit/esm/core/constants.js";
7
+ import { Dom } from "jodit/esm/core/dom/index.js";
8
+ import { pluginSystem } from "jodit/esm/core/global.js";
9
9
  import { isFunction } from "jodit/esm/core/helpers/checker/is-function.js";
10
+ import { Plugin } from "jodit/esm/core/plugin/index.js";
10
11
  import { moveNodeInsideStart } from "jodit/esm/core/selection/helpers/index.js";
11
- import { pluginSystem } from "jodit/esm/core/global.js";
12
- import { cases } from "./cases";
13
- import { checkNotCollapsed } from "./cases/check-not-collapsed";
14
12
  import "./config";
13
+ import { checkNotCollapsed } from "./cases/check-not-collapsed";
14
+ import { cases } from "./cases";
15
15
  export class backspace extends Plugin {
16
16
  afterInit(jodit) {
17
17
  jodit
@@ -3,16 +3,16 @@
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
4
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
+ import { LIST_TAGS } from "jodit/esm/core/constants.js";
6
7
  import { Dom } from "jodit/esm/core/dom/dom.js";
7
8
  import { getMoveFilter } from "jodit/esm/plugins/backspace/helpers.js";
8
- import { LIST_TAGS } from "jodit/esm/core/constants.js";
9
9
  /**
10
10
  * Check if two separate elements can be connected
11
11
  * @private
12
12
  */
13
13
  export function checkJoinNeighbors(jodit, fakeNode, backspace) {
14
14
  let nextBox = fakeNode, mainClosestBox = nextBox;
15
- // Find main big closest element
15
+ // Find the main big closest element
16
16
  while (nextBox &&
17
17
  !Dom.findNotEmptySibling(nextBox, backspace) &&
18
18
  nextBox.parentElement !== jodit.editor) {
@@ -3,9 +3,9 @@
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
4
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
+ import { INVISIBLE_SPACE, NBSP_SPACE } from "jodit/esm/core/constants.js";
6
7
  import { Dom } from "jodit/esm/core/dom/index.js";
7
8
  import { call, isVoid, toArray, trimInv } from "jodit/esm/core/helpers/index.js";
8
- import { INVISIBLE_SPACE, NBSP_SPACE } from "jodit/esm/core/constants.js";
9
9
  import { findMostNestedNeighbor } from "jodit/esm/plugins/backspace/helpers.js";
10
10
  /**
11
11
  * Check possibility the char can be removed
@@ -118,7 +118,7 @@ export function checkRemoveChar(jodit, fakeNode, backspace, mode) {
118
118
  return charRemoved;
119
119
  }
120
120
  /**
121
- * Helper remove all empty inline parents
121
+ * Helper removes all empty inline parents
122
122
  */
123
123
  function removeEmptyForParent(node, tags) {
124
124
  let parent = node.parentElement;
@@ -3,8 +3,8 @@
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
4
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
- import { Dom } from "jodit/esm/core/dom/index.js";
7
6
  import { INSEPARABLE_TAGS } from "jodit/esm/core/constants.js";
7
+ import { Dom } from "jodit/esm/core/dom/index.js";
8
8
  import { checkJoinTwoLists } from "./check-join-two-lists";
9
9
  /**
10
10
  * Check if the current empty item can be removed
@@ -3,8 +3,8 @@
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
4
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
- import { Dom } from "jodit/esm/core/dom/dom.js";
7
6
  import { INSEPARABLE_TAGS } from "jodit/esm/core/constants.js";
7
+ import { Dom } from "jodit/esm/core/dom/dom.js";
8
8
  import { checkRemoveEmptyParent } from "./check-remove-empty-parent";
9
9
  /**
10
10
  * Check possibility inseparable Element can be removed (img, hr etc.)
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import type { IJodit } from "jodit/esm/types";
10
10
  /**
11
- * For first item in list on backspace try move his content in new P
11
+ * For the first item in a list on backspace, try to move his content in new P
12
12
  *
13
13
  * @example
14
14
  * ```html
@@ -6,7 +6,7 @@
6
6
  import { Dom } from "jodit/esm/core/dom/dom.js";
7
7
  import { call } from "jodit/esm/core/helpers/utils/index.js";
8
8
  /**
9
- * For first item in list on backspace try move his content in new P
9
+ * For the first item in a list on backspace, try to move his content in new P
10
10
  *
11
11
  * @example
12
12
  * ```html
@@ -3,8 +3,8 @@
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
4
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
- import { checkRemoveContentNotEditable } from "./check-remove-content-not-editable";
7
6
  import { checkRemoveChar } from "./check-remove-char";
7
+ import { checkRemoveContentNotEditable } from "./check-remove-content-not-editable";
8
8
  /**
9
9
  * @private
10
10
  */
@@ -6,14 +6,14 @@
6
6
  /**
7
7
  * @module plugins/backspace
8
8
  */
9
- import { checkRemoveUnbreakableElement } from "./check-remove-unbreakable-element";
10
- import { checkRemoveContentNotEditable } from "./check-remove-content-not-editable";
9
+ import { checkJoinNeighbors } from "./check-join-neighbors";
10
+ import { checkJoinTwoLists } from "./check-join-two-lists";
11
11
  import { checkRemoveChar } from "./check-remove-char";
12
- import { checkTableCell } from "./check-table-cell";
13
- import { checkRemoveEmptyParent } from "./check-remove-empty-parent";
12
+ import { checkRemoveContentNotEditable } from "./check-remove-content-not-editable";
14
13
  import { checkRemoveEmptyNeighbor } from "./check-remove-empty-neighbor";
15
- import { checkJoinTwoLists } from "./check-join-two-lists";
16
- import { checkJoinNeighbors } from "./check-join-neighbors";
14
+ import { checkRemoveEmptyParent } from "./check-remove-empty-parent";
15
+ import { checkRemoveUnbreakableElement } from "./check-remove-unbreakable-element";
16
+ import { checkTableCell } from "./check-table-cell";
17
17
  import { checkUnwrapFirstListItem } from "./check-unwrap-first-list-item";
18
18
  /**
19
19
  * @private
@@ -3,18 +3,18 @@
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
4
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
- import { Config } from "jodit/esm/config.js";
7
- import { isArray } from "jodit/esm/core/helpers/index.js";
8
6
  import { pluginSystem } from "jodit/esm/core/global.js";
7
+ import { isArray } from "jodit/esm/core/helpers/index.js";
9
8
  import { Icon } from "jodit/esm/core/ui/icon.js";
9
+ import "./interface";
10
+ import "./config";
10
11
  import boldIcon from "./icons/bold.svg.js";
11
12
  import italicIcon from "./icons/italic.svg.js";
12
13
  import strikethroughIcon from "./icons/strikethrough.svg.js";
13
14
  import subscriptIcon from "./icons/subscript.svg.js";
14
15
  import superscriptIcon from "./icons/superscript.svg.js";
15
16
  import underlineIcon from "./icons/underline.svg.js";
16
- import "./interface";
17
- import "./config";
17
+ import { Config } from "jodit/esm/config.js";
18
18
  /**
19
19
  * Adds `bold`,` strikethrough`, `underline` and` italic` buttons to Jodit
20
20
  */
@@ -3,13 +3,13 @@
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
4
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
- import { Plugin } from "jodit/esm/core/plugin/index.js";
7
- import { Config } from "jodit/esm/config.js";
8
6
  import { Dom } from "jodit/esm/core/dom/dom.js";
9
- import { memorizeExec } from "jodit/esm/core/helpers/utils/utils.js";
10
7
  import { pluginSystem } from "jodit/esm/core/global.js";
8
+ import { memorizeExec } from "jodit/esm/core/helpers/utils/utils.js";
9
+ import { Plugin } from "jodit/esm/core/plugin/index.js";
11
10
  import { Icon } from "jodit/esm/core/ui/icon.js";
12
11
  import classSpanIcon from "./class-span.svg.js";
12
+ import { Config } from "jodit/esm/config.js";
13
13
  Config.prototype.controls.classSpan = {
14
14
  command: 'applyClassName',
15
15
  exec: memorizeExec,
@@ -13,14 +13,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
13
13
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
14
14
  return c > 3 && r && Object.defineProperty(target, key, r), r;
15
15
  };
16
- import { safeHTML } from "jodit/esm/core/helpers/html/safe-html.js";
17
- import { Plugin } from "jodit/esm/core/plugin/plugin.js";
18
- import { watch, hook } from "jodit/esm/core/decorators/index.js";
16
+ import { hook, watch } from "jodit/esm/core/decorators/index.js";
17
+ import { Dom } from "jodit/esm/core/dom/dom.js";
19
18
  import { LazyWalker } from "jodit/esm/core/dom/lazy-walker.js";
20
19
  import { pluginSystem } from "jodit/esm/core/global.js";
21
- import { Dom } from "jodit/esm/core/dom/dom.js";
22
- import { getHash, removeFormatForCollapsedSelection, removeFormatForSelection, visitNodeWalker } from "./helpers";
20
+ import { safeHTML } from "jodit/esm/core/helpers/html/safe-html.js";
21
+ import { Plugin } from "jodit/esm/core/plugin/plugin.js";
23
22
  import "./config";
23
+ import { getHash, removeFormatForCollapsedSelection, removeFormatForSelection, visitNodeWalker } from "./helpers";
24
24
  /**
25
25
  * Clean HTML after removeFormat and insertHorizontalRule command
26
26
  */
@@ -3,9 +3,9 @@
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
4
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
- import { Config } from "jodit/esm/config.js";
7
6
  import { Icon } from "jodit/esm/core/ui/icon.js";
8
7
  import eraserIcon from "./eraser.svg.js";
8
+ import { Config } from "jodit/esm/config.js";
9
9
  Config.prototype.cleanHTML = {
10
10
  timeout: 300,
11
11
  removeEmptyElements: true,
@@ -3,8 +3,8 @@
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
4
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
- import { trim } from "jodit/esm/core/helpers/string/trim.js";
7
6
  import { isString } from "jodit/esm/core/helpers/checker/is-string.js";
7
+ import { trim } from "jodit/esm/core/helpers/string/trim.js";
8
8
  /**
9
9
  * @private
10
10
  */
@@ -3,8 +3,8 @@
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
4
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
- import { Dom } from "jodit/esm/core/dom/dom.js";
7
6
  import { INSEPARABLE_TAGS } from "jodit/esm/core/constants.js";
7
+ import { Dom } from "jodit/esm/core/dom/dom.js";
8
8
  /**
9
9
  * For collapsed selection move cursor outside or split inline block
10
10
  * @private
@@ -3,8 +3,8 @@
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
4
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
- import { Dom } from "jodit/esm/core/dom/dom.js";
7
6
  import { INSEPARABLE_TAGS } from "jodit/esm/core/constants.js";
7
+ import { Dom } from "jodit/esm/core/dom/dom.js";
8
8
  /**
9
9
  * @private
10
10
  */
@@ -9,10 +9,10 @@
9
9
  /**
10
10
  * @private
11
11
  */
12
- export * from "./replace-old-tags";
13
12
  export * from "./allow-attributes";
14
13
  export * from "./fill-empty-paragraph";
15
- export * from "./try-remove-node";
16
14
  export * from "./remove-empty-text-node";
17
15
  export * from "./remove-inv-text-nodes";
16
+ export * from "./replace-old-tags";
18
17
  export * from "./sanitize-attributes";
18
+ export * from "./try-remove-node";
@@ -9,10 +9,10 @@
9
9
  /**
10
10
  * @private
11
11
  */
12
- export * from "./replace-old-tags";
13
12
  export * from "./allow-attributes";
14
13
  export * from "./fill-empty-paragraph";
15
- export * from "./try-remove-node";
16
14
  export * from "./remove-empty-text-node";
17
15
  export * from "./remove-inv-text-nodes";
16
+ export * from "./replace-old-tags";
18
17
  export * from "./sanitize-attributes";
18
+ export * from "./try-remove-node";
@@ -3,8 +3,8 @@
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
4
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
- import { Dom } from "jodit/esm/core/dom/dom.js";
7
6
  import { IS_INLINE } from "jodit/esm/core/constants.js";
7
+ import { Dom } from "jodit/esm/core/dom/dom.js";
8
8
  import { trim } from "jodit/esm/core/helpers/string/trim.js";
9
9
  /**
10
10
  * @private
@@ -6,7 +6,7 @@
6
6
  /**
7
7
  * @module plugins/clean-html
8
8
  */
9
- import type { IJodit, Nullable, IDictionary } from "jodit/esm/types";
9
+ import type { IDictionary, IJodit, Nullable } from "jodit/esm/types";
10
10
  /**
11
11
  * @private
12
12
  */
@@ -3,8 +3,8 @@
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
4
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
- import * as filters from "./filters";
7
6
  import { IS_PROD } from "jodit/esm/core/constants.js";
7
+ import * as filters from "./filters";
8
8
  const keys = Object.keys(filters);
9
9
  /**
10
10
  * @private
@@ -4,8 +4,8 @@
4
4
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
6
  import { CLIPBOARD_ID, INSERT_AS_HTML, TEXT_HTML, TEXT_PLAIN } from "jodit/esm/core/constants.js";
7
- import { getDataTransfer, stripTags } from "jodit/esm/core/helpers/index.js";
8
7
  import { pluginSystem } from "jodit/esm/core/global.js";
8
+ import { getDataTransfer, stripTags } from "jodit/esm/core/helpers/index.js";
9
9
  import "./config";
10
10
  /**
11
11
  * Clipboard plugin - cut and copy functionality
@@ -3,12 +3,12 @@
3
3
  * Released under MIT see LICENSE.txt in the project root for license information.
4
4
  * Copyright (c) 2013-2024 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
5
5
  */
6
- import { Config } from "jodit/esm/config.js";
7
6
  import { Icon } from "jodit/esm/core/ui/icon.js";
8
7
  import copyIcon from "./icons/copy.svg.js";
9
8
  import cutIcon from "./icons/cut.svg.js";
10
9
  import pasteIcon from "./icons/paste.svg.js";
11
10
  import selectAllIcon from "./icons/select-all.svg.js";
11
+ import { Config } from "jodit/esm/config.js";
12
12
  Config.prototype.controls.cut = {
13
13
  command: 'cut',
14
14
  isDisabled: (editor) => editor.s.isCollapsed(),