jodit-pro 4.18.13 → 4.18.15
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 +5 -5
- package/es2015/jodit.js +331 -73
- package/es2015/jodit.min.js +9 -9
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- 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 +1 -1
- package/es2015/plugins/backup/backup.min.js +1 -1
- package/es2015/plugins/button-generator/button-generator.css +1 -1
- package/es2015/plugins/button-generator/button-generator.js +1 -1
- package/es2015/plugins/button-generator/button-generator.min.js +1 -1
- 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 +13 -13
- package/es2018/jodit.min.js +5 -5
- package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2018/plugins/backup/backup.min.js +1 -1
- package/es2018/plugins/button-generator/button-generator.min.js +1 -1
- 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 +14 -14
- package/es2021/jodit.js +331 -73
- package/es2021/jodit.min.js +6 -6
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- 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 +1 -1
- package/es2021/plugins/backup/backup.min.js +1 -1
- package/es2021/plugins/button-generator/button-generator.css +1 -1
- package/es2021/plugins/button-generator/button-generator.js +1 -1
- package/es2021/plugins/button-generator/button-generator.min.js +1 -1
- 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 +6 -6
- package/es2021.en/jodit.js +331 -73
- package/es2021.en/jodit.min.js +9 -9
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- 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 +1 -1
- package/es2021.en/plugins/backup/backup.min.js +1 -1
- package/es2021.en/plugins/button-generator/button-generator.css +1 -1
- package/es2021.en/plugins/button-generator/button-generator.js +1 -1
- package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
- 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 +378 -74
- 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 +1 -1
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- 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 +1 -1
- package/es5/plugins/backup/backup.min.js +1 -1
- package/es5/plugins/button-generator/button-generator.css +1 -1
- package/es5/plugins/button-generator/button-generator.js +1 -1
- package/es5/plugins/button-generator/button-generator.min.js +1 -1
- 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/package.json +1 -1
package/es5/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.15
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -1666,8 +1666,9 @@ var Async = /*#__PURE__*/ function() {
|
|
|
1666
1666
|
this.__controllers.forEach(function(controller) {
|
|
1667
1667
|
return controller.abort();
|
|
1668
1668
|
});
|
|
1669
|
-
|
|
1670
|
-
|
|
1669
|
+
// A labelled timer is kept under its label, so clear by the value
|
|
1670
|
+
this.timers.forEach(function(timer) {
|
|
1671
|
+
return (0,_helpers_async_index_js__WEBPACK_IMPORTED_MODULE_1__.clearTimeout)(timer);
|
|
1671
1672
|
});
|
|
1672
1673
|
this.timers.clear();
|
|
1673
1674
|
this.promisesRejections.forEach(function(reject) {
|
|
@@ -2331,7 +2332,7 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
2331
2332
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
2332
2333
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
2333
2334
|
}
|
|
2334
|
-
var APP_VERSION = "4.18.
|
|
2335
|
+
var APP_VERSION = "4.18.15";
|
|
2335
2336
|
// prettier-ignore
|
|
2336
2337
|
var ES = "es5";
|
|
2337
2338
|
var IS_ES_MODERN = false;
|
|
@@ -8922,8 +8923,10 @@ function normalizeCssValue(key, value) {
|
|
|
8922
8923
|
* ancestor's top-left corner. The returned offset should be subtracted from
|
|
8923
8924
|
* the desired viewport coordinates before applying them.
|
|
8924
8925
|
*
|
|
8925
|
-
*
|
|
8926
|
-
*
|
|
8926
|
+
* Without such an ancestor the containing block is the layout viewport. Its
|
|
8927
|
+
* offset is `{ x: 0, y: 0 }` in most browsers, but WebKit measures client
|
|
8928
|
+
* rects from the visual viewport, so once the page is pinch-zoomed and panned
|
|
8929
|
+
* the layout viewport starts above and to the left of the client origin.
|
|
8927
8930
|
*/ function getFixedPositionOffset(elm) {
|
|
8928
8931
|
var _a;
|
|
8929
8932
|
var win = (_a = elm.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;
|
|
@@ -8938,6 +8941,15 @@ function normalizeCssValue(key, value) {
|
|
|
8938
8941
|
}
|
|
8939
8942
|
node = node.parentElement;
|
|
8940
8943
|
}
|
|
8944
|
+
var vv = win === null || win === void 0 ? void 0 : win.visualViewport;
|
|
8945
|
+
// WebKit's `scrollX`/`scrollY` follow the visual viewport too (truncated),
|
|
8946
|
+
// where Blink's and Gecko's follow the layout viewport
|
|
8947
|
+
if (win && vv && (vv.offsetLeft || vv.offsetTop) && Math.abs(vv.pageLeft - win.scrollX) < 1 && Math.abs(vv.pageTop - win.scrollY) < 1) {
|
|
8948
|
+
return {
|
|
8949
|
+
x: -Math.round(vv.offsetLeft),
|
|
8950
|
+
y: -Math.round(vv.offsetTop)
|
|
8951
|
+
};
|
|
8952
|
+
}
|
|
8941
8953
|
return {
|
|
8942
8954
|
x: 0,
|
|
8943
8955
|
y: 0
|
|
@@ -45595,12 +45607,13 @@ _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_3__.Icon.set('about', _about_svg_js__W
|
|
|
45595
45607
|
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
|
|
45596
45608
|
|
|
45597
45609
|
/* unused harmony export addNewLine */
|
|
45598
|
-
/* harmony import */ var
|
|
45599
|
-
/* harmony import */ var
|
|
45600
|
-
/* harmony import */ var
|
|
45601
|
-
/* harmony import */ var
|
|
45602
|
-
/* harmony import */ var
|
|
45603
|
-
/* harmony import */ var
|
|
45610
|
+
/* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
45611
|
+
/* harmony import */ var _core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65478);
|
|
45612
|
+
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(580);
|
|
45613
|
+
/* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21537);
|
|
45614
|
+
/* harmony import */ var _core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(41180);
|
|
45615
|
+
/* harmony import */ var _modules_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(41409);
|
|
45616
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4604);
|
|
45604
45617
|
function _assert_this_initialized(self) {
|
|
45605
45618
|
if (self === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
45606
45619
|
return self;
|
|
@@ -45727,6 +45740,7 @@ function _wrap_native_super(Class) {
|
|
|
45727
45740
|
|
|
45728
45741
|
|
|
45729
45742
|
|
|
45743
|
+
|
|
45730
45744
|
var ns = 'addnewline';
|
|
45731
45745
|
/**
|
|
45732
45746
|
* Create helper for adding new paragraph(Jodit.defaultOptions.enter tag) before iframe, table or image
|
|
@@ -45737,7 +45751,7 @@ var ns = 'addnewline';
|
|
|
45737
45751
|
_class_call_check(this, addNewLine);
|
|
45738
45752
|
var _this;
|
|
45739
45753
|
_this = _call_super(this, addNewLine, arguments);
|
|
45740
|
-
_this.__line = _this.j.c.fromHTML('<div role="button" tabindex="-1" title="'.concat(_this.j.i18n('Break'), '" class="jodit-add-new-line"><span>').concat(
|
|
45754
|
+
_this.__line = _this.j.c.fromHTML('<div role="button" tabindex="-1" title="'.concat(_this.j.i18n('Break'), '" class="jodit-add-new-line"><span>').concat(_modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Icon.get('enter'), "</span></div>"));
|
|
45741
45755
|
_this.__isMatchedTag = function(node) {
|
|
45742
45756
|
return Boolean(node && _this.j.o.addNewLineTagsTriggers.includes(node.nodeName.toLowerCase()));
|
|
45743
45757
|
};
|
|
@@ -45751,26 +45765,26 @@ var ns = 'addnewline';
|
|
|
45751
45765
|
_this.__isShown = false;
|
|
45752
45766
|
_this.j.async.clearTimeout(_this.__timeout);
|
|
45753
45767
|
_this.__lineInFocus = false;
|
|
45754
|
-
|
|
45768
|
+
_modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.safeRemove(_this.__line);
|
|
45755
45769
|
_this.__line.style.setProperty('--jd-anl-handle-offset', '0');
|
|
45756
45770
|
};
|
|
45757
45771
|
_this.__canGetFocus = function(elm) {
|
|
45758
|
-
return elm != null &&
|
|
45772
|
+
return elm != null && _modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.isBlock(elm) && !/^(img|table|iframe|hr)$/i.test(elm.nodeName);
|
|
45759
45773
|
};
|
|
45760
45774
|
_this.__onClickLine = function(e) {
|
|
45761
45775
|
var editor = _this.j;
|
|
45762
45776
|
var p = editor.createInside.element(editor.o.enter);
|
|
45763
45777
|
if (_this.__isBeforeContent && _this.__current && _this.__current.parentNode) {
|
|
45764
45778
|
if (_this.__current === editor.editor) {
|
|
45765
|
-
|
|
45779
|
+
_modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.prepend(editor.editor, p);
|
|
45766
45780
|
} else {
|
|
45767
|
-
|
|
45781
|
+
_modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.before(_this.__current, p);
|
|
45768
45782
|
}
|
|
45769
45783
|
} else {
|
|
45770
|
-
|
|
45784
|
+
_modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.append(editor.editor, p);
|
|
45771
45785
|
}
|
|
45772
45786
|
editor.s.setCursorIn(p);
|
|
45773
|
-
(0,
|
|
45787
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.scrollIntoViewIfNeeded)(p, editor.editor, editor.ed);
|
|
45774
45788
|
editor.synchronizeValues();
|
|
45775
45789
|
_this.__hideForce();
|
|
45776
45790
|
e.preventDefault();
|
|
@@ -45789,8 +45803,8 @@ var ns = 'addnewline';
|
|
|
45789
45803
|
return;
|
|
45790
45804
|
}
|
|
45791
45805
|
this.__isShown = true;
|
|
45792
|
-
|
|
45793
|
-
(0,
|
|
45806
|
+
_modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.append(this.j.container, this.__line);
|
|
45807
|
+
(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_4__.css)(this.__line, 'width', this.j.container.clientWidth);
|
|
45794
45808
|
}
|
|
45795
45809
|
},
|
|
45796
45810
|
{
|
|
@@ -45842,18 +45856,48 @@ var ns = 'addnewline';
|
|
|
45842
45856
|
], 'scroll' + '.' + ns, this.__hideForce).on('finishedCleanHTMLWorker' + '.' + ns, this.__hideForce).on(editor.editor, 'click' + '.' + ns, this.__hide).on(editor.container, 'mouseleave' + '.' + ns, this.__hide).on(editor.editor, 'mousemove' + '.' + ns, this.__onMouseMove);
|
|
45843
45857
|
}
|
|
45844
45858
|
},
|
|
45859
|
+
{
|
|
45860
|
+
/**
|
|
45861
|
+
* A paragraph holding only an embed has no place for the caret, so the
|
|
45862
|
+
* arrow keys can't get past one that ends the content, or before one that
|
|
45863
|
+
* starts it. When an arrow key leaves the caret where it was and there is
|
|
45864
|
+
* content beyond it, a new line goes there, as when the line is clicked.
|
|
45865
|
+
*/ key: "onArrowKey",
|
|
45866
|
+
value: function onArrowKey(e) {
|
|
45867
|
+
var editor = this.j;
|
|
45868
|
+
var forward = e.key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_DOWN || e.key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_RIGHT;
|
|
45869
|
+
if (!editor.o.addNewLine || editor.o.readonly || editor.isLocked || e.shiftKey || !(forward || e.key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_UP || e.key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_LEFT) || !editor.s.isCollapsed()) {
|
|
45870
|
+
return;
|
|
45871
|
+
}
|
|
45872
|
+
var _editor_s_range = editor.s.range, startContainer = _editor_s_range.startContainer, startOffset = _editor_s_range.startOffset;
|
|
45873
|
+
// Once the browser has moved the caret, if it could. With a 0 timeout
|
|
45874
|
+
// Jodit would run this at once, before the browser moves it
|
|
45875
|
+
editor.async.setTimeout(function() {
|
|
45876
|
+
var range = editor.s.range;
|
|
45877
|
+
var block = _modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.closest(startContainer, _modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.isBlock, editor.editor);
|
|
45878
|
+
if (e.defaultPrevented || !editor.s.isInsideArea || !range.collapsed || range.startContainer !== startContainer || range.startOffset !== startOffset || !block || !_modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.findNotEmptyNeighbor(block, !forward, editor.editor)) {
|
|
45879
|
+
return;
|
|
45880
|
+
}
|
|
45881
|
+
var p = editor.createInside.element(editor.o.enter);
|
|
45882
|
+
forward ? _modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.append(editor.editor, p) : _modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.prepend(editor.editor, p);
|
|
45883
|
+
editor.s.setCursorIn(p);
|
|
45884
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.scrollIntoViewIfNeeded)(p, editor.editor, editor.ed);
|
|
45885
|
+
editor.synchronizeValues();
|
|
45886
|
+
}, 1);
|
|
45887
|
+
}
|
|
45888
|
+
},
|
|
45845
45889
|
{
|
|
45846
45890
|
key: "onDblClickEditor",
|
|
45847
45891
|
value: function onDblClickEditor(e) {
|
|
45848
45892
|
var editor = this.j;
|
|
45849
45893
|
if (!editor.o.readonly && editor.o.addNewLineOnDBLClick && e.target === editor.editor && editor.s.isCollapsed()) {
|
|
45850
|
-
var editorBound = (0,
|
|
45894
|
+
var editorBound = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.offset)(editor.editor, editor, editor.ed);
|
|
45851
45895
|
var top = e.pageY - editor.ew.scrollX;
|
|
45852
45896
|
var p = editor.createInside.element(editor.o.enter);
|
|
45853
45897
|
if (Math.abs(top - editorBound.top) < Math.abs(top - (editorBound.height + editorBound.top)) && editor.editor.firstChild) {
|
|
45854
|
-
|
|
45898
|
+
_modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.prepend(editor.editor, p);
|
|
45855
45899
|
} else {
|
|
45856
|
-
|
|
45900
|
+
_modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.append(editor.editor, p);
|
|
45857
45901
|
}
|
|
45858
45902
|
editor.s.setCursorIn(p);
|
|
45859
45903
|
editor.synchronizeValues();
|
|
@@ -45870,27 +45914,27 @@ var ns = 'addnewline';
|
|
|
45870
45914
|
// Inside Shadow DOM `document.elementFromPoint` returns the shadow
|
|
45871
45915
|
// host, so the lookup must start from the shadow root
|
|
45872
45916
|
var currentElement = ((_a = editor.o.shadowRoot) !== null && _a !== void 0 ? _a : editor.ed).elementFromPoint(e.clientX, e.clientY);
|
|
45873
|
-
if (!
|
|
45917
|
+
if (!_modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.isHTMLElement(currentElement) || !_modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.isOrContains(editor.editor, currentElement)) {
|
|
45874
45918
|
return;
|
|
45875
45919
|
}
|
|
45876
45920
|
if (editor.editor !== currentElement && !this.__isMatchedTag(currentElement)) {
|
|
45877
|
-
currentElement =
|
|
45921
|
+
currentElement = _modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.closest(currentElement, this.__isMatchedTag, editor.editor);
|
|
45878
45922
|
}
|
|
45879
45923
|
if (!currentElement) {
|
|
45880
45924
|
this.__hide();
|
|
45881
45925
|
return;
|
|
45882
45926
|
}
|
|
45883
45927
|
if (this.__isMatchedTag(currentElement)) {
|
|
45884
|
-
var parentBox =
|
|
45928
|
+
var parentBox = _modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.up(currentElement, _modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.isBlock, editor.editor);
|
|
45885
45929
|
if (parentBox && parentBox !== editor.editor) {
|
|
45886
45930
|
currentElement = parentBox;
|
|
45887
45931
|
}
|
|
45888
45932
|
}
|
|
45889
|
-
var pos = (0,
|
|
45933
|
+
var pos = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.position)(currentElement, this.j);
|
|
45890
45934
|
var top = false;
|
|
45891
45935
|
var clientY = e.clientY, clientX = e.clientX;
|
|
45892
45936
|
if (this.j.iframe) {
|
|
45893
|
-
var _position = (0,
|
|
45937
|
+
var _position = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.position)(this.j.iframe, this.j, true), top1 = _position.top, left = _position.left;
|
|
45894
45938
|
clientY += top1;
|
|
45895
45939
|
clientX += left;
|
|
45896
45940
|
}
|
|
@@ -45903,8 +45947,8 @@ var ns = 'addnewline';
|
|
|
45903
45947
|
this.__isBeforeContent = false;
|
|
45904
45948
|
}
|
|
45905
45949
|
var isEditor = editor.editor === currentElement;
|
|
45906
|
-
if (top !== false && (isEditor && !this.__isBeforeContent || !isEditor && !(0,
|
|
45907
|
-
(0,
|
|
45950
|
+
if (top !== false && (isEditor && !this.__isBeforeContent || !isEditor && !(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.call)(this.__isBeforeContent ? _modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.prev : _modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.next, currentElement, this.__canGetFocus, editor.editor))) {
|
|
45951
|
+
(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_4__.css)(this.__line, 'top', top);
|
|
45908
45952
|
this.__current = currentElement;
|
|
45909
45953
|
this.__show();
|
|
45910
45954
|
this.__line.style.setProperty('--jd-anl-handle-offset', clientX - pos.left - 10 + 'px');
|
|
@@ -45919,7 +45963,7 @@ var ns = 'addnewline';
|
|
|
45919
45963
|
value: function beforeDestruct() {
|
|
45920
45964
|
this.j.async.clearTimeout(this.__timeout);
|
|
45921
45965
|
this.j.e.off(this.__line).off('changePlace', this.__addEventListeners);
|
|
45922
|
-
|
|
45966
|
+
_modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Dom.safeRemove(this.__line);
|
|
45923
45967
|
this.j.e.off([
|
|
45924
45968
|
this.j.ow,
|
|
45925
45969
|
this.j.ew,
|
|
@@ -45929,22 +45973,25 @@ var ns = 'addnewline';
|
|
|
45929
45973
|
}
|
|
45930
45974
|
]);
|
|
45931
45975
|
return addNewLine;
|
|
45932
|
-
}(_wrap_native_super(
|
|
45976
|
+
}(_wrap_native_super(_modules_index_js__WEBPACK_IMPORTED_MODULE_5__.Plugin));
|
|
45933
45977
|
__decorate([
|
|
45934
|
-
(0,
|
|
45978
|
+
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.watch)(':lock')
|
|
45935
45979
|
], addNewLine.prototype, "onLock", null);
|
|
45936
45980
|
__decorate([
|
|
45937
|
-
|
|
45981
|
+
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.autobind
|
|
45938
45982
|
], addNewLine.prototype, "__hide", null);
|
|
45939
45983
|
__decorate([
|
|
45940
|
-
(0,
|
|
45984
|
+
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.watch)(':keydown')
|
|
45985
|
+
], addNewLine.prototype, "onArrowKey", null);
|
|
45986
|
+
__decorate([
|
|
45987
|
+
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.watch)(':dblclick')
|
|
45941
45988
|
], addNewLine.prototype, "onDblClickEditor", null);
|
|
45942
45989
|
__decorate([
|
|
45943
|
-
(0,
|
|
45990
|
+
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.throttle)(function(ctx) {
|
|
45944
45991
|
return ctx.defaultTimeout;
|
|
45945
45992
|
})
|
|
45946
45993
|
], addNewLine.prototype, "__onMouseMove", null);
|
|
45947
|
-
|
|
45994
|
+
_core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('addNewLine', addNewLine);
|
|
45948
45995
|
|
|
45949
45996
|
|
|
45950
45997
|
/***/ }),
|
|
@@ -47066,6 +47113,7 @@ UiAiAssistant = __decorate([
|
|
|
47066
47113
|
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(32496);
|
|
47067
47114
|
/* harmony import */ var _cases_check_not_collapsed_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(11338);
|
|
47068
47115
|
/* harmony import */ var _cases_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(14630);
|
|
47116
|
+
/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(63785);
|
|
47069
47117
|
function _array_like_to_array(arr, len) {
|
|
47070
47118
|
if (len == null || len > arr.length) len = arr.length;
|
|
47071
47119
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
@@ -47235,6 +47283,7 @@ function _wrap_native_super(Class) {
|
|
|
47235
47283
|
|
|
47236
47284
|
|
|
47237
47285
|
|
|
47286
|
+
|
|
47238
47287
|
var backspace = /*#__PURE__*/ function(Plugin) {
|
|
47239
47288
|
"use strict";
|
|
47240
47289
|
_inherits(backspace, Plugin);
|
|
@@ -47342,6 +47391,7 @@ var backspace = /*#__PURE__*/ function(Plugin) {
|
|
|
47342
47391
|
throw e;
|
|
47343
47392
|
} finally{
|
|
47344
47393
|
jodit.e.fire('backSpaceAfterDelete', backspace, fakeNode);
|
|
47394
|
+
this.moveCaretToTextBefore(fakeNode);
|
|
47345
47395
|
this.safeRemoveEmptyNode(fakeNode);
|
|
47346
47396
|
}
|
|
47347
47397
|
return false;
|
|
@@ -47349,15 +47399,51 @@ var backspace = /*#__PURE__*/ function(Plugin) {
|
|
|
47349
47399
|
},
|
|
47350
47400
|
{
|
|
47351
47401
|
/**
|
|
47402
|
+
* The browser types at the end of the text before the caret on its line,
|
|
47403
|
+
* in that text's formatting, but not inside a link. Moving the caret there
|
|
47404
|
+
* too makes a paste and the toolbar agree with what's typed:
|
|
47405
|
+
* `<p>one</p><p><b>|two</b></p>` joins to `<p>one|<b>two</b></p>`
|
|
47406
|
+
*/ key: "moveCaretToTextBefore",
|
|
47407
|
+
value: function moveCaretToTextBefore(fakeNode) {
|
|
47408
|
+
var _a, _b;
|
|
47409
|
+
var jodit = this.jodit;
|
|
47410
|
+
var range = jodit.s.range;
|
|
47411
|
+
// A case may have merged the fake node away (#1722)
|
|
47412
|
+
if (!fakeNode.parentNode) {
|
|
47413
|
+
return;
|
|
47414
|
+
}
|
|
47415
|
+
var around = jodit.ed.createRange();
|
|
47416
|
+
around.selectNode(fakeNode);
|
|
47417
|
+
if (!range.collapsed || !around.isPointInRange(range.startContainer, range.startOffset)) {
|
|
47418
|
+
return;
|
|
47419
|
+
}
|
|
47420
|
+
var text = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_9__.findMostNestedNeighbor)(fakeNode, false, jodit.editor, true);
|
|
47421
|
+
var link = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(text, 'a', jodit.editor);
|
|
47422
|
+
if (!_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isText(text) || !_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isContentEditable(text, jodit.editor) || link && !_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isOrContains(link, fakeNode) || _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(text, _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock, jodit.editor) !== _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(fakeNode, _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock, jodit.editor)) {
|
|
47423
|
+
return;
|
|
47424
|
+
}
|
|
47425
|
+
range.setStart(text, (_b = (_a = text.nodeValue) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0);
|
|
47426
|
+
range.collapse(true);
|
|
47427
|
+
jodit.s.selectRange(range);
|
|
47428
|
+
}
|
|
47429
|
+
},
|
|
47430
|
+
{
|
|
47431
|
+
/**
|
|
47352
47432
|
* Remove node and replace cursor position out of it
|
|
47353
47433
|
*/ key: "safeRemoveEmptyNode",
|
|
47354
47434
|
value: function safeRemoveEmptyNode(fakeNode) {
|
|
47355
|
-
var _a, _b;
|
|
47435
|
+
var _a, _b, _c;
|
|
47356
47436
|
var range = this.j.s.range;
|
|
47437
|
+
// wrap-nodes normalizes the line it wraps, which can merge the text
|
|
47438
|
+
// after the fake node into it: remove only the fake node's own space
|
|
47439
|
+
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isText(fakeNode) && fakeNode.nodeValue !== _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE && ((_a = fakeNode.nodeValue) === null || _a === void 0 ? void 0 : _a.startsWith(_core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE))) {
|
|
47440
|
+
fakeNode.deleteData(0, _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE.length);
|
|
47441
|
+
return;
|
|
47442
|
+
}
|
|
47357
47443
|
if (range.startContainer === fakeNode) {
|
|
47358
47444
|
if (fakeNode.previousSibling) {
|
|
47359
47445
|
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isText(fakeNode.previousSibling)) {
|
|
47360
|
-
range.setStart(fakeNode.previousSibling, (
|
|
47446
|
+
range.setStart(fakeNode.previousSibling, (_c = (_b = fakeNode.previousSibling.nodeValue) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0);
|
|
47361
47447
|
} else {
|
|
47362
47448
|
range.setStartAfter(fakeNode.previousSibling);
|
|
47363
47449
|
}
|
|
@@ -47405,6 +47491,11 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('backspace', backs
|
|
|
47405
47491
|
* Check if two separate elements can be connected
|
|
47406
47492
|
* @private
|
|
47407
47493
|
*/ function checkJoinNeighbors(jodit, fakeNode, backspace) {
|
|
47494
|
+
return joinNeighbors(jodit, fakeNode, backspace, false);
|
|
47495
|
+
}
|
|
47496
|
+
/**
|
|
47497
|
+
* `moved` is set on the one re-entrant pass after `moveToNextLine`
|
|
47498
|
+
*/ function joinNeighbors(jodit, fakeNode, backspace, moved) {
|
|
47408
47499
|
if (checkJoinBareText(jodit, fakeNode, backspace)) {
|
|
47409
47500
|
return true;
|
|
47410
47501
|
}
|
|
@@ -47420,6 +47511,9 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('backspace', backs
|
|
|
47420
47511
|
return false;
|
|
47421
47512
|
}
|
|
47422
47513
|
var sibling = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.findNotEmptySibling(mainClosestBox, backspace);
|
|
47514
|
+
if (moveInlinesInside(jodit, fakeNode, sibling)) {
|
|
47515
|
+
return joinNeighbors(jodit, fakeNode, backspace, moved);
|
|
47516
|
+
}
|
|
47423
47517
|
// A line break before the cursor is a single unit: remove it instead of
|
|
47424
47518
|
// merging the current element into the (void) `<br>`, which used to move
|
|
47425
47519
|
// the whole element's content into the `<br>` and delete it (#1282).
|
|
@@ -47434,7 +47528,19 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('backspace', backs
|
|
|
47434
47528
|
jodit.s.setCursorBefore(fakeNode);
|
|
47435
47529
|
return true;
|
|
47436
47530
|
}
|
|
47531
|
+
// A non-editable sibling is removed by remove-not-editable, never joined
|
|
47532
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isElement(sibling) && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isContentEditable(sibling, jodit.editor)) {
|
|
47533
|
+
return false;
|
|
47534
|
+
}
|
|
47437
47535
|
var box = findCaretBox(fakeNode, mainClosestBox);
|
|
47536
|
+
// One pass only: the line now sits beside the next one, so the
|
|
47537
|
+
// cases below join them. The DOM has changed either way
|
|
47538
|
+
if (!moved && sibling && moveToNextLine(jodit, fakeNode, box, sibling, backspace)) {
|
|
47539
|
+
if (!joinNeighbors(jodit, fakeNode, backspace, true)) {
|
|
47540
|
+
jodit.s.setCursorBefore(fakeNode);
|
|
47541
|
+
}
|
|
47542
|
+
return true;
|
|
47543
|
+
}
|
|
47438
47544
|
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))) {
|
|
47439
47545
|
jodit.s.setCursorBefore(fakeNode);
|
|
47440
47546
|
return true;
|
|
@@ -47454,6 +47560,83 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('backspace', backs
|
|
|
47454
47560
|
}
|
|
47455
47561
|
return _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isLeaf(block) && block.parentElement ? block.parentElement : block;
|
|
47456
47562
|
}
|
|
47563
|
+
/**
|
|
47564
|
+
* With an inline element round the caret's line or the one it joins moved
|
|
47565
|
+
* inside its blocks, the cases join the lines as they join any two, and its
|
|
47566
|
+
* styles stay with its text. One round both lines is left as it is.
|
|
47567
|
+
*/ function moveInlinesInside(jodit, fakeNode, sibling) {
|
|
47568
|
+
if (!sibling) {
|
|
47569
|
+
return false;
|
|
47570
|
+
}
|
|
47571
|
+
var around = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.furthest(fakeNode, function(node) {
|
|
47572
|
+
return _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isElement(node) && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(node) && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isOrContains(node, sibling);
|
|
47573
|
+
}, jodit.editor);
|
|
47574
|
+
return moveInlineInside(around, jodit.editor) || moveInlineInside(sibling, jodit.editor);
|
|
47575
|
+
}
|
|
47576
|
+
/**
|
|
47577
|
+
* Old content can have an inline element round blocks. This moves it inside
|
|
47578
|
+
* them, and gives the text, images and line breaks beside them a copy of
|
|
47579
|
+
* their own: `<span style="…"><p>one</p><br><p>two</p></span>` becomes
|
|
47580
|
+
* `<p><span style="…">one</span></p><span style="…"><br></span><p><span style="…">two</span></p>`
|
|
47581
|
+
*/ function moveInlineInside(node, root) {
|
|
47582
|
+
if (!_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isElement(node) || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(node)) {
|
|
47583
|
+
return false;
|
|
47584
|
+
}
|
|
47585
|
+
// Embedded content, such as the `<iframe>` in a video's wrapper, counts
|
|
47586
|
+
// as a block in `Dom.isBlock`, but stays with the text beside it
|
|
47587
|
+
var isBlock = function isBlock(child) {
|
|
47588
|
+
return _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(child) && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(child, _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.NO_EMPTY_TAGS);
|
|
47589
|
+
};
|
|
47590
|
+
// The inner one first: `<span><strong><p>one</p></strong></span>`
|
|
47591
|
+
Array.from(node.childNodes).forEach(function(child) {
|
|
47592
|
+
return moveInlineInside(child, root);
|
|
47593
|
+
});
|
|
47594
|
+
var children = Array.from(node.childNodes);
|
|
47595
|
+
if (!children.some(isBlock)) {
|
|
47596
|
+
return false;
|
|
47597
|
+
}
|
|
47598
|
+
var run = null;
|
|
47599
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
47600
|
+
try {
|
|
47601
|
+
for(var _iterator = children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
47602
|
+
var child = _step.value;
|
|
47603
|
+
if (!isBlock(child)) {
|
|
47604
|
+
// Blank text between blocks stays where it is
|
|
47605
|
+
if (!run && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isEmptyTextNode(child)) {
|
|
47606
|
+
run = node.cloneNode(false);
|
|
47607
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.before(child, run);
|
|
47608
|
+
}
|
|
47609
|
+
run && _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.append(run, child);
|
|
47610
|
+
continue;
|
|
47611
|
+
}
|
|
47612
|
+
run = null;
|
|
47613
|
+
// Nothing goes inside a rule or a non-editable block
|
|
47614
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(child, _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS) || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isContentEditable(child, root)) {
|
|
47615
|
+
continue;
|
|
47616
|
+
}
|
|
47617
|
+
var inner = node.cloneNode(false);
|
|
47618
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.moveContent(child, inner);
|
|
47619
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.append(child, inner);
|
|
47620
|
+
// A list or a table: on down to its items or cells
|
|
47621
|
+
moveInlineInside(inner, root);
|
|
47622
|
+
}
|
|
47623
|
+
} catch (err) {
|
|
47624
|
+
_didIteratorError = true;
|
|
47625
|
+
_iteratorError = err;
|
|
47626
|
+
} finally{
|
|
47627
|
+
try {
|
|
47628
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
47629
|
+
_iterator.return();
|
|
47630
|
+
}
|
|
47631
|
+
} finally{
|
|
47632
|
+
if (_didIteratorError) {
|
|
47633
|
+
throw _iteratorError;
|
|
47634
|
+
}
|
|
47635
|
+
}
|
|
47636
|
+
}
|
|
47637
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.unwrap(node);
|
|
47638
|
+
return true;
|
|
47639
|
+
}
|
|
47457
47640
|
/**
|
|
47458
47641
|
* The innermost block on the sibling's edge facing the caret, so the
|
|
47459
47642
|
* content is joined to text: `<div><p>one</p></div><p>|two</p>` gives
|
|
@@ -47486,6 +47669,68 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('backspace', backs
|
|
|
47486
47669
|
});
|
|
47487
47670
|
return cells.length ? cells[backspace ? cells.length - 1 : 0] : null;
|
|
47488
47671
|
}
|
|
47672
|
+
/**
|
|
47673
|
+
* On Delete, Word joins two lines where the next one is, inside or outside
|
|
47674
|
+
* its box or quote, and the joined line keeps the caret line's kind, list item
|
|
47675
|
+
* or paragraph. Two paragraphs already join that way. When either line is a
|
|
47676
|
+
* list item, this moves the caret's line beside the next one, and the usual
|
|
47677
|
+
* cases then join them: `<p>one|</p><div><ul><li>two</li></ul></div>` becomes
|
|
47678
|
+
* `<div><p>one|</p><ul><li>two</li></ul></div>`
|
|
47679
|
+
* @private
|
|
47680
|
+
*/ function moveToNextLine(jodit, fakeNode, box, sibling, backspace) {
|
|
47681
|
+
if (backspace || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(sibling, 'table') || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(sibling, _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS) || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isContentEditable(sibling, jodit.editor)) {
|
|
47682
|
+
return false;
|
|
47683
|
+
}
|
|
47684
|
+
var line = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.up(fakeNode, _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock, box, true);
|
|
47685
|
+
var next = findEdgeBlock(sibling, false, jodit.editor);
|
|
47686
|
+
if (!line || !next || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isContentEditable(next, jodit.editor) || !(_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isLeaf(line) || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isLeaf(next)) || // A paragraph inside a list item is left as it is
|
|
47687
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isLeaf(line.parentElement) || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isLeaf(next.parentElement) || boxOf(line) === boxOf(next)) {
|
|
47688
|
+
return false;
|
|
47689
|
+
}
|
|
47690
|
+
var from = line.parentElement;
|
|
47691
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isLeaf(line) && _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isLeaf(next)) {
|
|
47692
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.before(next, line);
|
|
47693
|
+
} else if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isLeaf(line)) {
|
|
47694
|
+
// A list item keeps its bullet, in a list of its own
|
|
47695
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.before(next, ownList(line));
|
|
47696
|
+
} else {
|
|
47697
|
+
// A paragraph can't go inside a list, so it goes in front of it
|
|
47698
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.before(next.parentElement, line);
|
|
47699
|
+
}
|
|
47700
|
+
var remove = from;
|
|
47701
|
+
while(remove && remove !== jodit.editor && _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isEmpty(remove)){
|
|
47702
|
+
var parent = remove.parentElement;
|
|
47703
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(remove);
|
|
47704
|
+
remove = parent;
|
|
47705
|
+
}
|
|
47706
|
+
return true;
|
|
47707
|
+
}
|
|
47708
|
+
/**
|
|
47709
|
+
* The box or quote a line is in, past its lists
|
|
47710
|
+
*/ function boxOf(line) {
|
|
47711
|
+
var box = line.parentElement;
|
|
47712
|
+
while(_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isList(box) || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isLeaf(box)){
|
|
47713
|
+
box = box.parentElement;
|
|
47714
|
+
}
|
|
47715
|
+
return box;
|
|
47716
|
+
}
|
|
47717
|
+
/**
|
|
47718
|
+
* Moves a list item into a list of its own, which carries on its numbering
|
|
47719
|
+
*/ function ownList(item) {
|
|
47720
|
+
var list = item.parentElement;
|
|
47721
|
+
var own = list.cloneNode(false);
|
|
47722
|
+
var index = Array.from(list.children).indexOf(item);
|
|
47723
|
+
if (index) {
|
|
47724
|
+
// Two lists cannot share one id
|
|
47725
|
+
own.removeAttribute('id');
|
|
47726
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(list, 'ol')) {
|
|
47727
|
+
var start = parseInt(list.getAttribute('start') || '1', 10) || 1;
|
|
47728
|
+
own.setAttribute('start', String(start + index));
|
|
47729
|
+
}
|
|
47730
|
+
}
|
|
47731
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.append(own, item);
|
|
47732
|
+
return own;
|
|
47733
|
+
}
|
|
47489
47734
|
/**
|
|
47490
47735
|
* Delete at the edge of a list pulls the next line up to the caret, as the
|
|
47491
47736
|
* browsers do, instead of moving the caret's line into the next block:
|
|
@@ -47752,7 +47997,9 @@ function checkRemoveChar(jodit, fakeNode, backspace, mode) {
|
|
|
47752
47997
|
while(_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isInlineBlock(sibling)){
|
|
47753
47998
|
sibling = backspace ? sibling === null || sibling === void 0 ? void 0 : sibling.lastChild : sibling === null || sibling === void 0 ? void 0 : sibling.firstChild;
|
|
47754
47999
|
}
|
|
47755
|
-
|
|
48000
|
+
// A block inside an inline element, such as the `<p>` in
|
|
48001
|
+
// `<span><p>…</p></span>`, isn't a char: the join cases handle it
|
|
48002
|
+
if (!sibling || _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(sibling)) {
|
|
47756
48003
|
break;
|
|
47757
48004
|
}
|
|
47758
48005
|
if ((_a = sibling.nodeValue) === null || _a === void 0 ? void 0 : _a.length) {
|
|
@@ -47900,6 +48147,7 @@ function isSpace(char) {
|
|
|
47900
48147
|
/* harmony import */ var _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22732);
|
|
47901
48148
|
/* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21537);
|
|
47902
48149
|
/* harmony import */ var _core_selection_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(45124);
|
|
48150
|
+
/* harmony import */ var _check_join_neighbors_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(62845);
|
|
47903
48151
|
/*!
|
|
47904
48152
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
47905
48153
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -47907,23 +48155,48 @@ function isSpace(char) {
|
|
|
47907
48155
|
*/
|
|
47908
48156
|
|
|
47909
48157
|
|
|
48158
|
+
|
|
47910
48159
|
/**
|
|
47911
|
-
* Checks if a non-editable element can be deleted
|
|
48160
|
+
* Checks if a non-editable element can be deleted. A non-editable block goes
|
|
48161
|
+
* whole, and the lines either side of it then join, as the spec's tests do:
|
|
48162
|
+
* `<ul><li>one|</li></ul><div contenteditable="false">x</div><p>two</p>`
|
|
48163
|
+
* gives `<ul><li>one|two</li></ul>`
|
|
47912
48164
|
* @private
|
|
47913
48165
|
*/ function checkRemoveContentNotEditable(jodit, fakeNode, backspace) {
|
|
47914
|
-
var
|
|
47915
|
-
|
|
47916
|
-
|
|
47917
|
-
|
|
47918
|
-
|
|
47919
|
-
|
|
47920
|
-
|
|
47921
|
-
|
|
47922
|
-
(
|
|
48166
|
+
var node = fakeNode;
|
|
48167
|
+
var neighbor = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.findSibling(node, backspace);
|
|
48168
|
+
// Past the edges of the blocks the caret is at, but not into a table cell
|
|
48169
|
+
while(!neighbor && node.parentElement && node.parentElement !== jodit.editor && !_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isCell(node.parentElement)){
|
|
48170
|
+
node = node.parentElement;
|
|
48171
|
+
neighbor = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.findSibling(node, backspace);
|
|
48172
|
+
// At the start of a list item, Backspace takes the bullet off first,
|
|
48173
|
+
// unless the item before it is a non-editable one to remove
|
|
48174
|
+
if (backspace && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isLeaf(node) && !(_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isLeaf(neighbor) && isNotEditable(jodit, neighbor))) {
|
|
48175
|
+
return false;
|
|
48176
|
+
}
|
|
48177
|
+
}
|
|
48178
|
+
if (isNotEditable(jodit, neighbor)) {
|
|
48179
|
+
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock(neighbor)) {
|
|
48180
|
+
// Backspace after a removed list item leaves the items apart: the
|
|
48181
|
+
// next press takes the bullet off, as for any later item
|
|
48182
|
+
var joinLines = !(backspace && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isLeaf(neighbor));
|
|
48183
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(neighbor);
|
|
48184
|
+
if (joinLines) {
|
|
48185
|
+
(0,_check_join_neighbors_js__WEBPACK_IMPORTED_MODULE_3__.checkJoinNeighbors)(jodit, fakeNode, backspace);
|
|
48186
|
+
}
|
|
48187
|
+
} else {
|
|
48188
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_1__.call)(backspace ? _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.before : _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after, neighbor, fakeNode);
|
|
48189
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(neighbor);
|
|
48190
|
+
(0,_core_selection_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.moveNodeInsideStart)(jodit, fakeNode, backspace);
|
|
48191
|
+
}
|
|
48192
|
+
;(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_1__.call)(backspace ? jodit.s.setCursorBefore : jodit.s.setCursorAfter, fakeNode);
|
|
47923
48193
|
return true;
|
|
47924
48194
|
}
|
|
47925
48195
|
return false;
|
|
47926
48196
|
}
|
|
48197
|
+
function isNotEditable(jodit, node) {
|
|
48198
|
+
return _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(node) && !_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isContentEditable(node, jodit.editor);
|
|
48199
|
+
}
|
|
47927
48200
|
|
|
47928
48201
|
|
|
47929
48202
|
/***/ }),
|
|
@@ -78859,12 +79132,13 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.wrapNodes = {
|
|
|
78859
79132
|
/***/ 72253:
|
|
78860
79133
|
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
|
|
78861
79134
|
|
|
78862
|
-
/* harmony import */ var
|
|
78863
|
-
/* harmony import */ var
|
|
78864
|
-
/* harmony import */ var
|
|
78865
|
-
/* harmony import */ var
|
|
78866
|
-
/* harmony import */ var
|
|
78867
|
-
/* harmony import */ var
|
|
79135
|
+
/* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
79136
|
+
/* harmony import */ var _core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65478);
|
|
79137
|
+
/* harmony import */ var _core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(22732);
|
|
79138
|
+
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(580);
|
|
79139
|
+
/* harmony import */ var _core_helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(70799);
|
|
79140
|
+
/* harmony import */ var _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(50911);
|
|
79141
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(96967);
|
|
78868
79142
|
function _assert_this_initialized(self) {
|
|
78869
79143
|
if (self === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
78870
79144
|
return self;
|
|
@@ -78991,6 +79265,7 @@ function _wrap_native_super(Class) {
|
|
|
78991
79265
|
|
|
78992
79266
|
|
|
78993
79267
|
|
|
79268
|
+
|
|
78994
79269
|
/**
|
|
78995
79270
|
* Wrap single text nodes in block wrapper
|
|
78996
79271
|
*/ var wrapNodes = /*#__PURE__*/ function(Plugin) {
|
|
@@ -79004,17 +79279,17 @@ function _wrap_native_super(Class) {
|
|
|
79004
79279
|
* Found Node which should be wrapped
|
|
79005
79280
|
*/ _this.isSuitableStart = function(n) {
|
|
79006
79281
|
var _a;
|
|
79007
|
-
return
|
|
79282
|
+
return _core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(n) && (0,_core_helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_4__.isString)(n.nodeValue) && (/[^\s]/.test(n.nodeValue) || ((_a = n.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild) === n && _this.isSuitable(n.nextSibling)) || _this.isNotWrapped(n) && !_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTemporary(n);
|
|
79008
79283
|
};
|
|
79009
79284
|
/**
|
|
79010
79285
|
* Node should add in a block element
|
|
79011
79286
|
*/ _this.isSuitable = function(n) {
|
|
79012
|
-
return
|
|
79287
|
+
return _core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(n) || _this.isNotWrapped(n);
|
|
79013
79288
|
};
|
|
79014
79289
|
/**
|
|
79015
79290
|
* Some element which needs to append in block
|
|
79016
79291
|
*/ _this.isNotWrapped = function(n) {
|
|
79017
|
-
return
|
|
79292
|
+
return _core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isElement(n) && !(_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isBlock(n) || _core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(n, _this.j.o.wrapNodes.exclude) || holdsBlock(n));
|
|
79018
79293
|
};
|
|
79019
79294
|
return _this;
|
|
79020
79295
|
}
|
|
@@ -79055,10 +79330,11 @@ function _wrap_native_super(Class) {
|
|
|
79055
79330
|
}
|
|
79056
79331
|
isChanged = true;
|
|
79057
79332
|
var box = jodit.createInside.element(jodit.o.enter);
|
|
79058
|
-
|
|
79059
|
-
|
|
79333
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.before(child, box);
|
|
79334
|
+
// `exclude` keeps a <br> from starting a box, but one between loose lines stays with them
|
|
79335
|
+
while(child && (this.isSuitable(child) || _core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(child, 'br'))){
|
|
79060
79336
|
var next = child.nextSibling;
|
|
79061
|
-
|
|
79337
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(box, child);
|
|
79062
79338
|
child = next;
|
|
79063
79339
|
}
|
|
79064
79340
|
box.normalize();
|
|
@@ -79085,8 +79361,8 @@ function _wrap_native_super(Class) {
|
|
|
79085
79361
|
}
|
|
79086
79362
|
var box = jodit.createInside.element(jodit.o.enter);
|
|
79087
79363
|
var br = jodit.createInside.element('br');
|
|
79088
|
-
|
|
79089
|
-
|
|
79364
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(box, br);
|
|
79365
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(jodit.editor, box);
|
|
79090
79366
|
if (jodit.s.isFocused() || jodit.e.current === 'backSpaceAfterDelete') {
|
|
79091
79367
|
jodit.s.setCursorBefore(br);
|
|
79092
79368
|
}
|
|
@@ -79095,23 +79371,51 @@ function _wrap_native_super(Class) {
|
|
|
79095
79371
|
}
|
|
79096
79372
|
]);
|
|
79097
79373
|
return wrapNodes;
|
|
79098
|
-
}(_wrap_native_super(
|
|
79374
|
+
}(_wrap_native_super(_core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plugin));
|
|
79099
79375
|
__decorate([
|
|
79100
|
-
|
|
79376
|
+
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.autobind
|
|
79101
79377
|
], wrapNodes.prototype, "postProcessSetEditorValue", null);
|
|
79102
79378
|
__decorate([
|
|
79103
|
-
|
|
79379
|
+
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.autobind
|
|
79104
79380
|
], wrapNodes.prototype, "preprocessInput", null);
|
|
79381
|
+
/**
|
|
79382
|
+
* A block can't go in a paragraph, so neither can an element that holds one,
|
|
79383
|
+
* such as a `<span>` round a `<p>`. Embedded content such as an `<iframe>` can.
|
|
79384
|
+
*/ function holdsBlock(elm) {
|
|
79385
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
79386
|
+
try {
|
|
79387
|
+
for(var _iterator = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.eachGen(elm)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
79388
|
+
var node = _step.value;
|
|
79389
|
+
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isBlock(node) && !_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(node, _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.NO_EMPTY_TAGS)) {
|
|
79390
|
+
return true;
|
|
79391
|
+
}
|
|
79392
|
+
}
|
|
79393
|
+
} catch (err) {
|
|
79394
|
+
_didIteratorError = true;
|
|
79395
|
+
_iteratorError = err;
|
|
79396
|
+
} finally{
|
|
79397
|
+
try {
|
|
79398
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
79399
|
+
_iterator.return();
|
|
79400
|
+
}
|
|
79401
|
+
} finally{
|
|
79402
|
+
if (_didIteratorError) {
|
|
79403
|
+
throw _iteratorError;
|
|
79404
|
+
}
|
|
79405
|
+
}
|
|
79406
|
+
}
|
|
79407
|
+
return false;
|
|
79408
|
+
}
|
|
79105
79409
|
function checkAloneListLeaf(child, jodit) {
|
|
79106
79410
|
var result = child;
|
|
79107
79411
|
var next = child;
|
|
79108
79412
|
do {
|
|
79109
|
-
if (
|
|
79110
|
-
var nextChild =
|
|
79111
|
-
if (
|
|
79112
|
-
|
|
79413
|
+
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isElement(next) && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isLeaf(next) && !_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isList(next.parentElement)) {
|
|
79414
|
+
var nextChild = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.findNotEmptySibling(next, false);
|
|
79415
|
+
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(result, 'ul')) {
|
|
79416
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(result, next);
|
|
79113
79417
|
} else {
|
|
79114
|
-
result =
|
|
79418
|
+
result = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.wrap(next, 'ul', jodit.createInside);
|
|
79115
79419
|
}
|
|
79116
79420
|
next = nextChild;
|
|
79117
79421
|
} else {
|
|
@@ -79120,7 +79424,7 @@ function checkAloneListLeaf(child, jodit) {
|
|
|
79120
79424
|
}while (next);
|
|
79121
79425
|
return result;
|
|
79122
79426
|
}
|
|
79123
|
-
|
|
79427
|
+
_core_global_js__WEBPACK_IMPORTED_MODULE_3__.pluginSystem.add('wrapNodes', wrapNodes);
|
|
79124
79428
|
|
|
79125
79429
|
|
|
79126
79430
|
/***/ }),
|