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/es2015/jodit.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* jodit-pro - PRO Version of Jodit Editor
|
|
3
3
|
* Author: Chupurnov Valerii <chupurnov@gmail.com>
|
|
4
|
-
* Version: v4.18.
|
|
4
|
+
* Version: v4.18.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 = {};
|
|
@@ -1816,7 +1814,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1816
1814
|
* ```
|
|
1817
1815
|
* @packageDocumentation
|
|
1818
1816
|
* @module constants
|
|
1819
|
-
*/ const APP_VERSION = "4.18.
|
|
1817
|
+
*/ const APP_VERSION = "4.18.7";
|
|
1820
1818
|
// prettier-ignore
|
|
1821
1819
|
const ES = "es2015";
|
|
1822
1820
|
const IS_ES_MODERN = true;
|
|
@@ -7520,7 +7518,7 @@ const classSets = (value)=>((0,_checker_is_array_js__WEBPACK_IMPORTED_MODULE_1__
|
|
|
7520
7518
|
/**
|
|
7521
7519
|
* The class names to align `elm` with: `alignClasses` for its tag, or for the
|
|
7522
7520
|
* media in it when it wraps media (a `mediaWrappers` wrapper, `jodit` or
|
|
7523
|
-
* `jodit-media`)
|
|
7521
|
+
* `jodit-media`)
|
|
7524
7522
|
*/ function getAlignClasses(jodit, elm) {
|
|
7525
7523
|
var _a, _b;
|
|
7526
7524
|
if (!elm) {
|
|
@@ -7530,8 +7528,7 @@ const classSets = (value)=>((0,_checker_is_array_js__WEBPACK_IMPORTED_MODULE_1__
|
|
|
7530
7528
|
'jodit',
|
|
7531
7529
|
'jodit-media'
|
|
7532
7530
|
])) ? elm.firstElementChild : (0,_media_wrapper_js__WEBPACK_IMPORTED_MODULE_4__.getWrappedMedia)(jodit, elm);
|
|
7533
|
-
|
|
7534
|
-
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;
|
|
7531
|
+
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;
|
|
7535
7532
|
}
|
|
7536
7533
|
/**
|
|
7537
7534
|
* Align image, with `classes` (see `alignClasses`) instead of inline styles
|
|
@@ -18395,6 +18392,19 @@ const __defaultClassesKey = 'data-jodit-default-classes';
|
|
|
18395
18392
|
const NOEDIT = {
|
|
18396
18393
|
contenteditable: false
|
|
18397
18394
|
};
|
|
18395
|
+
/**
|
|
18396
|
+
* The editor's options, with the deprecated `imageAlignClasses` copied into
|
|
18397
|
+
* `alignClasses.img` when that isn't set
|
|
18398
|
+
*/ function makeOptions(options) {
|
|
18399
|
+
var _a;
|
|
18400
|
+
const opt = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.ConfigProto)(options || {}, _config_js__WEBPACK_IMPORTED_MODULE_7__.Config.defaultOptions);
|
|
18401
|
+
if (opt.imageAlignClasses && !((_a = opt.alignClasses) === null || _a === void 0 ? void 0 : _a.img)) {
|
|
18402
|
+
opt.alignClasses = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.ConfigProto)({
|
|
18403
|
+
img: opt.imageAlignClasses
|
|
18404
|
+
}, opt.alignClasses);
|
|
18405
|
+
}
|
|
18406
|
+
return opt;
|
|
18407
|
+
}
|
|
18398
18408
|
let Jodit = Jodit_1 = class Jodit extends _modules_index_js__WEBPACK_IMPORTED_MODULE_8__.ViewWithToolbar {
|
|
18399
18409
|
/** @override */ className() {
|
|
18400
18410
|
return 'Jodit';
|
|
@@ -19163,7 +19173,7 @@ let Jodit = Jodit_1 = class Jodit extends _modules_index_js__WEBPACK_IMPORTED_MO
|
|
|
19163
19173
|
// do nothing
|
|
19164
19174
|
}
|
|
19165
19175
|
/** @override **/ initOptions(options) {
|
|
19166
|
-
this.options = (
|
|
19176
|
+
this.options = makeOptions(options);
|
|
19167
19177
|
}
|
|
19168
19178
|
/** @override **/ initOwners() {
|
|
19169
19179
|
// in iframe, it can be changed
|
|
@@ -19277,7 +19287,7 @@ let Jodit = Jodit_1 = class Jodit extends _modules_index_js__WEBPACK_IMPORTED_MO
|
|
|
19277
19287
|
right: rightSlot
|
|
19278
19288
|
},
|
|
19279
19289
|
statusbar: new _modules_index_js__WEBPACK_IMPORTED_MODULE_8__.StatusBar(this, container),
|
|
19280
|
-
options: this.isReady ? (
|
|
19290
|
+
options: this.isReady ? makeOptions(options) : this.options,
|
|
19281
19291
|
history: new _modules_index_js__WEBPACK_IMPORTED_MODULE_8__.History(this),
|
|
19282
19292
|
editorWindow: this.ow
|
|
19283
19293
|
};
|
|
@@ -19878,7 +19888,14 @@ function addClassNames(className, elm) {
|
|
|
19878
19888
|
'Line height': 'ارتفاع الخط',
|
|
19879
19889
|
spellcheck: 'التدقيق الإملائي',
|
|
19880
19890
|
'Speech Recognize': 'التعرف على الكلام',
|
|
19881
|
-
All: 'تحديد الكل'
|
|
19891
|
+
All: 'تحديد الكل',
|
|
19892
|
+
'Video properties': 'خصائص الفيديو',
|
|
19893
|
+
'Audio properties': 'خصائص الصوت',
|
|
19894
|
+
Poster: 'صورة الغلاف',
|
|
19895
|
+
Autoplay: 'تشغيل تلقائي',
|
|
19896
|
+
Loop: 'تكرار',
|
|
19897
|
+
Muted: 'مكتوم الصوت',
|
|
19898
|
+
Controls: 'عناصر التحكم'
|
|
19882
19899
|
});
|
|
19883
19900
|
|
|
19884
19901
|
|
|
@@ -20112,7 +20129,14 @@ function addClassNames(className, elm) {
|
|
|
20112
20129
|
'Find Next': 'Növbətini tap',
|
|
20113
20130
|
'Insert className': 'className (CSS) əlavə et',
|
|
20114
20131
|
'Press Alt for custom resizing': 'Fərdi ölçüləndirmə üçün Alt düyməsini basın',
|
|
20115
|
-
'License: %s': 'Lisenziya: %s'
|
|
20132
|
+
'License: %s': 'Lisenziya: %s',
|
|
20133
|
+
'Video properties': 'Video xassələri',
|
|
20134
|
+
'Audio properties': 'Audio xassələri',
|
|
20135
|
+
Poster: 'Örtük şəkli',
|
|
20136
|
+
Autoplay: 'Avtomatik oynatma',
|
|
20137
|
+
Loop: 'Təkrarla',
|
|
20138
|
+
Muted: 'Səssiz',
|
|
20139
|
+
Controls: 'İdarəetmə elementləri'
|
|
20116
20140
|
});
|
|
20117
20141
|
|
|
20118
20142
|
|
|
@@ -20338,7 +20362,14 @@ function addClassNames(className, elm) {
|
|
|
20338
20362
|
'Find Previous': 'Najít Předchozí',
|
|
20339
20363
|
'Find Next': 'Najít Další',
|
|
20340
20364
|
'Insert className': 'Vložte název třídy',
|
|
20341
|
-
'Press Alt for custom resizing': 'Stiskněte Alt pro vlastní změnu velikosti'
|
|
20365
|
+
'Press Alt for custom resizing': 'Stiskněte Alt pro vlastní změnu velikosti',
|
|
20366
|
+
'Video properties': 'Vlastnosti videa',
|
|
20367
|
+
'Audio properties': 'Vlastnosti zvuku',
|
|
20368
|
+
Poster: 'Náhledový obrázek',
|
|
20369
|
+
Autoplay: 'Automatické přehrávání',
|
|
20370
|
+
Loop: 'Opakovat',
|
|
20371
|
+
Muted: 'Ztlumeno',
|
|
20372
|
+
Controls: 'Ovládací prvky'
|
|
20342
20373
|
});
|
|
20343
20374
|
|
|
20344
20375
|
|
|
@@ -20568,7 +20599,14 @@ function addClassNames(className, elm) {
|
|
|
20568
20599
|
'Find Next': 'Weitersuchen',
|
|
20569
20600
|
'Insert className': 'className (CSS) einfügen',
|
|
20570
20601
|
'Press Alt for custom resizing': 'Drücken Sie Alt für benutzerdefinierte Größenanpassung',
|
|
20571
|
-
'License: %s': 'Lizenz: %s'
|
|
20602
|
+
'License: %s': 'Lizenz: %s',
|
|
20603
|
+
'Video properties': 'Videoeigenschaften',
|
|
20604
|
+
'Audio properties': 'Audioeigenschaften',
|
|
20605
|
+
Poster: 'Vorschaubild',
|
|
20606
|
+
Autoplay: 'Automatische Wiedergabe',
|
|
20607
|
+
Loop: 'Wiederholen',
|
|
20608
|
+
Muted: 'Stumm',
|
|
20609
|
+
Controls: 'Steuerelemente'
|
|
20572
20610
|
});
|
|
20573
20611
|
|
|
20574
20612
|
|
|
@@ -20815,7 +20853,14 @@ function addClassNames(className, elm) {
|
|
|
20815
20853
|
'Find Next': 'Buscar Siguiente',
|
|
20816
20854
|
'Insert className': 'Insertar nombre de clase',
|
|
20817
20855
|
'Press Alt for custom resizing': 'Presione Alt para cambiar el tamaño personalizado',
|
|
20818
|
-
'License: %s': 'Licencia: %s'
|
|
20856
|
+
'License: %s': 'Licencia: %s',
|
|
20857
|
+
'Video properties': 'Propiedades del video',
|
|
20858
|
+
'Audio properties': 'Propiedades del audio',
|
|
20859
|
+
Poster: 'Imagen de portada',
|
|
20860
|
+
Autoplay: 'Reproducción automática',
|
|
20861
|
+
Loop: 'Repetir',
|
|
20862
|
+
Muted: 'Silenciado',
|
|
20863
|
+
Controls: 'Controles'
|
|
20819
20864
|
});
|
|
20820
20865
|
|
|
20821
20866
|
|
|
@@ -21040,7 +21085,14 @@ function addClassNames(className, elm) {
|
|
|
21040
21085
|
'Find Next': 'پیدا کردن بعدی',
|
|
21041
21086
|
'Insert className': 'Insertar nombre de clase',
|
|
21042
21087
|
'Press Alt for custom resizing': 'برای تغییر اندازه سفارشی فشار دهید',
|
|
21043
|
-
'License: %s': 'مجوز: %s'
|
|
21088
|
+
'License: %s': 'مجوز: %s',
|
|
21089
|
+
'Video properties': 'ویژگیهای ویدیو',
|
|
21090
|
+
'Audio properties': 'ویژگیهای صدا',
|
|
21091
|
+
Poster: 'تصویر پیشنمایش',
|
|
21092
|
+
Autoplay: 'پخش خودکار',
|
|
21093
|
+
Loop: 'تکرار',
|
|
21094
|
+
Muted: 'بیصدا',
|
|
21095
|
+
Controls: 'کنترلها'
|
|
21044
21096
|
});
|
|
21045
21097
|
|
|
21046
21098
|
|
|
@@ -21271,7 +21323,14 @@ function addClassNames(className, elm) {
|
|
|
21271
21323
|
'Insert className': 'Lisää luokkanimi',
|
|
21272
21324
|
'Press Alt for custom resizing': 'Paina Alt muokattuun koon muuttamiseen',
|
|
21273
21325
|
'Class name': 'Luokan nimi',
|
|
21274
|
-
'License: %s': 'Lisenssi: %s'
|
|
21326
|
+
'License: %s': 'Lisenssi: %s',
|
|
21327
|
+
'Video properties': 'Videon ominaisuudet',
|
|
21328
|
+
'Audio properties': 'Äänen ominaisuudet',
|
|
21329
|
+
Poster: 'Kansikuva',
|
|
21330
|
+
Autoplay: 'Automaattinen toisto',
|
|
21331
|
+
Loop: 'Toista uudelleen',
|
|
21332
|
+
Muted: 'Mykistetty',
|
|
21333
|
+
Controls: 'Säätimet'
|
|
21275
21334
|
});
|
|
21276
21335
|
|
|
21277
21336
|
|
|
@@ -21496,7 +21555,14 @@ function addClassNames(className, elm) {
|
|
|
21496
21555
|
'Embed code': "Code d'intégration",
|
|
21497
21556
|
Edit: 'Modifier',
|
|
21498
21557
|
All: 'Tout sélectionner',
|
|
21499
|
-
'License: %s': 'Licence: %s'
|
|
21558
|
+
'License: %s': 'Licence: %s',
|
|
21559
|
+
'Video properties': 'Propriétés de la vidéo',
|
|
21560
|
+
'Audio properties': "Propriétés de l'audio",
|
|
21561
|
+
Poster: "Image d'aperçu",
|
|
21562
|
+
Autoplay: 'Lecture automatique',
|
|
21563
|
+
Loop: 'Lecture en boucle',
|
|
21564
|
+
Muted: 'Muet',
|
|
21565
|
+
Controls: 'Commandes'
|
|
21500
21566
|
});
|
|
21501
21567
|
|
|
21502
21568
|
|
|
@@ -21721,7 +21787,14 @@ function addClassNames(className, elm) {
|
|
|
21721
21787
|
'Find Next': 'חפש את הבא',
|
|
21722
21788
|
'Insert className': 'הכנס את שם הכיתה',
|
|
21723
21789
|
'Press Alt for custom resizing': 'לחץ על אלט לשינוי גודל מותאם אישית',
|
|
21724
|
-
'License: %s': 'רישיון: %s'
|
|
21790
|
+
'License: %s': 'רישיון: %s',
|
|
21791
|
+
'Video properties': 'מאפייני וידאו',
|
|
21792
|
+
'Audio properties': 'מאפייני שמע',
|
|
21793
|
+
Poster: 'תמונת תצוגה מקדימה',
|
|
21794
|
+
Autoplay: 'ניגון אוטומטי',
|
|
21795
|
+
Loop: 'הפעלה חוזרת',
|
|
21796
|
+
Muted: 'מושתק',
|
|
21797
|
+
Controls: 'פקדים'
|
|
21725
21798
|
});
|
|
21726
21799
|
|
|
21727
21800
|
|
|
@@ -21948,7 +22021,14 @@ function addClassNames(className, elm) {
|
|
|
21948
22021
|
'Find Next': 'Következő Keresése',
|
|
21949
22022
|
'Insert className': 'Helyezze be az osztály nevét',
|
|
21950
22023
|
'Press Alt for custom resizing': 'Nyomja meg az Alt egyéni átméretezés',
|
|
21951
|
-
'License: %s': 'Licenc: %s'
|
|
22024
|
+
'License: %s': 'Licenc: %s',
|
|
22025
|
+
'Video properties': 'Videó tulajdonságai',
|
|
22026
|
+
'Audio properties': 'Hang tulajdonságai',
|
|
22027
|
+
Poster: 'Előnézeti kép',
|
|
22028
|
+
Autoplay: 'Automatikus lejátszás',
|
|
22029
|
+
Loop: 'Ismétlés',
|
|
22030
|
+
Muted: 'Némítva',
|
|
22031
|
+
Controls: 'Vezérlők'
|
|
21952
22032
|
});
|
|
21953
22033
|
|
|
21954
22034
|
|
|
@@ -22174,7 +22254,14 @@ function addClassNames(className, elm) {
|
|
|
22174
22254
|
'Find Previous': 'Menemukan Sebelumnya',
|
|
22175
22255
|
'Find Next': 'Menemukan Berikutnya',
|
|
22176
22256
|
'Insert className': 'Masukkan nama kelas',
|
|
22177
|
-
'Press Alt for custom resizing': 'Tekan Alt untuk mengubah ukuran kustom'
|
|
22257
|
+
'Press Alt for custom resizing': 'Tekan Alt untuk mengubah ukuran kustom',
|
|
22258
|
+
'Video properties': 'Properti video',
|
|
22259
|
+
'Audio properties': 'Properti audio',
|
|
22260
|
+
Poster: 'Gambar sampul',
|
|
22261
|
+
Autoplay: 'Putar otomatis',
|
|
22262
|
+
Loop: 'Ulangi',
|
|
22263
|
+
Muted: 'Dibisukan',
|
|
22264
|
+
Controls: 'Kontrol'
|
|
22178
22265
|
});
|
|
22179
22266
|
|
|
22180
22267
|
|
|
@@ -22404,7 +22491,14 @@ function addClassNames(className, elm) {
|
|
|
22404
22491
|
'Find Next': 'Trova Successivo',
|
|
22405
22492
|
'Insert className': 'Inserisci il nome della classe',
|
|
22406
22493
|
'Press Alt for custom resizing': 'Premere Alt per il ridimensionamento personalizzato',
|
|
22407
|
-
'License: %s': 'Licenza: %s'
|
|
22494
|
+
'License: %s': 'Licenza: %s',
|
|
22495
|
+
'Video properties': 'Proprietà del video',
|
|
22496
|
+
'Audio properties': "Proprietà dell'audio",
|
|
22497
|
+
Poster: 'Immagine di anteprima',
|
|
22498
|
+
Autoplay: 'Riproduzione automatica',
|
|
22499
|
+
Loop: 'Ripeti',
|
|
22500
|
+
Muted: 'Muto',
|
|
22501
|
+
Controls: 'Controlli'
|
|
22408
22502
|
});
|
|
22409
22503
|
|
|
22410
22504
|
|
|
@@ -22634,7 +22728,14 @@ function addClassNames(className, elm) {
|
|
|
22634
22728
|
'Upper Roman': 'ローマ数字大文字',
|
|
22635
22729
|
'Insert className': 'クラス名を挿入',
|
|
22636
22730
|
'Press Alt for custom resizing': 'カスタムサイズ変更のためのAltキーを押します',
|
|
22637
|
-
'License: %s': 'ライセンス: %s'
|
|
22731
|
+
'License: %s': 'ライセンス: %s',
|
|
22732
|
+
'Video properties': '動画のプロパティー',
|
|
22733
|
+
'Audio properties': '音声のプロパティー',
|
|
22734
|
+
Poster: 'ポスター画像',
|
|
22735
|
+
Autoplay: '自動再生',
|
|
22736
|
+
Loop: 'ループ再生',
|
|
22737
|
+
Muted: 'ミュート',
|
|
22738
|
+
Controls: 'コントロール'
|
|
22638
22739
|
});
|
|
22639
22740
|
|
|
22640
22741
|
|
|
@@ -22870,7 +22971,14 @@ function addClassNames(className, elm) {
|
|
|
22870
22971
|
'Find Previous': '이전 찾기',
|
|
22871
22972
|
'Find Next': '다음 찾기',
|
|
22872
22973
|
'Insert className': 'className 입력',
|
|
22873
|
-
'Press Alt for custom resizing': '사용자 지정 크기 조정에 대 한 고도 누르십시오'
|
|
22974
|
+
'Press Alt for custom resizing': '사용자 지정 크기 조정에 대 한 고도 누르십시오',
|
|
22975
|
+
'Video properties': '동영상 속성',
|
|
22976
|
+
'Audio properties': '오디오 속성',
|
|
22977
|
+
Poster: '포스터 이미지',
|
|
22978
|
+
Autoplay: '자동 재생',
|
|
22979
|
+
Loop: '반복 재생',
|
|
22980
|
+
Muted: '음소거',
|
|
22981
|
+
Controls: '컨트롤'
|
|
22874
22982
|
});
|
|
22875
22983
|
|
|
22876
22984
|
|
|
@@ -23095,7 +23203,14 @@ function addClassNames(className, elm) {
|
|
|
23095
23203
|
'Find Next': 'Дараагийнхийг ол',
|
|
23096
23204
|
'Insert className': 'Бүлгийн нэрээ оруулна уу',
|
|
23097
23205
|
'Press Alt for custom resizing': 'Хэмжээсийг шинээр өөчрлөхийн тулд Alt товчин дээр дарна уу',
|
|
23098
|
-
'License: %s': 'Лиценз: %s'
|
|
23206
|
+
'License: %s': 'Лиценз: %s',
|
|
23207
|
+
'Video properties': 'Видеоны үзүүлэлт',
|
|
23208
|
+
'Audio properties': 'Аудионы үзүүлэлт',
|
|
23209
|
+
Poster: 'Нүүр зураг',
|
|
23210
|
+
Autoplay: 'Автоматаар тоглуулах',
|
|
23211
|
+
Loop: 'Давтах',
|
|
23212
|
+
Muted: 'Дуугүй',
|
|
23213
|
+
Controls: 'Удирдлага'
|
|
23099
23214
|
});
|
|
23100
23215
|
|
|
23101
23216
|
|
|
@@ -23321,7 +23436,14 @@ function addClassNames(className, elm) {
|
|
|
23321
23436
|
'Find Next': 'Volgende Zoeken',
|
|
23322
23437
|
'Insert className': 'Voeg de klassenaam in',
|
|
23323
23438
|
'Press Alt for custom resizing': 'Druk op Alt voor aangepaste grootte',
|
|
23324
|
-
'License: %s': 'Licentie: %s'
|
|
23439
|
+
'License: %s': 'Licentie: %s',
|
|
23440
|
+
'Video properties': 'Video-eigenschappen',
|
|
23441
|
+
'Audio properties': 'Audio-eigenschappen',
|
|
23442
|
+
Poster: 'Voorbeeldafbeelding',
|
|
23443
|
+
Autoplay: 'Automatisch afspelen',
|
|
23444
|
+
Loop: 'Herhalen',
|
|
23445
|
+
Muted: 'Gedempt',
|
|
23446
|
+
Controls: 'Bedieningselementen'
|
|
23325
23447
|
});
|
|
23326
23448
|
|
|
23327
23449
|
|
|
@@ -23555,7 +23677,14 @@ function addClassNames(className, elm) {
|
|
|
23555
23677
|
Dot: 'Prikk',
|
|
23556
23678
|
Quadrate: 'Firkant',
|
|
23557
23679
|
'Find Previous': 'Finn forrige',
|
|
23558
|
-
'Find Next': 'Finn neste'
|
|
23680
|
+
'Find Next': 'Finn neste',
|
|
23681
|
+
'Video properties': 'Videoegenskaper',
|
|
23682
|
+
'Audio properties': 'Lydegenskaper',
|
|
23683
|
+
Poster: 'Forsidebilde',
|
|
23684
|
+
Autoplay: 'Automatisk avspilling',
|
|
23685
|
+
Loop: 'Gjenta',
|
|
23686
|
+
Muted: 'Dempet',
|
|
23687
|
+
Controls: 'Kontroller'
|
|
23559
23688
|
});
|
|
23560
23689
|
|
|
23561
23690
|
|
|
@@ -23780,7 +23909,14 @@ function addClassNames(className, elm) {
|
|
|
23780
23909
|
'Find Next': 'Znajdź Dalej',
|
|
23781
23910
|
'Insert className': 'Wstaw nazwę zajęć',
|
|
23782
23911
|
'Press Alt for custom resizing': 'Naciśnij Alt, aby zmienić rozmiar',
|
|
23783
|
-
'License: %s': 'Licencja: %s'
|
|
23912
|
+
'License: %s': 'Licencja: %s',
|
|
23913
|
+
'Video properties': 'Właściwości filmu',
|
|
23914
|
+
'Audio properties': 'Właściwości dźwięku',
|
|
23915
|
+
Poster: 'Obraz podglądu',
|
|
23916
|
+
Autoplay: 'Autoodtwarzanie',
|
|
23917
|
+
Loop: 'Zapętlenie',
|
|
23918
|
+
Muted: 'Wyciszony',
|
|
23919
|
+
Controls: 'Elementy sterujące'
|
|
23784
23920
|
});
|
|
23785
23921
|
|
|
23786
23922
|
|
|
@@ -24010,7 +24146,14 @@ function addClassNames(className, elm) {
|
|
|
24010
24146
|
'Find Next': 'Localizar Próxima',
|
|
24011
24147
|
'Insert className': 'Insira o nome da classe',
|
|
24012
24148
|
'Press Alt for custom resizing': 'Pressione Alt para redimensionamento personalizado',
|
|
24013
|
-
'License: %s': 'Licença: %s'
|
|
24149
|
+
'License: %s': 'Licença: %s',
|
|
24150
|
+
'Video properties': 'Propriedades do vídeo',
|
|
24151
|
+
'Audio properties': 'Propriedades do áudio',
|
|
24152
|
+
Poster: 'Imagem de capa',
|
|
24153
|
+
Autoplay: 'Reprodução automática',
|
|
24154
|
+
Loop: 'Repetir',
|
|
24155
|
+
Muted: 'Sem som',
|
|
24156
|
+
Controls: 'Controles'
|
|
24014
24157
|
});
|
|
24015
24158
|
|
|
24016
24159
|
|
|
@@ -24234,7 +24377,14 @@ function addClassNames(className, elm) {
|
|
|
24234
24377
|
'Find Previous': 'Найти Предыдущие',
|
|
24235
24378
|
'Find Next': 'Найти Далее',
|
|
24236
24379
|
'Insert className': 'Вставить название класса',
|
|
24237
|
-
'Press Alt for custom resizing': 'Нажмите Alt для изменения пользовательского размера'
|
|
24380
|
+
'Press Alt for custom resizing': 'Нажмите Alt для изменения пользовательского размера',
|
|
24381
|
+
'Video properties': 'Свойства видео',
|
|
24382
|
+
'Audio properties': 'Свойства аудио',
|
|
24383
|
+
Poster: 'Обложка',
|
|
24384
|
+
Autoplay: 'Автовоспроизведение',
|
|
24385
|
+
Loop: 'Повтор',
|
|
24386
|
+
Muted: 'Без звука',
|
|
24387
|
+
Controls: 'Элементы управления'
|
|
24238
24388
|
});
|
|
24239
24389
|
|
|
24240
24390
|
|
|
@@ -24466,7 +24616,14 @@ function addClassNames(className, elm) {
|
|
|
24466
24616
|
'Select file': 'Vybrať súbor',
|
|
24467
24617
|
'Edit image': 'Upraviť obrázok',
|
|
24468
24618
|
'Tiles view': 'Zobrazenie dlaždíc',
|
|
24469
|
-
'List view': 'Zobrazenie zoznamu'
|
|
24619
|
+
'List view': 'Zobrazenie zoznamu',
|
|
24620
|
+
'Video properties': 'Vlastnosti videa',
|
|
24621
|
+
'Audio properties': 'Vlastnosti zvuku',
|
|
24622
|
+
Poster: 'Náhľadový obrázok',
|
|
24623
|
+
Autoplay: 'Automatické prehrávanie',
|
|
24624
|
+
Loop: 'Opakovať',
|
|
24625
|
+
Muted: 'Stlmené',
|
|
24626
|
+
Controls: 'Ovládacie prvky'
|
|
24470
24627
|
});
|
|
24471
24628
|
|
|
24472
24629
|
|
|
@@ -24699,7 +24856,14 @@ function addClassNames(className, elm) {
|
|
|
24699
24856
|
space: 'mellanslag',
|
|
24700
24857
|
'Embed code': 'Bädda in kod',
|
|
24701
24858
|
All: 'Välj alla',
|
|
24702
|
-
'License: %s': 'Licens: %s'
|
|
24859
|
+
'License: %s': 'Licens: %s',
|
|
24860
|
+
'Video properties': 'Videoegenskaper',
|
|
24861
|
+
'Audio properties': 'Ljudegenskaper',
|
|
24862
|
+
Poster: 'Affischbild',
|
|
24863
|
+
Autoplay: 'Automatisk uppspelning',
|
|
24864
|
+
Loop: 'Upprepa',
|
|
24865
|
+
Muted: 'Ljudlös',
|
|
24866
|
+
Controls: 'Kontroller'
|
|
24703
24867
|
});
|
|
24704
24868
|
|
|
24705
24869
|
|
|
@@ -24924,7 +25088,14 @@ function addClassNames(className, elm) {
|
|
|
24924
25088
|
'Find Next': 'Sonrakini Bul',
|
|
24925
25089
|
'Insert className': 'Sınıf adı girin',
|
|
24926
25090
|
'Press Alt for custom resizing': 'Özel yeniden boyutlandırma için Alt tuşuna basın',
|
|
24927
|
-
'License: %s': 'Lisans: %s'
|
|
25091
|
+
'License: %s': 'Lisans: %s',
|
|
25092
|
+
'Video properties': 'Video özellikleri',
|
|
25093
|
+
'Audio properties': 'Ses özellikleri',
|
|
25094
|
+
Poster: 'Kapak resmi',
|
|
25095
|
+
Autoplay: 'Otomatik oynat',
|
|
25096
|
+
Loop: 'Döngü',
|
|
25097
|
+
Muted: 'Sessiz',
|
|
25098
|
+
Controls: 'Kontroller'
|
|
24928
25099
|
});
|
|
24929
25100
|
|
|
24930
25101
|
|
|
@@ -25148,7 +25319,14 @@ function addClassNames(className, elm) {
|
|
|
25148
25319
|
'Find Previous': 'Знайти попередні',
|
|
25149
25320
|
'Find Next': 'Знайти наступні',
|
|
25150
25321
|
'Insert className': 'Вставити клас',
|
|
25151
|
-
'Press Alt for custom resizing': 'Натисніть Alt для зміни розміру'
|
|
25322
|
+
'Press Alt for custom resizing': 'Натисніть Alt для зміни розміру',
|
|
25323
|
+
'Video properties': 'Властивості відео',
|
|
25324
|
+
'Audio properties': 'Властивості аудіо',
|
|
25325
|
+
Poster: 'Обкладинка',
|
|
25326
|
+
Autoplay: 'Автовідтворення',
|
|
25327
|
+
Loop: 'Повтор',
|
|
25328
|
+
Muted: 'Без звуку',
|
|
25329
|
+
Controls: 'Елементи керування'
|
|
25152
25330
|
});
|
|
25153
25331
|
|
|
25154
25332
|
|
|
@@ -25374,7 +25552,14 @@ function addClassNames(className, elm) {
|
|
|
25374
25552
|
'Find Next': '查找下一个',
|
|
25375
25553
|
'Insert className': '插入班级名称',
|
|
25376
25554
|
'Press Alt for custom resizing': '按Alt自定义调整大小',
|
|
25377
|
-
'License: %s': '许可证: %s'
|
|
25555
|
+
'License: %s': '许可证: %s',
|
|
25556
|
+
'Video properties': '视频属性',
|
|
25557
|
+
'Audio properties': '音频属性',
|
|
25558
|
+
Poster: '封面图',
|
|
25559
|
+
Autoplay: '自动播放',
|
|
25560
|
+
Loop: '循环播放',
|
|
25561
|
+
Muted: '静音',
|
|
25562
|
+
Controls: '播放控件'
|
|
25378
25563
|
});
|
|
25379
25564
|
|
|
25380
25565
|
|
|
@@ -25599,7 +25784,14 @@ function addClassNames(className, elm) {
|
|
|
25599
25784
|
'Insert className': '插入 class 名稱',
|
|
25600
25785
|
'Press Alt for custom resizing': '按住 Alt 以調整自訂大小',
|
|
25601
25786
|
Edit: '編輯',
|
|
25602
|
-
'License: %s': '許可證: %s'
|
|
25787
|
+
'License: %s': '許可證: %s',
|
|
25788
|
+
'Video properties': '影片屬性',
|
|
25789
|
+
'Audio properties': '音訊屬性',
|
|
25790
|
+
Poster: '封面圖片',
|
|
25791
|
+
Autoplay: '自動播放',
|
|
25792
|
+
Loop: '循環播放',
|
|
25793
|
+
Muted: '靜音',
|
|
25794
|
+
Controls: '播放控制項'
|
|
25603
25795
|
});
|
|
25604
25796
|
|
|
25605
25797
|
|
|
@@ -34550,10 +34742,11 @@ UiAiAssistant = __decorate([
|
|
|
34550
34742
|
/* harmony import */ var _table_keyboard_navigation_table_keyboard_navigation_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(72439);
|
|
34551
34743
|
/* harmony import */ var _toolbar_navigation_toolbar_navigation_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(94529);
|
|
34552
34744
|
/* harmony import */ var _video_video_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(26551);
|
|
34553
|
-
/* harmony import */ var
|
|
34554
|
-
/* harmony import */ var
|
|
34555
|
-
/* harmony import */ var
|
|
34556
|
-
/* harmony import */ var
|
|
34745
|
+
/* harmony import */ var _video_properties_video_properties_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(96139);
|
|
34746
|
+
/* harmony import */ var _wrap_nodes_wrap_nodes_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(72253);
|
|
34747
|
+
/* harmony import */ var _dtd_dtd_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(65735);
|
|
34748
|
+
/* harmony import */ var _xpath_xpath_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(83671);
|
|
34749
|
+
/* harmony import */ var _speech_recognize_speech_recognize_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(3115);
|
|
34557
34750
|
/*!
|
|
34558
34751
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
34559
34752
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -34624,6 +34817,7 @@ UiAiAssistant = __decorate([
|
|
|
34624
34817
|
|
|
34625
34818
|
|
|
34626
34819
|
|
|
34820
|
+
|
|
34627
34821
|
|
|
34628
34822
|
|
|
34629
34823
|
// JODIT-START:FAT
|
|
@@ -41138,6 +41332,11 @@ function _async_to_generator(fn) {
|
|
|
41138
41332
|
const JODIT_IMAGE_PROCESSOR_BINDED = '__jodit_imageprocessor_binded';
|
|
41139
41333
|
const JODIT_IMAGE_BLOB_ID = JODIT_IMAGE_PROCESSOR_BINDED + 'blob-id';
|
|
41140
41334
|
const IMAGE_SELECTED = 'jodit-wysiwyg_image-selected';
|
|
41335
|
+
const SELECTED_TAGS = new Set([
|
|
41336
|
+
'img',
|
|
41337
|
+
'jodit',
|
|
41338
|
+
'jodit-media'
|
|
41339
|
+
]);
|
|
41141
41340
|
/**
|
|
41142
41341
|
* Change editor's size after load all images
|
|
41143
41342
|
*/ class imageProcessor extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plugin {
|
|
@@ -41179,7 +41378,10 @@ const IMAGE_SELECTED = 'jodit-wysiwyg_image-selected';
|
|
|
41179
41378
|
}
|
|
41180
41379
|
/**
|
|
41181
41380
|
* While the selection is an image, only the image is highlighted: Safari
|
|
41182
|
-
* paints the rest of a block image's line with its parent's highlight. See #1528
|
|
41381
|
+
* paints the rest of a block image's line with its parent's highlight. See #1528.
|
|
41382
|
+
* Media in a wrapper (`jodit-media`, the resizer's `jodit` for an embed, or
|
|
41383
|
+
* one from `mediaWrappers`) isn't highlighted either, as Safari paints its
|
|
41384
|
+
* wrapper's whole line, and its resize frame shows it's selected
|
|
41183
41385
|
*/ onSelectionChange() {
|
|
41184
41386
|
const { jodit } = this;
|
|
41185
41387
|
jodit.editor.classList.toggle(IMAGE_SELECTED, isImageSelected(jodit));
|
|
@@ -41235,7 +41437,8 @@ function isImageSelected(jodit) {
|
|
|
41235
41437
|
return false;
|
|
41236
41438
|
}
|
|
41237
41439
|
const { startContainer, startOffset, endContainer, endOffset } = sel.getRangeAt(0);
|
|
41238
|
-
|
|
41440
|
+
const node = startContainer.childNodes[startOffset];
|
|
41441
|
+
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);
|
|
41239
41442
|
}
|
|
41240
41443
|
/**
|
|
41241
41444
|
* Remove the invisible-space text beside an image, which only held a caret.
|
|
@@ -43529,6 +43732,12 @@ const cmd = (control)=>control.args && (0,_core_helpers_checker_index_js__WEBPAC
|
|
|
43529
43732
|
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
43530
43733
|
*/
|
|
43531
43734
|
/* harmony default export */ __webpack_exports__["default"] = ([
|
|
43735
|
+
{
|
|
43736
|
+
name: 'replace',
|
|
43737
|
+
icon: 'video',
|
|
43738
|
+
tooltip: 'Replace',
|
|
43739
|
+
popup: (editor, target, close)=>target ? editor.e.fire('generateReplaceVideoTabs', target, close) : undefined
|
|
43740
|
+
},
|
|
43532
43741
|
{
|
|
43533
43742
|
name: 'bin',
|
|
43534
43743
|
tooltip: 'Delete',
|
|
@@ -43536,6 +43745,13 @@ const cmd = (control)=>control.args && (0,_core_helpers_checker_index_js__WEBPAC
|
|
|
43536
43745
|
image && editor.s.removeNode(image);
|
|
43537
43746
|
}
|
|
43538
43747
|
},
|
|
43748
|
+
{
|
|
43749
|
+
name: 'pencil',
|
|
43750
|
+
tooltip: 'Edit',
|
|
43751
|
+
exec: (editor, target)=>{
|
|
43752
|
+
target && editor.e.fire('openVideoProperties', target);
|
|
43753
|
+
}
|
|
43754
|
+
},
|
|
43539
43755
|
_img_js__WEBPACK_IMPORTED_MODULE_0__.align
|
|
43540
43756
|
]);
|
|
43541
43757
|
|
|
@@ -45690,6 +45906,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.mediaWrappers = {};
|
|
|
45690
45906
|
} else if (mediaWrappers[element.nodeName.toLowerCase()]) {
|
|
45691
45907
|
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);
|
|
45692
45908
|
} else if (mediaInFakeBlock) {
|
|
45909
|
+
const media = element;
|
|
45693
45910
|
const wrapper = editor.createInside.element(mediaFakeTag, {
|
|
45694
45911
|
'data-jodit-temp': 1,
|
|
45695
45912
|
contenteditable: false,
|
|
@@ -45697,11 +45914,17 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.mediaWrappers = {};
|
|
|
45697
45914
|
[`data-${keyFake}`]: 1
|
|
45698
45915
|
});
|
|
45699
45916
|
(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'));
|
|
45700
|
-
|
|
45701
|
-
|
|
45702
|
-
|
|
45703
|
-
|
|
45704
|
-
|
|
45917
|
+
// The wrapper fits the media, whose size changes as its metadata loads
|
|
45918
|
+
// and as it's resized. A percentage width is of the line, so it takes that
|
|
45919
|
+
const fit = ()=>{
|
|
45920
|
+
(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_4__.css)(wrapper, {
|
|
45921
|
+
display: (0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_4__.cssInline)(media, 'display') === 'inline-block' ? 'inline-block' : 'block',
|
|
45922
|
+
width: (0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_4__.cssInline)(media, 'width').endsWith('%') ? '' : 'fit-content',
|
|
45923
|
+
height: ''
|
|
45924
|
+
});
|
|
45925
|
+
};
|
|
45926
|
+
fit();
|
|
45927
|
+
editor.e.on(media, 'changesize', fit);
|
|
45705
45928
|
if (element.parentNode) {
|
|
45706
45929
|
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.before(element, wrapper);
|
|
45707
45930
|
}
|
|
@@ -47952,7 +48175,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.allowResizeTags = new S
|
|
|
47952
48175
|
'img',
|
|
47953
48176
|
'iframe',
|
|
47954
48177
|
'table',
|
|
47955
|
-
'jodit'
|
|
48178
|
+
'jodit',
|
|
48179
|
+
'video'
|
|
47956
48180
|
]);
|
|
47957
48181
|
_config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.resizer = {
|
|
47958
48182
|
showSize: true,
|
|
@@ -47961,7 +48185,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.resizer = {
|
|
|
47961
48185
|
min_width: 10,
|
|
47962
48186
|
min_height: 10,
|
|
47963
48187
|
useAspectRatio: new Set([
|
|
47964
|
-
'img'
|
|
48188
|
+
'img',
|
|
48189
|
+
'video'
|
|
47965
48190
|
])
|
|
47966
48191
|
};
|
|
47967
48192
|
|
|
@@ -48012,6 +48237,12 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
48012
48237
|
}
|
|
48013
48238
|
return parseFloat(value);
|
|
48014
48239
|
}
|
|
48240
|
+
/**
|
|
48241
|
+
* A video with no height of its own takes it from its width and its ratio,
|
|
48242
|
+
* so resizing it keeps the ratio without setting a height.
|
|
48243
|
+
*/ function heightFollowsWidth(element) {
|
|
48244
|
+
return _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(element, 'video') && !(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.attr)(element, 'height') && !(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_5__.cssInline)(element, 'height');
|
|
48245
|
+
}
|
|
48015
48246
|
/**
|
|
48016
48247
|
* The module creates a supporting frame for resizing of the elements img and table
|
|
48017
48248
|
*/ class resizer extends _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_6__.Plugin {
|
|
@@ -48039,14 +48270,27 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
48039
48270
|
let node = e.target;
|
|
48040
48271
|
const { editor, options: { allowResizeTags } } = this.j;
|
|
48041
48272
|
while(node && node !== editor){
|
|
48042
|
-
|
|
48043
|
-
|
|
48044
|
-
this.
|
|
48273
|
+
const element = this.__resizable(node);
|
|
48274
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(element, allowResizeTags)) {
|
|
48275
|
+
this.__bind(element);
|
|
48276
|
+
this.onClickElement(element);
|
|
48045
48277
|
return;
|
|
48046
48278
|
}
|
|
48047
48279
|
node = node.parentNode;
|
|
48048
48280
|
}
|
|
48049
48281
|
}
|
|
48282
|
+
/**
|
|
48283
|
+
* What a click on `node` resizes: the media in it when it's a media
|
|
48284
|
+
* wrapper (`jodit-media`, or one from `mediaWrappers`), or `node` itself
|
|
48285
|
+
*/ __resizable(node) {
|
|
48286
|
+
var _a;
|
|
48287
|
+
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;
|
|
48288
|
+
if (!media) {
|
|
48289
|
+
return node;
|
|
48290
|
+
}
|
|
48291
|
+
// An embed is resized through its own wrapper
|
|
48292
|
+
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;
|
|
48293
|
+
}
|
|
48050
48294
|
__afterInsertImage(image) {
|
|
48051
48295
|
if (this.j.o.resizer.forImageChangeAttributes) {
|
|
48052
48296
|
return;
|
|
@@ -48063,17 +48307,15 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
48063
48307
|
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')) {
|
|
48064
48308
|
this.onDelete(e);
|
|
48065
48309
|
}
|
|
48066
|
-
}).on(editor.ow, 'resize.resizer', this.updateSize).on('resize.resizer', this.updateSize)
|
|
48310
|
+
}).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
|
|
48311
|
+
// element as the content scrolls
|
|
48312
|
+
.on([
|
|
48067
48313
|
editor.ow,
|
|
48068
48314
|
editor.editor
|
|
48069
|
-
], 'scroll.resizer', ()
|
|
48070
|
-
if (this.isShown && !this.isResizeMode) {
|
|
48071
|
-
this.hide();
|
|
48072
|
-
}
|
|
48073
|
-
}).on(editor.ow, 'keydown.resizer', this.onKeyDown).on(editor.ow, 'keyup.resizer', this.onKeyUp).on(editor.ow, 'mouseup.resizer touchend.resizer', this.onClickOutside);
|
|
48315
|
+
], '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);
|
|
48074
48316
|
}
|
|
48075
48317
|
onStartResizing(resizeHandle, e) {
|
|
48076
|
-
if (!this.element || !this.
|
|
48318
|
+
if (!this.element || !this.isElementInEditor) {
|
|
48077
48319
|
this.hide();
|
|
48078
48320
|
return false;
|
|
48079
48321
|
}
|
|
@@ -48126,7 +48368,8 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
48126
48368
|
const className = this.handle.className;
|
|
48127
48369
|
let new_w, new_h;
|
|
48128
48370
|
const uar = this.j.o.resizer.useAspectRatio;
|
|
48129
|
-
|
|
48371
|
+
const keepRatio = !this.isAltMode && (uar === true || Boolean(uar && _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(this.element, uar)));
|
|
48372
|
+
if (keepRatio) {
|
|
48130
48373
|
if (diff_x) {
|
|
48131
48374
|
new_w = this.width + (className.match(/left/) ? -1 : 1) * diff_x;
|
|
48132
48375
|
new_h = Math.round(new_w / this.ratio);
|
|
@@ -48149,7 +48392,7 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
48149
48392
|
this.applySize(this.element, 'width', '100%');
|
|
48150
48393
|
}
|
|
48151
48394
|
}
|
|
48152
|
-
if (new_h > this.j.o.resizer.min_height) {
|
|
48395
|
+
if (new_h > this.j.o.resizer.min_height && !(keepRatio && heightFollowsWidth(this.element))) {
|
|
48153
48396
|
this.applySize(this.element, 'height', new_h);
|
|
48154
48397
|
}
|
|
48155
48398
|
this.updateSize();
|
|
@@ -48195,10 +48438,19 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
48195
48438
|
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.css)(element, key, value);
|
|
48196
48439
|
}
|
|
48197
48440
|
}
|
|
48441
|
+
/**
|
|
48442
|
+
* The framed element can go with a wrapper round it, keeping its parent
|
|
48443
|
+
*/ get isElementInEditor() {
|
|
48444
|
+
return Boolean(this.element && this.j.editor.contains(this.element));
|
|
48445
|
+
}
|
|
48198
48446
|
onDelete(e) {
|
|
48199
48447
|
if (!this.element) {
|
|
48200
48448
|
return;
|
|
48201
48449
|
}
|
|
48450
|
+
if (!this.isElementInEditor) {
|
|
48451
|
+
this.hide();
|
|
48452
|
+
return;
|
|
48453
|
+
}
|
|
48202
48454
|
if (this.element.tagName !== 'JODIT') {
|
|
48203
48455
|
this.j.s.select(this.element);
|
|
48204
48456
|
} else {
|
|
@@ -48209,7 +48461,7 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
48209
48461
|
}
|
|
48210
48462
|
__onChangeEditor() {
|
|
48211
48463
|
if (this.isShown) {
|
|
48212
|
-
if (!this.
|
|
48464
|
+
if (!this.isElementInEditor) {
|
|
48213
48465
|
this.hide();
|
|
48214
48466
|
} else {
|
|
48215
48467
|
this.updateSize();
|
|
@@ -48307,9 +48559,13 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
48307
48559
|
return;
|
|
48308
48560
|
}
|
|
48309
48561
|
this.isShown = true;
|
|
48562
|
+
if (this.layer.parentNode !== this.j.workplace) {
|
|
48563
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.markOwner)(this.j, this.layer);
|
|
48564
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(this.j.workplace, this.layer);
|
|
48565
|
+
}
|
|
48310
48566
|
if (!this.rect.parentNode) {
|
|
48311
48567
|
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.markOwner)(this.j, this.rect);
|
|
48312
|
-
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(this.
|
|
48568
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.append(this.layer, this.rect);
|
|
48313
48569
|
}
|
|
48314
48570
|
if (this.j.isFullSize) {
|
|
48315
48571
|
(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());
|
|
@@ -48329,6 +48585,7 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
48329
48585
|
}
|
|
48330
48586
|
beforeDestruct(jodit) {
|
|
48331
48587
|
this.hide();
|
|
48588
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(this.layer);
|
|
48332
48589
|
_core_global_js__WEBPACK_IMPORTED_MODULE_3__.eventEmitter.off('hideHelpers', this.hide);
|
|
48333
48590
|
jodit.e.off(this.j.ow, '.resizer').off('.resizer');
|
|
48334
48591
|
}
|
|
@@ -48350,6 +48607,8 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
48350
48607
|
<div class="jodit-resizer__bottom-left"></div>
|
|
48351
48608
|
<span>100x100</span>
|
|
48352
48609
|
</div>`);
|
|
48610
|
+
// Clips the frame to the workplace, without the frame making it scroll
|
|
48611
|
+
this.layer = this.j.c.div('jodit-resizer-layer');
|
|
48353
48612
|
this.sizeViewer = this.rect.getElementsByTagName('span')[0];
|
|
48354
48613
|
this.pointerX = 0;
|
|
48355
48614
|
this.pointerY = 0;
|
|
@@ -48364,6 +48623,9 @@ const keyBInd = '__jodit-resizer_binded';
|
|
|
48364
48623
|
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(this.element, 'img') && !this.element.complete) {
|
|
48365
48624
|
this.j.e.one(this.element, 'load', this.updateSize);
|
|
48366
48625
|
}
|
|
48626
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(this.element, 'video') && this.element.readyState < HTMLMediaElement.HAVE_METADATA) {
|
|
48627
|
+
this.j.e.one(this.element, 'loadedmetadata', this.updateSize);
|
|
48628
|
+
}
|
|
48367
48629
|
}
|
|
48368
48630
|
};
|
|
48369
48631
|
this.updateSize = ()=>{
|
|
@@ -54748,9 +55010,725 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_4__.pluginSystem.add('toolbarNavigation
|
|
|
54748
55010
|
|
|
54749
55011
|
/***/ }),
|
|
54750
55012
|
|
|
54751
|
-
/***/
|
|
55013
|
+
/***/ 54426:
|
|
55014
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
55015
|
+
|
|
55016
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
55017
|
+
/* harmony export */ editedMedia: function() { return /* binding */ editedMedia; },
|
|
55018
|
+
/* harmony export */ ownSize: function() { return /* binding */ ownSize; },
|
|
55019
|
+
/* harmony export */ readValues: function() { return /* binding */ readValues; }
|
|
55020
|
+
/* harmony export */ });
|
|
55021
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
55022
|
+
/* harmony import */ var _core_helpers_checker_is_numeric_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29807);
|
|
55023
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29960);
|
|
55024
|
+
/* harmony import */ var _core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(41180);
|
|
55025
|
+
/* harmony import */ var _image_properties_utils_utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(14415);
|
|
55026
|
+
/*!
|
|
55027
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
55028
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
55029
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
55030
|
+
*/
|
|
55031
|
+
|
|
55032
|
+
|
|
55033
|
+
|
|
55034
|
+
|
|
55035
|
+
const mediaSelector = 'video, audio, iframe';
|
|
55036
|
+
/**
|
|
55037
|
+
* The media `target` is, or holds as its wrapper (`jodit-media`, the resizer's
|
|
55038
|
+
* `jodit` for an embed, or one from `mediaWrappers`)
|
|
55039
|
+
* @private
|
|
55040
|
+
*/ function editedMedia(target) {
|
|
55041
|
+
return target.matches(mediaSelector) ? target : target.querySelector(mediaSelector);
|
|
55042
|
+
}
|
|
55043
|
+
/**
|
|
55044
|
+
* The size `media` is given, inline or by its attribute
|
|
55045
|
+
* @private
|
|
55046
|
+
*/ function ownSize(media, key) {
|
|
55047
|
+
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) || '';
|
|
55048
|
+
}
|
|
55049
|
+
const toNumber = (value)=>parseFloat(value.toString());
|
|
55050
|
+
/**
|
|
55051
|
+
* Read the media's values into the state
|
|
55052
|
+
* @private
|
|
55053
|
+
*/ function readValues(state) {
|
|
55054
|
+
const { media, values } = state;
|
|
55055
|
+
const width = ownSize(media, 'width');
|
|
55056
|
+
const height = ownSize(media, 'height');
|
|
55057
|
+
values.width = width ? (0,_image_properties_utils_utils_js__WEBPACK_IMPORTED_MODULE_4__.normalSizeFromString)(width) : media.offsetWidth;
|
|
55058
|
+
values.height = height ? (0,_image_properties_utils_utils_js__WEBPACK_IMPORTED_MODULE_4__.normalSizeFromString)(height) : '';
|
|
55059
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(media, 'video') && media.videoWidth) {
|
|
55060
|
+
state.ratio = media.videoWidth / media.videoHeight;
|
|
55061
|
+
} 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)) {
|
|
55062
|
+
state.ratio = toNumber(values.width) / toNumber(values.height);
|
|
55063
|
+
} else {
|
|
55064
|
+
state.ratio = media.offsetWidth / media.offsetHeight || 1;
|
|
55065
|
+
}
|
|
55066
|
+
// One with no height takes it from its width
|
|
55067
|
+
if (!height && (0,_core_helpers_checker_is_numeric_js__WEBPACK_IMPORTED_MODULE_1__.isNumeric)(values.width)) {
|
|
55068
|
+
values.height = Math.round(toNumber(values.width) / state.ratio);
|
|
55069
|
+
}
|
|
55070
|
+
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);
|
|
55071
|
+
values.poster = (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_2__.attr)(media, 'poster') || '';
|
|
55072
|
+
values.autoplay = media.hasAttribute('autoplay');
|
|
55073
|
+
values.loop = media.hasAttribute('loop');
|
|
55074
|
+
// Autoplay's own: turning it off gives the sound back
|
|
55075
|
+
values.muted = media.hasAttribute('muted') && !values.autoplay;
|
|
55076
|
+
// Without Autoplay it keeps its controls, or it could never be played
|
|
55077
|
+
values.controls = media.hasAttribute('controls') || !values.autoplay;
|
|
55078
|
+
}
|
|
55079
|
+
|
|
55080
|
+
|
|
55081
|
+
/***/ }),
|
|
55082
|
+
|
|
55083
|
+
/***/ 96170:
|
|
55084
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
55085
|
+
|
|
55086
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
55087
|
+
/* harmony export */ replaceMedia: function() { return /* binding */ replaceMedia; }
|
|
55088
|
+
/* harmony export */ });
|
|
55089
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
55090
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
55091
|
+
/* harmony import */ var _core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(41180);
|
|
55092
|
+
/* harmony import */ var _readers_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(54426);
|
|
55093
|
+
/* harmony import */ var _writers_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(44909);
|
|
55094
|
+
/*!
|
|
55095
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
55096
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
55097
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
55098
|
+
*/
|
|
55099
|
+
|
|
55100
|
+
|
|
55101
|
+
|
|
55102
|
+
|
|
55103
|
+
/**
|
|
55104
|
+
* Give `media`, in `outer`, the classes, inline styles, size and playback
|
|
55105
|
+
* settings of `old`, in `oldOuter`. It keeps its own source and poster.
|
|
55106
|
+
*/ function takeOver(j, oldOuter, old, outer, media) {
|
|
55107
|
+
var _a;
|
|
55108
|
+
const state = {
|
|
55109
|
+
target: oldOuter,
|
|
55110
|
+
media: old,
|
|
55111
|
+
ratio: 1,
|
|
55112
|
+
sizeIsLocked: true,
|
|
55113
|
+
values: {
|
|
55114
|
+
width: '',
|
|
55115
|
+
height: '',
|
|
55116
|
+
poster: '',
|
|
55117
|
+
autoplay: false,
|
|
55118
|
+
loop: false,
|
|
55119
|
+
muted: false,
|
|
55120
|
+
controls: true
|
|
55121
|
+
}
|
|
55122
|
+
};
|
|
55123
|
+
(0,_readers_js__WEBPACK_IMPORTED_MODULE_3__.readValues)(state);
|
|
55124
|
+
const pairs = [
|
|
55125
|
+
[
|
|
55126
|
+
old,
|
|
55127
|
+
media
|
|
55128
|
+
]
|
|
55129
|
+
];
|
|
55130
|
+
// A wrapper kept in the content, which holds the alignment
|
|
55131
|
+
if (oldOuter !== old && outer !== media && oldOuter.nodeName === outer.nodeName) {
|
|
55132
|
+
pairs.push([
|
|
55133
|
+
oldOuter,
|
|
55134
|
+
outer
|
|
55135
|
+
]);
|
|
55136
|
+
}
|
|
55137
|
+
pairs.forEach(([from, to])=>{
|
|
55138
|
+
[
|
|
55139
|
+
'class',
|
|
55140
|
+
'style'
|
|
55141
|
+
].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)));
|
|
55142
|
+
});
|
|
55143
|
+
// A video's size is CSS and an embed's its attributes, so the writer sizes
|
|
55144
|
+
// one that's a different element
|
|
55145
|
+
if (old.nodeName !== media.nodeName) {
|
|
55146
|
+
(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__.css)(media, {
|
|
55147
|
+
width: null,
|
|
55148
|
+
height: null
|
|
55149
|
+
});
|
|
55150
|
+
if (!((_a = (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(media, 'style')) === null || _a === void 0 ? void 0 : _a.trim())) {
|
|
55151
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(media, 'style', null);
|
|
55152
|
+
}
|
|
55153
|
+
}
|
|
55154
|
+
state.media = media;
|
|
55155
|
+
state.values.poster = (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(media, 'poster') || '';
|
|
55156
|
+
(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')));
|
|
55157
|
+
}
|
|
55158
|
+
/**
|
|
55159
|
+
* Run `insert`, which inserts media at the cursor, with the cursor after
|
|
55160
|
+
* `replaced`, and put what it inserts in place of `replaced`
|
|
55161
|
+
* @private
|
|
55162
|
+
*/ function replaceMedia(j, replaced, insert) {
|
|
55163
|
+
const inserted = [];
|
|
55164
|
+
const collect = (node)=>{
|
|
55165
|
+
inserted.push(node);
|
|
55166
|
+
};
|
|
55167
|
+
j.history.snapshot.transaction(()=>{
|
|
55168
|
+
j.s.focus();
|
|
55169
|
+
j.s.setCursorAfter(replaced);
|
|
55170
|
+
j.e.on('afterInsertNode', collect);
|
|
55171
|
+
try {
|
|
55172
|
+
insert();
|
|
55173
|
+
} finally{
|
|
55174
|
+
j.e.off('afterInsertNode', collect);
|
|
55175
|
+
}
|
|
55176
|
+
const [outer] = inserted;
|
|
55177
|
+
if (!_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isHTMLElement(outer)) {
|
|
55178
|
+
return;
|
|
55179
|
+
}
|
|
55180
|
+
const old = (0,_readers_js__WEBPACK_IMPORTED_MODULE_3__.editedMedia)(replaced);
|
|
55181
|
+
const media = (0,_readers_js__WEBPACK_IMPORTED_MODULE_3__.editedMedia)(outer);
|
|
55182
|
+
if (old && media) {
|
|
55183
|
+
takeOver(j, replaced, old, outer, media);
|
|
55184
|
+
}
|
|
55185
|
+
// The resizer can have put an embed in its own wrapper already
|
|
55186
|
+
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;
|
|
55187
|
+
// Where the old one was, since media Jodit counts as blocks can be put
|
|
55188
|
+
// after the paragraph
|
|
55189
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.before(replaced, placed);
|
|
55190
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(replaced);
|
|
55191
|
+
j.s.setCursorAfter(placed);
|
|
55192
|
+
});
|
|
55193
|
+
j.synchronizeValues();
|
|
55194
|
+
j.e.fire('closeAllPopups');
|
|
55195
|
+
}
|
|
55196
|
+
|
|
55197
|
+
|
|
55198
|
+
/***/ }),
|
|
55199
|
+
|
|
55200
|
+
/***/ 27828:
|
|
55201
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
55202
|
+
|
|
55203
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
55204
|
+
/* harmony export */ UIVideoPropertiesForm: function() { return /* binding */ UIVideoPropertiesForm; }
|
|
55205
|
+
/* harmony export */ });
|
|
55206
|
+
/* harmony import */ var _core_decorators_component_component_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(87325);
|
|
55207
|
+
/* harmony import */ var _core_decorators_hook_hook_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(97357);
|
|
55208
|
+
/* harmony import */ var _core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(37133);
|
|
55209
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2748);
|
|
55210
|
+
/* harmony import */ var _core_helpers_checker_is_numeric_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29807);
|
|
55211
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(29960);
|
|
55212
|
+
/* harmony import */ var _core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(41180);
|
|
55213
|
+
/* harmony import */ var _core_ui_element_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(48538);
|
|
55214
|
+
/* harmony import */ var _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(12153);
|
|
55215
|
+
/*!
|
|
55216
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
55217
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
55218
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
55219
|
+
*/ var __decorate = undefined && undefined.__decorate || function(decorators, target, key, desc) {
|
|
55220
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
55221
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
55222
|
+
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;
|
|
55223
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
55224
|
+
};
|
|
55225
|
+
|
|
55226
|
+
|
|
55227
|
+
|
|
55228
|
+
|
|
55229
|
+
|
|
55230
|
+
|
|
55231
|
+
|
|
55232
|
+
|
|
55233
|
+
|
|
55234
|
+
const flags = {
|
|
55235
|
+
autoplay: 'Autoplay',
|
|
55236
|
+
loop: 'Loop',
|
|
55237
|
+
muted: 'Muted',
|
|
55238
|
+
controls: 'Controls'
|
|
55239
|
+
};
|
|
55240
|
+
const checkbox = ([flag, label])=>`<label class="jodit_vertical_middle">
|
|
55241
|
+
<input type="checkbox" class="jodit-checkbox &__${flag}"/>
|
|
55242
|
+
<span>~${label}~</span>
|
|
55243
|
+
</label>`;
|
|
55244
|
+
/** @private */ let UIVideoPropertiesForm = class UIVideoPropertiesForm extends _core_ui_element_js__WEBPACK_IMPORTED_MODULE_7__.UIElement {
|
|
55245
|
+
className() {
|
|
55246
|
+
return 'UIVideoPropertiesForm';
|
|
55247
|
+
}
|
|
55248
|
+
render() {
|
|
55249
|
+
return `<form>
|
|
55250
|
+
<div class="jodit-form__group &__previewBox">
|
|
55251
|
+
<img class="&__preview" alt=""/>
|
|
55252
|
+
</div>
|
|
55253
|
+
<div class="jodit-form__group &__sizes">
|
|
55254
|
+
<input type="text" class="jodit-input &__width" placeholder="~Width~" aria-label="~Width~"/>
|
|
55255
|
+
<a class="&__lockSize">*lock*</a>
|
|
55256
|
+
<input type="text" class="jodit-input &__height" placeholder="~Height~" aria-label="~Height~"/>
|
|
55257
|
+
</div>
|
|
55258
|
+
<div class="jodit-form__group &__editPoster">
|
|
55259
|
+
<label>~Poster~</label>
|
|
55260
|
+
<div class="jodit-input_group">
|
|
55261
|
+
<input type="text" class="jodit-input &__poster" placeholder="https://"/>
|
|
55262
|
+
<div class="jodit-input_group-buttons">
|
|
55263
|
+
<a class="jodit-button &__changePoster" title="~Upload~">*image*</a>
|
|
55264
|
+
<a class="jodit-button &__removePoster" title="~Remove~">*bin*</a>
|
|
55265
|
+
</div>
|
|
55266
|
+
</div>
|
|
55267
|
+
</div>
|
|
55268
|
+
<div class="jodit-form__group &__playback">
|
|
55269
|
+
${Object.entries(flags).map(checkbox).join('')}
|
|
55270
|
+
</div>
|
|
55271
|
+
</form>`;
|
|
55272
|
+
}
|
|
55273
|
+
input(name) {
|
|
55274
|
+
return this.getElm(name);
|
|
55275
|
+
}
|
|
55276
|
+
show(name, shown) {
|
|
55277
|
+
;(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_6__.css)(this.getElm(name), 'display', shown ? null : 'none');
|
|
55278
|
+
}
|
|
55279
|
+
/**
|
|
55280
|
+
* A video has every field, an embed only its size, and audio only its
|
|
55281
|
+
* playback settings
|
|
55282
|
+
*/ onStateMediaChange() {
|
|
55283
|
+
const { media } = this.state;
|
|
55284
|
+
this.show('editPoster', _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_3__.Dom.isTag(media, 'video'));
|
|
55285
|
+
this.show('sizes', !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_3__.Dom.isTag(media, 'audio'));
|
|
55286
|
+
this.show('playback', !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_3__.Dom.isTag(media, 'iframe'));
|
|
55287
|
+
this.showPreview();
|
|
55288
|
+
}
|
|
55289
|
+
// A video's poster, when it has one
|
|
55290
|
+
showPreview() {
|
|
55291
|
+
const { media, values } = this.state;
|
|
55292
|
+
const shown = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_3__.Dom.isTag(media, 'video') && Boolean(values.poster);
|
|
55293
|
+
this.show('previewBox', shown);
|
|
55294
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_5__.attr)(this.getElm('preview'), 'src', shown ? values.poster : null);
|
|
55295
|
+
}
|
|
55296
|
+
hideChangePoster() {
|
|
55297
|
+
const { uploader, filebrowser } = this.j.o;
|
|
55298
|
+
// What FileSelectorWidget offers
|
|
55299
|
+
const canUpload = uploader.showTabInFileSelector !== false && Boolean(uploader.url || uploader.insertImageAsBase64URI || uploader.customUploadFunction);
|
|
55300
|
+
const canBrowse = Boolean(filebrowser.ajax.url || filebrowser.items.url);
|
|
55301
|
+
this.show('changePoster', canUpload || canBrowse);
|
|
55302
|
+
}
|
|
55303
|
+
onStatePosterChange() {
|
|
55304
|
+
const { poster } = this.state.values;
|
|
55305
|
+
this.input('poster').value = poster;
|
|
55306
|
+
this.show('removePoster', Boolean(poster));
|
|
55307
|
+
this.showPreview();
|
|
55308
|
+
}
|
|
55309
|
+
onPosterChange() {
|
|
55310
|
+
this.state.values.poster = this.input('poster').value;
|
|
55311
|
+
}
|
|
55312
|
+
onChangePosterClick(e) {
|
|
55313
|
+
this.handlers.openPosterPopup(this.getElm('changePoster'));
|
|
55314
|
+
e.stopPropagation();
|
|
55315
|
+
}
|
|
55316
|
+
onRemovePosterClick() {
|
|
55317
|
+
this.state.values.poster = '';
|
|
55318
|
+
}
|
|
55319
|
+
onStateSizeIsLockedChange() {
|
|
55320
|
+
this.getElm('lockSize').innerHTML = _core_ui_icon_js__WEBPACK_IMPORTED_MODULE_8__.Icon.get(this.state.sizeIsLocked ? 'lock' : 'unlock');
|
|
55321
|
+
}
|
|
55322
|
+
onLockSizeClick() {
|
|
55323
|
+
const { state } = this;
|
|
55324
|
+
const { values } = state;
|
|
55325
|
+
state.sizeIsLocked = !state.sizeIsLocked;
|
|
55326
|
+
if (state.sizeIsLocked && (0,_core_helpers_checker_is_numeric_js__WEBPACK_IMPORTED_MODULE_4__.isNumeric)(values.width)) {
|
|
55327
|
+
values.height = Math.round(parseFloat(values.width.toString()) / state.ratio);
|
|
55328
|
+
}
|
|
55329
|
+
}
|
|
55330
|
+
onStateSizeChange() {
|
|
55331
|
+
const { values } = this.state;
|
|
55332
|
+
// Not the field being typed in
|
|
55333
|
+
[
|
|
55334
|
+
'width',
|
|
55335
|
+
'height'
|
|
55336
|
+
].forEach((key)=>{
|
|
55337
|
+
const input = this.input(key);
|
|
55338
|
+
if (input !== this.j.od.activeElement) {
|
|
55339
|
+
input.value = values[key].toString();
|
|
55340
|
+
}
|
|
55341
|
+
});
|
|
55342
|
+
}
|
|
55343
|
+
onSizeInput(e) {
|
|
55344
|
+
const { state } = this;
|
|
55345
|
+
const { values } = state;
|
|
55346
|
+
// Both read first, since setting one rewrites the other's field
|
|
55347
|
+
const width = this.input('width').value;
|
|
55348
|
+
const height = this.input('height').value;
|
|
55349
|
+
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)) {
|
|
55350
|
+
values.width = width;
|
|
55351
|
+
values.height = height;
|
|
55352
|
+
return;
|
|
55353
|
+
}
|
|
55354
|
+
const w = parseFloat(width);
|
|
55355
|
+
const h = parseFloat(height);
|
|
55356
|
+
if (e.target === this.input('width')) {
|
|
55357
|
+
values.width = w;
|
|
55358
|
+
values.height = Math.round(w / state.ratio);
|
|
55359
|
+
} else {
|
|
55360
|
+
values.width = Math.round(h * state.ratio);
|
|
55361
|
+
values.height = h;
|
|
55362
|
+
}
|
|
55363
|
+
}
|
|
55364
|
+
/**
|
|
55365
|
+
* Autoplay mutes it, and it keeps its controls unless it autoplays
|
|
55366
|
+
*/ onStateFlagsChange() {
|
|
55367
|
+
const { values } = this.state;
|
|
55368
|
+
this.input('autoplay').checked = values.autoplay;
|
|
55369
|
+
this.input('loop').checked = values.loop;
|
|
55370
|
+
this.input('muted').checked = values.muted || values.autoplay;
|
|
55371
|
+
this.input('muted').disabled = values.autoplay;
|
|
55372
|
+
this.input('controls').checked = values.controls || !values.autoplay;
|
|
55373
|
+
this.input('controls').disabled = !values.autoplay;
|
|
55374
|
+
}
|
|
55375
|
+
onFlagChange(e) {
|
|
55376
|
+
Object.keys(flags).forEach((flag)=>{
|
|
55377
|
+
const input = this.input(flag);
|
|
55378
|
+
if (e.target === input) {
|
|
55379
|
+
this.state.values[flag] = input.checked;
|
|
55380
|
+
}
|
|
55381
|
+
});
|
|
55382
|
+
}
|
|
55383
|
+
constructor(jodit, state, handlers){
|
|
55384
|
+
super(jodit);
|
|
55385
|
+
this.state = state;
|
|
55386
|
+
this.handlers = handlers;
|
|
55387
|
+
}
|
|
55388
|
+
};
|
|
55389
|
+
__decorate([
|
|
55390
|
+
(0,_core_decorators_hook_hook_js__WEBPACK_IMPORTED_MODULE_1__.hook)('ready'),
|
|
55391
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)('state.media')
|
|
55392
|
+
], UIVideoPropertiesForm.prototype, "onStateMediaChange", null);
|
|
55393
|
+
__decorate([
|
|
55394
|
+
(0,_core_decorators_hook_hook_js__WEBPACK_IMPORTED_MODULE_1__.hook)('ready')
|
|
55395
|
+
], UIVideoPropertiesForm.prototype, "hideChangePoster", null);
|
|
55396
|
+
__decorate([
|
|
55397
|
+
(0,_core_decorators_hook_hook_js__WEBPACK_IMPORTED_MODULE_1__.hook)('ready'),
|
|
55398
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)('state.values.poster')
|
|
55399
|
+
], UIVideoPropertiesForm.prototype, "onStatePosterChange", null);
|
|
55400
|
+
__decorate([
|
|
55401
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)('poster:change')
|
|
55402
|
+
], UIVideoPropertiesForm.prototype, "onPosterChange", null);
|
|
55403
|
+
__decorate([
|
|
55404
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)('changePoster:click')
|
|
55405
|
+
], UIVideoPropertiesForm.prototype, "onChangePosterClick", null);
|
|
55406
|
+
__decorate([
|
|
55407
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)('removePoster:click')
|
|
55408
|
+
], UIVideoPropertiesForm.prototype, "onRemovePosterClick", null);
|
|
55409
|
+
__decorate([
|
|
55410
|
+
(0,_core_decorators_hook_hook_js__WEBPACK_IMPORTED_MODULE_1__.hook)('ready'),
|
|
55411
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)('state.sizeIsLocked')
|
|
55412
|
+
], UIVideoPropertiesForm.prototype, "onStateSizeIsLockedChange", null);
|
|
55413
|
+
__decorate([
|
|
55414
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)('lockSize:click')
|
|
55415
|
+
], UIVideoPropertiesForm.prototype, "onLockSizeClick", null);
|
|
55416
|
+
__decorate([
|
|
55417
|
+
(0,_core_decorators_hook_hook_js__WEBPACK_IMPORTED_MODULE_1__.hook)('ready'),
|
|
55418
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)([
|
|
55419
|
+
'state.values.width',
|
|
55420
|
+
'state.values.height'
|
|
55421
|
+
])
|
|
55422
|
+
], UIVideoPropertiesForm.prototype, "onStateSizeChange", null);
|
|
55423
|
+
__decorate([
|
|
55424
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)([
|
|
55425
|
+
'width:input',
|
|
55426
|
+
'height:input',
|
|
55427
|
+
'width:change',
|
|
55428
|
+
'height:change'
|
|
55429
|
+
])
|
|
55430
|
+
], UIVideoPropertiesForm.prototype, "onSizeInput", null);
|
|
55431
|
+
__decorate([
|
|
55432
|
+
(0,_core_decorators_hook_hook_js__WEBPACK_IMPORTED_MODULE_1__.hook)('ready'),
|
|
55433
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)(Object.keys(flags).map((flag)=>`state.values.${flag}`))
|
|
55434
|
+
], UIVideoPropertiesForm.prototype, "onStateFlagsChange", null);
|
|
55435
|
+
__decorate([
|
|
55436
|
+
(0,_core_decorators_watch_watch_js__WEBPACK_IMPORTED_MODULE_2__.watch)(Object.keys(flags).map((flag)=>`${flag}:change`))
|
|
55437
|
+
], UIVideoPropertiesForm.prototype, "onFlagChange", null);
|
|
55438
|
+
UIVideoPropertiesForm = __decorate([
|
|
55439
|
+
_core_decorators_component_component_js__WEBPACK_IMPORTED_MODULE_0__.component
|
|
55440
|
+
], UIVideoPropertiesForm);
|
|
55441
|
+
|
|
55442
|
+
|
|
55443
|
+
|
|
55444
|
+
/***/ }),
|
|
55445
|
+
|
|
55446
|
+
/***/ 96139:
|
|
54752
55447
|
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
|
|
54753
55448
|
|
|
55449
|
+
/* unused harmony export videoProperties */
|
|
55450
|
+
/* harmony import */ var _core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65478);
|
|
55451
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2748);
|
|
55452
|
+
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(580);
|
|
55453
|
+
/* harmony import */ var _core_helpers_checker_is_array_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(68345);
|
|
55454
|
+
/* harmony import */ var _core_helpers_size_position_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5700);
|
|
55455
|
+
/* harmony import */ var _core_helpers_utils_utils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(37790);
|
|
55456
|
+
/* harmony import */ var _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20356);
|
|
55457
|
+
/* harmony import */ var _core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(62843);
|
|
55458
|
+
/* harmony import */ var _core_ui_popup_popup_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(56917);
|
|
55459
|
+
/* harmony import */ var _modules_widget_file_selector_file_selector_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(34793);
|
|
55460
|
+
/* harmony import */ var _ui_ui_video_form_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(27828);
|
|
55461
|
+
/* harmony import */ var _readers_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(54426);
|
|
55462
|
+
/* harmony import */ var _replace_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(96170);
|
|
55463
|
+
/* harmony import */ var _writers_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(44909);
|
|
55464
|
+
/* harmony import */ var _video_config_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(14984);
|
|
55465
|
+
/*!
|
|
55466
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
55467
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
55468
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
55469
|
+
*/ var __decorate = undefined && undefined.__decorate || function(decorators, target, key, desc) {
|
|
55470
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
55471
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
55472
|
+
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;
|
|
55473
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
55474
|
+
};
|
|
55475
|
+
|
|
55476
|
+
|
|
55477
|
+
|
|
55478
|
+
|
|
55479
|
+
|
|
55480
|
+
|
|
55481
|
+
|
|
55482
|
+
|
|
55483
|
+
|
|
55484
|
+
|
|
55485
|
+
|
|
55486
|
+
|
|
55487
|
+
|
|
55488
|
+
|
|
55489
|
+
|
|
55490
|
+
/**
|
|
55491
|
+
* Show a dialog with the size, poster and playback settings of a video, an
|
|
55492
|
+
* embed or audio. The media popup's Edit button opens it:
|
|
55493
|
+
*
|
|
55494
|
+
* ```javascript
|
|
55495
|
+
* editor.events.fire('openVideoProperties', video);
|
|
55496
|
+
* ```
|
|
55497
|
+
*/ class videoProperties extends _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_6__.Plugin {
|
|
55498
|
+
get __size() {
|
|
55499
|
+
const { width, height } = this.state.values;
|
|
55500
|
+
return `${width}x${height}`;
|
|
55501
|
+
}
|
|
55502
|
+
get form() {
|
|
55503
|
+
return new _ui_ui_video_form_js__WEBPACK_IMPORTED_MODULE_10__.UIVideoPropertiesForm(this.j, this.state, {
|
|
55504
|
+
openPosterPopup: (target)=>this.__openPosterPopup(target)
|
|
55505
|
+
});
|
|
55506
|
+
}
|
|
55507
|
+
get dialog() {
|
|
55508
|
+
const { j } = this;
|
|
55509
|
+
const dialog = j.dlg({
|
|
55510
|
+
minWidth: Math.min(400, screen.width),
|
|
55511
|
+
buttons: [
|
|
55512
|
+
'dialog.close'
|
|
55513
|
+
]
|
|
55514
|
+
});
|
|
55515
|
+
const buttons = this.__buttons;
|
|
55516
|
+
buttons.check.onAction(()=>{
|
|
55517
|
+
(0,_writers_js__WEBPACK_IMPORTED_MODULE_13__.applyValues)(j, this.state, this.__size !== this.__readSize);
|
|
55518
|
+
j.synchronizeValues();
|
|
55519
|
+
dialog.close();
|
|
55520
|
+
});
|
|
55521
|
+
buttons.remove.onAction(()=>{
|
|
55522
|
+
j.s.removeNode(this.state.target);
|
|
55523
|
+
dialog.close();
|
|
55524
|
+
});
|
|
55525
|
+
buttons.cancel.onAction(()=>{
|
|
55526
|
+
dialog.close();
|
|
55527
|
+
});
|
|
55528
|
+
dialog.setContent(this.form);
|
|
55529
|
+
dialog.setFooter([
|
|
55530
|
+
[
|
|
55531
|
+
buttons.cancel,
|
|
55532
|
+
buttons.remove
|
|
55533
|
+
],
|
|
55534
|
+
buttons.check
|
|
55535
|
+
]);
|
|
55536
|
+
(0,_core_helpers_utils_utils_js__WEBPACK_IMPORTED_MODULE_5__.markOwner)(j, dialog.container);
|
|
55537
|
+
return dialog;
|
|
55538
|
+
}
|
|
55539
|
+
get __buttons() {
|
|
55540
|
+
const { j } = this;
|
|
55541
|
+
return {
|
|
55542
|
+
check: (0,_core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_7__.Button)(j, 'ok', 'Apply', 'primary'),
|
|
55543
|
+
remove: (0,_core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_7__.Button)(j, 'bin', 'Delete'),
|
|
55544
|
+
cancel: (0,_core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_7__.Button)(j, 'cancel', 'Cancel')
|
|
55545
|
+
};
|
|
55546
|
+
}
|
|
55547
|
+
/**
|
|
55548
|
+
* Open the dialog for the media `target` is, or is the wrapper of
|
|
55549
|
+
*/ open(target) {
|
|
55550
|
+
const media = (0,_readers_js__WEBPACK_IMPORTED_MODULE_11__.editedMedia)(target);
|
|
55551
|
+
if (!media) {
|
|
55552
|
+
return;
|
|
55553
|
+
}
|
|
55554
|
+
this.state.target = target;
|
|
55555
|
+
this.state.media = media;
|
|
55556
|
+
(0,_readers_js__WEBPACK_IMPORTED_MODULE_11__.readValues)(this.state);
|
|
55557
|
+
this.__readSize = this.__size;
|
|
55558
|
+
this.dialog.setHeader(this.j.i18n(_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(media, 'audio') ? 'Audio properties' : 'Video properties'));
|
|
55559
|
+
this.dialog.open().setModal(true).setPosition();
|
|
55560
|
+
}
|
|
55561
|
+
/**
|
|
55562
|
+
* The video popup's tabs for the media popup's Replace: what they insert
|
|
55563
|
+
* takes the place of the media `target` is, or is the wrapper of
|
|
55564
|
+
*/ onGenerateReplaceVideoTabs(target, close) {
|
|
55565
|
+
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));
|
|
55566
|
+
}
|
|
55567
|
+
__openPosterPopup(button) {
|
|
55568
|
+
const { j, state } = this;
|
|
55569
|
+
const popup = new _core_ui_popup_popup_js__WEBPACK_IMPORTED_MODULE_8__.Popup(this.dialog);
|
|
55570
|
+
const close = ()=>{
|
|
55571
|
+
popup.close();
|
|
55572
|
+
popup.destruct();
|
|
55573
|
+
};
|
|
55574
|
+
popup.setContent((0,_modules_widget_file_selector_file_selector_js__WEBPACK_IMPORTED_MODULE_9__.FileSelectorWidget)(j, {
|
|
55575
|
+
upload: (data)=>{
|
|
55576
|
+
if (data.files && data.files.length) {
|
|
55577
|
+
state.values.poster = data.baseurl + data.files[0];
|
|
55578
|
+
}
|
|
55579
|
+
close();
|
|
55580
|
+
},
|
|
55581
|
+
filebrowser: (data)=>{
|
|
55582
|
+
if ((0,_core_helpers_checker_is_array_js__WEBPACK_IMPORTED_MODULE_3__.isArray)(data.files) && data.files.length) {
|
|
55583
|
+
state.values.poster = data.files[0];
|
|
55584
|
+
close();
|
|
55585
|
+
}
|
|
55586
|
+
}
|
|
55587
|
+
}, null, close)).open(()=>(0,_core_helpers_size_position_js__WEBPACK_IMPORTED_MODULE_4__.position)(button));
|
|
55588
|
+
}
|
|
55589
|
+
/** @override */ afterInit() {}
|
|
55590
|
+
/** @override */ beforeDestruct() {
|
|
55591
|
+
var _a, _b, _c;
|
|
55592
|
+
Object.values((_a = (0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.cached)(this, '__buttons')) !== null && _a !== void 0 ? _a : {}).forEach((b)=>b.destruct());
|
|
55593
|
+
(_b = (0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.cached)(this, 'dialog')) === null || _b === void 0 ? void 0 : _b.destruct();
|
|
55594
|
+
(_c = (0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.cached)(this, 'form')) === null || _c === void 0 ? void 0 : _c.destruct();
|
|
55595
|
+
}
|
|
55596
|
+
constructor(){
|
|
55597
|
+
super(...arguments);
|
|
55598
|
+
this.state = {
|
|
55599
|
+
target: this.j.c.element('video'),
|
|
55600
|
+
media: this.j.c.element('video'),
|
|
55601
|
+
ratio: 1,
|
|
55602
|
+
sizeIsLocked: true,
|
|
55603
|
+
values: {
|
|
55604
|
+
width: '',
|
|
55605
|
+
height: '',
|
|
55606
|
+
poster: '',
|
|
55607
|
+
autoplay: false,
|
|
55608
|
+
loop: false,
|
|
55609
|
+
muted: false,
|
|
55610
|
+
controls: true
|
|
55611
|
+
}
|
|
55612
|
+
};
|
|
55613
|
+
// The size as it was read, so an unchanged one isn't written
|
|
55614
|
+
this.__readSize = '';
|
|
55615
|
+
}
|
|
55616
|
+
}
|
|
55617
|
+
__decorate([
|
|
55618
|
+
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.cache
|
|
55619
|
+
], videoProperties.prototype, "form", null);
|
|
55620
|
+
__decorate([
|
|
55621
|
+
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.cache
|
|
55622
|
+
], videoProperties.prototype, "dialog", null);
|
|
55623
|
+
__decorate([
|
|
55624
|
+
_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.cache
|
|
55625
|
+
], videoProperties.prototype, "__buttons", null);
|
|
55626
|
+
__decorate([
|
|
55627
|
+
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.watch)(':openVideoProperties')
|
|
55628
|
+
], videoProperties.prototype, "open", null);
|
|
55629
|
+
__decorate([
|
|
55630
|
+
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.watch)(':generateReplaceVideoTabs')
|
|
55631
|
+
], videoProperties.prototype, "onGenerateReplaceVideoTabs", null);
|
|
55632
|
+
_core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('videoProperties', videoProperties);
|
|
55633
|
+
|
|
55634
|
+
|
|
55635
|
+
/***/ }),
|
|
55636
|
+
|
|
55637
|
+
/***/ 44909:
|
|
55638
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
55639
|
+
|
|
55640
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
55641
|
+
/* harmony export */ applyValues: function() { return /* binding */ applyValues; }
|
|
55642
|
+
/* harmony export */ });
|
|
55643
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
55644
|
+
/* harmony import */ var _core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29960);
|
|
55645
|
+
/* harmony import */ var _core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(41180);
|
|
55646
|
+
/* harmony import */ var _readers_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(54426);
|
|
55647
|
+
/* harmony import */ var _image_properties_utils_utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(14415);
|
|
55648
|
+
/*!
|
|
55649
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
55650
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
55651
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
55652
|
+
*/
|
|
55653
|
+
|
|
55654
|
+
|
|
55655
|
+
|
|
55656
|
+
|
|
55657
|
+
const cssSize = (value)=>value === '' ? null : (0,_image_properties_utils_utils_js__WEBPACK_IMPORTED_MODULE_4__.normalSizeToString)(value);
|
|
55658
|
+
// Sizes go on as the resizer writes them: an embed takes them as attributes,
|
|
55659
|
+
// and a video as CSS, without a height while its ratio is kept, if it had none
|
|
55660
|
+
function applySize(j, state) {
|
|
55661
|
+
var _a;
|
|
55662
|
+
const { media, values } = state;
|
|
55663
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(media, 'iframe')) {
|
|
55664
|
+
[
|
|
55665
|
+
'width',
|
|
55666
|
+
'height'
|
|
55667
|
+
].forEach((key)=>{
|
|
55668
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(media, key, values[key] === '' ? null : values[key]);
|
|
55669
|
+
if ((0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__.cssInline)(media, key)) {
|
|
55670
|
+
(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__.css)(media, key, cssSize(values[key]));
|
|
55671
|
+
}
|
|
55672
|
+
});
|
|
55673
|
+
// The resizer's frame for an embed
|
|
55674
|
+
const wrapper = media.parentElement;
|
|
55675
|
+
if (wrapper && (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(wrapper, 'data-jodit_iframe_wrapper')) {
|
|
55676
|
+
(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__.css)(wrapper, {
|
|
55677
|
+
width: media.offsetWidth,
|
|
55678
|
+
height: media.offsetHeight
|
|
55679
|
+
});
|
|
55680
|
+
}
|
|
55681
|
+
return;
|
|
55682
|
+
}
|
|
55683
|
+
const heightFollowsWidth = state.sizeIsLocked && !(0,_readers_js__WEBPACK_IMPORTED_MODULE_3__.ownSize)(media, 'height');
|
|
55684
|
+
(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__.css)(media, {
|
|
55685
|
+
width: cssSize(values.width),
|
|
55686
|
+
height: heightFollowsWidth ? null : cssSize(values.height)
|
|
55687
|
+
});
|
|
55688
|
+
if (!((_a = (0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(media, 'style')) === null || _a === void 0 ? void 0 : _a.trim())) {
|
|
55689
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(media, 'style', null);
|
|
55690
|
+
}
|
|
55691
|
+
j.e.fire(media, 'changesize');
|
|
55692
|
+
}
|
|
55693
|
+
function setFlag(media, name, on) {
|
|
55694
|
+
if (media.hasAttribute(name) !== on) {
|
|
55695
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(media, name, on ? '' : null);
|
|
55696
|
+
}
|
|
55697
|
+
}
|
|
55698
|
+
/**
|
|
55699
|
+
* Apply the dialog's values to the media
|
|
55700
|
+
* @private
|
|
55701
|
+
*/ function applyValues(j, state, sizeChanged) {
|
|
55702
|
+
const { media, values } = state;
|
|
55703
|
+
if (sizeChanged && !_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(media, 'audio')) {
|
|
55704
|
+
applySize(j, state);
|
|
55705
|
+
}
|
|
55706
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(media, 'iframe')) {
|
|
55707
|
+
return;
|
|
55708
|
+
}
|
|
55709
|
+
if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(media, 'video')) {
|
|
55710
|
+
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(media, 'poster', values.poster || null);
|
|
55711
|
+
}
|
|
55712
|
+
// Browsers only autoplay muted media, and playsinline keeps an iPhone from
|
|
55713
|
+
// playing it full screen
|
|
55714
|
+
setFlag(media, 'autoplay', values.autoplay);
|
|
55715
|
+
setFlag(media, 'muted', values.autoplay || values.muted);
|
|
55716
|
+
setFlag(media, 'loop', values.loop);
|
|
55717
|
+
setFlag(media, 'controls', values.controls || !values.autoplay);
|
|
55718
|
+
if (values.autoplay && _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(media, 'video')) {
|
|
55719
|
+
setFlag(media, 'playsinline', true);
|
|
55720
|
+
}
|
|
55721
|
+
}
|
|
55722
|
+
|
|
55723
|
+
|
|
55724
|
+
/***/ }),
|
|
55725
|
+
|
|
55726
|
+
/***/ 14984:
|
|
55727
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
55728
|
+
|
|
55729
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
55730
|
+
/* harmony export */ videoTabs: function() { return /* binding */ videoTabs; }
|
|
55731
|
+
/* harmony export */ });
|
|
54754
55732
|
/* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21537);
|
|
54755
55733
|
/* harmony import */ var _core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(62843);
|
|
54756
55734
|
/* harmony import */ var _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2525);
|
|
@@ -54785,77 +55763,88 @@ _config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.video = {
|
|
|
54785
55763
|
defaultHandlerSuccess: insertVideos
|
|
54786
55764
|
};
|
|
54787
55765
|
_core_ui_icon_js__WEBPACK_IMPORTED_MODULE_3__.Icon.set('video', _video_svg_js__WEBPACK_IMPORTED_MODULE_6__["default"]);
|
|
54788
|
-
|
|
54789
|
-
|
|
54790
|
-
|
|
54791
|
-
|
|
54792
|
-
|
|
54793
|
-
|
|
54794
|
-
|
|
54795
|
-
|
|
54796
|
-
|
|
54797
|
-
|
|
54798
|
-
|
|
54799
|
-
|
|
54800
|
-
|
|
54801
|
-
|
|
54802
|
-
|
|
54803
|
-
|
|
54804
|
-
|
|
54805
|
-
|
|
54806
|
-
|
|
54807
|
-
|
|
54808
|
-
|
|
54809
|
-
|
|
54810
|
-
|
|
54811
|
-
|
|
54812
|
-
|
|
54813
|
-
|
|
54814
|
-
|
|
54815
|
-
|
|
54816
|
-
|
|
54817
|
-
|
|
54818
|
-
|
|
54819
|
-
|
|
54820
|
-
|
|
55766
|
+
/**
|
|
55767
|
+
* The video popup's tabs: Upload, when the uploader is configured, then Link
|
|
55768
|
+
* and Code. `insert` runs what a tab inserts, which by default goes in at the
|
|
55769
|
+
* selection the popup was opened with.
|
|
55770
|
+
*/ function videoTabs(jodit, close, insert) {
|
|
55771
|
+
const run = insert !== null && insert !== void 0 ? insert : (fn)=>{
|
|
55772
|
+
jodit.s.restore();
|
|
55773
|
+
fn();
|
|
55774
|
+
};
|
|
55775
|
+
const formLink = new _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_2__.UIForm(jodit, [
|
|
55776
|
+
new _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_2__.UIBlock(jodit, [
|
|
55777
|
+
new _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_2__.UIInput(jodit, {
|
|
55778
|
+
name: 'url',
|
|
55779
|
+
required: true,
|
|
55780
|
+
label: 'URL',
|
|
55781
|
+
placeholder: 'https://',
|
|
55782
|
+
validators: [
|
|
55783
|
+
'url'
|
|
55784
|
+
]
|
|
55785
|
+
})
|
|
55786
|
+
]),
|
|
55787
|
+
new _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_2__.UIBlock(jodit, [
|
|
55788
|
+
(0,_core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_1__.Button)(jodit, '', 'Insert', 'primary').onAction(()=>formLink.submit())
|
|
55789
|
+
])
|
|
55790
|
+
]), formCode = new _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_2__.UIForm(jodit, [
|
|
55791
|
+
new _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_2__.UIBlock(jodit, [
|
|
55792
|
+
new _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_2__.UITextArea(jodit, {
|
|
55793
|
+
name: 'code',
|
|
55794
|
+
required: true,
|
|
55795
|
+
label: 'Embed code'
|
|
55796
|
+
})
|
|
55797
|
+
]),
|
|
55798
|
+
new _core_ui_form_index_js__WEBPACK_IMPORTED_MODULE_2__.UIBlock(jodit, [
|
|
55799
|
+
(0,_core_ui_button_index_js__WEBPACK_IMPORTED_MODULE_1__.Button)(jodit, '', 'Insert', 'primary').onAction(()=>formCode.submit())
|
|
55800
|
+
])
|
|
55801
|
+
]), tabs = [], insertCode = (code)=>{
|
|
55802
|
+
run(()=>jodit.s.insertHTML((0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__.prepareEmbedCode)(jodit, code)));
|
|
55803
|
+
close();
|
|
55804
|
+
};
|
|
55805
|
+
if (!insert) {
|
|
54821
55806
|
jodit.s.save();
|
|
54822
|
-
|
|
54823
|
-
|
|
54824
|
-
|
|
54825
|
-
|
|
55807
|
+
}
|
|
55808
|
+
const { uploader } = jodit.o;
|
|
55809
|
+
// Base64 alone would put whole video files into the content
|
|
55810
|
+
if (uploader.showTabInFileSelector !== false && (uploader.url || uploader.customUploadFunction)) {
|
|
55811
|
+
tabs.push((0,_modules_widget_index_js__WEBPACK_IMPORTED_MODULE_5__.UploadTab)(jodit, (data)=>{
|
|
55812
|
+
run(()=>{
|
|
54826
55813
|
var _a, _b;
|
|
54827
|
-
jodit.
|
|
54828
|
-
|
|
54829
|
-
}, {
|
|
54830
|
-
label: 'Drop file',
|
|
54831
|
-
accept: 'video/*'
|
|
54832
|
-
}));
|
|
54833
|
-
}
|
|
54834
|
-
tabs.push({
|
|
54835
|
-
icon: 'link',
|
|
54836
|
-
name: 'Link',
|
|
54837
|
-
content: formLink.container
|
|
55814
|
+
return ((_b = (_a = jodit.o.video) === null || _a === void 0 ? void 0 : _a.defaultHandlerSuccess) !== null && _b !== void 0 ? _b : insertVideos).call(jodit, data);
|
|
55815
|
+
});
|
|
54838
55816
|
}, {
|
|
54839
|
-
|
|
54840
|
-
|
|
54841
|
-
|
|
54842
|
-
|
|
54843
|
-
|
|
54844
|
-
|
|
54845
|
-
|
|
54846
|
-
|
|
54847
|
-
|
|
54848
|
-
|
|
54849
|
-
|
|
54850
|
-
formCode.
|
|
54851
|
-
|
|
54852
|
-
|
|
54853
|
-
|
|
54854
|
-
|
|
54855
|
-
|
|
54856
|
-
|
|
54857
|
-
|
|
54858
|
-
}
|
|
55817
|
+
label: 'Drop file',
|
|
55818
|
+
accept: 'video/*'
|
|
55819
|
+
}));
|
|
55820
|
+
}
|
|
55821
|
+
tabs.push({
|
|
55822
|
+
icon: 'link',
|
|
55823
|
+
name: 'Link',
|
|
55824
|
+
content: formLink.container
|
|
55825
|
+
}, {
|
|
55826
|
+
icon: 'source',
|
|
55827
|
+
name: 'Code',
|
|
55828
|
+
content: formCode.container
|
|
55829
|
+
});
|
|
55830
|
+
formLink.onSubmit((data)=>{
|
|
55831
|
+
var _a, _b, _c, _d;
|
|
55832
|
+
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, {
|
|
55833
|
+
width: (_c = jodit.o.video) === null || _c === void 0 ? void 0 : _c.defaultWidth,
|
|
55834
|
+
height: (_d = jodit.o.video) === null || _d === void 0 ? void 0 : _d.defaultHeight
|
|
55835
|
+
}));
|
|
55836
|
+
});
|
|
55837
|
+
formCode.onSubmit((data)=>{
|
|
55838
|
+
insertCode(data.code);
|
|
55839
|
+
});
|
|
55840
|
+
const box = (0,_modules_widget_index_js__WEBPACK_IMPORTED_MODULE_5__.TabsWidget)(jodit, tabs);
|
|
55841
|
+
// Its tabs are sized to their labels, as the file selector's are, since
|
|
55842
|
+
// "Upload" doesn't fit a third of the popup
|
|
55843
|
+
box.classList.add('jodit-file-selector');
|
|
55844
|
+
return box;
|
|
55845
|
+
}
|
|
55846
|
+
_config_js__WEBPACK_IMPORTED_MODULE_4__.Config.prototype.controls.video = {
|
|
55847
|
+
popup: (jodit, current, close)=>videoTabs(jodit, close),
|
|
54859
55848
|
tags: [
|
|
54860
55849
|
'iframe'
|
|
54861
55850
|
],
|