jodit-pro 4.18.2 → 4.18.6
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/CHANGELOG.md +11 -0
- package/README.md +2 -0
- package/config.js +1 -0
- package/es2015/jodit.css +1 -1
- package/es2015/jodit.fat.min.css +1 -1
- package/es2015/jodit.fat.min.js +30 -18
- package/es2015/jodit.js +465 -131
- package/es2015/jodit.min.js +11 -11
- 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 +173 -0
- package/es2015/plugins/chart/chart.js +1479 -0
- package/es2015/plugins/chart/chart.min.css +1 -0
- package/es2015/plugins/chart/chart.min.js +20 -0
- 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/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 +2 -1
- package/es2015/plugins/tune-block/tune-block.min.js +2 -2
- package/es2018/jodit.fat.min.css +1 -1
- package/es2018/jodit.fat.min.js +75 -63
- package/es2018/jodit.min.js +9 -9
- 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.css +1 -0
- package/es2018/plugins/chart/chart.min.js +20 -0
- 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/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 +2 -2
- package/es2021/jodit.css +1 -1
- package/es2021/jodit.fat.min.css +1 -1
- package/es2021/jodit.fat.min.js +32 -20
- package/es2021/jodit.js +417 -131
- package/es2021/jodit.min.js +16 -16
- 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 +173 -0
- package/es2021/plugins/chart/chart.js +1424 -0
- package/es2021/plugins/chart/chart.min.css +1 -0
- package/es2021/plugins/chart/chart.min.js +20 -0
- 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/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 +2 -1
- package/es2021/plugins/tune-block/tune-block.min.js +2 -2
- package/es2021.en/jodit.css +1 -1
- package/es2021.en/jodit.fat.min.css +1 -1
- package/es2021.en/jodit.fat.min.js +32 -20
- package/es2021.en/jodit.js +417 -131
- package/es2021.en/jodit.min.js +16 -16
- 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 +173 -0
- package/es2021.en/plugins/chart/chart.js +1424 -0
- package/es2021.en/plugins/chart/chart.min.css +1 -0
- package/es2021.en/plugins/chart/chart.min.js +20 -0
- 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/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 +2 -1
- package/es2021.en/plugins/tune-block/tune-block.min.js +2 -2
- package/es5/jodit.css +2 -2
- package/es5/jodit.fat.min.css +1 -1
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +529 -135
- 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 +173 -0
- package/es5/plugins/chart/chart.js +1661 -0
- package/es5/plugins/chart/chart.min.css +1 -0
- package/es5/plugins/chart/chart.min.js +8 -0
- 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/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 +2 -1
- package/es5/plugins/tune-block/tune-block.min.js +2 -2
- package/es5/polyfills.fat.min.js +1 -1
- package/es5/polyfills.js +1 -1
- package/es5/polyfills.min.js +1 -1
- package/esm/config.d.ts +27 -1
- package/esm/plugins/all.js +1 -1
- package/esm/plugins/chart/assets/chart.svg.js +1 -0
- package/esm/plugins/chart/chart.d.ts +56 -0
- package/esm/plugins/chart/chart.js +1 -0
- package/esm/plugins/chart/config.d.ts +33 -0
- package/esm/plugins/chart/config.js +1 -0
- package/esm/plugins/chart/helpers.d.ts +22 -0
- package/esm/plugins/chart/helpers.js +1 -0
- package/esm/plugins/chart/interface.d.ts +34 -0
- package/esm/plugins/chart/interface.js +0 -0
- package/esm/plugins/chart/render/bar.d.ts +8 -0
- package/esm/plugins/chart/render/bar.js +1 -0
- package/esm/plugins/chart/render/common.d.ts +40 -0
- package/esm/plugins/chart/render/common.js +1 -0
- package/esm/plugins/chart/render/index.d.ts +7 -0
- package/esm/plugins/chart/render/index.js +1 -0
- package/esm/plugins/chart/render/line.d.ts +7 -0
- package/esm/plugins/chart/render/line.js +1 -0
- package/esm/plugins/chart/render/pie.d.ts +7 -0
- package/esm/plugins/chart/render/pie.js +1 -0
- package/esm/plugins/chart/render/radar.d.ts +7 -0
- package/esm/plugins/chart/render/radar.js +1 -0
- package/esm/plugins/chart/ui/editor/editor.d.ts +52 -0
- package/esm/plugins/chart/ui/editor/editor.js +13 -0
- package/esm/plugins/tune-block/config.js +1 -1
- package/package.json +1 -1
- package/types/config.d.ts +27 -1
- package/types/plugins/chart/chart.d.ts +56 -0
- package/types/plugins/chart/config.d.ts +33 -0
- package/types/plugins/chart/helpers.d.ts +22 -0
- package/types/plugins/chart/interface.d.ts +34 -0
- package/types/plugins/chart/render/bar.d.ts +8 -0
- package/types/plugins/chart/render/common.d.ts +40 -0
- package/types/plugins/chart/render/index.d.ts +7 -0
- package/types/plugins/chart/render/line.d.ts +7 -0
- package/types/plugins/chart/render/pie.d.ts +7 -0
- package/types/plugins/chart/render/radar.d.ts +7 -0
- package/types/plugins/chart/ui/editor/editor.d.ts +52 -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.6
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -1816,7 +1816,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1816
1816
|
* ```
|
|
1817
1817
|
* @packageDocumentation
|
|
1818
1818
|
* @module constants
|
|
1819
|
-
*/ const APP_VERSION = "4.18.
|
|
1819
|
+
*/ const APP_VERSION = "4.18.6";
|
|
1820
1820
|
// prettier-ignore
|
|
1821
1821
|
const ES = "es2015";
|
|
1822
1822
|
const IS_ES_MODERN = true;
|
|
@@ -6466,6 +6466,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
6466
6466
|
/* harmony export */ options: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.options; },
|
|
6467
6467
|
/* harmony export */ parseQuery: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.parseQuery; },
|
|
6468
6468
|
/* harmony export */ position: function() { return /* reexport safe */ _size_index_js__WEBPACK_IMPORTED_MODULE_6__.position; },
|
|
6469
|
+
/* harmony export */ prepareEmbedCode: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.prepareEmbedCode; },
|
|
6470
|
+
/* harmony export */ prepareMedia: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.prepareMedia; },
|
|
6469
6471
|
/* harmony export */ previewBox: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.previewBox; },
|
|
6470
6472
|
/* harmony export */ refs: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.refs; },
|
|
6471
6473
|
/* harmony export */ reset: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.reset; },
|
|
@@ -8710,13 +8712,13 @@ const getClassName = (obj)=>{
|
|
|
8710
8712
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8711
8713
|
|
|
8712
8714
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
8713
|
-
/* harmony export */ $$: function() { return /* reexport safe */
|
|
8715
|
+
/* harmony export */ $$: function() { return /* reexport safe */ _selector_js__WEBPACK_IMPORTED_MODULE_26__.$$; },
|
|
8714
8716
|
/* harmony export */ ConfigDeepFlatten: function() { return /* reexport safe */ _config_proto_js__WEBPACK_IMPORTED_MODULE_7__.ConfigDeepFlatten; },
|
|
8715
8717
|
/* harmony export */ ConfigFlatten: function() { return /* reexport safe */ _config_proto_js__WEBPACK_IMPORTED_MODULE_7__.ConfigFlatten; },
|
|
8716
8718
|
/* harmony export */ ConfigMerge: function() { return /* reexport safe */ _config_proto_js__WEBPACK_IMPORTED_MODULE_7__.ConfigMerge; },
|
|
8717
8719
|
/* harmony export */ ConfigProto: function() { return /* reexport safe */ _config_proto_js__WEBPACK_IMPORTED_MODULE_7__.ConfigProto; },
|
|
8718
8720
|
/* harmony export */ ConnectionError: function() { return /* reexport safe */ _error_index_js__WEBPACK_IMPORTED_MODULE_13__.ConnectionError; },
|
|
8719
|
-
/* harmony export */ LimitedStack: function() { return /* reexport safe */
|
|
8721
|
+
/* harmony export */ LimitedStack: function() { return /* reexport safe */ _stack_js__WEBPACK_IMPORTED_MODULE_28__.LimitedStack; },
|
|
8720
8722
|
/* harmony export */ OptionsError: function() { return /* reexport safe */ _error_index_js__WEBPACK_IMPORTED_MODULE_13__.OptionsError; },
|
|
8721
8723
|
/* harmony export */ UNSAFE_PROTO_KEYS: function() { return /* reexport safe */ _is_unsafe_proto_key_js__WEBPACK_IMPORTED_MODULE_18__.UNSAFE_PROTO_KEYS; },
|
|
8722
8724
|
/* harmony export */ abort: function() { return /* reexport safe */ _error_index_js__WEBPACK_IMPORTED_MODULE_13__.abort; },
|
|
@@ -8729,9 +8731,9 @@ const getClassName = (obj)=>{
|
|
|
8729
8731
|
/* harmony export */ attrRaw: function() { return /* reexport safe */ _attr_js__WEBPACK_IMPORTED_MODULE_3__.attrRaw; },
|
|
8730
8732
|
/* harmony export */ browser: function() { return /* reexport safe */ _browser_js__WEBPACK_IMPORTED_MODULE_4__.browser; },
|
|
8731
8733
|
/* harmony export */ buildQuery: function() { return /* reexport safe */ _build_query_js__WEBPACK_IMPORTED_MODULE_5__.buildQuery; },
|
|
8732
|
-
/* harmony export */ call: function() { return /* reexport safe */
|
|
8733
|
-
/* harmony export */ callPromise: function() { return /* reexport safe */
|
|
8734
|
-
/* harmony export */ callThis: function() { return /* reexport safe */
|
|
8734
|
+
/* harmony export */ call: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_29__.call; },
|
|
8735
|
+
/* harmony export */ callPromise: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_29__.callPromise; },
|
|
8736
|
+
/* harmony export */ callThis: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_29__.callThis; },
|
|
8735
8737
|
/* harmony export */ clearAlign: function() { return /* reexport safe */ _align_js__WEBPACK_IMPORTED_MODULE_0__.clearAlign; },
|
|
8736
8738
|
/* harmony export */ clearCenterAlign: function() { return /* reexport safe */ _css_js__WEBPACK_IMPORTED_MODULE_9__.clearCenterAlign; },
|
|
8737
8739
|
/* harmony export */ cns: function() { return /* reexport safe */ _mark_deprecated_js__WEBPACK_IMPORTED_MODULE_19__.cns; },
|
|
@@ -8741,7 +8743,7 @@ const getClassName = (obj)=>{
|
|
|
8741
8743
|
/* harmony export */ createMediaWrapper: function() { return /* reexport safe */ _media_wrapper_js__WEBPACK_IMPORTED_MODULE_20__.createMediaWrapper; },
|
|
8742
8744
|
/* harmony export */ css: function() { return /* reexport safe */ _css_js__WEBPACK_IMPORTED_MODULE_9__.css; },
|
|
8743
8745
|
/* harmony export */ cssInline: function() { return /* reexport safe */ _css_js__WEBPACK_IMPORTED_MODULE_9__.cssInline; },
|
|
8744
|
-
/* harmony export */ cssPath: function() { return /* reexport safe */
|
|
8746
|
+
/* harmony export */ cssPath: function() { return /* reexport safe */ _selector_js__WEBPACK_IMPORTED_MODULE_26__.cssPath; },
|
|
8745
8747
|
/* harmony export */ ctrlKey: function() { return /* reexport safe */ _ctrl_key_js__WEBPACK_IMPORTED_MODULE_10__.ctrlKey; },
|
|
8746
8748
|
/* harmony export */ dataBind: function() { return /* reexport safe */ _data_bind_js__WEBPACK_IMPORTED_MODULE_11__.dataBind; },
|
|
8747
8749
|
/* harmony export */ defaultLanguage: function() { return /* reexport safe */ _default_language_js__WEBPACK_IMPORTED_MODULE_12__.defaultLanguage; },
|
|
@@ -8750,34 +8752,36 @@ const getClassName = (obj)=>{
|
|
|
8750
8752
|
/* harmony export */ get: function() { return /* reexport safe */ _get_js__WEBPACK_IMPORTED_MODULE_15__.get; },
|
|
8751
8753
|
/* harmony export */ getAlignClasses: function() { return /* reexport safe */ _align_js__WEBPACK_IMPORTED_MODULE_0__.getAlignClasses; },
|
|
8752
8754
|
/* harmony export */ getClassName: function() { return /* reexport safe */ _get_class_name_js__WEBPACK_IMPORTED_MODULE_16__.getClassName; },
|
|
8753
|
-
/* harmony export */ getDataTransfer: function() { return /* reexport safe */
|
|
8755
|
+
/* harmony export */ getDataTransfer: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_29__.getDataTransfer; },
|
|
8754
8756
|
/* harmony export */ getHAlign: function() { return /* reexport safe */ _align_js__WEBPACK_IMPORTED_MODULE_0__.getHAlign; },
|
|
8755
8757
|
/* harmony export */ getMediaWrapper: function() { return /* reexport safe */ _media_wrapper_js__WEBPACK_IMPORTED_MODULE_20__.getMediaWrapper; },
|
|
8756
|
-
/* harmony export */ getPropertyDescriptor: function() { return /* reexport safe */
|
|
8758
|
+
/* harmony export */ getPropertyDescriptor: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_29__.getPropertyDescriptor; },
|
|
8757
8759
|
/* harmony export */ getWrappedMedia: function() { return /* reexport safe */ _media_wrapper_js__WEBPACK_IMPORTED_MODULE_20__.getWrappedMedia; },
|
|
8758
|
-
/* harmony export */ getXPathByElement: function() { return /* reexport safe */
|
|
8760
|
+
/* harmony export */ getXPathByElement: function() { return /* reexport safe */ _selector_js__WEBPACK_IMPORTED_MODULE_26__.getXPathByElement; },
|
|
8759
8761
|
/* harmony export */ hAlignElement: function() { return /* reexport safe */ _align_js__WEBPACK_IMPORTED_MODULE_0__.hAlignElement; },
|
|
8760
8762
|
/* harmony export */ humanSizeToBytes: function() { return /* reexport safe */ _human_size_to_bytes_js__WEBPACK_IMPORTED_MODULE_17__.humanSizeToBytes; },
|
|
8761
|
-
/* harmony export */ inView: function() { return /* reexport safe */
|
|
8763
|
+
/* harmony export */ inView: function() { return /* reexport safe */ _scroll_into_view_js__WEBPACK_IMPORTED_MODULE_25__.inView; },
|
|
8762
8764
|
/* harmony export */ isAtom: function() { return /* reexport safe */ _extend_js__WEBPACK_IMPORTED_MODULE_14__.isAtom; },
|
|
8763
8765
|
/* harmony export */ isUnsafeProtoKey: function() { return /* reexport safe */ _is_unsafe_proto_key_js__WEBPACK_IMPORTED_MODULE_18__.isUnsafeProtoKey; },
|
|
8764
8766
|
/* harmony export */ keepNames: function() { return /* reexport safe */ _get_class_name_js__WEBPACK_IMPORTED_MODULE_16__.keepNames; },
|
|
8765
|
-
/* harmony export */ keys: function() { return /* reexport safe */
|
|
8766
|
-
/* harmony export */ loadImage: function() { return /* reexport safe */
|
|
8767
|
+
/* harmony export */ keys: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_29__.keys; },
|
|
8768
|
+
/* harmony export */ loadImage: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_29__.loadImage; },
|
|
8767
8769
|
/* harmony export */ loadNext: function() { return /* reexport safe */ _append_script_js__WEBPACK_IMPORTED_MODULE_1__.loadNext; },
|
|
8768
8770
|
/* harmony export */ loadNextStyle: function() { return /* reexport safe */ _append_script_js__WEBPACK_IMPORTED_MODULE_1__.loadNextStyle; },
|
|
8769
8771
|
/* harmony export */ markAsAtomic: function() { return /* reexport safe */ _extend_js__WEBPACK_IMPORTED_MODULE_14__.markAsAtomic; },
|
|
8770
8772
|
/* harmony export */ markDeprecated: function() { return /* reexport safe */ _mark_deprecated_js__WEBPACK_IMPORTED_MODULE_19__.markDeprecated; },
|
|
8771
|
-
/* harmony export */ markOwner: function() { return /* reexport safe */
|
|
8772
|
-
/* harmony export */ memorizeExec: function() { return /* reexport safe */
|
|
8773
|
+
/* harmony export */ markOwner: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_29__.markOwner; },
|
|
8774
|
+
/* harmony export */ memorizeExec: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_29__.memorizeExec; },
|
|
8773
8775
|
/* harmony export */ options: function() { return /* reexport safe */ _error_index_js__WEBPACK_IMPORTED_MODULE_13__.options; },
|
|
8774
8776
|
/* harmony export */ parseQuery: function() { return /* reexport safe */ _parse_query_js__WEBPACK_IMPORTED_MODULE_21__.parseQuery; },
|
|
8775
|
-
/* harmony export */
|
|
8776
|
-
/* harmony export */
|
|
8777
|
-
/* harmony export */
|
|
8778
|
-
/* harmony export */
|
|
8779
|
-
/* harmony export */
|
|
8780
|
-
/* harmony export */
|
|
8777
|
+
/* harmony export */ prepareEmbedCode: function() { return /* reexport safe */ _prepare_media_js__WEBPACK_IMPORTED_MODULE_22__.prepareEmbedCode; },
|
|
8778
|
+
/* harmony export */ prepareMedia: function() { return /* reexport safe */ _prepare_media_js__WEBPACK_IMPORTED_MODULE_22__.prepareMedia; },
|
|
8779
|
+
/* harmony export */ previewBox: function() { return /* reexport safe */ _print_js__WEBPACK_IMPORTED_MODULE_23__.previewBox; },
|
|
8780
|
+
/* harmony export */ refs: function() { return /* reexport safe */ _selector_js__WEBPACK_IMPORTED_MODULE_26__.refs; },
|
|
8781
|
+
/* harmony export */ reset: function() { return /* reexport safe */ _reset_js__WEBPACK_IMPORTED_MODULE_24__.reset; },
|
|
8782
|
+
/* harmony export */ resolveElement: function() { return /* reexport safe */ _selector_js__WEBPACK_IMPORTED_MODULE_26__.resolveElement; },
|
|
8783
|
+
/* harmony export */ scrollIntoViewIfNeeded: function() { return /* reexport safe */ _scroll_into_view_js__WEBPACK_IMPORTED_MODULE_25__.scrollIntoViewIfNeeded; },
|
|
8784
|
+
/* harmony export */ set: function() { return /* reexport safe */ _set_js__WEBPACK_IMPORTED_MODULE_27__.set; },
|
|
8781
8785
|
/* harmony export */ wrapMedia: function() { return /* reexport safe */ _media_wrapper_js__WEBPACK_IMPORTED_MODULE_20__.wrapMedia; }
|
|
8782
8786
|
/* harmony export */ });
|
|
8783
8787
|
/* harmony import */ var _align_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(25726);
|
|
@@ -8802,13 +8806,14 @@ const getClassName = (obj)=>{
|
|
|
8802
8806
|
/* harmony import */ var _mark_deprecated_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(95942);
|
|
8803
8807
|
/* harmony import */ var _media_wrapper_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(61477);
|
|
8804
8808
|
/* harmony import */ var _parse_query_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(82501);
|
|
8805
|
-
/* harmony import */ var
|
|
8806
|
-
/* harmony import */ var
|
|
8807
|
-
/* harmony import */ var
|
|
8808
|
-
/* harmony import */ var
|
|
8809
|
-
/* harmony import */ var
|
|
8810
|
-
/* harmony import */ var
|
|
8811
|
-
/* harmony import */ var
|
|
8809
|
+
/* harmony import */ var _prepare_media_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(96437);
|
|
8810
|
+
/* harmony import */ var _print_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(11628);
|
|
8811
|
+
/* harmony import */ var _reset_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(58844);
|
|
8812
|
+
/* harmony import */ var _scroll_into_view_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(26395);
|
|
8813
|
+
/* harmony import */ var _selector_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(76078);
|
|
8814
|
+
/* harmony import */ var _set_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(3703);
|
|
8815
|
+
/* harmony import */ var _stack_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(50535);
|
|
8816
|
+
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(37790);
|
|
8812
8817
|
/*!
|
|
8813
8818
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
8814
8819
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -8844,6 +8849,7 @@ const getClassName = (obj)=>{
|
|
|
8844
8849
|
|
|
8845
8850
|
|
|
8846
8851
|
|
|
8852
|
+
|
|
8847
8853
|
|
|
8848
8854
|
|
|
8849
8855
|
/***/ }),
|
|
@@ -9009,6 +9015,45 @@ const isWrapper = (node, wrapper)=>_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.
|
|
|
9009
9015
|
/* harmony export */ ]);
|
|
9010
9016
|
|
|
9011
9017
|
|
|
9018
|
+
/***/ }),
|
|
9019
|
+
|
|
9020
|
+
/***/ 96437:
|
|
9021
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9022
|
+
|
|
9023
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
9024
|
+
/* harmony export */ prepareEmbedCode: function() { return /* binding */ prepareEmbedCode; },
|
|
9025
|
+
/* harmony export */ prepareMedia: function() { return /* binding */ prepareMedia; }
|
|
9026
|
+
/* harmony export */ });
|
|
9027
|
+
/* harmony import */ var _align_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(25726);
|
|
9028
|
+
/* harmony import */ var _media_wrapper_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(61477);
|
|
9029
|
+
/*!
|
|
9030
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
9031
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
9032
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
9033
|
+
*/
|
|
9034
|
+
|
|
9035
|
+
/**
|
|
9036
|
+
* Puts new media in its wrapper (see `mediaWrappers`) and aligns it with
|
|
9037
|
+
* `mediaDefaultAlign`. Returns the wrapper, or `element` when there is none
|
|
9038
|
+
*/ function prepareMedia(jodit, element) {
|
|
9039
|
+
const media = (0,_media_wrapper_js__WEBPACK_IMPORTED_MODULE_1__.wrapMedia)(jodit, element);
|
|
9040
|
+
const { mediaDefaultAlign } = jodit.o;
|
|
9041
|
+
if (mediaDefaultAlign && mediaDefaultAlign !== 'normal') {
|
|
9042
|
+
(0,_align_js__WEBPACK_IMPORTED_MODULE_0__.hAlignElement)(media, mediaDefaultAlign, (0,_align_js__WEBPACK_IMPORTED_MODULE_0__.getAlignClasses)(jodit, media));
|
|
9043
|
+
}
|
|
9044
|
+
return media;
|
|
9045
|
+
}
|
|
9046
|
+
/**
|
|
9047
|
+
* Embed code that is one element is prepared as media (see `prepareMedia`);
|
|
9048
|
+
* other code is returned as it is
|
|
9049
|
+
*/ function prepareEmbedCode(jodit, code) {
|
|
9050
|
+
const box = jodit.createInside.div();
|
|
9051
|
+
box.innerHTML = code.trim();
|
|
9052
|
+
const element = box.firstElementChild;
|
|
9053
|
+
return element && box.childNodes.length === 1 ? prepareMedia(jodit, element) : code;
|
|
9054
|
+
}
|
|
9055
|
+
|
|
9056
|
+
|
|
9012
9057
|
/***/ }),
|
|
9013
9058
|
|
|
9014
9059
|
/***/ 11628:
|
|
@@ -13304,7 +13349,9 @@ function toggleAttribute(jodit, value, elm, key, dry, mode) {
|
|
|
13304
13349
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.append(wrapper, fragment);
|
|
13305
13350
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeInsertNode(range, wrapper);
|
|
13306
13351
|
if (style.elementIsBlock) {
|
|
13307
|
-
|
|
13352
|
+
// The wrapped content can bring its own `<br>` (an empty table
|
|
13353
|
+
// cell's), after or inside the temporary `<font>` around the selection
|
|
13354
|
+
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmpty(wrapper) && !wrapper.querySelector('br')) {
|
|
13308
13355
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.append(wrapper, ci.element('br'));
|
|
13309
13356
|
}
|
|
13310
13357
|
}
|
|
@@ -28982,28 +29029,20 @@ class FileBrowserTree extends _core_ui_index_js__WEBPACK_IMPORTED_MODULE_0__.UIG
|
|
|
28982
29029
|
/* harmony export */ History: function() { return /* binding */ History; }
|
|
28983
29030
|
/* harmony export */ });
|
|
28984
29031
|
/* harmony import */ var _core_component_view_component_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(80480);
|
|
28985
|
-
/* harmony import */ var
|
|
28986
|
-
/* harmony import */ var
|
|
28987
|
-
/* harmony import */ var
|
|
28988
|
-
/* harmony import */ var
|
|
28989
|
-
/* harmony import */ var _stack_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(57034);
|
|
29032
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6441);
|
|
29033
|
+
/* harmony import */ var _command_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(92643);
|
|
29034
|
+
/* harmony import */ var _snapshot_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(52604);
|
|
29035
|
+
/* harmony import */ var _stack_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(57034);
|
|
28990
29036
|
/*!
|
|
28991
29037
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
28992
29038
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
28993
29039
|
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
28994
|
-
*/
|
|
28995
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
28996
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
28997
|
-
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;
|
|
28998
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
28999
|
-
};
|
|
29000
|
-
|
|
29001
|
-
|
|
29040
|
+
*/
|
|
29002
29041
|
|
|
29003
29042
|
|
|
29004
29043
|
|
|
29005
29044
|
|
|
29006
|
-
|
|
29045
|
+
_config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.history = {
|
|
29007
29046
|
enable: true,
|
|
29008
29047
|
maxHistoryLength: Infinity,
|
|
29009
29048
|
timeout: 1000
|
|
@@ -29017,27 +29056,31 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.history = {
|
|
|
29017
29056
|
/**
|
|
29018
29057
|
* Return state of the WYSIWYG editor to step back
|
|
29019
29058
|
*/ redo() {
|
|
29059
|
+
this.__processPendingChanges();
|
|
29020
29060
|
if (this.__stack.redo()) {
|
|
29021
29061
|
this.startValue = this.snapshot.make();
|
|
29022
29062
|
this.fireChangeStack();
|
|
29023
29063
|
}
|
|
29024
29064
|
}
|
|
29025
29065
|
canRedo() {
|
|
29026
|
-
return this.__stack.canRedo();
|
|
29066
|
+
return !this.__hasPendingChanges && this.__stack.canRedo();
|
|
29027
29067
|
}
|
|
29028
29068
|
/**
|
|
29029
29069
|
* Return the state of the WYSIWYG editor to step forward
|
|
29030
29070
|
*/ undo() {
|
|
29071
|
+
this.__processPendingChanges();
|
|
29031
29072
|
if (this.__stack.undo()) {
|
|
29032
29073
|
this.startValue = this.snapshot.make();
|
|
29033
29074
|
this.fireChangeStack();
|
|
29034
29075
|
}
|
|
29035
29076
|
}
|
|
29036
29077
|
canUndo() {
|
|
29037
|
-
return this.__stack.canUndo();
|
|
29078
|
+
return this.__hasPendingChanges || this.__stack.canUndo();
|
|
29038
29079
|
}
|
|
29039
29080
|
clear() {
|
|
29040
29081
|
this.startValue = this.snapshot.make();
|
|
29082
|
+
this.async.clearTimeout(this.__timer);
|
|
29083
|
+
this.__hasPendingChanges = false;
|
|
29041
29084
|
this.__stack.clear();
|
|
29042
29085
|
this.fireChangeStack();
|
|
29043
29086
|
}
|
|
@@ -29057,9 +29100,29 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.history = {
|
|
|
29057
29100
|
this.updateTick += 1;
|
|
29058
29101
|
}
|
|
29059
29102
|
/**
|
|
29060
|
-
* Push new command in stack on some changes
|
|
29103
|
+
* Push new command in stack on some changes. The first change opens a
|
|
29104
|
+
* step, and later ones join it until `history.timeout` has passed,
|
|
29105
|
+
* however close together they come.
|
|
29061
29106
|
*/ onChange() {
|
|
29062
|
-
|
|
29107
|
+
// A transaction is over by the time the step is recorded, so it is
|
|
29108
|
+
// checked now
|
|
29109
|
+
if (this.snapshot.isBlocked || this.__hasPendingChanges) {
|
|
29110
|
+
return;
|
|
29111
|
+
}
|
|
29112
|
+
this.__hasPendingChanges = true;
|
|
29113
|
+
this.__timer = this.async.setTimeout(()=>this.__processPendingChanges(), this.j.o.history.timeout);
|
|
29114
|
+
// With a timeout of 0 the step is already recorded. Otherwise
|
|
29115
|
+
// canUndo and canRedo count it from now
|
|
29116
|
+
if (this.__hasPendingChanges) {
|
|
29117
|
+
this.fireChangeStack();
|
|
29118
|
+
}
|
|
29119
|
+
}
|
|
29120
|
+
/**
|
|
29121
|
+
* Push the open step's changes now
|
|
29122
|
+
*/ __processPendingChanges() {
|
|
29123
|
+
if (this.__hasPendingChanges) {
|
|
29124
|
+
this.__processChanges();
|
|
29125
|
+
}
|
|
29063
29126
|
}
|
|
29064
29127
|
/**
|
|
29065
29128
|
* @internal
|
|
@@ -29067,13 +29130,15 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.history = {
|
|
|
29067
29130
|
if (this.snapshot.isBlocked || !this.j.o.history.enable) {
|
|
29068
29131
|
return;
|
|
29069
29132
|
}
|
|
29133
|
+
this.async.clearTimeout(this.__timer);
|
|
29134
|
+
this.__hasPendingChanges = false;
|
|
29070
29135
|
this.updateStack();
|
|
29071
29136
|
}
|
|
29072
29137
|
/**
|
|
29073
29138
|
* Update history stack
|
|
29074
29139
|
*/ updateStack(replace = false) {
|
|
29075
29140
|
const newValue = this.snapshot.make();
|
|
29076
|
-
if (
|
|
29141
|
+
if (_snapshot_js__WEBPACK_IMPORTED_MODULE_3__.Snapshot.equal(newValue, this.startValue)) {
|
|
29077
29142
|
return;
|
|
29078
29143
|
}
|
|
29079
29144
|
// Only the selection moved, for example when the selection markers
|
|
@@ -29083,7 +29148,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.history = {
|
|
|
29083
29148
|
this.startValue = newValue;
|
|
29084
29149
|
return;
|
|
29085
29150
|
}
|
|
29086
|
-
const newCommand = new
|
|
29151
|
+
const newCommand = new _command_js__WEBPACK_IMPORTED_MODULE_2__.Command(this.startValue, newValue, this, this.updateTick);
|
|
29087
29152
|
if (replace) {
|
|
29088
29153
|
const command = this.__stack.current();
|
|
29089
29154
|
if (command && this.updateTick === command.tick) {
|
|
@@ -29109,9 +29174,15 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.history = {
|
|
|
29109
29174
|
this.snapshot.destruct();
|
|
29110
29175
|
super.destruct();
|
|
29111
29176
|
}
|
|
29112
|
-
constructor(editor, stack = new
|
|
29177
|
+
constructor(editor, stack = new _stack_js__WEBPACK_IMPORTED_MODULE_4__.Stack(editor.o.history.maxHistoryLength), snapshot = new _snapshot_js__WEBPACK_IMPORTED_MODULE_3__.Snapshot(editor)){
|
|
29113
29178
|
super(editor);
|
|
29114
29179
|
this.updateTick = 0;
|
|
29180
|
+
/**
|
|
29181
|
+
* A step is open: changes have come in that are not in the stack yet
|
|
29182
|
+
*/ this.__hasPendingChanges = false;
|
|
29183
|
+
/**
|
|
29184
|
+
* Records the open step `history.timeout` after its first change
|
|
29185
|
+
*/ this.__timer = 0;
|
|
29115
29186
|
this.__stack = stack;
|
|
29116
29187
|
this.snapshot = snapshot;
|
|
29117
29188
|
if (editor.o.history.enable) {
|
|
@@ -29122,6 +29193,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.history = {
|
|
|
29122
29193
|
this.startValue = this.snapshot.make();
|
|
29123
29194
|
editor.events// save selection
|
|
29124
29195
|
.on('internalChange internalUpdate', ()=>{
|
|
29196
|
+
this.__processPendingChanges();
|
|
29125
29197
|
this.startValue = this.snapshot.make();
|
|
29126
29198
|
}).on(editor.editor, [
|
|
29127
29199
|
'changeSelection',
|
|
@@ -29135,14 +29207,11 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.history = {
|
|
|
29135
29207
|
if (this.startValue.html === this.j.getNativeEditorValue()) {
|
|
29136
29208
|
this.startValue = this.snapshot.make();
|
|
29137
29209
|
}
|
|
29138
|
-
}).on(this, 'change.history', this.onChange);
|
|
29210
|
+
}).on(this, 'change.history', ()=>this.onChange());
|
|
29139
29211
|
});
|
|
29140
29212
|
}
|
|
29141
29213
|
}
|
|
29142
29214
|
}
|
|
29143
|
-
__decorate([
|
|
29144
|
-
(0,_core_decorators_debounce_debounce_js__WEBPACK_IMPORTED_MODULE_1__.debounce)()
|
|
29145
|
-
], History.prototype, "onChange", null);
|
|
29146
29215
|
|
|
29147
29216
|
|
|
29148
29217
|
/***/ }),
|
|
@@ -30764,7 +30833,9 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
30764
30833
|
const columnsCount = Table.__getColumnsCount(table);
|
|
30765
30834
|
row = create.element('tr');
|
|
30766
30835
|
for(let j = 0; j < columnsCount; j += 1){
|
|
30767
|
-
|
|
30836
|
+
const cell = create.element('td');
|
|
30837
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_3__.Dom.append(cell, create.element('br'));
|
|
30838
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_3__.Dom.append(row, cell);
|
|
30768
30839
|
}
|
|
30769
30840
|
} else {
|
|
30770
30841
|
row = line.cloneNode(true);
|
|
@@ -30781,6 +30852,7 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
30781
30852
|
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_3__.Dom.each(row, (cell)=>{
|
|
30782
30853
|
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_3__.Dom.isCell(cell)) {
|
|
30783
30854
|
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_3__.Dom.detach(cell);
|
|
30855
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_3__.Dom.append(cell, create.element('br'));
|
|
30784
30856
|
}
|
|
30785
30857
|
});
|
|
30786
30858
|
}
|
|
@@ -30869,6 +30941,7 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
30869
30941
|
const cells = box[i];
|
|
30870
30942
|
if (cells[columnIndex] !== cells[newColumnIndex] || columnIndex === newColumnIndex) {
|
|
30871
30943
|
const cell = this.j.createInside.element('td');
|
|
30944
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_3__.Dom.append(cell, this.j.createInside.element('br'));
|
|
30872
30945
|
if (insertAfter) {
|
|
30873
30946
|
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_3__.Dom.after(cells[columnIndex], cell);
|
|
30874
30947
|
} else {
|
|
@@ -31092,7 +31165,7 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
31092
31165
|
Table.__setColumnWidthByDelta(table, first_j, 0, true, __marked);
|
|
31093
31166
|
}
|
|
31094
31167
|
}
|
|
31095
|
-
first.innerHTML = html.join('<br/>');
|
|
31168
|
+
first.innerHTML = html.join('<br/>') || '<br/>';
|
|
31096
31169
|
instance(jodit).addSelection(first);
|
|
31097
31170
|
alreadyMerged.delete(first);
|
|
31098
31171
|
Table.__unmark(__marked);
|
|
@@ -33358,8 +33431,8 @@ _core_ui_index_js__WEBPACK_IMPORTED_MODULE_2__.Icon.set('palette', _palette_svg_
|
|
|
33358
33431
|
const box = (0,_tabs_tabs_js__WEBPACK_IMPORTED_MODULE_3__.TabsWidget)(editor, tabs);
|
|
33359
33432
|
// Marks this popup so its tabs auto-size to their labels (see
|
|
33360
33433
|
// `.jodit-file-selector` in tabs.less) — long localized tab captions are no
|
|
33361
|
-
// longer clipped — while leaving other tab popups (link
|
|
33362
|
-
//
|
|
33434
|
+
// longer clipped — while leaving other tab popups (link …) untouched. The
|
|
33435
|
+
// video popup, which has an Upload tab too, uses it as well.
|
|
33363
33436
|
box.classList.add('jodit-file-selector');
|
|
33364
33437
|
return box;
|
|
33365
33438
|
};
|
|
@@ -34622,6 +34695,10 @@ class backspace extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_4__.Plugi
|
|
|
34622
34695
|
if (!sel.isFocused()) {
|
|
34623
34696
|
sel.focus();
|
|
34624
34697
|
}
|
|
34698
|
+
// Focused with no range, as WebKit leaves it after a click on an embed
|
|
34699
|
+
if (!sel.isInsideArea) {
|
|
34700
|
+
return;
|
|
34701
|
+
}
|
|
34625
34702
|
if ((0,_cases_check_not_collapsed_js__WEBPACK_IMPORTED_MODULE_7__.checkNotCollapsed)(jodit)) {
|
|
34626
34703
|
jodit.e.fire('backSpaceAfterDelete', backspace);
|
|
34627
34704
|
return false;
|
|
@@ -35840,7 +35917,8 @@ _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__.Icon.set('class-span', _class_span
|
|
|
35840
35917
|
/* harmony import */ var _core_helpers_html_safe_html_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(86518);
|
|
35841
35918
|
/* harmony import */ var _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(20356);
|
|
35842
35919
|
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(46776);
|
|
35843
|
-
/* harmony import */ var
|
|
35920
|
+
/* harmony import */ var _helpers_visitor_filters_replace_old_tags_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(80973);
|
|
35921
|
+
/* harmony import */ var _helpers_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(59498);
|
|
35844
35922
|
/*!
|
|
35845
35923
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
35846
35924
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -35859,6 +35937,7 @@ _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__.Icon.set('class-span', _class_span
|
|
|
35859
35937
|
|
|
35860
35938
|
|
|
35861
35939
|
|
|
35940
|
+
|
|
35862
35941
|
/**
|
|
35863
35942
|
* Clean HTML after removeFormat and insertHorizontalRule command
|
|
35864
35943
|
*/ const TRAILING_BR_BLOCKS = 'p, div, li, td, th, h1, h2, h3, h4, h5, h6, blockquote';
|
|
@@ -35883,18 +35962,18 @@ class cleanHtml extends _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_5__.Plug
|
|
|
35883
35962
|
}
|
|
35884
35963
|
startWalker() {
|
|
35885
35964
|
const { jodit } = this;
|
|
35886
|
-
const allow = (0,
|
|
35887
|
-
const deny = (0,
|
|
35888
|
-
this.walker.on('visit', (node)=>(0,
|
|
35965
|
+
const allow = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_8__.getHash)(this.j.o.cleanHTML.allowTags);
|
|
35966
|
+
const deny = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_8__.getHash)(this.j.o.cleanHTML.denyTags);
|
|
35967
|
+
this.walker.on('visit', (node)=>(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_8__.visitNodeWalker)(jodit, node, allow, deny, this.currentSelectionNode)).on('end', (affected)=>{
|
|
35889
35968
|
this.j.e.fire(affected ? 'internalChange finishedCleanHTMLWorker' : 'finishedCleanHTMLWorker');
|
|
35890
35969
|
});
|
|
35891
35970
|
}
|
|
35892
35971
|
beforeCommand(command) {
|
|
35893
35972
|
if (command.toLowerCase() === 'removeformat') {
|
|
35894
35973
|
if (this.j.s.isCollapsed()) {
|
|
35895
|
-
(0,
|
|
35974
|
+
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_8__.removeFormatForCollapsedSelection)(this.j);
|
|
35896
35975
|
} else {
|
|
35897
|
-
(0,
|
|
35976
|
+
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_8__.removeFormatForSelection)(this.j);
|
|
35898
35977
|
}
|
|
35899
35978
|
return false;
|
|
35900
35979
|
}
|
|
@@ -35920,6 +35999,7 @@ class cleanHtml extends _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_5__.Plug
|
|
|
35920
35999
|
];
|
|
35921
36000
|
sandBox.innerHTML = data.value;
|
|
35922
36001
|
this.j.e.fire('safeHTML', sandBox);
|
|
36002
|
+
this.__replaceOldTags(sandBox);
|
|
35923
36003
|
data.value = sandBox.innerHTML;
|
|
35924
36004
|
(0,_core_helpers_html_safe_html_js__WEBPACK_IMPORTED_MODULE_4__.safeHTML)(sandBox, {
|
|
35925
36005
|
safeJavaScriptLink: true,
|
|
@@ -35928,6 +36008,20 @@ class cleanHtml extends _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_5__.Plug
|
|
|
35928
36008
|
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(iframe);
|
|
35929
36009
|
return false;
|
|
35930
36010
|
}
|
|
36011
|
+
/**
|
|
36012
|
+
* Replace old tags (`<b>` with `<strong>`, `<i>` with `<em>`) in an
|
|
36013
|
+
* assigned value straight away. The walker would get to them only after
|
|
36014
|
+
* every node before them, seconds later on a long document, and until
|
|
36015
|
+
* then Bold does not treat `<b>` as bold, and the swap can move the caret.
|
|
36016
|
+
*/ __replaceOldTags(box) {
|
|
36017
|
+
const { replaceOldTags: list, disableCleanFilter } = this.j.o.cleanHTML;
|
|
36018
|
+
if (!list || (disableCleanFilter === null || disableCleanFilter === void 0 ? void 0 : disableCleanFilter.has('replaceOldTags'))) {
|
|
36019
|
+
return;
|
|
36020
|
+
}
|
|
36021
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.each(box, (node)=>{
|
|
36022
|
+
;(0,_helpers_visitor_filters_replace_old_tags_js__WEBPACK_IMPORTED_MODULE_7__.replaceOldTags)(this.j, node, false);
|
|
36023
|
+
});
|
|
36024
|
+
}
|
|
35931
36025
|
/**
|
|
35932
36026
|
* Collapse a value that holds only a single empty block (e.g.
|
|
35933
36027
|
* `<p><br></p>` left after deleting all content) to an empty string —
|
|
@@ -36631,10 +36725,33 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
36631
36725
|
}
|
|
36632
36726
|
const tagName = list[oldParent.nodeName.toLowerCase()] || list[oldParent.nodeName];
|
|
36633
36727
|
if (tagName) {
|
|
36634
|
-
|
|
36728
|
+
const restoreSelection = keepSelection(jodit, oldParent);
|
|
36729
|
+
const newParent = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.replace(oldParent, tagName, jodit.createInside, true, false);
|
|
36730
|
+
restoreSelection === null || restoreSelection === void 0 ? void 0 : restoreSelection(newParent);
|
|
36731
|
+
return newParent;
|
|
36635
36732
|
}
|
|
36636
36733
|
return oldParent;
|
|
36637
36734
|
}
|
|
36735
|
+
/**
|
|
36736
|
+
* Moving the children out of an element collapses a selection inside them to
|
|
36737
|
+
* where the element was, so the caret jumps to the start of the text being
|
|
36738
|
+
* typed. Returns a callback that puts the selection back on the same nodes.
|
|
36739
|
+
*
|
|
36740
|
+
* Like `removeEmptyTextNode`, it leaves the selection alone once focus has
|
|
36741
|
+
* left the editor, because selecting would take focus back.
|
|
36742
|
+
*/ function keepSelection(jodit, elm) {
|
|
36743
|
+
const { sel } = jodit.s;
|
|
36744
|
+
if (!(sel === null || sel === void 0 ? void 0 : sel.anchorNode) || !sel.focusNode || !jodit.s.isFocused()) {
|
|
36745
|
+
return null;
|
|
36746
|
+
}
|
|
36747
|
+
const { anchorNode, anchorOffset, focusNode, focusOffset } = sel;
|
|
36748
|
+
if (!_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isOrContains(elm, anchorNode) && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isOrContains(elm, focusNode)) {
|
|
36749
|
+
return null;
|
|
36750
|
+
}
|
|
36751
|
+
return (newElm)=>{
|
|
36752
|
+
sel.setBaseAndExtent(anchorNode === elm ? newElm : anchorNode, anchorOffset, focusNode === elm ? newElm : focusNode, focusOffset);
|
|
36753
|
+
};
|
|
36754
|
+
}
|
|
36638
36755
|
|
|
36639
36756
|
|
|
36640
36757
|
/***/ }),
|
|
@@ -38600,9 +38717,32 @@ const brBoxes = new Set([
|
|
|
38600
38717
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
38601
38718
|
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
38602
38719
|
*/
|
|
38720
|
+
/**
|
|
38721
|
+
* Moves the cursor out of a block that can't hold the inserted block: before
|
|
38722
|
+
* or after it when the cursor is at its edge, or between its two halves when
|
|
38723
|
+
* the cursor is inside its content. An empty block is removed
|
|
38724
|
+
*/ function moveCursorOutOf(jodit, parent) {
|
|
38725
|
+
var _a;
|
|
38726
|
+
const { s } = jodit;
|
|
38727
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmpty(parent)) {
|
|
38728
|
+
s.setCursorAfter(parent);
|
|
38729
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(parent);
|
|
38730
|
+
return;
|
|
38731
|
+
}
|
|
38732
|
+
if (s.cursorOnTheRight(parent)) {
|
|
38733
|
+
s.setCursorAfter(parent);
|
|
38734
|
+
return;
|
|
38735
|
+
}
|
|
38736
|
+
if (s.cursorOnTheLeft(parent)) {
|
|
38737
|
+
s.setCursorBefore(parent);
|
|
38738
|
+
return;
|
|
38739
|
+
}
|
|
38740
|
+
s.setCursorAfter((_a = s.splitSelection(parent)) !== null && _a !== void 0 ? _a : parent);
|
|
38741
|
+
}
|
|
38603
38742
|
/**
|
|
38604
38743
|
* Checks whether the insertion of an element at the current location is allowed,
|
|
38605
|
-
* if it is not allowed, it deletes an empty block element
|
|
38744
|
+
* if it is not allowed, it deletes an empty block element, moves the cursor
|
|
38745
|
+
* before or after it, or splits it at the cursor
|
|
38606
38746
|
* @internal
|
|
38607
38747
|
*/ function checkBlockNesting(jodit, node) {
|
|
38608
38748
|
var _a, _b;
|
|
@@ -38631,10 +38771,7 @@ const brBoxes = new Set([
|
|
|
38631
38771
|
parent = current;
|
|
38632
38772
|
}
|
|
38633
38773
|
if (parent) {
|
|
38634
|
-
jodit
|
|
38635
|
-
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmpty(parent)) {
|
|
38636
|
-
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(parent);
|
|
38637
|
-
}
|
|
38774
|
+
moveCursorOutOf(jodit, parent);
|
|
38638
38775
|
}
|
|
38639
38776
|
}
|
|
38640
38777
|
}
|
|
@@ -39139,7 +39276,14 @@ function brBefore(start) {
|
|
|
39139
39276
|
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(link, fake);
|
|
39140
39277
|
} else if (s.cursorOnTheLeft(link, fake)) {
|
|
39141
39278
|
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.before(link, fake);
|
|
39279
|
+
} else {
|
|
39280
|
+
return;
|
|
39142
39281
|
}
|
|
39282
|
+
// The block is split at the caret, so the caret leaves the link too:
|
|
39283
|
+
// beside the fake, since Safari mislays a caret inside a removed node
|
|
39284
|
+
const range = s.createRange();
|
|
39285
|
+
range.setStartBefore(fake);
|
|
39286
|
+
s.selectRange(range);
|
|
39143
39287
|
}
|
|
39144
39288
|
}
|
|
39145
39289
|
|
|
@@ -39369,9 +39513,10 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_1__.pluginSystem.add('file', file);
|
|
|
39369
39513
|
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
|
|
39370
39514
|
|
|
39371
39515
|
/* unused harmony export focus */
|
|
39372
|
-
/* harmony import */ var
|
|
39373
|
-
/* harmony import */ var
|
|
39374
|
-
/* harmony import */ var
|
|
39516
|
+
/* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
39517
|
+
/* harmony import */ var _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(22732);
|
|
39518
|
+
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(580);
|
|
39519
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6441);
|
|
39375
39520
|
/*!
|
|
39376
39521
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
39377
39522
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -39379,15 +39524,16 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_1__.pluginSystem.add('file', file);
|
|
|
39379
39524
|
*/
|
|
39380
39525
|
|
|
39381
39526
|
|
|
39527
|
+
|
|
39382
39528
|
/**
|
|
39383
39529
|
* After loading the page into the editor once the focus is set
|
|
39384
|
-
*/
|
|
39530
|
+
*/ _config_js__WEBPACK_IMPORTED_MODULE_3__.Config.prototype.autofocus = false;
|
|
39385
39531
|
/**
|
|
39386
39532
|
* Cursor position after autofocus
|
|
39387
|
-
*/
|
|
39533
|
+
*/ _config_js__WEBPACK_IMPORTED_MODULE_3__.Config.prototype.cursorAfterAutofocus = 'end';
|
|
39388
39534
|
/**
|
|
39389
39535
|
* Save current selection on blur event
|
|
39390
|
-
*/
|
|
39536
|
+
*/ _config_js__WEBPACK_IMPORTED_MODULE_3__.Config.prototype.saveSelectionOnBlur = true;
|
|
39391
39537
|
function focus(editor) {
|
|
39392
39538
|
if (editor.o.saveSelectionOnBlur) {
|
|
39393
39539
|
// A click that brings focus back places the caret itself, and Chrome
|
|
@@ -39419,10 +39565,10 @@ function focus(editor) {
|
|
|
39419
39565
|
let textNode = null;
|
|
39420
39566
|
switch(editor.o.cursorAfterAutofocus){
|
|
39421
39567
|
case 'start':
|
|
39422
|
-
textNode =
|
|
39568
|
+
textNode = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.first(editor.editor, (node)=>_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isText(node));
|
|
39423
39569
|
break;
|
|
39424
39570
|
case 'end':
|
|
39425
|
-
textNode =
|
|
39571
|
+
textNode = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.last(editor.editor, (node)=>_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isText(node));
|
|
39426
39572
|
break;
|
|
39427
39573
|
}
|
|
39428
39574
|
if (textNode) {
|
|
@@ -39440,7 +39586,8 @@ function focus(editor) {
|
|
|
39440
39586
|
});
|
|
39441
39587
|
editor.e.on('afterInit afterAddPlace', ()=>{
|
|
39442
39588
|
editor.e.off(editor.editor, 'mousedown.autofocus').on(editor.editor, 'mousedown.autofocus', (e)=>{
|
|
39443
|
-
|
|
39589
|
+
// An empty block takes the caret, but a video, say, can't hold one
|
|
39590
|
+
if (editor.isEditorMode() && e.target && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(e.target) && !_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(e.target, _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS) && !e.target.childNodes.length) {
|
|
39444
39591
|
if (editor.editor === e.target) {
|
|
39445
39592
|
editor.s.focus();
|
|
39446
39593
|
} else {
|
|
@@ -39450,7 +39597,7 @@ function focus(editor) {
|
|
|
39450
39597
|
});
|
|
39451
39598
|
});
|
|
39452
39599
|
}
|
|
39453
|
-
|
|
39600
|
+
_core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('focus', focus);
|
|
39454
39601
|
|
|
39455
39602
|
|
|
39456
39603
|
/***/ }),
|
|
@@ -40671,18 +40818,29 @@ function hr(editor) {
|
|
|
40671
40818
|
group: 'insert'
|
|
40672
40819
|
});
|
|
40673
40820
|
editor.registerCommand('insertHorizontalRule', ()=>{
|
|
40821
|
+
var _a;
|
|
40674
40822
|
const elm = editor.createInside.element('hr');
|
|
40675
40823
|
editor.s.insertNode(elm, false, false);
|
|
40676
40824
|
const block = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(elm.parentElement, _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock, editor.editor);
|
|
40677
|
-
|
|
40825
|
+
// A block that holds other blocks, such as a list item or a table
|
|
40826
|
+
// cell, keeps the line
|
|
40827
|
+
if (block && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmpty(block) && block !== editor.editor && !((_a = editor.o.dtd) === null || _a === void 0 ? void 0 : _a.blockLimits[block.nodeName.toLowerCase()])) {
|
|
40678
40828
|
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(block, elm);
|
|
40679
40829
|
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(block);
|
|
40680
40830
|
}
|
|
40681
|
-
|
|
40682
|
-
if (
|
|
40683
|
-
|
|
40684
|
-
|
|
40831
|
+
const next = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.findNotEmptySibling(elm, false);
|
|
40832
|
+
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock(next)) {
|
|
40833
|
+
editor.s.setCursorIn(next, true);
|
|
40834
|
+
return false;
|
|
40835
|
+
}
|
|
40836
|
+
// In a list item or a table cell the text goes on after the line, as
|
|
40837
|
+
// it does with the browsers' own command
|
|
40838
|
+
if (next || elm.parentNode !== editor.editor && !_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock(_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.findNotEmptySibling(elm, true))) {
|
|
40839
|
+
editor.s.setCursorAfter(elm);
|
|
40840
|
+
return false;
|
|
40685
40841
|
}
|
|
40842
|
+
const p = editor.createInside.element(editor.o.enter);
|
|
40843
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.after(elm, p);
|
|
40686
40844
|
editor.s.setCursorIn(p);
|
|
40687
40845
|
return false;
|
|
40688
40846
|
});
|
|
@@ -40715,7 +40873,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeBaseUrl = '';
|
|
|
40715
40873
|
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeTitle = 'Jodit Editor';
|
|
40716
40874
|
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeDoctype = '<!DOCTYPE html>';
|
|
40717
40875
|
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeDefaultSrc = 'about:blank';
|
|
40718
|
-
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeStyle = 'html{' + 'margin:0;' + 'padding:0;' + 'min-height: 100%;' + '}' + 'body{' + 'box-sizing:border-box;' + 'font-size:13px;' + 'line-height:1.6;' + 'padding:10px;' + 'margin:0;' + 'background:transparent;' + 'color:#000;' + 'position:' + 'relative;' + 'z-index:2;' + 'user-select:auto;' + 'margin:0px;' + 'overflow:auto;' + 'outline:none;' + '}' + 'table{' + 'width:100%;' + 'border:none;' + 'border-collapse:collapse;' + 'empty-cells: show;' + 'max-width: 100%;' + '}' + 'th,td{' + 'padding: 2px 5px;' + 'border:1px solid #ccc;' + '-webkit-user-select:text;' + '-moz-user-select:text;' + '-ms-user-select:text;' + 'user-select:text' + '}' + 'p{' + 'margin-top:0;' + '}' + '
|
|
40876
|
+
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeStyle = 'html{' + 'margin:0;' + 'padding:0;' + 'min-height: 100%;' + '}' + 'body{' + 'box-sizing:border-box;' + 'font-size:13px;' + 'line-height:1.6;' + 'padding:10px;' + 'margin:0;' + 'background:transparent;' + 'color:#000;' + 'position:' + 'relative;' + 'z-index:2;' + 'user-select:auto;' + 'margin:0px;' + 'overflow:auto;' + 'outline:none;' + '}' + 'table{' + 'width:100%;' + 'border:none;' + 'border-collapse:collapse;' + 'empty-cells: show;' + 'max-width: 100%;' + '}' + 'th,td{' + 'padding: 2px 5px;' + 'border:1px solid #ccc;' + '-webkit-user-select:text;' + '-moz-user-select:text;' + '-ms-user-select:text;' + 'user-select:text' + '}' + 'p{' + 'margin-top:0;' + '}' + '[data-jodit_iframe_wrapper]{' + 'display: block;' + 'user-select: none;' + 'position: relative;' + '}' + '[data-jodit_iframe_wrapper] iframe{' + 'position: relative;' + '}' + '[data-jodit_iframe_wrapper]:after {' + 'position:absolute;' + 'content:"";' + 'z-index:1;' + 'top:0;' + 'left:0;' + 'right: 0;' + 'bottom: 0;' + 'cursor: pointer;' + 'display: block;' + 'background: rgba(0, 0, 0, 0);' + '} ' + '[data-jodit_iframe_wrapper][data-jodit-wrapper_active=true] iframe{' + 'z-index: 2;' + '}' + '.jodit-wysiwyg_image-selected::selection,' + '.jodit-wysiwyg_image-selected *:not(img)::selection{' + 'background:transparent' + '}' + '.jodit_disabled{' + 'user-select: none;' + '-o-user-select: none;' + '-moz-user-select: none;' + '-khtml-user-select: none;' + '-webkit-user-select: none;' + '-ms-user-select: none' + '}';
|
|
40719
40877
|
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeCSSLinks = [];
|
|
40720
40878
|
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeSandbox = null;
|
|
40721
40879
|
|
|
@@ -43634,6 +43792,55 @@ const align = {
|
|
|
43634
43792
|
/* harmony import */ var _core_ui_popup_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(61259);
|
|
43635
43793
|
/* harmony import */ var _modules_toolbar_factory_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(21491);
|
|
43636
43794
|
/* harmony import */ var _config_config_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(24526);
|
|
43795
|
+
function _define_property(obj, key, value) {
|
|
43796
|
+
if (key in obj) {
|
|
43797
|
+
Object.defineProperty(obj, key, {
|
|
43798
|
+
value: value,
|
|
43799
|
+
enumerable: true,
|
|
43800
|
+
configurable: true,
|
|
43801
|
+
writable: true
|
|
43802
|
+
});
|
|
43803
|
+
} else obj[key] = value;
|
|
43804
|
+
return obj;
|
|
43805
|
+
}
|
|
43806
|
+
function _object_spread(target) {
|
|
43807
|
+
for(var i = 1; i < arguments.length; i++){
|
|
43808
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
43809
|
+
var ownKeys = Object.keys(source);
|
|
43810
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
43811
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
43812
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
43813
|
+
}));
|
|
43814
|
+
}
|
|
43815
|
+
ownKeys.forEach(function(key) {
|
|
43816
|
+
_define_property(target, key, source[key]);
|
|
43817
|
+
});
|
|
43818
|
+
}
|
|
43819
|
+
return target;
|
|
43820
|
+
}
|
|
43821
|
+
function ownKeys(object, enumerableOnly) {
|
|
43822
|
+
var keys = Object.keys(object);
|
|
43823
|
+
if (Object.getOwnPropertySymbols) {
|
|
43824
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
43825
|
+
if (enumerableOnly) {
|
|
43826
|
+
symbols = symbols.filter(function(sym) {
|
|
43827
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
43828
|
+
});
|
|
43829
|
+
}
|
|
43830
|
+
keys.push.apply(keys, symbols);
|
|
43831
|
+
}
|
|
43832
|
+
return keys;
|
|
43833
|
+
}
|
|
43834
|
+
function _object_spread_props(target, source) {
|
|
43835
|
+
source = source != null ? source : {};
|
|
43836
|
+
if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
43837
|
+
else {
|
|
43838
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
43839
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
43840
|
+
});
|
|
43841
|
+
}
|
|
43842
|
+
return target;
|
|
43843
|
+
}
|
|
43637
43844
|
/*!
|
|
43638
43845
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
43639
43846
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -43667,10 +43874,29 @@ const align = {
|
|
|
43667
43874
|
// A media wrapper kept in the content gets the media popup
|
|
43668
43875
|
const type = mediaWrapper ? 'jodit-media' : target === null || target === void 0 ? void 0 : target.nodeName.toLowerCase();
|
|
43669
43876
|
if (target && type && this.canShowPopupForType(type)) {
|
|
43670
|
-
|
|
43877
|
+
const isMedia = type === 'jodit-media';
|
|
43878
|
+
// Beside the media in a wrapper kept in the content, which can fill
|
|
43879
|
+
// the line
|
|
43880
|
+
const bound = mediaWrapper && (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.getWrappedMedia)(this.j, mediaWrapper) || target;
|
|
43881
|
+
this.showPopup(()=>this.__bound(bound, isMedia), type, target);
|
|
43671
43882
|
return false;
|
|
43672
43883
|
}
|
|
43673
43884
|
}
|
|
43885
|
+
/**
|
|
43886
|
+
* The box the popup opens beside: the target's, with room for the
|
|
43887
|
+
* resizer's handles when the target gets them, so it doesn't cover them
|
|
43888
|
+
*/ __bound(target, isMedia) {
|
|
43889
|
+
const bound = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.position)(target, this.j);
|
|
43890
|
+
const resizable = this.j.o.allowResizeTags;
|
|
43891
|
+
if (!isMedia && !(resizable && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(target, resizable))) {
|
|
43892
|
+
return bound;
|
|
43893
|
+
}
|
|
43894
|
+
const room = parseInt(this.j.ow.getComputedStyle(this.j.container).getPropertyValue('--jd-resizer-handle-size'), 10) / 2 || 0;
|
|
43895
|
+
return _object_spread_props(_object_spread({}, bound), {
|
|
43896
|
+
top: bound.top - room,
|
|
43897
|
+
height: bound.height + room * 2
|
|
43898
|
+
});
|
|
43899
|
+
}
|
|
43674
43900
|
/**
|
|
43675
43901
|
* Show inline popup with some toolbar
|
|
43676
43902
|
*
|
|
@@ -45005,7 +45231,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.link = {
|
|
|
45005
45231
|
height: (_d = jodit.o.video) === null || _d === void 0 ? void 0 : _d.defaultHeight
|
|
45006
45232
|
});
|
|
45007
45233
|
if (embed !== html) {
|
|
45008
|
-
|
|
45234
|
+
const media = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.prepareEmbedCode)(jodit, embed);
|
|
45235
|
+
return (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.isString)(media) ? jodit.createInside.fromHTML(media) : media;
|
|
45009
45236
|
}
|
|
45010
45237
|
}
|
|
45011
45238
|
if (jodit.s.isCollapsed()) {
|
|
@@ -45483,10 +45710,27 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.mediaWrappers = {};
|
|
|
45483
45710
|
} else {
|
|
45484
45711
|
return;
|
|
45485
45712
|
}
|
|
45713
|
+
// Selected, as an image is, so Delete and Backspace remove it
|
|
45486
45714
|
editor.e.off(element, 'mousedown.select touchstart.select').on(element, 'mousedown.select touchstart.select', ()=>{
|
|
45487
|
-
editor.s.
|
|
45715
|
+
editor.s.select(element);
|
|
45488
45716
|
});
|
|
45489
45717
|
};
|
|
45718
|
+
// Media in a wrapper kept in the content let clicks through to it, as
|
|
45719
|
+
// jodit-media covers its media, so a click selects the media rather than
|
|
45720
|
+
// playing it. An inline wrapper holds it as an inline-block, unless its
|
|
45721
|
+
// classes or style give it a display of their own
|
|
45722
|
+
const wrappers = Object.values(mediaWrappers);
|
|
45723
|
+
if (wrappers.length) {
|
|
45724
|
+
editor.e.on('afterInit', ()=>{
|
|
45725
|
+
const selectors = (list)=>[
|
|
45726
|
+
...new Set(list)
|
|
45727
|
+
].join(',');
|
|
45728
|
+
const scoped = ({ tag, className })=>`.jodit-wysiwyg ${tag}.${className}`;
|
|
45729
|
+
const inline = selectors(wrappers.filter(({ tag })=>_core_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_INLINE.test(tag)).map(scoped));
|
|
45730
|
+
const media = selectors(wrappers.flatMap((wrapper)=>mediaBlocks.map((tag)=>`${scoped(wrapper)}>${tag}`)));
|
|
45731
|
+
(0,_core_global_js__WEBPACK_IMPORTED_MODULE_2__.getContainer)(editor, 'media-wrappers', 'style', true).innerHTML = (inline ? `:where(${inline}){display:inline-block}` : '') + `${media}{pointer-events:none}`;
|
|
45732
|
+
});
|
|
45733
|
+
}
|
|
45490
45734
|
if (mediaInFakeBlock || Object.keys(mediaWrappers).length) {
|
|
45491
45735
|
editor.e.on('afterGetValueFromEditor', (data)=>{
|
|
45492
45736
|
const rxp = new RegExp(`<${mediaFakeTag}[^>]+data-${keyFake}[^>]+>([^]+?)</${mediaFakeTag}>`, 'ig');
|
|
@@ -46407,12 +46651,14 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.paste = {
|
|
|
46407
46651
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
46408
46652
|
/* harmony export */ askInsertTypeDialog: function() { return /* binding */ askInsertTypeDialog; },
|
|
46409
46653
|
/* harmony export */ getAllTypes: function() { return /* binding */ getAllTypes; },
|
|
46410
|
-
/* harmony export */ pasteInsertHtml: function() { return /* binding */ pasteInsertHtml; }
|
|
46654
|
+
/* harmony export */ pasteInsertHtml: function() { return /* binding */ pasteInsertHtml; },
|
|
46655
|
+
/* harmony export */ removeGoogleDocsWrapper: function() { return /* binding */ removeGoogleDocsWrapper; }
|
|
46411
46656
|
/* harmony export */ });
|
|
46412
46657
|
/* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
46413
46658
|
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2748);
|
|
46414
|
-
/* harmony import */ var
|
|
46415
|
-
/* harmony import */ var
|
|
46659
|
+
/* harmony import */ var _core_helpers_array_to_array_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4510);
|
|
46660
|
+
/* harmony import */ var _core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(27613);
|
|
46661
|
+
/* harmony import */ var _core_ui_button_button_button_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(10830);
|
|
46416
46662
|
/*!
|
|
46417
46663
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
46418
46664
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -46421,6 +46667,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.paste = {
|
|
|
46421
46667
|
|
|
46422
46668
|
|
|
46423
46669
|
|
|
46670
|
+
|
|
46424
46671
|
/**
|
|
46425
46672
|
* Remove special HTML comments
|
|
46426
46673
|
* @private
|
|
@@ -46436,6 +46683,21 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.paste = {
|
|
|
46436
46683
|
}
|
|
46437
46684
|
return html;
|
|
46438
46685
|
}
|
|
46686
|
+
/**
|
|
46687
|
+
* Google Docs wraps the copied content in
|
|
46688
|
+
* `<b style="font-weight:normal;" id="docs-internal-guid-…">`. Kept, the
|
|
46689
|
+
* wrapper holds the pasted blocks, and without its style it makes the whole
|
|
46690
|
+
* paste bold
|
|
46691
|
+
* @private
|
|
46692
|
+
*/ function removeGoogleDocsWrapper(html) {
|
|
46693
|
+
if (!/<b\s[^>]*docs-internal-guid-/i.test(html)) {
|
|
46694
|
+
return html;
|
|
46695
|
+
}
|
|
46696
|
+
// An inert document: images don't load and handlers don't run
|
|
46697
|
+
const { body } = new DOMParser().parseFromString(html, 'text/html');
|
|
46698
|
+
(0,_core_helpers_array_to_array_js__WEBPACK_IMPORTED_MODULE_2__.toArray)(body.querySelectorAll('b[id^="docs-internal-guid-"]')).forEach(_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.unwrap);
|
|
46699
|
+
return body.innerHTML;
|
|
46700
|
+
}
|
|
46439
46701
|
/**
|
|
46440
46702
|
* @private
|
|
46441
46703
|
*/ function isDragEvent(e) {
|
|
@@ -46452,11 +46714,11 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.paste = {
|
|
|
46452
46714
|
editor.s.insertCursorAtPoint(e.clientX, e.clientY);
|
|
46453
46715
|
}
|
|
46454
46716
|
const result = editor.e.fire('beforePasteInsert', html);
|
|
46455
|
-
if (!(0,
|
|
46717
|
+
if (!(0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_3__.isVoid)(result) && ((0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_3__.isString)(result) || (0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_3__.isNumber)(result) || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isNode(result))) {
|
|
46456
46718
|
html = result;
|
|
46457
46719
|
}
|
|
46458
|
-
if ((0,
|
|
46459
|
-
html = removeExtraFragments(html);
|
|
46720
|
+
if ((0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_3__.isString)(html)) {
|
|
46721
|
+
html = removeExtraFragments(removeGoogleDocsWrapper(html));
|
|
46460
46722
|
}
|
|
46461
46723
|
editor.s.insertHTML(html);
|
|
46462
46724
|
}
|
|
@@ -46466,7 +46728,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.paste = {
|
|
|
46466
46728
|
*/ function getAllTypes(dt) {
|
|
46467
46729
|
const types = dt.types;
|
|
46468
46730
|
let types_str = '';
|
|
46469
|
-
if ((0,
|
|
46731
|
+
if ((0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_3__.isArray)(types) || ({}).toString.call(types) === '[object DOMStringList]') {
|
|
46470
46732
|
for(let i = 0; i < types.length; i += 1){
|
|
46471
46733
|
types_str += types[i] + ';';
|
|
46472
46734
|
}
|
|
@@ -46483,7 +46745,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.paste = {
|
|
|
46483
46745
|
return;
|
|
46484
46746
|
}
|
|
46485
46747
|
const dialog = jodit.confirm(`<div style="word-break: normal; white-space: normal">${jodit.i18n(msg)}</div>`, jodit.i18n(title));
|
|
46486
|
-
const buttons = buttonList.map(({ text, value })=>(0,
|
|
46748
|
+
const buttons = buttonList.map(({ text, value })=>(0,_core_ui_button_button_button_js__WEBPACK_IMPORTED_MODULE_4__.Button)(jodit, {
|
|
46487
46749
|
text,
|
|
46488
46750
|
name: text.toLowerCase(),
|
|
46489
46751
|
tabIndex: 0
|
|
@@ -46499,7 +46761,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.paste = {
|
|
|
46499
46761
|
}
|
|
46500
46762
|
jodit.e.fire('afterClosePasteDialog', dialog);
|
|
46501
46763
|
});
|
|
46502
|
-
const cancel = (0,
|
|
46764
|
+
const cancel = (0,_core_ui_button_button_button_js__WEBPACK_IMPORTED_MODULE_4__.Button)(jodit, {
|
|
46503
46765
|
text: 'Cancel',
|
|
46504
46766
|
tabIndex: 0
|
|
46505
46767
|
}).onAction(()=>{
|
|
@@ -46648,7 +46910,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.paste = {
|
|
|
46648
46910
|
this.j.buffer.set(_core_constants_js__WEBPACK_IMPORTED_MODULE_0__.CLIPBOARD_ID, html);
|
|
46649
46911
|
switch(action){
|
|
46650
46912
|
case _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INSERT_CLEAR_HTML:
|
|
46651
|
-
html = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.cleanFromWord)(html);
|
|
46913
|
+
html = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.cleanFromWord)((0,_helpers_js__WEBPACK_IMPORTED_MODULE_7__.removeGoogleDocsWrapper)(html));
|
|
46652
46914
|
break;
|
|
46653
46915
|
case _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INSERT_ONLY_TEXT:
|
|
46654
46916
|
html = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.stripTags)(html, this.j.ed, new Set(this.j.o.pasteExcludeStripTags), this.j.o.nl2brInPlainText);
|
|
@@ -47798,7 +48060,7 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
47798
48060
|
addEventListeners() {
|
|
47799
48061
|
const editor = this.j;
|
|
47800
48062
|
editor.e.off(editor.editor, '.resizer').off(editor.ow, '.resizer').on(editor.editor, 'keydown.resizer', (e)=>{
|
|
47801
|
-
if (this.isShown && e.key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_DELETE && this.element && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(this.element, 'table')) {
|
|
48063
|
+
if (this.isShown && (e.key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_DELETE || e.key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_BACKSPACE) && this.element && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(this.element, 'table')) {
|
|
47802
48064
|
this.onDelete(e);
|
|
47803
48065
|
}
|
|
47804
48066
|
}).on(editor.ow, 'resize.resizer', this.updateSize).on('resize.resizer', this.updateSize).on([
|
|
@@ -48005,8 +48267,12 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
48005
48267
|
this.j.e.off(element, 'mousedown.select touchstart.select').on(element, 'mousedown.select touchstart.select', ()=>{
|
|
48006
48268
|
this.j.s.select(element);
|
|
48007
48269
|
}).off(element, 'changesize').on(element, 'changesize', ()=>{
|
|
48008
|
-
|
|
48009
|
-
|
|
48270
|
+
// Only a resize sets the embed's size, and as the plain numbers
|
|
48271
|
+
// the attributes take, so a click leaves `width="100%"` alone
|
|
48272
|
+
if (this.isResizeMode) {
|
|
48273
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(iframe, 'width', element.offsetWidth);
|
|
48274
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(iframe, 'height', element.offsetHeight);
|
|
48275
|
+
}
|
|
48010
48276
|
});
|
|
48011
48277
|
}
|
|
48012
48278
|
this.j.e.on(element, 'dragstart', this.hide);
|
|
@@ -49447,15 +49713,23 @@ class selectCells extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plu
|
|
|
49447
49713
|
this.__tableModule.mergeSelected(table);
|
|
49448
49714
|
break;
|
|
49449
49715
|
case 'empty':
|
|
49450
|
-
cells.forEach((td)=>
|
|
49716
|
+
cells.forEach((td)=>{
|
|
49717
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.detach(td);
|
|
49718
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(td, this.j.createInside.element('br'));
|
|
49719
|
+
});
|
|
49451
49720
|
break;
|
|
49452
49721
|
case 'bin':
|
|
49453
|
-
|
|
49722
|
+
this.__removeTable(table);
|
|
49454
49723
|
break;
|
|
49455
49724
|
case 'binrow':
|
|
49456
|
-
|
|
49457
|
-
|
|
49458
|
-
|
|
49725
|
+
{
|
|
49726
|
+
const rows = new Set(cells.map((td)=>td.parentNode));
|
|
49727
|
+
const next = this.__nearestCell(table, cell, (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.toArray)(rows).map((row)=>row.rowIndex), true);
|
|
49728
|
+
rows.forEach((row)=>{
|
|
49729
|
+
this.__tableModule.removeRow(table, row.rowIndex);
|
|
49730
|
+
});
|
|
49731
|
+
next && this.j.s.setCursorIn(next);
|
|
49732
|
+
}
|
|
49459
49733
|
break;
|
|
49460
49734
|
case 'bincolumn':
|
|
49461
49735
|
{
|
|
@@ -49468,9 +49742,11 @@ class selectCells extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plu
|
|
|
49468
49742
|
columnsSet.add(col);
|
|
49469
49743
|
}
|
|
49470
49744
|
});
|
|
49745
|
+
const next = this.__nearestCell(table, cell, columns, false);
|
|
49471
49746
|
columns.sort((a, b)=>b - a).forEach((col)=>{
|
|
49472
49747
|
this.__tableModule.removeColumn(table, col);
|
|
49473
49748
|
});
|
|
49749
|
+
next && this.j.s.setCursorIn(next);
|
|
49474
49750
|
}
|
|
49475
49751
|
break;
|
|
49476
49752
|
case 'addcolumnafter':
|
|
@@ -49482,10 +49758,36 @@ class selectCells extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plu
|
|
|
49482
49758
|
this.__tableModule.appendRow(table, cell.parentNode, command === 'addrowafter');
|
|
49483
49759
|
break;
|
|
49484
49760
|
}
|
|
49761
|
+
if (/^bin(row|column)$/.test(command) && !this.__tableModule.getColumnsCount(table)) {
|
|
49762
|
+
this.__removeTable(table);
|
|
49763
|
+
}
|
|
49485
49764
|
}
|
|
49486
49765
|
return false;
|
|
49487
49766
|
}
|
|
49488
49767
|
}
|
|
49768
|
+
/**
|
|
49769
|
+
* The cell that takes the caret when rows or columns are deleted: the next
|
|
49770
|
+
* one in the same column (or row) that is not deleted, else the previous one
|
|
49771
|
+
*/ __nearestCell(table, cell, deleted, isRow) {
|
|
49772
|
+
const box = this.__tableModule.formalMatrix(table);
|
|
49773
|
+
const [row, column] = this.__tableModule.formalCoordinate(table, cell);
|
|
49774
|
+
const start = isRow ? row : column;
|
|
49775
|
+
const count = isRow ? box.length : box[row].length;
|
|
49776
|
+
const find = (i)=>!deleted.includes(i) && (isRow ? box[i][column] : box[row][i]) || null;
|
|
49777
|
+
for(let i = start + 1; i < count; i += 1){
|
|
49778
|
+
const next = find(i);
|
|
49779
|
+
if (next) {
|
|
49780
|
+
return next;
|
|
49781
|
+
}
|
|
49782
|
+
}
|
|
49783
|
+
for(let i = start - 1; i >= 0; i -= 1){
|
|
49784
|
+
const prev = find(i);
|
|
49785
|
+
if (prev) {
|
|
49786
|
+
return prev;
|
|
49787
|
+
}
|
|
49788
|
+
}
|
|
49789
|
+
return null;
|
|
49790
|
+
}
|
|
49489
49791
|
/**
|
|
49490
49792
|
* Add some align after native command
|
|
49491
49793
|
*/ onAfterCommand(command) {
|
|
@@ -49493,6 +49795,14 @@ class selectCells extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plu
|
|
|
49493
49795
|
this.__tableModule.getAllSelectedCells().forEach((elm)=>(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.alignElement)(command, elm));
|
|
49494
49796
|
}
|
|
49495
49797
|
}
|
|
49798
|
+
/**
|
|
49799
|
+
* Remove the table and put the caret where it stood: at the start of what
|
|
49800
|
+
* follows it, else at the end of what precedes it
|
|
49801
|
+
*/ __removeTable(table) {
|
|
49802
|
+
const parent = table.parentNode, next = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.findNotEmptySibling(table, false), prev = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.findNotEmptySibling(table, true);
|
|
49803
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(table);
|
|
49804
|
+
this.j.s.setCursorIn(next || prev || parent, Boolean(next));
|
|
49805
|
+
}
|
|
49496
49806
|
/** @override */ beforeDestruct(jodit) {
|
|
49497
49807
|
this.__onRemoveSelection();
|
|
49498
49808
|
jodit.e.off('.select-cells');
|
|
@@ -53980,7 +54290,7 @@ const WORK_KEYS = new Set([
|
|
|
53980
54290
|
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.append(next, first);
|
|
53981
54291
|
editor.s.setCursorBefore(first);
|
|
53982
54292
|
} else {
|
|
53983
|
-
if (key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_TAB) {
|
|
54293
|
+
if (key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_TAB && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isEmpty(next)) {
|
|
53984
54294
|
editor.s.select(next, true);
|
|
53985
54295
|
} else {
|
|
53986
54296
|
editor.s.setCursorIn(next, key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_RIGHT || key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_DOWN);
|
|
@@ -54044,6 +54354,37 @@ _config_js__WEBPACK_IMPORTED_MODULE_5__.Config.prototype.table = {
|
|
|
54044
54354
|
useExtraClassesOptions: false
|
|
54045
54355
|
};
|
|
54046
54356
|
_core_ui_icon_js__WEBPACK_IMPORTED_MODULE_4__.Icon.set('table', _table_svg_js__WEBPACK_IMPORTED_MODULE_6__["default"]);
|
|
54357
|
+
/**
|
|
54358
|
+
* Elements in `dtd.blockLimits` that hold only rows, cells or list items, so
|
|
54359
|
+
* a table can't go directly inside them
|
|
54360
|
+
*/ const ROW_AND_ITEM_HOLDERS = new Set([
|
|
54361
|
+
'table',
|
|
54362
|
+
'thead',
|
|
54363
|
+
'tbody',
|
|
54364
|
+
'tfoot',
|
|
54365
|
+
'tr',
|
|
54366
|
+
'ul',
|
|
54367
|
+
'ol',
|
|
54368
|
+
'dl'
|
|
54369
|
+
]);
|
|
54370
|
+
/**
|
|
54371
|
+
* The nearest block around the cursor that can hold the new table: an element
|
|
54372
|
+
* in `dtd.blockLimits`, such as a table cell, a list item or a `<div>`. The
|
|
54373
|
+
* cursor's own block of the `enter` tag is a line, not a container, as in the
|
|
54374
|
+
* dtd plugin's `checkBlockNesting`
|
|
54375
|
+
*/ function findTableContainer(editor, current) {
|
|
54376
|
+
const line = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(current, _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock, editor.editor);
|
|
54377
|
+
const container = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(current, (node)=>{
|
|
54378
|
+
var _a;
|
|
54379
|
+
if (!_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isElement(node) || node === line && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(node, editor.o.enter)) {
|
|
54380
|
+
return false;
|
|
54381
|
+
}
|
|
54382
|
+
const tag = node.nodeName.toLowerCase();
|
|
54383
|
+
return Boolean((_a = editor.o.dtd) === null || _a === void 0 ? void 0 : _a.blockLimits[tag]) && !ROW_AND_ITEM_HOLDERS.has(tag);
|
|
54384
|
+
}, editor.editor);
|
|
54385
|
+
// With the cursor between two rows, `current` is the next row's text
|
|
54386
|
+
return container && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isOrContains(container, editor.s.range.startContainer) ? container : null;
|
|
54387
|
+
}
|
|
54047
54388
|
_config_js__WEBPACK_IMPORTED_MODULE_5__.Config.prototype.controls.table = {
|
|
54048
54389
|
data: {
|
|
54049
54390
|
cols: 10,
|
|
@@ -54141,7 +54482,11 @@ _config_js__WEBPACK_IMPORTED_MODULE_5__.Config.prototype.controls.table = {
|
|
|
54141
54482
|
editor.s.removeMarkers();
|
|
54142
54483
|
editor.editor.normalize();
|
|
54143
54484
|
editor.history.snapshot.restore(snapshot);
|
|
54144
|
-
const
|
|
54485
|
+
const current = editor.s.current();
|
|
54486
|
+
// The table goes into the cell, list item or box holding the
|
|
54487
|
+
// cursor, and only a block inside it is split
|
|
54488
|
+
const container = findTableContainer(editor, current);
|
|
54489
|
+
const block = container === current ? null : _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.furthest(current, _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock, container !== null && container !== void 0 ? container : editor.editor);
|
|
54145
54490
|
if (block && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isEmpty(block)) {
|
|
54146
54491
|
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.replace(block, table, undefined, false, true);
|
|
54147
54492
|
} else {
|
|
@@ -54163,6 +54508,9 @@ _config_js__WEBPACK_IMPORTED_MODULE_5__.Config.prototype.controls.table = {
|
|
|
54163
54508
|
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.after(block, table);
|
|
54164
54509
|
}
|
|
54165
54510
|
}
|
|
54511
|
+
} else if (container && !_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isEmpty(container) && !editor.o.table.splitBlockOnInsertTable) {
|
|
54512
|
+
// With no block to go after, the table goes after the text
|
|
54513
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.append(container, table);
|
|
54166
54514
|
} else {
|
|
54167
54515
|
editor.s.insertNode(table, false);
|
|
54168
54516
|
}
|
|
@@ -54421,33 +54769,15 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_4__.pluginSystem.add('toolbarNavigation
|
|
|
54421
54769
|
|
|
54422
54770
|
|
|
54423
54771
|
|
|
54424
|
-
// Media the popup inserts go in their wrapper (see `mediaWrappers`), aligned
|
|
54425
|
-
// with `mediaDefaultAlign`
|
|
54426
|
-
function prepareMedia(jodit, element) {
|
|
54427
|
-
const media = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__.wrapMedia)(jodit, element);
|
|
54428
|
-
const { mediaDefaultAlign } = jodit.o;
|
|
54429
|
-
if (mediaDefaultAlign && mediaDefaultAlign !== 'normal') {
|
|
54430
|
-
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__.hAlignElement)(media, mediaDefaultAlign, (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__.getAlignClasses)(jodit, media));
|
|
54431
|
-
}
|
|
54432
|
-
return media;
|
|
54433
|
-
}
|
|
54434
54772
|
function insertVideos(data) {
|
|
54435
54773
|
var _a;
|
|
54436
54774
|
(_a = data.files) === null || _a === void 0 ? void 0 : _a.forEach((file)=>{
|
|
54437
|
-
this.s.insertNode(prepareMedia(this, this.createInside.element('video', {
|
|
54775
|
+
this.s.insertNode((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__.prepareMedia)(this, this.createInside.element('video', {
|
|
54438
54776
|
controls: '',
|
|
54439
54777
|
src: data.baseurl + file
|
|
54440
54778
|
})));
|
|
54441
54779
|
});
|
|
54442
54780
|
}
|
|
54443
|
-
// Embed code that is one element is prepared as media; other code goes in as
|
|
54444
|
-
// it is
|
|
54445
|
-
function prepareEmbedCode(jodit, code) {
|
|
54446
|
-
const box = jodit.createInside.div();
|
|
54447
|
-
box.innerHTML = code.trim();
|
|
54448
|
-
const element = box.firstElementChild;
|
|
54449
|
-
return element && box.childNodes.length === 1 ? prepareMedia(jodit, element) : code;
|
|
54450
|
-
}
|
|
54451
54781
|
_config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.video = {
|
|
54452
54782
|
parseUrlToVideoEmbed: _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__.convertMediaUrlToVideoEmbed,
|
|
54453
54783
|
defaultWidth: 400,
|
|
@@ -54485,7 +54815,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.video = {
|
|
|
54485
54815
|
])
|
|
54486
54816
|
]), tabs = [], insertCode = (code)=>{
|
|
54487
54817
|
jodit.s.restore();
|
|
54488
|
-
jodit.s.insertHTML(prepareEmbedCode(jodit, code));
|
|
54818
|
+
jodit.s.insertHTML((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__.prepareEmbedCode)(jodit, code));
|
|
54489
54819
|
close();
|
|
54490
54820
|
};
|
|
54491
54821
|
jodit.s.save();
|
|
@@ -54520,7 +54850,11 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.video = {
|
|
|
54520
54850
|
formCode.onSubmit((data)=>{
|
|
54521
54851
|
insertCode(data.code);
|
|
54522
54852
|
});
|
|
54523
|
-
|
|
54853
|
+
const box = (0,_modules_widget_index_js__WEBPACK_IMPORTED_MODULE_5__.TabsWidget)(jodit, tabs);
|
|
54854
|
+
// Its tabs are sized to their labels, as the file selector's are, since
|
|
54855
|
+
// "Upload" doesn't fit a third of the popup
|
|
54856
|
+
box.classList.add('jodit-file-selector');
|
|
54857
|
+
return box;
|
|
54524
54858
|
},
|
|
54525
54859
|
tags: [
|
|
54526
54860
|
'iframe'
|