jodit-pro 4.18.9 → 4.18.12
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/es2015/jodit.css +1 -1
- package/es2015/jodit.fat.min.js +13 -13
- package/es2015/jodit.js +286 -48
- package/es2015/jodit.min.js +14 -14
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +19 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +3 -3
- package/es2015/plugins/autocomplete/autocomplete.css +1 -1
- package/es2015/plugins/autocomplete/autocomplete.js +1 -1
- package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2015/plugins/backup/backup.css +1 -1
- package/es2015/plugins/backup/backup.js +14 -7
- package/es2015/plugins/backup/backup.min.js +2 -2
- package/es2015/plugins/button-generator/button-generator.css +1 -1
- package/es2015/plugins/button-generator/button-generator.js +26 -19
- package/es2015/plugins/button-generator/button-generator.min.js +3 -3
- package/es2015/plugins/change-case/change-case.js +1 -1
- package/es2015/plugins/change-case/change-case.min.js +1 -1
- package/es2015/plugins/chart/chart.css +1 -1
- package/es2015/plugins/chart/chart.js +1 -1
- package/es2015/plugins/chart/chart.min.js +1 -1
- package/es2015/plugins/color-picker/color-picker.css +1 -1
- package/es2015/plugins/color-picker/color-picker.js +1 -1
- package/es2015/plugins/color-picker/color-picker.min.js +1 -1
- package/es2015/plugins/emoji/emoji.css +1 -1
- package/es2015/plugins/emoji/emoji.js +1 -1
- package/es2015/plugins/emoji/emoji.min.js +1 -1
- package/es2015/plugins/export-docs/export-docs.js +1 -1
- package/es2015/plugins/export-docs/export-docs.min.js +1 -1
- package/es2015/plugins/finder/finder.css +1 -1
- package/es2015/plugins/finder/finder.js +1 -1
- package/es2015/plugins/finder/finder.min.js +1 -1
- package/es2015/plugins/google-maps/google-maps.css +1 -1
- package/es2015/plugins/google-maps/google-maps.js +1 -1
- package/es2015/plugins/google-maps/google-maps.min.js +1 -1
- package/es2015/plugins/google-search/google-search.js +1 -1
- package/es2015/plugins/google-search/google-search.min.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2015/plugins/keyboard/keyboard.css +1 -1
- package/es2015/plugins/keyboard/keyboard.js +1 -1
- package/es2015/plugins/keyboard/keyboard.min.js +1 -1
- package/es2015/plugins/math/math.css +1 -1
- package/es2015/plugins/math/math.js +1 -1
- package/es2015/plugins/math/math.min.js +1 -1
- package/es2015/plugins/mobile-view/mobile-view.js +1 -1
- package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2015/plugins/page-break/page-break.js +1 -1
- package/es2015/plugins/page-break/page-break.min.js +1 -1
- package/es2015/plugins/paste-code/paste-code.css +1 -1
- package/es2015/plugins/paste-code/paste-code.js +1 -1
- package/es2015/plugins/paste-code/paste-code.min.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2015/plugins/show-blocks/show-blocks.js +1 -1
- package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2015/plugins/style/style.css +1 -1
- package/es2015/plugins/style/style.js +1 -1
- package/es2015/plugins/style/style.min.js +1 -1
- package/es2015/plugins/templates/templates.css +1 -1
- package/es2015/plugins/templates/templates.js +1 -1
- package/es2015/plugins/templates/templates.min.js +1 -1
- package/es2015/plugins/todo-list/todo-list.css +1 -1
- package/es2015/plugins/todo-list/todo-list.js +1 -1
- package/es2015/plugins/todo-list/todo-list.min.js +1 -1
- package/es2015/plugins/translate/translate.css +1 -1
- package/es2015/plugins/translate/translate.js +1 -1
- package/es2015/plugins/translate/translate.min.js +1 -1
- package/es2015/plugins/tune-block/tune-block.css +1 -1
- package/es2015/plugins/tune-block/tune-block.js +1 -1
- package/es2015/plugins/tune-block/tune-block.min.js +1 -1
- package/es2018/jodit.fat.min.js +16 -16
- package/es2018/jodit.min.js +8 -8
- package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +3 -3
- package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2018/plugins/backup/backup.min.js +2 -2
- package/es2018/plugins/button-generator/button-generator.min.js +3 -3
- package/es2018/plugins/change-case/change-case.min.js +1 -1
- package/es2018/plugins/chart/chart.min.js +1 -1
- package/es2018/plugins/color-picker/color-picker.min.js +1 -1
- package/es2018/plugins/emoji/emoji.min.js +1 -1
- package/es2018/plugins/export-docs/export-docs.min.js +1 -1
- package/es2018/plugins/finder/finder.min.js +1 -1
- package/es2018/plugins/google-maps/google-maps.min.js +1 -1
- package/es2018/plugins/google-search/google-search.min.js +1 -1
- package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2018/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2018/plugins/keyboard/keyboard.min.js +1 -1
- package/es2018/plugins/math/math.min.js +1 -1
- package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2018/plugins/page-break/page-break.min.js +1 -1
- package/es2018/plugins/paste-code/paste-code.min.js +1 -1
- package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2018/plugins/style/style.min.js +1 -1
- package/es2018/plugins/templates/templates.min.js +1 -1
- package/es2018/plugins/todo-list/todo-list.min.js +1 -1
- package/es2018/plugins/translate/translate.min.js +1 -1
- package/es2018/plugins/tune-block/tune-block.min.js +1 -1
- package/es2021/jodit.css +1 -1
- package/es2021/jodit.fat.min.js +19 -19
- package/es2021/jodit.js +286 -48
- package/es2021/jodit.min.js +8 -8
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +19 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +3 -3
- package/es2021/plugins/autocomplete/autocomplete.css +1 -1
- package/es2021/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2021/plugins/backup/backup.css +1 -1
- package/es2021/plugins/backup/backup.js +14 -7
- package/es2021/plugins/backup/backup.min.js +2 -2
- package/es2021/plugins/button-generator/button-generator.css +1 -1
- package/es2021/plugins/button-generator/button-generator.js +26 -19
- package/es2021/plugins/button-generator/button-generator.min.js +3 -3
- package/es2021/plugins/change-case/change-case.js +1 -1
- package/es2021/plugins/change-case/change-case.min.js +1 -1
- package/es2021/plugins/chart/chart.css +1 -1
- package/es2021/plugins/chart/chart.js +1 -1
- package/es2021/plugins/chart/chart.min.js +1 -1
- package/es2021/plugins/color-picker/color-picker.css +1 -1
- package/es2021/plugins/color-picker/color-picker.js +1 -1
- package/es2021/plugins/color-picker/color-picker.min.js +1 -1
- package/es2021/plugins/emoji/emoji.css +1 -1
- package/es2021/plugins/emoji/emoji.js +1 -1
- package/es2021/plugins/emoji/emoji.min.js +1 -1
- package/es2021/plugins/export-docs/export-docs.js +1 -1
- package/es2021/plugins/export-docs/export-docs.min.js +1 -1
- package/es2021/plugins/finder/finder.css +1 -1
- package/es2021/plugins/finder/finder.js +1 -1
- package/es2021/plugins/finder/finder.min.js +1 -1
- package/es2021/plugins/google-maps/google-maps.css +1 -1
- package/es2021/plugins/google-maps/google-maps.js +1 -1
- package/es2021/plugins/google-maps/google-maps.min.js +1 -1
- package/es2021/plugins/google-search/google-search.js +1 -1
- package/es2021/plugins/google-search/google-search.min.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es2021/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es2021/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2021/plugins/keyboard/keyboard.css +1 -1
- package/es2021/plugins/keyboard/keyboard.js +1 -1
- package/es2021/plugins/keyboard/keyboard.min.js +1 -1
- package/es2021/plugins/math/math.css +1 -1
- package/es2021/plugins/math/math.js +1 -1
- package/es2021/plugins/math/math.min.js +1 -1
- package/es2021/plugins/mobile-view/mobile-view.js +1 -1
- package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2021/plugins/page-break/page-break.js +1 -1
- package/es2021/plugins/page-break/page-break.min.js +1 -1
- package/es2021/plugins/paste-code/paste-code.css +1 -1
- package/es2021/plugins/paste-code/paste-code.js +1 -1
- package/es2021/plugins/paste-code/paste-code.min.js +1 -1
- package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2021/plugins/show-blocks/show-blocks.js +1 -1
- package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2021/plugins/style/style.css +1 -1
- package/es2021/plugins/style/style.js +1 -1
- package/es2021/plugins/style/style.min.js +1 -1
- package/es2021/plugins/templates/templates.css +1 -1
- package/es2021/plugins/templates/templates.js +1 -1
- package/es2021/plugins/templates/templates.min.js +1 -1
- package/es2021/plugins/todo-list/todo-list.css +1 -1
- package/es2021/plugins/todo-list/todo-list.js +1 -1
- package/es2021/plugins/todo-list/todo-list.min.js +1 -1
- package/es2021/plugins/translate/translate.css +1 -1
- package/es2021/plugins/translate/translate.js +1 -1
- package/es2021/plugins/translate/translate.min.js +1 -1
- package/es2021/plugins/tune-block/tune-block.css +1 -1
- package/es2021/plugins/tune-block/tune-block.js +1 -1
- package/es2021/plugins/tune-block/tune-block.min.js +1 -1
- package/es2021.en/jodit.css +1 -1
- package/es2021.en/jodit.fat.min.js +17 -17
- package/es2021.en/jodit.js +286 -48
- package/es2021.en/jodit.min.js +8 -8
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +19 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +26 -26
- package/es2021.en/plugins/autocomplete/autocomplete.css +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2021.en/plugins/backup/backup.css +1 -1
- package/es2021.en/plugins/backup/backup.js +14 -7
- package/es2021.en/plugins/backup/backup.min.js +2 -2
- package/es2021.en/plugins/button-generator/button-generator.css +1 -1
- package/es2021.en/plugins/button-generator/button-generator.js +26 -19
- package/es2021.en/plugins/button-generator/button-generator.min.js +3 -3
- package/es2021.en/plugins/change-case/change-case.js +1 -1
- package/es2021.en/plugins/change-case/change-case.min.js +1 -1
- package/es2021.en/plugins/chart/chart.css +1 -1
- package/es2021.en/plugins/chart/chart.js +1 -1
- package/es2021.en/plugins/chart/chart.min.js +1 -1
- package/es2021.en/plugins/color-picker/color-picker.css +1 -1
- package/es2021.en/plugins/color-picker/color-picker.js +1 -1
- package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
- package/es2021.en/plugins/emoji/emoji.css +1 -1
- package/es2021.en/plugins/emoji/emoji.js +1 -1
- package/es2021.en/plugins/emoji/emoji.min.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
- package/es2021.en/plugins/finder/finder.css +1 -1
- package/es2021.en/plugins/finder/finder.js +1 -1
- package/es2021.en/plugins/finder/finder.min.js +1 -1
- package/es2021.en/plugins/google-maps/google-maps.css +1 -1
- package/es2021.en/plugins/google-maps/google-maps.js +1 -1
- package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
- package/es2021.en/plugins/google-search/google-search.js +1 -1
- package/es2021.en/plugins/google-search/google-search.min.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2021.en/plugins/keyboard/keyboard.css +1 -1
- package/es2021.en/plugins/keyboard/keyboard.js +1 -1
- package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
- package/es2021.en/plugins/math/math.css +1 -1
- package/es2021.en/plugins/math/math.js +1 -1
- package/es2021.en/plugins/math/math.min.js +1 -1
- package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
- package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2021.en/plugins/page-break/page-break.js +1 -1
- package/es2021.en/plugins/page-break/page-break.min.js +1 -1
- package/es2021.en/plugins/paste-code/paste-code.css +1 -1
- package/es2021.en/plugins/paste-code/paste-code.js +1 -1
- package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
- package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
- package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2021.en/plugins/style/style.css +1 -1
- package/es2021.en/plugins/style/style.js +1 -1
- package/es2021.en/plugins/style/style.min.js +1 -1
- package/es2021.en/plugins/templates/templates.css +1 -1
- package/es2021.en/plugins/templates/templates.js +1 -1
- package/es2021.en/plugins/templates/templates.min.js +1 -1
- package/es2021.en/plugins/todo-list/todo-list.css +1 -1
- package/es2021.en/plugins/todo-list/todo-list.js +1 -1
- package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
- package/es2021.en/plugins/translate/translate.css +1 -1
- package/es2021.en/plugins/translate/translate.js +1 -1
- package/es2021.en/plugins/translate/translate.min.js +1 -1
- package/es2021.en/plugins/tune-block/tune-block.css +1 -1
- package/es2021.en/plugins/tune-block/tune-block.js +1 -1
- package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
- package/es5/jodit.css +2 -2
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +298 -44
- package/es5/jodit.min.css +2 -2
- package/es5/jodit.min.js +2 -2
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +19 -1
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +2 -2
- package/es5/plugins/autocomplete/autocomplete.css +1 -1
- package/es5/plugins/autocomplete/autocomplete.js +1 -1
- package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es5/plugins/backup/backup.css +1 -1
- package/es5/plugins/backup/backup.js +14 -7
- package/es5/plugins/backup/backup.min.js +2 -2
- package/es5/plugins/button-generator/button-generator.css +1 -1
- package/es5/plugins/button-generator/button-generator.js +26 -19
- package/es5/plugins/button-generator/button-generator.min.js +2 -2
- package/es5/plugins/change-case/change-case.js +1 -1
- package/es5/plugins/change-case/change-case.min.js +1 -1
- package/es5/plugins/chart/chart.css +1 -1
- package/es5/plugins/chart/chart.js +1 -1
- package/es5/plugins/chart/chart.min.js +1 -1
- package/es5/plugins/color-picker/color-picker.css +1 -1
- package/es5/plugins/color-picker/color-picker.js +1 -1
- package/es5/plugins/color-picker/color-picker.min.js +1 -1
- package/es5/plugins/emoji/emoji.css +1 -1
- package/es5/plugins/emoji/emoji.js +1 -1
- package/es5/plugins/emoji/emoji.min.js +1 -1
- package/es5/plugins/export-docs/export-docs.js +1 -1
- package/es5/plugins/export-docs/export-docs.min.js +1 -1
- package/es5/plugins/finder/finder.css +1 -1
- package/es5/plugins/finder/finder.js +1 -1
- package/es5/plugins/finder/finder.min.js +1 -1
- package/es5/plugins/google-maps/google-maps.css +1 -1
- package/es5/plugins/google-maps/google-maps.js +1 -1
- package/es5/plugins/google-maps/google-maps.min.js +1 -1
- package/es5/plugins/google-search/google-search.js +1 -1
- package/es5/plugins/google-search/google-search.min.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es5/plugins/keyboard/keyboard.css +1 -1
- package/es5/plugins/keyboard/keyboard.js +1 -1
- package/es5/plugins/keyboard/keyboard.min.js +1 -1
- package/es5/plugins/math/math.css +1 -1
- package/es5/plugins/math/math.js +1 -1
- package/es5/plugins/math/math.min.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es5/plugins/page-break/page-break.js +1 -1
- package/es5/plugins/page-break/page-break.min.js +1 -1
- package/es5/plugins/paste-code/paste-code.css +1 -1
- package/es5/plugins/paste-code/paste-code.js +1 -1
- package/es5/plugins/paste-code/paste-code.min.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es5/plugins/style/style.css +1 -1
- package/es5/plugins/style/style.js +1 -1
- package/es5/plugins/style/style.min.js +1 -1
- package/es5/plugins/templates/templates.css +1 -1
- package/es5/plugins/templates/templates.js +1 -1
- package/es5/plugins/templates/templates.min.js +1 -1
- package/es5/plugins/todo-list/todo-list.css +1 -1
- package/es5/plugins/todo-list/todo-list.js +1 -1
- package/es5/plugins/todo-list/todo-list.min.js +1 -1
- package/es5/plugins/translate/translate.css +1 -1
- package/es5/plugins/translate/translate.js +1 -1
- package/es5/plugins/translate/translate.min.js +1 -1
- package/es5/plugins/tune-block/tune-block.css +1 -1
- package/es5/plugins/tune-block/tune-block.js +1 -1
- package/es5/plugins/tune-block/tune-block.min.js +1 -1
- package/es5/polyfills.fat.min.js +1 -1
- package/es5/polyfills.js +1 -1
- package/es5/polyfills.min.js +1 -1
- package/esm/plugins/ai-assistant-pro/ai-assistant-pro.js +2 -2
- package/esm/plugins/ai-assistant-pro/core/panel-resize.d.ts +4 -0
- package/esm/plugins/ai-assistant-pro/core/panel-resize.js +1 -1
- package/esm/plugins/backup/ui/item.js +1 -1
- package/esm/plugins/button-generator/ui/form/form.js +2 -2
- package/package.json +1 -1
- package/types/plugins/ai-assistant-pro/core/panel-resize.d.ts +4 -0
package/es2015/jodit.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* jodit-pro - PRO Version of Jodit Editor
|
|
3
3
|
* Author: Chupurnov Valerii <chupurnov@gmail.com>
|
|
4
|
-
* Version: v4.18.
|
|
4
|
+
* Version: v4.18.12
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -1814,7 +1814,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1814
1814
|
* ```
|
|
1815
1815
|
* @packageDocumentation
|
|
1816
1816
|
* @module constants
|
|
1817
|
-
*/ const APP_VERSION = "4.18.
|
|
1817
|
+
*/ const APP_VERSION = "4.18.12";
|
|
1818
1818
|
// prettier-ignore
|
|
1819
1819
|
const ES = "es2015";
|
|
1820
1820
|
const IS_ES_MODERN = true;
|
|
@@ -2532,6 +2532,8 @@ function cacheHTML(target, _, descriptor) {
|
|
|
2532
2532
|
*/
|
|
2533
2533
|
|
|
2534
2534
|
const componentRegistry = new Map();
|
|
2535
|
+
const decoratedClasses = new WeakSet();
|
|
2536
|
+
const warnedClasses = new WeakSet();
|
|
2535
2537
|
/**
|
|
2536
2538
|
* Decorate components and set status isReady after constructor
|
|
2537
2539
|
* @param constructorFunction - Component constructor class
|
|
@@ -2548,9 +2550,16 @@ const componentRegistry = new Map();
|
|
|
2548
2550
|
Object.setPrototypeOf(this, newConstructorFunction.prototype);
|
|
2549
2551
|
}
|
|
2550
2552
|
this.setStatus('ready');
|
|
2553
|
+
} else if (!_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_PROD && !decoratedClasses.has(this.constructor) && !warnedClasses.has(this.constructor)) {
|
|
2554
|
+
// Only the outermost class's decorator sets `ready`, so a subclass
|
|
2555
|
+
// without its own decorator stays in `beforeInit`. See #1685
|
|
2556
|
+
warnedClasses.add(this.constructor);
|
|
2557
|
+
console.warn(`Component "${this.constructor.name || (0,_helpers_utils_get_class_name_js__WEBPACK_IMPORTED_MODULE_1__.getClassName)(this)}" extends a @component class without being decorated itself, so it never becomes ready and its @watch, @debounce, @throttle and @hook handlers never run`);
|
|
2551
2558
|
}
|
|
2552
2559
|
}
|
|
2553
2560
|
}
|
|
2561
|
+
decoratedClasses.add(constructorFunction);
|
|
2562
|
+
decoratedClasses.add(newConstructorFunction);
|
|
2554
2563
|
const name = (0,_helpers_utils_get_class_name_js__WEBPACK_IMPORTED_MODULE_1__.getClassName)(constructorFunction.prototype);
|
|
2555
2564
|
if (componentRegistry.has(name) && !_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_PROD) {
|
|
2556
2565
|
throw new Error(`Component with name "${name}" is already registered`);
|
|
@@ -17628,6 +17637,7 @@ function _object_spread_props(target, source) {
|
|
|
17628
17637
|
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
17629
17638
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
17630
17639
|
};
|
|
17640
|
+
var Popup_1;
|
|
17631
17641
|
|
|
17632
17642
|
|
|
17633
17643
|
|
|
@@ -17644,7 +17654,7 @@ const EVENTS_FOR_AUTOCLOSE = [
|
|
|
17644
17654
|
'backSpaceAfterDelete',
|
|
17645
17655
|
'beforeCommandDelete'
|
|
17646
17656
|
];
|
|
17647
|
-
class Popup extends _group_group_js__WEBPACK_IMPORTED_MODULE_8__.UIGroup {
|
|
17657
|
+
let Popup = Popup_1 = class Popup extends _group_group_js__WEBPACK_IMPORTED_MODULE_8__.UIGroup {
|
|
17648
17658
|
className() {
|
|
17649
17659
|
return 'Popup';
|
|
17650
17660
|
}
|
|
@@ -17654,7 +17664,7 @@ class Popup extends _group_group_js__WEBPACK_IMPORTED_MODULE_8__.UIGroup {
|
|
|
17654
17664
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(content, childContainer);
|
|
17655
17665
|
}
|
|
17656
17666
|
updateParentElement(target) {
|
|
17657
|
-
if (target !== this && _component_component_js__WEBPACK_IMPORTED_MODULE_0__.Component.isInstanceOf(target,
|
|
17667
|
+
if (target !== this && _component_component_js__WEBPACK_IMPORTED_MODULE_0__.Component.isInstanceOf(target, Popup_1)) {
|
|
17658
17668
|
this.__childrenPopups.forEach((popup)=>{
|
|
17659
17669
|
if (!target.closest(popup) && popup.isOpened) {
|
|
17660
17670
|
popup.close();
|
|
@@ -17696,7 +17706,7 @@ class Popup extends _group_group_js__WEBPACK_IMPORTED_MODULE_8__.UIGroup {
|
|
|
17696
17706
|
if (parentContainer) {
|
|
17697
17707
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(parentContainer, this.container);
|
|
17698
17708
|
} else {
|
|
17699
|
-
const popupContainer = (0,_global_js__WEBPACK_IMPORTED_MODULE_3__.getContainer)(this.jodit,
|
|
17709
|
+
const popupContainer = (0,_global_js__WEBPACK_IMPORTED_MODULE_3__.getContainer)(this.jodit, Popup_1);
|
|
17700
17710
|
if (parentContainer !== this.container.parentElement) {
|
|
17701
17711
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(popupContainer, this.container);
|
|
17702
17712
|
}
|
|
@@ -17808,11 +17818,11 @@ class Popup extends _group_group_js__WEBPACK_IMPORTED_MODULE_8__.UIGroup {
|
|
|
17808
17818
|
};
|
|
17809
17819
|
const getMatchStrategy = (inBox)=>{
|
|
17810
17820
|
let strategy;
|
|
17811
|
-
if (
|
|
17821
|
+
if (Popup_1.boxInView(getPointByStrategy(defaultStrategy), inBox)) {
|
|
17812
17822
|
strategy = defaultStrategy;
|
|
17813
17823
|
} else {
|
|
17814
17824
|
strategy = list.find((key)=>{
|
|
17815
|
-
if (
|
|
17825
|
+
if (Popup_1.boxInView(getPointByStrategy(key), inBox)) {
|
|
17816
17826
|
return key;
|
|
17817
17827
|
}
|
|
17818
17828
|
return;
|
|
@@ -17823,7 +17833,7 @@ class Popup extends _group_group_js__WEBPACK_IMPORTED_MODULE_8__.UIGroup {
|
|
|
17823
17833
|
// Try to find match position inside Jodit.container
|
|
17824
17834
|
let strategy = getMatchStrategy((0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.position)(this.j.container, this.j));
|
|
17825
17835
|
// If not found or is not inside window view
|
|
17826
|
-
if (!strategy || !
|
|
17836
|
+
if (!strategy || !Popup_1.boxInView(getPointByStrategy(strategy), view)) {
|
|
17827
17837
|
// Find match strategy inside window view
|
|
17828
17838
|
strategy = getMatchStrategy(view) || strategy || defaultStrategy;
|
|
17829
17839
|
}
|
|
@@ -17873,7 +17883,7 @@ class Popup extends _group_group_js__WEBPACK_IMPORTED_MODULE_8__.UIGroup {
|
|
|
17873
17883
|
if (!e.target) {
|
|
17874
17884
|
return false;
|
|
17875
17885
|
}
|
|
17876
|
-
const box = _element_js__WEBPACK_IMPORTED_MODULE_7__.UIElement.closestElement(e.target,
|
|
17886
|
+
const box = _element_js__WEBPACK_IMPORTED_MODULE_7__.UIElement.closestElement(e.target, Popup_1);
|
|
17877
17887
|
return Boolean(box && (this === box || box.closest(this)));
|
|
17878
17888
|
}
|
|
17879
17889
|
__addGlobalListeners() {
|
|
@@ -17928,7 +17938,7 @@ class Popup extends _group_group_js__WEBPACK_IMPORTED_MODULE_8__.UIGroup {
|
|
|
17928
17938
|
this.__childrenPopups = new Set();
|
|
17929
17939
|
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(this.container, 'role', 'popup');
|
|
17930
17940
|
}
|
|
17931
|
-
}
|
|
17941
|
+
};
|
|
17932
17942
|
__decorate([
|
|
17933
17943
|
_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.autobind
|
|
17934
17944
|
], Popup.prototype, "updatePosition", null);
|
|
@@ -17942,6 +17952,10 @@ __decorate([
|
|
|
17942
17952
|
__decorate([
|
|
17943
17953
|
_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.autobind
|
|
17944
17954
|
], Popup.prototype, "__closeOnOutsideClick", null);
|
|
17955
|
+
Popup = Popup_1 = __decorate([
|
|
17956
|
+
_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.component
|
|
17957
|
+
], Popup);
|
|
17958
|
+
|
|
17945
17959
|
|
|
17946
17960
|
|
|
17947
17961
|
/***/ }),
|
|
@@ -19165,7 +19179,7 @@ let Jodit = Jodit_1 = class Jodit extends _modules_index_js__WEBPACK_IMPORTED_MO
|
|
|
19165
19179
|
commands.push(command);
|
|
19166
19180
|
if (!(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.isFunction)(command)) {
|
|
19167
19181
|
const hotkeys = this.o.commandToHotkeys[commandName] || this.o.commandToHotkeys[commandNameOriginal] || command.hotkeys;
|
|
19168
|
-
if (hotkeys) {
|
|
19182
|
+
if (hotkeys && hotkeys.length) {
|
|
19169
19183
|
this.registerHotkeyToCommand(hotkeys, commandName, options === null || options === void 0 ? void 0 : options.stopPropagation);
|
|
19170
19184
|
}
|
|
19171
19185
|
}
|
|
@@ -19174,6 +19188,10 @@ let Jodit = Jodit_1 = class Jodit extends _modules_index_js__WEBPACK_IMPORTED_MO
|
|
|
19174
19188
|
/**
|
|
19175
19189
|
* Register hotkey for command
|
|
19176
19190
|
*/ registerHotkeyToCommand(hotkeys, commandName, shouldStop = true) {
|
|
19191
|
+
// An empty list (e.g. `commandToHotkeys: { cmd: [] }`) turns the key off
|
|
19192
|
+
if (!hotkeys || !hotkeys.length) {
|
|
19193
|
+
return;
|
|
19194
|
+
}
|
|
19177
19195
|
const shortcuts = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.asArray)(hotkeys).map(_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.normalizeKeyAliases).map((hotkey)=>hotkey + '.hotkey').join(' ');
|
|
19178
19196
|
this.e.off(shortcuts).on(shortcuts, (type, stop)=>{
|
|
19179
19197
|
if (stop) {
|
|
@@ -26579,6 +26597,9 @@ var Dialog_1;
|
|
|
26579
26597
|
|
|
26580
26598
|
|
|
26581
26599
|
|
|
26600
|
+
/**
|
|
26601
|
+
* A position from 0 up to `max`, or 0 when the panel is larger than the window
|
|
26602
|
+
*/ const clampToWindow = (value, max)=>Math.max(0, Math.min(value, max));
|
|
26582
26603
|
_config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.dialog = {
|
|
26583
26604
|
namespace: '',
|
|
26584
26605
|
extraButtons: [],
|
|
@@ -26671,6 +26692,11 @@ _config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.controls.dialog = {
|
|
|
26671
26692
|
this.startY = e.clientY;
|
|
26672
26693
|
this.startPoint.x = (0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.css)(this.dialog, 'left');
|
|
26673
26694
|
this.startPoint.y = (0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.css)(this.dialog, 'top');
|
|
26695
|
+
// Rounded up: at the right edge a fraction of a pixel less room would
|
|
26696
|
+
// wrap the header of a panel that has no width of its own
|
|
26697
|
+
const { width, height } = this.dialog.getBoundingClientRect();
|
|
26698
|
+
this.startPoint.w = Math.ceil(width);
|
|
26699
|
+
this.startPoint.h = Math.ceil(height);
|
|
26674
26700
|
this.setMaxZIndex();
|
|
26675
26701
|
if (e.cancelable) {
|
|
26676
26702
|
e.preventDefault();
|
|
@@ -26686,7 +26712,11 @@ _config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.controls.dialog = {
|
|
|
26686
26712
|
}
|
|
26687
26713
|
__onMouseMove(e) {
|
|
26688
26714
|
if (this.draggable && this.o.draggable) {
|
|
26689
|
-
|
|
26715
|
+
const { documentElement } = this.od;
|
|
26716
|
+
// Keep the whole panel in the window at the size it had when the
|
|
26717
|
+
// drag began. A panel with no width of its own would otherwise
|
|
26718
|
+
// shrink as it neared the right edge, and then leave the window
|
|
26719
|
+
this.setPosition(clampToWindow(this.startPoint.x + e.clientX - this.startX, (documentElement.clientWidth || this.ow.innerWidth) - this.startPoint.w), clampToWindow(this.startPoint.y + e.clientY - this.startY, (documentElement.clientHeight || this.ow.innerHeight) - this.startPoint.h));
|
|
26690
26720
|
if (this.e) {
|
|
26691
26721
|
/**
|
|
26692
26722
|
* Fired when dialog box is moved
|
|
@@ -26812,8 +26842,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.controls.dialog = {
|
|
|
26812
26842
|
}
|
|
26813
26843
|
// strings on purpose: `css()` would truncate fractional pixels
|
|
26814
26844
|
;(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.css)(this.dialog, {
|
|
26815
|
-
left: (x
|
|
26816
|
-
top: (y
|
|
26845
|
+
left: (x !== null && x !== void 0 ? x : left) + 'px',
|
|
26846
|
+
top: (y !== null && y !== void 0 ? y : top) + 'px'
|
|
26817
26847
|
});
|
|
26818
26848
|
return this;
|
|
26819
26849
|
}
|
|
@@ -29513,17 +29543,29 @@ const DEFAULT_SOURCE_NAME = 'default';
|
|
|
29513
29543
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
29514
29544
|
/* harmony export */ FileBrowserFiles: function() { return /* binding */ FileBrowserFiles; }
|
|
29515
29545
|
/* harmony export */ });
|
|
29516
|
-
/* harmony import */ var
|
|
29546
|
+
/* harmony import */ var _core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65478);
|
|
29547
|
+
/* harmony import */ var _core_ui_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67510);
|
|
29517
29548
|
/*!
|
|
29518
29549
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
29519
29550
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
29520
29551
|
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
29521
|
-
*/
|
|
29522
|
-
|
|
29552
|
+
*/ var __decorate = undefined && undefined.__decorate || function(decorators, target, key, desc) {
|
|
29553
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
29554
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
29555
|
+
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
29556
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
29557
|
+
};
|
|
29558
|
+
|
|
29559
|
+
|
|
29560
|
+
let FileBrowserFiles = class FileBrowserFiles extends _core_ui_index_js__WEBPACK_IMPORTED_MODULE_1__.UIGroup {
|
|
29523
29561
|
className() {
|
|
29524
29562
|
return 'FileBrowserFiles';
|
|
29525
29563
|
}
|
|
29526
|
-
}
|
|
29564
|
+
};
|
|
29565
|
+
FileBrowserFiles = __decorate([
|
|
29566
|
+
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.component
|
|
29567
|
+
], FileBrowserFiles);
|
|
29568
|
+
|
|
29527
29569
|
|
|
29528
29570
|
|
|
29529
29571
|
/***/ }),
|
|
@@ -29555,17 +29597,29 @@ class FileBrowserFiles extends _core_ui_index_js__WEBPACK_IMPORTED_MODULE_0__.UI
|
|
|
29555
29597
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
29556
29598
|
/* harmony export */ FileBrowserTree: function() { return /* binding */ FileBrowserTree; }
|
|
29557
29599
|
/* harmony export */ });
|
|
29558
|
-
/* harmony import */ var
|
|
29600
|
+
/* harmony import */ var _core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65478);
|
|
29601
|
+
/* harmony import */ var _core_ui_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67510);
|
|
29559
29602
|
/*!
|
|
29560
29603
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
29561
29604
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
29562
29605
|
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
29563
|
-
*/
|
|
29564
|
-
|
|
29606
|
+
*/ var __decorate = undefined && undefined.__decorate || function(decorators, target, key, desc) {
|
|
29607
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
29608
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
29609
|
+
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
29610
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
29611
|
+
};
|
|
29612
|
+
|
|
29613
|
+
|
|
29614
|
+
let FileBrowserTree = class FileBrowserTree extends _core_ui_index_js__WEBPACK_IMPORTED_MODULE_1__.UIGroup {
|
|
29565
29615
|
className() {
|
|
29566
29616
|
return 'FileBrowserTree';
|
|
29567
29617
|
}
|
|
29568
|
-
}
|
|
29618
|
+
};
|
|
29619
|
+
FileBrowserTree = __decorate([
|
|
29620
|
+
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.component
|
|
29621
|
+
], FileBrowserTree);
|
|
29622
|
+
|
|
29569
29623
|
|
|
29570
29624
|
|
|
29571
29625
|
/***/ }),
|
|
@@ -35364,6 +35418,9 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('backspace', backs
|
|
|
35364
35418
|
* Check if two separate elements can be connected
|
|
35365
35419
|
* @private
|
|
35366
35420
|
*/ function checkJoinNeighbors(jodit, fakeNode, backspace) {
|
|
35421
|
+
if (checkJoinBareText(jodit, fakeNode, backspace)) {
|
|
35422
|
+
return true;
|
|
35423
|
+
}
|
|
35367
35424
|
let nextBox = fakeNode, mainClosestBox = nextBox;
|
|
35368
35425
|
// Find the main big closest element
|
|
35369
35426
|
while(nextBox && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.findNotEmptySibling(nextBox, backspace) && nextBox.parentElement !== jodit.editor){
|
|
@@ -35391,7 +35448,7 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('backspace', backs
|
|
|
35391
35448
|
return true;
|
|
35392
35449
|
}
|
|
35393
35450
|
const box = findCaretBox(fakeNode, mainClosestBox);
|
|
35394
|
-
if (sibling && (checkPullNextLine(jodit, fakeNode, box, sibling, backspace) || checkMoveListContent(jodit, box, sibling, backspace) || moveContentAndRemoveEmpty(jodit, box, findEdgeBlock(resolveTableSibling(sibling, backspace), backspace, jodit.editor), backspace))) {
|
|
35451
|
+
if (sibling && (checkPullNextLine(jodit, fakeNode, box, sibling, backspace) || checkMoveListContent(jodit, box, sibling, backspace) || checkJoinInlineSibling(jodit, box, sibling, backspace) || moveContentAndRemoveEmpty(jodit, box, findEdgeBlock(resolveTableSibling(sibling, backspace), backspace, jodit.editor), backspace))) {
|
|
35395
35452
|
jodit.s.setCursorBefore(fakeNode);
|
|
35396
35453
|
return true;
|
|
35397
35454
|
}
|
|
@@ -35476,6 +35533,70 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('backspace', backs
|
|
|
35476
35533
|
}
|
|
35477
35534
|
return true;
|
|
35478
35535
|
}
|
|
35536
|
+
/**
|
|
35537
|
+
* A block next to bare text in the same parent joins that text, as the
|
|
35538
|
+
* browsers do: `<li>one<p>|two</p></li>` gives `<li>one|two</li>`, and
|
|
35539
|
+
* `<li><p>one|</p>two</li>` gives `<li><p>one|two</p></li>`
|
|
35540
|
+
* @private
|
|
35541
|
+
*/ function checkJoinInlineSibling(jodit, box, sibling, backspace) {
|
|
35542
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(sibling) || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(box) || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isList(box) || // The caret's block is nested deeper than the text: `text<div><p>|x</p></div>`
|
|
35543
|
+
box.parentNode !== sibling.parentNode || Array.from(box.childNodes).some((node)=>_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(node))) {
|
|
35544
|
+
return false;
|
|
35545
|
+
}
|
|
35546
|
+
if (backspace) {
|
|
35547
|
+
// Text after the block keeps its own line
|
|
35548
|
+
const next = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.findNotEmptySibling(box, false);
|
|
35549
|
+
if (next && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(next) && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(next, 'br')) {
|
|
35550
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.after(box, jodit.createInside.element('br'));
|
|
35551
|
+
}
|
|
35552
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.unwrap(box);
|
|
35553
|
+
return true;
|
|
35554
|
+
}
|
|
35555
|
+
const filter = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_2__.getMoveFilter)(jodit);
|
|
35556
|
+
for(let node = sibling; node && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(node);){
|
|
35557
|
+
const next = node.nextSibling;
|
|
35558
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(node, 'br')) {
|
|
35559
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(node);
|
|
35560
|
+
break;
|
|
35561
|
+
}
|
|
35562
|
+
filter(node) ? _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.append(box, node) : _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(node);
|
|
35563
|
+
node = next;
|
|
35564
|
+
}
|
|
35565
|
+
return true;
|
|
35566
|
+
}
|
|
35567
|
+
/**
|
|
35568
|
+
* Bare text next to a block in the same parent, as the browsers join them:
|
|
35569
|
+
* Backspace in `<div><p>a</p>|b</div>` gives `<div><p>a|b</p></div>`, Delete
|
|
35570
|
+
* in `<div>a|<p>b</p>c</div>` gives `<div>a|b<br>c</div>`
|
|
35571
|
+
*/ function checkJoinBareText(jodit, fakeNode, backspace) {
|
|
35572
|
+
const block = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.findNotEmptySibling(fakeNode, backspace);
|
|
35573
|
+
if (!_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isElement(block) || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(block) || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isList(block) || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(block, 'table') || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isCell(block) || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isContentEditable(block, jodit.editor) || Array.from(block.childNodes).some((node)=>_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(node))) {
|
|
35574
|
+
return false;
|
|
35575
|
+
}
|
|
35576
|
+
const filter = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_2__.getMoveFilter)(jodit);
|
|
35577
|
+
if (backspace) {
|
|
35578
|
+
// The caret's line goes to the end of the block before it
|
|
35579
|
+
for(let node = fakeNode; node && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(node);){
|
|
35580
|
+
const next = node.nextSibling;
|
|
35581
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(node, 'br')) {
|
|
35582
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(node);
|
|
35583
|
+
break;
|
|
35584
|
+
}
|
|
35585
|
+
filter(node) ? _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.append(block, node) : _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(node);
|
|
35586
|
+
node = next;
|
|
35587
|
+
}
|
|
35588
|
+
} else {
|
|
35589
|
+
// The block's content joins the caret's line, and text after the
|
|
35590
|
+
// block keeps its own line
|
|
35591
|
+
const next = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.findNotEmptySibling(block, false);
|
|
35592
|
+
if (next && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(next) && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(next, 'br')) {
|
|
35593
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.after(block, jodit.createInside.element('br'));
|
|
35594
|
+
}
|
|
35595
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.unwrap(block);
|
|
35596
|
+
}
|
|
35597
|
+
jodit.s.setCursorBefore(fakeNode);
|
|
35598
|
+
return true;
|
|
35599
|
+
}
|
|
35479
35600
|
function checkMoveListContent(jodit, mainClosestBox, sibling, backspace) {
|
|
35480
35601
|
// Process UL/LI/OL cases
|
|
35481
35602
|
const siblingIsList = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(sibling, _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.LIST_TAGS);
|
|
@@ -35617,9 +35738,10 @@ function moveContentAndRemoveEmpty(jodit, mainClosestBox, sibling, backspace) {
|
|
|
35617
35738
|
* ```html
|
|
35618
35739
|
* t|st
|
|
35619
35740
|
* ```
|
|
35741
|
+
* With `stopBeforeSpace`, nothing is removed when the next char is a space.
|
|
35620
35742
|
* @private
|
|
35621
35743
|
*/ // eslint-disable-next-line complexity
|
|
35622
|
-
function checkRemoveChar(jodit, fakeNode, backspace, mode) {
|
|
35744
|
+
function checkRemoveChar(jodit, fakeNode, backspace, mode, stopBeforeSpace = false) {
|
|
35623
35745
|
var _a, _b;
|
|
35624
35746
|
const step = backspace ? -1 : 1;
|
|
35625
35747
|
const anotherSibling = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.sibling(fakeNode, !backspace);
|
|
@@ -35638,6 +35760,9 @@ function checkRemoveChar(jodit, fakeNode, backspace, mode) {
|
|
|
35638
35760
|
break;
|
|
35639
35761
|
}
|
|
35640
35762
|
if ((_a = sibling.nodeValue) === null || _a === void 0 ? void 0 : _a.length) {
|
|
35763
|
+
if (stopBeforeSpace && isSpace(nextChar(sibling.nodeValue, backspace))) {
|
|
35764
|
+
break;
|
|
35765
|
+
}
|
|
35641
35766
|
removed = tryRemoveChar(sibling, backspace, step, anotherSibling);
|
|
35642
35767
|
if (!sibling.nodeValue.length && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isInlineBlock(sibling.parentNode)) {
|
|
35643
35768
|
sibling.nodeValue = _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE;
|
|
@@ -35675,10 +35800,11 @@ function getNextInlineSibling(sibling, backspace, root) {
|
|
|
35675
35800
|
let nextSibling = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.sibling(sibling, backspace);
|
|
35676
35801
|
if (!nextSibling && sibling.parentNode && sibling.parentNode !== root) {
|
|
35677
35802
|
nextSibling = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_3__.findMostNestedNeighbor)(sibling, !backspace, root, true);
|
|
35678
|
-
// Do not cross a
|
|
35679
|
-
// neighbor can be the text of the parent/previous item
|
|
35680
|
-
//
|
|
35681
|
-
|
|
35803
|
+
// Do not cross a block boundary. At the start of a list item the
|
|
35804
|
+
// neighbor can be the text of the parent/previous item (#1277), and at
|
|
35805
|
+
// the start of a paragraph the text before it in the same parent
|
|
35806
|
+
// (#1693); deleting a char there is wrong — the join cases handle them.
|
|
35807
|
+
if (nextSibling && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(sibling, _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock, root) !== _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(nextSibling, _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock, root)) {
|
|
35682
35808
|
return null;
|
|
35683
35809
|
}
|
|
35684
35810
|
}
|
|
@@ -35745,10 +35871,26 @@ function replaceSpaceOnNBSP(anotherSibling, backspace, value) {
|
|
|
35745
35871
|
}
|
|
35746
35872
|
function checkRepeatRemoveCharAction(backspace, sibling, fakeNode, mode, removed, jodit) {
|
|
35747
35873
|
;(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.call)(backspace ? _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.after : _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.before, sibling, fakeNode);
|
|
35748
|
-
|
|
35749
|
-
|
|
35874
|
+
const wordChar = mode === 'word' && !isSpace(removed);
|
|
35875
|
+
// Backspace by word removes the spaces before the caret, then the word, and keeps the space in front of it
|
|
35876
|
+
if (mode === 'sentence' || wordChar || mode === 'word' && backspace) {
|
|
35877
|
+
checkRemoveChar(jodit, fakeNode, backspace, mode, wordChar && backspace);
|
|
35750
35878
|
}
|
|
35751
35879
|
}
|
|
35880
|
+
/**
|
|
35881
|
+
* The char tryRemoveChar would remove next
|
|
35882
|
+
*/ function nextChar(value, backspace) {
|
|
35883
|
+
const chars = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.toArray)(value);
|
|
35884
|
+
const step = backspace ? -1 : 1;
|
|
35885
|
+
let index = backspace ? chars.length - 1 : 0;
|
|
35886
|
+
while(chars[index] === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE){
|
|
35887
|
+
index += step;
|
|
35888
|
+
}
|
|
35889
|
+
return chars[index];
|
|
35890
|
+
}
|
|
35891
|
+
function isSpace(char) {
|
|
35892
|
+
return char === ' ' || char === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.NBSP_SPACE;
|
|
35893
|
+
}
|
|
35752
35894
|
|
|
35753
35895
|
|
|
35754
35896
|
/***/ }),
|
|
@@ -36024,6 +36166,66 @@ function checkRepeatRemoveCharAction(backspace, sibling, fakeNode, mode, removed
|
|
|
36024
36166
|
}
|
|
36025
36167
|
|
|
36026
36168
|
|
|
36169
|
+
/***/ }),
|
|
36170
|
+
|
|
36171
|
+
/***/ 70921:
|
|
36172
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
36173
|
+
|
|
36174
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
36175
|
+
/* harmony export */ checkUnwrapListItem: function() { return /* binding */ checkUnwrapListItem; }
|
|
36176
|
+
/* harmony export */ });
|
|
36177
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
36178
|
+
/*!
|
|
36179
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
36180
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
36181
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
36182
|
+
*/
|
|
36183
|
+
/**
|
|
36184
|
+
* Backspace at the start of a later list item takes the bullet off, as Word
|
|
36185
|
+
* does: the item becomes a paragraph where it was, and the list is split
|
|
36186
|
+
* around it. A split `<ol>` carries its numbering on with `start`.
|
|
36187
|
+
*
|
|
36188
|
+
* @example
|
|
36189
|
+
* ```html
|
|
36190
|
+
* <ol><li>first</li><li>|second</li><li>third</li></ol>
|
|
36191
|
+
* ```
|
|
36192
|
+
* Result
|
|
36193
|
+
* ```html
|
|
36194
|
+
* <ol><li>first</li></ol><p>|second</p><ol start="2"><li>third</li></ol>
|
|
36195
|
+
* ```
|
|
36196
|
+
*
|
|
36197
|
+
* @private
|
|
36198
|
+
*/ function checkUnwrapListItem(jodit, fakeNode, backspace) {
|
|
36199
|
+
if (!backspace) {
|
|
36200
|
+
return false;
|
|
36201
|
+
}
|
|
36202
|
+
const li = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(fakeNode, 'li', jodit.editor);
|
|
36203
|
+
const list = li ? li.parentElement : null;
|
|
36204
|
+
if (!li || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isList(list) || !li.previousElementSibling || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmpty(li) || Array.from(li.childNodes).some((node)=>_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock(node)) || !jodit.s.cursorInTheEdge(true, li)) {
|
|
36205
|
+
return false;
|
|
36206
|
+
}
|
|
36207
|
+
const p = jodit.createInside.element(jodit.o.enterBlock);
|
|
36208
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(list, p);
|
|
36209
|
+
if (li.nextElementSibling) {
|
|
36210
|
+
const rest = list.cloneNode(false);
|
|
36211
|
+
// Two lists cannot share one id
|
|
36212
|
+
rest.removeAttribute('id');
|
|
36213
|
+
while(li.nextSibling){
|
|
36214
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.append(rest, li.nextSibling);
|
|
36215
|
+
}
|
|
36216
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(list, 'ol')) {
|
|
36217
|
+
const start = parseInt(list.getAttribute('start') || '1', 10) || 1;
|
|
36218
|
+
rest.setAttribute('start', String(start + list.children.length - 1));
|
|
36219
|
+
}
|
|
36220
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(p, rest);
|
|
36221
|
+
}
|
|
36222
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.moveContent(li, p);
|
|
36223
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(li);
|
|
36224
|
+
jodit.s.setCursorBefore(fakeNode);
|
|
36225
|
+
return true;
|
|
36226
|
+
}
|
|
36227
|
+
|
|
36228
|
+
|
|
36027
36229
|
/***/ }),
|
|
36028
36230
|
|
|
36029
36231
|
/***/ 14630:
|
|
@@ -36039,6 +36241,7 @@ function checkRepeatRemoveCharAction(backspace, sibling, fakeNode, mode, removed
|
|
|
36039
36241
|
/* harmony import */ var _check_remove_unbreakable_element_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(56825);
|
|
36040
36242
|
/* harmony import */ var _check_table_cell_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(90240);
|
|
36041
36243
|
/* harmony import */ var _check_unwrap_first_list_item_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(68034);
|
|
36244
|
+
/* harmony import */ var _check_unwrap_list_item_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(70921);
|
|
36042
36245
|
/*!
|
|
36043
36246
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
36044
36247
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -36052,6 +36255,7 @@ function checkRepeatRemoveCharAction(backspace, sibling, fakeNode, mode, removed
|
|
|
36052
36255
|
|
|
36053
36256
|
|
|
36054
36257
|
|
|
36258
|
+
|
|
36055
36259
|
/**
|
|
36056
36260
|
* Ordered delete/backspace cases with stable keys. The first one returning
|
|
36057
36261
|
* `true` wins. The keys are stable across minified builds (function names are
|
|
@@ -36086,6 +36290,10 @@ function checkRepeatRemoveCharAction(backspace, sibling, fakeNode, mode, removed
|
|
|
36086
36290
|
'join-two-lists',
|
|
36087
36291
|
_check_join_two_lists_js__WEBPACK_IMPORTED_MODULE_1__.checkJoinTwoLists
|
|
36088
36292
|
],
|
|
36293
|
+
[
|
|
36294
|
+
'unwrap-list-item',
|
|
36295
|
+
_check_unwrap_list_item_js__WEBPACK_IMPORTED_MODULE_9__.checkUnwrapListItem
|
|
36296
|
+
],
|
|
36089
36297
|
[
|
|
36090
36298
|
'join-neighbors',
|
|
36091
36299
|
_check_join_neighbors_js__WEBPACK_IMPORTED_MODULE_0__.checkJoinNeighbors
|
|
@@ -36110,7 +36318,8 @@ function checkRepeatRemoveCharAction(backspace, sibling, fakeNode, mode, removed
|
|
|
36110
36318
|
/***/ 32496:
|
|
36111
36319
|
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
|
|
36112
36320
|
|
|
36113
|
-
/* harmony import */ var
|
|
36321
|
+
/* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
36322
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6441);
|
|
36114
36323
|
/*!
|
|
36115
36324
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
36116
36325
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -36118,13 +36327,18 @@ function checkRepeatRemoveCharAction(backspace, sibling, fakeNode, mode, removed
|
|
|
36118
36327
|
*/ /**
|
|
36119
36328
|
* @module plugins/backspace
|
|
36120
36329
|
*/
|
|
36121
|
-
|
|
36330
|
+
|
|
36331
|
+
_config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.delete = {
|
|
36122
36332
|
hotkeys: {
|
|
36123
|
-
delete: [
|
|
36333
|
+
delete: _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_MAC ? [
|
|
36334
|
+
'delete'
|
|
36335
|
+
] : [
|
|
36124
36336
|
'delete',
|
|
36125
36337
|
'cmd+backspace'
|
|
36126
36338
|
],
|
|
36127
|
-
deleteWord: [
|
|
36339
|
+
deleteWord: _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_MAC ? [
|
|
36340
|
+
'ctrl+delete'
|
|
36341
|
+
] : [
|
|
36128
36342
|
'ctrl+delete',
|
|
36129
36343
|
'cmd+alt+backspace',
|
|
36130
36344
|
'ctrl+alt+backspace'
|
|
@@ -36136,7 +36350,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.delete = {
|
|
|
36136
36350
|
backspace: [
|
|
36137
36351
|
'backspace'
|
|
36138
36352
|
],
|
|
36139
|
-
backspaceWord: [
|
|
36353
|
+
backspaceWord: _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_MAC ? [] : [
|
|
36140
36354
|
'ctrl+backspace'
|
|
36141
36355
|
],
|
|
36142
36356
|
backspaceSentence: [
|
|
@@ -39772,7 +39986,7 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_1__.pluginSystem.add('dtd', dtd);
|
|
|
39772
39986
|
]);
|
|
39773
39987
|
let block = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_6__.getBlockWrapper)(fake, jodit);
|
|
39774
39988
|
const isLi = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isLeaf(block);
|
|
39775
|
-
// if use <br> defaultTag for break line or when was entered SHIFt key or in <td
|
|
39989
|
+
// if use <br> defaultTag for break line or when was entered SHIFt key or in <td>, <th> or <blockquote> without an inner block
|
|
39776
39990
|
if ((!isLi || (event === null || event === void 0 ? void 0 : event.shiftKey)) && (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_6__.checkBR)(fake, jodit, event === null || event === void 0 ? void 0 : event.shiftKey, block)) {
|
|
39777
39991
|
return false;
|
|
39778
39992
|
}
|
|
@@ -39833,10 +40047,9 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_3__.pluginSystem.add('enter', enter);
|
|
|
39833
40047
|
* Checks the possibility and necessity of inserting a BR instead of a block
|
|
39834
40048
|
* @private
|
|
39835
40049
|
*/ function checkBR(fake, jodit, shiftKeyPressed, block) {
|
|
39836
|
-
|
|
39837
|
-
|
|
39838
|
-
|
|
39839
|
-
], jodit.editor));
|
|
40050
|
+
// Text in a <pre>, or bare text in a quote, gets a BR. A real block inside
|
|
40051
|
+
// a quote (<p>, <h3>, ...) is split like anywhere else, as in a cell below.
|
|
40052
|
+
const isMultiLineBlock = Boolean(_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(fake, 'pre', jodit.editor)) || (block ? _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(block, 'blockquote') : Boolean(_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(fake, 'blockquote', jodit.editor)));
|
|
39840
40053
|
// A cell itself can't be split into two cells, so bare cell content gets
|
|
39841
40054
|
// a BR. But when the cell already holds a real block (<p>, <h3>, ...) that
|
|
39842
40055
|
// block is split like anywhere else, otherwise every line of the cell
|
|
@@ -39846,7 +40059,7 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_3__.pluginSystem.add('enter', enter);
|
|
|
39846
40059
|
'th'
|
|
39847
40060
|
], jodit.editor)));
|
|
39848
40061
|
const isBRMode = jodit.o.enter.toLowerCase() === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.BR.toLowerCase();
|
|
39849
|
-
// if you use <br> defaultTag for break line or when was entered SHIFt key or in <td
|
|
40062
|
+
// if you use <br> defaultTag for break line or when was entered SHIFt key or in <td>, <th> or <blockquote> without an inner block
|
|
39850
40063
|
if (isBRMode || isCell || shiftKeyPressed && !isMultiLineBlock || !shiftKeyPressed && isMultiLineBlock) {
|
|
39851
40064
|
// 2 BR before
|
|
39852
40065
|
if (isMultiLineBlock && checkSeveralBR(fake)) {
|
|
@@ -42247,8 +42460,12 @@ function _async_to_generator(fn) {
|
|
|
42247
42460
|
dialog.close();
|
|
42248
42461
|
});
|
|
42249
42462
|
buttons.remove.onAction(()=>{
|
|
42463
|
+
const caret = j.s.createRange();
|
|
42464
|
+
caret.setStartBefore(this.state.sourceImage);
|
|
42465
|
+
caret.collapse(true);
|
|
42250
42466
|
j.s.removeNode(this.state.sourceImage);
|
|
42251
42467
|
dialog.close();
|
|
42468
|
+
j.s.selectRange(caret);
|
|
42252
42469
|
});
|
|
42253
42470
|
buttons.cancel.onAction(()=>{
|
|
42254
42471
|
dialog.close();
|
|
@@ -42262,10 +42479,20 @@ function _async_to_generator(fn) {
|
|
|
42262
42479
|
],
|
|
42263
42480
|
buttons.check
|
|
42264
42481
|
]);
|
|
42265
|
-
|
|
42266
|
-
|
|
42267
|
-
|
|
42482
|
+
// The dialog fires `afterClose` on its own emitter, not the editor's
|
|
42483
|
+
dialog.e.on(dialog, 'afterClose', ()=>{
|
|
42484
|
+
const { sourceImage } = this.state;
|
|
42485
|
+
if (j.isInDestruct || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isOrContains(j.editor, sourceImage)) {
|
|
42486
|
+
return;
|
|
42487
|
+
}
|
|
42488
|
+
if (j.o.image.selectImageAfterClose) {
|
|
42489
|
+
j.s.select(sourceImage);
|
|
42490
|
+
return;
|
|
42268
42491
|
}
|
|
42492
|
+
const caret = j.s.createRange();
|
|
42493
|
+
caret.setStartAfter(sourceImage);
|
|
42494
|
+
caret.collapse(true);
|
|
42495
|
+
j.s.selectRange(caret);
|
|
42269
42496
|
});
|
|
42270
42497
|
dialog.setSize(j.o.image.dialogWidth);
|
|
42271
42498
|
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.markOwner)(j, dialog.container);
|
|
@@ -42296,6 +42523,7 @@ function _async_to_generator(fn) {
|
|
|
42296
42523
|
this.activeTabState.activeTab = 'Image';
|
|
42297
42524
|
this.__lock();
|
|
42298
42525
|
this.dialog.open().setModal(true).setPosition();
|
|
42526
|
+
this.__focusFirstField();
|
|
42299
42527
|
this.async.promise((resolve, reject)=>(0,_readers_index_js__WEBPACK_IMPORTED_MODULE_10__.readValuesFromImage)(this.j, this.state).then(resolve, reject)).catch((e)=>{
|
|
42300
42528
|
if (!(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.isAbortError)(e)) {
|
|
42301
42529
|
this.dialog.message.error(e.message);
|
|
@@ -42303,6 +42531,14 @@ function _async_to_generator(fn) {
|
|
|
42303
42531
|
}).finally(()=>this.__unlock());
|
|
42304
42532
|
return false;
|
|
42305
42533
|
}
|
|
42534
|
+
/**
|
|
42535
|
+
* Keys typed while the dialog is open must not reach the editor behind it,
|
|
42536
|
+
* so focus the active tab's first field, or else the first field shown
|
|
42537
|
+
*/ __focusFirstField() {
|
|
42538
|
+
var _a;
|
|
42539
|
+
const fields = (box)=>(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.toArray)(box.querySelectorAll('input, select, textarea'));
|
|
42540
|
+
(_a = fields(this.form.getElm('tabsBox')).concat(fields(this.form.container)).find((field)=>field.offsetParent != null)) === null || _a === void 0 ? void 0 : _a.focus();
|
|
42541
|
+
}
|
|
42306
42542
|
__lock() {
|
|
42307
42543
|
this.dialog.lock();
|
|
42308
42544
|
this.form.setMod('lock', true);
|
|
@@ -46903,9 +47139,11 @@ const isButtonSeparator = (item)=>item === '|' || item === '---' || item === '\n
|
|
|
46903
47139
|
return cleaned;
|
|
46904
47140
|
}
|
|
46905
47141
|
/**
|
|
46906
|
-
* The width that decides which breakpoint set the toolbar uses
|
|
46907
|
-
*
|
|
46908
|
-
*
|
|
47142
|
+
* The width that decides which breakpoint set the toolbar uses: the editor's
|
|
47143
|
+
* own width, or its parent's while the editor has none yet (for example
|
|
47144
|
+
* while hidden at init). A toolbar rendered into an external container
|
|
47145
|
+
* (`toolbar` set to an element or a selector) lays out in that container, so
|
|
47146
|
+
* its width is what matters there.
|
|
46909
47147
|
*/ function adaptiveWidth(editor) {
|
|
46910
47148
|
var _a;
|
|
46911
47149
|
const { toolbar } = editor.o;
|
|
@@ -46915,7 +47153,7 @@ const isButtonSeparator = (item)=>item === '|' || item === '---' || item === '\n
|
|
|
46915
47153
|
return width;
|
|
46916
47154
|
}
|
|
46917
47155
|
}
|
|
46918
|
-
return ((_a = editor.container.parentElement) !== null && _a !== void 0 ? _a : editor.container).offsetWidth;
|
|
47156
|
+
return editor.container.offsetWidth || ((_a = editor.container.parentElement) !== null && _a !== void 0 ? _a : editor.container).offsetWidth;
|
|
46919
47157
|
}
|
|
46920
47158
|
/**
|
|
46921
47159
|
* Rebuild toolbar in depends on editor's width
|