jodit 3.12.3 → 3.13.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/.idea/stylesheetLinters/stylelint.xml +6 -0
- package/.idea/workspace.xml +306 -288
- package/CHANGELOG.MD +82 -10
- package/README.md +107 -78
- package/build/jodit.css +112 -70
- package/build/jodit.es2018.css +107 -64
- package/build/jodit.es2018.en.css +107 -64
- package/build/jodit.es2018.en.js +1065 -892
- package/build/jodit.es2018.en.min.css +1 -1
- package/build/jodit.es2018.en.min.js +1 -1
- package/build/jodit.es2018.js +1101 -928
- package/build/jodit.es2018.min.css +1 -1
- package/build/jodit.es2018.min.js +1 -1
- package/build/jodit.js +4886 -2306
- package/build/jodit.min.css +2 -2
- package/build/jodit.min.js +1 -1
- package/index.html +1 -0
- package/package.json +35 -35
- package/src/config.ts +18 -0
- package/src/core/async/async.ts +2 -2
- package/src/core/component/README.md +2 -2
- package/src/core/component/component.ts +16 -6
- package/src/core/component/view-component.ts +1 -1
- package/src/core/constants.ts +45 -1
- package/src/core/create/create.ts +4 -4
- package/src/core/decorators/cache/cache.ts +2 -2
- package/src/core/decorators/component/component.ts +1 -1
- package/src/core/decorators/debounce/debounce.ts +4 -4
- package/src/core/decorators/hook/hook.ts +4 -4
- package/src/core/decorators/idle/idle.ts +3 -3
- package/src/core/decorators/persistent/persistent.ts +3 -3
- package/src/core/decorators/wait/wait.ts +3 -3
- package/src/core/decorators/watch/watch.ts +48 -45
- package/src/core/dom/README.md +2 -0
- package/src/core/dom/dom.ts +5 -5
- package/src/core/event-emitter/event-emitter.ts +5 -5
- package/src/core/event-emitter/index.ts +1 -1
- package/src/core/event-emitter/observable.ts +192 -0
- package/src/core/event-emitter/store.ts +1 -1
- package/src/core/global.ts +1 -1
- package/src/core/helpers/README.md +31 -1
- package/src/core/helpers/checker/is-equal.ts +1 -1
- package/src/core/helpers/checker/is-imp-interface.ts +2 -2
- package/src/core/helpers/checker/is-jodit-object.ts +1 -1
- package/src/core/helpers/checker/is-plain-object.ts +1 -1
- package/src/core/helpers/html/apply-styles.ts +2 -2
- package/src/core/helpers/html/clean-from-word.ts +3 -3
- package/src/core/helpers/html/nl2br.ts +1 -1
- package/src/core/helpers/html/strip-tags.ts +5 -5
- package/src/core/helpers/normalize/normalize-key-aliases.ts +3 -3
- package/src/core/helpers/normalize/normalize-node.ts +2 -2
- package/src/core/helpers/size/get-scroll-parent.ts +3 -3
- package/src/core/helpers/size/object-size.ts +1 -1
- package/src/core/helpers/size/offset.ts +1 -1
- package/src/core/helpers/size/position.ts +1 -1
- package/src/core/helpers/string/i18n.ts +10 -6
- package/src/core/helpers/string/stringify.ts +1 -1
- package/src/core/helpers/string/trim.ts +1 -1
- package/src/core/helpers/utils/append-script.ts +1 -1
- package/src/core/helpers/utils/assert.ts +25 -0
- package/src/core/helpers/utils/build-query.ts +1 -1
- package/src/core/helpers/utils/config-proto.ts +2 -2
- package/src/core/helpers/utils/css.ts +1 -1
- package/src/core/helpers/utils/data-bind.ts +2 -2
- package/src/core/helpers/utils/get-class-name.ts +1 -1
- package/src/core/helpers/utils/get.ts +1 -1
- package/src/core/helpers/utils/index.ts +1 -0
- package/src/core/helpers/utils/parse-query.ts +1 -1
- package/src/core/helpers/utils/selector.ts +8 -9
- package/src/core/helpers/utils/set.ts +1 -1
- package/src/core/helpers/utils/stack.ts +1 -1
- package/src/core/helpers/utils/utils.ts +1 -1
- package/src/core/plugin/README.md +13 -0
- package/src/core/plugin/plugin-system.ts +58 -17
- package/src/core/plugin/plugin.ts +3 -3
- package/src/core/request/ajax.ts +3 -3
- package/src/core/request/config.ts +3 -3
- package/src/core/request/response.ts +1 -1
- package/src/core/selection/select.ts +6 -6
- package/src/core/selection/style/api/element-has-same-style.ts +3 -3
- package/src/core/selection/style/api/extract.ts +3 -3
- package/src/core/selection/style/api/finite-state-machine.ts +1 -1
- package/src/core/selection/style/api/get-suit-child.ts +2 -2
- package/src/core/selection/style/api/get-suit-parent.ts +2 -2
- package/src/core/selection/style/api/is-inside-invisible-element.ts +1 -1
- package/src/core/selection/style/api/is-normal-node.ts +2 -2
- package/src/core/selection/style/api/is-suit-element.ts +3 -3
- package/src/core/selection/style/api/toggle/toggle-css.ts +6 -6
- package/src/core/selection/style/api/toggle/toggle-ordered-list.ts +2 -2
- package/src/core/selection/style/api/toggle-commit-styles.ts +1 -1
- package/src/core/selection/style/api/unwrap-children.ts +3 -3
- package/src/core/selection/style/api/wrap-and-commit-style.ts +3 -3
- package/src/core/selection/style/api/wrap-ordered-list.ts +2 -2
- package/src/core/selection/style/api/wrap-unwrapped-text.ts +2 -2
- package/src/core/selection/style/apply-style.ts +3 -3
- package/src/core/selection/style/commit-style.ts +2 -2
- package/src/core/storage/engines/local-storage-provider.ts +1 -5
- package/src/core/storage/engines/memory-storage-provider.ts +1 -1
- package/src/core/storage/storage.ts +1 -1
- package/src/core/traits/elms.ts +6 -7
- package/src/core/traits/mods.ts +11 -14
- package/src/core/ui/button/button/button.ts +8 -8
- package/src/core/ui/button/group/group.ts +6 -3
- package/src/core/ui/element.ts +12 -12
- package/src/core/ui/form/block/block.ts +4 -4
- package/src/core/ui/form/form.ts +4 -5
- package/src/core/ui/form/inputs/area/area.ts +3 -3
- package/src/core/ui/form/inputs/checkbox/checkbox.ts +5 -5
- package/src/core/ui/form/inputs/file/file.ts +4 -4
- package/src/core/ui/form/inputs/input/input.ts +8 -8
- package/src/core/ui/form/inputs/select/select.ts +8 -5
- package/src/core/ui/form/validators/input.ts +2 -2
- package/src/core/ui/form/validators/select.ts +2 -2
- package/src/core/ui/group/group.ts +8 -6
- package/src/core/ui/group/list.less +1 -1
- package/src/core/ui/group/list.ts +15 -11
- package/src/core/ui/group/separator.ts +3 -4
- package/src/core/ui/group/spacer.ts +3 -3
- package/src/core/ui/helpers/buttons.ts +2 -2
- package/src/core/ui/helpers/get-control-type.ts +3 -3
- package/src/core/ui/helpers/get-strong-control-types.ts +4 -4
- package/src/core/ui/icon.ts +2 -2
- package/src/core/ui/popup/popup.ts +7 -7
- package/src/core/ui/progress-bar/progress-bar.ts +2 -2
- package/src/core/view/view-with-toolbar.ts +5 -5
- package/src/core/view/view.ts +6 -6
- package/src/langs/README.md +124 -1
- package/src/langs/index.ts +1 -1
- package/src/modules/context-menu/context-menu.less +1 -1
- package/src/modules/context-menu/context-menu.ts +4 -4
- package/src/modules/dialog/alert.ts +3 -3
- package/src/modules/dialog/confirm.ts +3 -3
- package/src/modules/dialog/dialog.less +5 -0
- package/src/modules/dialog/dialog.ts +49 -32
- package/src/modules/dialog/prompt.ts +3 -3
- package/src/modules/file-browser/builders/context-menu.ts +22 -14
- package/src/modules/file-browser/builders/elements-map.ts +31 -0
- package/src/modules/file-browser/builders/item.ts +2 -2
- package/src/modules/file-browser/config.ts +5 -5
- package/src/modules/file-browser/data-provider.ts +5 -5
- package/src/modules/file-browser/factories.ts +1 -1
- package/src/modules/file-browser/fetch/delete-file.ts +27 -0
- package/src/modules/file-browser/fetch/load-items.ts +32 -0
- package/src/modules/file-browser/fetch/load-tree.ts +49 -0
- package/src/modules/file-browser/file-browser.ts +59 -120
- package/src/modules/file-browser/listeners/native-listeners.ts +14 -14
- package/src/modules/file-browser/listeners/self-listeners.ts +23 -18
- package/src/modules/file-browser/listeners/state-listeners.ts +17 -12
- package/src/modules/file-browser/styles/file-browser.less +24 -18
- package/src/modules/file-browser/ui/files/files.less +5 -0
- package/src/modules/file-browser/ui/files/files.ts +1 -1
- package/src/modules/file-browser/ui/tree/tree.less +16 -6
- package/src/modules/file-browser/ui/tree/tree.ts +1 -1
- package/src/modules/image-editor/image-editor.ts +9 -52
- package/src/modules/image-editor/templates/form.ts +4 -4
- package/src/modules/observer/command.ts +1 -1
- package/src/modules/observer/observer.ts +5 -5
- package/src/modules/observer/snapshot.ts +3 -3
- package/src/modules/observer/stack.ts +1 -1
- package/src/modules/status-bar/status-bar.ts +7 -7
- package/src/modules/table/table.ts +8 -8
- package/src/modules/toolbar/button/button.less +1 -1
- package/src/modules/toolbar/button/button.ts +57 -15
- package/src/modules/toolbar/button/content.less +1 -1
- package/src/modules/toolbar/button/content.ts +5 -5
- package/src/modules/toolbar/collection/collection.less +1 -1
- package/src/modules/toolbar/collection/collection.ts +5 -31
- package/src/modules/toolbar/collection/editor-collection.ts +5 -9
- package/src/modules/toolbar/factory.ts +2 -2
- package/src/modules/uploader/uploader.ts +9 -9
- package/src/modules/widget/color-picker/color-picker.ts +4 -4
- package/src/modules/widget/file-selector/file-selector.ts +4 -4
- package/src/modules/widget/tabs/tabs.ts +3 -3
- package/src/plugins/about/about.ts +5 -5
- package/src/plugins/add-new-line/add-new-line.ts +5 -5
- package/src/plugins/bold/bold.ts +3 -3
- package/src/plugins/class-span/class-span.ts +5 -5
- package/src/plugins/clipboard/clipboard.ts +4 -4
- package/src/plugins/clipboard/config.ts +29 -5
- package/src/plugins/clipboard/copy-format.ts +4 -4
- package/src/plugins/clipboard/drag-and-drop-element.ts +6 -6
- package/src/plugins/clipboard/drag-and-drop.ts +7 -7
- package/src/plugins/clipboard/paste/CHANGELOG.md +17 -0
- package/src/plugins/clipboard/paste/README.md +8 -0
- package/src/plugins/clipboard/paste/helpers.ts +5 -5
- package/src/plugins/clipboard/paste/paste.ts +24 -20
- package/src/plugins/clipboard/paste-storage/paste-storage.ts +6 -6
- package/src/plugins/color/color.ts +5 -5
- package/src/plugins/error-messages/error-messages.ts +5 -5
- package/src/plugins/fix/clean-html.ts +10 -10
- package/src/plugins/fix/wrap-text-nodes.ts +5 -5
- package/src/plugins/focus/focus.ts +4 -4
- package/src/plugins/font/font.ts +5 -5
- package/src/plugins/format-block/CHANGELOG.md +16 -0
- package/src/plugins/format-block/README.md +40 -0
- package/src/plugins/format-block/format-block.ts +8 -5
- package/src/plugins/fullsize/fullsize.ts +5 -5
- package/src/plugins/iframe/iframe.ts +6 -6
- package/src/plugins/image/helpers.ts +1 -1
- package/src/plugins/image/image-processor.ts +2 -2
- package/src/plugins/image/image-properties/image-properties.ts +12 -9
- package/src/plugins/image/image-properties/templates/form.ts +1 -1
- package/src/plugins/image/image-properties/templates/main-tab.ts +1 -1
- package/src/plugins/image/image-properties/templates/position-tab.ts +1 -1
- package/src/plugins/image/image.ts +5 -5
- package/src/plugins/indent/indent.ts +6 -6
- package/src/plugins/inline-popup/config/config.ts +3 -3
- package/src/plugins/inline-popup/config/items/a.ts +1 -1
- package/src/plugins/inline-popup/config/items/cells.ts +1 -1
- package/src/plugins/inline-popup/config/items/iframe.ts +1 -1
- package/src/plugins/inline-popup/config/items/img.ts +1 -1
- package/src/plugins/inline-popup/inline-popup.ts +6 -6
- package/src/plugins/insert/hr.ts +3 -3
- package/src/plugins/justify/justify.ts +4 -4
- package/src/plugins/keyboard/backspace/backspace.ts +6 -6
- package/src/plugins/keyboard/backspace/cases/check-join-neighbors.ts +3 -3
- package/src/plugins/keyboard/backspace/cases/check-join-two-lists.ts +1 -1
- package/src/plugins/keyboard/backspace/cases/check-not-collapsed.ts +1 -1
- package/src/plugins/keyboard/backspace/cases/check-remove-char.ts +9 -6
- package/src/plugins/keyboard/backspace/cases/check-remove-content-not-editable.ts +4 -4
- package/src/plugins/keyboard/backspace/cases/check-remove-empty-neighbor.ts +3 -3
- package/src/plugins/keyboard/backspace/cases/check-remove-empty-parent.ts +5 -5
- package/src/plugins/keyboard/backspace/cases/check-remove-unbreakable-element.ts +1 -1
- package/src/plugins/keyboard/backspace/cases/check-table-cell.ts +1 -1
- package/src/plugins/keyboard/backspace/cases/check-unwrap-first-list-item.ts +3 -3
- package/src/plugins/keyboard/backspace/config.ts +2 -2
- package/src/plugins/keyboard/enter.ts +6 -6
- package/src/plugins/keyboard/helpers.ts +5 -5
- package/src/plugins/keyboard/hotkeys.ts +6 -6
- package/src/plugins/keyboard/key-arrow-outside.ts +5 -5
- package/src/plugins/limit/limit.ts +7 -7
- package/src/plugins/link/link.ts +7 -7
- package/src/plugins/link/template.ts +3 -3
- package/src/plugins/media/file.ts +4 -4
- package/src/plugins/media/media.ts +6 -6
- package/src/plugins/media/video/config.ts +6 -6
- package/src/plugins/media/video/index.ts +1 -1
- package/src/plugins/mobile/mobile.ts +9 -9
- package/src/plugins/ordered-list/ordered-list.ts +6 -6
- package/src/plugins/placeholder/placeholder.ts +9 -9
- package/src/plugins/powered-by-jodit/powered-by-jodit.ts +2 -2
- package/src/plugins/print/preview.ts +4 -4
- package/src/plugins/print/print.ts +6 -6
- package/src/plugins/redo-undo/redo-undo.ts +4 -4
- package/src/plugins/resizer/resizer.ts +18 -16
- package/src/plugins/search/search.ts +11 -11
- package/src/plugins/select/select.ts +6 -6
- package/src/plugins/size/config.ts +2 -2
- package/src/plugins/size/resize-handler.ts +5 -5
- package/src/plugins/size/size.ts +4 -4
- package/src/plugins/source/config.ts +5 -5
- package/src/plugins/source/editor/engines/ace.ts +1 -1
- package/src/plugins/source/editor/engines/area.ts +1 -1
- package/src/plugins/source/editor/engines/custom.ts +1 -1
- package/src/plugins/source/editor/factory.ts +2 -2
- package/src/plugins/source/editor/sourceEditor.ts +1 -1
- package/src/plugins/source/source.ts +8 -8
- package/src/plugins/stat/stat.ts +6 -6
- package/src/plugins/sticky/sticky.ts +6 -6
- package/src/plugins/symbols/config.ts +4 -4
- package/src/plugins/symbols/symbols.ts +3 -3
- package/src/plugins/table/config.ts +5 -5
- package/src/plugins/table/resize-cells.ts +4 -4
- package/src/plugins/table/select-cells.ts +5 -5
- package/src/plugins/table/table-keyboard-navigation.ts +3 -3
- package/src/plugins/table/table.ts +1 -1
- package/src/plugins/tooltip/tooltip.ts +6 -6
- package/src/plugins/xpath/xpath.ts +10 -10
- package/src/polyfills.ts +9 -1
- package/src/styles/form.less +1 -1
- package/src/styles/icons/README.md +151 -1
- package/src/types/file-browser.d.ts +1 -10
- package/src/types/jodit.d.ts +1 -1
- package/src/types/observer.d.ts +1 -2
- package/src/types/traits.d.ts +10 -5
- package/src/types/types.d.ts +39 -0
- package/src/types/ui.d.ts +8 -17
- package/tsconfig.json +8 -2
- package/types/config.d.ts +16 -0
- package/types/core/async/async.d.ts +1 -1
- package/types/core/component/component.d.ts +1 -1
- package/types/core/component/view-component.d.ts +1 -1
- package/types/core/constants.d.ts +42 -1
- package/types/core/create/create.d.ts +1 -1
- package/types/core/decorators/debounce/debounce.d.ts +1 -1
- package/types/core/decorators/hook/hook.d.ts +2 -2
- package/types/core/decorators/idle/idle.d.ts +1 -1
- package/types/core/decorators/persistent/persistent.d.ts +1 -1
- package/types/core/decorators/wait/wait.d.ts +1 -1
- package/types/core/decorators/watch/watch.d.ts +1 -1
- package/types/core/dom/dom.d.ts +1 -1
- package/types/core/event-emitter/event-emitter.d.ts +1 -1
- package/types/core/event-emitter/index.d.ts +1 -1
- package/types/core/event-emitter/observable.d.ts +45 -0
- package/types/core/event-emitter/store.d.ts +1 -1
- package/types/core/global.d.ts +1 -1
- package/types/core/helpers/checker/is-imp-interface.d.ts +1 -1
- package/types/core/helpers/checker/is-jodit-object.d.ts +1 -1
- package/types/core/helpers/checker/is-plain-object.d.ts +1 -1
- package/types/core/helpers/size/get-scroll-parent.d.ts +1 -1
- package/types/core/helpers/size/object-size.d.ts +1 -1
- package/types/core/helpers/size/offset.d.ts +1 -1
- package/types/core/helpers/size/position.d.ts +1 -1
- package/types/core/helpers/string/i18n.d.ts +2 -2
- package/types/core/helpers/utils/append-script.d.ts +1 -1
- package/types/core/helpers/utils/assert.d.ts +8 -0
- package/types/core/helpers/utils/build-query.d.ts +1 -1
- package/types/core/helpers/utils/config-proto.d.ts +1 -1
- package/types/core/helpers/utils/css.d.ts +1 -1
- package/types/core/helpers/utils/data-bind.d.ts +1 -1
- package/types/core/helpers/utils/get-class-name.d.ts +1 -1
- package/types/core/helpers/utils/get.d.ts +1 -1
- package/types/core/helpers/utils/index.d.ts +1 -0
- package/types/core/helpers/utils/parse-query.d.ts +1 -1
- package/types/core/helpers/utils/selector.d.ts +1 -1
- package/types/core/helpers/utils/set.d.ts +1 -1
- package/types/core/helpers/utils/stack.d.ts +1 -1
- package/types/core/helpers/utils/utils.d.ts +2 -2
- package/types/core/plugin/plugin-system.d.ts +3 -2
- package/types/core/plugin/plugin.d.ts +1 -1
- package/types/core/request/ajax.d.ts +1 -1
- package/types/core/request/config.d.ts +2 -2
- package/types/core/request/response.d.ts +1 -1
- package/types/core/selection/select.d.ts +1 -1
- package/types/core/selection/style/api/element-has-same-style.d.ts +1 -1
- package/types/core/selection/style/api/extract.d.ts +1 -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 +1 -1
- package/types/core/selection/style/api/get-suit-parent.d.ts +1 -1
- package/types/core/selection/style/api/is-normal-node.d.ts +1 -1
- package/types/core/selection/style/api/is-suit-element.d.ts +2 -2
- package/types/core/selection/style/api/toggle/toggle-css.d.ts +2 -2
- package/types/core/selection/style/api/toggle/toggle-ordered-list.d.ts +1 -1
- package/types/core/selection/style/api/wrap-and-commit-style.d.ts +1 -1
- package/types/core/selection/style/api/wrap-ordered-list.d.ts +1 -1
- package/types/core/selection/style/api/wrap-unwrapped-text.d.ts +1 -1
- package/types/core/selection/style/apply-style.d.ts +1 -1
- package/types/core/selection/style/commit-style.d.ts +1 -1
- package/types/core/storage/engines/local-storage-provider.d.ts +1 -1
- package/types/core/storage/engines/memory-storage-provider.d.ts +1 -1
- package/types/core/storage/storage.d.ts +1 -1
- package/types/core/traits/elms.d.ts +3 -3
- package/types/core/traits/mods.d.ts +6 -6
- package/types/core/ui/button/button/button.d.ts +2 -2
- package/types/core/ui/button/group/group.d.ts +1 -1
- package/types/core/ui/element.d.ts +7 -7
- package/types/core/ui/form/block/block.d.ts +2 -2
- package/types/core/ui/form/form.d.ts +2 -2
- package/types/core/ui/form/inputs/area/area.d.ts +2 -2
- package/types/core/ui/form/inputs/checkbox/checkbox.d.ts +2 -2
- package/types/core/ui/form/inputs/file/file.d.ts +2 -2
- package/types/core/ui/form/inputs/input/input.d.ts +2 -2
- package/types/core/ui/form/inputs/select/select.d.ts +2 -2
- package/types/core/ui/form/validators/input.d.ts +1 -1
- package/types/core/ui/form/validators/select.d.ts +2 -2
- package/types/core/ui/group/group.d.ts +2 -2
- package/types/core/ui/group/list.d.ts +2 -2
- package/types/core/ui/group/separator.d.ts +1 -2
- package/types/core/ui/group/spacer.d.ts +1 -1
- package/types/core/ui/helpers/buttons.d.ts +1 -1
- package/types/core/ui/helpers/get-control-type.d.ts +1 -1
- package/types/core/ui/helpers/get-strong-control-types.d.ts +1 -1
- package/types/core/ui/icon.d.ts +1 -1
- package/types/core/ui/popup/popup.d.ts +2 -2
- package/types/core/ui/progress-bar/progress-bar.d.ts +1 -1
- package/types/core/view/view-with-toolbar.d.ts +1 -1
- package/types/core/view/view.d.ts +4 -4
- package/types/langs/index.d.ts +1 -1
- package/types/modules/context-menu/context-menu.d.ts +2 -2
- package/types/modules/dialog/confirm.d.ts +1 -1
- package/types/modules/dialog/dialog.d.ts +3 -3
- package/types/modules/dialog/prompt.d.ts +1 -1
- package/types/modules/file-browser/builders/context-menu.d.ts +1 -1
- package/types/modules/file-browser/builders/elements-map.d.ts +18 -0
- package/types/modules/file-browser/builders/item.d.ts +1 -1
- package/types/modules/file-browser/config.d.ts +2 -2
- package/types/modules/file-browser/data-provider.d.ts +1 -1
- package/types/modules/file-browser/factories.d.ts +1 -1
- package/types/modules/file-browser/fetch/delete-file.d.ts +13 -0
- package/types/modules/file-browser/fetch/load-items.d.ts +13 -0
- package/types/modules/file-browser/fetch/load-tree.d.ts +13 -0
- package/types/modules/file-browser/file-browser.d.ts +5 -12
- package/types/modules/file-browser/listeners/native-listeners.d.ts +1 -1
- package/types/modules/file-browser/listeners/self-listeners.d.ts +1 -1
- package/types/modules/file-browser/listeners/state-listeners.d.ts +1 -1
- package/types/modules/file-browser/ui/files/files.d.ts +1 -1
- package/types/modules/file-browser/ui/tree/tree.d.ts +1 -1
- package/types/modules/image-editor/image-editor.d.ts +4 -6
- package/types/modules/image-editor/templates/form.d.ts +1 -1
- package/types/modules/observer/command.d.ts +1 -1
- package/types/modules/observer/observer.d.ts +3 -3
- package/types/modules/observer/snapshot.d.ts +2 -2
- package/types/modules/observer/stack.d.ts +1 -1
- package/types/modules/status-bar/status-bar.d.ts +5 -5
- package/types/modules/table/table.d.ts +3 -3
- package/types/modules/toolbar/button/button.d.ts +13 -5
- package/types/modules/toolbar/button/content.d.ts +2 -2
- package/types/modules/toolbar/collection/collection.d.ts +3 -3
- package/types/modules/toolbar/collection/editor-collection.d.ts +1 -1
- package/types/modules/toolbar/factory.d.ts +1 -1
- package/types/modules/uploader/uploader.d.ts +3 -3
- package/types/modules/widget/color-picker/color-picker.d.ts +1 -1
- package/types/modules/widget/file-selector/file-selector.d.ts +1 -1
- package/types/modules/widget/tabs/tabs.d.ts +2 -2
- package/types/plugins/about/about.d.ts +1 -1
- package/types/plugins/add-new-line/add-new-line.d.ts +3 -3
- package/types/plugins/bold/bold.d.ts +1 -1
- package/types/plugins/class-span/class-span.d.ts +2 -2
- package/types/plugins/clipboard/clipboard.d.ts +2 -2
- package/types/plugins/clipboard/config.d.ts +22 -2
- package/types/plugins/clipboard/copy-format.d.ts +1 -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/paste/helpers.d.ts +2 -2
- package/types/plugins/clipboard/paste/paste.d.ts +6 -10
- package/types/plugins/clipboard/paste-storage/paste-storage.d.ts +1 -1
- package/types/plugins/color/color.d.ts +1 -1
- package/types/plugins/error-messages/error-messages.d.ts +2 -2
- package/types/plugins/fix/clean-html.d.ts +3 -3
- package/types/plugins/fix/wrap-text-nodes.d.ts +2 -2
- package/types/plugins/focus/focus.d.ts +2 -2
- package/types/plugins/font/font.d.ts +2 -2
- package/types/plugins/format-block/format-block.d.ts +3 -1
- package/types/plugins/fullsize/fullsize.d.ts +2 -2
- package/types/plugins/iframe/iframe.d.ts +2 -2
- package/types/plugins/image/image-processor.d.ts +1 -1
- package/types/plugins/image/image-properties/image-properties.d.ts +2 -2
- package/types/plugins/image/image-properties/templates/form.d.ts +1 -1
- package/types/plugins/image/image-properties/templates/main-tab.d.ts +1 -1
- package/types/plugins/image/image-properties/templates/position-tab.d.ts +1 -1
- package/types/plugins/image/image.d.ts +1 -1
- package/types/plugins/indent/indent.d.ts +2 -2
- package/types/plugins/inline-popup/config/config.d.ts +2 -2
- package/types/plugins/inline-popup/inline-popup.d.ts +2 -2
- package/types/plugins/insert/hr.d.ts +1 -1
- package/types/plugins/justify/justify.d.ts +1 -1
- package/types/plugins/keyboard/backspace/backspace.d.ts +2 -2
- package/types/plugins/keyboard/backspace/cases/check-join-neighbors.d.ts +1 -1
- package/types/plugins/keyboard/backspace/cases/check-join-two-lists.d.ts +1 -1
- package/types/plugins/keyboard/backspace/cases/check-not-collapsed.d.ts +1 -1
- package/types/plugins/keyboard/backspace/cases/check-remove-char.d.ts +2 -2
- package/types/plugins/keyboard/backspace/cases/check-remove-content-not-editable.d.ts +1 -1
- package/types/plugins/keyboard/backspace/cases/check-remove-empty-neighbor.d.ts +1 -1
- package/types/plugins/keyboard/backspace/cases/check-remove-empty-parent.d.ts +1 -1
- package/types/plugins/keyboard/backspace/cases/check-remove-unbreakable-element.d.ts +1 -1
- package/types/plugins/keyboard/backspace/cases/check-table-cell.d.ts +1 -1
- package/types/plugins/keyboard/backspace/cases/check-unwrap-first-list-item.d.ts +1 -1
- package/types/plugins/keyboard/backspace/config.d.ts +1 -1
- package/types/plugins/keyboard/enter.d.ts +2 -2
- package/types/plugins/keyboard/helpers.d.ts +1 -1
- package/types/plugins/keyboard/hotkeys.d.ts +3 -3
- package/types/plugins/keyboard/key-arrow-outside.d.ts +2 -2
- package/types/plugins/limit/limit.d.ts +3 -3
- package/types/plugins/link/link.d.ts +3 -3
- package/types/plugins/link/template.d.ts +1 -1
- package/types/plugins/media/file.d.ts +1 -1
- package/types/plugins/media/media.d.ts +2 -2
- package/types/plugins/media/video/index.d.ts +1 -1
- package/types/plugins/mobile/mobile.d.ts +2 -2
- package/types/plugins/ordered-list/ordered-list.d.ts +2 -2
- package/types/plugins/placeholder/placeholder.d.ts +3 -3
- package/types/plugins/powered-by-jodit/powered-by-jodit.d.ts +2 -2
- package/types/plugins/print/preview.d.ts +1 -1
- package/types/plugins/print/print.d.ts +1 -1
- package/types/plugins/redo-undo/redo-undo.d.ts +2 -2
- package/types/plugins/resizer/resizer.d.ts +4 -4
- package/types/plugins/search/search.d.ts +3 -3
- package/types/plugins/select/select.d.ts +2 -2
- package/types/plugins/size/config.d.ts +1 -1
- package/types/plugins/size/resize-handler.d.ts +2 -2
- package/types/plugins/size/size.d.ts +2 -2
- package/types/plugins/source/config.d.ts +2 -2
- package/types/plugins/source/editor/engines/ace.d.ts +1 -1
- package/types/plugins/source/editor/engines/area.d.ts +1 -1
- package/types/plugins/source/editor/factory.d.ts +1 -1
- package/types/plugins/source/editor/sourceEditor.d.ts +1 -1
- package/types/plugins/source/source.d.ts +2 -2
- package/types/plugins/stat/stat.d.ts +2 -2
- package/types/plugins/sticky/sticky.d.ts +2 -2
- package/types/plugins/symbols/config.d.ts +1 -1
- package/types/plugins/symbols/symbols.d.ts +1 -1
- package/types/plugins/table/resize-cells.d.ts +1 -1
- package/types/plugins/table/select-cells.d.ts +2 -2
- package/types/plugins/table/table-keyboard-navigation.d.ts +1 -1
- package/types/plugins/table/table.d.ts +1 -1
- package/types/plugins/tooltip/tooltip.d.ts +2 -2
- package/types/plugins/xpath/xpath.d.ts +3 -3
- package/types/types/{types/ajax.d.ts → ajax.d.ts} +0 -0
- package/types/types/{types/async.d.ts → async.d.ts} +0 -0
- package/types/types/{types/context.d.ts → context.d.ts} +0 -0
- package/types/types/{types/core.ts → core.ts} +0 -0
- package/types/types/{types/create.d.ts → create.d.ts} +0 -0
- package/types/types/{types/dialog.d.ts → dialog.d.ts} +0 -0
- package/types/types/{types/events.d.ts → events.d.ts} +0 -0
- package/types/types/{types/file-browser.d.ts → file-browser.d.ts} +1 -10
- package/types/types/{types/form.d.ts → form.d.ts} +0 -0
- package/types/types/{types/index.d.ts → index.d.ts} +0 -0
- package/types/types/{types/jodit.d.ts → jodit.d.ts} +1 -1
- package/types/types/{types/observer.d.ts → observer.d.ts} +1 -2
- package/types/types/{types/plugin.d.ts → plugin.d.ts} +0 -0
- package/types/types/{types/popup.d.ts → popup.d.ts} +0 -0
- package/types/types/{types/select.d.ts → select.d.ts} +0 -0
- package/types/types/{types/source.d.ts → source.d.ts} +0 -0
- package/types/types/{types/storage.ts → storage.ts} +0 -0
- package/types/types/{types/style.d.ts → style.d.ts} +0 -0
- package/types/types/{types/toolbar.d.ts → toolbar.d.ts} +0 -0
- package/types/types/{types/traits.d.ts → traits.d.ts} +10 -5
- package/types/types/{types/types.d.ts → types.d.ts} +39 -0
- package/types/types/{types/ui.d.ts → ui.d.ts} +8 -17
- package/types/types/{types/uploader.d.ts → uploader.d.ts} +0 -0
- package/types/types/{types/view.d.ts → view.d.ts} +0 -0
- package/src/core/event-emitter/observe-object.ts +0 -157
- package/types/core/event-emitter/observe-object.d.ts +0 -24
|
@@ -17,8 +17,9 @@ import type {
|
|
|
17
17
|
PluginInstance,
|
|
18
18
|
PluginType,
|
|
19
19
|
CanPromise,
|
|
20
|
-
CanUndef
|
|
21
|
-
|
|
20
|
+
CanUndef,
|
|
21
|
+
Nullable
|
|
22
|
+
} from 'jodit/types';
|
|
22
23
|
|
|
23
24
|
import {
|
|
24
25
|
isInitable,
|
|
@@ -31,7 +32,7 @@ import {
|
|
|
31
32
|
kebabCase,
|
|
32
33
|
callPromise,
|
|
33
34
|
isArray
|
|
34
|
-
} from '
|
|
35
|
+
} from 'jodit/core/helpers';
|
|
35
36
|
|
|
36
37
|
/**
|
|
37
38
|
* Jodit plugin system
|
|
@@ -50,27 +51,37 @@ export class PluginSystem implements IPluginSystem {
|
|
|
50
51
|
return kebabCase(name).toLowerCase();
|
|
51
52
|
}
|
|
52
53
|
|
|
53
|
-
private
|
|
54
|
+
private _items = new Map<string, PluginType>();
|
|
55
|
+
|
|
56
|
+
private items(filter: Nullable<string[]>): Array<[string, PluginType]> {
|
|
57
|
+
const results: Array<[string, PluginType]> = [];
|
|
58
|
+
|
|
59
|
+
this._items.forEach((plugin, name) => {
|
|
60
|
+
results.push([name, plugin]);
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
return results.filter(([name]) => !filter || filter.includes(name));
|
|
64
|
+
}
|
|
54
65
|
|
|
55
66
|
/**
|
|
56
67
|
* Add plugin in store
|
|
57
68
|
*/
|
|
58
69
|
add(name: string, plugin: PluginType): void {
|
|
59
|
-
this.
|
|
70
|
+
this._items.set(this.normalizeName(name), plugin);
|
|
60
71
|
}
|
|
61
72
|
|
|
62
73
|
/**
|
|
63
74
|
* Get plugin from store
|
|
64
75
|
*/
|
|
65
76
|
get(name: string): PluginType | void {
|
|
66
|
-
return this.
|
|
77
|
+
return this._items.get(this.normalizeName(name));
|
|
67
78
|
}
|
|
68
79
|
|
|
69
80
|
/**
|
|
70
81
|
* Remove plugin from store
|
|
71
82
|
*/
|
|
72
83
|
remove(name: string): void {
|
|
73
|
-
this.
|
|
84
|
+
this._items.delete(this.normalizeName(name));
|
|
74
85
|
}
|
|
75
86
|
|
|
76
87
|
/**
|
|
@@ -87,7 +98,7 @@ export class PluginSystem implements IPluginSystem {
|
|
|
87
98
|
promiseList: IDictionary<PluginInstance | undefined> = {},
|
|
88
99
|
plugins: PluginInstance[] = [],
|
|
89
100
|
pluginsMap: IDictionary<PluginInstance> = {},
|
|
90
|
-
makeAndInit = (plugin:
|
|
101
|
+
makeAndInit = ([name, plugin]: [string, PluginType]) => {
|
|
91
102
|
if (
|
|
92
103
|
disableList.includes(name) ||
|
|
93
104
|
doneList.includes(name) ||
|
|
@@ -110,10 +121,18 @@ export class PluginSystem implements IPluginSystem {
|
|
|
110
121
|
|
|
111
122
|
const instance = PluginSystem.makePluginInstance(jodit, plugin);
|
|
112
123
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
124
|
+
if (instance) {
|
|
125
|
+
this.initOrWait(
|
|
126
|
+
jodit,
|
|
127
|
+
name,
|
|
128
|
+
instance,
|
|
129
|
+
doneList,
|
|
130
|
+
promiseList
|
|
131
|
+
);
|
|
132
|
+
|
|
133
|
+
plugins.push(instance);
|
|
134
|
+
pluginsMap[name] = instance;
|
|
135
|
+
}
|
|
117
136
|
};
|
|
118
137
|
|
|
119
138
|
const resultLoadExtras = this.loadExtras(jodit, extrasList);
|
|
@@ -123,7 +142,13 @@ export class PluginSystem implements IPluginSystem {
|
|
|
123
142
|
return;
|
|
124
143
|
}
|
|
125
144
|
|
|
126
|
-
this.items
|
|
145
|
+
this.items(
|
|
146
|
+
jodit.o.safeMode
|
|
147
|
+
? jodit.o.safePluginsList.concat(
|
|
148
|
+
extrasList.map(s => s.name)
|
|
149
|
+
)
|
|
150
|
+
: null
|
|
151
|
+
).forEach(makeAndInit);
|
|
127
152
|
|
|
128
153
|
this.addListenerOnBeforeDestruct(jodit, plugins);
|
|
129
154
|
|
|
@@ -150,8 +175,17 @@ export class PluginSystem implements IPluginSystem {
|
|
|
150
175
|
static makePluginInstance(
|
|
151
176
|
jodit: IJodit,
|
|
152
177
|
plugin: PluginType
|
|
153
|
-
): PluginInstance {
|
|
154
|
-
|
|
178
|
+
): Nullable<PluginInstance> {
|
|
179
|
+
try {
|
|
180
|
+
return isFunction(plugin) ? new plugin(jodit) : plugin;
|
|
181
|
+
} catch (e) {
|
|
182
|
+
console.error(e);
|
|
183
|
+
if (!isProd) {
|
|
184
|
+
throw e;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
return null;
|
|
155
189
|
}
|
|
156
190
|
|
|
157
191
|
/**
|
|
@@ -172,7 +206,14 @@ export class PluginSystem implements IPluginSystem {
|
|
|
172
206
|
!req?.length ||
|
|
173
207
|
req.every(name => doneList.includes(name))
|
|
174
208
|
) {
|
|
175
|
-
|
|
209
|
+
try {
|
|
210
|
+
plugin.init(jodit);
|
|
211
|
+
} catch (e) {
|
|
212
|
+
console.error(e);
|
|
213
|
+
if (!isProd) {
|
|
214
|
+
throw e;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
176
217
|
doneList.push(name);
|
|
177
218
|
} else {
|
|
178
219
|
promiseList[name] = plugin;
|
|
@@ -291,7 +332,7 @@ export class PluginSystem implements IPluginSystem {
|
|
|
291
332
|
if (extrasList && extrasList.length) {
|
|
292
333
|
try {
|
|
293
334
|
const needLoadExtras = extrasList.filter(
|
|
294
|
-
extra => !this.
|
|
335
|
+
extra => !this._items.has(this.normalizeName(extra.name))
|
|
295
336
|
);
|
|
296
337
|
|
|
297
338
|
if (needLoadExtras.length) {
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
* @module plugin
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
import type { IJodit, IPlugin, IViewBased } from '
|
|
13
|
+
import type { IJodit, IPlugin, IViewBased } from 'jodit/types';
|
|
14
14
|
import { ViewComponent, STATUSES } from '../component';
|
|
15
|
-
import { autobind } from '
|
|
16
|
-
import { isJoditObject } from '
|
|
15
|
+
import { autobind } from 'jodit/core/decorators';
|
|
16
|
+
import { isJoditObject } from 'jodit/core/helpers';
|
|
17
17
|
|
|
18
18
|
export abstract class Plugin<T extends IViewBased = IJodit>
|
|
19
19
|
extends ViewComponent<T>
|
package/src/core/request/ajax.ts
CHANGED
|
@@ -18,9 +18,9 @@ import type {
|
|
|
18
18
|
IAjax,
|
|
19
19
|
RejectablePromise,
|
|
20
20
|
IResponse
|
|
21
|
-
} from '
|
|
21
|
+
} from 'jodit/types';
|
|
22
22
|
|
|
23
|
-
import { Config } from '
|
|
23
|
+
import { Config } from 'jodit/config';
|
|
24
24
|
|
|
25
25
|
import {
|
|
26
26
|
error,
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
isString,
|
|
31
31
|
isFunction,
|
|
32
32
|
ConfigProto
|
|
33
|
-
} from '
|
|
33
|
+
} from 'jodit/core/helpers';
|
|
34
34
|
import { Response } from './response';
|
|
35
35
|
|
|
36
36
|
import './config';
|
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
* @module request
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type { AjaxOptions } from '
|
|
12
|
-
import { Config } from '
|
|
11
|
+
import type { AjaxOptions } from 'jodit/types';
|
|
12
|
+
import { Config } from 'jodit/config';
|
|
13
13
|
|
|
14
|
-
declare module '
|
|
14
|
+
declare module 'jodit/config' {
|
|
15
15
|
interface Config {
|
|
16
16
|
/**
|
|
17
17
|
* A set of key/value pairs that configure the Ajax request. All settings are optional
|
|
@@ -19,17 +19,17 @@ import type {
|
|
|
19
19
|
IStyle,
|
|
20
20
|
MarkerInfo,
|
|
21
21
|
Nullable
|
|
22
|
-
} from '
|
|
22
|
+
} from 'jodit/types';
|
|
23
23
|
|
|
24
|
-
import * as consts from '
|
|
24
|
+
import * as consts from 'jodit/core/constants';
|
|
25
25
|
|
|
26
26
|
import {
|
|
27
27
|
INSEPARABLE_TAGS,
|
|
28
28
|
INVISIBLE_SPACE,
|
|
29
29
|
INVISIBLE_SPACE_REG_EXP_END as INV_END,
|
|
30
30
|
INVISIBLE_SPACE_REG_EXP_START as INV_START
|
|
31
|
-
} from '
|
|
32
|
-
import { Dom } from '
|
|
31
|
+
} from 'jodit/core/constants';
|
|
32
|
+
import { Dom } from 'jodit/core/dom';
|
|
33
33
|
|
|
34
34
|
import {
|
|
35
35
|
attr,
|
|
@@ -41,9 +41,9 @@ import {
|
|
|
41
41
|
call,
|
|
42
42
|
toArray,
|
|
43
43
|
getScrollParent
|
|
44
|
-
} from '
|
|
44
|
+
} from 'jodit/core/helpers';
|
|
45
45
|
import { CommitStyle } from './style/commit-style';
|
|
46
|
-
import { autobind } from '
|
|
46
|
+
import { autobind } from 'jodit/core/decorators';
|
|
47
47
|
|
|
48
48
|
export class Select implements ISelect {
|
|
49
49
|
constructor(readonly jodit: IJodit) {
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import type { IStyle } from '
|
|
8
|
-
import { css, isVoid, normalizeCssValue } from '
|
|
9
|
-
import { Dom } from '
|
|
7
|
+
import type { IStyle } from 'jodit/types';
|
|
8
|
+
import { css, isVoid, normalizeCssValue } from 'jodit/core/helpers';
|
|
9
|
+
import { Dom } from 'jodit/core/dom';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Element has the same styles as in the commit
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import type { IJodit } from '
|
|
7
|
+
import type { IJodit } from 'jodit/types';
|
|
8
8
|
import { Select } from '../../select';
|
|
9
|
-
import { call, trim } from '
|
|
10
|
-
import { Dom } from '
|
|
9
|
+
import { call, trim } from 'jodit/core/helpers';
|
|
10
|
+
import { Dom } from 'jodit/core/dom';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* If the selection area is inside an element that matches the commit (suitable relative),
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import type { CanUndef, IDictionary } from '
|
|
7
|
+
import type { CanUndef, IDictionary } from 'jodit/types';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* A state machine implementation for applying styles.
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import type { Nullable } from '
|
|
7
|
+
import type { Nullable } from 'jodit/types';
|
|
8
8
|
import type { CommitStyle } from '../commit-style';
|
|
9
|
-
import { Dom } from '
|
|
9
|
+
import { Dom } from 'jodit/core/dom';
|
|
10
10
|
import { isNormalNode } from './is-normal-node';
|
|
11
11
|
import { isSuitElement } from './is-suit-element';
|
|
12
12
|
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import type { Nullable } from '
|
|
7
|
+
import type { Nullable } from 'jodit/types';
|
|
8
8
|
import type { CommitStyle } from '../commit-style';
|
|
9
|
-
import { Dom } from '
|
|
9
|
+
import { Dom } from 'jodit/core/dom';
|
|
10
10
|
import { isNormalNode } from './is-normal-node';
|
|
11
11
|
import { isSuitElement } from './is-suit-element';
|
|
12
12
|
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import type { Nullable } from '
|
|
8
|
-
import { Dom } from '
|
|
7
|
+
import type { Nullable } from 'jodit/types';
|
|
8
|
+
import { Dom } from 'jodit/core/dom';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Is normal usual element
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
5
|
*/
|
|
6
|
-
import type { Nullable } from '
|
|
6
|
+
import type { Nullable } from 'jodit/types';
|
|
7
7
|
import type { CommitStyle } from '../commit-style';
|
|
8
8
|
import { isNormalNode } from './is-normal-node';
|
|
9
9
|
import {
|
|
10
10
|
elementHasSameStyle,
|
|
11
11
|
elementHasSameStyleKeys
|
|
12
12
|
} from './element-has-same-style';
|
|
13
|
-
import { Dom } from '
|
|
13
|
+
import { Dom } from 'jodit/core/dom';
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Checks if an item is suitable for applying a commit. The element suits us if it
|
|
@@ -54,7 +54,7 @@ export function isSuitElement(
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
/**
|
|
57
|
-
*
|
|
57
|
+
* Inside the parent element there is a block with the same styles
|
|
58
58
|
* @example
|
|
59
59
|
* For selection:
|
|
60
60
|
* ```html
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import type { CommitMode, IJodit } from '
|
|
8
|
-
import type { CommitStyle } from '
|
|
7
|
+
import type { CommitMode, IJodit } from 'jodit/types';
|
|
8
|
+
import type { CommitStyle } from 'jodit/core/selection/style/commit-style';
|
|
9
9
|
import {
|
|
10
10
|
attr,
|
|
11
11
|
css,
|
|
@@ -13,10 +13,10 @@ import {
|
|
|
13
13
|
kebabCase,
|
|
14
14
|
normalizeCssValue,
|
|
15
15
|
size
|
|
16
|
-
} from '
|
|
17
|
-
import { Dom } from '
|
|
18
|
-
import { CHANGE, UNSET, UNWRAP } from '
|
|
19
|
-
import { getContainer } from '
|
|
16
|
+
} from 'jodit/core/helpers';
|
|
17
|
+
import { Dom } from 'jodit/core/dom';
|
|
18
|
+
import { CHANGE, UNSET, UNWRAP } from 'jodit/core/selection/style/commit-style';
|
|
19
|
+
import { getContainer } from 'jodit/core/global';
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* Toggles css and classname
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import type { IJodit, CommitMode } from '
|
|
7
|
+
import type { IJodit, CommitMode } from 'jodit/types';
|
|
8
8
|
import type { CommitStyle } from '../../commit-style';
|
|
9
|
-
import { Dom } from '
|
|
9
|
+
import { Dom } from 'jodit/core/dom';
|
|
10
10
|
import { extractSelectedPart } from '../extract';
|
|
11
11
|
import { CHANGE, INITIAL, REPLACE } from '../../commit-style';
|
|
12
12
|
import { toggleCSS } from './toggle-css';
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import type { CommitStyle } from '../commit-style';
|
|
8
|
-
import {
|
|
8
|
+
import type { IDictionary } from 'jodit/types';
|
|
9
|
+
import { Dom } from 'jodit/core/dom';
|
|
9
10
|
import { isSameStyleChild, isSuitElement } from './is-suit-element';
|
|
10
|
-
import { attr, css } from '
|
|
11
|
-
import type { IDictionary } from '../../../../types';
|
|
11
|
+
import { attr, css } from 'jodit/core/helpers';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Unwrap all suit elements inside
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import type { IJodit } from '
|
|
7
|
+
import type { IJodit } from 'jodit/types';
|
|
8
8
|
import type { CommitStyle } from '../commit-style';
|
|
9
|
-
import { Dom } from '
|
|
9
|
+
import { Dom } from 'jodit/core/dom';
|
|
10
10
|
import { wrapUnwrappedText } from './wrap-unwrapped-text';
|
|
11
|
-
import { attr } from '
|
|
11
|
+
import { attr } from 'jodit/core/helpers';
|
|
12
12
|
import { wrapOrderedList } from './wrap-ordered-list';
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import type { IJodit } from '
|
|
8
|
-
import { Dom } from '
|
|
7
|
+
import type { IJodit } from 'jodit/types';
|
|
8
|
+
import { Dom } from 'jodit/core/dom';
|
|
9
9
|
import type { CommitStyle } from '../commit-style';
|
|
10
10
|
|
|
11
11
|
/**
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import type { IJodit, Nullable } from '
|
|
7
|
+
import type { IJodit, Nullable } from 'jodit/types';
|
|
8
8
|
import type { CommitStyle } from '../commit-style';
|
|
9
|
-
import { Dom } from '
|
|
9
|
+
import { Dom } from 'jodit/core/dom';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Wrap text or inline elements inside Block element
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
* @module selection
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type { IJodit, Nullable, CanUndef, CommitMode } from '
|
|
11
|
+
import type { IJodit, Nullable, CanUndef, CommitMode } from 'jodit/types';
|
|
12
12
|
import type { CommitStyle } from './commit-style';
|
|
13
|
-
import { normalizeNode } from '
|
|
13
|
+
import { normalizeNode } from 'jodit/core/helpers';
|
|
14
14
|
import {
|
|
15
15
|
getSuitParent,
|
|
16
16
|
getSuitChild,
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
unwrapChildren
|
|
20
20
|
} from './api';
|
|
21
21
|
import { CHANGE, INITIAL, REPLACE, UNWRAP, WRAP } from './commit-style';
|
|
22
|
-
import { Dom } from '
|
|
22
|
+
import { Dom } from 'jodit/core/dom';
|
|
23
23
|
import {
|
|
24
24
|
toggleOrderedList,
|
|
25
25
|
wrapAndCommitStyle,
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* @module selection
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type { HTMLTagNames, IJodit, IStyleOptions } from '
|
|
12
|
-
import { IS_BLOCK } from '
|
|
11
|
+
import type { HTMLTagNames, IJodit, IStyleOptions } from 'jodit/types';
|
|
12
|
+
import { IS_BLOCK } from 'jodit/core/constants';
|
|
13
13
|
import { ApplyStyle } from './apply-style';
|
|
14
14
|
|
|
15
15
|
export const WRAP = 'wrap';
|
|
@@ -8,11 +8,7 @@
|
|
|
8
8
|
* @module storage/local
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type {
|
|
12
|
-
BooleanFunction,
|
|
13
|
-
IStorage,
|
|
14
|
-
StorageValueType
|
|
15
|
-
} from '../../../types';
|
|
11
|
+
import type { BooleanFunction, IStorage, StorageValueType } from 'jodit/types';
|
|
16
12
|
|
|
17
13
|
/**
|
|
18
14
|
* Check if user disable local storages/cookie etc.
|
package/src/core/traits/elms.ts
CHANGED
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
* @module traits
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type { IComponent, IContainer, IElms } from '
|
|
12
|
-
import { toArray } from '
|
|
11
|
+
import type { IComponent, IContainer, IElms, Nullable } from 'jodit/types';
|
|
12
|
+
import { toArray } from 'jodit/core/helpers/array/to-array';
|
|
13
13
|
|
|
14
14
|
export abstract class Elms implements IElms {
|
|
15
|
-
abstract getElm(elementName: string): HTMLElement
|
|
15
|
+
abstract getElm(elementName: string): Nullable<HTMLElement>;
|
|
16
16
|
|
|
17
17
|
abstract getElms(elementName: string): HTMLElement[];
|
|
18
18
|
|
|
@@ -22,11 +22,10 @@ export abstract class Elms implements IElms {
|
|
|
22
22
|
static getElm(
|
|
23
23
|
this: IComponent & IContainer,
|
|
24
24
|
elementName: string
|
|
25
|
-
): HTMLElement {
|
|
26
|
-
|
|
27
|
-
return this.container.querySelector<HTMLElement>(
|
|
25
|
+
): Nullable<HTMLElement> {
|
|
26
|
+
return this.container.querySelector(
|
|
28
27
|
`.${this.getFullElName(elementName)}`
|
|
29
|
-
)
|
|
28
|
+
) as Nullable<HTMLElement>;
|
|
30
29
|
}
|
|
31
30
|
|
|
32
31
|
/**
|
package/src/core/traits/mods.ts
CHANGED
|
@@ -8,27 +8,27 @@
|
|
|
8
8
|
* @module traits
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type { IComponent, IContainer,
|
|
12
|
-
import { toArray } from '
|
|
11
|
+
import type { IComponent, IContainer, IMods, ModType } from 'jodit/types';
|
|
12
|
+
import { toArray } from 'jodit/core/helpers/array/to-array';
|
|
13
|
+
import { isVoid } from 'jodit/core/helpers/checker/is-void';
|
|
13
14
|
|
|
14
15
|
export abstract class Mods implements IMods {
|
|
15
|
-
abstract mods:
|
|
16
|
+
abstract mods: IMods['mods'];
|
|
16
17
|
abstract componentName: string;
|
|
17
18
|
abstract container: HTMLElement;
|
|
18
19
|
|
|
19
|
-
abstract setMod(name: string, value:
|
|
20
|
-
|
|
21
|
-
abstract getMod(name: string): string | boolean | null;
|
|
20
|
+
abstract setMod(name: string, value: ModType): this;
|
|
21
|
+
abstract getMod(name: string): ModType;
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Set/remove BEM class modification
|
|
25
25
|
*
|
|
26
26
|
* @param value - if null, mod will be removed
|
|
27
27
|
*/
|
|
28
|
-
static setMod(
|
|
29
|
-
this:
|
|
28
|
+
static setMod<T extends IComponent & IContainer & Mods>(
|
|
29
|
+
this: T,
|
|
30
30
|
name: string,
|
|
31
|
-
value:
|
|
31
|
+
value: ModType,
|
|
32
32
|
container?: HTMLElement
|
|
33
33
|
): void {
|
|
34
34
|
name = name.toLowerCase();
|
|
@@ -46,7 +46,7 @@ export abstract class Mods implements IMods {
|
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
48
|
|
|
49
|
-
value
|
|
49
|
+
!isVoid(value) &&
|
|
50
50
|
value !== '' &&
|
|
51
51
|
cl.add(`${mod}_${value.toString().toLowerCase()}`);
|
|
52
52
|
|
|
@@ -56,10 +56,7 @@ export abstract class Mods implements IMods {
|
|
|
56
56
|
/**
|
|
57
57
|
* Get BEM class modification value
|
|
58
58
|
*/
|
|
59
|
-
static getMod(
|
|
60
|
-
this: IComponent & IContainer & Mods,
|
|
61
|
-
name: string
|
|
62
|
-
): string | boolean | null {
|
|
59
|
+
static getMod(this: IComponent & IContainer & Mods, name: string): ModType {
|
|
63
60
|
return this.mods[name] ?? null;
|
|
64
61
|
}
|
|
65
62
|
}
|
|
@@ -16,14 +16,14 @@ import type {
|
|
|
16
16
|
IUIButtonStatePartial,
|
|
17
17
|
IViewBased,
|
|
18
18
|
ButtonVariant
|
|
19
|
-
} from '
|
|
20
|
-
import { UIElement } from '
|
|
21
|
-
import { Dom } from '
|
|
22
|
-
import { attr, isString, isFunction } from '
|
|
23
|
-
import { Icon } from '
|
|
24
|
-
import { UIList } from '
|
|
25
|
-
import { autobind, component, watch } from '
|
|
26
|
-
import { STATUSES } from '
|
|
19
|
+
} from 'jodit/types';
|
|
20
|
+
import { UIElement } from 'jodit/core/ui';
|
|
21
|
+
import { Dom } from 'jodit/core/dom';
|
|
22
|
+
import { attr, isString, isFunction } from 'jodit/core/helpers';
|
|
23
|
+
import { Icon } from 'jodit/core/ui';
|
|
24
|
+
import { UIList } from 'jodit/core/ui';
|
|
25
|
+
import { autobind, component, watch } from 'jodit/core/decorators';
|
|
26
|
+
import { STATUSES } from 'jodit/core/component';
|
|
27
27
|
|
|
28
28
|
export const UIButtonState = (): IUIButtonState => ({
|
|
29
29
|
size: 'middle',
|