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/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([
|
|
@@ -37785,14 +37877,28 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_1__.pluginSystem.add('file', file);
|
|
|
37785
37877
|
*/ _config_js__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.saveSelectionOnBlur = true;
|
|
37786
37878
|
function focus(editor) {
|
|
37787
37879
|
if (editor.o.saveSelectionOnBlur) {
|
|
37880
|
+
// A click that brings focus back places the caret itself, and Chrome
|
|
37881
|
+
// has already placed it when focus fires, so restoring would move it
|
|
37882
|
+
// back to the old selection. The saved markers are dropped instead.
|
|
37883
|
+
let focusByPointer = false;
|
|
37788
37884
|
editor.e.on('blur', ()=>{
|
|
37885
|
+
// A press that never brought the focus back must not decide
|
|
37886
|
+
// what the next focus does
|
|
37887
|
+
focusByPointer = false;
|
|
37789
37888
|
if (editor.isEditorMode()) {
|
|
37790
37889
|
editor.s.save(true);
|
|
37791
37890
|
}
|
|
37891
|
+
}).on('mousedown touchstart', ()=>{
|
|
37892
|
+
focusByPointer = !editor.editorIsActive;
|
|
37792
37893
|
}).on('focus', ()=>{
|
|
37793
37894
|
if (editor.isEditorMode()) {
|
|
37794
|
-
|
|
37895
|
+
if (focusByPointer) {
|
|
37896
|
+
editor.s.removeMarkers();
|
|
37897
|
+
} else {
|
|
37898
|
+
editor.s.restore();
|
|
37899
|
+
}
|
|
37795
37900
|
}
|
|
37901
|
+
focusByPointer = false;
|
|
37796
37902
|
});
|
|
37797
37903
|
}
|
|
37798
37904
|
const focus = ()=>{
|
|
@@ -38819,11 +38925,12 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.imageProcessor = {
|
|
|
38819
38925
|
/* unused harmony export imageProcessor */
|
|
38820
38926
|
/* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
38821
38927
|
/* harmony import */ var _core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65478);
|
|
38822
|
-
/* harmony import */ var
|
|
38823
|
-
/* harmony import */ var
|
|
38824
|
-
/* harmony import */ var
|
|
38825
|
-
/* harmony import */ var
|
|
38826
|
-
/* harmony import */ var
|
|
38928
|
+
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2748);
|
|
38929
|
+
/* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(580);
|
|
38930
|
+
/* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(21537);
|
|
38931
|
+
/* harmony import */ var _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(50911);
|
|
38932
|
+
/* harmony import */ var _modules_uploader_helpers_data_uri_to_blob_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(74569);
|
|
38933
|
+
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(85745);
|
|
38827
38934
|
/*!
|
|
38828
38935
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
38829
38936
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -38841,11 +38948,12 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.imageProcessor = {
|
|
|
38841
38948
|
|
|
38842
38949
|
|
|
38843
38950
|
|
|
38951
|
+
|
|
38844
38952
|
const JODIT_IMAGE_PROCESSOR_BINDED = '__jodit_imageprocessor_binded';
|
|
38845
38953
|
const JODIT_IMAGE_BLOB_ID = JODIT_IMAGE_PROCESSOR_BINDED + 'blob-id';
|
|
38846
38954
|
/**
|
|
38847
38955
|
* Change editor's size after load all images
|
|
38848
|
-
*/ class imageProcessor extends
|
|
38956
|
+
*/ class imageProcessor extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_5__.Plugin {
|
|
38849
38957
|
afterInit(jodit) {}
|
|
38850
38958
|
beforeDestruct(jodit) {
|
|
38851
38959
|
const buffer = (0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.cached)(jodit, 'buffer');
|
|
@@ -38883,9 +38991,9 @@ const JODIT_IMAGE_BLOB_ID = JODIT_IMAGE_PROCESSOR_BINDED + 'blob-id';
|
|
|
38883
38991
|
if (!editor.editor) {
|
|
38884
38992
|
return;
|
|
38885
38993
|
}
|
|
38886
|
-
;(0,
|
|
38887
|
-
if (!(0,
|
|
38888
|
-
(0,
|
|
38994
|
+
;(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.$$)('img', editor.editor).forEach((elm)=>{
|
|
38995
|
+
if (!(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.dataBind)(elm, JODIT_IMAGE_PROCESSOR_BINDED)) {
|
|
38996
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.dataBind)(elm, JODIT_IMAGE_PROCESSOR_BINDED, true);
|
|
38889
38997
|
if (!elm.complete) {
|
|
38890
38998
|
editor.e.on(elm, 'load', function ElementOnLoad() {
|
|
38891
38999
|
var _a;
|
|
@@ -38897,6 +39005,7 @@ const JODIT_IMAGE_BLOB_ID = JODIT_IMAGE_PROCESSOR_BINDED + 'blob-id';
|
|
|
38897
39005
|
replaceDataURIToBlobUUID(editor, elm);
|
|
38898
39006
|
}
|
|
38899
39007
|
editor.e.on(elm, 'mousedown touchstart', ()=>{
|
|
39008
|
+
removeCaretText(elm);
|
|
38900
39009
|
editor.s.select(elm);
|
|
38901
39010
|
});
|
|
38902
39011
|
}
|
|
@@ -38917,6 +39026,24 @@ __decorate([
|
|
|
38917
39026
|
]),
|
|
38918
39027
|
(0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.debounce)()
|
|
38919
39028
|
], imageProcessor.prototype, "afterChange", null);
|
|
39029
|
+
/**
|
|
39030
|
+
* Remove the invisible-space text beside an image, which only held a caret.
|
|
39031
|
+
* Selecting the image replaces the caret, and with the text still after a
|
|
39032
|
+
* block image, Safari highlights the rest of the image's line. See #1512
|
|
39033
|
+
*/ function removeCaretText(elm) {
|
|
39034
|
+
var _a;
|
|
39035
|
+
for (const side of [
|
|
39036
|
+
'previousSibling',
|
|
39037
|
+
'nextSibling'
|
|
39038
|
+
]){
|
|
39039
|
+
let node = elm[side];
|
|
39040
|
+
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)(), ''))){
|
|
39041
|
+
const next = node[side];
|
|
39042
|
+
_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(node);
|
|
39043
|
+
node = next;
|
|
39044
|
+
}
|
|
39045
|
+
}
|
|
39046
|
+
}
|
|
38920
39047
|
function replaceDataURIToBlobUUID(editor, elm) {
|
|
38921
39048
|
if (!editor.o.imageProcessor.replaceDataURIToBlobIdInView) {
|
|
38922
39049
|
return;
|
|
@@ -38927,7 +39054,7 @@ function replaceDataURIToBlobUUID(editor, elm) {
|
|
|
38927
39054
|
const dataUri = elm.src;
|
|
38928
39055
|
let blob;
|
|
38929
39056
|
try {
|
|
38930
|
-
blob = (0,
|
|
39057
|
+
blob = (0,_modules_uploader_helpers_data_uri_to_blob_js__WEBPACK_IMPORTED_MODULE_6__.dataURItoBlob)(dataUri);
|
|
38931
39058
|
} catch (_a) {
|
|
38932
39059
|
// A data URI the browser accepts but we cannot decode is not worth
|
|
38933
39060
|
// breaking the editor over — keep the image as it is
|
|
@@ -38940,7 +39067,7 @@ function replaceDataURIToBlobUUID(editor, elm) {
|
|
|
38940
39067
|
list[elm.src] = dataUri;
|
|
38941
39068
|
editor.buffer.set(JODIT_IMAGE_BLOB_ID, list);
|
|
38942
39069
|
}
|
|
38943
|
-
|
|
39070
|
+
_core_global_js__WEBPACK_IMPORTED_MODULE_3__.pluginSystem.add('imageProcessor', imageProcessor);
|
|
38944
39071
|
|
|
38945
39072
|
|
|
38946
39073
|
/***/ }),
|
|
@@ -39239,7 +39366,7 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('imageProperties',
|
|
|
39239
39366
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
39240
39367
|
/* harmony export */ readAlign: function() { return /* binding */ readAlign; }
|
|
39241
39368
|
/* harmony export */ });
|
|
39242
|
-
/* harmony import */ var
|
|
39369
|
+
/* harmony import */ var _core_helpers_utils_align_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(25726);
|
|
39243
39370
|
/*!
|
|
39244
39371
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
39245
39372
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -39247,20 +39374,9 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('imageProperties',
|
|
|
39247
39374
|
*/
|
|
39248
39375
|
/**
|
|
39249
39376
|
* @private
|
|
39250
|
-
*/ function readAlign(image, values) {
|
|
39251
|
-
|
|
39252
|
-
|
|
39253
|
-
'left',
|
|
39254
|
-
'right'
|
|
39255
|
-
].indexOf((0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_0__.cssInline)(image, 'float').toLowerCase()) !== -1) {
|
|
39256
|
-
values.align = (0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_0__.css)(image, 'float');
|
|
39257
|
-
} else {
|
|
39258
|
-
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') {
|
|
39259
|
-
values.align = 'center';
|
|
39260
|
-
} else {
|
|
39261
|
-
values.align = '';
|
|
39262
|
-
}
|
|
39263
|
-
}
|
|
39377
|
+
*/ function readAlign(image, values, classes) {
|
|
39378
|
+
const align = (0,_core_helpers_utils_align_js__WEBPACK_IMPORTED_MODULE_0__.getHAlign)(image, classes);
|
|
39379
|
+
values.align = align === 'normal' ? '' : align;
|
|
39264
39380
|
}
|
|
39265
39381
|
|
|
39266
39382
|
|
|
@@ -39293,7 +39409,7 @@ _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('imageProperties',
|
|
|
39293
39409
|
* @private
|
|
39294
39410
|
*/ async function readValuesFromImage(j, state) {
|
|
39295
39411
|
const { sourceImage: image, values } = state;
|
|
39296
|
-
(0,_align_js__WEBPACK_IMPORTED_MODULE_2__.readAlign)(image, values);
|
|
39412
|
+
(0,_align_js__WEBPACK_IMPORTED_MODULE_2__.readAlign)(image, values, j.o.imageAlignClasses);
|
|
39297
39413
|
// Border radius
|
|
39298
39414
|
values.borderRadius = parseInt((0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_1__.cssInline)(image, 'border-radius') || '0', 10) || 0;
|
|
39299
39415
|
// Id
|
|
@@ -40326,7 +40442,7 @@ UIImagePositionTab = __decorate([
|
|
|
40326
40442
|
(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.attr)(image, 'id', id || null);
|
|
40327
40443
|
}
|
|
40328
40444
|
if (opt.image.editAlign) {
|
|
40329
|
-
(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.hAlignElement)(image, align);
|
|
40445
|
+
(0,_core_helpers_utils_index_js__WEBPACK_IMPORTED_MODULE_1__.hAlignElement)(image, align, j.o.imageAlignClasses);
|
|
40330
40446
|
}
|
|
40331
40447
|
}
|
|
40332
40448
|
|
|
@@ -40391,10 +40507,12 @@ UIImagePositionTab = __decorate([
|
|
|
40391
40507
|
marginBottom,
|
|
40392
40508
|
marginLeft
|
|
40393
40509
|
];
|
|
40510
|
+
// Compared with the inline value, which is what `readMargins` showed, so a
|
|
40511
|
+
// margin from a stylesheet is not overwritten when the field is unchanged
|
|
40394
40512
|
const applyMargin = (key, value)=>{
|
|
40395
|
-
const oldValue = (0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_0__.
|
|
40513
|
+
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);
|
|
40396
40514
|
const v = (0,_utils_utils_js__WEBPACK_IMPORTED_MODULE_1__.normalSizeToString)(value);
|
|
40397
|
-
if (oldValue
|
|
40515
|
+
if (oldValue !== v) {
|
|
40398
40516
|
(0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_0__.css)(image, key, v);
|
|
40399
40517
|
}
|
|
40400
40518
|
};
|
|
@@ -41062,6 +41180,10 @@ const cmd = (control)=>control.args && (0,_core_helpers_checker_index_js__WEBPAC
|
|
|
41062
41180
|
|
|
41063
41181
|
|
|
41064
41182
|
|
|
41183
|
+
// Images align with `imageAlignClasses`; the wrappers of iframes and media
|
|
41184
|
+
// keep inline styles
|
|
41185
|
+
const alignClasses = (editor, elm)=>_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(elm, 'img') ? editor.o.imageAlignClasses : null;
|
|
41186
|
+
const currentAlign = (editor, elm)=>elm ? (0,_core_helpers_utils_align_js__WEBPACK_IMPORTED_MODULE_2__.getHAlign)(elm, alignClasses(editor, elm)) : 'normal';
|
|
41065
41187
|
const align = {
|
|
41066
41188
|
name: 'left',
|
|
41067
41189
|
childTemplate: (_, __, value)=>value,
|
|
@@ -41071,6 +41193,16 @@ const align = {
|
|
|
41071
41193
|
'Center',
|
|
41072
41194
|
'Normal'
|
|
41073
41195
|
],
|
|
41196
|
+
update: (editor, button)=>{
|
|
41197
|
+
const current = currentAlign(editor, button.target);
|
|
41198
|
+
button.state.icon.name = current === 'normal' ? 'left' : current;
|
|
41199
|
+
},
|
|
41200
|
+
isActive: (editor, button)=>currentAlign(editor, button.target) !== 'normal',
|
|
41201
|
+
isChildActive: (editor, button)=>{
|
|
41202
|
+
var _a;
|
|
41203
|
+
const [value] = (_a = button.control.args) !== null && _a !== void 0 ? _a : [];
|
|
41204
|
+
return (0,_core_helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_1__.isString)(value) && currentAlign(editor, button.target) === value.toLowerCase();
|
|
41205
|
+
},
|
|
41074
41206
|
exec: (editor, elm, { control })=>{
|
|
41075
41207
|
if (!_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(elm, new Set([
|
|
41076
41208
|
'img',
|
|
@@ -41083,7 +41215,7 @@ const align = {
|
|
|
41083
41215
|
if (!command) {
|
|
41084
41216
|
return false;
|
|
41085
41217
|
}
|
|
41086
|
-
;(0,_core_helpers_utils_align_js__WEBPACK_IMPORTED_MODULE_2__.hAlignElement)(elm, command);
|
|
41218
|
+
;(0,_core_helpers_utils_align_js__WEBPACK_IMPORTED_MODULE_2__.hAlignElement)(elm, command, alignClasses(editor, elm));
|
|
41087
41219
|
if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(elm, new Set([
|
|
41088
41220
|
'jodit',
|
|
41089
41221
|
'jodit-media'
|
|
@@ -41123,6 +41255,14 @@ const align = {
|
|
|
41123
41255
|
'Normal'
|
|
41124
41256
|
],
|
|
41125
41257
|
tooltip: 'Vertical align',
|
|
41258
|
+
// `vertical-align` only moves an image in the line, not a floated or block one
|
|
41259
|
+
isDisabled: (editor, button)=>{
|
|
41260
|
+
const image = button.target;
|
|
41261
|
+
return Boolean(image && ([
|
|
41262
|
+
'left',
|
|
41263
|
+
'right'
|
|
41264
|
+
].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'));
|
|
41265
|
+
},
|
|
41126
41266
|
exec: (editor, image, { control })=>{
|
|
41127
41267
|
if (!_core_dom_index_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(image, 'img')) {
|
|
41128
41268
|
return;
|
|
@@ -47691,19 +47831,26 @@ class AceEditor extends _sourceEditor_js__WEBPACK_IMPORTED_MODULE_3__.SourceEdit
|
|
|
47691
47831
|
onResize();
|
|
47692
47832
|
this.onReady();
|
|
47693
47833
|
};
|
|
47834
|
+
let loading = false;
|
|
47694
47835
|
const initAceEditor = ()=>{
|
|
47695
47836
|
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) {
|
|
47696
47837
|
return;
|
|
47697
47838
|
}
|
|
47839
|
+
// ACE (~400 KiB from the CDN) is only needed once the source view
|
|
47840
|
+
// is actually shown — a page that stays in WYSIWYG must not
|
|
47841
|
+
// download it.
|
|
47842
|
+
if (!this.aceExists()) {
|
|
47843
|
+
if (!loading) {
|
|
47844
|
+
loading = true;
|
|
47845
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.loadNext)(editor, editor.o.sourceEditorCDNUrlsJS).then(initAceEditor).catch(()=>null);
|
|
47846
|
+
}
|
|
47847
|
+
return;
|
|
47848
|
+
}
|
|
47698
47849
|
this.fromWYSIWYG();
|
|
47699
47850
|
tryInitAceEditor();
|
|
47700
47851
|
};
|
|
47701
47852
|
editor.e.on('afterSetMode', initAceEditor);
|
|
47702
47853
|
initAceEditor();
|
|
47703
|
-
// global add ace editor in browser
|
|
47704
|
-
if (!this.aceExists()) {
|
|
47705
|
-
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.loadNext)(editor, editor.o.sourceEditorCDNUrlsJS).then(initAceEditor).catch(()=>null);
|
|
47706
|
-
}
|
|
47707
47854
|
}
|
|
47708
47855
|
destruct() {
|
|
47709
47856
|
var _a, _b;
|
|
@@ -48233,7 +48380,24 @@ function createSourceEditor(type, editor, container, toWYSIWYG, fromWYSIWYG) {
|
|
|
48233
48380
|
return false;
|
|
48234
48381
|
};
|
|
48235
48382
|
if (!addEventListener()) {
|
|
48236
|
-
|
|
48383
|
+
// js-beautify is only needed once the source view is shown —
|
|
48384
|
+
// do not download it for a page that stays in WYSIWYG.
|
|
48385
|
+
let loading = false;
|
|
48386
|
+
const loadBeautify = ()=>{
|
|
48387
|
+
if (loading || editor.getMode() !== _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.MODE_SOURCE && editor.getMode() !== _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.MODE_SPLIT) {
|
|
48388
|
+
return;
|
|
48389
|
+
}
|
|
48390
|
+
loading = true;
|
|
48391
|
+
(0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_4__.loadNext)(editor, editor.o.beautifyHTMLCDNUrlsJS).then(()=>{
|
|
48392
|
+
// The source view was filled before the
|
|
48393
|
+
// beautifier arrived — format it now.
|
|
48394
|
+
if (addEventListener()) {
|
|
48395
|
+
this.syncValueFromWYSIWYG(true);
|
|
48396
|
+
}
|
|
48397
|
+
}, ()=>null);
|
|
48398
|
+
};
|
|
48399
|
+
editor.e.on('afterSetMode.source', loadBeautify);
|
|
48400
|
+
loadBeautify();
|
|
48237
48401
|
}
|
|
48238
48402
|
}
|
|
48239
48403
|
this.syncValueFromWYSIWYG(true);
|