jodit-pro 4.11.26 → 4.11.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +115 -1
- package/es2015/jodit.css +32 -1
- package/es2015/jodit.fat.min.css +1 -1
- package/es2015/jodit.fat.min.js +6 -6
- package/es2015/jodit.js +39 -9
- package/es2015/jodit.min.css +1 -1
- package/es2015/jodit.min.js +3 -3
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +105 -3
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +4 -4
- 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 +1 -1
- package/es2015/plugins/finder/finder.min.js +1 -1
- package/es2015/plugins/google-maps/google-maps.css +1 -1
- package/es2015/plugins/google-maps/google-maps.js +1 -1
- package/es2015/plugins/google-maps/google-maps.min.js +1 -1
- package/es2015/plugins/google-search/google-search.js +1 -1
- package/es2015/plugins/google-search/google-search.min.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2015/plugins/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 +58 -7
- package/es2015/plugins/style/style.min.js +2 -2
- package/es2015/plugins/templates/templates.css +1 -1
- package/es2015/plugins/templates/templates.js +1 -1
- package/es2015/plugins/templates/templates.min.js +1 -1
- package/es2015/plugins/todo-list/todo-list.css +1 -1
- package/es2015/plugins/todo-list/todo-list.js +1 -1
- package/es2015/plugins/todo-list/todo-list.min.js +1 -1
- package/es2015/plugins/translate/translate.css +1 -1
- package/es2015/plugins/translate/translate.js +1 -1
- package/es2015/plugins/translate/translate.min.js +1 -1
- package/es2015/plugins/tune-block/tune-block.css +1 -1
- package/es2015/plugins/tune-block/tune-block.js +1 -1
- package/es2015/plugins/tune-block/tune-block.min.js +1 -1
- package/es2018/jodit.fat.min.css +1 -1
- package/es2018/jodit.fat.min.js +6 -6
- package/es2018/jodit.min.css +1 -1
- package/es2018/jodit.min.js +3 -3
- package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +23 -23
- 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 +1 -1
- package/es2018/plugins/google-maps/google-maps.min.js +1 -1
- package/es2018/plugins/google-search/google-search.min.js +1 -1
- package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2018/plugins/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 +2 -2
- 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 +32 -1
- package/es2021/jodit.fat.min.css +1 -1
- package/es2021/jodit.fat.min.js +6 -6
- package/es2021/jodit.js +39 -8
- package/es2021/jodit.min.css +1 -1
- package/es2021/jodit.min.js +3 -3
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +105 -3
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +5 -5
- 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 +1 -1
- package/es2021/plugins/finder/finder.min.js +1 -1
- package/es2021/plugins/google-maps/google-maps.css +1 -1
- package/es2021/plugins/google-maps/google-maps.js +1 -1
- package/es2021/plugins/google-maps/google-maps.min.js +1 -1
- package/es2021/plugins/google-search/google-search.js +1 -1
- package/es2021/plugins/google-search/google-search.min.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021/plugins/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 +56 -5
- package/es2021/plugins/style/style.min.js +2 -2
- 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 +32 -1
- package/es2021.en/jodit.fat.min.css +1 -1
- package/es2021.en/jodit.fat.min.js +6 -6
- package/es2021.en/jodit.js +39 -8
- package/es2021.en/jodit.min.css +1 -1
- package/es2021.en/jodit.min.js +3 -3
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +105 -3
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +26 -26
- 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 +1 -1
- package/es2021.en/plugins/finder/finder.min.js +1 -1
- package/es2021.en/plugins/google-maps/google-maps.css +1 -1
- package/es2021.en/plugins/google-maps/google-maps.js +1 -1
- package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
- package/es2021.en/plugins/google-search/google-search.js +1 -1
- package/es2021.en/plugins/google-search/google-search.min.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021.en/plugins/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 +56 -5
- package/es2021.en/plugins/style/style.min.js +2 -2
- 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 +37 -2
- package/es5/jodit.fat.min.css +1 -1
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +43 -9
- package/es5/jodit.min.css +3 -3
- package/es5/jodit.min.js +2 -2
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +169 -3
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +2 -2
- 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 +1 -1
- package/es5/plugins/finder/finder.min.js +1 -1
- package/es5/plugins/google-maps/google-maps.css +1 -1
- package/es5/plugins/google-maps/google-maps.js +1 -1
- package/es5/plugins/google-maps/google-maps.min.js +1 -1
- package/es5/plugins/google-search/google-search.js +1 -1
- package/es5/plugins/google-search/google-search.min.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es5/plugins/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 +114 -25
- package/es5/plugins/style/style.min.js +2 -2
- package/es5/plugins/templates/templates.css +1 -1
- package/es5/plugins/templates/templates.js +1 -1
- package/es5/plugins/templates/templates.min.js +1 -1
- package/es5/plugins/todo-list/todo-list.css +1 -1
- package/es5/plugins/todo-list/todo-list.js +1 -1
- package/es5/plugins/todo-list/todo-list.min.js +1 -1
- package/es5/plugins/translate/translate.css +1 -1
- package/es5/plugins/translate/translate.js +1 -1
- package/es5/plugins/translate/translate.min.js +1 -1
- package/es5/plugins/tune-block/tune-block.css +1 -1
- package/es5/plugins/tune-block/tune-block.js +1 -1
- package/es5/plugins/tune-block/tune-block.min.js +1 -1
- package/es5/polyfills.fat.min.js +1 -1
- package/es5/polyfills.js +1 -1
- package/es5/polyfills.min.js +1 -1
- package/esm/config.d.ts +2 -0
- package/esm/plugins/ai-assistant-pro/ai-assistant-pro.d.ts +3 -0
- package/esm/plugins/ai-assistant-pro/ai-assistant-pro.js +2 -2
- package/esm/plugins/ai-assistant-pro/config.js +1 -1
- package/esm/plugins/ai-assistant-pro/interface/options.d.ts +40 -0
- package/esm/plugins/ai-assistant-pro/providers/jodit-ai-adapter.js +1 -1
- package/esm/plugins/autocomplete/autocomplete.js +1 -1
- package/esm/plugins/autocomplete/config.d.ts +2 -1
- package/esm/plugins/autocomplete/config.js +1 -1
- package/esm/plugins/autocomplete/interface.d.ts +1 -0
- package/esm/plugins/autocomplete/ui/autocomplete.d.ts +3 -1
- package/esm/plugins/autocomplete/ui/autocomplete.js +1 -1
- package/esm/plugins/autocomplete/ui/item.d.ts +2 -0
- package/esm/plugins/autocomplete/ui/item.js +1 -1
- package/esm/plugins/style/helpers/apply-style.js +1 -1
- package/esm/plugins/style/helpers/detect-active-style.js +1 -1
- package/esm/plugins/style/interface.d.ts +2 -1
- package/esm/plugins/style/ui/style-popup.js +1 -1
- package/package.json +1 -1
- package/types/config.d.ts +2 -0
- package/types/plugins/ai-assistant-pro/ai-assistant-pro.d.ts +3 -0
- package/types/plugins/ai-assistant-pro/interface/options.d.ts +40 -0
- package/types/plugins/autocomplete/config.d.ts +2 -1
- package/types/plugins/autocomplete/interface.d.ts +1 -0
- package/types/plugins/autocomplete/ui/autocomplete.d.ts +3 -1
- package/types/plugins/autocomplete/ui/item.d.ts +2 -0
- package/types/plugins/style/interface.d.ts +2 -1
|
@@ -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.11.
|
|
4
|
+
* Version: v4.11.28
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -179,6 +179,12 @@ function addExtraClasses(editor, def) {
|
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
181
|
function buildCommitStyleOptions(def) {
|
|
182
|
+
if (def.attributes) {
|
|
183
|
+
return {
|
|
184
|
+
element: def.element,
|
|
185
|
+
attributes: def.attributes
|
|
186
|
+
};
|
|
187
|
+
}
|
|
182
188
|
const firstClass = def.classes?.filter(Boolean)[0];
|
|
183
189
|
if (firstClass) {
|
|
184
190
|
return {
|
|
@@ -196,13 +202,17 @@ function applyStyle(editor, def, definitions) {
|
|
|
196
202
|
const active = (0,_detect_active_style__WEBPACK_IMPORTED_MODULE_0__.detectActiveStyle)(editor, definitions);
|
|
197
203
|
if (active) {
|
|
198
204
|
editor.s.commitStyle(buildCommitStyleOptions(active));
|
|
199
|
-
|
|
205
|
+
if (!active.attributes) {
|
|
206
|
+
cleanupExtraClasses(editor, active);
|
|
207
|
+
}
|
|
200
208
|
if (active === def) {
|
|
201
209
|
return;
|
|
202
210
|
}
|
|
203
211
|
}
|
|
204
212
|
editor.s.commitStyle(buildCommitStyleOptions(def));
|
|
205
|
-
|
|
213
|
+
if (!def.attributes) {
|
|
214
|
+
addExtraClasses(editor, def);
|
|
215
|
+
}
|
|
206
216
|
}
|
|
207
217
|
|
|
208
218
|
|
|
@@ -259,16 +269,51 @@ function classifyDefinitions(definitions) {
|
|
|
259
269
|
/* harmony export */ });
|
|
260
270
|
/* harmony import */ var jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
261
271
|
/* harmony import */ var jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2748);
|
|
272
|
+
/* harmony import */ var jodit_esm_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29960);
|
|
273
|
+
/* harmony import */ var jodit_esm_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(41180);
|
|
262
274
|
/*!
|
|
263
275
|
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
264
276
|
* See LICENSE.md in the project root for license information.
|
|
265
277
|
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
266
278
|
*/
|
|
267
279
|
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
function attributesMatch(el, attrs) {
|
|
283
|
+
for (const [key, value] of Object.entries(attrs)){
|
|
284
|
+
if (value == null) {
|
|
285
|
+
continue;
|
|
286
|
+
}
|
|
287
|
+
if (key === 'class') {
|
|
288
|
+
if (typeof value === 'string' && !el.classList.contains(value)) {
|
|
289
|
+
return false;
|
|
290
|
+
}
|
|
291
|
+
} else if (key === 'style') {
|
|
292
|
+
if (typeof value === 'object' && value != null) {
|
|
293
|
+
for (const [prop, styleValue] of Object.entries(value)){
|
|
294
|
+
if (styleValue == null) {
|
|
295
|
+
continue;
|
|
296
|
+
}
|
|
297
|
+
if ((0,jodit_esm_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__.css)(el, prop, true) !== String(styleValue)) {
|
|
298
|
+
return false;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
} else {
|
|
303
|
+
if ((0,jodit_esm_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_2__.attr)(el, key) !== String(value)) {
|
|
304
|
+
return false;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return true;
|
|
309
|
+
}
|
|
268
310
|
function elementMatchesDefinition(el, def) {
|
|
269
311
|
if (el.nodeName.toLowerCase() !== def.element) {
|
|
270
312
|
return false;
|
|
271
313
|
}
|
|
314
|
+
if (def.attributes) {
|
|
315
|
+
return attributesMatch(el, def.attributes);
|
|
316
|
+
}
|
|
272
317
|
const classes = def.classes?.filter(Boolean);
|
|
273
318
|
if (!classes?.length) {
|
|
274
319
|
return true;
|
|
@@ -353,6 +398,7 @@ jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_3__.JoditPro.plugins.add('style', s
|
|
|
353
398
|
/* harmony import */ var _helpers_apply_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31105);
|
|
354
399
|
/* harmony import */ var _helpers_classify_definitions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8060);
|
|
355
400
|
/* harmony import */ var _helpers_detect_active_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69341);
|
|
401
|
+
/* harmony import */ var jodit_esm_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29960);
|
|
356
402
|
/*!
|
|
357
403
|
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
358
404
|
* See LICENSE.md in the project root for license information.
|
|
@@ -360,6 +406,7 @@ jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_3__.JoditPro.plugins.add('style', s
|
|
|
360
406
|
*/
|
|
361
407
|
|
|
362
408
|
|
|
409
|
+
|
|
363
410
|
const CLASS_NAME = 'jodit-style-popup';
|
|
364
411
|
function buildStylePopup(editor, definitions, close) {
|
|
365
412
|
const groups = (0,_helpers_classify_definitions__WEBPACK_IMPORTED_MODULE_1__.classifyDefinitions)(definitions);
|
|
@@ -377,8 +424,12 @@ function buildStylePopup(editor, definitions, close) {
|
|
|
377
424
|
card.className = `${CLASS_NAME}__card` + (isActive ? ` ${CLASS_NAME}__card_active_true` : '');
|
|
378
425
|
const preview = editor.c.div(`${CLASS_NAME}__card-preview`);
|
|
379
426
|
const previewEl = editor.c.element(def.element);
|
|
380
|
-
|
|
381
|
-
previewEl.
|
|
427
|
+
if (def.attributes) {
|
|
428
|
+
(0,jodit_esm_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_3__.attr)(previewEl, def.attributes);
|
|
429
|
+
} else {
|
|
430
|
+
for (const cls of def.classes?.filter(Boolean) ?? []){
|
|
431
|
+
previewEl.classList.add(cls);
|
|
432
|
+
}
|
|
382
433
|
}
|
|
383
434
|
previewEl.textContent = def.name;
|
|
384
435
|
preview.appendChild(previewEl);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* jodit-pro - PRO Version of Jodit Editor
|
|
3
3
|
* Author: Chupurnov Valerii <chupurnov@gmail.com>
|
|
4
|
-
* Version: v4.11.
|
|
4
|
+
* Version: v4.11.28
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
8
|
-
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var
|
|
8
|
+
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var i in n)("object"==typeof exports?exports:e)[i]=n[i]}}(self,function(){return(self.webpackChunkjodit_pro=self.webpackChunkjodit_pro||[]).push([[850],{78955:function(e){e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="1.5"> <rect x="2" y="3.5" width="9" height="9" rx="1.5" fill="none"/> <rect x="2" y="14.5" width="9" height="9" rx="1.5" fill="none"/> <rect x="13" y="14.5" width="9" height="9" rx="1.5" fill="none"/> <rect x="13" y="3.5" width="9" height="9" rx="1.5" fill="currentColor" transform="rotate(45 17.5 8)"/> </svg>'},28609:function(e,t,n){"use strict";var i=n(69341),o=n(5440),l=n(78955),s=n.n(l),r=n(6441);r.Config.prototype.customStyles={definitions:[]},r.Config.prototype.controls.style={tooltip:"Styles",icon:s(),isDisabled:e=>!e.o.customStyles.definitions.length,isActive(e){let t=e.o.customStyles.definitions;return!!t.length&&null!=(0,i.detectActiveStyle)(e,t)},update(e,t){let n=e.o.customStyles.definitions;if(!n.length)return;let o=(0,i.detectActiveStyle)(e,n),l=t.control?.component==="select";(e.o.textIcons||l)&&(o?t.state.text=o.name:t.state.text=l?e.i18n("Styles"):"")},exec:()=>!1,popup(e,t,n){let i=e.o.customStyles.definitions;if(!i.length)return!1;e.s.current()||e.s.focus(),e.s.save();let l=(0,o.buildStylePopup)(e,i,()=>{e.s.restore(),n()});return e.e.one("beforePopupClose",()=>{e.s.restore()}),l}}},31105:function(e,t,n){"use strict";n.d(t,{applyStyle:function(){return c}});var i=n(69341),o=n(82758),l=n(2748);function s(e,t){let n=e.s.current();if(!n)return null;if(o.IS_BLOCK.test(t.element))return l.Dom.closest(n,l.Dom.isBlock,e.editor);let i=l.Dom.isElement(n)?n:n.parentNode;for(;i&&i!==e.editor;){if(l.Dom.isElement(i)&&i.nodeName.toLowerCase()===t.element)return i;i=i.parentNode}return null}function r(e,t){for(let n of t)e.classList.remove(n);""===e.className&&e.removeAttribute("class")}function u(e){if(e.attributes)return{element:e.element,attributes:e.attributes};let t=e.classes?.filter(Boolean)[0];return t?{element:e.element,attributes:{class:t}}:{element:e.element}}function c(e,t,n){let c=(0,i.detectActiveStyle)(e,n);(!c||(e.s.commitStyle(u(c)),c.attributes||function(e,t){let n=t.classes?.filter(Boolean);if(!n||n.length<=1)return;let i=e.s.current();if(i)if(o.IS_BLOCK.test(t.element)){let t=l.Dom.closest(i,l.Dom.isBlock,e.editor);t&&r(t,n.slice(1))}else{let i=s(e,t);i&&(r(i,n.slice(1)),"span"!==i.nodeName.toLowerCase()||i.attributes.length||l.Dom.unwrap(i))}}(e,c),c!==t))&&(e.s.commitStyle(u(t)),t.attributes||function(e,t){let n=t.classes?.filter(Boolean);if(!n||n.length<=1)return;let i=s(e,t);if(i)for(let e=1;e<n.length;e++)i.classList.add(n[e])}(e,t))}},8060:function(e,t,n){"use strict";n.d(t,{classifyDefinitions:function(){return o}});var i=n(82758);function o(e){let t=[],n=[];for(let o of e)i.IS_BLOCK.test(o.element)?t.push(o):n.push(o);let o=[];return t.length&&o.push({title:"Block styles",definitions:t}),n.length&&o.push({title:"Text styles",definitions:n}),o}},69341:function(e,t,n){"use strict";n.d(t,{detectActiveStyle:function(){return u}});var i=n(82758),o=n(2748),l=n(29960),s=n(41180);function r(e,t){if(e.nodeName.toLowerCase()!==t.element)return!1;if(t.attributes){for(let[n,i]of Object.entries(t.attributes))if(null!=i){if("class"===n){if("string"==typeof i&&!e.classList.contains(i))return!1}else if("style"===n){if("object"==typeof i&&null!=i){for(let[t,n]of Object.entries(i))if(null!=n&&(0,s.css)(e,t,!0)!==n+"")return!1}}else if((0,l.attr)(e,n)!==i+"")return!1}return!0}let n=t.classes?.filter(Boolean);return!n?.length||n.every(t=>e.classList.contains(t))}function u(e,t){let n=e.s.current();if(!n)return null;for(let l of t)if(i.IS_BLOCK.test(l.element)){let t=o.Dom.closest(n,o.Dom.isBlock,e.editor);if(t&&r(t,l))return l}else{let t=o.Dom.isElement(n)?n:n.parentNode;for(;t&&t!==e.editor;){if(o.Dom.isElement(t)&&r(t,l))return l;t=t.parentNode}}return null}},75554:function(e,t,n){"use strict";n.r(t),n.d(t,{style:function(){return s}});var i=n(82749);n(28609);var o=n(50911),l=n(2692);class s extends o.Plugin{afterInit(e){}beforeDestruct(e){}constructor(...e){super(...e),(0,i._)(this,"buttons",[{name:"style",group:"font"}])}}(0,i._)(s,"requires",["license"]),l.JoditPro.plugins.add("style",s)},5440:function(e,t,n){"use strict";n.d(t,{buildStylePopup:function(){return u}});var i=n(31105),o=n(8060),l=n(69341),s=n(29960);let r="jodit-style-popup";function u(e,t,n){let u=(0,o.classifyDefinitions)(t),c=(0,l.detectActiveStyle)(e,t),f=e.c.div(r);for(let o of u){let l=e.c.div(`${r}__group-title`);l.textContent=e.i18n(o.title),f.appendChild(l);let u=e.c.div(`${r}__grid`);for(let l of o.definitions){let o=e.c.element("button");o.type="button",o.className=`${r}__card`+(c===l?` ${r}__card_active_true`:"");let f=e.c.div(`${r}__card-preview`),a=e.c.element(l.element);if(l.attributes)(0,s.attr)(a,l.attributes);else for(let e of l.classes?.filter(Boolean)??[])a.classList.add(e);a.textContent=l.name,f.appendChild(a),o.appendChild(f);let d=e.c.div(`${r}__card-label`);d.textContent=l.name,o.appendChild(d),e.e.on(o,"click",()=>{e.s.focus(),(0,i.applyStyle)(e,l,t),e.synchronizeValues(),n()}),u.appendChild(o)}f.appendChild(u)}return f}}},function(e){return e(e.s=75554)}])});
|