jodit-pro 4.18.7 → 4.18.9
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 +5 -0
- package/README.md +2 -0
- package/config.js +1 -0
- package/es2015/jodit.css +2 -2
- package/es2015/jodit.fat.min.css +1 -1
- package/es2015/jodit.fat.min.js +41 -26
- package/es2015/jodit.js +1117 -197
- package/es2015/jodit.min.css +1 -1
- 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 +3 -3
- package/es2015/plugins/chart/chart.js +1 -1
- package/es2015/plugins/chart/chart.min.css +1 -1
- package/es2015/plugins/chart/chart.min.js +1 -1
- package/es2015/plugins/color-picker/color-picker.css +1 -1
- package/es2015/plugins/color-picker/color-picker.js +1 -1
- package/es2015/plugins/color-picker/color-picker.min.js +1 -1
- package/es2015/plugins/emoji/emoji.css +1 -1
- package/es2015/plugins/emoji/emoji.js +1 -1
- package/es2015/plugins/emoji/emoji.min.js +1 -1
- package/es2015/plugins/export-docs/export-docs.js +1 -1
- package/es2015/plugins/export-docs/export-docs.min.js +1 -1
- package/es2015/plugins/finder/finder.css +1 -1
- package/es2015/plugins/finder/finder.js +1 -1
- package/es2015/plugins/finder/finder.min.js +1 -1
- package/es2015/plugins/google-maps/google-maps.css +1 -1
- package/es2015/plugins/google-maps/google-maps.js +1 -1
- package/es2015/plugins/google-maps/google-maps.min.js +1 -1
- package/es2015/plugins/google-search/google-search.js +1 -1
- package/es2015/plugins/google-search/google-search.min.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2015/plugins/keyboard/keyboard.css +1 -1
- package/es2015/plugins/keyboard/keyboard.js +1 -1
- package/es2015/plugins/keyboard/keyboard.min.js +1 -1
- package/es2015/plugins/math/math.css +196 -0
- package/es2015/plugins/math/math.js +1472 -0
- package/es2015/plugins/math/math.min.css +1 -0
- package/es2015/plugins/math/math.min.js +23 -0
- package/es2015/plugins/mobile-view/mobile-view.js +1 -1
- package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2015/plugins/page-break/page-break.js +1 -1
- package/es2015/plugins/page-break/page-break.min.js +1 -1
- package/es2015/plugins/paste-code/paste-code.css +1 -1
- package/es2015/plugins/paste-code/paste-code.js +1 -1
- package/es2015/plugins/paste-code/paste-code.min.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2015/plugins/show-blocks/show-blocks.js +1 -1
- package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2015/plugins/style/style.css +1 -1
- package/es2015/plugins/style/style.js +1 -1
- package/es2015/plugins/style/style.min.js +1 -1
- package/es2015/plugins/templates/templates.css +1 -1
- package/es2015/plugins/templates/templates.js +1 -1
- package/es2015/plugins/templates/templates.min.js +1 -1
- package/es2015/plugins/todo-list/todo-list.css +1 -1
- package/es2015/plugins/todo-list/todo-list.js +1 -1
- package/es2015/plugins/todo-list/todo-list.min.js +1 -1
- package/es2015/plugins/translate/translate.css +1 -1
- package/es2015/plugins/translate/translate.js +1 -1
- package/es2015/plugins/translate/translate.min.js +1 -1
- package/es2015/plugins/tune-block/tune-block.css +1 -1
- package/es2015/plugins/tune-block/tune-block.js +1 -1
- package/es2015/plugins/tune-block/tune-block.min.js +1 -1
- package/es2018/jodit.fat.min.css +1 -1
- package/es2018/jodit.fat.min.js +57 -42
- package/es2018/jodit.min.css +1 -1
- package/es2018/jodit.min.js +21 -21
- 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 -1
- package/es2018/plugins/chart/chart.min.js +1 -1
- package/es2018/plugins/color-picker/color-picker.min.js +1 -1
- package/es2018/plugins/emoji/emoji.min.js +1 -1
- package/es2018/plugins/export-docs/export-docs.min.js +1 -1
- package/es2018/plugins/finder/finder.min.js +1 -1
- package/es2018/plugins/google-maps/google-maps.min.js +1 -1
- package/es2018/plugins/google-search/google-search.min.js +1 -1
- package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2018/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2018/plugins/keyboard/keyboard.min.js +1 -1
- package/es2018/plugins/math/math.min.css +1 -0
- package/es2018/plugins/math/math.min.js +23 -0
- package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2018/plugins/page-break/page-break.min.js +1 -1
- package/es2018/plugins/paste-code/paste-code.min.js +1 -1
- package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2018/plugins/style/style.min.js +1 -1
- package/es2018/plugins/templates/templates.min.js +1 -1
- package/es2018/plugins/todo-list/todo-list.min.js +1 -1
- package/es2018/plugins/translate/translate.min.js +1 -1
- package/es2018/plugins/tune-block/tune-block.min.js +1 -1
- package/es2021/jodit.css +2 -2
- package/es2021/jodit.fat.min.css +1 -1
- package/es2021/jodit.fat.min.js +69 -54
- package/es2021/jodit.js +1092 -197
- package/es2021/jodit.min.css +1 -1
- package/es2021/jodit.min.js +14 -14
- 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 +3 -3
- package/es2021/plugins/chart/chart.js +1 -1
- package/es2021/plugins/chart/chart.min.css +1 -1
- package/es2021/plugins/chart/chart.min.js +1 -1
- package/es2021/plugins/color-picker/color-picker.css +1 -1
- package/es2021/plugins/color-picker/color-picker.js +1 -1
- package/es2021/plugins/color-picker/color-picker.min.js +1 -1
- package/es2021/plugins/emoji/emoji.css +1 -1
- package/es2021/plugins/emoji/emoji.js +1 -1
- package/es2021/plugins/emoji/emoji.min.js +1 -1
- package/es2021/plugins/export-docs/export-docs.js +1 -1
- package/es2021/plugins/export-docs/export-docs.min.js +1 -1
- package/es2021/plugins/finder/finder.css +1 -1
- package/es2021/plugins/finder/finder.js +1 -1
- package/es2021/plugins/finder/finder.min.js +1 -1
- package/es2021/plugins/google-maps/google-maps.css +1 -1
- package/es2021/plugins/google-maps/google-maps.js +1 -1
- package/es2021/plugins/google-maps/google-maps.min.js +1 -1
- package/es2021/plugins/google-search/google-search.js +1 -1
- package/es2021/plugins/google-search/google-search.min.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es2021/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es2021/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2021/plugins/keyboard/keyboard.css +1 -1
- package/es2021/plugins/keyboard/keyboard.js +1 -1
- package/es2021/plugins/keyboard/keyboard.min.js +1 -1
- package/es2021/plugins/math/math.css +196 -0
- package/es2021/plugins/math/math.js +1414 -0
- package/es2021/plugins/math/math.min.css +1 -0
- package/es2021/plugins/math/math.min.js +23 -0
- package/es2021/plugins/mobile-view/mobile-view.js +1 -1
- package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2021/plugins/page-break/page-break.js +1 -1
- package/es2021/plugins/page-break/page-break.min.js +1 -1
- package/es2021/plugins/paste-code/paste-code.css +1 -1
- package/es2021/plugins/paste-code/paste-code.js +1 -1
- package/es2021/plugins/paste-code/paste-code.min.js +1 -1
- package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2021/plugins/show-blocks/show-blocks.js +1 -1
- package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2021/plugins/style/style.css +1 -1
- package/es2021/plugins/style/style.js +1 -1
- package/es2021/plugins/style/style.min.js +1 -1
- package/es2021/plugins/templates/templates.css +1 -1
- package/es2021/plugins/templates/templates.js +1 -1
- package/es2021/plugins/templates/templates.min.js +1 -1
- package/es2021/plugins/todo-list/todo-list.css +1 -1
- package/es2021/plugins/todo-list/todo-list.js +1 -1
- package/es2021/plugins/todo-list/todo-list.min.js +1 -1
- package/es2021/plugins/translate/translate.css +1 -1
- package/es2021/plugins/translate/translate.js +1 -1
- package/es2021/plugins/translate/translate.min.js +1 -1
- package/es2021/plugins/tune-block/tune-block.css +1 -1
- package/es2021/plugins/tune-block/tune-block.js +1 -1
- package/es2021/plugins/tune-block/tune-block.min.js +1 -1
- package/es2021.en/jodit.css +2 -2
- package/es2021.en/jodit.fat.min.css +1 -1
- package/es2021.en/jodit.fat.min.js +69 -54
- package/es2021.en/jodit.js +1092 -197
- package/es2021.en/jodit.min.css +1 -1
- package/es2021.en/jodit.min.js +30 -30
- 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 +3 -3
- package/es2021.en/plugins/chart/chart.js +1 -1
- package/es2021.en/plugins/chart/chart.min.css +1 -1
- package/es2021.en/plugins/chart/chart.min.js +1 -1
- package/es2021.en/plugins/color-picker/color-picker.css +1 -1
- package/es2021.en/plugins/color-picker/color-picker.js +1 -1
- package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
- package/es2021.en/plugins/emoji/emoji.css +1 -1
- package/es2021.en/plugins/emoji/emoji.js +1 -1
- package/es2021.en/plugins/emoji/emoji.min.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
- package/es2021.en/plugins/finder/finder.css +1 -1
- package/es2021.en/plugins/finder/finder.js +1 -1
- package/es2021.en/plugins/finder/finder.min.js +1 -1
- package/es2021.en/plugins/google-maps/google-maps.css +1 -1
- package/es2021.en/plugins/google-maps/google-maps.js +1 -1
- package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
- package/es2021.en/plugins/google-search/google-search.js +1 -1
- package/es2021.en/plugins/google-search/google-search.min.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2021.en/plugins/keyboard/keyboard.css +1 -1
- package/es2021.en/plugins/keyboard/keyboard.js +1 -1
- package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
- package/es2021.en/plugins/math/math.css +196 -0
- package/es2021.en/plugins/math/math.js +1414 -0
- package/es2021.en/plugins/math/math.min.css +1 -0
- package/es2021.en/plugins/math/math.min.js +23 -0
- package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
- package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2021.en/plugins/page-break/page-break.js +1 -1
- package/es2021.en/plugins/page-break/page-break.min.js +1 -1
- package/es2021.en/plugins/paste-code/paste-code.css +1 -1
- package/es2021.en/plugins/paste-code/paste-code.js +1 -1
- package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
- package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
- package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2021.en/plugins/style/style.css +1 -1
- package/es2021.en/plugins/style/style.js +1 -1
- package/es2021.en/plugins/style/style.min.js +1 -1
- package/es2021.en/plugins/templates/templates.css +1 -1
- package/es2021.en/plugins/templates/templates.js +1 -1
- package/es2021.en/plugins/templates/templates.min.js +1 -1
- package/es2021.en/plugins/todo-list/todo-list.css +1 -1
- package/es2021.en/plugins/todo-list/todo-list.js +1 -1
- package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
- package/es2021.en/plugins/translate/translate.css +1 -1
- package/es2021.en/plugins/translate/translate.js +1 -1
- package/es2021.en/plugins/translate/translate.min.js +1 -1
- package/es2021.en/plugins/tune-block/tune-block.css +1 -1
- package/es2021.en/plugins/tune-block/tune-block.js +1 -1
- package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
- package/es5/jodit.css +3 -3
- package/es5/jodit.fat.min.css +1 -1
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +1254 -207
- package/es5/jodit.min.css +3 -3
- 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 +3 -3
- package/es5/plugins/chart/chart.js +1 -1
- package/es5/plugins/chart/chart.min.css +1 -1
- package/es5/plugins/chart/chart.min.js +1 -1
- package/es5/plugins/color-picker/color-picker.css +1 -1
- package/es5/plugins/color-picker/color-picker.js +1 -1
- package/es5/plugins/color-picker/color-picker.min.js +1 -1
- package/es5/plugins/emoji/emoji.css +1 -1
- package/es5/plugins/emoji/emoji.js +1 -1
- package/es5/plugins/emoji/emoji.min.js +1 -1
- package/es5/plugins/export-docs/export-docs.js +1 -1
- package/es5/plugins/export-docs/export-docs.min.js +1 -1
- package/es5/plugins/finder/finder.css +1 -1
- package/es5/plugins/finder/finder.js +1 -1
- package/es5/plugins/finder/finder.min.js +1 -1
- package/es5/plugins/google-maps/google-maps.css +1 -1
- package/es5/plugins/google-maps/google-maps.js +1 -1
- package/es5/plugins/google-maps/google-maps.min.js +1 -1
- package/es5/plugins/google-search/google-search.js +1 -1
- package/es5/plugins/google-search/google-search.min.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es5/plugins/keyboard/keyboard.css +1 -1
- package/es5/plugins/keyboard/keyboard.js +1 -1
- package/es5/plugins/keyboard/keyboard.min.js +1 -1
- package/es5/plugins/math/math.css +196 -0
- package/es5/plugins/math/math.js +1624 -0
- package/es5/plugins/math/math.min.css +1 -0
- package/es5/plugins/math/math.min.js +8 -0
- package/es5/plugins/mobile-view/mobile-view.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es5/plugins/page-break/page-break.js +1 -1
- package/es5/plugins/page-break/page-break.min.js +1 -1
- package/es5/plugins/paste-code/paste-code.css +1 -1
- package/es5/plugins/paste-code/paste-code.js +1 -1
- package/es5/plugins/paste-code/paste-code.min.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es5/plugins/style/style.css +1 -1
- package/es5/plugins/style/style.js +1 -1
- package/es5/plugins/style/style.min.js +1 -1
- package/es5/plugins/templates/templates.css +1 -1
- package/es5/plugins/templates/templates.js +1 -1
- package/es5/plugins/templates/templates.min.js +1 -1
- package/es5/plugins/todo-list/todo-list.css +1 -1
- package/es5/plugins/todo-list/todo-list.js +1 -1
- package/es5/plugins/todo-list/todo-list.min.js +1 -1
- package/es5/plugins/translate/translate.css +1 -1
- package/es5/plugins/translate/translate.js +1 -1
- package/es5/plugins/translate/translate.min.js +1 -1
- package/es5/plugins/tune-block/tune-block.css +1 -1
- package/es5/plugins/tune-block/tune-block.js +1 -1
- package/es5/plugins/tune-block/tune-block.min.js +1 -1
- package/es5/polyfills.fat.min.js +1 -1
- package/es5/polyfills.js +1 -1
- package/es5/polyfills.min.js +1 -1
- package/esm/config.d.ts +30 -0
- package/esm/plugins/all.js +1 -1
- package/esm/plugins/math/assets/math-block.svg.js +1 -0
- package/esm/plugins/math/assets/math-inline.svg.js +1 -0
- package/esm/plugins/math/assets/math.svg.js +1 -0
- package/esm/plugins/math/config.d.ts +34 -0
- package/esm/plugins/math/config.js +1 -0
- package/esm/plugins/math/helpers.d.ts +33 -0
- package/esm/plugins/math/helpers.js +1 -0
- package/esm/plugins/math/interface.d.ts +45 -0
- package/esm/plugins/math/interface.js +0 -0
- package/esm/plugins/math/math.d.ts +66 -0
- package/esm/plugins/math/math.js +1 -0
- package/esm/plugins/math/mathjax.d.ts +17 -0
- package/esm/plugins/math/mathjax.js +1 -0
- package/esm/plugins/math/ui/editor/editor.d.ts +56 -0
- package/esm/plugins/math/ui/editor/editor.js +16 -0
- package/package.json +1 -1
- package/types/config.d.ts +30 -0
- package/types/plugins/math/config.d.ts +34 -0
- package/types/plugins/math/helpers.d.ts +33 -0
- package/types/plugins/math/interface.d.ts +45 -0
- package/types/plugins/math/math.d.ts +66 -0
- package/types/plugins/math/mathjax.d.ts +17 -0
- package/types/plugins/math/ui/editor/editor.d.ts +56 -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.9
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -1814,7 +1814,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1814
1814
|
* ```
|
|
1815
1815
|
* @packageDocumentation
|
|
1816
1816
|
* @module constants
|
|
1817
|
-
*/ const APP_VERSION = "4.18.
|
|
1817
|
+
*/ const APP_VERSION = "4.18.9";
|
|
1818
1818
|
// prettier-ignore
|
|
1819
1819
|
const ES = "es2015";
|
|
1820
1820
|
const IS_ES_MODERN = true;
|
|
@@ -5734,10 +5734,11 @@ const isLicense = (license)=>(0,_is_string_js__WEBPACK_IMPORTED_MODULE_0__.isStr
|
|
|
5734
5734
|
/* harmony export */ });
|
|
5735
5735
|
/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
5736
5736
|
/* harmony import */ var _dom_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2748);
|
|
5737
|
-
/* harmony import */ var
|
|
5738
|
-
/* harmony import */ var
|
|
5739
|
-
/* harmony import */ var
|
|
5740
|
-
/* harmony import */ var
|
|
5737
|
+
/* harmony import */ var _word_lists_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(90723);
|
|
5738
|
+
/* harmony import */ var _string_trim_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(49055);
|
|
5739
|
+
/* harmony import */ var _utils_attr_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29960);
|
|
5740
|
+
/* harmony import */ var _utils_css_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(41180);
|
|
5741
|
+
/* harmony import */ var _utils_selector_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(76078);
|
|
5741
5742
|
/*!
|
|
5742
5743
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
5743
5744
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -5750,6 +5751,7 @@ const isLicense = (license)=>(0,_is_string_js__WEBPACK_IMPORTED_MODULE_0__.isStr
|
|
|
5750
5751
|
|
|
5751
5752
|
|
|
5752
5753
|
|
|
5754
|
+
|
|
5753
5755
|
function normalizeCSS(s) {
|
|
5754
5756
|
return s.replace(/mso-[a-z-]+:[\s]*[^;]+;/gi, '').replace(/mso-[a-z-]+:[\s]*[^";']+$/gi, '').replace(/border[a-z-]*:[\s]*[^;]+;/gi, '').replace(/([0-9.]+)(pt|cm)/gi, (match, units, metrics)=>{
|
|
5755
5757
|
switch(metrics.toLowerCase()){
|
|
@@ -5783,7 +5785,7 @@ function normalizeCSS(s) {
|
|
|
5783
5785
|
html = html.substring(0, closeIndex + '</html>'.length);
|
|
5784
5786
|
}
|
|
5785
5787
|
const iframe = _constants_js__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('iframe');
|
|
5786
|
-
(0,
|
|
5788
|
+
(0,_utils_css_js__WEBPACK_IMPORTED_MODULE_5__.css)(iframe, 'display', 'none');
|
|
5787
5789
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.append(_constants_js__WEBPACK_IMPORTED_MODULE_0__.globalDocument.body, iframe);
|
|
5788
5790
|
let convertedString = '', collection;
|
|
5789
5791
|
try {
|
|
@@ -5792,13 +5794,14 @@ function normalizeCSS(s) {
|
|
|
5792
5794
|
iframeDoc.open();
|
|
5793
5795
|
iframeDoc.write(html);
|
|
5794
5796
|
iframeDoc.close();
|
|
5797
|
+
const listItems = (0,_word_lists_js__WEBPACK_IMPORTED_MODULE_2__.readWordListItems)(iframeDoc.body);
|
|
5795
5798
|
// Word marks its auto-generated list markers (the literal
|
|
5796
5799
|
// bullet/number, e.g. `1.` or `·`) with `mso-list:Ignore`.
|
|
5797
5800
|
// They are display-only and must not be imported, otherwise
|
|
5798
5801
|
// the marker text leaks into the content. Drop them before any
|
|
5799
5802
|
// style normalization strips the `mso-list` hint. See #948
|
|
5800
5803
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.each(iframeDoc.body, (node)=>{
|
|
5801
|
-
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isElement(node) && /mso-list:\s*ignore/i.test((0,
|
|
5804
|
+
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isElement(node) && /mso-list:\s*ignore/i.test((0,_utils_attr_js__WEBPACK_IMPORTED_MODULE_4__.attr)(node, 'style') || '')) {
|
|
5802
5805
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(node);
|
|
5803
5806
|
}
|
|
5804
5807
|
});
|
|
@@ -5809,7 +5812,7 @@ function normalizeCSS(s) {
|
|
|
5809
5812
|
if (rules[idx].selectorText === '') {
|
|
5810
5813
|
continue;
|
|
5811
5814
|
}
|
|
5812
|
-
collection = (0,
|
|
5815
|
+
collection = (0,_utils_selector_js__WEBPACK_IMPORTED_MODULE_6__.$$)(rules[idx].selectorText, iframeDoc.body);
|
|
5813
5816
|
// `style.cssText` on purpose: the CSSOM parses the text,
|
|
5814
5817
|
// drops invalid declarations and re-serializes it. The raw
|
|
5815
5818
|
// `style` attribute would keep Word-only junk verbatim
|
|
@@ -5823,18 +5826,19 @@ function normalizeCSS(s) {
|
|
|
5823
5826
|
throw e;
|
|
5824
5827
|
}
|
|
5825
5828
|
}
|
|
5829
|
+
;(0,_word_lists_js__WEBPACK_IMPORTED_MODULE_2__.wrapWordListItems)(listItems);
|
|
5826
5830
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.each(iframeDoc.body, (node)=>{
|
|
5827
5831
|
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isElement(node)) {
|
|
5828
|
-
const cssText = (0,
|
|
5832
|
+
const cssText = (0,_utils_attr_js__WEBPACK_IMPORTED_MODULE_4__.attr)(node, 'style');
|
|
5829
5833
|
if (cssText) {
|
|
5830
5834
|
node.style.cssText = normalizeCSS(cssText);
|
|
5831
5835
|
}
|
|
5832
|
-
if (!(0,
|
|
5833
|
-
(0,
|
|
5836
|
+
if (!(0,_utils_attr_js__WEBPACK_IMPORTED_MODULE_4__.attr)(node, 'style')) {
|
|
5837
|
+
(0,_utils_attr_js__WEBPACK_IMPORTED_MODULE_4__.attr)(node, 'style', null);
|
|
5834
5838
|
}
|
|
5835
5839
|
}
|
|
5836
5840
|
});
|
|
5837
|
-
convertedString = iframeDoc.firstChild ? (0,
|
|
5841
|
+
convertedString = iframeDoc.firstChild ? (0,_string_trim_js__WEBPACK_IMPORTED_MODULE_3__.trim)(iframeDoc.body.innerHTML) : '';
|
|
5838
5842
|
}
|
|
5839
5843
|
} catch (_a) {} finally{
|
|
5840
5844
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(iframe);
|
|
@@ -5842,7 +5846,7 @@ function normalizeCSS(s) {
|
|
|
5842
5846
|
if (convertedString) {
|
|
5843
5847
|
html = convertedString;
|
|
5844
5848
|
}
|
|
5845
|
-
return (0,
|
|
5849
|
+
return (0,_string_trim_js__WEBPACK_IMPORTED_MODULE_3__.trim)(html.replace(/<(\/)?(html|colgroup|col|o:p)[^>]*>/g, '').replace(/<!--[^>]*>/g, ''));
|
|
5846
5850
|
}
|
|
5847
5851
|
|
|
5848
5852
|
|
|
@@ -5857,8 +5861,9 @@ function normalizeCSS(s) {
|
|
|
5857
5861
|
/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
5858
5862
|
/* harmony import */ var _dom_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2748);
|
|
5859
5863
|
/* harmony import */ var _array_to_array_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4510);
|
|
5860
|
-
/* harmony import */ var
|
|
5861
|
-
/* harmony import */ var
|
|
5864
|
+
/* harmony import */ var _word_lists_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(90723);
|
|
5865
|
+
/* harmony import */ var _string_trim_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(49055);
|
|
5866
|
+
/* harmony import */ var _utils_attr_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(29960);
|
|
5862
5867
|
/*!
|
|
5863
5868
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
5864
5869
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -5870,6 +5875,7 @@ function normalizeCSS(s) {
|
|
|
5870
5875
|
|
|
5871
5876
|
|
|
5872
5877
|
|
|
5878
|
+
|
|
5873
5879
|
/**
|
|
5874
5880
|
* The method automatically cleans up content from Microsoft Word and other HTML sources to ensure clean, compliant
|
|
5875
5881
|
* content that matches the look and feel of the site.
|
|
@@ -5883,6 +5889,7 @@ function normalizeCSS(s) {
|
|
|
5883
5889
|
const div = _constants_js__WEBPACK_IMPORTED_MODULE_0__.globalDocument.createElement('div');
|
|
5884
5890
|
div.innerHTML = html;
|
|
5885
5891
|
const marks = [];
|
|
5892
|
+
const listItems = (0,_word_lists_js__WEBPACK_IMPORTED_MODULE_3__.readWordListItems)(div);
|
|
5886
5893
|
if (div.firstChild) {
|
|
5887
5894
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.each(div, (node)=>{
|
|
5888
5895
|
if (!node) {
|
|
@@ -5907,7 +5914,7 @@ function normalizeCSS(s) {
|
|
|
5907
5914
|
// with `mso-list:Ignore`. They are display-only
|
|
5908
5915
|
// and must not be imported, otherwise the marker
|
|
5909
5916
|
// text leaks into the content. See #948
|
|
5910
|
-
if (/mso-list:\s*ignore/i.test((0,
|
|
5917
|
+
if (/mso-list:\s*ignore/i.test((0,_utils_attr_js__WEBPACK_IMPORTED_MODULE_5__.attr)(node, 'style') || '')) {
|
|
5911
5918
|
marks.push(node);
|
|
5912
5919
|
break;
|
|
5913
5920
|
}
|
|
@@ -5921,7 +5928,7 @@ function normalizeCSS(s) {
|
|
|
5921
5928
|
// `attrRaw`: SVG keeps camelCase names
|
|
5922
5929
|
// (`viewBox`), `attr()` would kebab-case
|
|
5923
5930
|
// them and silently skip the removal
|
|
5924
|
-
(0,
|
|
5931
|
+
(0,_utils_attr_js__WEBPACK_IMPORTED_MODULE_5__.attrRaw)(node, attribute.name, null);
|
|
5925
5932
|
}
|
|
5926
5933
|
});
|
|
5927
5934
|
}
|
|
@@ -5934,12 +5941,13 @@ function normalizeCSS(s) {
|
|
|
5934
5941
|
});
|
|
5935
5942
|
}
|
|
5936
5943
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove.apply(null, marks);
|
|
5944
|
+
(0,_word_lists_js__WEBPACK_IMPORTED_MODULE_3__.wrapWordListItems)(listItems);
|
|
5937
5945
|
convertedString = div.innerHTML;
|
|
5938
5946
|
} catch (e) {}
|
|
5939
5947
|
if (convertedString) {
|
|
5940
5948
|
html = convertedString;
|
|
5941
5949
|
}
|
|
5942
|
-
html = html.split(/(\n)/).filter(
|
|
5950
|
+
html = html.split(/(\n)/).filter(_string_trim_js__WEBPACK_IMPORTED_MODULE_4__.trim).join('\n');
|
|
5943
5951
|
return html.replace(/<(\/)?(html|colgroup|col|o:p)[^>]*>/g, '').replace(/<!--[^>]*>/g, '');
|
|
5944
5952
|
}
|
|
5945
5953
|
|
|
@@ -6274,7 +6282,14 @@ const NEW_LINE_TAGS = new Set([
|
|
|
6274
6282
|
'h4',
|
|
6275
6283
|
'h5',
|
|
6276
6284
|
'h6',
|
|
6277
|
-
'hr'
|
|
6285
|
+
'hr',
|
|
6286
|
+
'ul',
|
|
6287
|
+
'ol',
|
|
6288
|
+
'li'
|
|
6289
|
+
]);
|
|
6290
|
+
const LIST_TAGS = new Set([
|
|
6291
|
+
'ul',
|
|
6292
|
+
'ol'
|
|
6278
6293
|
]);
|
|
6279
6294
|
const INVISIBLE_TAGS = new Set([
|
|
6280
6295
|
'script',
|
|
@@ -6300,6 +6315,16 @@ const ALONE_TAGS = new Set([
|
|
|
6300
6315
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.each(tmp, (node)=>{
|
|
6301
6316
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(node) && all.push(node);
|
|
6302
6317
|
});
|
|
6318
|
+
// By default blocks are joined with a single space (single-line
|
|
6319
|
+
// plain text). When `blockBr` is set, separate them with a line
|
|
6320
|
+
// break instead, so paragraph structure survives — e.g. the
|
|
6321
|
+
// "Insert only Text" paste option. See #1232
|
|
6322
|
+
const separators = new Set();
|
|
6323
|
+
const separator = ()=>{
|
|
6324
|
+
const text = doc.createTextNode(blockBr ? '%%%jodit-single-br%%%' : ' ');
|
|
6325
|
+
separators.add(text);
|
|
6326
|
+
return text;
|
|
6327
|
+
};
|
|
6303
6328
|
all.forEach((p)=>{
|
|
6304
6329
|
const pr = p.parentNode;
|
|
6305
6330
|
if (!pr) {
|
|
@@ -6319,16 +6344,17 @@ const ALONE_TAGS = new Set([
|
|
|
6319
6344
|
if (!_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(p, NEW_LINE_TAGS)) {
|
|
6320
6345
|
return;
|
|
6321
6346
|
}
|
|
6347
|
+
const pv = p.previousSibling;
|
|
6348
|
+
// A nested list starts on a new line after its item's own text
|
|
6349
|
+
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(p, LIST_TAGS) && pv && !separators.has(pv) && !(_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isText(pv) && /\s$/.test(pv.nodeValue || ''))) {
|
|
6350
|
+
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.before(p, separator());
|
|
6351
|
+
}
|
|
6322
6352
|
const nx = p.nextSibling;
|
|
6323
6353
|
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isText(nx) && /^\s/.test(nx.nodeValue || '')) {
|
|
6324
6354
|
return;
|
|
6325
6355
|
}
|
|
6326
6356
|
if (nx) {
|
|
6327
|
-
|
|
6328
|
-
// plain text). When `blockBr` is set, separate them with a line
|
|
6329
|
-
// break instead, so paragraph structure survives — e.g. the
|
|
6330
|
-
// "Insert only Text" paste option. See #1232
|
|
6331
|
-
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.before(nx, doc.createTextNode(blockBr ? '%%%jodit-single-br%%%' : ' '));
|
|
6357
|
+
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.before(nx, separator());
|
|
6332
6358
|
}
|
|
6333
6359
|
});
|
|
6334
6360
|
return restoreTags((0,_string_trim_js__WEBPACK_IMPORTED_MODULE_2__.trim)(tmp.innerText));
|
|
@@ -6338,6 +6364,205 @@ function restoreTags(content) {
|
|
|
6338
6364
|
}
|
|
6339
6365
|
|
|
6340
6366
|
|
|
6367
|
+
/***/ }),
|
|
6368
|
+
|
|
6369
|
+
/***/ 90723:
|
|
6370
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
6371
|
+
|
|
6372
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
6373
|
+
/* harmony export */ readWordListItems: function() { return /* binding */ readWordListItems; },
|
|
6374
|
+
/* harmony export */ wrapWordListItems: function() { return /* binding */ wrapWordListItems; }
|
|
6375
|
+
/* harmony export */ });
|
|
6376
|
+
/* harmony import */ var _dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
6377
|
+
/* harmony import */ var _array_to_array_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4510);
|
|
6378
|
+
/* harmony import */ var _utils_attr_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29960);
|
|
6379
|
+
function _define_property(obj, key, value) {
|
|
6380
|
+
if (key in obj) {
|
|
6381
|
+
Object.defineProperty(obj, key, {
|
|
6382
|
+
value: value,
|
|
6383
|
+
enumerable: true,
|
|
6384
|
+
configurable: true,
|
|
6385
|
+
writable: true
|
|
6386
|
+
});
|
|
6387
|
+
} else obj[key] = value;
|
|
6388
|
+
return obj;
|
|
6389
|
+
}
|
|
6390
|
+
function _object_spread(target) {
|
|
6391
|
+
for(var i = 1; i < arguments.length; i++){
|
|
6392
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
6393
|
+
var ownKeys = Object.keys(source);
|
|
6394
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
6395
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
6396
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
6397
|
+
}));
|
|
6398
|
+
}
|
|
6399
|
+
ownKeys.forEach(function(key) {
|
|
6400
|
+
_define_property(target, key, source[key]);
|
|
6401
|
+
});
|
|
6402
|
+
}
|
|
6403
|
+
return target;
|
|
6404
|
+
}
|
|
6405
|
+
/*!
|
|
6406
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
6407
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
6408
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
6409
|
+
*/ /**
|
|
6410
|
+
* @module helpers/html
|
|
6411
|
+
*/ ;
|
|
6412
|
+
|
|
6413
|
+
|
|
6414
|
+
const ROMAN = {
|
|
6415
|
+
i: 1,
|
|
6416
|
+
v: 5,
|
|
6417
|
+
x: 10,
|
|
6418
|
+
l: 50,
|
|
6419
|
+
c: 100,
|
|
6420
|
+
d: 500,
|
|
6421
|
+
m: 1000
|
|
6422
|
+
};
|
|
6423
|
+
function romanValue(roman) {
|
|
6424
|
+
let value = 0;
|
|
6425
|
+
for(let i = 0; i < roman.length; i += 1){
|
|
6426
|
+
const current = ROMAN[roman[i]], next = ROMAN[roman[i + 1]] || 0;
|
|
6427
|
+
value += current < next ? -current : current;
|
|
6428
|
+
}
|
|
6429
|
+
return value;
|
|
6430
|
+
}
|
|
6431
|
+
/**
|
|
6432
|
+
* Word's marker text (`1.`, `b)`, `iv.`, `·`, `o`, `§`) decides the list type
|
|
6433
|
+
*/ function parseMarker(marker) {
|
|
6434
|
+
const text = marker.replace(/\s+/g, '');
|
|
6435
|
+
const decimal = /^\(?(?:\d+\.)*(\d+)[.)]?$/.exec(text);
|
|
6436
|
+
if (decimal) {
|
|
6437
|
+
return {
|
|
6438
|
+
tag: 'ol',
|
|
6439
|
+
listStyleType: null,
|
|
6440
|
+
start: Number(decimal[1])
|
|
6441
|
+
};
|
|
6442
|
+
}
|
|
6443
|
+
const letters = /^\(?([a-z]+|[A-Z]+)[.)]$/.exec(text);
|
|
6444
|
+
if (letters) {
|
|
6445
|
+
const value = letters[1], lower = value.toLowerCase(), upper = value !== lower;
|
|
6446
|
+
if (/^[ivxlcdm]+$/.test(lower) && (lower.length > 1 || lower === 'i')) {
|
|
6447
|
+
return {
|
|
6448
|
+
tag: 'ol',
|
|
6449
|
+
listStyleType: upper ? 'upper-roman' : 'lower-roman',
|
|
6450
|
+
start: romanValue(lower)
|
|
6451
|
+
};
|
|
6452
|
+
}
|
|
6453
|
+
// Word continues a lettered list with aa, bb, ...
|
|
6454
|
+
if (/^([a-z])\1*$/.test(lower)) {
|
|
6455
|
+
return {
|
|
6456
|
+
tag: 'ol',
|
|
6457
|
+
listStyleType: upper ? 'upper-alpha' : 'lower-alpha',
|
|
6458
|
+
start: (lower.length - 1) * 26 + lower.charCodeAt(0) - 96
|
|
6459
|
+
};
|
|
6460
|
+
}
|
|
6461
|
+
}
|
|
6462
|
+
return {
|
|
6463
|
+
tag: 'ul',
|
|
6464
|
+
listStyleType: null,
|
|
6465
|
+
start: 1
|
|
6466
|
+
};
|
|
6467
|
+
}
|
|
6468
|
+
/**
|
|
6469
|
+
* Removes the marker and the wrappers it leaves empty
|
|
6470
|
+
*/ function removeMarker(marker, paragraph) {
|
|
6471
|
+
let parent = marker.parentNode;
|
|
6472
|
+
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(marker);
|
|
6473
|
+
while(parent && parent !== paragraph && _dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(parent) && _dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmpty(parent)){
|
|
6474
|
+
const next = parent.parentNode;
|
|
6475
|
+
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(parent);
|
|
6476
|
+
parent = next;
|
|
6477
|
+
}
|
|
6478
|
+
}
|
|
6479
|
+
/**
|
|
6480
|
+
* Finds Word's list paragraphs (`<p style="mso-list:l0 level1 lfo1">`), reads
|
|
6481
|
+
* their list, level and type from the `mso-list:Ignore` marker, and removes the
|
|
6482
|
+
* marker. Call it before anything strips the `mso-list` styles, then pass the
|
|
6483
|
+
* result to {@link wrapWordListItems}
|
|
6484
|
+
*/ function readWordListItems(root) {
|
|
6485
|
+
const items = [];
|
|
6486
|
+
(0,_array_to_array_js__WEBPACK_IMPORTED_MODULE_1__.toArray)(root.querySelectorAll('p')).forEach((paragraph)=>{
|
|
6487
|
+
const match = /mso-list:\s*l(\d+)\s+level(\d+)(?:\s+lfo(\d+))?/i.exec((0,_utils_attr_js__WEBPACK_IMPORTED_MODULE_2__.attr)(paragraph, 'style') || '');
|
|
6488
|
+
if (!match) {
|
|
6489
|
+
return;
|
|
6490
|
+
}
|
|
6491
|
+
const marker = (0,_array_to_array_js__WEBPACK_IMPORTED_MODULE_1__.toArray)(paragraph.querySelectorAll('[style]')).find((elm)=>/mso-list:\s*ignore/i.test((0,_utils_attr_js__WEBPACK_IMPORTED_MODULE_2__.attr)(elm, 'style') || ''));
|
|
6492
|
+
items.push(_object_spread({
|
|
6493
|
+
paragraph,
|
|
6494
|
+
list: `${match[1]}:${match[3] || ''}`,
|
|
6495
|
+
level: Number(match[2])
|
|
6496
|
+
}, parseMarker((marker === null || marker === void 0 ? void 0 : marker.textContent) || '')));
|
|
6497
|
+
if (marker) {
|
|
6498
|
+
removeMarker(marker, paragraph);
|
|
6499
|
+
}
|
|
6500
|
+
});
|
|
6501
|
+
return items;
|
|
6502
|
+
}
|
|
6503
|
+
function isAdjacent(prev, item) {
|
|
6504
|
+
return _dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.findSibling(item.paragraph, true, (n)=>!_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmptyTextNode(n) && !_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isComment(n)) === prev.paragraph;
|
|
6505
|
+
}
|
|
6506
|
+
/**
|
|
6507
|
+
* Turns the paragraphs found by {@link readWordListItems} into `<ul>`/`<ol>`
|
|
6508
|
+
* lists, nesting them by level. Each paragraph becomes an `<li>` without Word's
|
|
6509
|
+
* hanging indent
|
|
6510
|
+
*/ function wrapWordListItems(items) {
|
|
6511
|
+
let stack = [];
|
|
6512
|
+
const continues = items.map((item, index)=>index > 0 && isAdjacent(items[index - 1], item));
|
|
6513
|
+
items.forEach((item, index)=>{
|
|
6514
|
+
const { paragraph } = item;
|
|
6515
|
+
if (!continues[index]) {
|
|
6516
|
+
stack = [];
|
|
6517
|
+
}
|
|
6518
|
+
while(stack.length && stack[stack.length - 1].level > item.level){
|
|
6519
|
+
stack.pop();
|
|
6520
|
+
}
|
|
6521
|
+
let top = stack[stack.length - 1];
|
|
6522
|
+
if (top && top.level === item.level && top.list !== item.list) {
|
|
6523
|
+
stack.pop();
|
|
6524
|
+
top = stack[stack.length - 1];
|
|
6525
|
+
}
|
|
6526
|
+
const doc = paragraph.ownerDocument;
|
|
6527
|
+
if (!top || top.level < item.level) {
|
|
6528
|
+
const element = doc.createElement(item.tag);
|
|
6529
|
+
if (item.listStyleType) {
|
|
6530
|
+
element.style.listStyleType = item.listStyleType;
|
|
6531
|
+
}
|
|
6532
|
+
if (item.tag === 'ol' && item.start !== 1) {
|
|
6533
|
+
(0,_utils_attr_js__WEBPACK_IMPORTED_MODULE_2__.attr)(element, 'start', item.start);
|
|
6534
|
+
}
|
|
6535
|
+
if (top && top.li) {
|
|
6536
|
+
top.li.appendChild(element);
|
|
6537
|
+
} else {
|
|
6538
|
+
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.before(paragraph, element);
|
|
6539
|
+
}
|
|
6540
|
+
top = {
|
|
6541
|
+
level: item.level,
|
|
6542
|
+
list: item.list,
|
|
6543
|
+
element
|
|
6544
|
+
};
|
|
6545
|
+
stack.push(top);
|
|
6546
|
+
}
|
|
6547
|
+
const li = doc.createElement('li');
|
|
6548
|
+
(0,_array_to_array_js__WEBPACK_IMPORTED_MODULE_1__.toArray)(paragraph.attributes).forEach((attribute)=>{
|
|
6549
|
+
if (attribute.name !== 'class') {
|
|
6550
|
+
li.setAttribute(attribute.name, attribute.value);
|
|
6551
|
+
}
|
|
6552
|
+
});
|
|
6553
|
+
li.style.removeProperty('margin-left');
|
|
6554
|
+
li.style.removeProperty('text-indent');
|
|
6555
|
+
if (!(0,_utils_attr_js__WEBPACK_IMPORTED_MODULE_2__.attr)(li, 'style')) {
|
|
6556
|
+
(0,_utils_attr_js__WEBPACK_IMPORTED_MODULE_2__.attr)(li, 'style', null);
|
|
6557
|
+
}
|
|
6558
|
+
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.moveContent(paragraph, li);
|
|
6559
|
+
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(paragraph);
|
|
6560
|
+
top.element.appendChild(li);
|
|
6561
|
+
top.li = li;
|
|
6562
|
+
});
|
|
6563
|
+
}
|
|
6564
|
+
|
|
6565
|
+
|
|
6341
6566
|
/***/ }),
|
|
6342
6567
|
|
|
6343
6568
|
/***/ 21537:
|
|
@@ -10800,13 +11025,15 @@ function usable(ranges, shadowRoot) {
|
|
|
10800
11025
|
/* harmony export */ composedRanges: function() { return /* reexport safe */ _composed_ranges_js__WEBPACK_IMPORTED_MODULE_2__.composedRanges; },
|
|
10801
11026
|
/* harmony export */ cursorInTheEdgeOfString: function() { return /* binding */ cursorInTheEdgeOfString; },
|
|
10802
11027
|
/* harmony export */ findCorrectCurrentNode: function() { return /* binding */ findCorrectCurrentNode; },
|
|
10803
|
-
/* harmony export */
|
|
11028
|
+
/* harmony export */ isMoved: function() { return /* reexport safe */ _is_moved_js__WEBPACK_IMPORTED_MODULE_3__.isMoved; },
|
|
11029
|
+
/* harmony export */ moveNodeInsideStart: function() { return /* reexport safe */ _move_node_inside_start_js__WEBPACK_IMPORTED_MODULE_4__.moveNodeInsideStart; }
|
|
10804
11030
|
/* harmony export */ });
|
|
10805
11031
|
/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
10806
11032
|
/* harmony import */ var _dom_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2748);
|
|
10807
11033
|
/* harmony import */ var _composed_ranges_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(79505);
|
|
10808
|
-
/* harmony import */ var
|
|
10809
|
-
/* harmony import */ var
|
|
11034
|
+
/* harmony import */ var _is_moved_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12604);
|
|
11035
|
+
/* harmony import */ var _move_node_inside_start_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(26716);
|
|
11036
|
+
/* harmony import */ var _move_the_node_along_the_edge_outward_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(43463);
|
|
10810
11037
|
/*!
|
|
10811
11038
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
10812
11039
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -10818,6 +11045,7 @@ function usable(ranges, shadowRoot) {
|
|
|
10818
11045
|
|
|
10819
11046
|
|
|
10820
11047
|
|
|
11048
|
+
|
|
10821
11049
|
/**
|
|
10822
11050
|
* Despite the name, returns `true` when the cursor is NOT at the checked edge
|
|
10823
11051
|
* of the text node: there is significant (non invisible-space) text between
|
|
@@ -10873,6 +11101,33 @@ function findCorrectCurrentNode(node, range, rightMode, isCollapsed, checkChild,
|
|
|
10873
11101
|
}
|
|
10874
11102
|
|
|
10875
11103
|
|
|
11104
|
+
/***/ }),
|
|
11105
|
+
|
|
11106
|
+
/***/ 12604:
|
|
11107
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
11108
|
+
|
|
11109
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
11110
|
+
/* harmony export */ isMoved: function() { return /* binding */ isMoved; }
|
|
11111
|
+
/* harmony export */ });
|
|
11112
|
+
/*!
|
|
11113
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
11114
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
11115
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
11116
|
+
*/ /**
|
|
11117
|
+
* Whether the selection, `before` as it was when a key went down, has since
|
|
11118
|
+
* moved to somewhere else in the editor
|
|
11119
|
+
* @private
|
|
11120
|
+
*/ function isMoved(jodit, before) {
|
|
11121
|
+
const { s } = jodit;
|
|
11122
|
+
// Selecting table cells, for one, removes the selection altogether
|
|
11123
|
+
if (!before || !s.isInsideArea) {
|
|
11124
|
+
return false;
|
|
11125
|
+
}
|
|
11126
|
+
const { range } = s;
|
|
11127
|
+
return range.startContainer !== before.startContainer || range.startOffset !== before.startOffset || range.endContainer !== before.endContainer || range.endOffset !== before.endOffset;
|
|
11128
|
+
}
|
|
11129
|
+
|
|
11130
|
+
|
|
10876
11131
|
/***/ }),
|
|
10877
11132
|
|
|
10878
11133
|
/***/ 26716:
|
|
@@ -12916,11 +13171,13 @@ function elementsEqualAttributes(elm1, elm2) {
|
|
|
12916
13171
|
/* harmony export */ toggleOrderedList: function() { return /* binding */ toggleOrderedList; }
|
|
12917
13172
|
/* harmony export */ });
|
|
12918
13173
|
/* harmony import */ var _dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
12919
|
-
/* harmony import */ var
|
|
12920
|
-
/* harmony import */ var
|
|
12921
|
-
/* harmony import */ var
|
|
12922
|
-
/* harmony import */ var
|
|
12923
|
-
/* harmony import */ var
|
|
13174
|
+
/* harmony import */ var _helpers_size_object_size_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21496);
|
|
13175
|
+
/* harmony import */ var _helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(38837);
|
|
13176
|
+
/* harmony import */ var _extract_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(32526);
|
|
13177
|
+
/* harmony import */ var _is_same_attributes_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(94466);
|
|
13178
|
+
/* harmony import */ var _toggle_attributes_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(44253);
|
|
13179
|
+
/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(77361);
|
|
13180
|
+
/* harmony import */ var _wrap_list_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(82515);
|
|
12924
13181
|
/*!
|
|
12925
13182
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
12926
13183
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -12931,6 +13188,8 @@ function elementsEqualAttributes(elm1, elm2) {
|
|
|
12931
13188
|
|
|
12932
13189
|
|
|
12933
13190
|
|
|
13191
|
+
|
|
13192
|
+
|
|
12934
13193
|
/**
|
|
12935
13194
|
* Replaces `ul->ol` or `ol->ul`, apply styles to the list, or remove a list item from it
|
|
12936
13195
|
* @private
|
|
@@ -12942,39 +13201,69 @@ function elementsEqualAttributes(elm1, elm2) {
|
|
|
12942
13201
|
if (!list) {
|
|
12943
13202
|
return mode;
|
|
12944
13203
|
}
|
|
12945
|
-
const result = jodit.e.fire(`${
|
|
13204
|
+
const result = jodit.e.fire(`${_constants_js__WEBPACK_IMPORTED_MODULE_6__._PREFIX}BeforeToggleList`, mode, commitStyle, list);
|
|
12946
13205
|
if (result !== undefined) {
|
|
12947
13206
|
return result;
|
|
12948
13207
|
}
|
|
12949
|
-
const hook = jodit.e.fire.bind(jodit.e, `${
|
|
13208
|
+
const hook = jodit.e.fire.bind(jodit.e, `${_constants_js__WEBPACK_IMPORTED_MODULE_6__._PREFIX}AfterToggleList`);
|
|
12950
13209
|
if (mode !== (/* inlined export .UNWRAP */"unwrap")) {
|
|
12951
|
-
const isChangeMode = (0,
|
|
13210
|
+
const isChangeMode = (0,_toggle_attributes_js__WEBPACK_IMPORTED_MODULE_5__.toggleAttributes)(commitStyle, li.parentElement, jodit, _constants_js__WEBPACK_IMPORTED_MODULE_6__.INITIAL, true) === (/* inlined export .CHANGE */"change");
|
|
13211
|
+
const isSameList = _dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(list, commitStyle.element);
|
|
13212
|
+
// ol => ol[style="list-style-type: lower-roman"]: a list's style
|
|
13213
|
+
// belongs to the whole list, so it is changed without splitting it
|
|
13214
|
+
if (isSameList && isChangeMode && mode !== _constants_js__WEBPACK_IMPORTED_MODULE_6__.REPLACE && changesStyleOnly(commitStyle)) {
|
|
13215
|
+
(0,_toggle_attributes_js__WEBPACK_IMPORTED_MODULE_5__.toggleAttributes)(commitStyle, list, jodit, (/* inlined export .CHANGE */"change"));
|
|
13216
|
+
hook((/* inlined export .CHANGE */"change"), joinPrevious(commitStyle, list, mode), commitStyle);
|
|
13217
|
+
return (/* inlined export .CHANGE */"change");
|
|
13218
|
+
}
|
|
13219
|
+
// Restyled already, for an earlier part of the selection
|
|
13220
|
+
if (isSameList && mode === (/* inlined export .CHANGE */"change")) {
|
|
13221
|
+
return (/* inlined export .CHANGE */"change");
|
|
13222
|
+
}
|
|
12952
13223
|
// ul => ol, ol => ul or ul => ul.class1
|
|
12953
|
-
if (mode ===
|
|
12954
|
-
const wrapper = unwrapList(
|
|
12955
|
-
const newList = (0,
|
|
12956
|
-
hook(
|
|
12957
|
-
return
|
|
13224
|
+
if (mode === _constants_js__WEBPACK_IMPORTED_MODULE_6__.REPLACE || isChangeMode || !isSameList) {
|
|
13225
|
+
const wrapper = unwrapList(_constants_js__WEBPACK_IMPORTED_MODULE_6__.REPLACE, list, li, jodit, commitStyle);
|
|
13226
|
+
const newList = (0,_wrap_list_js__WEBPACK_IMPORTED_MODULE_7__.wrapList)(commitStyle, wrapper, jodit);
|
|
13227
|
+
hook(_constants_js__WEBPACK_IMPORTED_MODULE_6__.REPLACE, newList, commitStyle);
|
|
13228
|
+
return _constants_js__WEBPACK_IMPORTED_MODULE_6__.REPLACE;
|
|
12958
13229
|
}
|
|
12959
13230
|
}
|
|
12960
13231
|
const wrapper = unwrapList((/* inlined export .UNWRAP */"unwrap"), list, li, jodit, commitStyle);
|
|
12961
13232
|
hook((/* inlined export .UNWRAP */"unwrap"), wrapper, commitStyle);
|
|
12962
13233
|
return (/* inlined export .UNWRAP */"unwrap");
|
|
12963
13234
|
}
|
|
13235
|
+
/**
|
|
13236
|
+
* Other attributes, such as a class, still move the items into a new list,
|
|
13237
|
+
* where the `beforeWrapList` hook can add markup to each of them
|
|
13238
|
+
*/ function changesStyleOnly({ options: { attributes } }) {
|
|
13239
|
+
return Boolean(attributes === null || attributes === void 0 ? void 0 : attributes.style) && (0,_helpers_size_object_size_js__WEBPACK_IMPORTED_MODULE_1__.size)(attributes) === 1;
|
|
13240
|
+
}
|
|
13241
|
+
/**
|
|
13242
|
+
* Joins a restyled list to the list before it, when the selection runs on
|
|
13243
|
+
* from that list and the two now match
|
|
13244
|
+
*/ function joinPrevious(commitStyle, list, mode) {
|
|
13245
|
+
const prev = _dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.findSibling(list, true);
|
|
13246
|
+
if (mode !== (/* inlined export .CHANGE */"change") || !_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(prev, commitStyle.element) || !(0,_is_same_attributes_js__WEBPACK_IMPORTED_MODULE_4__.elementsEqualAttributes)(prev, list)) {
|
|
13247
|
+
return list;
|
|
13248
|
+
}
|
|
13249
|
+
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.append(prev, Array.from(list.childNodes));
|
|
13250
|
+
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(list);
|
|
13251
|
+
return prev;
|
|
13252
|
+
}
|
|
12964
13253
|
function unwrapList(mode, list, li, jodit, cs) {
|
|
12965
|
-
const result = jodit.e.fire(`${
|
|
13254
|
+
const result = jodit.e.fire(`${_constants_js__WEBPACK_IMPORTED_MODULE_6__._PREFIX}BeforeUnwrapList`, mode, list, cs);
|
|
12966
13255
|
if (result) {
|
|
12967
|
-
(0,
|
|
13256
|
+
(0,_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_2__.assert)(_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isHTMLElement(result), `${_constants_js__WEBPACK_IMPORTED_MODULE_6__._PREFIX}BeforeUnwrapList hook must return HTMLElement`);
|
|
12968
13257
|
return result;
|
|
12969
13258
|
}
|
|
12970
|
-
;(0,
|
|
12971
|
-
(0,
|
|
13259
|
+
;(0,_extract_js__WEBPACK_IMPORTED_MODULE_3__.extractSelectedPart)(list, li, jodit);
|
|
13260
|
+
(0,_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_2__.assert)(_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isHTMLElement(li.parentElement), 'Element should be inside the list');
|
|
12972
13261
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.unwrap(li.parentElement);
|
|
12973
13262
|
// In the REPLACE mode the content will be immediately wrapped in a `li`
|
|
12974
13263
|
// of the new list inside `wrapList`, so it should stay in the document.
|
|
12975
13264
|
// Replacing it with a fragment here would dissolve the content
|
|
12976
13265
|
// (with `enter: 'br'`) and the new list would never be inserted.
|
|
12977
|
-
if (mode ===
|
|
13266
|
+
if (mode === _constants_js__WEBPACK_IMPORTED_MODULE_6__.REPLACE) {
|
|
12978
13267
|
return li;
|
|
12979
13268
|
}
|
|
12980
13269
|
return _dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.replace(li, jodit.o.enter.toLowerCase() !== 'br' ? jodit.o.enter : jodit.createInside.fragment(), jodit.createInside);
|
|
@@ -13716,7 +14005,7 @@ const transactions = {
|
|
|
13716
14005
|
[states.LIST]: {
|
|
13717
14006
|
exec (value) {
|
|
13718
14007
|
const { element, jodit, mode } = value;
|
|
13719
|
-
if (mode !== _constants_js__WEBPACK_IMPORTED_MODULE_4__.INITIAL && mode !== (/* inlined export .UNWRAP */"unwrap") && mode !== _constants_js__WEBPACK_IMPORTED_MODULE_4__.REPLACE) {
|
|
14008
|
+
if (mode !== _constants_js__WEBPACK_IMPORTED_MODULE_4__.INITIAL && mode !== (/* inlined export .UNWRAP */"unwrap") && mode !== _constants_js__WEBPACK_IMPORTED_MODULE_4__.REPLACE && mode !== (/* inlined export .CHANGE */"change")) {
|
|
13720
14009
|
return _object_spread_props(_object_spread({}, value), {
|
|
13721
14010
|
next: states.END
|
|
13722
14011
|
});
|
|
@@ -19895,7 +20184,10 @@ function addClassNames(className, elm) {
|
|
|
19895
20184
|
Autoplay: 'تشغيل تلقائي',
|
|
19896
20185
|
Loop: 'تكرار',
|
|
19897
20186
|
Muted: 'مكتوم الصوت',
|
|
19898
|
-
Controls: 'عناصر التحكم'
|
|
20187
|
+
Controls: 'عناصر التحكم',
|
|
20188
|
+
'Start at...': 'البدء من...',
|
|
20189
|
+
'Start numbering at': 'بدء الترقيم من',
|
|
20190
|
+
'Number for the first item': 'رقم العنصر الأول'
|
|
19899
20191
|
});
|
|
19900
20192
|
|
|
19901
20193
|
|
|
@@ -20136,7 +20428,10 @@ function addClassNames(className, elm) {
|
|
|
20136
20428
|
Autoplay: 'Avtomatik oynatma',
|
|
20137
20429
|
Loop: 'Təkrarla',
|
|
20138
20430
|
Muted: 'Səssiz',
|
|
20139
|
-
Controls: 'İdarəetmə elementləri'
|
|
20431
|
+
Controls: 'İdarəetmə elementləri',
|
|
20432
|
+
'Start at...': 'Başlanğıc nömrəsi...',
|
|
20433
|
+
'Start numbering at': 'Nömrələmənin başlanğıcı',
|
|
20434
|
+
'Number for the first item': 'Birinci bəndin nömrəsi'
|
|
20140
20435
|
});
|
|
20141
20436
|
|
|
20142
20437
|
|
|
@@ -20369,7 +20664,10 @@ function addClassNames(className, elm) {
|
|
|
20369
20664
|
Autoplay: 'Automatické přehrávání',
|
|
20370
20665
|
Loop: 'Opakovat',
|
|
20371
20666
|
Muted: 'Ztlumeno',
|
|
20372
|
-
Controls: 'Ovládací prvky'
|
|
20667
|
+
Controls: 'Ovládací prvky',
|
|
20668
|
+
'Start at...': 'Začít od...',
|
|
20669
|
+
'Start numbering at': 'Začít číslování od',
|
|
20670
|
+
'Number for the first item': 'Číslo první položky'
|
|
20373
20671
|
});
|
|
20374
20672
|
|
|
20375
20673
|
|
|
@@ -20606,7 +20904,10 @@ function addClassNames(className, elm) {
|
|
|
20606
20904
|
Autoplay: 'Automatische Wiedergabe',
|
|
20607
20905
|
Loop: 'Wiederholen',
|
|
20608
20906
|
Muted: 'Stumm',
|
|
20609
|
-
Controls: 'Steuerelemente'
|
|
20907
|
+
Controls: 'Steuerelemente',
|
|
20908
|
+
'Start at...': 'Beginnen bei...',
|
|
20909
|
+
'Start numbering at': 'Nummerierung beginnen bei',
|
|
20910
|
+
'Number for the first item': 'Nummer des ersten Eintrags'
|
|
20610
20911
|
});
|
|
20611
20912
|
|
|
20612
20913
|
|
|
@@ -20860,7 +21161,10 @@ function addClassNames(className, elm) {
|
|
|
20860
21161
|
Autoplay: 'Reproducción automática',
|
|
20861
21162
|
Loop: 'Repetir',
|
|
20862
21163
|
Muted: 'Silenciado',
|
|
20863
|
-
Controls: 'Controles'
|
|
21164
|
+
Controls: 'Controles',
|
|
21165
|
+
'Start at...': 'Empezar en...',
|
|
21166
|
+
'Start numbering at': 'Empezar la numeración en',
|
|
21167
|
+
'Number for the first item': 'Número del primer elemento'
|
|
20864
21168
|
});
|
|
20865
21169
|
|
|
20866
21170
|
|
|
@@ -21092,7 +21396,10 @@ function addClassNames(className, elm) {
|
|
|
21092
21396
|
Autoplay: 'پخش خودکار',
|
|
21093
21397
|
Loop: 'تکرار',
|
|
21094
21398
|
Muted: 'بیصدا',
|
|
21095
|
-
Controls: 'کنترلها'
|
|
21399
|
+
Controls: 'کنترلها',
|
|
21400
|
+
'Start at...': 'شروع از...',
|
|
21401
|
+
'Start numbering at': 'شروع شمارهگذاری از',
|
|
21402
|
+
'Number for the first item': 'شمارهی نخستین مورد'
|
|
21096
21403
|
});
|
|
21097
21404
|
|
|
21098
21405
|
|
|
@@ -21330,7 +21637,10 @@ function addClassNames(className, elm) {
|
|
|
21330
21637
|
Autoplay: 'Automaattinen toisto',
|
|
21331
21638
|
Loop: 'Toista uudelleen',
|
|
21332
21639
|
Muted: 'Mykistetty',
|
|
21333
|
-
Controls: 'Säätimet'
|
|
21640
|
+
Controls: 'Säätimet',
|
|
21641
|
+
'Start at...': 'Aloita numerosta...',
|
|
21642
|
+
'Start numbering at': 'Aloita numerointi numerosta',
|
|
21643
|
+
'Number for the first item': 'Ensimmäisen kohdan numero'
|
|
21334
21644
|
});
|
|
21335
21645
|
|
|
21336
21646
|
|
|
@@ -21562,7 +21872,10 @@ function addClassNames(className, elm) {
|
|
|
21562
21872
|
Autoplay: 'Lecture automatique',
|
|
21563
21873
|
Loop: 'Lecture en boucle',
|
|
21564
21874
|
Muted: 'Muet',
|
|
21565
|
-
Controls: 'Commandes'
|
|
21875
|
+
Controls: 'Commandes',
|
|
21876
|
+
'Start at...': 'Commencer à...',
|
|
21877
|
+
'Start numbering at': 'Commencer la numérotation à',
|
|
21878
|
+
'Number for the first item': 'Numéro du premier élément'
|
|
21566
21879
|
});
|
|
21567
21880
|
|
|
21568
21881
|
|
|
@@ -21794,7 +22107,10 @@ function addClassNames(className, elm) {
|
|
|
21794
22107
|
Autoplay: 'ניגון אוטומטי',
|
|
21795
22108
|
Loop: 'הפעלה חוזרת',
|
|
21796
22109
|
Muted: 'מושתק',
|
|
21797
|
-
Controls: 'פקדים'
|
|
22110
|
+
Controls: 'פקדים',
|
|
22111
|
+
'Start at...': 'התחל מ...',
|
|
22112
|
+
'Start numbering at': 'התחל מספור מ',
|
|
22113
|
+
'Number for the first item': 'מספר הפריט הראשון'
|
|
21798
22114
|
});
|
|
21799
22115
|
|
|
21800
22116
|
|
|
@@ -22028,7 +22344,10 @@ function addClassNames(className, elm) {
|
|
|
22028
22344
|
Autoplay: 'Automatikus lejátszás',
|
|
22029
22345
|
Loop: 'Ismétlés',
|
|
22030
22346
|
Muted: 'Némítva',
|
|
22031
|
-
Controls: 'Vezérlők'
|
|
22347
|
+
Controls: 'Vezérlők',
|
|
22348
|
+
'Start at...': 'Kezdőszám...',
|
|
22349
|
+
'Start numbering at': 'Számozás kezdőértéke',
|
|
22350
|
+
'Number for the first item': 'Az első elem száma'
|
|
22032
22351
|
});
|
|
22033
22352
|
|
|
22034
22353
|
|
|
@@ -22261,7 +22580,10 @@ function addClassNames(className, elm) {
|
|
|
22261
22580
|
Autoplay: 'Putar otomatis',
|
|
22262
22581
|
Loop: 'Ulangi',
|
|
22263
22582
|
Muted: 'Dibisukan',
|
|
22264
|
-
Controls: 'Kontrol'
|
|
22583
|
+
Controls: 'Kontrol',
|
|
22584
|
+
'Start at...': 'Mulai dari...',
|
|
22585
|
+
'Start numbering at': 'Mulai penomoran dari',
|
|
22586
|
+
'Number for the first item': 'Nomor untuk item pertama'
|
|
22265
22587
|
});
|
|
22266
22588
|
|
|
22267
22589
|
|
|
@@ -22498,7 +22820,10 @@ function addClassNames(className, elm) {
|
|
|
22498
22820
|
Autoplay: 'Riproduzione automatica',
|
|
22499
22821
|
Loop: 'Ripeti',
|
|
22500
22822
|
Muted: 'Muto',
|
|
22501
|
-
Controls: 'Controlli'
|
|
22823
|
+
Controls: 'Controlli',
|
|
22824
|
+
'Start at...': 'Inizia da...',
|
|
22825
|
+
'Start numbering at': 'Inizia la numerazione da',
|
|
22826
|
+
'Number for the first item': 'Numero del primo elemento'
|
|
22502
22827
|
});
|
|
22503
22828
|
|
|
22504
22829
|
|
|
@@ -22735,7 +23060,10 @@ function addClassNames(className, elm) {
|
|
|
22735
23060
|
Autoplay: '自動再生',
|
|
22736
23061
|
Loop: 'ループ再生',
|
|
22737
23062
|
Muted: 'ミュート',
|
|
22738
|
-
Controls: 'コントロール'
|
|
23063
|
+
Controls: 'コントロール',
|
|
23064
|
+
'Start at...': '開始番号...',
|
|
23065
|
+
'Start numbering at': '番号の開始値',
|
|
23066
|
+
'Number for the first item': '最初の項目の番号'
|
|
22739
23067
|
});
|
|
22740
23068
|
|
|
22741
23069
|
|
|
@@ -22978,7 +23306,10 @@ function addClassNames(className, elm) {
|
|
|
22978
23306
|
Autoplay: '자동 재생',
|
|
22979
23307
|
Loop: '반복 재생',
|
|
22980
23308
|
Muted: '음소거',
|
|
22981
|
-
Controls: '컨트롤'
|
|
23309
|
+
Controls: '컨트롤',
|
|
23310
|
+
'Start at...': '시작 번호...',
|
|
23311
|
+
'Start numbering at': '번호 매기기 시작 값',
|
|
23312
|
+
'Number for the first item': '첫 번째 항목의 번호'
|
|
22982
23313
|
});
|
|
22983
23314
|
|
|
22984
23315
|
|
|
@@ -23210,7 +23541,10 @@ function addClassNames(className, elm) {
|
|
|
23210
23541
|
Autoplay: 'Автоматаар тоглуулах',
|
|
23211
23542
|
Loop: 'Давтах',
|
|
23212
23543
|
Muted: 'Дуугүй',
|
|
23213
|
-
Controls: 'Удирдлага'
|
|
23544
|
+
Controls: 'Удирдлага',
|
|
23545
|
+
'Start at...': 'Эхлэх дугаар...',
|
|
23546
|
+
'Start numbering at': 'Дугаарлалт эхлэх',
|
|
23547
|
+
'Number for the first item': 'Эхний зүйлийн дугаар'
|
|
23214
23548
|
});
|
|
23215
23549
|
|
|
23216
23550
|
|
|
@@ -23443,7 +23777,10 @@ function addClassNames(className, elm) {
|
|
|
23443
23777
|
Autoplay: 'Automatisch afspelen',
|
|
23444
23778
|
Loop: 'Herhalen',
|
|
23445
23779
|
Muted: 'Gedempt',
|
|
23446
|
-
Controls: 'Bedieningselementen'
|
|
23780
|
+
Controls: 'Bedieningselementen',
|
|
23781
|
+
'Start at...': 'Beginnen bij...',
|
|
23782
|
+
'Start numbering at': 'Nummering beginnen bij',
|
|
23783
|
+
'Number for the first item': 'Nummer van het eerste item'
|
|
23447
23784
|
});
|
|
23448
23785
|
|
|
23449
23786
|
|
|
@@ -23684,7 +24021,10 @@ function addClassNames(className, elm) {
|
|
|
23684
24021
|
Autoplay: 'Automatisk avspilling',
|
|
23685
24022
|
Loop: 'Gjenta',
|
|
23686
24023
|
Muted: 'Dempet',
|
|
23687
|
-
Controls: 'Kontroller'
|
|
24024
|
+
Controls: 'Kontroller',
|
|
24025
|
+
'Start at...': 'Start på...',
|
|
24026
|
+
'Start numbering at': 'Start nummereringen på',
|
|
24027
|
+
'Number for the first item': 'Nummer for første punkt'
|
|
23688
24028
|
});
|
|
23689
24029
|
|
|
23690
24030
|
|
|
@@ -23916,7 +24256,10 @@ function addClassNames(className, elm) {
|
|
|
23916
24256
|
Autoplay: 'Autoodtwarzanie',
|
|
23917
24257
|
Loop: 'Zapętlenie',
|
|
23918
24258
|
Muted: 'Wyciszony',
|
|
23919
|
-
Controls: 'Elementy sterujące'
|
|
24259
|
+
Controls: 'Elementy sterujące',
|
|
24260
|
+
'Start at...': 'Zacznij od...',
|
|
24261
|
+
'Start numbering at': 'Rozpocznij numerowanie od',
|
|
24262
|
+
'Number for the first item': 'Numer pierwszego elementu'
|
|
23920
24263
|
});
|
|
23921
24264
|
|
|
23922
24265
|
|
|
@@ -24153,7 +24496,10 @@ function addClassNames(className, elm) {
|
|
|
24153
24496
|
Autoplay: 'Reprodução automática',
|
|
24154
24497
|
Loop: 'Repetir',
|
|
24155
24498
|
Muted: 'Sem som',
|
|
24156
|
-
Controls: 'Controles'
|
|
24499
|
+
Controls: 'Controles',
|
|
24500
|
+
'Start at...': 'Começar em...',
|
|
24501
|
+
'Start numbering at': 'Começar a numeração em',
|
|
24502
|
+
'Number for the first item': 'Número do primeiro item'
|
|
24157
24503
|
});
|
|
24158
24504
|
|
|
24159
24505
|
|
|
@@ -24384,7 +24730,10 @@ function addClassNames(className, elm) {
|
|
|
24384
24730
|
Autoplay: 'Автовоспроизведение',
|
|
24385
24731
|
Loop: 'Повтор',
|
|
24386
24732
|
Muted: 'Без звука',
|
|
24387
|
-
Controls: 'Элементы управления'
|
|
24733
|
+
Controls: 'Элементы управления',
|
|
24734
|
+
'Start at...': 'Начать с...',
|
|
24735
|
+
'Start numbering at': 'Начать нумерацию с',
|
|
24736
|
+
'Number for the first item': 'Номер первого пункта'
|
|
24388
24737
|
});
|
|
24389
24738
|
|
|
24390
24739
|
|
|
@@ -24623,7 +24972,10 @@ function addClassNames(className, elm) {
|
|
|
24623
24972
|
Autoplay: 'Automatické prehrávanie',
|
|
24624
24973
|
Loop: 'Opakovať',
|
|
24625
24974
|
Muted: 'Stlmené',
|
|
24626
|
-
Controls: 'Ovládacie prvky'
|
|
24975
|
+
Controls: 'Ovládacie prvky',
|
|
24976
|
+
'Start at...': 'Začať od...',
|
|
24977
|
+
'Start numbering at': 'Začať číslovanie od',
|
|
24978
|
+
'Number for the first item': 'Číslo prvej položky'
|
|
24627
24979
|
});
|
|
24628
24980
|
|
|
24629
24981
|
|
|
@@ -24863,7 +25215,10 @@ function addClassNames(className, elm) {
|
|
|
24863
25215
|
Autoplay: 'Automatisk uppspelning',
|
|
24864
25216
|
Loop: 'Upprepa',
|
|
24865
25217
|
Muted: 'Ljudlös',
|
|
24866
|
-
Controls: 'Kontroller'
|
|
25218
|
+
Controls: 'Kontroller',
|
|
25219
|
+
'Start at...': 'Börja på...',
|
|
25220
|
+
'Start numbering at': 'Börja numreringen på',
|
|
25221
|
+
'Number for the first item': 'Nummer för första punkten'
|
|
24867
25222
|
});
|
|
24868
25223
|
|
|
24869
25224
|
|
|
@@ -25095,7 +25450,10 @@ function addClassNames(className, elm) {
|
|
|
25095
25450
|
Autoplay: 'Otomatik oynat',
|
|
25096
25451
|
Loop: 'Döngü',
|
|
25097
25452
|
Muted: 'Sessiz',
|
|
25098
|
-
Controls: 'Kontroller'
|
|
25453
|
+
Controls: 'Kontroller',
|
|
25454
|
+
'Start at...': 'Başlangıç numarası...',
|
|
25455
|
+
'Start numbering at': 'Numaralandırma başlangıcı',
|
|
25456
|
+
'Number for the first item': 'İlk öğenin numarası'
|
|
25099
25457
|
});
|
|
25100
25458
|
|
|
25101
25459
|
|
|
@@ -25326,7 +25684,10 @@ function addClassNames(className, elm) {
|
|
|
25326
25684
|
Autoplay: 'Автовідтворення',
|
|
25327
25685
|
Loop: 'Повтор',
|
|
25328
25686
|
Muted: 'Без звуку',
|
|
25329
|
-
Controls: 'Елементи керування'
|
|
25687
|
+
Controls: 'Елементи керування',
|
|
25688
|
+
'Start at...': 'Почати з...',
|
|
25689
|
+
'Start numbering at': 'Почати нумерацію з',
|
|
25690
|
+
'Number for the first item': 'Номер першого пункту'
|
|
25330
25691
|
});
|
|
25331
25692
|
|
|
25332
25693
|
|
|
@@ -25559,7 +25920,10 @@ function addClassNames(className, elm) {
|
|
|
25559
25920
|
Autoplay: '自动播放',
|
|
25560
25921
|
Loop: '循环播放',
|
|
25561
25922
|
Muted: '静音',
|
|
25562
|
-
Controls: '播放控件'
|
|
25923
|
+
Controls: '播放控件',
|
|
25924
|
+
'Start at...': '起始于...',
|
|
25925
|
+
'Start numbering at': '编号起始值',
|
|
25926
|
+
'Number for the first item': '第一项的编号'
|
|
25563
25927
|
});
|
|
25564
25928
|
|
|
25565
25929
|
|
|
@@ -25791,7 +26155,10 @@ function addClassNames(className, elm) {
|
|
|
25791
26155
|
Autoplay: '自動播放',
|
|
25792
26156
|
Loop: '循環播放',
|
|
25793
26157
|
Muted: '靜音',
|
|
25794
|
-
Controls: '播放控制項'
|
|
26158
|
+
Controls: '播放控制項',
|
|
26159
|
+
'Start at...': '起始於...',
|
|
26160
|
+
'Start numbering at': '編號起始值',
|
|
26161
|
+
'Number for the first item': '第一項的編號'
|
|
25795
26162
|
});
|
|
25796
26163
|
|
|
25797
26164
|
|
|
@@ -26351,7 +26718,12 @@ _config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.controls.dialog = {
|
|
|
26351
26718
|
}
|
|
26352
26719
|
}
|
|
26353
26720
|
__onResizerMouseDown(e) {
|
|
26354
|
-
var _a, _b
|
|
26721
|
+
var _a, _b;
|
|
26722
|
+
// As for the header: otherwise Safari selects the dialog's text as
|
|
26723
|
+
// the pointer moves
|
|
26724
|
+
if (e.cancelable) {
|
|
26725
|
+
e.preventDefault();
|
|
26726
|
+
}
|
|
26355
26727
|
this.resizable = true;
|
|
26356
26728
|
this.startX = e.clientX;
|
|
26357
26729
|
this.startY = e.clientY;
|
|
@@ -26363,8 +26735,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.controls.dialog = {
|
|
|
26363
26735
|
// the content area does not shrink below its CSS `min-height`,
|
|
26364
26736
|
// so it is part of the smallest height the panel can take
|
|
26365
26737
|
const contentMinHeight = content ? parseFloat(this.ow.getComputedStyle(content).minHeight) || 0 : 0;
|
|
26366
|
-
this.minSize.w = (0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_6__.isNumber)(this.o.minWidth) ? this.o.minWidth : Math.max(100,
|
|
26367
|
-
this.minSize.h = (0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_6__.isNumber)(this.o.minHeight) ? this.o.minHeight : ((
|
|
26738
|
+
this.minSize.w = (0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_6__.isNumber)(this.o.minWidth) ? this.o.minWidth : Math.max(100, header ? this.__contentWidth(header) : 0, footer ? this.__contentWidth(footer) : 0);
|
|
26739
|
+
this.minSize.h = (0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_6__.isNumber)(this.o.minHeight) ? this.o.minHeight : ((_a = header === null || header === void 0 ? void 0 : header.offsetHeight) !== null && _a !== void 0 ? _a : 0) + ((_b = footer === null || footer === void 0 ? void 0 : footer.offsetHeight) !== null && _b !== void 0 ? _b : 0) + contentMinHeight + this.resizer.offsetHeight;
|
|
26368
26740
|
this.lockSelect();
|
|
26369
26741
|
this.__addGlobalResizeListeners();
|
|
26370
26742
|
if (this.e) {
|
|
@@ -26373,13 +26745,25 @@ _config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.controls.dialog = {
|
|
|
26373
26745
|
*/ this.e.fire(this, 'startResize');
|
|
26374
26746
|
}
|
|
26375
26747
|
}
|
|
26748
|
+
/**
|
|
26749
|
+
* The width `box` takes with its content on one line. The header and
|
|
26750
|
+
* footer are flex rows as wide as the dialog, so the footer's
|
|
26751
|
+
* `scrollWidth` was the dialog's width and kept it from getting any
|
|
26752
|
+
* narrower
|
|
26753
|
+
*/ __contentWidth(box) {
|
|
26754
|
+
const { width } = box.style;
|
|
26755
|
+
box.style.width = 'max-content';
|
|
26756
|
+
const contentWidth = box.offsetWidth;
|
|
26757
|
+
box.style.width = width;
|
|
26758
|
+
return contentWidth;
|
|
26759
|
+
}
|
|
26376
26760
|
__addGlobalResizeListeners() {
|
|
26377
26761
|
const self1 = this;
|
|
26378
26762
|
self1.e.on(self1.ow, 'pointermove touchmove', self1.__onMouseMove).on(self1.ow, 'pointerup touchend', self1.__onMouseUp);
|
|
26379
26763
|
}
|
|
26380
26764
|
__removeGlobalResizeListeners() {
|
|
26381
26765
|
const self1 = this;
|
|
26382
|
-
self1.e.off(self1.ow, '
|
|
26766
|
+
self1.e.off(self1.ow, 'pointermove touchmove', self1.__onMouseMove).off(self1.ow, 'pointerup touchend', self1.__onMouseUp);
|
|
26383
26767
|
}
|
|
26384
26768
|
/**
|
|
26385
26769
|
* Specifies the size of the window
|
|
@@ -30859,23 +31243,15 @@ StatusBar = __decorate([
|
|
|
30859
31243
|
/* harmony export */ });
|
|
30860
31244
|
/* harmony import */ var _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(91907);
|
|
30861
31245
|
/* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82758);
|
|
30862
|
-
/* harmony import */ var
|
|
30863
|
-
/* harmony import */ var
|
|
30864
|
-
/* harmony import */ var
|
|
30865
|
-
/* harmony import */ var
|
|
30866
|
-
/* harmony import */ var _core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(41180);
|
|
31246
|
+
/* harmony import */ var _core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(22732);
|
|
31247
|
+
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(580);
|
|
31248
|
+
/* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(21537);
|
|
31249
|
+
/* harmony import */ var _core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(41180);
|
|
30867
31250
|
/*!
|
|
30868
31251
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
30869
31252
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
30870
31253
|
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
30871
|
-
*/
|
|
30872
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
30873
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
30874
|
-
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;
|
|
30875
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
30876
|
-
};
|
|
30877
|
-
|
|
30878
|
-
|
|
31254
|
+
*/
|
|
30879
31255
|
|
|
30880
31256
|
|
|
30881
31257
|
|
|
@@ -30886,19 +31262,10 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
30886
31262
|
/** @override */ className() {
|
|
30887
31263
|
return 'Table';
|
|
30888
31264
|
}
|
|
30889
|
-
__recalculateStyles() {
|
|
30890
|
-
const style = (0,_core_global_js__WEBPACK_IMPORTED_MODULE_4__.getContainer)(this.j, Table, 'style', true);
|
|
30891
|
-
const selectors = [];
|
|
30892
|
-
this.selected.forEach((td)=>{
|
|
30893
|
-
const selector = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_5__.cssPath)(td);
|
|
30894
|
-
selector && selectors.push(selector);
|
|
30895
|
-
});
|
|
30896
|
-
style.innerHTML = selectors.length ? selectors.join(',') + `{${this.jodit.options.table.selectionCellStyle}}` : '';
|
|
30897
|
-
}
|
|
30898
31265
|
addSelection(td) {
|
|
30899
31266
|
this.selected.add(td);
|
|
30900
31267
|
this.__recalculateStyles();
|
|
30901
|
-
const table =
|
|
31268
|
+
const table = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.closest(td, 'table', this.j.editor);
|
|
30902
31269
|
if (table) {
|
|
30903
31270
|
const cells = Table.__selectedByTable.get(table) || new Set();
|
|
30904
31271
|
cells.add(td);
|
|
@@ -30908,7 +31275,7 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
30908
31275
|
removeSelection(td) {
|
|
30909
31276
|
this.selected.delete(td);
|
|
30910
31277
|
this.__recalculateStyles();
|
|
30911
|
-
const table =
|
|
31278
|
+
const table = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.closest(td, 'table', this.j.editor);
|
|
30912
31279
|
if (table) {
|
|
30913
31280
|
const cells = Table.__selectedByTable.get(table);
|
|
30914
31281
|
if (cells) {
|
|
@@ -30922,11 +31289,11 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
30922
31289
|
/**
|
|
30923
31290
|
* Returns array of selected cells
|
|
30924
31291
|
*/ getAllSelectedCells() {
|
|
30925
|
-
return (0,
|
|
31292
|
+
return (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.toArray)(this.selected);
|
|
30926
31293
|
}
|
|
30927
31294
|
static __getSelectedCellsByTable(table) {
|
|
30928
31295
|
const cells = Table.__selectedByTable.get(table);
|
|
30929
|
-
return cells ? (0,
|
|
31296
|
+
return cells ? (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.toArray)(cells) : [];
|
|
30930
31297
|
}
|
|
30931
31298
|
/** @override **/ destruct() {
|
|
30932
31299
|
this.selected.clear();
|
|
@@ -30953,7 +31320,7 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
30953
31320
|
const matrix = [
|
|
30954
31321
|
[]
|
|
30955
31322
|
];
|
|
30956
|
-
const rows = (0,
|
|
31323
|
+
const rows = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.toArray)(table.rows);
|
|
30957
31324
|
const setCell = (cell, i)=>{
|
|
30958
31325
|
if (matrix[i] === undefined) {
|
|
30959
31326
|
matrix[i] = [];
|
|
@@ -30976,7 +31343,7 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
30976
31343
|
}
|
|
30977
31344
|
};
|
|
30978
31345
|
for(let i = 0; i < rows.length; i += 1){
|
|
30979
|
-
const cells = (0,
|
|
31346
|
+
const cells = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.toArray)(rows[i].cells);
|
|
30980
31347
|
for(let j = 0; j < cells.length; j += 1){
|
|
30981
31348
|
if (setCell(cells[j], i) === false) {
|
|
30982
31349
|
return matrix;
|
|
@@ -31026,34 +31393,34 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
31026
31393
|
row = create.element('tr');
|
|
31027
31394
|
for(let j = 0; j < columnsCount; j += 1){
|
|
31028
31395
|
const cell = create.element('td');
|
|
31029
|
-
|
|
31030
|
-
|
|
31396
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(cell, create.element('br'));
|
|
31397
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(row, cell);
|
|
31031
31398
|
}
|
|
31032
31399
|
} else {
|
|
31033
31400
|
row = line.cloneNode(true);
|
|
31034
|
-
|
|
31035
|
-
if (!
|
|
31401
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.each(line, (cell)=>{
|
|
31402
|
+
if (!_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isCell(cell)) {
|
|
31036
31403
|
return;
|
|
31037
31404
|
}
|
|
31038
|
-
const rowspan = (0,
|
|
31405
|
+
const rowspan = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(cell, 'rowspan');
|
|
31039
31406
|
if (rowspan && parseInt(rowspan, 10) > 1) {
|
|
31040
31407
|
const newRowSpan = parseInt(rowspan, 10) - 1;
|
|
31041
|
-
(0,
|
|
31408
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(cell, 'rowspan', newRowSpan > 1 ? newRowSpan : null);
|
|
31042
31409
|
}
|
|
31043
31410
|
});
|
|
31044
|
-
|
|
31045
|
-
if (
|
|
31046
|
-
|
|
31047
|
-
|
|
31411
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.each(row, (cell)=>{
|
|
31412
|
+
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isCell(cell)) {
|
|
31413
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.detach(cell);
|
|
31414
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(cell, create.element('br'));
|
|
31048
31415
|
}
|
|
31049
31416
|
});
|
|
31050
31417
|
}
|
|
31051
31418
|
if (after && line && line.nextSibling) {
|
|
31052
|
-
|
|
31419
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.after(line, row);
|
|
31053
31420
|
} else if (!after && line) {
|
|
31054
|
-
|
|
31421
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.before(line, row);
|
|
31055
31422
|
} else {
|
|
31056
|
-
|
|
31423
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.first(table, (node)=>_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(node, 'tbody')) || table, row);
|
|
31057
31424
|
}
|
|
31058
31425
|
}
|
|
31059
31426
|
/**
|
|
@@ -31081,7 +31448,7 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
31081
31448
|
while(box[rowIndex + 1][nextCell] === cell){
|
|
31082
31449
|
nextCell += 1;
|
|
31083
31450
|
}
|
|
31084
|
-
const nextRow =
|
|
31451
|
+
const nextRow = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.next(cell.parentNode, (elm)=>_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(elm, 'tr'), table);
|
|
31085
31452
|
if (nextRow) {
|
|
31086
31453
|
// `box[rowIndex + 1][nextCell]` is the cell that
|
|
31087
31454
|
// logically follows the moved cell in the next row, but
|
|
@@ -31098,21 +31465,21 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
31098
31465
|
}
|
|
31099
31466
|
}
|
|
31100
31467
|
if (referenceCell) {
|
|
31101
|
-
|
|
31468
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.before(referenceCell, cell);
|
|
31102
31469
|
} else {
|
|
31103
|
-
|
|
31470
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(nextRow, cell);
|
|
31104
31471
|
}
|
|
31105
31472
|
}
|
|
31106
31473
|
}
|
|
31107
31474
|
} else {
|
|
31108
|
-
|
|
31475
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(cell);
|
|
31109
31476
|
}
|
|
31110
31477
|
if (dec && (cell.parentNode === row || cell !== box[rowIndex][j - 1])) {
|
|
31111
31478
|
const rowSpan = cell.rowSpan;
|
|
31112
|
-
(0,
|
|
31479
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(cell, 'rowspan', rowSpan - 1 > 1 ? rowSpan - 1 : null);
|
|
31113
31480
|
}
|
|
31114
31481
|
});
|
|
31115
|
-
|
|
31482
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(row);
|
|
31116
31483
|
}
|
|
31117
31484
|
/**
|
|
31118
31485
|
* Remove row
|
|
@@ -31123,7 +31490,7 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
31123
31490
|
* Insert column before / after all the columns containing the selected cells
|
|
31124
31491
|
*/ appendColumn(table, selectedCell, insertAfter = true) {
|
|
31125
31492
|
const box = Table.__formalMatrix(table);
|
|
31126
|
-
if (!insertAfter &&
|
|
31493
|
+
if (!insertAfter && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isCell(selectedCell.previousElementSibling)) {
|
|
31127
31494
|
return this.appendColumn(table, selectedCell.previousElementSibling, true);
|
|
31128
31495
|
}
|
|
31129
31496
|
const [, formalCol] = Table.__formalCoordinate(table, selectedCell, insertAfter);
|
|
@@ -31133,11 +31500,11 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
31133
31500
|
const cells = box[i];
|
|
31134
31501
|
if (cells[columnIndex] !== cells[newColumnIndex] || columnIndex === newColumnIndex) {
|
|
31135
31502
|
const cell = this.j.createInside.element('td');
|
|
31136
|
-
|
|
31503
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(cell, this.j.createInside.element('br'));
|
|
31137
31504
|
if (insertAfter) {
|
|
31138
|
-
|
|
31505
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.after(cells[columnIndex], cell);
|
|
31139
31506
|
} else {
|
|
31140
|
-
|
|
31507
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.before(cells[columnIndex], cell);
|
|
31141
31508
|
}
|
|
31142
31509
|
if (cells[columnIndex].rowSpan > 1) {
|
|
31143
31510
|
cell.rowSpan = cells[columnIndex].rowSpan;
|
|
@@ -31159,11 +31526,11 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
31159
31526
|
} else if (j + 1 < cells.length && box[i][j + 1] === td) {
|
|
31160
31527
|
dec = true;
|
|
31161
31528
|
} else {
|
|
31162
|
-
|
|
31529
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(td);
|
|
31163
31530
|
}
|
|
31164
31531
|
if (dec && (i - 1 < 0 || td !== box[i - 1][j])) {
|
|
31165
31532
|
const colSpan = td.colSpan;
|
|
31166
|
-
(0,
|
|
31533
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(td, 'colspan', colSpan - 1 > 1 ? (colSpan - 1).toString() : null);
|
|
31167
31534
|
}
|
|
31168
31535
|
});
|
|
31169
31536
|
}
|
|
@@ -31240,13 +31607,13 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
31240
31607
|
continue; // broken table
|
|
31241
31608
|
}
|
|
31242
31609
|
if (box[i][j].hasAttribute('rowspan') && box[i][j].rowSpan === 1) {
|
|
31243
|
-
(0,
|
|
31610
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(box[i][j], 'rowspan', null);
|
|
31244
31611
|
}
|
|
31245
31612
|
if (box[i][j].hasAttribute('colspan') && box[i][j].colSpan === 1) {
|
|
31246
|
-
(0,
|
|
31613
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(box[i][j], 'colspan', null);
|
|
31247
31614
|
}
|
|
31248
|
-
if (box[i][j].hasAttribute('class') && !(0,
|
|
31249
|
-
(0,
|
|
31615
|
+
if (box[i][j].hasAttribute('class') && !(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(box[i][j], 'class')) {
|
|
31616
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(box[i][j], 'class', null);
|
|
31250
31617
|
}
|
|
31251
31618
|
}
|
|
31252
31619
|
}
|
|
@@ -31320,10 +31687,10 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
31320
31687
|
return;
|
|
31321
31688
|
}
|
|
31322
31689
|
alreadyMerged.add(td);
|
|
31323
|
-
if (i === bound[0][0] && (0,
|
|
31690
|
+
if (i === bound[0][0] && (0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_5__.cssInline)(td, 'width')) {
|
|
31324
31691
|
w += td.offsetWidth;
|
|
31325
31692
|
}
|
|
31326
|
-
if ((0,
|
|
31693
|
+
if ((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.trim)(cell.innerHTML.replace(/<br(\/)?>/g, '')) !== '') {
|
|
31327
31694
|
html.push(cell.innerHTML);
|
|
31328
31695
|
}
|
|
31329
31696
|
if (cs > 1) {
|
|
@@ -31362,9 +31729,9 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
31362
31729
|
alreadyMerged.delete(first);
|
|
31363
31730
|
Table.__unmark(__marked);
|
|
31364
31731
|
Table.__normalizeTable(table);
|
|
31365
|
-
(0,
|
|
31732
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.toArray)(table.rows).forEach((tr)=>{
|
|
31366
31733
|
if (!tr.cells.length) {
|
|
31367
|
-
|
|
31734
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(tr);
|
|
31368
31735
|
}
|
|
31369
31736
|
});
|
|
31370
31737
|
}
|
|
@@ -31380,7 +31747,7 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
31380
31747
|
const __marked = [];
|
|
31381
31748
|
Table.__getSelectedCellsByTable(table).forEach((cell)=>{
|
|
31382
31749
|
td = jodit.createInside.element('td');
|
|
31383
|
-
|
|
31750
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(td, jodit.createInside.element('br'));
|
|
31384
31751
|
tr = jodit.createInside.element('tr');
|
|
31385
31752
|
coord = Table.__formalCoordinate(table, cell);
|
|
31386
31753
|
if (cell.rowSpan < 2) {
|
|
@@ -31389,8 +31756,8 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
31389
31756
|
Table.__mark(tdElm, 'rowspan', tdElm.rowSpan + 1, __marked);
|
|
31390
31757
|
}
|
|
31391
31758
|
});
|
|
31392
|
-
|
|
31393
|
-
|
|
31759
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.after(_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.closest(cell, 'tr', table), tr);
|
|
31760
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(tr, td);
|
|
31394
31761
|
} else {
|
|
31395
31762
|
Table.__mark(cell, 'rowspan', cell.rowSpan - 1, __marked);
|
|
31396
31763
|
Table.__formalMatrix(table, (tdElm, i, j)=>{
|
|
@@ -31402,9 +31769,9 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
31402
31769
|
}
|
|
31403
31770
|
});
|
|
31404
31771
|
if (after) {
|
|
31405
|
-
|
|
31772
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.after(after, td);
|
|
31406
31773
|
} else {
|
|
31407
|
-
|
|
31774
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.prepend(parent, td);
|
|
31408
31775
|
}
|
|
31409
31776
|
}
|
|
31410
31777
|
if (cell.colSpan > 1) {
|
|
@@ -31435,12 +31802,12 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
31435
31802
|
Table.__mark(cell, 'colspan', cell.colSpan - 1, __marked);
|
|
31436
31803
|
}
|
|
31437
31804
|
td = jodit.createInside.element('td');
|
|
31438
|
-
|
|
31805
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(td, jodit.createInside.element('br'));
|
|
31439
31806
|
if (cell.rowSpan > 1) {
|
|
31440
31807
|
Table.__mark(td, 'rowspan', cell.rowSpan, __marked);
|
|
31441
31808
|
}
|
|
31442
31809
|
const oldWidth = cell.offsetWidth; // get old width
|
|
31443
|
-
|
|
31810
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.after(cell, td);
|
|
31444
31811
|
percentage = oldWidth / table.offsetWidth / 2;
|
|
31445
31812
|
Table.__mark(cell, 'width', (percentage * 100).toFixed(_core_constants_js__WEBPACK_IMPORTED_MODULE_1__.ACCURACY) + '%', __marked);
|
|
31446
31813
|
Table.__mark(td, 'width', (percentage * 100).toFixed(_core_constants_js__WEBPACK_IMPORTED_MODULE_1__.ACCURACY) + '%', __marked);
|
|
@@ -31496,22 +31863,22 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
31496
31863
|
const value = dict[key];
|
|
31497
31864
|
switch(key){
|
|
31498
31865
|
case 'remove':
|
|
31499
|
-
|
|
31866
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(cell);
|
|
31500
31867
|
break;
|
|
31501
31868
|
case 'rowspan':
|
|
31502
|
-
(0,
|
|
31869
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(cell, 'rowspan', (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.isNumber)(value) && value > 1 ? value : null);
|
|
31503
31870
|
break;
|
|
31504
31871
|
case 'colspan':
|
|
31505
|
-
(0,
|
|
31872
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(cell, 'colspan', (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.isNumber)(value) && value > 1 ? value : null);
|
|
31506
31873
|
break;
|
|
31507
31874
|
case 'width':
|
|
31508
31875
|
if (value == null) {
|
|
31509
31876
|
cell.style.removeProperty('width');
|
|
31510
|
-
if (!(0,
|
|
31511
|
-
(0,
|
|
31877
|
+
if (!(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(cell, 'style')) {
|
|
31878
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(cell, 'style', null);
|
|
31512
31879
|
}
|
|
31513
31880
|
} else {
|
|
31514
|
-
(0,
|
|
31881
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.css)(cell, 'width', value.toString());
|
|
31515
31882
|
}
|
|
31516
31883
|
break;
|
|
31517
31884
|
}
|
|
@@ -31524,12 +31891,23 @@ class Table extends _core_component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewCo
|
|
|
31524
31891
|
constructor(){
|
|
31525
31892
|
super(...arguments);
|
|
31526
31893
|
this.selected = new Set();
|
|
31894
|
+
/**
|
|
31895
|
+
* Rewrite the `<style>` that marks the selected cells once for all the
|
|
31896
|
+
* cells (un)selected in one go: a drag over a block of cells unmarks and
|
|
31897
|
+
* marks every one of them on each move. `@debounce()` was never applied,
|
|
31898
|
+
* as a Table never reaches `ready`
|
|
31899
|
+
*/ this.__recalculateStyles = this.async.microDebounce(()=>{
|
|
31900
|
+
const style = (0,_core_global_js__WEBPACK_IMPORTED_MODULE_3__.getContainer)(this.j, Table, 'style', true);
|
|
31901
|
+
const selectors = [];
|
|
31902
|
+
this.selected.forEach((td)=>{
|
|
31903
|
+
const selector = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.cssPath)(td);
|
|
31904
|
+
selector && selectors.push(selector);
|
|
31905
|
+
});
|
|
31906
|
+
style.innerHTML = selectors.length ? selectors.join(',') + `{${this.jodit.options.table.selectionCellStyle}}` : '';
|
|
31907
|
+
});
|
|
31527
31908
|
}
|
|
31528
31909
|
}
|
|
31529
31910
|
Table.__selectedByTable = new WeakMap();
|
|
31530
|
-
__decorate([
|
|
31531
|
-
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_2__.debounce)()
|
|
31532
|
-
], Table.prototype, "__recalculateStyles", null);
|
|
31533
31911
|
const instance = (j)=>j.getInstance('Table', j.o);
|
|
31534
31912
|
|
|
31535
31913
|
|
|
@@ -34993,6 +35371,10 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('backspace', backs
|
|
|
34993
35371
|
mainClosestBox = nextBox;
|
|
34994
35372
|
}
|
|
34995
35373
|
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isElement(mainClosestBox) && _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isContentEditable(mainClosestBox, jodit.editor)) {
|
|
35374
|
+
// A table cell is never joined with its neighbour
|
|
35375
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.up(fakeNode, _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isCell, mainClosestBox, true)) {
|
|
35376
|
+
return false;
|
|
35377
|
+
}
|
|
34996
35378
|
const sibling = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.findNotEmptySibling(mainClosestBox, backspace);
|
|
34997
35379
|
// A line break before the cursor is a single unit: remove it instead of
|
|
34998
35380
|
// merging the current element into the (void) `<br>`, which used to move
|
|
@@ -35002,13 +35384,48 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('backspace', backs
|
|
|
35002
35384
|
jodit.s.setCursorBefore(fakeNode);
|
|
35003
35385
|
return true;
|
|
35004
35386
|
}
|
|
35005
|
-
|
|
35387
|
+
// Backspace leaves a block after a table alone, as Word does, rather
|
|
35388
|
+
// than moving its text into the last cell
|
|
35389
|
+
if (backspace && _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(sibling, 'table')) {
|
|
35390
|
+
jodit.s.setCursorBefore(fakeNode);
|
|
35391
|
+
return true;
|
|
35392
|
+
}
|
|
35393
|
+
const box = findCaretBox(fakeNode, mainClosestBox);
|
|
35394
|
+
if (sibling && (checkPullNextLine(jodit, fakeNode, box, sibling, backspace) || checkMoveListContent(jodit, box, sibling, backspace) || moveContentAndRemoveEmpty(jodit, box, findEdgeBlock(resolveTableSibling(sibling, backspace), backspace, jodit.editor), backspace))) {
|
|
35006
35395
|
jodit.s.setCursorBefore(fakeNode);
|
|
35007
35396
|
return true;
|
|
35008
35397
|
}
|
|
35009
35398
|
}
|
|
35010
35399
|
return false;
|
|
35011
35400
|
}
|
|
35401
|
+
/**
|
|
35402
|
+
* The block holding the caret inside the box that has the sibling, so
|
|
35403
|
+
* `<p>one</p><div><p>|two</p></div>` joins the two paragraphs instead of
|
|
35404
|
+
* moving the whole `<div>` into the first one. For a list item that is its
|
|
35405
|
+
* list, which the list cases handle.
|
|
35406
|
+
*/ function findCaretBox(fakeNode, mainClosestBox) {
|
|
35407
|
+
const block = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.up(fakeNode, _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock, mainClosestBox);
|
|
35408
|
+
if (!block) {
|
|
35409
|
+
return mainClosestBox;
|
|
35410
|
+
}
|
|
35411
|
+
return _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isLeaf(block) && block.parentElement ? block.parentElement : block;
|
|
35412
|
+
}
|
|
35413
|
+
/**
|
|
35414
|
+
* The innermost block on the sibling's edge facing the caret, so the
|
|
35415
|
+
* content is joined to text: `<div><p>one</p></div><p>|two</p>` gives
|
|
35416
|
+
* `<div><p>one|two</p></div>`
|
|
35417
|
+
*/ function findEdgeBlock(sibling, backspace, root) {
|
|
35418
|
+
let block = sibling;
|
|
35419
|
+
while(block){
|
|
35420
|
+
const edge = backspace ? block.lastChild : block.firstChild;
|
|
35421
|
+
const child = edge && _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isEmptyTextNode(edge) ? _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.findNotEmptySibling(edge, backspace) : edge;
|
|
35422
|
+
if (!_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(child) || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(child, _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS) || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(child, 'table') || !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isContentEditable(child, root)) {
|
|
35423
|
+
return block;
|
|
35424
|
+
}
|
|
35425
|
+
block = child;
|
|
35426
|
+
}
|
|
35427
|
+
return block;
|
|
35428
|
+
}
|
|
35012
35429
|
/**
|
|
35013
35430
|
* Content cannot be merged into the `<table>` element itself — it would land
|
|
35014
35431
|
* between the table sections (after `</tbody>`), which is invalid HTML and
|
|
@@ -35025,6 +35442,40 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('backspace', backs
|
|
|
35025
35442
|
});
|
|
35026
35443
|
return cells.length ? cells[backspace ? cells.length - 1 : 0] : null;
|
|
35027
35444
|
}
|
|
35445
|
+
/**
|
|
35446
|
+
* Delete at the edge of a list pulls the next line up to the caret, as the
|
|
35447
|
+
* browsers do, instead of moving the caret's line into the next block:
|
|
35448
|
+
* `<ul><li>one|</li></ul><p>two</p>` gives `<ul><li>one|two</li></ul>`, and
|
|
35449
|
+
* `<p>one|</p><ul><li>two</li></ul>` gives `<p>one|two</p>`
|
|
35450
|
+
* @private
|
|
35451
|
+
*/ function checkPullNextLine(jodit, fakeNode, box, sibling, backspace) {
|
|
35452
|
+
if (backspace || !(_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isList(box) || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isList(sibling))) {
|
|
35453
|
+
return false;
|
|
35454
|
+
}
|
|
35455
|
+
const target = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.up(fakeNode, _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock, box, true);
|
|
35456
|
+
const source = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isList(sibling) ? sibling.firstElementChild : sibling;
|
|
35457
|
+
if (!target || !source || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(source, _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS) || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(source, 'table')) {
|
|
35458
|
+
return false;
|
|
35459
|
+
}
|
|
35460
|
+
if (!_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isEmpty(source)) {
|
|
35461
|
+
const line = [];
|
|
35462
|
+
for(let node = source.firstChild; node && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(node); node = node.nextSibling){
|
|
35463
|
+
line.push(node);
|
|
35464
|
+
}
|
|
35465
|
+
if (!line.length) {
|
|
35466
|
+
return false;
|
|
35467
|
+
}
|
|
35468
|
+
const filter = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_2__.getMoveFilter)(jodit);
|
|
35469
|
+
line.forEach((node)=>filter(node) ? _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.append(target, node) : _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(node));
|
|
35470
|
+
}
|
|
35471
|
+
let remove = source;
|
|
35472
|
+
while(remove && remove !== jodit.editor && _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isEmpty(remove)){
|
|
35473
|
+
const parent = remove.parentElement;
|
|
35474
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(remove);
|
|
35475
|
+
remove = parent;
|
|
35476
|
+
}
|
|
35477
|
+
return true;
|
|
35478
|
+
}
|
|
35028
35479
|
function checkMoveListContent(jodit, mainClosestBox, sibling, backspace) {
|
|
35029
35480
|
// Process UL/LI/OL cases
|
|
35030
35481
|
const siblingIsList = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(sibling, _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.LIST_TAGS);
|
|
@@ -36154,6 +36605,19 @@ class cleanHtml extends _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_5__.Plug
|
|
|
36154
36605
|
this.walker.setWork(editor.editor);
|
|
36155
36606
|
this.currentSelectionNode = editor.s.current();
|
|
36156
36607
|
}
|
|
36608
|
+
/**
|
|
36609
|
+
* Typing into an empty block (`<p><br></p>`) replaces its `<br>`, but the
|
|
36610
|
+
* browser keeps the `<br>` when the caret is in an invisible-space text
|
|
36611
|
+
* node in front of it, as Jodit leaves the caret in many of the empty
|
|
36612
|
+
* blocks it makes (a cleared editor, a heading in an empty table cell).
|
|
36613
|
+
* See #1632
|
|
36614
|
+
*/ onInputRemovePlaceholderBr(event) {
|
|
36615
|
+
var _a;
|
|
36616
|
+
if (!this.isEditMode || event.type === 'input' && (event.isComposing || !((_a = event.inputType) === null || _a === void 0 ? void 0 : _a.startsWith('insert')))) {
|
|
36617
|
+
return;
|
|
36618
|
+
}
|
|
36619
|
+
;(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_8__.removePlaceholderBr)(this.j);
|
|
36620
|
+
}
|
|
36157
36621
|
startWalker() {
|
|
36158
36622
|
const { jodit } = this;
|
|
36159
36623
|
const allow = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_8__.getHash)(this.j.o.cleanHTML.allowTags);
|
|
@@ -36326,6 +36790,12 @@ __decorate([
|
|
|
36326
36790
|
':keydown'
|
|
36327
36791
|
])
|
|
36328
36792
|
], cleanHtml.prototype, "onChangeCleanHTML", null);
|
|
36793
|
+
__decorate([
|
|
36794
|
+
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.watch)([
|
|
36795
|
+
':input',
|
|
36796
|
+
'jodit.editor:compositionend'
|
|
36797
|
+
])
|
|
36798
|
+
], cleanHtml.prototype, "onInputRemovePlaceholderBr", null);
|
|
36329
36799
|
__decorate([
|
|
36330
36800
|
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.hook)('ready')
|
|
36331
36801
|
], cleanHtml.prototype, "startWalker", null);
|
|
@@ -36457,12 +36927,14 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.controls.eraser = {
|
|
|
36457
36927
|
/* harmony export */ getHash: function() { return /* reexport safe */ _get_hash_js__WEBPACK_IMPORTED_MODULE_0__.getHash; },
|
|
36458
36928
|
/* harmony export */ removeFormatForCollapsedSelection: function() { return /* reexport safe */ _remove_format_remove_format_for_collapsed_selection_js__WEBPACK_IMPORTED_MODULE_1__.removeFormatForCollapsedSelection; },
|
|
36459
36929
|
/* harmony export */ removeFormatForSelection: function() { return /* reexport safe */ _remove_format_remove_format_for_selection_js__WEBPACK_IMPORTED_MODULE_2__.removeFormatForSelection; },
|
|
36460
|
-
/* harmony export */
|
|
36930
|
+
/* harmony export */ removePlaceholderBr: function() { return /* reexport safe */ _remove_placeholder_br_js__WEBPACK_IMPORTED_MODULE_3__.removePlaceholderBr; },
|
|
36931
|
+
/* harmony export */ visitNodeWalker: function() { return /* reexport safe */ _visitor_visit_node_walker_js__WEBPACK_IMPORTED_MODULE_4__.visitNodeWalker; }
|
|
36461
36932
|
/* harmony export */ });
|
|
36462
36933
|
/* harmony import */ var _get_hash_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(83447);
|
|
36463
36934
|
/* harmony import */ var _remove_format_remove_format_for_collapsed_selection_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84272);
|
|
36464
36935
|
/* harmony import */ var _remove_format_remove_format_for_selection_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(42312);
|
|
36465
|
-
/* harmony import */ var
|
|
36936
|
+
/* harmony import */ var _remove_placeholder_br_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(56385);
|
|
36937
|
+
/* harmony import */ var _visitor_visit_node_walker_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(39516);
|
|
36466
36938
|
/*!
|
|
36467
36939
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
36468
36940
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -36476,6 +36948,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.controls.eraser = {
|
|
|
36476
36948
|
|
|
36477
36949
|
|
|
36478
36950
|
|
|
36951
|
+
|
|
36479
36952
|
/***/ }),
|
|
36480
36953
|
|
|
36481
36954
|
/***/ 15908:
|
|
@@ -36628,6 +37101,62 @@ const VIMEO_EMBED = /^(https?:)?\/\/player\.vimeo\.com\/video\//i;
|
|
|
36628
37101
|
}
|
|
36629
37102
|
|
|
36630
37103
|
|
|
37104
|
+
/***/ }),
|
|
37105
|
+
|
|
37106
|
+
/***/ 56385:
|
|
37107
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
37108
|
+
|
|
37109
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
37110
|
+
/* harmony export */ removePlaceholderBr: function() { return /* binding */ removePlaceholderBr; }
|
|
37111
|
+
/* harmony export */ });
|
|
37112
|
+
/* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
37113
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2748);
|
|
37114
|
+
/* harmony import */ var _core_helpers_string_trim_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49055);
|
|
37115
|
+
/*!
|
|
37116
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
37117
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
37118
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
37119
|
+
*/
|
|
37120
|
+
|
|
37121
|
+
|
|
37122
|
+
function lastNode(node) {
|
|
37123
|
+
let last = node.lastChild;
|
|
37124
|
+
while(_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isText(last) && !last.nodeValue){
|
|
37125
|
+
last = last.previousSibling;
|
|
37126
|
+
}
|
|
37127
|
+
return last;
|
|
37128
|
+
}
|
|
37129
|
+
/**
|
|
37130
|
+
* Remove the `<br>` that kept the block with the caret open while it was
|
|
37131
|
+
* empty, once text has gone into the block: when the block is one line of
|
|
37132
|
+
* text that ends in that `<br>`, the `<br>` adds nothing to it
|
|
37133
|
+
* @private
|
|
37134
|
+
*/ function removePlaceholderBr(jodit) {
|
|
37135
|
+
var _a;
|
|
37136
|
+
const block = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(jodit.s.current(), _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock, jodit.editor);
|
|
37137
|
+
if (!block || !(0,_core_helpers_string_trim_js__WEBPACK_IMPORTED_MODULE_2__.trim)((_a = block.textContent) !== null && _a !== void 0 ? _a : '')) {
|
|
37138
|
+
return;
|
|
37139
|
+
}
|
|
37140
|
+
let br = lastNode(block);
|
|
37141
|
+
while(_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isElement(br) && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(br, _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS) && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(br)){
|
|
37142
|
+
br = lastNode(br);
|
|
37143
|
+
}
|
|
37144
|
+
if (!_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(br, 'br')) {
|
|
37145
|
+
return;
|
|
37146
|
+
}
|
|
37147
|
+
// Another line break, a block, an image or an embed means the `<br>` may
|
|
37148
|
+
// end an empty line, or give the caret a place after the embed
|
|
37149
|
+
const isOneLineOfText = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.each(block, (node)=>{
|
|
37150
|
+
if (node !== br && _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isElement(node) && (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(node, _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS) || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isBlock(node) || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isHTMLElement(node) && !node.isContentEditable)) {
|
|
37151
|
+
return false;
|
|
37152
|
+
}
|
|
37153
|
+
});
|
|
37154
|
+
if (isOneLineOfText) {
|
|
37155
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(br);
|
|
37156
|
+
}
|
|
37157
|
+
}
|
|
37158
|
+
|
|
37159
|
+
|
|
36631
37160
|
/***/ }),
|
|
36632
37161
|
|
|
36633
37162
|
/***/ 82558:
|
|
@@ -38269,6 +38798,11 @@ class deleteCommand extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_4__.P
|
|
|
38269
38798
|
}
|
|
38270
38799
|
jodit.s.expandSelection();
|
|
38271
38800
|
const range = jodit.s.range;
|
|
38801
|
+
const caret = this.__clearSelectedCells(range);
|
|
38802
|
+
if (caret && range.collapsed) {
|
|
38803
|
+
jodit.s.selectRange(caret);
|
|
38804
|
+
return false;
|
|
38805
|
+
}
|
|
38272
38806
|
range.deleteContents();
|
|
38273
38807
|
const fake = jodit.createInside.fake();
|
|
38274
38808
|
range.insertNode(fake);
|
|
@@ -38278,21 +38812,98 @@ class deleteCommand extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_4__.P
|
|
|
38278
38812
|
range.setStartBefore(fake);
|
|
38279
38813
|
range.collapse(true);
|
|
38280
38814
|
this.__moveCursorInEditableSibling(jodit, leftSibling, fake, range);
|
|
38281
|
-
this.__addBrInEmptyBlock(fake,
|
|
38815
|
+
this.__addBrInEmptyBlock(fake, range);
|
|
38282
38816
|
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(fake);
|
|
38283
|
-
jodit.s.selectRange(range);
|
|
38817
|
+
jodit.s.selectRange(caret !== null && caret !== void 0 ? caret : range);
|
|
38284
38818
|
return false;
|
|
38285
38819
|
}
|
|
38820
|
+
/**
|
|
38821
|
+
* A selection that starts or ends in a table cell clears the selected part
|
|
38822
|
+
* of each cell it covers and keeps the cells, as the browsers do.
|
|
38823
|
+
* `deleteContents` would remove the cells it fully covers, and the cells
|
|
38824
|
+
* it cuts would then be merged as blocks. The range is moved out of those
|
|
38825
|
+
* tables, so only the content between them is left to delete.
|
|
38826
|
+
*
|
|
38827
|
+
* Returns where the caret goes, or null when no table is involved
|
|
38828
|
+
*/ __clearSelectedCells(range) {
|
|
38829
|
+
const { editor, createInside } = this.j;
|
|
38830
|
+
const startCell = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(range.startContainer, _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isCell, editor);
|
|
38831
|
+
const endCell = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(range.endContainer, _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isCell, editor);
|
|
38832
|
+
if (startCell === endCell) {
|
|
38833
|
+
return null;
|
|
38834
|
+
}
|
|
38835
|
+
const startTable = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(startCell, 'table', editor);
|
|
38836
|
+
const endTable = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(endCell, 'table', editor);
|
|
38837
|
+
const caret = range.cloneRange();
|
|
38838
|
+
caret.collapse(true);
|
|
38839
|
+
const parts = [];
|
|
38840
|
+
const addParts = (table)=>{
|
|
38841
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.toArray)(table.rows).flatMap((row)=>(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.toArray)(row.cells)).filter((cell)=>range.intersectsNode(cell)).forEach((cell)=>{
|
|
38842
|
+
const part = range.cloneRange();
|
|
38843
|
+
if (!_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isOrContains(cell, range.startContainer)) {
|
|
38844
|
+
part.setStart(cell, 0);
|
|
38845
|
+
}
|
|
38846
|
+
if (!_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isOrContains(cell, range.endContainer)) {
|
|
38847
|
+
part.setEnd(cell, cell.childNodes.length);
|
|
38848
|
+
}
|
|
38849
|
+
parts.push([
|
|
38850
|
+
cell,
|
|
38851
|
+
part
|
|
38852
|
+
]);
|
|
38853
|
+
});
|
|
38854
|
+
};
|
|
38855
|
+
if (startTable) {
|
|
38856
|
+
addParts(startTable);
|
|
38857
|
+
if (startTable === endTable) {
|
|
38858
|
+
range.collapse(true);
|
|
38859
|
+
} else {
|
|
38860
|
+
range.setStartAfter(startTable);
|
|
38861
|
+
}
|
|
38862
|
+
}
|
|
38863
|
+
if (endTable && endTable !== startTable) {
|
|
38864
|
+
addParts(endTable);
|
|
38865
|
+
range.setEndBefore(endTable);
|
|
38866
|
+
}
|
|
38867
|
+
parts.forEach(([cell, part])=>{
|
|
38868
|
+
part.deleteContents();
|
|
38869
|
+
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmpty(cell)) {
|
|
38870
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.detach(cell);
|
|
38871
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.append(cell, createInside.element('br'));
|
|
38872
|
+
}
|
|
38873
|
+
});
|
|
38874
|
+
return startTable ? caret : null;
|
|
38875
|
+
}
|
|
38286
38876
|
__moveContentInLeftSibling(fake, leftSibling, rightSibling) {
|
|
38287
38877
|
leftSibling = this.__defineRightLeftBox(leftSibling);
|
|
38878
|
+
// Nothing is moved into a table, and a block left empty after it goes
|
|
38879
|
+
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(leftSibling, 'table')) {
|
|
38880
|
+
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock(rightSibling) && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmpty(rightSibling)) {
|
|
38881
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(rightSibling);
|
|
38882
|
+
}
|
|
38883
|
+
return;
|
|
38884
|
+
}
|
|
38288
38885
|
if (!_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isList(rightSibling) && !_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(rightSibling, 'table') && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock(rightSibling) && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock(leftSibling)) {
|
|
38289
38886
|
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.append(leftSibling, fake);
|
|
38290
38887
|
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.moveContent(rightSibling, leftSibling);
|
|
38291
38888
|
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(rightSibling);
|
|
38292
38889
|
}
|
|
38293
|
-
|
|
38294
|
-
|
|
38295
|
-
|
|
38890
|
+
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isList(rightSibling) && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isLeaf(rightSibling.firstElementChild)) {
|
|
38891
|
+
const item = rightSibling.firstElementChild;
|
|
38892
|
+
// What's left of the right list's first item joins the left block,
|
|
38893
|
+
// up to a list nested in the item
|
|
38894
|
+
if (!_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmpty(item) && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock(leftSibling)) {
|
|
38895
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.append(leftSibling, fake);
|
|
38896
|
+
while(item.firstChild && !_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock(item.firstChild)){
|
|
38897
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.append(leftSibling, item.firstChild);
|
|
38898
|
+
}
|
|
38899
|
+
}
|
|
38900
|
+
// Remove empty right LI
|
|
38901
|
+
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmpty(item)) {
|
|
38902
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(item);
|
|
38903
|
+
}
|
|
38904
|
+
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmpty(rightSibling)) {
|
|
38905
|
+
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(rightSibling);
|
|
38906
|
+
}
|
|
38296
38907
|
}
|
|
38297
38908
|
}
|
|
38298
38909
|
/**
|
|
@@ -38309,8 +38920,8 @@ class deleteCommand extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_4__.P
|
|
|
38309
38920
|
return lastLeaf;
|
|
38310
38921
|
}
|
|
38311
38922
|
/**
|
|
38312
|
-
* Add BR in empty
|
|
38313
|
-
*/ __addBrInEmptyBlock(fake,
|
|
38923
|
+
* Add BR in the empty block left at the caret
|
|
38924
|
+
*/ __addBrInEmptyBlock(fake, range) {
|
|
38314
38925
|
const jodit = this.j;
|
|
38315
38926
|
if (fake.isConnected && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isBlock(fake.parentNode) && !fake.nextSibling && !fake.previousSibling) {
|
|
38316
38927
|
const br = jodit.createInside.element('br');
|
|
@@ -38318,13 +38929,6 @@ class deleteCommand extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_4__.P
|
|
|
38318
38929
|
range.setStartBefore(br);
|
|
38319
38930
|
range.collapse(true);
|
|
38320
38931
|
}
|
|
38321
|
-
// Add BR in the right empty table cell
|
|
38322
|
-
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(rightSibling, 'table')) {
|
|
38323
|
-
const firstCell = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.$$)('td,th', rightSibling).shift();
|
|
38324
|
-
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isCell(firstCell) && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isEmpty(firstCell)) {
|
|
38325
|
-
_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.append(firstCell, jodit.createInside.element('br'));
|
|
38326
|
-
}
|
|
38327
|
-
}
|
|
38328
38932
|
}
|
|
38329
38933
|
__moveCursorInEditableSibling(jodit, leftSibling, fake, range) {
|
|
38330
38934
|
var _a;
|
|
@@ -39772,7 +40376,18 @@ function focus(editor) {
|
|
|
39772
40376
|
editor.e.on('afterInit', ()=>{
|
|
39773
40377
|
if (editor.o.autofocus) {
|
|
39774
40378
|
if (editor.defaultTimeout) {
|
|
39775
|
-
editor
|
|
40379
|
+
// A click or key in the editor during the delay has put the
|
|
40380
|
+
// caret where the user wants it, so autofocus leaves it there
|
|
40381
|
+
const userInput = 'mousedown touchstart keydown';
|
|
40382
|
+
const cancel = ()=>{
|
|
40383
|
+
editor.async.clearTimeout(timeout);
|
|
40384
|
+
editor.e.off(userInput, cancel);
|
|
40385
|
+
};
|
|
40386
|
+
const timeout = editor.async.setTimeout(()=>{
|
|
40387
|
+
editor.e.off(userInput, cancel);
|
|
40388
|
+
focus();
|
|
40389
|
+
}, 300);
|
|
40390
|
+
editor.e.on(userInput, cancel);
|
|
39776
40391
|
} else {
|
|
39777
40392
|
focus();
|
|
39778
40393
|
}
|
|
@@ -41067,7 +41682,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeBaseUrl = '';
|
|
|
41067
41682
|
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeTitle = 'Jodit Editor';
|
|
41068
41683
|
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeDoctype = '<!DOCTYPE html>';
|
|
41069
41684
|
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeDefaultSrc = 'about:blank';
|
|
41070
|
-
_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;' + '}' + '
|
|
41685
|
+
_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;' + '}' + '.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' + '}';
|
|
41071
41686
|
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeCSSLinks = [];
|
|
41072
41687
|
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeSandbox = null;
|
|
41073
41688
|
|
|
@@ -41113,6 +41728,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeSandbox = null;
|
|
|
41113
41728
|
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(link, 'rel', 'stylesheet');
|
|
41114
41729
|
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(link, 'href', href);
|
|
41115
41730
|
doc.head && _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.append(doc.head, link);
|
|
41731
|
+
// What plugins measured in the editing document changes once it's styled
|
|
41732
|
+
jodit.e.on(link, 'load', ()=>jodit.e.fire('resize'));
|
|
41116
41733
|
});
|
|
41117
41734
|
}
|
|
41118
41735
|
if (opt.iframeStyle) {
|
|
@@ -41150,6 +41767,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeSandbox = null;
|
|
|
41150
41767
|
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(doc.body, 'contenteditable', editor.getMode() !== _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.MODE_SOURCE && !editor.getReadOnly() || null);
|
|
41151
41768
|
};
|
|
41152
41769
|
const clearMarkers = (html)=>{
|
|
41770
|
+
// The plugins' own styles, from `getContainer`, aren't part of the value
|
|
41771
|
+
html = html.replace(/<style[^>]+jodit-box[^>]*>[\s\S]*?<\/style>/gi, '');
|
|
41153
41772
|
const bodyReg = /<body.*<\/body>/im, bodyMarker = '{%%BODY%%}', body = bodyReg.exec(html);
|
|
41154
41773
|
if (body) {
|
|
41155
41774
|
// remove markers
|
|
@@ -41174,7 +41793,10 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.iframeSandbox = null;
|
|
|
41174
41793
|
*/ const replaceDocument = (html)=>{
|
|
41175
41794
|
const inert = new DOMParser().parseFromString(html, 'text/html');
|
|
41176
41795
|
editor.e.fire('safeHTML', inert.documentElement);
|
|
41796
|
+
// The plugins' own styles stay, as the value leaves them out
|
|
41797
|
+
const styles = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.$$)('style.jodit-box', doc.head);
|
|
41177
41798
|
doc.replaceChild(doc.adoptNode(inert.documentElement), doc.documentElement);
|
|
41799
|
+
styles.forEach((style)=>_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.append(doc.head, style));
|
|
41178
41800
|
};
|
|
41179
41801
|
if (docMode) {
|
|
41180
41802
|
const tag = editor.element.tagName;
|
|
@@ -41342,6 +41964,9 @@ const SELECTED_TAGS = new Set([
|
|
|
41342
41964
|
*/ class imageProcessor extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plugin {
|
|
41343
41965
|
afterInit(jodit) {
|
|
41344
41966
|
jodit.e.on(jodit.ed, 'selectionchange', this.onSelectionChange);
|
|
41967
|
+
// Over the highlight in `styles/reset.less`; the image keeps its own. It goes
|
|
41968
|
+
// in the editing document, so iframe mode has it whatever `iframeStyle` holds
|
|
41969
|
+
(0,_core_global_js__WEBPACK_IMPORTED_MODULE_3__.getContainer)(jodit, 'image-processor', 'style', true).textContent = `.jodit-wysiwyg.${IMAGE_SELECTED}::selection,` + `.jodit-wysiwyg.${IMAGE_SELECTED} *:not(img)::selection{background:transparent}`;
|
|
41345
41970
|
}
|
|
41346
41971
|
beforeDestruct(jodit) {
|
|
41347
41972
|
jodit.e.off(jodit.ed, 'selectionchange', this.onSelectionChange);
|
|
@@ -44004,10 +44629,11 @@ const align = {
|
|
|
44004
44629
|
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(580);
|
|
44005
44630
|
/* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21537);
|
|
44006
44631
|
/* harmony import */ var _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(50911);
|
|
44007
|
-
/* harmony import */ var
|
|
44008
|
-
/* harmony import */ var
|
|
44009
|
-
/* harmony import */ var
|
|
44010
|
-
/* harmony import */ var
|
|
44632
|
+
/* harmony import */ var _core_selection_helpers_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(45124);
|
|
44633
|
+
/* harmony import */ var _core_ui_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(67510);
|
|
44634
|
+
/* harmony import */ var _core_ui_popup_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(61259);
|
|
44635
|
+
/* harmony import */ var _modules_toolbar_factory_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(21491);
|
|
44636
|
+
/* harmony import */ var _config_config_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(24526);
|
|
44011
44637
|
function _define_property(obj, key, value) {
|
|
44012
44638
|
if (key in obj) {
|
|
44013
44639
|
Object.defineProperty(obj, key, {
|
|
@@ -44076,14 +44702,15 @@ function _object_spread_props(target, source) {
|
|
|
44076
44702
|
|
|
44077
44703
|
|
|
44078
44704
|
|
|
44705
|
+
|
|
44079
44706
|
/**
|
|
44080
44707
|
* Plugin for show inline popup dialog
|
|
44081
44708
|
*/ class inlinePopup extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_4__.Plugin {
|
|
44082
44709
|
get popup() {
|
|
44083
|
-
return new
|
|
44710
|
+
return new _core_ui_popup_index_js__WEBPACK_IMPORTED_MODULE_7__.Popup(this.jodit, false);
|
|
44084
44711
|
}
|
|
44085
44712
|
get toolbar() {
|
|
44086
|
-
return (0,
|
|
44713
|
+
return (0,_modules_toolbar_factory_js__WEBPACK_IMPORTED_MODULE_8__.makeCollection)(this.jodit, this.popup);
|
|
44087
44714
|
}
|
|
44088
44715
|
onClick(node) {
|
|
44089
44716
|
const elements = this.elmsList, mediaWrapper = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.getMediaWrapper)(this.j, node), target = mediaWrapper !== null && mediaWrapper !== void 0 ? mediaWrapper : _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(node, 'img') ? node : _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(node, elements, this.j.editor);
|
|
@@ -44156,6 +44783,33 @@ function _object_spread_props(target, source) {
|
|
|
44156
44783
|
onOutsideClick() {
|
|
44157
44784
|
this.popup.close();
|
|
44158
44785
|
}
|
|
44786
|
+
/**
|
|
44787
|
+
* A key that moves the caret off an element closes its popup, and one
|
|
44788
|
+
* that moves the caret into an element with a popup (a link) opens it,
|
|
44789
|
+
* as clicks do
|
|
44790
|
+
*/ onKeyUp() {
|
|
44791
|
+
this.__followCaret();
|
|
44792
|
+
}
|
|
44793
|
+
__followCaret() {
|
|
44794
|
+
if (!(0,_core_selection_helpers_index_js__WEBPACK_IMPORTED_MODULE_5__.isMoved)(this.j, this.snapRange)) {
|
|
44795
|
+
return;
|
|
44796
|
+
}
|
|
44797
|
+
const { range } = this.j.s;
|
|
44798
|
+
const target = this.previousTarget;
|
|
44799
|
+
if (this.popup.isOpened && this.type !== 'selection' && target && !range.intersectsNode(target)) {
|
|
44800
|
+
this.popup.close();
|
|
44801
|
+
}
|
|
44802
|
+
const node = range.startContainer;
|
|
44803
|
+
const element = this.__elementAt(node);
|
|
44804
|
+
if (range.collapsed && element && element !== this.__keyDownElement) {
|
|
44805
|
+
this.onClick(node);
|
|
44806
|
+
}
|
|
44807
|
+
}
|
|
44808
|
+
/**
|
|
44809
|
+
* The element with a popup that holds `node`
|
|
44810
|
+
*/ __elementAt(node) {
|
|
44811
|
+
return _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.closest(node, this.elmsList, this.j.editor);
|
|
44812
|
+
}
|
|
44159
44813
|
/**
|
|
44160
44814
|
* Can show popup for this type
|
|
44161
44815
|
*/ canShowPopupForType(type) {
|
|
@@ -44195,12 +44849,28 @@ function _object_spread_props(target, source) {
|
|
|
44195
44849
|
], 'mousedown touchstart', this.__onDocumentMouseDown).on('closeAllPopups', this.__onCloseAllPopups);
|
|
44196
44850
|
this.addListenersForElements();
|
|
44197
44851
|
}
|
|
44852
|
+
onRecalcPositionPopup() {
|
|
44853
|
+
if (this.popup.isOpened && this.type !== 'selection' && this.previousTarget) {
|
|
44854
|
+
this.__reopenFor = this.previousTarget;
|
|
44855
|
+
}
|
|
44856
|
+
}
|
|
44198
44857
|
__onDocumentMouseDown(e) {
|
|
44199
|
-
|
|
44858
|
+
this.__reopenFor = null;
|
|
44859
|
+
if (this.popup.isOpened && this.type === 'selection' && e.target && _core_ui_index_js__WEBPACK_IMPORTED_MODULE_6__.UIElement.closestElement(e.target, _core_ui_popup_index_js__WEBPACK_IMPORTED_MODULE_7__.Popup)) {
|
|
44200
44860
|
this.__reopenSelectionPopup = true;
|
|
44201
44861
|
}
|
|
44202
44862
|
}
|
|
44203
44863
|
__onCloseAllPopups() {
|
|
44864
|
+
const target = this.__reopenFor;
|
|
44865
|
+
if (target) {
|
|
44866
|
+
this.__reopenFor = null;
|
|
44867
|
+
// After the popup's own `closeAllPopups` handler, as below
|
|
44868
|
+
this.j.async.setTimeout(()=>{
|
|
44869
|
+
if (this.j.editor.contains(target)) {
|
|
44870
|
+
this.onClick(target);
|
|
44871
|
+
}
|
|
44872
|
+
}, 1);
|
|
44873
|
+
}
|
|
44204
44874
|
if (!this.__reopenSelectionPopup) {
|
|
44205
44875
|
return;
|
|
44206
44876
|
}
|
|
@@ -44237,11 +44907,16 @@ function _object_spread_props(target, source) {
|
|
|
44237
44907
|
height: rect.height
|
|
44238
44908
|
};
|
|
44239
44909
|
}
|
|
44240
|
-
onSelectionStart() {
|
|
44910
|
+
onSelectionStart(event) {
|
|
44911
|
+
// A key held down moves the caret on every repeat, with one keyup
|
|
44912
|
+
if (event === null || event === void 0 ? void 0 : event.repeat) {
|
|
44913
|
+
this.__followCaret();
|
|
44914
|
+
}
|
|
44241
44915
|
this.snapRange = this.j.s.range.cloneRange();
|
|
44916
|
+
this.__keyDownElement = this.__elementAt(this.snapRange.startContainer);
|
|
44242
44917
|
}
|
|
44243
44918
|
onSelectionEnd(e) {
|
|
44244
|
-
if (e && e.target &&
|
|
44919
|
+
if (e && e.target && _core_ui_index_js__WEBPACK_IMPORTED_MODULE_6__.UIElement.closestElement(e.target, _core_ui_popup_index_js__WEBPACK_IMPORTED_MODULE_7__.Popup)) {
|
|
44245
44920
|
return;
|
|
44246
44921
|
}
|
|
44247
44922
|
const { snapRange } = this, { range } = this.j.s;
|
|
@@ -44325,7 +45000,13 @@ function _object_spread_props(target, source) {
|
|
|
44325
45000
|
* command fires `closeAllPopups`, the toolbar should be shown again
|
|
44326
45001
|
* while the selection is still there. See #1238
|
|
44327
45002
|
*/ this.__reopenSelectionPopup = false;
|
|
45003
|
+
/**
|
|
45004
|
+
* The alignment controls fire `recalcPositionPopup` once they have moved
|
|
45005
|
+
* the element, and their button then fires `closeAllPopups`. The popup
|
|
45006
|
+
* opens again beside the element, as the selection toolbar does
|
|
45007
|
+
*/ this.__reopenFor = null;
|
|
44328
45008
|
this.snapRange = null;
|
|
45009
|
+
this.__keyDownElement = null;
|
|
44329
45010
|
this.elmsList = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.keys)(this.j.o.popup, false).filter((s)=>!this.isExcludedTarget(s));
|
|
44330
45011
|
}
|
|
44331
45012
|
}
|
|
@@ -44355,6 +45036,12 @@ __decorate([
|
|
|
44355
45036
|
__decorate([
|
|
44356
45037
|
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.watch)(':outsideClick')
|
|
44357
45038
|
], inlinePopup.prototype, "onOutsideClick", null);
|
|
45039
|
+
__decorate([
|
|
45040
|
+
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.watch)(':keyup')
|
|
45041
|
+
], inlinePopup.prototype, "onKeyUp", null);
|
|
45042
|
+
__decorate([
|
|
45043
|
+
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.watch)(':recalcPositionPopup')
|
|
45044
|
+
], inlinePopup.prototype, "onRecalcPositionPopup", null);
|
|
44358
45045
|
__decorate([
|
|
44359
45046
|
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.autobind
|
|
44360
45047
|
], inlinePopup.prototype, "__onDocumentMouseDown", null);
|
|
@@ -46302,6 +46989,7 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_1__.pluginSystem.add('mobile', mobile);
|
|
|
46302
46989
|
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6441);
|
|
46303
46990
|
/* harmony import */ var _icons_ol_svg_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(13465);
|
|
46304
46991
|
/* harmony import */ var _icons_ul_svg_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(50267);
|
|
46992
|
+
/* harmony import */ var _start_dialog_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83086);
|
|
46305
46993
|
/*!
|
|
46306
46994
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
46307
46995
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -46311,11 +46999,19 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_1__.pluginSystem.add('mobile', mobile);
|
|
|
46311
46999
|
|
|
46312
47000
|
|
|
46313
47001
|
|
|
47002
|
+
|
|
47003
|
+
/**
|
|
47004
|
+
* The `ol` dropdown item that asks for the list's start number
|
|
47005
|
+
*/ const START = 'start';
|
|
46314
47006
|
const memoExec = (jodit, _, { control })=>{
|
|
46315
47007
|
var _a;
|
|
46316
47008
|
const key = `button${control.command}`;
|
|
46317
47009
|
const value = (_a = control.args && control.args[0]) !== null && _a !== void 0 ? _a : (0,_core_helpers_utils_data_bind_js__WEBPACK_IMPORTED_MODULE_0__.dataBind)(jodit, key);
|
|
46318
|
-
(
|
|
47010
|
+
if (value === START) {
|
|
47011
|
+
(0,_start_dialog_js__WEBPACK_IMPORTED_MODULE_5__.openStartDialog)(jodit);
|
|
47012
|
+
return;
|
|
47013
|
+
}
|
|
47014
|
+
;(0,_core_helpers_utils_data_bind_js__WEBPACK_IMPORTED_MODULE_0__.dataBind)(jodit, key, value);
|
|
46319
47015
|
jodit.execCommand(control.command, false, value === 'default' ? null : value);
|
|
46320
47016
|
};
|
|
46321
47017
|
_core_ui_icon_js__WEBPACK_IMPORTED_MODULE_1__.Icon.set('ol', _icons_ol_svg_js__WEBPACK_IMPORTED_MODULE_3__["default"]).set('ul', _icons_ul_svg_js__WEBPACK_IMPORTED_MODULE_4__["default"]);
|
|
@@ -46345,9 +47041,14 @@ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.ol = {
|
|
|
46345
47041
|
'lower-greek': 'Lower Greek',
|
|
46346
47042
|
'lower-roman': 'Lower Roman',
|
|
46347
47043
|
'upper-alpha': 'Upper Alpha',
|
|
46348
|
-
'upper-roman': 'Upper Roman'
|
|
47044
|
+
'upper-roman': 'Upper Roman',
|
|
47045
|
+
[START]: 'Start at...'
|
|
46349
47046
|
},
|
|
46350
|
-
exec: memoExec
|
|
47047
|
+
exec: memoExec,
|
|
47048
|
+
isChildDisabled: (jodit, button)=>{
|
|
47049
|
+
var _a;
|
|
47050
|
+
return ((_a = button.control.args) === null || _a === void 0 ? void 0 : _a[0]) === START && !(0,_start_dialog_js__WEBPACK_IMPORTED_MODULE_5__.closestOrderedList)(jodit);
|
|
47051
|
+
}
|
|
46351
47052
|
};
|
|
46352
47053
|
|
|
46353
47054
|
|
|
@@ -46430,6 +47131,83 @@ __decorate([
|
|
|
46430
47131
|
_core_global_js__WEBPACK_IMPORTED_MODULE_1__.pluginSystem.add('orderedList', orderedList);
|
|
46431
47132
|
|
|
46432
47133
|
|
|
47134
|
+
/***/ }),
|
|
47135
|
+
|
|
47136
|
+
/***/ 83086:
|
|
47137
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
47138
|
+
|
|
47139
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
47140
|
+
/* harmony export */ closestOrderedList: function() { return /* binding */ closestOrderedList; },
|
|
47141
|
+
/* harmony export */ openStartDialog: function() { return /* binding */ openStartDialog; }
|
|
47142
|
+
/* harmony export */ });
|
|
47143
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
47144
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
47145
|
+
/* harmony import */ var _core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(62843);
|
|
47146
|
+
/* harmony import */ var _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2525);
|
|
47147
|
+
/*!
|
|
47148
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
47149
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
47150
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
47151
|
+
*/
|
|
47152
|
+
|
|
47153
|
+
|
|
47154
|
+
|
|
47155
|
+
/**
|
|
47156
|
+
* The numbered list the selection is in
|
|
47157
|
+
*/ function closestOrderedList(jodit) {
|
|
47158
|
+
const current = jodit.s.current();
|
|
47159
|
+
return current ? _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(current, 'ol', jodit.editor) : null;
|
|
47160
|
+
}
|
|
47161
|
+
/**
|
|
47162
|
+
* Asks for the number of the first item of the list the selection is in,
|
|
47163
|
+
* and sets the list's `start`. The selection is put back when the dialog
|
|
47164
|
+
* closes, however it closes.
|
|
47165
|
+
*/ function openStartDialog(jodit) {
|
|
47166
|
+
const list = closestOrderedList(jodit);
|
|
47167
|
+
if (!list) {
|
|
47168
|
+
return;
|
|
47169
|
+
}
|
|
47170
|
+
const dialog = jodit.dlg({
|
|
47171
|
+
resizable: false,
|
|
47172
|
+
closeOnClickOverlay: true
|
|
47173
|
+
});
|
|
47174
|
+
const input = new _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_3__.UIInput(jodit, {
|
|
47175
|
+
name: 'start',
|
|
47176
|
+
type: 'number',
|
|
47177
|
+
label: 'Number for the first item',
|
|
47178
|
+
value: list.start
|
|
47179
|
+
});
|
|
47180
|
+
const form = new _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_3__.UIForm(jodit, [
|
|
47181
|
+
new _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_3__.UIBlock(jodit, [
|
|
47182
|
+
input
|
|
47183
|
+
])
|
|
47184
|
+
]);
|
|
47185
|
+
form.container.classList.add('jodit-dialog_alert');
|
|
47186
|
+
form.onSubmit(({ start })=>{
|
|
47187
|
+
const value = start === '' ? 1 : parseInt(start, 10);
|
|
47188
|
+
if (isNaN(value)) {
|
|
47189
|
+
input.focus();
|
|
47190
|
+
return false;
|
|
47191
|
+
}
|
|
47192
|
+
dialog.close();
|
|
47193
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(list, 'start', value === 1 ? null : value);
|
|
47194
|
+
jodit.synchronizeValues();
|
|
47195
|
+
});
|
|
47196
|
+
jodit.s.save();
|
|
47197
|
+
dialog.e.on(dialog, 'afterClose', ()=>{
|
|
47198
|
+
jodit.s.focus();
|
|
47199
|
+
jodit.s.restore();
|
|
47200
|
+
});
|
|
47201
|
+
dialog.setFooter([
|
|
47202
|
+
(0,_core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_2__.Button)(jodit, 'cancel', 'Cancel').onAction(()=>dialog.close()),
|
|
47203
|
+
(0,_core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_2__.Button)(jodit, 'ok', 'Apply', 'primary').onAction(()=>form.submit())
|
|
47204
|
+
]);
|
|
47205
|
+
dialog.open(form, jodit.i18n('Start numbering at'), true, true);
|
|
47206
|
+
input.focus();
|
|
47207
|
+
input.nativeInput.select();
|
|
47208
|
+
}
|
|
47209
|
+
|
|
47210
|
+
|
|
46433
47211
|
/***/ }),
|
|
46434
47212
|
|
|
46435
47213
|
/***/ 71842:
|
|
@@ -47250,6 +48028,10 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.useInputsPlaceholder =
|
|
|
47250
48028
|
return true;
|
|
47251
48029
|
}
|
|
47252
48030
|
const first = root.firstChild;
|
|
48031
|
+
// Firefox pads an empty editable body with a bare <br>
|
|
48032
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(first, 'br') && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.next(first, Boolean, root)) {
|
|
48033
|
+
return true;
|
|
48034
|
+
}
|
|
47253
48035
|
if (_core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INSEPARABLE_TAGS.has((_a = first.nodeName) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || /^(TABLE)$/i.test(first.nodeName)) {
|
|
47254
48036
|
return false;
|
|
47255
48037
|
}
|
|
@@ -47298,11 +48080,13 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.useInputsPlaceholder =
|
|
|
47298
48080
|
marginTop = parseInt(style2.getPropertyValue('margin-top'), 10);
|
|
47299
48081
|
marginLeft = parseInt(style2.getPropertyValue('margin-left'), 10);
|
|
47300
48082
|
(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_6__.css)(this.placeholderElm, {
|
|
48083
|
+
fontFamily: style2.getPropertyValue('font-family'),
|
|
47301
48084
|
fontSize: parseInt(style2.getPropertyValue('font-size'), 10),
|
|
47302
48085
|
lineHeight: style2.getPropertyValue('line-height')
|
|
47303
48086
|
});
|
|
47304
48087
|
} else {
|
|
47305
48088
|
(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_6__.css)(this.placeholderElm, {
|
|
48089
|
+
fontFamily: style.getPropertyValue('font-family'),
|
|
47306
48090
|
fontSize: parseInt(style.getPropertyValue('font-size'), 10),
|
|
47307
48091
|
lineHeight: style.getPropertyValue('line-height')
|
|
47308
48092
|
});
|
|
@@ -47350,7 +48134,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.useInputsPlaceholder =
|
|
|
47350
48134
|
this.placeholderElm.innerHTML = (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_5__.attr)(editor.element, 'placeholder') || '';
|
|
47351
48135
|
}
|
|
47352
48136
|
editor.e.fire('placeholder', this.placeholderElm.innerHTML);
|
|
47353
|
-
editor.e.off('.placeholder').on('changePlace.placeholder', this.addNativeListeners).on('change.placeholder focus.placeholder keyup.placeholder mouseup.placeholder keydown.placeholder ' + 'mousedown.placeholder afterSetMode.placeholder changePlace.placeholder ' + 'internalChange.placeholder afterCommand.placeholder', this.toggle).on(window, 'load', this.toggle);
|
|
48137
|
+
editor.e.off('.placeholder').on('changePlace.placeholder', this.addNativeListeners).on('change.placeholder focus.placeholder keyup.placeholder mouseup.placeholder keydown.placeholder ' + 'mousedown.placeholder afterSetMode.placeholder changePlace.placeholder ' + 'internalChange.placeholder afterCommand.placeholder resize.placeholder', this.toggle).on(window, 'load', this.toggle);
|
|
47354
48138
|
this.addNativeListeners();
|
|
47355
48139
|
this.toggle();
|
|
47356
48140
|
};
|
|
@@ -48204,7 +48988,10 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.resizer = {
|
|
|
48204
48988
|
/* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(21537);
|
|
48205
48989
|
/* harmony import */ var _core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(41180);
|
|
48206
48990
|
/* harmony import */ var _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20356);
|
|
48207
|
-
/* harmony import */ var
|
|
48991
|
+
/* harmony import */ var _core_selection_helpers_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(45124);
|
|
48992
|
+
/* harmony import */ var _core_ui_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(67510);
|
|
48993
|
+
/* harmony import */ var _core_ui_popup_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(61259);
|
|
48994
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(71675);
|
|
48208
48995
|
/*!
|
|
48209
48996
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
48210
48997
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -48224,6 +49011,9 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.resizer = {
|
|
|
48224
49011
|
|
|
48225
49012
|
|
|
48226
49013
|
|
|
49014
|
+
|
|
49015
|
+
|
|
49016
|
+
|
|
48227
49017
|
const keyBInd = '__jodit-resizer_binded';
|
|
48228
49018
|
/**
|
|
48229
49019
|
* Reads a plain pixel value out of a `width`/`height` attribute.
|
|
@@ -48243,11 +49033,19 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
48243
49033
|
*/ function heightFollowsWidth(element) {
|
|
48244
49034
|
return _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(element, 'video') && !(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(element, 'height') && !(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_5__.cssInline)(element, 'height');
|
|
48245
49035
|
}
|
|
49036
|
+
const IFRAME_WRAPPER = '[data-jodit_iframe_wrapper]';
|
|
49037
|
+
/**
|
|
49038
|
+
* A click on an embed lands on its wrapper, so it selects the embed, until the
|
|
49039
|
+
* wrapper is active. While the editor is locked, as during resizing, the
|
|
49040
|
+
* wrapper takes the mouse again.
|
|
49041
|
+
*/ const EMBED_WRAPPER_STYLE = `${IFRAME_WRAPPER}{position:relative;display:block;user-select:none}` + `${IFRAME_WRAPPER} iframe{position:relative}` + `${IFRAME_WRAPPER}::after{position:absolute;z-index:1;display:block;background:transparent;content:'';cursor:pointer;inset:0}` + `${IFRAME_WRAPPER}[data-jodit-wrapper_active=true] iframe{z-index:2}` + `.jodit_lock ${IFRAME_WRAPPER}[data-jodit-wrapper_active=true] iframe{z-index:1}`;
|
|
48246
49042
|
/**
|
|
48247
49043
|
* The module creates a supporting frame for resizing of the elements img and table
|
|
48248
49044
|
*/ class resizer extends _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_6__.Plugin {
|
|
48249
49045
|
/** @override */ afterInit(editor) {
|
|
48250
|
-
|
|
49046
|
+
// It goes in the editing document, so iframe mode has it whatever `iframeStyle` holds
|
|
49047
|
+
(0,_core_global_js__WEBPACK_IMPORTED_MODULE_3__.getContainer)(editor, 'resizer', 'style', true).textContent = EMBED_WRAPPER_STYLE;
|
|
49048
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.$$)('div', this.rect).forEach((resizeHandle)=>{
|
|
48251
49049
|
editor.e.on(resizeHandle, 'mousedown.resizer touchstart.resizer', this.onStartResizing.bind(this, resizeHandle));
|
|
48252
49050
|
});
|
|
48253
49051
|
_core_global_js__WEBPACK_IMPORTED_MODULE_3__.eventEmitter.on('hideHelpers', this.hide);
|
|
@@ -48255,7 +49053,11 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
48255
49053
|
if (isReadOnly) {
|
|
48256
49054
|
this.hide();
|
|
48257
49055
|
}
|
|
48258
|
-
}).on('afterInit changePlace', this.addEventListeners.bind(this))
|
|
49056
|
+
}).on('afterInit changePlace', this.addEventListeners.bind(this))// Handlers without a namespace run first, ahead of those that
|
|
49057
|
+
// move the caret, as table-keyboard-navigation's do
|
|
49058
|
+
.on('keydown', this.onEditorKeyDown, {
|
|
49059
|
+
top: true
|
|
49060
|
+
}).on('afterGetValueFromEditor.resizer', (data)=>{
|
|
48259
49061
|
const rgx = /<jodit[^>]+data-jodit_iframe_wrapper[^>]+>(.*?<iframe[^>]*>.*?<\/iframe>.*?)<\/jodit>/gi;
|
|
48260
49062
|
if (rgx.test(data.value)) {
|
|
48261
49063
|
data.value = data.value.replace(rgx, '$1');
|
|
@@ -48400,6 +49202,38 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
48400
49202
|
e.stopImmediatePropagation();
|
|
48401
49203
|
}
|
|
48402
49204
|
}
|
|
49205
|
+
onEditorKeyDown(event) {
|
|
49206
|
+
// A key held down moves the caret on every repeat, with one keyup
|
|
49207
|
+
if (event === null || event === void 0 ? void 0 : event.repeat) {
|
|
49208
|
+
this.__followCaret();
|
|
49209
|
+
}
|
|
49210
|
+
this.__keyDownRange = this.j.s.range.cloneRange();
|
|
49211
|
+
this.__keyDownTable = this.__caretTable();
|
|
49212
|
+
}
|
|
49213
|
+
__caretTable() {
|
|
49214
|
+
return _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.closest(this.j.s.range.startContainer, 'table', this.j.editor);
|
|
49215
|
+
}
|
|
49216
|
+
/**
|
|
49217
|
+
* Hide the frame once a key has moved the caret off its element, and
|
|
49218
|
+
* frame a table the caret has moved into, as clicks do
|
|
49219
|
+
*/ onEditorKeyUp() {
|
|
49220
|
+
this.__followCaret();
|
|
49221
|
+
}
|
|
49222
|
+
__followCaret() {
|
|
49223
|
+
const before = this.__keyDownRange;
|
|
49224
|
+
this.__keyDownRange = null;
|
|
49225
|
+
if (!(0,_core_selection_helpers_index_js__WEBPACK_IMPORTED_MODULE_7__.isMoved)(this.j, before)) {
|
|
49226
|
+
return;
|
|
49227
|
+
}
|
|
49228
|
+
if (this.isShown && this.element && !this.j.s.range.intersectsNode(this.element)) {
|
|
49229
|
+
this.hide();
|
|
49230
|
+
}
|
|
49231
|
+
const table = this.__caretTable();
|
|
49232
|
+
if (table && table !== this.__keyDownTable && this.j.o.allowResizeTags.has('table')) {
|
|
49233
|
+
this.__bind(table);
|
|
49234
|
+
this.onClickElement(table);
|
|
49235
|
+
}
|
|
49236
|
+
}
|
|
48403
49237
|
onKeyDown(e) {
|
|
48404
49238
|
this.isAltMode = e.key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_ALT;
|
|
48405
49239
|
if (!this.isAltMode && this.isResizeMode) {
|
|
@@ -48421,6 +49255,11 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
48421
49255
|
return;
|
|
48422
49256
|
}
|
|
48423
49257
|
if (!this.isResizeMode) {
|
|
49258
|
+
// A click in the element's popup, or in a list it opens, works on
|
|
49259
|
+
// the element, so it keeps its frame
|
|
49260
|
+
if ((e === null || e === void 0 ? void 0 : e.target) && _core_ui_index_js__WEBPACK_IMPORTED_MODULE_8__.UIElement.closestElement(e.target, _core_ui_popup_index_js__WEBPACK_IMPORTED_MODULE_9__.Popup)) {
|
|
49261
|
+
return;
|
|
49262
|
+
}
|
|
48424
49263
|
return this.hide();
|
|
48425
49264
|
}
|
|
48426
49265
|
e.stopImmediatePropagation();
|
|
@@ -48587,7 +49426,7 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
48587
49426
|
this.hide();
|
|
48588
49427
|
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(this.layer);
|
|
48589
49428
|
_core_global_js__WEBPACK_IMPORTED_MODULE_3__.eventEmitter.off('hideHelpers', this.hide);
|
|
48590
|
-
jodit.e.off(this.j.ow, '.resizer').off('.resizer');
|
|
49429
|
+
jodit.e.off(this.j.ow, '.resizer').off('.resizer').off('keydown', this.onEditorKeyDown);
|
|
48591
49430
|
}
|
|
48592
49431
|
constructor(){
|
|
48593
49432
|
super(...arguments);
|
|
@@ -48612,6 +49451,8 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
48612
49451
|
this.sizeViewer = this.rect.getElementsByTagName('span')[0];
|
|
48613
49452
|
this.pointerX = 0;
|
|
48614
49453
|
this.pointerY = 0;
|
|
49454
|
+
this.__keyDownRange = null;
|
|
49455
|
+
this.__keyDownTable = null;
|
|
48615
49456
|
this.isAltMode = false;
|
|
48616
49457
|
this.onClickElement = (element)=>{
|
|
48617
49458
|
if (this.isResizeMode) {
|
|
@@ -48673,6 +49514,12 @@ __decorate([
|
|
|
48673
49514
|
__decorate([
|
|
48674
49515
|
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.autobind
|
|
48675
49516
|
], resizer.prototype, "onResize", null);
|
|
49517
|
+
__decorate([
|
|
49518
|
+
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.autobind
|
|
49519
|
+
], resizer.prototype, "onEditorKeyDown", null);
|
|
49520
|
+
__decorate([
|
|
49521
|
+
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.watch)(':keyup')
|
|
49522
|
+
], resizer.prototype, "onEditorKeyUp", null);
|
|
48676
49523
|
__decorate([
|
|
48677
49524
|
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.autobind
|
|
48678
49525
|
], resizer.prototype, "onKeyDown", null);
|
|
@@ -49690,8 +50537,9 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.tableAllowCellSelection
|
|
|
49690
50537
|
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(580);
|
|
49691
50538
|
/* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(21537);
|
|
49692
50539
|
/* harmony import */ var _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(50911);
|
|
49693
|
-
/* harmony import */ var
|
|
49694
|
-
/* harmony import */ var
|
|
50540
|
+
/* harmony import */ var _core_selection_helpers_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(45124);
|
|
50541
|
+
/* harmony import */ var _modules_table_table_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(76014);
|
|
50542
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(55311);
|
|
49695
50543
|
/*!
|
|
49696
50544
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
49697
50545
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -49710,19 +50558,24 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.tableAllowCellSelection
|
|
|
49710
50558
|
|
|
49711
50559
|
|
|
49712
50560
|
|
|
50561
|
+
|
|
49713
50562
|
const key = 'table_processor_observer';
|
|
49714
50563
|
const MOUSE_MOVE_LABEL = 'onMoveTableSelectCell';
|
|
49715
50564
|
class selectCells extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plugin {
|
|
49716
50565
|
/**
|
|
49717
50566
|
* Shortcut for Jodit.modules.Table
|
|
49718
50567
|
*/ get __tableModule() {
|
|
49719
|
-
return this.j.getInstance(
|
|
50568
|
+
return this.j.getInstance(_modules_table_table_js__WEBPACK_IMPORTED_MODULE_7__.Table, this.j.o);
|
|
49720
50569
|
}
|
|
49721
50570
|
afterInit(jodit) {
|
|
49722
50571
|
if (!jodit.o.tableAllowCellSelection) {
|
|
49723
50572
|
return;
|
|
49724
50573
|
}
|
|
49725
|
-
jodit.e
|
|
50574
|
+
jodit.e// Handlers without a namespace run first, ahead of those that
|
|
50575
|
+
// move the caret, as table-keyboard-navigation's do
|
|
50576
|
+
.on('keydown', this.__onKeyDown, {
|
|
50577
|
+
top: true
|
|
50578
|
+
}).on('keydown.select-cells', (event)=>{
|
|
49726
50579
|
if (event.key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_TAB) {
|
|
49727
50580
|
this.unselectCells();
|
|
49728
50581
|
}
|
|
@@ -49746,6 +50599,59 @@ class selectCells extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plu
|
|
|
49746
50599
|
}
|
|
49747
50600
|
});
|
|
49748
50601
|
}
|
|
50602
|
+
__onKeyDown(event) {
|
|
50603
|
+
// A key held down moves the caret on every repeat, with one keyup
|
|
50604
|
+
if (event === null || event === void 0 ? void 0 : event.repeat) {
|
|
50605
|
+
this.__followCaret();
|
|
50606
|
+
}
|
|
50607
|
+
this.__keyDownCell = this.__caretCell();
|
|
50608
|
+
this.__keyDownRange = this.j.s.range.cloneRange();
|
|
50609
|
+
this.__keyDownInLink = this.__isInLink();
|
|
50610
|
+
}
|
|
50611
|
+
__isInLink() {
|
|
50612
|
+
return Boolean(_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.closest(this.j.s.range.startContainer, 'a', this.j.editor));
|
|
50613
|
+
}
|
|
50614
|
+
/**
|
|
50615
|
+
* Where the selection starts rather than `s.current()`, which finds the
|
|
50616
|
+
* first cell when the caret is just before the table
|
|
50617
|
+
*/ __caretCell() {
|
|
50618
|
+
return _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.closest(this.j.s.range.startContainer, _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isCell, this.j.editor);
|
|
50619
|
+
}
|
|
50620
|
+
/**
|
|
50621
|
+
* A key that moves the caret into a cell, from another cell or from
|
|
50622
|
+
* outside the table, marks that cell and opens its popup, as a click on
|
|
50623
|
+
* it does. One that moves the caret out of the table unmarks the cells
|
|
50624
|
+
*/ onKeyUp() {
|
|
50625
|
+
this.__followCaret();
|
|
50626
|
+
}
|
|
50627
|
+
__followCaret() {
|
|
50628
|
+
const before = this.__keyDownRange;
|
|
50629
|
+
this.__keyDownRange = null;
|
|
50630
|
+
if (this.j.o.readonly || !(0,_core_selection_helpers_index_js__WEBPACK_IMPORTED_MODULE_6__.isMoved)(this.j, before)) {
|
|
50631
|
+
return;
|
|
50632
|
+
}
|
|
50633
|
+
const cell = this.__caretCell();
|
|
50634
|
+
const hasLeftLink = this.__keyDownInLink && !this.__isInLink();
|
|
50635
|
+
if (cell === this.__keyDownCell && !(cell && hasLeftLink)) {
|
|
50636
|
+
return;
|
|
50637
|
+
}
|
|
50638
|
+
const hadMarked = this.__tableModule.getAllSelectedCells().length > 0;
|
|
50639
|
+
this.unselectCells();
|
|
50640
|
+
if (!cell) {
|
|
50641
|
+
if (hadMarked) {
|
|
50642
|
+
this.j.e.fire('hidePopup', 'cells');
|
|
50643
|
+
}
|
|
50644
|
+
return;
|
|
50645
|
+
}
|
|
50646
|
+
const table = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.closest(cell, 'table', this.j.editor);
|
|
50647
|
+
if (!table) {
|
|
50648
|
+
return;
|
|
50649
|
+
}
|
|
50650
|
+
// As after a click, the first change to the cell keeps the mark
|
|
50651
|
+
this.__selectedCell = cell;
|
|
50652
|
+
this.__tableModule.addSelection(cell);
|
|
50653
|
+
this.j.e.fire('showPopup', table, ()=>(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.position)(cell, this.j), 'cells');
|
|
50654
|
+
}
|
|
49749
50655
|
/**
|
|
49750
50656
|
* Mouse click inside the table
|
|
49751
50657
|
*/ onStartSelection(cell, event) {
|
|
@@ -50067,10 +50973,17 @@ class selectCells extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plu
|
|
|
50067
50973
|
}
|
|
50068
50974
|
/** @override */ beforeDestruct(jodit) {
|
|
50069
50975
|
this.__onRemoveSelection();
|
|
50070
|
-
jodit.e.off('.select-cells');
|
|
50976
|
+
jodit.e.off('.select-cells').off('keydown', this.__onKeyDown);
|
|
50071
50977
|
}
|
|
50072
50978
|
constructor(){
|
|
50073
50979
|
super(...arguments);
|
|
50980
|
+
/**
|
|
50981
|
+
* The cell with the caret, and the selection, when a key went down
|
|
50982
|
+
*/ this.__keyDownCell = null;
|
|
50983
|
+
this.__keyDownRange = null;
|
|
50984
|
+
/**
|
|
50985
|
+
* A link's popup replaces the cell's while the caret is in the link
|
|
50986
|
+
*/ this.__keyDownInLink = false;
|
|
50074
50987
|
/**
|
|
50075
50988
|
* First selected cell
|
|
50076
50989
|
*/ this.__selectedCell = null;
|
|
@@ -50082,6 +50995,12 @@ class selectCells extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plu
|
|
|
50082
50995
|
selectCells.requires = [
|
|
50083
50996
|
'select'
|
|
50084
50997
|
];
|
|
50998
|
+
__decorate([
|
|
50999
|
+
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.autobind
|
|
51000
|
+
], selectCells.prototype, "__onKeyDown", null);
|
|
51001
|
+
__decorate([
|
|
51002
|
+
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.watch)(':keyup')
|
|
51003
|
+
], selectCells.prototype, "onKeyUp", null);
|
|
50085
51004
|
__decorate([
|
|
50086
51005
|
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.autobind
|
|
50087
51006
|
], selectCells.prototype, "onStartSelection", null);
|
|
@@ -54520,7 +55439,9 @@ const WORK_KEYS = new Set([
|
|
|
54520
55439
|
case _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_LEFT:
|
|
54521
55440
|
{
|
|
54522
55441
|
next = getNextCell();
|
|
54523
|
-
|
|
55442
|
+
// Left in the first cell leaves the table, as Up in the
|
|
55443
|
+
// top row does
|
|
55444
|
+
if (!next && key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_TAB) {
|
|
54524
55445
|
tableModule.appendRow(table, !isPrev ? false : _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.first(table, (node)=>_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(node, 'tr')), !isPrev);
|
|
54525
55446
|
next = getNextCell();
|
|
54526
55447
|
}
|
|
@@ -54546,7 +55467,6 @@ const WORK_KEYS = new Set([
|
|
|
54546
55467
|
if (!next) {
|
|
54547
55468
|
return;
|
|
54548
55469
|
}
|
|
54549
|
-
editor.e.fire('hidePopup hideResizer');
|
|
54550
55470
|
if (!next.firstChild) {
|
|
54551
55471
|
const first = editor.createInside.element('br');
|
|
54552
55472
|
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.append(next, first);
|