jodit-pro 4.9.19 → 4.9.22
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 +5 -5
- package/es2015/jodit.js +207 -70
- package/es2015/jodit.min.js +4 -4
- 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.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 +1 -1
- package/es2015/plugins/style/style.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 +5 -5
- package/es2018/jodit.min.js +4 -4
- 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 +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 +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 +5 -5
- package/es2021/jodit.js +207 -70
- package/es2021/jodit.min.js +4 -4
- 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.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 +1 -1
- package/es2021/plugins/style/style.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 +5 -5
- package/es2021.en/jodit.js +207 -70
- package/es2021.en/jodit.min.js +4 -4
- 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.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 +1 -1
- package/es2021.en/plugins/style/style.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 +216 -70
- 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.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 +1 -1
- package/es5/plugins/style/style.min.js +1 -1
- package/es5/plugins/todo-list/todo-list.css +1 -1
- package/es5/plugins/todo-list/todo-list.js +1 -1
- package/es5/plugins/todo-list/todo-list.min.js +1 -1
- package/es5/plugins/translate/translate.css +1 -1
- package/es5/plugins/translate/translate.js +1 -1
- package/es5/plugins/translate/translate.min.js +1 -1
- package/es5/plugins/tune-block/tune-block.css +1 -1
- package/es5/plugins/tune-block/tune-block.js +1 -1
- package/es5/plugins/tune-block/tune-block.min.js +1 -1
- package/es5/polyfills.fat.min.js +1 -1
- package/es5/polyfills.js +1 -1
- package/es5/polyfills.min.js +1 -1
- package/package.json +1 -1
package/es2021.en/jodit.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* jodit-pro - PRO Version of Jodit Editor
|
|
3
3
|
* Author: Chupurnov Valerii <chupurnov@gmail.com>
|
|
4
|
-
* Version: v4.9.
|
|
4
|
+
* Version: v4.9.22
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -4622,7 +4622,96 @@ function removeExtraTags(elm) {
|
|
|
4622
4622
|
|
|
4623
4623
|
let ConfigPrototype = {};
|
|
4624
4624
|
/**
|
|
4625
|
-
* Default Editor's Configuration
|
|
4625
|
+
* Default Editor's Configuration.
|
|
4626
|
+
*
|
|
4627
|
+
* This class holds all default option values for the Jodit editor.
|
|
4628
|
+
* It uses a **private constructor** and a **lazy singleton** pattern — the single instance
|
|
4629
|
+
* is created on the first access to {@link Config.defaultOptions} (also available as `Jodit.defaultOptions`).
|
|
4630
|
+
*
|
|
4631
|
+
* ## How options are resolved
|
|
4632
|
+
*
|
|
4633
|
+
* When you create an editor with `Jodit.make('#editor', userOptions)`, the library
|
|
4634
|
+
* calls {@link ConfigProto}(userOptions, Config.defaultOptions). `ConfigProto` does
|
|
4635
|
+
* **not** deep-clone the defaults. Instead it creates a new object whose JavaScript
|
|
4636
|
+
* prototype is `Config.defaultOptions`:
|
|
4637
|
+
*
|
|
4638
|
+
* ```
|
|
4639
|
+
* userOptions ──[[Prototype]]──► Config.defaultOptions
|
|
4640
|
+
* ```
|
|
4641
|
+
*
|
|
4642
|
+
* Any key present in `userOptions` shadows the default;
|
|
4643
|
+
* any key **not** present falls through to `Config.defaultOptions` via the prototype chain.
|
|
4644
|
+
* Nested plain objects are recursively prototyped in the same way, so partial overrides
|
|
4645
|
+
* of nested options work automatically:
|
|
4646
|
+
*
|
|
4647
|
+
* ```js
|
|
4648
|
+
* // Only override `dialogWidth`; all other `image.*` defaults are still available
|
|
4649
|
+
* Jodit.make('#editor', {
|
|
4650
|
+
* image: { dialogWidth: 500 }
|
|
4651
|
+
* });
|
|
4652
|
+
* ```
|
|
4653
|
+
*
|
|
4654
|
+
* ## How plugins extend the config
|
|
4655
|
+
*
|
|
4656
|
+
* Each plugin adds its own defaults by assigning to `Config.prototype` and augmenting
|
|
4657
|
+
* the TypeScript type with `declare module`:
|
|
4658
|
+
*
|
|
4659
|
+
* ```ts
|
|
4660
|
+
* // 1. Type augmentation (compile-time)
|
|
4661
|
+
* declare module 'jodit/config' {
|
|
4662
|
+
* interface Config {
|
|
4663
|
+
* toolbarSticky: boolean;
|
|
4664
|
+
* }
|
|
4665
|
+
* }
|
|
4666
|
+
*
|
|
4667
|
+
* // 2. Runtime default
|
|
4668
|
+
* Config.prototype.toolbarSticky = true;
|
|
4669
|
+
* ```
|
|
4670
|
+
*
|
|
4671
|
+
* Because the constructor runs `Object.assign(this, ConfigPrototype)` (where
|
|
4672
|
+
* `ConfigPrototype` is captured as `Config.prototype` after the class definition),
|
|
4673
|
+
* all prototype-level values — including those added by plugins — are materialized
|
|
4674
|
+
* as own properties on the singleton. This means `Config.defaultOptions` always
|
|
4675
|
+
* contains every registered option as an own, enumerable property.
|
|
4676
|
+
*
|
|
4677
|
+
* ## Changing global defaults
|
|
4678
|
+
*
|
|
4679
|
+
* You can modify `Jodit.defaultOptions` **before** creating editors to change
|
|
4680
|
+
* defaults globally:
|
|
4681
|
+
*
|
|
4682
|
+
* ```js
|
|
4683
|
+
* Jodit.defaultOptions.language = 'de';
|
|
4684
|
+
* Jodit.defaultOptions.theme = 'dark';
|
|
4685
|
+
*
|
|
4686
|
+
* // Both editors inherit the new defaults
|
|
4687
|
+
* Jodit.make('#editor1');
|
|
4688
|
+
* Jodit.make('#editor2');
|
|
4689
|
+
* ```
|
|
4690
|
+
*
|
|
4691
|
+
* ## `Jodit.atom` — preventing deep merge
|
|
4692
|
+
*
|
|
4693
|
+
* By default, `ConfigProto` deep-merges nested plain objects and arrays.
|
|
4694
|
+
* Wrap a value with `Jodit.atom(value)` to make it **atomic** — it will completely
|
|
4695
|
+
* replace the default instead of being merged:
|
|
4696
|
+
*
|
|
4697
|
+
* ```js
|
|
4698
|
+
* Jodit.make('#editor', {
|
|
4699
|
+
* controls: {
|
|
4700
|
+
* fontsize: {
|
|
4701
|
+
* // Replace the entire list rather than merging with the default one
|
|
4702
|
+
* list: Jodit.atom([8, 9, 10])
|
|
4703
|
+
* }
|
|
4704
|
+
* }
|
|
4705
|
+
* });
|
|
4706
|
+
* ```
|
|
4707
|
+
*
|
|
4708
|
+
* `Jodit.atom` calls {@link markAsAtomic}, which sets a non-enumerable
|
|
4709
|
+
* `isAtom` flag on the object. `ConfigProto` checks this flag and skips
|
|
4710
|
+
* recursive merging when it is present. Note: top-level arrays (depth 0)
|
|
4711
|
+
* are always treated as atomic — they replace rather than merge.
|
|
4712
|
+
*
|
|
4713
|
+
* @see {@link ConfigProto} for the full merge algorithm
|
|
4714
|
+
* @see {@link markAsAtomic} / {@link isAtom} for the atom marker implementation
|
|
4626
4715
|
*/ class Config {
|
|
4627
4716
|
static get defaultOptions() {
|
|
4628
4717
|
if (!Config.__defaultOptions) {
|
|
@@ -4632,31 +4721,32 @@ let ConfigPrototype = {};
|
|
|
4632
4721
|
}
|
|
4633
4722
|
constructor(){
|
|
4634
4723
|
/**
|
|
4635
|
-
*
|
|
4724
|
+
* When enabled, the editor caches the results of expensive computations (e.g. toolbar rebuilds)
|
|
4725
|
+
* to improve performance. Disable for debugging or when options change frequently at runtime.
|
|
4636
4726
|
*/ this.cache = true;
|
|
4637
4727
|
/**
|
|
4638
4728
|
* Timeout of all asynchronous methods
|
|
4639
4729
|
*/ this.defaultTimeout = 100;
|
|
4640
|
-
|
|
4730
|
+
/**
|
|
4731
|
+
* Prefix used for CSS class names and local-storage keys to avoid collisions
|
|
4732
|
+
* when multiple editor instances or applications share the same page.
|
|
4733
|
+
*/ this.namespace = '';
|
|
4641
4734
|
/**
|
|
4642
4735
|
* Editor loads completely without plugins. Useful when debugging your own plugin.
|
|
4643
4736
|
*/ this.safeMode = false;
|
|
4644
4737
|
/**
|
|
4645
4738
|
* Editor's width
|
|
4646
4739
|
*
|
|
4647
|
-
* @example
|
|
4648
4740
|
* ```javascript
|
|
4649
4741
|
* Jodit.make('.editor', {
|
|
4650
4742
|
* width: '100%',
|
|
4651
4743
|
* })
|
|
4652
4744
|
* ```
|
|
4653
|
-
* @example
|
|
4654
4745
|
* ```javascript
|
|
4655
4746
|
* Jodit.make('.editor', {
|
|
4656
4747
|
* width: 600, // equivalent for '600px'
|
|
4657
4748
|
* })
|
|
4658
4749
|
* ```
|
|
4659
|
-
* @example
|
|
4660
4750
|
* ```javascript
|
|
4661
4751
|
* Jodit.make('.editor', {
|
|
4662
4752
|
* width: 'auto', // autosize
|
|
@@ -4666,19 +4756,16 @@ let ConfigPrototype = {};
|
|
|
4666
4756
|
/**
|
|
4667
4757
|
* Editor's height
|
|
4668
4758
|
*
|
|
4669
|
-
* @example
|
|
4670
4759
|
* ```javascript
|
|
4671
4760
|
* Jodit.make('.editor', {
|
|
4672
4761
|
* height: '100%',
|
|
4673
4762
|
* })
|
|
4674
4763
|
* ```
|
|
4675
|
-
* @example
|
|
4676
4764
|
* ```javascript
|
|
4677
4765
|
* Jodit.make('.editor', {
|
|
4678
4766
|
* height: 600, // equivalent for '600px'
|
|
4679
4767
|
* })
|
|
4680
4768
|
* ```
|
|
4681
|
-
* @example
|
|
4682
4769
|
* ```javascript
|
|
4683
4770
|
* Jodit.make('.editor', {
|
|
4684
4771
|
* height: 'auto', // default - autosize
|
|
@@ -4715,7 +4802,32 @@ let ConfigPrototype = {};
|
|
|
4715
4802
|
* });
|
|
4716
4803
|
* ```
|
|
4717
4804
|
*/ this.preset = 'custom';
|
|
4718
|
-
|
|
4805
|
+
/**
|
|
4806
|
+
* Dictionary of named configuration presets. Each key is a preset name and the value
|
|
4807
|
+
* is a partial options object that will be merged into the editor config when
|
|
4808
|
+
* {@link Config.preset} matches the key.
|
|
4809
|
+
*
|
|
4810
|
+
* ```javascript
|
|
4811
|
+
* // Use a built-in preset
|
|
4812
|
+
* Jodit.make('#editor', {
|
|
4813
|
+
* preset: 'inline'
|
|
4814
|
+
* });
|
|
4815
|
+
* ```
|
|
4816
|
+
*
|
|
4817
|
+
* ```javascript
|
|
4818
|
+
* // Define and use a custom preset
|
|
4819
|
+
* Jodit.defaultOptions.presets.myCompact = {
|
|
4820
|
+
* toolbarButtonSize: 'small',
|
|
4821
|
+
* showCharsCounter: false,
|
|
4822
|
+
* showWordsCounter: false,
|
|
4823
|
+
* showXPathInStatusbar: false
|
|
4824
|
+
* };
|
|
4825
|
+
*
|
|
4826
|
+
* Jodit.make('#editor', {
|
|
4827
|
+
* preset: 'myCompact'
|
|
4828
|
+
* });
|
|
4829
|
+
* ```
|
|
4830
|
+
*/ this.presets = {
|
|
4719
4831
|
inline: {
|
|
4720
4832
|
inline: true,
|
|
4721
4833
|
toolbar: false,
|
|
@@ -4727,7 +4839,10 @@ let ConfigPrototype = {};
|
|
|
4727
4839
|
showPlaceholder: false
|
|
4728
4840
|
}
|
|
4729
4841
|
};
|
|
4730
|
-
|
|
4842
|
+
/**
|
|
4843
|
+
* The Document object the editor operates within. Defaults to the current `document`.
|
|
4844
|
+
* Override when the editor is created inside an iframe or a different browsing context.
|
|
4845
|
+
*/ this.ownerDocument = _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.globalDocument;
|
|
4731
4846
|
/**
|
|
4732
4847
|
* Allows you to specify the window in which the editor will be created. Default - window
|
|
4733
4848
|
* This is necessary if you are creating the editor inside an iframe but the code is running in the parent window
|
|
@@ -4758,7 +4873,9 @@ let ConfigPrototype = {};
|
|
|
4758
4873
|
* ```
|
|
4759
4874
|
*/ this.shadowRoot = null;
|
|
4760
4875
|
/**
|
|
4761
|
-
* z-index
|
|
4876
|
+
* Base CSS `z-index` for the editor UI (toolbar, popups, dialogs).
|
|
4877
|
+
* Set to a higher value when other page elements overlap the editor.
|
|
4878
|
+
* `0` means no explicit z-index is applied.
|
|
4762
4879
|
*/ this.zIndex = 0;
|
|
4763
4880
|
/**
|
|
4764
4881
|
* Change the read-only state of the editor
|
|
@@ -4794,7 +4911,6 @@ let ConfigPrototype = {};
|
|
|
4794
4911
|
/**
|
|
4795
4912
|
* Size of icons in the toolbar (can be "small", "middle", "large")
|
|
4796
4913
|
*
|
|
4797
|
-
* @example
|
|
4798
4914
|
* ```javascript
|
|
4799
4915
|
* const editor = Jodit.make(".dark_editor", {
|
|
4800
4916
|
* toolbarButtonSize: "small"
|
|
@@ -4805,11 +4921,13 @@ let ConfigPrototype = {};
|
|
|
4805
4921
|
* Allow navigation in the toolbar of the editor by Tab key
|
|
4806
4922
|
*/ this.allowTabNavigation = false;
|
|
4807
4923
|
/**
|
|
4808
|
-
*
|
|
4924
|
+
* When enabled, the editor renders without its own container chrome (toolbar, borders, statusbar).
|
|
4925
|
+
* The editable area becomes the element itself. Typically combined with
|
|
4926
|
+
* `toolbarInline: true` so a floating toolbar appears on selection.
|
|
4809
4927
|
*/ this.inline = false;
|
|
4810
4928
|
/**
|
|
4811
4929
|
* Theme (can be "dark")
|
|
4812
|
-
*
|
|
4930
|
+
*
|
|
4813
4931
|
* ```javascript
|
|
4814
4932
|
* const editor = Jodit.make(".dark_editor", {
|
|
4815
4933
|
* theme: "dark"
|
|
@@ -4822,10 +4940,9 @@ let ConfigPrototype = {};
|
|
|
4822
4940
|
/**
|
|
4823
4941
|
* Class name that can be appended to the editable area
|
|
4824
4942
|
*
|
|
4825
|
-
* @see
|
|
4826
|
-
* @see
|
|
4943
|
+
* @see {@link Config.iframeCSSLinks}
|
|
4944
|
+
* @see {@link Config.iframeStyle}
|
|
4827
4945
|
*
|
|
4828
|
-
* @example
|
|
4829
4946
|
* ```javascript
|
|
4830
4947
|
* Jodit.make('#editor', {
|
|
4831
4948
|
* editorClassName: 'some_my_class'
|
|
@@ -4841,7 +4958,7 @@ let ConfigPrototype = {};
|
|
|
4841
4958
|
*/ this.editorClassName = false;
|
|
4842
4959
|
/**
|
|
4843
4960
|
* Class name that can be appended to the main editor container
|
|
4844
|
-
*
|
|
4961
|
+
*
|
|
4845
4962
|
* ```javascript
|
|
4846
4963
|
* const jodit = Jodit.make('#editor', {
|
|
4847
4964
|
* className: 'some_my_class'
|
|
@@ -4861,7 +4978,7 @@ let ConfigPrototype = {};
|
|
|
4861
4978
|
/**
|
|
4862
4979
|
* The internal styles of the editable area. They are intended to change
|
|
4863
4980
|
* not the appearance of the editor, but to change the appearance of the content.
|
|
4864
|
-
*
|
|
4981
|
+
*
|
|
4865
4982
|
* ```javascript
|
|
4866
4983
|
* Jodit.make('#editor', {
|
|
4867
4984
|
* style: {
|
|
@@ -4872,13 +4989,14 @@ let ConfigPrototype = {};
|
|
|
4872
4989
|
* ```
|
|
4873
4990
|
*/ this.style = false;
|
|
4874
4991
|
/**
|
|
4992
|
+
* Inline CSS styles applied to the outer editor container element.
|
|
4993
|
+
* Use this to style the editor wrapper (borders, background, etc.) without affecting content.
|
|
4875
4994
|
*
|
|
4876
|
-
* @example
|
|
4877
4995
|
* ```javascript
|
|
4878
4996
|
* Jodit.make('#editor', {
|
|
4879
|
-
*
|
|
4880
|
-
*
|
|
4881
|
-
*
|
|
4997
|
+
* containerStyle: {
|
|
4998
|
+
* border: '1px solid #ccc',
|
|
4999
|
+
* background: '#f9f9f9'
|
|
4882
5000
|
* }
|
|
4883
5001
|
* });
|
|
4884
5002
|
* ```
|
|
@@ -4887,7 +5005,6 @@ let ConfigPrototype = {};
|
|
|
4887
5005
|
* Dictionary of variable values in css, a complete list can be found here
|
|
4888
5006
|
* https://github.com/xdan/jodit/blob/main/src/styles/variables.less#L25
|
|
4889
5007
|
*
|
|
4890
|
-
* @example
|
|
4891
5008
|
* ```js
|
|
4892
5009
|
* const editor = Jodit.make('#editor', {
|
|
4893
5010
|
* styleValues: {
|
|
@@ -4899,9 +5016,9 @@ let ConfigPrototype = {};
|
|
|
4899
5016
|
* ```
|
|
4900
5017
|
*/ this.styleValues = {};
|
|
4901
5018
|
/**
|
|
4902
|
-
*
|
|
5019
|
+
* When enabled, the editor dispatches a native `change` event on the original
|
|
5020
|
+
* `<textarea>` element whenever the content changes, so standard DOM listeners work.
|
|
4903
5021
|
*
|
|
4904
|
-
* @example
|
|
4905
5022
|
* ```javascript
|
|
4906
5023
|
* const editor = Jodit.make('#editor');
|
|
4907
5024
|
* document.getElementById('editor').addEventListener('change', function () {
|
|
@@ -4915,7 +5032,6 @@ let ConfigPrototype = {};
|
|
|
4915
5032
|
* the page element direction. 'ltr' – Indicates a Left-To-Right text direction (like in English).
|
|
4916
5033
|
* 'rtl' – Indicates a Right-To-Left text direction (like in Arabic).
|
|
4917
5034
|
*
|
|
4918
|
-
* @example
|
|
4919
5035
|
* ```javascript
|
|
4920
5036
|
* Jodit.make('.editor', {
|
|
4921
5037
|
* direction: 'rtl'
|
|
@@ -4927,7 +5043,6 @@ let ConfigPrototype = {};
|
|
|
4927
5043
|
* (navigator.language && navigator.language.substr(0, 2)) ||
|
|
4928
5044
|
* (navigator.browserLanguage && navigator.browserLanguage.substr(0, 2)) || 'en'
|
|
4929
5045
|
*
|
|
4930
|
-
* @example
|
|
4931
5046
|
* ```html
|
|
4932
5047
|
* <!-- include in you page lang file -->
|
|
4933
5048
|
* <script src="jodit/lang/de.js"></script>
|
|
@@ -4941,7 +5056,6 @@ let ConfigPrototype = {};
|
|
|
4941
5056
|
/**
|
|
4942
5057
|
* if true all Lang.i18n(key) return `{key}`
|
|
4943
5058
|
*
|
|
4944
|
-
* @example
|
|
4945
5059
|
* ```html
|
|
4946
5060
|
* <script>
|
|
4947
5061
|
* var editor = Jodit.make('.editor', {
|
|
@@ -4955,7 +5069,6 @@ let ConfigPrototype = {};
|
|
|
4955
5069
|
/**
|
|
4956
5070
|
* Collection of language pack data `{en: {'Type something': 'Type something', ...}}`
|
|
4957
5071
|
*
|
|
4958
|
-
* @example
|
|
4959
5072
|
* ```javascript
|
|
4960
5073
|
* const editor = Jodit.make('#editor', {
|
|
4961
5074
|
* language: 'ru',
|
|
@@ -4987,11 +5100,11 @@ let ConfigPrototype = {};
|
|
|
4987
5100
|
* Delay before show tooltip
|
|
4988
5101
|
*/ this.showTooltipDelay = 200;
|
|
4989
5102
|
/**
|
|
4990
|
-
* Instead of
|
|
5103
|
+
* Instead of creating a custom tooltip, use the browser's native title tooltips
|
|
4991
5104
|
*/ this.useNativeTooltip = false;
|
|
4992
5105
|
/**
|
|
4993
|
-
*
|
|
4994
|
-
*
|
|
5106
|
+
* How pasted content is inserted into the editor by default.
|
|
5107
|
+
* Possible values: `insert_as_html`, `insert_as_text`, `insert_only_text`, `insert_clear_html`.
|
|
4995
5108
|
*/ this.defaultActionOnPaste = _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.INSERT_AS_HTML;
|
|
4996
5109
|
// TODO
|
|
4997
5110
|
// autosave: false, // false or url
|
|
@@ -5004,7 +5117,6 @@ let ConfigPrototype = {};
|
|
|
5004
5117
|
/**
|
|
5005
5118
|
* When this option is enabled, the editor's content will be placed in an iframe and isolated from the rest of the page.
|
|
5006
5119
|
*
|
|
5007
|
-
* @example
|
|
5008
5120
|
* ```javascript
|
|
5009
5121
|
* Jodit.make('#editor', {
|
|
5010
5122
|
* iframe: true,
|
|
@@ -5016,7 +5128,7 @@ let ConfigPrototype = {};
|
|
|
5016
5128
|
/**
|
|
5017
5129
|
* Allow editing the entire HTML document(html, head)
|
|
5018
5130
|
* \> Works together with the iframe option.
|
|
5019
|
-
*
|
|
5131
|
+
*
|
|
5020
5132
|
* ```js
|
|
5021
5133
|
* const editor = Jodit.make('#editor', {
|
|
5022
5134
|
* iframe: true,
|
|
@@ -5035,7 +5147,7 @@ let ConfigPrototype = {};
|
|
|
5035
5147
|
/**
|
|
5036
5148
|
* Jodit.MODE_WYSIWYG The HTML editor allows you to write like MSWord,
|
|
5037
5149
|
* Jodit.MODE_SOURCE syntax highlighting source editor
|
|
5038
|
-
*
|
|
5150
|
+
*
|
|
5039
5151
|
* ```javascript
|
|
5040
5152
|
* var editor = Jodit.make('#editor', {
|
|
5041
5153
|
* defaultMode: Jodit.MODE_SPLIT
|
|
@@ -5044,11 +5156,11 @@ let ConfigPrototype = {};
|
|
|
5044
5156
|
* ```
|
|
5045
5157
|
*/ this.defaultMode = _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.MODE_WYSIWYG;
|
|
5046
5158
|
/**
|
|
5047
|
-
*
|
|
5159
|
+
* When enabled, the editor displays both the WYSIWYG view and the source-code view side by side.
|
|
5048
5160
|
*/ this.useSplitMode = false;
|
|
5049
5161
|
/**
|
|
5050
5162
|
* The colors in HEX representation to select a color for the background and for the text in colorpicker
|
|
5051
|
-
*
|
|
5163
|
+
*
|
|
5052
5164
|
* ```javascript
|
|
5053
5165
|
* Jodit.make('#editor', {
|
|
5054
5166
|
* colors: ['#ff0000', '#00ff00', '#0000ff']
|
|
@@ -5144,7 +5256,7 @@ let ConfigPrototype = {};
|
|
|
5144
5256
|
};
|
|
5145
5257
|
/**
|
|
5146
5258
|
* The default tab color picker
|
|
5147
|
-
*
|
|
5259
|
+
*
|
|
5148
5260
|
* ```javascript
|
|
5149
5261
|
* Jodit.make('#editor2', {
|
|
5150
5262
|
* colorPickerDefaultTab: 'color'
|
|
@@ -5152,11 +5264,11 @@ let ConfigPrototype = {};
|
|
|
5152
5264
|
* ```
|
|
5153
5265
|
*/ this.colorPickerDefaultTab = 'background';
|
|
5154
5266
|
/**
|
|
5155
|
-
*
|
|
5267
|
+
* Default width (in pixels) applied to images inserted into the editor
|
|
5156
5268
|
*/ this.imageDefaultWidth = 300;
|
|
5157
5269
|
/**
|
|
5158
5270
|
* Do not display these buttons that are on the list
|
|
5159
|
-
*
|
|
5271
|
+
*
|
|
5160
5272
|
* ```javascript
|
|
5161
5273
|
* Jodit.make('#editor2', {
|
|
5162
5274
|
* removeButtons: ['hr', 'source']
|
|
@@ -5165,7 +5277,7 @@ let ConfigPrototype = {};
|
|
|
5165
5277
|
*/ this.removeButtons = [];
|
|
5166
5278
|
/**
|
|
5167
5279
|
* Do not init these plugins
|
|
5168
|
-
*
|
|
5280
|
+
*
|
|
5169
5281
|
* ```typescript
|
|
5170
5282
|
* var editor = Jodit.make('.editor', {
|
|
5171
5283
|
* disablePlugins: 'table,iframe'
|
|
@@ -5178,7 +5290,7 @@ let ConfigPrototype = {};
|
|
|
5178
5290
|
*/ this.disablePlugins = [];
|
|
5179
5291
|
/**
|
|
5180
5292
|
* Init and download extra plugins
|
|
5181
|
-
*
|
|
5293
|
+
*
|
|
5182
5294
|
* ```typescript
|
|
5183
5295
|
* var editor = Jodit.make('.editor', {
|
|
5184
5296
|
* extraPlugins: ['emoji']
|
|
@@ -5187,14 +5299,13 @@ let ConfigPrototype = {};
|
|
|
5187
5299
|
* It will try load %SCRIPT_PATH%/plugins/emoji/emoji.js and after load will try init it
|
|
5188
5300
|
*/ this.extraPlugins = [];
|
|
5189
5301
|
/**
|
|
5190
|
-
*
|
|
5302
|
+
* Additional buttons appended to the {@link Config.buttons} list
|
|
5191
5303
|
*/ this.extraButtons = [];
|
|
5192
5304
|
/**
|
|
5193
5305
|
* By default, you can only install an icon from the Jodit suite.
|
|
5194
5306
|
* You can add your icon to the set using the `Jodit.modules.Icon.set (name, svg Code)` method.
|
|
5195
5307
|
* But for a declarative declaration, you can use this option.
|
|
5196
5308
|
*
|
|
5197
|
-
* @example
|
|
5198
5309
|
* ```js
|
|
5199
5310
|
* Jodit.modules.Icon.set('someIcon', '<svg><path.../></svg>');
|
|
5200
5311
|
* const editor = Jodit.make({
|
|
@@ -5203,8 +5314,9 @@ let ConfigPrototype = {};
|
|
|
5203
5314
|
* icon: 'someIcon'
|
|
5204
5315
|
* }]
|
|
5205
5316
|
* });
|
|
5317
|
+
* ```
|
|
5206
5318
|
*
|
|
5207
|
-
*
|
|
5319
|
+
* ```js
|
|
5208
5320
|
* const editor = Jodit.make({
|
|
5209
5321
|
* extraIcons: {
|
|
5210
5322
|
* someIcon: '<svg><path.../></svg>'
|
|
@@ -5215,7 +5327,7 @@ let ConfigPrototype = {};
|
|
|
5215
5327
|
* }]
|
|
5216
5328
|
* });
|
|
5217
5329
|
* ```
|
|
5218
|
-
*
|
|
5330
|
+
*
|
|
5219
5331
|
* ```js
|
|
5220
5332
|
* const editor = Jodit.make({
|
|
5221
5333
|
* extraButtons: [{
|
|
@@ -5227,7 +5339,7 @@ let ConfigPrototype = {};
|
|
|
5227
5339
|
*/ this.extraIcons = {};
|
|
5228
5340
|
/**
|
|
5229
5341
|
* Default attributes for created inside editor elements
|
|
5230
|
-
*
|
|
5342
|
+
*
|
|
5231
5343
|
* ```js
|
|
5232
5344
|
* const editor2 = Jodit.make('#editor', {
|
|
5233
5345
|
* createAttributes: {
|
|
@@ -5247,7 +5359,7 @@ let ConfigPrototype = {};
|
|
|
5247
5359
|
* expect(ul.className).equals('ui-test');
|
|
5248
5360
|
* ```
|
|
5249
5361
|
* Or JSX in React
|
|
5250
|
-
*
|
|
5362
|
+
*
|
|
5251
5363
|
* ```jsx
|
|
5252
5364
|
* import React, {useState, useRef} from 'react';
|
|
5253
5365
|
* import JoditEditor from "jodit-react";
|
|
@@ -5279,7 +5391,7 @@ let ConfigPrototype = {};
|
|
|
5279
5391
|
/**
|
|
5280
5392
|
* The list of buttons that appear in the editor's toolbar on large places (≥ options.sizeLG).
|
|
5281
5393
|
* Note - this is not the width of the device, the width of the editor
|
|
5282
|
-
*
|
|
5394
|
+
*
|
|
5283
5395
|
* ```javascript
|
|
5284
5396
|
* Jodit.make('#editor', {
|
|
5285
5397
|
* buttons: ['bold', 'italic', 'source'],
|
|
@@ -5287,7 +5399,7 @@ let ConfigPrototype = {};
|
|
|
5287
5399
|
* buttonsXS: ['bold', 'fullsize'],
|
|
5288
5400
|
* });
|
|
5289
5401
|
* ```
|
|
5290
|
-
*
|
|
5402
|
+
*
|
|
5291
5403
|
* ```javascript
|
|
5292
5404
|
* Jodit.make('#editor2', {
|
|
5293
5405
|
* buttons: [{
|
|
@@ -5311,7 +5423,7 @@ let ConfigPrototype = {};
|
|
|
5311
5423
|
* }]
|
|
5312
5424
|
* });
|
|
5313
5425
|
* ```
|
|
5314
|
-
*
|
|
5426
|
+
*
|
|
5315
5427
|
* ```javascript
|
|
5316
5428
|
* Jodit.make('#editor2', {
|
|
5317
5429
|
* buttons: Jodit.defaultOptions.buttons.concat([{
|
|
@@ -5432,7 +5544,7 @@ let ConfigPrototype = {};
|
|
|
5432
5544
|
* ```
|
|
5433
5545
|
*/ this.events = {};
|
|
5434
5546
|
/**
|
|
5435
|
-
* Buttons in
|
|
5547
|
+
* Buttons in toolbar without SVG - only texts
|
|
5436
5548
|
*/ this.textIcons = false;
|
|
5437
5549
|
/**
|
|
5438
5550
|
* Element for dialog container
|
|
@@ -11823,7 +11935,11 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
11823
11935
|
/* harmony export */ getItem: function() { return /* binding */ getItem; }
|
|
11824
11936
|
/* harmony export */ });
|
|
11825
11937
|
/* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
|
|
11826
|
-
|
|
11938
|
+
/*!
|
|
11939
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
11940
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
11941
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
11942
|
+
*/
|
|
11827
11943
|
/**
|
|
11828
11944
|
* @private
|
|
11829
11945
|
*/ const getItem = (node, root, tag = 'a')=>_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(node, (elm)=>_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(elm, tag), root);
|
|
@@ -23385,12 +23501,12 @@ function findCorrectCurrentNode(node, range, rightMode, isCollapsed, checkChild,
|
|
|
23385
23501
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
23386
23502
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
23387
23503
|
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
23388
|
-
*/
|
|
23389
|
-
/**
|
|
23504
|
+
*/ /**
|
|
23390
23505
|
* [[include:core/decorators/autobind/README.md]]
|
|
23391
23506
|
* @packageDocumentation
|
|
23392
23507
|
* @module decorators/autobind
|
|
23393
|
-
*/
|
|
23508
|
+
*/
|
|
23509
|
+
/**
|
|
23394
23510
|
* Decorator that automatically binds a method to its class instance.
|
|
23395
23511
|
* This is useful when passing methods as callbacks to preserve the correct `this` context.
|
|
23396
23512
|
*
|
|
@@ -24144,9 +24260,10 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.toolbarStickyOffset = 0
|
|
|
24144
24260
|
/* harmony import */ var _decorators_derive_derive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55153);
|
|
24145
24261
|
/* harmony import */ var _dom_dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2748);
|
|
24146
24262
|
/* harmony import */ var _helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(70799);
|
|
24147
|
-
/* harmony import */ var
|
|
24148
|
-
/* harmony import */ var
|
|
24149
|
-
/* harmony import */ var
|
|
24263
|
+
/* harmony import */ var _helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29960);
|
|
24264
|
+
/* harmony import */ var _traits_elms_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(14316);
|
|
24265
|
+
/* harmony import */ var _traits_mods_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(34176);
|
|
24266
|
+
/* harmony import */ var _icon_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(12153);
|
|
24150
24267
|
/*!
|
|
24151
24268
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
24152
24269
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -24165,7 +24282,11 @@ var UIElement_1;
|
|
|
24165
24282
|
|
|
24166
24283
|
|
|
24167
24284
|
|
|
24285
|
+
|
|
24168
24286
|
let UIElement = UIElement_1 = class UIElement extends _component_index_js__WEBPACK_IMPORTED_MODULE_0__.ViewComponent {
|
|
24287
|
+
getRole() {
|
|
24288
|
+
return '';
|
|
24289
|
+
}
|
|
24169
24290
|
get parentElement() {
|
|
24170
24291
|
return this.__parentElement;
|
|
24171
24292
|
}
|
|
@@ -24254,7 +24375,7 @@ let UIElement = UIElement_1 = class UIElement extends _component_index_js__WEBPA
|
|
|
24254
24375
|
return result;
|
|
24255
24376
|
}
|
|
24256
24377
|
parseTemplate(result) {
|
|
24257
|
-
return this.j.c.fromHTML(result.replace(/\*([^*]+?)\*/g, (_, name)=>
|
|
24378
|
+
return this.j.c.fromHTML(result.replace(/\*([^*]+?)\*/g, (_, name)=>_icon_js__WEBPACK_IMPORTED_MODULE_7__.Icon.get(name) || '').replace(/&_/g, this.componentName + '_').replace(/~([^~]+?)~/g, (_, s)=>this.i18n(s)));
|
|
24258
24379
|
}
|
|
24259
24380
|
/** @override */ destruct() {
|
|
24260
24381
|
_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(this.container);
|
|
@@ -24267,6 +24388,8 @@ let UIElement = UIElement_1 = class UIElement extends _component_index_js__WEBPA
|
|
|
24267
24388
|
this.__parentElement = null;
|
|
24268
24389
|
this.mods = {};
|
|
24269
24390
|
this.container = this.createContainer(options);
|
|
24391
|
+
const role = this.getRole();
|
|
24392
|
+
role && (0,_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_4__.attr)(this.container, 'role', role);
|
|
24270
24393
|
Object.defineProperty(this.container, 'component', {
|
|
24271
24394
|
value: this,
|
|
24272
24395
|
configurable: true
|
|
@@ -24274,7 +24397,7 @@ let UIElement = UIElement_1 = class UIElement extends _component_index_js__WEBPA
|
|
|
24274
24397
|
}
|
|
24275
24398
|
};
|
|
24276
24399
|
UIElement = UIElement_1 = __decorate([
|
|
24277
|
-
(0,_decorators_derive_derive_js__WEBPACK_IMPORTED_MODULE_1__.derive)(
|
|
24400
|
+
(0,_decorators_derive_derive_js__WEBPACK_IMPORTED_MODULE_1__.derive)(_traits_mods_js__WEBPACK_IMPORTED_MODULE_6__.Mods, _traits_elms_js__WEBPACK_IMPORTED_MODULE_5__.Elms)
|
|
24278
24401
|
], UIElement);
|
|
24279
24402
|
|
|
24280
24403
|
|
|
@@ -27966,7 +28089,13 @@ __decorate([
|
|
|
27966
28089
|
/* harmony export */ eventEmitter: function() { return /* binding */ eventEmitter; }
|
|
27967
28090
|
/* harmony export */ });
|
|
27968
28091
|
/* harmony import */ var _event_emitter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(98220);
|
|
27969
|
-
|
|
28092
|
+
/*!
|
|
28093
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
28094
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
28095
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
28096
|
+
*/ /**
|
|
28097
|
+
* @module event-emitter
|
|
28098
|
+
*/
|
|
27970
28099
|
const eventEmitter = new _event_emitter_js__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();
|
|
27971
28100
|
|
|
27972
28101
|
|
|
@@ -31248,6 +31377,9 @@ let UIGroup = UIGroup_1 = class UIGroup extends _element_js__WEBPACK_IMPORTED_MO
|
|
|
31248
31377
|
className() {
|
|
31249
31378
|
return 'UIGroup';
|
|
31250
31379
|
}
|
|
31380
|
+
getRole() {
|
|
31381
|
+
return 'list';
|
|
31382
|
+
}
|
|
31251
31383
|
/**
|
|
31252
31384
|
* All group children
|
|
31253
31385
|
*/ get allChildren() {
|
|
@@ -38599,6 +38731,9 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
|
|
|
38599
38731
|
className() {
|
|
38600
38732
|
return 'ToolbarButton';
|
|
38601
38733
|
}
|
|
38734
|
+
getRole() {
|
|
38735
|
+
return 'listitem';
|
|
38736
|
+
}
|
|
38602
38737
|
/**
|
|
38603
38738
|
* Get parent toolbar
|
|
38604
38739
|
*/ get toolbar() {
|
|
@@ -38666,7 +38801,6 @@ let ToolbarButton = class ToolbarButton extends _core_ui_button_index_js__WEBPAC
|
|
|
38666
38801
|
const cn = this.componentName;
|
|
38667
38802
|
const container = this.j.c.span(cn);
|
|
38668
38803
|
const button = super.createContainer();
|
|
38669
|
-
(0,_core_helpers_utils_attr_js__WEBPACK_IMPORTED_MODULE_14__.attr)(container, 'role', 'listitem');
|
|
38670
38804
|
button.classList.remove(cn);
|
|
38671
38805
|
button.classList.add(cn + '__button');
|
|
38672
38806
|
Object.defineProperty(button, 'component', {
|
|
@@ -41546,13 +41680,12 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.maxWidth = '100%';
|
|
|
41546
41680
|
/**
|
|
41547
41681
|
* Editor's min-height
|
|
41548
41682
|
*
|
|
41549
|
-
* @example
|
|
41550
41683
|
* ```javascript
|
|
41551
41684
|
* Jodit.make('.editor', {
|
|
41552
41685
|
* minHeight: '30%' //min-height: 30%
|
|
41553
41686
|
* })
|
|
41554
41687
|
* ```
|
|
41555
|
-
*
|
|
41688
|
+
*
|
|
41556
41689
|
* ```javascript
|
|
41557
41690
|
* Jodit.make('.editor', {
|
|
41558
41691
|
* minHeight: 200 //min-height: 200px
|
|
@@ -42610,7 +42743,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
42610
42743
|
* ```
|
|
42611
42744
|
* @packageDocumentation
|
|
42612
42745
|
* @module constants
|
|
42613
|
-
*/ const APP_VERSION = "4.9.
|
|
42746
|
+
*/ const APP_VERSION = "4.9.22";
|
|
42614
42747
|
// prettier-ignore
|
|
42615
42748
|
const ES = "es2021";
|
|
42616
42749
|
const IS_ES_MODERN = true;
|
|
@@ -47623,7 +47756,11 @@ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.wrapNodes = {
|
|
|
47623
47756
|
/* harmony import */ var _engines_local_storage_provider_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65638);
|
|
47624
47757
|
/* harmony import */ var _engines_memory_storage_provider_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21162);
|
|
47625
47758
|
/* harmony import */ var _storage_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6700);
|
|
47626
|
-
|
|
47759
|
+
/*!
|
|
47760
|
+
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
47761
|
+
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
47762
|
+
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
|
|
47763
|
+
*/
|
|
47627
47764
|
|
|
47628
47765
|
|
|
47629
47766
|
|