jodit 3.10.2 → 3.12.2
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.
- package/.github/workflows/docs.yml +16 -0
- package/.github/workflows/tests.yml +1 -2
- package/.idea/dictionaries/v_chupurnov.xml +1 -0
- package/.idea/workspace.xml +303 -269
- package/CHANGELOG.MD +63 -7
- package/LICENSE.txt +1 -1
- package/README.md +6 -4
- package/build/jodit.css +85 -85
- package/build/jodit.es2018.css +74 -74
- package/build/jodit.es2018.en.css +74 -74
- package/build/jodit.es2018.en.js +2933 -2707
- package/build/jodit.es2018.en.min.css +1 -1
- package/build/jodit.es2018.en.min.js +1 -1
- package/build/jodit.es2018.js +2807 -2581
- package/build/jodit.es2018.min.css +1 -1
- package/build/jodit.es2018.min.js +1 -1
- package/build/jodit.js +3864 -3537
- package/build/jodit.min.css +2 -2
- package/build/jodit.min.js +1 -1
- package/index.d.ts +1 -1
- package/package.json +14 -2
- package/src/README.md +55 -0
- package/src/config.ts +5 -1
- package/src/core/async/README.md +147 -0
- package/src/core/{async.ts → async/async.ts} +16 -7
- package/src/core/async/index.ts +11 -0
- package/src/core/component/README.md +110 -0
- package/src/core/component/component.ts +7 -1
- package/src/core/component/index.ts +5 -1
- package/src/core/component/statuses.ts +5 -1
- package/src/core/component/view-component.ts +5 -1
- package/src/core/constants.ts +5 -1
- package/src/core/create/README.md +57 -0
- package/src/core/{create.ts → create/create.ts} +11 -5
- package/src/core/create/index.ts +11 -0
- package/src/core/decorators/README.md +4 -0
- package/src/core/decorators/cache/README.md +17 -0
- package/src/core/decorators/{cache.ts → cache/cache.ts} +9 -3
- package/src/core/decorators/component/README.md +65 -0
- package/src/core/decorators/{component.ts → component/component.ts} +8 -2
- package/src/core/decorators/debounce/README.md +44 -0
- package/src/core/decorators/{debounce.ts → debounce/debounce.ts} +11 -8
- package/src/core/decorators/hook/README.md +16 -0
- package/src/core/decorators/{hook.ts → hook/hook.ts} +11 -4
- package/src/core/decorators/idle/README.md +1 -0
- package/src/core/decorators/{idle.ts → idle/idle.ts} +11 -7
- package/src/core/decorators/index.ts +16 -10
- package/src/core/decorators/nonenumerable/README.md +15 -0
- package/src/core/decorators/{nonenumerable.ts → nonenumerable/nonenumerable.ts} +5 -2
- package/src/core/decorators/persistent/README.md +23 -0
- package/src/core/decorators/{persistent.ts → persistent/persistent.ts} +9 -6
- package/src/core/decorators/wait/README.md +20 -0
- package/src/core/decorators/{wait.ts → wait/wait.ts} +9 -6
- package/src/core/decorators/watch/README.md +125 -0
- package/src/core/decorators/{watch.ts → watch/watch.ts} +16 -14
- package/src/core/dom/README.md +13 -0
- package/src/core/{dom.ts → dom/dom.ts} +31 -10
- package/src/core/dom/index.ts +11 -0
- package/src/core/event-emitter/README.md +39 -0
- package/src/core/{events → event-emitter}/event-emitter.ts +9 -9
- package/src/core/{events → event-emitter}/index.ts +5 -1
- package/src/core/{events → event-emitter}/observe-object.ts +17 -8
- package/src/core/{events → event-emitter}/store.ts +5 -1
- package/src/core/global.ts +12 -12
- package/src/core/helpers/README.md +1 -0
- package/src/core/helpers/array/as-array.ts +5 -1
- package/src/core/helpers/array/index.ts +5 -1
- package/src/core/helpers/array/split-array.ts +5 -1
- package/src/core/helpers/array/to-array.ts +5 -1
- package/src/core/helpers/async/index.ts +5 -1
- package/src/core/helpers/async/set-timeout.ts +5 -1
- package/src/core/helpers/checker/has-browser-color-picker.ts +5 -1
- package/src/core/helpers/checker/index.ts +5 -1
- package/src/core/helpers/checker/is-array.ts +5 -1
- package/src/core/helpers/checker/is-boolean.ts +5 -1
- package/src/core/helpers/checker/is-equal.ts +5 -1
- package/src/core/helpers/checker/is-function.ts +5 -1
- package/src/core/helpers/checker/is-html-from-word.ts +5 -1
- package/src/core/helpers/checker/is-html.ts +5 -1
- package/src/core/helpers/checker/is-imp-interface.ts +5 -1
- package/src/core/helpers/checker/is-int.ts +5 -1
- package/src/core/helpers/checker/is-jodit-object.ts +5 -1
- package/src/core/helpers/checker/is-license.ts +5 -1
- package/src/core/helpers/checker/is-native-function.ts +5 -1
- package/src/core/helpers/checker/is-number.ts +5 -1
- package/src/core/helpers/checker/is-numeric.ts +5 -1
- package/src/core/helpers/checker/is-plain-object.ts +5 -1
- package/src/core/helpers/checker/is-promise.ts +5 -1
- package/src/core/helpers/checker/is-string.ts +5 -1
- package/src/core/helpers/checker/is-url.ts +5 -1
- package/src/core/helpers/checker/is-valid-name.ts +5 -1
- package/src/core/helpers/checker/is-void.ts +5 -1
- package/src/core/helpers/checker/is-window.ts +5 -1
- package/src/core/helpers/color/color-to-hex.ts +5 -1
- package/src/core/helpers/color/index.ts +5 -1
- package/src/core/helpers/html/apply-styles.ts +6 -2
- package/src/core/helpers/html/clean-from-word.ts +5 -1
- package/src/core/helpers/html/htmlspecialchars.ts +5 -1
- package/src/core/helpers/html/index.ts +5 -1
- package/src/core/helpers/html/nl2br.ts +6 -2
- package/src/core/helpers/html/strip-tags.ts +6 -2
- package/src/core/helpers/index.ts +7 -22
- package/src/core/helpers/normalize/index.ts +5 -1
- package/src/core/helpers/normalize/normalize-color.ts +5 -1
- package/src/core/helpers/normalize/normalize-css-value.ts +5 -1
- package/src/core/helpers/normalize/normalize-key-aliases.ts +5 -1
- package/src/core/helpers/normalize/normalize-license.ts +5 -1
- package/src/core/helpers/normalize/normalize-node.ts +5 -1
- package/src/core/helpers/normalize/normalize-path.ts +5 -1
- package/src/core/helpers/normalize/normalize-relative-path.ts +5 -1
- package/src/core/helpers/normalize/normalize-size.ts +5 -1
- package/src/core/helpers/normalize/normalize-url.ts +5 -1
- package/src/core/helpers/size/get-content-width.ts +3 -2
- package/src/core/helpers/size/get-scroll-parent.ts +11 -5
- package/src/core/helpers/size/index.ts +5 -1
- package/src/core/helpers/size/inner-width.ts +5 -1
- package/src/core/helpers/size/object-size.ts +5 -1
- package/src/core/helpers/size/offset.ts +5 -1
- package/src/core/helpers/size/position.ts +5 -1
- package/src/core/helpers/string/camel-case.ts +5 -1
- package/src/core/helpers/string/i18n.ts +6 -2
- package/src/core/helpers/string/index.ts +5 -1
- package/src/core/helpers/string/kebab-case.ts +5 -1
- package/src/core/helpers/string/stringify.ts +5 -1
- package/src/core/helpers/string/trim.ts +5 -1
- package/src/core/helpers/string/ucfirst.ts +5 -1
- package/src/core/helpers/{append-script.ts → utils/append-script.ts} +7 -3
- package/src/core/helpers/{browser.ts → utils/browser.ts} +5 -1
- package/src/core/helpers/{build-query.ts → utils/build-query.ts} +7 -3
- package/src/core/helpers/{complete-url.ts → utils/complete-url.ts} +5 -1
- package/src/core/helpers/{config-proto.ts → utils/config-proto.ts} +8 -4
- package/src/core/helpers/{convert-media-url-to-video-embed.ts → utils/convert-media-url-to-video-embed.ts} +6 -2
- package/src/core/helpers/{css.ts → utils/css.ts} +9 -5
- package/src/core/helpers/{ctrl-key.ts → utils/ctrl-key.ts} +5 -1
- package/src/core/helpers/{data-bind.ts → utils/data-bind.ts} +8 -4
- package/src/core/helpers/{default-language.ts → utils/default-language.ts} +6 -2
- package/src/core/helpers/{type.ts → utils/error.ts} +5 -1
- package/src/core/helpers/{extend.ts → utils/extend.ts} +6 -2
- package/src/core/helpers/utils/get-class-name.ts +5 -1
- package/src/core/helpers/utils/get.ts +5 -1
- package/src/core/helpers/{human-size-to-bytes.ts → utils/human-size-to-bytes.ts} +5 -1
- package/src/core/helpers/utils/index.ts +22 -1
- package/src/core/helpers/utils/mark-deprecated.ts +5 -1
- package/src/core/helpers/{parse-query.ts → utils/parse-query.ts} +6 -2
- package/src/core/helpers/{scroll-into-view.ts → utils/scroll-into-view.ts} +5 -1
- package/src/core/helpers/{selector.ts → utils/selector.ts} +13 -9
- package/src/core/helpers/utils/set.ts +5 -1
- package/src/core/helpers/utils/stack.ts +6 -1
- package/src/core/helpers/utils/utils.ts +7 -3
- package/src/core/helpers/{val.ts → utils/val.ts} +5 -1
- package/src/core/plugin/README.md +133 -0
- package/src/core/plugin/index.ts +12 -0
- package/src/core/{plugin-system.ts → plugin/plugin-system.ts} +7 -3
- package/src/core/{plugin.ts → plugin/plugin.ts} +11 -5
- package/src/core/request/README.md +11 -0
- package/src/core/request/ajax.ts +23 -14
- package/src/core/request/config.ts +5 -1
- package/src/core/request/index.ts +5 -1
- package/src/core/request/response.ts +13 -5
- package/src/core/selection/README.md +20 -0
- package/src/core/selection/index.ts +5 -1
- package/src/core/selection/select.ts +8 -2
- package/src/core/selection/style/api/element-has-same-style.ts +2 -1
- package/src/core/selection/style/api/extract.ts +2 -1
- package/src/core/selection/style/api/finite-state-machine.ts +1 -1
- package/src/core/selection/style/api/get-suit-child.ts +2 -1
- package/src/core/selection/style/api/get-suit-parent.ts +2 -1
- package/src/core/selection/style/api/index.ts +1 -1
- package/src/core/selection/style/api/is-inside-invisible-element.ts +2 -1
- package/src/core/selection/style/api/is-normal-node.ts +2 -1
- package/src/core/selection/style/api/is-suit-element.ts +2 -1
- package/src/core/selection/style/api/toggle/toggle-css.ts +3 -2
- package/src/core/selection/style/api/toggle/toggle-ordered-list.ts +2 -1
- package/src/core/selection/style/api/toggle-commit-styles.ts +2 -1
- package/src/core/selection/style/api/unwrap-children.ts +2 -1
- package/src/core/selection/style/api/wrap-and-commit-style.ts +2 -1
- package/src/core/selection/style/api/wrap-ordered-list.ts +2 -1
- package/src/core/selection/style/api/wrap-unwrapped-text.ts +2 -1
- package/src/core/selection/style/apply-style.ts +5 -1
- package/src/core/selection/style/commit-style.ts +5 -1
- package/src/core/storage/README.md +13 -0
- package/src/core/storage/engines/local-storage-provider.ts +5 -1
- package/src/core/storage/engines/memory-storage-provider.ts +5 -1
- package/src/core/storage/index.ts +5 -1
- package/src/core/storage/storage.ts +7 -1
- package/src/core/traits/elms.ts +5 -1
- package/src/core/traits/index.ts +5 -1
- package/src/core/traits/mods.ts +5 -1
- package/src/core/ui/README.md +51 -0
- package/src/core/ui/button/README.md +3 -0
- package/src/core/ui/button/button/button.less +1 -1
- package/src/core/ui/button/button/button.ts +6 -2
- package/src/core/ui/button/group/group.ts +6 -2
- package/src/core/ui/button/index.ts +7 -1
- package/src/core/ui/element.ts +5 -1
- package/src/core/ui/form/README.md +22 -0
- package/src/core/ui/form/block/block.ts +6 -2
- package/src/core/ui/form/form.ts +8 -2
- package/src/core/ui/form/index.ts +5 -1
- package/src/core/ui/form/inputs/area/area.ts +5 -1
- package/src/core/ui/form/inputs/checkbox/checkbox.ts +5 -1
- package/src/core/ui/form/inputs/file/file.ts +5 -1
- package/src/core/ui/form/inputs/index.ts +5 -1
- package/src/core/ui/form/inputs/input/input.ts +5 -1
- package/src/core/ui/form/inputs/select/select.ts +5 -1
- package/src/core/ui/form/validators/index.ts +5 -1
- package/src/core/ui/form/validators/input.ts +5 -1
- package/src/core/ui/form/validators/select.ts +5 -1
- package/src/core/ui/group/README.md +1 -0
- package/src/core/ui/{list → group}/group.less +1 -1
- package/src/core/ui/{list → group}/group.ts +7 -1
- package/src/core/ui/{list → group}/index.ts +5 -1
- package/src/core/ui/{list → group}/list.less +1 -1
- package/src/core/ui/{list → group}/list.ts +5 -1
- package/src/core/ui/{list → group}/separator.ts +5 -1
- package/src/core/ui/{list → group}/spacer.ts +5 -1
- package/src/core/ui/helpers/buttons.ts +5 -1
- package/src/core/ui/helpers/get-control-type.ts +5 -1
- package/src/core/ui/helpers/get-strong-control-types.ts +5 -1
- package/src/core/ui/icon.ts +6 -2
- package/src/core/ui/index.ts +8 -2
- package/src/core/ui/popup/README.md +15 -0
- package/src/core/ui/popup/index.ts +5 -1
- package/src/core/ui/popup/popup.less +1 -1
- package/src/core/ui/popup/popup.ts +13 -3
- package/src/core/ui/progress-bar/README.md +1 -0
- package/src/core/ui/progress-bar/progress-bar.less +1 -1
- package/src/core/ui/progress-bar/progress-bar.ts +7 -1
- package/src/core/view/README.md +24 -0
- package/src/core/view/view-with-toolbar.less +1 -1
- package/src/core/view/view-with-toolbar.ts +5 -1
- package/src/core/view/view.ts +11 -4
- package/src/header.js +1 -1
- package/src/index.ts +7 -1
- package/src/jodit.ts +7 -1
- package/src/langs/README.md +1 -0
- package/src/langs/ar.js +1 -1
- package/src/langs/cs_cz.js +1 -1
- package/src/langs/de.js +1 -1
- package/src/langs/en.js +1 -1
- package/src/langs/es.js +1 -1
- package/src/langs/fa.js +1 -1
- package/src/langs/fr.js +1 -1
- package/src/langs/he.js +1 -1
- package/src/langs/hu.js +1 -1
- package/src/langs/id.js +1 -1
- package/src/langs/index.ts +8 -1
- package/src/langs/it.js +1 -1
- package/src/langs/ja.js +1 -1
- package/src/langs/ko.js +1 -1
- package/src/langs/nl.js +1 -1
- package/src/langs/pl.js +1 -1
- package/src/langs/pt_br.js +1 -1
- package/src/langs/ru.js +1 -1
- package/src/langs/tr.js +1 -1
- package/src/langs/zh_cn.js +1 -1
- package/src/langs/zh_tw.js +1 -1
- package/src/modules/README.md +1 -0
- package/src/modules/context-menu/README.md +1 -0
- package/src/modules/context-menu/context-menu.less +1 -1
- package/src/modules/context-menu/context-menu.ts +7 -1
- package/src/modules/dialog/README.md +45 -0
- package/src/modules/dialog/alert.ts +5 -1
- package/src/modules/dialog/confirm.ts +5 -1
- package/src/modules/dialog/dialog.less +1 -1
- package/src/modules/dialog/dialog.ts +5 -1
- package/src/modules/dialog/index.ts +7 -1
- package/src/modules/dialog/prompt.ts +5 -1
- package/src/modules/file-browser/{README.MD → README.md} +173 -63
- package/src/modules/file-browser/builders/context-menu.ts +7 -3
- package/src/modules/file-browser/builders/item.ts +5 -1
- package/src/modules/file-browser/config.ts +5 -1
- package/src/modules/file-browser/data-provider.ts +5 -1
- package/src/modules/file-browser/factories.ts +5 -1
- package/src/modules/file-browser/file-browser.ts +36 -17
- package/src/modules/file-browser/index.ts +13 -0
- package/src/modules/file-browser/listeners/native-listeners.ts +8 -4
- package/src/modules/file-browser/listeners/self-listeners.ts +7 -4
- package/src/modules/file-browser/listeners/state-listeners.ts +7 -4
- package/src/modules/file-browser/styles/file-browser.less +1 -1
- package/src/modules/file-browser/styles/index.less +1 -1
- package/src/modules/file-browser/styles/preview.less +1 -1
- package/src/modules/file-browser/ui/files/files.ts +1 -1
- package/src/modules/file-browser/ui/index.ts +5 -1
- package/src/modules/file-browser/ui/tree/tree.ts +1 -1
- package/src/modules/image-editor/README.md +1 -0
- package/src/modules/image-editor/image-editor.less +1 -1
- package/src/modules/image-editor/image-editor.ts +12 -11
- package/src/modules/image-editor/templates/form.ts +5 -1
- package/src/modules/index.ts +12 -6
- package/src/modules/observer/README.md +0 -0
- package/src/modules/observer/command.ts +5 -1
- package/src/modules/observer/observer.ts +7 -1
- package/src/modules/observer/snapshot.ts +5 -1
- package/src/modules/observer/stack.ts +5 -1
- package/src/modules/status-bar/README.md +1 -0
- package/src/modules/status-bar/status-bar.less +1 -1
- package/src/modules/status-bar/status-bar.ts +7 -1
- package/src/modules/table/README.md +3 -0
- package/src/modules/{table.ts → table/table.ts} +20 -13
- package/src/modules/toolbar/README.md +1 -0
- package/src/modules/toolbar/button/README.md +1 -0
- package/src/modules/toolbar/button/button.less +1 -1
- package/src/modules/toolbar/button/button.ts +7 -1
- package/src/modules/toolbar/button/content.less +1 -1
- package/src/modules/toolbar/button/content.ts +5 -1
- package/src/modules/toolbar/button/index.ts +5 -1
- package/src/modules/toolbar/collection/README.md +1 -0
- package/src/modules/toolbar/collection/collection.less +2 -2
- package/src/modules/toolbar/collection/collection.ts +7 -1
- package/src/modules/toolbar/collection/editor-collection.ts +5 -1
- package/src/modules/toolbar/factory.ts +7 -1
- package/src/modules/uploader/README.md +1 -0
- package/src/modules/uploader/uploader.less +1 -1
- package/src/modules/uploader/uploader.ts +7 -1
- package/src/modules/widget/README.md +1 -0
- package/src/modules/widget/color-picker/README.md +1 -0
- package/src/modules/widget/color-picker/color-picker.less +1 -1
- package/src/modules/widget/color-picker/color-picker.ts +7 -1
- package/src/modules/widget/file-selector/README.md +1 -0
- package/src/modules/widget/file-selector/file-selector.ts +7 -1
- package/src/modules/widget/index.ts +7 -1
- package/src/modules/widget/tabs/README.md +1 -0
- package/src/modules/widget/tabs/tabs.less +1 -1
- package/src/modules/widget/tabs/tabs.ts +7 -1
- package/src/modules/widget/widget.less +1 -1
- package/src/plugins/README.md +3 -0
- package/src/plugins/about/about.less +1 -1
- package/src/plugins/about/about.ts +5 -1
- package/src/plugins/add-new-line/README.md +6 -0
- package/src/plugins/add-new-line/add-new-line.less +1 -1
- package/src/plugins/add-new-line/add-new-line.ts +13 -1
- package/src/plugins/{bold.ts → bold/bold.ts} +9 -5
- package/src/plugins/class-span/class-span.ts +5 -1
- package/src/plugins/clipboard/clipboard.ts +5 -1
- package/src/plugins/clipboard/config.ts +5 -1
- package/src/plugins/clipboard/copy-format.ts +5 -1
- package/src/plugins/clipboard/drag-and-drop-element.ts +5 -1
- package/src/plugins/clipboard/drag-and-drop.ts +7 -8
- package/src/plugins/clipboard/index.ts +5 -1
- package/src/plugins/clipboard/paste/helpers.ts +5 -1
- package/src/plugins/clipboard/paste/paste.ts +5 -1
- package/src/plugins/clipboard/paste-storage/paste-storage.less +1 -1
- package/src/plugins/clipboard/paste-storage/paste-storage.ts +5 -1
- package/src/plugins/{color.ts → color/color.ts} +10 -6
- package/src/plugins/error-messages/error-messages.ts +5 -1
- package/src/plugins/error-messages/errors-messages.less +1 -1
- package/src/plugins/fix/clean-html.ts +5 -1
- package/src/plugins/fix/wrap-text-nodes.ts +5 -1
- package/src/plugins/focus/README.md +3 -0
- package/src/plugins/{focus.ts → focus/focus.ts} +11 -8
- package/src/plugins/{font.ts → font/font.ts} +10 -6
- package/src/plugins/{format-block.ts → format-block/format-block.ts} +14 -5
- package/src/plugins/fullsize/fullsize.less +1 -1
- package/src/plugins/fullsize/fullsize.ts +5 -1
- package/src/plugins/{iframe.ts → iframe/iframe.ts} +11 -7
- package/src/plugins/image/helpers.ts +5 -1
- package/src/plugins/image/image-processor.ts +5 -1
- package/src/plugins/image/image-properties/image-properties.less +1 -1
- package/src/plugins/image/image-properties/image-properties.ts +5 -1
- package/src/plugins/image/image-properties/templates/form.ts +5 -1
- package/src/plugins/image/image-properties/templates/index.ts +7 -3
- package/src/plugins/image/image-properties/templates/{mainTab.ts → main-tab.ts} +5 -1
- package/src/plugins/image/image-properties/templates/{positionTab.ts → position-tab.ts} +5 -1
- package/src/plugins/image/image.ts +5 -1
- package/src/plugins/image/index.ts +5 -1
- package/src/plugins/{indent.ts → indent/indent.ts} +11 -7
- package/src/plugins/index.ts +23 -17
- package/src/plugins/inline-popup/config/config.ts +5 -1
- package/src/plugins/inline-popup/config/items/a.ts +5 -1
- package/src/plugins/inline-popup/config/items/cells.ts +5 -1
- package/src/plugins/inline-popup/config/items/iframe.ts +5 -1
- package/src/plugins/inline-popup/config/items/img.ts +5 -1
- package/src/plugins/inline-popup/config/items/toolbar.ts +5 -1
- package/src/plugins/inline-popup/inline-popup.less +1 -1
- package/src/plugins/inline-popup/inline-popup.ts +5 -1
- package/src/plugins/insert/hr.ts +5 -1
- package/src/plugins/insert/index.ts +5 -1
- package/src/plugins/{justify.ts → justify/justify.ts} +9 -5
- package/src/plugins/keyboard/backspace/backspace.ts +187 -0
- package/src/plugins/keyboard/backspace/cases/check-join-neighbors.ts +117 -0
- package/src/plugins/keyboard/backspace/cases/check-join-two-lists.ts +56 -0
- package/src/plugins/keyboard/backspace/cases/check-not-collapsed.ts +28 -0
- package/src/plugins/keyboard/backspace/cases/check-remove-char.ts +192 -0
- package/src/plugins/keyboard/backspace/cases/check-remove-content-not-editable.ts +47 -0
- package/src/plugins/keyboard/backspace/cases/check-remove-empty-neighbor.ts +44 -0
- package/src/plugins/keyboard/backspace/cases/check-remove-empty-parent.ts +82 -0
- package/src/plugins/keyboard/backspace/cases/check-remove-unbreakable-element.ts +48 -0
- package/src/plugins/keyboard/backspace/cases/check-table-cell.ts +32 -0
- package/src/plugins/keyboard/backspace/cases/check-unwrap-first-list-item.ts +59 -0
- package/src/plugins/keyboard/backspace/cases/index.ts +27 -0
- package/src/plugins/keyboard/backspace/config.ts +37 -0
- package/src/plugins/keyboard/backspace/interface.d.ts +11 -0
- package/src/plugins/keyboard/enter.ts +5 -1
- package/src/plugins/keyboard/helpers.ts +13 -4
- package/src/plugins/keyboard/hotkeys.ts +5 -1
- package/src/plugins/keyboard/key-arrow-outside.ts +6 -1
- package/src/plugins/{limit.ts → limit/limit.ts} +12 -8
- package/src/plugins/link/link.ts +5 -1
- package/src/plugins/link/template.ts +5 -1
- package/src/plugins/media/file.ts +5 -1
- package/src/plugins/media/index.ts +5 -1
- package/src/plugins/media/media.ts +5 -1
- package/src/plugins/media/video/config.ts +5 -1
- package/src/plugins/media/video/index.ts +5 -1
- package/src/plugins/{mobile.ts → mobile/mobile.ts} +14 -10
- package/src/plugins/{ordered-list.ts → ordered-list/ordered-list.ts} +11 -7
- package/src/plugins/placeholder/placeholder.less +1 -1
- package/src/plugins/placeholder/placeholder.ts +5 -1
- package/src/plugins/{powered-by-jodit.ts → powered-by-jodit/powered-by-jodit.ts} +10 -3
- package/src/plugins/print/index.ts +5 -1
- package/src/plugins/print/preview.ts +5 -1
- package/src/plugins/print/print.ts +5 -1
- package/src/plugins/{redo-undo.ts → redo-undo/redo-undo.ts} +9 -5
- package/src/plugins/resizer/resizer.less +1 -1
- package/src/plugins/resizer/resizer.ts +12 -3
- package/src/plugins/search/search.less +1 -1
- package/src/plugins/search/search.ts +5 -1
- package/src/plugins/{select.ts → select/select.ts} +11 -8
- package/src/plugins/size/config.ts +6 -1
- package/src/plugins/size/index.ts +5 -1
- package/src/plugins/size/resize-handler.ts +5 -1
- package/src/plugins/size/size.less +1 -1
- package/src/plugins/size/size.ts +5 -1
- package/src/plugins/source/README.md +60 -0
- package/src/plugins/source/config.ts +18 -3
- package/src/plugins/source/const.ts +5 -1
- package/src/plugins/source/editor/engines/ace.ts +5 -1
- package/src/plugins/source/editor/engines/area.ts +5 -1
- package/src/plugins/source/editor/engines/custom.ts +5 -1
- package/src/plugins/source/editor/engines/index.ts +5 -1
- package/src/plugins/source/editor/factory.ts +25 -16
- package/src/plugins/source/editor/sourceEditor.ts +5 -1
- package/src/plugins/source/index.ts +7 -1
- package/src/plugins/source/source.less +1 -1
- package/src/plugins/source/source.ts +5 -1
- package/src/plugins/{stat.ts → stat/stat.ts} +11 -7
- package/src/plugins/sticky/sticky.less +1 -1
- package/src/plugins/sticky/sticky.ts +5 -1
- package/src/plugins/symbols/config.ts +5 -1
- package/src/plugins/symbols/symbols.less +1 -1
- package/src/plugins/symbols/symbols.ts +5 -1
- package/src/plugins/table/config.ts +5 -1
- package/src/plugins/table/index.ts +5 -1
- package/src/plugins/table/resize-cells.ts +5 -1
- package/src/plugins/table/select-cells.ts +6 -2
- package/src/plugins/table/table-keyboard-navigation.ts +5 -1
- package/src/plugins/table/table.less +1 -1
- package/src/plugins/table/table.ts +5 -1
- package/src/plugins/tooltip/tooltip.less +1 -1
- package/src/plugins/tooltip/tooltip.ts +5 -1
- package/src/plugins/xpath/xpath.less +1 -1
- package/src/plugins/xpath/xpath.ts +5 -1
- package/src/polyfills.ts +1 -1
- package/src/styles/form.less +1 -1
- package/src/styles/icons/README.md +1 -0
- package/src/styles/icons/index.ts +7 -1
- package/src/styles/index.less +1 -1
- package/src/styles/jodit.less +1 -1
- package/src/styles/mixins.less +1 -1
- package/src/styles/modules/button-group.less +1 -1
- package/src/styles/modules/grid.less +1 -1
- package/src/styles/modules/icon.less +1 -1
- package/src/styles/modules/texticons.less +1 -1
- package/src/styles/reset.less +1 -1
- package/src/styles/themes/dark.less +1 -1
- package/src/styles/variables.less +1 -1
- package/src/types/ajax.d.ts +8 -1
- package/src/types/async.d.ts +7 -1
- package/src/types/context.d.ts +5 -1
- package/src/types/core.ts +5 -1
- package/src/types/create.d.ts +5 -1
- package/src/types/dialog.d.ts +5 -1
- package/src/types/events.d.ts +9 -5
- package/src/types/file-browser.d.ts +21 -5
- package/src/types/form.d.ts +5 -1
- package/src/types/index.d.ts +6 -2
- package/src/types/jodit.d.ts +5 -1
- package/src/types/{observe.d.ts → observer.d.ts} +7 -5
- package/src/types/plugin.d.ts +5 -1
- package/src/types/popup.d.ts +5 -1
- package/src/types/select.d.ts +5 -1
- package/src/types/source.d.ts +5 -1
- package/src/types/storage.ts +5 -1
- package/src/types/style.d.ts +5 -1
- package/src/types/toolbar.d.ts +5 -1
- package/src/types/traits.d.ts +5 -1
- package/src/types/types.d.ts +5 -1
- package/src/types/ui.d.ts +5 -1
- package/src/types/uploader.d.ts +4 -2
- package/src/types/view.d.ts +5 -1
- package/src/typings.d.ts +5 -1
- package/tsdoc.json +20 -0
- package/types/config.d.ts +4 -1
- package/types/core/{async.d.ts → async/async.d.ts} +11 -6
- package/types/core/async/index.d.ts +9 -0
- package/types/core/component/component.d.ts +6 -1
- package/types/core/component/index.d.ts +4 -1
- package/types/core/component/statuses.d.ts +4 -1
- package/types/core/component/view-component.d.ts +4 -1
- package/types/core/constants.d.ts +4 -1
- package/types/core/{create.d.ts → create/create.d.ts} +7 -2
- package/types/core/create/index.d.ts +9 -0
- package/types/core/decorators/{cache.d.ts → cache/cache.d.ts} +1 -1
- package/types/core/decorators/{component.d.ts → component/component.d.ts} +1 -1
- package/types/core/decorators/{debounce.d.ts → debounce/debounce.d.ts} +5 -3
- package/types/core/decorators/{hook.d.ts → hook/hook.d.ts} +8 -3
- package/types/core/decorators/{idle.d.ts → idle/idle.d.ts} +5 -3
- package/types/core/decorators/index.d.ts +15 -10
- package/types/core/decorators/{nonenumerable.d.ts → nonenumerable/nonenumerable.d.ts} +4 -2
- package/types/core/decorators/{persistent.d.ts → persistent/persistent.d.ts} +5 -3
- package/types/core/decorators/{wait.d.ts → wait/wait.d.ts} +5 -3
- package/types/core/decorators/{watch.d.ts → watch/watch.d.ts} +7 -2
- package/types/core/{dom.d.ts → dom/dom.d.ts} +12 -3
- package/types/core/dom/index.d.ts +9 -0
- package/types/core/{events → event-emitter}/event-emitter.d.ts +7 -7
- package/types/core/{events → event-emitter}/index.d.ts +4 -1
- package/types/core/{events → event-emitter}/observe-object.d.ts +7 -4
- package/types/core/{events → event-emitter}/store.d.ts +4 -1
- package/types/core/global.d.ts +7 -4
- package/types/core/helpers/array/as-array.d.ts +1 -1
- package/types/core/helpers/array/index.d.ts +4 -1
- package/types/core/helpers/array/split-array.d.ts +1 -1
- package/types/core/helpers/array/to-array.d.ts +1 -1
- package/types/core/helpers/async/index.d.ts +4 -1
- package/types/core/helpers/async/set-timeout.d.ts +4 -1
- package/types/core/helpers/checker/has-browser-color-picker.d.ts +4 -1
- package/types/core/helpers/checker/index.d.ts +4 -1
- package/types/core/helpers/checker/is-array.d.ts +4 -1
- package/types/core/helpers/checker/is-boolean.d.ts +4 -1
- package/types/core/helpers/checker/is-equal.d.ts +1 -1
- package/types/core/helpers/checker/is-function.d.ts +4 -1
- package/types/core/helpers/checker/is-html-from-word.d.ts +4 -1
- package/types/core/helpers/checker/is-html.d.ts +1 -1
- package/types/core/helpers/checker/is-imp-interface.d.ts +4 -1
- package/types/core/helpers/checker/is-int.d.ts +1 -1
- package/types/core/helpers/checker/is-jodit-object.d.ts +4 -1
- package/types/core/helpers/checker/is-license.d.ts +1 -1
- package/types/core/helpers/checker/is-native-function.d.ts +4 -1
- package/types/core/helpers/checker/is-number.d.ts +4 -1
- package/types/core/helpers/checker/is-numeric.d.ts +1 -1
- package/types/core/helpers/checker/is-plain-object.d.ts +4 -1
- package/types/core/helpers/checker/is-promise.d.ts +4 -1
- package/types/core/helpers/checker/is-string.d.ts +4 -1
- package/types/core/helpers/checker/is-url.d.ts +4 -1
- package/types/core/helpers/checker/is-valid-name.d.ts +4 -1
- package/types/core/helpers/checker/is-void.d.ts +4 -1
- package/types/core/helpers/checker/is-window.d.ts +4 -1
- package/types/core/helpers/color/color-to-hex.d.ts +4 -1
- package/types/core/helpers/color/index.d.ts +4 -1
- package/types/core/helpers/html/apply-styles.d.ts +1 -1
- package/types/core/helpers/html/clean-from-word.d.ts +1 -1
- package/types/core/helpers/html/htmlspecialchars.d.ts +4 -1
- package/types/core/helpers/html/index.d.ts +4 -1
- package/types/core/helpers/html/nl2br.d.ts +4 -1
- package/types/core/helpers/html/strip-tags.d.ts +1 -1
- package/types/core/helpers/index.d.ts +6 -19
- package/types/core/helpers/normalize/index.d.ts +4 -1
- package/types/core/helpers/normalize/normalize-color.d.ts +1 -1
- package/types/core/helpers/normalize/normalize-css-value.d.ts +1 -1
- package/types/core/helpers/normalize/normalize-key-aliases.d.ts +1 -1
- package/types/core/helpers/normalize/normalize-license.d.ts +4 -1
- package/types/core/helpers/normalize/normalize-node.d.ts +1 -1
- package/types/core/helpers/normalize/normalize-path.d.ts +1 -1
- package/types/core/helpers/normalize/normalize-relative-path.d.ts +4 -1
- package/types/core/helpers/normalize/normalize-size.d.ts +4 -1
- package/types/core/helpers/normalize/normalize-url.d.ts +4 -1
- package/types/core/helpers/size/get-content-width.d.ts +2 -2
- package/types/core/helpers/size/get-scroll-parent.d.ts +4 -1
- package/types/core/helpers/size/index.d.ts +4 -1
- package/types/core/helpers/size/inner-width.d.ts +4 -1
- package/types/core/helpers/size/object-size.d.ts +1 -1
- package/types/core/helpers/size/offset.d.ts +4 -1
- package/types/core/helpers/size/position.d.ts +4 -1
- package/types/core/helpers/string/camel-case.d.ts +4 -1
- package/types/core/helpers/string/i18n.d.ts +4 -1
- package/types/core/helpers/string/index.d.ts +4 -1
- package/types/core/helpers/string/kebab-case.d.ts +4 -1
- package/types/core/helpers/string/stringify.d.ts +1 -1
- package/types/core/helpers/string/trim.d.ts +1 -1
- package/types/core/helpers/string/ucfirst.d.ts +4 -1
- package/types/core/helpers/{append-script.d.ts → utils/append-script.d.ts} +5 -2
- package/types/core/helpers/{browser.d.ts → utils/browser.d.ts} +4 -1
- package/types/core/helpers/{build-query.d.ts → utils/build-query.d.ts} +5 -2
- package/types/core/helpers/{complete-url.d.ts → utils/complete-url.d.ts} +4 -1
- package/types/core/helpers/{config-proto.d.ts → utils/config-proto.d.ts} +5 -2
- package/types/core/helpers/{convert-media-url-to-video-embed.d.ts → utils/convert-media-url-to-video-embed.d.ts} +1 -1
- package/types/core/helpers/{css.d.ts → utils/css.d.ts} +5 -2
- package/types/core/helpers/{ctrl-key.d.ts → utils/ctrl-key.d.ts} +4 -1
- package/types/core/helpers/{data-bind.d.ts → utils/data-bind.d.ts} +5 -2
- package/types/core/helpers/{default-language.d.ts → utils/default-language.d.ts} +1 -1
- package/types/core/helpers/{type.d.ts → utils/error.d.ts} +4 -1
- package/types/core/helpers/{extend.d.ts → utils/extend.d.ts} +1 -1
- package/types/core/helpers/utils/get-class-name.d.ts +4 -1
- package/types/core/helpers/utils/get.d.ts +4 -1
- package/types/core/helpers/{human-size-to-bytes.d.ts → utils/human-size-to-bytes.d.ts} +4 -1
- package/types/core/helpers/utils/index.d.ts +21 -1
- package/types/core/helpers/utils/mark-deprecated.d.ts +4 -1
- package/types/core/helpers/{parse-query.d.ts → utils/parse-query.d.ts} +5 -2
- package/types/core/helpers/{scroll-into-view.d.ts → utils/scroll-into-view.d.ts} +4 -1
- package/types/core/helpers/{selector.d.ts → utils/selector.d.ts} +5 -2
- package/types/core/helpers/utils/set.d.ts +4 -1
- package/types/core/helpers/utils/stack.d.ts +4 -1
- package/types/core/helpers/utils/utils.d.ts +4 -1
- package/types/core/helpers/{val.d.ts → utils/val.d.ts} +4 -1
- package/types/core/plugin/index.d.ts +10 -0
- package/types/core/{plugin-system.d.ts → plugin/plugin-system.d.ts} +5 -2
- package/types/core/{plugin.d.ts → plugin/plugin.d.ts} +8 -3
- package/types/core/request/ajax.d.ts +7 -2
- package/types/core/request/config.d.ts +4 -1
- package/types/core/request/index.d.ts +4 -1
- package/types/core/request/response.d.ts +6 -2
- package/types/core/selection/index.d.ts +4 -1
- package/types/core/selection/select.d.ts +6 -1
- package/types/core/selection/style/api/element-has-same-style.d.ts +2 -1
- package/types/core/selection/style/api/extract.d.ts +2 -1
- package/types/core/selection/style/api/finite-state-machine.d.ts +1 -1
- package/types/core/selection/style/api/get-suit-child.d.ts +2 -1
- package/types/core/selection/style/api/get-suit-parent.d.ts +2 -1
- package/types/core/selection/style/api/index.d.ts +1 -1
- package/types/core/selection/style/api/is-inside-invisible-element.d.ts +2 -1
- package/types/core/selection/style/api/is-normal-node.d.ts +2 -1
- package/types/core/selection/style/api/is-suit-element.d.ts +2 -1
- package/types/core/selection/style/api/toggle/toggle-css.d.ts +2 -1
- package/types/core/selection/style/api/toggle/toggle-ordered-list.d.ts +2 -1
- package/types/core/selection/style/api/toggle-commit-styles.d.ts +2 -1
- package/types/core/selection/style/api/unwrap-children.d.ts +2 -1
- package/types/core/selection/style/api/wrap-and-commit-style.d.ts +2 -1
- package/types/core/selection/style/api/wrap-ordered-list.d.ts +2 -1
- package/types/core/selection/style/api/wrap-unwrapped-text.d.ts +2 -1
- package/types/core/selection/style/apply-style.d.ts +4 -1
- package/types/core/selection/style/commit-style.d.ts +4 -1
- package/types/core/storage/engines/local-storage-provider.d.ts +4 -1
- package/types/core/storage/engines/memory-storage-provider.d.ts +4 -1
- package/types/core/storage/index.d.ts +4 -1
- package/types/core/storage/storage.d.ts +6 -1
- package/types/core/traits/elms.d.ts +4 -1
- package/types/core/traits/index.d.ts +4 -1
- package/types/core/traits/mods.d.ts +4 -1
- package/types/core/ui/button/button/button.d.ts +4 -1
- package/types/core/ui/button/group/group.d.ts +5 -2
- package/types/core/ui/button/index.d.ts +6 -1
- package/types/core/ui/element.d.ts +4 -1
- package/types/core/ui/form/block/block.d.ts +5 -2
- package/types/core/ui/form/form.d.ts +7 -2
- package/types/core/ui/form/index.d.ts +4 -1
- package/types/core/ui/form/inputs/area/area.d.ts +4 -1
- package/types/core/ui/form/inputs/checkbox/checkbox.d.ts +4 -1
- package/types/core/ui/form/inputs/file/file.d.ts +4 -1
- package/types/core/ui/form/inputs/index.d.ts +4 -1
- package/types/core/ui/form/inputs/input/input.d.ts +4 -1
- package/types/core/ui/form/inputs/select/select.d.ts +4 -1
- package/types/core/ui/form/validators/index.d.ts +4 -1
- package/types/core/ui/form/validators/input.d.ts +4 -1
- package/types/core/ui/form/validators/select.d.ts +4 -1
- package/types/core/ui/{list → group}/group.d.ts +6 -1
- package/types/core/ui/{list → group}/index.d.ts +4 -1
- package/types/core/ui/{list → group}/list.d.ts +4 -1
- package/types/core/ui/{list → group}/separator.d.ts +4 -1
- package/types/core/ui/{list → group}/spacer.d.ts +4 -1
- package/types/core/ui/helpers/buttons.d.ts +4 -1
- package/types/core/ui/helpers/get-control-type.d.ts +4 -1
- package/types/core/ui/helpers/get-strong-control-types.d.ts +4 -1
- package/types/core/ui/icon.d.ts +4 -1
- package/types/core/ui/index.d.ts +7 -2
- package/types/core/ui/popup/index.d.ts +4 -1
- package/types/core/ui/popup/popup.d.ts +6 -1
- package/types/core/ui/progress-bar/progress-bar.d.ts +6 -1
- package/types/core/view/view-with-toolbar.d.ts +4 -1
- package/types/core/view/view.d.ts +9 -4
- package/types/index.d.ts +6 -1
- package/types/jodit.d.ts +6 -1
- package/types/langs/index.d.ts +6 -1
- package/types/modules/context-menu/context-menu.d.ts +6 -1
- package/types/modules/dialog/alert.d.ts +4 -1
- package/types/modules/dialog/confirm.d.ts +4 -1
- package/types/modules/dialog/dialog.d.ts +4 -1
- package/types/modules/dialog/index.d.ts +6 -1
- package/types/modules/dialog/prompt.d.ts +4 -1
- package/types/modules/file-browser/builders/context-menu.d.ts +6 -3
- package/types/modules/file-browser/builders/item.d.ts +4 -1
- package/types/modules/file-browser/config.d.ts +1 -1
- package/types/modules/file-browser/data-provider.d.ts +4 -1
- package/types/modules/file-browser/factories.d.ts +4 -1
- package/types/modules/file-browser/file-browser.d.ts +10 -4
- package/types/modules/file-browser/index.d.ts +11 -0
- package/types/modules/file-browser/listeners/native-listeners.d.ts +6 -4
- package/types/modules/file-browser/listeners/self-listeners.d.ts +6 -3
- package/types/modules/file-browser/listeners/state-listeners.d.ts +6 -3
- package/types/modules/file-browser/ui/files/files.d.ts +1 -1
- package/types/modules/file-browser/ui/index.d.ts +4 -1
- package/types/modules/file-browser/ui/tree/tree.d.ts +1 -1
- package/types/modules/image-editor/image-editor.d.ts +12 -10
- package/types/modules/image-editor/templates/form.d.ts +4 -1
- package/types/modules/index.d.ts +11 -6
- package/types/modules/observer/command.d.ts +4 -1
- package/types/modules/observer/observer.d.ts +6 -1
- package/types/modules/observer/snapshot.d.ts +4 -1
- package/types/modules/observer/stack.d.ts +4 -1
- package/types/modules/status-bar/status-bar.d.ts +6 -1
- package/types/modules/{table.d.ts → table/table.d.ts} +7 -7
- package/types/modules/toolbar/button/button.d.ts +6 -1
- package/types/modules/toolbar/button/content.d.ts +4 -1
- package/types/modules/toolbar/button/index.d.ts +4 -1
- package/types/modules/toolbar/collection/collection.d.ts +6 -1
- package/types/modules/toolbar/collection/editor-collection.d.ts +4 -1
- package/types/modules/toolbar/factory.d.ts +6 -1
- package/types/modules/uploader/uploader.d.ts +6 -1
- package/types/modules/widget/color-picker/color-picker.d.ts +6 -1
- package/types/modules/widget/file-selector/file-selector.d.ts +6 -1
- package/types/modules/widget/index.d.ts +6 -1
- package/types/modules/widget/tabs/tabs.d.ts +6 -1
- package/types/plugins/about/about.d.ts +4 -1
- package/types/plugins/add-new-line/add-new-line.d.ts +12 -1
- package/types/plugins/{bold.d.ts → bold/bold.d.ts} +6 -3
- package/types/plugins/class-span/class-span.d.ts +4 -1
- package/types/plugins/clipboard/clipboard.d.ts +4 -1
- package/types/plugins/clipboard/config.d.ts +1 -1
- package/types/plugins/clipboard/copy-format.d.ts +4 -1
- package/types/plugins/clipboard/drag-and-drop-element.d.ts +1 -1
- package/types/plugins/clipboard/drag-and-drop.d.ts +1 -1
- package/types/plugins/clipboard/index.d.ts +4 -1
- package/types/plugins/clipboard/paste/helpers.d.ts +4 -1
- package/types/plugins/clipboard/paste/paste.d.ts +4 -1
- package/types/plugins/clipboard/paste-storage/paste-storage.d.ts +4 -1
- package/types/plugins/{color.d.ts → color/color.d.ts} +5 -2
- package/types/plugins/error-messages/error-messages.d.ts +4 -1
- package/types/plugins/fix/clean-html.d.ts +4 -1
- package/types/plugins/fix/wrap-text-nodes.d.ts +4 -1
- package/types/plugins/{focus.d.ts → focus/focus.d.ts} +8 -6
- package/types/plugins/{font.d.ts → font/font.d.ts} +6 -3
- package/types/plugins/{format-block.d.ts → format-block/format-block.d.ts} +5 -2
- package/types/plugins/fullsize/fullsize.d.ts +4 -1
- package/types/plugins/{iframe.d.ts → iframe/iframe.d.ts} +6 -3
- package/types/plugins/image/helpers.d.ts +1 -1
- package/types/plugins/image/image-processor.d.ts +4 -1
- package/types/plugins/image/image-properties/image-properties.d.ts +4 -1
- package/types/plugins/image/image-properties/templates/form.d.ts +4 -1
- package/types/plugins/image/image-properties/templates/index.d.ts +6 -3
- package/types/plugins/image/image-properties/templates/{mainTab.d.ts → main-tab.d.ts} +4 -1
- package/types/plugins/image/image-properties/templates/{positionTab.d.ts → position-tab.d.ts} +4 -1
- package/types/plugins/image/image.d.ts +4 -1
- package/types/plugins/image/index.d.ts +4 -1
- package/types/plugins/{indent.d.ts → indent/indent.d.ts} +6 -3
- package/types/plugins/index.d.ts +22 -17
- package/types/plugins/inline-popup/config/config.d.ts +4 -1
- package/types/plugins/inline-popup/inline-popup.d.ts +4 -1
- package/types/plugins/insert/hr.d.ts +4 -1
- package/types/plugins/insert/index.d.ts +4 -1
- package/types/plugins/{justify.d.ts → justify/justify.d.ts} +5 -2
- package/types/plugins/keyboard/backspace/backspace.d.ts +31 -0
- package/types/plugins/keyboard/backspace/cases/check-join-neighbors.d.ts +10 -0
- package/types/plugins/keyboard/backspace/cases/check-join-two-lists.d.ts +20 -0
- package/types/plugins/keyboard/backspace/cases/check-not-collapsed.d.ts +20 -0
- package/types/plugins/keyboard/backspace/cases/check-remove-char.d.ts +21 -0
- package/types/plugins/keyboard/backspace/cases/check-remove-content-not-editable.d.ts +11 -0
- package/types/plugins/keyboard/backspace/cases/check-remove-empty-neighbor.d.ts +20 -0
- package/types/plugins/keyboard/backspace/cases/check-remove-empty-parent.d.ts +21 -0
- package/types/plugins/keyboard/backspace/cases/check-remove-unbreakable-element.d.ts +21 -0
- package/types/plugins/keyboard/backspace/cases/check-table-cell.d.ts +21 -0
- package/types/plugins/keyboard/backspace/cases/check-unwrap-first-list-item.d.ts +21 -0
- package/types/plugins/keyboard/backspace/cases/index.d.ts +8 -0
- package/types/plugins/keyboard/backspace/config.d.ts +20 -0
- package/types/plugins/keyboard/enter.d.ts +4 -1
- package/types/plugins/keyboard/helpers.d.ts +6 -3
- package/types/plugins/keyboard/hotkeys.d.ts +4 -1
- package/types/plugins/keyboard/key-arrow-outside.d.ts +4 -1
- package/types/plugins/{limit.d.ts → limit/limit.d.ts} +7 -4
- package/types/plugins/link/link.d.ts +4 -1
- package/types/plugins/link/template.d.ts +4 -1
- package/types/plugins/media/file.d.ts +4 -1
- package/types/plugins/media/index.d.ts +4 -1
- package/types/plugins/media/media.d.ts +4 -1
- package/types/plugins/media/video/config.d.ts +1 -1
- package/types/plugins/media/video/index.d.ts +4 -1
- package/types/plugins/{mobile.d.ts → mobile/mobile.d.ts} +6 -3
- package/types/plugins/{ordered-list.d.ts → ordered-list/ordered-list.d.ts} +6 -3
- package/types/plugins/placeholder/placeholder.d.ts +4 -1
- package/types/plugins/{powered-by-jodit.d.ts → powered-by-jodit/powered-by-jodit.d.ts} +9 -3
- package/types/plugins/print/index.d.ts +4 -1
- package/types/plugins/print/preview.d.ts +4 -1
- package/types/plugins/print/print.d.ts +4 -1
- package/types/plugins/{redo-undo.d.ts → redo-undo/redo-undo.d.ts} +6 -3
- package/types/plugins/resizer/resizer.d.ts +4 -1
- package/types/plugins/search/search.d.ts +4 -1
- package/types/plugins/{select.d.ts → select/select.d.ts} +6 -4
- package/types/plugins/size/config.d.ts +5 -0
- package/types/plugins/size/index.d.ts +4 -1
- package/types/plugins/size/resize-handler.d.ts +4 -1
- package/types/plugins/size/size.d.ts +4 -1
- package/types/plugins/source/config.d.ts +16 -3
- package/types/plugins/source/const.d.ts +4 -1
- package/types/plugins/source/editor/engines/ace.d.ts +4 -1
- package/types/plugins/source/editor/engines/area.d.ts +4 -1
- package/types/plugins/source/editor/engines/index.d.ts +4 -1
- package/types/plugins/source/editor/factory.d.ts +5 -2
- package/types/plugins/source/editor/sourceEditor.d.ts +4 -1
- package/types/plugins/source/index.d.ts +6 -1
- package/types/plugins/source/source.d.ts +4 -1
- package/types/plugins/{stat.d.ts → stat/stat.d.ts} +3 -3
- package/types/plugins/sticky/sticky.d.ts +4 -1
- package/types/plugins/symbols/config.d.ts +1 -1
- package/types/plugins/symbols/symbols.d.ts +4 -1
- package/types/plugins/table/config.d.ts +1 -1
- package/types/plugins/table/index.d.ts +4 -1
- package/types/plugins/table/resize-cells.d.ts +4 -1
- package/types/plugins/table/select-cells.d.ts +4 -1
- package/types/plugins/table/table-keyboard-navigation.d.ts +4 -1
- package/types/plugins/table/table.d.ts +4 -1
- package/types/plugins/tooltip/tooltip.d.ts +4 -1
- package/types/plugins/xpath/xpath.d.ts +4 -1
- package/types/styles/icons/index.d.ts +6 -1
- package/types/types/core.d.ts +4 -1
- package/types/types/storage.d.ts +4 -1
- package/types/types/types/ajax.d.ts +8 -1
- package/types/types/types/async.d.ts +7 -1
- package/types/types/types/context.d.ts +5 -1
- package/types/types/types/core.ts +5 -1
- package/types/types/types/create.d.ts +5 -1
- package/types/types/types/dialog.d.ts +5 -1
- package/types/types/types/events.d.ts +9 -5
- package/types/types/types/file-browser.d.ts +21 -5
- package/types/types/types/form.d.ts +5 -1
- package/types/types/types/index.d.ts +6 -2
- package/types/types/types/jodit.d.ts +5 -1
- package/types/types/types/{observe.d.ts → observer.d.ts} +7 -5
- package/types/types/types/plugin.d.ts +5 -1
- package/types/types/types/popup.d.ts +5 -1
- package/types/types/types/select.d.ts +5 -1
- package/types/types/types/source.d.ts +5 -1
- package/types/types/types/storage.ts +5 -1
- package/types/types/types/style.d.ts +5 -1
- package/types/types/types/toolbar.d.ts +5 -1
- package/types/types/types/traits.d.ts +5 -1
- package/types/types/types/types.d.ts +5 -1
- package/types/types/types/ui.d.ts +5 -1
- package/types/types/types/uploader.d.ts +4 -2
- package/types/types/types/view.d.ts +5 -1
- package/src/core/decorators/spy.ts +0 -55
- package/src/core/helpers/each.ts +0 -61
- package/src/plugins/keyboard/delete.ts +0 -768
- package/types/core/helpers/each.d.ts +0 -20
- package/types/plugins/keyboard/delete.d.ts +0 -163
package/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
3
3
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
4
|
-
* Copyright (c) 2013-
|
|
4
|
+
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import type { IComponent, Nullable } from './src/types';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jodit",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.12.2",
|
|
4
4
|
"description": "Jodit is awesome and usefully wysiwyg editor with filebrowser",
|
|
5
5
|
"main": "build/jodit.min.js",
|
|
6
6
|
"types": "./types/index.d.ts",
|
|
@@ -33,8 +33,18 @@
|
|
|
33
33
|
},
|
|
34
34
|
"keywords": [
|
|
35
35
|
"wysiwyg",
|
|
36
|
+
"wysiwyg editor",
|
|
37
|
+
"wysiwyg html editor",
|
|
38
|
+
"rich text",
|
|
39
|
+
"rich editor",
|
|
40
|
+
"rich text editor",
|
|
41
|
+
"html",
|
|
42
|
+
"text",
|
|
36
43
|
"editor",
|
|
37
|
-
"
|
|
44
|
+
"contenteditable",
|
|
45
|
+
"javascript",
|
|
46
|
+
"typescript",
|
|
47
|
+
"vanillajs",
|
|
38
48
|
"jodit"
|
|
39
49
|
],
|
|
40
50
|
"author": "Chupurnov <chupurnov@gmail.com> (https://xdsoft.net/)",
|
|
@@ -82,6 +92,7 @@
|
|
|
82
92
|
"merge-stream": "^2.0.0",
|
|
83
93
|
"mini-css-extract-plugin": "^2.4.3",
|
|
84
94
|
"mocha": "^9.1.3",
|
|
95
|
+
"open": "^8.4.0",
|
|
85
96
|
"postcss": "^8.3.11",
|
|
86
97
|
"postcss-css-variables": "^0.18.0",
|
|
87
98
|
"postcss-loader": "^6.2.0",
|
|
@@ -98,6 +109,7 @@
|
|
|
98
109
|
"ts-loader": "^9.2.6",
|
|
99
110
|
"ts-private-uglifier": "^1.0.2",
|
|
100
111
|
"tslib": "^2.3.1",
|
|
112
|
+
"typedoc": "^0.22.10",
|
|
101
113
|
"typescript": "^4.5.2",
|
|
102
114
|
"url-loader": "^4.1.1",
|
|
103
115
|
"webpack": "^5.59.1",
|
package/src/README.md
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
The Jodit editor consists of modules and plugins. Modules make up the permanent basis of the editor's work,
|
|
2
|
+
and plugins can add their own functionality [[plugin]].
|
|
3
|
+
|
|
4
|
+
The editor is initialized on a DOM element. It must already exist on the page:
|
|
5
|
+
|
|
6
|
+
```js
|
|
7
|
+
Jodit.make('#editor');
|
|
8
|
+
```
|
|
9
|
+
You can also set a DOM element right away.
|
|
10
|
+
|
|
11
|
+
```js
|
|
12
|
+
const elm = document.querySelector('#editor');
|
|
13
|
+
Jodit.make(elm);
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
The [[Jodit.make]] method returns an instance of [[Jodit]].
|
|
17
|
+
|
|
18
|
+
```js
|
|
19
|
+
const jodit = Jodit.make('#editor');
|
|
20
|
+
console.log(jodit.isReady)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
This is almost equivalent to
|
|
24
|
+
|
|
25
|
+
```js
|
|
26
|
+
const jodit = new Jodit('#editor');
|
|
27
|
+
console.log(jodit.isReady)
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
> But the `make` method is preferable.
|
|
31
|
+
|
|
32
|
+
All customization of the editor is done through the [[Config]]:
|
|
33
|
+
|
|
34
|
+
```js
|
|
35
|
+
Jodit.make('#editor', {
|
|
36
|
+
height: 300
|
|
37
|
+
});
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Jodit instance has a module [[EventEmitter]]
|
|
41
|
+
|
|
42
|
+
```js
|
|
43
|
+
const jodit = Jodit.make('#editor');
|
|
44
|
+
jodit.events.on('keydown', (e) => {
|
|
45
|
+
console.log(e.key)
|
|
46
|
+
})
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
And the [[Select]] module, which allows you to manipulate the content of the editor through HTML insertion
|
|
50
|
+
|
|
51
|
+
```js
|
|
52
|
+
const jodit = Jodit.make('#editor');
|
|
53
|
+
jodit.s.focus()
|
|
54
|
+
jodit.s.insertHTML('<p>test</p>')
|
|
55
|
+
```
|
package/src/config.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
3
3
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
4
|
-
* Copyright (c) 2013-
|
|
4
|
+
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @module config
|
|
5
9
|
*/
|
|
6
10
|
|
|
7
11
|
import type {
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
The module is designed to work with asynchronous operations inside the editor.
|
|
2
|
+
|
|
3
|
+
## Why
|
|
4
|
+
|
|
5
|
+
Jodit editor can be created, deleted and re-created. All asynchronous operations should be destroyed along with it.
|
|
6
|
+
|
|
7
|
+
If, for example, do this:
|
|
8
|
+
|
|
9
|
+
```js
|
|
10
|
+
const jodit = Jodit.make('#editor');
|
|
11
|
+
setTimeout(() => {
|
|
12
|
+
jodit.e.on('change', () => console.log(jodit.value));
|
|
13
|
+
}, 1000);
|
|
14
|
+
jodit.destruct();
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
This kind of code will throw an error. At the moment the function is called, the editor will already be destructed.
|
|
18
|
+
You can independently monitor such operations.
|
|
19
|
+
|
|
20
|
+
For example like this:
|
|
21
|
+
|
|
22
|
+
```js
|
|
23
|
+
const timeout = setTimeout(() => {
|
|
24
|
+
jodit.e.on('change', () => console.log(jodit.value));
|
|
25
|
+
}, 1000);
|
|
26
|
+
jodit.e.on('beforeDestroy', () => clearTimeout(timeout));
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Then there will be no error. But such code is error-prone, and you can often forget about a process.
|
|
30
|
+
Therefore, the `Async` module was written. The module is intended for any kind of asynchronous operation in Jodit.
|
|
31
|
+
It keeps track of its handlers, and when the parent class (Jodit) is destroyed, it will clear all threads.
|
|
32
|
+
|
|
33
|
+
## Timeout/ClearTimeout
|
|
34
|
+
|
|
35
|
+
For example, the code above will work without problems like this:
|
|
36
|
+
|
|
37
|
+
```js
|
|
38
|
+
jodit.async.setTimeout(() => {
|
|
39
|
+
jodit.e.on('change', () => console.log(jodit.value));
|
|
40
|
+
}, 1000);
|
|
41
|
+
jodit.destruct();
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
You can also clean up the execution of this handler yourself.
|
|
45
|
+
|
|
46
|
+
```js
|
|
47
|
+
const timeout = jodit.async.setTimeout(() => {}, 1000);
|
|
48
|
+
jodit.async.clearTimeout(timeout);
|
|
49
|
+
jodit.destruct();
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
But this is not necessary. When `jodit.destruct ()` is called, all asynchronous operations bound to this editor will be stopped.
|
|
53
|
+
|
|
54
|
+
## Promise
|
|
55
|
+
|
|
56
|
+
Another advantage of the module is working with promises. Promises, as well as times, can work out after the editor is destroyed.
|
|
57
|
+
|
|
58
|
+
```js
|
|
59
|
+
new Promise(result => {
|
|
60
|
+
fetch('index.php').then(result);
|
|
61
|
+
}).then(data => {
|
|
62
|
+
//here Jodit is already destroyed
|
|
63
|
+
jodit.setEditorValue(data); // Error
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
jodit.destruct();
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
To prevent this from happening, it is better to do all operations with promises via async:
|
|
70
|
+
|
|
71
|
+
```js
|
|
72
|
+
jodit.async
|
|
73
|
+
.promise(result => {
|
|
74
|
+
fetch('index.php').then(result);
|
|
75
|
+
})
|
|
76
|
+
.then(data => {
|
|
77
|
+
// This handler will no longer be executed
|
|
78
|
+
jodit.setEditorValue(data);
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
jodit.destruct();
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## debounce/throttle
|
|
85
|
+
|
|
86
|
+
Two convenient methods for well-known operations:
|
|
87
|
+
|
|
88
|
+
```js
|
|
89
|
+
const a = jodit.async.debounce(() => {
|
|
90
|
+
console.log('A');
|
|
91
|
+
}, 100);
|
|
92
|
+
a();
|
|
93
|
+
// timeout 50mc
|
|
94
|
+
a();
|
|
95
|
+
// timeout 50mc
|
|
96
|
+
a();
|
|
97
|
+
a();
|
|
98
|
+
// timeout 50mc
|
|
99
|
+
a();
|
|
100
|
+
a();
|
|
101
|
+
// timeout 50mc
|
|
102
|
+
a(); // A
|
|
103
|
+
a();
|
|
104
|
+
// timeout 150mc
|
|
105
|
+
a(); // A
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
The code will be executed only once if the calls occurred more often than 100ms.
|
|
109
|
+
|
|
110
|
+
```js
|
|
111
|
+
const b = jodit.async.throttle(() => {
|
|
112
|
+
console.log('B');
|
|
113
|
+
}, 100);
|
|
114
|
+
a();
|
|
115
|
+
// timeout 50mc
|
|
116
|
+
a();
|
|
117
|
+
// timeout 50mc
|
|
118
|
+
a(); // B
|
|
119
|
+
a();
|
|
120
|
+
// timeout 50mc
|
|
121
|
+
a();
|
|
122
|
+
// timeout 50mc
|
|
123
|
+
a(); // B
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
The code will be executed once per 100ms. If the method is called 100 times in one second, then it will only execute 10 of them on its body.
|
|
127
|
+
|
|
128
|
+
## delay
|
|
129
|
+
|
|
130
|
+
The method allows you to interrupt the execution of the script for n ms
|
|
131
|
+
|
|
132
|
+
```js
|
|
133
|
+
async function Run() {
|
|
134
|
+
console.log('A');
|
|
135
|
+
await jodit.async.delay(1000); // 1 sec
|
|
136
|
+
console.log('B');
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## clear
|
|
141
|
+
|
|
142
|
+
You yourself can remove all asynchronous editor operations without waiting for destructuring:
|
|
143
|
+
|
|
144
|
+
```js
|
|
145
|
+
jodit.async.setTimeout(() => alert('Hello'), 1000);
|
|
146
|
+
jodit.async.clear();
|
|
147
|
+
```
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
3
3
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
4
|
-
* Copyright (c) 2013-
|
|
4
|
+
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* [[include:core/async/README.md]]
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
* @module async
|
|
5
11
|
*/
|
|
6
12
|
|
|
7
13
|
import type {
|
|
@@ -10,7 +16,7 @@ import type {
|
|
|
10
16
|
IAsyncParams,
|
|
11
17
|
ITimeout,
|
|
12
18
|
RejectablePromise
|
|
13
|
-
} from '
|
|
19
|
+
} from '../../types';
|
|
14
20
|
import {
|
|
15
21
|
setTimeout,
|
|
16
22
|
clearTimeout,
|
|
@@ -19,11 +25,15 @@ import {
|
|
|
19
25
|
isPromise,
|
|
20
26
|
isString,
|
|
21
27
|
isNumber
|
|
22
|
-
} from '
|
|
28
|
+
} from '../helpers/';
|
|
23
29
|
|
|
24
30
|
export class Async implements IAsync {
|
|
25
31
|
private timers: Map<number | string | Function, number> = new Map();
|
|
26
32
|
|
|
33
|
+
delay(timeout: number | IAsyncParams): RejectablePromise<void> {
|
|
34
|
+
return this.promise(resolve => this.setTimeout(resolve, timeout));
|
|
35
|
+
}
|
|
36
|
+
|
|
27
37
|
setTimeout(
|
|
28
38
|
callback: (...args: any[]) => void,
|
|
29
39
|
timeout: number | IAsyncParams,
|
|
@@ -77,11 +87,10 @@ export class Async implements IAsync {
|
|
|
77
87
|
* @example
|
|
78
88
|
* ```javascript
|
|
79
89
|
* var jodit = new Jodit('.editor');
|
|
80
|
-
*
|
|
81
|
-
*
|
|
90
|
+
* jodit.e.on('mousemove', jodit.async.debounce(() => {
|
|
91
|
+
* // Do expensive things
|
|
82
92
|
* }, 100));
|
|
83
93
|
* ```
|
|
84
|
-
*
|
|
85
94
|
*/
|
|
86
95
|
debounce(
|
|
87
96
|
fn: CallbackFunction,
|
|
@@ -152,7 +161,7 @@ export class Async implements IAsync {
|
|
|
152
161
|
* ```javascript
|
|
153
162
|
* var jodit = new Jodit('.editor');
|
|
154
163
|
* jodit.e.on(document.body, 'scroll', jodit.async.throttle(function() {
|
|
155
|
-
*
|
|
164
|
+
* // Do expensive things
|
|
156
165
|
* }, 100));
|
|
157
166
|
* ```
|
|
158
167
|
*/
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
3
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
4
|
+
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @module async
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
export * from './async';
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
Every Jodit element inherits from [[Component]], and implements the [[IComponent]] interface accordingly.
|
|
2
|
+
|
|
3
|
+
Such elements have a name
|
|
4
|
+
|
|
5
|
+
```js
|
|
6
|
+
const jodit = Jodit.male('#editor');
|
|
7
|
+
console.log(jodit.componentName)
|
|
8
|
+
console.log(jodit.statusbar.componentName)
|
|
9
|
+
console.log(jodit.filebrowser.componentName)
|
|
10
|
+
console.log(jodit.uploader.componentName)
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
And also each component has its current [[STATUSES | status]]:
|
|
14
|
+
|
|
15
|
+
```js
|
|
16
|
+
const jodit = Jodit.male('#editor');
|
|
17
|
+
console.log(jodit.componentStatus)
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
You can work on changes in the status of a component through the decorator [[decorators/hook]]
|
|
21
|
+
either through the method [[Component.prototype.hookStatus]]
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
import { Component } from 'jodit/src/core/component'
|
|
25
|
+
|
|
26
|
+
export class SomeComponent extends Component {}
|
|
27
|
+
const cmp = new SomeComponent();
|
|
28
|
+
|
|
29
|
+
cmp.hookStatus('ready', () => {
|
|
30
|
+
console.log('Hello world on ready = )')
|
|
31
|
+
})
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
To set the status, it is enough to call the method [[Component.prototype.setStatus]]
|
|
35
|
+
|
|
36
|
+
```ts
|
|
37
|
+
import { Component } from 'jodit/src/core/component'
|
|
38
|
+
|
|
39
|
+
export class SomeComponent extends Component {}
|
|
40
|
+
const cmp = new SomeComponent();
|
|
41
|
+
cmp.setStatus('ready')
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
The component itself can automatically set the ready status:
|
|
45
|
+
|
|
46
|
+
```ts
|
|
47
|
+
import type { IJodit } from 'jodit/src/types'
|
|
48
|
+
import { Component } from 'jodit/src/core/component'
|
|
49
|
+
|
|
50
|
+
export class SomeComponent extends Component {
|
|
51
|
+
constructor(jodit: IJodit) {
|
|
52
|
+
super(jodit);
|
|
53
|
+
cmp.setStatus('ready')
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const cmp = new SomeComponent();
|
|
58
|
+
console.log(cmp.isReady)
|
|
59
|
+
```
|
|
60
|
+
But it’s better not to do this, because with inheritance, such a component will be “ready” ahead of time:
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
import type { IJodit, IStatusBar } from 'jodit/src/types'
|
|
64
|
+
import { Component } from 'jodit/src/core/component'
|
|
65
|
+
import { StatusBar } from 'jodit/src/modules';
|
|
66
|
+
|
|
67
|
+
export class SomeComponent extends Component {
|
|
68
|
+
constructor(jodit: IJodit) {
|
|
69
|
+
super(jodit);
|
|
70
|
+
cmp.setStatus('ready')
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export class SomeAnotherComponent extends SomeComponent {
|
|
75
|
+
public status: IStatusBar;
|
|
76
|
+
|
|
77
|
+
constructor(jodit: IJodit) {
|
|
78
|
+
super(jodit);
|
|
79
|
+
console.log(this.isReady) // true
|
|
80
|
+
// Errors are possible here, since the status of the component is already 'ready' but you have not yet initialized its fields
|
|
81
|
+
this.status = new StatusBar(jodit)
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Therefore, it is better to use a decorator [[core/decorators/component]]
|
|
87
|
+
|
|
88
|
+
```ts
|
|
89
|
+
import type { IJodit, IStatusBar } from 'jodit/src/types'
|
|
90
|
+
import { Component } from 'jodit/src/core/component'
|
|
91
|
+
import { StatusBar } from 'jodit/src/modules';
|
|
92
|
+
import { component } from 'jodit/src/core/decorators';
|
|
93
|
+
|
|
94
|
+
@component()
|
|
95
|
+
export class SomeComponent extends Component {}
|
|
96
|
+
|
|
97
|
+
@component()
|
|
98
|
+
export class SomeAnotherComponent extends SomeComponent {
|
|
99
|
+
public status: IStatusBar;
|
|
100
|
+
|
|
101
|
+
constructor(jodit: IJodit) {
|
|
102
|
+
super(jodit);
|
|
103
|
+
console.log(this.isReady) // false
|
|
104
|
+
this.status = new StatusBar(jodit)
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
const cmp = new SomeAnotherComponent();
|
|
109
|
+
console.log(cmp.isReady) // true
|
|
110
|
+
```
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
3
3
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
4
|
-
* Copyright (c) 2013-
|
|
4
|
+
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* [[include:core/component/README.md]]
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
* @module component
|
|
5
11
|
*/
|
|
6
12
|
|
|
7
13
|
import type {
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
3
3
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
4
|
-
* Copyright (c) 2013-
|
|
4
|
+
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @module component
|
|
5
9
|
*/
|
|
6
10
|
|
|
7
11
|
export * from './statuses';
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
3
3
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
4
|
-
* Copyright (c) 2013-
|
|
4
|
+
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @module component
|
|
5
9
|
*/
|
|
6
10
|
|
|
7
11
|
export const STATUSES = {
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
3
3
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
4
|
-
* Copyright (c) 2013-
|
|
4
|
+
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @module component
|
|
5
9
|
*/
|
|
6
10
|
|
|
7
11
|
import type { IViewBased, IViewComponent } from '../../types';
|
package/src/core/constants.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
3
3
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
4
|
-
* Copyright (c) 2013-
|
|
4
|
+
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @module constants
|
|
5
9
|
*/
|
|
6
10
|
|
|
7
11
|
import type { IDictionary } from '../types';
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
Every internal DOM node of both the editor interface and the editor content itself must be created through this module.
|
|
2
|
+
This is due to the fact that the interface can be shown in an iframe, or another window.
|
|
3
|
+
And in this case, you need to create its elements using the document from this window.
|
|
4
|
+
In order not to worry about it yourself, this module was created.
|
|
5
|
+
|
|
6
|
+
For example, we initialize the editor in iframe mode:
|
|
7
|
+
|
|
8
|
+
```js
|
|
9
|
+
const jodit = Jodit.make('#editor', { iframe: true });
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
In this case, in plugins, to insert a value, you would have to write the following construction:
|
|
13
|
+
|
|
14
|
+
```js
|
|
15
|
+
const p = jodit.iframe.contentWindow.document.createElement('p');
|
|
16
|
+
jodit.s.insertNode(p);
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
In order not to think about it, the [[IJodit]] interface has a field [[Jodit.createInside]] and [[Jodit.create]].
|
|
20
|
+
Both fields are [[ICreate]] instances, but the first should be used for creating elements inside the editor.
|
|
21
|
+
And the second is for the editor interface.
|
|
22
|
+
|
|
23
|
+
The previous example, regardless of the operating mode, will be like this:
|
|
24
|
+
|
|
25
|
+
```js
|
|
26
|
+
const p = jodit.createInside.element('p');
|
|
27
|
+
jodit.s.insertNode(p);
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
This method of creating DOM elements has one more advantage, you can add the option [[Config.createAttributes]]
|
|
31
|
+
And then, for each created element, the attributes you specified will already be set:
|
|
32
|
+
|
|
33
|
+
```js
|
|
34
|
+
const jodit = Jodit.make('#editor', {
|
|
35
|
+
createAttributes: {
|
|
36
|
+
p: {
|
|
37
|
+
style: 'color: red'
|
|
38
|
+
},
|
|
39
|
+
a: a => {
|
|
40
|
+
a.title = 'Some title';
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
const p = jodit.createInside.element('p');
|
|
46
|
+
console.log(p.style.cssText) // color: red
|
|
47
|
+
|
|
48
|
+
const a = jodit.createInside.element('a');
|
|
49
|
+
console.log(a.title) // Some title
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
To create DOM elements from text, you should also use this module:
|
|
53
|
+
|
|
54
|
+
```js
|
|
55
|
+
const p = jodit.createInside.fromHTML('<p>text</p>');
|
|
56
|
+
jodit.s.insertNode(p);
|
|
57
|
+
```
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
3
3
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
4
|
-
* Copyright (c) 2013-
|
|
4
|
+
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* [[include:core/create/README.md]]
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
* @module create
|
|
5
11
|
*/
|
|
6
12
|
|
|
7
13
|
import type {
|
|
@@ -11,7 +17,7 @@ import type {
|
|
|
11
17
|
ICreate,
|
|
12
18
|
CanUndef,
|
|
13
19
|
NodeFunction
|
|
14
|
-
} from '
|
|
20
|
+
} from '../../types';
|
|
15
21
|
|
|
16
22
|
import {
|
|
17
23
|
isPlainObject,
|
|
@@ -20,10 +26,10 @@ import {
|
|
|
20
26
|
refs,
|
|
21
27
|
isString,
|
|
22
28
|
attr
|
|
23
|
-
} from '
|
|
29
|
+
} from '../helpers/';
|
|
24
30
|
|
|
25
|
-
import { Dom } from '
|
|
26
|
-
import { INVISIBLE_SPACE } from '
|
|
31
|
+
import { Dom } from '../dom';
|
|
32
|
+
import { INVISIBLE_SPACE } from '../constants';
|
|
27
33
|
|
|
28
34
|
export class Create implements ICreate {
|
|
29
35
|
private get doc(): Document {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
3
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
4
|
+
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @module create
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
export * from './create';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
The decorator allows you to cache the result of executing any method of the UI component.
|
|
2
|
+
|
|
3
|
+
```typescript
|
|
4
|
+
@component()
|
|
5
|
+
class UIComponent extends UIElement {
|
|
6
|
+
@cache()
|
|
7
|
+
someHeavyMethod(param1, param2) {
|
|
8
|
+
return someHeaveCalculation(param1, param2);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const elm = new UIComponent(jodit);
|
|
13
|
+
elm.someHeavyMethod(1, 2);
|
|
14
|
+
elm.someHeavyMethod(1, 2);
|
|
15
|
+
elm.someHeavyMethod(1, 2); // someHeaveCalculation will execute only once
|
|
16
|
+
elm.someHeavyMethod(2, 2); // someHeaveCalculation will execute again
|
|
17
|
+
```
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
3
3
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
4
|
-
* Copyright (c) 2013-
|
|
4
|
+
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
/**
|
|
8
|
+
* [[include:core/decorators/cache/README.md]]
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
* @module decorators/cache
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { error } from '../../helpers';
|
|
14
|
+
import type { IDictionary } from '../../../types';
|
|
9
15
|
|
|
10
16
|
export interface CachePropertyDescriptor<T, R> extends PropertyDescriptor {
|
|
11
17
|
get?: (this: T) => R;
|