jodit-pro 4.18.6 → 4.18.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es2015/jodit.css +2 -2
- package/es2015/jodit.fat.min.css +1 -1
- package/es2015/jodit.fat.min.js +41 -16
- package/es2015/jodit.js +1139 -150
- package/es2015/jodit.min.css +1 -1
- package/es2015/jodit.min.js +34 -9
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2015/plugins/autocomplete/autocomplete.css +1 -1
- package/es2015/plugins/autocomplete/autocomplete.js +1 -1
- package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2015/plugins/backup/backup.css +1 -1
- package/es2015/plugins/backup/backup.js +1 -1
- package/es2015/plugins/backup/backup.min.js +1 -1
- package/es2015/plugins/button-generator/button-generator.css +1 -1
- package/es2015/plugins/button-generator/button-generator.js +1 -1
- package/es2015/plugins/button-generator/button-generator.min.js +1 -1
- package/es2015/plugins/change-case/change-case.js +1 -1
- package/es2015/plugins/change-case/change-case.min.js +1 -1
- package/es2015/plugins/chart/chart.css +1 -1
- package/es2015/plugins/chart/chart.js +1 -1
- package/es2015/plugins/chart/chart.min.js +1 -1
- package/es2015/plugins/color-picker/color-picker.css +1 -1
- package/es2015/plugins/color-picker/color-picker.js +1 -1
- package/es2015/plugins/color-picker/color-picker.min.js +1 -1
- package/es2015/plugins/emoji/emoji.css +1 -1
- package/es2015/plugins/emoji/emoji.js +1 -1
- package/es2015/plugins/emoji/emoji.min.js +1 -1
- package/es2015/plugins/export-docs/export-docs.js +1 -1
- package/es2015/plugins/export-docs/export-docs.min.js +1 -1
- package/es2015/plugins/finder/finder.css +1 -1
- package/es2015/plugins/finder/finder.js +1 -1
- package/es2015/plugins/finder/finder.min.js +1 -1
- package/es2015/plugins/google-maps/google-maps.css +1 -1
- package/es2015/plugins/google-maps/google-maps.js +1 -1
- package/es2015/plugins/google-maps/google-maps.min.js +1 -1
- package/es2015/plugins/google-search/google-search.js +1 -1
- package/es2015/plugins/google-search/google-search.min.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es2015/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2015/plugins/keyboard/keyboard.css +1 -1
- package/es2015/plugins/keyboard/keyboard.js +1 -1
- package/es2015/plugins/keyboard/keyboard.min.js +1 -1
- package/es2015/plugins/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 +33 -8
- package/es2018/jodit.min.css +1 -1
- package/es2018/jodit.min.js +64 -39
- package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2018/plugins/backup/backup.min.js +1 -1
- package/es2018/plugins/button-generator/button-generator.min.js +1 -1
- package/es2018/plugins/change-case/change-case.min.js +1 -1
- package/es2018/plugins/chart/chart.min.js +1 -1
- package/es2018/plugins/color-picker/color-picker.min.js +1 -1
- package/es2018/plugins/emoji/emoji.min.js +1 -1
- package/es2018/plugins/export-docs/export-docs.min.js +1 -1
- package/es2018/plugins/finder/finder.min.js +1 -1
- package/es2018/plugins/google-maps/google-maps.min.js +1 -1
- package/es2018/plugins/google-search/google-search.min.js +1 -1
- package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2018/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2018/plugins/keyboard/keyboard.min.js +1 -1
- package/es2018/plugins/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 +35 -10
- package/es2021/jodit.js +1139 -150
- package/es2021/jodit.min.css +1 -1
- package/es2021/jodit.min.js +78 -53
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2021/plugins/autocomplete/autocomplete.css +1 -1
- package/es2021/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2021/plugins/backup/backup.css +1 -1
- package/es2021/plugins/backup/backup.js +1 -1
- package/es2021/plugins/backup/backup.min.js +1 -1
- package/es2021/plugins/button-generator/button-generator.css +1 -1
- package/es2021/plugins/button-generator/button-generator.js +1 -1
- package/es2021/plugins/button-generator/button-generator.min.js +1 -1
- package/es2021/plugins/change-case/change-case.js +1 -1
- package/es2021/plugins/change-case/change-case.min.js +1 -1
- package/es2021/plugins/chart/chart.css +1 -1
- package/es2021/plugins/chart/chart.js +1 -1
- package/es2021/plugins/chart/chart.min.js +1 -1
- package/es2021/plugins/color-picker/color-picker.css +1 -1
- package/es2021/plugins/color-picker/color-picker.js +1 -1
- package/es2021/plugins/color-picker/color-picker.min.js +1 -1
- package/es2021/plugins/emoji/emoji.css +1 -1
- package/es2021/plugins/emoji/emoji.js +1 -1
- package/es2021/plugins/emoji/emoji.min.js +1 -1
- package/es2021/plugins/export-docs/export-docs.js +1 -1
- package/es2021/plugins/export-docs/export-docs.min.js +1 -1
- package/es2021/plugins/finder/finder.css +1 -1
- package/es2021/plugins/finder/finder.js +1 -1
- package/es2021/plugins/finder/finder.min.js +1 -1
- package/es2021/plugins/google-maps/google-maps.css +1 -1
- package/es2021/plugins/google-maps/google-maps.js +1 -1
- package/es2021/plugins/google-maps/google-maps.min.js +1 -1
- package/es2021/plugins/google-search/google-search.js +1 -1
- package/es2021/plugins/google-search/google-search.min.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es2021/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es2021/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2021/plugins/keyboard/keyboard.css +1 -1
- package/es2021/plugins/keyboard/keyboard.js +1 -1
- package/es2021/plugins/keyboard/keyboard.min.js +1 -1
- package/es2021/plugins/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 +35 -10
- package/es2021.en/jodit.js +1139 -150
- package/es2021.en/jodit.min.css +1 -1
- package/es2021.en/jodit.min.js +78 -53
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.css +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2021.en/plugins/backup/backup.css +1 -1
- package/es2021.en/plugins/backup/backup.js +1 -1
- package/es2021.en/plugins/backup/backup.min.js +1 -1
- package/es2021.en/plugins/button-generator/button-generator.css +1 -1
- package/es2021.en/plugins/button-generator/button-generator.js +1 -1
- package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
- package/es2021.en/plugins/change-case/change-case.js +1 -1
- package/es2021.en/plugins/change-case/change-case.min.js +1 -1
- package/es2021.en/plugins/chart/chart.css +1 -1
- package/es2021.en/plugins/chart/chart.js +1 -1
- package/es2021.en/plugins/chart/chart.min.js +1 -1
- package/es2021.en/plugins/color-picker/color-picker.css +1 -1
- package/es2021.en/plugins/color-picker/color-picker.js +1 -1
- package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
- package/es2021.en/plugins/emoji/emoji.css +1 -1
- package/es2021.en/plugins/emoji/emoji.js +1 -1
- package/es2021.en/plugins/emoji/emoji.min.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
- package/es2021.en/plugins/finder/finder.css +1 -1
- package/es2021.en/plugins/finder/finder.js +1 -1
- package/es2021.en/plugins/finder/finder.min.js +1 -1
- package/es2021.en/plugins/google-maps/google-maps.css +1 -1
- package/es2021.en/plugins/google-maps/google-maps.js +1 -1
- package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
- package/es2021.en/plugins/google-search/google-search.js +1 -1
- package/es2021.en/plugins/google-search/google-search.min.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es2021.en/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es2021.en/plugins/keyboard/keyboard.css +1 -1
- package/es2021.en/plugins/keyboard/keyboard.js +1 -1
- package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
- package/es2021.en/plugins/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 +1521 -153
- 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 +1 -1
- package/es5/plugins/chart/chart.js +1 -1
- package/es5/plugins/chart/chart.min.js +1 -1
- package/es5/plugins/color-picker/color-picker.css +1 -1
- package/es5/plugins/color-picker/color-picker.js +1 -1
- package/es5/plugins/color-picker/color-picker.min.js +1 -1
- package/es5/plugins/emoji/emoji.css +1 -1
- package/es5/plugins/emoji/emoji.js +1 -1
- package/es5/plugins/emoji/emoji.min.js +1 -1
- package/es5/plugins/export-docs/export-docs.js +1 -1
- package/es5/plugins/export-docs/export-docs.min.js +1 -1
- package/es5/plugins/finder/finder.css +1 -1
- package/es5/plugins/finder/finder.js +1 -1
- package/es5/plugins/finder/finder.min.js +1 -1
- package/es5/plugins/google-maps/google-maps.css +1 -1
- package/es5/plugins/google-maps/google-maps.js +1 -1
- package/es5/plugins/google-maps/google-maps.min.js +1 -1
- package/es5/plugins/google-search/google-search.js +1 -1
- package/es5/plugins/google-search/google-search.min.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.css +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.js +1 -1
- package/es5/plugins/image-editor-pro/image-editor-pro.min.js +1 -1
- package/es5/plugins/keyboard/keyboard.css +1 -1
- package/es5/plugins/keyboard/keyboard.js +1 -1
- package/es5/plugins/keyboard/keyboard.min.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es5/plugins/page-break/page-break.js +1 -1
- package/es5/plugins/page-break/page-break.min.js +1 -1
- package/es5/plugins/paste-code/paste-code.css +1 -1
- package/es5/plugins/paste-code/paste-code.js +1 -1
- package/es5/plugins/paste-code/paste-code.min.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es5/plugins/style/style.css +1 -1
- package/es5/plugins/style/style.js +1 -1
- package/es5/plugins/style/style.min.js +1 -1
- package/es5/plugins/templates/templates.css +1 -1
- package/es5/plugins/templates/templates.js +1 -1
- package/es5/plugins/templates/templates.min.js +1 -1
- package/es5/plugins/todo-list/todo-list.css +1 -1
- package/es5/plugins/todo-list/todo-list.js +1 -1
- package/es5/plugins/todo-list/todo-list.min.js +1 -1
- package/es5/plugins/translate/translate.css +1 -1
- package/es5/plugins/translate/translate.js +1 -1
- package/es5/plugins/translate/translate.min.js +1 -1
- package/es5/plugins/tune-block/tune-block.css +1 -1
- package/es5/plugins/tune-block/tune-block.js +1 -1
- package/es5/plugins/tune-block/tune-block.min.js +1 -1
- package/es5/polyfills.fat.min.js +1 -1
- package/es5/polyfills.js +1 -1
- package/es5/polyfills.min.js +1 -1
- package/package.json +1 -1
package/es2021/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.7
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -730,28 +730,18 @@ let ConfigPrototype = {};
|
|
|
730
730
|
* them unaligned
|
|
731
731
|
*/ this.imageDefaultAlign = 'normal';
|
|
732
732
|
/**
|
|
733
|
-
*
|
|
734
|
-
* `
|
|
735
|
-
* chosen alignment's, which can be several separated by spaces. An
|
|
736
|
-
* alignment can also list several such sets, to recognise each of them;
|
|
737
|
-
* aligning writes the first. `alignClasses.img` takes its place when set.
|
|
738
|
-
*
|
|
739
|
-
* ```javascript
|
|
740
|
-
* Jodit.make('#editor', {
|
|
741
|
-
* imageAlignClasses: {
|
|
742
|
-
* left: 'align-left',
|
|
743
|
-
* right: 'align-right',
|
|
744
|
-
* center: ['align-center', 'centered']
|
|
745
|
-
* }
|
|
746
|
-
* });
|
|
747
|
-
* ```
|
|
733
|
+
* @deprecated Use `alignClasses.img`, which takes the same value. When
|
|
734
|
+
* `alignClasses.img` isn't set, the editor copies this into it.
|
|
748
735
|
*/ this.imageAlignClasses = null;
|
|
749
736
|
/**
|
|
750
|
-
* Class names to align elements with, by tag name,
|
|
751
|
-
*
|
|
752
|
-
* popup.
|
|
753
|
-
*
|
|
754
|
-
*
|
|
737
|
+
* Class names to align elements with, by tag name, instead of an inline
|
|
738
|
+
* `float` or `margin`: `img`, and `video`, `audio` and `iframe` in the
|
|
739
|
+
* media popup. Aligning an element removes every class listed for its tag
|
|
740
|
+
* and adds the chosen alignment's, which can be several separated by
|
|
741
|
+
* spaces. An alignment can also list several such sets, to recognise each
|
|
742
|
+
* of them; aligning writes the first. A media wrapper (see
|
|
743
|
+
* `mediaWrappers`), and Jodit's own `jodit` and `jodit-media` wrappers,
|
|
744
|
+
* are aligned with the classes for the media in them.
|
|
755
745
|
*
|
|
756
746
|
* ```javascript
|
|
757
747
|
* const media = {
|
|
@@ -761,7 +751,15 @@ let ConfigPrototype = {};
|
|
|
761
751
|
* };
|
|
762
752
|
*
|
|
763
753
|
* Jodit.make('#editor', {
|
|
764
|
-
* alignClasses: {
|
|
754
|
+
* alignClasses: {
|
|
755
|
+
* img: {
|
|
756
|
+
* left: 'align-left',
|
|
757
|
+
* right: 'align-right',
|
|
758
|
+
* center: ['align-center', 'centered']
|
|
759
|
+
* },
|
|
760
|
+
* video: media,
|
|
761
|
+
* iframe: media
|
|
762
|
+
* }
|
|
765
763
|
* });
|
|
766
764
|
* ```
|
|
767
765
|
*/ this.alignClasses = {};
|
|
@@ -1768,7 +1766,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1768
1766
|
* ```
|
|
1769
1767
|
* @packageDocumentation
|
|
1770
1768
|
* @module constants
|
|
1771
|
-
*/ const APP_VERSION = "4.18.
|
|
1769
|
+
*/ const APP_VERSION = "4.18.7";
|
|
1772
1770
|
// prettier-ignore
|
|
1773
1771
|
const ES = "es2021";
|
|
1774
1772
|
const IS_ES_MODERN = true;
|
|
@@ -7472,7 +7470,7 @@ const classSets = (value)=>((0,_checker_is_array_js__WEBPACK_IMPORTED_MODULE_1__
|
|
|
7472
7470
|
/**
|
|
7473
7471
|
* The class names to align `elm` with: `alignClasses` for its tag, or for the
|
|
7474
7472
|
* media in it when it wraps media (a `mediaWrappers` wrapper, `jodit` or
|
|
7475
|
-
* `jodit-media`)
|
|
7473
|
+
* `jodit-media`)
|
|
7476
7474
|
*/ function getAlignClasses(jodit, elm) {
|
|
7477
7475
|
var _a, _b;
|
|
7478
7476
|
if (!elm) {
|
|
@@ -7482,8 +7480,7 @@ const classSets = (value)=>((0,_checker_is_array_js__WEBPACK_IMPORTED_MODULE_1__
|
|
|
7482
7480
|
'jodit',
|
|
7483
7481
|
'jodit-media'
|
|
7484
7482
|
])) ? elm.firstElementChild : (0,_media_wrapper_js__WEBPACK_IMPORTED_MODULE_4__.getWrappedMedia)(jodit, elm);
|
|
7485
|
-
|
|
7486
|
-
return (_b = (_a = jodit.o.alignClasses) === null || _a === void 0 ? void 0 : _a[tag]) !== null && _b !== void 0 ? _b : tag === 'img' ? jodit.o.imageAlignClasses : null;
|
|
7483
|
+
return (_b = (_a = jodit.o.alignClasses) === null || _a === void 0 ? void 0 : _a[(media !== null && media !== void 0 ? media : elm).nodeName.toLowerCase()]) !== null && _b !== void 0 ? _b : null;
|
|
7487
7484
|
}
|
|
7488
7485
|
/**
|
|
7489
7486
|
* Align image, with `classes` (see `alignClasses`) instead of inline styles
|
|
@@ -17711,6 +17708,19 @@ const __defaultClassesKey = 'data-jodit-default-classes';
|
|
|
17711
17708
|
const NOEDIT = {
|
|
17712
17709
|
contenteditable: false
|
|
17713
17710
|
};
|
|
17711
|
+
/**
|
|
17712
|
+
* The editor's options, with the deprecated `imageAlignClasses` copied into
|
|
17713
|
+
* `alignClasses.img` when that isn't set
|
|
17714
|
+
*/ function makeOptions(options) {
|
|
17715
|
+
var _a;
|
|
17716
|
+
const opt = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.ConfigProto)(options || {}, _config_js__WEBPACK_IMPORTED_MODULE_7__.Config.defaultOptions);
|
|
17717
|
+
if (opt.imageAlignClasses && !((_a = opt.alignClasses) === null || _a === void 0 ? void 0 : _a.img)) {
|
|
17718
|
+
opt.alignClasses = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.ConfigProto)({
|
|
17719
|
+
img: opt.imageAlignClasses
|
|
17720
|
+
}, opt.alignClasses);
|
|
17721
|
+
}
|
|
17722
|
+
return opt;
|
|
17723
|
+
}
|
|
17714
17724
|
let Jodit = Jodit_1 = class Jodit extends _modules_index_js__WEBPACK_IMPORTED_MODULE_8__.ViewWithToolbar {
|
|
17715
17725
|
/** @override */ className() {
|
|
17716
17726
|
return 'Jodit';
|
|
@@ -18479,7 +18489,7 @@ let Jodit = Jodit_1 = class Jodit extends _modules_index_js__WEBPACK_IMPORTED_MO
|
|
|
18479
18489
|
// do nothing
|
|
18480
18490
|
}
|
|
18481
18491
|
/** @override **/ initOptions(options) {
|
|
18482
|
-
this.options = (
|
|
18492
|
+
this.options = makeOptions(options);
|
|
18483
18493
|
}
|
|
18484
18494
|
/** @override **/ initOwners() {
|
|
18485
18495
|
// in iframe, it can be changed
|
|
@@ -18593,7 +18603,7 @@ let Jodit = Jodit_1 = class Jodit extends _modules_index_js__WEBPACK_IMPORTED_MO
|
|
|
18593
18603
|
right: rightSlot
|
|
18594
18604
|
},
|
|
18595
18605
|
statusbar: new _modules_index_js__WEBPACK_IMPORTED_MODULE_8__.StatusBar(this, container),
|
|
18596
|
-
options: this.isReady ? (
|
|
18606
|
+
options: this.isReady ? makeOptions(options) : this.options,
|
|
18597
18607
|
history: new _modules_index_js__WEBPACK_IMPORTED_MODULE_8__.History(this),
|
|
18598
18608
|
editorWindow: this.ow
|
|
18599
18609
|
};
|
|
@@ -19195,7 +19205,14 @@ function addClassNames(className, elm) {
|
|
|
19195
19205
|
'Line height': 'ارتفاع الخط',
|
|
19196
19206
|
spellcheck: 'التدقيق الإملائي',
|
|
19197
19207
|
'Speech Recognize': 'التعرف على الكلام',
|
|
19198
|
-
All: 'تحديد الكل'
|
|
19208
|
+
All: 'تحديد الكل',
|
|
19209
|
+
'Video properties': 'خصائص الفيديو',
|
|
19210
|
+
'Audio properties': 'خصائص الصوت',
|
|
19211
|
+
Poster: 'صورة الغلاف',
|
|
19212
|
+
Autoplay: 'تشغيل تلقائي',
|
|
19213
|
+
Loop: 'تكرار',
|
|
19214
|
+
Muted: 'مكتوم الصوت',
|
|
19215
|
+
Controls: 'عناصر التحكم'
|
|
19199
19216
|
});
|
|
19200
19217
|
|
|
19201
19218
|
|
|
@@ -19429,7 +19446,14 @@ function addClassNames(className, elm) {
|
|
|
19429
19446
|
'Find Next': 'Növbətini tap',
|
|
19430
19447
|
'Insert className': 'className (CSS) əlavə et',
|
|
19431
19448
|
'Press Alt for custom resizing': 'Fərdi ölçüləndirmə üçün Alt düyməsini basın',
|
|
19432
|
-
'License: %s': 'Lisenziya: %s'
|
|
19449
|
+
'License: %s': 'Lisenziya: %s',
|
|
19450
|
+
'Video properties': 'Video xassələri',
|
|
19451
|
+
'Audio properties': 'Audio xassələri',
|
|
19452
|
+
Poster: 'Örtük şəkli',
|
|
19453
|
+
Autoplay: 'Avtomatik oynatma',
|
|
19454
|
+
Loop: 'Təkrarla',
|
|
19455
|
+
Muted: 'Səssiz',
|
|
19456
|
+
Controls: 'İdarəetmə elementləri'
|
|
19433
19457
|
});
|
|
19434
19458
|
|
|
19435
19459
|
|
|
@@ -19655,7 +19679,14 @@ function addClassNames(className, elm) {
|
|
|
19655
19679
|
'Find Previous': 'Najít Předchozí',
|
|
19656
19680
|
'Find Next': 'Najít Další',
|
|
19657
19681
|
'Insert className': 'Vložte název třídy',
|
|
19658
|
-
'Press Alt for custom resizing': 'Stiskněte Alt pro vlastní změnu velikosti'
|
|
19682
|
+
'Press Alt for custom resizing': 'Stiskněte Alt pro vlastní změnu velikosti',
|
|
19683
|
+
'Video properties': 'Vlastnosti videa',
|
|
19684
|
+
'Audio properties': 'Vlastnosti zvuku',
|
|
19685
|
+
Poster: 'Náhledový obrázek',
|
|
19686
|
+
Autoplay: 'Automatické přehrávání',
|
|
19687
|
+
Loop: 'Opakovat',
|
|
19688
|
+
Muted: 'Ztlumeno',
|
|
19689
|
+
Controls: 'Ovládací prvky'
|
|
19659
19690
|
});
|
|
19660
19691
|
|
|
19661
19692
|
|
|
@@ -19885,7 +19916,14 @@ function addClassNames(className, elm) {
|
|
|
19885
19916
|
'Find Next': 'Weitersuchen',
|
|
19886
19917
|
'Insert className': 'className (CSS) einfügen',
|
|
19887
19918
|
'Press Alt for custom resizing': 'Drücken Sie Alt für benutzerdefinierte Größenanpassung',
|
|
19888
|
-
'License: %s': 'Lizenz: %s'
|
|
19919
|
+
'License: %s': 'Lizenz: %s',
|
|
19920
|
+
'Video properties': 'Videoeigenschaften',
|
|
19921
|
+
'Audio properties': 'Audioeigenschaften',
|
|
19922
|
+
Poster: 'Vorschaubild',
|
|
19923
|
+
Autoplay: 'Automatische Wiedergabe',
|
|
19924
|
+
Loop: 'Wiederholen',
|
|
19925
|
+
Muted: 'Stumm',
|
|
19926
|
+
Controls: 'Steuerelemente'
|
|
19889
19927
|
});
|
|
19890
19928
|
|
|
19891
19929
|
|
|
@@ -20132,7 +20170,14 @@ function addClassNames(className, elm) {
|
|
|
20132
20170
|
'Find Next': 'Buscar Siguiente',
|
|
20133
20171
|
'Insert className': 'Insertar nombre de clase',
|
|
20134
20172
|
'Press Alt for custom resizing': 'Presione Alt para cambiar el tamaño personalizado',
|
|
20135
|
-
'License: %s': 'Licencia: %s'
|
|
20173
|
+
'License: %s': 'Licencia: %s',
|
|
20174
|
+
'Video properties': 'Propiedades del video',
|
|
20175
|
+
'Audio properties': 'Propiedades del audio',
|
|
20176
|
+
Poster: 'Imagen de portada',
|
|
20177
|
+
Autoplay: 'Reproducción automática',
|
|
20178
|
+
Loop: 'Repetir',
|
|
20179
|
+
Muted: 'Silenciado',
|
|
20180
|
+
Controls: 'Controles'
|
|
20136
20181
|
});
|
|
20137
20182
|
|
|
20138
20183
|
|
|
@@ -20357,7 +20402,14 @@ function addClassNames(className, elm) {
|
|
|
20357
20402
|
'Find Next': 'پیدا کردن بعدی',
|
|
20358
20403
|
'Insert className': 'Insertar nombre de clase',
|
|
20359
20404
|
'Press Alt for custom resizing': 'برای تغییر اندازه سفارشی فشار دهید',
|
|
20360
|
-
'License: %s': 'مجوز: %s'
|
|
20405
|
+
'License: %s': 'مجوز: %s',
|
|
20406
|
+
'Video properties': 'ویژگیهای ویدیو',
|
|
20407
|
+
'Audio properties': 'ویژگیهای صدا',
|
|
20408
|
+
Poster: 'تصویر پیشنمایش',
|
|
20409
|
+
Autoplay: 'پخش خودکار',
|
|
20410
|
+
Loop: 'تکرار',
|
|
20411
|
+
Muted: 'بیصدا',
|
|
20412
|
+
Controls: 'کنترلها'
|
|
20361
20413
|
});
|
|
20362
20414
|
|
|
20363
20415
|
|
|
@@ -20588,7 +20640,14 @@ function addClassNames(className, elm) {
|
|
|
20588
20640
|
'Insert className': 'Lisää luokkanimi',
|
|
20589
20641
|
'Press Alt for custom resizing': 'Paina Alt muokattuun koon muuttamiseen',
|
|
20590
20642
|
'Class name': 'Luokan nimi',
|
|
20591
|
-
'License: %s': 'Lisenssi: %s'
|
|
20643
|
+
'License: %s': 'Lisenssi: %s',
|
|
20644
|
+
'Video properties': 'Videon ominaisuudet',
|
|
20645
|
+
'Audio properties': 'Äänen ominaisuudet',
|
|
20646
|
+
Poster: 'Kansikuva',
|
|
20647
|
+
Autoplay: 'Automaattinen toisto',
|
|
20648
|
+
Loop: 'Toista uudelleen',
|
|
20649
|
+
Muted: 'Mykistetty',
|
|
20650
|
+
Controls: 'Säätimet'
|
|
20592
20651
|
});
|
|
20593
20652
|
|
|
20594
20653
|
|
|
@@ -20813,7 +20872,14 @@ function addClassNames(className, elm) {
|
|
|
20813
20872
|
'Embed code': "Code d'intégration",
|
|
20814
20873
|
Edit: 'Modifier',
|
|
20815
20874
|
All: 'Tout sélectionner',
|
|
20816
|
-
'License: %s': 'Licence: %s'
|
|
20875
|
+
'License: %s': 'Licence: %s',
|
|
20876
|
+
'Video properties': 'Propriétés de la vidéo',
|
|
20877
|
+
'Audio properties': "Propriétés de l'audio",
|
|
20878
|
+
Poster: "Image d'aperçu",
|
|
20879
|
+
Autoplay: 'Lecture automatique',
|
|
20880
|
+
Loop: 'Lecture en boucle',
|
|
20881
|
+
Muted: 'Muet',
|
|
20882
|
+
Controls: 'Commandes'
|
|
20817
20883
|
});
|
|
20818
20884
|
|
|
20819
20885
|
|
|
@@ -21038,7 +21104,14 @@ function addClassNames(className, elm) {
|
|
|
21038
21104
|
'Find Next': 'חפש את הבא',
|
|
21039
21105
|
'Insert className': 'הכנס את שם הכיתה',
|
|
21040
21106
|
'Press Alt for custom resizing': 'לחץ על אלט לשינוי גודל מותאם אישית',
|
|
21041
|
-
'License: %s': 'רישיון: %s'
|
|
21107
|
+
'License: %s': 'רישיון: %s',
|
|
21108
|
+
'Video properties': 'מאפייני וידאו',
|
|
21109
|
+
'Audio properties': 'מאפייני שמע',
|
|
21110
|
+
Poster: 'תמונת תצוגה מקדימה',
|
|
21111
|
+
Autoplay: 'ניגון אוטומטי',
|
|
21112
|
+
Loop: 'הפעלה חוזרת',
|
|
21113
|
+
Muted: 'מושתק',
|
|
21114
|
+
Controls: 'פקדים'
|
|
21042
21115
|
});
|
|
21043
21116
|
|
|
21044
21117
|
|
|
@@ -21265,7 +21338,14 @@ function addClassNames(className, elm) {
|
|
|
21265
21338
|
'Find Next': 'Következő Keresése',
|
|
21266
21339
|
'Insert className': 'Helyezze be az osztály nevét',
|
|
21267
21340
|
'Press Alt for custom resizing': 'Nyomja meg az Alt egyéni átméretezés',
|
|
21268
|
-
'License: %s': 'Licenc: %s'
|
|
21341
|
+
'License: %s': 'Licenc: %s',
|
|
21342
|
+
'Video properties': 'Videó tulajdonságai',
|
|
21343
|
+
'Audio properties': 'Hang tulajdonságai',
|
|
21344
|
+
Poster: 'Előnézeti kép',
|
|
21345
|
+
Autoplay: 'Automatikus lejátszás',
|
|
21346
|
+
Loop: 'Ismétlés',
|
|
21347
|
+
Muted: 'Némítva',
|
|
21348
|
+
Controls: 'Vezérlők'
|
|
21269
21349
|
});
|
|
21270
21350
|
|
|
21271
21351
|
|
|
@@ -21491,7 +21571,14 @@ function addClassNames(className, elm) {
|
|
|
21491
21571
|
'Find Previous': 'Menemukan Sebelumnya',
|
|
21492
21572
|
'Find Next': 'Menemukan Berikutnya',
|
|
21493
21573
|
'Insert className': 'Masukkan nama kelas',
|
|
21494
|
-
'Press Alt for custom resizing': 'Tekan Alt untuk mengubah ukuran kustom'
|
|
21574
|
+
'Press Alt for custom resizing': 'Tekan Alt untuk mengubah ukuran kustom',
|
|
21575
|
+
'Video properties': 'Properti video',
|
|
21576
|
+
'Audio properties': 'Properti audio',
|
|
21577
|
+
Poster: 'Gambar sampul',
|
|
21578
|
+
Autoplay: 'Putar otomatis',
|
|
21579
|
+
Loop: 'Ulangi',
|
|
21580
|
+
Muted: 'Dibisukan',
|
|
21581
|
+
Controls: 'Kontrol'
|
|
21495
21582
|
});
|
|
21496
21583
|
|
|
21497
21584
|
|
|
@@ -21721,7 +21808,14 @@ function addClassNames(className, elm) {
|
|
|
21721
21808
|
'Find Next': 'Trova Successivo',
|
|
21722
21809
|
'Insert className': 'Inserisci il nome della classe',
|
|
21723
21810
|
'Press Alt for custom resizing': 'Premere Alt per il ridimensionamento personalizzato',
|
|
21724
|
-
'License: %s': 'Licenza: %s'
|
|
21811
|
+
'License: %s': 'Licenza: %s',
|
|
21812
|
+
'Video properties': 'Proprietà del video',
|
|
21813
|
+
'Audio properties': "Proprietà dell'audio",
|
|
21814
|
+
Poster: 'Immagine di anteprima',
|
|
21815
|
+
Autoplay: 'Riproduzione automatica',
|
|
21816
|
+
Loop: 'Ripeti',
|
|
21817
|
+
Muted: 'Muto',
|
|
21818
|
+
Controls: 'Controlli'
|
|
21725
21819
|
});
|
|
21726
21820
|
|
|
21727
21821
|
|
|
@@ -21951,7 +22045,14 @@ function addClassNames(className, elm) {
|
|
|
21951
22045
|
'Upper Roman': 'ローマ数字大文字',
|
|
21952
22046
|
'Insert className': 'クラス名を挿入',
|
|
21953
22047
|
'Press Alt for custom resizing': 'カスタムサイズ変更のためのAltキーを押します',
|
|
21954
|
-
'License: %s': 'ライセンス: %s'
|
|
22048
|
+
'License: %s': 'ライセンス: %s',
|
|
22049
|
+
'Video properties': '動画のプロパティー',
|
|
22050
|
+
'Audio properties': '音声のプロパティー',
|
|
22051
|
+
Poster: 'ポスター画像',
|
|
22052
|
+
Autoplay: '自動再生',
|
|
22053
|
+
Loop: 'ループ再生',
|
|
22054
|
+
Muted: 'ミュート',
|
|
22055
|
+
Controls: 'コントロール'
|
|
21955
22056
|
});
|
|
21956
22057
|
|
|
21957
22058
|
|
|
@@ -22187,7 +22288,14 @@ function addClassNames(className, elm) {
|
|
|
22187
22288
|
'Find Previous': '이전 찾기',
|
|
22188
22289
|
'Find Next': '다음 찾기',
|
|
22189
22290
|
'Insert className': 'className 입력',
|
|
22190
|
-
'Press Alt for custom resizing': '사용자 지정 크기 조정에 대 한 고도 누르십시오'
|
|
22291
|
+
'Press Alt for custom resizing': '사용자 지정 크기 조정에 대 한 고도 누르십시오',
|
|
22292
|
+
'Video properties': '동영상 속성',
|
|
22293
|
+
'Audio properties': '오디오 속성',
|
|
22294
|
+
Poster: '포스터 이미지',
|
|
22295
|
+
Autoplay: '자동 재생',
|
|
22296
|
+
Loop: '반복 재생',
|
|
22297
|
+
Muted: '음소거',
|
|
22298
|
+
Controls: '컨트롤'
|
|
22191
22299
|
});
|
|
22192
22300
|
|
|
22193
22301
|
|
|
@@ -22412,7 +22520,14 @@ function addClassNames(className, elm) {
|
|
|
22412
22520
|
'Find Next': 'Дараагийнхийг ол',
|
|
22413
22521
|
'Insert className': 'Бүлгийн нэрээ оруулна уу',
|
|
22414
22522
|
'Press Alt for custom resizing': 'Хэмжээсийг шинээр өөчрлөхийн тулд Alt товчин дээр дарна уу',
|
|
22415
|
-
'License: %s': 'Лиценз: %s'
|
|
22523
|
+
'License: %s': 'Лиценз: %s',
|
|
22524
|
+
'Video properties': 'Видеоны үзүүлэлт',
|
|
22525
|
+
'Audio properties': 'Аудионы үзүүлэлт',
|
|
22526
|
+
Poster: 'Нүүр зураг',
|
|
22527
|
+
Autoplay: 'Автоматаар тоглуулах',
|
|
22528
|
+
Loop: 'Давтах',
|
|
22529
|
+
Muted: 'Дуугүй',
|
|
22530
|
+
Controls: 'Удирдлага'
|
|
22416
22531
|
});
|
|
22417
22532
|
|
|
22418
22533
|
|
|
@@ -22638,7 +22753,14 @@ function addClassNames(className, elm) {
|
|
|
22638
22753
|
'Find Next': 'Volgende Zoeken',
|
|
22639
22754
|
'Insert className': 'Voeg de klassenaam in',
|
|
22640
22755
|
'Press Alt for custom resizing': 'Druk op Alt voor aangepaste grootte',
|
|
22641
|
-
'License: %s': 'Licentie: %s'
|
|
22756
|
+
'License: %s': 'Licentie: %s',
|
|
22757
|
+
'Video properties': 'Video-eigenschappen',
|
|
22758
|
+
'Audio properties': 'Audio-eigenschappen',
|
|
22759
|
+
Poster: 'Voorbeeldafbeelding',
|
|
22760
|
+
Autoplay: 'Automatisch afspelen',
|
|
22761
|
+
Loop: 'Herhalen',
|
|
22762
|
+
Muted: 'Gedempt',
|
|
22763
|
+
Controls: 'Bedieningselementen'
|
|
22642
22764
|
});
|
|
22643
22765
|
|
|
22644
22766
|
|
|
@@ -22872,7 +22994,14 @@ function addClassNames(className, elm) {
|
|
|
22872
22994
|
Dot: 'Prikk',
|
|
22873
22995
|
Quadrate: 'Firkant',
|
|
22874
22996
|
'Find Previous': 'Finn forrige',
|
|
22875
|
-
'Find Next': 'Finn neste'
|
|
22997
|
+
'Find Next': 'Finn neste',
|
|
22998
|
+
'Video properties': 'Videoegenskaper',
|
|
22999
|
+
'Audio properties': 'Lydegenskaper',
|
|
23000
|
+
Poster: 'Forsidebilde',
|
|
23001
|
+
Autoplay: 'Automatisk avspilling',
|
|
23002
|
+
Loop: 'Gjenta',
|
|
23003
|
+
Muted: 'Dempet',
|
|
23004
|
+
Controls: 'Kontroller'
|
|
22876
23005
|
});
|
|
22877
23006
|
|
|
22878
23007
|
|
|
@@ -23097,7 +23226,14 @@ function addClassNames(className, elm) {
|
|
|
23097
23226
|
'Find Next': 'Znajdź Dalej',
|
|
23098
23227
|
'Insert className': 'Wstaw nazwę zajęć',
|
|
23099
23228
|
'Press Alt for custom resizing': 'Naciśnij Alt, aby zmienić rozmiar',
|
|
23100
|
-
'License: %s': 'Licencja: %s'
|
|
23229
|
+
'License: %s': 'Licencja: %s',
|
|
23230
|
+
'Video properties': 'Właściwości filmu',
|
|
23231
|
+
'Audio properties': 'Właściwości dźwięku',
|
|
23232
|
+
Poster: 'Obraz podglądu',
|
|
23233
|
+
Autoplay: 'Autoodtwarzanie',
|
|
23234
|
+
Loop: 'Zapętlenie',
|
|
23235
|
+
Muted: 'Wyciszony',
|
|
23236
|
+
Controls: 'Elementy sterujące'
|
|
23101
23237
|
});
|
|
23102
23238
|
|
|
23103
23239
|
|
|
@@ -23327,7 +23463,14 @@ function addClassNames(className, elm) {
|
|
|
23327
23463
|
'Find Next': 'Localizar Próxima',
|
|
23328
23464
|
'Insert className': 'Insira o nome da classe',
|
|
23329
23465
|
'Press Alt for custom resizing': 'Pressione Alt para redimensionamento personalizado',
|
|
23330
|
-
'License: %s': 'Licença: %s'
|
|
23466
|
+
'License: %s': 'Licença: %s',
|
|
23467
|
+
'Video properties': 'Propriedades do vídeo',
|
|
23468
|
+
'Audio properties': 'Propriedades do áudio',
|
|
23469
|
+
Poster: 'Imagem de capa',
|
|
23470
|
+
Autoplay: 'Reprodução automática',
|
|
23471
|
+
Loop: 'Repetir',
|
|
23472
|
+
Muted: 'Sem som',
|
|
23473
|
+
Controls: 'Controles'
|
|
23331
23474
|
});
|
|
23332
23475
|
|
|
23333
23476
|
|
|
@@ -23551,7 +23694,14 @@ function addClassNames(className, elm) {
|
|
|
23551
23694
|
'Find Previous': 'Найти Предыдущие',
|
|
23552
23695
|
'Find Next': 'Найти Далее',
|
|
23553
23696
|
'Insert className': 'Вставить название класса',
|
|
23554
|
-
'Press Alt for custom resizing': 'Нажмите Alt для изменения пользовательского размера'
|
|
23697
|
+
'Press Alt for custom resizing': 'Нажмите Alt для изменения пользовательского размера',
|
|
23698
|
+
'Video properties': 'Свойства видео',
|
|
23699
|
+
'Audio properties': 'Свойства аудио',
|
|
23700
|
+
Poster: 'Обложка',
|
|
23701
|
+
Autoplay: 'Автовоспроизведение',
|
|
23702
|
+
Loop: 'Повтор',
|
|
23703
|
+
Muted: 'Без звука',
|
|
23704
|
+
Controls: 'Элементы управления'
|
|
23555
23705
|
});
|
|
23556
23706
|
|
|
23557
23707
|
|
|
@@ -23783,7 +23933,14 @@ function addClassNames(className, elm) {
|
|
|
23783
23933
|
'Select file': 'Vybrať súbor',
|
|
23784
23934
|
'Edit image': 'Upraviť obrázok',
|
|
23785
23935
|
'Tiles view': 'Zobrazenie dlaždíc',
|
|
23786
|
-
'List view': 'Zobrazenie zoznamu'
|
|
23936
|
+
'List view': 'Zobrazenie zoznamu',
|
|
23937
|
+
'Video properties': 'Vlastnosti videa',
|
|
23938
|
+
'Audio properties': 'Vlastnosti zvuku',
|
|
23939
|
+
Poster: 'Náhľadový obrázok',
|
|
23940
|
+
Autoplay: 'Automatické prehrávanie',
|
|
23941
|
+
Loop: 'Opakovať',
|
|
23942
|
+
Muted: 'Stlmené',
|
|
23943
|
+
Controls: 'Ovládacie prvky'
|
|
23787
23944
|
});
|
|
23788
23945
|
|
|
23789
23946
|
|
|
@@ -24016,7 +24173,14 @@ function addClassNames(className, elm) {
|
|
|
24016
24173
|
space: 'mellanslag',
|
|
24017
24174
|
'Embed code': 'Bädda in kod',
|
|
24018
24175
|
All: 'Välj alla',
|
|
24019
|
-
'License: %s': 'Licens: %s'
|
|
24176
|
+
'License: %s': 'Licens: %s',
|
|
24177
|
+
'Video properties': 'Videoegenskaper',
|
|
24178
|
+
'Audio properties': 'Ljudegenskaper',
|
|
24179
|
+
Poster: 'Affischbild',
|
|
24180
|
+
Autoplay: 'Automatisk uppspelning',
|
|
24181
|
+
Loop: 'Upprepa',
|
|
24182
|
+
Muted: 'Ljudlös',
|
|
24183
|
+
Controls: 'Kontroller'
|
|
24020
24184
|
});
|
|
24021
24185
|
|
|
24022
24186
|
|
|
@@ -24241,7 +24405,14 @@ function addClassNames(className, elm) {
|
|
|
24241
24405
|
'Find Next': 'Sonrakini Bul',
|
|
24242
24406
|
'Insert className': 'Sınıf adı girin',
|
|
24243
24407
|
'Press Alt for custom resizing': 'Özel yeniden boyutlandırma için Alt tuşuna basın',
|
|
24244
|
-
'License: %s': 'Lisans: %s'
|
|
24408
|
+
'License: %s': 'Lisans: %s',
|
|
24409
|
+
'Video properties': 'Video özellikleri',
|
|
24410
|
+
'Audio properties': 'Ses özellikleri',
|
|
24411
|
+
Poster: 'Kapak resmi',
|
|
24412
|
+
Autoplay: 'Otomatik oynat',
|
|
24413
|
+
Loop: 'Döngü',
|
|
24414
|
+
Muted: 'Sessiz',
|
|
24415
|
+
Controls: 'Kontroller'
|
|
24245
24416
|
});
|
|
24246
24417
|
|
|
24247
24418
|
|
|
@@ -24465,7 +24636,14 @@ function addClassNames(className, elm) {
|
|
|
24465
24636
|
'Find Previous': 'Знайти попередні',
|
|
24466
24637
|
'Find Next': 'Знайти наступні',
|
|
24467
24638
|
'Insert className': 'Вставити клас',
|
|
24468
|
-
'Press Alt for custom resizing': 'Натисніть Alt для зміни розміру'
|
|
24639
|
+
'Press Alt for custom resizing': 'Натисніть Alt для зміни розміру',
|
|
24640
|
+
'Video properties': 'Властивості відео',
|
|
24641
|
+
'Audio properties': 'Властивості аудіо',
|
|
24642
|
+
Poster: 'Обкладинка',
|
|
24643
|
+
Autoplay: 'Автовідтворення',
|
|
24644
|
+
Loop: 'Повтор',
|
|
24645
|
+
Muted: 'Без звуку',
|
|
24646
|
+
Controls: 'Елементи керування'
|
|
24469
24647
|
});
|
|
24470
24648
|
|
|
24471
24649
|
|
|
@@ -24691,7 +24869,14 @@ function addClassNames(className, elm) {
|
|
|
24691
24869
|
'Find Next': '查找下一个',
|
|
24692
24870
|
'Insert className': '插入班级名称',
|
|
24693
24871
|
'Press Alt for custom resizing': '按Alt自定义调整大小',
|
|
24694
|
-
'License: %s': '许可证: %s'
|
|
24872
|
+
'License: %s': '许可证: %s',
|
|
24873
|
+
'Video properties': '视频属性',
|
|
24874
|
+
'Audio properties': '音频属性',
|
|
24875
|
+
Poster: '封面图',
|
|
24876
|
+
Autoplay: '自动播放',
|
|
24877
|
+
Loop: '循环播放',
|
|
24878
|
+
Muted: '静音',
|
|
24879
|
+
Controls: '播放控件'
|
|
24695
24880
|
});
|
|
24696
24881
|
|
|
24697
24882
|
|
|
@@ -24916,7 +25101,14 @@ function addClassNames(className, elm) {
|
|
|
24916
25101
|
'Insert className': '插入 class 名稱',
|
|
24917
25102
|
'Press Alt for custom resizing': '按住 Alt 以調整自訂大小',
|
|
24918
25103
|
Edit: '編輯',
|
|
24919
|
-
'License: %s': '許可證: %s'
|
|
25104
|
+
'License: %s': '許可證: %s',
|
|
25105
|
+
'Video properties': '影片屬性',
|
|
25106
|
+
'Audio properties': '音訊屬性',
|
|
25107
|
+
Poster: '封面圖片',
|
|
25108
|
+
Autoplay: '自動播放',
|
|
25109
|
+
Loop: '循環播放',
|
|
25110
|
+
Muted: '靜音',
|
|
25111
|
+
Controls: '播放控制項'
|
|
24920
25112
|
});
|
|
24921
25113
|
|
|
24922
25114
|
|
|
@@ -33569,10 +33761,11 @@ UiAiAssistant = __decorate([
|
|
|
33569
33761
|
/* harmony import */ var _table_keyboard_navigation_table_keyboard_navigation_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(72439);
|
|
33570
33762
|
/* harmony import */ var _toolbar_navigation_toolbar_navigation_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(94529);
|
|
33571
33763
|
/* harmony import */ var _video_video_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(26551);
|
|
33572
|
-
/* harmony import */ var
|
|
33573
|
-
/* harmony import */ var
|
|
33574
|
-
/* harmony import */ var
|
|
33575
|
-
/* harmony import */ var
|
|
33764
|
+
/* harmony import */ var _video_properties_video_properties_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(96139);
|
|
33765
|
+
/* harmony import */ var _wrap_nodes_wrap_nodes_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(72253);
|
|
33766
|
+
/* harmony import */ var _dtd_dtd_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(65735);
|
|
33767
|
+
/* harmony import */ var _xpath_xpath_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(83671);
|
|
33768
|
+
/* harmony import */ var _speech_recognize_speech_recognize_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(3115);
|
|
33576
33769
|
/*!
|
|
33577
33770
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
33578
33771
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -33643,6 +33836,7 @@ UiAiAssistant = __decorate([
|
|
|
33643
33836
|
|
|
33644
33837
|
|
|
33645
33838
|
|
|
33839
|
+
|
|
33646
33840
|
|
|
33647
33841
|
|
|
33648
33842
|
// JODIT-START:FAT
|
|
@@ -40059,6 +40253,11 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.imageProcessor = {
|
|
|
40059
40253
|
const JODIT_IMAGE_PROCESSOR_BINDED = '__jodit_imageprocessor_binded';
|
|
40060
40254
|
const JODIT_IMAGE_BLOB_ID = JODIT_IMAGE_PROCESSOR_BINDED + 'blob-id';
|
|
40061
40255
|
const IMAGE_SELECTED = 'jodit-wysiwyg_image-selected';
|
|
40256
|
+
const SELECTED_TAGS = new Set([
|
|
40257
|
+
'img',
|
|
40258
|
+
'jodit',
|
|
40259
|
+
'jodit-media'
|
|
40260
|
+
]);
|
|
40062
40261
|
/**
|
|
40063
40262
|
* Change editor's size after load all images
|
|
40064
40263
|
*/ class imageProcessor extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plugin {
|
|
@@ -40100,7 +40299,10 @@ const IMAGE_SELECTED = 'jodit-wysiwyg_image-selected';
|
|
|
40100
40299
|
}
|
|
40101
40300
|
/**
|
|
40102
40301
|
* While the selection is an image, only the image is highlighted: Safari
|
|
40103
|
-
* paints the rest of a block image's line with its parent's highlight. See #1528
|
|
40302
|
+
* paints the rest of a block image's line with its parent's highlight. See #1528.
|
|
40303
|
+
* Media in a wrapper (`jodit-media`, the resizer's `jodit` for an embed, or
|
|
40304
|
+
* one from `mediaWrappers`) isn't highlighted either, as Safari paints its
|
|
40305
|
+
* wrapper's whole line, and its resize frame shows it's selected
|
|
40104
40306
|
*/ onSelectionChange() {
|
|
40105
40307
|
const { jodit } = this;
|
|
40106
40308
|
jodit.editor.classList.toggle(IMAGE_SELECTED, isImageSelected(jodit));
|
|
@@ -40154,7 +40356,8 @@ function isImageSelected(jodit) {
|
|
|
40154
40356
|
return false;
|
|
40155
40357
|
}
|
|
40156
40358
|
const { startContainer, startOffset, endContainer, endOffset } = sel.getRangeAt(0);
|
|
40157
|
-
|
|
40359
|
+
const node = startContainer.childNodes[startOffset];
|
|
40360
|
+
return startContainer === endContainer && endOffset === startOffset + 1 && (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(node, SELECTED_TAGS) || Boolean((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.getWrappedMedia)(jodit, node))) && _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isOrContains(jodit.editor, startContainer);
|
|
40158
40361
|
}
|
|
40159
40362
|
/**
|
|
40160
40363
|
* Remove the invisible-space text beside an image, which only held a caret.
|
|
@@ -42284,6 +42487,12 @@ const cmd = (control)=>control.args && (0,_core_helpers_checker_index_js__WEBPAC
|
|
|
42284
42487
|
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
42285
42488
|
*/
|
|
42286
42489
|
/* harmony default export */ __webpack_exports__["default"] = ([
|
|
42490
|
+
{
|
|
42491
|
+
name: 'replace',
|
|
42492
|
+
icon: 'video',
|
|
42493
|
+
tooltip: 'Replace',
|
|
42494
|
+
popup: (editor, target, close)=>target ? editor.e.fire('generateReplaceVideoTabs', target, close) : undefined
|
|
42495
|
+
},
|
|
42287
42496
|
{
|
|
42288
42497
|
name: 'bin',
|
|
42289
42498
|
tooltip: 'Delete',
|
|
@@ -42291,6 +42500,13 @@ const cmd = (control)=>control.args && (0,_core_helpers_checker_index_js__WEBPAC
|
|
|
42291
42500
|
image && editor.s.removeNode(image);
|
|
42292
42501
|
}
|
|
42293
42502
|
},
|
|
42503
|
+
{
|
|
42504
|
+
name: 'pencil',
|
|
42505
|
+
tooltip: 'Edit',
|
|
42506
|
+
exec: (editor, target)=>{
|
|
42507
|
+
target && editor.e.fire('openVideoProperties', target);
|
|
42508
|
+
}
|
|
42509
|
+
},
|
|
42294
42510
|
_img_js__WEBPACK_IMPORTED_MODULE_0__.align
|
|
42295
42511
|
]);
|
|
42296
42512
|
|
|
@@ -44397,6 +44613,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.mediaWrappers = {};
|
|
|
44397
44613
|
} else if (mediaWrappers[element.nodeName.toLowerCase()]) {
|
|
44398
44614
|
element = (_a = (0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__.getMediaWrapper)(editor, element)) !== null && _a !== void 0 ? _a : (0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__.wrapMedia)(editor, element);
|
|
44399
44615
|
} else if (mediaInFakeBlock) {
|
|
44616
|
+
const media = element;
|
|
44400
44617
|
const wrapper = editor.createInside.element(mediaFakeTag, {
|
|
44401
44618
|
'data-jodit-temp': 1,
|
|
44402
44619
|
contenteditable: false,
|
|
@@ -44404,11 +44621,17 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.mediaWrappers = {};
|
|
|
44404
44621
|
[`data-${keyFake}`]: 1
|
|
44405
44622
|
});
|
|
44406
44623
|
(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(wrapper, 'style', (0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_3__.attr)(element, 'style'));
|
|
44407
|
-
|
|
44408
|
-
|
|
44409
|
-
|
|
44410
|
-
|
|
44411
|
-
|
|
44624
|
+
// The wrapper fits the media, whose size changes as its metadata loads
|
|
44625
|
+
// and as it's resized. A percentage width is of the line, so it takes that
|
|
44626
|
+
const fit = ()=>{
|
|
44627
|
+
(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_4__.css)(wrapper, {
|
|
44628
|
+
display: (0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_4__.cssInline)(media, 'display') === 'inline-block' ? 'inline-block' : 'block',
|
|
44629
|
+
width: (0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_4__.cssInline)(media, 'width').endsWith('%') ? '' : 'fit-content',
|
|
44630
|
+
height: ''
|
|
44631
|
+
});
|
|
44632
|
+
};
|
|
44633
|
+
fit();
|
|
44634
|
+
editor.e.on(media, 'changesize', fit);
|
|
44412
44635
|
if (element.parentNode) {
|
|
44413
44636
|
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.before(element, wrapper);
|
|
44414
44637
|
}
|
|
@@ -46631,7 +46854,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.allowResizeTags = new S
|
|
|
46631
46854
|
'img',
|
|
46632
46855
|
'iframe',
|
|
46633
46856
|
'table',
|
|
46634
|
-
'jodit'
|
|
46857
|
+
'jodit',
|
|
46858
|
+
'video'
|
|
46635
46859
|
]);
|
|
46636
46860
|
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.resizer = {
|
|
46637
46861
|
showSize: true,
|
|
@@ -46640,7 +46864,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.resizer = {
|
|
|
46640
46864
|
min_width: 10,
|
|
46641
46865
|
min_height: 10,
|
|
46642
46866
|
useAspectRatio: new Set([
|
|
46643
|
-
'img'
|
|
46867
|
+
'img',
|
|
46868
|
+
'video'
|
|
46644
46869
|
])
|
|
46645
46870
|
};
|
|
46646
46871
|
|
|
@@ -46691,6 +46916,12 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
46691
46916
|
}
|
|
46692
46917
|
return parseFloat(value);
|
|
46693
46918
|
}
|
|
46919
|
+
/**
|
|
46920
|
+
* A video with no height of its own takes it from its width and its ratio,
|
|
46921
|
+
* so resizing it keeps the ratio without setting a height.
|
|
46922
|
+
*/ function heightFollowsWidth(element) {
|
|
46923
|
+
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');
|
|
46924
|
+
}
|
|
46694
46925
|
/**
|
|
46695
46926
|
* The module creates a supporting frame for resizing of the elements img and table
|
|
46696
46927
|
*/ class resizer extends _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_6__.Plugin {
|
|
@@ -46718,14 +46949,27 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
46718
46949
|
let node = e.target;
|
|
46719
46950
|
const { editor, options: { allowResizeTags } } = this.j;
|
|
46720
46951
|
while(node && node !== editor){
|
|
46721
|
-
|
|
46722
|
-
|
|
46723
|
-
this.
|
|
46952
|
+
const element = this.__resizable(node);
|
|
46953
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(element, allowResizeTags)) {
|
|
46954
|
+
this.__bind(element);
|
|
46955
|
+
this.onClickElement(element);
|
|
46724
46956
|
return;
|
|
46725
46957
|
}
|
|
46726
46958
|
node = node.parentNode;
|
|
46727
46959
|
}
|
|
46728
46960
|
}
|
|
46961
|
+
/**
|
|
46962
|
+
* What a click on `node` resizes: the media in it when it's a media
|
|
46963
|
+
* wrapper (`jodit-media`, or one from `mediaWrappers`), or `node` itself
|
|
46964
|
+
*/ __resizable(node) {
|
|
46965
|
+
var _a;
|
|
46966
|
+
const media = (_a = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.getWrappedMedia)(this.j, node)) !== null && _a !== void 0 ? _a : _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isHTMLElement(node) && (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(node, 'data-jodit_fake_wrapper') ? node.firstElementChild : null;
|
|
46967
|
+
if (!media) {
|
|
46968
|
+
return node;
|
|
46969
|
+
}
|
|
46970
|
+
// An embed is resized through its own wrapper
|
|
46971
|
+
return _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isHTMLElement(media.parentNode) && (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(media.parentNode, 'data-jodit_iframe_wrapper') ? media.parentNode : media;
|
|
46972
|
+
}
|
|
46729
46973
|
__afterInsertImage(image) {
|
|
46730
46974
|
if (this.j.o.resizer.forImageChangeAttributes) {
|
|
46731
46975
|
return;
|
|
@@ -46742,17 +46986,15 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
46742
46986
|
if (this.isShown && (e.key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_DELETE || e.key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_BACKSPACE) && this.element && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(this.element, 'table')) {
|
|
46743
46987
|
this.onDelete(e);
|
|
46744
46988
|
}
|
|
46745
|
-
}).on(editor.ow, 'resize.resizer', this.updateSize).on('resize.resizer', this.updateSize)
|
|
46989
|
+
}).on(editor.ow, 'resize.resizer', this.updateSize).on('resize.resizer', this.updateSize)// The frame is outside the content, so it's moved to follow the
|
|
46990
|
+
// element as the content scrolls
|
|
46991
|
+
.on([
|
|
46746
46992
|
editor.ow,
|
|
46747
46993
|
editor.editor
|
|
46748
|
-
], 'scroll.resizer', ()
|
|
46749
|
-
if (this.isShown && !this.isResizeMode) {
|
|
46750
|
-
this.hide();
|
|
46751
|
-
}
|
|
46752
|
-
}).on(editor.ow, 'keydown.resizer', this.onKeyDown).on(editor.ow, 'keyup.resizer', this.onKeyUp).on(editor.ow, 'mouseup.resizer touchend.resizer', this.onClickOutside);
|
|
46994
|
+
], 'scroll.resizer', this.updateSize).on(editor.ow, 'keydown.resizer', this.onKeyDown).on(editor.ow, 'keyup.resizer', this.onKeyUp).on(editor.ow, 'mouseup.resizer touchend.resizer', this.onClickOutside);
|
|
46753
46995
|
}
|
|
46754
46996
|
onStartResizing(resizeHandle, e) {
|
|
46755
|
-
if (!this.element || !this.
|
|
46997
|
+
if (!this.element || !this.isElementInEditor) {
|
|
46756
46998
|
this.hide();
|
|
46757
46999
|
return false;
|
|
46758
47000
|
}
|
|
@@ -46805,7 +47047,8 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
46805
47047
|
const className = this.handle.className;
|
|
46806
47048
|
let new_w, new_h;
|
|
46807
47049
|
const uar = this.j.o.resizer.useAspectRatio;
|
|
46808
|
-
|
|
47050
|
+
const keepRatio = !this.isAltMode && (uar === true || Boolean(uar && _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(this.element, uar)));
|
|
47051
|
+
if (keepRatio) {
|
|
46809
47052
|
if (diff_x) {
|
|
46810
47053
|
new_w = this.width + (className.match(/left/) ? -1 : 1) * diff_x;
|
|
46811
47054
|
new_h = Math.round(new_w / this.ratio);
|
|
@@ -46828,7 +47071,7 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
46828
47071
|
this.applySize(this.element, 'width', '100%');
|
|
46829
47072
|
}
|
|
46830
47073
|
}
|
|
46831
|
-
if (new_h > this.j.o.resizer.min_height) {
|
|
47074
|
+
if (new_h > this.j.o.resizer.min_height && !(keepRatio && heightFollowsWidth(this.element))) {
|
|
46832
47075
|
this.applySize(this.element, 'height', new_h);
|
|
46833
47076
|
}
|
|
46834
47077
|
this.updateSize();
|
|
@@ -46874,10 +47117,19 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
46874
47117
|
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.css)(element, key, value);
|
|
46875
47118
|
}
|
|
46876
47119
|
}
|
|
47120
|
+
/**
|
|
47121
|
+
* The framed element can go with a wrapper round it, keeping its parent
|
|
47122
|
+
*/ get isElementInEditor() {
|
|
47123
|
+
return Boolean(this.element && this.j.editor.contains(this.element));
|
|
47124
|
+
}
|
|
46877
47125
|
onDelete(e) {
|
|
46878
47126
|
if (!this.element) {
|
|
46879
47127
|
return;
|
|
46880
47128
|
}
|
|
47129
|
+
if (!this.isElementInEditor) {
|
|
47130
|
+
this.hide();
|
|
47131
|
+
return;
|
|
47132
|
+
}
|
|
46881
47133
|
if (this.element.tagName !== 'JODIT') {
|
|
46882
47134
|
this.j.s.select(this.element);
|
|
46883
47135
|
} else {
|
|
@@ -46888,7 +47140,7 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
46888
47140
|
}
|
|
46889
47141
|
__onChangeEditor() {
|
|
46890
47142
|
if (this.isShown) {
|
|
46891
|
-
if (!this.
|
|
47143
|
+
if (!this.isElementInEditor) {
|
|
46892
47144
|
this.hide();
|
|
46893
47145
|
} else {
|
|
46894
47146
|
this.updateSize();
|
|
@@ -46986,9 +47238,13 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
46986
47238
|
return;
|
|
46987
47239
|
}
|
|
46988
47240
|
this.isShown = true;
|
|
47241
|
+
if (this.layer.parentNode !== this.j.workplace) {
|
|
47242
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.markOwner)(this.j, this.layer);
|
|
47243
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(this.j.workplace, this.layer);
|
|
47244
|
+
}
|
|
46989
47245
|
if (!this.rect.parentNode) {
|
|
46990
47246
|
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.markOwner)(this.j, this.rect);
|
|
46991
|
-
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(this.
|
|
47247
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(this.layer, this.rect);
|
|
46992
47248
|
}
|
|
46993
47249
|
if (this.j.isFullSize) {
|
|
46994
47250
|
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.css)(this.rect, 'zIndex', (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.css)(this.j.container, 'zIndex').toString());
|
|
@@ -47008,6 +47264,7 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
47008
47264
|
}
|
|
47009
47265
|
beforeDestruct(jodit) {
|
|
47010
47266
|
this.hide();
|
|
47267
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(this.layer);
|
|
47011
47268
|
_core_global_js__WEBPACK_IMPORTED_MODULE_3__.eventEmitter.off('hideHelpers', this.hide);
|
|
47012
47269
|
jodit.e.off(this.j.ow, '.resizer').off('.resizer');
|
|
47013
47270
|
}
|
|
@@ -47029,6 +47286,8 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
47029
47286
|
<div class="jodit-resizer__bottom-left"></div>
|
|
47030
47287
|
<span>100x100</span>
|
|
47031
47288
|
</div>`);
|
|
47289
|
+
// Clips the frame to the workplace, without the frame making it scroll
|
|
47290
|
+
this.layer = this.j.c.div('jodit-resizer-layer');
|
|
47032
47291
|
this.sizeViewer = this.rect.getElementsByTagName('span')[0];
|
|
47033
47292
|
this.pointerX = 0;
|
|
47034
47293
|
this.pointerY = 0;
|
|
@@ -47043,6 +47302,9 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
47043
47302
|
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(this.element, 'img') && !this.element.complete) {
|
|
47044
47303
|
this.j.e.one(this.element, 'load', this.updateSize);
|
|
47045
47304
|
}
|
|
47305
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(this.element, 'video') && this.element.readyState < HTMLMediaElement.HAVE_METADATA) {
|
|
47306
|
+
this.j.e.one(this.element, 'loadedmetadata', this.updateSize);
|
|
47307
|
+
}
|
|
47046
47308
|
}
|
|
47047
47309
|
};
|
|
47048
47310
|
this.updateSize = ()=>{
|
|
@@ -53360,9 +53622,725 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_4__.pluginSystem.add('toolbarNavigation
|
|
|
53360
53622
|
|
|
53361
53623
|
/***/ }),
|
|
53362
53624
|
|
|
53363
|
-
/***/
|
|
53625
|
+
/***/ 54426:
|
|
53626
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
53627
|
+
|
|
53628
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
53629
|
+
/* harmony export */ editedMedia: function() { return /* binding */ editedMedia; },
|
|
53630
|
+
/* harmony export */ ownSize: function() { return /* binding */ ownSize; },
|
|
53631
|
+
/* harmony export */ readValues: function() { return /* binding */ readValues; }
|
|
53632
|
+
/* harmony export */ });
|
|
53633
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
53634
|
+
/* harmony import */ var _core_helpers_checker_is_numeric_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29807);
|
|
53635
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29960);
|
|
53636
|
+
/* harmony import */ var _core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(41180);
|
|
53637
|
+
/* harmony import */ var _image_properties_utils_utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(14415);
|
|
53638
|
+
/*!
|
|
53639
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
53640
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
53641
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
53642
|
+
*/
|
|
53643
|
+
|
|
53644
|
+
|
|
53645
|
+
|
|
53646
|
+
|
|
53647
|
+
const mediaSelector = 'video, audio, iframe';
|
|
53648
|
+
/**
|
|
53649
|
+
* The media `target` is, or holds as its wrapper (`jodit-media`, the resizer's
|
|
53650
|
+
* `jodit` for an embed, or one from `mediaWrappers`)
|
|
53651
|
+
* @private
|
|
53652
|
+
*/ function editedMedia(target) {
|
|
53653
|
+
return target.matches(mediaSelector) ? target : target.querySelector(mediaSelector);
|
|
53654
|
+
}
|
|
53655
|
+
/**
|
|
53656
|
+
* The size `media` is given, inline or by its attribute
|
|
53657
|
+
* @private
|
|
53658
|
+
*/ function ownSize(media, key) {
|
|
53659
|
+
return (0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_3__.cssInline)(media, key) || (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_2__.attr)(media, key) || '';
|
|
53660
|
+
}
|
|
53661
|
+
const toNumber = (value)=>parseFloat(value.toString());
|
|
53662
|
+
/**
|
|
53663
|
+
* Read the media's values into the state
|
|
53664
|
+
* @private
|
|
53665
|
+
*/ function readValues(state) {
|
|
53666
|
+
const { media, values } = state;
|
|
53667
|
+
const width = ownSize(media, 'width');
|
|
53668
|
+
const height = ownSize(media, 'height');
|
|
53669
|
+
values.width = width ? (0,_image_properties_utils_utils_js__WEBPACK_IMPORTED_MODULE_4__.normalSizeFromString)(width) : media.offsetWidth;
|
|
53670
|
+
values.height = height ? (0,_image_properties_utils_utils_js__WEBPACK_IMPORTED_MODULE_4__.normalSizeFromString)(height) : '';
|
|
53671
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(media, 'video') && media.videoWidth) {
|
|
53672
|
+
state.ratio = media.videoWidth / media.videoHeight;
|
|
53673
|
+
} else if ((0,_core_helpers_checker_is_numeric_js__WEBPACK_IMPORTED_MODULE_1__.isNumeric)(values.width) && (0,_core_helpers_checker_is_numeric_js__WEBPACK_IMPORTED_MODULE_1__.isNumeric)(values.height)) {
|
|
53674
|
+
state.ratio = toNumber(values.width) / toNumber(values.height);
|
|
53675
|
+
} else {
|
|
53676
|
+
state.ratio = media.offsetWidth / media.offsetHeight || 1;
|
|
53677
|
+
}
|
|
53678
|
+
// One with no height takes it from its width
|
|
53679
|
+
if (!height && (0,_core_helpers_checker_is_numeric_js__WEBPACK_IMPORTED_MODULE_1__.isNumeric)(values.width)) {
|
|
53680
|
+
values.height = Math.round(toNumber(values.width) / state.ratio);
|
|
53681
|
+
}
|
|
53682
|
+
state.sizeIsLocked = (0,_core_helpers_checker_is_numeric_js__WEBPACK_IMPORTED_MODULE_1__.isNumeric)(values.width) && (0,_core_helpers_checker_is_numeric_js__WEBPACK_IMPORTED_MODULE_1__.isNumeric)(values.height) && (!height || Math.abs(toNumber(values.width) - toNumber(values.height) * state.ratio) < 1);
|
|
53683
|
+
values.poster = (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_2__.attr)(media, 'poster') || '';
|
|
53684
|
+
values.autoplay = media.hasAttribute('autoplay');
|
|
53685
|
+
values.loop = media.hasAttribute('loop');
|
|
53686
|
+
// Autoplay's own: turning it off gives the sound back
|
|
53687
|
+
values.muted = media.hasAttribute('muted') && !values.autoplay;
|
|
53688
|
+
// Without Autoplay it keeps its controls, or it could never be played
|
|
53689
|
+
values.controls = media.hasAttribute('controls') || !values.autoplay;
|
|
53690
|
+
}
|
|
53691
|
+
|
|
53692
|
+
|
|
53693
|
+
/***/ }),
|
|
53694
|
+
|
|
53695
|
+
/***/ 96170:
|
|
53696
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
53697
|
+
|
|
53698
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
53699
|
+
/* harmony export */ replaceMedia: function() { return /* binding */ replaceMedia; }
|
|
53700
|
+
/* harmony export */ });
|
|
53701
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
53702
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
53703
|
+
/* harmony import */ var _core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(41180);
|
|
53704
|
+
/* harmony import */ var _readers_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(54426);
|
|
53705
|
+
/* harmony import */ var _writers_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(44909);
|
|
53706
|
+
/*!
|
|
53707
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
53708
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
53709
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
53710
|
+
*/
|
|
53711
|
+
|
|
53712
|
+
|
|
53713
|
+
|
|
53714
|
+
|
|
53715
|
+
/**
|
|
53716
|
+
* Give `media`, in `outer`, the classes, inline styles, size and playback
|
|
53717
|
+
* settings of `old`, in `oldOuter`. It keeps its own source and poster.
|
|
53718
|
+
*/ function takeOver(j, oldOuter, old, outer, media) {
|
|
53719
|
+
var _a;
|
|
53720
|
+
const state = {
|
|
53721
|
+
target: oldOuter,
|
|
53722
|
+
media: old,
|
|
53723
|
+
ratio: 1,
|
|
53724
|
+
sizeIsLocked: true,
|
|
53725
|
+
values: {
|
|
53726
|
+
width: '',
|
|
53727
|
+
height: '',
|
|
53728
|
+
poster: '',
|
|
53729
|
+
autoplay: false,
|
|
53730
|
+
loop: false,
|
|
53731
|
+
muted: false,
|
|
53732
|
+
controls: true
|
|
53733
|
+
}
|
|
53734
|
+
};
|
|
53735
|
+
(0,_readers_js__WEBPACK_IMPORTED_MODULE_3__.readValues)(state);
|
|
53736
|
+
const pairs = [
|
|
53737
|
+
[
|
|
53738
|
+
old,
|
|
53739
|
+
media
|
|
53740
|
+
]
|
|
53741
|
+
];
|
|
53742
|
+
// A wrapper kept in the content, which holds the alignment
|
|
53743
|
+
if (oldOuter !== old && outer !== media && oldOuter.nodeName === outer.nodeName) {
|
|
53744
|
+
pairs.push([
|
|
53745
|
+
oldOuter,
|
|
53746
|
+
outer
|
|
53747
|
+
]);
|
|
53748
|
+
}
|
|
53749
|
+
pairs.forEach(([from, to])=>{
|
|
53750
|
+
[
|
|
53751
|
+
'class',
|
|
53752
|
+
'style'
|
|
53753
|
+
].forEach((name)=>(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(to, name, (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(from, name)));
|
|
53754
|
+
});
|
|
53755
|
+
// A video's size is CSS and an embed's its attributes, so the writer sizes
|
|
53756
|
+
// one that's a different element
|
|
53757
|
+
if (old.nodeName !== media.nodeName) {
|
|
53758
|
+
(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__.css)(media, {
|
|
53759
|
+
width: null,
|
|
53760
|
+
height: null
|
|
53761
|
+
});
|
|
53762
|
+
if (!((_a = (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(media, 'style')) === null || _a === void 0 ? void 0 : _a.trim())) {
|
|
53763
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(media, 'style', null);
|
|
53764
|
+
}
|
|
53765
|
+
}
|
|
53766
|
+
state.media = media;
|
|
53767
|
+
state.values.poster = (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(media, 'poster') || '';
|
|
53768
|
+
(0,_writers_js__WEBPACK_IMPORTED_MODULE_4__.applyValues)(j, state, Boolean((0,_readers_js__WEBPACK_IMPORTED_MODULE_3__.ownSize)(old, 'width') || (0,_readers_js__WEBPACK_IMPORTED_MODULE_3__.ownSize)(old, 'height')));
|
|
53769
|
+
}
|
|
53770
|
+
/**
|
|
53771
|
+
* Run `insert`, which inserts media at the cursor, with the cursor after
|
|
53772
|
+
* `replaced`, and put what it inserts in place of `replaced`
|
|
53773
|
+
* @private
|
|
53774
|
+
*/ function replaceMedia(j, replaced, insert) {
|
|
53775
|
+
const inserted = [];
|
|
53776
|
+
const collect = (node)=>{
|
|
53777
|
+
inserted.push(node);
|
|
53778
|
+
};
|
|
53779
|
+
j.history.snapshot.transaction(()=>{
|
|
53780
|
+
j.s.focus();
|
|
53781
|
+
j.s.setCursorAfter(replaced);
|
|
53782
|
+
j.e.on('afterInsertNode', collect);
|
|
53783
|
+
try {
|
|
53784
|
+
insert();
|
|
53785
|
+
} finally{
|
|
53786
|
+
j.e.off('afterInsertNode', collect);
|
|
53787
|
+
}
|
|
53788
|
+
const [outer] = inserted;
|
|
53789
|
+
if (!_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isHTMLElement(outer)) {
|
|
53790
|
+
return;
|
|
53791
|
+
}
|
|
53792
|
+
const old = (0,_readers_js__WEBPACK_IMPORTED_MODULE_3__.editedMedia)(replaced);
|
|
53793
|
+
const media = (0,_readers_js__WEBPACK_IMPORTED_MODULE_3__.editedMedia)(outer);
|
|
53794
|
+
if (old && media) {
|
|
53795
|
+
takeOver(j, replaced, old, outer, media);
|
|
53796
|
+
}
|
|
53797
|
+
// The resizer can have put an embed in its own wrapper already
|
|
53798
|
+
const placed = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isHTMLElement(outer.parentElement) && (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(outer.parentElement, 'data-jodit-temp') ? outer.parentElement : outer;
|
|
53799
|
+
// Where the old one was, since media Jodit counts as blocks can be put
|
|
53800
|
+
// after the paragraph
|
|
53801
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.before(replaced, placed);
|
|
53802
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(replaced);
|
|
53803
|
+
j.s.setCursorAfter(placed);
|
|
53804
|
+
});
|
|
53805
|
+
j.synchronizeValues();
|
|
53806
|
+
j.e.fire('closeAllPopups');
|
|
53807
|
+
}
|
|
53808
|
+
|
|
53809
|
+
|
|
53810
|
+
/***/ }),
|
|
53811
|
+
|
|
53812
|
+
/***/ 27828:
|
|
53813
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
53814
|
+
|
|
53815
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
53816
|
+
/* harmony export */ UIVideoPropertiesForm: function() { return /* binding */ UIVideoPropertiesForm; }
|
|
53817
|
+
/* harmony export */ });
|
|
53818
|
+
/* harmony import */ var _core_decorators_component_component_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(87325);
|
|
53819
|
+
/* harmony import */ var _core_decorators_hook_hook_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(97357);
|
|
53820
|
+
/* harmony import */ var _core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(37133);
|
|
53821
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2748);
|
|
53822
|
+
/* harmony import */ var _core_helpers_checker_is_numeric_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29807);
|
|
53823
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(29960);
|
|
53824
|
+
/* harmony import */ var _core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(41180);
|
|
53825
|
+
/* harmony import */ var _core_ui_element_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(48538);
|
|
53826
|
+
/* harmony import */ var _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(12153);
|
|
53827
|
+
/*!
|
|
53828
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
53829
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
53830
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
53831
|
+
*/ var __decorate = undefined && undefined.__decorate || function(decorators, target, key, desc) {
|
|
53832
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
53833
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
53834
|
+
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;
|
|
53835
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
53836
|
+
};
|
|
53837
|
+
|
|
53838
|
+
|
|
53839
|
+
|
|
53840
|
+
|
|
53841
|
+
|
|
53842
|
+
|
|
53843
|
+
|
|
53844
|
+
|
|
53845
|
+
|
|
53846
|
+
const flags = {
|
|
53847
|
+
autoplay: 'Autoplay',
|
|
53848
|
+
loop: 'Loop',
|
|
53849
|
+
muted: 'Muted',
|
|
53850
|
+
controls: 'Controls'
|
|
53851
|
+
};
|
|
53852
|
+
const checkbox = ([flag, label])=>`<label class="jodit_vertical_middle">
|
|
53853
|
+
<input type="checkbox" class="jodit-checkbox &__${flag}"/>
|
|
53854
|
+
<span>~${label}~</span>
|
|
53855
|
+
</label>`;
|
|
53856
|
+
/** @private */ let UIVideoPropertiesForm = class UIVideoPropertiesForm extends _core_ui_element_js__WEBPACK_IMPORTED_MODULE_7__.UIElement {
|
|
53857
|
+
className() {
|
|
53858
|
+
return 'UIVideoPropertiesForm';
|
|
53859
|
+
}
|
|
53860
|
+
render() {
|
|
53861
|
+
return `<form>
|
|
53862
|
+
<div class="jodit-form__group &__previewBox">
|
|
53863
|
+
<img class="&__preview" alt=""/>
|
|
53864
|
+
</div>
|
|
53865
|
+
<div class="jodit-form__group &__sizes">
|
|
53866
|
+
<input type="text" class="jodit-input &__width" placeholder="~Width~" aria-label="~Width~"/>
|
|
53867
|
+
<a class="&__lockSize">*lock*</a>
|
|
53868
|
+
<input type="text" class="jodit-input &__height" placeholder="~Height~" aria-label="~Height~"/>
|
|
53869
|
+
</div>
|
|
53870
|
+
<div class="jodit-form__group &__editPoster">
|
|
53871
|
+
<label>~Poster~</label>
|
|
53872
|
+
<div class="jodit-input_group">
|
|
53873
|
+
<input type="text" class="jodit-input &__poster" placeholder="https://"/>
|
|
53874
|
+
<div class="jodit-input_group-buttons">
|
|
53875
|
+
<a class="jodit-button &__changePoster" title="~Upload~">*image*</a>
|
|
53876
|
+
<a class="jodit-button &__removePoster" title="~Remove~">*bin*</a>
|
|
53877
|
+
</div>
|
|
53878
|
+
</div>
|
|
53879
|
+
</div>
|
|
53880
|
+
<div class="jodit-form__group &__playback">
|
|
53881
|
+
${Object.entries(flags).map(checkbox).join('')}
|
|
53882
|
+
</div>
|
|
53883
|
+
</form>`;
|
|
53884
|
+
}
|
|
53885
|
+
input(name) {
|
|
53886
|
+
return this.getElm(name);
|
|
53887
|
+
}
|
|
53888
|
+
show(name, shown) {
|
|
53889
|
+
;(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_6__.css)(this.getElm(name), 'display', shown ? null : 'none');
|
|
53890
|
+
}
|
|
53891
|
+
/**
|
|
53892
|
+
* A video has every field, an embed only its size, and audio only its
|
|
53893
|
+
* playback settings
|
|
53894
|
+
*/ onStateMediaChange() {
|
|
53895
|
+
const { media } = this.state;
|
|
53896
|
+
this.show('editPoster', _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_3__.Dom.isTag(media, 'video'));
|
|
53897
|
+
this.show('sizes', !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_3__.Dom.isTag(media, 'audio'));
|
|
53898
|
+
this.show('playback', !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_3__.Dom.isTag(media, 'iframe'));
|
|
53899
|
+
this.showPreview();
|
|
53900
|
+
}
|
|
53901
|
+
// A video's poster, when it has one
|
|
53902
|
+
showPreview() {
|
|
53903
|
+
const { media, values } = this.state;
|
|
53904
|
+
const shown = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_3__.Dom.isTag(media, 'video') && Boolean(values.poster);
|
|
53905
|
+
this.show('previewBox', shown);
|
|
53906
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_5__.attr)(this.getElm('preview'), 'src', shown ? values.poster : null);
|
|
53907
|
+
}
|
|
53908
|
+
hideChangePoster() {
|
|
53909
|
+
const { uploader, filebrowser } = this.j.o;
|
|
53910
|
+
// What FileSelectorWidget offers
|
|
53911
|
+
const canUpload = uploader.showTabInFileSelector !== false && Boolean(uploader.url || uploader.insertImageAsBase64URI || uploader.customUploadFunction);
|
|
53912
|
+
const canBrowse = Boolean(filebrowser.ajax.url || filebrowser.items.url);
|
|
53913
|
+
this.show('changePoster', canUpload || canBrowse);
|
|
53914
|
+
}
|
|
53915
|
+
onStatePosterChange() {
|
|
53916
|
+
const { poster } = this.state.values;
|
|
53917
|
+
this.input('poster').value = poster;
|
|
53918
|
+
this.show('removePoster', Boolean(poster));
|
|
53919
|
+
this.showPreview();
|
|
53920
|
+
}
|
|
53921
|
+
onPosterChange() {
|
|
53922
|
+
this.state.values.poster = this.input('poster').value;
|
|
53923
|
+
}
|
|
53924
|
+
onChangePosterClick(e) {
|
|
53925
|
+
this.handlers.openPosterPopup(this.getElm('changePoster'));
|
|
53926
|
+
e.stopPropagation();
|
|
53927
|
+
}
|
|
53928
|
+
onRemovePosterClick() {
|
|
53929
|
+
this.state.values.poster = '';
|
|
53930
|
+
}
|
|
53931
|
+
onStateSizeIsLockedChange() {
|
|
53932
|
+
this.getElm('lockSize').innerHTML = _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_8__.Icon.get(this.state.sizeIsLocked ? 'lock' : 'unlock');
|
|
53933
|
+
}
|
|
53934
|
+
onLockSizeClick() {
|
|
53935
|
+
const { state } = this;
|
|
53936
|
+
const { values } = state;
|
|
53937
|
+
state.sizeIsLocked = !state.sizeIsLocked;
|
|
53938
|
+
if (state.sizeIsLocked && (0,_core_helpers_checker_is_numeric_js__WEBPACK_IMPORTED_MODULE_4__.isNumeric)(values.width)) {
|
|
53939
|
+
values.height = Math.round(parseFloat(values.width.toString()) / state.ratio);
|
|
53940
|
+
}
|
|
53941
|
+
}
|
|
53942
|
+
onStateSizeChange() {
|
|
53943
|
+
const { values } = this.state;
|
|
53944
|
+
// Not the field being typed in
|
|
53945
|
+
[
|
|
53946
|
+
'width',
|
|
53947
|
+
'height'
|
|
53948
|
+
].forEach((key)=>{
|
|
53949
|
+
const input = this.input(key);
|
|
53950
|
+
if (input !== this.j.od.activeElement) {
|
|
53951
|
+
input.value = values[key].toString();
|
|
53952
|
+
}
|
|
53953
|
+
});
|
|
53954
|
+
}
|
|
53955
|
+
onSizeInput(e) {
|
|
53956
|
+
const { state } = this;
|
|
53957
|
+
const { values } = state;
|
|
53958
|
+
// Both read first, since setting one rewrites the other's field
|
|
53959
|
+
const width = this.input('width').value;
|
|
53960
|
+
const height = this.input('height').value;
|
|
53961
|
+
if (!state.sizeIsLocked || !(0,_core_helpers_checker_is_numeric_js__WEBPACK_IMPORTED_MODULE_4__.isNumeric)(width) || !(0,_core_helpers_checker_is_numeric_js__WEBPACK_IMPORTED_MODULE_4__.isNumeric)(height)) {
|
|
53962
|
+
values.width = width;
|
|
53963
|
+
values.height = height;
|
|
53964
|
+
return;
|
|
53965
|
+
}
|
|
53966
|
+
const w = parseFloat(width);
|
|
53967
|
+
const h = parseFloat(height);
|
|
53968
|
+
if (e.target === this.input('width')) {
|
|
53969
|
+
values.width = w;
|
|
53970
|
+
values.height = Math.round(w / state.ratio);
|
|
53971
|
+
} else {
|
|
53972
|
+
values.width = Math.round(h * state.ratio);
|
|
53973
|
+
values.height = h;
|
|
53974
|
+
}
|
|
53975
|
+
}
|
|
53976
|
+
/**
|
|
53977
|
+
* Autoplay mutes it, and it keeps its controls unless it autoplays
|
|
53978
|
+
*/ onStateFlagsChange() {
|
|
53979
|
+
const { values } = this.state;
|
|
53980
|
+
this.input('autoplay').checked = values.autoplay;
|
|
53981
|
+
this.input('loop').checked = values.loop;
|
|
53982
|
+
this.input('muted').checked = values.muted || values.autoplay;
|
|
53983
|
+
this.input('muted').disabled = values.autoplay;
|
|
53984
|
+
this.input('controls').checked = values.controls || !values.autoplay;
|
|
53985
|
+
this.input('controls').disabled = !values.autoplay;
|
|
53986
|
+
}
|
|
53987
|
+
onFlagChange(e) {
|
|
53988
|
+
Object.keys(flags).forEach((flag)=>{
|
|
53989
|
+
const input = this.input(flag);
|
|
53990
|
+
if (e.target === input) {
|
|
53991
|
+
this.state.values[flag] = input.checked;
|
|
53992
|
+
}
|
|
53993
|
+
});
|
|
53994
|
+
}
|
|
53995
|
+
constructor(jodit, state, handlers){
|
|
53996
|
+
super(jodit);
|
|
53997
|
+
this.state = state;
|
|
53998
|
+
this.handlers = handlers;
|
|
53999
|
+
}
|
|
54000
|
+
};
|
|
54001
|
+
__decorate([
|
|
54002
|
+
(0,_core_decorators_hook_hook_js__WEBPACK_IMPORTED_MODULE_1__.hook)('ready'),
|
|
54003
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)('state.media')
|
|
54004
|
+
], UIVideoPropertiesForm.prototype, "onStateMediaChange", null);
|
|
54005
|
+
__decorate([
|
|
54006
|
+
(0,_core_decorators_hook_hook_js__WEBPACK_IMPORTED_MODULE_1__.hook)('ready')
|
|
54007
|
+
], UIVideoPropertiesForm.prototype, "hideChangePoster", null);
|
|
54008
|
+
__decorate([
|
|
54009
|
+
(0,_core_decorators_hook_hook_js__WEBPACK_IMPORTED_MODULE_1__.hook)('ready'),
|
|
54010
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)('state.values.poster')
|
|
54011
|
+
], UIVideoPropertiesForm.prototype, "onStatePosterChange", null);
|
|
54012
|
+
__decorate([
|
|
54013
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)('poster:change')
|
|
54014
|
+
], UIVideoPropertiesForm.prototype, "onPosterChange", null);
|
|
54015
|
+
__decorate([
|
|
54016
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)('changePoster:click')
|
|
54017
|
+
], UIVideoPropertiesForm.prototype, "onChangePosterClick", null);
|
|
54018
|
+
__decorate([
|
|
54019
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)('removePoster:click')
|
|
54020
|
+
], UIVideoPropertiesForm.prototype, "onRemovePosterClick", null);
|
|
54021
|
+
__decorate([
|
|
54022
|
+
(0,_core_decorators_hook_hook_js__WEBPACK_IMPORTED_MODULE_1__.hook)('ready'),
|
|
54023
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)('state.sizeIsLocked')
|
|
54024
|
+
], UIVideoPropertiesForm.prototype, "onStateSizeIsLockedChange", null);
|
|
54025
|
+
__decorate([
|
|
54026
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)('lockSize:click')
|
|
54027
|
+
], UIVideoPropertiesForm.prototype, "onLockSizeClick", null);
|
|
54028
|
+
__decorate([
|
|
54029
|
+
(0,_core_decorators_hook_hook_js__WEBPACK_IMPORTED_MODULE_1__.hook)('ready'),
|
|
54030
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)([
|
|
54031
|
+
'state.values.width',
|
|
54032
|
+
'state.values.height'
|
|
54033
|
+
])
|
|
54034
|
+
], UIVideoPropertiesForm.prototype, "onStateSizeChange", null);
|
|
54035
|
+
__decorate([
|
|
54036
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)([
|
|
54037
|
+
'width:input',
|
|
54038
|
+
'height:input',
|
|
54039
|
+
'width:change',
|
|
54040
|
+
'height:change'
|
|
54041
|
+
])
|
|
54042
|
+
], UIVideoPropertiesForm.prototype, "onSizeInput", null);
|
|
54043
|
+
__decorate([
|
|
54044
|
+
(0,_core_decorators_hook_hook_js__WEBPACK_IMPORTED_MODULE_1__.hook)('ready'),
|
|
54045
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)(Object.keys(flags).map((flag)=>`state.values.${flag}`))
|
|
54046
|
+
], UIVideoPropertiesForm.prototype, "onStateFlagsChange", null);
|
|
54047
|
+
__decorate([
|
|
54048
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)(Object.keys(flags).map((flag)=>`${flag}:change`))
|
|
54049
|
+
], UIVideoPropertiesForm.prototype, "onFlagChange", null);
|
|
54050
|
+
UIVideoPropertiesForm = __decorate([
|
|
54051
|
+
_core_decorators_component_component_js__WEBPACK_IMPORTED_MODULE_0__.component
|
|
54052
|
+
], UIVideoPropertiesForm);
|
|
54053
|
+
|
|
54054
|
+
|
|
54055
|
+
|
|
54056
|
+
/***/ }),
|
|
54057
|
+
|
|
54058
|
+
/***/ 96139:
|
|
53364
54059
|
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
|
|
53365
54060
|
|
|
54061
|
+
/* unused harmony export videoProperties */
|
|
54062
|
+
/* harmony import */ var _core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65478);
|
|
54063
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2748);
|
|
54064
|
+
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(580);
|
|
54065
|
+
/* harmony import */ var _core_helpers_checker_is_array_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(68345);
|
|
54066
|
+
/* harmony import */ var _core_helpers_size_position_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5700);
|
|
54067
|
+
/* harmony import */ var _core_helpers_utils_utils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(37790);
|
|
54068
|
+
/* harmony import */ var _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20356);
|
|
54069
|
+
/* harmony import */ var _core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(62843);
|
|
54070
|
+
/* harmony import */ var _core_ui_popup_popup_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(56917);
|
|
54071
|
+
/* harmony import */ var _modules_widget_file_selector_file_selector_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(34793);
|
|
54072
|
+
/* harmony import */ var _ui_ui_video_form_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(27828);
|
|
54073
|
+
/* harmony import */ var _readers_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(54426);
|
|
54074
|
+
/* harmony import */ var _replace_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(96170);
|
|
54075
|
+
/* harmony import */ var _writers_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(44909);
|
|
54076
|
+
/* harmony import */ var _video_config_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(14984);
|
|
54077
|
+
/*!
|
|
54078
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
54079
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
54080
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
54081
|
+
*/ var __decorate = undefined && undefined.__decorate || function(decorators, target, key, desc) {
|
|
54082
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
54083
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
54084
|
+
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;
|
|
54085
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
54086
|
+
};
|
|
54087
|
+
|
|
54088
|
+
|
|
54089
|
+
|
|
54090
|
+
|
|
54091
|
+
|
|
54092
|
+
|
|
54093
|
+
|
|
54094
|
+
|
|
54095
|
+
|
|
54096
|
+
|
|
54097
|
+
|
|
54098
|
+
|
|
54099
|
+
|
|
54100
|
+
|
|
54101
|
+
|
|
54102
|
+
/**
|
|
54103
|
+
* Show a dialog with the size, poster and playback settings of a video, an
|
|
54104
|
+
* embed or audio. The media popup's Edit button opens it:
|
|
54105
|
+
*
|
|
54106
|
+
* ```javascript
|
|
54107
|
+
* editor.events.fire('openVideoProperties', video);
|
|
54108
|
+
* ```
|
|
54109
|
+
*/ class videoProperties extends _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_6__.Plugin {
|
|
54110
|
+
get __size() {
|
|
54111
|
+
const { width, height } = this.state.values;
|
|
54112
|
+
return `${width}x${height}`;
|
|
54113
|
+
}
|
|
54114
|
+
get form() {
|
|
54115
|
+
return new _ui_ui_video_form_js__WEBPACK_IMPORTED_MODULE_10__.UIVideoPropertiesForm(this.j, this.state, {
|
|
54116
|
+
openPosterPopup: (target)=>this.__openPosterPopup(target)
|
|
54117
|
+
});
|
|
54118
|
+
}
|
|
54119
|
+
get dialog() {
|
|
54120
|
+
const { j } = this;
|
|
54121
|
+
const dialog = j.dlg({
|
|
54122
|
+
minWidth: Math.min(400, screen.width),
|
|
54123
|
+
buttons: [
|
|
54124
|
+
'dialog.close'
|
|
54125
|
+
]
|
|
54126
|
+
});
|
|
54127
|
+
const buttons = this.__buttons;
|
|
54128
|
+
buttons.check.onAction(()=>{
|
|
54129
|
+
(0,_writers_js__WEBPACK_IMPORTED_MODULE_13__.applyValues)(j, this.state, this.__size !== this.__readSize);
|
|
54130
|
+
j.synchronizeValues();
|
|
54131
|
+
dialog.close();
|
|
54132
|
+
});
|
|
54133
|
+
buttons.remove.onAction(()=>{
|
|
54134
|
+
j.s.removeNode(this.state.target);
|
|
54135
|
+
dialog.close();
|
|
54136
|
+
});
|
|
54137
|
+
buttons.cancel.onAction(()=>{
|
|
54138
|
+
dialog.close();
|
|
54139
|
+
});
|
|
54140
|
+
dialog.setContent(this.form);
|
|
54141
|
+
dialog.setFooter([
|
|
54142
|
+
[
|
|
54143
|
+
buttons.cancel,
|
|
54144
|
+
buttons.remove
|
|
54145
|
+
],
|
|
54146
|
+
buttons.check
|
|
54147
|
+
]);
|
|
54148
|
+
(0,_core_helpers_utils_utils_js__WEBPACK_IMPORTED_MODULE_5__.markOwner)(j, dialog.container);
|
|
54149
|
+
return dialog;
|
|
54150
|
+
}
|
|
54151
|
+
get __buttons() {
|
|
54152
|
+
const { j } = this;
|
|
54153
|
+
return {
|
|
54154
|
+
check: (0,_core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_7__.Button)(j, 'ok', 'Apply', 'primary'),
|
|
54155
|
+
remove: (0,_core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_7__.Button)(j, 'bin', 'Delete'),
|
|
54156
|
+
cancel: (0,_core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_7__.Button)(j, 'cancel', 'Cancel')
|
|
54157
|
+
};
|
|
54158
|
+
}
|
|
54159
|
+
/**
|
|
54160
|
+
* Open the dialog for the media `target` is, or is the wrapper of
|
|
54161
|
+
*/ open(target) {
|
|
54162
|
+
const media = (0,_readers_js__WEBPACK_IMPORTED_MODULE_11__.editedMedia)(target);
|
|
54163
|
+
if (!media) {
|
|
54164
|
+
return;
|
|
54165
|
+
}
|
|
54166
|
+
this.state.target = target;
|
|
54167
|
+
this.state.media = media;
|
|
54168
|
+
(0,_readers_js__WEBPACK_IMPORTED_MODULE_11__.readValues)(this.state);
|
|
54169
|
+
this.__readSize = this.__size;
|
|
54170
|
+
this.dialog.setHeader(this.j.i18n(_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(media, 'audio') ? 'Audio properties' : 'Video properties'));
|
|
54171
|
+
this.dialog.open().setModal(true).setPosition();
|
|
54172
|
+
}
|
|
54173
|
+
/**
|
|
54174
|
+
* The video popup's tabs for the media popup's Replace: what they insert
|
|
54175
|
+
* takes the place of the media `target` is, or is the wrapper of
|
|
54176
|
+
*/ onGenerateReplaceVideoTabs(target, close) {
|
|
54177
|
+
return (0,_video_config_js__WEBPACK_IMPORTED_MODULE_14__.videoTabs)(this.j, close, (insert)=>(0,_replace_js__WEBPACK_IMPORTED_MODULE_12__.replaceMedia)(this.j, target, insert));
|
|
54178
|
+
}
|
|
54179
|
+
__openPosterPopup(button) {
|
|
54180
|
+
const { j, state } = this;
|
|
54181
|
+
const popup = new _core_ui_popup_popup_js__WEBPACK_IMPORTED_MODULE_8__.Popup(this.dialog);
|
|
54182
|
+
const close = ()=>{
|
|
54183
|
+
popup.close();
|
|
54184
|
+
popup.destruct();
|
|
54185
|
+
};
|
|
54186
|
+
popup.setContent((0,_modules_widget_file_selector_file_selector_js__WEBPACK_IMPORTED_MODULE_9__.FileSelectorWidget)(j, {
|
|
54187
|
+
upload: (data)=>{
|
|
54188
|
+
if (data.files && data.files.length) {
|
|
54189
|
+
state.values.poster = data.baseurl + data.files[0];
|
|
54190
|
+
}
|
|
54191
|
+
close();
|
|
54192
|
+
},
|
|
54193
|
+
filebrowser: (data)=>{
|
|
54194
|
+
if ((0,_core_helpers_checker_is_array_js__WEBPACK_IMPORTED_MODULE_3__.isArray)(data.files) && data.files.length) {
|
|
54195
|
+
state.values.poster = data.files[0];
|
|
54196
|
+
close();
|
|
54197
|
+
}
|
|
54198
|
+
}
|
|
54199
|
+
}, null, close)).open(()=>(0,_core_helpers_size_position_js__WEBPACK_IMPORTED_MODULE_4__.position)(button));
|
|
54200
|
+
}
|
|
54201
|
+
/** @override */ afterInit() {}
|
|
54202
|
+
/** @override */ beforeDestruct() {
|
|
54203
|
+
var _a, _b, _c;
|
|
54204
|
+
Object.values((_a = (0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.cached)(this, '__buttons')) !== null && _a !== void 0 ? _a : {}).forEach((b)=>b.destruct());
|
|
54205
|
+
(_b = (0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.cached)(this, 'dialog')) === null || _b === void 0 ? void 0 : _b.destruct();
|
|
54206
|
+
(_c = (0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.cached)(this, 'form')) === null || _c === void 0 ? void 0 : _c.destruct();
|
|
54207
|
+
}
|
|
54208
|
+
constructor(){
|
|
54209
|
+
super(...arguments);
|
|
54210
|
+
this.state = {
|
|
54211
|
+
target: this.j.c.element('video'),
|
|
54212
|
+
media: this.j.c.element('video'),
|
|
54213
|
+
ratio: 1,
|
|
54214
|
+
sizeIsLocked: true,
|
|
54215
|
+
values: {
|
|
54216
|
+
width: '',
|
|
54217
|
+
height: '',
|
|
54218
|
+
poster: '',
|
|
54219
|
+
autoplay: false,
|
|
54220
|
+
loop: false,
|
|
54221
|
+
muted: false,
|
|
54222
|
+
controls: true
|
|
54223
|
+
}
|
|
54224
|
+
};
|
|
54225
|
+
// The size as it was read, so an unchanged one isn't written
|
|
54226
|
+
this.__readSize = '';
|
|
54227
|
+
}
|
|
54228
|
+
}
|
|
54229
|
+
__decorate([
|
|
54230
|
+
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.cache
|
|
54231
|
+
], videoProperties.prototype, "form", null);
|
|
54232
|
+
__decorate([
|
|
54233
|
+
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.cache
|
|
54234
|
+
], videoProperties.prototype, "dialog", null);
|
|
54235
|
+
__decorate([
|
|
54236
|
+
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.cache
|
|
54237
|
+
], videoProperties.prototype, "__buttons", null);
|
|
54238
|
+
__decorate([
|
|
54239
|
+
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.watch)(':openVideoProperties')
|
|
54240
|
+
], videoProperties.prototype, "open", null);
|
|
54241
|
+
__decorate([
|
|
54242
|
+
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.watch)(':generateReplaceVideoTabs')
|
|
54243
|
+
], videoProperties.prototype, "onGenerateReplaceVideoTabs", null);
|
|
54244
|
+
_core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('videoProperties', videoProperties);
|
|
54245
|
+
|
|
54246
|
+
|
|
54247
|
+
/***/ }),
|
|
54248
|
+
|
|
54249
|
+
/***/ 44909:
|
|
54250
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
54251
|
+
|
|
54252
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
54253
|
+
/* harmony export */ applyValues: function() { return /* binding */ applyValues; }
|
|
54254
|
+
/* harmony export */ });
|
|
54255
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
54256
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
54257
|
+
/* harmony import */ var _core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(41180);
|
|
54258
|
+
/* harmony import */ var _readers_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(54426);
|
|
54259
|
+
/* harmony import */ var _image_properties_utils_utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(14415);
|
|
54260
|
+
/*!
|
|
54261
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
54262
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
54263
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
54264
|
+
*/
|
|
54265
|
+
|
|
54266
|
+
|
|
54267
|
+
|
|
54268
|
+
|
|
54269
|
+
const cssSize = (value)=>value === '' ? null : (0,_image_properties_utils_utils_js__WEBPACK_IMPORTED_MODULE_4__.normalSizeToString)(value);
|
|
54270
|
+
// Sizes go on as the resizer writes them: an embed takes them as attributes,
|
|
54271
|
+
// and a video as CSS, without a height while its ratio is kept, if it had none
|
|
54272
|
+
function applySize(j, state) {
|
|
54273
|
+
var _a;
|
|
54274
|
+
const { media, values } = state;
|
|
54275
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(media, 'iframe')) {
|
|
54276
|
+
[
|
|
54277
|
+
'width',
|
|
54278
|
+
'height'
|
|
54279
|
+
].forEach((key)=>{
|
|
54280
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(media, key, values[key] === '' ? null : values[key]);
|
|
54281
|
+
if ((0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__.cssInline)(media, key)) {
|
|
54282
|
+
(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__.css)(media, key, cssSize(values[key]));
|
|
54283
|
+
}
|
|
54284
|
+
});
|
|
54285
|
+
// The resizer's frame for an embed
|
|
54286
|
+
const wrapper = media.parentElement;
|
|
54287
|
+
if (wrapper && (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(wrapper, 'data-jodit_iframe_wrapper')) {
|
|
54288
|
+
(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__.css)(wrapper, {
|
|
54289
|
+
width: media.offsetWidth,
|
|
54290
|
+
height: media.offsetHeight
|
|
54291
|
+
});
|
|
54292
|
+
}
|
|
54293
|
+
return;
|
|
54294
|
+
}
|
|
54295
|
+
const heightFollowsWidth = state.sizeIsLocked && !(0,_readers_js__WEBPACK_IMPORTED_MODULE_3__.ownSize)(media, 'height');
|
|
54296
|
+
(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__.css)(media, {
|
|
54297
|
+
width: cssSize(values.width),
|
|
54298
|
+
height: heightFollowsWidth ? null : cssSize(values.height)
|
|
54299
|
+
});
|
|
54300
|
+
if (!((_a = (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(media, 'style')) === null || _a === void 0 ? void 0 : _a.trim())) {
|
|
54301
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(media, 'style', null);
|
|
54302
|
+
}
|
|
54303
|
+
j.e.fire(media, 'changesize');
|
|
54304
|
+
}
|
|
54305
|
+
function setFlag(media, name, on) {
|
|
54306
|
+
if (media.hasAttribute(name) !== on) {
|
|
54307
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(media, name, on ? '' : null);
|
|
54308
|
+
}
|
|
54309
|
+
}
|
|
54310
|
+
/**
|
|
54311
|
+
* Apply the dialog's values to the media
|
|
54312
|
+
* @private
|
|
54313
|
+
*/ function applyValues(j, state, sizeChanged) {
|
|
54314
|
+
const { media, values } = state;
|
|
54315
|
+
if (sizeChanged && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(media, 'audio')) {
|
|
54316
|
+
applySize(j, state);
|
|
54317
|
+
}
|
|
54318
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(media, 'iframe')) {
|
|
54319
|
+
return;
|
|
54320
|
+
}
|
|
54321
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(media, 'video')) {
|
|
54322
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(media, 'poster', values.poster || null);
|
|
54323
|
+
}
|
|
54324
|
+
// Browsers only autoplay muted media, and playsinline keeps an iPhone from
|
|
54325
|
+
// playing it full screen
|
|
54326
|
+
setFlag(media, 'autoplay', values.autoplay);
|
|
54327
|
+
setFlag(media, 'muted', values.autoplay || values.muted);
|
|
54328
|
+
setFlag(media, 'loop', values.loop);
|
|
54329
|
+
setFlag(media, 'controls', values.controls || !values.autoplay);
|
|
54330
|
+
if (values.autoplay && _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(media, 'video')) {
|
|
54331
|
+
setFlag(media, 'playsinline', true);
|
|
54332
|
+
}
|
|
54333
|
+
}
|
|
54334
|
+
|
|
54335
|
+
|
|
54336
|
+
/***/ }),
|
|
54337
|
+
|
|
54338
|
+
/***/ 14984:
|
|
54339
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
54340
|
+
|
|
54341
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
54342
|
+
/* harmony export */ videoTabs: function() { return /* binding */ videoTabs; }
|
|
54343
|
+
/* harmony export */ });
|
|
53366
54344
|
/* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21537);
|
|
53367
54345
|
/* harmony import */ var _core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(62843);
|
|
53368
54346
|
/* harmony import */ var _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2525);
|
|
@@ -53397,77 +54375,88 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.video = {
|
|
|
53397
54375
|
defaultHandlerSuccess: insertVideos
|
|
53398
54376
|
};
|
|
53399
54377
|
_core_ui_icon_js__WEBPACK_IMPORTED_MODULE_3__.Icon.set('video', _video_svg_js__WEBPACK_IMPORTED_MODULE_6__["default"]);
|
|
53400
|
-
|
|
53401
|
-
|
|
53402
|
-
|
|
53403
|
-
|
|
53404
|
-
|
|
53405
|
-
|
|
53406
|
-
|
|
53407
|
-
|
|
53408
|
-
|
|
53409
|
-
|
|
53410
|
-
|
|
53411
|
-
|
|
53412
|
-
|
|
53413
|
-
|
|
53414
|
-
|
|
53415
|
-
|
|
53416
|
-
|
|
53417
|
-
|
|
53418
|
-
|
|
53419
|
-
|
|
53420
|
-
|
|
53421
|
-
|
|
53422
|
-
|
|
53423
|
-
|
|
53424
|
-
|
|
53425
|
-
|
|
53426
|
-
|
|
53427
|
-
|
|
53428
|
-
|
|
53429
|
-
|
|
53430
|
-
|
|
53431
|
-
|
|
53432
|
-
|
|
54378
|
+
/**
|
|
54379
|
+
* The video popup's tabs: Upload, when the uploader is configured, then Link
|
|
54380
|
+
* and Code. `insert` runs what a tab inserts, which by default goes in at the
|
|
54381
|
+
* selection the popup was opened with.
|
|
54382
|
+
*/ function videoTabs(jodit, close, insert) {
|
|
54383
|
+
const run = insert !== null && insert !== void 0 ? insert : (fn)=>{
|
|
54384
|
+
jodit.s.restore();
|
|
54385
|
+
fn();
|
|
54386
|
+
};
|
|
54387
|
+
const formLink = new _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_2__.UIForm(jodit, [
|
|
54388
|
+
new _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_2__.UIBlock(jodit, [
|
|
54389
|
+
new _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_2__.UIInput(jodit, {
|
|
54390
|
+
name: 'url',
|
|
54391
|
+
required: true,
|
|
54392
|
+
label: 'URL',
|
|
54393
|
+
placeholder: 'https://',
|
|
54394
|
+
validators: [
|
|
54395
|
+
'url'
|
|
54396
|
+
]
|
|
54397
|
+
})
|
|
54398
|
+
]),
|
|
54399
|
+
new _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_2__.UIBlock(jodit, [
|
|
54400
|
+
(0,_core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_1__.Button)(jodit, '', 'Insert', 'primary').onAction(()=>formLink.submit())
|
|
54401
|
+
])
|
|
54402
|
+
]), formCode = new _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_2__.UIForm(jodit, [
|
|
54403
|
+
new _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_2__.UIBlock(jodit, [
|
|
54404
|
+
new _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_2__.UITextArea(jodit, {
|
|
54405
|
+
name: 'code',
|
|
54406
|
+
required: true,
|
|
54407
|
+
label: 'Embed code'
|
|
54408
|
+
})
|
|
54409
|
+
]),
|
|
54410
|
+
new _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_2__.UIBlock(jodit, [
|
|
54411
|
+
(0,_core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_1__.Button)(jodit, '', 'Insert', 'primary').onAction(()=>formCode.submit())
|
|
54412
|
+
])
|
|
54413
|
+
]), tabs = [], insertCode = (code)=>{
|
|
54414
|
+
run(()=>jodit.s.insertHTML((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__.prepareEmbedCode)(jodit, code)));
|
|
54415
|
+
close();
|
|
54416
|
+
};
|
|
54417
|
+
if (!insert) {
|
|
53433
54418
|
jodit.s.save();
|
|
53434
|
-
|
|
53435
|
-
|
|
53436
|
-
|
|
53437
|
-
|
|
54419
|
+
}
|
|
54420
|
+
const { uploader } = jodit.o;
|
|
54421
|
+
// Base64 alone would put whole video files into the content
|
|
54422
|
+
if (uploader.showTabInFileSelector !== false && (uploader.url || uploader.customUploadFunction)) {
|
|
54423
|
+
tabs.push((0,_modules_widget_index_js__WEBPACK_IMPORTED_MODULE_5__.UploadTab)(jodit, (data)=>{
|
|
54424
|
+
run(()=>{
|
|
53438
54425
|
var _a, _b;
|
|
53439
|
-
jodit.
|
|
53440
|
-
|
|
53441
|
-
}, {
|
|
53442
|
-
label: 'Drop file',
|
|
53443
|
-
accept: 'video/*'
|
|
53444
|
-
}));
|
|
53445
|
-
}
|
|
53446
|
-
tabs.push({
|
|
53447
|
-
icon: 'link',
|
|
53448
|
-
name: 'Link',
|
|
53449
|
-
content: formLink.container
|
|
54426
|
+
return ((_b = (_a = jodit.o.video) === null || _a === void 0 ? void 0 : _a.defaultHandlerSuccess) !== null && _b !== void 0 ? _b : insertVideos).call(jodit, data);
|
|
54427
|
+
});
|
|
53450
54428
|
}, {
|
|
53451
|
-
|
|
53452
|
-
|
|
53453
|
-
|
|
53454
|
-
|
|
53455
|
-
|
|
53456
|
-
|
|
53457
|
-
|
|
53458
|
-
|
|
53459
|
-
|
|
53460
|
-
|
|
53461
|
-
|
|
53462
|
-
formCode.
|
|
53463
|
-
|
|
53464
|
-
|
|
53465
|
-
|
|
53466
|
-
|
|
53467
|
-
|
|
53468
|
-
|
|
53469
|
-
|
|
53470
|
-
}
|
|
54429
|
+
label: 'Drop file',
|
|
54430
|
+
accept: 'video/*'
|
|
54431
|
+
}));
|
|
54432
|
+
}
|
|
54433
|
+
tabs.push({
|
|
54434
|
+
icon: 'link',
|
|
54435
|
+
name: 'Link',
|
|
54436
|
+
content: formLink.container
|
|
54437
|
+
}, {
|
|
54438
|
+
icon: 'source',
|
|
54439
|
+
name: 'Code',
|
|
54440
|
+
content: formCode.container
|
|
54441
|
+
});
|
|
54442
|
+
formLink.onSubmit((data)=>{
|
|
54443
|
+
var _a, _b, _c, _d;
|
|
54444
|
+
insertCode((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__.call)((_b = (_a = jodit.o.video) === null || _a === void 0 ? void 0 : _a.parseUrlToVideoEmbed) !== null && _b !== void 0 ? _b : _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__.convertMediaUrlToVideoEmbed, data.url, {
|
|
54445
|
+
width: (_c = jodit.o.video) === null || _c === void 0 ? void 0 : _c.defaultWidth,
|
|
54446
|
+
height: (_d = jodit.o.video) === null || _d === void 0 ? void 0 : _d.defaultHeight
|
|
54447
|
+
}));
|
|
54448
|
+
});
|
|
54449
|
+
formCode.onSubmit((data)=>{
|
|
54450
|
+
insertCode(data.code);
|
|
54451
|
+
});
|
|
54452
|
+
const box = (0,_modules_widget_index_js__WEBPACK_IMPORTED_MODULE_5__.TabsWidget)(jodit, tabs);
|
|
54453
|
+
// Its tabs are sized to their labels, as the file selector's are, since
|
|
54454
|
+
// "Upload" doesn't fit a third of the popup
|
|
54455
|
+
box.classList.add('jodit-file-selector');
|
|
54456
|
+
return box;
|
|
54457
|
+
}
|
|
54458
|
+
_config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.video = {
|
|
54459
|
+
popup: (jodit, current, close)=>videoTabs(jodit, close),
|
|
53471
54460
|
tags: [
|
|
53472
54461
|
'iframe'
|
|
53473
54462
|
],
|