jodit 4.4.2 → 4.4.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 (645) hide show
  1. package/es2015/jodit.css +1 -1
  2. package/es2015/jodit.fat.min.js +2 -2
  3. package/es2015/jodit.js +2 -2
  4. package/es2015/jodit.min.js +2 -2
  5. package/es2015/plugins/debug/debug.css +1 -1
  6. package/es2015/plugins/debug/debug.js +1 -1
  7. package/es2015/plugins/debug/debug.min.js +1 -1
  8. package/es2015/plugins/speech-recognize/speech-recognize.css +1 -1
  9. package/es2015/plugins/speech-recognize/speech-recognize.js +1 -1
  10. package/es2015/plugins/speech-recognize/speech-recognize.min.js +1 -1
  11. package/es2018/jodit.css +1 -1
  12. package/es2018/jodit.fat.min.js +2 -2
  13. package/es2018/jodit.js +2 -2
  14. package/es2018/jodit.min.js +2 -2
  15. package/es2018/plugins/debug/debug.css +1 -1
  16. package/es2018/plugins/debug/debug.js +1 -1
  17. package/es2018/plugins/debug/debug.min.js +1 -1
  18. package/es2018/plugins/speech-recognize/speech-recognize.css +1 -1
  19. package/es2018/plugins/speech-recognize/speech-recognize.js +1 -1
  20. package/es2018/plugins/speech-recognize/speech-recognize.min.js +1 -1
  21. package/es2021/jodit.css +1 -1
  22. package/es2021/jodit.fat.min.js +2 -2
  23. package/es2021/jodit.js +2 -2
  24. package/es2021/jodit.min.js +2 -2
  25. package/es2021/plugins/debug/debug.css +1 -1
  26. package/es2021/plugins/debug/debug.js +1 -1
  27. package/es2021/plugins/debug/debug.min.js +1 -1
  28. package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
  29. package/es2021/plugins/speech-recognize/speech-recognize.js +1 -1
  30. package/es2021/plugins/speech-recognize/speech-recognize.min.js +1 -1
  31. package/es2021.en/jodit.css +1 -1
  32. package/es2021.en/jodit.fat.min.js +2 -2
  33. package/es2021.en/jodit.js +2 -2
  34. package/es2021.en/jodit.min.js +2 -2
  35. package/es2021.en/plugins/debug/debug.css +1 -1
  36. package/es2021.en/plugins/debug/debug.js +1 -1
  37. package/es2021.en/plugins/debug/debug.min.js +1 -1
  38. package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
  39. package/es2021.en/plugins/speech-recognize/speech-recognize.js +1 -1
  40. package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +1 -1
  41. package/es5/5.fat.min.js +1 -1
  42. package/es5/5.min.js +1 -1
  43. package/es5/975.fat.min.js +1 -1
  44. package/es5/975.min.js +1 -1
  45. package/es5/jodit.css +2 -2
  46. package/es5/jodit.fat.min.js +2 -2
  47. package/es5/jodit.js +2 -2
  48. package/es5/jodit.min.css +2 -2
  49. package/es5/jodit.min.js +2 -2
  50. package/es5/plugins/debug/debug.css +1 -1
  51. package/es5/plugins/debug/debug.js +1 -1
  52. package/es5/plugins/debug/debug.min.js +1 -1
  53. package/es5/plugins/speech-recognize/speech-recognize.css +1 -1
  54. package/es5/plugins/speech-recognize/speech-recognize.js +1 -1
  55. package/es5/plugins/speech-recognize/speech-recognize.min.js +1 -1
  56. package/esm/config.d.ts +1382 -1468
  57. package/esm/core/async/async.d.ts +1 -1
  58. package/esm/core/component/component.d.ts +1 -1
  59. package/esm/core/component/view-component.d.ts +1 -1
  60. package/esm/core/constants.d.ts +1 -1
  61. package/esm/core/constants.js +1 -1
  62. package/esm/core/create/create.d.ts +1 -1
  63. package/esm/core/decorators/cache/cache.d.ts +1 -1
  64. package/esm/core/decorators/debounce/debounce.d.ts +1 -1
  65. package/esm/core/decorators/hook/hook.d.ts +2 -2
  66. package/esm/core/decorators/idle/idle.d.ts +1 -1
  67. package/esm/core/decorators/persistent/persistent.d.ts +1 -1
  68. package/esm/core/decorators/wait/wait.d.ts +1 -1
  69. package/esm/core/decorators/watch/watch.d.ts +1 -1
  70. package/esm/core/dom/dom.d.ts +1 -1
  71. package/esm/core/dom/lazy-walker.d.ts +1 -1
  72. package/esm/core/event-emitter/event-emitter.d.ts +1 -1
  73. package/esm/core/event-emitter/eventify.d.ts +1 -1
  74. package/esm/core/event-emitter/observable.d.ts +1 -1
  75. package/esm/core/event-emitter/store.d.ts +1 -1
  76. package/esm/core/global.d.ts +2 -2
  77. package/esm/core/helpers/checker/is-imp-interface.d.ts +1 -1
  78. package/esm/core/helpers/checker/is-jodit-object.d.ts +1 -1
  79. package/esm/core/helpers/checker/is-marker.d.ts +1 -1
  80. package/esm/core/helpers/checker/is-plain-object.d.ts +1 -1
  81. package/esm/core/helpers/checker/is-view-object.d.ts +1 -1
  82. package/esm/core/helpers/html/strip-tags.d.ts +1 -1
  83. package/esm/core/helpers/index.d.ts +9 -9
  84. package/esm/core/helpers/size/get-scroll-parent.d.ts +1 -1
  85. package/esm/core/helpers/size/object-size.d.ts +1 -1
  86. package/esm/core/helpers/size/offset.d.ts +1 -1
  87. package/esm/core/helpers/size/position.d.ts +1 -1
  88. package/esm/core/helpers/string/i18n.d.ts +1 -1
  89. package/esm/core/helpers/utils/align.d.ts +1 -1
  90. package/esm/core/helpers/utils/append-script.d.ts +1 -1
  91. package/esm/core/helpers/utils/attr.d.ts +1 -1
  92. package/esm/core/helpers/utils/build-query.d.ts +1 -1
  93. package/esm/core/helpers/utils/config-proto.d.ts +1 -1
  94. package/esm/core/helpers/utils/css.d.ts +1 -1
  95. package/esm/core/helpers/utils/data-bind.d.ts +1 -1
  96. package/esm/core/helpers/utils/error/index.d.ts +1 -1
  97. package/esm/core/helpers/utils/get-class-name.d.ts +1 -1
  98. package/esm/core/helpers/utils/get.d.ts +1 -1
  99. package/esm/core/helpers/utils/index.d.ts +1 -1
  100. package/esm/core/helpers/utils/parse-query.d.ts +1 -1
  101. package/esm/core/helpers/utils/print.d.ts +1 -1
  102. package/esm/core/helpers/utils/reset.d.ts +1 -1
  103. package/esm/core/helpers/utils/scroll-into-view.d.ts +1 -1
  104. package/esm/core/helpers/utils/selector.d.ts +1 -1
  105. package/esm/core/helpers/utils/set.d.ts +1 -1
  106. package/esm/core/helpers/utils/stack.d.ts +1 -1
  107. package/esm/core/helpers/utils/utils.d.ts +1 -1
  108. package/esm/core/plugin/helpers/init-instance.d.ts +1 -1
  109. package/esm/core/plugin/helpers/load.d.ts +1 -1
  110. package/esm/core/plugin/helpers/make-instance.d.ts +1 -1
  111. package/esm/core/plugin/plugin-system.d.ts +1 -1
  112. package/esm/core/plugin/plugin.d.ts +2 -2
  113. package/esm/core/request/ajax.d.ts +1 -1
  114. package/esm/core/request/config.d.ts +1 -1
  115. package/esm/core/request/response.d.ts +1 -1
  116. package/esm/core/selection/helpers/move-node-inside-start.d.ts +1 -1
  117. package/esm/core/selection/interface.d.ts +1 -1
  118. package/esm/core/selection/selection.d.ts +1 -1
  119. package/esm/core/selection/style/api/extract.d.ts +1 -1
  120. package/esm/core/selection/style/api/finite-state-machine.d.ts +1 -1
  121. package/esm/core/selection/style/api/get-suit-child.d.ts +1 -1
  122. package/esm/core/selection/style/api/get-suit-parent.d.ts +1 -1
  123. package/esm/core/selection/style/api/has-same-style.d.ts +1 -1
  124. package/esm/core/selection/style/api/is-normal-node.d.ts +1 -1
  125. package/esm/core/selection/style/api/is-same-attributes.d.ts +1 -1
  126. package/esm/core/selection/style/api/is-suit-element.d.ts +1 -1
  127. package/esm/core/selection/style/api/list/toggle-ordered-list.d.ts +1 -1
  128. package/esm/core/selection/style/api/list/wrap-list.d.ts +1 -1
  129. package/esm/core/selection/style/api/toggle-attributes.d.ts +1 -1
  130. package/esm/core/selection/style/api/unwrap-children.d.ts +1 -1
  131. package/esm/core/selection/style/api/wrap-unwrapped-text.d.ts +1 -1
  132. package/esm/core/selection/style/api/wrap.d.ts +1 -1
  133. package/esm/core/selection/style/apply-style.d.ts +1 -1
  134. package/esm/core/selection/style/commit-style.d.ts +1 -1
  135. package/esm/core/selection/style/transactions.d.ts +1 -1
  136. package/esm/core/storage/engines/local-storage-provider.d.ts +1 -1
  137. package/esm/core/storage/engines/memory-storage-provider.d.ts +1 -1
  138. package/esm/core/storage/storage.d.ts +1 -1
  139. package/esm/core/traits/dlgs.d.ts +1 -1
  140. package/esm/core/traits/elms.d.ts +1 -1
  141. package/esm/core/traits/mods.d.ts +1 -1
  142. package/esm/core/ui/button/button/button.d.ts +1 -1
  143. package/esm/core/ui/button/group/group.d.ts +1 -1
  144. package/esm/core/ui/button/tooltip/tooltip.d.ts +1 -1
  145. package/esm/core/ui/element.d.ts +2 -2
  146. package/esm/core/ui/form/block/block.d.ts +1 -1
  147. package/esm/core/ui/form/form.d.ts +1 -1
  148. package/esm/core/ui/form/index.d.ts +1 -1
  149. package/esm/core/ui/form/inputs/area/area.d.ts +1 -1
  150. package/esm/core/ui/form/inputs/checkbox/checkbox.d.ts +1 -1
  151. package/esm/core/ui/form/inputs/file/file.d.ts +1 -1
  152. package/esm/core/ui/form/inputs/input/input.d.ts +1 -1
  153. package/esm/core/ui/form/inputs/select/select.d.ts +1 -1
  154. package/esm/core/ui/form/validators/input.d.ts +1 -1
  155. package/esm/core/ui/form/validators/select.d.ts +1 -1
  156. package/esm/core/ui/group/group.d.ts +1 -1
  157. package/esm/core/ui/group/list.d.ts +1 -1
  158. package/esm/core/ui/helpers/buttons.d.ts +1 -1
  159. package/esm/core/ui/helpers/get-control-type.d.ts +1 -1
  160. package/esm/core/ui/helpers/get-strong-control-types.d.ts +1 -1
  161. package/esm/core/ui/icon.d.ts +1 -1
  162. package/esm/core/ui/index.d.ts +4 -4
  163. package/esm/core/ui/popup/popup.d.ts +1 -1
  164. package/esm/core/ui/progress-bar/progress-bar.d.ts +1 -1
  165. package/esm/core/view/view-with-toolbar.d.ts +1 -1
  166. package/esm/core/view/view.d.ts +1 -1
  167. package/esm/jodit.d.ts +3 -3
  168. package/esm/languages.d.ts +1 -1
  169. package/esm/modules/context-menu/context-menu.d.ts +1 -1
  170. package/esm/modules/dialog/alert.d.ts +1 -1
  171. package/esm/modules/dialog/confirm.d.ts +1 -1
  172. package/esm/modules/dialog/dialog.d.ts +1 -1
  173. package/esm/modules/dialog/prompt.d.ts +1 -1
  174. package/esm/modules/file-browser/builders/context-menu.d.ts +1 -1
  175. package/esm/modules/file-browser/builders/elements-map.d.ts +1 -1
  176. package/esm/modules/file-browser/builders/item.d.ts +1 -1
  177. package/esm/modules/file-browser/config.d.ts +1 -1
  178. package/esm/modules/file-browser/data-provider.d.ts +1 -1
  179. package/esm/modules/file-browser/factories.d.ts +1 -1
  180. package/esm/modules/file-browser/fetch/delete-file.d.ts +1 -1
  181. package/esm/modules/file-browser/fetch/load-items.d.ts +1 -1
  182. package/esm/modules/file-browser/fetch/load-tree.d.ts +1 -1
  183. package/esm/modules/file-browser/file-browser.d.ts +3 -3
  184. package/esm/modules/file-browser/listeners/native-listeners.d.ts +1 -1
  185. package/esm/modules/file-browser/listeners/self-listeners.d.ts +1 -1
  186. package/esm/modules/file-browser/listeners/state-listeners.d.ts +1 -1
  187. package/esm/modules/file-browser/ui/files/files.d.ts +1 -1
  188. package/esm/modules/file-browser/ui/tree/tree.d.ts +1 -1
  189. package/esm/modules/history/command.d.ts +1 -1
  190. package/esm/modules/history/history.d.ts +2 -2
  191. package/esm/modules/history/snapshot.d.ts +2 -2
  192. package/esm/modules/history/stack.d.ts +1 -1
  193. package/esm/modules/image-editor/config.d.ts +1 -1
  194. package/esm/modules/image-editor/image-editor.d.ts +2 -2
  195. package/esm/modules/image-editor/templates/form.d.ts +1 -1
  196. package/esm/modules/index.d.ts +13 -13
  197. package/esm/modules/messages/message.d.ts +2 -2
  198. package/esm/modules/messages/messages.d.ts +1 -1
  199. package/esm/modules/status-bar/status-bar.d.ts +2 -2
  200. package/esm/modules/table/table.d.ts +2 -2
  201. package/esm/modules/toolbar/button/button.d.ts +5 -5
  202. package/esm/modules/toolbar/button/content.d.ts +2 -2
  203. package/esm/modules/toolbar/button/select/select.d.ts +1 -1
  204. package/esm/modules/toolbar/collection/collection.d.ts +2 -2
  205. package/esm/modules/toolbar/collection/editor-collection.d.ts +1 -1
  206. package/esm/modules/toolbar/factory.d.ts +1 -1
  207. package/esm/modules/uploader/config.d.ts +1 -1
  208. package/esm/modules/uploader/helpers/build-data.d.ts +1 -1
  209. package/esm/modules/uploader/helpers/index.d.ts +1 -1
  210. package/esm/modules/uploader/helpers/process-old-browser-drag.d.ts +1 -1
  211. package/esm/modules/uploader/helpers/send-files.d.ts +1 -1
  212. package/esm/modules/uploader/helpers/send.d.ts +2 -2
  213. package/esm/modules/uploader/uploader.d.ts +2 -2
  214. package/esm/modules/widget/color-picker/color-picker.d.ts +1 -1
  215. package/esm/modules/widget/file-selector/file-selector.d.ts +1 -1
  216. package/esm/modules/widget/tabs/tabs.d.ts +2 -2
  217. package/esm/plugins/add-new-line/add-new-line.d.ts +2 -2
  218. package/esm/plugins/add-new-line/config.d.ts +1 -1
  219. package/esm/plugins/ai-assistant/ai-assistant.d.ts +1 -1
  220. package/esm/plugins/ai-assistant/ui/ui-ai-assistant.d.ts +2 -2
  221. package/esm/plugins/backspace/backspace.d.ts +2 -2
  222. package/esm/plugins/backspace/cases/check-join-neighbors.d.ts +1 -1
  223. package/esm/plugins/backspace/cases/check-join-two-lists.d.ts +1 -1
  224. package/esm/plugins/backspace/cases/check-not-collapsed.d.ts +1 -1
  225. package/esm/plugins/backspace/cases/check-remove-char.d.ts +1 -1
  226. package/esm/plugins/backspace/cases/check-remove-content-not-editable.d.ts +1 -1
  227. package/esm/plugins/backspace/cases/check-remove-empty-neighbor.d.ts +1 -1
  228. package/esm/plugins/backspace/cases/check-remove-empty-parent.d.ts +1 -1
  229. package/esm/plugins/backspace/cases/check-remove-unbreakable-element.d.ts +1 -1
  230. package/esm/plugins/backspace/cases/check-table-cell.d.ts +1 -1
  231. package/esm/plugins/backspace/cases/check-unwrap-first-list-item.d.ts +1 -1
  232. package/esm/plugins/backspace/helpers.d.ts +1 -1
  233. package/esm/plugins/bold/bold.d.ts +1 -1
  234. package/esm/plugins/class-span/class-span.d.ts +2 -2
  235. package/esm/plugins/clean-html/clean-html.d.ts +1 -1
  236. package/esm/plugins/clean-html/config.d.ts +1 -1
  237. package/esm/plugins/clean-html/helpers/get-hash.d.ts +1 -1
  238. package/esm/plugins/clean-html/helpers/remove-format/remove-format-for-collapsed-selection.d.ts +1 -1
  239. package/esm/plugins/clean-html/helpers/remove-format/remove-format-for-selection.d.ts +1 -1
  240. package/esm/plugins/clean-html/helpers/visitor/filters/allow-attributes.d.ts +1 -1
  241. package/esm/plugins/clean-html/helpers/visitor/filters/fill-empty-paragraph.d.ts +1 -1
  242. package/esm/plugins/clean-html/helpers/visitor/filters/remove-empty-text-node.d.ts +1 -1
  243. package/esm/plugins/clean-html/helpers/visitor/filters/remove-inv-text-nodes.d.ts +1 -1
  244. package/esm/plugins/clean-html/helpers/visitor/filters/replace-old-tags.d.ts +1 -1
  245. package/esm/plugins/clean-html/helpers/visitor/filters/sanitize-attributes.d.ts +1 -1
  246. package/esm/plugins/clean-html/helpers/visitor/filters/try-remove-node.d.ts +1 -1
  247. package/esm/plugins/clean-html/helpers/visitor/visit-node-walker.d.ts +1 -1
  248. package/esm/plugins/clipboard/clipboard.d.ts +2 -2
  249. package/esm/plugins/color/color.d.ts +1 -1
  250. package/esm/plugins/copy-format/copy-format.d.ts +1 -1
  251. package/esm/plugins/debug/debug.d.ts +1 -1
  252. package/esm/plugins/delete/delete.d.ts +2 -2
  253. package/esm/plugins/drag-and-drop/drag-and-drop.d.ts +1 -1
  254. package/esm/plugins/drag-and-drop-element/drag-and-drop-element.d.ts +1 -1
  255. package/esm/plugins/dtd/after-insert/remove-extra-br.d.ts +1 -1
  256. package/esm/plugins/dtd/before-insert/check-block-nesting.d.ts +1 -1
  257. package/esm/plugins/dtd/config.d.ts +1 -1
  258. package/esm/plugins/enter/enter.d.ts +1 -1
  259. package/esm/plugins/enter/helpers/check-br.d.ts +1 -1
  260. package/esm/plugins/enter/helpers/check-unsplittable-box.d.ts +1 -1
  261. package/esm/plugins/enter/helpers/get-block-wrapper.d.ts +1 -1
  262. package/esm/plugins/enter/helpers/has-previous-block.d.ts +1 -1
  263. package/esm/plugins/enter/helpers/insert-paragraph.d.ts +1 -1
  264. package/esm/plugins/enter/helpers/move-cursor-out-from-specal-tags.d.ts +1 -1
  265. package/esm/plugins/enter/helpers/process-empty-li-leaf.d.ts +1 -1
  266. package/esm/plugins/enter/helpers/split-fragment.d.ts +1 -1
  267. package/esm/plugins/enter/helpers/wrap-text.d.ts +1 -1
  268. package/esm/plugins/file/file.d.ts +1 -1
  269. package/esm/plugins/focus/focus.d.ts +1 -1
  270. package/esm/plugins/font/font.d.ts +1 -1
  271. package/esm/plugins/format-block/format-block.d.ts +1 -1
  272. package/esm/plugins/fullsize/fullsize.d.ts +1 -1
  273. package/esm/plugins/hotkeys/config.d.ts +1 -1
  274. package/esm/plugins/hotkeys/hotkeys.d.ts +2 -2
  275. package/esm/plugins/hr/hr.d.ts +1 -1
  276. package/esm/plugins/iframe/iframe.d.ts +1 -1
  277. package/esm/plugins/image/image.d.ts +1 -1
  278. package/esm/plugins/image-processor/image-processor.d.ts +2 -2
  279. package/esm/plugins/image-properties/image-properties.d.ts +1 -1
  280. package/esm/plugins/image-properties/interface.d.ts +1 -1
  281. package/esm/plugins/image-properties/readers/index.d.ts +1 -1
  282. package/esm/plugins/image-properties/readers/link.d.ts +1 -1
  283. package/esm/plugins/image-properties/ui/ui-image-form.d.ts +1 -1
  284. package/esm/plugins/image-properties/ui/ui-image-main-tab.d.ts +1 -1
  285. package/esm/plugins/image-properties/ui/ui-image-position-tab.d.ts +1 -1
  286. package/esm/plugins/image-properties/utils/open-image-editor.d.ts +1 -1
  287. package/esm/plugins/image-properties/utils/open-image-popup.d.ts +1 -1
  288. package/esm/plugins/image-properties/writers/index.d.ts +1 -1
  289. package/esm/plugins/image-properties/writers/link.d.ts +1 -1
  290. package/esm/plugins/image-properties/writers/margin.d.ts +1 -1
  291. package/esm/plugins/indent/indent.d.ts +1 -1
  292. package/esm/plugins/inline-popup/config/config.d.ts +1 -1
  293. package/esm/plugins/inline-popup/config/items/a.d.ts +1 -1
  294. package/esm/plugins/inline-popup/config/items/cells.d.ts +1 -1
  295. package/esm/plugins/inline-popup/config/items/iframe.d.ts +2 -2
  296. package/esm/plugins/inline-popup/config/items/img.d.ts +1 -1
  297. package/esm/plugins/inline-popup/inline-popup.d.ts +2 -2
  298. package/esm/plugins/justify/justify.d.ts +1 -1
  299. package/esm/plugins/key-arrow-outside/key-arrow-outside.d.ts +2 -2
  300. package/esm/plugins/limit/limit.d.ts +2 -2
  301. package/esm/plugins/line-height/line-height.d.ts +2 -2
  302. package/esm/plugins/link/config.d.ts +1 -1
  303. package/esm/plugins/link/link.d.ts +2 -2
  304. package/esm/plugins/link/template.d.ts +1 -1
  305. package/esm/plugins/media/media.d.ts +1 -1
  306. package/esm/plugins/mobile/config.d.ts +1 -1
  307. package/esm/plugins/mobile/mobile.d.ts +1 -1
  308. package/esm/plugins/ordered-list/ordered-list.d.ts +2 -2
  309. package/esm/plugins/paste/config.d.ts +1 -1
  310. package/esm/plugins/paste/helpers.d.ts +1 -1
  311. package/esm/plugins/paste/interface.d.ts +1 -1
  312. package/esm/plugins/paste/paste.d.ts +1 -1
  313. package/esm/plugins/paste-from-word/config.d.ts +1 -1
  314. package/esm/plugins/paste-from-word/paste-from-word.d.ts +2 -2
  315. package/esm/plugins/placeholder/placeholder.d.ts +1 -1
  316. package/esm/plugins/powered-by-jodit/powered-by-jodit.d.ts +1 -1
  317. package/esm/plugins/preview/preview.d.ts +1 -1
  318. package/esm/plugins/print/lib/generate-critical-css.d.ts +1 -1
  319. package/esm/plugins/print/print.d.ts +1 -1
  320. package/esm/plugins/redo-undo/redo-undo.d.ts +1 -1
  321. package/esm/plugins/resize-cells/resize-cells.d.ts +2 -2
  322. package/esm/plugins/resize-handler/resize-handler.d.ts +2 -2
  323. package/esm/plugins/resizer/config.d.ts +1 -1
  324. package/esm/plugins/resizer/resizer.d.ts +1 -1
  325. package/esm/plugins/search/config.d.ts +1 -1
  326. package/esm/plugins/search/helpers/highlight-text-ranges.d.ts +1 -1
  327. package/esm/plugins/search/helpers/sentence-finder.d.ts +1 -1
  328. package/esm/plugins/search/search.d.ts +3 -3
  329. package/esm/plugins/search/ui/search.d.ts +2 -2
  330. package/esm/plugins/select/select.d.ts +2 -2
  331. package/esm/plugins/select-cells/select-cells.d.ts +2 -2
  332. package/esm/plugins/size/size.d.ts +1 -1
  333. package/esm/plugins/source/config.d.ts +1 -1
  334. package/esm/plugins/source/editor/engines/ace.d.ts +1 -1
  335. package/esm/plugins/source/editor/engines/area.d.ts +1 -1
  336. package/esm/plugins/source/editor/factory.d.ts +1 -1
  337. package/esm/plugins/source/editor/sourceEditor.d.ts +1 -1
  338. package/esm/plugins/source/source.d.ts +2 -2
  339. package/esm/plugins/speech-recognize/config.d.ts +1 -1
  340. package/esm/plugins/speech-recognize/helpers/exec-spell-command.d.ts +1 -1
  341. package/esm/plugins/speech-recognize/helpers/recognize-manager.d.ts +1 -1
  342. package/esm/plugins/speech-recognize/speech-recognize.d.ts +2 -2
  343. package/esm/plugins/spellcheck/spellcheck.d.ts +2 -2
  344. package/esm/plugins/sticky/sticky.d.ts +1 -1
  345. package/esm/plugins/symbols/symbols.d.ts +1 -1
  346. package/esm/plugins/tab/cases/on-tab-inside-li.d.ts +1 -1
  347. package/esm/plugins/table/table.d.ts +1 -1
  348. package/esm/plugins/table-keyboard-navigation/table-keyboard-navigation.d.ts +1 -1
  349. package/esm/plugins/wrap-nodes/config.d.ts +1 -1
  350. package/esm/types/jodit.d.ts +1 -1
  351. package/package.json +1 -1
  352. package/types/config.d.ts +852 -6
  353. package/types/core/async/async.d.ts +1 -1
  354. package/types/core/component/component.d.ts +1 -1
  355. package/types/core/component/view-component.d.ts +1 -1
  356. package/types/core/constants.d.ts +1 -1
  357. package/types/core/create/create.d.ts +1 -1
  358. package/types/core/decorators/cache/cache.d.ts +1 -1
  359. package/types/core/decorators/debounce/debounce.d.ts +1 -1
  360. package/types/core/decorators/hook/hook.d.ts +2 -2
  361. package/types/core/decorators/idle/idle.d.ts +1 -1
  362. package/types/core/decorators/persistent/persistent.d.ts +1 -1
  363. package/types/core/decorators/wait/wait.d.ts +1 -1
  364. package/types/core/decorators/watch/watch.d.ts +1 -1
  365. package/types/core/dom/dom.d.ts +1 -1
  366. package/types/core/dom/lazy-walker.d.ts +1 -1
  367. package/types/core/event-emitter/event-emitter.d.ts +1 -1
  368. package/types/core/event-emitter/eventify.d.ts +1 -1
  369. package/types/core/event-emitter/observable.d.ts +1 -1
  370. package/types/core/event-emitter/store.d.ts +1 -1
  371. package/types/core/global.d.ts +2 -2
  372. package/types/core/helpers/checker/is-imp-interface.d.ts +1 -1
  373. package/types/core/helpers/checker/is-jodit-object.d.ts +1 -1
  374. package/types/core/helpers/checker/is-marker.d.ts +1 -1
  375. package/types/core/helpers/checker/is-plain-object.d.ts +1 -1
  376. package/types/core/helpers/checker/is-view-object.d.ts +1 -1
  377. package/types/core/helpers/html/strip-tags.d.ts +1 -1
  378. package/types/core/helpers/index.d.ts +9 -9
  379. package/types/core/helpers/size/get-scroll-parent.d.ts +1 -1
  380. package/types/core/helpers/size/object-size.d.ts +1 -1
  381. package/types/core/helpers/size/offset.d.ts +1 -1
  382. package/types/core/helpers/size/position.d.ts +1 -1
  383. package/types/core/helpers/string/i18n.d.ts +1 -1
  384. package/types/core/helpers/utils/align.d.ts +1 -1
  385. package/types/core/helpers/utils/append-script.d.ts +1 -1
  386. package/types/core/helpers/utils/attr.d.ts +1 -1
  387. package/types/core/helpers/utils/build-query.d.ts +1 -1
  388. package/types/core/helpers/utils/config-proto.d.ts +1 -1
  389. package/types/core/helpers/utils/css.d.ts +1 -1
  390. package/types/core/helpers/utils/data-bind.d.ts +1 -1
  391. package/types/core/helpers/utils/error/index.d.ts +1 -1
  392. package/types/core/helpers/utils/get-class-name.d.ts +1 -1
  393. package/types/core/helpers/utils/get.d.ts +1 -1
  394. package/types/core/helpers/utils/index.d.ts +1 -1
  395. package/types/core/helpers/utils/parse-query.d.ts +1 -1
  396. package/types/core/helpers/utils/print.d.ts +1 -1
  397. package/types/core/helpers/utils/reset.d.ts +1 -1
  398. package/types/core/helpers/utils/scroll-into-view.d.ts +1 -1
  399. package/types/core/helpers/utils/selector.d.ts +1 -1
  400. package/types/core/helpers/utils/set.d.ts +1 -1
  401. package/types/core/helpers/utils/stack.d.ts +1 -1
  402. package/types/core/helpers/utils/utils.d.ts +1 -1
  403. package/types/core/plugin/helpers/init-instance.d.ts +1 -1
  404. package/types/core/plugin/helpers/load.d.ts +1 -1
  405. package/types/core/plugin/helpers/make-instance.d.ts +1 -1
  406. package/types/core/plugin/plugin-system.d.ts +1 -1
  407. package/types/core/plugin/plugin.d.ts +2 -2
  408. package/types/core/request/ajax.d.ts +1 -1
  409. package/types/core/request/config.d.ts +1 -1
  410. package/types/core/request/response.d.ts +1 -1
  411. package/types/core/selection/helpers/move-node-inside-start.d.ts +1 -1
  412. package/types/core/selection/interface.d.ts +1 -1
  413. package/types/core/selection/selection.d.ts +1 -1
  414. package/types/core/selection/style/api/extract.d.ts +1 -1
  415. package/types/core/selection/style/api/finite-state-machine.d.ts +1 -1
  416. package/types/core/selection/style/api/get-suit-child.d.ts +1 -1
  417. package/types/core/selection/style/api/get-suit-parent.d.ts +1 -1
  418. package/types/core/selection/style/api/has-same-style.d.ts +1 -1
  419. package/types/core/selection/style/api/is-normal-node.d.ts +1 -1
  420. package/types/core/selection/style/api/is-same-attributes.d.ts +1 -1
  421. package/types/core/selection/style/api/is-suit-element.d.ts +1 -1
  422. package/types/core/selection/style/api/list/toggle-ordered-list.d.ts +1 -1
  423. package/types/core/selection/style/api/list/wrap-list.d.ts +1 -1
  424. package/types/core/selection/style/api/toggle-attributes.d.ts +1 -1
  425. package/types/core/selection/style/api/unwrap-children.d.ts +1 -1
  426. package/types/core/selection/style/api/wrap-unwrapped-text.d.ts +1 -1
  427. package/types/core/selection/style/api/wrap.d.ts +1 -1
  428. package/types/core/selection/style/apply-style.d.ts +1 -1
  429. package/types/core/selection/style/commit-style.d.ts +1 -1
  430. package/types/core/selection/style/transactions.d.ts +1 -1
  431. package/types/core/storage/engines/local-storage-provider.d.ts +1 -1
  432. package/types/core/storage/engines/memory-storage-provider.d.ts +1 -1
  433. package/types/core/storage/storage.d.ts +1 -1
  434. package/types/core/traits/dlgs.d.ts +1 -1
  435. package/types/core/traits/elms.d.ts +1 -1
  436. package/types/core/traits/mods.d.ts +1 -1
  437. package/types/core/ui/button/button/button.d.ts +1 -1
  438. package/types/core/ui/button/group/group.d.ts +1 -1
  439. package/types/core/ui/button/tooltip/tooltip.d.ts +1 -1
  440. package/types/core/ui/element.d.ts +2 -2
  441. package/types/core/ui/form/block/block.d.ts +1 -1
  442. package/types/core/ui/form/form.d.ts +1 -1
  443. package/types/core/ui/form/index.d.ts +1 -1
  444. package/types/core/ui/form/inputs/area/area.d.ts +1 -1
  445. package/types/core/ui/form/inputs/checkbox/checkbox.d.ts +1 -1
  446. package/types/core/ui/form/inputs/file/file.d.ts +1 -1
  447. package/types/core/ui/form/inputs/input/input.d.ts +1 -1
  448. package/types/core/ui/form/inputs/select/select.d.ts +1 -1
  449. package/types/core/ui/form/validators/input.d.ts +1 -1
  450. package/types/core/ui/form/validators/select.d.ts +1 -1
  451. package/types/core/ui/group/group.d.ts +1 -1
  452. package/types/core/ui/group/list.d.ts +1 -1
  453. package/types/core/ui/helpers/buttons.d.ts +1 -1
  454. package/types/core/ui/helpers/get-control-type.d.ts +1 -1
  455. package/types/core/ui/helpers/get-strong-control-types.d.ts +1 -1
  456. package/types/core/ui/icon.d.ts +1 -1
  457. package/types/core/ui/index.d.ts +4 -4
  458. package/types/core/ui/popup/popup.d.ts +1 -1
  459. package/types/core/ui/progress-bar/progress-bar.d.ts +1 -1
  460. package/types/core/view/view-with-toolbar.d.ts +1 -1
  461. package/types/core/view/view.d.ts +1 -1
  462. package/types/jodit.d.ts +3 -3
  463. package/types/languages.d.ts +1 -1
  464. package/types/modules/context-menu/context-menu.d.ts +1 -1
  465. package/types/modules/dialog/alert.d.ts +1 -1
  466. package/types/modules/dialog/confirm.d.ts +1 -1
  467. package/types/modules/dialog/dialog.d.ts +1 -1
  468. package/types/modules/dialog/prompt.d.ts +1 -1
  469. package/types/modules/file-browser/builders/context-menu.d.ts +1 -1
  470. package/types/modules/file-browser/builders/elements-map.d.ts +1 -1
  471. package/types/modules/file-browser/builders/item.d.ts +1 -1
  472. package/types/modules/file-browser/config.d.ts +1 -1
  473. package/types/modules/file-browser/data-provider.d.ts +1 -1
  474. package/types/modules/file-browser/factories.d.ts +1 -1
  475. package/types/modules/file-browser/fetch/delete-file.d.ts +1 -1
  476. package/types/modules/file-browser/fetch/load-items.d.ts +1 -1
  477. package/types/modules/file-browser/fetch/load-tree.d.ts +1 -1
  478. package/types/modules/file-browser/file-browser.d.ts +3 -3
  479. package/types/modules/file-browser/listeners/native-listeners.d.ts +1 -1
  480. package/types/modules/file-browser/listeners/self-listeners.d.ts +1 -1
  481. package/types/modules/file-browser/listeners/state-listeners.d.ts +1 -1
  482. package/types/modules/file-browser/ui/files/files.d.ts +1 -1
  483. package/types/modules/file-browser/ui/tree/tree.d.ts +1 -1
  484. package/types/modules/history/command.d.ts +1 -1
  485. package/types/modules/history/history.d.ts +2 -2
  486. package/types/modules/history/snapshot.d.ts +2 -2
  487. package/types/modules/history/stack.d.ts +1 -1
  488. package/types/modules/image-editor/config.d.ts +1 -1
  489. package/types/modules/image-editor/image-editor.d.ts +2 -2
  490. package/types/modules/image-editor/templates/form.d.ts +1 -1
  491. package/types/modules/index.d.ts +13 -13
  492. package/types/modules/messages/message.d.ts +2 -2
  493. package/types/modules/messages/messages.d.ts +1 -1
  494. package/types/modules/status-bar/status-bar.d.ts +2 -2
  495. package/types/modules/table/table.d.ts +2 -2
  496. package/types/modules/toolbar/button/button.d.ts +5 -5
  497. package/types/modules/toolbar/button/content.d.ts +2 -2
  498. package/types/modules/toolbar/button/select/select.d.ts +1 -1
  499. package/types/modules/toolbar/collection/collection.d.ts +2 -2
  500. package/types/modules/toolbar/collection/editor-collection.d.ts +1 -1
  501. package/types/modules/toolbar/factory.d.ts +1 -1
  502. package/types/modules/uploader/config.d.ts +1 -1
  503. package/types/modules/uploader/helpers/build-data.d.ts +1 -1
  504. package/types/modules/uploader/helpers/index.d.ts +1 -1
  505. package/types/modules/uploader/helpers/process-old-browser-drag.d.ts +1 -1
  506. package/types/modules/uploader/helpers/send-files.d.ts +1 -1
  507. package/types/modules/uploader/helpers/send.d.ts +2 -2
  508. package/types/modules/uploader/uploader.d.ts +2 -2
  509. package/types/modules/widget/color-picker/color-picker.d.ts +1 -1
  510. package/types/modules/widget/file-selector/file-selector.d.ts +1 -1
  511. package/types/modules/widget/tabs/tabs.d.ts +2 -2
  512. package/types/plugins/add-new-line/add-new-line.d.ts +2 -2
  513. package/types/plugins/add-new-line/config.d.ts +1 -1
  514. package/types/plugins/ai-assistant/ai-assistant.d.ts +1 -1
  515. package/types/plugins/ai-assistant/ui/ui-ai-assistant.d.ts +2 -2
  516. package/types/plugins/backspace/backspace.d.ts +2 -2
  517. package/types/plugins/backspace/cases/check-join-neighbors.d.ts +1 -1
  518. package/types/plugins/backspace/cases/check-join-two-lists.d.ts +1 -1
  519. package/types/plugins/backspace/cases/check-not-collapsed.d.ts +1 -1
  520. package/types/plugins/backspace/cases/check-remove-char.d.ts +1 -1
  521. package/types/plugins/backspace/cases/check-remove-content-not-editable.d.ts +1 -1
  522. package/types/plugins/backspace/cases/check-remove-empty-neighbor.d.ts +1 -1
  523. package/types/plugins/backspace/cases/check-remove-empty-parent.d.ts +1 -1
  524. package/types/plugins/backspace/cases/check-remove-unbreakable-element.d.ts +1 -1
  525. package/types/plugins/backspace/cases/check-table-cell.d.ts +1 -1
  526. package/types/plugins/backspace/cases/check-unwrap-first-list-item.d.ts +1 -1
  527. package/types/plugins/backspace/helpers.d.ts +1 -1
  528. package/types/plugins/bold/bold.d.ts +1 -1
  529. package/types/plugins/class-span/class-span.d.ts +2 -2
  530. package/types/plugins/clean-html/clean-html.d.ts +1 -1
  531. package/types/plugins/clean-html/config.d.ts +1 -1
  532. package/types/plugins/clean-html/helpers/get-hash.d.ts +1 -1
  533. package/types/plugins/clean-html/helpers/remove-format/remove-format-for-collapsed-selection.d.ts +1 -1
  534. package/types/plugins/clean-html/helpers/remove-format/remove-format-for-selection.d.ts +1 -1
  535. package/types/plugins/clean-html/helpers/visitor/filters/allow-attributes.d.ts +1 -1
  536. package/types/plugins/clean-html/helpers/visitor/filters/fill-empty-paragraph.d.ts +1 -1
  537. package/types/plugins/clean-html/helpers/visitor/filters/remove-empty-text-node.d.ts +1 -1
  538. package/types/plugins/clean-html/helpers/visitor/filters/remove-inv-text-nodes.d.ts +1 -1
  539. package/types/plugins/clean-html/helpers/visitor/filters/replace-old-tags.d.ts +1 -1
  540. package/types/plugins/clean-html/helpers/visitor/filters/sanitize-attributes.d.ts +1 -1
  541. package/types/plugins/clean-html/helpers/visitor/filters/try-remove-node.d.ts +1 -1
  542. package/types/plugins/clean-html/helpers/visitor/visit-node-walker.d.ts +1 -1
  543. package/types/plugins/clipboard/clipboard.d.ts +2 -2
  544. package/types/plugins/color/color.d.ts +1 -1
  545. package/types/plugins/copy-format/copy-format.d.ts +1 -1
  546. package/types/plugins/debug/debug.d.ts +1 -1
  547. package/types/plugins/delete/delete.d.ts +2 -2
  548. package/types/plugins/drag-and-drop/drag-and-drop.d.ts +1 -1
  549. package/types/plugins/drag-and-drop-element/drag-and-drop-element.d.ts +1 -1
  550. package/types/plugins/dtd/after-insert/remove-extra-br.d.ts +1 -1
  551. package/types/plugins/dtd/before-insert/check-block-nesting.d.ts +1 -1
  552. package/types/plugins/dtd/config.d.ts +1 -1
  553. package/types/plugins/enter/enter.d.ts +1 -1
  554. package/types/plugins/enter/helpers/check-br.d.ts +1 -1
  555. package/types/plugins/enter/helpers/check-unsplittable-box.d.ts +1 -1
  556. package/types/plugins/enter/helpers/get-block-wrapper.d.ts +1 -1
  557. package/types/plugins/enter/helpers/has-previous-block.d.ts +1 -1
  558. package/types/plugins/enter/helpers/insert-paragraph.d.ts +1 -1
  559. package/types/plugins/enter/helpers/move-cursor-out-from-specal-tags.d.ts +1 -1
  560. package/types/plugins/enter/helpers/process-empty-li-leaf.d.ts +1 -1
  561. package/types/plugins/enter/helpers/split-fragment.d.ts +1 -1
  562. package/types/plugins/enter/helpers/wrap-text.d.ts +1 -1
  563. package/types/plugins/file/file.d.ts +1 -1
  564. package/types/plugins/focus/focus.d.ts +1 -1
  565. package/types/plugins/font/font.d.ts +1 -1
  566. package/types/plugins/format-block/format-block.d.ts +1 -1
  567. package/types/plugins/fullsize/fullsize.d.ts +1 -1
  568. package/types/plugins/hotkeys/config.d.ts +1 -1
  569. package/types/plugins/hotkeys/hotkeys.d.ts +2 -2
  570. package/types/plugins/hr/hr.d.ts +1 -1
  571. package/types/plugins/iframe/iframe.d.ts +1 -1
  572. package/types/plugins/image/image.d.ts +1 -1
  573. package/types/plugins/image-processor/image-processor.d.ts +2 -2
  574. package/types/plugins/image-properties/image-properties.d.ts +1 -1
  575. package/types/plugins/image-properties/interface.d.ts +1 -1
  576. package/types/plugins/image-properties/readers/index.d.ts +1 -1
  577. package/types/plugins/image-properties/readers/link.d.ts +1 -1
  578. package/types/plugins/image-properties/ui/ui-image-form.d.ts +1 -1
  579. package/types/plugins/image-properties/ui/ui-image-main-tab.d.ts +1 -1
  580. package/types/plugins/image-properties/ui/ui-image-position-tab.d.ts +1 -1
  581. package/types/plugins/image-properties/utils/open-image-editor.d.ts +1 -1
  582. package/types/plugins/image-properties/utils/open-image-popup.d.ts +1 -1
  583. package/types/plugins/image-properties/writers/index.d.ts +1 -1
  584. package/types/plugins/image-properties/writers/link.d.ts +1 -1
  585. package/types/plugins/image-properties/writers/margin.d.ts +1 -1
  586. package/types/plugins/indent/indent.d.ts +1 -1
  587. package/types/plugins/inline-popup/config/config.d.ts +1 -1
  588. package/types/plugins/inline-popup/config/items/a.d.ts +1 -1
  589. package/types/plugins/inline-popup/config/items/cells.d.ts +1 -1
  590. package/types/plugins/inline-popup/config/items/iframe.d.ts +2 -2
  591. package/types/plugins/inline-popup/config/items/img.d.ts +1 -1
  592. package/types/plugins/inline-popup/inline-popup.d.ts +2 -2
  593. package/types/plugins/justify/justify.d.ts +1 -1
  594. package/types/plugins/key-arrow-outside/key-arrow-outside.d.ts +2 -2
  595. package/types/plugins/limit/limit.d.ts +2 -2
  596. package/types/plugins/line-height/line-height.d.ts +2 -2
  597. package/types/plugins/link/config.d.ts +1 -1
  598. package/types/plugins/link/link.d.ts +2 -2
  599. package/types/plugins/link/template.d.ts +1 -1
  600. package/types/plugins/media/media.d.ts +1 -1
  601. package/types/plugins/mobile/config.d.ts +1 -1
  602. package/types/plugins/mobile/mobile.d.ts +1 -1
  603. package/types/plugins/ordered-list/ordered-list.d.ts +2 -2
  604. package/types/plugins/paste/config.d.ts +1 -1
  605. package/types/plugins/paste/helpers.d.ts +1 -1
  606. package/types/plugins/paste/interface.d.ts +1 -1
  607. package/types/plugins/paste/paste.d.ts +1 -1
  608. package/types/plugins/paste-from-word/config.d.ts +1 -1
  609. package/types/plugins/paste-from-word/paste-from-word.d.ts +2 -2
  610. package/types/plugins/placeholder/placeholder.d.ts +1 -1
  611. package/types/plugins/powered-by-jodit/powered-by-jodit.d.ts +1 -1
  612. package/types/plugins/preview/preview.d.ts +1 -1
  613. package/types/plugins/print/lib/generate-critical-css.d.ts +1 -1
  614. package/types/plugins/print/print.d.ts +1 -1
  615. package/types/plugins/redo-undo/redo-undo.d.ts +1 -1
  616. package/types/plugins/resize-cells/resize-cells.d.ts +2 -2
  617. package/types/plugins/resize-handler/resize-handler.d.ts +2 -2
  618. package/types/plugins/resizer/config.d.ts +1 -1
  619. package/types/plugins/resizer/resizer.d.ts +1 -1
  620. package/types/plugins/search/config.d.ts +1 -1
  621. package/types/plugins/search/helpers/highlight-text-ranges.d.ts +1 -1
  622. package/types/plugins/search/helpers/sentence-finder.d.ts +1 -1
  623. package/types/plugins/search/search.d.ts +3 -3
  624. package/types/plugins/search/ui/search.d.ts +2 -2
  625. package/types/plugins/select/select.d.ts +2 -2
  626. package/types/plugins/select-cells/select-cells.d.ts +2 -2
  627. package/types/plugins/size/size.d.ts +1 -1
  628. package/types/plugins/source/config.d.ts +1 -1
  629. package/types/plugins/source/editor/engines/ace.d.ts +1 -1
  630. package/types/plugins/source/editor/engines/area.d.ts +1 -1
  631. package/types/plugins/source/editor/factory.d.ts +1 -1
  632. package/types/plugins/source/editor/sourceEditor.d.ts +1 -1
  633. package/types/plugins/source/source.d.ts +2 -2
  634. package/types/plugins/speech-recognize/config.d.ts +1 -1
  635. package/types/plugins/speech-recognize/helpers/exec-spell-command.d.ts +1 -1
  636. package/types/plugins/speech-recognize/helpers/recognize-manager.d.ts +1 -1
  637. package/types/plugins/speech-recognize/speech-recognize.d.ts +2 -2
  638. package/types/plugins/spellcheck/spellcheck.d.ts +2 -2
  639. package/types/plugins/sticky/sticky.d.ts +1 -1
  640. package/types/plugins/symbols/symbols.d.ts +1 -1
  641. package/types/plugins/tab/cases/on-tab-inside-li.d.ts +1 -1
  642. package/types/plugins/table/table.d.ts +1 -1
  643. package/types/plugins/table-keyboard-navigation/table-keyboard-navigation.d.ts +1 -1
  644. package/types/plugins/wrap-nodes/config.d.ts +1 -1
  645. package/types/types/jodit.d.ts +1 -1
package/esm/config.d.ts CHANGED
@@ -1,616 +1,616 @@
1
- import type { AjaxOptions } from 'jodit/types';
2
- import type { IDialogOptions } from 'jodit/types';
3
- import type { IFileBrowserOptions } from 'jodit/types';
4
- import type { ImageEditorOptions } from 'jodit/types';
5
- import type { IUploaderOptions } from 'jodit/types';
6
- import type { IUploader } from 'jodit/types';
7
- import type { HTMLTagNames } from 'jodit/types';
8
- import type { AiAssistantSettings } from 'jodit/plugins/ai-assistant/interface';
9
- import type { IDictionary } from './types';
10
- import type { Nullable } from './types';
11
- import type { ImagePropertiesOptions } from 'jodit/plugins/image-properties/interface';
12
- import type { IControlType } from './types';
13
- import type { IJodit } from 'jodit/types';
14
- import type { formTemplate } from 'jodit/plugins/link/template';
15
- import type { IUIForm } from 'jodit/types';
16
- import type { IUIOption } from 'jodit/types';
17
- import type { ButtonsOption } from './types';
18
- import type { InsertMode } from './types';
19
- import type { FuzzySearch } from 'jodit/types';
20
- import type { ISourceEditor } from 'jodit/types';
21
- import type { ISpeechRecognizeConstructor } from 'jodit/plugins/speech-recognize/interface';
22
- import type { Attributes } from './types';
23
- import type { Controls } from './types';
24
- import type { IExtraPlugin } from './types';
25
- import type { IUIButtonState } from './types';
26
- import type { IViewOptions } from './types';
27
- import type { NodeFunction } from './types';
1
+ import type { AjaxOptions } from "./types/index.d.ts";
2
+ import type { IDialogOptions } from "./types/index.d.ts";
3
+ import type { IFileBrowserOptions } from "./types/index.d.ts";
4
+ import type { ImageEditorOptions } from "./types/index.d.ts";
5
+ import type { IUploaderOptions } from "./types/index.d.ts";
6
+ import type { IUploader } from "./types/index.d.ts";
7
+ import type { HTMLTagNames } from "./types/index.d.ts";
8
+ import type { AiAssistantSettings } from "./plugins/ai-assistant/interface.d.ts";
9
+ import type { IDictionary } from "./types/index.d.ts";
10
+ import type { Nullable } from "./types/index.d.ts";
11
+ import type { ImagePropertiesOptions } from "./plugins/image-properties/interface.d.ts";
12
+ import type { IControlType } from "./types/index.d.ts";
13
+ import type { IJodit } from "./types/index.d.ts";
14
+ import type { formTemplate } from "./plugins/link/template.d.ts";
15
+ import type { IUIForm } from "./types/index.d.ts";
16
+ import type { IUIOption } from "./types/index.d.ts";
17
+ import type { ButtonsOption } from "./types/index.d.ts";
18
+ import type { InsertMode } from "./types/index.d.ts";
19
+ import type { FuzzySearch } from "./types/index.d.ts";
20
+ import type { ISourceEditor } from "./types/index.d.ts";
21
+ import type { ISpeechRecognizeConstructor } from "./plugins/speech-recognize/interface.d.ts";
22
+ import type { Attributes } from "./types/index.d.ts";
23
+ import type { Controls } from "./types/index.d.ts";
24
+ import type { IExtraPlugin } from "./types/index.d.ts";
25
+ import type { IUIButtonState } from "./types/index.d.ts";
26
+ import type { IViewOptions } from "./types/index.d.ts";
27
+ import type { NodeFunction } from "./types/index.d.ts";
28
28
  /**
29
29
  * Default Editor's Configuration
30
30
  */
31
31
  declare class Config implements IViewOptions {
32
- private constructor();
33
- /**
34
- * Use cache for heavy methods
35
- */
36
- cache: boolean;
37
- /**
38
- * Timeout of all asynchronous methods
39
- */
40
- defaultTimeout: number;
41
- namespace: string;
42
- /**
43
- * Editor loads completely without plugins. Useful when debugging your own plugin.
44
- */
45
- safeMode: boolean;
46
- /**
47
- * Editor's width
48
- *
49
- * @example
50
- * ```javascript
51
- * Jodit.make('.editor', {
52
- * width: '100%',
53
- * })
54
- * ```
55
- * @example
56
- * ```javascript
57
- * Jodit.make('.editor', {
58
- * width: 600, // equivalent for '600px'
59
- * })
60
- * ```
61
- * @example
62
- * ```javascript
63
- * Jodit.make('.editor', {
64
- * width: 'auto', // autosize
65
- * })
66
- * ```
67
- */
68
- width: number | string;
69
- /**
70
- * Editor's height
71
- *
72
- * @example
73
- * ```javascript
74
- * Jodit.make('.editor', {
75
- * height: '100%',
76
- * })
77
- * ```
78
- * @example
79
- * ```javascript
80
- * Jodit.make('.editor', {
81
- * height: 600, // equivalent for '600px'
82
- * })
83
- * ```
84
- * @example
85
- * ```javascript
86
- * Jodit.make('.editor', {
87
- * height: 'auto', // default - autosize
88
- * })
89
- * ```
90
- */
91
- height: number | string;
92
- /**
93
- * List of plugins that will be initialized in safe mode.
94
- *
95
- * ```js
96
- * Jodit.make('#editor', {
97
- * safeMode: true,
98
- * safePluginsList: ['about'],
99
- * extraPlugins: ['yourPluginDev']
100
- * });
101
- * ```
102
- */
103
- safePluginsList: string[];
104
- commandToHotkeys: IDictionary<string | string[]>;
105
- /**
106
- * Reserved for the paid version of the editor
107
- */
108
- license: string;
109
- /**
110
- * The name of the preset that will be used to initialize the editor.
111
- * The list of available presets can be found here Jodit.defaultOptions.presets
112
- * ```javascript
113
- * Jodit.make('.editor', {
114
- * preset: 'inline'
115
- * });
116
- * ```
117
- */
118
- preset: string;
119
- presets: IDictionary;
120
- ownerDocument: Document;
121
- /**
122
- * Allows you to specify the window in which the editor will be created. Default - window
123
- * This is necessary if you are creating the editor inside an iframe but the code is running in the parent window
124
- */
125
- ownerWindow: Window;
126
- /**
127
- * Shadow root if Jodit was created in it
128
- *
129
- * ```html
130
- * <div id="editor"></div>
131
- * ```
132
- *
133
- * ```js
134
- * const app = document.getElementById('editor');
135
- * app.attachShadow({ mode: 'open' });
136
- * const root = app.shadowRoot;
137
- *
138
- * root.innerHTML = `
139
- * <link rel="stylesheet" href="./build/jodit.css"/>
140
- * <h1>Jodit example in Shadow DOM</h1>
141
- * <div id="edit"></div>
142
- * `;
143
- *
144
- * const editor = Jodit.make(root.getElementById('edit'), {
145
- * globalFullSize: false,
146
- * shadowRoot: root
147
- * });
148
- * editor.value = '<p>start</p>';
149
- * ```
150
- */
151
- shadowRoot: Nullable<ShadowRoot>;
152
- /**
153
- * z-index For editor
154
- */
155
- zIndex: number;
156
- /**
157
- * Change the read-only state of the editor
158
- */
159
- readonly: boolean;
160
- /**
161
- * Change the disabled state of the editor
162
- */
163
- disabled: boolean;
164
- /**
165
- * In readOnly mode, some buttons can still be useful, for example, the button to view source code or print
166
- */
167
- activeButtonsInReadOnly: string[];
168
- /**
169
- * When the editor is in read-only mode, some commands can still be executed:
170
- * ```javascript
171
- * const editor = Jodit.make('.editor', {
172
- * allowCommandsInReadOnly: ['selectall', 'preview', 'print']
173
- * readonly: true
174
- * });
175
- * editor.execCommand('selectall');// will be selected all content
176
- * editor.execCommand('delete');// but content will not be deleted
177
- * ```
178
- */
179
- allowCommandsInReadOnly: string[];
180
- /**
181
- * Size of icons in the toolbar (can be "small", "middle", "large")
182
- *
183
- * @example
184
- * ```javascript
185
- * const editor = Jodit.make(".dark_editor", {
186
- * toolbarButtonSize: "small"
187
- * });
188
- * ```
189
- */
190
- toolbarButtonSize: IUIButtonState['size'];
191
- /**
192
- * Allow navigation in the toolbar of the editor by Tab key
193
- */
194
- allowTabNavigation: boolean;
195
- /**
196
- * Inline editing mode
197
- */
198
- inline: boolean;
199
- /**
200
- * Theme (can be "dark")
201
- * @example
202
- * ```javascript
203
- * const editor = Jodit.make(".dark_editor", {
204
- * theme: "dark"
205
- * });
206
- * ```
207
- */
208
- theme: string;
209
- /**
210
- * if set true, then the current mode is saved in a cookie, and is restored after a reload of the page
211
- */
212
- saveModeInStorage: boolean;
213
- /**
214
- * Class name that can be appended to the editable area
215
- *
216
- * @see [[Config.iframeCSSLinks]]
217
- * @see [[Config.iframeStyle]]
218
- *
219
- * @example
220
- * ```javascript
221
- * Jodit.make('#editor', {
222
- * editorClassName: 'some_my_class'
223
- * });
224
- * ```
225
- * ```html
226
- * <style>
227
- * .some_my_class p{
228
- * line-height: 16px;
229
- * }
230
- * </style>
231
- * ```
232
- */
233
- editorClassName: false | string;
234
- /**
235
- * Class name that can be appended to the main editor container
236
- * @example
237
- * ```javascript
238
- * const jodit = Jodit.make('#editor', {
239
- * className: 'some_my_class'
240
- * });
241
- *
242
- * console.log(jodit.container.classList.contains('some_my_class')); // true
243
- * ```
244
- * ```html
245
- * <style>
246
- * .some_my_class {
247
- * max-width: 600px;
248
- * margin: 0 auto;
249
- * }
250
- * </style>
251
- * ```
252
- */
253
- className: false | string;
254
- /**
255
- * The internal styles of the editable area. They are intended to change
256
- * not the appearance of the editor, but to change the appearance of the content.
257
- * @example
258
- * ```javascript
259
- * Jodit.make('#editor', {
260
- * style: {
261
- * font: '12px Arial',
262
- * color: '#0c0c0c'
263
- * }
264
- * });
265
- * ```
266
- */
267
- style: false | IDictionary;
268
- /**
269
- *
270
- * @example
271
- * ```javascript
272
- * Jodit.make('#editor', {
273
- * editorStyle: {
274
- * font: '12px Arial',
275
- * color: '#0c0c0c'
276
- * }
277
- * });
278
- * ```
279
- */
280
- containerStyle: false | IDictionary;
281
- /**
282
- * Dictionary of variable values in css, a complete list can be found here
283
- * https://github.com/xdan/jodit/blob/main/src/styles/variables.less#L25
284
- *
285
- * @example
286
- * ```js
287
- * const editor = Jodit.make('#editor', {
288
- * styleValues: {
289
- * 'color-text': 'red',
290
- * colorBorder: 'black',
291
- * 'color-panel': 'blue'
292
- * }
293
- * });
294
- * ```
295
- */
296
- styleValues: IDictionary;
297
- /**
298
- * After all, changes in editors for textarea will call change trigger
299
- *
300
- * @example
301
- * ```javascript
302
- * const editor = Jodit.make('#editor');
303
- * document.getElementById('editor').addEventListener('change', function () {
304
- * console.log(this.value);
305
- * })
306
- * ```
307
- */
308
- triggerChangeEvent: boolean;
309
- /**
310
- * The writing direction of the language which is used to create editor content. Allowed values are: ''
311
- * (an empty string) – Indicates that content direction will be the same as either the editor UI direction or
312
- * the page element direction. 'ltr' – Indicates a Left-To-Right text direction (like in English).
313
- * 'rtl' – Indicates a Right-To-Left text direction (like in Arabic).
314
- *
315
- * @example
316
- * ```javascript
317
- * Jodit.make('.editor', {
318
- * direction: 'rtl'
319
- * })
320
- * ```
321
- */
322
- direction: 'rtl' | 'ltr' | '';
323
- /**
324
- * Language by default. if `auto` language set by document.documentElement.lang ||
325
- * (navigator.language && navigator.language.substr(0, 2)) ||
326
- * (navigator.browserLanguage && navigator.browserLanguage.substr(0, 2)) || 'en'
327
- *
328
- * @example
329
- * ```html
330
- * <!-- include in you page lang file -->
331
- * <script src="jodit/lang/de.js"></script>
332
- * <script>
333
- * var editor = Jodit.make('.editor', {
334
- * language: 'de'
335
- * });
336
- * </script>
337
- * ```
338
- */
339
- language: string;
340
- /**
341
- * if true all Lang.i18n(key) return `{key}`
342
- *
343
- * @example
344
- * ```html
345
- * <script>
346
- * var editor = Jodit.make('.editor', {
347
- * debugLanguage: true
348
- * });
349
- *
350
- * console.log(editor.i18n("Test")); // {Test}
351
- * </script>
352
- * ```
353
- */
354
- debugLanguage: boolean;
355
- /**
356
- * Collection of language pack data `{en: {'Type something': 'Type something', ...}}`
357
- *
358
- * @example
359
- * ```javascript
360
- * const editor = Jodit.make('#editor', {
361
- * language: 'ru',
362
- * i18n: {
363
- * ru: {
364
- * 'Type something': 'Начните что-либо вводить'
365
- * }
366
- * }
367
- * });
368
- * console.log(editor.i18n('Type something')) //Начните что-либо вводить
369
- * ```
370
- */
371
- i18n: IDictionary<IDictionary<string>> | false;
372
- /**
373
- * The tabindex global attribute is an integer indicating if the element can take
374
- * input focus (is focusable), if it should participate to sequential keyboard navigation,
375
- * and if so, at what position. It can take several values
376
- */
377
- tabIndex: number;
378
- /**
379
- * Boolean, whether the toolbar should be shown.
380
- * Alternatively, a valid css-selector-string to use an element as toolbar container.
381
- */
382
- toolbar: boolean | string | HTMLElement;
383
- /**
384
- * Boolean, whether the statusbar should be shown.
385
- */
386
- statusbar: boolean;
387
- /**
388
- * Show tooltip after mouse enter on the button
389
- */
390
- showTooltip: boolean;
391
- /**
392
- * Delay before show tooltip
393
- */
394
- showTooltipDelay: number;
395
- /**
396
- * Instead of create custop tooltip - use native title tooltips
397
- */
398
- useNativeTooltip: boolean;
399
- /**
400
- * Default insert method
401
- * @default insert_as_html
402
- */
403
- defaultActionOnPaste: InsertMode;
404
- /**
405
- * Element that will be created when you press Enter
406
- */
407
- enter: 'p' | 'div' | 'br';
408
- /**
409
- * When this option is enabled, the editor's content will be placed in an iframe and isolated from the rest of the page.
410
- *
411
- * @example
412
- * ```javascript
413
- * Jodit.make('#editor', {
414
- * iframe: true,
415
- * iframeStyle: 'html{margin: 0px;}body{padding:10px;background:transparent;color:#000;position:relative;z-index:2;\
416
- * user-select:auto;margin:0px;overflow:hidden;}body:after{content:"";clear:both;display:block}';
417
- * });
418
- * ```
419
- */
420
- iframe: boolean;
421
- /**
422
- * Allow editing the entire HTML document(html, head)
423
- * \> Works together with the iframe option.
424
- * @example
425
- * ```js
426
- * const editor = Jodit.make('#editor', {
427
- * iframe: true,
428
- * editHTMLDocumentMode: true
429
- * });
430
- * editor.value = '<!DOCTYPE html><html lang="en" style="overflow-y:hidden">' +
431
- * '<head><title>Jodit Editor</title></head>' +
432
- * '<body spellcheck="false"><p>Some text</p><p> a </p></body>' +
433
- * '</html>';
434
- * ```
435
- */
436
- editHTMLDocumentMode: boolean;
437
- /**
438
- * Use when you need to insert new block element
439
- * use enter option if not set
440
- */
441
- enterBlock: 'p' | 'div';
442
- /**
443
- * Jodit.MODE_WYSIWYG The HTML editor allows you to write like MSWord,
444
- * Jodit.MODE_SOURCE syntax highlighting source editor
445
- * @example
446
- * ```javascript
447
- * var editor = Jodit.make('#editor', {
448
- * defaultMode: Jodit.MODE_SPLIT
449
- * });
450
- * console.log(editor.getRealMode())
451
- * ```
452
- */
453
- defaultMode: number;
454
- /**
455
- * Use split mode
456
- */
457
- useSplitMode: boolean;
458
- /**
459
- * The colors in HEX representation to select a color for the background and for the text in colorpicker
460
- * @example
461
- * ```javascript
462
- * Jodit.make('#editor', {
463
- * colors: ['#ff0000', '#00ff00', '#0000ff']
464
- * })
465
- * ```
466
- */
467
- colors: IDictionary<string[]> | string[];
468
- /**
469
- * The default tab color picker
470
- * @example
471
- * ```javascript
472
- * Jodit.make('#editor2', {
473
- * colorPickerDefaultTab: 'color'
474
- * })
475
- * ```
476
- */
477
- colorPickerDefaultTab: 'background' | 'color';
478
- /**
479
- * Image size defaults to a larger image
480
- */
481
- imageDefaultWidth: number;
482
- /**
483
- * Do not display these buttons that are on the list
484
- * @example
485
- * ```javascript
486
- * Jodit.make('#editor2', {
487
- * removeButtons: ['hr', 'source']
488
- * });
489
- * ```
490
- */
491
- removeButtons: string[];
492
- /**
493
- * Do not init these plugins
494
- * @example
495
- * ```typescript
496
- * var editor = Jodit.make('.editor', {
497
- * disablePlugins: 'table,iframe'
498
- * });
499
- * //or
500
- * var editor = Jodit.make('.editor', {
501
- * disablePlugins: ['table', 'iframe']
502
- * });
503
- * ```
504
- */
505
- disablePlugins: string[] | string;
506
- /**
507
- * Init and download extra plugins
508
- * @example
509
- * ```typescript
510
- * var editor = Jodit.make('.editor', {
511
- * extraPlugins: ['emoji']
512
- * });
513
- * ```
514
- * It will try load %SCRIPT_PATH%/plugins/emoji/emoji.js and after load will try init it
515
- */
516
- extraPlugins: Array<string | IExtraPlugin>;
517
- /**
518
- * Base path for download extra plugins
519
- */
520
- basePath?: string;
521
- /**
522
- * These buttons list will be added to the option. Buttons
523
- */
524
- extraButtons: Array<string | IControlType>;
525
- /**
526
- * By default, you can only install an icon from the Jodit suite.
527
- * You can add your icon to the set using the `Jodit.modules.Icon.set (name, svg Code)` method.
528
- * But for a declarative declaration, you can use this option.
529
- *
530
- * @example
531
- * ```js
532
- * Jodit.modules.Icon.set('someIcon', '<svg><path.../></svg>');
533
- * const editor = Jodit.make({
534
- * extraButtons: [{
535
- * name: 'someButton',
536
- * icon: 'someIcon'
537
- * }]
538
- * });
539
- *
540
- * @example
541
- * const editor = Jodit.make({
542
- * extraIcons: {
543
- * someIcon: '<svg><path.../></svg>'
544
- * },
545
- * extraButtons: [{
546
- * name: 'someButton',
547
- * icon: 'someIcon'
548
- * }]
549
- * });
550
- * ```
551
- * @example
552
- * ```js
553
- * const editor = Jodit.make({
554
- * extraButtons: [{
555
- * name: 'someButton',
556
- * icon: '<svg><path.../></svg>'
557
- * }]
558
- * });
559
- * ```
560
- */
561
- extraIcons: IDictionary<string>;
562
- /**
563
- * Default attributes for created inside editor elements
564
- * @example
565
- * ```js
566
- * const editor2 = Jodit.make('#editor', {
567
- * createAttributes: {
568
- * div: {
569
- * class: 'test'
570
- * },
571
- * ul: function (ul) {
572
- * ul.classList.add('ui-test');
573
- * }
574
- * }
575
- * });
576
- *
577
- * const div2 = editor2.createInside.div();
578
- * expect(div2.className).equals('test');
579
- *
580
- * const ul = editor2.createInside.element('ul');
581
- * expect(ul.className).equals('ui-test');
582
- * ```
583
- * Or JSX in React
584
- * @example
585
- * ```jsx
586
- * import React, {useState, useRef} from 'react';
587
- * import JoditEditor from "jodit-react";
588
- *
589
- * const config = {
590
- * createAttributes: {
591
- * div: {
592
- * class: 'align-center'
593
- * }
594
- * }
595
- * };
596
- *
597
- * <JoditEditor config={config}/>
598
- * ```
599
- */
600
- createAttributes: IDictionary<Attributes | NodeFunction>;
601
- /**
602
- * The width of the editor, accepted as the biggest. Used to the responsive version of the editor
603
- */
604
- sizeLG: number;
605
- /**
606
- * The width of the editor, accepted as the medium. Used to the responsive version of the editor
607
- */
608
- sizeMD: number;
609
- /**
610
- * The width of the editor, accepted as the small. Used to the responsive version of the editor
611
- */
612
- sizeSM: number;
613
- /**
32
+ private constructor();
33
+ /**
34
+ * Use cache for heavy methods
35
+ */
36
+ cache: boolean;
37
+ /**
38
+ * Timeout of all asynchronous methods
39
+ */
40
+ defaultTimeout: number;
41
+ namespace: string;
42
+ /**
43
+ * Editor loads completely without plugins. Useful when debugging your own plugin.
44
+ */
45
+ safeMode: boolean;
46
+ /**
47
+ * Editor's width
48
+ *
49
+ * @example
50
+ * ```javascript
51
+ * Jodit.make('.editor', {
52
+ * width: '100%',
53
+ * })
54
+ * ```
55
+ * @example
56
+ * ```javascript
57
+ * Jodit.make('.editor', {
58
+ * width: 600, // equivalent for '600px'
59
+ * })
60
+ * ```
61
+ * @example
62
+ * ```javascript
63
+ * Jodit.make('.editor', {
64
+ * width: 'auto', // autosize
65
+ * })
66
+ * ```
67
+ */
68
+ width: number | string;
69
+ /**
70
+ * Editor's height
71
+ *
72
+ * @example
73
+ * ```javascript
74
+ * Jodit.make('.editor', {
75
+ * height: '100%',
76
+ * })
77
+ * ```
78
+ * @example
79
+ * ```javascript
80
+ * Jodit.make('.editor', {
81
+ * height: 600, // equivalent for '600px'
82
+ * })
83
+ * ```
84
+ * @example
85
+ * ```javascript
86
+ * Jodit.make('.editor', {
87
+ * height: 'auto', // default - autosize
88
+ * })
89
+ * ```
90
+ */
91
+ height: number | string;
92
+ /**
93
+ * List of plugins that will be initialized in safe mode.
94
+ *
95
+ * ```js
96
+ * Jodit.make('#editor', {
97
+ * safeMode: true,
98
+ * safePluginsList: ['about'],
99
+ * extraPlugins: ['yourPluginDev']
100
+ * });
101
+ * ```
102
+ */
103
+ safePluginsList: string[];
104
+ commandToHotkeys: IDictionary<string | string[]>;
105
+ /**
106
+ * Reserved for the paid version of the editor
107
+ */
108
+ license: string;
109
+ /**
110
+ * The name of the preset that will be used to initialize the editor.
111
+ * The list of available presets can be found here Jodit.defaultOptions.presets
112
+ * ```javascript
113
+ * Jodit.make('.editor', {
114
+ * preset: 'inline'
115
+ * });
116
+ * ```
117
+ */
118
+ preset: string;
119
+ presets: IDictionary;
120
+ ownerDocument: Document;
121
+ /**
122
+ * Allows you to specify the window in which the editor will be created. Default - window
123
+ * This is necessary if you are creating the editor inside an iframe but the code is running in the parent window
124
+ */
125
+ ownerWindow: Window;
126
+ /**
127
+ * Shadow root if Jodit was created in it
128
+ *
129
+ * ```html
130
+ * <div id="editor"></div>
131
+ * ```
132
+ *
133
+ * ```js
134
+ * const app = document.getElementById('editor');
135
+ * app.attachShadow({ mode: 'open' });
136
+ * const root = app.shadowRoot;
137
+ *
138
+ * root.innerHTML = `
139
+ * <link rel="stylesheet" href="./build/jodit.css"/>
140
+ * <h1>Jodit example in Shadow DOM</h1>
141
+ * <div id="edit"></div>
142
+ * `;
143
+ *
144
+ * const editor = Jodit.make(root.getElementById('edit'), {
145
+ * globalFullSize: false,
146
+ * shadowRoot: root
147
+ * });
148
+ * editor.value = '<p>start</p>';
149
+ * ```
150
+ */
151
+ shadowRoot: Nullable<ShadowRoot>;
152
+ /**
153
+ * z-index For editor
154
+ */
155
+ zIndex: number;
156
+ /**
157
+ * Change the read-only state of the editor
158
+ */
159
+ readonly: boolean;
160
+ /**
161
+ * Change the disabled state of the editor
162
+ */
163
+ disabled: boolean;
164
+ /**
165
+ * In readOnly mode, some buttons can still be useful, for example, the button to view source code or print
166
+ */
167
+ activeButtonsInReadOnly: string[];
168
+ /**
169
+ * When the editor is in read-only mode, some commands can still be executed:
170
+ * ```javascript
171
+ * const editor = Jodit.make('.editor', {
172
+ * allowCommandsInReadOnly: ['selectall', 'preview', 'print']
173
+ * readonly: true
174
+ * });
175
+ * editor.execCommand('selectall');// will be selected all content
176
+ * editor.execCommand('delete');// but content will not be deleted
177
+ * ```
178
+ */
179
+ allowCommandsInReadOnly: string[];
180
+ /**
181
+ * Size of icons in the toolbar (can be "small", "middle", "large")
182
+ *
183
+ * @example
184
+ * ```javascript
185
+ * const editor = Jodit.make(".dark_editor", {
186
+ * toolbarButtonSize: "small"
187
+ * });
188
+ * ```
189
+ */
190
+ toolbarButtonSize: IUIButtonState['size'];
191
+ /**
192
+ * Allow navigation in the toolbar of the editor by Tab key
193
+ */
194
+ allowTabNavigation: boolean;
195
+ /**
196
+ * Inline editing mode
197
+ */
198
+ inline: boolean;
199
+ /**
200
+ * Theme (can be "dark")
201
+ * @example
202
+ * ```javascript
203
+ * const editor = Jodit.make(".dark_editor", {
204
+ * theme: "dark"
205
+ * });
206
+ * ```
207
+ */
208
+ theme: string;
209
+ /**
210
+ * if set true, then the current mode is saved in a cookie, and is restored after a reload of the page
211
+ */
212
+ saveModeInStorage: boolean;
213
+ /**
214
+ * Class name that can be appended to the editable area
215
+ *
216
+ * @see [[Config.iframeCSSLinks]]
217
+ * @see [[Config.iframeStyle]]
218
+ *
219
+ * @example
220
+ * ```javascript
221
+ * Jodit.make('#editor', {
222
+ * editorClassName: 'some_my_class'
223
+ * });
224
+ * ```
225
+ * ```html
226
+ * <style>
227
+ * .some_my_class p{
228
+ * line-height: 16px;
229
+ * }
230
+ * </style>
231
+ * ```
232
+ */
233
+ editorClassName: false | string;
234
+ /**
235
+ * Class name that can be appended to the main editor container
236
+ * @example
237
+ * ```javascript
238
+ * const jodit = Jodit.make('#editor', {
239
+ * className: 'some_my_class'
240
+ * });
241
+ *
242
+ * console.log(jodit.container.classList.contains('some_my_class')); // true
243
+ * ```
244
+ * ```html
245
+ * <style>
246
+ * .some_my_class {
247
+ * max-width: 600px;
248
+ * margin: 0 auto;
249
+ * }
250
+ * </style>
251
+ * ```
252
+ */
253
+ className: false | string;
254
+ /**
255
+ * The internal styles of the editable area. They are intended to change
256
+ * not the appearance of the editor, but to change the appearance of the content.
257
+ * @example
258
+ * ```javascript
259
+ * Jodit.make('#editor', {
260
+ * style: {
261
+ * font: '12px Arial',
262
+ * color: '#0c0c0c'
263
+ * }
264
+ * });
265
+ * ```
266
+ */
267
+ style: false | IDictionary;
268
+ /**
269
+ *
270
+ * @example
271
+ * ```javascript
272
+ * Jodit.make('#editor', {
273
+ * editorStyle: {
274
+ * font: '12px Arial',
275
+ * color: '#0c0c0c'
276
+ * }
277
+ * });
278
+ * ```
279
+ */
280
+ containerStyle: false | IDictionary;
281
+ /**
282
+ * Dictionary of variable values in css, a complete list can be found here
283
+ * https://github.com/xdan/jodit/blob/main/src/styles/variables.less#L25
284
+ *
285
+ * @example
286
+ * ```js
287
+ * const editor = Jodit.make('#editor', {
288
+ * styleValues: {
289
+ * 'color-text': 'red',
290
+ * colorBorder: 'black',
291
+ * 'color-panel': 'blue'
292
+ * }
293
+ * });
294
+ * ```
295
+ */
296
+ styleValues: IDictionary;
297
+ /**
298
+ * After all, changes in editors for textarea will call change trigger
299
+ *
300
+ * @example
301
+ * ```javascript
302
+ * const editor = Jodit.make('#editor');
303
+ * document.getElementById('editor').addEventListener('change', function () {
304
+ * console.log(this.value);
305
+ * })
306
+ * ```
307
+ */
308
+ triggerChangeEvent: boolean;
309
+ /**
310
+ * The writing direction of the language which is used to create editor content. Allowed values are: ''
311
+ * (an empty string) – Indicates that content direction will be the same as either the editor UI direction or
312
+ * the page element direction. 'ltr' – Indicates a Left-To-Right text direction (like in English).
313
+ * 'rtl' – Indicates a Right-To-Left text direction (like in Arabic).
314
+ *
315
+ * @example
316
+ * ```javascript
317
+ * Jodit.make('.editor', {
318
+ * direction: 'rtl'
319
+ * })
320
+ * ```
321
+ */
322
+ direction: 'rtl' | 'ltr' | '';
323
+ /**
324
+ * Language by default. if `auto` language set by document.documentElement.lang ||
325
+ * (navigator.language && navigator.language.substr(0, 2)) ||
326
+ * (navigator.browserLanguage && navigator.browserLanguage.substr(0, 2)) || 'en'
327
+ *
328
+ * @example
329
+ * ```html
330
+ * <!-- include in you page lang file -->
331
+ * <script src="jodit/lang/de.js"></script>
332
+ * <script>
333
+ * var editor = Jodit.make('.editor', {
334
+ * language: 'de'
335
+ * });
336
+ * </script>
337
+ * ```
338
+ */
339
+ language: string;
340
+ /**
341
+ * if true all Lang.i18n(key) return `{key}`
342
+ *
343
+ * @example
344
+ * ```html
345
+ * <script>
346
+ * var editor = Jodit.make('.editor', {
347
+ * debugLanguage: true
348
+ * });
349
+ *
350
+ * console.log(editor.i18n("Test")); // {Test}
351
+ * </script>
352
+ * ```
353
+ */
354
+ debugLanguage: boolean;
355
+ /**
356
+ * Collection of language pack data `{en: {'Type something': 'Type something', ...}}`
357
+ *
358
+ * @example
359
+ * ```javascript
360
+ * const editor = Jodit.make('#editor', {
361
+ * language: 'ru',
362
+ * i18n: {
363
+ * ru: {
364
+ * 'Type something': 'Начните что-либо вводить'
365
+ * }
366
+ * }
367
+ * });
368
+ * console.log(editor.i18n('Type something')) //Начните что-либо вводить
369
+ * ```
370
+ */
371
+ i18n: IDictionary<IDictionary<string>> | false;
372
+ /**
373
+ * The tabindex global attribute is an integer indicating if the element can take
374
+ * input focus (is focusable), if it should participate to sequential keyboard navigation,
375
+ * and if so, at what position. It can take several values
376
+ */
377
+ tabIndex: number;
378
+ /**
379
+ * Boolean, whether the toolbar should be shown.
380
+ * Alternatively, a valid css-selector-string to use an element as toolbar container.
381
+ */
382
+ toolbar: boolean | string | HTMLElement;
383
+ /**
384
+ * Boolean, whether the statusbar should be shown.
385
+ */
386
+ statusbar: boolean;
387
+ /**
388
+ * Show tooltip after mouse enter on the button
389
+ */
390
+ showTooltip: boolean;
391
+ /**
392
+ * Delay before show tooltip
393
+ */
394
+ showTooltipDelay: number;
395
+ /**
396
+ * Instead of create custop tooltip - use native title tooltips
397
+ */
398
+ useNativeTooltip: boolean;
399
+ /**
400
+ * Default insert method
401
+ * @default insert_as_html
402
+ */
403
+ defaultActionOnPaste: InsertMode;
404
+ /**
405
+ * Element that will be created when you press Enter
406
+ */
407
+ enter: 'p' | 'div' | 'br';
408
+ /**
409
+ * When this option is enabled, the editor's content will be placed in an iframe and isolated from the rest of the page.
410
+ *
411
+ * @example
412
+ * ```javascript
413
+ * Jodit.make('#editor', {
414
+ * iframe: true,
415
+ * iframeStyle: 'html{margin: 0px;}body{padding:10px;background:transparent;color:#000;position:relative;z-index:2;\
416
+ * user-select:auto;margin:0px;overflow:hidden;}body:after{content:"";clear:both;display:block}';
417
+ * });
418
+ * ```
419
+ */
420
+ iframe: boolean;
421
+ /**
422
+ * Allow editing the entire HTML document(html, head)
423
+ * \> Works together with the iframe option.
424
+ * @example
425
+ * ```js
426
+ * const editor = Jodit.make('#editor', {
427
+ * iframe: true,
428
+ * editHTMLDocumentMode: true
429
+ * });
430
+ * editor.value = '<!DOCTYPE html><html lang="en" style="overflow-y:hidden">' +
431
+ * '<head><title>Jodit Editor</title></head>' +
432
+ * '<body spellcheck="false"><p>Some text</p><p> a </p></body>' +
433
+ * '</html>';
434
+ * ```
435
+ */
436
+ editHTMLDocumentMode: boolean;
437
+ /**
438
+ * Use when you need to insert new block element
439
+ * use enter option if not set
440
+ */
441
+ enterBlock: 'p' | 'div';
442
+ /**
443
+ * Jodit.MODE_WYSIWYG The HTML editor allows you to write like MSWord,
444
+ * Jodit.MODE_SOURCE syntax highlighting source editor
445
+ * @example
446
+ * ```javascript
447
+ * var editor = Jodit.make('#editor', {
448
+ * defaultMode: Jodit.MODE_SPLIT
449
+ * });
450
+ * console.log(editor.getRealMode())
451
+ * ```
452
+ */
453
+ defaultMode: number;
454
+ /**
455
+ * Use split mode
456
+ */
457
+ useSplitMode: boolean;
458
+ /**
459
+ * The colors in HEX representation to select a color for the background and for the text in colorpicker
460
+ * @example
461
+ * ```javascript
462
+ * Jodit.make('#editor', {
463
+ * colors: ['#ff0000', '#00ff00', '#0000ff']
464
+ * })
465
+ * ```
466
+ */
467
+ colors: IDictionary<string[]> | string[];
468
+ /**
469
+ * The default tab color picker
470
+ * @example
471
+ * ```javascript
472
+ * Jodit.make('#editor2', {
473
+ * colorPickerDefaultTab: 'color'
474
+ * })
475
+ * ```
476
+ */
477
+ colorPickerDefaultTab: 'background' | 'color';
478
+ /**
479
+ * Image size defaults to a larger image
480
+ */
481
+ imageDefaultWidth: number;
482
+ /**
483
+ * Do not display these buttons that are on the list
484
+ * @example
485
+ * ```javascript
486
+ * Jodit.make('#editor2', {
487
+ * removeButtons: ['hr', 'source']
488
+ * });
489
+ * ```
490
+ */
491
+ removeButtons: string[];
492
+ /**
493
+ * Do not init these plugins
494
+ * @example
495
+ * ```typescript
496
+ * var editor = Jodit.make('.editor', {
497
+ * disablePlugins: 'table,iframe'
498
+ * });
499
+ * //or
500
+ * var editor = Jodit.make('.editor', {
501
+ * disablePlugins: ['table', 'iframe']
502
+ * });
503
+ * ```
504
+ */
505
+ disablePlugins: string[] | string;
506
+ /**
507
+ * Init and download extra plugins
508
+ * @example
509
+ * ```typescript
510
+ * var editor = Jodit.make('.editor', {
511
+ * extraPlugins: ['emoji']
512
+ * });
513
+ * ```
514
+ * It will try load %SCRIPT_PATH%/plugins/emoji/emoji.js and after load will try init it
515
+ */
516
+ extraPlugins: Array<string | IExtraPlugin>;
517
+ /**
518
+ * Base path for download extra plugins
519
+ */
520
+ basePath?: string;
521
+ /**
522
+ * These buttons list will be added to the option. Buttons
523
+ */
524
+ extraButtons: Array<string | IControlType>;
525
+ /**
526
+ * By default, you can only install an icon from the Jodit suite.
527
+ * You can add your icon to the set using the `Jodit.modules.Icon.set (name, svg Code)` method.
528
+ * But for a declarative declaration, you can use this option.
529
+ *
530
+ * @example
531
+ * ```js
532
+ * Jodit.modules.Icon.set('someIcon', '<svg><path.../></svg>');
533
+ * const editor = Jodit.make({
534
+ * extraButtons: [{
535
+ * name: 'someButton',
536
+ * icon: 'someIcon'
537
+ * }]
538
+ * });
539
+ *
540
+ * @example
541
+ * const editor = Jodit.make({
542
+ * extraIcons: {
543
+ * someIcon: '<svg><path.../></svg>'
544
+ * },
545
+ * extraButtons: [{
546
+ * name: 'someButton',
547
+ * icon: 'someIcon'
548
+ * }]
549
+ * });
550
+ * ```
551
+ * @example
552
+ * ```js
553
+ * const editor = Jodit.make({
554
+ * extraButtons: [{
555
+ * name: 'someButton',
556
+ * icon: '<svg><path.../></svg>'
557
+ * }]
558
+ * });
559
+ * ```
560
+ */
561
+ extraIcons: IDictionary<string>;
562
+ /**
563
+ * Default attributes for created inside editor elements
564
+ * @example
565
+ * ```js
566
+ * const editor2 = Jodit.make('#editor', {
567
+ * createAttributes: {
568
+ * div: {
569
+ * class: 'test'
570
+ * },
571
+ * ul: function (ul) {
572
+ * ul.classList.add('ui-test');
573
+ * }
574
+ * }
575
+ * });
576
+ *
577
+ * const div2 = editor2.createInside.div();
578
+ * expect(div2.className).equals('test');
579
+ *
580
+ * const ul = editor2.createInside.element('ul');
581
+ * expect(ul.className).equals('ui-test');
582
+ * ```
583
+ * Or JSX in React
584
+ * @example
585
+ * ```jsx
586
+ * import React, {useState, useRef} from 'react';
587
+ * import JoditEditor from "jodit-react";
588
+ *
589
+ * const config = {
590
+ * createAttributes: {
591
+ * div: {
592
+ * class: 'align-center'
593
+ * }
594
+ * }
595
+ * };
596
+ *
597
+ * <JoditEditor config={config}/>
598
+ * ```
599
+ */
600
+ createAttributes: IDictionary<Attributes | NodeFunction>;
601
+ /**
602
+ * The width of the editor, accepted as the biggest. Used to the responsive version of the editor
603
+ */
604
+ sizeLG: number;
605
+ /**
606
+ * The width of the editor, accepted as the medium. Used to the responsive version of the editor
607
+ */
608
+ sizeMD: number;
609
+ /**
610
+ * The width of the editor, accepted as the small. Used to the responsive version of the editor
611
+ */
612
+ sizeSM: number;
613
+ /**
614
614
  * The list of buttons that appear in the editor's toolbar on large places (≥ options.sizeLG).
615
615
  * Note - this is not the width of the device, the width of the editor
616
616
  * @example
@@ -672,961 +672,875 @@ declare class Config implements IViewOptions {
672
672
  * });
673
673
  * ```
674
674
  */
675
- buttons: ButtonsOption;
676
- /**
677
- * Behavior for buttons
678
- */
679
- controls: Controls;
680
- /**
681
- * Some events are called when the editor is initialized, for example, the `afterInit` event.
682
- * So this code won't work:
683
- * ```javascript
684
- * const editor = Jodit.make('#editor');
685
- * editor.events.on('afterInit', () => console.log('afterInit'));
686
- * ```
687
- * You need to do this:
688
- * ```javascript
689
- * Jodit.make('#editor', {
690
- * events: {
691
- * afterInit: () => console.log('afterInit')
692
- * }
693
- * });
694
- * ```
695
- * The option can use any Jodit events, for example:
696
- * ```javascript
697
- * const editor = Jodit.make('#editor', {
698
- * events: {
699
- * hello: (name) => console.log('Hello', name)
700
- * }
701
- * });
702
- * editor.e.fire('hello', 'Mike');
703
- * ```
704
- */
705
- events: IDictionary<(...args: any[]) => any>;
706
- /**
707
- * Buttons in toolbat without SVG - only texts
708
- */
709
- textIcons: boolean;
710
- /**
711
- * Element for dialog container
712
- */
713
- popupRoot: Nullable<HTMLElement>;
714
- /**
715
- * shows a INPUT[type=color] to open the browser color picker, on the right bottom of widget color picker
716
- */
717
- showBrowserColorPicker: boolean;
718
- private static __defaultOptions;
719
- static get defaultOptions(): Config;
675
+ buttons: ButtonsOption;
676
+ /**
677
+ * Behavior for buttons
678
+ */
679
+ controls: Controls;
680
+ /**
681
+ * Some events are called when the editor is initialized, for example, the `afterInit` event.
682
+ * So this code won't work:
683
+ * ```javascript
684
+ * const editor = Jodit.make('#editor');
685
+ * editor.events.on('afterInit', () => console.log('afterInit'));
686
+ * ```
687
+ * You need to do this:
688
+ * ```javascript
689
+ * Jodit.make('#editor', {
690
+ * events: {
691
+ * afterInit: () => console.log('afterInit')
692
+ * }
693
+ * });
694
+ * ```
695
+ * The option can use any Jodit events, for example:
696
+ * ```javascript
697
+ * const editor = Jodit.make('#editor', {
698
+ * events: {
699
+ * hello: (name) => console.log('Hello', name)
700
+ * }
701
+ * });
702
+ * editor.e.fire('hello', 'Mike');
703
+ * ```
704
+ */
705
+ events: IDictionary<(...args: any[]) => any>;
706
+ /**
707
+ * Buttons in toolbat without SVG - only texts
708
+ */
709
+ textIcons: boolean;
710
+ /**
711
+ * Element for dialog container
712
+ */
713
+ popupRoot: Nullable<HTMLElement>;
714
+ /**
715
+ * shows a INPUT[type=color] to open the browser color picker, on the right bottom of widget color picker
716
+ */
717
+ showBrowserColorPicker: boolean;
718
+ private static __defaultOptions;
719
+ static get defaultOptions(): Config;
720
720
  }
721
721
  export { Config };
722
-
723
722
  interface Config {
724
- /**
725
- * A set of key/value pairs that configure the Ajax request. All settings are optional
726
- */
727
- defaultAjaxOptions: AjaxOptions;
723
+ /**
724
+ * A set of key/value pairs that configure the Ajax request. All settings are optional
725
+ */
726
+ defaultAjaxOptions: AjaxOptions;
728
727
  }
729
728
  interface Config {
730
- dialog: IDialogOptions;
729
+ dialog: IDialogOptions;
731
730
  }
732
731
  interface Config {
733
- filebrowser: IFileBrowserOptions;
732
+ filebrowser: IFileBrowserOptions;
734
733
  }
735
734
  interface Config {
736
- history: {
737
- enable: boolean;
738
-
739
- /**
740
- * Limit of history length
741
- */
742
- maxHistoryLength: number;
743
-
744
- /**
745
- * Delay on every change
746
- */
747
- timeout: number;
748
- };
735
+ history: {
736
+ enable: boolean;
737
+ /**
738
+ * Limit of history length
739
+ */
740
+ maxHistoryLength: number;
741
+ /**
742
+ * Delay on every change
743
+ */
744
+ timeout: number;
745
+ };
749
746
  }
750
747
  interface Config {
751
- imageeditor: ImageEditorOptions;
748
+ imageeditor: ImageEditorOptions;
752
749
  }
753
750
  interface Config {
754
- /**
755
- * Enable drag and drop file editor
756
- */
757
- enableDragAndDropFileToEditor: boolean;
758
- uploader: IUploaderOptions<IUploader>;
751
+ /**
752
+ * Enable drag and drop file editor
753
+ */
754
+ enableDragAndDropFileToEditor: boolean;
755
+ uploader: IUploaderOptions<IUploader>;
759
756
  }
760
757
  interface Config {
761
- /**
762
- * Create helper
763
- */
764
- addNewLine: boolean;
765
-
766
- /**
767
- * What kind of tags it will be impact
768
- */
769
- addNewLineTagsTriggers: HTMLTagNames[];
770
-
771
- /**
772
- * On dbl click on empty space of editor it add new P element
773
- * @example
774
- * ```js
775
- * Jodit.make('#editor', {
776
- * addNewLineOnDBLClick: false // disable
777
- * })
778
- * ```
779
- */
780
- addNewLineOnDBLClick: boolean;
781
-
782
- /**
783
- * Absolute delta between cursor position and edge(top or bottom)
784
- * of element when show line
785
- */
786
- addNewLineDeltaShow: number;
758
+ /**
759
+ * Create helper
760
+ */
761
+ addNewLine: boolean;
762
+ /**
763
+ * What kind of tags it will be impact
764
+ */
765
+ addNewLineTagsTriggers: HTMLTagNames[];
766
+ /**
767
+ * On dbl click on empty space of editor it add new P element
768
+ * @example
769
+ * ```js
770
+ * Jodit.make('#editor', {
771
+ * addNewLineOnDBLClick: false // disable
772
+ * })
773
+ * ```
774
+ */
775
+ addNewLineOnDBLClick: boolean;
776
+ /**
777
+ * Absolute delta between cursor position and edge(top or bottom)
778
+ * of element when show line
779
+ */
780
+ addNewLineDeltaShow: number;
787
781
  }
788
782
  interface Config {
789
- aiAssistant: AiAssistantSettings;
783
+ aiAssistant: AiAssistantSettings;
790
784
  }
791
785
  interface Config {
792
- delete: {
793
- hotkeys: {
794
- delete: string[];
795
- deleteWord: string[];
796
- deleteSentence: string[];
797
- backspace: string[];
798
- backspaceWord: string[];
799
- backspaceSentence: string[];
800
- };
801
- };
786
+ delete: {
787
+ hotkeys: {
788
+ delete: string[];
789
+ deleteWord: string[];
790
+ deleteSentence: string[];
791
+ backspace: string[];
792
+ backspaceWord: string[];
793
+ backspaceSentence: string[];
794
+ };
795
+ };
802
796
  }
803
797
  interface Config {
804
- cleanHTML: {
805
- timeout: number;
806
-
807
- /**
808
- * Replace &amp;nbsp; to plain space
809
- */
810
- replaceNBSP: boolean;
811
- /**
812
- * Remove empty P tags, if they are not in the beginning of the text
813
- */
814
- fillEmptyParagraph: boolean;
815
- /**
816
- * Remove empty elements
817
- */
818
- removeEmptyElements: boolean;
819
- /**
820
- * Replace old tags to new eg. <i> to <em>, <b> to <strong>
821
- */
822
- replaceOldTags: IDictionary<HTMLTagNames> | false;
823
-
824
- /**
825
- * You can use an iframe with the sandbox attribute to safely paste and test HTML code.
826
- * It prevents scripts and handlers from running, but it does slow things down.
827
- *
828
- * ```javascript
829
- * Jodit.make('#editor', {
830
- * cleanHTML: {
831
- * useIframeSandbox: true
832
- * }
833
- * });
834
- * ```
835
- */
836
- useIframeSandbox: boolean;
837
-
838
- /**
839
- * Remove onError attributes
840
- */
841
- removeOnError: boolean;
842
-
843
- /**
844
- * Safe href="javascript:" links
845
- */
846
- safeJavaScriptLink: boolean;
847
-
848
- /**
849
- * The allowTags option defines which elements will remain in the
850
- * edited text when the editor saves. You can use this limit the returned HTML.
851
- * @example
852
- * ```javascript
853
- * const jodit = new Jodit.make('#editor', {
854
- * cleanHTML: {
855
- * cleanOnPaste: false
856
- * }
857
- * });
858
- * ```
859
- * @example
860
- * ```javascript
861
- * const editor = Jodit.make('#editor', {
862
- * cleanHTML: {
863
- * allowTags: 'p,a[href],table,tr,td, img[src=1.png]' // allow only <p>,<a>,<table>,<tr>,<td>,<img> tags and
864
- * for <a> allow only `href` attribute and <img> allow only `src` attribute == '1.png'
865
- * }
866
- * });
867
- * editor.value = 'Sorry! <strong>Goodby</strong>\
868
- * <span>mr.</span> <a style="color:red" href="https://xdsoft.net">Freeman</a>';
869
- * console.log(editor.value); //Sorry! <a href="https://xdsoft.net">Freeman</a>
870
- * ```
871
- *
872
- * @example
873
- * ```javascript
874
- * const editor = Jodit.make('#editor', {
875
- * cleanHTML: {
876
- * allowTags: {
877
- * p: true,
878
- * a: {
879
- * href: true
880
- * },
881
- * table: true,
882
- * tr: true,
883
- * td: true,
884
- * img: {
885
- * src: '1.png'
886
- * }
887
- * }
888
- * }
889
- * });
890
- * ```
891
- */
892
- allowTags: false | string | IDictionary<string>;
893
- denyTags: false | string | IDictionary<string>;
894
-
895
- /**
896
- * Node filtering rules that do not need to be applied to content
897
- * The full list of rules is generated dynamically from the folder
898
- * https://github.com/xdan/jodit/tree/main/src/plugins/clean-html/helpers/visitor/filters
899
- */
900
- disableCleanFilter: Nullable<Set<string>>;
901
- };
798
+ cleanHTML: {
799
+ timeout: number;
800
+ /**
801
+ * Replace &amp;nbsp; to plain space
802
+ */
803
+ replaceNBSP: boolean;
804
+ /**
805
+ * Remove empty P tags, if they are not in the beginning of the text
806
+ */
807
+ fillEmptyParagraph: boolean;
808
+ /**
809
+ * Remove empty elements
810
+ */
811
+ removeEmptyElements: boolean;
812
+ /**
813
+ * Replace old tags to new eg. <i> to <em>, <b> to <strong>
814
+ */
815
+ replaceOldTags: IDictionary<HTMLTagNames> | false;
816
+ /**
817
+ * You can use an iframe with the sandbox attribute to safely paste and test HTML code.
818
+ * It prevents scripts and handlers from running, but it does slow things down.
819
+ *
820
+ * ```javascript
821
+ * Jodit.make('#editor', {
822
+ * cleanHTML: {
823
+ * useIframeSandbox: true
824
+ * }
825
+ * });
826
+ * ```
827
+ */
828
+ useIframeSandbox: boolean;
829
+ /**
830
+ * Remove onError attributes
831
+ */
832
+ removeOnError: boolean;
833
+ /**
834
+ * Safe href="javascript:" links
835
+ */
836
+ safeJavaScriptLink: boolean;
837
+ /**
838
+ * The allowTags option defines which elements will remain in the
839
+ * edited text when the editor saves. You can use this limit the returned HTML.
840
+ * @example
841
+ * ```javascript
842
+ * const jodit = new Jodit.make('#editor', {
843
+ * cleanHTML: {
844
+ * cleanOnPaste: false
845
+ * }
846
+ * });
847
+ * ```
848
+ * @example
849
+ * ```javascript
850
+ * const editor = Jodit.make('#editor', {
851
+ * cleanHTML: {
852
+ * allowTags: 'p,a[href],table,tr,td, img[src=1.png]' // allow only <p>,<a>,<table>,<tr>,<td>,<img> tags and
853
+ * for <a> allow only `href` attribute and <img> allow only `src` attribute == '1.png'
854
+ * }
855
+ * });
856
+ * editor.value = 'Sorry! <strong>Goodby</strong>\
857
+ * <span>mr.</span> <a style="color:red" href="https://xdsoft.net">Freeman</a>';
858
+ * console.log(editor.value); //Sorry! <a href="https://xdsoft.net">Freeman</a>
859
+ * ```
860
+ *
861
+ * @example
862
+ * ```javascript
863
+ * const editor = Jodit.make('#editor', {
864
+ * cleanHTML: {
865
+ * allowTags: {
866
+ * p: true,
867
+ * a: {
868
+ * href: true
869
+ * },
870
+ * table: true,
871
+ * tr: true,
872
+ * td: true,
873
+ * img: {
874
+ * src: '1.png'
875
+ * }
876
+ * }
877
+ * }
878
+ * });
879
+ * ```
880
+ */
881
+ allowTags: false | string | IDictionary<string>;
882
+ denyTags: false | string | IDictionary<string>;
883
+ /**
884
+ * Node filtering rules that do not need to be applied to content
885
+ * The full list of rules is generated dynamically from the folder
886
+ * https://github.com/xdan/jodit/tree/main/src/plugins/clean-html/helpers/visitor/filters
887
+ */
888
+ disableCleanFilter: Nullable<Set<string>>;
889
+ };
902
890
  }
903
891
  interface Config {
904
- /**
905
- * Draggable elements
906
- */
907
- draggableTags: string | string[];
892
+ /**
893
+ * Draggable elements
894
+ */
895
+ draggableTags: string | string[];
908
896
  }
909
897
  interface Config {
910
- dtd: {
911
- /**
912
- * Remove extra br element inside block element after pasting
913
- */
914
- removeExtraBr: boolean;
915
-
916
- /**
917
- * Check when inserting a block element if it can be inside another block element (according `blockLimits`)
918
- */
919
- checkBlockNesting: boolean;
920
-
921
- /**
922
- * List of elements that contain other blocks
923
- */
924
- blockLimits: IDictionary<1>;
925
- };
898
+ dtd: {
899
+ /**
900
+ * Remove extra br element inside block element after pasting
901
+ */
902
+ removeExtraBr: boolean;
903
+ /**
904
+ * Check when inserting a block element if it can be inside another block element (according `blockLimits`)
905
+ */
906
+ checkBlockNesting: boolean;
907
+ /**
908
+ * List of elements that contain other blocks
909
+ */
910
+ blockLimits: IDictionary<1>;
911
+ };
926
912
  }
927
913
  interface Config {
928
- autofocus: boolean;
929
- cursorAfterAutofocus: 'start' | 'end';
930
- saveSelectionOnBlur: boolean;
914
+ autofocus: boolean;
915
+ cursorAfterAutofocus: 'start' | 'end';
916
+ saveSelectionOnBlur: boolean;
931
917
  }
932
918
  interface Config {
933
- defaultFontSizePoints: 'px' | 'pt';
919
+ defaultFontSizePoints: 'px' | 'pt';
934
920
  }
935
921
  interface Config {
936
- /**
937
- * Open WYSIWYG in full screen
938
- * @example
939
- * ```javascript
940
- * var editor = Jodit.make({
941
- * fullsize: true // fullsize editor
942
- * });
943
- * ```
944
- * @example
945
- * ```javascript
946
- * var editor = Jodit.make();
947
- * editor.e.fire('toggleFullSize');
948
- * editor.e.fire('toggleFullSize', true); // fullsize
949
- * editor.e.fire('toggleFullSize', false); // usual mode
950
- * ```
951
- */
952
- fullsize: boolean;
953
-
954
- /**
955
- * True, after `fullsize` - all editors elements above jodit will get `jodit_fullsize-box_true` class (z-index: 100000 !important;)
956
- */
957
- globalFullSize: boolean;
922
+ /**
923
+ * Open WYSIWYG in full screen
924
+ * @example
925
+ * ```javascript
926
+ * var editor = Jodit.make({
927
+ * fullsize: true // fullsize editor
928
+ * });
929
+ * ```
930
+ * @example
931
+ * ```javascript
932
+ * var editor = Jodit.make();
933
+ * editor.e.fire('toggleFullSize');
934
+ * editor.e.fire('toggleFullSize', true); // fullsize
935
+ * editor.e.fire('toggleFullSize', false); // usual mode
936
+ * ```
937
+ */
938
+ fullsize: boolean;
939
+ /**
940
+ * True, after `fullsize` - all editors elements above jodit will get `jodit_fullsize-box_true` class (z-index: 100000 !important;)
941
+ */
942
+ globalFullSize: boolean;
958
943
  }
959
944
  interface Config {
960
- /**
961
- * You can redefine hotkeys for some command
962
- *
963
- * @example
964
- * ```js
965
- * const jodit = Jodit.make('#editor', {
966
- * commandToHotkeys: {
967
- * bold: 'ctrl+shift+b',
968
- * italic: ['ctrl+i', 'ctrl+b'],
969
- * }
970
- * })
971
- * ```
972
- */
973
- commandToHotkeys: IDictionary<string | string[]>;
945
+ /**
946
+ * You can redefine hotkeys for some command
947
+ *
948
+ * @example
949
+ * ```js
950
+ * const jodit = Jodit.make('#editor', {
951
+ * commandToHotkeys: {
952
+ * bold: 'ctrl+shift+b',
953
+ * italic: ['ctrl+i', 'ctrl+b'],
954
+ * }
955
+ * })
956
+ * ```
957
+ */
958
+ commandToHotkeys: IDictionary<string | string[]>;
974
959
  }
975
960
  interface Config {
976
- /**
977
- * You can redefine default page
978
- *
979
- * @example
980
- * ```javascript
981
- * Jodit.make('#editor', {
982
- * iframe: true,
983
- * iframeDefaultSrc: 'https://xdsoft.net/jodit/docs/',
984
- * });
985
- * ```
986
- */
987
- iframeDefaultSrc: string;
988
-
989
- /**
990
- * Base URL where the root directory for [[Config.iframe]] mode
991
- *
992
- * @example
993
- * ```javascript
994
- * Jodit.make('#editor', {
995
- * iframe: true,
996
- * iframeBaseUrl: 'https://xdsoft.net/jodit/docs/',
997
- * });
998
- * ```
999
- */
1000
- iframeBaseUrl: string;
1001
-
1002
- /**
1003
- * Iframe title's content
1004
- */
1005
- iframeTitle: string;
1006
-
1007
- /**
1008
- * Iframe's DOCTYPE
1009
- */
1010
- iframeDoctype: string;
1011
-
1012
- /**
1013
- * Custom style to be used inside the iframe to display content.
1014
- * @example
1015
- * ```javascript
1016
- * Jodit.make('#editor', {
1017
- * iframe: true,
1018
- * iframeStyle: 'html{margin: 0px;}',
1019
- * })
1020
- * ```
1021
- */
1022
- iframeStyle: string;
1023
-
1024
- /**
1025
- * Custom stylesheet files to be used inside the iframe to display content.
1026
- *
1027
- * @example
1028
- * ```javascript
1029
- * Jodit.make('#editor', {
1030
- * iframe: true,
1031
- * iframeCSSLinks: ['styles/default.css'],
1032
- * })
1033
- * ```
1034
- */
1035
- iframeCSSLinks: string[];
1036
-
1037
- /**
1038
- * Custom sandbox attribute for the iframe.
1039
- * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#sandbox
1040
- * ```javascript
1041
- * Jodit.make('#editor', {
1042
- * iframe: true,
1043
- * iframeSandbox: 'allow-same-origin allow-scripts'
1044
- * });
1045
- * ```
1046
- * Empty string value means that all restrictions are enabled.
1047
- */
1048
- iframeSandbox: string | null;
961
+ /**
962
+ * You can redefine default page
963
+ *
964
+ * @example
965
+ * ```javascript
966
+ * Jodit.make('#editor', {
967
+ * iframe: true,
968
+ * iframeDefaultSrc: 'https://xdsoft.net/jodit/docs/',
969
+ * });
970
+ * ```
971
+ */
972
+ iframeDefaultSrc: string;
973
+ /**
974
+ * Base URL where the root directory for [[Config.iframe]] mode
975
+ *
976
+ * @example
977
+ * ```javascript
978
+ * Jodit.make('#editor', {
979
+ * iframe: true,
980
+ * iframeBaseUrl: 'https://xdsoft.net/jodit/docs/',
981
+ * });
982
+ * ```
983
+ */
984
+ iframeBaseUrl: string;
985
+ /**
986
+ * Iframe title's content
987
+ */
988
+ iframeTitle: string;
989
+ /**
990
+ * Iframe's DOCTYPE
991
+ */
992
+ iframeDoctype: string;
993
+ /**
994
+ * Custom style to be used inside the iframe to display content.
995
+ * @example
996
+ * ```javascript
997
+ * Jodit.make('#editor', {
998
+ * iframe: true,
999
+ * iframeStyle: 'html{margin: 0px;}',
1000
+ * })
1001
+ * ```
1002
+ */
1003
+ iframeStyle: string;
1004
+ /**
1005
+ * Custom stylesheet files to be used inside the iframe to display content.
1006
+ *
1007
+ * @example
1008
+ * ```javascript
1009
+ * Jodit.make('#editor', {
1010
+ * iframe: true,
1011
+ * iframeCSSLinks: ['styles/default.css'],
1012
+ * })
1013
+ * ```
1014
+ */
1015
+ iframeCSSLinks: string[];
1016
+ /**
1017
+ * Custom sandbox attribute for the iframe.
1018
+ * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#sandbox
1019
+ * ```javascript
1020
+ * Jodit.make('#editor', {
1021
+ * iframe: true,
1022
+ * iframeSandbox: 'allow-same-origin allow-scripts'
1023
+ * });
1024
+ * ```
1025
+ * Empty string value means that all restrictions are enabled.
1026
+ */
1027
+ iframeSandbox: string | null;
1049
1028
  }
1050
1029
  interface Config {
1051
- imageProcessor: {
1052
- replaceDataURIToBlobIdInView: boolean;
1053
- };
1030
+ imageProcessor: {
1031
+ replaceDataURIToBlobIdInView: boolean;
1032
+ };
1054
1033
  }
1055
1034
  interface Config {
1056
- image: ImagePropertiesOptions;
1035
+ image: ImagePropertiesOptions;
1057
1036
  }
1058
1037
  interface Config {
1059
- /**
1060
- * The number of pixels to use for indenting the current line.
1061
- */
1062
- indentMargin: number;
1038
+ /**
1039
+ * The number of pixels to use for indenting the current line.
1040
+ */
1041
+ indentMargin: number;
1063
1042
  }
1064
1043
  interface Config {
1065
- popup: IDictionary<
1066
- | Array<IControlType | string>
1067
- | ((
1068
- editor: IJodit,
1069
- target: HTMLElement | undefined,
1070
- close: () => void
1071
- ) => Array<IControlType | string> | HTMLElement | string)
1072
- >;
1073
-
1074
- toolbarInlineDisabledButtons: string[];
1075
- toolbarInline: boolean;
1076
- toolbarInlineForSelection: boolean;
1077
- toolbarInlineDisableFor: string | string[];
1044
+ popup: IDictionary<Array<IControlType | string> | ((editor: IJodit, target: HTMLElement | undefined, close: () => void) => Array<IControlType | string> | HTMLElement | string)>;
1045
+ toolbarInlineDisabledButtons: string[];
1046
+ toolbarInline: boolean;
1047
+ toolbarInlineForSelection: boolean;
1048
+ toolbarInlineDisableFor: string | string[];
1078
1049
  }
1079
1050
  interface Config {
1080
- /**
1081
- * limit words count
1082
- */
1083
- limitWords: false | number;
1084
-
1085
- /**
1086
- * limit chars count
1087
- */
1088
- limitChars: false | number;
1089
-
1090
- /**
1091
- * limit html chars count
1092
- */
1093
- limitHTML: false;
1051
+ /**
1052
+ * limit words count
1053
+ */
1054
+ limitWords: false | number;
1055
+ /**
1056
+ * limit chars count
1057
+ */
1058
+ limitChars: false | number;
1059
+ /**
1060
+ * limit html chars count
1061
+ */
1062
+ limitHTML: false;
1094
1063
  }
1095
1064
  interface Config {
1096
- /**
1097
- * Default line spacing for the entire editor
1098
- *
1099
- * ```js
1100
- * Jodit.make('#editor', {
1101
- * defaultLineHeight: 1.2
1102
- * })
1103
- * ```
1104
- */
1105
- defaultLineHeight: number | null;
1065
+ /**
1066
+ * Default line spacing for the entire editor
1067
+ *
1068
+ * ```js
1069
+ * Jodit.make('#editor', {
1070
+ * defaultLineHeight: 1.2
1071
+ * })
1072
+ * ```
1073
+ */
1074
+ defaultLineHeight: number | null;
1106
1075
  }
1107
1076
  interface Config {
1108
- link: {
1109
- /**
1110
- * Template for the link dialog form
1111
- */
1112
- formTemplate: (editor: IJodit) => string | HTMLElement | IUIForm;
1113
- formClassName?: string;
1114
-
1115
- /**
1116
- * Follow link address after dblclick
1117
- */
1118
- followOnDblClick: boolean;
1119
-
1120
- /**
1121
- * Replace inserted youtube/vimeo link to `iframe`
1122
- */
1123
- processVideoLink: boolean;
1124
-
1125
- /**
1126
- * Wrap inserted link
1127
- */
1128
- processPastedLink: boolean;
1129
-
1130
- /**
1131
- * Show `no follow` checkbox in link dialog.
1132
- */
1133
- noFollowCheckbox: boolean;
1134
-
1135
- /**
1136
- * Show `Open in new tab` checkbox in link dialog.
1137
- */
1138
- openInNewTabCheckbox: boolean;
1139
-
1140
- /**
1141
- * Use an input text to ask the classname or a select or not ask
1142
- */
1143
- modeClassName: 'input' | 'select';
1144
-
1145
- /**
1146
- * Allow multiple choises (to use with modeClassName="select")
1147
- */
1148
- selectMultipleClassName: boolean;
1149
-
1150
- /**
1151
- * The size of the select (to use with modeClassName="select")
1152
- */
1153
- selectSizeClassName?: number;
1154
-
1155
- /**
1156
- * The list of the option for the select (to use with modeClassName="select")
1157
- */
1158
- selectOptionsClassName: IUIOption[];
1159
-
1160
- hotkeys: string[];
1161
- };
1077
+ link: {
1078
+ /**
1079
+ * Template for the link dialog form
1080
+ */
1081
+ formTemplate: (editor: IJodit) => string | HTMLElement | IUIForm;
1082
+ formClassName?: string;
1083
+ /**
1084
+ * Follow link address after dblclick
1085
+ */
1086
+ followOnDblClick: boolean;
1087
+ /**
1088
+ * Replace inserted youtube/vimeo link to `iframe`
1089
+ */
1090
+ processVideoLink: boolean;
1091
+ /**
1092
+ * Wrap inserted link
1093
+ */
1094
+ processPastedLink: boolean;
1095
+ /**
1096
+ * Show `no follow` checkbox in link dialog.
1097
+ */
1098
+ noFollowCheckbox: boolean;
1099
+ /**
1100
+ * Show `Open in new tab` checkbox in link dialog.
1101
+ */
1102
+ openInNewTabCheckbox: boolean;
1103
+ /**
1104
+ * Use an input text to ask the classname or a select or not ask
1105
+ */
1106
+ modeClassName: 'input' | 'select';
1107
+ /**
1108
+ * Allow multiple choises (to use with modeClassName="select")
1109
+ */
1110
+ selectMultipleClassName: boolean;
1111
+ /**
1112
+ * The size of the select (to use with modeClassName="select")
1113
+ */
1114
+ selectSizeClassName?: number;
1115
+ /**
1116
+ * The list of the option for the select (to use with modeClassName="select")
1117
+ */
1118
+ selectOptionsClassName: IUIOption[];
1119
+ hotkeys: string[];
1120
+ };
1162
1121
  }
1163
1122
  interface Config {
1164
- /**
1165
- * Decorate media elements
1166
- */
1167
- mediaInFakeBlock: boolean;
1168
-
1169
- /**
1170
- * Decorate media element with tag
1171
- */
1172
- mediaFakeTag: string;
1173
-
1174
- /**
1175
- * Media tags
1176
- */
1177
- mediaBlocks: string[];
1123
+ /**
1124
+ * Decorate media elements
1125
+ */
1126
+ mediaInFakeBlock: boolean;
1127
+ /**
1128
+ * Decorate media element with tag
1129
+ */
1130
+ mediaFakeTag: string;
1131
+ /**
1132
+ * Media tags
1133
+ */
1134
+ mediaBlocks: string[];
1178
1135
  }
1179
1136
  interface Config {
1180
- /**
1181
- * Mobile timeout for CLICK emulation
1182
- */
1183
- mobileTapTimeout: number;
1184
-
1185
- /**
1186
- * After resizing, the set of buttons will change to accommodate different sizes.
1187
- */
1188
- toolbarAdaptive: boolean;
1189
-
1190
- /**
1191
- * The list of buttons that appear in the editor's toolbar for medium-sized spaces (≥ options.sizeMD).
1192
- */
1193
- buttonsMD: ButtonsOption;
1194
-
1195
- /**
1196
- * The list of buttons that appear in the editor's toolbar for small-sized spaces (≥ options.sizeSM).
1197
- */
1198
- buttonsSM: ButtonsOption;
1199
-
1200
- /**
1201
- * The list of buttons that appear in the editor's toolbar for extra-small spaces (less than options.sizeSM).
1202
- */
1203
- buttonsXS: ButtonsOption;
1137
+ /**
1138
+ * Mobile timeout for CLICK emulation
1139
+ */
1140
+ mobileTapTimeout: number;
1141
+ /**
1142
+ * After resizing, the set of buttons will change to accommodate different sizes.
1143
+ */
1144
+ toolbarAdaptive: boolean;
1145
+ /**
1146
+ * The list of buttons that appear in the editor's toolbar for medium-sized spaces (≥ options.sizeMD).
1147
+ */
1148
+ buttonsMD: ButtonsOption;
1149
+ /**
1150
+ * The list of buttons that appear in the editor's toolbar for small-sized spaces (≥ options.sizeSM).
1151
+ */
1152
+ buttonsSM: ButtonsOption;
1153
+ /**
1154
+ * The list of buttons that appear in the editor's toolbar for extra-small spaces (less than options.sizeSM).
1155
+ */
1156
+ buttonsXS: ButtonsOption;
1204
1157
  }
1205
1158
  interface Config {
1206
- /**
1207
- * Ask before paste HTML in WYSIWYG mode
1208
- */
1209
- askBeforePasteHTML: boolean;
1210
-
1211
- /**
1212
- * When the user inserts a snippet of HTML, the plugin will prompt for the insertion method.
1213
- * If the user inserts the same fragment again, the previously selected option will be used without prompting for confirmation.
1214
- */
1215
- memorizeChoiceWhenPasteFragment: boolean;
1216
-
1217
- /**
1218
- * Handle pasted text - similar to HTML
1219
- */
1220
- processPasteHTML: boolean;
1221
-
1222
- /**
1223
- * Inserts HTML line breaks before all newlines in a string
1224
- */
1225
- nl2brInPlainText: boolean;
1226
-
1227
- /**
1228
- * List of tags that will not be removed from the pasted HTML with INSERT_AS_TEXT mode
1229
- */
1230
- pasteExcludeStripTags: HTMLTagNames[];
1231
-
1232
- /**
1233
- * Options when inserting HTML string
1234
- */
1235
- pasteHTMLActionList: IUIOption[];
1236
-
1237
- /**
1238
- * Scroll the editor to the pasted fragment
1239
- */
1240
- scrollToPastedContent: boolean;
1159
+ /**
1160
+ * Ask before paste HTML in WYSIWYG mode
1161
+ */
1162
+ askBeforePasteHTML: boolean;
1163
+ /**
1164
+ * When the user inserts a snippet of HTML, the plugin will prompt for the insertion method.
1165
+ * If the user inserts the same fragment again, the previously selected option will be used without prompting for confirmation.
1166
+ */
1167
+ memorizeChoiceWhenPasteFragment: boolean;
1168
+ /**
1169
+ * Handle pasted text - similar to HTML
1170
+ */
1171
+ processPasteHTML: boolean;
1172
+ /**
1173
+ * Inserts HTML line breaks before all newlines in a string
1174
+ */
1175
+ nl2brInPlainText: boolean;
1176
+ /**
1177
+ * List of tags that will not be removed from the pasted HTML with INSERT_AS_TEXT mode
1178
+ */
1179
+ pasteExcludeStripTags: HTMLTagNames[];
1180
+ /**
1181
+ * Options when inserting HTML string
1182
+ */
1183
+ pasteHTMLActionList: IUIOption[];
1184
+ /**
1185
+ * Scroll the editor to the pasted fragment
1186
+ */
1187
+ scrollToPastedContent: boolean;
1241
1188
  }
1242
1189
  interface Config {
1243
- /**
1244
- * Show the paste dialog if the html is similar to what MSWord gives when copying.
1245
- */
1246
- askBeforePasteFromWord: boolean;
1247
-
1248
- /**
1249
- * Handle pasting of HTML - similar to a fragment copied from MSWord
1250
- */
1251
- processPasteFromWord: boolean;
1252
-
1253
- /**
1254
- * Default insert method from word, if not define, it will use defaultActionOnPaste instead
1255
- *
1256
- * ```js
1257
- * Jodit.make('#editor', {
1258
- * defaultActionOnPasteFromWord: 'insert_clear_html'
1259
- * })
1260
- * ```
1261
- */
1262
- defaultActionOnPasteFromWord: InsertMode | null;
1263
-
1264
- /**
1265
- * Options when inserting data from Word
1266
- */
1267
- pasteFromWordActionList: IUIOption[];
1190
+ /**
1191
+ * Show the paste dialog if the html is similar to what MSWord gives when copying.
1192
+ */
1193
+ askBeforePasteFromWord: boolean;
1194
+ /**
1195
+ * Handle pasting of HTML - similar to a fragment copied from MSWord
1196
+ */
1197
+ processPasteFromWord: boolean;
1198
+ /**
1199
+ * Default insert method from word, if not define, it will use defaultActionOnPaste instead
1200
+ *
1201
+ * ```js
1202
+ * Jodit.make('#editor', {
1203
+ * defaultActionOnPasteFromWord: 'insert_clear_html'
1204
+ * })
1205
+ * ```
1206
+ */
1207
+ defaultActionOnPasteFromWord: InsertMode | null;
1208
+ /**
1209
+ * Options when inserting data from Word
1210
+ */
1211
+ pasteFromWordActionList: IUIOption[];
1268
1212
  }
1269
1213
  interface Config {
1270
- /**
1271
- * Show placeholder
1272
- * @example
1273
- * ```javascript
1274
- * const editor = Jodit.make('#editor', {
1275
- * showPlaceholder: false
1276
- * });
1277
- * ```
1278
- */
1279
- showPlaceholder: boolean;
1280
-
1281
- /**
1282
- * Use a placeholder from original input field, if it was set
1283
- * @example
1284
- * ```javascript
1285
- * //<textarea id="editor" placeholder="start typing text ..." cols="30" rows="10"></textarea>
1286
- * const editor = Jodit.make('#editor', {
1287
- * useInputsPlaceholder: true
1288
- * });
1289
- * ```
1290
- */
1291
- useInputsPlaceholder: boolean;
1292
-
1293
- /**
1294
- * Default placeholder
1295
- * @example
1296
- * ```javascript
1297
- * const editor = Jodit.make('#editor', {
1298
- * placeholder: 'start typing text ...'
1299
- * });
1300
- * ```
1301
- */
1302
- placeholder: string;
1214
+ /**
1215
+ * Show placeholder
1216
+ * @example
1217
+ * ```javascript
1218
+ * const editor = Jodit.make('#editor', {
1219
+ * showPlaceholder: false
1220
+ * });
1221
+ * ```
1222
+ */
1223
+ showPlaceholder: boolean;
1224
+ /**
1225
+ * Use a placeholder from original input field, if it was set
1226
+ * @example
1227
+ * ```javascript
1228
+ * //<textarea id="editor" placeholder="start typing text ..." cols="30" rows="10"></textarea>
1229
+ * const editor = Jodit.make('#editor', {
1230
+ * useInputsPlaceholder: true
1231
+ * });
1232
+ * ```
1233
+ */
1234
+ useInputsPlaceholder: boolean;
1235
+ /**
1236
+ * Default placeholder
1237
+ * @example
1238
+ * ```javascript
1239
+ * const editor = Jodit.make('#editor', {
1240
+ * placeholder: 'start typing text ...'
1241
+ * });
1242
+ * ```
1243
+ */
1244
+ placeholder: string;
1303
1245
  }
1304
1246
  interface Config {
1305
- /**
1306
- * Hide the link to the Jodit site at the bottom of the editor
1307
- */
1308
- hidePoweredByJodit: boolean;
1247
+ /**
1248
+ * Hide the link to the Jodit site at the bottom of the editor
1249
+ */
1250
+ hidePoweredByJodit: boolean;
1309
1251
  }
1310
1252
  interface Config {
1311
- tableAllowCellResize: boolean;
1253
+ tableAllowCellResize: boolean;
1312
1254
  }
1313
1255
  interface Config {
1314
- allowResizeX: boolean;
1315
- allowResizeY: boolean;
1256
+ allowResizeX: boolean;
1257
+ allowResizeY: boolean;
1316
1258
  }
1317
1259
  interface Config {
1318
- /**
1319
- * Use true frame for editing iframe size
1320
- */
1321
- allowResizeTags: Set<HTMLTagNames>;
1322
-
1323
- resizer: {
1324
- /**
1325
- * Show size
1326
- */
1327
- showSize: boolean;
1328
- hideSizeTimeout: number;
1329
-
1330
- /**
1331
- * Save width and height proportions when resizing
1332
- * ```js
1333
- * Jodit.make('#editor', {
1334
- * allowResizeTags: ['img', 'iframe', 'table', 'jodit'],
1335
- * resizer: {
1336
- * useAspectRatio: false, // don't save,
1337
- * useAspectRatio: ['img'], // save only for images (default value)
1338
- * useAspectRatio: true // save for all
1339
- * }
1340
- * });
1341
- * ```
1342
- */
1343
- useAspectRatio: boolean | Set<HTMLTagNames>;
1344
-
1345
- /**
1346
- * When resizing images, change not the styles but the width and height attributes
1347
- */
1348
- forImageChangeAttributes: boolean;
1349
-
1350
- /**
1351
- * The minimum width for the editable element
1352
- */
1353
- min_width: number;
1354
-
1355
- /**
1356
- * The minimum height for the item being edited
1357
- */
1358
- min_height: number;
1359
- };
1260
+ /**
1261
+ * Use true frame for editing iframe size
1262
+ */
1263
+ allowResizeTags: Set<HTMLTagNames>;
1264
+ resizer: {
1265
+ /**
1266
+ * Show size
1267
+ */
1268
+ showSize: boolean;
1269
+ hideSizeTimeout: number;
1270
+ /**
1271
+ * Save width and height proportions when resizing
1272
+ * ```js
1273
+ * Jodit.make('#editor', {
1274
+ * allowResizeTags: ['img', 'iframe', 'table', 'jodit'],
1275
+ * resizer: {
1276
+ * useAspectRatio: false, // don't save,
1277
+ * useAspectRatio: ['img'], // save only for images (default value)
1278
+ * useAspectRatio: true // save for all
1279
+ * }
1280
+ * });
1281
+ * ```
1282
+ */
1283
+ useAspectRatio: boolean | Set<HTMLTagNames>;
1284
+ /**
1285
+ * When resizing images, change not the styles but the width and height attributes
1286
+ */
1287
+ forImageChangeAttributes: boolean;
1288
+ /**
1289
+ * The minimum width for the editable element
1290
+ */
1291
+ min_width: number;
1292
+ /**
1293
+ * The minimum height for the item being edited
1294
+ */
1295
+ min_height: number;
1296
+ };
1360
1297
  }
1361
1298
  interface Config {
1362
- /**
1363
- * Enable custom search plugin
1364
- * ![search](https://user-images.githubusercontent.com/794318/34545433-cd0a9220-f10e-11e7-8d26-7e22f66e266d.gif)
1365
- */
1366
- useSearch: boolean;
1367
-
1368
- search: {
1369
- lazyIdleTimeout: number;
1370
-
1371
- /**
1372
- * Use custom highlight API https://developer.mozilla.org/en-US/docs/Web/API/CSS_Custom_Highlight_API
1373
- * or use default implementation (wrap text in span and attribute jd-tmp-selection)
1374
- */
1375
- useCustomHighlightAPI: boolean;
1376
-
1377
- /**
1378
- * Function to search for a string within a substring. The default implementation is [[fuzzySearchIndex]]
1379
- * But you can write your own. It must implement the [[FuzzySearch]] interface.
1380
- *
1381
- * ```ts
1382
- * Jodit.make('#editor', {
1383
- * search: {
1384
- * fuzzySearch: (needle, haystack, offset) => {
1385
- * return [haystack.toLowerCase().indexOf(needle.toLowerCase(), offset), needle.length];
1386
- * }
1387
- * }
1388
- * })
1389
- * ```
1390
- */
1391
- fuzzySearch?: FuzzySearch;
1392
- };
1299
+ /**
1300
+ * Enable custom search plugin
1301
+ * ![search](https://user-images.githubusercontent.com/794318/34545433-cd0a9220-f10e-11e7-8d26-7e22f66e266d.gif)
1302
+ */
1303
+ useSearch: boolean;
1304
+ search: {
1305
+ lazyIdleTimeout: number;
1306
+ /**
1307
+ * Use custom highlight API https://developer.mozilla.org/en-US/docs/Web/API/CSS_Custom_Highlight_API
1308
+ * or use default implementation (wrap text in span and attribute jd-tmp-selection)
1309
+ */
1310
+ useCustomHighlightAPI: boolean;
1311
+ /**
1312
+ * Function to search for a string within a substring. The default implementation is [[fuzzySearchIndex]]
1313
+ * But you can write your own. It must implement the [[FuzzySearch]] interface.
1314
+ *
1315
+ * ```ts
1316
+ * Jodit.make('#editor', {
1317
+ * search: {
1318
+ * fuzzySearch: (needle, haystack, offset) => {
1319
+ * return [haystack.toLowerCase().indexOf(needle.toLowerCase(), offset), needle.length];
1320
+ * }
1321
+ * }
1322
+ * })
1323
+ * ```
1324
+ */
1325
+ fuzzySearch?: FuzzySearch;
1326
+ };
1393
1327
  }
1394
1328
  interface Config {
1395
- select: {
1396
- /**
1397
- * When the user selects the elements of the list - from the beginning to
1398
- * the end from the inside - when copying, we change the selection
1399
- * to cover the entire selected container
1400
- *
1401
- * `<ul><li>|test|</li></ul>` will be `|<ul><li>test</li></ul>|`
1402
- * `<ul><li>|test|</li><li>|test</li></ul>` will be `<ul>|<li>test</li><li>|test</li></ul>`
1403
- */
1404
- normalizeSelectionBeforeCutAndCopy: boolean;
1405
-
1406
- /**
1407
- * Normalize selection after triple click
1408
- * @example
1409
- *
1410
- * `<ul><li>|test</li><li>|pop</li></ul>` will be `<ul><li>|test|</li><li>pop</li</ul>|`
1411
- */
1412
- normalizeTripleClick: boolean;
1413
- };
1329
+ select: {
1330
+ /**
1331
+ * When the user selects the elements of the list - from the beginning to
1332
+ * the end from the inside - when copying, we change the selection
1333
+ * to cover the entire selected container
1334
+ *
1335
+ * `<ul><li>|test|</li></ul>` will be `|<ul><li>test</li></ul>|`
1336
+ * `<ul><li>|test|</li><li>|test</li></ul>` will be `<ul>|<li>test</li><li>|test</li></ul>`
1337
+ */
1338
+ normalizeSelectionBeforeCutAndCopy: boolean;
1339
+ /**
1340
+ * Normalize selection after triple click
1341
+ * @example
1342
+ *
1343
+ * `<ul><li>|test</li><li>|pop</li></ul>` will be `<ul><li>|test|</li><li>pop</li</ul>|`
1344
+ */
1345
+ normalizeTripleClick: boolean;
1346
+ };
1414
1347
  }
1415
1348
  interface Config {
1416
- tableAllowCellSelection: boolean;
1349
+ tableAllowCellSelection: boolean;
1417
1350
  }
1418
1351
  interface Config {
1419
- saveHeightInStorage: boolean;
1420
-
1421
- minWidth: number | string;
1422
- minHeight: number | string;
1423
- maxWidth: number | string;
1424
- maxHeight: number | string;
1352
+ saveHeightInStorage: boolean;
1353
+ minWidth: number | string;
1354
+ minHeight: number | string;
1355
+ maxWidth: number | string;
1356
+ maxHeight: number | string;
1425
1357
  }
1426
1358
  interface Config {
1427
- sourceEditor: 'area' | 'ace' | ((jodit: IJodit) => ISourceEditor);
1428
-
1429
- /**
1430
- * Options for [ace](https://ace.c9.io/#config) editor
1431
- * @example
1432
- * ```js
1433
- * Jodit.make('#editor', {
1434
- * showGutter: true,
1435
- * theme: 'ace/theme/idle_fingers',
1436
- * mode: 'ace/mode/html',
1437
- * wrap: true,
1359
+ sourceEditor: 'area' | 'ace' | ((jodit: IJodit) => ISourceEditor);
1360
+ /**
1361
+ * Options for [ace](https://ace.c9.io/#config) editor
1362
+ * @example
1363
+ * ```js
1364
+ * Jodit.make('#editor', {
1365
+ * showGutter: true,
1366
+ * theme: 'ace/theme/idle_fingers',
1367
+ * mode: 'ace/mode/html',
1368
+ * wrap: true,
1438
1369
  § * highlightActiveLine: true
1439
- * })
1440
- * ```
1441
- */
1442
- sourceEditorNativeOptions: {
1443
- showGutter: boolean;
1444
- theme: string;
1445
- mode: string;
1446
- wrap: string | boolean | number;
1447
- highlightActiveLine: boolean;
1448
- };
1449
-
1450
- /**
1451
- * Beautify HTML then it possible
1452
- */
1453
- beautifyHTML: boolean;
1454
-
1455
- /**
1456
- * CDN URLs for HTML Beautifier
1457
- */
1458
- beautifyHTMLCDNUrlsJS: string[];
1459
-
1460
- /**
1461
- * CDN URLs for ACE editor
1462
- */
1463
- sourceEditorCDNUrlsJS: string[];
1370
+ * })
1371
+ * ```
1372
+ */
1373
+ sourceEditorNativeOptions: {
1374
+ showGutter: boolean;
1375
+ theme: string;
1376
+ mode: string;
1377
+ wrap: string | boolean | number;
1378
+ highlightActiveLine: boolean;
1379
+ };
1380
+ /**
1381
+ * Beautify HTML then it possible
1382
+ */
1383
+ beautifyHTML: boolean;
1384
+ /**
1385
+ * CDN URLs for HTML Beautifier
1386
+ */
1387
+ beautifyHTMLCDNUrlsJS: string[];
1388
+ /**
1389
+ * CDN URLs for ACE editor
1390
+ */
1391
+ sourceEditorCDNUrlsJS: string[];
1464
1392
  }
1465
1393
  interface Config {
1466
- speechRecognize: {
1467
- readonly api: ISpeechRecognizeConstructor | null;
1468
-
1469
- /**
1470
- * Returns and sets the language of the current SpeechRecognition.
1471
- * If not specified, this defaults to the HTML lang attribute value, or
1472
- * the user agent's language setting if that isn't set either.
1473
- * @see https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition/lang
1474
- */
1475
- readonly lang?: string;
1476
-
1477
- /**
1478
- * Controls whether continuous results are returned for each recognition,
1479
- * or only a single result.
1480
- * @see https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition/continuous
1481
- */
1482
- readonly continuous: boolean;
1483
-
1484
- /**
1485
- * Controls whether interim results should be returned (true) or not (false.)
1486
- * Interim results are results that are not yet final (e.g. the isFinal property is false.)
1487
- * @see https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition/interimResults
1488
- */
1489
- readonly interimResults: boolean;
1490
-
1491
- /**
1492
- * On recognition error - make an error sound
1493
- */
1494
- readonly sound: boolean;
1495
-
1496
- /**
1497
- * You can specify any commands in your language by listing them with the `|` sign.
1498
- * In the value, write down any commands for
1499
- * [execCommand](https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand#parameters)
1500
- * and value (separated by ::)
1501
- * You can also use [custom Jodit commands](#need-article)
1502
- * For example
1503
- * ```js
1504
- * Jodit.make('#editor', {
1505
- * speechRecognize: {
1506
- * commands: {
1507
- * 'remove line|remove paragraph': 'backspaceSentenceButton',
1508
- * 'start bold': 'bold',
1509
- * 'insert table|create table': 'insertHTML::<table><tr><td>test</td></tr></table>',
1510
- * }
1511
- * }
1512
- * });
1513
- * ```
1514
- */
1515
- readonly commands: IDictionary<string>;
1516
- };
1394
+ speechRecognize: {
1395
+ readonly api: ISpeechRecognizeConstructor | null;
1396
+ /**
1397
+ * Returns and sets the language of the current SpeechRecognition.
1398
+ * If not specified, this defaults to the HTML lang attribute value, or
1399
+ * the user agent's language setting if that isn't set either.
1400
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition/lang
1401
+ */
1402
+ readonly lang?: string;
1403
+ /**
1404
+ * Controls whether continuous results are returned for each recognition,
1405
+ * or only a single result.
1406
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition/continuous
1407
+ */
1408
+ readonly continuous: boolean;
1409
+ /**
1410
+ * Controls whether interim results should be returned (true) or not (false.)
1411
+ * Interim results are results that are not yet final (e.g. the isFinal property is false.)
1412
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition/interimResults
1413
+ */
1414
+ readonly interimResults: boolean;
1415
+ /**
1416
+ * On recognition error - make an error sound
1417
+ */
1418
+ readonly sound: boolean;
1419
+ /**
1420
+ * You can specify any commands in your language by listing them with the `|` sign.
1421
+ * In the value, write down any commands for
1422
+ * [execCommand](https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand#parameters)
1423
+ * and value (separated by ::)
1424
+ * You can also use [custom Jodit commands](#need-article)
1425
+ * For example
1426
+ * ```js
1427
+ * Jodit.make('#editor', {
1428
+ * speechRecognize: {
1429
+ * commands: {
1430
+ * 'remove line|remove paragraph': 'backspaceSentenceButton',
1431
+ * 'start bold': 'bold',
1432
+ * 'insert table|create table': 'insertHTML::<table><tr><td>test</td></tr></table>',
1433
+ * }
1434
+ * }
1435
+ * });
1436
+ * ```
1437
+ */
1438
+ readonly commands: IDictionary<string>;
1439
+ };
1517
1440
  }
1518
1441
  interface Config {
1519
- /**
1520
- * Options specifies whether the editor is to have its spelling and grammar checked or not
1521
- * @see http://www.w3schools.com/tags/att_global_spellcheck.asp
1522
- */
1523
- spellcheck: boolean;
1442
+ /**
1443
+ * Options specifies whether the editor is to have its spelling and grammar checked or not
1444
+ * @see http://www.w3schools.com/tags/att_global_spellcheck.asp
1445
+ */
1446
+ spellcheck: boolean;
1524
1447
  }
1525
1448
  interface Config {
1526
- showCharsCounter: boolean;
1527
- countHTMLChars: boolean;
1528
- countTextSpaces: boolean;
1529
- showWordsCounter: boolean;
1449
+ showCharsCounter: boolean;
1450
+ countHTMLChars: boolean;
1451
+ countTextSpaces: boolean;
1452
+ showWordsCounter: boolean;
1530
1453
  }
1531
1454
  interface Config {
1532
- /**
1533
- * @example
1534
- * ```javascript
1535
- * var editor = Jodit.make('#someid', {
1536
- * toolbarSticky: false
1537
- * })
1538
- * ```
1539
- */
1540
- toolbarSticky: boolean;
1541
-
1542
- toolbarDisableStickyForMobile: boolean;
1543
-
1544
- /**
1545
- * For example, in Joomla, the top menu bar closes Jodit toolbar when scrolling. Therefore, it is necessary to
1546
- * move the toolbar Jodit by this amount [more](https://xdsoft.net/jodit/docs/#2.5.57)
1547
- *
1548
- * @example
1549
- * ```javascript
1550
- * var editor = Jodit.make('#someid', {
1551
- * toolbarStickyOffset: 100
1552
- * })
1553
- * ```
1554
- */
1555
- toolbarStickyOffset: number;
1455
+ /**
1456
+ * @example
1457
+ * ```javascript
1458
+ * var editor = Jodit.make('#someid', {
1459
+ * toolbarSticky: false
1460
+ * })
1461
+ * ```
1462
+ */
1463
+ toolbarSticky: boolean;
1464
+ toolbarDisableStickyForMobile: boolean;
1465
+ /**
1466
+ * For example, in Joomla, the top menu bar closes Jodit toolbar when scrolling. Therefore, it is necessary to
1467
+ * move the toolbar Jodit by this amount [more](https://xdsoft.net/jodit/docs/#2.5.57)
1468
+ *
1469
+ * @example
1470
+ * ```javascript
1471
+ * var editor = Jodit.make('#someid', {
1472
+ * toolbarStickyOffset: 100
1473
+ * })
1474
+ * ```
1475
+ */
1476
+ toolbarStickyOffset: number;
1556
1477
  }
1557
1478
  interface Config {
1558
- specialCharacters: string[];
1559
- usePopupForSpecialCharacters: boolean;
1479
+ specialCharacters: string[];
1480
+ usePopupForSpecialCharacters: boolean;
1560
1481
  }
1561
1482
  interface Config {
1562
- tab: {
1563
- /**
1564
- * Pressing Tab inside LI will add an internal list
1565
- */
1566
- tabInsideLiInsertNewList: boolean;
1567
- };
1483
+ tab: {
1484
+ /**
1485
+ * Pressing Tab inside LI will add an internal list
1486
+ */
1487
+ tabInsideLiInsertNewList: boolean;
1488
+ };
1568
1489
  }
1569
1490
  interface Config {
1570
- table: {
1571
- selectionCellStyle: string;
1572
- useExtraClassesOptions: boolean;
1573
- };
1491
+ table: {
1492
+ selectionCellStyle: string;
1493
+ useExtraClassesOptions: boolean;
1494
+ };
1574
1495
  }
1575
1496
  interface Config {
1576
- video: {
1577
- /**
1578
- * Custom function for parsing video URL to embed code
1579
- * ```javascript
1580
- * Jodit.make('#editor', {
1581
- * video: {
1582
- * // Defaul behavior
1583
- * parseUrlToVideoEmbed: (url, size) => Jodit.modules.Helpers.convertMediaUrlToVideoEmbed(url, size)
1584
- * }
1585
- * });
1586
- * ```
1587
- */
1588
- parseUrlToVideoEmbed?: (
1589
- url: string,
1590
- {
1591
- width,
1592
- height
1593
- }?: {
1594
- width?: number;
1595
- height?: number;
1596
- }
1597
- ) => string;
1598
- /**
1599
- * Default width for video iframe. Default: 400
1600
- */
1601
- defaultWidth?: number;
1602
- /**
1603
- * Default height for video iframe. Default: 345
1604
- */
1605
- defaultHeight?: number;
1606
- };
1497
+ video: {
1498
+ /**
1499
+ * Custom function for parsing video URL to embed code
1500
+ * ```javascript
1501
+ * Jodit.make('#editor', {
1502
+ * video: {
1503
+ * // Defaul behavior
1504
+ * parseUrlToVideoEmbed: (url, size) => Jodit.modules.Helpers.convertMediaUrlToVideoEmbed(url, size)
1505
+ * }
1506
+ * });
1507
+ * ```
1508
+ */
1509
+ parseUrlToVideoEmbed?: (url: string, { width, height }?: {
1510
+ width?: number;
1511
+ height?: number;
1512
+ }) => string;
1513
+ /**
1514
+ * Default width for video iframe. Default: 400
1515
+ */
1516
+ defaultWidth?: number;
1517
+ /**
1518
+ * Default height for video iframe. Default: 345
1519
+ */
1520
+ defaultHeight?: number;
1521
+ };
1607
1522
  }
1608
1523
  interface Config {
1609
- wrapNodes: {
1610
- /**
1611
- * List of tags that should not be wrapped
1612
- * Default: `new Set(['hr', 'style', 'br'])`
1613
- */
1614
- exclude: Set<HTMLTagNames>;
1615
-
1616
- /**
1617
- * If the editor is empty, then insert an empty paragraph into it
1618
- * ```javascript
1619
- * Jodit.make('#editor', {
1620
- * wrapNodes: {
1621
- * emptyBlockAfterInit: true
1622
- * }
1623
- * });
1624
- * ```
1625
- * Default: `true`
1626
- */
1627
- emptyBlockAfterInit: boolean;
1628
- };
1524
+ wrapNodes: {
1525
+ /**
1526
+ * List of tags that should not be wrapped
1527
+ * Default: `new Set(['hr', 'style', 'br'])`
1528
+ */
1529
+ exclude: Set<HTMLTagNames>;
1530
+ /**
1531
+ * If the editor is empty, then insert an empty paragraph into it
1532
+ * ```javascript
1533
+ * Jodit.make('#editor', {
1534
+ * wrapNodes: {
1535
+ * emptyBlockAfterInit: true
1536
+ * }
1537
+ * });
1538
+ * ```
1539
+ * Default: `true`
1540
+ */
1541
+ emptyBlockAfterInit: boolean;
1542
+ };
1629
1543
  }
1630
1544
  interface Config {
1631
- showXPathInStatusbar: boolean;
1545
+ showXPathInStatusbar: boolean;
1632
1546
  }