jodit-pro 4.15.19 → 4.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es2015/jodit.css +1 -1
- package/es2015/jodit.fat.min.js +12 -11
- package/es2015/jodit.js +255 -91
- package/es2015/jodit.min.js +11 -10
- 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/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 +4 -1
- package/es2015/plugins/finder/finder.min.js +2 -2
- 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.js +12 -11
- package/es2018/jodit.min.js +11 -10
- 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/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 +13 -13
- 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 +1 -1
- package/es2021/jodit.fat.min.js +16 -15
- package/es2021/jodit.js +255 -91
- package/es2021/jodit.min.js +16 -15
- 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/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 +4 -1
- package/es2021/plugins/finder/finder.min.js +2 -2
- 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 +1 -1
- package/es2021.en/jodit.fat.min.js +16 -15
- package/es2021.en/jodit.js +255 -91
- package/es2021.en/jodit.min.js +17 -16
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.css +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2021.en/plugins/backup/backup.css +1 -1
- package/es2021.en/plugins/backup/backup.js +1 -1
- package/es2021.en/plugins/backup/backup.min.js +1 -1
- package/es2021.en/plugins/button-generator/button-generator.css +1 -1
- package/es2021.en/plugins/button-generator/button-generator.js +1 -1
- package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
- package/es2021.en/plugins/change-case/change-case.js +1 -1
- package/es2021.en/plugins/change-case/change-case.min.js +1 -1
- package/es2021.en/plugins/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 +4 -1
- package/es2021.en/plugins/finder/finder.min.js +2 -2
- 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 +2 -2
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +357 -99
- package/es5/jodit.min.css +2 -2
- package/es5/jodit.min.js +2 -2
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es5/plugins/autocomplete/autocomplete.css +1 -1
- package/es5/plugins/autocomplete/autocomplete.js +1 -1
- package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es5/plugins/backup/backup.css +1 -1
- package/es5/plugins/backup/backup.js +1 -1
- package/es5/plugins/backup/backup.min.js +1 -1
- package/es5/plugins/button-generator/button-generator.css +1 -1
- package/es5/plugins/button-generator/button-generator.js +1 -1
- package/es5/plugins/button-generator/button-generator.min.js +1 -1
- package/es5/plugins/change-case/change-case.js +1 -1
- package/es5/plugins/change-case/change-case.min.js +1 -1
- package/es5/plugins/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 +4 -1
- package/es5/plugins/finder/finder.min.js +2 -2
- 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/esm/plugins/finder/browser.js +1 -1
- package/package.json +1 -1
package/es2021.en/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.
|
|
4
|
+
* Version: v4.16.0
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -725,6 +725,25 @@ let ConfigPrototype = {};
|
|
|
725
725
|
/**
|
|
726
726
|
* Default width (in pixels) applied to images inserted into the editor
|
|
727
727
|
*/ this.imageDefaultWidth = 300;
|
|
728
|
+
/**
|
|
729
|
+
* Alignment given to images inserted into the editor. `'normal'` leaves
|
|
730
|
+
* them unaligned
|
|
731
|
+
*/ this.imageDefaultAlign = 'normal';
|
|
732
|
+
/**
|
|
733
|
+
* Class names to align images with, instead of an inline `float` or
|
|
734
|
+
* `margin`. Aligning an image removes every class listed here and adds the
|
|
735
|
+
* chosen alignment's, which can be several separated by spaces.
|
|
736
|
+
*
|
|
737
|
+
* ```javascript
|
|
738
|
+
* Jodit.make('#editor', {
|
|
739
|
+
* imageAlignClasses: {
|
|
740
|
+
* left: 'align-left',
|
|
741
|
+
* right: 'align-right',
|
|
742
|
+
* center: 'align-center'
|
|
743
|
+
* }
|
|
744
|
+
* });
|
|
745
|
+
* ```
|
|
746
|
+
*/ this.imageAlignClasses = null;
|
|
728
747
|
/**
|
|
729
748
|
* Do not display these buttons that are on the list
|
|
730
749
|
*
|
|
@@ -1724,7 +1743,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1724
1743
|
* ```
|
|
1725
1744
|
* @packageDocumentation
|
|
1726
1745
|
* @module constants
|
|
1727
|
-
*/ const APP_VERSION = "4.
|
|
1746
|
+
*/ const APP_VERSION = "4.16.0";
|
|
1728
1747
|
// prettier-ignore
|
|
1729
1748
|
const ES = "es2021";
|
|
1730
1749
|
const IS_ES_MODERN = true;
|
|
@@ -6283,6 +6302,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
6283
6302
|
/* harmony export */ getContentWidth: function() { return /* reexport safe */ _size_index_js__WEBPACK_IMPORTED_MODULE_6__.getContentWidth; },
|
|
6284
6303
|
/* harmony export */ getDataTransfer: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.getDataTransfer; },
|
|
6285
6304
|
/* harmony export */ getFixedPositionOffset: function() { return /* reexport safe */ _size_index_js__WEBPACK_IMPORTED_MODULE_6__.getFixedPositionOffset; },
|
|
6305
|
+
/* harmony export */ getHAlign: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.getHAlign; },
|
|
6286
6306
|
/* harmony export */ getPropertyDescriptor: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.getPropertyDescriptor; },
|
|
6287
6307
|
/* harmony export */ getScrollParent: function() { return /* reexport safe */ _size_index_js__WEBPACK_IMPORTED_MODULE_6__.getScrollParent; },
|
|
6288
6308
|
/* harmony export */ getXPathByElement: function() { return /* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_8__.getXPathByElement; },
|
|
@@ -7373,6 +7393,7 @@ function trimChars(value, chars) {
|
|
|
7373
7393
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
7374
7394
|
/* harmony export */ alignElement: function() { return /* binding */ alignElement; },
|
|
7375
7395
|
/* harmony export */ clearAlign: function() { return /* binding */ clearAlign; },
|
|
7396
|
+
/* harmony export */ getHAlign: function() { return /* binding */ getHAlign; },
|
|
7376
7397
|
/* harmony export */ hAlignElement: function() { return /* binding */ hAlignElement; }
|
|
7377
7398
|
/* harmony export */ });
|
|
7378
7399
|
/* harmony import */ var _dom_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22732);
|
|
@@ -7385,9 +7406,26 @@ function trimChars(value, chars) {
|
|
|
7385
7406
|
*/
|
|
7386
7407
|
|
|
7387
7408
|
|
|
7409
|
+
const classNames = (value)=>(value !== null && value !== void 0 ? value : '').split(/\s+/).filter(Boolean);
|
|
7388
7410
|
/**
|
|
7389
|
-
* Align image
|
|
7390
|
-
|
|
7411
|
+
* Align image, with `classes` (see `imageAlignClasses`) instead of inline
|
|
7412
|
+
* styles when they are given
|
|
7413
|
+
*/ function hAlignElement(image, align, classes) {
|
|
7414
|
+
if (classes) {
|
|
7415
|
+
hAlignElement(image, 'normal');
|
|
7416
|
+
Object.values(classes).forEach((value)=>image.classList.remove(...classNames(value)));
|
|
7417
|
+
image.classList.add(...classNames(classes[align || 'normal']));
|
|
7418
|
+
[
|
|
7419
|
+
'class',
|
|
7420
|
+
'style'
|
|
7421
|
+
].forEach((name)=>{
|
|
7422
|
+
var _a;
|
|
7423
|
+
if (!((_a = (0,_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(image, name)) === null || _a === void 0 ? void 0 : _a.trim())) {
|
|
7424
|
+
(0,_attr_js__WEBPACK_IMPORTED_MODULE_1__.attr)(image, name, null);
|
|
7425
|
+
}
|
|
7426
|
+
});
|
|
7427
|
+
return;
|
|
7428
|
+
}
|
|
7391
7429
|
if (align && align !== 'normal') {
|
|
7392
7430
|
if (align !== 'center') {
|
|
7393
7431
|
(0,_css_js__WEBPACK_IMPORTED_MODULE_2__.css)(image, 'float', align);
|
|
@@ -7410,6 +7448,31 @@ function trimChars(value, chars) {
|
|
|
7410
7448
|
;(0,_css_js__WEBPACK_IMPORTED_MODULE_2__.clearCenterAlign)(image);
|
|
7411
7449
|
}
|
|
7412
7450
|
}
|
|
7451
|
+
/**
|
|
7452
|
+
* The alignment `hAlignElement` has set on an element
|
|
7453
|
+
*/ function getHAlign(elm, classes) {
|
|
7454
|
+
if (classes) {
|
|
7455
|
+
for (const align of [
|
|
7456
|
+
'left',
|
|
7457
|
+
'right',
|
|
7458
|
+
'center',
|
|
7459
|
+
'normal'
|
|
7460
|
+
]){
|
|
7461
|
+
const names = classNames(classes[align]);
|
|
7462
|
+
if (names.length && names.every((name)=>elm.classList.contains(name))) {
|
|
7463
|
+
return align;
|
|
7464
|
+
}
|
|
7465
|
+
}
|
|
7466
|
+
}
|
|
7467
|
+
const float = (0,_css_js__WEBPACK_IMPORTED_MODULE_2__.cssInline)(elm, 'float').toLowerCase();
|
|
7468
|
+
if (float === 'left' || float === 'right') {
|
|
7469
|
+
return float;
|
|
7470
|
+
}
|
|
7471
|
+
if ((0,_css_js__WEBPACK_IMPORTED_MODULE_2__.css)(elm, 'display') === 'block' && (0,_css_js__WEBPACK_IMPORTED_MODULE_2__.cssInline)(elm, 'margin-left') === 'auto' && (0,_css_js__WEBPACK_IMPORTED_MODULE_2__.cssInline)(elm, 'margin-right') === 'auto') {
|
|
7472
|
+
return 'center';
|
|
7473
|
+
}
|
|
7474
|
+
return 'normal';
|
|
7475
|
+
}
|
|
7413
7476
|
/**
|
|
7414
7477
|
* Remove text-align style for all selected children
|
|
7415
7478
|
*/ function clearAlign(node) {
|
|
@@ -8562,6 +8625,7 @@ const getClassName = (obj)=>{
|
|
|
8562
8625
|
/* harmony export */ get: function() { return /* reexport safe */ _get_js__WEBPACK_IMPORTED_MODULE_15__.get; },
|
|
8563
8626
|
/* harmony export */ getClassName: function() { return /* reexport safe */ _get_class_name_js__WEBPACK_IMPORTED_MODULE_16__.getClassName; },
|
|
8564
8627
|
/* harmony export */ getDataTransfer: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_27__.getDataTransfer; },
|
|
8628
|
+
/* harmony export */ getHAlign: function() { return /* reexport safe */ _align_js__WEBPACK_IMPORTED_MODULE_0__.getHAlign; },
|
|
8565
8629
|
/* harmony export */ getPropertyDescriptor: function() { return /* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_27__.getPropertyDescriptor; },
|
|
8566
8630
|
/* harmony export */ getXPathByElement: function() { return /* reexport safe */ _selector_js__WEBPACK_IMPORTED_MODULE_24__.getXPathByElement; },
|
|
8567
8631
|
/* harmony export */ hAlignElement: function() { return /* reexport safe */ _align_js__WEBPACK_IMPORTED_MODULE_0__.hAlignElement; },
|
|
@@ -10417,10 +10481,11 @@ function findCorrectCurrentNode(node, range, rightMode, isCollapsed, checkChild,
|
|
|
10417
10481
|
/* harmony import */ var _dom_dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2748);
|
|
10418
10482
|
/* harmony import */ var _helpers_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21537);
|
|
10419
10483
|
/* harmony import */ var _helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(27613);
|
|
10420
|
-
/* harmony import */ var
|
|
10421
|
-
/* harmony import */ var
|
|
10422
|
-
/* harmony import */ var
|
|
10423
|
-
/* harmony import */ var
|
|
10484
|
+
/* harmony import */ var _helpers_utils_align_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(25726);
|
|
10485
|
+
/* harmony import */ var _helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(38837);
|
|
10486
|
+
/* harmony import */ var _helpers_move_the_node_along_the_edge_outward_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(43463);
|
|
10487
|
+
/* harmony import */ var _style_commit_style_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(25639);
|
|
10488
|
+
/* harmony import */ var _helpers_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(45124);
|
|
10424
10489
|
/*!
|
|
10425
10490
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
10426
10491
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -10442,6 +10507,7 @@ function findCorrectCurrentNode(node, range, rightMode, isCollapsed, checkChild,
|
|
|
10442
10507
|
|
|
10443
10508
|
|
|
10444
10509
|
|
|
10510
|
+
|
|
10445
10511
|
class Selection {
|
|
10446
10512
|
/**
|
|
10447
10513
|
* Short alias for this.jodit
|
|
@@ -10879,7 +10945,7 @@ class Selection {
|
|
|
10879
10945
|
return node;
|
|
10880
10946
|
}
|
|
10881
10947
|
if (!_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(node)) {
|
|
10882
|
-
const ret = (0,
|
|
10948
|
+
const ret = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_9__.findCorrectCurrentNode)(node, range, rightMode, sel.isCollapsed, checkChild, child);
|
|
10883
10949
|
node = ret.node;
|
|
10884
10950
|
rightMode = ret.rightMode;
|
|
10885
10951
|
}
|
|
@@ -11023,6 +11089,10 @@ class Selection {
|
|
|
11023
11089
|
if (styles && typeof styles === 'object') {
|
|
11024
11090
|
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.css)(image, styles);
|
|
11025
11091
|
}
|
|
11092
|
+
const { imageDefaultAlign, imageAlignClasses } = this.j.o;
|
|
11093
|
+
if (imageDefaultAlign && imageDefaultAlign !== 'normal') {
|
|
11094
|
+
(0,_helpers_utils_align_js__WEBPACK_IMPORTED_MODULE_5__.hAlignElement)(image, imageDefaultAlign, imageAlignClasses);
|
|
11095
|
+
}
|
|
11026
11096
|
const onload = ()=>{
|
|
11027
11097
|
if (image.naturalHeight < image.offsetHeight || image.naturalWidth < image.offsetWidth) {
|
|
11028
11098
|
(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.css)(image, {
|
|
@@ -11147,7 +11217,7 @@ class Selection {
|
|
|
11147
11217
|
const isSignificant = (elm)=>Boolean(elm && !_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTag(elm, 'br') && !_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isEmptyTextNode(elm) && !_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isTemporary(elm) && !(_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isElement(elm) && this.j.e.fire('isInvisibleForCursor', elm) === true));
|
|
11148
11218
|
// check right offset
|
|
11149
11219
|
if (_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(container)) {
|
|
11150
|
-
if ((0,
|
|
11220
|
+
if ((0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_9__.cursorInTheEdgeOfString)(container, offset, start, end)) {
|
|
11151
11221
|
return false;
|
|
11152
11222
|
}
|
|
11153
11223
|
} else {
|
|
@@ -11539,8 +11609,8 @@ class Selection {
|
|
|
11539
11609
|
* }) // will remove `color:red` from `span`
|
|
11540
11610
|
* ```
|
|
11541
11611
|
*/ commitStyle(options) {
|
|
11542
|
-
;(0,
|
|
11543
|
-
const styleElm = new
|
|
11612
|
+
;(0,_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_6__.assert)((0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.size)(options) > 0, 'Need to pass at least one option');
|
|
11613
|
+
const styleElm = new _style_commit_style_js__WEBPACK_IMPORTED_MODULE_8__.CommitStyle(options);
|
|
11544
11614
|
styleElm.apply(this.j);
|
|
11545
11615
|
}
|
|
11546
11616
|
/**
|
|
@@ -11590,7 +11660,7 @@ class Selection {
|
|
|
11590
11660
|
}
|
|
11591
11661
|
const fragment = leftRange.extractContents();
|
|
11592
11662
|
const clearEmpties = (node)=>_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.each(node, (node)=>_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isEmptyTextNode(node) && _dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(node));
|
|
11593
|
-
(0,
|
|
11663
|
+
(0,_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_6__.assert)(currentBox.parentNode, 'Splitting fails');
|
|
11594
11664
|
try {
|
|
11595
11665
|
clearEmpties(fragment);
|
|
11596
11666
|
clearEmpties(currentBox);
|
|
@@ -11643,7 +11713,7 @@ class Selection {
|
|
|
11643
11713
|
const r = range.cloneRange();
|
|
11644
11714
|
r.collapse(start);
|
|
11645
11715
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeInsertNode(r, fake);
|
|
11646
|
-
(0,
|
|
11716
|
+
(0,_helpers_move_the_node_along_the_edge_outward_js__WEBPACK_IMPORTED_MODULE_7__.moveTheNodeAlongTheEdgeOutward)(fake, start, this.j.editor);
|
|
11647
11717
|
return fake;
|
|
11648
11718
|
};
|
|
11649
11719
|
const leftFake = moveMaxEdgeFake(true);
|
|
@@ -13941,6 +14011,7 @@ let UIButton = class UIButton extends _element_js__WEBPACK_IMPORTED_MODULE_9__.U
|
|
|
13941
14011
|
this.name = this.state.name;
|
|
13942
14012
|
(0,_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_8__.attr)(this.container, 'data-ref', this.state.name);
|
|
13943
14013
|
(0,_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_8__.attr)(this.container, 'ref', this.state.name);
|
|
14014
|
+
this.updateAriaLabel();
|
|
13944
14015
|
}
|
|
13945
14016
|
onChangeTooltip() {
|
|
13946
14017
|
const i8nTooltip = this.state.tooltip ? this.jodit.i18n(this.state.tooltip) : null;
|
|
@@ -13952,9 +14023,12 @@ let UIButton = class UIButton extends _element_js__WEBPACK_IMPORTED_MODULE_9__.U
|
|
|
13952
14023
|
}
|
|
13953
14024
|
updateAriaLabel() {
|
|
13954
14025
|
const hasText = this.state.text.trim().length > 0;
|
|
13955
|
-
|
|
13956
|
-
(
|
|
13957
|
-
|
|
14026
|
+
// An icon-only button without a tooltip would have no accessible
|
|
14027
|
+
// name at all — fall back to its raw name (not translated: control
|
|
14028
|
+
// names are identifiers, not i18n keys).
|
|
14029
|
+
const label = this.state.tooltip ? this.jodit.i18n(this.state.tooltip) : !hasText && this.state.name ? this.state.name : null;
|
|
14030
|
+
(0,_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_8__.attr)(this.container, 'aria-label', label);
|
|
14031
|
+
(0,_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_8__.attr)(this.button, 'aria-label', !hasText ? label : null);
|
|
13958
14032
|
}
|
|
13959
14033
|
onChangeTabIndex() {
|
|
13960
14034
|
;(0,_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_8__.attr)(this.container, 'tabindex', this.state.tabIndex);
|
|
@@ -14982,6 +15056,7 @@ let UIFileInput = class UIFileInput extends _input_input_js__WEBPACK_IMPORTED_MO
|
|
|
14982
15056
|
return this.j.create.fromHTML(`<input
|
|
14983
15057
|
type="file"
|
|
14984
15058
|
accept="${options.onlyImages ? 'image/*' : '*'}"
|
|
15059
|
+
aria-label="${this.j.i18n(options.tooltip || 'Upload')}"
|
|
14985
15060
|
tabindex="-1"
|
|
14986
15061
|
dir="auto"
|
|
14987
15062
|
multiple=""
|
|
@@ -15482,9 +15557,12 @@ let UIGroup = UIGroup_1 = class UIGroup extends _element_js__WEBPACK_IMPORTED_MO
|
|
|
15482
15557
|
className() {
|
|
15483
15558
|
return 'UIGroup';
|
|
15484
15559
|
}
|
|
15485
|
-
|
|
15560
|
+
/**
|
|
15561
|
+
* A generic container: `group` allows any children. Toolbar button groups
|
|
15562
|
+
* are lists of `listitem`s and get `role="list"` explicitly from `UIList`.
|
|
15563
|
+
*/ getRole() {
|
|
15486
15564
|
var _a;
|
|
15487
|
-
return ((_a = this.options) === null || _a === void 0 ? void 0 : _a.role) || '
|
|
15565
|
+
return ((_a = this.options) === null || _a === void 0 ? void 0 : _a.role) || 'group';
|
|
15488
15566
|
}
|
|
15489
15567
|
/**
|
|
15490
15568
|
* All group children
|
|
@@ -15690,10 +15768,10 @@ let UIList = class UIList extends _group_js__WEBPACK_IMPORTED_MODULE_6__.UIGroup
|
|
|
15690
15768
|
}
|
|
15691
15769
|
/**
|
|
15692
15770
|
* Make new group and append it in list of elements
|
|
15693
|
-
*/ makeGroup(role) {
|
|
15694
|
-
return new _group_js__WEBPACK_IMPORTED_MODULE_6__.UIGroup(this.jodit, [],
|
|
15771
|
+
*/ makeGroup(role = 'list') {
|
|
15772
|
+
return new _group_js__WEBPACK_IMPORTED_MODULE_6__.UIGroup(this.jodit, [], {
|
|
15695
15773
|
role
|
|
15696
|
-
}
|
|
15774
|
+
});
|
|
15697
15775
|
}
|
|
15698
15776
|
/**
|
|
15699
15777
|
* All buttons from list
|
|
@@ -24792,12 +24870,13 @@ ContextMenu = __decorate([
|
|
|
24792
24870
|
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(580);
|
|
24793
24871
|
/* harmony import */ var _core_helpers_array_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(76855);
|
|
24794
24872
|
/* harmony import */ var _core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(27613);
|
|
24795
|
-
/* harmony import */ var
|
|
24796
|
-
/* harmony import */ var
|
|
24797
|
-
/* harmony import */ var
|
|
24798
|
-
/* harmony import */ var
|
|
24799
|
-
/* harmony import */ var
|
|
24800
|
-
/* harmony import */ var
|
|
24873
|
+
/* harmony import */ var _core_helpers_html_strip_tags_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(91003);
|
|
24874
|
+
/* harmony import */ var _core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(43555);
|
|
24875
|
+
/* harmony import */ var _core_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(38837);
|
|
24876
|
+
/* harmony import */ var _core_ui_index_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(67510);
|
|
24877
|
+
/* harmony import */ var _core_view_view_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(35608);
|
|
24878
|
+
/* harmony import */ var _core_view_view_with_toolbar_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(84075);
|
|
24879
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(6441);
|
|
24801
24880
|
/*!
|
|
24802
24881
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
24803
24882
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -24822,7 +24901,8 @@ var Dialog_1;
|
|
|
24822
24901
|
|
|
24823
24902
|
|
|
24824
24903
|
|
|
24825
|
-
|
|
24904
|
+
|
|
24905
|
+
_config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.dialog = {
|
|
24826
24906
|
namespace: '',
|
|
24827
24907
|
extraButtons: [],
|
|
24828
24908
|
/**
|
|
@@ -24838,7 +24918,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_12__.Config.prototype.dialog = {
|
|
|
24838
24918
|
toolbarButtonSize: 'middle',
|
|
24839
24919
|
zIndex: 'inherit'
|
|
24840
24920
|
};
|
|
24841
|
-
|
|
24921
|
+
_config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.controls.dialog = {
|
|
24842
24922
|
close: {
|
|
24843
24923
|
icon: 'cancel',
|
|
24844
24924
|
exec: (dialog)=>{
|
|
@@ -24848,7 +24928,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_12__.Config.prototype.controls.dialog = {
|
|
|
24848
24928
|
};
|
|
24849
24929
|
/**
|
|
24850
24930
|
* Module to generate dialog windows
|
|
24851
|
-
*/ let Dialog = Dialog_1 = class Dialog extends
|
|
24931
|
+
*/ let Dialog = Dialog_1 = class Dialog extends _core_view_view_with_toolbar_js__WEBPACK_IMPORTED_MODULE_12__.ViewWithToolbar {
|
|
24852
24932
|
/** @override */ className() {
|
|
24853
24933
|
return 'Dialog';
|
|
24854
24934
|
}
|
|
@@ -24912,8 +24992,8 @@ _config_js__WEBPACK_IMPORTED_MODULE_12__.Config.prototype.controls.dialog = {
|
|
|
24912
24992
|
this.draggable = true;
|
|
24913
24993
|
this.startX = e.clientX;
|
|
24914
24994
|
this.startY = e.clientY;
|
|
24915
|
-
this.startPoint.x = (0,
|
|
24916
|
-
this.startPoint.y = (0,
|
|
24995
|
+
this.startPoint.x = (0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.css)(this.dialog, 'left');
|
|
24996
|
+
this.startPoint.y = (0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.css)(this.dialog, 'top');
|
|
24917
24997
|
this.setMaxZIndex();
|
|
24918
24998
|
if (e.cancelable) {
|
|
24919
24999
|
e.preventDefault();
|
|
@@ -25003,7 +25083,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_12__.Config.prototype.controls.dialog = {
|
|
|
25003
25083
|
if (h == null) {
|
|
25004
25084
|
h = this.dialog.offsetHeight;
|
|
25005
25085
|
}
|
|
25006
|
-
;(0,
|
|
25086
|
+
;(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.css)(this.dialog, {
|
|
25007
25087
|
width: w,
|
|
25008
25088
|
height: h
|
|
25009
25089
|
});
|
|
@@ -25037,7 +25117,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_12__.Config.prototype.controls.dialog = {
|
|
|
25037
25117
|
this.moved = Math.abs(x - left) > 100 || Math.abs(y - top) > 100;
|
|
25038
25118
|
}
|
|
25039
25119
|
// strings on purpose: `css()` would truncate fractional pixels
|
|
25040
|
-
;(0,
|
|
25120
|
+
;(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.css)(this.dialog, {
|
|
25041
25121
|
left: (x || left) + 'px',
|
|
25042
25122
|
top: (y || top) + 'px'
|
|
25043
25123
|
});
|
|
@@ -25057,6 +25137,12 @@ _config_js__WEBPACK_IMPORTED_MODULE_12__.Config.prototype.controls.dialog = {
|
|
|
25057
25137
|
* ```
|
|
25058
25138
|
*/ setHeader(content) {
|
|
25059
25139
|
this.setElements(this.dialogbox_header, content);
|
|
25140
|
+
// `role="dialog"` needs an accessible name; a text title is the
|
|
25141
|
+
// natural one (element titles are left to the caller).
|
|
25142
|
+
if ((0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_6__.isString)(content)) {
|
|
25143
|
+
const name = (0,_core_helpers_html_strip_tags_js__WEBPACK_IMPORTED_MODULE_7__.stripTags)(content, this.od).trim();
|
|
25144
|
+
(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.attr)(this.container, 'aria-label', name || null);
|
|
25145
|
+
}
|
|
25060
25146
|
return this;
|
|
25061
25147
|
}
|
|
25062
25148
|
/**
|
|
@@ -25110,7 +25196,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_12__.Config.prototype.controls.dialog = {
|
|
|
25110
25196
|
/**
|
|
25111
25197
|
* Get zIndex from dialog
|
|
25112
25198
|
*/ getZIndex() {
|
|
25113
|
-
return parseInt((0,
|
|
25199
|
+
return parseInt((0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.css)(this.container, 'zIndex'), 10) || 0;
|
|
25114
25200
|
}
|
|
25115
25201
|
/**
|
|
25116
25202
|
* Get dialog instance with maximum z-index displaying it on top of all the dialog boxes
|
|
@@ -25133,7 +25219,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_12__.Config.prototype.controls.dialog = {
|
|
|
25133
25219
|
this.__openedSiblings().forEach((dialog)=>{
|
|
25134
25220
|
maxZIndex = Math.max(dialog.getZIndex(), maxZIndex);
|
|
25135
25221
|
});
|
|
25136
|
-
(0,
|
|
25222
|
+
(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.css)(this.container, 'zIndex', (maxZIndex + 1).toString());
|
|
25137
25223
|
}
|
|
25138
25224
|
/**
|
|
25139
25225
|
* Expands the dialog on full browser window
|
|
@@ -25183,7 +25269,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_12__.Config.prototype.controls.dialog = {
|
|
|
25183
25269
|
this.setPosition(this.offsetX, this.offsetY);
|
|
25184
25270
|
this.setMaxZIndex();
|
|
25185
25271
|
} else {
|
|
25186
|
-
(0,
|
|
25272
|
+
(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.css)(this.container, 'zIndex', null);
|
|
25187
25273
|
}
|
|
25188
25274
|
if (this.o.fullsize) {
|
|
25189
25275
|
this.toggleFullSize(true);
|
|
@@ -25310,7 +25396,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_12__.Config.prototype.controls.dialog = {
|
|
|
25310
25396
|
* True, if dialog was opened
|
|
25311
25397
|
*/ this.isOpened = false;
|
|
25312
25398
|
const self1 = this;
|
|
25313
|
-
self1.options = (0,
|
|
25399
|
+
self1.options = (0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.ConfigProto)(options, (0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.ConfigProto)(_config_js__WEBPACK_IMPORTED_MODULE_13__.Config.prototype.dialog, Dialog_1.defaultOptions));
|
|
25314
25400
|
// Attach event handlers passed via `options.events` to the dialog's own
|
|
25315
25401
|
// emitter (as FileBrowser already does), so a consumer — e.g. a plugin
|
|
25316
25402
|
// forwarding the editor's `events` config — can observe `afterOpen` /
|
|
@@ -25328,40 +25414,40 @@ _config_js__WEBPACK_IMPORTED_MODULE_12__.Config.prototype.controls.dialog = {
|
|
|
25328
25414
|
</div>
|
|
25329
25415
|
<div class="${n('content')}"></div>
|
|
25330
25416
|
<div class="${n('footer')}"></div>
|
|
25331
|
-
<div class="${n('resizer')}">${
|
|
25417
|
+
<div class="${n('resizer')}">${_core_ui_index_js__WEBPACK_IMPORTED_MODULE_10__.Icon.get('resize_handler')}</div>
|
|
25332
25418
|
</div>
|
|
25333
25419
|
</div>`);
|
|
25334
25420
|
if (self1.options.direction === 'rtl') {
|
|
25335
|
-
(0,
|
|
25336
|
-
(0,
|
|
25421
|
+
(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.css)(self1.container, 'direction', 'rtl');
|
|
25422
|
+
(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.attr)(self1.container, 'dir', 'rtl');
|
|
25337
25423
|
}
|
|
25338
25424
|
if (this.o.zIndex) {
|
|
25339
|
-
(0,
|
|
25425
|
+
(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.css)(this.container, 'zIndex', this.o.zIndex.toString());
|
|
25340
25426
|
}
|
|
25341
|
-
;(0,
|
|
25427
|
+
;(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.attr)(self1.container, 'role', 'dialog');
|
|
25342
25428
|
Object.defineProperty(self1.container, 'component', {
|
|
25343
25429
|
value: this
|
|
25344
25430
|
});
|
|
25345
25431
|
self1.setMod('theme', self1.o.theme || 'default').setMod('resizable', Boolean(self1.o.resizable));
|
|
25346
25432
|
const dialog = self1.getElm('panel');
|
|
25347
|
-
(0,
|
|
25433
|
+
(0,_core_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_9__.assert)(dialog != null, 'Panel element does not exist');
|
|
25348
25434
|
const resizer = self1.getElm('resizer');
|
|
25349
|
-
(0,
|
|
25435
|
+
(0,_core_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_9__.assert)(resizer != null, 'Resizer element does not exist');
|
|
25350
25436
|
const dialogbox_header = self1.getElm('header-title');
|
|
25351
|
-
(0,
|
|
25437
|
+
(0,_core_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_9__.assert)(dialogbox_header != null, 'header-title element does not exist');
|
|
25352
25438
|
const dialogbox_content = self1.getElm('content');
|
|
25353
|
-
(0,
|
|
25439
|
+
(0,_core_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_9__.assert)(dialogbox_content != null, 'Content element does not exist');
|
|
25354
25440
|
const dialogbox_footer = self1.getElm('footer');
|
|
25355
|
-
(0,
|
|
25441
|
+
(0,_core_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_9__.assert)(dialogbox_footer != null, 'Footer element does not exist');
|
|
25356
25442
|
const dialogbox_toolbar = self1.getElm('header-toolbar');
|
|
25357
|
-
(0,
|
|
25443
|
+
(0,_core_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_9__.assert)(dialogbox_toolbar != null, 'header-toolbar element does not exist');
|
|
25358
25444
|
this.dialog = dialog;
|
|
25359
25445
|
this.resizer = resizer;
|
|
25360
25446
|
this.dialogbox_header = dialogbox_header;
|
|
25361
25447
|
this.dialogbox_content = dialogbox_content;
|
|
25362
25448
|
this.dialogbox_footer = dialogbox_footer;
|
|
25363
25449
|
this.dialogbox_toolbar = dialogbox_toolbar;
|
|
25364
|
-
(0,
|
|
25450
|
+
(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_8__.css)(self1.dialog, {
|
|
25365
25451
|
maxWidth: self1.options.maxWidth,
|
|
25366
25452
|
minHeight: self1.options.minHeight,
|
|
25367
25453
|
minWidth: self1.options.minWidth
|
|
@@ -25374,7 +25460,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_12__.Config.prototype.controls.dialog = {
|
|
|
25374
25460
|
this.e.on(self1.container, 'close_dialog', self1.close).on(this.ow, 'keydown', this.__onEsc).on(this.ow, 'resize', this.__onResize);
|
|
25375
25461
|
if (this.o.closeOnClickOverlay) {
|
|
25376
25462
|
const overlay = self1.getElm('overlay');
|
|
25377
|
-
(0,
|
|
25463
|
+
(0,_core_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_9__.assert)(overlay != null, 'Overlay element does not exist');
|
|
25378
25464
|
this.e.on(overlay, 'click', self1.close);
|
|
25379
25465
|
}
|
|
25380
25466
|
}
|
|
@@ -25384,7 +25470,7 @@ _config_js__WEBPACK_IMPORTED_MODULE_12__.Config.prototype.controls.dialog = {
|
|
|
25384
25470
|
* whole `destination` (usually `document.body`) for every z-index update.
|
|
25385
25471
|
*/ Dialog.__opened = new Set();
|
|
25386
25472
|
Dialog.defaultOptions = {
|
|
25387
|
-
...
|
|
25473
|
+
..._core_view_view_js__WEBPACK_IMPORTED_MODULE_11__.View.defaultOptions,
|
|
25388
25474
|
closeOnClickOverlay: false,
|
|
25389
25475
|
closeOnEsc: true
|
|
25390
25476
|
};
|
|
@@ -30499,6 +30585,13 @@ let ToolbarContent = class ToolbarContent extends _core_ui_button_index_js__WEBP
|
|
|
30499
30585
|
/** @override */ className() {
|
|
30500
30586
|
return 'ToolbarContent';
|
|
30501
30587
|
}
|
|
30588
|
+
/** A toolbar item like `ToolbarButton`: the parent group is a `list`. */ getRole() {
|
|
30589
|
+
return 'listitem';
|
|
30590
|
+
}
|
|
30591
|
+
/**
|
|
30592
|
+
* Arbitrary content is not a toggle button — `aria-pressed` is not
|
|
30593
|
+
* allowed on a `listitem`.
|
|
30594
|
+
*/ onChangeActivated() {}
|
|
30502
30595
|
/** @override */ update() {
|
|
30503
30596
|
var _a, _b, _c;
|
|
30504
30597
|
const { control } = this;
|
|
@@ -30541,7 +30634,6 @@ let ToolbarContent = class ToolbarContent extends _core_ui_button_index_js__WEBP
|
|
|
30541
30634
|
this.control = control;
|
|
30542
30635
|
this.target = target;
|
|
30543
30636
|
this.container.classList.add(`${this.componentName}_${this.clearName(control.name)}`);
|
|
30544
|
-
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'role', 'content');
|
|
30545
30637
|
}
|
|
30546
30638
|
};
|
|
30547
30639
|
ToolbarContent = __decorate([
|
|
@@ -37400,14 +37492,28 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_1__.pluginSystem.add('file', file);
|
|
|
37400
37492
|
*/ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.saveSelectionOnBlur = true;
|
|
37401
37493
|
function focus(editor) {
|
|
37402
37494
|
if (editor.o.saveSelectionOnBlur) {
|
|
37495
|
+
// A click that brings focus back places the caret itself, and Chrome
|
|
37496
|
+
// has already placed it when focus fires, so restoring would move it
|
|
37497
|
+
// back to the old selection. The saved markers are dropped instead.
|
|
37498
|
+
let focusByPointer = false;
|
|
37403
37499
|
editor.e.on('blur', ()=>{
|
|
37500
|
+
// A press that never brought the focus back must not decide
|
|
37501
|
+
// what the next focus does
|
|
37502
|
+
focusByPointer = false;
|
|
37404
37503
|
if (editor.isEditorMode()) {
|
|
37405
37504
|
editor.s.save(true);
|
|
37406
37505
|
}
|
|
37506
|
+
}).on('mousedown touchstart', ()=>{
|
|
37507
|
+
focusByPointer = !editor.editorIsActive;
|
|
37407
37508
|
}).on('focus', ()=>{
|
|
37408
37509
|
if (editor.isEditorMode()) {
|
|
37409
|
-
|
|
37510
|
+
if (focusByPointer) {
|
|
37511
|
+
editor.s.removeMarkers();
|
|
37512
|
+
} else {
|
|
37513
|
+
editor.s.restore();
|
|
37514
|
+
}
|
|
37410
37515
|
}
|
|
37516
|
+
focusByPointer = false;
|
|
37411
37517
|
});
|
|
37412
37518
|
}
|
|
37413
37519
|
const focus = ()=>{
|
|
@@ -38434,11 +38540,12 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.imageProcessor = {
|
|
|
38434
38540
|
/* unused harmony export imageProcessor */
|
|
38435
38541
|
/* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
38436
38542
|
/* harmony import */ var _core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65478);
|
|
38437
|
-
/* harmony import */ var
|
|
38438
|
-
/* harmony import */ var
|
|
38439
|
-
/* harmony import */ var
|
|
38440
|
-
/* harmony import */ var
|
|
38441
|
-
/* harmony import */ var
|
|
38543
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2748);
|
|
38544
|
+
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(580);
|
|
38545
|
+
/* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(21537);
|
|
38546
|
+
/* harmony import */ var _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(50911);
|
|
38547
|
+
/* harmony import */ var _modules_uploader_helpers_data_uri_to_blob_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(74569);
|
|
38548
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(85745);
|
|
38442
38549
|
/*!
|
|
38443
38550
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
38444
38551
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -38456,11 +38563,12 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.imageProcessor = {
|
|
|
38456
38563
|
|
|
38457
38564
|
|
|
38458
38565
|
|
|
38566
|
+
|
|
38459
38567
|
const JODIT_IMAGE_PROCESSOR_BINDED = '__jodit_imageprocessor_binded';
|
|
38460
38568
|
const JODIT_IMAGE_BLOB_ID = JODIT_IMAGE_PROCESSOR_BINDED + 'blob-id';
|
|
38461
38569
|
/**
|
|
38462
38570
|
* Change editor's size after load all images
|
|
38463
|
-
*/ class imageProcessor extends
|
|
38571
|
+
*/ class imageProcessor extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plugin {
|
|
38464
38572
|
afterInit(jodit) {}
|
|
38465
38573
|
beforeDestruct(jodit) {
|
|
38466
38574
|
const buffer = (0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.cached)(jodit, 'buffer');
|
|
@@ -38498,9 +38606,9 @@ const JODIT_IMAGE_BLOB_ID = JODIT_IMAGE_PROCESSOR_BINDED + 'blob-id';
|
|
|
38498
38606
|
if (!editor.editor) {
|
|
38499
38607
|
return;
|
|
38500
38608
|
}
|
|
38501
|
-
;(0,
|
|
38502
|
-
if (!(0,
|
|
38503
|
-
(0,
|
|
38609
|
+
;(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.$$)('img', editor.editor).forEach((elm)=>{
|
|
38610
|
+
if (!(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.dataBind)(elm, JODIT_IMAGE_PROCESSOR_BINDED)) {
|
|
38611
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.dataBind)(elm, JODIT_IMAGE_PROCESSOR_BINDED, true);
|
|
38504
38612
|
if (!elm.complete) {
|
|
38505
38613
|
editor.e.on(elm, 'load', function ElementOnLoad() {
|
|
38506
38614
|
var _a;
|
|
@@ -38512,6 +38620,7 @@ const JODIT_IMAGE_BLOB_ID = JODIT_IMAGE_PROCESSOR_BINDED + 'blob-id';
|
|
|
38512
38620
|
replaceDataURIToBlobUUID(editor, elm);
|
|
38513
38621
|
}
|
|
38514
38622
|
editor.e.on(elm, 'mousedown touchstart', ()=>{
|
|
38623
|
+
removeCaretText(elm);
|
|
38515
38624
|
editor.s.select(elm);
|
|
38516
38625
|
});
|
|
38517
38626
|
}
|
|
@@ -38532,6 +38641,24 @@ __decorate([
|
|
|
38532
38641
|
]),
|
|
38533
38642
|
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.debounce)()
|
|
38534
38643
|
], imageProcessor.prototype, "afterChange", null);
|
|
38644
|
+
/**
|
|
38645
|
+
* Remove the invisible-space text beside an image, which only held a caret.
|
|
38646
|
+
* Selecting the image replaces the caret, and with the text still after a
|
|
38647
|
+
* block image, Safari highlights the rest of the image's line. See #1512
|
|
38648
|
+
*/ function removeCaretText(elm) {
|
|
38649
|
+
var _a;
|
|
38650
|
+
for (const side of [
|
|
38651
|
+
'previousSibling',
|
|
38652
|
+
'nextSibling'
|
|
38653
|
+
]){
|
|
38654
|
+
let node = elm[side];
|
|
38655
|
+
while(_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isText(node) && !((_a = node.nodeValue) === null || _a === void 0 ? void 0 : _a.replace((0,_core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE_REG_EXP)(), ''))){
|
|
38656
|
+
const next = node[side];
|
|
38657
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(node);
|
|
38658
|
+
node = next;
|
|
38659
|
+
}
|
|
38660
|
+
}
|
|
38661
|
+
}
|
|
38535
38662
|
function replaceDataURIToBlobUUID(editor, elm) {
|
|
38536
38663
|
if (!editor.o.imageProcessor.replaceDataURIToBlobIdInView) {
|
|
38537
38664
|
return;
|
|
@@ -38542,7 +38669,7 @@ function replaceDataURIToBlobUUID(editor, elm) {
|
|
|
38542
38669
|
const dataUri = elm.src;
|
|
38543
38670
|
let blob;
|
|
38544
38671
|
try {
|
|
38545
|
-
blob = (0,
|
|
38672
|
+
blob = (0,_modules_uploader_helpers_data_uri_to_blob_js__WEBPACK_IMPORTED_MODULE_6__.dataURItoBlob)(dataUri);
|
|
38546
38673
|
} catch (_a) {
|
|
38547
38674
|
// A data URI the browser accepts but we cannot decode is not worth
|
|
38548
38675
|
// breaking the editor over — keep the image as it is
|
|
@@ -38555,7 +38682,7 @@ function replaceDataURIToBlobUUID(editor, elm) {
|
|
|
38555
38682
|
list[elm.src] = dataUri;
|
|
38556
38683
|
editor.buffer.set(JODIT_IMAGE_BLOB_ID, list);
|
|
38557
38684
|
}
|
|
38558
|
-
|
|
38685
|
+
_core_global_js__WEBPACK_IMPORTED_MODULE_3__.pluginSystem.add('imageProcessor', imageProcessor);
|
|
38559
38686
|
|
|
38560
38687
|
|
|
38561
38688
|
/***/ }),
|
|
@@ -38854,7 +38981,7 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('imageProperties',
|
|
|
38854
38981
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
38855
38982
|
/* harmony export */ readAlign: function() { return /* binding */ readAlign; }
|
|
38856
38983
|
/* harmony export */ });
|
|
38857
|
-
/* harmony import */ var
|
|
38984
|
+
/* harmony import */ var _core_helpers_utils_align_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(25726);
|
|
38858
38985
|
/*!
|
|
38859
38986
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
38860
38987
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -38862,20 +38989,9 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('imageProperties',
|
|
|
38862
38989
|
*/
|
|
38863
38990
|
/**
|
|
38864
38991
|
* @private
|
|
38865
|
-
*/ function readAlign(image, values) {
|
|
38866
|
-
|
|
38867
|
-
|
|
38868
|
-
'left',
|
|
38869
|
-
'right'
|
|
38870
|
-
].indexOf((0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_0__.cssInline)(image, 'float').toLowerCase()) !== -1) {
|
|
38871
|
-
values.align = (0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_0__.css)(image, 'float');
|
|
38872
|
-
} else {
|
|
38873
|
-
if ((0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_0__.css)(image, 'display') === 'block' && (0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_0__.cssInline)(image, 'margin-left') === 'auto' && (0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_0__.cssInline)(image, 'margin-right') === 'auto') {
|
|
38874
|
-
values.align = 'center';
|
|
38875
|
-
} else {
|
|
38876
|
-
values.align = '';
|
|
38877
|
-
}
|
|
38878
|
-
}
|
|
38992
|
+
*/ function readAlign(image, values, classes) {
|
|
38993
|
+
const align = (0,_core_helpers_utils_align_js__WEBPACK_IMPORTED_MODULE_0__.getHAlign)(image, classes);
|
|
38994
|
+
values.align = align === 'normal' ? '' : align;
|
|
38879
38995
|
}
|
|
38880
38996
|
|
|
38881
38997
|
|
|
@@ -38908,7 +39024,7 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('imageProperties',
|
|
|
38908
39024
|
* @private
|
|
38909
39025
|
*/ async function readValuesFromImage(j, state) {
|
|
38910
39026
|
const { sourceImage: image, values } = state;
|
|
38911
|
-
(0,_align_js__WEBPACK_IMPORTED_MODULE_2__.readAlign)(image, values);
|
|
39027
|
+
(0,_align_js__WEBPACK_IMPORTED_MODULE_2__.readAlign)(image, values, j.o.imageAlignClasses);
|
|
38912
39028
|
// Border radius
|
|
38913
39029
|
values.borderRadius = parseInt((0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_1__.cssInline)(image, 'border-radius') || '0', 10) || 0;
|
|
38914
39030
|
// Id
|
|
@@ -39941,7 +40057,7 @@ UIImagePositionTab = __decorate([
|
|
|
39941
40057
|
(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.attr)(image, 'id', id || null);
|
|
39942
40058
|
}
|
|
39943
40059
|
if (opt.image.editAlign) {
|
|
39944
|
-
(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.hAlignElement)(image, align);
|
|
40060
|
+
(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.hAlignElement)(image, align, j.o.imageAlignClasses);
|
|
39945
40061
|
}
|
|
39946
40062
|
}
|
|
39947
40063
|
|
|
@@ -40006,10 +40122,12 @@ UIImagePositionTab = __decorate([
|
|
|
40006
40122
|
marginBottom,
|
|
40007
40123
|
marginLeft
|
|
40008
40124
|
];
|
|
40125
|
+
// Compared with the inline value, which is what `readMargins` showed, so a
|
|
40126
|
+
// margin from a stylesheet is not overwritten when the field is unchanged
|
|
40009
40127
|
const applyMargin = (key, value)=>{
|
|
40010
|
-
const oldValue = (0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_0__.
|
|
40128
|
+
const oldValue = (0,_utils_utils_js__WEBPACK_IMPORTED_MODULE_1__.normalSizeToString)((0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_0__.cssInline)(image, key) || 0);
|
|
40011
40129
|
const v = (0,_utils_utils_js__WEBPACK_IMPORTED_MODULE_1__.normalSizeToString)(value);
|
|
40012
|
-
if (oldValue
|
|
40130
|
+
if (oldValue !== v) {
|
|
40013
40131
|
(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_0__.css)(image, key, v);
|
|
40014
40132
|
}
|
|
40015
40133
|
};
|
|
@@ -40677,6 +40795,10 @@ const cmd = (control)=>control.args && (0,_core_helpers_checker_index_js__WEBPAC
|
|
|
40677
40795
|
|
|
40678
40796
|
|
|
40679
40797
|
|
|
40798
|
+
// Images align with `imageAlignClasses`; the wrappers of iframes and media
|
|
40799
|
+
// keep inline styles
|
|
40800
|
+
const alignClasses = (editor, elm)=>_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(elm, 'img') ? editor.o.imageAlignClasses : null;
|
|
40801
|
+
const currentAlign = (editor, elm)=>elm ? (0,_core_helpers_utils_align_js__WEBPACK_IMPORTED_MODULE_2__.getHAlign)(elm, alignClasses(editor, elm)) : 'normal';
|
|
40680
40802
|
const align = {
|
|
40681
40803
|
name: 'left',
|
|
40682
40804
|
childTemplate: (_, __, value)=>value,
|
|
@@ -40686,6 +40808,16 @@ const align = {
|
|
|
40686
40808
|
'Center',
|
|
40687
40809
|
'Normal'
|
|
40688
40810
|
],
|
|
40811
|
+
update: (editor, button)=>{
|
|
40812
|
+
const current = currentAlign(editor, button.target);
|
|
40813
|
+
button.state.icon.name = current === 'normal' ? 'left' : current;
|
|
40814
|
+
},
|
|
40815
|
+
isActive: (editor, button)=>currentAlign(editor, button.target) !== 'normal',
|
|
40816
|
+
isChildActive: (editor, button)=>{
|
|
40817
|
+
var _a;
|
|
40818
|
+
const [value] = (_a = button.control.args) !== null && _a !== void 0 ? _a : [];
|
|
40819
|
+
return (0,_core_helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_1__.isString)(value) && currentAlign(editor, button.target) === value.toLowerCase();
|
|
40820
|
+
},
|
|
40689
40821
|
exec: (editor, elm, { control })=>{
|
|
40690
40822
|
if (!_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(elm, new Set([
|
|
40691
40823
|
'img',
|
|
@@ -40698,7 +40830,7 @@ const align = {
|
|
|
40698
40830
|
if (!command) {
|
|
40699
40831
|
return false;
|
|
40700
40832
|
}
|
|
40701
|
-
;(0,_core_helpers_utils_align_js__WEBPACK_IMPORTED_MODULE_2__.hAlignElement)(elm, command);
|
|
40833
|
+
;(0,_core_helpers_utils_align_js__WEBPACK_IMPORTED_MODULE_2__.hAlignElement)(elm, command, alignClasses(editor, elm));
|
|
40702
40834
|
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(elm, new Set([
|
|
40703
40835
|
'jodit',
|
|
40704
40836
|
'jodit-media'
|
|
@@ -40738,6 +40870,14 @@ const align = {
|
|
|
40738
40870
|
'Normal'
|
|
40739
40871
|
],
|
|
40740
40872
|
tooltip: 'Vertical align',
|
|
40873
|
+
// `vertical-align` only moves an image in the line, not a floated or block one
|
|
40874
|
+
isDisabled: (editor, button)=>{
|
|
40875
|
+
const image = button.target;
|
|
40876
|
+
return Boolean(image && ([
|
|
40877
|
+
'left',
|
|
40878
|
+
'right'
|
|
40879
|
+
].includes((0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_3__.css)(image, 'float')) || (0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_3__.css)(image, 'display') === 'block'));
|
|
40880
|
+
},
|
|
40741
40881
|
exec: (editor, image, { control })=>{
|
|
40742
40882
|
if (!_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(image, 'img')) {
|
|
40743
40883
|
return;
|
|
@@ -46917,19 +47057,26 @@ class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_3__.SourceEdit
|
|
|
46917
47057
|
onResize();
|
|
46918
47058
|
this.onReady();
|
|
46919
47059
|
};
|
|
47060
|
+
let loading = false;
|
|
46920
47061
|
const initAceEditor = ()=>{
|
|
46921
47062
|
if (editor.isInDestruct || editor.getRealMode() !== _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.MODE_SOURCE && editor.getMode() !== _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.MODE_SPLIT) {
|
|
46922
47063
|
return;
|
|
46923
47064
|
}
|
|
47065
|
+
// ACE (~400 KiB from the CDN) is only needed once the source view
|
|
47066
|
+
// is actually shown — a page that stays in WYSIWYG must not
|
|
47067
|
+
// download it.
|
|
47068
|
+
if (!this.aceExists()) {
|
|
47069
|
+
if (!loading) {
|
|
47070
|
+
loading = true;
|
|
47071
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.loadNext)(editor, editor.o.sourceEditorCDNUrlsJS).then(initAceEditor).catch(()=>null);
|
|
47072
|
+
}
|
|
47073
|
+
return;
|
|
47074
|
+
}
|
|
46924
47075
|
this.fromWYSIWYG();
|
|
46925
47076
|
tryInitAceEditor();
|
|
46926
47077
|
};
|
|
46927
47078
|
editor.e.on('afterSetMode', initAceEditor);
|
|
46928
47079
|
initAceEditor();
|
|
46929
|
-
// global add ace editor in browser
|
|
46930
|
-
if (!this.aceExists()) {
|
|
46931
|
-
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.loadNext)(editor, editor.o.sourceEditorCDNUrlsJS).then(initAceEditor).catch(()=>null);
|
|
46932
|
-
}
|
|
46933
47080
|
}
|
|
46934
47081
|
destruct() {
|
|
46935
47082
|
var _a, _b;
|
|
@@ -47459,7 +47606,24 @@ function createSourceEditor(type, editor, container, toWYSIWYG, fromWYSIWYG) {
|
|
|
47459
47606
|
return false;
|
|
47460
47607
|
};
|
|
47461
47608
|
if (!addEventListener()) {
|
|
47462
|
-
|
|
47609
|
+
// js-beautify is only needed once the source view is shown —
|
|
47610
|
+
// do not download it for a page that stays in WYSIWYG.
|
|
47611
|
+
let loading = false;
|
|
47612
|
+
const loadBeautify = ()=>{
|
|
47613
|
+
if (loading || editor.getMode() !== _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.MODE_SOURCE && editor.getMode() !== _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.MODE_SPLIT) {
|
|
47614
|
+
return;
|
|
47615
|
+
}
|
|
47616
|
+
loading = true;
|
|
47617
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.loadNext)(editor, editor.o.beautifyHTMLCDNUrlsJS).then(()=>{
|
|
47618
|
+
// The source view was filled before the
|
|
47619
|
+
// beautifier arrived — format it now.
|
|
47620
|
+
if (addEventListener()) {
|
|
47621
|
+
this.syncValueFromWYSIWYG(true);
|
|
47622
|
+
}
|
|
47623
|
+
}, ()=>null);
|
|
47624
|
+
};
|
|
47625
|
+
editor.e.on('afterSetMode.source', loadBeautify);
|
|
47626
|
+
loadBeautify();
|
|
47463
47627
|
}
|
|
47464
47628
|
}
|
|
47465
47629
|
this.syncValueFromWYSIWYG(true);
|