jodit-pro 4.9.30 → 4.9.35
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 +17 -1
- package/es2015/jodit.css +1 -1
- package/es2015/jodit.fat.min.js +13 -13
- package/es2015/jodit.js +15 -10
- package/es2015/jodit.min.js +5 -5
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +37 -38
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +3 -3
- 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 +40 -4
- package/es2015/plugins/finder/finder.min.js +4 -4
- 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 +37 -21
- 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.js +13 -13
- package/es2018/jodit.min.js +5 -5
- package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +3 -3
- 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 +3 -3
- 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 +1 -1
- package/es2021/jodit.fat.min.js +13 -13
- package/es2021/jodit.js +15 -10
- package/es2021/jodit.min.js +6 -6
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +37 -38
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +3 -3
- 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 +40 -4
- package/es2021/plugins/finder/finder.min.js +4 -4
- 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 +31 -21
- 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 +1 -1
- package/es2021.en/jodit.fat.min.js +12 -12
- package/es2021.en/jodit.js +15 -10
- package/es2021.en/jodit.min.js +6 -6
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +37 -38
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +3 -3
- 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 +6 -4
- 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/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 +31 -21
- 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 +2 -2
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +15 -10
- 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 +34 -35
- 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 +40 -4
- 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/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 +37 -21
- 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 +2 -2
- package/es5/polyfills.js +1 -1
- package/es5/polyfills.min.js +2 -2
- package/esm/plugins/finder/langs/de.d.ts +22 -0
- package/esm/plugins/finder/langs/de.js +1 -0
- package/esm/plugins/finder/langs/index.d.ts +2 -1
- package/esm/plugins/finder/langs/index.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 +1 -1
- package/esm/plugins/style/ui/style-popup.js +1 -1
- package/package.json +1 -1
- package/types/plugins/finder/langs/de.d.ts +22 -0
- package/types/plugins/finder/langs/index.d.ts +2 -1
- package/types/plugins/style/interface.d.ts +1 -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.9.
|
|
4
|
+
* Version: v4.9.35
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -52,7 +52,7 @@ function buildStylePopup(editor, definitions, close) {
|
|
|
52
52
|
card.className = `${CLASS_NAME}__card` + (isActive ? ` ${CLASS_NAME}__card_active_true` : '');
|
|
53
53
|
const preview = editor.c.div(`${CLASS_NAME}__card-preview`);
|
|
54
54
|
const previewEl = editor.c.element(def.element);
|
|
55
|
-
for (const cls of def.classes){
|
|
55
|
+
for (const cls of def.classes?.filter(Boolean) ?? []){
|
|
56
56
|
previewEl.classList.add(cls);
|
|
57
57
|
}
|
|
58
58
|
previewEl.textContent = def.name;
|
|
@@ -236,7 +236,8 @@ function removeClassesFromElement(el, classes) {
|
|
|
236
236
|
}
|
|
237
237
|
}
|
|
238
238
|
function cleanupExtraClasses(editor, def) {
|
|
239
|
-
|
|
239
|
+
const classes = def.classes?.filter(Boolean);
|
|
240
|
+
if (!classes || classes.length <= 1) {
|
|
240
241
|
return;
|
|
241
242
|
}
|
|
242
243
|
const current = editor.s.current();
|
|
@@ -246,12 +247,12 @@ function cleanupExtraClasses(editor, def) {
|
|
|
246
247
|
if (jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_1__.IS_BLOCK.test(def.element)) {
|
|
247
248
|
const block = jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__.Dom.closest(current, jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__.Dom.isBlock, editor.editor);
|
|
248
249
|
if (block) {
|
|
249
|
-
removeClassesFromElement(block,
|
|
250
|
+
removeClassesFromElement(block, classes.slice(1));
|
|
250
251
|
}
|
|
251
252
|
} else {
|
|
252
253
|
const target = findTarget(editor, def);
|
|
253
254
|
if (target) {
|
|
254
|
-
removeClassesFromElement(target,
|
|
255
|
+
removeClassesFromElement(target, classes.slice(1));
|
|
255
256
|
if (target.nodeName.toLowerCase() === 'span' && !target.attributes.length) {
|
|
256
257
|
jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__.Dom.unwrap(target);
|
|
257
258
|
}
|
|
@@ -259,37 +260,42 @@ function cleanupExtraClasses(editor, def) {
|
|
|
259
260
|
}
|
|
260
261
|
}
|
|
261
262
|
function addExtraClasses(editor, def) {
|
|
262
|
-
|
|
263
|
+
const classes = def.classes?.filter(Boolean);
|
|
264
|
+
if (!classes || classes.length <= 1) {
|
|
263
265
|
return;
|
|
264
266
|
}
|
|
265
267
|
const target = findTarget(editor, def);
|
|
266
268
|
if (!target) {
|
|
267
269
|
return;
|
|
268
270
|
}
|
|
269
|
-
for(let i = 1; i <
|
|
270
|
-
target.classList.add(
|
|
271
|
+
for(let i = 1; i < classes.length; i++){
|
|
272
|
+
target.classList.add(classes[i]);
|
|
271
273
|
}
|
|
272
274
|
}
|
|
275
|
+
function buildCommitStyleOptions(def) {
|
|
276
|
+
const firstClass = def.classes?.filter(Boolean)[0];
|
|
277
|
+
if (firstClass) {
|
|
278
|
+
return {
|
|
279
|
+
element: def.element,
|
|
280
|
+
attributes: {
|
|
281
|
+
class: firstClass
|
|
282
|
+
}
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
return {
|
|
286
|
+
element: def.element
|
|
287
|
+
};
|
|
288
|
+
}
|
|
273
289
|
function applyStyle(editor, def, definitions) {
|
|
274
290
|
const active = (0,_detect_active_style__WEBPACK_IMPORTED_MODULE_0__.detectActiveStyle)(editor, definitions);
|
|
275
291
|
if (active) {
|
|
276
|
-
editor.s.commitStyle(
|
|
277
|
-
element: active.element,
|
|
278
|
-
attributes: {
|
|
279
|
-
class: active.classes[0]
|
|
280
|
-
}
|
|
281
|
-
});
|
|
292
|
+
editor.s.commitStyle(buildCommitStyleOptions(active));
|
|
282
293
|
cleanupExtraClasses(editor, active);
|
|
283
294
|
if (active === def) {
|
|
284
295
|
return;
|
|
285
296
|
}
|
|
286
297
|
}
|
|
287
|
-
editor.s.commitStyle(
|
|
288
|
-
element: def.element,
|
|
289
|
-
attributes: {
|
|
290
|
-
class: def.classes[0]
|
|
291
|
-
}
|
|
292
|
-
});
|
|
298
|
+
editor.s.commitStyle(buildCommitStyleOptions(def));
|
|
293
299
|
addExtraClasses(editor, def);
|
|
294
300
|
}
|
|
295
301
|
|
|
@@ -315,7 +321,11 @@ function elementMatchesDefinition(el, def) {
|
|
|
315
321
|
if (el.nodeName.toLowerCase() !== def.element) {
|
|
316
322
|
return false;
|
|
317
323
|
}
|
|
318
|
-
|
|
324
|
+
const classes = def.classes?.filter(Boolean);
|
|
325
|
+
if (!classes?.length) {
|
|
326
|
+
return true;
|
|
327
|
+
}
|
|
328
|
+
return classes.every((cls)=>el.classList.contains(cls));
|
|
319
329
|
}
|
|
320
330
|
function detectActiveStyle(editor, definitions) {
|
|
321
331
|
const current = editor.s.current();
|
|
@@ -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.9.
|
|
4
|
+
* Version: v4.9.35
|
|
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 o in n)("object"==typeof exports?exports:e)[o]=n[o]}}(self,function(){return(self.webpackChunkjodit_pro=self.webpackChunkjodit_pro||[]).push([[850],{5440:function(e,t,n){"use strict";n.d(t,{buildStylePopup:function(){return r}});var o=n(31105),l=n(8060),i=n(69341);let s="jodit-style-popup";function r(e,t,n){let r=(0,l.classifyDefinitions)(t),c=(0,i.detectActiveStyle)(e,t),u=e.c.div(s);for(let l of r){let i=e.c.div(`${s}__group-title`);i.textContent=e.i18n(l.title),u.appendChild(i);let r=e.c.div(`${s}__grid`);for(let i of l.definitions){let l=e.c.element("button");l.type="button",l.className=`${s}__card`+(c===i?` ${s}__card_active_true`:"");let u=e.c.div(`${s}__card-preview`),f=e.c.element(i.element);for(let e of i.classes?.filter(Boolean)??[])f.classList.add(e);f.textContent=i.name,u.appendChild(f),l.appendChild(u);let a=e.c.div(`${s}__card-label`);a.textContent=i.name,l.appendChild(a),e.e.on(l,"click",()=>{e.s.focus(),(0,o.applyStyle)(e,i,t),e.synchronizeValues(),n()}),r.appendChild(l)}u.appendChild(r)}return u}},8060:function(e,t,n){"use strict";n.d(t,{classifyDefinitions:function(){return l}});var o=n(82758);function l(e){let t=[],n=[];for(let l of e)o.IS_BLOCK.test(l.element)?t.push(l):n.push(l);let l=[];return t.length&&l.push({title:"Block styles",definitions:t}),n.length&&l.push({title:"Text styles",definitions:n}),l}},28609:function(e,t,n){"use strict";var o=n(69341),l=n(5440),i=n(78955),s=n.n(i),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,o.detectActiveStyle)(e,t)},update(e,t){let n=e.o.customStyles.definitions;if(!n.length)return;let l=(0,o.detectActiveStyle)(e,n),i=t.control?.component==="select";(e.o.textIcons||i)&&(l?t.state.text=l.name:t.state.text=i?e.i18n("Styles"):"")},exec:()=>!1,popup(e,t,n){let o=e.o.customStyles.definitions;if(!o.length)return!1;e.s.current()||e.s.focus(),e.s.save();let i=(0,l.buildStylePopup)(e,o,()=>{e.s.restore(),n()});return e.e.one("beforePopupClose",()=>{e.s.restore()}),i}}},31105:function(e,t,n){"use strict";n.d(t,{applyStyle:function(){return u}});var o=n(69341),l=n(82758),i=n(2748);function s(e,t){let n=e.s.current();if(!n)return null;if(l.IS_BLOCK.test(t.element))return i.Dom.closest(n,i.Dom.isBlock,e.editor);let o=i.Dom.isElement(n)?n:n.parentNode;for(;o&&o!==e.editor;){if(i.Dom.isElement(o)&&o.nodeName.toLowerCase()===t.element)return o;o=o.parentNode}return null}function r(e,t){for(let n of t)e.classList.remove(n);""===e.className&&e.removeAttribute("class")}function c(e){let t=e.classes?.filter(Boolean)[0];return t?{element:e.element,attributes:{class:t}}:{element:e.element}}function u(e,t,n){let u=(0,o.detectActiveStyle)(e,n);u&&(e.s.commitStyle(c(u)),!function(e,t){let n=t.classes?.filter(Boolean);if(!n||n.length<=1)return;let o=e.s.current();if(o)if(l.IS_BLOCK.test(t.element)){let t=i.Dom.closest(o,i.Dom.isBlock,e.editor);t&&r(t,n.slice(1))}else{let o=s(e,t);o&&(r(o,n.slice(1)),"span"!==o.nodeName.toLowerCase()||o.attributes.length||i.Dom.unwrap(o))}}(e,u),u===t)||(e.s.commitStyle(c(t)),function(e,t){let n=t.classes?.filter(Boolean);if(!n||n.length<=1)return;let o=s(e,t);if(o)for(let e=1;e<n.length;e++)o.classList.add(n[e])}(e,t))}},69341:function(e,t,n){"use strict";n.d(t,{detectActiveStyle:function(){return s}});var o=n(82758),l=n(2748);function i(e,t){if(e.nodeName.toLowerCase()!==t.element)return!1;let n=t.classes?.filter(Boolean);return!n?.length||n.every(t=>e.classList.contains(t))}function s(e,t){let n=e.s.current();if(!n)return null;for(let s of t)if(o.IS_BLOCK.test(s.element)){let t=l.Dom.closest(n,l.Dom.isBlock,e.editor);if(t&&i(t,s))return s}else{let t=l.Dom.isElement(n)?n:n.parentNode;for(;t&&t!==e.editor;){if(l.Dom.isElement(t)&&i(t,s))return s;t=t.parentNode}}return null}},75554:function(e,t,n){"use strict";n.r(t),n.d(t,{style:function(){return s}});var o=n(82749);n(28609);var l=n(50911),i=n(2692);class s extends l.Plugin{afterInit(e){}beforeDestruct(e){}constructor(...e){super(...e),(0,o._)(this,"buttons",[{name:"style",group:"font"}])}}(0,o._)(s,"requires",["license"]),i.JoditPro.plugins.add("style",s)},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>'}},function(e){return e(e.s=75554)}])});
|