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
package/es2021/jodit.fat.min.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.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
|
*/
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*/.a-color-picker{background-color:#fff;padding:0;display:inline-flex;flex-direction:column;user-select:none;width:232px;font:400 10px Helvetica,Arial,sans-serif;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 2px 4px rgba(0,0,0,.25)}.a-color-picker,.a-color-picker-row,.a-color-picker input{box-sizing:border-box}.a-color-picker-row{padding:15px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;user-select:none}.a-color-picker-row-top{padding:0}.a-color-picker-row:not(:first-child){border-top:1px solid #f5f5f5}.a-color-picker-column{display:flex;flex-direction:column}.a-color-picker-cell{flex:1 1 auto;margin-bottom:4px}.a-color-picker-cell:last-child{margin-bottom:0}.a-color-picker-stack{position:relative}.a-color-picker-dot{position:absolute;width:14px;height:14px;top:0;left:0;background:#fff;pointer-events:none;border-radius:50px;z-index:1000;box-shadow:0 1px 2px rgba(0,0,0,.75)}.a-color-picker-a,.a-color-picker-h,.a-color-picker-sl{cursor:cell}.a-color-picker-a+.a-color-picker-dot,.a-color-picker-h+.a-color-picker-dot{top:-2px}.a-color-picker-a,.a-color-picker-h{border-radius:2px}.a-color-picker-preview{box-sizing:border-box;width:30px;height:30px;user-select:none;border-radius:15px}.a-color-picker-circle{border-radius:50px;border:1px solid #eee}.a-color-picker-hsl,.a-color-picker-rgb,.a-color-picker-single-input{justify-content:space-evenly}.a-color-picker-hsl>label,.a-color-picker-rgb>label,.a-color-picker-single-input>label{padding:0 8px;flex:0 0 auto;color:#969696}.a-color-picker-hsl>input,.a-color-picker-rgb>input,.a-color-picker-single-input>input{text-align:center;padding:2px 0;width:0;flex:1 1 auto;border:1px solid #e0e0e0;line-height:20px}.a-color-picker-hsl>input::-webkit-inner-spin-button,.a-color-picker-rgb>input::-webkit-inner-spin-button,.a-color-picker-single-input>input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.a-color-picker-hsl>input:focus,.a-color-picker-rgb>input:focus,.a-color-picker-single-input>input:focus{border-color:#04a9f4;outline:none}.a-color-picker-transparent{background-image:linear-gradient(-45deg,#cdcdcd 25%,transparent 0),linear-gradient(45deg,#cdcdcd 25%,transparent 0),linear-gradient(-45deg,transparent 75%,#cdcdcd 0),linear-gradient(45deg,transparent 75%,#cdcdcd 0);background-size:11px 11px;background-position:0 0,0 -5.5px,-5.5px 5.5px,5.5px 0}.a-color-picker-sl{border-radius:3px 3px 0 0}.a-color-picker.hide-alpha [show-on-alpha],.a-color-picker.hide-hsl [show-on-hsl],.a-color-picker.hide-rgb [show-on-rgb],.a-color-picker.hide-single-input [show-on-single-input]{display:none}.a-color-picker-clipbaord{width:100%;height:100%;opacity:0;cursor:pointer}.a-color-picker-palette{flex-flow:wrap;flex-direction:row;justify-content:flex-start;padding:10px}.a-color-picker-palette-color{width:15px;height:15px;flex:0 1 15px;margin:3px;box-sizing:border-box;cursor:pointer;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.a-color-picker-palette-add{text-align:center;line-height:13px;color:#607d8b}.a-color-picker.hidden{display:none}`,""])},function(t,i){t.exports=function(t){var i=[];return i.toString=function(){return this.map(function(i){var n=function(t,i){var n=t[1]||"",o=t[3];if(!o)return n;if(i&&"function"==typeof btoa){var r="/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */";return[n].concat(o.sources.map(function(t){return"/*# sourceURL="+o.sourceRoot+t+" */"})).concat([r]).join(`
|
|
15
15
|
`)}return[n].join(`
|
|
16
16
|
`)}(i,t);return i[2]?"@media "+i[2]+"{"+n+"}":n}).join("")},i.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var o={},r=0;r<this.length;r++){var s=this[r][0];"number"==typeof s&&(o[s]=!0)}for(r=0;r<t.length;r++){var a=t[r];"number"==typeof a[0]&&o[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]="("+a[2]+") and ("+n+")"),i.push(a))}},i}}],i={};function n(o){if(i[o])return i[o].exports;var r=i[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=i,n.d=function(t,i,o){n.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:o})},n.r=function(t){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,i){if(1&i&&(t=n(t)),8&i||4&i&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&i&&"string"!=typeof t)for(var r in t)n.d(o,r,(function(i){return t[i]}).bind(null,r));return o},n.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(i,"a",i),i},n.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},n.p="",n(n.s=1)}()},6441:function(t,i,n){"use strict";n.d(i,{Config:function(){return s}});var o=n(82758);let r={};class s{static get defaultOptions(){return s.__defaultOptions||(s.__defaultOptions=new s),s.__defaultOptions}constructor(){this.cache=!0,this.defaultTimeout=100,this.namespace="",this.safeMode=!1,this.width="auto",this.height="auto",this.safePluginsList=["about","enter","backspace","size","bold","hotkeys"],this.license="",this.preset="custom",this.presets={inline:{inline:!0,toolbar:!1,toolbarInline:!0,toolbarInlineForSelection:!0,showXPathInStatusbar:!1,showCharsCounter:!1,showWordsCounter:!1,showPlaceholder:!1}},this.ownerDocument=o.globalDocument,this.ownerWindow=o.globalWindow,this.shadowRoot=null,this.zIndex=0,this.readonly=!1,this.disabled=!1,this.activeButtonsInReadOnly=["source","fullsize","print","about","dots","selectall"],this.allowCommandsInReadOnly=["selectall","preview","print"],this.toolbarButtonSize="middle",this.allowTabNavigation=!1,this.inline=!1,this.theme="default",this.saveModeInStorage=!1,this.editorClassName=!1,this.className=!1,this.style=!1,this.containerStyle=!1,this.styleValues={},this.triggerChangeEvent=!0,this.direction="",this.language="auto",this.debugLanguage=!1,this.i18n=!1,this.tabIndex=-1,this.toolbar=!0,this.statusbar=!0,this.showTooltip=!0,this.showTooltipDelay=200,this.useNativeTooltip=!1,this.defaultActionOnPaste=o.INSERT_AS_HTML,this.enter=o.PARAGRAPH,this.iframe=!1,this.editHTMLDocumentMode=!1,this.enterBlock="br"!==this.enter?this.enter:o.PARAGRAPH,this.defaultMode=o.MODE_WYSIWYG,this.useSplitMode=!1,this.colors={greyscale:["#000000","#434343","#666666","#999999","#B7B7B7","#CCCCCC","#D9D9D9","#EFEFEF","#F3F3F3","#FFFFFF"],palette:["#980000","#FF0000","#FF9900","#FFFF00","#00F0F0","#00FFFF","#4A86E8","#0000FF","#9900FF","#FF00FF"],full:["#E6B8AF","#F4CCCC","#FCE5CD","#FFF2CC","#D9EAD3","#D0E0E3","#C9DAF8","#CFE2F3","#D9D2E9","#EAD1DC","#DD7E6B","#EA9999","#F9CB9C","#FFE599","#B6D7A8","#A2C4C9","#A4C2F4","#9FC5E8","#B4A7D6","#D5A6BD","#CC4125","#E06666","#F6B26B","#FFD966","#93C47D","#76A5AF","#6D9EEB","#6FA8DC","#8E7CC3","#C27BA0","#A61C00","#CC0000","#E69138","#F1C232","#6AA84F","#45818E","#3C78D8","#3D85C6","#674EA7","#A64D79","#85200C","#990000","#B45F06","#BF9000","#38761D","#134F5C","#1155CC","#0B5394","#351C75","#733554","#5B0F00","#660000","#783F04","#7F6000","#274E13","#0C343D","#1C4587","#073763","#20124D","#4C1130"]},this.colorPickerDefaultTab="background",this.imageDefaultWidth=300,this.removeButtons=[],this.disablePlugins=[],this.extraPlugins=[],this.extraButtons=[],this.extraIcons={},this.createAttributes={table:{style:"border-collapse:collapse;width: 100%;"}},this.sizeLG=900,this.sizeMD=700,this.sizeSM=400,this.buttons=[{group:"font-style",buttons:[]},{group:"list",buttons:[]},{group:"font",buttons:[]},"---",{group:"script",buttons:[]},{group:"media",buttons:[]},`
|
|
17
|
-
`,{group:"state",buttons:[]},{group:"clipboard",buttons:[]},{group:"insert",buttons:[]},{group:"indent",buttons:[]},{group:"color",buttons:[]},{group:"form",buttons:[]},"---",{group:"history",buttons:[]},{group:"search",buttons:[]},{group:"source",buttons:[]},{group:"other",buttons:[]},{group:"info",buttons:[]}],this.events={},this.textIcons=!1,this.popupRoot=null,this.showBrowserColorPicker=!0,Object.assign(this,r)}}r=s.prototype,s.prototype.controls={}},26992:function(t,i,n){"use strict";n.d(i,{Async:function(){return m}});var o=n(82758),r=n(91898),s=n(12045),a=n(23282),l=n(84767),c=n(72430),u=n(14773),d=n(70799),h=n(86068),p=n(38837),f=n(93661);class m{delay(t){return this.promise(i=>this.setTimeout(i,t))}setTimeout(t,i,...n){if(this.isDestructed)return 0;let o={};(0,h.isVoid)(i)&&(i=0),(0,l.isNumber)(i)||(i=(o=i).timeout||0),o.label&&this.clearLabel(o.label);let s=(0,r.setTimeout)(t,i,...n),a=o.label||s;return this.timers.set(a,s),this.__callbacks.set(a,t),s}updateTimeout(t,i){if((0,p.assert)(t&&this.timers.has(t),"Label does not exist"),!t||!this.timers.has(t))return null;let n=this.__callbacks.get(t);return(0,p.assert)((0,a.isFunction)(n),"Callback is not a function"),this.setTimeout(n,{label:t,timeout:i})}clearLabel(t){t&&this.timers.has(t)&&((0,r.clearTimeout)(this.timers.get(t)),this.timers.delete(t),this.__callbacks.delete(t))}clearTimeout(t){if((0,d.isString)(t))return this.clearLabel(t);(0,r.clearTimeout)(t),this.timers.delete(t),this.__callbacks.delete(t)}debounce(t,i,n=!1){let o=0,l=!1,d=[],h=(...i)=>{if(!l){o=0;let n=t(...i);if(l=!0,d.length){let t=()=>{d.forEach(t=>t()),d.length=0};(0,u.isPromise)(n)?n.finally(t):t()}}},p=(...s)=>{l=!1,i?(!o&&n&&h(...s),(0,r.clearTimeout)(o),o=this.setTimeout(()=>h(...s),(0,a.isFunction)(i)?i():i),this.timers.set(t,o)):h(...s)};return(0,c.isPlainObject)(i)&&i.promisify?(...t)=>{let i=this.promise(t=>{d.push(t)}).catch(t=>{if((0,s.isAbortError)(t))return null;throw t});return p(...t),i}:p}microDebounce(t,i=!1){let n,o=!1,r=!0;return(...s)=>{if(n=s,o){r=!0;return}r=!0,i&&(r=!1,t(...n)),o=!0,this.__queueMicrotaskNative(()=>{o=!1,!this.isDestructed&&r&&t(...n)})}}throttle(t,i,n=!1){let o=null,r,s,l;return(...n)=>{(r=!0,l=n,i)?o||(s=()=>{r?(t(...l),r=!1,o=this.setTimeout(s,(0,a.isFunction)(i)?i():i),this.timers.set(s,o)):o=null})():t(...l)}}promise(t){let i=()=>{},n=new Promise((n,o)=>{i=()=>o((0,f.abort)("Abort async")),this.promisesRejections.add(i),t(n,o)});return!n.finally&&"u">typeof process&&!o.IS_ES_NEXT&&(n.finally=t=>(n.then(t).catch(t),n)),n.finally(()=>{this.promisesRejections.delete(i)}).catch(()=>null),n.rejectCallback=i,n}promiseState(t){if(t.status)return t.status;if(!Promise.race)return new Promise(i=>{t.then(t=>(i("fulfilled"),t),t=>{throw i("rejected"),t}),this.setTimeout(()=>{i("pending")},100)});let i={};return Promise.race([t,i]).then(t=>t===i?"pending":"fulfilled",()=>"rejected")}requestIdleCallback(t,i={timeout:100}){let n=this.__requestIdleCallbackNative(t,i);return this.__requestsIdle.add(n),n}requestIdlePromise(t){return this.promise(i=>{let n=this.requestIdleCallback(()=>i(n),t)})}schedulerPostTask(t,i={delay:0,priority:"user-visible"}){let n=new AbortController;if(i.signal&&i.signal.addEventListener("abort",()=>n.abort()),this.__controllers.add(n),void 0!==globalThis.scheduler){let o=globalThis.scheduler.postTask(t,{...i,signal:n.signal});return o.finally(()=>{this.__controllers.delete(n)}).catch(()=>null),o}return this.promise((o,r)=>{let s=this.setTimeout(()=>{try{o(t())}catch(t){r(t)}this.__controllers.delete(n)},i.delay||1);n.signal.addEventListener("abort",()=>{this.clearTimeout(s),this.__controllers.delete(n),r((0,f.abort)())})})}schedulerYield(){return this.schedulerPostTask(()=>{},{priority:"user-visible"})}cancelIdleCallback(t){return this.__requestsIdle.delete(t),this.__cancelIdleCallbackNative(t)}requestAnimationFrame(t){let i=requestAnimationFrame(t);return this.__requestsRaf.add(i),i}cancelAnimationFrame(t){this.__requestsRaf.delete(t),cancelAnimationFrame(t)}clear(){this.__requestsIdle.forEach(t=>this.cancelIdleCallback(t)),this.__requestsRaf.forEach(t=>this.cancelAnimationFrame(t)),this.__controllers.forEach(t=>t.abort()),this.timers.forEach(t=>(0,r.clearTimeout)(this.timers.get(t))),this.timers.clear(),this.promisesRejections.forEach(t=>t()),this.promisesRejections.clear()}destruct(){this.clear(),this.isDestructed=!0}constructor(){var t,i,n,o,r;this.timers=new Map,this.__callbacks=new Map,this.__queueMicrotaskNative=null!=(t=null==queueMicrotask?void 0:queueMicrotask.bind(window))?t:Promise.resolve().then.bind(Promise.resolve()),this.promisesRejections=new Set,this.__requestsIdle=new Set,this.__controllers=new Set,this.__requestsRaf=new Set,this.__requestIdleCallbackNative=null!=(n=null==(i=window.requestIdleCallback)?void 0:i.bind(window))?n:(t,i)=>{var n;let o=Date.now();return this.setTimeout(()=>{t({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-o))})},null!=(n=null==i?void 0:i.timeout)?n:1)},this.__cancelIdleCallbackNative=null!=(r=null==(o=window.cancelIdleCallback)?void 0:o.bind(window))?r:t=>{this.clearTimeout(t)},this.isDestructed=!1}}},8884:function(t,i,n){"use strict";n.d(i,{Async:function(){return o.Async}});var o=n(26992)},4012:function(t,i,n){"use strict";n.d(i,{Component:function(){return c}});var o=n(8884),r=n(78213),s=n(580),a=n(21537);let l=new Map;class c{get componentName(){return this.__componentName||(this.__componentName="jodit-"+(0,a.kebabCase)(((0,a.isFunction)(this.className)?this.className():"")||(0,a.getClassName)(this))),this.__componentName}getFullElName(t,i,n){let o=[this.componentName];return t&&o.push("__"+(t=t.replace(/[^a-z0-9-]/gi,"-"))),i&&(o.push("_",i),o.push("_",(0,a.isVoid)(n)?"true":n.toString())),o.join("")}get ownerDocument(){return this.ow.document}get od(){return this.ownerDocument}get ow(){return this.ownerWindow}get(t,i){return(0,a.get)(t,i||this)}get isReady(){return this.componentStatus===r.STATUSES.ready}get isDestructed(){return this.componentStatus===r.STATUSES.destructed}get isInDestruct(){return r.STATUSES.beforeDestruct===this.componentStatus||r.STATUSES.destructed===this.componentStatus}bindDestruct(t){return t.hookStatus(r.STATUSES.beforeDestruct,()=>!this.isInDestruct&&this.destruct()),this}destruct(){this.setStatus(r.STATUSES.destructed),this.async&&(this.async.destruct(),this.async=void 0),l.get(this)&&l.delete(this),this.ownerWindow=void 0}get componentStatus(){return this.__componentStatus}set componentStatus(t){this.setStatus(t)}setStatus(t){return this.setStatusComponent(t,this)}setStatusComponent(t,i){if(t===this.__componentStatus)return;i===this&&(this.__componentStatus=t);let n=Object.getPrototypeOf(this);n&&(0,a.isFunction)(n.setStatusComponent)&&n.setStatusComponent(t,i);let o=l.get(this),r=null==o?void 0:o[t];r&&r.length&&r.forEach(t=>t(i))}hookStatus(t,i){let n=l.get(this);n||(n={},l.set(this,n)),n[t]||(n[t]=[]),n[t].push(i)}static isInstanceOf(t,i){return t instanceof i}constructor(){this.async=new o.Async,this.ownerWindow=window,this.__componentStatus=r.STATUSES.beforeInit,this.uid="jodit-uid-"+(0,s.uniqueUid)()}}c.STATUSES=r.STATUSES},91907:function(t,i,n){"use strict";n.d(i,{Component:function(){return o.Component},STATUSES:function(){return r.STATUSES},ViewComponent:function(){return s.ViewComponent}});var o=n(4012),r=n(78213),s=n(80480)},78213:function(t,i,n){"use strict";n.d(i,{STATUSES:function(){return o}});let o={beforeInit:"beforeInit",ready:"ready",beforeDestruct:"beforeDestruct",destructed:"destructed"}},80480:function(t,i,n){"use strict";n.d(i,{ViewComponent:function(){return r}});var o=n(4012);class r extends o.Component{get j(){return this.jodit}get defaultTimeout(){return this.j.defaultTimeout}i18n(t,...i){return this.j.i18n(t,...i)}setParentView(t){return this.jodit=t,t.components.add(this),this}destruct(){return this.j.components.delete(this),super.destruct()}constructor(t){super(),this.setParentView(t)}}},82758:function(t,i,n){"use strict";n.r(i),n.d(i,{ACCURACY:function(){return V},APP_VERSION:function(){return o},BASE_PATH:function(){return ep},BASE_PATH_IS_MIN:function(){return ef},BR:function(){return $},CLIPBOARD_ID:function(){return eb},COMMAND_KEYS:function(){return W},EMULATE_DBLCLICK_TIMEOUT:function(){return ei},ES:function(){return r},FAT_MODE:function(){return u},HOMEPAGE:function(){return d},INSEPARABLE_TAGS:function(){return T},INSERT_AS_HTML:function(){return en},INSERT_AS_TEXT:function(){return er},INSERT_CLEAR_HTML:function(){return eo},INSERT_ONLY_TEXT:function(){return es},INVISIBLE_SPACE:function(){return f},INVISIBLE_SPACE_REG_EXP:function(){return g},INVISIBLE_SPACE_REG_EXP_END:function(){return b},INVISIBLE_SPACE_REG_EXP_START:function(){return v},IS_BLOCK:function(){return S},IS_ES_MODERN:function(){return s},IS_ES_NEXT:function(){return a},IS_IE:function(){return X},IS_INLINE:function(){return x},IS_MAC:function(){return el},IS_PROD:function(){return l},IS_TEST:function(){return c},KEY_ALIASES:function(){return ec},KEY_ALT:function(){return M},KEY_BACKSPACE:function(){return L},KEY_DELETE:function(){return H},KEY_DOWN:function(){return O},KEY_ENTER:function(){return P},KEY_ESC:function(){return R},KEY_F3:function(){return U},KEY_LEFT:function(){return z},KEY_META:function(){return j},KEY_RIGHT:function(){return N},KEY_SPACE:function(){return F},KEY_TAB:function(){return D},KEY_UP:function(){return B},LIST_TAGS:function(){return I},MARKER_CLASS:function(){return et},MODE_SOURCE:function(){return Y},MODE_SPLIT:function(){return J},MODE_WYSIWYG:function(){return K},NBSP_SPACE:function(){return m},NEARBY:function(){return q},NO_EMPTY_TAGS:function(){return A},PARAGRAPH:function(){return G},PASSIVE_EVENTS:function(){return ey},SAFE_COUNT_CHANGE_CALL:function(){return ea},SET_TEST:function(){return h},SOURCE_CONSUMER:function(){return ev},SPACE_REG_EXP:function(){return y},SPACE_REG_EXP_END:function(){return _},SPACE_REG_EXP_START:function(){return w},TEMP_ATTR:function(){return em},TEXT_HTML:function(){return Q},TEXT_PLAIN:function(){return Z},TEXT_RTF:function(){return ee},TOKENS:function(){return p},globalDocument:function(){return k},globalWindow:function(){return C},lang:function(){return eg}});let o="4.11.26",r="es2021",s=!0,a=!0,l=!0,c=!1,u=!0,d="https://xdsoft.net/jodit/pro/",h=()=>c=!0,p={},f="\uFEFF",m=" ",g=()=>/[\uFEFF]/g,b=()=>/[\uFEFF]+$/g,v=()=>/^[\uFEFF]+/g,y=()=>/[\s\n\t\r\uFEFF\u200b]+/g,w=()=>/^[\s\n\t\r\uFEFF\u200b]+/g,_=()=>/[\s\n\t\r\uFEFF\u200b]+$/g,C="u">typeof window?window:void 0,k="u">typeof document?document:void 0,S=/^(ADDRESS|ARTICLE|ASIDE|BLOCKQUOTE|CANVAS|DD|DFN|DIV|DL|DT|FIELDSET|FIGCAPTION|FIGURE|FOOTER|FORM|H[1-6]|HEADER|HGROUP|HR|LI|MAIN|NAV|NOSCRIPT|OUTPUT|P|PRE|RUBY|SCRIPT|STYLE|OBJECT|OL|SECTION|IFRAME|JODIT|JODIT-MEDIA|UL|TR|TD|TH|TBODY|THEAD|TFOOT|TABLE|BODY|HTML|VIDEO)$/i,x=/^(STRONG|SPAN|I|EM|B|SUP|SUB|A|U)$/i,I=new Set(["ul","ol"]),E=["img","video","svg","iframe","script","input","textarea","link","jodit","jodit-media"],T=new Set([...E,"br","hr"]),A=new Set(E),j="Meta",L="Backspace",D="Tab",P="Enter",R="Escape",M="Alt",z="ArrowLeft",B="ArrowUp",N="ArrowRight",O="ArrowDown",F="Space",H="Delete",U="F3",q=5,V=10,W=[j,L,H,B,O,N,z,P,R,U,D],$="br",G="p",K=1,Y=2,J=3,X="u">typeof navigator&&(-1!==navigator.userAgent.indexOf("MSIE")||/rv:11.0/i.test(navigator.userAgent)),Z=X?"text":"text/plain",Q=X?"html":"text/html",ee=X?"rtf":"text/rtf",et="jodit-selection_marker",ei=300,en="insert_as_html",eo="insert_clear_html",er="insert_as_text",es="insert_only_text",ea=10,el=void 0!==C&&/Mac|iPod|iPhone|iPad/.test(C.navigator.platform),ec={add:"+",break:"pause",cmd:"meta",command:"meta",ctl:"control",ctrl:"control",del:"delete",down:"arrowdown",esc:"escape",ins:"insert",left:"arrowleft",mod:el?"meta":"control",opt:"alt",option:"alt",return:"enter",right:"arrowright",space:"space",spacebar:"space",up:"arrowup",win:"meta",windows:"meta"},eu=t=>{let i=t.split("/");return/\.js/.test(i[i.length-1])?{basePath:i.slice(0,i.length-1).join("/")+"/",isMin:!0}:{basePath:t,isMin:!0}},{basePath:ed,isMin:eh}=(()=>{if("u"<typeof document)return{basePath:"",isMin:!0};let t=k.currentScript;if(t)return eu(t.src);let i=k.querySelectorAll("script[src]");return i&&i.length?eu(i[i.length-1].src):eu(C.location.href)})(),ep=ed,ef=eh,em="data-jodit-temp",eg={},eb="clipboard",ev="source-consumer",ey=new Set(["touchstart","touchend","scroll","mousewheel","mousemove","touchmove"])},20218:function(t,i,n){"use strict";n.d(i,{Create:function(){return l}});var o=n(82758),r=n(2748),s=n(21537),a=n(38837);class l{get doc(){return(0,s.isFunction)(this.document)?this.document():this.document}element(t,i,n){let o=this.doc.createElement(t.toLowerCase());return this.applyCreateAttributes(o),i&&((0,s.isPlainObject)(i)?(0,s.attr)(o,i):n=i),n&&(0,s.asArray)(n).forEach(t=>o.appendChild((0,s.isString)(t)?this.fromHTML(t):t)),o}div(t,i,n){let o=this.element("div",i,n);return t&&(o.className=t),o}sandbox(){var t;let i=this.element("iframe",{sandbox:"allow-same-origin"});this.doc.body.appendChild(i);let n=null==(t=i.contentWindow)?void 0:t.document;if((0,a.assert)(n,"iframe.contentWindow.document"),!n)throw Error("Iframe error");return n.open(),n.write("<!DOCTYPE html><html><head></head><body></body></html>"),n.close(),[n.body,i]}span(t,i,n){let o=this.element("span",i,n);return t&&(o.className=t),o}a(t,i,n){let o=this.element("a",i,n);return t&&(o.className=t),o}text(t){return this.doc.createTextNode(t)}fake(){return this.text(o.INVISIBLE_SPACE)}fragment(){return this.doc.createDocumentFragment()}fromHTML(t,i){let n=this.div();n.innerHTML=t.toString();let o=n.firstChild===n.lastChild&&n.firstChild?n.firstChild:n;if(r.Dom.safeRemove(o),i){let t=(0,s.refs)(o);Object.keys(i).forEach(n=>{let o=t[n];o&&!1===i[n]&&r.Dom.hide(o)})}return o}applyCreateAttributes(t){if(this.createAttributes){let i=this.createAttributes;if(i&&i[t.tagName.toLowerCase()]){let n=i[t.tagName.toLowerCase()];(0,s.isFunction)(n)?n(t):(0,s.isPlainObject)(n)&&(0,s.attr)(t,n)}}}constructor(t,i){this.document=t,this.createAttributes=i}}},12060:function(t,i,n){"use strict";n.d(i,{Create:function(){return o.Create}});var o=n(20218)},45219:function(t,i,n){"use strict";n.d(i,{autobind:function(){return r}});var o=n(23282);function r(t,i,n){if(!(0,o.isFunction)(n.value))throw TypeError(`@autobind can only be applied to methods, but "${i}" is not a function`);let r=n.value;return{configurable:!0,get(){let t=r.bind(this);return Object.defineProperty(this,i,{value:t,configurable:!0,writable:!0}),t}}}},33433:function(t,i,n){"use strict";n.d(i,{cache:function(){return c},cacheHTML:function(){return u},cached:function(){return l}});var o=n(78213),r=n(2748),s=n(27613),a=n(82760);function l(t,i){let n=Object.getOwnPropertyDescriptor(t,i);return!n||(0,s.isFunction)(n.get)?null:n.value}function c(t,i,n){let o=n.get;if(!o)throw(0,a.error)("Getter property descriptor expected");n.get=function(){let t=o.call(this);return t&&!0===t.noCache||Object.defineProperty(this,i,{configurable:n.configurable,enumerable:n.enumerable,writable:!1,value:t}),t}}function u(t,i,n){let l=n.value;if(!(0,s.isFunction)(l))throw(0,a.error)("Handler must be a Function");let c=!0,u=new WeakMap;n.value=function(...t){var i;if(c&&u.has(this.constructor))return null==(i=u.get(this.constructor))?void 0:i.cloneNode(!0);let n=l.apply(this,t);return c&&r.Dom.isElement(n)&&u.set(this.constructor,n),c?n.cloneNode(!0):n},t.hookStatus(o.STATUSES.ready,t=>{c=!!((0,s.isViewObject)(t)?t:t.jodit).options.cache})}},87325:function(t,i,n){"use strict";n.d(i,{component:function(){return a},getComponentClass:function(){return l}});var o=n(82758),r=n(80568);let s=new Map;function a(t){class i extends t{constructor(...t){super(...t),this.constructor===i&&(this instanceof i||Object.setPrototypeOf(this,i.prototype),this.setStatus("ready"))}}let n=(0,r.getClassName)(t.prototype);if(s.has(n)&&!o.IS_PROD)throw Error(`Component with name "${n}" is already registered`);return s.set(n,i),i}function l(t){return s.get(t)}},81577:function(t,i,n){"use strict";n.d(i,{debounce:function(){return l},throttle:function(){return c}});var o=n(91907),r=n(27613),s=n(38837),a=n(89890);function l(t,i=!1,n="debounce"){return(l,c)=>{let u=l[c];if(!(0,r.isFunction)(u))throw(0,a.error)("Handler must be a Function");return l.hookStatus(o.STATUSES.ready,o=>{let{async:a}=o;(0,s.assert)(null!=a,`Component ${o.componentName||o.constructor.name} should have "async:IAsync" field`);let l=(0,r.isFunction)(t)?t(o):t,u=(0,r.isNumber)(l)||(0,r.isPlainObject)(l)?l:o.defaultTimeout;Object.defineProperty(o,c,{configurable:!0,value:a[n](o[c].bind(o),u,i)})}),{configurable:!0,get(){return u.bind(this)}}}}function c(t,i=!1){return l(t,i,"throttle")}},55153:function(t,i,n){"use strict";n.d(i,{derive:function(){return r}});var o=n(23282);function r(...t){return i=>{let n=i.prototype;for(let i=0;i<t.length;i++){let r=t[i],s=Object.getOwnPropertyNames(r.prototype);for(let t=0;t<s.length;t++){let i=s[t],a=Object.getOwnPropertyDescriptor(r.prototype,i);null!=a&&(0,o.isFunction)(a.value)&&!(0,o.isFunction)(n[i])&&Object.defineProperty(n,i,{enumerable:!0,configurable:!0,writable:!0,value:function(...t){return a.value.call(this,...t)}})}}}}},97357:function(t,i,n){"use strict";n.d(i,{hook:function(){return s}});var o=n(23282),r=n(89890);function s(t){return(i,n)=>{if(!(0,o.isFunction)(i[n]))throw(0,r.error)("Handler must be a Function");i.hookStatus(t,t=>{t[n].call(t)})}}},78927:function(t,i,n){"use strict";n.d(i,{idle:function(){return a}});var o=n(91907),r=n(23282),s=n(89890);function a(){return(t,i)=>{if(!(0,r.isFunction)(t[i]))throw(0,s.error)("Handler must be a Function");t.hookStatus(o.STATUSES.ready,t=>{let{async:n}=t,o=t[i];t[i]=(...i)=>n.requestIdleCallback(o.bind(t,...i))})}}},65478:function(t,i,n){"use strict";n.r(i),n.d(i,{autobind:function(){return o.autobind},cache:function(){return r.cache},cacheHTML:function(){return r.cacheHTML},cached:function(){return r.cached},component:function(){return s.component},debounce:function(){return a.debounce},derive:function(){return l.derive},getComponentClass:function(){return s.getComponentClass},hook:function(){return c.hook},idle:function(){return u.idle},nonenumerable:function(){return d.nonenumerable},persistent:function(){return h.persistent},throttle:function(){return a.throttle},wait:function(){return p.wait},watch:function(){return f.watch}});var o=n(45219),r=n(33433),s=n(87325),a=n(81577),l=n(55153),c=n(97357),u=n(78927),d=n(31589),h=n(53213),p=n(13525),f=n(37133)},31589:function(t,i,n){"use strict";n.d(i,{nonenumerable:function(){return o}});let o=(t,i)=>{!1!==(Object.getOwnPropertyDescriptor(t,i)||{}).enumerable&&Object.defineProperty(t,i,{enumerable:!1,set(t){Object.defineProperty(this,i,{enumerable:!1,writable:!0,value:t})}})}},53213:function(t,i,n){"use strict";n.d(i,{persistent:function(){return s}});var o=n(78213),r=n(39955);function s(t,i){t.hookStatus(o.STATUSES.ready,t=>{let n=(0,r.isViewObject)(t)?t:t.jodit,o=`${n.options.namespace}${t.componentName}_prop_${i}`,s=t[i];Object.defineProperty(t,i,{get(){var t;return null!=(t=n.storage.get(o))?t:s},set(t){n.storage.set(o,t)}})})}},13525:function(t,i,n){"use strict";n.d(i,{wait:function(){return a}});var o=n(78213),r=n(23282),s=n(89890);function a(t){return(i,n)=>{let a=i[n];if(!(0,r.isFunction)(a))throw(0,s.error)("Handler must be a Function");i.hookStatus(o.STATUSES.ready,i=>{let{async:o}=i,r=i[n],s=0;Object.defineProperty(i,n,{configurable:!0,value:function n(...a){o.clearTimeout(s),t(i)?r.apply(i,a):s=o.setTimeout(()=>n(...a),10)}})})}}},37133:function(t,i,n){"use strict";n.d(i,{watch:function(){return h}});var o=n(78213),r=n(73026),s=n(46559),a=n(23282),l=n(72430),c=n(39955),u=n(89890),d=n(37790);function h(t,i){return(n,h)=>{var p;if(!(0,a.isFunction)(n[h]))throw(0,u.error)("Handler must be a Function");let f=null==(p=null==i?void 0:i.immediately)||p,m=null==i?void 0:i.context,g=i=>{let o=(0,c.isViewObject)(i)?i:i.jodit,u=(t,...n)=>{if(!i.isInDestruct)return i[h](t,...n)};f||(u=i.async.microDebounce(u,!0)),(0,s.splitArray)(t).forEach(t=>{if(/:/.test(t)){let[n,r]=t.split(":"),s=m;n.length&&(s=i.get(n)),(0,a.isFunction)(s)&&(s=s(i)),o.events.on(s||i,r,u),s||o.events.on(r,u),i.hookStatus("beforeDestruct",()=>{o.events.off(s||i,r,u).off(r,u)});return}let s=t.split("."),[c]=s,h=s.slice(1),p=i[c];(0,l.isPlainObject)(p)&&(0,r.observable)(p).on("change."+h.join("."),u);let f=(0,d.getPropertyDescriptor)(n,c);Object.defineProperty(i,c,{configurable:!0,set(t){let n=p;n!==t&&(p=t,f&&f.set&&f.set.call(i,t),(0,l.isPlainObject)(p)&&(p=(0,r.observable)(p)).on("change."+h.join("."),u),u(c,n,p))},get:()=>f&&f.get?f.get.call(i):p})})};(0,a.isFunction)(n.hookStatus)?n.hookStatus(o.STATUSES.ready,g):g(n)}}},2748:function(t,i,n){"use strict";n.d(i,{Dom:function(){return y}});var o=n(82758),r=n(4510),s=n(68345),a=n(23282),l=n(58487),c=n(42320),u=n(70799),d=n(86068),h=n(49055),p=n(38837),f=n(29960),m=n(41180),g=n(86583),b=n(89890),v=n(37790);class y{static detach(t){for(;t&&t.firstChild;)t.removeChild(t.firstChild)}static wrapNextInline(t,i,n){let o,r=t;n.s.save();let s=!1;do s=!1,(o=r.nextSibling)&&!y.isBlock(o)&&!y.isTag(o,"br")&&(s=!0,r=o);while(s)return y.__wrapElements(i,n,t,r)}static __wrapElements(t,i,n,o){let r=(0,u.isString)(t)?i.createInside.element(t):t;n.parentNode&&n.parentNode.insertBefore(r,n);let s=n;for(;s&&(s=n.nextSibling,r.appendChild(n),n!==o&&s);)n=s;return i.s.restore(),r}static wrapInline(t,i,n){let o,r=t,s=t;n.s.save();let a=!1;do a=!1,(o=r.previousSibling)&&!y.isBlock(o)&&(a=!0,r=o);while(a)do a=!1,(o=s.nextSibling)&&!y.isBlock(o)&&(a=!0,s=o);while(a)return y.__wrapElements(i,n,r,s)}static wrap(t,i,n){let o=(0,u.isString)(i)?n.element(i):i;if(y.isNode(t)){if(!t.parentNode)throw(0,b.error)("Element should be in DOM");t.parentNode.insertBefore(o,t),o.appendChild(t)}else{let i=t.extractContents();t.insertNode(o),o.appendChild(i)}return o}static unwrap(t){let i=t.parentNode;if(i){for(;t.firstChild;)i.insertBefore(t.firstChild,t);y.safeRemove(t)}}static between(t,i,n){let o=t;for(;o&&o!==i&&!(t!==o&&n(o));){let t=o.firstChild||o.nextSibling;if(!t){for(;o&&!o.nextSibling;)o=o.parentNode;t=null==o?void 0:o.nextSibling}o=t}}static replace(t,i,n,o=!1,s=!1){let a;if((0,l.isHTML)(i)&&((0,p.assert)(n,"Need create instance for new tag"),i=n.fromHTML(i)),(0,u.isString)(i)?((0,p.assert)(n,"Need create instance for new tag"),a=n.element(i)):a=i,!s)for(;t.firstChild;)a.appendChild(t.firstChild);return o&&y.isElement(t)&&y.isElement(a)&&(0,r.toArray)(t.attributes).forEach(t=>{a.setAttribute(t.name,t.value)}),t.parentNode&&t.parentNode.replaceChild(a,t),a}static isEmptyTextNode(t){return y.isText(t)&&(!t.nodeValue||0===t.nodeValue.replace(o.INVISIBLE_SPACE_REG_EXP(),"").trim().length)}static isEmptyContent(t){return y.each(t,t=>y.isEmptyTextNode(t))}static isContentEditable(t,i){return y.isNode(t)&&!y.closest(t,t=>y.isElement(t)&&"false"===t.getAttribute("contenteditable"),i)}static isEmpty(t,i=o.NO_EMPTY_TAGS){let n;if(!t)return!0;n=(0,a.isFunction)(i)?i:t=>i.has(t.nodeName.toLowerCase());let r=t=>null==t.nodeValue||0===(0,h.trim)(t.nodeValue).length;return y.isText(t)?r(t):!(y.isElement(t)&&n(t))&&y.each(t,t=>{if(y.isText(t)&&!r(t)||y.isElement(t)&&n(t))return!1})}static isNode(t){return!!(t&&(0,u.isString)(t.nodeName)&&"number"==typeof t.nodeType&&t.childNodes&&(0,a.isFunction)(t.appendChild))}static isCell(t){return y.isNode(t)&&("TD"===t.nodeName||"TH"===t.nodeName)}static isList(t){return y.isTag(t,o.LIST_TAGS)}static isLeaf(t){return y.isTag(t,"li")}static isImage(t){return y.isNode(t)&&/^(img|svg|picture|canvas)$/i.test(t.nodeName)}static isBlock(t){return!(0,d.isVoid)(t)&&"object"==typeof t&&y.isNode(t)&&o.IS_BLOCK.test(t.nodeName)}static isText(t){return!!(t&&t.nodeType===Node.TEXT_NODE)}static isComment(t){return!!(t&&t.nodeType===Node.COMMENT_NODE)}static isElement(t){var i;return!!y.isNode(t)&&!!((null==(i=t.ownerDocument)?void 0:i.defaultView)&&t.nodeType===Node.ELEMENT_NODE)}static isFragment(t){var i;return!!y.isNode(t)&&!!((null==(i=t.ownerDocument)?void 0:i.defaultView)&&t.nodeType===Node.DOCUMENT_FRAGMENT_NODE)}static isHTMLElement(t){var i;if(!y.isNode(t))return!1;let n=null==(i=t.ownerDocument)?void 0:i.defaultView;return!!(n&&t instanceof n.HTMLElement)}static isInlineBlock(t){return y.isElement(t)&&!/^(BR|HR)$/i.test(t.tagName)&&-1!==["inline","inline-block"].indexOf((0,m.css)(t,"display").toString())}static canSplitBlock(t){return!(0,d.isVoid)(t)&&y.isHTMLElement(t)&&y.isBlock(t)&&!/^(TD|TH|CAPTION|FORM)$/.test(t.nodeName)&&void 0!==t.style&&!/^(fixed|absolute)/i.test(t.style.position)}static first(t,i){let n=null==t?void 0:t.firstChild;if(!n)return null;do{if(i(n))return n;let o=n.firstChild;if(o||(o=n.nextSibling),!o&&n.parentNode!==t){do n=n.parentNode;while(n&&!(null==n?void 0:n.nextSibling)&&n.parentNode!==t)o=null==n?void 0:n.nextSibling}n=o}while(n)return null}static last(t,i){let n=null==t?void 0:t.lastChild;if(!n)return null;do{if(i(n))return n;let o=n.lastChild;if(o||(o=n.previousSibling),!o&&n.parentNode!==t){do n=n.parentNode;while(n&&!(null==n?void 0:n.previousSibling)&&n.parentNode!==t)o=null==n?void 0:n.previousSibling}n=o}while(n)return null}static prev(t,i,n,o=!0){return y.find(t,i,n,!1,o)}static next(t,i,n,o=!0){return y.find(t,i,n,!0,o)}static prevWithClass(t,i){return y.prev(t,t=>y.isElement(t)&&t.classList.contains(i),t.parentNode)}static nextWithClass(t,i){return y.next(t,t=>y.isElement(t)&&t.classList.contains(i),t.parentNode)}static find(t,i,n,o=!0,r=!0){let s=this.nextGen(t,n,o,r),a=s.next();for(;!a.done;){if(i(a.value))return a.value;a=s.next()}return null}static*nextGen(t,i,n=!0,o=!0){let r=[],s=t;do{let i=n?s.nextSibling:s.previousSibling;for(;i;)r.unshift(i),i=n?i.nextSibling:i.previousSibling;yield*this.runInStack(t,r,n,o),s=s.parentNode}while(s&&s!==i)return null}static each(t,i,n=!0){let o=this.eachGen(t,n),r=o.next();for(;!r.done;){if(!1===i(r.value))return!1;r=o.next()}return!0}static eachGen(t,i=!0){return this.runInStack(t,[t],i)}static*runInStack(t,i,n,o=!0){for(;i.length;){let r=i.pop();if(o){let t=n?r.lastChild:r.firstChild;for(;t;)i.push(t),t=n?t.previousSibling:t.nextSibling}t!==r&&(yield r)}}static findWithCurrent(t,i,n,o="nextSibling",r="firstChild"){let s=t;do{if(i(s))return s||null;if(r&&s&&s[r]){let t=y.findWithCurrent(s[r],i,s,o,r);if(t)return t}for(;s&&!s[o]&&s!==n;)s=s.parentNode;s&&s[o]&&s!==n&&(s=s[o])}while(s&&s!==n)return null}static findSibling(t,i=!0,n=t=>!y.isEmptyTextNode(t)){let o=y.sibling(t,i);for(;o&&!n(o);)o=y.sibling(o,i);return o&&n(o)?o:null}static findNotEmptySibling(t,i){return y.findSibling(t,i,t=>{var i;return!y.isEmptyTextNode(t)&&!!(!y.isText(t)||(null==(i=t.nodeValue)?void 0:i.length)&&(0,h.trim)(t.nodeValue))})}static findNotEmptyNeighbor(t,i,n){return(0,v.call)(i?y.prev:y.next,t,t=>!!(t&&(!(y.isText(t)||y.isComment(t))||(0,h.trim)((null==t?void 0:t.nodeValue)||"").length)),n)}static sibling(t,i){return i?t.previousSibling:t.nextSibling}static up(t,i,n,o=!1){let r=t;if(!r)return null;do{if(i(r))return r;if(r===n||!r.parentNode)break;r=r.parentNode}while(r&&r!==n)return r===n&&o&&i(r)?r:null}static closest(t,i,n){let o,r=t=>t.toLowerCase();if((0,a.isFunction)(i))o=i;else if((0,s.isArray)(i)||(0,c.isSet)(i)){let t=(0,c.isSet)(i)?i:new Set(i.map(r));o=i=>!!(i&&t.has(r(i.nodeName)))}else o=t=>!!(t&&r(i)===r(t.nodeName));return y.up(t,o,n)}static furthest(t,i,n){let o=null,r=null==t?void 0:t.parentElement;for(;r&&r!==n;)i(r)&&(o=r),r=null==r?void 0:r.parentElement;return o}static appendChildFirst(t,i){let n=t.firstChild;n?n!==i&&t.insertBefore(i,n):t.appendChild(i)}static after(t,i){let{parentNode:n}=t;n&&(n.lastChild===t?n.appendChild(i):n.insertBefore(i,t.nextSibling))}static before(t,i){let{parentNode:n}=t;n&&n.insertBefore(i,t)}static prepend(t,i){t.insertBefore(i,t.firstChild)}static append(t,i){(0,s.isArray)(i)?i.forEach(i=>{this.append(t,i)}):t.appendChild(i)}static moveContent(t,i,n=!1,s=()=>!0){let a=(t.ownerDocument||o.globalDocument).createDocumentFragment();(0,r.toArray)(t.childNodes).filter(t=>!!s(t)||(y.safeRemove(t),!1)).forEach(t=>{a.appendChild(t)}),n&&i.firstChild?i.insertBefore(a,i.firstChild):i.appendChild(a)}static isOrContains(t,i,n=!1){return t===i?!n:!!(i&&t&&this.up(i,i=>i===t,t,!0))}static safeRemove(...t){t.forEach(t=>y.isNode(t)&&t.parentNode&&t.parentNode.removeChild(t))}static safeInsertNode(t,i){t.collapsed||t.deleteContents();let n=y.isFragment(i)?i.lastChild:i;t.startContainer===t.endContainer&&t.collapsed&&y.isTag(t.startContainer,o.INSEPARABLE_TAGS)?y.after(t.startContainer,i):(t.insertNode(i),n&&t.setStartBefore(n)),t.collapse(!0),[i.nextSibling,i.previousSibling].forEach(t=>y.isText(t)&&!t.nodeValue&&y.safeRemove(t))}static hide(t){t&&((0,g.dataBind)(t,"__old_display",t.style.display),t.style.display="none")}static show(t){if(!t)return;let i=(0,g.dataBind)(t,"__old_display");"none"===t.style.display&&(t.style.display=i||"")}static isTag(t,i){if(!this.isElement(t))return!1;let n=t.tagName.toLowerCase(),o=t.tagName.toUpperCase();if(i instanceof Set)return i.has(n)||i.has(o);if(Array.isArray(i))throw TypeError("Dom.isTag does not support array");return n===i||o===i}static markTemporary(t,i){return i&&(0,f.attr)(t,i),(0,f.attr)(t,o.TEMP_ATTR,!0),t}static isTemporary(t){return!!y.isElement(t)&&(y.isMarker(t)||"true"===(0,f.attr)(t,o.TEMP_ATTR))}static isMarker(t){return y.isNode(t)&&y.isTag(t,"span")&&t.hasAttribute("data-"+o.MARKER_CLASS)}static replaceTemporaryFromString(t){return t.replace(/<([a-z]+)[^>]+data-jodit-temp[^>]+>(.+?)<\/\1>/gi,"$2")}static temporaryList(t){return(0,r.toArray)(t.querySelectorAll(`[${o.TEMP_ATTR}]`))}constructor(){throw Error("Dom is static module")}}},22732:function(t,i,n){"use strict";n.d(i,{Dom:function(){return o.Dom},LazyWalker:function(){return r.LazyWalker}});var o=n(2748),r=n(70071)},70071:function(t,i,n){"use strict";n.d(i,{LazyWalker:function(){return a}});var o=n(45219),r=n(2748),s=n(72757);class a extends s.Eventify{setWork(t){return this.isWorked&&this.break(),this.workNodes=r.Dom.eachGen(t,!this.options.reverse),this.isFinished=!1,this._requestStarting(),this}_requestStarting(){this.__schedulerController=new AbortController,this.async.schedulerPostTask(this.__workPerform,{delay:this.options.timeout,signal:this.__schedulerController.signal}).catch(()=>null)}break(t){this.isWorked&&(this.stop(),this.emit("break",t))}end(){this.isWorked&&(this.stop(),this.emit("end",this.hadAffect),this.hadAffect=!1)}stop(){this.isWorked=!1,this.isFinished=!0,this.workNodes=null,this.async.cancelIdleCallback(this.idleId)}destruct(){super.destruct(),this.stop()}__workPerform(){var t;if(this.workNodes){this.isWorked=!0;let i=0,n=null!=(t=this.options.timeoutChunkSize)?t:50;for(;!this.isFinished&&i<=n;){let t=this.workNodes.next();if(i+=1,this.visitNode(t.value)&&(this.hadAffect=!0),t.done)return void this.end()}}else this.end();this.isFinished||this._requestStarting()}visitNode(t){var i;return!!t&&(void 0===this.options.whatToShow||t.nodeType===this.options.whatToShow)&&null!=(i=this.emit("visit",t))&&i}constructor(t,i={}){super(),this.async=t,this.options=i,this.workNodes=null,this.hadAffect=!1,this.isWorked=!1,this.isFinished=!1,this.idleId=0,this.__schedulerController=null}}!function(t,i,n,o){var r,s=arguments.length,a=s<3?i:null===o?o=Object.getOwnPropertyDescriptor(i,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,i,n,o);else for(var l=t.length-1;l>=0;l--)(r=t[l])&&(a=(s<3?r(a):s>3?r(i,n,a):r(i,n))||a);s>3&&a&&Object.defineProperty(i,n,a)}([o.autobind],a.prototype,"__workPerform",null)},98220:function(t,i,n){"use strict";n.d(i,{EventEmitter:function(){return d}});var o=n(82758),r=n(46559),s=n(68345),a=n(23282),l=n(70799),c=n(89890),u=n(15738);class d{mute(t){return this.__mutedEvents.add(null!=t?t:"*"),this}isMuted(t){return!!(t&&this.__mutedEvents.has(t))||this.__mutedEvents.has("*")}unmute(t){return this.__mutedEvents.delete(null!=t?t:"*"),this}__eachEvent(t,i){(0,r.splitArray)(t).map(t=>t.trim()).forEach(t=>{let n=t.split("."),o=n[1]||u.defaultNameSpace;i.call(this,n[0],o)})}__getStore(t){if(!t)throw(0,c.error)("Need subject");if(void 0===t[this.__key]){let i=new u.EventHandlersStore;Object.defineProperty(t,this.__key,{enumerable:!1,configurable:!0,writable:!0,value:i})}return t[this.__key]}__removeStoreFromSubject(t){void 0!==t[this.__key]&&Object.defineProperty(t,this.__key,{enumerable:!1,configurable:!0,writable:!0,value:void 0})}__triggerNativeEvent(t,i){let n=this.__doc.createEvent("HTMLEvents");(0,l.isString)(i)?n.initEvent(i,!0,!0):(n.initEvent(i.type,i.bubbles,i.cancelable),["screenX","screenY","clientX","clientY","target","srcElement","currentTarget","timeStamp","which","keyCode"].forEach(t=>{Object.defineProperty(n,t,{value:i[t],enumerable:!0})}),Object.defineProperty(n,"originalEvent",{value:i,enumerable:!0})),t.dispatchEvent(n)}get current(){return this.currents[this.currents.length-1]}on(t,i,n,r){let u,d,p,f;if((0,l.isString)(t)||(0,l.isStringArray)(t)?(u=this,d=t,p=i,f=n):(u=t,d=i,p=n,f=r),!((0,l.isString)(d)||(0,l.isStringArray)(d))||0===d.length)throw(0,c.error)("Need events names");if(!(0,a.isFunction)(p))throw(0,c.error)("Need event handler");if((0,s.isArray)(u))return u.forEach(t=>{this.on(t,d,p,f)}),this;let m=u,g=this.__getStore(m),b=this,v=function(t,...i){if(!b.isMuted(t))return p&&p.call(this,...i)};return h(m)&&(v=function(t){if(!b.isMuted(t.type)&&(b.__prepareEvent(t),p&&!1===p.call(this,t)))return t.preventDefault(),t.stopImmediatePropagation(),!1}),this.__eachEvent(d,(t,i)=>{var n,r;if(0===t.length)throw(0,c.error)("Need event name");if(!1===g.indexOf(t,i,p)){let s={event:t,originalCallback:p,syntheticCallback:v};if(g.set(t,i,s,null==f?void 0:f.top),h(m)){let i=o.PASSIVE_EVENTS.has(t)?{passive:!0,capture:null!=(n=null==f?void 0:f.capture)&&n}:null!=(r=null==f?void 0:f.capture)&&r;v.options=i,m.addEventListener(t,v,i),this.__memoryDOMSubjectToHandler(m,v)}}}),this}__memoryDOMSubjectToHandler(t,i){let n=this.__domEventsMap.get(t)||new Set;n.add(i),this.__domEventsMap.set(t,n)}__unmemoryDOMSubjectToHandler(t,i){let n=this.__domEventsMap,o=n.get(t)||new Set;o.delete(i),o.size?n.set(t,o):n.delete(t)}one(t,i,n,o){let r,s,a,c;(0,l.isString)(t)||(0,l.isStringArray)(t)?(r=this,s=t,a=i,c=n):(r=t,s=i,a=n,c=o);let u=(...t)=>(this.off(r,s,u),a(...t));return this.on(r,s,u,c),this}off(t,i,n){let o,r,c;if((0,l.isString)(t)||(0,l.isStringArray)(t)?(o=this,r=t,c=i):(o=t,r=i,c=n),(0,s.isArray)(o))return o.forEach(t=>{this.off(t,r,c)}),this;let d=o,p=this.__getStore(d);if(!((0,l.isString)(r)||(0,l.isStringArray)(r))||0===r.length)return p.namespaces().forEach(t=>{this.off(d,"."+t)}),this.__removeStoreFromSubject(d),this;let f=t=>{var i;h(d)&&(d.removeEventListener(t.event,t.syntheticCallback,null!=(i=t.syntheticCallback.options)&&i),this.__unmemoryDOMSubjectToHandler(d,t.syntheticCallback))},m=(t,i)=>{if(""===t)return void p.events(i).forEach(t=>{""!==t&&m(t,i)});let n=p.get(t,i);if(n&&n.length)if((0,a.isFunction)(c)){let o=p.indexOf(t,i,c);!1!==o&&(f(n[o]),n.splice(o,1),n.length||p.clearEvents(i,t))}else n.forEach(f),n.length=0,p.clearEvents(i,t)};return this.__eachEvent(r,(t,i)=>{i===u.defaultNameSpace?p.namespaces().forEach(i=>{m(t,i)}):m(t,i)}),p.isEmpty()&&this.__removeStoreFromSubject(d),this}stopPropagation(t,i){let n=(0,l.isString)(t)?this:t,o=(0,l.isString)(t)?t:i;if("string"!=typeof o)throw(0,c.error)("Need event names");let r=this.__getStore(n);this.__eachEvent(o,(t,i)=>{let o=r.get(t,i);o&&this.__stopped.push(o),i===u.defaultNameSpace&&r.namespaces(!0).forEach(i=>this.stopPropagation(n,t+"."+i))})}__removeStop(t){if(t){let i=this.__stopped.indexOf(t);-1!==i&&this.__stopped.splice(0,i+1)}}__isStopped(t){return void 0!==t&&-1!==this.__stopped.indexOf(t)}fire(t,i,...n){let o,r,s=(0,l.isString)(t)?this:t,a=(0,l.isString)(t)?t:i,d=(0,l.isString)(t)?[i,...n]:n;if(!h(s)&&!(0,l.isString)(a))throw(0,c.error)("Need events names");let p=this.__getStore(s);return!(0,l.isString)(a)&&h(s)?this.__triggerNativeEvent(s,i):this.__eachEvent(a,(t,i)=>{if(h(s))this.__triggerNativeEvent(s,t);else{let n=p.get(t,i);if(n)try{[...n].every(i=>!this.__isStopped(n)&&(this.currents.push(t),r=i.syntheticCallback.call(s,t,...d),this.currents.pop(),void 0!==r&&(o=r),!0))}finally{this.__removeStop(n)}i!==u.defaultNameSpace||h(s)||p.namespaces().filter(t=>t!==i).forEach(i=>{let n=this.fire.apply(this,[s,t+"."+i,...d]);void 0!==n&&(o=n)})}}),o}destruct(){this.__isDestructed||(this.__isDestructed=!0,this.__domEventsMap.forEach((t,i)=>{this.off(i)}),this.__domEventsMap.clear(),this.__mutedEvents.clear(),this.currents.length=0,this.__stopped.length=0,this.off(this),this.__getStore(this).clear(),this.__removeStoreFromSubject(this))}constructor(t){this.__domEventsMap=new Map,this.__mutedEvents=new Set,this.__key="__JoditEventEmitterNamespaces",this.__doc=o.globalDocument,this.__prepareEvent=t=>{!t.cancelBubble&&(t.composed&&(0,a.isFunction)(t.composedPath)&&t.composedPath()[0]&&Object.defineProperty(t,"target",{value:t.composedPath()[0],configurable:!0,enumerable:!0}),t.type.match(/^touch/)&&t.changedTouches&&t.changedTouches.length&&["clientX","clientY","pageX","pageY"].forEach(i=>{Object.defineProperty(t,i,{value:t.changedTouches[0][i],configurable:!0,enumerable:!0})}),t.originalEvent||(t.originalEvent=t),"paste"===t.type&&void 0===t.clipboardData&&this.__doc.defaultView.clipboardData&&Object.defineProperty(t,"clipboardData",{get:()=>this.__doc.defaultView.clipboardData,configurable:!0,enumerable:!0}))},this.currents=[],this.__stopped=[],this.__isDestructed=!1,t&&(this.__doc=t),this.__key+=new Date().getTime()}}function h(t){return t&&(0,a.isFunction)(t.addEventListener)}},72757:function(t,i,n){"use strict";n.d(i,{Eventify:function(){return o}});class o{on(t,i){var n;return this.__map.has(t)||this.__map.set(t,new Set),null==(n=this.__map.get(t))||n.add(i),this}off(t,i){var n;return this.__map.has(t)&&(null==(n=this.__map.get(t))||n.delete(i)),this}destruct(){this.__map.clear()}emit(t,...i){var n;let o;return this.__map.has(t)&&(null==(n=this.__map.get(t))||n.forEach(t=>{o=t(...i)})),o}constructor(){this.__map=new Map}}},57012:function(t,i,n){"use strict";n.d(i,{eventEmitter:function(){return o}});let o=new(n(98220)).EventEmitter},3827:function(t,i,n){"use strict";n.d(i,{EventEmitter:function(){return o.EventEmitter},EventHandlersStore:function(){return a.EventHandlersStore},Eventify:function(){return r.Eventify},defaultNameSpace:function(){return a.defaultNameSpace},observable:function(){return s.observable}});var o=n(98220),r=n(72757),s=n(73026),a=n(15738)},73026:function(t,i,n){"use strict";n.d(i,{observable:function(){return u}});var o=n(68345),r=n(59292),s=n(72430),a=n(37790);let l=Symbol("observable-object");function c(t){return void 0!==t[l]}function u(t){if(c(t))return t;let i={},n={},u=(i,r)=>((0,o.isArray)(i)?i.map(t=>u(t,r)):(n[i]||(n[i]=[]),n[i].push(r)),t),d=(r,...s)=>{if((0,o.isArray)(r))return void r.map(t=>d(t,...s));try{!i[r]&&n[r]&&(i[r]=!0,n[r].forEach(i=>i.call(t,...s)))}finally{i[r]=!1}},h=(i,n=[])=>{let o={};c(i)||(Object.defineProperty(i,l,{enumerable:!1,value:!0}),Object.keys(i).forEach(l=>{let c=n.concat(l).filter(t=>t.length);o[l]=i[l];let u=(0,a.getPropertyDescriptor)(i,l);Object.defineProperty(i,l,{set(i){let n=o[l];if(!(0,r.isFastEqual)(o[l],i)){d(["beforeChange","beforeChange."+c.join(".")],l,i),(0,s.isPlainObject)(i)&&h(i,c),u&&u.set?u.set.call(t,i):o[l]=i;let r=[];d(["change",...c.reduce((t,i)=>(r.push(i),t.push("change."+r.join(".")),t),[])],c.join("."),n,(null==i?void 0:i.valueOf)?i.valueOf():i)}},get:()=>u&&u.get?u.get.call(t):o[l],enumerable:!0,configurable:!0}),(0,s.isPlainObject)(o[l])&&h(o[l],c)}),Object.defineProperty(t,"on",{value:u}))};return h(t),t}},15738:function(t,i,n){"use strict";n.d(i,{EventHandlersStore:function(){return a},defaultNameSpace:function(){return s}});var o=n(4510),r=n(38837);let s="JoditEventDefaultNamespace";class a{get(t,i){if(this.__store.has(i)){let n=this.__store.get(i);return(0,r.assert)(n,"-"),n[t]}}indexOf(t,i,n){let o=this.get(t,i);if(o){for(let t=0;t<o.length;t+=1)if(o[t].originalCallback===n)return t}return!1}namespaces(t=!1){let i=(0,o.toArray)(this.__store.keys());return t?i.filter(t=>t!==s):i}events(t){let i=this.__store.get(t);return i?Object.keys(i):[]}set(t,i,n,o=!1){let r=this.__store.get(i);r||(r={},this.__store.set(i,r)),void 0===r[t]&&(r[t]=[]),o?r[t].unshift(n):r[t].push(n)}clear(){this.__store.clear()}clearEvents(t,i){let n=this.__store.get(t);n&&n[i]&&(delete n[i],Object.keys(n).length||this.__store.delete(t))}isEmpty(){return 0===this.__store.size}constructor(){this.__store=new Map}}},580:function(t,i,n){"use strict";n.d(i,{eventEmitter:function(){return S},extendLang:function(){return w},getContainer:function(){return C},getPopupViewRoot:function(){return k},instances:function(){return f},modules:function(){return y},pluginSystem:function(){return v},uniqueUid:function(){return b}});var o=n(19306),r=n(70799),s=n(39955),a=n(12475),l=n(41180),c=n(80568),u=n(41876),d=n(57012),h=n(82758),p=n(22732);let f={},m=1,g=new Set;function b(){function t(){return Math.round(m+=10*(Math.random()+1)).toString(16)}let i=t();for(;g.has(i);)i=t();return g.add(i),i}let v=new u.PluginSystem({getContainer:C}),y={},w=t=>{Object.keys(t).forEach(i=>{h.lang[i]?Object.assign(h.lang[i],t[i]):h.lang[i]=t[i]})},_=new WeakMap;function C(t,i,n="div",l=!1){let u=(0,r.isString)(i)?i:i?(0,c.getClassName)(i.prototype):"jodit-utils",d=_.get(t)||{},h=u+n,f=(0,s.isViewObject)(t)?t:t.j,m=null;if(!d[h]){let i=f.c;if(m=k(f.o,f.container,t.od.body),l&&(0,o.isJoditObject)(t)&&t.od!==t.ed){i=t.createInside;let r="style"===n?t.ed.head:t.ed.body;m=(0,o.isJoditObject)(t)&&t.o.shadowRoot?t.o.shadowRoot:r}let r=i.element(n,{className:`jodit jodit-${(0,a.kebabCase)(u)}-container jodit-box`});r.classList.add("jodit_theme_"+(f.o.theme||"default")),m.appendChild(r),d[h]=r,t.hookStatus("beforeDestruct",()=>{f.events.off(r),p.Dom.safeRemove(r),delete d[h],Object.keys(d).length&&_.delete(t)}),_.set(t,d),f.events.fire("getContainer",r)}return d[h].classList.remove("jodit_theme_default","jodit_theme_dark"),d[h].classList.add("jodit_theme_"+(f.o.theme||"default")),d[h]}function k(t,i,n){var o,r,s;return null!=(s=null!=(r=null!=(o=t.popupRoot)?o:t.shadowRoot)?r:p.Dom.closest(i,t=>p.Dom.isHTMLElement(t)&&(p.Dom.isTag(t,"dialog")||["fixed","absolute"].includes((0,l.css)(t,"position"))),n))?s:n}let S=d.eventEmitter},29999:function(t,i,n){"use strict";n.d(i,{asArray:function(){return r}});var o=n(68345);let r=t=>(0,o.isArray)(t)?t:[t]},76855:function(t,i,n){"use strict";n.d(i,{asArray:function(){return o.asArray},splitArray:function(){return r.splitArray},toArray:function(){return s.toArray}});var o=n(29999),r=n(46559),s=n(4510)},46559:function(t,i,n){"use strict";function o(t){return Array.isArray(t)?t:t.split(/[,\s]+/)}n.d(i,{splitArray:function(){return o}})},4510:function(t,i,n){"use strict";n.d(i,{toArray:function(){return s}});var o=n(70722),r=n(58844);let s=function(...t){var i;return((0,o.isNativeFunction)(Array.from)?Array.from:null!=(i=(0,r.reset)("Array.from"))?i:Array.from).apply(Array,t)}},91898:function(t,i,n){"use strict";n.d(i,{clearTimeout:function(){return o.clearTimeout},setTimeout:function(){return o.setTimeout}});var o=n(13252)},13252:function(t,i,n){"use strict";n.d(i,{clearTimeout:function(){return s},setTimeout:function(){return r}});var o=n(82758);function r(t,i,...n){return i?o.globalWindow.setTimeout(t,i,...n):(t.call(null,...n),0)}function s(t){o.globalWindow.clearTimeout(t)}},54765:function(t,i,n){"use strict";n.d(i,{hasBrowserColorPicker:function(){return r}});var o=n(82758);function r(){let t=!0;try{let i=o.globalDocument.createElement("input");i.type="color",i.value="!",t="color"===i.type&&"!"!==i.value}catch(i){t=!1}return t}},27613:function(t,i,n){"use strict";n.d(i,{hasBrowserColorPicker:function(){return o.hasBrowserColorPicker},hasContainer:function(){return h.hasContainer},isAbortError:function(){return r.isAbortError},isArray:function(){return s.isArray},isBoolean:function(){return a.isBoolean},isDestructable:function(){return h.isDestructable},isEqual:function(){return l.isEqual},isFastEqual:function(){return l.isFastEqual},isFunction:function(){return c.isFunction},isHTML:function(){return u.isHTML},isHtmlFromWord:function(){return d.isHtmlFromWord},isInitable:function(){return h.isInitable},isInt:function(){return p.isInt},isJoditObject:function(){return f.isJoditObject},isLicense:function(){return m.isLicense},isMarker:function(){return g.isMarker},isNativeFunction:function(){return b.isNativeFunction},isNumber:function(){return v.isNumber},isNumeric:function(){return y.isNumeric},isPlainObject:function(){return w.isPlainObject},isPromise:function(){return _.isPromise},isSet:function(){return C.isSet},isString:function(){return k.isString},isStringArray:function(){return k.isStringArray},isURL:function(){return S.isURL},isValidName:function(){return x.isValidName},isViewObject:function(){return I.isViewObject},isVoid:function(){return E.isVoid},isWindow:function(){return T.isWindow}});var o=n(54765),r=n(12045),s=n(68345),a=n(87612),l=n(59292),c=n(23282),u=n(58487),d=n(29673),h=n(60132),p=n(72913),f=n(19306),m=n(45603),g=n(78116),b=n(70722),v=n(84767),y=n(29807),w=n(72430),_=n(14773),C=n(42320),k=n(70799),S=n(26049),x=n(37508),I=n(39955),E=n(86068),T=n(52742)},12045:function(t,i,n){"use strict";function o(t){return!!t&&t instanceof DOMException&&"AbortError"===t.name}n.d(i,{isAbortError:function(){return o}})},68345:function(t,i,n){"use strict";function o(t){return Array.isArray(t)}n.d(i,{isArray:function(){return o}})},87612:function(t,i,n){"use strict";function o(t){return"boolean"==typeof t}n.d(i,{isBoolean:function(){return o}})},59292:function(t,i,n){"use strict";n.d(i,{isEqual:function(){return r},isFastEqual:function(){return s}});var o=n(67462);function r(t,i){return t===i||(0,o.stringify)(t)===(0,o.stringify)(i)}function s(t,i){return t===i}},23282:function(t,i,n){"use strict";function o(t){return"function"==typeof t}n.d(i,{isFunction:function(){return o}})},29673:function(t,i,n){"use strict";function o(t){return -1!==t.search(/<meta.*?Microsoft Excel\s[\d].*?>/)||-1!==t.search(/<meta.*?Microsoft Word\s[\d].*?>/)||-1!==t.search(/style="[^"]*mso-/)&&-1!==t.search(/<font/)}n.d(i,{isHtmlFromWord:function(){return o}})},58487:function(t,i,n){"use strict";n.d(i,{isHTML:function(){return r}});var o=n(70799);let r=t=>(0,o.isString)(t)&&/<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)<\/\1>/m.test(t.replace(/[\r\n]/g,""))},60132:function(t,i,n){"use strict";n.d(i,{hasContainer:function(){return c},isDestructable:function(){return l},isInitable:function(){return a}});var o=n(2748),r=n(23282),s=n(86068);function a(t){return!(0,s.isVoid)(t)&&(0,r.isFunction)(t.init)}function l(t){return!(0,s.isVoid)(t)&&(0,r.isFunction)(t.destruct)}function c(t){return!(0,s.isVoid)(t)&&o.Dom.isElement(t.container)}},72913:function(t,i,n){"use strict";n.d(i,{isInt:function(){return s}});var o=n(29807),r=n(70799);function s(t){return(0,r.isString)(t)&&(0,o.isNumeric)(t)&&(t=parseFloat(t)),"number"==typeof t&&Number.isFinite(t)&&!(t%1)}},19306:function(t,i,n){"use strict";n.d(i,{isJoditObject:function(){return r}});var o=n(23282);function r(t){return!!(t&&t instanceof Object&&(0,o.isFunction)(t.constructor)&&("u">typeof Jodit&&t instanceof Jodit||t.isJodit))}},45603:function(t,i,n){"use strict";n.d(i,{isLicense:function(){return r}});var o=n(70799);let r=t=>(0,o.isString)(t)&&23===t.length&&/^[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}$/i.test(t)},78116:function(t,i,n){"use strict";n.d(i,{isMarker:function(){return r}});var o=n(2748);function r(t){return o.Dom.isMarker(t)}},70722:function(t,i,n){"use strict";function o(t){return!!t&&"function"===(typeof t).toLowerCase()&&(t===Function.prototype||/^\s*function\s*(\b[a-z$_][a-z0-9$_]*\b)*\s*\((|([a-z$_][a-z0-9$_]*)(\s*,[a-z$_][a-z0-9$_]*)*)\)\s*{\s*\[native code]\s*}\s*$/i.test(t+""))}n.d(i,{isNativeFunction:function(){return o}})},84767:function(t,i,n){"use strict";function o(t){return"number"==typeof t&&!isNaN(t)&&isFinite(t)}n.d(i,{isNumber:function(){return o}})},29807:function(t,i,n){"use strict";n.d(i,{isNumeric:function(){return r}});var o=n(70799);function r(t){if((0,o.isString)(t)){if(!t.match(/^([+-])?[0-9]+(\.?)([0-9]+)?(e[0-9]+)?$/))return!1;t=parseFloat(t)}return"number"==typeof t&&!isNaN(t)&&isFinite(t)}},72430:function(t,i,n){"use strict";n.d(i,{isPlainObject:function(){return r}});var o=n(52742);function r(t){return!(!t||"object"!=typeof t||t.nodeType||(0,o.isWindow)(t))&&!(t.constructor&&!({}).hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))}},14773:function(t,i,n){"use strict";function o(t){return t&&"function"==typeof t.then}n.d(i,{isPromise:function(){return o}})},42320:function(t,i,n){"use strict";n.d(i,{isSet:function(){return r}});var o=n(23282);function r(t){return!!t&&(0,o.isFunction)(t.has)&&(0,o.isFunction)(t.add)&&(0,o.isFunction)(t.delete)}},70799:function(t,i,n){"use strict";n.d(i,{isString:function(){return r},isStringArray:function(){return s}});var o=n(68345);function r(t){return"string"==typeof t}function s(t){return(0,o.isArray)(t)&&r(t[0])}},26049:function(t,i,n){"use strict";n.d(i,{isURL:function(){return r}});var o=n(82758);function r(t){if(t.includes(" "))return!1;if("u">typeof URL)try{let i=new URL(t);return["https:","http:","ftp:","file:","rtmp:"].includes(i.protocol)}catch(t){return!1}let i=o.globalDocument.createElement("a");return i.href=t,!!i.hostname}},37508:function(t,i,n){"use strict";function o(t){return!!t.length&&!/[^0-9A-Za-zа-яА-ЯЁё\w\-_. ]/.test(t)&&t.trim().length>0}n.d(i,{isValidName:function(){return o}})},39955:function(t,i,n){"use strict";n.d(i,{isViewObject:function(){return r}});var o=n(23282);function r(t){return!!(t&&t instanceof Object&&(0,o.isFunction)(t.constructor)&&t.isView)}},86068:function(t,i,n){"use strict";function o(t){return null==t}n.d(i,{isVoid:function(){return o}})},52742:function(t,i,n){"use strict";function o(t){return null!=t&&t===t.window}n.d(i,{isWindow:function(){return o}})},35278:function(t,i,n){"use strict";n.d(i,{colorToHex:function(){return o}});let o=t=>{if("rgba(0, 0, 0, 0)"===t||""===t)return!1;if(!t)return"#000000";if("#"===t.substr(0,1))return t;let i=/([\s\n\t\r]*?)rgb\((\d+), (\d+), (\d+)\)/.exec(t)||/([\s\n\t\r]*?)rgba\((\d+), (\d+), (\d+), ([\d.]+)\)/.exec(t);if(!i)return"#000000";let n=parseInt(i[2],10),o=parseInt(i[3],10),r=(parseInt(i[4],10)|o<<8|n<<16).toString(16).toUpperCase();for(;r.length<6;)r="0"+r;return i[1]+"#"+r}},58149:function(t,i,n){"use strict";n.d(i,{colorToHex:function(){return o.colorToHex}});var o=n(35278)},32574:function(t,i,n){"use strict";n.d(i,{applyStyles:function(){return c}});var o=n(82758),r=n(2748),s=n(49055),a=n(76078);function l(t){return t.replace(/mso-[a-z-]+:[\s]*[^;]+;/gi,"").replace(/mso-[a-z-]+:[\s]*[^";']+$/gi,"").replace(/border[a-z-]*:[\s]*[^;]+;/gi,"").replace(/([0-9.]+)(pt|cm)/gi,(t,i,n)=>{switch(n.toLowerCase()){case"pt":return(1.328*parseFloat(i)).toFixed(0)+"px";case"cm":return(.02645833*parseFloat(i)).toFixed(0)+"px"}return t})}function c(t){if(-1===t.indexOf("<html "))return t;t=(t=t.substring(t.indexOf("<html "),t.length)).substring(0,t.lastIndexOf("</html>")+7);let i=o.globalDocument.createElement("iframe");i.style.display="none",o.globalDocument.body.appendChild(i);let n="";try{let c=i.contentDocument||(i.contentWindow?i.contentWindow.document:null);if(c){c.open(),c.write(t),c.close();try{for(let t=0;t<c.styleSheets.length;t+=1){let i=c.styleSheets[t].cssRules;for(let t=0;t<i.length;t+=1)""!==i[t].selectorText&&(0,a.$$)(i[t].selectorText,c.body).forEach(n=>{n.style.cssText=l(i[t].style.cssText+";"+n.style.cssText)})}}catch(t){if(!o.IS_PROD)throw t}r.Dom.each(c.body,t=>{if(r.Dom.isElement(t)){let i=t.getAttribute("style");i&&(t.style.cssText=l(i)),t.hasAttribute("style")&&!t.getAttribute("style")&&t.removeAttribute("style")}}),n=c.firstChild?(0,s.trim)(c.body.innerHTML):""}}catch(t){}finally{r.Dom.safeRemove(i)}return n&&(t=n),(0,s.trim)(t.replace(/<(\/)?(html|colgroup|col|o:p)[^>]*>/g,"").replace(/<!--[^>]*>/g,""))}},53212:function(t,i,n){"use strict";n.d(i,{cleanFromWord:function(){return l}});var o=n(82758),r=n(2748),s=n(4510),a=n(49055);function l(t){-1!==t.indexOf("<html ")&&(t=(t=t.substring(t.indexOf("<html "),t.length)).substring(0,t.lastIndexOf("</html>")+7));let i="";try{let n=o.globalDocument.createElement("div");n.innerHTML=t;let a=[];n.firstChild&&r.Dom.each(n,t=>{if(t)switch(t.nodeType){case Node.ELEMENT_NODE:switch(t.nodeName){case"STYLE":case"LINK":case"META":a.push(t);break;case"W:SDT":case"W:SDTPR":case"FONT":r.Dom.unwrap(t);break;default:(0,s.toArray)(t.attributes).forEach(i=>{-1===["src","href","rel","content"].indexOf(i.name.toLowerCase())&&t.removeAttribute(i.name)})}break;case Node.TEXT_NODE:break;default:a.push(t)}}),r.Dom.safeRemove.apply(null,a),i=n.innerHTML}catch(t){}return i&&(t=i),(t=t.split(/(\n)/).filter(a.trim).join(`
|
|
17
|
+
`,{group:"state",buttons:[]},{group:"clipboard",buttons:[]},{group:"insert",buttons:[]},{group:"indent",buttons:[]},{group:"color",buttons:[]},{group:"form",buttons:[]},"---",{group:"history",buttons:[]},{group:"search",buttons:[]},{group:"source",buttons:[]},{group:"other",buttons:[]},{group:"info",buttons:[]}],this.events={},this.textIcons=!1,this.popupRoot=null,this.showBrowserColorPicker=!0,Object.assign(this,r)}}r=s.prototype,s.prototype.controls={}},26992:function(t,i,n){"use strict";n.d(i,{Async:function(){return m}});var o=n(82758),r=n(91898),s=n(12045),a=n(23282),l=n(84767),c=n(72430),u=n(14773),d=n(70799),h=n(86068),p=n(38837),f=n(93661);class m{delay(t){return this.promise(i=>this.setTimeout(i,t))}setTimeout(t,i,...n){if(this.isDestructed)return 0;let o={};(0,h.isVoid)(i)&&(i=0),(0,l.isNumber)(i)||(i=(o=i).timeout||0),o.label&&this.clearLabel(o.label);let s=(0,r.setTimeout)(t,i,...n),a=o.label||s;return this.timers.set(a,s),this.__callbacks.set(a,t),s}updateTimeout(t,i){if((0,p.assert)(t&&this.timers.has(t),"Label does not exist"),!t||!this.timers.has(t))return null;let n=this.__callbacks.get(t);return(0,p.assert)((0,a.isFunction)(n),"Callback is not a function"),this.setTimeout(n,{label:t,timeout:i})}clearLabel(t){t&&this.timers.has(t)&&((0,r.clearTimeout)(this.timers.get(t)),this.timers.delete(t),this.__callbacks.delete(t))}clearTimeout(t){if((0,d.isString)(t))return this.clearLabel(t);(0,r.clearTimeout)(t),this.timers.delete(t),this.__callbacks.delete(t)}debounce(t,i,n=!1){let o=0,l=!1,d=[],h=(...i)=>{if(!l){o=0;let n=t(...i);if(l=!0,d.length){let t=()=>{d.forEach(t=>t()),d.length=0};(0,u.isPromise)(n)?n.finally(t):t()}}},p=(...s)=>{l=!1,i?(!o&&n&&h(...s),(0,r.clearTimeout)(o),o=this.setTimeout(()=>h(...s),(0,a.isFunction)(i)?i():i),this.timers.set(t,o)):h(...s)};return(0,c.isPlainObject)(i)&&i.promisify?(...t)=>{let i=this.promise(t=>{d.push(t)}).catch(t=>{if((0,s.isAbortError)(t))return null;throw t});return p(...t),i}:p}microDebounce(t,i=!1){let n,o=!1,r=!0;return(...s)=>{if(n=s,o){r=!0;return}r=!0,i&&(r=!1,t(...n)),o=!0,this.__queueMicrotaskNative(()=>{o=!1,!this.isDestructed&&r&&t(...n)})}}throttle(t,i,n=!1){let o=null,r,s,l;return(...n)=>{(r=!0,l=n,i)?o||(s=()=>{r?(t(...l),r=!1,o=this.setTimeout(s,(0,a.isFunction)(i)?i():i),this.timers.set(s,o)):o=null})():t(...l)}}promise(t){let i=()=>{},n=new Promise((n,o)=>{i=()=>o((0,f.abort)("Abort async")),this.promisesRejections.add(i),t(n,o)});return!n.finally&&"u">typeof process&&!o.IS_ES_NEXT&&(n.finally=t=>(n.then(t).catch(t),n)),n.finally(()=>{this.promisesRejections.delete(i)}).catch(()=>null),n.rejectCallback=i,n}promiseState(t){if(t.status)return t.status;if(!Promise.race)return new Promise(i=>{t.then(t=>(i("fulfilled"),t),t=>{throw i("rejected"),t}),this.setTimeout(()=>{i("pending")},100)});let i={};return Promise.race([t,i]).then(t=>t===i?"pending":"fulfilled",()=>"rejected")}requestIdleCallback(t,i={timeout:100}){let n=this.__requestIdleCallbackNative(t,i);return this.__requestsIdle.add(n),n}requestIdlePromise(t){return this.promise(i=>{let n=this.requestIdleCallback(()=>i(n),t)})}schedulerPostTask(t,i={delay:0,priority:"user-visible"}){let n=new AbortController;if(i.signal&&i.signal.addEventListener("abort",()=>n.abort()),this.__controllers.add(n),void 0!==globalThis.scheduler){let o=globalThis.scheduler.postTask(t,{...i,signal:n.signal});return o.finally(()=>{this.__controllers.delete(n)}).catch(()=>null),o}return this.promise((o,r)=>{let s=this.setTimeout(()=>{try{o(t())}catch(t){r(t)}this.__controllers.delete(n)},i.delay||1);n.signal.addEventListener("abort",()=>{this.clearTimeout(s),this.__controllers.delete(n),r((0,f.abort)())})})}schedulerYield(){return this.schedulerPostTask(()=>{},{priority:"user-visible"})}cancelIdleCallback(t){return this.__requestsIdle.delete(t),this.__cancelIdleCallbackNative(t)}requestAnimationFrame(t){let i=requestAnimationFrame(t);return this.__requestsRaf.add(i),i}cancelAnimationFrame(t){this.__requestsRaf.delete(t),cancelAnimationFrame(t)}clear(){this.__requestsIdle.forEach(t=>this.cancelIdleCallback(t)),this.__requestsRaf.forEach(t=>this.cancelAnimationFrame(t)),this.__controllers.forEach(t=>t.abort()),this.timers.forEach(t=>(0,r.clearTimeout)(this.timers.get(t))),this.timers.clear(),this.promisesRejections.forEach(t=>t()),this.promisesRejections.clear()}destruct(){this.clear(),this.isDestructed=!0}constructor(){var t,i,n,o,r;this.timers=new Map,this.__callbacks=new Map,this.__queueMicrotaskNative=null!=(t=null==queueMicrotask?void 0:queueMicrotask.bind(window))?t:Promise.resolve().then.bind(Promise.resolve()),this.promisesRejections=new Set,this.__requestsIdle=new Set,this.__controllers=new Set,this.__requestsRaf=new Set,this.__requestIdleCallbackNative=null!=(n=null==(i=window.requestIdleCallback)?void 0:i.bind(window))?n:(t,i)=>{var n;let o=Date.now();return this.setTimeout(()=>{t({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-o))})},null!=(n=null==i?void 0:i.timeout)?n:1)},this.__cancelIdleCallbackNative=null!=(r=null==(o=window.cancelIdleCallback)?void 0:o.bind(window))?r:t=>{this.clearTimeout(t)},this.isDestructed=!1}}},8884:function(t,i,n){"use strict";n.d(i,{Async:function(){return o.Async}});var o=n(26992)},4012:function(t,i,n){"use strict";n.d(i,{Component:function(){return c}});var o=n(8884),r=n(78213),s=n(580),a=n(21537);let l=new Map;class c{get componentName(){return this.__componentName||(this.__componentName="jodit-"+(0,a.kebabCase)(((0,a.isFunction)(this.className)?this.className():"")||(0,a.getClassName)(this))),this.__componentName}getFullElName(t,i,n){let o=[this.componentName];return t&&o.push("__"+(t=t.replace(/[^a-z0-9-]/gi,"-"))),i&&(o.push("_",i),o.push("_",(0,a.isVoid)(n)?"true":n.toString())),o.join("")}get ownerDocument(){return this.ow.document}get od(){return this.ownerDocument}get ow(){return this.ownerWindow}get(t,i){return(0,a.get)(t,i||this)}get isReady(){return this.componentStatus===r.STATUSES.ready}get isDestructed(){return this.componentStatus===r.STATUSES.destructed}get isInDestruct(){return r.STATUSES.beforeDestruct===this.componentStatus||r.STATUSES.destructed===this.componentStatus}bindDestruct(t){return t.hookStatus(r.STATUSES.beforeDestruct,()=>!this.isInDestruct&&this.destruct()),this}destruct(){this.setStatus(r.STATUSES.destructed),this.async&&(this.async.destruct(),this.async=void 0),l.get(this)&&l.delete(this),this.ownerWindow=void 0}get componentStatus(){return this.__componentStatus}set componentStatus(t){this.setStatus(t)}setStatus(t){return this.setStatusComponent(t,this)}setStatusComponent(t,i){if(t===this.__componentStatus)return;i===this&&(this.__componentStatus=t);let n=Object.getPrototypeOf(this);n&&(0,a.isFunction)(n.setStatusComponent)&&n.setStatusComponent(t,i);let o=l.get(this),r=null==o?void 0:o[t];r&&r.length&&r.forEach(t=>t(i))}hookStatus(t,i){let n=l.get(this);n||(n={},l.set(this,n)),n[t]||(n[t]=[]),n[t].push(i)}static isInstanceOf(t,i){return t instanceof i}constructor(){this.async=new o.Async,this.ownerWindow=window,this.__componentStatus=r.STATUSES.beforeInit,this.uid="jodit-uid-"+(0,s.uniqueUid)()}}c.STATUSES=r.STATUSES},91907:function(t,i,n){"use strict";n.d(i,{Component:function(){return o.Component},STATUSES:function(){return r.STATUSES},ViewComponent:function(){return s.ViewComponent}});var o=n(4012),r=n(78213),s=n(80480)},78213:function(t,i,n){"use strict";n.d(i,{STATUSES:function(){return o}});let o={beforeInit:"beforeInit",ready:"ready",beforeDestruct:"beforeDestruct",destructed:"destructed"}},80480:function(t,i,n){"use strict";n.d(i,{ViewComponent:function(){return r}});var o=n(4012);class r extends o.Component{get j(){return this.jodit}get defaultTimeout(){return this.j.defaultTimeout}i18n(t,...i){return this.j.i18n(t,...i)}setParentView(t){return this.jodit=t,t.components.add(this),this}destruct(){return this.j.components.delete(this),super.destruct()}constructor(t){super(),this.setParentView(t)}}},82758:function(t,i,n){"use strict";n.r(i),n.d(i,{ACCURACY:function(){return V},APP_VERSION:function(){return o},BASE_PATH:function(){return ep},BASE_PATH_IS_MIN:function(){return ef},BR:function(){return $},CLIPBOARD_ID:function(){return eb},COMMAND_KEYS:function(){return W},EMULATE_DBLCLICK_TIMEOUT:function(){return ei},ES:function(){return r},FAT_MODE:function(){return u},HOMEPAGE:function(){return d},INSEPARABLE_TAGS:function(){return T},INSERT_AS_HTML:function(){return en},INSERT_AS_TEXT:function(){return er},INSERT_CLEAR_HTML:function(){return eo},INSERT_ONLY_TEXT:function(){return es},INVISIBLE_SPACE:function(){return f},INVISIBLE_SPACE_REG_EXP:function(){return g},INVISIBLE_SPACE_REG_EXP_END:function(){return b},INVISIBLE_SPACE_REG_EXP_START:function(){return v},IS_BLOCK:function(){return S},IS_ES_MODERN:function(){return s},IS_ES_NEXT:function(){return a},IS_IE:function(){return X},IS_INLINE:function(){return x},IS_MAC:function(){return el},IS_PROD:function(){return l},IS_TEST:function(){return c},KEY_ALIASES:function(){return ec},KEY_ALT:function(){return M},KEY_BACKSPACE:function(){return L},KEY_DELETE:function(){return H},KEY_DOWN:function(){return O},KEY_ENTER:function(){return P},KEY_ESC:function(){return R},KEY_F3:function(){return U},KEY_LEFT:function(){return z},KEY_META:function(){return j},KEY_RIGHT:function(){return N},KEY_SPACE:function(){return F},KEY_TAB:function(){return D},KEY_UP:function(){return B},LIST_TAGS:function(){return I},MARKER_CLASS:function(){return et},MODE_SOURCE:function(){return Y},MODE_SPLIT:function(){return J},MODE_WYSIWYG:function(){return K},NBSP_SPACE:function(){return m},NEARBY:function(){return q},NO_EMPTY_TAGS:function(){return A},PARAGRAPH:function(){return G},PASSIVE_EVENTS:function(){return ey},SAFE_COUNT_CHANGE_CALL:function(){return ea},SET_TEST:function(){return h},SOURCE_CONSUMER:function(){return ev},SPACE_REG_EXP:function(){return y},SPACE_REG_EXP_END:function(){return _},SPACE_REG_EXP_START:function(){return w},TEMP_ATTR:function(){return em},TEXT_HTML:function(){return Q},TEXT_PLAIN:function(){return Z},TEXT_RTF:function(){return ee},TOKENS:function(){return p},globalDocument:function(){return k},globalWindow:function(){return C},lang:function(){return eg}});let o="4.11.28",r="es2021",s=!0,a=!0,l=!0,c=!1,u=!0,d="https://xdsoft.net/jodit/pro/",h=()=>c=!0,p={},f="\uFEFF",m=" ",g=()=>/[\uFEFF]/g,b=()=>/[\uFEFF]+$/g,v=()=>/^[\uFEFF]+/g,y=()=>/[\s\n\t\r\uFEFF\u200b]+/g,w=()=>/^[\s\n\t\r\uFEFF\u200b]+/g,_=()=>/[\s\n\t\r\uFEFF\u200b]+$/g,C="u">typeof window?window:void 0,k="u">typeof document?document:void 0,S=/^(ADDRESS|ARTICLE|ASIDE|BLOCKQUOTE|CANVAS|DD|DFN|DIV|DL|DT|FIELDSET|FIGCAPTION|FIGURE|FOOTER|FORM|H[1-6]|HEADER|HGROUP|HR|LI|MAIN|NAV|NOSCRIPT|OUTPUT|P|PRE|RUBY|SCRIPT|STYLE|OBJECT|OL|SECTION|IFRAME|JODIT|JODIT-MEDIA|UL|TR|TD|TH|TBODY|THEAD|TFOOT|TABLE|BODY|HTML|VIDEO)$/i,x=/^(STRONG|SPAN|I|EM|B|SUP|SUB|A|U)$/i,I=new Set(["ul","ol"]),E=["img","video","svg","iframe","script","input","textarea","link","jodit","jodit-media"],T=new Set([...E,"br","hr"]),A=new Set(E),j="Meta",L="Backspace",D="Tab",P="Enter",R="Escape",M="Alt",z="ArrowLeft",B="ArrowUp",N="ArrowRight",O="ArrowDown",F="Space",H="Delete",U="F3",q=5,V=10,W=[j,L,H,B,O,N,z,P,R,U,D],$="br",G="p",K=1,Y=2,J=3,X="u">typeof navigator&&(-1!==navigator.userAgent.indexOf("MSIE")||/rv:11.0/i.test(navigator.userAgent)),Z=X?"text":"text/plain",Q=X?"html":"text/html",ee=X?"rtf":"text/rtf",et="jodit-selection_marker",ei=300,en="insert_as_html",eo="insert_clear_html",er="insert_as_text",es="insert_only_text",ea=10,el=void 0!==C&&/Mac|iPod|iPhone|iPad/.test(C.navigator.platform),ec={add:"+",break:"pause",cmd:"meta",command:"meta",ctl:"control",ctrl:"control",del:"delete",down:"arrowdown",esc:"escape",ins:"insert",left:"arrowleft",mod:el?"meta":"control",opt:"alt",option:"alt",return:"enter",right:"arrowright",space:"space",spacebar:"space",up:"arrowup",win:"meta",windows:"meta"},eu=t=>{let i=t.split("/");return/\.js/.test(i[i.length-1])?{basePath:i.slice(0,i.length-1).join("/")+"/",isMin:!0}:{basePath:t,isMin:!0}},{basePath:ed,isMin:eh}=(()=>{if("u"<typeof document)return{basePath:"",isMin:!0};let t=k.currentScript;if(t)return eu(t.src);let i=k.querySelectorAll("script[src]");return i&&i.length?eu(i[i.length-1].src):eu(C.location.href)})(),ep=ed,ef=eh,em="data-jodit-temp",eg={},eb="clipboard",ev="source-consumer",ey=new Set(["touchstart","touchend","scroll","mousewheel","mousemove","touchmove"])},20218:function(t,i,n){"use strict";n.d(i,{Create:function(){return l}});var o=n(82758),r=n(2748),s=n(21537),a=n(38837);class l{get doc(){return(0,s.isFunction)(this.document)?this.document():this.document}element(t,i,n){let o=this.doc.createElement(t.toLowerCase());return this.applyCreateAttributes(o),i&&((0,s.isPlainObject)(i)?(0,s.attr)(o,i):n=i),n&&(0,s.asArray)(n).forEach(t=>o.appendChild((0,s.isString)(t)?this.fromHTML(t):t)),o}div(t,i,n){let o=this.element("div",i,n);return t&&(o.className=t),o}sandbox(){var t;let i=this.element("iframe",{sandbox:"allow-same-origin"});this.doc.body.appendChild(i);let n=null==(t=i.contentWindow)?void 0:t.document;if((0,a.assert)(n,"iframe.contentWindow.document"),!n)throw Error("Iframe error");return n.open(),n.write("<!DOCTYPE html><html><head></head><body></body></html>"),n.close(),[n.body,i]}span(t,i,n){let o=this.element("span",i,n);return t&&(o.className=t),o}a(t,i,n){let o=this.element("a",i,n);return t&&(o.className=t),o}text(t){return this.doc.createTextNode(t)}fake(){return this.text(o.INVISIBLE_SPACE)}fragment(){return this.doc.createDocumentFragment()}fromHTML(t,i){let n=this.div();n.innerHTML=t.toString();let o=n.firstChild===n.lastChild&&n.firstChild?n.firstChild:n;if(r.Dom.safeRemove(o),i){let t=(0,s.refs)(o);Object.keys(i).forEach(n=>{let o=t[n];o&&!1===i[n]&&r.Dom.hide(o)})}return o}applyCreateAttributes(t){if(this.createAttributes){let i=this.createAttributes;if(i&&i[t.tagName.toLowerCase()]){let n=i[t.tagName.toLowerCase()];(0,s.isFunction)(n)?n(t):(0,s.isPlainObject)(n)&&(0,s.attr)(t,n)}}}constructor(t,i){this.document=t,this.createAttributes=i}}},12060:function(t,i,n){"use strict";n.d(i,{Create:function(){return o.Create}});var o=n(20218)},45219:function(t,i,n){"use strict";n.d(i,{autobind:function(){return r}});var o=n(23282);function r(t,i,n){if(!(0,o.isFunction)(n.value))throw TypeError(`@autobind can only be applied to methods, but "${i}" is not a function`);let r=n.value;return{configurable:!0,get(){let t=r.bind(this);return Object.defineProperty(this,i,{value:t,configurable:!0,writable:!0}),t}}}},33433:function(t,i,n){"use strict";n.d(i,{cache:function(){return c},cacheHTML:function(){return u},cached:function(){return l}});var o=n(78213),r=n(2748),s=n(27613),a=n(82760);function l(t,i){let n=Object.getOwnPropertyDescriptor(t,i);return!n||(0,s.isFunction)(n.get)?null:n.value}function c(t,i,n){let o=n.get;if(!o)throw(0,a.error)("Getter property descriptor expected");n.get=function(){let t=o.call(this);return t&&!0===t.noCache||Object.defineProperty(this,i,{configurable:n.configurable,enumerable:n.enumerable,writable:!1,value:t}),t}}function u(t,i,n){let l=n.value;if(!(0,s.isFunction)(l))throw(0,a.error)("Handler must be a Function");let c=!0,u=new WeakMap;n.value=function(...t){var i;if(c&&u.has(this.constructor))return null==(i=u.get(this.constructor))?void 0:i.cloneNode(!0);let n=l.apply(this,t);return c&&r.Dom.isElement(n)&&u.set(this.constructor,n),c?n.cloneNode(!0):n},t.hookStatus(o.STATUSES.ready,t=>{c=!!((0,s.isViewObject)(t)?t:t.jodit).options.cache})}},87325:function(t,i,n){"use strict";n.d(i,{component:function(){return a},getComponentClass:function(){return l}});var o=n(82758),r=n(80568);let s=new Map;function a(t){class i extends t{constructor(...t){super(...t),this.constructor===i&&(this instanceof i||Object.setPrototypeOf(this,i.prototype),this.setStatus("ready"))}}let n=(0,r.getClassName)(t.prototype);if(s.has(n)&&!o.IS_PROD)throw Error(`Component with name "${n}" is already registered`);return s.set(n,i),i}function l(t){return s.get(t)}},81577:function(t,i,n){"use strict";n.d(i,{debounce:function(){return l},throttle:function(){return c}});var o=n(91907),r=n(27613),s=n(38837),a=n(89890);function l(t,i=!1,n="debounce"){return(l,c)=>{let u=l[c];if(!(0,r.isFunction)(u))throw(0,a.error)("Handler must be a Function");return l.hookStatus(o.STATUSES.ready,o=>{let{async:a}=o;(0,s.assert)(null!=a,`Component ${o.componentName||o.constructor.name} should have "async:IAsync" field`);let l=(0,r.isFunction)(t)?t(o):t,u=(0,r.isNumber)(l)||(0,r.isPlainObject)(l)?l:o.defaultTimeout;Object.defineProperty(o,c,{configurable:!0,value:a[n](o[c].bind(o),u,i)})}),{configurable:!0,get(){return u.bind(this)}}}}function c(t,i=!1){return l(t,i,"throttle")}},55153:function(t,i,n){"use strict";n.d(i,{derive:function(){return r}});var o=n(23282);function r(...t){return i=>{let n=i.prototype;for(let i=0;i<t.length;i++){let r=t[i],s=Object.getOwnPropertyNames(r.prototype);for(let t=0;t<s.length;t++){let i=s[t],a=Object.getOwnPropertyDescriptor(r.prototype,i);null!=a&&(0,o.isFunction)(a.value)&&!(0,o.isFunction)(n[i])&&Object.defineProperty(n,i,{enumerable:!0,configurable:!0,writable:!0,value:function(...t){return a.value.call(this,...t)}})}}}}},97357:function(t,i,n){"use strict";n.d(i,{hook:function(){return s}});var o=n(23282),r=n(89890);function s(t){return(i,n)=>{if(!(0,o.isFunction)(i[n]))throw(0,r.error)("Handler must be a Function");i.hookStatus(t,t=>{t[n].call(t)})}}},78927:function(t,i,n){"use strict";n.d(i,{idle:function(){return a}});var o=n(91907),r=n(23282),s=n(89890);function a(){return(t,i)=>{if(!(0,r.isFunction)(t[i]))throw(0,s.error)("Handler must be a Function");t.hookStatus(o.STATUSES.ready,t=>{let{async:n}=t,o=t[i];t[i]=(...i)=>n.requestIdleCallback(o.bind(t,...i))})}}},65478:function(t,i,n){"use strict";n.r(i),n.d(i,{autobind:function(){return o.autobind},cache:function(){return r.cache},cacheHTML:function(){return r.cacheHTML},cached:function(){return r.cached},component:function(){return s.component},debounce:function(){return a.debounce},derive:function(){return l.derive},getComponentClass:function(){return s.getComponentClass},hook:function(){return c.hook},idle:function(){return u.idle},nonenumerable:function(){return d.nonenumerable},persistent:function(){return h.persistent},throttle:function(){return a.throttle},wait:function(){return p.wait},watch:function(){return f.watch}});var o=n(45219),r=n(33433),s=n(87325),a=n(81577),l=n(55153),c=n(97357),u=n(78927),d=n(31589),h=n(53213),p=n(13525),f=n(37133)},31589:function(t,i,n){"use strict";n.d(i,{nonenumerable:function(){return o}});let o=(t,i)=>{!1!==(Object.getOwnPropertyDescriptor(t,i)||{}).enumerable&&Object.defineProperty(t,i,{enumerable:!1,set(t){Object.defineProperty(this,i,{enumerable:!1,writable:!0,value:t})}})}},53213:function(t,i,n){"use strict";n.d(i,{persistent:function(){return s}});var o=n(78213),r=n(39955);function s(t,i){t.hookStatus(o.STATUSES.ready,t=>{let n=(0,r.isViewObject)(t)?t:t.jodit,o=`${n.options.namespace}${t.componentName}_prop_${i}`,s=t[i];Object.defineProperty(t,i,{get(){var t;return null!=(t=n.storage.get(o))?t:s},set(t){n.storage.set(o,t)}})})}},13525:function(t,i,n){"use strict";n.d(i,{wait:function(){return a}});var o=n(78213),r=n(23282),s=n(89890);function a(t){return(i,n)=>{let a=i[n];if(!(0,r.isFunction)(a))throw(0,s.error)("Handler must be a Function");i.hookStatus(o.STATUSES.ready,i=>{let{async:o}=i,r=i[n],s=0;Object.defineProperty(i,n,{configurable:!0,value:function n(...a){o.clearTimeout(s),t(i)?r.apply(i,a):s=o.setTimeout(()=>n(...a),10)}})})}}},37133:function(t,i,n){"use strict";n.d(i,{watch:function(){return h}});var o=n(78213),r=n(73026),s=n(46559),a=n(23282),l=n(72430),c=n(39955),u=n(89890),d=n(37790);function h(t,i){return(n,h)=>{var p;if(!(0,a.isFunction)(n[h]))throw(0,u.error)("Handler must be a Function");let f=null==(p=null==i?void 0:i.immediately)||p,m=null==i?void 0:i.context,g=i=>{let o=(0,c.isViewObject)(i)?i:i.jodit,u=(t,...n)=>{if(!i.isInDestruct)return i[h](t,...n)};f||(u=i.async.microDebounce(u,!0)),(0,s.splitArray)(t).forEach(t=>{if(/:/.test(t)){let[n,r]=t.split(":"),s=m;n.length&&(s=i.get(n)),(0,a.isFunction)(s)&&(s=s(i)),o.events.on(s||i,r,u),s||o.events.on(r,u),i.hookStatus("beforeDestruct",()=>{o.events.off(s||i,r,u).off(r,u)});return}let s=t.split("."),[c]=s,h=s.slice(1),p=i[c];(0,l.isPlainObject)(p)&&(0,r.observable)(p).on("change."+h.join("."),u);let f=(0,d.getPropertyDescriptor)(n,c);Object.defineProperty(i,c,{configurable:!0,set(t){let n=p;n!==t&&(p=t,f&&f.set&&f.set.call(i,t),(0,l.isPlainObject)(p)&&(p=(0,r.observable)(p)).on("change."+h.join("."),u),u(c,n,p))},get:()=>f&&f.get?f.get.call(i):p})})};(0,a.isFunction)(n.hookStatus)?n.hookStatus(o.STATUSES.ready,g):g(n)}}},2748:function(t,i,n){"use strict";n.d(i,{Dom:function(){return y}});var o=n(82758),r=n(4510),s=n(68345),a=n(23282),l=n(58487),c=n(42320),u=n(70799),d=n(86068),h=n(49055),p=n(38837),f=n(29960),m=n(41180),g=n(86583),b=n(89890),v=n(37790);class y{static detach(t){for(;t&&t.firstChild;)t.removeChild(t.firstChild)}static wrapNextInline(t,i,n){let o,r=t;n.s.save();let s=!1;do s=!1,(o=r.nextSibling)&&!y.isBlock(o)&&!y.isTag(o,"br")&&(s=!0,r=o);while(s)return y.__wrapElements(i,n,t,r)}static __wrapElements(t,i,n,o){let r=(0,u.isString)(t)?i.createInside.element(t):t;n.parentNode&&n.parentNode.insertBefore(r,n);let s=n;for(;s&&(s=n.nextSibling,r.appendChild(n),n!==o&&s);)n=s;return i.s.restore(),r}static wrapInline(t,i,n){let o,r=t,s=t;n.s.save();let a=!1;do a=!1,(o=r.previousSibling)&&!y.isBlock(o)&&(a=!0,r=o);while(a)do a=!1,(o=s.nextSibling)&&!y.isBlock(o)&&(a=!0,s=o);while(a)return y.__wrapElements(i,n,r,s)}static wrap(t,i,n){let o=(0,u.isString)(i)?n.element(i):i;if(y.isNode(t)){if(!t.parentNode)throw(0,b.error)("Element should be in DOM");t.parentNode.insertBefore(o,t),o.appendChild(t)}else{let i=t.extractContents();t.insertNode(o),o.appendChild(i)}return o}static unwrap(t){let i=t.parentNode;if(i){for(;t.firstChild;)i.insertBefore(t.firstChild,t);y.safeRemove(t)}}static between(t,i,n){let o=t;for(;o&&o!==i&&!(t!==o&&n(o));){let t=o.firstChild||o.nextSibling;if(!t){for(;o&&!o.nextSibling;)o=o.parentNode;t=null==o?void 0:o.nextSibling}o=t}}static replace(t,i,n,o=!1,s=!1){let a;if((0,l.isHTML)(i)&&((0,p.assert)(n,"Need create instance for new tag"),i=n.fromHTML(i)),(0,u.isString)(i)?((0,p.assert)(n,"Need create instance for new tag"),a=n.element(i)):a=i,!s)for(;t.firstChild;)a.appendChild(t.firstChild);return o&&y.isElement(t)&&y.isElement(a)&&(0,r.toArray)(t.attributes).forEach(t=>{a.setAttribute(t.name,t.value)}),t.parentNode&&t.parentNode.replaceChild(a,t),a}static isEmptyTextNode(t){return y.isText(t)&&(!t.nodeValue||0===t.nodeValue.replace(o.INVISIBLE_SPACE_REG_EXP(),"").trim().length)}static isEmptyContent(t){return y.each(t,t=>y.isEmptyTextNode(t))}static isContentEditable(t,i){return y.isNode(t)&&!y.closest(t,t=>y.isElement(t)&&"false"===t.getAttribute("contenteditable"),i)}static isEmpty(t,i=o.NO_EMPTY_TAGS){let n;if(!t)return!0;n=(0,a.isFunction)(i)?i:t=>i.has(t.nodeName.toLowerCase());let r=t=>null==t.nodeValue||0===(0,h.trim)(t.nodeValue).length;return y.isText(t)?r(t):!(y.isElement(t)&&n(t))&&y.each(t,t=>{if(y.isText(t)&&!r(t)||y.isElement(t)&&n(t))return!1})}static isNode(t){return!!(t&&(0,u.isString)(t.nodeName)&&"number"==typeof t.nodeType&&t.childNodes&&(0,a.isFunction)(t.appendChild))}static isCell(t){return y.isNode(t)&&("TD"===t.nodeName||"TH"===t.nodeName)}static isList(t){return y.isTag(t,o.LIST_TAGS)}static isLeaf(t){return y.isTag(t,"li")}static isImage(t){return y.isNode(t)&&/^(img|svg|picture|canvas)$/i.test(t.nodeName)}static isBlock(t){return!(0,d.isVoid)(t)&&"object"==typeof t&&y.isNode(t)&&o.IS_BLOCK.test(t.nodeName)}static isText(t){return!!(t&&t.nodeType===Node.TEXT_NODE)}static isComment(t){return!!(t&&t.nodeType===Node.COMMENT_NODE)}static isElement(t){var i;return!!y.isNode(t)&&!!((null==(i=t.ownerDocument)?void 0:i.defaultView)&&t.nodeType===Node.ELEMENT_NODE)}static isFragment(t){var i;return!!y.isNode(t)&&!!((null==(i=t.ownerDocument)?void 0:i.defaultView)&&t.nodeType===Node.DOCUMENT_FRAGMENT_NODE)}static isHTMLElement(t){var i;if(!y.isNode(t))return!1;let n=null==(i=t.ownerDocument)?void 0:i.defaultView;return!!(n&&t instanceof n.HTMLElement)}static isInlineBlock(t){return y.isElement(t)&&!/^(BR|HR)$/i.test(t.tagName)&&-1!==["inline","inline-block"].indexOf((0,m.css)(t,"display").toString())}static canSplitBlock(t){return!(0,d.isVoid)(t)&&y.isHTMLElement(t)&&y.isBlock(t)&&!/^(TD|TH|CAPTION|FORM)$/.test(t.nodeName)&&void 0!==t.style&&!/^(fixed|absolute)/i.test(t.style.position)}static first(t,i){let n=null==t?void 0:t.firstChild;if(!n)return null;do{if(i(n))return n;let o=n.firstChild;if(o||(o=n.nextSibling),!o&&n.parentNode!==t){do n=n.parentNode;while(n&&!(null==n?void 0:n.nextSibling)&&n.parentNode!==t)o=null==n?void 0:n.nextSibling}n=o}while(n)return null}static last(t,i){let n=null==t?void 0:t.lastChild;if(!n)return null;do{if(i(n))return n;let o=n.lastChild;if(o||(o=n.previousSibling),!o&&n.parentNode!==t){do n=n.parentNode;while(n&&!(null==n?void 0:n.previousSibling)&&n.parentNode!==t)o=null==n?void 0:n.previousSibling}n=o}while(n)return null}static prev(t,i,n,o=!0){return y.find(t,i,n,!1,o)}static next(t,i,n,o=!0){return y.find(t,i,n,!0,o)}static prevWithClass(t,i){return y.prev(t,t=>y.isElement(t)&&t.classList.contains(i),t.parentNode)}static nextWithClass(t,i){return y.next(t,t=>y.isElement(t)&&t.classList.contains(i),t.parentNode)}static find(t,i,n,o=!0,r=!0){let s=this.nextGen(t,n,o,r),a=s.next();for(;!a.done;){if(i(a.value))return a.value;a=s.next()}return null}static*nextGen(t,i,n=!0,o=!0){let r=[],s=t;do{let i=n?s.nextSibling:s.previousSibling;for(;i;)r.unshift(i),i=n?i.nextSibling:i.previousSibling;yield*this.runInStack(t,r,n,o),s=s.parentNode}while(s&&s!==i)return null}static each(t,i,n=!0){let o=this.eachGen(t,n),r=o.next();for(;!r.done;){if(!1===i(r.value))return!1;r=o.next()}return!0}static eachGen(t,i=!0){return this.runInStack(t,[t],i)}static*runInStack(t,i,n,o=!0){for(;i.length;){let r=i.pop();if(o){let t=n?r.lastChild:r.firstChild;for(;t;)i.push(t),t=n?t.previousSibling:t.nextSibling}t!==r&&(yield r)}}static findWithCurrent(t,i,n,o="nextSibling",r="firstChild"){let s=t;do{if(i(s))return s||null;if(r&&s&&s[r]){let t=y.findWithCurrent(s[r],i,s,o,r);if(t)return t}for(;s&&!s[o]&&s!==n;)s=s.parentNode;s&&s[o]&&s!==n&&(s=s[o])}while(s&&s!==n)return null}static findSibling(t,i=!0,n=t=>!y.isEmptyTextNode(t)){let o=y.sibling(t,i);for(;o&&!n(o);)o=y.sibling(o,i);return o&&n(o)?o:null}static findNotEmptySibling(t,i){return y.findSibling(t,i,t=>{var i;return!y.isEmptyTextNode(t)&&!!(!y.isText(t)||(null==(i=t.nodeValue)?void 0:i.length)&&(0,h.trim)(t.nodeValue))})}static findNotEmptyNeighbor(t,i,n){return(0,v.call)(i?y.prev:y.next,t,t=>!!(t&&(!(y.isText(t)||y.isComment(t))||(0,h.trim)((null==t?void 0:t.nodeValue)||"").length)),n)}static sibling(t,i){return i?t.previousSibling:t.nextSibling}static up(t,i,n,o=!1){let r=t;if(!r)return null;do{if(i(r))return r;if(r===n||!r.parentNode)break;r=r.parentNode}while(r&&r!==n)return r===n&&o&&i(r)?r:null}static closest(t,i,n){let o,r=t=>t.toLowerCase();if((0,a.isFunction)(i))o=i;else if((0,s.isArray)(i)||(0,c.isSet)(i)){let t=(0,c.isSet)(i)?i:new Set(i.map(r));o=i=>!!(i&&t.has(r(i.nodeName)))}else o=t=>!!(t&&r(i)===r(t.nodeName));return y.up(t,o,n)}static furthest(t,i,n){let o=null,r=null==t?void 0:t.parentElement;for(;r&&r!==n;)i(r)&&(o=r),r=null==r?void 0:r.parentElement;return o}static appendChildFirst(t,i){let n=t.firstChild;n?n!==i&&t.insertBefore(i,n):t.appendChild(i)}static after(t,i){let{parentNode:n}=t;n&&(n.lastChild===t?n.appendChild(i):n.insertBefore(i,t.nextSibling))}static before(t,i){let{parentNode:n}=t;n&&n.insertBefore(i,t)}static prepend(t,i){t.insertBefore(i,t.firstChild)}static append(t,i){(0,s.isArray)(i)?i.forEach(i=>{this.append(t,i)}):t.appendChild(i)}static moveContent(t,i,n=!1,s=()=>!0){let a=(t.ownerDocument||o.globalDocument).createDocumentFragment();(0,r.toArray)(t.childNodes).filter(t=>!!s(t)||(y.safeRemove(t),!1)).forEach(t=>{a.appendChild(t)}),n&&i.firstChild?i.insertBefore(a,i.firstChild):i.appendChild(a)}static isOrContains(t,i,n=!1){return t===i?!n:!!(i&&t&&this.up(i,i=>i===t,t,!0))}static safeRemove(...t){t.forEach(t=>y.isNode(t)&&t.parentNode&&t.parentNode.removeChild(t))}static safeInsertNode(t,i){t.collapsed||t.deleteContents();let n=y.isFragment(i)?i.lastChild:i;t.startContainer===t.endContainer&&t.collapsed&&y.isTag(t.startContainer,o.INSEPARABLE_TAGS)?y.after(t.startContainer,i):(t.insertNode(i),n&&t.setStartBefore(n)),t.collapse(!0),[i.nextSibling,i.previousSibling].forEach(t=>y.isText(t)&&!t.nodeValue&&y.safeRemove(t))}static hide(t){t&&((0,g.dataBind)(t,"__old_display",t.style.display),t.style.display="none")}static show(t){if(!t)return;let i=(0,g.dataBind)(t,"__old_display");"none"===t.style.display&&(t.style.display=i||"")}static isTag(t,i){if(!this.isElement(t))return!1;let n=t.tagName.toLowerCase(),o=t.tagName.toUpperCase();if(i instanceof Set)return i.has(n)||i.has(o);if(Array.isArray(i))throw TypeError("Dom.isTag does not support array");return n===i||o===i}static markTemporary(t,i){return i&&(0,f.attr)(t,i),(0,f.attr)(t,o.TEMP_ATTR,!0),t}static isTemporary(t){return!!y.isElement(t)&&(y.isMarker(t)||"true"===(0,f.attr)(t,o.TEMP_ATTR))}static isMarker(t){return y.isNode(t)&&y.isTag(t,"span")&&t.hasAttribute("data-"+o.MARKER_CLASS)}static replaceTemporaryFromString(t){return t.replace(/<([a-z]+)[^>]+data-jodit-temp[^>]+>(.+?)<\/\1>/gi,"$2")}static temporaryList(t){return(0,r.toArray)(t.querySelectorAll(`[${o.TEMP_ATTR}]`))}constructor(){throw Error("Dom is static module")}}},22732:function(t,i,n){"use strict";n.d(i,{Dom:function(){return o.Dom},LazyWalker:function(){return r.LazyWalker}});var o=n(2748),r=n(70071)},70071:function(t,i,n){"use strict";n.d(i,{LazyWalker:function(){return a}});var o=n(45219),r=n(2748),s=n(72757);class a extends s.Eventify{setWork(t){return this.isWorked&&this.break(),this.workNodes=r.Dom.eachGen(t,!this.options.reverse),this.isFinished=!1,this._requestStarting(),this}_requestStarting(){this.__schedulerController=new AbortController,this.async.schedulerPostTask(this.__workPerform,{delay:this.options.timeout,signal:this.__schedulerController.signal}).catch(()=>null)}break(t){this.isWorked&&(this.stop(),this.emit("break",t))}end(){this.isWorked&&(this.stop(),this.emit("end",this.hadAffect),this.hadAffect=!1)}stop(){this.isWorked=!1,this.isFinished=!0,this.workNodes=null,this.async.cancelIdleCallback(this.idleId)}destruct(){super.destruct(),this.stop()}__workPerform(){var t;if(this.workNodes){this.isWorked=!0;let i=0,n=null!=(t=this.options.timeoutChunkSize)?t:50;for(;!this.isFinished&&i<=n;){let t=this.workNodes.next();if(i+=1,this.visitNode(t.value)&&(this.hadAffect=!0),t.done)return void this.end()}}else this.end();this.isFinished||this._requestStarting()}visitNode(t){var i;return!!t&&(void 0===this.options.whatToShow||t.nodeType===this.options.whatToShow)&&null!=(i=this.emit("visit",t))&&i}constructor(t,i={}){super(),this.async=t,this.options=i,this.workNodes=null,this.hadAffect=!1,this.isWorked=!1,this.isFinished=!1,this.idleId=0,this.__schedulerController=null}}!function(t,i,n,o){var r,s=arguments.length,a=s<3?i:null===o?o=Object.getOwnPropertyDescriptor(i,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,i,n,o);else for(var l=t.length-1;l>=0;l--)(r=t[l])&&(a=(s<3?r(a):s>3?r(i,n,a):r(i,n))||a);s>3&&a&&Object.defineProperty(i,n,a)}([o.autobind],a.prototype,"__workPerform",null)},98220:function(t,i,n){"use strict";n.d(i,{EventEmitter:function(){return d}});var o=n(82758),r=n(46559),s=n(68345),a=n(23282),l=n(70799),c=n(89890),u=n(15738);class d{mute(t){return this.__mutedEvents.add(null!=t?t:"*"),this}isMuted(t){return!!(t&&this.__mutedEvents.has(t))||this.__mutedEvents.has("*")}unmute(t){return this.__mutedEvents.delete(null!=t?t:"*"),this}__eachEvent(t,i){(0,r.splitArray)(t).map(t=>t.trim()).forEach(t=>{let n=t.split("."),o=n[1]||u.defaultNameSpace;i.call(this,n[0],o)})}__getStore(t){if(!t)throw(0,c.error)("Need subject");if(void 0===t[this.__key]){let i=new u.EventHandlersStore;Object.defineProperty(t,this.__key,{enumerable:!1,configurable:!0,writable:!0,value:i})}return t[this.__key]}__removeStoreFromSubject(t){void 0!==t[this.__key]&&Object.defineProperty(t,this.__key,{enumerable:!1,configurable:!0,writable:!0,value:void 0})}__triggerNativeEvent(t,i){let n=this.__doc.createEvent("HTMLEvents");(0,l.isString)(i)?n.initEvent(i,!0,!0):(n.initEvent(i.type,i.bubbles,i.cancelable),["screenX","screenY","clientX","clientY","target","srcElement","currentTarget","timeStamp","which","keyCode"].forEach(t=>{Object.defineProperty(n,t,{value:i[t],enumerable:!0})}),Object.defineProperty(n,"originalEvent",{value:i,enumerable:!0})),t.dispatchEvent(n)}get current(){return this.currents[this.currents.length-1]}on(t,i,n,r){let u,d,p,f;if((0,l.isString)(t)||(0,l.isStringArray)(t)?(u=this,d=t,p=i,f=n):(u=t,d=i,p=n,f=r),!((0,l.isString)(d)||(0,l.isStringArray)(d))||0===d.length)throw(0,c.error)("Need events names");if(!(0,a.isFunction)(p))throw(0,c.error)("Need event handler");if((0,s.isArray)(u))return u.forEach(t=>{this.on(t,d,p,f)}),this;let m=u,g=this.__getStore(m),b=this,v=function(t,...i){if(!b.isMuted(t))return p&&p.call(this,...i)};return h(m)&&(v=function(t){if(!b.isMuted(t.type)&&(b.__prepareEvent(t),p&&!1===p.call(this,t)))return t.preventDefault(),t.stopImmediatePropagation(),!1}),this.__eachEvent(d,(t,i)=>{var n,r;if(0===t.length)throw(0,c.error)("Need event name");if(!1===g.indexOf(t,i,p)){let s={event:t,originalCallback:p,syntheticCallback:v};if(g.set(t,i,s,null==f?void 0:f.top),h(m)){let i=o.PASSIVE_EVENTS.has(t)?{passive:!0,capture:null!=(n=null==f?void 0:f.capture)&&n}:null!=(r=null==f?void 0:f.capture)&&r;v.options=i,m.addEventListener(t,v,i),this.__memoryDOMSubjectToHandler(m,v)}}}),this}__memoryDOMSubjectToHandler(t,i){let n=this.__domEventsMap.get(t)||new Set;n.add(i),this.__domEventsMap.set(t,n)}__unmemoryDOMSubjectToHandler(t,i){let n=this.__domEventsMap,o=n.get(t)||new Set;o.delete(i),o.size?n.set(t,o):n.delete(t)}one(t,i,n,o){let r,s,a,c;(0,l.isString)(t)||(0,l.isStringArray)(t)?(r=this,s=t,a=i,c=n):(r=t,s=i,a=n,c=o);let u=(...t)=>(this.off(r,s,u),a(...t));return this.on(r,s,u,c),this}off(t,i,n){let o,r,c;if((0,l.isString)(t)||(0,l.isStringArray)(t)?(o=this,r=t,c=i):(o=t,r=i,c=n),(0,s.isArray)(o))return o.forEach(t=>{this.off(t,r,c)}),this;let d=o,p=this.__getStore(d);if(!((0,l.isString)(r)||(0,l.isStringArray)(r))||0===r.length)return p.namespaces().forEach(t=>{this.off(d,"."+t)}),this.__removeStoreFromSubject(d),this;let f=t=>{var i;h(d)&&(d.removeEventListener(t.event,t.syntheticCallback,null!=(i=t.syntheticCallback.options)&&i),this.__unmemoryDOMSubjectToHandler(d,t.syntheticCallback))},m=(t,i)=>{if(""===t)return void p.events(i).forEach(t=>{""!==t&&m(t,i)});let n=p.get(t,i);if(n&&n.length)if((0,a.isFunction)(c)){let o=p.indexOf(t,i,c);!1!==o&&(f(n[o]),n.splice(o,1),n.length||p.clearEvents(i,t))}else n.forEach(f),n.length=0,p.clearEvents(i,t)};return this.__eachEvent(r,(t,i)=>{i===u.defaultNameSpace?p.namespaces().forEach(i=>{m(t,i)}):m(t,i)}),p.isEmpty()&&this.__removeStoreFromSubject(d),this}stopPropagation(t,i){let n=(0,l.isString)(t)?this:t,o=(0,l.isString)(t)?t:i;if("string"!=typeof o)throw(0,c.error)("Need event names");let r=this.__getStore(n);this.__eachEvent(o,(t,i)=>{let o=r.get(t,i);o&&this.__stopped.push(o),i===u.defaultNameSpace&&r.namespaces(!0).forEach(i=>this.stopPropagation(n,t+"."+i))})}__removeStop(t){if(t){let i=this.__stopped.indexOf(t);-1!==i&&this.__stopped.splice(0,i+1)}}__isStopped(t){return void 0!==t&&-1!==this.__stopped.indexOf(t)}fire(t,i,...n){let o,r,s=(0,l.isString)(t)?this:t,a=(0,l.isString)(t)?t:i,d=(0,l.isString)(t)?[i,...n]:n;if(!h(s)&&!(0,l.isString)(a))throw(0,c.error)("Need events names");let p=this.__getStore(s);return!(0,l.isString)(a)&&h(s)?this.__triggerNativeEvent(s,i):this.__eachEvent(a,(t,i)=>{if(h(s))this.__triggerNativeEvent(s,t);else{let n=p.get(t,i);if(n)try{[...n].every(i=>!this.__isStopped(n)&&(this.currents.push(t),r=i.syntheticCallback.call(s,t,...d),this.currents.pop(),void 0!==r&&(o=r),!0))}finally{this.__removeStop(n)}i!==u.defaultNameSpace||h(s)||p.namespaces().filter(t=>t!==i).forEach(i=>{let n=this.fire.apply(this,[s,t+"."+i,...d]);void 0!==n&&(o=n)})}}),o}destruct(){this.__isDestructed||(this.__isDestructed=!0,this.__domEventsMap.forEach((t,i)=>{this.off(i)}),this.__domEventsMap.clear(),this.__mutedEvents.clear(),this.currents.length=0,this.__stopped.length=0,this.off(this),this.__getStore(this).clear(),this.__removeStoreFromSubject(this))}constructor(t){this.__domEventsMap=new Map,this.__mutedEvents=new Set,this.__key="__JoditEventEmitterNamespaces",this.__doc=o.globalDocument,this.__prepareEvent=t=>{!t.cancelBubble&&(t.composed&&(0,a.isFunction)(t.composedPath)&&t.composedPath()[0]&&Object.defineProperty(t,"target",{value:t.composedPath()[0],configurable:!0,enumerable:!0}),t.type.match(/^touch/)&&t.changedTouches&&t.changedTouches.length&&["clientX","clientY","pageX","pageY"].forEach(i=>{Object.defineProperty(t,i,{value:t.changedTouches[0][i],configurable:!0,enumerable:!0})}),t.originalEvent||(t.originalEvent=t),"paste"===t.type&&void 0===t.clipboardData&&this.__doc.defaultView.clipboardData&&Object.defineProperty(t,"clipboardData",{get:()=>this.__doc.defaultView.clipboardData,configurable:!0,enumerable:!0}))},this.currents=[],this.__stopped=[],this.__isDestructed=!1,t&&(this.__doc=t),this.__key+=new Date().getTime()}}function h(t){return t&&(0,a.isFunction)(t.addEventListener)}},72757:function(t,i,n){"use strict";n.d(i,{Eventify:function(){return o}});class o{on(t,i){var n;return this.__map.has(t)||this.__map.set(t,new Set),null==(n=this.__map.get(t))||n.add(i),this}off(t,i){var n;return this.__map.has(t)&&(null==(n=this.__map.get(t))||n.delete(i)),this}destruct(){this.__map.clear()}emit(t,...i){var n;let o;return this.__map.has(t)&&(null==(n=this.__map.get(t))||n.forEach(t=>{o=t(...i)})),o}constructor(){this.__map=new Map}}},57012:function(t,i,n){"use strict";n.d(i,{eventEmitter:function(){return o}});let o=new(n(98220)).EventEmitter},3827:function(t,i,n){"use strict";n.d(i,{EventEmitter:function(){return o.EventEmitter},EventHandlersStore:function(){return a.EventHandlersStore},Eventify:function(){return r.Eventify},defaultNameSpace:function(){return a.defaultNameSpace},observable:function(){return s.observable}});var o=n(98220),r=n(72757),s=n(73026),a=n(15738)},73026:function(t,i,n){"use strict";n.d(i,{observable:function(){return u}});var o=n(68345),r=n(59292),s=n(72430),a=n(37790);let l=Symbol("observable-object");function c(t){return void 0!==t[l]}function u(t){if(c(t))return t;let i={},n={},u=(i,r)=>((0,o.isArray)(i)?i.map(t=>u(t,r)):(n[i]||(n[i]=[]),n[i].push(r)),t),d=(r,...s)=>{if((0,o.isArray)(r))return void r.map(t=>d(t,...s));try{!i[r]&&n[r]&&(i[r]=!0,n[r].forEach(i=>i.call(t,...s)))}finally{i[r]=!1}},h=(i,n=[])=>{let o={};c(i)||(Object.defineProperty(i,l,{enumerable:!1,value:!0}),Object.keys(i).forEach(l=>{let c=n.concat(l).filter(t=>t.length);o[l]=i[l];let u=(0,a.getPropertyDescriptor)(i,l);Object.defineProperty(i,l,{set(i){let n=o[l];if(!(0,r.isFastEqual)(o[l],i)){d(["beforeChange","beforeChange."+c.join(".")],l,i),(0,s.isPlainObject)(i)&&h(i,c),u&&u.set?u.set.call(t,i):o[l]=i;let r=[];d(["change",...c.reduce((t,i)=>(r.push(i),t.push("change."+r.join(".")),t),[])],c.join("."),n,(null==i?void 0:i.valueOf)?i.valueOf():i)}},get:()=>u&&u.get?u.get.call(t):o[l],enumerable:!0,configurable:!0}),(0,s.isPlainObject)(o[l])&&h(o[l],c)}),Object.defineProperty(t,"on",{value:u}))};return h(t),t}},15738:function(t,i,n){"use strict";n.d(i,{EventHandlersStore:function(){return a},defaultNameSpace:function(){return s}});var o=n(4510),r=n(38837);let s="JoditEventDefaultNamespace";class a{get(t,i){if(this.__store.has(i)){let n=this.__store.get(i);return(0,r.assert)(n,"-"),n[t]}}indexOf(t,i,n){let o=this.get(t,i);if(o){for(let t=0;t<o.length;t+=1)if(o[t].originalCallback===n)return t}return!1}namespaces(t=!1){let i=(0,o.toArray)(this.__store.keys());return t?i.filter(t=>t!==s):i}events(t){let i=this.__store.get(t);return i?Object.keys(i):[]}set(t,i,n,o=!1){let r=this.__store.get(i);r||(r={},this.__store.set(i,r)),void 0===r[t]&&(r[t]=[]),o?r[t].unshift(n):r[t].push(n)}clear(){this.__store.clear()}clearEvents(t,i){let n=this.__store.get(t);n&&n[i]&&(delete n[i],Object.keys(n).length||this.__store.delete(t))}isEmpty(){return 0===this.__store.size}constructor(){this.__store=new Map}}},580:function(t,i,n){"use strict";n.d(i,{eventEmitter:function(){return S},extendLang:function(){return w},getContainer:function(){return C},getPopupViewRoot:function(){return k},instances:function(){return f},modules:function(){return y},pluginSystem:function(){return v},uniqueUid:function(){return b}});var o=n(19306),r=n(70799),s=n(39955),a=n(12475),l=n(41180),c=n(80568),u=n(41876),d=n(57012),h=n(82758),p=n(22732);let f={},m=1,g=new Set;function b(){function t(){return Math.round(m+=10*(Math.random()+1)).toString(16)}let i=t();for(;g.has(i);)i=t();return g.add(i),i}let v=new u.PluginSystem({getContainer:C}),y={},w=t=>{Object.keys(t).forEach(i=>{h.lang[i]?Object.assign(h.lang[i],t[i]):h.lang[i]=t[i]})},_=new WeakMap;function C(t,i,n="div",l=!1){let u=(0,r.isString)(i)?i:i?(0,c.getClassName)(i.prototype):"jodit-utils",d=_.get(t)||{},h=u+n,f=(0,s.isViewObject)(t)?t:t.j,m=null;if(!d[h]){let i=f.c;if(m=k(f.o,f.container,t.od.body),l&&(0,o.isJoditObject)(t)&&t.od!==t.ed){i=t.createInside;let r="style"===n?t.ed.head:t.ed.body;m=(0,o.isJoditObject)(t)&&t.o.shadowRoot?t.o.shadowRoot:r}let r=i.element(n,{className:`jodit jodit-${(0,a.kebabCase)(u)}-container jodit-box`});r.classList.add("jodit_theme_"+(f.o.theme||"default")),m.appendChild(r),d[h]=r,t.hookStatus("beforeDestruct",()=>{f.events.off(r),p.Dom.safeRemove(r),delete d[h],Object.keys(d).length&&_.delete(t)}),_.set(t,d),f.events.fire("getContainer",r)}return d[h].classList.remove("jodit_theme_default","jodit_theme_dark"),d[h].classList.add("jodit_theme_"+(f.o.theme||"default")),d[h]}function k(t,i,n){var o,r,s;return null!=(s=null!=(r=null!=(o=t.popupRoot)?o:t.shadowRoot)?r:p.Dom.closest(i,t=>p.Dom.isHTMLElement(t)&&(p.Dom.isTag(t,"dialog")||["fixed","absolute"].includes((0,l.css)(t,"position"))),n))?s:n}let S=d.eventEmitter},29999:function(t,i,n){"use strict";n.d(i,{asArray:function(){return r}});var o=n(68345);let r=t=>(0,o.isArray)(t)?t:[t]},76855:function(t,i,n){"use strict";n.d(i,{asArray:function(){return o.asArray},splitArray:function(){return r.splitArray},toArray:function(){return s.toArray}});var o=n(29999),r=n(46559),s=n(4510)},46559:function(t,i,n){"use strict";function o(t){return Array.isArray(t)?t:t.split(/[,\s]+/)}n.d(i,{splitArray:function(){return o}})},4510:function(t,i,n){"use strict";n.d(i,{toArray:function(){return s}});var o=n(70722),r=n(58844);let s=function(...t){var i;return((0,o.isNativeFunction)(Array.from)?Array.from:null!=(i=(0,r.reset)("Array.from"))?i:Array.from).apply(Array,t)}},91898:function(t,i,n){"use strict";n.d(i,{clearTimeout:function(){return o.clearTimeout},setTimeout:function(){return o.setTimeout}});var o=n(13252)},13252:function(t,i,n){"use strict";n.d(i,{clearTimeout:function(){return s},setTimeout:function(){return r}});var o=n(82758);function r(t,i,...n){return i?o.globalWindow.setTimeout(t,i,...n):(t.call(null,...n),0)}function s(t){o.globalWindow.clearTimeout(t)}},54765:function(t,i,n){"use strict";n.d(i,{hasBrowserColorPicker:function(){return r}});var o=n(82758);function r(){let t=!0;try{let i=o.globalDocument.createElement("input");i.type="color",i.value="!",t="color"===i.type&&"!"!==i.value}catch(i){t=!1}return t}},27613:function(t,i,n){"use strict";n.d(i,{hasBrowserColorPicker:function(){return o.hasBrowserColorPicker},hasContainer:function(){return h.hasContainer},isAbortError:function(){return r.isAbortError},isArray:function(){return s.isArray},isBoolean:function(){return a.isBoolean},isDestructable:function(){return h.isDestructable},isEqual:function(){return l.isEqual},isFastEqual:function(){return l.isFastEqual},isFunction:function(){return c.isFunction},isHTML:function(){return u.isHTML},isHtmlFromWord:function(){return d.isHtmlFromWord},isInitable:function(){return h.isInitable},isInt:function(){return p.isInt},isJoditObject:function(){return f.isJoditObject},isLicense:function(){return m.isLicense},isMarker:function(){return g.isMarker},isNativeFunction:function(){return b.isNativeFunction},isNumber:function(){return v.isNumber},isNumeric:function(){return y.isNumeric},isPlainObject:function(){return w.isPlainObject},isPromise:function(){return _.isPromise},isSet:function(){return C.isSet},isString:function(){return k.isString},isStringArray:function(){return k.isStringArray},isURL:function(){return S.isURL},isValidName:function(){return x.isValidName},isViewObject:function(){return I.isViewObject},isVoid:function(){return E.isVoid},isWindow:function(){return T.isWindow}});var o=n(54765),r=n(12045),s=n(68345),a=n(87612),l=n(59292),c=n(23282),u=n(58487),d=n(29673),h=n(60132),p=n(72913),f=n(19306),m=n(45603),g=n(78116),b=n(70722),v=n(84767),y=n(29807),w=n(72430),_=n(14773),C=n(42320),k=n(70799),S=n(26049),x=n(37508),I=n(39955),E=n(86068),T=n(52742)},12045:function(t,i,n){"use strict";function o(t){return!!t&&t instanceof DOMException&&"AbortError"===t.name}n.d(i,{isAbortError:function(){return o}})},68345:function(t,i,n){"use strict";function o(t){return Array.isArray(t)}n.d(i,{isArray:function(){return o}})},87612:function(t,i,n){"use strict";function o(t){return"boolean"==typeof t}n.d(i,{isBoolean:function(){return o}})},59292:function(t,i,n){"use strict";n.d(i,{isEqual:function(){return r},isFastEqual:function(){return s}});var o=n(67462);function r(t,i){return t===i||(0,o.stringify)(t)===(0,o.stringify)(i)}function s(t,i){return t===i}},23282:function(t,i,n){"use strict";function o(t){return"function"==typeof t}n.d(i,{isFunction:function(){return o}})},29673:function(t,i,n){"use strict";function o(t){return -1!==t.search(/<meta.*?Microsoft Excel\s[\d].*?>/)||-1!==t.search(/<meta.*?Microsoft Word\s[\d].*?>/)||-1!==t.search(/style="[^"]*mso-/)&&-1!==t.search(/<font/)}n.d(i,{isHtmlFromWord:function(){return o}})},58487:function(t,i,n){"use strict";n.d(i,{isHTML:function(){return r}});var o=n(70799);let r=t=>(0,o.isString)(t)&&/<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)<\/\1>/m.test(t.replace(/[\r\n]/g,""))},60132:function(t,i,n){"use strict";n.d(i,{hasContainer:function(){return c},isDestructable:function(){return l},isInitable:function(){return a}});var o=n(2748),r=n(23282),s=n(86068);function a(t){return!(0,s.isVoid)(t)&&(0,r.isFunction)(t.init)}function l(t){return!(0,s.isVoid)(t)&&(0,r.isFunction)(t.destruct)}function c(t){return!(0,s.isVoid)(t)&&o.Dom.isElement(t.container)}},72913:function(t,i,n){"use strict";n.d(i,{isInt:function(){return s}});var o=n(29807),r=n(70799);function s(t){return(0,r.isString)(t)&&(0,o.isNumeric)(t)&&(t=parseFloat(t)),"number"==typeof t&&Number.isFinite(t)&&!(t%1)}},19306:function(t,i,n){"use strict";n.d(i,{isJoditObject:function(){return r}});var o=n(23282);function r(t){return!!(t&&t instanceof Object&&(0,o.isFunction)(t.constructor)&&("u">typeof Jodit&&t instanceof Jodit||t.isJodit))}},45603:function(t,i,n){"use strict";n.d(i,{isLicense:function(){return r}});var o=n(70799);let r=t=>(0,o.isString)(t)&&23===t.length&&/^[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}$/i.test(t)},78116:function(t,i,n){"use strict";n.d(i,{isMarker:function(){return r}});var o=n(2748);function r(t){return o.Dom.isMarker(t)}},70722:function(t,i,n){"use strict";function o(t){return!!t&&"function"===(typeof t).toLowerCase()&&(t===Function.prototype||/^\s*function\s*(\b[a-z$_][a-z0-9$_]*\b)*\s*\((|([a-z$_][a-z0-9$_]*)(\s*,[a-z$_][a-z0-9$_]*)*)\)\s*{\s*\[native code]\s*}\s*$/i.test(t+""))}n.d(i,{isNativeFunction:function(){return o}})},84767:function(t,i,n){"use strict";function o(t){return"number"==typeof t&&!isNaN(t)&&isFinite(t)}n.d(i,{isNumber:function(){return o}})},29807:function(t,i,n){"use strict";n.d(i,{isNumeric:function(){return r}});var o=n(70799);function r(t){if((0,o.isString)(t)){if(!t.match(/^([+-])?[0-9]+(\.?)([0-9]+)?(e[0-9]+)?$/))return!1;t=parseFloat(t)}return"number"==typeof t&&!isNaN(t)&&isFinite(t)}},72430:function(t,i,n){"use strict";n.d(i,{isPlainObject:function(){return r}});var o=n(52742);function r(t){return!(!t||"object"!=typeof t||t.nodeType||(0,o.isWindow)(t))&&!(t.constructor&&!({}).hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))}},14773:function(t,i,n){"use strict";function o(t){return t&&"function"==typeof t.then}n.d(i,{isPromise:function(){return o}})},42320:function(t,i,n){"use strict";n.d(i,{isSet:function(){return r}});var o=n(23282);function r(t){return!!t&&(0,o.isFunction)(t.has)&&(0,o.isFunction)(t.add)&&(0,o.isFunction)(t.delete)}},70799:function(t,i,n){"use strict";n.d(i,{isString:function(){return r},isStringArray:function(){return s}});var o=n(68345);function r(t){return"string"==typeof t}function s(t){return(0,o.isArray)(t)&&r(t[0])}},26049:function(t,i,n){"use strict";n.d(i,{isURL:function(){return r}});var o=n(82758);function r(t){if(t.includes(" "))return!1;if("u">typeof URL)try{let i=new URL(t);return["https:","http:","ftp:","file:","rtmp:"].includes(i.protocol)}catch(t){return!1}let i=o.globalDocument.createElement("a");return i.href=t,!!i.hostname}},37508:function(t,i,n){"use strict";function o(t){return!!t.length&&!/[^0-9A-Za-zа-яА-ЯЁё\w\-_. ]/.test(t)&&t.trim().length>0}n.d(i,{isValidName:function(){return o}})},39955:function(t,i,n){"use strict";n.d(i,{isViewObject:function(){return r}});var o=n(23282);function r(t){return!!(t&&t instanceof Object&&(0,o.isFunction)(t.constructor)&&t.isView)}},86068:function(t,i,n){"use strict";function o(t){return null==t}n.d(i,{isVoid:function(){return o}})},52742:function(t,i,n){"use strict";function o(t){return null!=t&&t===t.window}n.d(i,{isWindow:function(){return o}})},35278:function(t,i,n){"use strict";n.d(i,{colorToHex:function(){return o}});let o=t=>{if("rgba(0, 0, 0, 0)"===t||""===t)return!1;if(!t)return"#000000";if("#"===t.substr(0,1))return t;let i=/([\s\n\t\r]*?)rgb\((\d+), (\d+), (\d+)\)/.exec(t)||/([\s\n\t\r]*?)rgba\((\d+), (\d+), (\d+), ([\d.]+)\)/.exec(t);if(!i)return"#000000";let n=parseInt(i[2],10),o=parseInt(i[3],10),r=(parseInt(i[4],10)|o<<8|n<<16).toString(16).toUpperCase();for(;r.length<6;)r="0"+r;return i[1]+"#"+r}},58149:function(t,i,n){"use strict";n.d(i,{colorToHex:function(){return o.colorToHex}});var o=n(35278)},32574:function(t,i,n){"use strict";n.d(i,{applyStyles:function(){return c}});var o=n(82758),r=n(2748),s=n(49055),a=n(76078);function l(t){return t.replace(/mso-[a-z-]+:[\s]*[^;]+;/gi,"").replace(/mso-[a-z-]+:[\s]*[^";']+$/gi,"").replace(/border[a-z-]*:[\s]*[^;]+;/gi,"").replace(/([0-9.]+)(pt|cm)/gi,(t,i,n)=>{switch(n.toLowerCase()){case"pt":return(1.328*parseFloat(i)).toFixed(0)+"px";case"cm":return(.02645833*parseFloat(i)).toFixed(0)+"px"}return t})}function c(t){if(-1===t.indexOf("<html "))return t;t=(t=t.substring(t.indexOf("<html "),t.length)).substring(0,t.lastIndexOf("</html>")+7);let i=o.globalDocument.createElement("iframe");i.style.display="none",o.globalDocument.body.appendChild(i);let n="";try{let c=i.contentDocument||(i.contentWindow?i.contentWindow.document:null);if(c){c.open(),c.write(t),c.close();try{for(let t=0;t<c.styleSheets.length;t+=1){let i=c.styleSheets[t].cssRules;for(let t=0;t<i.length;t+=1)""!==i[t].selectorText&&(0,a.$$)(i[t].selectorText,c.body).forEach(n=>{n.style.cssText=l(i[t].style.cssText+";"+n.style.cssText)})}}catch(t){if(!o.IS_PROD)throw t}r.Dom.each(c.body,t=>{if(r.Dom.isElement(t)){let i=t.getAttribute("style");i&&(t.style.cssText=l(i)),t.hasAttribute("style")&&!t.getAttribute("style")&&t.removeAttribute("style")}}),n=c.firstChild?(0,s.trim)(c.body.innerHTML):""}}catch(t){}finally{r.Dom.safeRemove(i)}return n&&(t=n),(0,s.trim)(t.replace(/<(\/)?(html|colgroup|col|o:p)[^>]*>/g,"").replace(/<!--[^>]*>/g,""))}},53212:function(t,i,n){"use strict";n.d(i,{cleanFromWord:function(){return l}});var o=n(82758),r=n(2748),s=n(4510),a=n(49055);function l(t){-1!==t.indexOf("<html ")&&(t=(t=t.substring(t.indexOf("<html "),t.length)).substring(0,t.lastIndexOf("</html>")+7));let i="";try{let n=o.globalDocument.createElement("div");n.innerHTML=t;let a=[];n.firstChild&&r.Dom.each(n,t=>{if(t)switch(t.nodeType){case Node.ELEMENT_NODE:switch(t.nodeName){case"STYLE":case"LINK":case"META":a.push(t);break;case"W:SDT":case"W:SDTPR":case"FONT":r.Dom.unwrap(t);break;default:(0,s.toArray)(t.attributes).forEach(i=>{-1===["src","href","rel","content"].indexOf(i.name.toLowerCase())&&t.removeAttribute(i.name)})}break;case Node.TEXT_NODE:break;default:a.push(t)}}),r.Dom.safeRemove.apply(null,a),i=n.innerHTML}catch(t){}return i&&(t=i),(t=t.split(/(\n)/).filter(a.trim).join(`
|
|
18
18
|
`)).replace(/<(\/)?(html|colgroup|col|o:p)[^>]*>/g,"").replace(/<!--[^>]*>/g,"")}},53326:function(t,i,n){"use strict";n.d(i,{htmlspecialchars:function(){return r}});var o=n(82758);function r(t){let i=o.globalDocument.createElement("div");return i.textContent=t,i.innerHTML}},75275:function(t,i,n){"use strict";n.d(i,{applyStyles:function(){return o.applyStyles},cleanFromWord:function(){return r.cleanFromWord},htmlspecialchars:function(){return s.htmlspecialchars},nl2br:function(){return a.nl2br},safeHTML:function(){return l.safeHTML},sanitizeHTMLElement:function(){return l.sanitizeHTMLElement},stripTags:function(){return c.stripTags}});var o=n(32574),r=n(53212),s=n(53326),a=n(45971),l=n(86518),c=n(91003)},45971:function(t,i,n){"use strict";function o(t){return t.replace(/\r\n|\r|\n/g,"<br/>")}n.d(i,{nl2br:function(){return o}})},86518:function(t,i,n){"use strict";n.d(i,{safeHTML:function(){return s},sanitizeHTMLElement:function(){return l}});var o=n(2748),r=n(43555);function s(t,i){var n;(o.Dom.isElement(t)||o.Dom.isFragment(t))&&((null!=(n=i.removeEventAttributes)?n:i.removeOnError)?(a(t),(0,r.$$)("*",t).forEach(t=>a(t))):i.removeOnError&&(l(t,i),(0,r.$$)("[onerror]",t).forEach(t=>l(t,i))),i.safeJavaScriptLink&&(l(t,i),(0,r.$$)('a[href^="javascript"]',t).forEach(t=>l(t,i))),i.safeLinksTarget&&(0,r.$$)('a[target="_blank"]',t).forEach(t=>{let i=(t.getAttribute("rel")||"").split(/\s+/).filter(Boolean);i.includes("noopener")||i.push("noopener"),i.includes("noreferrer")||i.push("noreferrer"),(0,r.attr)(t,"rel",i.join(" "))}))}function a(t){if(!o.Dom.isElement(t))return!1;let i=!1,n=[];for(let i=0;i<t.attributes.length;i++)t.attributes[i].name.toLowerCase().startsWith("on")&&n.push(t.attributes[i].name);for(let o of n)t.removeAttribute(o),i=!0;return i}function l(t,{safeJavaScriptLink:i,removeOnError:n}={safeJavaScriptLink:!0,removeOnError:!0}){if(!o.Dom.isElement(t))return!1;let s=!1;n&&t.hasAttribute("onerror")&&((0,r.attr)(t,"onerror",null),s=!0);let a=t.getAttribute("href");return i&&a&&0===a.trim().indexOf("javascript")&&((0,r.attr)(t,"href",location.protocol+"//"+a),s=!0),s}},91003:function(t,i,n){"use strict";n.d(i,{stripTags:function(){return function t(i,n=document,d=null){let h=n.createElement("div");return(0,r.isString)(i)?h.innerHTML=i:h.appendChild(i),(0,a.$$)("*",h).forEach(i=>{let r=i.parentNode;if(!r)return;if(d&&o.Dom.isTag(i,d)){let r=i.nodeName.toLowerCase(),s=o.Dom.isTag(i,u)?`%%%jodit-single-${r}%%%`:`%%%jodit-${r}%%%${t(i.innerHTML,n,d)}%%%/jodit-${r}%%%`;o.Dom.before(i,n.createTextNode(s)),o.Dom.safeRemove(i);return}if(o.Dom.isTag(i,c))return void o.Dom.safeRemove(i);if(!o.Dom.isTag(i,l))return;let s=i.nextSibling;!(o.Dom.isText(s)&&/^\s/.test(s.nodeValue||""))&&s&&r.insertBefore(n.createTextNode(" "),s)}),(0,s.trim)(h.innerText).replace(/%%%(\/)?jodit(-single)?-([\w\n]+)%%%/g,(t,i,n,o)=>`<${i?"/":""}${o}>`)}}});var o=n(2748),r=n(70799),s=n(49055),a=n(43555);let l=new Set(["div","p","br","h1","h2","h3","h4","h5","h6","hr"]),c=new Set(["script","style"]),u=new Set(["br","hr","input"])},21537:function(t,i,n){"use strict";n.r(i),n.d(i,{$$:function(){return h.$$},CamelCaseToKebabCase:function(){return d.CamelCaseToKebabCase},ConfigDeepFlatten:function(){return h.ConfigDeepFlatten},ConfigFlatten:function(){return h.ConfigFlatten},ConfigProto:function(){return h.ConfigProto},ConnectionError:function(){return h.ConnectionError},LimitedStack:function(){return h.LimitedStack},NUMBER_FIELDS_REG:function(){return c.NUMBER_FIELDS_REG},OptionsError:function(){return h.OptionsError},abort:function(){return h.abort},alignElement:function(){return h.alignElement},alreadyLoadedList:function(){return h.alreadyLoadedList},appendScriptAsync:function(){return h.appendScriptAsync},appendStyleAsync:function(){return h.appendStyleAsync},applyStyles:function(){return l.applyStyles},asArray:function(){return o.asArray},assert:function(){return h.assert},attr:function(){return h.attr},browser:function(){return h.browser},buildQuery:function(){return h.buildQuery},call:function(){return h.call},callPromise:function(){return h.callPromise},callThis:function(){return h.callThis},camelCase:function(){return d.camelCase},cleanFromWord:function(){return l.cleanFromWord},clearAlign:function(){return h.clearAlign},clearCenterAlign:function(){return h.clearCenterAlign},clearTimeout:function(){return r.clearTimeout},cns:function(){return h.cns},colorToHex:function(){return a.colorToHex},completeUrl:function(){return h.completeUrl},connection:function(){return h.connection},convertMediaUrlToVideoEmbed:function(){return h.convertMediaUrlToVideoEmbed},css:function(){return h.css},cssPath:function(){return h.cssPath},ctrlKey:function(){return h.ctrlKey},dataBind:function(){return h.dataBind},defaultLanguage:function(){return h.defaultLanguage},error:function(){return h.error},fastClone:function(){return h.fastClone},fuzzySearchIndex:function(){return d.fuzzySearchIndex},get:function(){return h.get},getClassName:function(){return h.getClassName},getContentWidth:function(){return u.getContentWidth},getDataTransfer:function(){return h.getDataTransfer},getPropertyDescriptor:function(){return h.getPropertyDescriptor},getScrollParent:function(){return u.getScrollParent},getXPathByElement:function(){return h.getXPathByElement},hAlignElement:function(){return h.hAlignElement},hasBrowserColorPicker:function(){return s.hasBrowserColorPicker},hasContainer:function(){return s.hasContainer},htmlspecialchars:function(){return l.htmlspecialchars},humanSizeToBytes:function(){return h.humanSizeToBytes},i18n:function(){return d.i18n},inView:function(){return h.inView},innerWidth:function(){return u.innerWidth},isAbortError:function(){return s.isAbortError},isArray:function(){return s.isArray},isAtom:function(){return h.isAtom},isBoolean:function(){return s.isBoolean},isDestructable:function(){return s.isDestructable},isEqual:function(){return s.isEqual},isFastEqual:function(){return s.isFastEqual},isFunction:function(){return s.isFunction},isHTML:function(){return s.isHTML},isHtmlFromWord:function(){return s.isHtmlFromWord},isInitable:function(){return s.isInitable},isInt:function(){return s.isInt},isJoditObject:function(){return s.isJoditObject},isLicense:function(){return s.isLicense},isMarker:function(){return s.isMarker},isNativeFunction:function(){return s.isNativeFunction},isNumber:function(){return s.isNumber},isNumeric:function(){return s.isNumeric},isPlainObject:function(){return s.isPlainObject},isPromise:function(){return s.isPromise},isSet:function(){return s.isSet},isString:function(){return s.isString},isStringArray:function(){return s.isStringArray},isURL:function(){return s.isURL},isValidName:function(){return s.isValidName},isViewObject:function(){return s.isViewObject},isVoid:function(){return s.isVoid},isWindow:function(){return s.isWindow},kebabCase:function(){return d.kebabCase},keepNames:function(){return h.keepNames},keys:function(){return h.keys},loadImage:function(){return h.loadImage},loadNext:function(){return h.loadNext},loadNextStyle:function(){return h.loadNextStyle},markAsAtomic:function(){return h.markAsAtomic},markDeprecated:function(){return h.markDeprecated},markOwner:function(){return h.markOwner},memorizeExec:function(){return h.memorizeExec},nl2br:function(){return l.nl2br},normalizeColor:function(){return c.normalizeColor},normalizeCssNumericValue:function(){return c.normalizeCssNumericValue},normalizeCssValue:function(){return c.normalizeCssValue},normalizeKeyAliases:function(){return c.normalizeKeyAliases},normalizeLicense:function(){return c.normalizeLicense},normalizePath:function(){return c.normalizePath},normalizeRelativePath:function(){return c.normalizeRelativePath},normalizeSize:function(){return c.normalizeSize},normalizeUrl:function(){return c.normalizeUrl},offset:function(){return u.offset},options:function(){return h.options},parseQuery:function(){return h.parseQuery},position:function(){return u.position},previewBox:function(){return h.previewBox},refs:function(){return h.refs},reset:function(){return h.reset},resolveElement:function(){return h.resolveElement},safeHTML:function(){return l.safeHTML},sanitizeHTMLElement:function(){return l.sanitizeHTMLElement},scrollIntoViewIfNeeded:function(){return h.scrollIntoViewIfNeeded},set:function(){return h.set},setTimeout:function(){return r.setTimeout},size:function(){return u.size},splitArray:function(){return o.splitArray},sprintf:function(){return d.sprintf},stringify:function(){return d.stringify},stripTags:function(){return l.stripTags},toArray:function(){return o.toArray},trim:function(){return d.trim},trimChars:function(){return d.trimChars},trimInv:function(){return d.trimInv},ucfirst:function(){return d.ucfirst}});var o=n(76855),r=n(91898),s=n(27613),a=n(58149),l=n(75275),c=n(71521),u=n(56175),d=n(59007),h=n(43555)},71521:function(t,i,n){"use strict";n.d(i,{NUMBER_FIELDS_REG:function(){return r.NUMBER_FIELDS_REG},normalizeColor:function(){return o.normalizeColor},normalizeCssNumericValue:function(){return r.normalizeCssNumericValue},normalizeCssValue:function(){return r.normalizeCssValue},normalizeKeyAliases:function(){return s.normalizeKeyAliases},normalizeLicense:function(){return a.normalizeLicense},normalizePath:function(){return l.normalizePath},normalizeRelativePath:function(){return c.normalizeRelativePath},normalizeSize:function(){return u.normalizeSize},normalizeUrl:function(){return d.normalizeUrl}});var o=n(21224),r=n(3760),s=n(49033),a=n(12972),l=n(9992),c=n(70091),u=n(46334),d=n(37406)},21224:function(t,i,n){"use strict";n.d(i,{normalizeColor:function(){return s}});var o=n(35278),r=n(49055);let s=t=>{let i=["#"],n=(0,o.colorToHex)(t);if(!n)return!1;if(3===(n=(n=(0,r.trim)(n.toUpperCase())).substring(1)).length){for(let t=0;t<3;t+=1)i.push(n[t]),i.push(n[t]);return i.join("")}return n.length>6&&(n=n.slice(0,6)),"#"+n}},3760:function(t,i,n){"use strict";n.d(i,{NUMBER_FIELDS_REG:function(){return l},normalizeCssNumericValue:function(){return c},normalizeCssValue:function(){return u}});var o=n(29807),r=n(86068),s=n(35278),a=n(12475);let l=/^(left|top|bottom|right|width|min|max|height|margin|padding|fontsize|font-size)/i;function c(t,i){return!(0,r.isVoid)(i)&&l.test(t)&&(0,o.isNumeric)(i.toString())?parseInt(i.toString(),10)+"px":i}function u(t,i){if("font-weight"===(0,a.kebabCase)(t)){switch(i.toString().toLowerCase()){case"700":case"bold":return 700;case"400":case"normal":return 400;case"900":case"heavy":return 900}return(0,o.isNumeric)(i)?Number(i):i}return/color/i.test(t)&&/^rgb/i.test(i.toString())&&(0,s.colorToHex)(i.toString())||i}},49033:function(t,i,n){"use strict";n.d(i,{normalizeKeyAliases:function(){return s}});var o=n(82758),r=n(49055);function s(t){let i={},n={meta:1,ctrl:2,control:2,alt:3,shift:4,space:5};return t.replace(/\+\+/g,"+add").split(/[\s]*\+[\s]*/).map(t=>(0,r.trim)(t.toLowerCase())).map(t=>o.KEY_ALIASES[t]||t).sort((t,i)=>n[t]&&!n[i]?-1:!n[t]&&n[i]?1:n[t]&&n[i]?n[t]-n[i]:t>i?1:-1).filter(t=>!i[t]&&""!==t&&(i[t]=!0)).join("+")}},12972:function(t,i,n){"use strict";n.d(i,{normalizeLicense:function(){return o}});let o=(t,i=8)=>{let n=[];for(;t.length;)n.push(t.substr(0,i)),t=t.substr(i);return n[1]=n[1].replace(/./g,"*"),n[2]=n[2].replace(/./g,"*"),n.join("-")}},9992:function(t,i,n){"use strict";n.d(i,{normalizePath:function(){return r}});var o=n(49055);let r=(...t)=>t.filter(t=>(0,o.trim)(t).length).map((i,n)=>(i=i.replace(/([^:])[\\/]+/g,"$1/"),n&&(i=i.replace(/^\//,"")),n!==t.length-1&&(i=i.replace(/\/$/,"")),i)).join("/")},70091:function(t,i,n){"use strict";n.d(i,{normalizeRelativePath:function(){return o}});let o=t=>t.split("/").reduce((t,i)=>{switch(i){case"":case".":break;case"..":t.pop();break;default:t.push(i)}return t},[]).join("/")+(t.endsWith("/")?"/":"")},46334:function(t,i,n){"use strict";n.d(i,{normalizeSize:function(){return o}});let o=(t,i)=>/^[0-9]+$/.test(t.toString())?t+i:t.toString()},37406:function(t,i,n){"use strict";n.d(i,{normalizeUrl:function(){return o}});let o=(...t)=>t.filter(t=>t.length).map(t=>t.replace(/\/$/,"")).join("/").replace(/([^:])[\\/]+/g,"$1/")},44506:function(t,i,n){"use strict";n.d(i,{getContentWidth:function(){return o}});let o=(t,i)=>{let n=i.getComputedStyle(t);return t.offsetWidth-parseInt(n.getPropertyValue("padding-left")||"0",10)-parseInt(n.getPropertyValue("padding-right")||"0",10)}},16442:function(t,i,n){"use strict";n.d(i,{getScrollParent:function(){return function t(i){if(!i)return null;let n=r.Dom.isHTMLElement(i),a=n&&(0,s.css)(i,"overflowY");return n&&"visible"!==a&&"hidden"!==a&&i.scrollHeight>=i.clientHeight?i:t(i.parentNode)||o.globalDocument.scrollingElement||o.globalDocument.body}}});var o=n(82758),r=n(2748),s=n(43555)},56175:function(t,i,n){"use strict";n.d(i,{getContentWidth:function(){return o.getContentWidth},getScrollParent:function(){return r.getScrollParent},innerWidth:function(){return s.innerWidth},offset:function(){return l.offset},position:function(){return c.position},size:function(){return a.size}});var o=n(44506),r=n(16442),s=n(81630),a=n(21496),l=n(81284),c=n(5700)},81630:function(t,i,n){"use strict";n.d(i,{innerWidth:function(){return o}});let o=(t,i)=>{let n=i.getComputedStyle(t);return t.clientWidth-(parseFloat(n.paddingLeft||"0")+parseFloat(n.paddingRight||"0"))}},21496:function(t,i,n){"use strict";n.d(i,{size:function(){return r}});var o=n(27613);function r(t){return(0,o.isString)(t)||(0,o.isArray)(t)?t.length:(0,o.isPlainObject)(t)?Object.keys(t).length:0}},81284:function(t,i,n){"use strict";n.d(i,{offset:function(){return o}});let o=(t,i,n,r=!1)=>{let s,a,l;try{s=t.getBoundingClientRect()}catch(t){s={top:0,bottom:0,left:0,right:0,width:0,height:0}}let c=n.body,u=n.documentElement||{clientTop:0,clientLeft:0,scrollTop:0,scrollLeft:0},d=n.defaultView||n.parentWindow,h=d.pageYOffset||u.scrollTop||c.scrollTop,p=d.pageXOffset||u.scrollLeft||c.scrollLeft,f=u.clientTop||c.clientTop||0,m=u.clientLeft||c.clientLeft||0,g=i.iframe;if(!r&&i&&i.options&&i.o.iframe&&g){let{top:t,left:n}=o(g,i,i.od,!0);a=s.top+t,l=s.left+n}else a=s.top+h-f,l=s.left+p-m;return{top:Math.round(a),left:Math.round(l),width:s.width,height:s.height}}},5700:function(t,i,n){"use strict";n.d(i,{position:function(){return function t(i,n,r=!1){var s,a;let l=i.getBoundingClientRect(),c=l.left,u=l.top;if((0,o.isJoditObject)(n)&&n.iframe&&n.ed.body.contains(i)&&!r){let{left:i,top:o}=t(n.iframe,n,!0);c+=i,u+=o}return{left:Math.round(c),top:Math.round(u),width:Math.round(null!=(s=i.offsetWidth)?s:l.width),height:Math.round(null!=(a=i.offsetHeight)?a:l.height)}}}});var o=n(19306)},87058:function(t,i,n){"use strict";n.d(i,{camelCase:function(){return o}});let o=t=>t.replace(/([-_])(.)/g,(t,i,n)=>n.toUpperCase())},67477:function(t,i,n){"use strict";n.d(i,{fuzzySearchIndex:function(){return r}});var o=n(82758);function r(t,i,n=0,s=1){let a=0,l=0,c=-1,u=0,d=0;for(l=n;a<t.length&&l<i.length;)t[a].toLowerCase()===i[l].toLowerCase()?(a++,u++,d=0,-1===c&&(c=l)):a>0&&(d>=s&&i[l]!==o.INVISIBLE_SPACE?(a=0,c=-1,u=0,d=0,l--):(d++,u++)),l++;return a===t.length?[c,u]:[-1,0]}},56967:function(t,i,n){"use strict";n.d(i,{i18n:function(){return u},sprintf:function(){return c}});var o=n(82758),r=n(70799),s=n(36409),a=n(43555),l=n(6441);let c=(t,i)=>{if(!i||!i.length)return t;let n=/%([sd])/g,o=n.exec(t),r=t,s=0;for(;o&&void 0!==i[s];)r=r.replace(o[0],i[s].toString()),s+=1,o=n.exec(t);return r};function u(t,i,n){if(!(0,r.isString)(t))throw(0,a.error)("i18n: Need string in first argument");if(!t.length)return t;let u=!!(null==n?void 0:n.debugLanguage),d={},h=t=>i&&i.length?c(t,i):t,p=(0,a.defaultLanguage)(l.Config.defaultOptions.language,l.Config.defaultOptions.language),f=(0,a.defaultLanguage)(null==n?void 0:n.language,p),m=i=>{if(!i)return;if((0,r.isString)(i[t]))return h(i[t]);let n=t.toLowerCase();if((0,r.isString)(i[n]))return h(i[n]);let o=(0,s.ucfirst)(t);if((0,r.isString)(i[o]))return h(i[o])};void 0!==o.lang[f]?d=o.lang[f]:u||(d=void 0!==o.lang[p]?o.lang[p]:o.lang.en);let g=null==n?void 0:n.i18n;if(g&&g[f]){let t=m(g[f]);if(t)return t}return m(d)||(!u&&o.lang.en&&(0,r.isString)(o.lang.en[t])&&o.lang.en[t]?h(o.lang.en[t]):u?"{"+t+"}":(o.IS_PROD,h(t)))}},59007:function(t,i,n){"use strict";n.d(i,{CamelCaseToKebabCase:function(){return a.CamelCaseToKebabCase},camelCase:function(){return o.camelCase},fuzzySearchIndex:function(){return r.fuzzySearchIndex},i18n:function(){return s.i18n},kebabCase:function(){return a.kebabCase},sprintf:function(){return s.sprintf},stringify:function(){return l.stringify},trim:function(){return c.trim},trimChars:function(){return c.trimChars},trimInv:function(){return c.trimInv},ucfirst:function(){return u.ucfirst}});var o=n(87058),r=n(67477),s=n(56967),a=n(12475),l=n(67462),c=n(49055),u=n(36409)},12475:function(t,i,n){"use strict";n.d(i,{CamelCaseToKebabCase:function(){return r},kebabCase:function(){return o}});let o=t=>t.replace(/([A-Z])([A-Z])([a-z])/g,"$1-$2$3").replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase(),r=t=>t.replace(/([A-Z])([A-Z])([a-z])/g,"$1-$2$3").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()},67462:function(t,i,n){"use strict";function o(t,i={}){if("object"!=typeof t)return t+"";let n=new Set(i.excludeKeys),r=new WeakMap;return JSON.stringify(t,(t,i)=>{if(!n.has(t)){if("object"==typeof i&&null!=i){if(r.get(i))return"[refObject]";r.set(i,!0)}return i}},i.prettify)}n.d(i,{stringify:function(){return o}})},49055:function(t,i,n){"use strict";n.d(i,{trim:function(){return r},trimChars:function(){return s},trimInv:function(){return a}});var o=n(82758);function r(t){return t.replace((0,o.SPACE_REG_EXP_END)(),"").replace((0,o.SPACE_REG_EXP_START)(),"")}function s(t,i){return t.replace(RegExp(`[${i}]+$`),"").replace(RegExp(`^[${i}]+`),"")}function a(t){return t.replace((0,o.INVISIBLE_SPACE_REG_EXP_END)(),"").replace((0,o.INVISIBLE_SPACE_REG_EXP_START)(),"")}},36409:function(t,i,n){"use strict";function o(t){return t.length?t[0].toUpperCase()+t.substring(1):""}n.d(i,{ucfirst:function(){return o}})},25726:function(t,i,n){"use strict";n.d(i,{alignElement:function(){return l},clearAlign:function(){return a},hAlignElement:function(){return s}});var o=n(22732),r=n(41180);function s(t,i){i&&"normal"!==i?"center"!==i?((0,r.css)(t,"float",i),(0,r.clearCenterAlign)(t)):(0,r.css)(t,{float:"",display:"block",marginLeft:"auto",marginRight:"auto"}):((0,r.css)(t,"float")&&-1!==["right","left"].indexOf((0,r.css)(t,"float").toString().toLowerCase())&&(0,r.css)(t,"float",""),(0,r.clearCenterAlign)(t))}function a(t){o.Dom.each(t,t=>{o.Dom.isHTMLElement(t)&&t.style.textAlign&&(t.style.textAlign="",t.style.cssText.trim().length||t.removeAttribute("style"))})}function l(t,i){if(o.Dom.isNode(i)&&o.Dom.isElement(i))switch(a(i),t.toLowerCase()){case"justifyfull":i.style.textAlign="justify";break;case"justifyright":i.style.textAlign="right";break;case"justifyleft":i.style.textAlign="left";break;case"justifycenter":i.style.textAlign="center"}}},63799:function(t,i,n){"use strict";n.d(i,{alreadyLoadedList:function(){return s},appendScriptAsync:function(){return l},appendStyleAsync:function(){return c},loadNext:function(){return function t(i,n,r=0){return(0,o.isString)(n[r])?l(i,n[r]).then(()=>t(i,n,r+1)):Promise.resolve()}},loadNextStyle:function(){return function t(i,n,r=0){return(0,o.isString)(n[r])?c(i,n[r]).then(()=>t(i,n,r+1)):Promise.resolve()}}});var o=n(70799),r=n(66292);let s=new Map,a=t=>(i,n)=>{if(s.has(n))return s.get(n);let o=t(i,n);return s.set(n,o),o},l=a((t,i)=>t.async.promise((n,o)=>{if(t.isInDestruct)return o();let s=t.c.element("script",{type:"text/javascript",crossorigin:"anonymous",referrerpolicy:"no-referrer",async:!0,src:(0,r.completeUrl)(i)});t.e.one(s,"error",o).one(s,"load",n),t.od.body.appendChild(s)})),c=a((t,i)=>t.async.promise((n,o)=>{if(t.isInDestruct)return o();let s=t.c.element("link");s.rel="stylesheet",s.media="all",s.crossOrigin="anonymous",t.isInDestruct||t.e.on(s,"load",()=>n(s)).on(s,"error",o),s.href=(0,r.completeUrl)(i),t.o.shadowRoot?t.o.shadowRoot.appendChild(s):t.od.body.appendChild(s)}))},38837:function(t,i,n){"use strict";n.d(i,{assert:function(){return r}});class o extends Error{constructor(t){super(t),this.name="AssertionError"}}function r(t,i){if(!t)throw new o("Assertion failed: "+i)}},29960:function(t,i,n){"use strict";n.d(i,{attr:function(){return function t(i,n,c){if(!i||!(0,o.isFunction)(i.getAttribute))return null;if(!(0,s.isString)(n))return Object.keys(n).forEach(o=>{let s=n[o];(0,r.isPlainObject)(s)&&"style"===o?(0,l.css)(i,s):("className"===o&&(o="class"),t(i,o,s))}),null;let u=(0,a.CamelCaseToKebabCase)(n);if(/^-/.test(u)){let n=t(i,"data"+u);if(n)return n;u=u.substr(1)}if(void 0!==c)if(null==c)i.hasAttribute(u)&&i.removeAttribute(u);else{let t=c.toString();return"IMG"===i.nodeName&&("width"===u||"height"===u)&&(t=t.replace("px","")),i.setAttribute(u,t),t}return i.getAttribute(u)}}});var o=n(23282),r=n(72430),s=n(70799),a=n(12475),l=n(41180)},97639:function(t,i,n){"use strict";n.d(i,{browser:function(){return o}});let o=t=>{let i=navigator.userAgent.toLowerCase(),n=/(firefox)[\s/]([\w.]+)/.exec(i)||/(chrome)[\s/]([\w.]+)/.exec(i)||/(webkit)[\s/]([\w.]+)/.exec(i)||/(opera)(?:.*version)[\s/]([\w.]+)/.exec(i)||/(msie)[\s]([\w.]+)/.exec(i)||/(trident)\/([\w.]+)/.exec(i)||0>i.indexOf("compatible")||[];return"version"===t?n[2]:"webkit"===t?"chrome"===n[1]||"webkit"===n[1]:"ff"===t?"firefox"===n[1]:"msie"===t?"trident"===n[1]||"msie"===n[1]:n[1]===t}},44710:function(t,i,n){"use strict";n.d(i,{buildQuery:function(){return r}});var o=n(72430);let r=(t,i)=>{let n=[],s=encodeURIComponent;for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a)){let l=i?i+"["+a+"]":a,c=t[a];n.push((0,o.isPlainObject)(c)?r(c,l):s(l)+"="+s(c))}return n.join("&")}},66292:function(t,i,n){"use strict";n.d(i,{completeUrl:function(){return r}});var o=n(82758);let r=t=>("file:"===o.globalWindow.location.protocol&&/^\/\//.test(t)&&(t="https:"+t),t)},68934:function(t,i,n){"use strict";n.d(i,{ConfigDeepFlatten:function(){return function t(i){return(0,u.keys)(i,!1).reduce((n,o)=>(n[o]=(0,r.isPlainObject)(i[o])?t(i[o]):i[o],n),{})}},ConfigFlatten:function(){return d},ConfigProto:function(){return function t(i,n,u=0){if(Object.getPrototypeOf(i)!==Object.prototype)return i;let d=l.Config.defaultOptions;if((0,s.isString)(i.preset)){if(void 0!==d.presets[i.preset]){let t=d.presets[i.preset];Object.keys(t).forEach(n=>{(0,a.isVoid)(i[n])&&(i[n]=t[n])})}delete i.preset}let h={};return Object.keys(i).forEach(s=>{let a=i[s],l=n?n[s]:null;if((0,r.isPlainObject)(a)&&(0,r.isPlainObject)(l)&&!(0,c.isAtom)(a)){h[s]=t(a,l,u+1);return}if(0!==u&&(0,o.isArray)(a)&&!(0,c.isAtom)(a)&&(0,o.isArray)(l)){h[s]=[...a,...l.slice(a.length)];return}h[s]=a}),Object.setPrototypeOf(h,n),h}}});var o=n(68345),r=n(72430),s=n(70799),a=n(86068),l=n(6441),c=n(97735),u=n(37790);function d(t){return(0,u.keys)(t,!1).reduce((i,n)=>(i[n]=t[n],i),{})}},55877:function(t,i,n){"use strict";n.d(i,{convertMediaUrlToVideoEmbed:function(){return a}});var o=n(82758),r=n(26049),s=n(82501);let a=(t,{width:i=400,height:n=345}={})=>{if(!(0,r.isURL)(t))return t;let a=o.globalDocument.createElement("a"),l=/(?:http?s?:\/\/)?(?:www\.)?(?:vimeo\.com)\/?(.+)/g;a.href=t,i||(i=400),n||(n=345);let c=a.protocol||"";switch(a.hostname){case"www.vimeo.com":case"vimeo.com":return l.test(t)?t.replace(l,'<iframe width="'+i+'" height="'+n+'" src="'+c+'//player.vimeo.com/video/$1" frameborder="0" allowfullscreen></iframe>'):t;case"youtube.com":case"www.youtube.com":case"youtu.be":case"www.youtu.be":{let o=a.search?(0,s.parseQuery)(a.search):{v:a.pathname.substring(1)};return/^embed\/.*/.test(o.v)&&(o.v=o.v.substring(6)),o.v?'<iframe width="'+i+'" height="'+n+'" src="'+c+"//www.youtube.com/embed/"+o.v+'" frameborder="0" allowfullscreen></iframe>':t}}return t}},41180:function(t,i,n){"use strict";n.d(i,{clearCenterAlign:function(){return u},css:function(){return c}});var o=n(87612),r=n(72430),s=n(3760),a=n(87058),l=n(12475);function c(t,i,n,u=!1){if((0,o.isBoolean)(n)&&(u=n,n=void 0),(0,r.isPlainObject)(i)||void 0!==n){let o=(t,i,n)=>{void 0!==(n=(0,s.normalizeCssNumericValue)(i,n))&&(null==n||c(t,i,!0)!==(0,s.normalizeCssValue)(i,n))&&(t.style[i]=n)};if((0,r.isPlainObject)(i)){let n=Object.keys(i);for(let r=0;r<n.length;r+=1)o(t,(0,a.camelCase)(n[r]),i[n[r]])}else o(t,(0,a.camelCase)(i),n);return""}let d=(0,l.kebabCase)(i),h=t.ownerDocument||document,p=!!h&&(h.defaultView||h.parentWindow),f=t.style[i],m="";return void 0!==f&&""!==f?m=f:p&&!u&&(m=p.getComputedStyle(t).getPropertyValue(d)),s.NUMBER_FIELDS_REG.test(i)&&/^[-+]?[0-9.]+px$/.test(m.toString())&&(m=parseInt(m.toString(),10)),(0,s.normalizeCssValue)(i,m)}let u=t=>{"block"===c(t,"display")&&c(t,"display","");let{style:i}=t;"auto"===i.marginLeft&&"auto"===i.marginRight&&(i.marginLeft="",i.marginRight="")}},15456:function(t,i,n){"use strict";n.d(i,{ctrlKey:function(){return o}});let o=t=>{if("u">typeof navigator&&-1!==navigator.userAgent.indexOf("Mac OS X")){if(t.metaKey&&!t.altKey)return!0}else if(t.ctrlKey&&!t.altKey)return!0;return!1}},86583:function(t,i,n){"use strict";n.d(i,{dataBind:function(){return s}});var o=n(39955);let r=new WeakMap,s=(t,i,n)=>{let s=r.get(t);if(!s){s={},r.set(t,s);let i=null;(0,o.isViewObject)(t.j)&&(i=t.j.e),(0,o.isViewObject)(t)&&(i=t.e),i&&i.on("beforeDestruct",()=>{r.delete(t)})}return void 0===n?s[i]:(s[i]=n,n)}},96325:function(t,i,n){"use strict";n.d(i,{defaultLanguage:function(){return s}});var o=n(82758),r=n(70799);let s=(t,i="en")=>"auto"!==t&&(0,r.isString)(t)?t:o.globalDocument.documentElement&&o.globalDocument.documentElement.lang?o.globalDocument.documentElement.lang:navigator.language?navigator.language.substring(0,2):i},82760:function(t,i,n){"use strict";n.d(i,{connection:function(){return s},error:function(){return r},options:function(){return a}});var o=n(32880);function r(t){return TypeError(t)}function s(t){return new o.ConnectionError(t)}function a(t){return new o.OptionsError(t)}},93661:function(t,i,n){"use strict";function o(t="Aborted"){return new DOMException(t,"AbortError")}n.d(i,{abort:function(){return o}})},86397:function(t,i,n){"use strict";n.d(i,{ConnectionError:function(){return o}});class o extends Error{constructor(t){super(t),Object.setPrototypeOf(this,o.prototype)}}},32880:function(t,i,n){"use strict";n.d(i,{ConnectionError:function(){return r.ConnectionError},OptionsError:function(){return s.OptionsError},abort:function(){return o.abort}});var o=n(93661),r=n(86397),s=n(57865)},57865:function(t,i,n){"use strict";n.d(i,{OptionsError:function(){return o}});class o extends TypeError{constructor(t){super(t),Object.setPrototypeOf(this,o.prototype)}}},89890:function(t,i,n){"use strict";n.d(i,{ConnectionError:function(){return r.ConnectionError},OptionsError:function(){return r.OptionsError},abort:function(){return r.abort},connection:function(){return o.connection},error:function(){return o.error},options:function(){return o.options}});var o=n(82760),r=n(32880)},97735:function(t,i,n){"use strict";n.d(i,{fastClone:function(){return a},isAtom:function(){return r},markAsAtomic:function(){return s}});var o=n(67462);function r(t){return t&&t.isAtom}function s(t){return Object.defineProperty(t,"isAtom",{enumerable:!1,value:!0,configurable:!1}),t}function a(t){return JSON.parse((0,o.stringify)(t))}},80568:function(t,i,n){"use strict";n.d(i,{getClassName:function(){return s},keepNames:function(){return r}});var o=n(23282);let r=new Map,s=t=>{var i;if((0,o.isFunction)(t.className))return t.className();let n=(null==(i=t.constructor)?void 0:i.originalConstructor)||t.constructor;if(r.has(n))return r.get(n);if(n.name)return n.name;let s=new RegExp(/^\s*function\s*(\S*)\s*\(/),a=n.toString().match(s);return a?a[1]:""}},94643:function(t,i,n){"use strict";n.d(i,{get:function(){return s}});var o=n(70799),r=n(86068);function s(t,i){if(!(0,o.isString)(t)||!t.length)return null;let n=t.split("."),s=i;try{for(let t of n){if((0,r.isVoid)(s[t]))return null;s=s[t]}}catch(t){return null}return(0,r.isVoid)(s)?null:s}},38420:function(t,i,n){"use strict";n.d(i,{humanSizeToBytes:function(){return o}});let o=t=>{if(/^[0-9.]+$/.test(t.toString()))return parseFloat(t);let i=t.substr(-2,2).toUpperCase(),n=["KB","MB","GB","TB"],o=parseFloat(t.substr(0,t.length-2));return -1!==n.indexOf(i)?o*Math.pow(1024,n.indexOf(i)+1):parseInt(t,10)}},43555:function(t,i,n){"use strict";n.d(i,{$$:function(){return E.$$},ConfigDeepFlatten:function(){return d.ConfigDeepFlatten},ConfigFlatten:function(){return d.ConfigFlatten},ConfigProto:function(){return d.ConfigProto},ConnectionError:function(){return b.ConnectionError},LimitedStack:function(){return A.LimitedStack},OptionsError:function(){return b.OptionsError},abort:function(){return b.abort},alignElement:function(){return o.alignElement},alreadyLoadedList:function(){return r.alreadyLoadedList},appendScriptAsync:function(){return r.appendScriptAsync},appendStyleAsync:function(){return r.appendStyleAsync},assert:function(){return s.assert},attr:function(){return a.attr},browser:function(){return l.browser},buildQuery:function(){return c.buildQuery},call:function(){return j.call},callPromise:function(){return j.callPromise},callThis:function(){return j.callThis},clearAlign:function(){return o.clearAlign},clearCenterAlign:function(){return p.clearCenterAlign},cns:function(){return C.cns},completeUrl:function(){return u.completeUrl},connection:function(){return b.connection},convertMediaUrlToVideoEmbed:function(){return h.convertMediaUrlToVideoEmbed},css:function(){return p.css},cssPath:function(){return E.cssPath},ctrlKey:function(){return f.ctrlKey},dataBind:function(){return m.dataBind},defaultLanguage:function(){return g.defaultLanguage},error:function(){return b.error},fastClone:function(){return v.fastClone},get:function(){return y.get},getClassName:function(){return w.getClassName},getDataTransfer:function(){return j.getDataTransfer},getPropertyDescriptor:function(){return j.getPropertyDescriptor},getXPathByElement:function(){return E.getXPathByElement},hAlignElement:function(){return o.hAlignElement},humanSizeToBytes:function(){return _.humanSizeToBytes},inView:function(){return I.inView},isAtom:function(){return v.isAtom},keepNames:function(){return w.keepNames},keys:function(){return j.keys},loadImage:function(){return j.loadImage},loadNext:function(){return r.loadNext},loadNextStyle:function(){return r.loadNextStyle},markAsAtomic:function(){return v.markAsAtomic},markDeprecated:function(){return C.markDeprecated},markOwner:function(){return j.markOwner},memorizeExec:function(){return j.memorizeExec},options:function(){return b.options},parseQuery:function(){return k.parseQuery},previewBox:function(){return S.previewBox},refs:function(){return E.refs},reset:function(){return x.reset},resolveElement:function(){return E.resolveElement},scrollIntoViewIfNeeded:function(){return I.scrollIntoViewIfNeeded},set:function(){return T.set}});var o=n(25726),r=n(63799),s=n(38837),a=n(29960),l=n(97639),c=n(44710),u=n(66292),d=n(68934),h=n(55877),p=n(41180),f=n(15456),m=n(86583),g=n(96325),b=n(89890),v=n(97735),y=n(94643),w=n(80568),_=n(38420),C=n(95942),k=n(82501),S=n(11628),x=n(58844),I=n(26395),E=n(76078),T=n(3703),A=n(50535),j=n(37790)},95942:function(t,i,n){"use strict";n.d(i,{cns:function(){return o},markDeprecated:function(){return r}});let o=console;function r(t,i=[""],n=null){return(...r)=>(o.warn(`Method "${i[0]}" deprecated.`+(i[1]?` Use "${i[1]}" instead`:"")),t.call(n,...r))}},82501:function(t,i,n){"use strict";n.d(i,{parseQuery:function(){return o}});let o=t=>{let i={},n=t.substring(1).split("&");for(let t=0;t<n.length;t+=1){let o=n[t].split("=");i[decodeURIComponent(o[0])]=decodeURIComponent(o[1]||"")}return i}},11628:function(t,i,n){"use strict";n.d(i,{previewBox:function(){return c}});var o=n(2748),r=n(70799),s=n(29960),a=n(41180),l=n(76078);function c(t,i,n="px",u=null){let d=[],h=function(t,i){let n=[];try{(0,l.$$)("img",t.editor).forEach(r=>{let a=[(0,s.attr)(r,"width"),(0,s.attr)(r,"height"),r.src];(0,s.attr)(r,{width:r.offsetWidth+i,height:r.offsetHeight+i});let l=t.createInside.a();t.ed.body.appendChild(l),l.href=r.src,r.src=l.href,o.Dom.safeRemove(l),n.push(()=>{var t;r.src=null!=(t=a[2])?t:"",(0,s.attr)(r,{width:a[0]||null,height:a[1]||null})})})}catch(t){throw n.forEach(t=>t()),n.length=0,t}return n}(t,n);try{let l=t.e.fire("beforePreviewBox",i,n);if(null!=l)return l;let c=t.c.div("jodit__preview-box jodit-context");u&&u.appendChild(c),(0,a.css)(c,{position:"relative",padding:16});let h=t.value||`<div style='position: absolute;left:50%;top:50%;transform: translateX(-50%) translateY(-50%);color:#ccc;'>${t.i18n("Empty")}</div>`;if(t.iframe){let i=t.create.element("iframe");(0,a.css)(i,{minWidth:800,minHeight:600,border:0}),c.appendChild(i);let n=i.contentWindow;if(n&&(t.e.fire("generateDocumentStructure.iframe",n.document,t),c=n.document.body,"function"==typeof ResizeObserver)){let o=!1,r=n.document.body,s=new ResizeObserver(t.async.debounce(()=>{s.unobserve(r),i.style.height=`${r.offsetHeight+20}px`,t.async.requestAnimationFrame(()=>{o||s.observe(r)})},100)),a=()=>{o=!0,s.unobserve(r),s.disconnect(),t.e.off("beforeDestruct",a)};d.push(a),t.e.on("beforeDestruct",a)}}else(0,a.css)(c,{minWidth:1024,minHeight:600,border:0});let p=(i,n)=>{let a=(0,r.isString)(n)?t.c.div():n;(0,r.isString)(n)&&(a.innerHTML=n);for(let t=0;t<a.childNodes.length;t+=1){let n=a.childNodes[t];if(o.Dom.isElement(n)){let t=i.ownerDocument.createElement(n.nodeName);for(let i=0;i<n.attributes.length;i+=1)(0,s.attr)(t,n.attributes[i].nodeName,n.attributes[i].nodeValue);0===n.childNodes.length||o.Dom.isTag(n,"table")?"SCRIPT"===n.nodeName?n.textContent&&(t.textContent=n.textContent):n.innerHTML&&(t.innerHTML=n.innerHTML):p(t,n);try{i.appendChild(t)}catch(t){}}else try{i.appendChild(n.cloneNode(!0))}catch(t){}}};return p(c,h),t.e.fire("afterPreviewBox",c),[c,()=>{d.forEach(t=>t())}]}finally{h.forEach(t=>t())}}},58844:function(t,i,n){"use strict";n.d(i,{reset:function(){return l}});var o=n(82758),r=n(23282),s=n(94643);let a={};function l(t){var i,n;if(!(t in a)){let n=o.globalDocument.createElement("iframe");try{if(n.src="about:blank",o.globalDocument.body.appendChild(n),!n.contentWindow)return null;let i=(0,s.get)(t,n.contentWindow),l=(0,s.get)(t.split(".").slice(0,-1).join("."),n.contentWindow);(0,r.isFunction)(i)&&(a[t]=i.bind(l))}catch(t){if(!o.IS_PROD)throw t}finally{null==(i=n.parentNode)||i.removeChild(n)}}return null!=(n=a[t])?n:null}},26395:function(t,i,n){"use strict";n.d(i,{inView:function(){return r},scrollIntoViewIfNeeded:function(){return s}});var o=n(2748);function r(t,i,n){let o=t.getBoundingClientRect(),r=t,s=o.top,a=o.height;for(;r&&r!==i&&r.parentNode;)if(!(s<=(o=(r=r.parentNode).getBoundingClientRect()).bottom)||s+a<=o.top)return!1;return s<=(n.documentElement&&n.documentElement.clientHeight||0)}function s(t,i,n){o.Dom.isHTMLElement(t)&&!r(t,i,n)&&(i.clientHeight!==i.scrollHeight&&(i.scrollTop=t.offsetTop),r(t,i,n)||t.scrollIntoView())}},76078:function(t,i,n){"use strict";n.d(i,{$$:function(){return h},cssPath:function(){return m},getXPathByElement:function(){return p},refs:function(){return f},resolveElement:function(){return g}});var o=n(82758),r=n(2748),s=n(4510),a=n(70799),l=n(87058),c=n(29960),u=n(89890);let d=1;function h(t,i){let n;if(!o.IS_ES_NEXT&&/:scope/.test(t)&&o.IS_IE&&!(i&&i.nodeType===Node.DOCUMENT_NODE)){let o=i.id,r=o||"_selector_id_"+(Math.random()+"").slice(2)+ ++d;t=t.replace(/:scope/g,"#"+r),o||i.setAttribute("id",r),n=i.parentNode.querySelectorAll(t),o||i.removeAttribute("id")}else n=i.querySelectorAll(t);return[].slice.call(n)}let p=(t,i)=>{if(!t||t.nodeType!==Node.ELEMENT_NODE||!t.parentNode||i===t)return"";if(t.id)return"//*[@id='"+t.id+"']";let n=[].filter.call(t.parentNode.childNodes,i=>i.nodeName===t.nodeName);return p(t.parentNode,i)+"/"+t.nodeName.toLowerCase()+(n.length>1?"["+((0,s.toArray)(n).indexOf(t)+1)+"]":"")},f=t=>("container"in t&&(t=t.container),h("[ref],[data-ref]",t).reduce((t,i)=>{let n=(0,c.attr)(i,"-ref");return n&&(0,a.isString)(n)&&(t[(0,l.camelCase)(n)]=i,t[n]=i),t},{})),m=t=>{if(!r.Dom.isElement(t))return null;let i=[],n=t;for(;n&&n.nodeType===Node.ELEMENT_NODE;){let t=n.nodeName.toLowerCase();if(n.id){t+="#"+n.id,i.unshift(t);break}{let i=n,o=1;do(i=i.previousElementSibling)&&i.nodeName.toLowerCase()===t&&o++;while(i)t+=":nth-of-type("+o+")"}i.unshift(t),n=n.parentNode}return i.join(" > ")};function g(t,i){let n=t;if((0,a.isString)(t))try{n=i.querySelector(t)}catch(i){throw(0,u.error)('String "'+t+'" should be valid HTML selector')}if(!n||"object"!=typeof n||!r.Dom.isElement(n)||!n.cloneNode)throw(0,u.error)('Element "'+t+'" should be string or HTMLElement instance');return n}},3703:function(t,i,n){"use strict";n.d(i,{set:function(){return l}});var o=n(68345),r=n(29807),s=n(72430),a=n(70799);function l(t,i,n){if(!(0,a.isString)(t)||!t.length)return;let l=t.split("."),c=n,u=l[0];for(let t=0;t<l.length-1;t+=1)u=l[t],(0,o.isArray)(c[u])||(0,s.isPlainObject)(c[u])||(c[u]=(0,r.isNumeric)(l[t+1])?[]:{}),c=c[u];c&&(c[l[l.length-1]]=i)}},50535:function(t,i,n){"use strict";n.d(i,{LimitedStack:function(){return o}});class o{push(t){return this.stack.push(t),this.stack.length>this.limit&&this.stack.shift(),this}pop(){return this.stack.pop()}find(t){return this.stack.find(t)}constructor(t){this.limit=t,this.stack=[]}}},37790:function(t,i,n){"use strict";n.d(i,{call:function(){return l},callPromise:function(){return d},callThis:function(){return c},getDataTransfer:function(){return m},getPropertyDescriptor:function(){return g},keys:function(){return p},loadImage:function(){return h},markOwner:function(){return u},memorizeExec:function(){return f}});var o=n(14773),r=n(86068),s=n(29960),a=n(86583);function l(t,...i){return t(...i)}function c(t,i,...n){return t.apply(i,n)}function u(t,i){(0,s.attr)(i,"data-editor_id",t.id),i.component||Object.defineProperty(i,"jodit",{value:t})}function d(t,i){return(0,o.isPromise)(t)?t.then(t=>t,()=>null).finally(i):null==i?void 0:i()}let h=(t,i)=>i.async.promise((n,o)=>{let r=new Image,s=()=>{i.e.off(r),null==o||o()},a=()=>{i.e.off(r),n(r)};i.e.one(r,"load",a).one(r,"error",s).one(r,"abort",s),r.src=t,r.complete&&a()}),p=(t,i=!0)=>{if(i)return Object.keys(t);let n=[];for(let i in t)n.push(i);return n},f=(t,i,{control:n},o)=>{var s;let l="button"+n.command,c=null!=(s=n.args&&n.args[0])?s:(0,a.dataBind)(t,l);if((0,r.isVoid)(c))return!1;(0,a.dataBind)(t,l,c),o&&(c=o(c)),t.execCommand(n.command,!1,null!=c?c:void 0)},m=t=>{if(t.clipboardData)return t.clipboardData;try{return t.dataTransfer||new DataTransfer}catch(t){return null}};function g(t,i){let n;do n=Object.getOwnPropertyDescriptor(t,i),t=Object.getPrototypeOf(t);while(!n&&t)return n}},31359:function(t,i,n){"use strict";n.d(i,{init:function(){return a}});var o=n(82758),r=n(60132),s=n(14041);function a(t,i,n,a,l,c,u){if((0,r.isInitable)(a))try{a.init(t)}catch(t){if(!o.IS_PROD)throw t}l.set(i,a),c.delete(i),a.hasStyle&&(0,s.loadStyle)(t,i).catch(t=>{o.IS_PROD}),a.styles&&(u(t,i,"style").innerHTML=a.styles)}},14041:function(t,i,n){"use strict";n.d(i,{loadExtras:function(){return d},loadStyle:function(){return c}});var o=n(82758),r=n(12475),s=n(63799),a=n(89672);let l=new Set;async function c(t,i){let n=u(t,i,!1);if(!l.has(n))return l.add(n),(0,s.appendStyleAsync)(t,n)}function u(t,i,n){i=(0,r.kebabCase)(i);let o=t.minified?".min":"";return t.basePath+"plugins/"+i+"/"+i+o+"."+(n?"js":"css")}function d(t,i,n,r){try{let o=n.filter(i=>!t.has((0,a.normalizeName)(i.name)));o.length&&o.map(t=>{let n=t.url||u(i,t.name,!0);return(0,s.appendScriptAsync)(i,n).then(r).catch(()=>null)})}catch(t){if(!o.IS_PROD)throw t}}},48591:function(t,i,n){"use strict";n.d(i,{makeInstance:function(){return s}});var o=n(82758),r=n(23282);function s(t,i){try{try{return(0,r.isFunction)(i)?new i(t):i}catch(n){if((0,r.isFunction)(i)&&!i.prototype)return i(t)}}catch(t){if(!o.IS_PROD)throw t}return null}},89672:function(t,i,n){"use strict";n.d(i,{normalizeName:function(){return r}});var o=n(12475);function r(t){return(0,o.kebabCase)(t).toLowerCase()}},50911:function(t,i,n){"use strict";n.d(i,{Plugin:function(){return o.Plugin}});var o=n(20356);n(41876)},41876:function(t,i,n){"use strict";n.d(i,{PluginSystem:function(){return f}});var o=n(82758),r=n(57012),s=n(46559),a=n(68345),l=n(60132),c=n(70799),u=n(31359),d=n(14041),h=n(48591),p=n(89672);class f{get size(){return this.__items.size}add(t,i){this.__items.set((0,p.normalizeName)(t),i),r.eventEmitter.fire(`plugin:${t}:ready`)}get(t){return this.__items.get((0,p.normalizeName)(t))}remove(t){this.__items.delete((0,p.normalizeName)(t))}__getFullPluginsList(t){let i=[];return this.__items.forEach((n,o)=>{(!t||t.has(o))&&i.push([o,n])}),i}__init(t){let{extraList:i,disableList:n,filter:r}={extraList:t.o.extraPlugins.map(t=>(0,c.isString)(t)?{name:t}:t),disableList:new Set((0,s.splitArray)(t.o.disablePlugins).map(p.normalizeName)),filter:t.o.safeMode?new Set(t.o.safePluginsList):null},f=new Map,m={},g=new Set;t.__plugins=m;let b=()=>{if(t.isInDestruct)return;let i=!1;this.__getFullPluginsList(r).forEach(([o,r])=>{if(n.has(o)||f.has(o))return;let s=null==r?void 0:r.requires;if(s&&(0,a.isArray)(s)&&s.length){if(s.some(t=>n.has(t)))return;if(!s.every(t=>f.has(t)))return void g.add(o)}i=!0;let l=(0,h.makeInstance)(t,r);if(!l){f.set(o,null),g.delete(o);return}(0,u.init)(t,o,r,l,f,g,this.opts.getContainer),m[o]=l}),i&&(t.e.fire("updatePlugins"),b())};i&&i.length&&(0,d.loadExtras)(this.__items,t,i,b),b(),t.e.on("beforeDestruct",()=>{Object.keys(m).forEach(i=>{let n=m[i];(0,l.isDestructable)(n)&&n.destruct(t),delete m[i]}),delete t.__plugins}),o.IS_PROD||g.size}wait(t){return new Promise(i=>{if(this.get(t))return i();let n=()=>{i(),r.eventEmitter.off(`plugin:${t}:ready`,n)};r.eventEmitter.on(`plugin:${t}:ready`,n)})}constructor(t){this.opts=t,this.__items=new Map}}},20356:function(t,i,n){"use strict";n.d(i,{Plugin:function(){return l}});var o=n(91907),r=n(65478),s=n(19306),a=function(t,i,n,o){var r,s=arguments.length,a=s<3?i:null===o?o=Object.getOwnPropertyDescriptor(i,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,i,n,o);else for(var l=t.length-1;l>=0;l--)(r=t[l])&&(a=(s<3?r(a):s>3?r(i,n,a):r(i,n))||a);return s>3&&a&&Object.defineProperty(i,n,a),a};class l extends o.ViewComponent{className(){return"Plugin"}__afterPluginSystemInit(){let{j:t,buttons:i}=this;i&&(0,s.isJoditObject)(t)&&i.forEach(i=>{t.registerButton(i)})}__afterInit(){this.__inited=!0,this.setStatus(o.STATUSES.ready),this.afterInit(this.jodit)}init(t){this.jodit.isReady&&(this.afterInit(this.jodit),this.__afterPluginSystemInit(),this.jodit.e.fire("rebuildToolbar"))}__beforeDestruct(){var t;if(this.isInDestruct)return;let{j:i}=this;if(i.e.off("afterPluginSystemInit",this.__afterPluginSystemInit).off("afterInit",this.__afterInit).off("beforeDestruct",this.destruct),this.setStatus(o.STATUSES.beforeDestruct),!this.__inited)return super.destruct();(0,s.isJoditObject)(i)&&(null==(t=this.buttons)||t.forEach(t=>{null==i||i.unregisterButton(t)})),this.beforeDestruct(this.j),super.destruct()}constructor(t){super(t),this.buttons=[],this.hasStyle=!1,this.__inited=!1,t.e.on("afterPluginSystemInit",this.__afterPluginSystemInit).on("afterInit",this.__afterInit).on("beforeDestruct",this.__beforeDestruct)}}l.requires=[],a([r.autobind],l.prototype,"__afterPluginSystemInit",null),a([r.autobind],l.prototype,"__afterInit",null),a([r.autobind],l.prototype,"__beforeDestruct",null)},54079:function(t,i,n){"use strict";n.d(i,{Ajax:function(){return d}});var o=n(8884),r=n(82758),s=n(45219),a=n(21537),l=n(89890),c=n(6441);n(57459);var u=n(98582);class d{className(){return"Ajax"}__buildParams(t,i){return(0,a.isPlainObject)(t)&&this.options.contentType&&this.options.contentType.includes("application/json")?JSON.stringify(t):(0,a.isFunction)(this.o.queryBuild)?this.o.queryBuild.call(this,t,i):(0,a.isString)(t)||t instanceof r.globalWindow.FormData||"object"==typeof t&&null!=t&&(0,a.isFunction)(t.append)?t:(0,a.buildQuery)(t)}get o(){return this.options}abort(){if(this.__isFulfilled)return this;try{this.__isFulfilled=!0,this.xhr.abort()}catch(t){}return this}send(){this.__activated=!0;let{xhr:t,o:i}=this,n=this.prepareRequest();return this.__async.promise(async(o,r)=>{var s;let c=()=>{this.__isFulfilled=!0,r(l.connection("Connection error"))},d=()=>{this.__isFulfilled=!0,o(new u.Response(n,t.status,t.statusText,!t.responseType?t.responseText:t.response))};t.onload=d,t.onabort=()=>{this.__isFulfilled=!0,r(l.abort("Abort connection"))},t.onerror=c,t.ontimeout=c,i.responseType&&(t.responseType=i.responseType),t.onprogress=t=>{var i,n;let o=0;t.lengthComputable&&(o=t.loaded/t.total*100),null==(n=(i=this.options).onProgress)||n.call(i,o)},t.onreadystatechange=()=>{var n,o;null==(o=(n=this.options).onProgress)||o.call(n,10),t.readyState===XMLHttpRequest.DONE&&(i.successStatuses.includes(t.status)?d():t.statusText&&(this.__isFulfilled=!0,r(l.connection(t.statusText))))},t.withCredentials=null!=(s=i.withCredentials)&&s;let{url:h,data:p,method:f}=n;t.open(f,h,!0),i.contentType&&t.setRequestHeader&&t.setRequestHeader("Content-type",i.contentType);let{headers:m}=i;(0,a.isFunction)(m)&&(m=await m.call(this)),m&&t.setRequestHeader&&Object.keys(m).forEach(i=>{t.setRequestHeader(i,m[i])}),this.__async.setTimeout(()=>{t.send(p?this.__buildParams(p):void 0)},0)})}async *stream(){var t;this.__activated=!0;let{xhr:i,o:n}=this,o=this.prepareRequest(),r=0,s="",c=[],u=null,d=!1,h=null,p=()=>{if(u){let t=u;u=null,t()}},f=t=>{var n;let o=i.responseText;s+=o.substring(r),r=o.length;let a=s.split(`
|
|
19
19
|
|
|
20
20
|
`);for(let i of(s=t?"":null!=(n=a.pop())?n:"",a)){let t=i.trim();if(!t)continue;let n=[];for(let i of t.split(`
|
|
@@ -277,9 +277,9 @@
|
|
|
277
277
|
>${t.o.specialCharacters[i]}</a>`);l.push(s),r.appendChild(s),n.appendChild(r)}s.appendChild(n)}let c=this;return t.e.on(l,"focus",function(){n.innerHTML=this.innerHTML}).on(l,"mousedown",function(i){r.Dom.isTag(this,"a")&&(t.s.focus(),t.s.insertHTML(this.innerHTML),(null==i?void 0:i.shiftKey)||t.e.fire(this,"close_dialog"),i&&i.preventDefault(),i&&i.stopImmediatePropagation())}).on(l,"mouseenter",function(){r.Dom.isTag(this,"a")&&this.focus()}).on(l,"keydown",i=>{let n=i.target;if(r.Dom.isTag(n,"a")){let r,s=parseInt((0,a.attr)(n,"-index")||"0",10),u=parseInt((0,a.attr)(n,"data-index-j")||"0",10);switch(i.key){case o.KEY_UP:case o.KEY_DOWN:void 0===l[r=i.key===o.KEY_UP?s-c.__countInRow:s+c.__countInRow]&&(r=i.key===o.KEY_UP?Math.floor(l.length/c.__countInRow)*c.__countInRow+u:u)>l.length-1&&(r-=c.__countInRow),l[r]&&l[r].focus();break;case o.KEY_RIGHT:case o.KEY_LEFT:void 0===l[r=i.key===o.KEY_LEFT?s-1:s+1]&&(r=i.key===o.KEY_LEFT?l.length-1:0),l[r]&&l[r].focus();break;case o.KEY_ENTER:t.e.fire(n,"mousedown"),i.stopImmediatePropagation(),i.preventDefault()}}}),i})}beforeDestruct(t){t.e.off("generateSpecialCharactersTable.symbols")}constructor(t){super(t),this.buttons=[{name:"symbols",group:"insert"}],this.__countInRow=17,(0,s.extendLang)(c)}}s.pluginSystem.add("symbols",u)},5119:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 270 270"> <path d="m240.443652,220.45085l-47.410809,0l0,-10.342138c13.89973,-8.43655 25.752896,-19.844464 34.686646,-33.469923c11.445525,-17.455846 17.496072,-37.709239 17.496072,-58.570077c0,-59.589197 -49.208516,-108.068714 -109.693558,-108.068714s-109.69263,48.479517 -109.69263,108.069628c0,20.860839 6.050547,41.113316 17.497001,58.570077c8.93375,13.625459 20.787845,25.032458 34.686646,33.469008l0,10.342138l-47.412666,0c-10.256959,0 -18.571354,8.191376 -18.571354,18.296574c0,10.105198 8.314395,18.296574 18.571354,18.296574l65.98402,0c10.256959,0 18.571354,-8.191376 18.571354,-18.296574l0,-39.496814c0,-7.073455 -4.137698,-13.51202 -10.626529,-16.537358c-25.24497,-11.772016 -41.557118,-37.145704 -41.557118,-64.643625c0,-39.411735 32.545369,-71.476481 72.549922,-71.476481c40.004553,0 72.550851,32.064746 72.550851,71.476481c0,27.497006 -16.312149,52.87161 -41.557118,64.643625c-6.487902,3.026253 -10.6256,9.464818 -10.6256,16.537358l0,39.496814c0,10.105198 8.314395,18.296574 18.571354,18.296574l65.982163,0c10.256959,0 18.571354,-8.191376 18.571354,-18.296574c0,-10.105198 -8.314395,-18.296574 -18.571354,-18.296574z"/> </svg> '},47686:function(t,i,n){"use strict";n.d(i,{onTabInsideLi:function(){return o.onTabInsideLi}});var o=n(26658)},26658:function(t,i,n){"use strict";n.d(i,{onTabInsideLi:function(){return s}});var o=n(2748),r=n(38837);function s(t,i=!1){let n,a,l,c;if(!t.o.tab.tabInsideLiInsertNewList)return!1;let[u,d]=(n=t.createInside.fake(),a=t.createInside.fake(),(l=t.s.range.cloneRange()).collapse(!0),l.insertNode(n),(c=t.s.range.cloneRange()).collapse(!1),c.insertNode(a),[n,a]);try{let n,s,a,l,c,d=!!(n=o.Dom.closest(u,"li",t.editor))&&(!!i||!!o.Dom.isLeaf(n.previousElementSibling))&&(!i||!!o.Dom.closest(n,"li",t.editor))&&n;if(!d||!(s=o.Dom.closest(u,"li",t.editor))||s!==d&&!d.contains(s))return!1;let h=o.Dom.closest(d,["ol","ul"],t.editor);if(!h||i&&!o.Dom.closest(h,"li",t.editor))return!1;return i?function(t,i,n){let s=o.Dom.closest(i,"li",t.editor);(0,r.assert)(s,"tab parent li is null");let a=Array.from(i.children).filter(t=>o.Dom.isLeaf(t));o.Dom.after(s,n);let l=a.indexOf(n);if((0===l||1===a.length)&&o.Dom.safeRemove(i),l!==a.length-1){let t=i.cloneNode();o.Dom.append(n,t);for(let i=l+1;i<a.length;i+=1)o.Dom.append(t,a[i])}}(t,h,d):(a=d.previousElementSibling,(0,r.assert)(a,"tab previousElementSibling is null"),l=a.lastElementChild,(c=o.Dom.isTag(l,h.tagName)?l:t.createInside.element(h.tagName,Array.from(h.attributes).reduce((t,i)=>(t[i.name]=i.value,t),{}))).appendChild(d),l!==c&&a.appendChild(c)),!0}finally{let i=t.s.createRange();i.setStartAfter(u),i.setEndBefore(d),t.s.selectRange(i),o.Dom.safeRemove(u),o.Dom.safeRemove(d)}}},66288:function(t,i,n){"use strict";n(6441).Config.prototype.tab={tabInsideLiInsertNewList:!0}},767:function(t,i,n){"use strict";var o=n(82758),r=n(65478),s=n(580),a=n(50911);n(66288);var l=n(47686),c=function(t,i,n,o){var r,s=arguments.length,a=s<3?i:null===o?o=Object.getOwnPropertyDescriptor(i,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,i,n,o);else for(var l=t.length-1;l>=0;l--)(r=t[l])&&(a=(s<3?r(a):s>3?r(i,n,a):r(i,n))||a);return s>3&&a&&Object.defineProperty(i,n,a),a};class u extends a.Plugin{afterInit(t){}__onTab(t){if(t.key===o.KEY_TAB&&this.__onShift(t.shiftKey))return!1}__onCommand(t){if(("indent"===t||"outdent"===t)&&this.__onShift("outdent"===t))return!1}__onShift(t){let i=(0,l.onTabInsideLi)(this.j,t);return i&&this.j.e.fire("afterTab",t),i}beforeDestruct(t){}}c([(0,r.watch)(":keydown.tab")],u.prototype,"__onTab",null),c([(0,r.watch)(":beforeCommand.tab")],u.prototype,"__onCommand",null),s.pluginSystem.add("tab",u)},72439:function(t,i,n){"use strict";var o=n(82758),r=n(2748),s=n(580),a=n(21537),l=n(76014);let c=new Set([o.KEY_TAB,o.KEY_LEFT,o.KEY_RIGHT,o.KEY_UP,o.KEY_DOWN]);s.pluginSystem.add("tableKeyboardNavigation",function(t){t.e.off(".tableKeyboardNavigation").on("keydown.tableKeyboardNavigation",i=>{let{key:n}=i,s=function(t,i){if(!c.has(i))return;let n=t.s.current();if(!n)return;let s=r.Dom.up(n,r.Dom.isCell,t.editor);if(!s)return;let{range:l}=t.s;if(i!==o.KEY_TAB&&n!==s){let t=i===o.KEY_RIGHT||i===o.KEY_DOWN,c=(0,a.call)(t?r.Dom.next:r.Dom.prev,n,t=>i===o.KEY_UP||i===o.KEY_DOWN?r.Dom.isTag(t,"br"):!!t,s);if(!t&&(c||i!==o.KEY_UP&&r.Dom.isText(n)&&0!==l.startOffset)||t&&(c||i!==o.KEY_DOWN&&r.Dom.isText(n)&&n.nodeValue&&l.startOffset!==n.nodeValue.length))return}return s}(t,n);if(!s)return;let u=t.getInstance(l.Table,t.o),d=r.Dom.closest(s,"table",t.editor),h=null,p=n===o.KEY_LEFT||i.shiftKey,f=()=>(0,a.call)(p?r.Dom.prev:r.Dom.next,s,r.Dom.isCell,d);switch(n){case o.KEY_TAB:case o.KEY_LEFT:(h=f())||(u.appendRow(d,!!p&&d.querySelector("tr"),!p),h=f());break;case o.KEY_UP:case o.KEY_DOWN:{let t=u.formalMatrix(d),[i,r]=u.formalCoordinate(d,s);n===o.KEY_UP?void 0!==t[i-1]&&(h=t[i-1][r]):void 0!==t[i+1]&&(h=t[i+1][r])}}if(h){if(t.e.fire("hidePopup hideResizer"),h.firstChild)n===o.KEY_TAB?t.s.select(h,!0):t.s.setCursorIn(h,n===o.KEY_RIGHT||n===o.KEY_DOWN);else{let i=t.createInside.element("br");h.appendChild(i),t.s.setCursorBefore(i)}return t.synchronizeValues(),!1}})})},40329:function(t,i,n){"use strict";var o=n(22732),r=n(21537),s=n(43555),a=n(12153),l=n(6441),c=n(6091);l.Config.prototype.table={splitBlockOnInsertTable:!0,selectionCellStyle:"border: 1px double #1e88e5 !important;",useExtraClassesOptions:!1},a.Icon.set("table",c.default),l.Config.prototype.controls.table={data:{cols:10,rows:10,classList:{"table table-bordered":"Bootstrap Bordered","table table-striped":"Bootstrap Striped","table table-dark":"Bootstrap Dark"}},popup(t,i,n,a){t.editor.normalize();let l=t.history.snapshot.make(),c=a.control,u=c.data&&c.data.rows?c.data.rows:10,d=c.data&&c.data.cols?c.data.cols:10,h=t.c.fromHTML('<form class="jodit-form jodit-form__inserter"><div class="jodit-form__table-creator-box"><div class="jodit-form__container"></div><div class="jodit-form__options">'+(()=>{if(!t.o.table.useExtraClassesOptions)return"";let i=[];if(c.data){let t=c.data.classList;Object.keys(t).forEach(n=>{i.push(`<label class="jodit_vertical_middle"><input class="jodit-checkbox" value="${n}" type="checkbox"/>${t[n]}</label>`)})}return i.join("")})()+'</div></div><label class="jodit-form__center"><span>1</span> × <span>1</span></label></form>'),p=h.querySelectorAll("span")[0],f=h.querySelectorAll("span")[1],m=h.querySelector(".jodit-form__container"),g=h.querySelector(".jodit-form__options"),b=[],v=u*d;for(let i=0;i<v;i+=1)b[i]||b.push(t.c.element("span",{dataIndex:i}));if(t.e.on(m,"mousemove",(t,i)=>{let n=t.target;if(!o.Dom.isTag(n,"span"))return;let r=void 0===i||isNaN(i)?parseInt((0,s.attr)(n,"-index")||"0",10):i||0,a=Math.ceil((r+1)/d),l=r%d+1;for(let t=0;t<b.length;t+=1)l>=t%d+1&&a>=Math.ceil((t+1)/d)?b[t].className="jodit_hovered":b[t].className="";f.textContent=l.toString(),p.textContent=a.toString()}).on(m,"touchstart mousedown",i=>{let a=i.target;if(i.preventDefault(),i.stopImmediatePropagation(),!o.Dom.isTag(a,"span"))return;let c=parseInt((0,s.attr)(a,"-index")||"0",10),u=Math.ceil((c+1)/d),h=c%d+1,p=t.createInside,f=p.element("tbody"),m=p.element("table");m.appendChild(f);let b=null,v,y;for(let t=1;u>=t;t+=1){v=p.element("tr");for(let t=1;t<=h;t+=1)y=p.element("td"),b||(b=y),(0,r.css)(y,"width",(100/h).toFixed(4)+"%"),y.appendChild(p.element("br")),v.appendChild(p.text(`
|
|
278
278
|
`)),v.appendChild(p.text(" ")),v.appendChild(y);f.appendChild(p.text(`
|
|
279
279
|
`)),f.appendChild(v)}(0,r.$$)("input[type=checkbox]:checked",g).forEach(t=>{t.value.split(/[\s]+/).forEach(t=>{m.classList.add(t)})}),t.s.restore(),t.s.removeMarkers(),t.editor.normalize(),t.history.snapshot.restore(l);let w=o.Dom.furthest(t.s.current(),o.Dom.isBlock,t.editor);if(w&&o.Dom.isEmpty(w))o.Dom.replace(w,m,void 0,!1,!0);else if(w){let i=p.text(`
|
|
280
|
-
`);if(t.o.table.splitBlockOnInsertTable){let n=t.s.range;n.collapse(!1),n.insertNode(i),n.collapse(!1),t.s.selectRange(n);let r=t.s.splitSelection(w,i);r?o.Dom.after(r,m):o.Dom.after(w,m)}else o.Dom.after(w,i),o.Dom.after(i,m)}else t.s.insertNode(m,!1);b&&(t.s.setCursorIn(b),(0,r.scrollIntoViewIfNeeded)(b,t.editor,t.ed)),n()}),a&&a.parentElement){for(let i=0;i<u;i+=1){let n=t.c.div();for(let t=0;t<d;t+=1)n.appendChild(b[i*d+t]);m.appendChild(n)}b[0]&&(b[0].className="hovered")}return h},tooltip:"Insert table"}},43003:function(t,i,n){"use strict";var o=n(580);n(40329),o.pluginSystem.add("table",function(t){t.registerButton({name:"table",group:"insert"})})},6091:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M576 1376v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm-512-768v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm-512-768v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm128-320v1088q0 66-47 113t-113 47h-1344q-66 0-113-47t-47-113v-1088q0-66 47-113t113-47h1344q66 0 113 47t47 113z"/> </svg> '},14984:function(t,i,n){"use strict";var o=n(21537),r=n(62843),s=n(2525),a=n(12153),l=n(6441),c=n(92762),u=n(37775);l.Config.prototype.video={parseUrlToVideoEmbed:o.convertMediaUrlToVideoEmbed,defaultWidth:400,defaultHeight:345},a.Icon.set("video",u.default),l.Config.prototype.controls.video={popup(t,i,n){let a=new s.UIForm(t,[new s.UIBlock(t,[new s.UIInput(t,{name:"url",required:!0,label:"URL",placeholder:"https://",validators:["url"]})]),new s.UIBlock(t,[(0,r.Button)(t,"","Insert","primary").onAction(()=>a.submit())])]),l=new s.UIForm(t,[new s.UIBlock(t,[new s.UITextArea(t,{name:"code",required:!0,label:"Embed code"})]),new s.UIBlock(t,[(0,r.Button)(t,"","Insert","primary").onAction(()=>l.submit())])]),u=[],d=i=>{t.s.restore(),t.s.insertHTML(i),n()};return t.s.save(),u.push({icon:"link",name:"Link",content:a.container},{icon:"source",name:"Code",content:l.container}),a.onSubmit(i=>{var n,r,s,a;d((0,o.call)(null!=(r=null==(n=t.o.video)?void 0:n.parseUrlToVideoEmbed)?r:o.convertMediaUrlToVideoEmbed,i.url,{width:null==(s=t.o.video)?void 0:s.defaultWidth,height:null==(a=t.o.video)?void 0:a.defaultHeight}))}),l.onSubmit(t=>{d(t.code)}),(0,c.TabsWidget)(t,u)},tags:["iframe"],tooltip:"Insert youtube/vimeo video"}},26551:function(t,i,n){"use strict";var o=n(580);n(14984),o.pluginSystem.add("video",function(t){t.registerButton({name:"video",group:"media"})})},37775:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1792 352v1088q0 42-39 59-13 5-25 5-27 0-45-19l-403-403v166q0 119-84.5 203.5t-203.5 84.5h-704q-119 0-203.5-84.5t-84.5-203.5v-704q0-119 84.5-203.5t203.5-84.5h704q119 0 203.5 84.5t84.5 203.5v165l403-402q18-19 45-19 12 0 25 5 39 17 39 59z"/> </svg> '},96967:function(t,i,n){"use strict";n(6441).Config.prototype.wrapNodes={exclude:new Set(["hr","style","br"]),emptyBlockAfterInit:!0}},72253:function(t,i,n){"use strict";var o=n(65478),r=n(22732),s=n(580),a=n(70799),l=n(50911);n(96967);var c=function(t,i,n,o){var r,s=arguments.length,a=s<3?i:null===o?o=Object.getOwnPropertyDescriptor(i,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,i,n,o);else for(var l=t.length-1;l>=0;l--)(r=t[l])&&(a=(s<3?r(a):s>3?r(i,n,a):r(i,n))||a);return s>3&&a&&Object.defineProperty(i,n,a),a};class u extends l.Plugin{afterInit(t){"br"!==t.o.enter.toLowerCase()&&t.e.on("drop.wtn focus.wtn keydown.wtn mousedown.wtn afterInit.wtn backSpaceAfterDelete.wtn",this.preprocessInput,{top:!0}).on("afterInit.wtn postProcessSetEditorValue.wtn afterCommitStyle.wtn backSpaceAfterDelete.wtn",this.postProcessSetEditorValue)}beforeDestruct(t){t.e.off(".wtn")}postProcessSetEditorValue(){let{jodit:t}=this;if(!t.isEditorMode())return;let i=t.editor.firstChild,n=!1;for(;i;){if(i=function(t,i){let n=t,o=t;do if(r.Dom.isElement(o)&&r.Dom.isLeaf(o)&&!r.Dom.isList(o.parentElement)){let t=r.Dom.findNotEmptySibling(o,!1);r.Dom.isTag(n,"ul")?n.appendChild(o):n=r.Dom.wrap(o,"ul",i.createInside),o=t}else break;while(o)return n}(i,t),this.isSuitableStart(i)){n||t.s.save(),n=!0;let o=t.createInside.element(t.o.enter);for(r.Dom.before(i,o);i&&this.isSuitable(i);){let t=i.nextSibling;o.appendChild(i),i=t}o.normalize(),i=o}i=i&&i.nextSibling}n&&(t.s.restore(),"afterInit"===t.e.current&&t.e.fire("internalChange"))}preprocessInput(){let{jodit:t}=this,i="afterInit"===t.e.current;if(!t.isEditorMode()||t.editor.firstChild||!t.o.wrapNodes.emptyBlockAfterInit&&i)return;let n=t.createInside.element(t.o.enter),o=t.createInside.element("br");r.Dom.append(n,o),r.Dom.append(t.editor,n),(t.s.isFocused()||"backSpaceAfterDelete"===t.e.current)&&t.s.setCursorBefore(o),t.e.fire("internalChange")}constructor(){super(...arguments),this.isSuitableStart=t=>{var i;return r.Dom.isText(t)&&(0,a.isString)(t.nodeValue)&&(/[^\s]/.test(t.nodeValue)||(null==(i=t.parentNode)?void 0:i.firstChild)===t&&this.isSuitable(t.nextSibling))||this.isNotWrapped(t)&&!r.Dom.isTemporary(t)},this.isSuitable=t=>r.Dom.isText(t)||this.isNotWrapped(t),this.isNotWrapped=t=>r.Dom.isElement(t)&&!(r.Dom.isBlock(t)||r.Dom.isTag(t,this.j.o.wrapNodes.exclude))}}c([o.autobind],u.prototype,"postProcessSetEditorValue",null),c([o.autobind],u.prototype,"preprocessInput",null),s.pluginSystem.add("wrapNodes",u)},86012:function(t,i,n){"use strict";n(6441).Config.prototype.showXPathInStatusbar=!0},83671:function(t,i,n){"use strict";var o=n(82758),r=n(22732),s=n(580),a=n(49055),l=n(29960),c=n(76078),u=n(50911),d=n(80870),h=n(21491);n(86012);class p extends u.Plugin{afterInit(){if(this.j.o.showXPathInStatusbar){this.container=this.j.c.div("jodit-xpath"),(0,l.attr)(this.container,"role","list");let t=()=>{this.j.o.showXPathInStatusbar&&this.container&&(this.j.statusbar.append(this.container),this.j.getRealMode()===o.MODE_WYSIWYG?this.calcPath():(this.container&&(this.container.innerHTML=o.INVISIBLE_SPACE),this.appendSelectAll()))};this.j.e.off(".xpath").on("pointerup.xpath change.xpath keydown.xpath changeSelection.xpath",this.calcPath).on("afterSetMode.xpath afterInit.xpath changePlace.xpath",t),t(),this.calcPath()}}beforeDestruct(){this.j&&this.j.events&&this.j.e.off(".xpath"),this.removeSelectAll(),this.menu&&this.menu.destruct(),r.Dom.safeRemove(this.container),delete this.menu,delete this.container}constructor(){super(...arguments),this.onContext=(t,i)=>(this.menu||(this.menu=new d.ContextMenu(this.j)),this.menu.show(i.clientX,i.clientY,[{icon:"bin",title:t===this.j.editor?"Clear":"Remove",exec:()=>{t!==this.j.editor?r.Dom.safeRemove(t):this.j.value="",this.j.synchronizeValues()}},{icon:"select-all",title:"Select",exec:()=>{this.j.s.select(t)}}]),!1),this.onSelectPath=(t,i)=>{this.j.s.focus();let n=(0,l.attr)(i.target,"-path")||"/";if("/"===n)return this.j.execCommand("selectall"),!1;try{let t=this.j.ed.evaluate(n,this.j.editor,null,XPathResult.ANY_TYPE,null).iterateNext();if(t)return this.j.s.select(t),!1}catch(t){}return this.j.s.select(t),!1},this.tpl=(t,i,n,o)=>{let r=this.j.c.fromHTML(`<span class="jodit-xpath__item"><a role="button" data-path="${i}" title="${o}" tabindex="-1"'>${(0,a.trim)(n)}</a></span>`),s=r.firstChild;return this.j.e.on(s,"click",this.onSelectPath.bind(this,t)).on(s,"contextmenu",this.onContext.bind(this,t)),r},this.removeSelectAll=()=>{this.selectAllButton&&(this.selectAllButton.destruct(),delete this.selectAllButton)},this.appendSelectAll=()=>{this.removeSelectAll(),this.selectAllButton=(0,h.makeButton)(this.j,{name:"selectall",...this.j.o.controls.selectall}),this.selectAllButton.state.size="tiny",this.container&&this.container.insertBefore(this.selectAllButton.container,this.container.firstChild)},this.calcPathImd=()=>{if(this.isDestructed)return;let t=this.j.s.current();if(this.container&&(this.container.innerHTML=o.INVISIBLE_SPACE),t){let i,n,o;r.Dom.up(t,t=>{t&&this.j.editor!==t&&!r.Dom.isText(t)&&!r.Dom.isComment(t)&&(i=t.nodeName.toLowerCase(),n=(0,c.getXPathByElement)(t,this.j.editor).replace(/^\//,""),o=this.tpl(t,n,i,this.j.i18n("Select %s",i)),this.container&&this.container.insertBefore(o,this.container.firstChild))},this.j.editor)}this.appendSelectAll()},this.calcPath=this.j.async.debounce(this.calcPathImd,2*this.j.defaultTimeout,!0)}}s.pluginSystem.add("xpath",p)},78173:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1395 736q0 13-10 23l-466 466q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l50-50q10-10 23-10t23 10l393 393 393-393q10-10 23-10t23 10l50 50q10 10 10 23z"/> </svg> '},16260:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1203 544q0 13-10 23l-393 393 393 393q10 10 10 23t-10 23l-50 50q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l466-466q10-10 23-10t23 10l50 50q10 10 10 23z"/> </svg> '},37663:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1171 960q0 13-10 23l-466 466q-10 10-23 10t-23-10l-50-50q-10-10-10-23t10-23l393-393-393-393q-10-10-10-23t10-23l50-50q10-10 23-10t23 10l466 466q10 10 10 23z"/> </svg> '},51036:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1395 1184q0 13-10 23l-50 50q-10 10-23 10t-23-10l-393-393-393 393q-10 10-23 10t-23-10l-50-50q-10-10-10-23t10-23l466-466q10-10 23-10t23 10l466 466q10 10 10 23z"/> </svg> '},31554:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M704 1376v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm256 0v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm256 0v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm-544-992h448l-48-117q-7-9-17-11h-317q-10 2-17 11zm928 32v64q0 14-9 23t-23 9h-96v948q0 83-47 143.5t-113 60.5h-832q-66 0-113-58.5t-47-141.5v-952h-96q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h309l70-167q15-37 54-63t79-26h320q40 0 79 26t54 63l70 167h309q14 0 23 9t9 23z"/> </svg> '},18309:function(t,i){"use strict";i.default='<svg viewBox="0 0 14 14" xmlns="http://www.w3.org/2000/svg"> <g stroke="none" stroke-width="1"> <path d="M14,1.4 L12.6,0 L7,5.6 L1.4,0 L0,1.4 L5.6,7 L0,12.6 L1.4,14 L7,8.4 L12.6,14 L14,12.6 L8.4,7 L14,1.4 Z"/> </g> </svg> '},99762:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1792 1344v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm-384-384v128q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h896q26 0 45 19t19 45zm256-384v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45zm-384-384v128q0 26-19 45t-45 19h-640q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h640q26 0 45 19t19 45z"/> </svg> '},7903:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1472 930v318q0 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119 84.5-203.5t203.5-84.5h832q63 0 117 25 15 7 18 23 3 17-9 29l-49 49q-10 10-23 10-3 0-9-2-23-6-45-6h-832q-66 0-113 47t-47 113v832q0 66 47 113t113 47h832q66 0 113-47t47-113v-254q0-13 9-22l64-64q10-10 23-10 6 0 12 3 20 8 20 29zm231-489l-814 814q-24 24-57 24t-57-24l-430-430q-24-24-24-57t24-57l110-110q24-24 57-24t57 24l263 263 647-647q24-24 57-24t57 24l110 110q24 24 24 57t-24 57z"/> </svg> '},58032:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 10 10"> <path d="M.941 4.523a.75.75 0 1 1 1.06-1.06l3.006 3.005 3.005-3.005a.75.75 0 1 1 1.06 1.06l-3.549 3.55a.75.75 0 0 1-1.168-.136L.941 4.523z"/> </svg> '},52507:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 24 24" > <circle cx="12" cy="12" r="2.2"/> <circle cx="12" cy="5" r="2.2"/> <circle cx="12" cy="19" r="2.2"/> </svg> '},43478:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z"/> </svg> '},60097:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1152 512v-472q22 14 36 28l408 408q14 14 28 36h-472zm-128 32q0 40 28 68t68 28h544v1056q0 40-28 68t-68 28h-1344q-40 0-68-28t-28-68v-1600q0-40 28-68t68-28h800v544z"/> </svg> '},49155:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1728 608v704q0 92-66 158t-158 66h-1216q-92 0-158-66t-66-158v-960q0-92 66-158t158-66h320q92 0 158 66t66 158v32h672q92 0 158 66t66 158z"/> </svg> '},17555:function(t,i,n){"use strict";n.r(i),n.d(i,{angle_down:function(){return o.default},angle_left:function(){return r.default},angle_right:function(){return s.default},angle_up:function(){return a.default},bin:function(){return l.default},cancel:function(){return c.default},center:function(){return u.default},check:function(){return d.default},chevron:function(){return h.default},dots:function(){return p.default},eye:function(){return f.default},file:function(){return m.default},folder:function(){return g.default},info_circle:function(){return b.default},left:function(){return v.default},lock:function(){return y.default},ok:function(){return w.default},pencil:function(){return _.default},plus:function(){return C.default},resize_handler:function(){return k.default},right:function(){return S.default},save:function(){return x.default},settings:function(){return I.default},unlock:function(){return E.default},update:function(){return T.default},upload:function(){return A.default},valign:function(){return j.default}});var o=n(78173),r=n(16260),s=n(37663),a=n(51036),l=n(31554),c=n(18309),u=n(99762),d=n(7903),h=n(58032),p=n(52507),f=n(43478),m=n(60097),g=n(49155),b=n(17176),v=n(57882),y=n(58908),w=n(24829),_=n(4038),C=n(45575),k=n(84858),S=n(445),x=n(36886),I=n(10766),E=n(33651),T=n(20362),A=n(12202),j=n(80152)},17176:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1152 1376v-160q0-14-9-23t-23-9h-96v-512q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v160q0 14 9 23t23 9h96v320h-96q-14 0-23 9t-9 23v160q0 14 9 23t23 9h448q14 0 23-9t9-23zm-128-896v-160q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v160q0 14 9 23t23 9h192q14 0 23-9t9-23zm640 416q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> </svg> '},57882:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1792 1344v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm-384-384v128q0 26-19 45t-45 19h-1280q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1280q26 0 45 19t19 45zm256-384v128q0 26-19 45t-45 19h-1536q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1536q26 0 45 19t19 45zm-384-384v128q0 26-19 45t-45 19h-1152q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1152q26 0 45 19t19 45z"/> </svg> '},58908:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"><path d="M640 768h512v-192q0-106-75-181t-181-75-181 75-75 181v192zm832 96v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h32v-192q0-184 132-316t316-132 316 132 132 316v192h32q40 0 68 28t28 68z"/></svg> '},24829:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 32 32"> <path d="M27 4l-15 15-7-7-5 5 12 12 20-20z"/> </svg> '},4038:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"><path d="M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z"/></svg> '},45575:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"><path d="M1600 736v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z"/></svg> '},84858:function(t,i){"use strict";i.default='<svg viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"> <path d="M5.9814 11.8049C5.59087 11.4144 5.59087 10.7812 5.9814 10.3907L10.224 6.14806C10.6146 5.75754 11.2477 5.75754 11.6383 6.14806C12.0288 6.53859 12.0288 7.17175 11.6383 7.56228L7.39561 11.8049C7.00509 12.1954 6.37192 12.1954 5.9814 11.8049Z"/> <path d="M0.707107 12.0208C0.316582 11.6303 0.316582 10.9971 0.707107 10.6066L10.6066 0.707121C10.9971 0.316597 11.6303 0.316596 12.0208 0.707121C12.4113 1.09764 12.4113 1.73081 12.0208 2.12133L2.12132 12.0208C1.7308 12.4114 1.09763 12.4114 0.707107 12.0208Z"/> </svg> '},445:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1792 1344v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1280q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1280q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1536q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1536q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1152q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1152q26 0 45 19t19 45z"/> </svg> '},36886:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M512 1536h768v-384h-768v384zm896 0h128v-896q0-14-10-38.5t-20-34.5l-281-281q-10-10-34-20t-39-10v416q0 40-28 68t-68 28h-576q-40 0-68-28t-28-68v-416h-128v1280h128v-416q0-40 28-68t68-28h832q40 0 68 28t28 68v416zm-384-928v-320q0-13-9.5-22.5t-22.5-9.5h-192q-13 0-22.5 9.5t-9.5 22.5v320q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5-9.5t9.5-22.5zm640 32v928q0 40-28 68t-68 28h-1344q-40 0-68-28t-28-68v-1344q0-40 28-68t68-28h928q40 0 88 20t76 48l280 280q28 28 48 76t20 88z"/> </svg> '},10766:function(t,i){"use strict";i.default='<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"> <path stroke="null" d="m42.276011,26.302547c0.098397,-0.76605 0.172194,-1.54407 0.172194,-2.33406s-0.073797,-1.56801 -0.172194,-2.33406l5.202718,-3.961917c0.467384,-0.359086 0.602679,-1.005441 0.29519,-1.532101l-4.919828,-8.29489c-0.307489,-0.51469 -0.947067,-0.730142 -1.500548,-0.51469l-6.125186,2.405877c-1.266856,-0.945594 -2.656707,-1.747553 -4.157255,-2.357999l-0.922468,-6.343855c-0.110696,-0.562568 -0.614979,-1.005441 -1.229957,-1.005441l-9.839656,0c-0.614979,0 -1.119261,0.442873 -1.217657,1.005441l-0.922468,6.343855c-1.500548,0.610446 -2.890399,1.400436 -4.157255,2.357999l-6.125186,-2.405877c-0.553481,-0.203482 -1.193058,0 -1.500548,0.51469l-4.919828,8.29489c-0.307489,0.51469 -0.172194,1.161045 0.29519,1.532101l5.190419,3.961917c-0.098397,0.76605 -0.172194,1.54407 -0.172194,2.33406s0.073797,1.56801 0.172194,2.33406l-5.190419,3.961917c-0.467384,0.359086 -0.602679,1.005441 -0.29519,1.532101l4.919828,8.29489c0.307489,0.51469 0.947067,0.730142 1.500548,0.51469l6.125186,-2.405877c1.266856,0.945594 2.656707,1.747553 4.157255,2.357999l0.922468,6.343855c0.098397,0.562568 0.602679,1.005441 1.217657,1.005441l9.839656,0c0.614979,0 1.119261,-0.442873 1.217657,-1.005441l0.922468,-6.343855c1.500548,-0.610446 2.890399,-1.400436 4.157255,-2.357999l6.125186,2.405877c0.553481,0.203482 1.193058,0 1.500548,-0.51469l4.919828,-8.29489c0.307489,-0.51469 0.172194,-1.161045 -0.29519,-1.532101l-5.190419,-3.961917zm-18.277162,6.044617c-4.759934,0 -8.609699,-3.746465 -8.609699,-8.378677s3.849766,-8.378677 8.609699,-8.378677s8.609699,3.746465 8.609699,8.378677s-3.849766,8.378677 -8.609699,8.378677z"/> </svg> '},33651:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1728 576v256q0 26-19 45t-45 19h-64q-26 0-45-19t-19-45v-256q0-106-75-181t-181-75-181 75-75 181v192h96q40 0 68 28t28 68v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h672v-192q0-185 131.5-316.5t316.5-131.5 316.5 131.5 131.5 316.5z"/> </svg> '},20362:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1639 1056q0 5-1 7-64 268-268 434.5t-478 166.5q-146 0-282.5-55t-243.5-157l-129 129q-19 19-45 19t-45-19-19-45v-448q0-26 19-45t45-19h448q26 0 45 19t19 45-19 45l-137 137q71 66 161 102t187 36q134 0 250-65t186-179q11-17 53-117 8-23 30-23h192q13 0 22.5 9.5t9.5 22.5zm25-800v448q0 26-19 45t-45 19h-448q-26 0-45-19t-19-45 19-45l138-138q-148-137-349-137-134 0-250 65t-186 179q-11 17-53 117-8 23-30 23h-199q-13 0-22.5-9.5t-9.5-22.5v-7q65-268 270-434.5t480-166.5q146 0 284 55.5t245 156.5l130-129q19-19 45-19t45 19 19 45z"/> </svg> '},12202:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1344 1472q0-26-19-45t-45-19-45 19-19 45 19 45 45 19 45-19 19-45zm256 0q0-26-19-45t-45-19-45 19-19 45 19 45 45 19 45-19 19-45zm128-224v320q0 40-28 68t-68 28h-1472q-40 0-68-28t-28-68v-320q0-40 28-68t68-28h427q21 56 70.5 92t110.5 36h256q61 0 110.5-36t70.5-92h427q40 0 68 28t28 68zm-325-648q-17 40-59 40h-256v448q0 26-19 45t-45 19h-256q-26 0-45-19t-19-45v-448h-256q-42 0-59-40-17-39 14-69l448-448q18-19 45-19t45 19l448 448q31 30 14 69z"/> </svg> '},80152:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1216 320q0 26-19 45t-45 19h-128v1024h128q26 0 45 19t19 45-19 45l-256 256q-19 19-45 19t-45-19l-256-256q-19-19-19-45t19-45 45-19h128v-1024h-128q-26 0-45-19t-19-45 19-45l256-256q19-19 45-19t45 19l256 256q19 19 19 45z"/> </svg> '},62357:function(t,i,n){"use strict";n.d(i,{UIRange:function(){return c}});var o=n(82749),r=n(31635),s=n(65478),a=n(21537),l=n(67510);class c extends l.UIInput{className(){return"UIRange"}appendUIRange(){let t=this.j.create.div(this.getFullElName("slider"));this.container.appendChild(t);let i=this.j.create.div(this.getFullElName("handle"));t.appendChild(i);let n=this.j.create.div(this.getFullElName("log")),o=this.getElm("label");o&&o.appendChild(n)}onDragStart(t){this.startValue=parseFloat(this.value)||0,this.startX=t.clientX;let i=this.getElm("slider");(0,a.assert)(null!=i,"slider element does not exists"),this.width=i.offsetWidth,this.j.e.on(this.j.ow,"mousemove",this.onDrag)}onDrag(t){let{min:i,max:n,step:o=1}=this.state,r=(t.clientX-this.startX)/this.width*(this.state.max-this.state.min),s=this.startValue+r;s<i&&(s=i),s>n&&(s=n),s=Math.round(s/o)*o,this.value=s.toFixed(10)}onDragEnd(){this.j.e.off(this.j.ow,"mousemove",this.onDrag)}onChangeSelfValue(){let t=this.getElm("handle"),i=parseFloat(this.value)||0;(0,a.assert)(null!=t,"Handle element does not exist"),(0,a.css)(t,{left:(i-this.state.min)/(this.state.max-this.state.min)*100+"%"});let n=this.getElm("log");(0,a.assert)(null!=n,"log element does not exist"),n.innerText=i.toString()}destruct(){return this.onDragEnd(),super.destruct()}constructor(t,i){super(t,{...i,type:"hidden"}),(0,o._)(this,"state",{...l.UIInput.defaultState,min:0,max:100,step:1}),(0,o._)(this,"startValue",0),(0,o._)(this,"startX",0),(0,o._)(this,"width",100),Object.assign(this.state,i),this.appendUIRange(),this.onChangeSelfValue()}}(0,r.__decorate)([(0,s.watch)(["handle:mousedown","handle:touchstart"])],c.prototype,"onDragStart",null),(0,r.__decorate)([s.autobind],c.prototype,"onDrag",null),(0,r.__decorate)([(0,s.watch)(["j.ow:mouseup","j.ow:touchend"])],c.prototype,"onDragEnd",null),(0,r.__decorate)([(0,s.watch)(":change")],c.prototype,"onChangeSelfValue",null),c=(0,r.__decorate)([s.component],c)},31356:function(t,i,n){"use strict";n.d(i,{ListReconciler:function(){return o}});class o{static reconcile(t,i,n){let{getId:o,isEqual:r=(t,i)=>o(t)===o(i),preserveOrder:s=!0}=n,a=new Map,l=new Map;t.forEach((t,i)=>{let n=o(t);a.set(n,t),l.set(n,i)});let c=new Map,u=new Map;i.forEach((t,i)=>{let n=o(t);c.set(n,t),u.set(n,i)});let d=[],h=[],p=[],f=[];return i.forEach((t,i)=>{let n=o(t),c=a.get(n);c?!r(c,t)||s&&l.get(n)!==i?h.push({oldItem:c,newItem:t,index:s?i:l.get(n)}):f.push(c):d.push(t)}),t.forEach(t=>{let i=o(t);c.has(i)||p.push(t)}),{toCreate:d,toUpdate:h,toRemove:p,unchanged:f}}static applyResult(t,i,n={}){i.toRemove.forEach(i=>{let o=t.indexOf(i);-1!==o&&(n.onRemove?.(i,o),t.splice(o,1))}),i.toUpdate.forEach(({oldItem:i,newItem:o,index:r})=>{let s=t.indexOf(i);-1!==s&&(n.onUpdate?.(i,o,r),t[s]=o)}),i.toCreate.forEach(i=>{n.onCreate?.(i,t.length),t.push(i)})}}},2692:function(t,i,n){"use strict";n.d(i,{JoditPro:function(){return l}});var o=n(82758),r=n(63799),s=n(41180),a=n(86019);class l extends a.Jodit{static make(t,i){return new this(t,i)}beforeInitHook(){if(o.IS_PROD&&!o.IS_TEST&&this.o.loadExternalConfig)return(0,r.appendScriptAsync)(this,this.basePath+"config.js")}afterInitHook(){(async()=>{if(await this.e.fire("checkReserve",location.host)!=="normal"){if(this.isInDestruct)return;let t=this.c.div("",'Trial version. Buy <a href="https://xdsoft.net/jodit/pro/">Jodit Pro</a>');o.IS_TEST||o.IS_PROD,(0,s.css)(t,{position:"absolute",color:"red",right:10,bottom:10}),this.addDisclaimer(t)}})().catch(()=>null),super.afterInitHook()}getVersion(){return"PRO "+o.APP_VERSION}}},41810:function(t,i,n){"use strict";var o=n(82749),r=n(31635);n(66645);var s=n(86449),a=n(21020),l=n(46166),c=n(62895),u=n(55487),d=n(27769),h=n(58579),p=n(63805),f=n(82758),m=n(65478),g=n(580),b=n(21537),v=n(50911),y=n(2692),w=n(18549),_=n(54747);class C extends v.Plugin{get state(){return this.stateManager.state}get toolRegistry(){return new u.ToolRegistry(this.j)}get permissionManager(){return new a.PermissionManager(this.j,this.toolRegistry)}get apiClient(){return new s.APIClient(this.j,this.toolRegistry)}get storage(){let{storage:t,storageKey:i,maxConversations:n}=this.j.o.aiAssistantPro;if("string"==typeof t){let o=(0,c.createStorageProvider)(t,i);return new c.WebStorageConversationStorage(o,n)}return t}get stateManager(){return new l.StateManager(this.j)}get mainPanel(){return new d.UIMainPanel(this.j,this.stateManager.state,this.j.o.aiAssistantPro,t=>{let i=this.stateManager.getCurrentConversation();i&&this.stateManager.setCurrentConversation({...i,...t})})}get dialog(){let t=this.j.dlg({resizable:this.j.o.aiAssistantPro.resizable,eventEmmiter:this.j.e});return t.e.on(t,"afterClose",()=>{this.j.e.fire("closeAIAssistantPro.ai-assistant-pro")}),t}afterInit(){(0,g.extendLang)(p),this.setupEventListeners(),this.j.async.promise(t=>{let{initiallyOpened:i,persistOpenState:n}=this.j.o.aiAssistantPro,o=i;n?this.storage.getGlobalSettings().then(t=>{if(t?.isOpen!=null&&(o=t.isOpen),o)return this.openAssistant()}).catch(()=>null).finally(()=>t(void 0)):t(void 0)}).catch(()=>null)}__loadData(){return this.__initedPromise?this.__initedPromise:this.isDestructed?Promise.reject():(this.__initedPromise=this.j.async.promise(t=>{this.loadInitialData().then(t)}).catch(()=>null),this.__initedPromise)}async loadInitialData(){this.mainPanel.setMod("ready",!0),await (0,h.loadInitialData)(this.j,this.storage,this.stateManager),await this.restorePendingToolCalls()}async restorePendingToolCalls(){let t=this.stateManager.getCurrentConversation();if(!t)return;let i=(0,h.findMessagesWithPendingToolCalls)(t);if(0!==i.length)for(let t of i)await this.handleToolCalls(t.id)}setupEventListeners(){this.j.e.on("selectConversation.ai-assistant-pro",async t=>{try{await this.__loadData(),await (0,h.handleConversationSelect)(t,this.storage,this.stateManager)}catch(t){f.IS_PROD}}),this.j.e.on("newConversation.ai-assistant-pro",async()=>{await this.__loadData();let t=(0,h.createNewConversation)(this.j,this.state.defaultModel,this.state.defaultTemperature);this.stateManager.setCurrentConversation(t)}),this.j.e.on("deleteConversation.ai-assistant-pro",async t=>{await this.__loadData(),await this.deleteConversation(t)}),this.j.e.on("renameConversation.ai-assistant-pro",async(t,i)=>{await this.__loadData(),await this.renameConversation(t,i)}),this.j.e.on("backToList.ai-assistant-pro",async()=>{await this.__loadData(),await (0,h.handleBackToList)(this.storage,this.stateManager)}),this.j.e.on("removeContext.ai-assistant-pro",async t=>{await this.__loadData(),this.stateManager.removeSelectionContext(t)}),this.j.e.on("approveToolCall.ai-assistant-pro",async(t,i)=>{try{await this.__loadData();let n=await (0,h.handleToolApproval)(t,i,this.stateManager,this.permissionManager,this.storage);if(n){let t=this.stateManager.getCurrentConversation();if(!t)return;let i=t.messages.find(t=>t.toolCalls?.some(t=>t.id===n.id));if(!i)return;await this.executeToolCall(i.id,n)}}catch(t){if((0,b.isAbortError)(t))return;this.stateManager.setError(t instanceof Error?t.message:t+"")}}),this.j.e.on("denyToolCall.ai-assistant-pro",async t=>{await this.__loadData(),await (0,h.handleToolDenial)(this.j,t,this.stateManager,this.storage)}),this.j.e.on("abortRequest.ai-assistant-pro",async()=>{await this.__loadData(),this.apiClient.abort(),this.stateManager.setLoading(!1)})}__applyTheme(){(0,h.applyTheme)(this.j,this.stateManager.state.theme,this.stateManager.state.displayMode,this.mainPanel.container,this.dialog)}async openAssistant(){if(this.stateManager.isOpen()){this.stateManager.close(),await this.__closeInContainer();return}await this.__loadData(),this.isDestructed||(this.stateManager.open(),await this.__openInContainer(),this.j.o.aiAssistantPro.includeSelectionByDefault&&!this.j.s.isCollapsed()&&this.addCurrentSelectionToContext())}async __openInContainer(){let{resizable:t,allowClose:i,flightPanelHeight:n}=this.j.o.aiAssistantPro,{displayMode:o="right",panelWidth:r,panelHeight:s}=this.stateManager.state;switch(this.__applyTheme(),this.mainPanel.setMod("displayMode",o),this.mainPanel.setMod("allowClose",i),this.mainPanel.setParentView("dialog"===o||"flight"===o?this.dialog:this.j),this.__openedMode=o,o){case"dialog":this.dialog.setSize(r,s).open().setContent(this.mainPanel.container);break;case"flight":w.UIFlightPosition.install(this.mainPanel,this.j.container,{panelHeight:n,containerClassName:this.getFullElName("flight-container")});break;default:t&&(_.UIResize.remove(this.mainPanel),_.UIResize.install(this.mainPanel,(0,h.invertMode)(o),{handleClassName:this.getFullElName("ai-assistent-resize-handle"),onResize:({newSize:t})=>{let i="left"===o||"right"===o?t:r,n="top"===o||"bottom"===o?t:s;return this.stateManager.state.panelWidth=i,this.stateManager.state.panelHeight=n,!0}})),this.j.currentPlace.slots[o].appendChild(this.mainPanel.container),(0,h.resizeInPanelView)(this.j,o,r,s)}}__onResizeInPanelView(){let{displayMode:t,panelWidth:i,panelHeight:n}=this.stateManager.state;(0,h.resizeInPanelView)(this.j,t,i,n)}async __closeInContainer(){let{displayMode:t}=await this.stateManager.state;switch(this.__openedMode!==t&&"dialog"===this.__openedMode&&this.dialog.close(),this.__openedMode!==t&&"flight"===this.__openedMode&&this.__closeFlightMode(),t){case"dialog":this.dialog.close();break;case"flight":this.__closeFlightMode();break;default:this.mainPanel.container.remove()}}__closeFlightMode(){w.UIFlightPosition.remove(this.mainPanel)}__onSavedStateChange(){let t=this.stateManager.state;return this.storage.saveGlobalSettings({displayMode:t.displayMode,panelWidth:t.panelWidth,panelHeight:t.panelHeight,theme:t.theme,defaultModel:t.defaultModel,defaultTemperature:t.defaultTemperature,currentConversationId:t.currentConversation?.id,...this.j.o.aiAssistantPro.persistOpenState?{isOpen:t.isOpen}:{}})}async closeAssistant(){this.stateManager.isOpen()&&(await this.__loadData(),this.stateManager.close(),this.__closeInContainer())}async addCurrentSelectionToContext(){await this.__loadData();let t=(0,h.getCurrentSelectionContext)(this.j);t&&this.stateManager.addSelectionContext(t)}async executeQuickCommand(t){let i,{quickCommandsSilentMode:n,quickCommandsDisplayMode:o}=this.j.o.aiAssistantPro,r=this.j.o.aiAssistant;if(r&&r[t]&&(0,b.isString)(r[t])&&(i=r[t]),!i)return void this.j.e.fire("error","Command not found: "+t);let s=this.j.s.isCollapsed()?this.j.value:this.j.s.html;if(!s)return;let a=r?.aiCommonPrefixPrompt||"",l=r?.aiCommonSuffixPrompt||"",c=`${a}${i}${l}
|
|
280
|
+
`);if(t.o.table.splitBlockOnInsertTable){let n=t.s.range;n.collapse(!1),n.insertNode(i),n.collapse(!1),t.s.selectRange(n);let r=t.s.splitSelection(w,i);r?o.Dom.after(r,m):o.Dom.after(w,m)}else o.Dom.after(w,i),o.Dom.after(i,m)}else t.s.insertNode(m,!1);b&&(t.s.setCursorIn(b),(0,r.scrollIntoViewIfNeeded)(b,t.editor,t.ed)),n()}),a&&a.parentElement){for(let i=0;i<u;i+=1){let n=t.c.div();for(let t=0;t<d;t+=1)n.appendChild(b[i*d+t]);m.appendChild(n)}b[0]&&(b[0].className="hovered")}return h},tooltip:"Insert table"}},43003:function(t,i,n){"use strict";var o=n(580);n(40329),o.pluginSystem.add("table",function(t){t.registerButton({name:"table",group:"insert"})})},6091:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M576 1376v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm-512-768v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm-512-768v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm128-320v1088q0 66-47 113t-113 47h-1344q-66 0-113-47t-47-113v-1088q0-66 47-113t113-47h1344q66 0 113 47t47 113z"/> </svg> '},14984:function(t,i,n){"use strict";var o=n(21537),r=n(62843),s=n(2525),a=n(12153),l=n(6441),c=n(92762),u=n(37775);l.Config.prototype.video={parseUrlToVideoEmbed:o.convertMediaUrlToVideoEmbed,defaultWidth:400,defaultHeight:345},a.Icon.set("video",u.default),l.Config.prototype.controls.video={popup(t,i,n){let a=new s.UIForm(t,[new s.UIBlock(t,[new s.UIInput(t,{name:"url",required:!0,label:"URL",placeholder:"https://",validators:["url"]})]),new s.UIBlock(t,[(0,r.Button)(t,"","Insert","primary").onAction(()=>a.submit())])]),l=new s.UIForm(t,[new s.UIBlock(t,[new s.UITextArea(t,{name:"code",required:!0,label:"Embed code"})]),new s.UIBlock(t,[(0,r.Button)(t,"","Insert","primary").onAction(()=>l.submit())])]),u=[],d=i=>{t.s.restore(),t.s.insertHTML(i),n()};return t.s.save(),u.push({icon:"link",name:"Link",content:a.container},{icon:"source",name:"Code",content:l.container}),a.onSubmit(i=>{var n,r,s,a;d((0,o.call)(null!=(r=null==(n=t.o.video)?void 0:n.parseUrlToVideoEmbed)?r:o.convertMediaUrlToVideoEmbed,i.url,{width:null==(s=t.o.video)?void 0:s.defaultWidth,height:null==(a=t.o.video)?void 0:a.defaultHeight}))}),l.onSubmit(t=>{d(t.code)}),(0,c.TabsWidget)(t,u)},tags:["iframe"],tooltip:"Insert youtube/vimeo video"}},26551:function(t,i,n){"use strict";var o=n(580);n(14984),o.pluginSystem.add("video",function(t){t.registerButton({name:"video",group:"media"})})},37775:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1792 352v1088q0 42-39 59-13 5-25 5-27 0-45-19l-403-403v166q0 119-84.5 203.5t-203.5 84.5h-704q-119 0-203.5-84.5t-84.5-203.5v-704q0-119 84.5-203.5t203.5-84.5h704q119 0 203.5 84.5t84.5 203.5v165l403-402q18-19 45-19 12 0 25 5 39 17 39 59z"/> </svg> '},96967:function(t,i,n){"use strict";n(6441).Config.prototype.wrapNodes={exclude:new Set(["hr","style","br"]),emptyBlockAfterInit:!0}},72253:function(t,i,n){"use strict";var o=n(65478),r=n(22732),s=n(580),a=n(70799),l=n(50911);n(96967);var c=function(t,i,n,o){var r,s=arguments.length,a=s<3?i:null===o?o=Object.getOwnPropertyDescriptor(i,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,i,n,o);else for(var l=t.length-1;l>=0;l--)(r=t[l])&&(a=(s<3?r(a):s>3?r(i,n,a):r(i,n))||a);return s>3&&a&&Object.defineProperty(i,n,a),a};class u extends l.Plugin{afterInit(t){"br"!==t.o.enter.toLowerCase()&&t.e.on("drop.wtn focus.wtn keydown.wtn mousedown.wtn afterInit.wtn backSpaceAfterDelete.wtn",this.preprocessInput,{top:!0}).on("afterInit.wtn postProcessSetEditorValue.wtn afterCommitStyle.wtn backSpaceAfterDelete.wtn",this.postProcessSetEditorValue)}beforeDestruct(t){t.e.off(".wtn")}postProcessSetEditorValue(){let{jodit:t}=this;if(!t.isEditorMode())return;let i=t.editor.firstChild,n=!1;for(;i;){if(i=function(t,i){let n=t,o=t;do if(r.Dom.isElement(o)&&r.Dom.isLeaf(o)&&!r.Dom.isList(o.parentElement)){let t=r.Dom.findNotEmptySibling(o,!1);r.Dom.isTag(n,"ul")?n.appendChild(o):n=r.Dom.wrap(o,"ul",i.createInside),o=t}else break;while(o)return n}(i,t),this.isSuitableStart(i)){n||t.s.save(),n=!0;let o=t.createInside.element(t.o.enter);for(r.Dom.before(i,o);i&&this.isSuitable(i);){let t=i.nextSibling;o.appendChild(i),i=t}o.normalize(),i=o}i=i&&i.nextSibling}n&&(t.s.restore(),"afterInit"===t.e.current&&t.e.fire("internalChange"))}preprocessInput(){let{jodit:t}=this,i="afterInit"===t.e.current;if(!t.isEditorMode()||t.editor.firstChild||!t.o.wrapNodes.emptyBlockAfterInit&&i)return;let n=t.createInside.element(t.o.enter),o=t.createInside.element("br");r.Dom.append(n,o),r.Dom.append(t.editor,n),(t.s.isFocused()||"backSpaceAfterDelete"===t.e.current)&&t.s.setCursorBefore(o),t.e.fire("internalChange")}constructor(){super(...arguments),this.isSuitableStart=t=>{var i;return r.Dom.isText(t)&&(0,a.isString)(t.nodeValue)&&(/[^\s]/.test(t.nodeValue)||(null==(i=t.parentNode)?void 0:i.firstChild)===t&&this.isSuitable(t.nextSibling))||this.isNotWrapped(t)&&!r.Dom.isTemporary(t)},this.isSuitable=t=>r.Dom.isText(t)||this.isNotWrapped(t),this.isNotWrapped=t=>r.Dom.isElement(t)&&!(r.Dom.isBlock(t)||r.Dom.isTag(t,this.j.o.wrapNodes.exclude))}}c([o.autobind],u.prototype,"postProcessSetEditorValue",null),c([o.autobind],u.prototype,"preprocessInput",null),s.pluginSystem.add("wrapNodes",u)},86012:function(t,i,n){"use strict";n(6441).Config.prototype.showXPathInStatusbar=!0},83671:function(t,i,n){"use strict";var o=n(82758),r=n(22732),s=n(580),a=n(49055),l=n(29960),c=n(76078),u=n(50911),d=n(80870),h=n(21491);n(86012);class p extends u.Plugin{afterInit(){if(this.j.o.showXPathInStatusbar){this.container=this.j.c.div("jodit-xpath"),(0,l.attr)(this.container,"role","list");let t=()=>{this.j.o.showXPathInStatusbar&&this.container&&(this.j.statusbar.append(this.container),this.j.getRealMode()===o.MODE_WYSIWYG?this.calcPath():(this.container&&(this.container.innerHTML=o.INVISIBLE_SPACE),this.appendSelectAll()))};this.j.e.off(".xpath").on("pointerup.xpath change.xpath keydown.xpath changeSelection.xpath",this.calcPath).on("afterSetMode.xpath afterInit.xpath changePlace.xpath",t),t(),this.calcPath()}}beforeDestruct(){this.j&&this.j.events&&this.j.e.off(".xpath"),this.removeSelectAll(),this.menu&&this.menu.destruct(),r.Dom.safeRemove(this.container),delete this.menu,delete this.container}constructor(){super(...arguments),this.onContext=(t,i)=>(this.menu||(this.menu=new d.ContextMenu(this.j)),this.menu.show(i.clientX,i.clientY,[{icon:"bin",title:t===this.j.editor?"Clear":"Remove",exec:()=>{t!==this.j.editor?r.Dom.safeRemove(t):this.j.value="",this.j.synchronizeValues()}},{icon:"select-all",title:"Select",exec:()=>{this.j.s.select(t)}}]),!1),this.onSelectPath=(t,i)=>{this.j.s.focus();let n=(0,l.attr)(i.target,"-path")||"/";if("/"===n)return this.j.execCommand("selectall"),!1;try{let t=this.j.ed.evaluate(n,this.j.editor,null,XPathResult.ANY_TYPE,null).iterateNext();if(t)return this.j.s.select(t),!1}catch(t){}return this.j.s.select(t),!1},this.tpl=(t,i,n,o)=>{let r=this.j.c.fromHTML(`<span class="jodit-xpath__item"><a role="button" data-path="${i}" title="${o}" tabindex="-1"'>${(0,a.trim)(n)}</a></span>`),s=r.firstChild;return this.j.e.on(s,"click",this.onSelectPath.bind(this,t)).on(s,"contextmenu",this.onContext.bind(this,t)),r},this.removeSelectAll=()=>{this.selectAllButton&&(this.selectAllButton.destruct(),delete this.selectAllButton)},this.appendSelectAll=()=>{this.removeSelectAll(),this.selectAllButton=(0,h.makeButton)(this.j,{name:"selectall",...this.j.o.controls.selectall}),this.selectAllButton.state.size="tiny",this.container&&this.container.insertBefore(this.selectAllButton.container,this.container.firstChild)},this.calcPathImd=()=>{if(this.isDestructed)return;let t=this.j.s.current();if(this.container&&(this.container.innerHTML=o.INVISIBLE_SPACE),t){let i,n,o;r.Dom.up(t,t=>{t&&this.j.editor!==t&&!r.Dom.isText(t)&&!r.Dom.isComment(t)&&(i=t.nodeName.toLowerCase(),n=(0,c.getXPathByElement)(t,this.j.editor).replace(/^\//,""),o=this.tpl(t,n,i,this.j.i18n("Select %s",i)),this.container&&this.container.insertBefore(o,this.container.firstChild))},this.j.editor)}this.appendSelectAll()},this.calcPath=this.j.async.debounce(this.calcPathImd,2*this.j.defaultTimeout,!0)}}s.pluginSystem.add("xpath",p)},78173:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1395 736q0 13-10 23l-466 466q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l50-50q10-10 23-10t23 10l393 393 393-393q10-10 23-10t23 10l50 50q10 10 10 23z"/> </svg> '},16260:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1203 544q0 13-10 23l-393 393 393 393q10 10 10 23t-10 23l-50 50q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l466-466q10-10 23-10t23 10l50 50q10 10 10 23z"/> </svg> '},37663:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1171 960q0 13-10 23l-466 466q-10 10-23 10t-23-10l-50-50q-10-10-10-23t10-23l393-393-393-393q-10-10-10-23t10-23l50-50q10-10 23-10t23 10l466 466q10 10 10 23z"/> </svg> '},51036:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1395 1184q0 13-10 23l-50 50q-10 10-23 10t-23-10l-393-393-393 393q-10 10-23 10t-23-10l-50-50q-10-10-10-23t10-23l466-466q10-10 23-10t23 10l466 466q10 10 10 23z"/> </svg> '},31554:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M704 1376v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm256 0v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm256 0v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm-544-992h448l-48-117q-7-9-17-11h-317q-10 2-17 11zm928 32v64q0 14-9 23t-23 9h-96v948q0 83-47 143.5t-113 60.5h-832q-66 0-113-58.5t-47-141.5v-952h-96q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h309l70-167q15-37 54-63t79-26h320q40 0 79 26t54 63l70 167h309q14 0 23 9t9 23z"/> </svg> '},18309:function(t,i){"use strict";i.default='<svg viewBox="0 0 14 14" xmlns="http://www.w3.org/2000/svg"> <g stroke="none" stroke-width="1"> <path d="M14,1.4 L12.6,0 L7,5.6 L1.4,0 L0,1.4 L5.6,7 L0,12.6 L1.4,14 L7,8.4 L12.6,14 L14,12.6 L8.4,7 L14,1.4 Z"/> </g> </svg> '},99762:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1792 1344v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm-384-384v128q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h896q26 0 45 19t19 45zm256-384v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45zm-384-384v128q0 26-19 45t-45 19h-640q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h640q26 0 45 19t19 45z"/> </svg> '},7903:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1472 930v318q0 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119 84.5-203.5t203.5-84.5h832q63 0 117 25 15 7 18 23 3 17-9 29l-49 49q-10 10-23 10-3 0-9-2-23-6-45-6h-832q-66 0-113 47t-47 113v832q0 66 47 113t113 47h832q66 0 113-47t47-113v-254q0-13 9-22l64-64q10-10 23-10 6 0 12 3 20 8 20 29zm231-489l-814 814q-24 24-57 24t-57-24l-430-430q-24-24-24-57t24-57l110-110q24-24 57-24t57 24l263 263 647-647q24-24 57-24t57 24l110 110q24 24 24 57t-24 57z"/> </svg> '},58032:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 10 10"> <path d="M.941 4.523a.75.75 0 1 1 1.06-1.06l3.006 3.005 3.005-3.005a.75.75 0 1 1 1.06 1.06l-3.549 3.55a.75.75 0 0 1-1.168-.136L.941 4.523z"/> </svg> '},52507:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 24 24" > <circle cx="12" cy="12" r="2.2"/> <circle cx="12" cy="5" r="2.2"/> <circle cx="12" cy="19" r="2.2"/> </svg> '},43478:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z"/> </svg> '},60097:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1152 512v-472q22 14 36 28l408 408q14 14 28 36h-472zm-128 32q0 40 28 68t68 28h544v1056q0 40-28 68t-68 28h-1344q-40 0-68-28t-28-68v-1600q0-40 28-68t68-28h800v544z"/> </svg> '},49155:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1728 608v704q0 92-66 158t-158 66h-1216q-92 0-158-66t-66-158v-960q0-92 66-158t158-66h320q92 0 158 66t66 158v32h672q92 0 158 66t66 158z"/> </svg> '},17555:function(t,i,n){"use strict";n.r(i),n.d(i,{angle_down:function(){return o.default},angle_left:function(){return r.default},angle_right:function(){return s.default},angle_up:function(){return a.default},bin:function(){return l.default},cancel:function(){return c.default},center:function(){return u.default},check:function(){return d.default},chevron:function(){return h.default},dots:function(){return p.default},eye:function(){return f.default},file:function(){return m.default},folder:function(){return g.default},info_circle:function(){return b.default},left:function(){return v.default},lock:function(){return y.default},ok:function(){return w.default},pencil:function(){return _.default},plus:function(){return C.default},resize_handler:function(){return k.default},right:function(){return S.default},save:function(){return x.default},settings:function(){return I.default},unlock:function(){return E.default},update:function(){return T.default},upload:function(){return A.default},valign:function(){return j.default}});var o=n(78173),r=n(16260),s=n(37663),a=n(51036),l=n(31554),c=n(18309),u=n(99762),d=n(7903),h=n(58032),p=n(52507),f=n(43478),m=n(60097),g=n(49155),b=n(17176),v=n(57882),y=n(58908),w=n(24829),_=n(4038),C=n(45575),k=n(84858),S=n(445),x=n(36886),I=n(10766),E=n(33651),T=n(20362),A=n(12202),j=n(80152)},17176:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1152 1376v-160q0-14-9-23t-23-9h-96v-512q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v160q0 14 9 23t23 9h96v320h-96q-14 0-23 9t-9 23v160q0 14 9 23t23 9h448q14 0 23-9t9-23zm-128-896v-160q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v160q0 14 9 23t23 9h192q14 0 23-9t9-23zm640 416q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> </svg> '},57882:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1792 1344v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm-384-384v128q0 26-19 45t-45 19h-1280q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1280q26 0 45 19t19 45zm256-384v128q0 26-19 45t-45 19h-1536q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1536q26 0 45 19t19 45zm-384-384v128q0 26-19 45t-45 19h-1152q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1152q26 0 45 19t19 45z"/> </svg> '},58908:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"><path d="M640 768h512v-192q0-106-75-181t-181-75-181 75-75 181v192zm832 96v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h32v-192q0-184 132-316t316-132 316 132 132 316v192h32q40 0 68 28t28 68z"/></svg> '},24829:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 32 32"> <path d="M27 4l-15 15-7-7-5 5 12 12 20-20z"/> </svg> '},4038:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"><path d="M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z"/></svg> '},45575:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"><path d="M1600 736v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z"/></svg> '},84858:function(t,i){"use strict";i.default='<svg viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"> <path d="M5.9814 11.8049C5.59087 11.4144 5.59087 10.7812 5.9814 10.3907L10.224 6.14806C10.6146 5.75754 11.2477 5.75754 11.6383 6.14806C12.0288 6.53859 12.0288 7.17175 11.6383 7.56228L7.39561 11.8049C7.00509 12.1954 6.37192 12.1954 5.9814 11.8049Z"/> <path d="M0.707107 12.0208C0.316582 11.6303 0.316582 10.9971 0.707107 10.6066L10.6066 0.707121C10.9971 0.316597 11.6303 0.316596 12.0208 0.707121C12.4113 1.09764 12.4113 1.73081 12.0208 2.12133L2.12132 12.0208C1.7308 12.4114 1.09763 12.4114 0.707107 12.0208Z"/> </svg> '},445:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1792 1344v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1280q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1280q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1536q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1536q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1152q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1152q26 0 45 19t19 45z"/> </svg> '},36886:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M512 1536h768v-384h-768v384zm896 0h128v-896q0-14-10-38.5t-20-34.5l-281-281q-10-10-34-20t-39-10v416q0 40-28 68t-68 28h-576q-40 0-68-28t-28-68v-416h-128v1280h128v-416q0-40 28-68t68-28h832q40 0 68 28t28 68v416zm-384-928v-320q0-13-9.5-22.5t-22.5-9.5h-192q-13 0-22.5 9.5t-9.5 22.5v320q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5-9.5t9.5-22.5zm640 32v928q0 40-28 68t-68 28h-1344q-40 0-68-28t-28-68v-1344q0-40 28-68t68-28h928q40 0 88 20t76 48l280 280q28 28 48 76t20 88z"/> </svg> '},10766:function(t,i){"use strict";i.default='<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"> <path stroke="null" d="m42.276011,26.302547c0.098397,-0.76605 0.172194,-1.54407 0.172194,-2.33406s-0.073797,-1.56801 -0.172194,-2.33406l5.202718,-3.961917c0.467384,-0.359086 0.602679,-1.005441 0.29519,-1.532101l-4.919828,-8.29489c-0.307489,-0.51469 -0.947067,-0.730142 -1.500548,-0.51469l-6.125186,2.405877c-1.266856,-0.945594 -2.656707,-1.747553 -4.157255,-2.357999l-0.922468,-6.343855c-0.110696,-0.562568 -0.614979,-1.005441 -1.229957,-1.005441l-9.839656,0c-0.614979,0 -1.119261,0.442873 -1.217657,1.005441l-0.922468,6.343855c-1.500548,0.610446 -2.890399,1.400436 -4.157255,2.357999l-6.125186,-2.405877c-0.553481,-0.203482 -1.193058,0 -1.500548,0.51469l-4.919828,8.29489c-0.307489,0.51469 -0.172194,1.161045 0.29519,1.532101l5.190419,3.961917c-0.098397,0.76605 -0.172194,1.54407 -0.172194,2.33406s0.073797,1.56801 0.172194,2.33406l-5.190419,3.961917c-0.467384,0.359086 -0.602679,1.005441 -0.29519,1.532101l4.919828,8.29489c0.307489,0.51469 0.947067,0.730142 1.500548,0.51469l6.125186,-2.405877c1.266856,0.945594 2.656707,1.747553 4.157255,2.357999l0.922468,6.343855c0.098397,0.562568 0.602679,1.005441 1.217657,1.005441l9.839656,0c0.614979,0 1.119261,-0.442873 1.217657,-1.005441l0.922468,-6.343855c1.500548,-0.610446 2.890399,-1.400436 4.157255,-2.357999l6.125186,2.405877c0.553481,0.203482 1.193058,0 1.500548,-0.51469l4.919828,-8.29489c0.307489,-0.51469 0.172194,-1.161045 -0.29519,-1.532101l-5.190419,-3.961917zm-18.277162,6.044617c-4.759934,0 -8.609699,-3.746465 -8.609699,-8.378677s3.849766,-8.378677 8.609699,-8.378677s8.609699,3.746465 8.609699,8.378677s-3.849766,8.378677 -8.609699,8.378677z"/> </svg> '},33651:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1728 576v256q0 26-19 45t-45 19h-64q-26 0-45-19t-19-45v-256q0-106-75-181t-181-75-181 75-75 181v192h96q40 0 68 28t28 68v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h672v-192q0-185 131.5-316.5t316.5-131.5 316.5 131.5 131.5 316.5z"/> </svg> '},20362:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1639 1056q0 5-1 7-64 268-268 434.5t-478 166.5q-146 0-282.5-55t-243.5-157l-129 129q-19 19-45 19t-45-19-19-45v-448q0-26 19-45t45-19h448q26 0 45 19t19 45-19 45l-137 137q71 66 161 102t187 36q134 0 250-65t186-179q11-17 53-117 8-23 30-23h192q13 0 22.5 9.5t9.5 22.5zm25-800v448q0 26-19 45t-45 19h-448q-26 0-45-19t-19-45 19-45l138-138q-148-137-349-137-134 0-250 65t-186 179q-11 17-53 117-8 23-30 23h-199q-13 0-22.5-9.5t-9.5-22.5v-7q65-268 270-434.5t480-166.5q146 0 284 55.5t245 156.5l130-129q19-19 45-19t45 19 19 45z"/> </svg> '},12202:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1344 1472q0-26-19-45t-45-19-45 19-19 45 19 45 45 19 45-19 19-45zm256 0q0-26-19-45t-45-19-45 19-19 45 19 45 45 19 45-19 19-45zm128-224v320q0 40-28 68t-68 28h-1472q-40 0-68-28t-28-68v-320q0-40 28-68t68-28h427q21 56 70.5 92t110.5 36h256q61 0 110.5-36t70.5-92h427q40 0 68 28t28 68zm-325-648q-17 40-59 40h-256v448q0 26-19 45t-45 19h-256q-26 0-45-19t-19-45v-448h-256q-42 0-59-40-17-39 14-69l448-448q18-19 45-19t45 19l448 448q31 30 14 69z"/> </svg> '},80152:function(t,i){"use strict";i.default='<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox="0 0 1792 1792"> <path d="M1216 320q0 26-19 45t-45 19h-128v1024h128q26 0 45 19t19 45-19 45l-256 256q-19 19-45 19t-45-19l-256-256q-19-19-19-45t19-45 45-19h128v-1024h-128q-26 0-45-19t-19-45 19-45l256-256q19-19 45-19t45 19l256 256q19 19 19 45z"/> </svg> '},62357:function(t,i,n){"use strict";n.d(i,{UIRange:function(){return c}});var o=n(82749),r=n(31635),s=n(65478),a=n(21537),l=n(67510);class c extends l.UIInput{className(){return"UIRange"}appendUIRange(){let t=this.j.create.div(this.getFullElName("slider"));this.container.appendChild(t);let i=this.j.create.div(this.getFullElName("handle"));t.appendChild(i);let n=this.j.create.div(this.getFullElName("log")),o=this.getElm("label");o&&o.appendChild(n)}onDragStart(t){this.startValue=parseFloat(this.value)||0,this.startX=t.clientX;let i=this.getElm("slider");(0,a.assert)(null!=i,"slider element does not exists"),this.width=i.offsetWidth,this.j.e.on(this.j.ow,"mousemove",this.onDrag)}onDrag(t){let{min:i,max:n,step:o=1}=this.state,r=(t.clientX-this.startX)/this.width*(this.state.max-this.state.min),s=this.startValue+r;s<i&&(s=i),s>n&&(s=n),s=Math.round(s/o)*o,this.value=s.toFixed(10)}onDragEnd(){this.j.e.off(this.j.ow,"mousemove",this.onDrag)}onChangeSelfValue(){let t=this.getElm("handle"),i=parseFloat(this.value)||0;(0,a.assert)(null!=t,"Handle element does not exist"),(0,a.css)(t,{left:(i-this.state.min)/(this.state.max-this.state.min)*100+"%"});let n=this.getElm("log");(0,a.assert)(null!=n,"log element does not exist"),n.innerText=i.toString()}destruct(){return this.onDragEnd(),super.destruct()}constructor(t,i){super(t,{...i,type:"hidden"}),(0,o._)(this,"state",{...l.UIInput.defaultState,min:0,max:100,step:1}),(0,o._)(this,"startValue",0),(0,o._)(this,"startX",0),(0,o._)(this,"width",100),Object.assign(this.state,i),this.appendUIRange(),this.onChangeSelfValue()}}(0,r.__decorate)([(0,s.watch)(["handle:mousedown","handle:touchstart"])],c.prototype,"onDragStart",null),(0,r.__decorate)([s.autobind],c.prototype,"onDrag",null),(0,r.__decorate)([(0,s.watch)(["j.ow:mouseup","j.ow:touchend"])],c.prototype,"onDragEnd",null),(0,r.__decorate)([(0,s.watch)(":change")],c.prototype,"onChangeSelfValue",null),c=(0,r.__decorate)([s.component],c)},31356:function(t,i,n){"use strict";n.d(i,{ListReconciler:function(){return o}});class o{static reconcile(t,i,n){let{getId:o,isEqual:r=(t,i)=>o(t)===o(i),preserveOrder:s=!0}=n,a=new Map,l=new Map;t.forEach((t,i)=>{let n=o(t);a.set(n,t),l.set(n,i)});let c=new Map,u=new Map;i.forEach((t,i)=>{let n=o(t);c.set(n,t),u.set(n,i)});let d=[],h=[],p=[],f=[];return i.forEach((t,i)=>{let n=o(t),c=a.get(n);c?!r(c,t)||s&&l.get(n)!==i?h.push({oldItem:c,newItem:t,index:s?i:l.get(n)}):f.push(c):d.push(t)}),t.forEach(t=>{let i=o(t);c.has(i)||p.push(t)}),{toCreate:d,toUpdate:h,toRemove:p,unchanged:f}}static applyResult(t,i,n={}){i.toRemove.forEach(i=>{let o=t.indexOf(i);-1!==o&&(n.onRemove?.(i,o),t.splice(o,1))}),i.toUpdate.forEach(({oldItem:i,newItem:o,index:r})=>{let s=t.indexOf(i);-1!==s&&(n.onUpdate?.(i,o,r),t[s]=o)}),i.toCreate.forEach(i=>{n.onCreate?.(i,t.length),t.push(i)})}}},2692:function(t,i,n){"use strict";n.d(i,{JoditPro:function(){return l}});var o=n(82758),r=n(63799),s=n(41180),a=n(86019);class l extends a.Jodit{static make(t,i){return new this(t,i)}beforeInitHook(){if(o.IS_PROD&&!o.IS_TEST&&this.o.loadExternalConfig)return(0,r.appendScriptAsync)(this,this.basePath+"config.js")}afterInitHook(){(async()=>{if(await this.e.fire("checkReserve",location.host)!=="normal"){if(this.isInDestruct)return;let t=this.c.div("",'Trial version. Buy <a href="https://xdsoft.net/jodit/pro/">Jodit Pro</a>');o.IS_TEST||o.IS_PROD,(0,s.css)(t,{position:"absolute",color:"red",right:10,bottom:10}),this.addDisclaimer(t)}})().catch(()=>null),super.afterInitHook()}getVersion(){return"PRO "+o.APP_VERSION}}},41810:function(t,i,n){"use strict";var o=n(82749),r=n(31635);n(66645);var s=n(86449),a=n(21020),l=n(46166),c=n(62895),u=n(55487),d=n(27769),h=n(58579),p=n(63805),f=n(82758),m=n(65478),g=n(580),b=n(21537),v=n(50911),y=n(2692),w=n(18549),_=n(54747);class C extends v.Plugin{get state(){return this.stateManager.state}get toolRegistry(){return new u.ToolRegistry(this.j)}get permissionManager(){return new a.PermissionManager(this.j,this.toolRegistry)}get apiClient(){return new s.APIClient(this.j,this.toolRegistry)}get storage(){let{storage:t,storageKey:i,maxConversations:n}=this.j.o.aiAssistantPro;if("string"==typeof t){let o=(0,c.createStorageProvider)(t,i);return new c.WebStorageConversationStorage(o,n)}return t}get stateManager(){return new l.StateManager(this.j)}get mainPanel(){return new d.UIMainPanel(this.j,this.stateManager.state,this.j.o.aiAssistantPro,t=>{let i=this.stateManager.getCurrentConversation();i&&this.stateManager.setCurrentConversation({...i,...t})})}get dialog(){let t=this.j.dlg({resizable:this.j.o.aiAssistantPro.resizable,eventEmmiter:this.j.e});return t.e.on(t,"afterClose",()=>{this.j.e.fire("closeAIAssistantPro.ai-assistant-pro")}),t}setupTextAutocomplete(){let{textAutocompleteEnabled:t,textAutocompleteApiRequest:i,textAutocompleteMinQueryLength:n,textAutocompleteMaxSuggestions:o,textAutocompleteDebounceMs:r,textAutocompleteCacheTTL:s,textAutocompleteCacheMaxSize:a}=this.j.o.aiAssistantPro;if(!t||!i)return;this.j.o.autocomplete={...this.j.o.autocomplete,displayMode:"inline"};let l=this.textAutocompleteCache,c=null;this.textAutocompleteSource=t=>{if(t.length<n)return[];let u=`${t}:${o}`;if(s>0){let t=l.get(u);if(t&&Date.now()-t.ts<s)return t.data.map(t=>({value:t,title:t}))}c&&clearTimeout(c);let d=new AbortController;return new Promise(n=>{c=setTimeout(async()=>{try{let r=await i(t,o,d.signal);if(Array.isArray(r)){let t=r.slice(0,o);if(s>0){if(l.size>=a){let t=l.keys().next().value;null!=t&&l.delete(t)}l.set(u,{ts:Date.now(),data:t})}n(t.map(t=>({value:t,title:t})));return}n([])}catch{n([])}},r)})},this.j.e.fire("registerAutocompleteSource",this.textAutocompleteSource)}afterInit(){(0,g.extendLang)(p),this.setupEventListeners(),this.setupTextAutocomplete(),this.j.async.promise(t=>{let{initiallyOpened:i,persistOpenState:n}=this.j.o.aiAssistantPro,o=i;n?this.storage.getGlobalSettings().then(t=>{if(t?.isOpen!=null&&(o=t.isOpen),o)return this.openAssistant()}).catch(()=>null).finally(()=>t(void 0)):t(void 0)}).catch(()=>null)}__loadData(){return this.__initedPromise?this.__initedPromise:this.isDestructed?Promise.reject():(this.__initedPromise=this.j.async.promise(t=>{this.loadInitialData().then(t)}).catch(()=>null),this.__initedPromise)}async loadInitialData(){this.mainPanel.setMod("ready",!0),await (0,h.loadInitialData)(this.j,this.storage,this.stateManager),await this.restorePendingToolCalls()}async restorePendingToolCalls(){let t=this.stateManager.getCurrentConversation();if(!t)return;let i=(0,h.findMessagesWithPendingToolCalls)(t);if(0!==i.length)for(let t of i)await this.handleToolCalls(t.id)}setupEventListeners(){this.j.e.on("selectConversation.ai-assistant-pro",async t=>{try{await this.__loadData(),await (0,h.handleConversationSelect)(t,this.storage,this.stateManager)}catch(t){f.IS_PROD}}),this.j.e.on("newConversation.ai-assistant-pro",async()=>{await this.__loadData();let t=(0,h.createNewConversation)(this.j,this.state.defaultModel,this.state.defaultTemperature);this.stateManager.setCurrentConversation(t)}),this.j.e.on("deleteConversation.ai-assistant-pro",async t=>{await this.__loadData(),await this.deleteConversation(t)}),this.j.e.on("renameConversation.ai-assistant-pro",async(t,i)=>{await this.__loadData(),await this.renameConversation(t,i)}),this.j.e.on("backToList.ai-assistant-pro",async()=>{await this.__loadData(),await (0,h.handleBackToList)(this.storage,this.stateManager)}),this.j.e.on("removeContext.ai-assistant-pro",async t=>{await this.__loadData(),this.stateManager.removeSelectionContext(t)}),this.j.e.on("approveToolCall.ai-assistant-pro",async(t,i)=>{try{await this.__loadData();let n=await (0,h.handleToolApproval)(t,i,this.stateManager,this.permissionManager,this.storage);if(n){let t=this.stateManager.getCurrentConversation();if(!t)return;let i=t.messages.find(t=>t.toolCalls?.some(t=>t.id===n.id));if(!i)return;await this.executeToolCall(i.id,n)}}catch(t){if((0,b.isAbortError)(t))return;this.stateManager.setError(t instanceof Error?t.message:t+"")}}),this.j.e.on("denyToolCall.ai-assistant-pro",async t=>{await this.__loadData(),await (0,h.handleToolDenial)(this.j,t,this.stateManager,this.storage)}),this.j.e.on("abortRequest.ai-assistant-pro",async()=>{await this.__loadData(),this.apiClient.abort(),this.stateManager.setLoading(!1)})}__applyTheme(){(0,h.applyTheme)(this.j,this.stateManager.state.theme,this.stateManager.state.displayMode,this.mainPanel.container,this.dialog)}async openAssistant(){if(this.stateManager.isOpen()){this.stateManager.close(),await this.__closeInContainer();return}await this.__loadData(),this.isDestructed||(this.stateManager.open(),await this.__openInContainer(),this.j.o.aiAssistantPro.includeSelectionByDefault&&!this.j.s.isCollapsed()&&this.addCurrentSelectionToContext())}async __openInContainer(){let{resizable:t,allowClose:i,flightPanelHeight:n}=this.j.o.aiAssistantPro,{displayMode:o="right",panelWidth:r,panelHeight:s}=this.stateManager.state;switch(this.__applyTheme(),this.mainPanel.setMod("displayMode",o),this.mainPanel.setMod("allowClose",i),this.mainPanel.setParentView("dialog"===o||"flight"===o?this.dialog:this.j),this.__openedMode=o,o){case"dialog":this.dialog.setSize(r,s).open().setContent(this.mainPanel.container);break;case"flight":w.UIFlightPosition.install(this.mainPanel,this.j.container,{panelHeight:n,containerClassName:this.getFullElName("flight-container")});break;default:t&&(_.UIResize.remove(this.mainPanel),_.UIResize.install(this.mainPanel,(0,h.invertMode)(o),{handleClassName:this.getFullElName("ai-assistent-resize-handle"),onResize:({newSize:t})=>{let i="left"===o||"right"===o?t:r,n="top"===o||"bottom"===o?t:s;return this.stateManager.state.panelWidth=i,this.stateManager.state.panelHeight=n,!0}})),this.j.currentPlace.slots[o].appendChild(this.mainPanel.container),(0,h.resizeInPanelView)(this.j,o,r,s)}}__onResizeInPanelView(){let{displayMode:t,panelWidth:i,panelHeight:n}=this.stateManager.state;(0,h.resizeInPanelView)(this.j,t,i,n)}async __closeInContainer(){let{displayMode:t}=await this.stateManager.state;switch(this.__openedMode!==t&&"dialog"===this.__openedMode&&this.dialog.close(),this.__openedMode!==t&&"flight"===this.__openedMode&&this.__closeFlightMode(),t){case"dialog":this.dialog.close();break;case"flight":this.__closeFlightMode();break;default:this.mainPanel.container.remove()}}__closeFlightMode(){w.UIFlightPosition.remove(this.mainPanel)}__onSavedStateChange(){let t=this.stateManager.state;return this.storage.saveGlobalSettings({displayMode:t.displayMode,panelWidth:t.panelWidth,panelHeight:t.panelHeight,theme:t.theme,defaultModel:t.defaultModel,defaultTemperature:t.defaultTemperature,currentConversationId:t.currentConversation?.id,...this.j.o.aiAssistantPro.persistOpenState?{isOpen:t.isOpen}:{}})}async closeAssistant(){this.stateManager.isOpen()&&(await this.__loadData(),this.stateManager.close(),this.__closeInContainer())}async addCurrentSelectionToContext(){await this.__loadData();let t=(0,h.getCurrentSelectionContext)(this.j);t&&this.stateManager.addSelectionContext(t)}async executeQuickCommand(t){let i,{quickCommandsSilentMode:n,quickCommandsDisplayMode:o}=this.j.o.aiAssistantPro,r=this.j.o.aiAssistant;if(r&&r[t]&&(0,b.isString)(r[t])&&(i=r[t]),!i)return void this.j.e.fire("error","Command not found: "+t);let s=this.j.s.isCollapsed()?this.j.value:this.j.s.html;if(!s)return;let a=r?.aiCommonPrefixPrompt||"",l=r?.aiCommonSuffixPrompt||"",c=`${a}${i}${l}
|
|
281
281
|
|
|
282
|
-
${s}`.trim();n?await this.__executeQuickCommandSilent(c,s):await this.__executeQuickCommandWithPanel(c,o)}async __executeQuickCommandSilent(t,i){await this.__loadData(),this.j.progressbar.show().progress(100);try{let i=(0,h.createUserMessage)(t),n=(0,h.createNewConversation)(this.j,this.state.defaultModel,this.state.defaultTemperature,[i]),o=await this.apiClient.sendRequest(n.id,n.messages,null,[],n.options);if("final"===o.mode){let t=o.response.content;t&&this.j.s.insertHTML(t)}}catch(t){(0,b.isAbortError)(t)||this.j.e.fire("error",t)}finally{this.j.progressbar.hide()}}async __executeQuickCommandWithPanel(t,i){await this.__loadData();let n=this.stateManager.state.displayMode;this.stateManager.state.displayMode=i;let o=(0,h.getCurrentSelectionContext)(this.j);o&&this.stateManager.addSelectionContext(o),this.stateManager.isOpen()||await this.openAssistant(),await this.sendMessage(t),this.stateManager.state.displayMode=n}async sendMessage(t){await this.__loadData();let i=this.stateManager.getCurrentConversation(),n=this.stateManager.getEditingMessageId();if(n&&i){let t=i.messages.findIndex(t=>t.id===n);if(-1!==t){let n=i.messages.slice(0,t),o={...i,messages:n,updatedAt:Date.now()};this.stateManager.setCurrentConversation(o),await this.storage.save(o),this.stateManager.clearEditingMessage(),i=o}}i||(i=(0,h.createNewConversation)(this.j,this.state.defaultModel,this.state.defaultTemperature),this.stateManager.setCurrentConversation(i));let o=null;t.trim()&&(o=(0,h.createUserMessage)(t),i.title||(i={...i,title:t}),i={...i,updated:Date.now(),messages:[...i.messages,o]}),this.stateManager.setCurrentConversation({...i}),o&&this.j.e.fire("messageSent.ai-assistant-pro",o),this.stateManager.setLoading(!0),this.stateManager.clearError();try{await this.sendRequestToAI(0),this.stateManager.clearSelectionContexts()}catch(t){if((0,b.isAbortError)(t))return;this.stateManager.setError(t instanceof Error?t.message:t+"")}finally{this.stateManager.setLoading(!1)}}async sendRequestToAI(t=0){let i,n,o=this.j.o.aiAssistantPro.maxRecursionToolCallDepth;if(t>=o)throw Error(`Max recursion depth ${o} reached for tool calls`);let r=this.stateManager.getCurrentConversation();if(!r)return;let s=(0,h.findParentMessageId)(r),[a]=await Promise.all([this.apiClient.sendRequest(r.id,r.messages,s,this.stateManager.getSelectionContexts(),r.options),this.storage.save(r)]);if("stream"===a.mode){let t=await (0,h.processStreamingResponse)(this.stateManager,a,r);i=t.aiMessage,n=t.index,r=t.conversation}else{let t=(0,h.processFinalResponse)(a,r);i=t.aiMessage,n=t.index,r=t.conversation}r=await (0,h.processArtifacts)(this.j,i,r,n),this.j.e.fire("messageReceived.ai-assistant-pro",i),this.stateManager.setCurrentConversation({...r}),await this.storage.save(r),await this.handleToolCalls(i.id,t)}async deleteConversation(t){await this.__loadData(),await (0,h.deleteConversationWithCleanup)(this.j,t,this.storage,this.stateManager,this.permissionManager)}async renameConversation(t,i){let n=await this.storage.get(t);if(!n)return;let o={...n,title:i,updated:Date.now()};await this.storage.save(o),this.state.currentConversation?.id===t&&this.stateManager.setCurrentConversation(o);let r=await this.storage.list();this.stateManager.setConversations(r)}async searchConversations(t){await this.__loadData(),await (0,h.handleConversationSearch)(t,this.storage,this.stateManager)}async handleToolCalls(t,i=0){let n=this.stateManager.getCurrentConversation();if(!n)return;let o=n.messages.find(i=>i.id===t);if(!o)return;let r=o.toolCalls;if(!r||0===r.length)return;let s=r.filter(t=>!(0,h.isTerminalToolCallStatus)(t.status));if(0===s.length)return;let{approved:a,needsPermission:l}=this.permissionManager.filterToolCalls(s,n.permissions);for(let n of(this.stateManager.setPendingToolCalls(l),a))await this.executeToolCall(t,n,i)}async executeToolCall(t,i,n=0){let o=this.stateManager.getCurrentConversation();if(!o)return;let r=await (0,h.executeToolCall)(this.j,i,this.toolRegistry),s=o.messages.findIndex(i=>i.id===t);if(-1===s)return;let a=o.messages[s],l=o.messages.slice();l[s]=(0,h.updateToolCallInMessage)(a,r),o={...o,messages:l,updated:Date.now()},this.stateManager.setCurrentConversation(o),(0,h.areAllToolCallsExecuted)(o)&&await this.sendRequestToAI(n+1)}async copyMessage(t){let i=this.stateManager.getCurrentConversation();if(!i)return;let n=i.messages.find(i=>i.id===t);if(n)try{await navigator.clipboard.writeText(n.content),this.j.message.success("Message copied to clipboard")}catch(t){this.j.e.fire("error",Error("Failed to copy message"))}}async restartFromMessage(t){let i=this.stateManager.getCurrentConversation();if(!i)return;let n=i.messages.findIndex(i=>i.id===t);if(-1===n)return;let o=i.messages[n];if("user"!==o.role)return;await this.__loadData();let r=i.messages.slice(0,n),s={...i,messages:r,updatedAt:Date.now()};this.stateManager.setCurrentConversation(s),await this.storage.save(s),await this.sendMessage(o.content)}async editMessage(t){let i=this.stateManager.getCurrentConversation();if(!i)return;let n=i.messages.find(i=>i.id===t);n&&"user"===n.role&&(this.stateManager.setEditingMessageId(t),this.mainPanel.inputArea.setValue(n.content),this.mainPanel.inputArea.focus())}cancelEditMessage(){this.stateManager.isEditingMessage()&&(this.stateManager.clearEditingMessage(),this.mainPanel.inputArea.setValue(""))}async deleteMessage(t){await this.__loadData();let i=this.stateManager.getCurrentConversation();if(!i||-1===i.messages.findIndex(i=>i.id===t))return;let n=i.messages.filter(i=>i.id!==t),o={...i,messages:n,updatedAt:Date.now()};this.stateManager.setCurrentConversation(o),await this.storage.save(o)}beforeDestruct(){this.__closeFlightMode(),(0,m.cached)(this,"toolRegistry")?.destruct(),(0,m.cached)(this,"permissionManager")?.destruct(),(0,m.cached)(this,"apiClient")?.destruct(),(0,m.cached)(this,"stateManager")?.destruct(),(0,m.cached)(this,"mainPanel")?.destruct(),(0,m.cached)(this,"dialog")?.destruct(),(0,m.cached)(this,"storage")?.close?.()}constructor(...t){super(...t),(0,o._)(this,"buttons",[{name:"aiAssistantPro",group:"insert"},{name:"aiCommandsPro",group:"insert"}]),(0,o._)(this,"__initedPromise",null),(0,o._)(this,"__openedMode",null)}}(0,o._)(C,"requires",["license"]),(0,r.__decorate)([m.cache],C.prototype,"toolRegistry",null),(0,r.__decorate)([m.cache],C.prototype,"permissionManager",null),(0,r.__decorate)([m.cache],C.prototype,"apiClient",null),(0,r.__decorate)([m.cache],C.prototype,"storage",null),(0,r.__decorate)([m.cache],C.prototype,"stateManager",null),(0,r.__decorate)([m.cache],C.prototype,"mainPanel",null),(0,r.__decorate)([m.cache],C.prototype,"dialog",null),(0,r.__decorate)([(0,m.watch)("state.theme")],C.prototype,"__applyTheme",null),(0,r.__decorate)([(0,m.watch)(":openAIAssistantPro.ai-assistant-pro")],C.prototype,"openAssistant",null),(0,r.__decorate)([(0,m.watch)([":resize","state.panelWidth","state.panelHeight"])],C.prototype,"__onResizeInPanelView",null),(0,r.__decorate)([(0,m.watch)(["state.isOpen","state.displayMode","state.panelWidth","state.panelHeight","state.theme","state.defaultModel","state.defaultTemperature","state.currentConversation"]),(0,m.debounce)()],C.prototype,"__onSavedStateChange",null),(0,r.__decorate)([(0,m.watch)(":closeAIAssistantPro.ai-assistant-pro")],C.prototype,"closeAssistant",null),(0,r.__decorate)([(0,m.watch)(":addContextToAIAssistant.ai-assistant-pro")],C.prototype,"addCurrentSelectionToContext",null),(0,r.__decorate)([(0,m.watch)(":executeQuickCommand.ai-assistant-pro")],C.prototype,"executeQuickCommand",null),(0,r.__decorate)([(0,m.watch)(":sendMessage.ai-assistant-pro")],C.prototype,"sendMessage",null),(0,r.__decorate)([(0,m.watch)(":searchConversations.ai-assistant-pro")],C.prototype,"searchConversations",null),(0,r.__decorate)([(0,m.watch)(":copyMessage.ai-assistant-pro")],C.prototype,"copyMessage",null),(0,r.__decorate)([(0,m.watch)(":restartFromMessage.ai-assistant-pro")],C.prototype,"restartFromMessage",null),(0,r.__decorate)([(0,m.watch)(":editMessage.ai-assistant-pro")],C.prototype,"editMessage",null),(0,r.__decorate)([(0,m.watch)(":cancelEditMessage.ai-assistant-pro")],C.prototype,"cancelEditMessage",null),(0,r.__decorate)([(0,m.watch)(":deleteMessage.ai-assistant-pro")],C.prototype,"deleteMessage",null),C=(0,r.__decorate)([m.component],C),y.JoditPro.plugins.add("aiAssistantPro",C)},66645:function(t,i,n){"use strict";var o=n(47373),r=n(94668),s=n.n(r),a=n(86428),l=n.n(a),c=n(75966),u=n.n(c),d=n(83207),h=n.n(d),p=n(99219),f=n.n(p),m=n(63674),g=n.n(m),b=n(4133),v=n.n(b),y=n(94454),w=n(53835),_=n(6441),C=n(12153),k=n(31974),S=n(72573);C.Icon.set("ai-assistant-pro",l()).set("ai-commands-pro",u()).set("ai-add-context",s()).set("send",f()).set("tool-bolt",v()).set("chevron-right",h()).set("shield",g()),_.Config.prototype.aiAssistantPro={displayMode:"right",panelWidth:400,panelHeight:500,flightPanelHeight:250,dialogFullSize:!1,resizable:!0,apiMode:"incremental",apiRequest:null,maxRetries:3,requestTimeout:3e5,retryDelay:1e3,maxRecursionToolCallDepth:1e3,enabledTools:(0,w.getToolNames)(),customTools:[],toolPermissions:{},autoApproveTools:["readDocument","readBlocks","readSelection","insertHTML"],alwaysDenyTools:[],defaultPermissionScope:"conversation",storage:"indexedDB",maxConversations:50,storageKey:"jodit-ai-assistant-pro",showConversationList:!0,enableMarkdown:!0,enableCodeHighlight:!0,maxMessageHeight:400,placeholderText:"Ask AI assistant...",sendShortcut:"Ctrl+Enter",showTimestamps:!0,formatTimestamp(t,i){let n=new Date(t),o=new Date().getTime()-n.getTime();return o<6e4?i("Just now"):o<36e5?i("%dm ago",Math.floor(o/6e4)):o<864e5?i("%dh ago",Math.floor(o/36e5)):n.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})},formatMessageContent:(t,i)=>S.marked.parse(t,{breaks:!0,gfm:!0}),showAvatars:!0,showTypingIndicator:!0,includeSelectionByDefault:!0,maxContextRanges:5,showContextPreview:!0,sendOnEnter:!0,instructions:void 0,includeEditorMetadata:!1,autoOpen:!0,rememberLastConversation:!0,autoFocusInput:!0,closeAfterInsert:!1,enableSoundNotifications:!1,debug:!1,quickCommandsSilentMode:!1,quickCommandsDisplayMode:"flight",showCopyMessageAction:!0,showRestartMessageAction:!0,showEditMessageAction:!0,showDeleteMessageAction:!0,dialogSettings:{},allowEditDialogSettings:!1,allowEditDisplayMode:!0,allowEditPanelWidth:!0,initiallyOpened:!1,allowClose:!0,persistOpenState:!0,theme:"parent",allowEditTheme:!0,async uploadBase64Artifact(t,i){if("image"===t.type&&t.data&&"base64"===t.data.kind)try{let n=(0,o.base64ToFile)(t.data.base64,t.id,t.mimeType),r=await i.uploader.upload([n]);return{...t,data:{kind:"url",url:r.baseurl+r.files[0]},metadata:{...t.metadata,filename:r.files[0]}}}catch(t){i.e.fire("error",t)}return t},getAIProviderOptions:(t,i)=>(0,y.getAIProviderOptions)(t,i),registerAIProvider(t,i){(0,y.registerAIProvider)(t,i)}},_.Config.prototype.controls.aiAssistantPro={icon:"ai-assistant-pro",tooltip:"AI Assistant",hotkeys:["ctrl+shift+a","cmd+shift+a"],exec(t){t.e.fire("openAIAssistantPro.ai-assistant-pro")},isDisabled:t=>!t.o.aiAssistantPro.apiRequest,getLabel:t=>t.o.aiAssistantPro.apiRequest?"AI Assistant":"AI Assistant (not configured)"},_.Config.prototype.controls.aiAddContext={icon:"ai-add-context",tooltip:"Add to AI Context",exec(t){t.e.fire("addContextToAIAssistant")},isDisabled:t=>!t.o.aiAssistantPro.apiRequest||t.s.isCollapsed()},_.Config.prototype.controls.aiCommandsPro={icon:"ai-commands-pro",tooltip:"AI Commands",isDisabled:t=>!t.o.aiAssistantPro.apiRequest,list:k.aiAssitentCommands,exec(t,i,{control:n}){t.e.fire("executeQuickCommand.ai-assistant-pro",n.name)}};let x=_.Config.prototype.tuneBlock?.popup||{},I={};["p","h1","h2","h3","h4","h5","h6","div","section","article","pre","blockquote","ul","ol","li","table","tr","td","th","img","figure"].forEach(t=>{let i=x[t]||["tune.up","tune.remove","tune.down"];I[t]=[...i,"|","aiAddContext"]}),_.Config.prototype.tuneBlock&&(_.Config.prototype.tuneBlock.popup={...x,...I})},6689:function(t,i,n){"use strict";n.d(i,{throwIfAborted:function(){return r}});var o=n(93661);function r(t){if(t.aborted)throw(0,o.abort)()}},61872:function(t,i,n){"use strict";n.d(i,{processArtifacts:function(){return a},processFinalResponse:function(){return s},processStreamingResponse:function(){return r}});var o=n(61558);async function r(t,i,n){let r=(0,o.createAIMessage)(),s=-1;for await(let a of i.stream){switch(a.type){case"created":r={...r,id:a.response.responseId,content:""},s=n.messages.length;break;case"text-delta":r={...r,content:r.content+a.delta};break;case"completed":r={...r,id:a.response.responseId,toolCalls:a.response.toolCalls||[],artifacts:a.response.artifacts||[]};break;case"error":{let t=(0,o.createErrorMessage)(a.error);r={...r,id:t.id,content:t.content}}}if(r.id){let i=n.messages.slice();i[s>=0?s:n.messages.length]=r,n={...n,messages:i,updated:Date.now()},t.setCurrentConversation(n)}}return{aiMessage:r,index:s,conversation:n}}function s(t,i){let n={...(0,o.createAIMessage)(),id:t.response.responseId,content:t.response.content,toolCalls:t.response.toolCalls||[],artifacts:t.response.artifacts||[]},r=i.messages.slice();return r.push(n),{aiMessage:n,index:(i={...i,messages:r,updated:Date.now()}).messages.length-1,conversation:i}}async function a(t,i,n,r){if(i.artifacts&&i.artifacts.length>0){let s=n.messages.slice();return s[r]={...s[r],artifacts:await (0,o.uploadArtifacts)(t,i.artifacts)},{...n,messages:s,updated:Date.now()}}return n}},49459:function(t,i,n){"use strict";function o(t,i,n={}){let r=t[i];if("string"!=typeof r||!n.allowEmpty&&""===r)throw Error(`Parameter "${i}" is required and must be a${n.allowEmpty?"":" non-empty"} string`);return r}n.d(i,{requireString:function(){return o}})},44526:function(t,i,n){"use strict";n.d(i,{resolveBlock:function(){return r}});var o=n(22732);function r(t,{selector:i,index:n,requireExactlyOne:s=!1}={}){let a=null!=i&&""!==i.trim(),l=null!=n;if(s&&a===l)throw Error("Either index or selector must be provided, but not both");if(!a&&!l)throw Error("Block identifier is required");if(a){if("string"!=typeof i)throw Error("Selector must be a string");let n=t.editor.querySelector(i);if(!n)throw Error(`No element found matching selector "${i}"`);if(!o.Dom.isElement(n))throw Error(`Selector "${i}" does not point to an element node`);return{element:n,identifier:`with selector "${i}"`}}if("number"!=typeof n)throw Error("Block index must be a number");let c=Array.from(t.editor.children);if(n<0||n>=c.length)throw Error(`Block index ${n} is out of range. Document has ${c.length} blocks`);let u=c[n];if(!o.Dom.isElement(u))throw Error(`Block at index ${n} is not a valid element`);return{element:u,identifier:"at index "+n}}},70308:function(t,i,n){"use strict";n.d(i,{areAllToolCallsExecuted:function(){return c},createNewConversation:function(){return r},findMessagesWithPendingToolCalls:function(){return u},findParentMessageId:function(){return s},isTerminalToolCallStatus:function(){return l}});var o=n(21064);function r(t,i,n,s=[]){let a=t.o.aiAssistantPro,l={id:(0,o.generateConversationId)(),created:Date.now(),updated:Date.now(),messages:s,permissions:[],options:{model:i??a.defaultModel,temperature:n??a.defaultTemperature}};return t.e.fire("conversationCreated.ai-assistant-pro",l),l}function s(t){for(let i=t.messages.length-1;i>=0;i--){let n=t.messages[i];if("assistant"===n.role&&!n.id.startsWith("error_"))return n.id}return null}let a=new Set(["executed","denied","error"]);function l(t){return a.has(t)}function c(t){let i=t.messages[t.messages.length-1];return!!i?.toolCalls&&i.toolCalls.every(t=>l(t.status))}function u(t){return t.messages.filter(t=>t.toolCalls&&t.toolCalls.length>0&&t.toolCalls.some(t=>!l(t.status)))}},473:function(t,i,n){"use strict";n.d(i,{handleBackToList:function(){return c},handleConversationSearch:function(){return u},handleConversationSelect:function(){return l},handleToolApproval:function(){return s},handleToolDenial:function(){return a}});var o=n(79078),r=n(82758);async function s(t,i,n,o,r){let s=n.getPendingToolCalls().find(i=>i.id===t);if(!s)return null;let a=o.grantPermission(s.name,i),l=n.getCurrentConversation();return l&&(l.permissions.push(a),await r.save(l)),n.removePendingToolCall(t),{...s,status:"approved"}}async function a(t,i,n,r){let s=n.getPendingToolCalls().find(t=>t.id===i);if(!s)return;let a=n.getCurrentConversation();if(!a)return;let l=a.messages.findIndex(t=>t.toolCalls?.find(t=>t.id===i));if(-1===l)return;let c=a.messages[l],u={...s,result:{error:"Tool call denied by user."},status:"denied"},d=(0,o.updateToolCallInMessage)(c,u),h=[...a.messages];h[l]=d,a={...a,messages:h,updated:Date.now()},n.setCurrentConversation(a),await r.save(a),t.e.fire("toolCallDenied.ai-assistant-pro",s),n.removePendingToolCall(i)}async function l(t,i,n){try{n.setLoading(!0);let o=await i.get(t);if(!o)throw Error("Conversation not found: "+t);n.setCurrentConversation({...o})}catch(t){r.IS_PROD}finally{n.setLoading(!1)}}async function c(t,i){i.setView("conversationList");try{i.setLoading(!0);let n=await t.list().catch(()=>[]);i.setConversations(n)}finally{i.setLoading(!1)}}async function u(t,i,n){n.setLoading(!0);try{let o=await i.list(t||void 0);n.setConversations(o),n.setView("conversationList")}finally{n.setLoading(!1)}}},58579:function(t,i,n){"use strict";n.d(i,{applyTheme:function(){return d.applyTheme},areAllToolCallsExecuted:function(){return r.areAllToolCallsExecuted},createNewConversation:function(){return r.createNewConversation},createUserMessage:function(){return a.createUserMessage},deleteConversationWithCleanup:function(){return u.deleteConversationWithCleanup},executeToolCall:function(){return h.executeToolCall},findMessagesWithPendingToolCalls:function(){return r.findMessagesWithPendingToolCalls},findParentMessageId:function(){return r.findParentMessageId},getCurrentSelectionContext:function(){return c.getCurrentSelectionContext},handleBackToList:function(){return s.handleBackToList},handleConversationSearch:function(){return s.handleConversationSearch},handleConversationSelect:function(){return s.handleConversationSelect},handleToolApproval:function(){return s.handleToolApproval},handleToolDenial:function(){return s.handleToolDenial},invertMode:function(){return l.invertMode},isTerminalToolCallStatus:function(){return r.isTerminalToolCallStatus},loadInitialData:function(){return u.loadInitialData},processArtifacts:function(){return o.processArtifacts},processFinalResponse:function(){return o.processFinalResponse},processStreamingResponse:function(){return o.processStreamingResponse},resizeInPanelView:function(){return l.resizeInPanelView},updateToolCallInMessage:function(){return h.updateToolCallInMessage}});var o=n(61872),r=n(70308),s=n(473),a=n(61558),l=n(71050),c=n(15927),u=n(56110),d=n(53014),h=n(79078)},61558:function(t,i,n){"use strict";n.d(i,{createAIMessage:function(){return s},createErrorMessage:function(){return a},createUserMessage:function(){return r},uploadArtifacts:function(){return l}});var o=n(21064);function r(t){return{id:(0,o.generateMessageId)(),role:"user",content:t,timestamp:Date.now()}}function s(){return{id:"",role:"assistant",content:"",artifacts:[],timestamp:Date.now(),toolCalls:[]}}function a(t){return{id:"error_"+(0,o.generateMessageId)(),role:"assistant",content:"❌ Error: "+t.message,timestamp:Date.now(),toolCalls:[],artifacts:[]}}async function l(t,i){if(!i||0===i.length)return i;let n=t.o.aiAssistantPro.uploadBase64Artifact;return n?Promise.all(i.map(async i=>n(i,t)??i)):i}},71050:function(t,i,n){"use strict";n.d(i,{invertMode:function(){return r},resizeInPanelView:function(){return s}});var o=n(41180);function r(t){switch(t){case"left":return"right";case"right":return"left";case"top":return"bottom";case"bottom":return"top"}}function s(t,i,n,s){if("dialog"===i||"flight"===i)return;("left"===i||"right"===i)&&(t.currentPlace.slots[r(i)]?.style.setProperty(`--jd-slot-${r(i)}-width`,"auto"),t.currentPlace.slots[i]?.style.setProperty(`--jd-slot-${i}-width`,`${n}px`));let a=(0,o.css)(t.currentPlace.workplace,"height")??0;t.currentPlace.slots[i]?.style.setProperty("min-height",`${Math.min(a,s)}px`)}},15927:function(t,i,n){"use strict";function o(t){if(t.s.isCollapsed())return null;let i=t.s.html,n=t.s.range;return{html:i,rangeInfo:{startContainer:n.startContainer.nodeName,startOffset:n.startOffset,endContainer:n.endContainer.nodeName,endOffset:n.endOffset}}}n.d(i,{getCurrentSelectionContext:function(){return o}})},56110:function(t,i,n){"use strict";n.d(i,{deleteConversationWithCleanup:function(){return r},loadInitialData:function(){return s}});var o=n(82758);async function r(t,i,n,o,r){try{o.setLoading(!0),await n.delete(i),o.removeConversation(i),r.clearConversationPermissions(i);let s=o.getCurrentConversation();s?.id===i&&o.setCurrentConversation(null);let a=await n.list();o.setConversations(a),o.setView(0===a.length?"welcome":"conversationList"),t.e.fire("conversationDeleted.ai-assistant-pro",i)}catch(i){t.alert(t.i18n("Failed to delete conversation")+": "+(i?.message||"Unknown error"))}finally{o.setLoading(!1)}}async function s(t,i,n){n.setLoading(!0);try{let[o,r]=await Promise.all([i.list().catch(()=>[]),i.getGlobalSettings().catch(()=>null)]);if(n.setConversations(o),r&&n.setSavedState(r),0===o.length)n.setView("welcome");else if(t.o.aiAssistantPro.rememberLastConversation&&r?.currentConversationId){let t=o.find(t=>t.id===r.currentConversationId)??o[0],s=await i.get(t.id);s?n.setCurrentConversation(s):n.setView("conversationList")}else n.setView("conversationList")}catch(t){o.IS_PROD,n.setView("welcome")}finally{n.setLoading(!1)}}},53014:function(t,i,n){"use strict";n.d(i,{applyTheme:function(){return s}});let o=["jodit_theme_dark","jodit-ai-assistant-pro_theme_dark","jodit-dialog_theme_dark"],r=["jodit_theme_light","jodit-ai-assistant-pro_theme_light","jodit-dialog_theme_light"];function s(t,i,n,s,a){let l;if(s?.classList.remove(...o),s?.classList.remove(...r),"dialog"===n){let t=a?.container;t?.classList.remove(...o),t?.classList.remove(...r)}if(l="dark"===i?o:r,s?.classList.add(...l),"dialog"===n){let t=a?.container;t?.classList.add(...l)}}},79078:function(t,i,n){"use strict";async function o(t,i,n){let o;try{let t=new AbortController().signal,r=await n.executeTool(i.name,i.arguments,t);o={...i,result:{result:r},status:"executed"}}catch(n){o={...i,result:{error:n instanceof Error?n.message:n+""},status:"error"},t.e.fire("toolCallFailed.ai-assistant-pro",o)}return t.e.fire("toolCallExecuted.ai-assistant-pro",o,{toolCallId:o.id,result:o.result}),o}function r(t,i){let n=t.toolCalls?.findIndex(t=>t.id===i.id);if(null==n||-1===n)return t;let o=[...t?.toolCalls??[]];return o[n]=i,{...t,toolCalls:o}}n.d(i,{executeToolCall:function(){return o},updateToolCallInMessage:function(){return r}})},86449:function(t,i,n){"use strict";n.d(i,{APIClient:function(){return a}});var o=n(82749),r=n(82758),s=n(21537);class a{async sendRequest(t,i,n,o,a){let{apiRequest:l,requestTimeout:c,maxRetries:u}=this.jodit.o.aiAssistantPro;if(!l)throw Error("AI Assistant Pro callback is not configured");let d=new AbortController;this.abortControllers.add(d);try{let h=this.buildRequestContext(t,i,n,o,a),p=null;for(let t=0;u>=t;t++)try{if(d.signal.aborted)throw(0,s.abort)();let t=setTimeout(()=>{d.abort()},c);try{let i=await l(h,d.signal);return clearTimeout(t),this.validateResponse(i),i}catch(i){throw clearTimeout(t),i}}catch(i){if(p=i,r.IS_PROD,u>t){let i=this.calculateRetryDelay(t);await this.sleep(i)}else throw i}throw p||Error("API request failed after all retries")}finally{this.abortControllers.delete(d)}}abort(){this.abortControllers.forEach(t=>{t.abort()}),this.abortControllers.clear()}isInProgress(){return this.abortControllers.size>0}buildRequestContext(t,i,n,o,r){let s,{apiMode:a,instructions:l}=this.jodit.o.aiAssistantPro,c={mode:a,conversationId:t,tools:this.toolRegistry.getAllTools(),selectionContexts:o,conversationOptions:r,instructions:l};if("full"===a)s=i;else if(n){let t=i.findIndex(t=>t.id===n);s=-1!==t?i.slice(t+1):i,c={...c,parentMessageId:n}}else s=i;return{...c,messages:this.expandToolMessages(s,i.find(t=>t.id===n))}}expandToolMessages(t,i){let n=[];for(let i of t)n.push(i),this.expandToolResultsMessage(i,n);return i&&this.expandToolResultsMessage(i,n),n}expandToolResultsMessage(t,i){if(t.toolCalls&&t.toolCalls.length>0)for(let n of t.toolCalls){let o=n.result??{error:"result not found"};if(i.find(t=>t.id===`${n.id}-result`))continue;let r={id:`${n.id}-result`,role:"tool",content:o.error?"Error: "+o.error:JSON.stringify(o.result),timestamp:t.timestamp,toolResults:[{toolCallId:n.id,result:o}]};i.push(r)}}validateResponse(t){if("final"!==t.mode)return;let i=t.response;if(!i)throw Error("API returned empty response");if(!i.responseId)throw Error("API response missing responseId");if(void 0===i.content)throw Error("API response missing content");if(void 0===i.finished)throw Error("API response missing finished flag");if(i.toolCalls){if(!Array.isArray(i.toolCalls))throw Error("API response toolCalls must be an array");i.toolCalls.forEach((t,i)=>{if(!t.id)throw Error(`Tool call at index ${i} is missing id`);if(!t.name)throw Error(`Tool call at index ${i} is missing name`);if(!t.arguments||"object"!=typeof t.arguments)throw Error(`Tool call at index ${i} has invalid arguments`)})}}calculateRetryDelay(t){let{retryDelay:i}=this.jodit.o.aiAssistantPro;return i*Math.pow(2,t)+Math.random()*i}sleep(t){return new Promise(i=>setTimeout(i,t))}destruct(){this.abort()}constructor(t,i){(0,o._)(this,"jodit",void 0),(0,o._)(this,"toolRegistry",void 0),(0,o._)(this,"abortControllers",void 0),this.jodit=t,this.toolRegistry=i,this.abortControllers=new Set}}},47373:function(t,i,n){"use strict";function o(t,i,n="image/png"){let r=atob(t),s=r.length,a=new Uint8Array(s);for(let t=0;s>t;t++)a[t]=r.charCodeAt(t);return new File([new Blob([a],{type:n})],i,{type:n})}n.d(i,{base64ToFile:function(){return o}})},21020:function(t,i,n){"use strict";n.d(i,{PermissionManager:function(){return r}});var o=n(82749);class r{requiresPermission(t){let{autoApproveTools:i,alwaysDenyTools:n}=this.jodit.o.aiAssistantPro;if(n.includes(t))return!0;if(i.includes(t))return!1;let o=this.toolRegistry.getTool(t);return!o||o.requiresPermission}isAutoDenied(t){let{alwaysDenyTools:i}=this.jodit.o.aiAssistantPro;return i.includes(t)}isAutoApproved(t){let{autoApproveTools:i}=this.jodit.o.aiAssistantPro;return i.includes(t)}checkPermission(t,i){if(this.isAutoApproved(t))return{toolName:t,granted:!0,grantedAt:Date.now(),scope:"once"};if(this.isAutoDenied(t))return null;let n=this.permanentPermissions.get(t);return n&&n.granted?n:i.find(i=>i.toolName===t&&i.granted)||null}grantPermission(t,i){let n={toolName:t,granted:!0,grantedAt:Date.now(),scope:i};return"forever"===i&&(this.permanentPermissions.set(t,n),this.savePermanentPermissions()),n}denyPermission(t){return{toolName:t,granted:!1,grantedAt:Date.now(),scope:"once"}}filterToolCalls(t,i){let n=[],o=[],r=[];for(let s of t){if(this.isAutoDenied(s.name)){r.push({...s,status:"denied"});continue}if(this.isAutoApproved(s.name)){n.push({...s,status:"approved"});continue}let t=this.checkPermission(s.name,i);t&&t.granted?n.push({...s,status:"approved"}):this.requiresPermission(s.name)?(this.jodit.e.fire("permissionRequested.ai-assistant-pro",s.name),o.push({...s,status:"pending"})):n.push({...s,status:"approved"})}return{approved:n,needsPermission:o,denied:r}}clearConversationPermissions(t){}loadPermanentPermissions(){try{let t=localStorage.getItem(this.PERMANENT_PERMISSIONS_KEY);t&&JSON.parse(t).forEach(t=>{"forever"===t.scope&&t.granted&&this.permanentPermissions.set(t.toolName,t)})}catch(t){}}savePermanentPermissions(){try{let t=Array.from(this.permanentPermissions.values());localStorage.setItem(this.PERMANENT_PERMISSIONS_KEY,JSON.stringify(t))}catch(t){}}clearPermanentPermissions(){this.permanentPermissions.clear(),localStorage.removeItem(this.PERMANENT_PERMISSIONS_KEY)}getPermanentPermissions(){return Array.from(this.permanentPermissions.values())}revokePermanentPermission(t){this.permanentPermissions.delete(t),this.savePermanentPermissions()}destruct(){this.permanentPermissions.clear()}constructor(t,i){(0,o._)(this,"jodit",void 0),(0,o._)(this,"toolRegistry",void 0),(0,o._)(this,"permanentPermissions",void 0),(0,o._)(this,"PERMANENT_PERMISSIONS_KEY",void 0),this.jodit=t,this.toolRegistry=i,this.permanentPermissions=new Map,this.PERMANENT_PERMISSIONS_KEY="jodit-permissions.ai-assistant-pro",this.loadPermanentPermissions()}}},46166:function(t,i,n){"use strict";n.d(i,{StateManager:function(){return r}});var o=n(82749);class r{createInitialState(){return{isOpen:!1,currentView:"welcome",currentConversation:null,conversations:[],isLoading:!1,error:null,pendingToolCalls:[],selectionContexts:[],abortController:null,editingMessageId:null,theme:this.jodit.o.aiAssistantPro.theme||"parent",displayMode:this.jodit.o.aiAssistantPro.displayMode,panelWidth:this.jodit.o.aiAssistantPro.panelWidth,panelHeight:this.jodit.o.aiAssistantPro.panelHeight,defaultModel:this.jodit.o.aiAssistantPro.defaultModel,defaultTemperature:this.jodit.o.aiAssistantPro.defaultTemperature}}open(){this.state.isOpen=!0,this.jodit.e.fire("open.ai-assistant-pro",this.state.currentConversation)}close(){this.state.isOpen=!1,this.jodit.e.fire("close.ai-assistant-pro")}isOpen(){return this.state.isOpen}setView(t){this.state.currentView=t,this.jodit.e.fire("viewChanged.ai-assistant-pro",t)}getView(){return this.state.currentView}setConversations(t){this.state.conversations=t}setSavedState(t){t.theme&&(this.state.theme=t.theme),t.displayMode&&(this.state.displayMode=t.displayMode),t.panelWidth&&(this.state.panelWidth=t.panelWidth),t.panelHeight&&(this.state.panelHeight=t.panelHeight),t.defaultModel&&(this.state.defaultModel=t.defaultModel),t.defaultTemperature&&(this.state.defaultTemperature=t.defaultTemperature)}getConversations(){return this.state.conversations}setCurrentConversation(t){if(this.state.currentConversation===t)throw Error("Conversation is already current");this.state.currentConversation=t||null,t&&(this.setView("conversation"),this.jodit.e.fire("conversationSwitched.ai-assistant-pro",t))}getCurrentConversation(){return this.state.currentConversation}removeConversation(t){let i=this.state.conversations.filter(i=>i.id!==t);this.setConversations(i)}setLoading(t){this.state.isLoading=t}isLoading(){return this.state.isLoading}setError(t){this.state.error=t,t&&this.jodit.e.fire("error.ai-assistant-pro",Error(t))}getError(){return this.state.error}clearError(){this.setError(null)}setPendingToolCalls(t){this.state.pendingToolCalls=t}getPendingToolCalls(){return this.state.pendingToolCalls}addPendingToolCall(t){let i=[...this.state.pendingToolCalls,t];this.setPendingToolCalls(i)}removePendingToolCall(t){let i=this.state.pendingToolCalls.filter(i=>i.id!==t);this.setPendingToolCalls(i)}updateToolCallStatus(t,i){let n=this.state.pendingToolCalls.map(n=>n.id===t?{...n,status:i}:n);this.setPendingToolCalls(n)}setSelectionContexts(t){this.state.selectionContexts=t}getSelectionContexts(){return this.state.selectionContexts}addSelectionContext(t){let{maxContextRanges:i}=this.jodit.o.aiAssistantPro,n=[...this.state.selectionContexts,t];n.length>i&&(n=n.slice(-i)),this.setSelectionContexts(n),this.jodit.e.fire("contextAdded.ai-assistant-pro",t)}removeSelectionContext(t){let i=this.state.selectionContexts.filter((i,n)=>n!==t);this.setSelectionContexts(i),this.jodit.e.fire("contextRemoved.ai-assistant-pro",t)}clearSelectionContexts(){this.setSelectionContexts([])}setAbortController(t){this.state.abortController=t}getAbortController(){return this.state.abortController}setEditingMessageId(t){this.state.editingMessageId=t}getEditingMessageId(){return this.state.editingMessageId}isEditingMessage(){return null!=this.state.editingMessageId}clearEditingMessage(){this.setEditingMessageId(null)}reset(){this.state=this.createInitialState()}destruct(){this.state.abortController&&this.state.abortController.abort(),this.reset()}constructor(t){(0,o._)(this,"jodit",void 0),(0,o._)(this,"state",void 0),this.jodit=t,this.state=this.createInitialState()}}},62895:function(t,i,n){"use strict";n.d(i,{WebStorageConversationStorage:function(){return o.WebStorageConversationStorage},createStorageProvider:function(){return o.createStorageProvider}});var o=n(21064)},21064:function(t,i,n){"use strict";n.d(i,{WebStorageConversationStorage:function(){return s},createStorageProvider:function(){return a},generateConversationId:function(){return l},generateMessageId:function(){return c}});var o=n(82749),r=n(97333);class s{close(){return this.storage.close()}getConversationKey(t){return"conv:"+t}async getAllKeys(){let t=await this.storage.get("__conversation_index__");return t&&Array.isArray(t)?t:[]}async updateIndex(t){await this.storage.set("__conversation_index__",t)}async addToIndex(t){let i=await this.getAllKeys();i.includes(t)||(i.push(t),await this.updateIndex(i))}async removeFromIndex(t){let i=(await this.getAllKeys()).filter(i=>i!==t);await this.updateIndex(i)}async list(t){try{let i=await this.getAllKeys(),n=[],o=t?.toLowerCase().trim();for(let t of i){let i=await this.get(t);if(i){if(o){let t=i.title?.toLowerCase().includes(o),n=!t&&i.messages.some(t=>t.content.toLowerCase().includes(o));if(!t&&!n)continue}n.push({id:i.id,title:i.title??"",created:i.created,updated:i.updated,messageCount:i.messages.length})}}return n.sort((t,i)=>i.updated-t.updated),n}catch(t){return[]}}async get(t){try{let i=this.getConversationKey(t);return await this.storage.get(i)||null}catch(t){return null}}async save(t){try{if(0===t.messages.length)throw Error("Conversation must have at least one message.");let i=await this.getAllKeys();i.length>=this.maxConversations&&!i.includes(t.id)&&await this.evictOldest();let n=this.getConversationKey(t.id);await this.storage.set(n,t),await this.addToIndex(t.id)}catch(i){if(i?.name==="QuotaExceededError"||i?.code===22||i?.code===1014){await this.evictOldest();try{let i=this.getConversationKey(t.id);await this.storage.set(i,t),await this.addToIndex(t.id)}catch{throw Error("Storage quota exceeded. Please delete some conversations.")}}else throw Error("Failed to save conversation: "+(i?.message||"Unknown error"))}}async delete(t){try{let i=this.getConversationKey(t);await this.storage.delete(i),await this.removeFromIndex(t)}catch(t){}}async clear(){try{for(let t of(await this.getAllKeys())){let i=this.getConversationKey(t);await this.storage.delete(i)}await this.updateIndex([])}catch(t){}}async evictOldest(){try{let t=await this.list();if(0===t.length)return;t.sort((t,i)=>t.updated-i.updated);let i=t[0];await this.delete(i.id)}catch(t){}}async getGlobalSettings(){try{return await this.storage.get("global-settings")||null}catch(t){return null}}async saveGlobalSettings(t){try{let i={...await this.getGlobalSettings(),...t};await this.storage.set("global-settings",i)}catch{throw Error("Failed to save global settings")}}constructor(t,i){(0,o._)(this,"storage",void 0),(0,o._)(this,"maxConversations",void 0),this.storage=t,this.maxConversations=i}}function a(t,i){return r.AsyncStorage.makeStorage(t,i)}function l(){return`conv_${Date.now()}_${Math.random().toString(36).substring(2,11)}`}function c(){return`msg_${Date.now()}_${Math.random().toString(36).substring(2,11)}`}},55487:function(t,i,n){"use strict";n.d(i,{ToolRegistry:function(){return s}});var o=n(82749),r=n(53835);class s{registerBuiltInTools(t){t.forEach(t=>{let i=r.BUILT_IN_TOOLS[t];i&&this.tools.set(t,i)})}registerCustomTools(t){t.forEach(t=>{this.validateToolDefinition(t),this.tools.set(t.name,t)})}validateToolDefinition(t){if(!t.name||"string"!=typeof t.name)throw Error("Tool must have a valid name");if(!t.description||"string"!=typeof t.description)throw Error(`Tool "${t.name}" must have a description`);if(!Array.isArray(t.parameters))throw Error(`Tool "${t.name}" must have a parameters array`);if("function"!=typeof t.execute)throw Error(`Tool "${t.name}" must have an execute function`);t.parameters.forEach(i=>{if(!i.name||"string"!=typeof i.name)throw Error(`Tool "${t.name}" has a parameter without a valid name`);if(!i.type)throw Error(`Tool "${t.name}" parameter "${i.name}" must have a type`);if("boolean"!=typeof i.required)throw Error(`Tool "${t.name}" parameter "${i.name}" must specify if it's required`)})}getAllTools(){return Array.from(this.tools.values())}getTool(t){return this.tools.get(t)}hasTool(t){return this.tools.has(t)}getToolNames(){return Array.from(this.tools.keys())}async executeTool(t,i,n){let o=this.getTool(t);if(!o)throw Error(`Tool "${t}" not found`);let r=this.applyDefaults(o,i);this.validateArguments(o,r);try{return await o.execute(this.jodit,r,n)}catch(t){if(t?.name==="AbortError"||n.aborted)throw Error("Tool execution was aborted");throw t}}validateArguments(t,i){let n=Object.keys(i);for(let i of t.parameters.filter(t=>t.required).map(t=>t.name))if(!n.includes(i))throw Error(`Tool "${t.name}" requires parameter "${i}"`);for(let[n,o]of Object.entries(i)){let i=t.parameters.find(t=>t.name===n);if(!i){this.jodit.o.aiAssistantPro.debug;continue}let r=Array.isArray(o)?"array":"object"==typeof o&&null!=o?"object":typeof o;if(i.type!==r&&!("number"===i.type&&"string"===r&&!isNaN(Number(o))))throw Error(`Tool "${t.name}" parameter "${n}" expects type "${i.type}" but got "${r}"`);if(i.enum&&i.enum.length>0&&!i.enum.includes(o))throw Error(`Tool "${t.name}" parameter "${n}" must be one of: ${i.enum.join(", ")}`)}}applyDefaults(t,i){let n={...i};for(let i of t.parameters)void 0===n[i.name]&&void 0!==i.default&&(n[i.name]=i.default);return n}destruct(){this.tools.clear()}constructor(t){(0,o._)(this,"jodit",void 0),(0,o._)(this,"tools",void 0),this.jodit=t,this.tools=new Map,this.registerBuiltInTools(t.o.aiAssistantPro.enabledTools||[]),this.registerCustomTools(t.o.aiAssistantPro.customTools||[])}}},26612:function(t){t.exports={"AI Assistant":"AI Assistant","AI Assistant Pro":"AI Assistant Pro","Welcome to AI Assistant":"Welcome to AI Assistant","Start your first conversation":"Start your first conversation","Tip: Select text in editor to add context":"Tip: Select text in editor to add context","New Chat":"New Chat","Search conversations...":"Search conversations...","No conversations yet":"No conversations yet","Ask me anything...":"Ask me anything...","Ask a follow-up...":"Ask a follow-up...","Reply...":"Reply...","Type your message...":"Type your message...",Send:"Send",Cancel:"Cancel",Retry:"Retry",Insert:"Insert",Copy:"Copy",Edit:"Edit",Delete:"Delete",New:"New",Back:"Back","Permission Required":"Permission Required",Approve:"Approve",Deny:"Deny",Once:"Once","This conversation":"This conversation",Always:"Always","The AI wants to execute:":"The AI wants to execute:","This will modify your document content.":"This will modify your document content.","Executing...":"Executing...","Completed successfully":"Completed successfully",Failed:"Failed","Pending approval":"Pending approval","Denied by user":"Denied by user","Tool Result":"Tool Result","Tool Execution Error":"Tool Execution Error",Context:"Context",Contexts:"Contexts","Add to AI Context":"Add to AI Context",Remove:"Remove","Clear all":"Clear all","An error occurred":"An error occurred","Request failed":"Request failed","Connection error":"Connection error","AI Assistant is not configured":"AI Assistant is not configured","Thinking...":"Thinking...","Generating response...":"Generating response...",insertHTML:"Insert HTML",readDocument:"Read Document",readBlock:"Read Block",replaceInDocument:"Replace in Document",replaceInBlock:"Replace in Block",getSelection:"Get Selection","Just now":"Just now",Conversation:"Conversation","New Conversation":"New Conversation",Yesterday:"Yesterday","Delete conversation":"Delete conversation","Are you sure you want to delete this conversation?":"Are you sure you want to delete this conversation?","Failed to delete conversation":"Failed to delete conversation"}},63805:function(t,i,n){"use strict";n.r(i),n.d(i,{en:function(){return r.a},ru:function(){return a.a}});var o=n(26612),r=n.n(o),s=n(55790),a=n.n(s)},55790:function(t){t.exports={"AI Assistant":"AI Ассистент","AI Assistant Pro":"AI Ассистент Pro","Welcome to AI Assistant":"Добро пожаловать в AI Ассистент","Start your first conversation":"Начните первый диалог","Tip: Select text in editor to add context":"Подсказка: Выделите текст в редакторе для добавления контекста","New chat":"Новый чат","Search conversations...":"Поиск диалогов...","No conversations yet":"Пока нет диалогов","Ask me anything...":"Спросите меня о чем угодно...","Ask a follow-up...":"Задайте дополнительный вопрос...","Reply...":"Ответить...","Type your message...":"Введите ваше сообщение...",Send:"Отправить",Cancel:"Отмена",Retry:"Повторить",Insert:"Вставить",Copy:"Копировать",Edit:"Редактировать",Delete:"Удалить",New:"Новый",Back:"Назад","Permission Required":"Требуется разрешение",Approve:"Разрешить",Deny:"Отклонить",Once:"Один раз","This conversation":"Этот диалог",Always:"Всегда","The AI wants to execute:":"AI хочет выполнить:","This will modify your document content.":"Это изменит содержимое вашего документа.","Executing...":"Выполняется...","Completed successfully":"Успешно выполнено",Failed:"Ошибка","Pending approval":"Ожидает разрешения","Denied by user":"Отклонено пользователем","Tool Result":"Результат инструмента","Tool Execution Error":"Ошибка выполнения инструмента",Context:"Контекст",Contexts:"Контексты","Add to AI Context":"Добавить в контекст AI",Remove:"Удалить","Clear all":"Очистить все","An error occurred":"Произошла ошибка","Request failed":"Запрос не выполнен","Connection error":"Ошибка соединения","AI Assistant is not configured":"AI Ассистент не настроен","Thinking...":"Думаю...","Generating response...":"Генерирую ответ...",insertHTML:"Вставить HTML",readDocument:"Прочитать документ",readBlock:"Прочитать блок",replaceInDocument:"Заменить в документе",replaceInBlock:"Заменить в блоке",getSelection:"Получить выделение","Just now":"Только что",Conversation:"Диалог","New Conversation":"Новый диалог",Yesterday:"Вчера","Delete conversation":"Удалить диалог","Are you sure you want to delete this conversation?":"Вы уверены, что хотите удалить этот диалог?","Failed to delete conversation":"Не удалось удалить диалог",Settings:"Настройки","General Settings":"Общие настройки","Conversation Settings":"Настройки диалога","Display Mode":"Режим отображения","Panel Width":"Ширина панели",Theme:"Тема",Model:"Модель",Temperature:"Температура",Close:"Закрыть",Dialog:"Модальное окно",Left:"Левая панель",Right:"Правая панель",Top:"Верхняя панель",Bottom:"Нижняя панель",Inherit:"Наследовать от редактора",Light:"Светлая тема",Dark:"Тёмная тема","%dm ago":"%dм назад","%dh ago":"%dч назад"}},94454:function(t,i,n){"use strict";n.d(i,{getAIProviderOptions:function(){return o.getAIProviderOptions},registerAIProvider:function(){return o.registerAIProvider}}),n(82923);var o=n(58211)},82923:function(t,i,n){"use strict";var o=n(58211),r=n(54079);(0,o.registerAIProvider)("jodit-ai-adapter",t=>{let i=t.url.replace(/\/+$/,""),n=t.provider??"openai",o=!1!==t.stream;return{apiMode:"incremental",maxRetries:0,async apiRequest(s,a){let l=new r.Ajax({url:`${i}/ai/request?key=${encodeURIComponent(t.apiKey)}`,method:"POST",contentType:"application/json",data:{provider:n,context:o?{...s,metadata:{...s.metadata,stream:!0}}:s}});if(a&&a.addEventListener("abort",()=>l.abort(),{once:!0}),!o){let t=await l.send();return{mode:"final",response:(await t.json()).result}}let c=l.stream();return{mode:"stream",stream:async function*(){for await(let t of c)yield JSON.parse(t)}()}}}})},58211:function(t,i,n){"use strict";n.d(i,{getAIProviderOptions:function(){return r},registerAIProvider:function(){return s}});let o=new Map;function r(t,i){let n=o.get(t);if(!n)throw Error(`AI provider "${t}" is not registered. Available providers: `+[...o.keys()].join(", "));return n(i)}function s(t,i){o.set(t,i)}},73943:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="applyFormat",r="Apply or remove inline formatting to the current selection (bold, italic, underline, etc.) or to a specific block",s=[{name:"element",type:"string",description:'HTML element to wrap selection (e.g., "strong", "em", "u", "span")',required:!1},{name:"attributes",type:"object",description:'Attributes to apply (e.g., {"className": "highlight"}, {"style": {"color": "red"}})',required:!1},{name:"remove",type:"boolean",description:"If true, remove the formatting instead of applying it",required:!1,default:!1},{name:"blockIndex",type:"number",description:"Zero-based index of the block to format (if not using current selection)",required:!1},{name:"selector",type:"string",description:"CSS selector to find the block to format (if not using current selection)",required:!1}],a=!0},19127:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(44526);async function s(t,i,n){let{element:s,attributes:a,remove:l,blockIndex:c,selector:u}=i;if((0,o.throwIfAborted)(n),!s&&!a)throw Error('Either "element" or "attributes" must be provided');if(t.s.restore(),void 0!==c||u){let{element:i}=(0,r.resolveBlock)(t,{selector:u,index:c});t.s.select(i)}if(t.s.isCollapsed())throw Error("No selection found. Please select text to format");try{let i={};return s&&(i.element=s),a&&(i.attributes=a),l?t.s.commitStyle({...i,mode:"remove"}):t.s.commitStyle(i),t.synchronizeValues(),{success:!0,message:l?"Formatting removed successfully":"Formatting applied successfully"}}catch(t){throw Error(`Failed to ${l?"remove":"apply"} formatting: ${t.message}`)}}},39296:function(t,i,n){"use strict";var o=n(73943),r=n(19127);i.default={...o,execute:r.execute}},53835:function(t,i,n){"use strict";n.d(i,{BUILT_IN_TOOLS:function(){return p},getToolNames:function(){return f}});var o=n(39296),r=n(16745),s=n(78717),a=n(5618),l=n(90991),c=n(2020),u=n(12570),d=n(95323),h=n(97603);let p={readDocument:a.default,readBlocks:s.default,readSelection:l.default,writeDocument:h.default,replaceSelection:d.default,replaceBlock:c.default,replaceInDocument:u.default,insertHTML:r.default,applyFormat:o.default};function f(){return Object.keys(p)}},56732:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="insertHTML",r="Insert or replace HTML content at the current cursor position in the editor",s=[{name:"html",type:"string",description:"HTML content to insert",required:!0},{name:"replace",type:"boolean",description:"If true, replaces current selection. If false, inserts at cursor",required:!1,default:!1}],a=!0},39592:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(49459);async function s(t,i,n){let s=(0,r.requireString)(i,"html",{allowEmpty:!0}),{replace:a}=i;if(!s.trim())return{success:!0,message:"Nothing to insert: HTML is empty"};(0,o.throwIfAborted)(n);try{return t.s.focus(),a&&!t.s.isCollapsed()&&t.s.remove(),t.s.insertHTML(s),t.synchronizeValues(),{success:!0,message:`Inserted ${s.length} characters of HTML`}}catch(t){throw Error("Failed to insert HTML: "+(t?.message||"Unknown error"))}}},16745:function(t,i,n){"use strict";var o=n(56732),r=n(39592);i.default={...o,execute:r.execute}},75352:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="readBlocks",r="Read blocks from the editor with optional filtering and pagination",s=[{name:"offset",type:"number",description:"Number of blocks to skip from the beginning (default: 0)",required:!1,default:0},{name:"limit",type:"number",description:"Maximum number of blocks to return (default: all)",required:!1},{name:"query",type:"string",description:"Filter blocks by text content",required:!1}],a=!1},91140:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(22732);async function s(t,i,n){let{offset:s,limit:a,query:l}=i;(0,o.throwIfAborted)(n);let c=[];Array.from(t.editor.children).forEach((t,i)=>{r.Dom.isElement(t)&&c.push({blockIndex:i,tagName:t.tagName.toLowerCase(),content:t.innerHTML,textContent:t.textContent||"",classList:Array.from(t.classList)})});let u=c;if(l&&"string"==typeof l){let t=l.toLowerCase();u=c.filter(i=>i.textContent.toLowerCase().includes(t))}let d=Math.max(0,Math.min("number"==typeof s?s:0,u.length)),h=void 0!==a?Math.min(d+a,u.length):u.length;return{blocks:u.slice(d,h),total:c.length,offset:d,limit:void 0!==a?a:void 0}}},78717:function(t,i,n){"use strict";var o=n(75352),r=n(91140);i.default={...o,execute:r.execute}},93809:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="readDocument",r="Read the entire content of the editor document in HTML format",s=[{name:"start",type:"number",description:"Start character position (default: 0)",required:!1,default:0},{name:"end",type:"number",description:"End character position (default: length of document)",required:!1},{name:"aroundSelection",type:"boolean",description:"If true, return only the maximum block around the current selection",required:!1,default:!1}],a=!1},28157:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(22732);async function s(t,i,n){let{start:s,end:a,aroundSelection:l}=i;(0,o.throwIfAborted)(n);let c=t.value,u=c.length;if(l&&!t.s.isCollapsed()){let i=t.s.range.commonAncestorContainer;for(;i&&i!==t.editor;){if(r.Dom.isElement(i)&&i.parentNode===t.editor){c=i.outerHTML;break}i=i.parentNode}return{html:c,length:u}}let d=void 0!==a?Math.min(a,u):u,h=Math.max(0,Math.min("number"==typeof s?s:0,u));return(h>0||u>d)&&(c=c.substring(h,d)),{html:c,length:u,start:h,end:d}}},5618:function(t,i,n){"use strict";var o=n(93809),r=n(28157);i.default={...o,execute:r.execute}},52826:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="readSelection",r="Get information about the current selection including HTML content and optional context",s=[{name:"contextCharsBefore",type:"number",description:"Number of characters to include before the selection",required:!1,default:0},{name:"contextCharsAfter",type:"number",description:"Number of characters to include after the selection",required:!1,default:0}],a=!1},85130:function(t,i,n){"use strict";n.d(i,{execute:function(){return r}});var o=n(6689);async function r(t,i,n){let{contextCharsBefore:r,contextCharsAfter:s}=i;if((0,o.throwIfAborted)(n),t.s.restore(),t.s.isCollapsed())return{hasSelection:!1};let a=t.s.html,l=t.s.range,c=l.toString(),u={hasSelection:!0,html:a,text:c,startContainer:l.startContainer.nodeName,endContainer:l.endContainer.nodeName};if(r>0||s>0){let i=t.editor.textContent||"",n=i.substring(0,i.indexOf(c)),o=i.substring(i.indexOf(c)+c.length);r>0&&(u.contextBefore=n.slice(-r)),s>0&&(u.contextAfter=o.slice(0,s))}return u}},90991:function(t,i,n){"use strict";var o=n(52826),r=n(85130);i.default={...o,execute:r.execute}},96675:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="replaceBlock",r="Replace a specific block in the document by its index or CSS selector with new HTML content",s=[{name:"index",type:"number",description:"Zero-based index of the block to replace (use either index or selector, not both)",required:!1},{name:"selector",type:"string",description:'CSS selector to find the block to replace (e.g., "h1", ".my-class", "#my-id"). Use either selector or index, not both',required:!1},{name:"html",type:"string",description:"HTML content for the new block",required:!0}],a=!0},3091:function(t,i,n){"use strict";n.d(i,{execute:function(){return l}});var o=n(6689),r=n(49459),s=n(44526),a=n(22732);async function l(t,i,n){let{index:l,selector:c}=i,u=(0,r.requireString)(i,"html");if((0,o.throwIfAborted)(n),void 0===l&&!c||void 0!==l&&c)throw Error("Either index or selector must be provided, but not both");let{element:d,identifier:h}=(0,s.resolveBlock)(t,{selector:c,index:l,requireExactlyOne:!0});try{let i=t.createInside.div();i.innerHTML=u;let n=i.firstChild;if(!n||!a.Dom.isElement(n))throw Error("Invalid HTML: must contain at least one element");return d.parentNode?.replaceChild(n,d),t.synchronizeValues(),{success:!0,message:`Block ${h} replaced successfully`}}catch(t){throw Error(`Failed to replace block ${h}: ${t.message}`)}}},2020:function(t,i,n){"use strict";var o=n(96675),r=n(3091);i.default={...o,execute:r.execute}},62553:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="replaceInDocument",r="Find and replace text or HTML patterns throughout the entire document",s=[{name:"search",type:"string",description:"Text or pattern to search for",required:!0},{name:"replace",type:"string",description:"Replacement text or HTML",required:!0},{name:"useRegex",type:"boolean",description:"If true, treats search as a regular expression",required:!1,default:!1},{name:"useSelector",type:"string",description:"CSS selector to narrow down the search scope to specific elements",required:!1}],a=!0},56293:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(49459);async function s(t,i,n){let s=(0,r.requireString)(i,"search"),a=(0,r.requireString)(i,"replace",{allowEmpty:!0}),{useRegex:l,useSelector:c}=i;(0,o.throwIfAborted)(n);try{let i;t.s.focus(),t.s.save();let r=0;if(c){let u=function(t,i,n,r,s,a){let l=t.editor.querySelectorAll(s);if(0===l.length)return{replacements:0,message:`No elements found matching selector "${s}"`};let c=0;return l.forEach(t=>{(0,o.throwIfAborted)(a);let s=t.innerHTML,l=s;if(r)try{let t=RegExp(i,"g");s=s.replace(t,()=>(c++,n))}catch(t){throw Error("Invalid regex pattern: "+(t?.message||"Unknown error"))}else{let t=i.length,r=0;for(;-1!==(r=s.indexOf(i,r));)(0,o.throwIfAborted)(a),s=s.substring(0,r)+n+s.substring(r+t),r+=n.length,c++}s!==l&&(t.innerHTML=s)}),c>0&&(t.synchronizeValues(),t.s.restore()),{replacements:c}}(t,s,a,l,c,n);r=u.replacements,i=u.message}else r=function(t,i,n,r,s,a){let l=0,c=i;if(s)try{let t=RegExp(n,"g");c=c.replace(t,()=>(l++,r))}catch(t){throw Error("Invalid regex pattern: "+(t?.message||"Unknown error"))}else{let t=n.length,i=0;for(;-1!==(i=c.indexOf(n,i));)(0,o.throwIfAborted)(a),c=c.substring(0,i)+r+c.substring(i+t),i+=r.length,l++}return l>0&&(t.value=c,t.s.restore(),t.synchronizeValues()),l}(t,t.value,s,a,l,n);return{replacements:r,message:i||(r>0?`Replaced ${r} occurrence(s)`:"No matches found")}}catch(i){throw t.s.restore(),Error("Failed to replace in document: "+(i?.message||"Unknown error"))}}},12570:function(t,i,n){"use strict";var o=n(62553),r=n(56293);i.default={...o,execute:r.execute}},70750:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="replaceSelection",r="Replace the current selection with new HTML content",s=[{name:"html",type:"string",description:"HTML content to insert in place of the selection",required:!0},{name:"collapseToEnd",type:"boolean",description:"Move cursor to the end of the inserted content",required:!1,default:!0}],a=!0},36142:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(49459);async function s(t,i,n){let s=(0,r.requireString)(i,"html"),{collapseToEnd:a}=i;(0,o.throwIfAborted)(n);try{if(t.s.restore(),t.s.insertHTML(s),a){let i=t.s.range;i.collapse(!1),t.s.selectRange(i)}return t.e.fire("change"),{success:!0,message:"Selection replaced successfully"}}catch(t){throw Error("Failed to replace selection: "+t.message)}}},95323:function(t,i,n){"use strict";var o=n(70750),r=n(36142);i.default={...o,execute:r.execute}},90022:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="writeDocument",r="Write (replace) the entire document content with new HTML",s=[{name:"html",type:"string",description:"HTML content to set as the document",required:!0}],a=!0},79766:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(49459);async function s(t,i,n){let s=(0,r.requireString)(i,"html",{allowEmpty:!0});(0,o.throwIfAborted)(n);try{return t.s.focus(),t.value=s,t.synchronizeValues(),{success:!0,message:`Document content was replaced with provided HTML(${s.length} characters)`}}catch(t){throw Error("Failed to replace HTML: "+(t?.message||"Unknown error"))}}},97603:function(t,i,n){"use strict";var o=n(90022),r=n(79766);i.default={...o,execute:r.execute}},80453:function(t,i,n){"use strict";n.d(i,{UIConversationListItem:function(){return u}});var o=n(82749),r=n(31635),s=n(65478),a=n(67510),l=n(62843),c=n(80870);class u extends a.UIElement{className(){return"UIConversationListItem"}render(){return'<div class="jodit-ui-conversation-list__item"></div>'}setActive(t){this.isActive=t,this.updateContent()}updateContent(){let t=this.container;t.innerHTML="",t.setAttribute("data-id",this.conversation.id),this.isActive?t.classList.add("jodit-ui-conversation-list__item_active"):t.classList.remove("jodit-ui-conversation-list__item_active");let i=this.j.c.div("jodit-ui-conversation-list__item-avatar");i.textContent="AI",t.appendChild(i);let n=this.j.c.div("jodit-ui-conversation-list__item-wrapper"),o=this.j.c.div("jodit-ui-conversation-list__item-content"),r=this.j.c.div("jodit-ui-conversation-list__item-title");if(r.textContent=this.conversation.title,this.titleElement=r,o.appendChild(r),this.opts.showTimestamps){let t=this.j.c.div("jodit-ui-conversation-list__item-meta");t.textContent=this.opts.formatTimestamp(this.conversation.updated,this.j.i18n.bind(this.j)),o.appendChild(t)}if(n.appendChild(o),this.conversation.messageCount>0){let t=this.j.c.div("jodit-ui-conversation-list__item-badge");t.textContent=this.conversation.messageCount+"",n.appendChild(t)}t.appendChild(n),this.actionsButton||(this.actionsButton=new l.UIButton(this.j,{icon:{name:"dots"},tooltip:"Actions",name:"conversationActions",size:"tiny"}),this.actionsButton.container.classList.add("jodit-ui-conversation-list__item-actions"),this.actionsButton.onAction(t=>{t.stopPropagation(),this.showActionsMenu(t)})),t.appendChild(this.actionsButton.container)}onClick(){this.isRenaming||this.j.e.fire("selectConversation.ai-assistant-pro",this.conversation.id)}showActionsMenu(t){if(!this.contextMenu||!this.actionsButton)return;let i=this.actionsButton.container.getBoundingClientRect();this.contextMenu.show(i.left,i.bottom,[{title:"Rename",icon:"pencil",exec:()=>{this.startInlineRename()}},{title:"Delete",icon:"bin",exec:()=>{this.onDelete()}}]),t.stopPropagation()}startInlineRename(){if(this.isRenaming||!this.titleElement)return;this.isRenaming=!0;let t=this.titleElement,i=this.conversation.title,n=this.j.c.element("input");n.type="text",n.value=i,n.className="jodit-ui-conversation-list__item-title-input",t.textContent="",t.appendChild(n),n.focus(),n.select();let o=()=>{if(!this.isRenaming)return;let o=n.value.trim();this.isRenaming=!1,o&&o!==i?(t.textContent=o,this.j.e.fire("renameConversation.ai-assistant-pro",this.conversation.id,o)):t.textContent=i};this.j.e.on(n,"blur",o),this.j.e.on(n,"keydown",o=>{"Enter"===o.key&&(o.preventDefault(),n.blur()),"Escape"===o.key&&(this.isRenaming=!1,t.textContent=i)}),this.j.e.on(n,"click",t=>{t.stopPropagation()})}onDelete(){this.j.e.fire("deleteConversation.ai-assistant-pro",this.conversation.id)}destruct(){this.actionsButton?.destruct(),this.contextMenu?.destruct(),super.destruct()}constructor(t,i,n=!1,r){super(t),(0,o._)(this,"opts",void 0),(0,o._)(this,"conversation",void 0),(0,o._)(this,"isActive",void 0),(0,o._)(this,"actionsButton",void 0),(0,o._)(this,"contextMenu",void 0),(0,o._)(this,"titleElement",void 0),(0,o._)(this,"isRenaming",void 0),this.opts=r,this.actionsButton=null,this.contextMenu=null,this.titleElement=null,this.isRenaming=!1,this.conversation=i,this.isActive=n,this.contextMenu=new c.ContextMenu(this.j),this.updateContent()}}(0,r.__decorate)([(0,s.watch)("container:click")],u.prototype,"onClick",null),(0,r.__decorate)([s.autobind],u.prototype,"showActionsMenu",null),(0,r.__decorate)([s.autobind],u.prototype,"startInlineRename",null),(0,r.__decorate)([s.autobind],u.prototype,"onDelete",null),u=(0,r.__decorate)([s.component],u)},68365:function(t,i,n){"use strict";n.d(i,{UIConversationList:function(){return d}});var o=n(82749),r=n(31635),s=n(31356),a=n(80453),l=n(65478),c=n(80256),u=n(62405);class d extends u.UIGroup{className(){return"UIConversationList"}render(){return`<div class="&__container">
|
|
282
|
+
${s}`.trim();n?await this.__executeQuickCommandSilent(c,s):await this.__executeQuickCommandWithPanel(c,o)}async __executeQuickCommandSilent(t,i){await this.__loadData(),this.j.progressbar.show().progress(100);try{let i=(0,h.createUserMessage)(t),n=(0,h.createNewConversation)(this.j,this.state.defaultModel,this.state.defaultTemperature,[i]),o=await this.apiClient.sendRequest(n.id,n.messages,null,[],n.options);if("final"===o.mode){let t=o.response.content;t&&this.j.s.insertHTML(t)}}catch(t){(0,b.isAbortError)(t)||this.j.e.fire("error",t)}finally{this.j.progressbar.hide()}}async __executeQuickCommandWithPanel(t,i){await this.__loadData();let n=this.stateManager.state.displayMode;this.stateManager.state.displayMode=i;let o=(0,h.getCurrentSelectionContext)(this.j);o&&this.stateManager.addSelectionContext(o),this.stateManager.isOpen()||await this.openAssistant(),await this.sendMessage(t),this.stateManager.state.displayMode=n}async sendMessage(t){await this.__loadData();let i=this.stateManager.getCurrentConversation(),n=this.stateManager.getEditingMessageId();if(n&&i){let t=i.messages.findIndex(t=>t.id===n);if(-1!==t){let n=i.messages.slice(0,t),o={...i,messages:n,updatedAt:Date.now()};this.stateManager.setCurrentConversation(o),await this.storage.save(o),this.stateManager.clearEditingMessage(),i=o}}i||(i=(0,h.createNewConversation)(this.j,this.state.defaultModel,this.state.defaultTemperature),this.stateManager.setCurrentConversation(i));let o=null;t.trim()&&(o=(0,h.createUserMessage)(t),i.title||(i={...i,title:t}),i={...i,updated:Date.now(),messages:[...i.messages,o]}),this.stateManager.setCurrentConversation({...i}),o&&this.j.e.fire("messageSent.ai-assistant-pro",o),this.stateManager.setLoading(!0),this.stateManager.clearError();try{await this.sendRequestToAI(0),this.stateManager.clearSelectionContexts()}catch(t){if((0,b.isAbortError)(t))return;this.stateManager.setError(t instanceof Error?t.message:t+"")}finally{this.stateManager.setLoading(!1)}}async sendRequestToAI(t=0){let i,n,o=this.j.o.aiAssistantPro.maxRecursionToolCallDepth;if(t>=o)throw Error(`Max recursion depth ${o} reached for tool calls`);let r=this.stateManager.getCurrentConversation();if(!r)return;let s=(0,h.findParentMessageId)(r),[a]=await Promise.all([this.apiClient.sendRequest(r.id,r.messages,s,this.stateManager.getSelectionContexts(),r.options),this.storage.save(r)]);if("stream"===a.mode){let t=await (0,h.processStreamingResponse)(this.stateManager,a,r);i=t.aiMessage,n=t.index,r=t.conversation}else{let t=(0,h.processFinalResponse)(a,r);i=t.aiMessage,n=t.index,r=t.conversation}r=await (0,h.processArtifacts)(this.j,i,r,n),this.j.e.fire("messageReceived.ai-assistant-pro",i),this.stateManager.setCurrentConversation({...r}),await this.storage.save(r),await this.handleToolCalls(i.id,t)}async deleteConversation(t){await this.__loadData(),await (0,h.deleteConversationWithCleanup)(this.j,t,this.storage,this.stateManager,this.permissionManager)}async renameConversation(t,i){let n=await this.storage.get(t);if(!n)return;let o={...n,title:i,updated:Date.now()};await this.storage.save(o),this.state.currentConversation?.id===t&&this.stateManager.setCurrentConversation(o);let r=await this.storage.list();this.stateManager.setConversations(r)}async searchConversations(t){await this.__loadData(),await (0,h.handleConversationSearch)(t,this.storage,this.stateManager)}async handleToolCalls(t,i=0){let n=this.stateManager.getCurrentConversation();if(!n)return;let o=n.messages.find(i=>i.id===t);if(!o)return;let r=o.toolCalls;if(!r||0===r.length)return;let s=r.filter(t=>!(0,h.isTerminalToolCallStatus)(t.status));if(0===s.length)return;let{approved:a,needsPermission:l}=this.permissionManager.filterToolCalls(s,n.permissions);for(let n of(this.stateManager.setPendingToolCalls(l),a))await this.executeToolCall(t,n,i)}async executeToolCall(t,i,n=0){let o=this.stateManager.getCurrentConversation();if(!o)return;let r=await (0,h.executeToolCall)(this.j,i,this.toolRegistry),s=o.messages.findIndex(i=>i.id===t);if(-1===s)return;let a=o.messages[s],l=o.messages.slice();l[s]=(0,h.updateToolCallInMessage)(a,r),o={...o,messages:l,updated:Date.now()},this.stateManager.setCurrentConversation(o),(0,h.areAllToolCallsExecuted)(o)&&await this.sendRequestToAI(n+1)}async copyMessage(t){let i=this.stateManager.getCurrentConversation();if(!i)return;let n=i.messages.find(i=>i.id===t);if(n)try{await navigator.clipboard.writeText(n.content),this.j.message.success("Message copied to clipboard")}catch(t){this.j.e.fire("error",Error("Failed to copy message"))}}async restartFromMessage(t){let i=this.stateManager.getCurrentConversation();if(!i)return;let n=i.messages.findIndex(i=>i.id===t);if(-1===n)return;let o=i.messages[n];if("user"!==o.role)return;await this.__loadData();let r=i.messages.slice(0,n),s={...i,messages:r,updatedAt:Date.now()};this.stateManager.setCurrentConversation(s),await this.storage.save(s),await this.sendMessage(o.content)}async editMessage(t){let i=this.stateManager.getCurrentConversation();if(!i)return;let n=i.messages.find(i=>i.id===t);n&&"user"===n.role&&(this.stateManager.setEditingMessageId(t),this.mainPanel.inputArea.setValue(n.content),this.mainPanel.inputArea.focus())}cancelEditMessage(){this.stateManager.isEditingMessage()&&(this.stateManager.clearEditingMessage(),this.mainPanel.inputArea.setValue(""))}async deleteMessage(t){await this.__loadData();let i=this.stateManager.getCurrentConversation();if(!i||-1===i.messages.findIndex(i=>i.id===t))return;let n=i.messages.filter(i=>i.id!==t),o={...i,messages:n,updatedAt:Date.now()};this.stateManager.setCurrentConversation(o),await this.storage.save(o)}beforeDestruct(){this.textAutocompleteSource&&(this.j.e.fire("unregisterAutocompleteSource",this.textAutocompleteSource),this.textAutocompleteSource=null),this.textAutocompleteCache.clear(),this.__closeFlightMode(),(0,m.cached)(this,"toolRegistry")?.destruct(),(0,m.cached)(this,"permissionManager")?.destruct(),(0,m.cached)(this,"apiClient")?.destruct(),(0,m.cached)(this,"stateManager")?.destruct(),(0,m.cached)(this,"mainPanel")?.destruct(),(0,m.cached)(this,"dialog")?.destruct(),(0,m.cached)(this,"storage")?.close?.()}constructor(...t){super(...t),(0,o._)(this,"buttons",[{name:"aiAssistantPro",group:"insert"},{name:"aiCommandsPro",group:"insert"}]),(0,o._)(this,"textAutocompleteSource",null),(0,o._)(this,"textAutocompleteCache",new Map),(0,o._)(this,"__initedPromise",null),(0,o._)(this,"__openedMode",null)}}(0,o._)(C,"requires",["license","autocomplete"]),(0,r.__decorate)([m.cache],C.prototype,"toolRegistry",null),(0,r.__decorate)([m.cache],C.prototype,"permissionManager",null),(0,r.__decorate)([m.cache],C.prototype,"apiClient",null),(0,r.__decorate)([m.cache],C.prototype,"storage",null),(0,r.__decorate)([m.cache],C.prototype,"stateManager",null),(0,r.__decorate)([m.cache],C.prototype,"mainPanel",null),(0,r.__decorate)([m.cache],C.prototype,"dialog",null),(0,r.__decorate)([(0,m.watch)("state.theme")],C.prototype,"__applyTheme",null),(0,r.__decorate)([(0,m.watch)(":openAIAssistantPro.ai-assistant-pro")],C.prototype,"openAssistant",null),(0,r.__decorate)([(0,m.watch)([":resize","state.panelWidth","state.panelHeight"])],C.prototype,"__onResizeInPanelView",null),(0,r.__decorate)([(0,m.watch)(["state.isOpen","state.displayMode","state.panelWidth","state.panelHeight","state.theme","state.defaultModel","state.defaultTemperature","state.currentConversation"]),(0,m.debounce)()],C.prototype,"__onSavedStateChange",null),(0,r.__decorate)([(0,m.watch)(":closeAIAssistantPro.ai-assistant-pro")],C.prototype,"closeAssistant",null),(0,r.__decorate)([(0,m.watch)(":addContextToAIAssistant.ai-assistant-pro")],C.prototype,"addCurrentSelectionToContext",null),(0,r.__decorate)([(0,m.watch)(":executeQuickCommand.ai-assistant-pro")],C.prototype,"executeQuickCommand",null),(0,r.__decorate)([(0,m.watch)(":sendMessage.ai-assistant-pro")],C.prototype,"sendMessage",null),(0,r.__decorate)([(0,m.watch)(":searchConversations.ai-assistant-pro")],C.prototype,"searchConversations",null),(0,r.__decorate)([(0,m.watch)(":copyMessage.ai-assistant-pro")],C.prototype,"copyMessage",null),(0,r.__decorate)([(0,m.watch)(":restartFromMessage.ai-assistant-pro")],C.prototype,"restartFromMessage",null),(0,r.__decorate)([(0,m.watch)(":editMessage.ai-assistant-pro")],C.prototype,"editMessage",null),(0,r.__decorate)([(0,m.watch)(":cancelEditMessage.ai-assistant-pro")],C.prototype,"cancelEditMessage",null),(0,r.__decorate)([(0,m.watch)(":deleteMessage.ai-assistant-pro")],C.prototype,"deleteMessage",null),C=(0,r.__decorate)([m.component],C),y.JoditPro.plugins.add("aiAssistantPro",C)},66645:function(t,i,n){"use strict";var o=n(47373),r=n(94668),s=n.n(r),a=n(86428),l=n.n(a),c=n(75966),u=n.n(c),d=n(83207),h=n.n(d),p=n(99219),f=n.n(p),m=n(63674),g=n.n(m),b=n(4133),v=n.n(b),y=n(94454),w=n(53835),_=n(6441),C=n(12153),k=n(31974),S=n(72573);C.Icon.set("ai-assistant-pro",l()).set("ai-commands-pro",u()).set("ai-add-context",s()).set("send",f()).set("tool-bolt",v()).set("chevron-right",h()).set("shield",g()),_.Config.prototype.aiAssistantPro={displayMode:"right",panelWidth:400,panelHeight:500,flightPanelHeight:250,dialogFullSize:!1,resizable:!0,apiMode:"incremental",apiRequest:null,maxRetries:3,requestTimeout:3e5,retryDelay:1e3,maxRecursionToolCallDepth:1e3,enabledTools:(0,w.getToolNames)(),customTools:[],toolPermissions:{},autoApproveTools:["readDocument","readBlocks","readSelection","insertHTML"],alwaysDenyTools:[],defaultPermissionScope:"conversation",storage:"indexedDB",maxConversations:50,storageKey:"jodit-ai-assistant-pro",showConversationList:!0,enableMarkdown:!0,enableCodeHighlight:!0,maxMessageHeight:400,placeholderText:"Ask AI assistant...",sendShortcut:"Ctrl+Enter",showTimestamps:!0,formatTimestamp(t,i){let n=new Date(t),o=new Date().getTime()-n.getTime();return o<6e4?i("Just now"):o<36e5?i("%dm ago",Math.floor(o/6e4)):o<864e5?i("%dh ago",Math.floor(o/36e5)):n.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})},formatMessageContent:(t,i)=>S.marked.parse(t,{breaks:!0,gfm:!0}),showAvatars:!0,showTypingIndicator:!0,includeSelectionByDefault:!0,maxContextRanges:5,showContextPreview:!0,sendOnEnter:!0,instructions:void 0,includeEditorMetadata:!1,autoOpen:!0,rememberLastConversation:!0,autoFocusInput:!0,closeAfterInsert:!1,enableSoundNotifications:!1,debug:!1,textAutocompleteEnabled:!1,textAutocompleteApiRequest:null,textAutocompleteMinQueryLength:3,textAutocompleteMaxSuggestions:3,textAutocompleteDebounceMs:500,textAutocompleteCacheTTL:3e4,textAutocompleteCacheMaxSize:50,quickCommandsSilentMode:!1,quickCommandsDisplayMode:"flight",showCopyMessageAction:!0,showRestartMessageAction:!0,showEditMessageAction:!0,showDeleteMessageAction:!0,dialogSettings:{},allowEditDialogSettings:!1,allowEditDisplayMode:!0,allowEditPanelWidth:!0,initiallyOpened:!1,allowClose:!0,persistOpenState:!0,theme:"parent",allowEditTheme:!0,async uploadBase64Artifact(t,i){if("image"===t.type&&t.data&&"base64"===t.data.kind)try{let n=(0,o.base64ToFile)(t.data.base64,t.id,t.mimeType),r=await i.uploader.upload([n]);return{...t,data:{kind:"url",url:r.baseurl+r.files[0]},metadata:{...t.metadata,filename:r.files[0]}}}catch(t){i.e.fire("error",t)}return t},getAIProviderOptions:(t,i)=>(0,y.getAIProviderOptions)(t,i),registerAIProvider(t,i){(0,y.registerAIProvider)(t,i)}},_.Config.prototype.controls.aiAssistantPro={icon:"ai-assistant-pro",tooltip:"AI Assistant",hotkeys:["ctrl+shift+a","cmd+shift+a"],exec(t){t.e.fire("openAIAssistantPro.ai-assistant-pro")},isDisabled:t=>!t.o.aiAssistantPro.apiRequest,getLabel:t=>t.o.aiAssistantPro.apiRequest?"AI Assistant":"AI Assistant (not configured)"},_.Config.prototype.controls.aiAddContext={icon:"ai-add-context",tooltip:"Add to AI Context",exec(t){t.e.fire("addContextToAIAssistant")},isDisabled:t=>!t.o.aiAssistantPro.apiRequest||t.s.isCollapsed()},_.Config.prototype.controls.aiCommandsPro={icon:"ai-commands-pro",tooltip:"AI Commands",isDisabled:t=>!t.o.aiAssistantPro.apiRequest,list:k.aiAssitentCommands,exec(t,i,{control:n}){t.e.fire("executeQuickCommand.ai-assistant-pro",n.name)}};let x=_.Config.prototype.tuneBlock?.popup||{},I={};["p","h1","h2","h3","h4","h5","h6","div","section","article","pre","blockquote","ul","ol","li","table","tr","td","th","img","figure"].forEach(t=>{let i=x[t]||["tune.up","tune.remove","tune.down"];I[t]=[...i,"|","aiAddContext"]}),_.Config.prototype.tuneBlock&&(_.Config.prototype.tuneBlock.popup={...x,...I})},6689:function(t,i,n){"use strict";n.d(i,{throwIfAborted:function(){return r}});var o=n(93661);function r(t){if(t.aborted)throw(0,o.abort)()}},61872:function(t,i,n){"use strict";n.d(i,{processArtifacts:function(){return a},processFinalResponse:function(){return s},processStreamingResponse:function(){return r}});var o=n(61558);async function r(t,i,n){let r=(0,o.createAIMessage)(),s=-1;for await(let a of i.stream){switch(a.type){case"created":r={...r,id:a.response.responseId,content:""},s=n.messages.length;break;case"text-delta":r={...r,content:r.content+a.delta};break;case"completed":r={...r,id:a.response.responseId,toolCalls:a.response.toolCalls||[],artifacts:a.response.artifacts||[]};break;case"error":{let t=(0,o.createErrorMessage)(a.error);r={...r,id:t.id,content:t.content}}}if(r.id){let i=n.messages.slice();i[s>=0?s:n.messages.length]=r,n={...n,messages:i,updated:Date.now()},t.setCurrentConversation(n)}}return{aiMessage:r,index:s,conversation:n}}function s(t,i){let n={...(0,o.createAIMessage)(),id:t.response.responseId,content:t.response.content,toolCalls:t.response.toolCalls||[],artifacts:t.response.artifacts||[]},r=i.messages.slice();return r.push(n),{aiMessage:n,index:(i={...i,messages:r,updated:Date.now()}).messages.length-1,conversation:i}}async function a(t,i,n,r){if(i.artifacts&&i.artifacts.length>0){let s=n.messages.slice();return s[r]={...s[r],artifacts:await (0,o.uploadArtifacts)(t,i.artifacts)},{...n,messages:s,updated:Date.now()}}return n}},49459:function(t,i,n){"use strict";function o(t,i,n={}){let r=t[i];if("string"!=typeof r||!n.allowEmpty&&""===r)throw Error(`Parameter "${i}" is required and must be a${n.allowEmpty?"":" non-empty"} string`);return r}n.d(i,{requireString:function(){return o}})},44526:function(t,i,n){"use strict";n.d(i,{resolveBlock:function(){return r}});var o=n(22732);function r(t,{selector:i,index:n,requireExactlyOne:s=!1}={}){let a=null!=i&&""!==i.trim(),l=null!=n;if(s&&a===l)throw Error("Either index or selector must be provided, but not both");if(!a&&!l)throw Error("Block identifier is required");if(a){if("string"!=typeof i)throw Error("Selector must be a string");let n=t.editor.querySelector(i);if(!n)throw Error(`No element found matching selector "${i}"`);if(!o.Dom.isElement(n))throw Error(`Selector "${i}" does not point to an element node`);return{element:n,identifier:`with selector "${i}"`}}if("number"!=typeof n)throw Error("Block index must be a number");let c=Array.from(t.editor.children);if(n<0||n>=c.length)throw Error(`Block index ${n} is out of range. Document has ${c.length} blocks`);let u=c[n];if(!o.Dom.isElement(u))throw Error(`Block at index ${n} is not a valid element`);return{element:u,identifier:"at index "+n}}},70308:function(t,i,n){"use strict";n.d(i,{areAllToolCallsExecuted:function(){return c},createNewConversation:function(){return r},findMessagesWithPendingToolCalls:function(){return u},findParentMessageId:function(){return s},isTerminalToolCallStatus:function(){return l}});var o=n(21064);function r(t,i,n,s=[]){let a=t.o.aiAssistantPro,l={id:(0,o.generateConversationId)(),created:Date.now(),updated:Date.now(),messages:s,permissions:[],options:{model:i??a.defaultModel,temperature:n??a.defaultTemperature}};return t.e.fire("conversationCreated.ai-assistant-pro",l),l}function s(t){for(let i=t.messages.length-1;i>=0;i--){let n=t.messages[i];if("assistant"===n.role&&!n.id.startsWith("error_"))return n.id}return null}let a=new Set(["executed","denied","error"]);function l(t){return a.has(t)}function c(t){let i=t.messages[t.messages.length-1];return!!i?.toolCalls&&i.toolCalls.every(t=>l(t.status))}function u(t){return t.messages.filter(t=>t.toolCalls&&t.toolCalls.length>0&&t.toolCalls.some(t=>!l(t.status)))}},473:function(t,i,n){"use strict";n.d(i,{handleBackToList:function(){return c},handleConversationSearch:function(){return u},handleConversationSelect:function(){return l},handleToolApproval:function(){return s},handleToolDenial:function(){return a}});var o=n(79078),r=n(82758);async function s(t,i,n,o,r){let s=n.getPendingToolCalls().find(i=>i.id===t);if(!s)return null;let a=o.grantPermission(s.name,i),l=n.getCurrentConversation();return l&&(l.permissions.push(a),await r.save(l)),n.removePendingToolCall(t),{...s,status:"approved"}}async function a(t,i,n,r){let s=n.getPendingToolCalls().find(t=>t.id===i);if(!s)return;let a=n.getCurrentConversation();if(!a)return;let l=a.messages.findIndex(t=>t.toolCalls?.find(t=>t.id===i));if(-1===l)return;let c=a.messages[l],u={...s,result:{error:"Tool call denied by user."},status:"denied"},d=(0,o.updateToolCallInMessage)(c,u),h=[...a.messages];h[l]=d,a={...a,messages:h,updated:Date.now()},n.setCurrentConversation(a),await r.save(a),t.e.fire("toolCallDenied.ai-assistant-pro",s),n.removePendingToolCall(i)}async function l(t,i,n){try{n.setLoading(!0);let o=await i.get(t);if(!o)throw Error("Conversation not found: "+t);n.setCurrentConversation({...o})}catch(t){r.IS_PROD}finally{n.setLoading(!1)}}async function c(t,i){i.setView("conversationList");try{i.setLoading(!0);let n=await t.list().catch(()=>[]);i.setConversations(n)}finally{i.setLoading(!1)}}async function u(t,i,n){n.setLoading(!0);try{let o=await i.list(t||void 0);n.setConversations(o),n.setView("conversationList")}finally{n.setLoading(!1)}}},58579:function(t,i,n){"use strict";n.d(i,{applyTheme:function(){return d.applyTheme},areAllToolCallsExecuted:function(){return r.areAllToolCallsExecuted},createNewConversation:function(){return r.createNewConversation},createUserMessage:function(){return a.createUserMessage},deleteConversationWithCleanup:function(){return u.deleteConversationWithCleanup},executeToolCall:function(){return h.executeToolCall},findMessagesWithPendingToolCalls:function(){return r.findMessagesWithPendingToolCalls},findParentMessageId:function(){return r.findParentMessageId},getCurrentSelectionContext:function(){return c.getCurrentSelectionContext},handleBackToList:function(){return s.handleBackToList},handleConversationSearch:function(){return s.handleConversationSearch},handleConversationSelect:function(){return s.handleConversationSelect},handleToolApproval:function(){return s.handleToolApproval},handleToolDenial:function(){return s.handleToolDenial},invertMode:function(){return l.invertMode},isTerminalToolCallStatus:function(){return r.isTerminalToolCallStatus},loadInitialData:function(){return u.loadInitialData},processArtifacts:function(){return o.processArtifacts},processFinalResponse:function(){return o.processFinalResponse},processStreamingResponse:function(){return o.processStreamingResponse},resizeInPanelView:function(){return l.resizeInPanelView},updateToolCallInMessage:function(){return h.updateToolCallInMessage}});var o=n(61872),r=n(70308),s=n(473),a=n(61558),l=n(71050),c=n(15927),u=n(56110),d=n(53014),h=n(79078)},61558:function(t,i,n){"use strict";n.d(i,{createAIMessage:function(){return s},createErrorMessage:function(){return a},createUserMessage:function(){return r},uploadArtifacts:function(){return l}});var o=n(21064);function r(t){return{id:(0,o.generateMessageId)(),role:"user",content:t,timestamp:Date.now()}}function s(){return{id:"",role:"assistant",content:"",artifacts:[],timestamp:Date.now(),toolCalls:[]}}function a(t){return{id:"error_"+(0,o.generateMessageId)(),role:"assistant",content:"❌ Error: "+t.message,timestamp:Date.now(),toolCalls:[],artifacts:[]}}async function l(t,i){if(!i||0===i.length)return i;let n=t.o.aiAssistantPro.uploadBase64Artifact;return n?Promise.all(i.map(async i=>n(i,t)??i)):i}},71050:function(t,i,n){"use strict";n.d(i,{invertMode:function(){return r},resizeInPanelView:function(){return s}});var o=n(41180);function r(t){switch(t){case"left":return"right";case"right":return"left";case"top":return"bottom";case"bottom":return"top"}}function s(t,i,n,s){if("dialog"===i||"flight"===i)return;("left"===i||"right"===i)&&(t.currentPlace.slots[r(i)]?.style.setProperty(`--jd-slot-${r(i)}-width`,"auto"),t.currentPlace.slots[i]?.style.setProperty(`--jd-slot-${i}-width`,`${n}px`));let a=(0,o.css)(t.currentPlace.workplace,"height")??0;t.currentPlace.slots[i]?.style.setProperty("min-height",`${Math.min(a,s)}px`)}},15927:function(t,i,n){"use strict";function o(t){if(t.s.isCollapsed())return null;let i=t.s.html,n=t.s.range;return{html:i,rangeInfo:{startContainer:n.startContainer.nodeName,startOffset:n.startOffset,endContainer:n.endContainer.nodeName,endOffset:n.endOffset}}}n.d(i,{getCurrentSelectionContext:function(){return o}})},56110:function(t,i,n){"use strict";n.d(i,{deleteConversationWithCleanup:function(){return r},loadInitialData:function(){return s}});var o=n(82758);async function r(t,i,n,o,r){try{o.setLoading(!0),await n.delete(i),o.removeConversation(i),r.clearConversationPermissions(i);let s=o.getCurrentConversation();s?.id===i&&o.setCurrentConversation(null);let a=await n.list();o.setConversations(a),o.setView(0===a.length?"welcome":"conversationList"),t.e.fire("conversationDeleted.ai-assistant-pro",i)}catch(i){t.alert(t.i18n("Failed to delete conversation")+": "+(i?.message||"Unknown error"))}finally{o.setLoading(!1)}}async function s(t,i,n){n.setLoading(!0);try{let[o,r]=await Promise.all([i.list().catch(()=>[]),i.getGlobalSettings().catch(()=>null)]);if(n.setConversations(o),r&&n.setSavedState(r),0===o.length)n.setView("welcome");else if(t.o.aiAssistantPro.rememberLastConversation&&r?.currentConversationId){let t=o.find(t=>t.id===r.currentConversationId)??o[0],s=await i.get(t.id);s?n.setCurrentConversation(s):n.setView("conversationList")}else n.setView("conversationList")}catch(t){o.IS_PROD,n.setView("welcome")}finally{n.setLoading(!1)}}},53014:function(t,i,n){"use strict";n.d(i,{applyTheme:function(){return s}});let o=["jodit_theme_dark","jodit-ai-assistant-pro_theme_dark","jodit-dialog_theme_dark"],r=["jodit_theme_light","jodit-ai-assistant-pro_theme_light","jodit-dialog_theme_light"];function s(t,i,n,s,a){let l;if(s?.classList.remove(...o),s?.classList.remove(...r),"dialog"===n){let t=a?.container;t?.classList.remove(...o),t?.classList.remove(...r)}if(l="dark"===i?o:r,s?.classList.add(...l),"dialog"===n){let t=a?.container;t?.classList.add(...l)}}},79078:function(t,i,n){"use strict";async function o(t,i,n){let o;try{let t=new AbortController().signal,r=await n.executeTool(i.name,i.arguments,t);o={...i,result:{result:r},status:"executed"}}catch(n){o={...i,result:{error:n instanceof Error?n.message:n+""},status:"error"},t.e.fire("toolCallFailed.ai-assistant-pro",o)}return t.e.fire("toolCallExecuted.ai-assistant-pro",o,{toolCallId:o.id,result:o.result}),o}function r(t,i){let n=t.toolCalls?.findIndex(t=>t.id===i.id);if(null==n||-1===n)return t;let o=[...t?.toolCalls??[]];return o[n]=i,{...t,toolCalls:o}}n.d(i,{executeToolCall:function(){return o},updateToolCallInMessage:function(){return r}})},86449:function(t,i,n){"use strict";n.d(i,{APIClient:function(){return a}});var o=n(82749),r=n(82758),s=n(21537);class a{async sendRequest(t,i,n,o,a){let{apiRequest:l,requestTimeout:c,maxRetries:u}=this.jodit.o.aiAssistantPro;if(!l)throw Error("AI Assistant Pro callback is not configured");let d=new AbortController;this.abortControllers.add(d);try{let h=this.buildRequestContext(t,i,n,o,a),p=null;for(let t=0;u>=t;t++)try{if(d.signal.aborted)throw(0,s.abort)();let t=setTimeout(()=>{d.abort()},c);try{let i=await l(h,d.signal);return clearTimeout(t),this.validateResponse(i),i}catch(i){throw clearTimeout(t),i}}catch(i){if(p=i,r.IS_PROD,u>t){let i=this.calculateRetryDelay(t);await this.sleep(i)}else throw i}throw p||Error("API request failed after all retries")}finally{this.abortControllers.delete(d)}}abort(){this.abortControllers.forEach(t=>{t.abort()}),this.abortControllers.clear()}isInProgress(){return this.abortControllers.size>0}buildRequestContext(t,i,n,o,r){let s,{apiMode:a,instructions:l}=this.jodit.o.aiAssistantPro,c={mode:a,conversationId:t,tools:this.toolRegistry.getAllTools(),selectionContexts:o,conversationOptions:r,instructions:l};if("full"===a)s=i;else if(n){let t=i.findIndex(t=>t.id===n);s=-1!==t?i.slice(t+1):i,c={...c,parentMessageId:n}}else s=i;return{...c,messages:this.expandToolMessages(s,i.find(t=>t.id===n))}}expandToolMessages(t,i){let n=[];for(let i of t)n.push(i),this.expandToolResultsMessage(i,n);return i&&this.expandToolResultsMessage(i,n),n}expandToolResultsMessage(t,i){if(t.toolCalls&&t.toolCalls.length>0)for(let n of t.toolCalls){let o=n.result??{error:"result not found"};if(i.find(t=>t.id===`${n.id}-result`))continue;let r={id:`${n.id}-result`,role:"tool",content:o.error?"Error: "+o.error:JSON.stringify(o.result),timestamp:t.timestamp,toolResults:[{toolCallId:n.id,result:o}]};i.push(r)}}validateResponse(t){if("final"!==t.mode)return;let i=t.response;if(!i)throw Error("API returned empty response");if(!i.responseId)throw Error("API response missing responseId");if(void 0===i.content)throw Error("API response missing content");if(void 0===i.finished)throw Error("API response missing finished flag");if(i.toolCalls){if(!Array.isArray(i.toolCalls))throw Error("API response toolCalls must be an array");i.toolCalls.forEach((t,i)=>{if(!t.id)throw Error(`Tool call at index ${i} is missing id`);if(!t.name)throw Error(`Tool call at index ${i} is missing name`);if(!t.arguments||"object"!=typeof t.arguments)throw Error(`Tool call at index ${i} has invalid arguments`)})}}calculateRetryDelay(t){let{retryDelay:i}=this.jodit.o.aiAssistantPro;return i*Math.pow(2,t)+Math.random()*i}sleep(t){return new Promise(i=>setTimeout(i,t))}destruct(){this.abort()}constructor(t,i){(0,o._)(this,"jodit",void 0),(0,o._)(this,"toolRegistry",void 0),(0,o._)(this,"abortControllers",void 0),this.jodit=t,this.toolRegistry=i,this.abortControllers=new Set}}},47373:function(t,i,n){"use strict";function o(t,i,n="image/png"){let r=atob(t),s=r.length,a=new Uint8Array(s);for(let t=0;s>t;t++)a[t]=r.charCodeAt(t);return new File([new Blob([a],{type:n})],i,{type:n})}n.d(i,{base64ToFile:function(){return o}})},21020:function(t,i,n){"use strict";n.d(i,{PermissionManager:function(){return r}});var o=n(82749);class r{requiresPermission(t){let{autoApproveTools:i,alwaysDenyTools:n}=this.jodit.o.aiAssistantPro;if(n.includes(t))return!0;if(i.includes(t))return!1;let o=this.toolRegistry.getTool(t);return!o||o.requiresPermission}isAutoDenied(t){let{alwaysDenyTools:i}=this.jodit.o.aiAssistantPro;return i.includes(t)}isAutoApproved(t){let{autoApproveTools:i}=this.jodit.o.aiAssistantPro;return i.includes(t)}checkPermission(t,i){if(this.isAutoApproved(t))return{toolName:t,granted:!0,grantedAt:Date.now(),scope:"once"};if(this.isAutoDenied(t))return null;let n=this.permanentPermissions.get(t);return n&&n.granted?n:i.find(i=>i.toolName===t&&i.granted)||null}grantPermission(t,i){let n={toolName:t,granted:!0,grantedAt:Date.now(),scope:i};return"forever"===i&&(this.permanentPermissions.set(t,n),this.savePermanentPermissions()),n}denyPermission(t){return{toolName:t,granted:!1,grantedAt:Date.now(),scope:"once"}}filterToolCalls(t,i){let n=[],o=[],r=[];for(let s of t){if(this.isAutoDenied(s.name)){r.push({...s,status:"denied"});continue}if(this.isAutoApproved(s.name)){n.push({...s,status:"approved"});continue}let t=this.checkPermission(s.name,i);t&&t.granted?n.push({...s,status:"approved"}):this.requiresPermission(s.name)?(this.jodit.e.fire("permissionRequested.ai-assistant-pro",s.name),o.push({...s,status:"pending"})):n.push({...s,status:"approved"})}return{approved:n,needsPermission:o,denied:r}}clearConversationPermissions(t){}loadPermanentPermissions(){try{let t=localStorage.getItem(this.PERMANENT_PERMISSIONS_KEY);t&&JSON.parse(t).forEach(t=>{"forever"===t.scope&&t.granted&&this.permanentPermissions.set(t.toolName,t)})}catch(t){}}savePermanentPermissions(){try{let t=Array.from(this.permanentPermissions.values());localStorage.setItem(this.PERMANENT_PERMISSIONS_KEY,JSON.stringify(t))}catch(t){}}clearPermanentPermissions(){this.permanentPermissions.clear(),localStorage.removeItem(this.PERMANENT_PERMISSIONS_KEY)}getPermanentPermissions(){return Array.from(this.permanentPermissions.values())}revokePermanentPermission(t){this.permanentPermissions.delete(t),this.savePermanentPermissions()}destruct(){this.permanentPermissions.clear()}constructor(t,i){(0,o._)(this,"jodit",void 0),(0,o._)(this,"toolRegistry",void 0),(0,o._)(this,"permanentPermissions",void 0),(0,o._)(this,"PERMANENT_PERMISSIONS_KEY",void 0),this.jodit=t,this.toolRegistry=i,this.permanentPermissions=new Map,this.PERMANENT_PERMISSIONS_KEY="jodit-permissions.ai-assistant-pro",this.loadPermanentPermissions()}}},46166:function(t,i,n){"use strict";n.d(i,{StateManager:function(){return r}});var o=n(82749);class r{createInitialState(){return{isOpen:!1,currentView:"welcome",currentConversation:null,conversations:[],isLoading:!1,error:null,pendingToolCalls:[],selectionContexts:[],abortController:null,editingMessageId:null,theme:this.jodit.o.aiAssistantPro.theme||"parent",displayMode:this.jodit.o.aiAssistantPro.displayMode,panelWidth:this.jodit.o.aiAssistantPro.panelWidth,panelHeight:this.jodit.o.aiAssistantPro.panelHeight,defaultModel:this.jodit.o.aiAssistantPro.defaultModel,defaultTemperature:this.jodit.o.aiAssistantPro.defaultTemperature}}open(){this.state.isOpen=!0,this.jodit.e.fire("open.ai-assistant-pro",this.state.currentConversation)}close(){this.state.isOpen=!1,this.jodit.e.fire("close.ai-assistant-pro")}isOpen(){return this.state.isOpen}setView(t){this.state.currentView=t,this.jodit.e.fire("viewChanged.ai-assistant-pro",t)}getView(){return this.state.currentView}setConversations(t){this.state.conversations=t}setSavedState(t){t.theme&&(this.state.theme=t.theme),t.displayMode&&(this.state.displayMode=t.displayMode),t.panelWidth&&(this.state.panelWidth=t.panelWidth),t.panelHeight&&(this.state.panelHeight=t.panelHeight),t.defaultModel&&(this.state.defaultModel=t.defaultModel),t.defaultTemperature&&(this.state.defaultTemperature=t.defaultTemperature)}getConversations(){return this.state.conversations}setCurrentConversation(t){if(this.state.currentConversation===t)throw Error("Conversation is already current");this.state.currentConversation=t||null,t&&(this.setView("conversation"),this.jodit.e.fire("conversationSwitched.ai-assistant-pro",t))}getCurrentConversation(){return this.state.currentConversation}removeConversation(t){let i=this.state.conversations.filter(i=>i.id!==t);this.setConversations(i)}setLoading(t){this.state.isLoading=t}isLoading(){return this.state.isLoading}setError(t){this.state.error=t,t&&this.jodit.e.fire("error.ai-assistant-pro",Error(t))}getError(){return this.state.error}clearError(){this.setError(null)}setPendingToolCalls(t){this.state.pendingToolCalls=t}getPendingToolCalls(){return this.state.pendingToolCalls}addPendingToolCall(t){let i=[...this.state.pendingToolCalls,t];this.setPendingToolCalls(i)}removePendingToolCall(t){let i=this.state.pendingToolCalls.filter(i=>i.id!==t);this.setPendingToolCalls(i)}updateToolCallStatus(t,i){let n=this.state.pendingToolCalls.map(n=>n.id===t?{...n,status:i}:n);this.setPendingToolCalls(n)}setSelectionContexts(t){this.state.selectionContexts=t}getSelectionContexts(){return this.state.selectionContexts}addSelectionContext(t){let{maxContextRanges:i}=this.jodit.o.aiAssistantPro,n=[...this.state.selectionContexts,t];n.length>i&&(n=n.slice(-i)),this.setSelectionContexts(n),this.jodit.e.fire("contextAdded.ai-assistant-pro",t)}removeSelectionContext(t){let i=this.state.selectionContexts.filter((i,n)=>n!==t);this.setSelectionContexts(i),this.jodit.e.fire("contextRemoved.ai-assistant-pro",t)}clearSelectionContexts(){this.setSelectionContexts([])}setAbortController(t){this.state.abortController=t}getAbortController(){return this.state.abortController}setEditingMessageId(t){this.state.editingMessageId=t}getEditingMessageId(){return this.state.editingMessageId}isEditingMessage(){return null!=this.state.editingMessageId}clearEditingMessage(){this.setEditingMessageId(null)}reset(){this.state=this.createInitialState()}destruct(){this.state.abortController&&this.state.abortController.abort(),this.reset()}constructor(t){(0,o._)(this,"jodit",void 0),(0,o._)(this,"state",void 0),this.jodit=t,this.state=this.createInitialState()}}},62895:function(t,i,n){"use strict";n.d(i,{WebStorageConversationStorage:function(){return o.WebStorageConversationStorage},createStorageProvider:function(){return o.createStorageProvider}});var o=n(21064)},21064:function(t,i,n){"use strict";n.d(i,{WebStorageConversationStorage:function(){return s},createStorageProvider:function(){return a},generateConversationId:function(){return l},generateMessageId:function(){return c}});var o=n(82749),r=n(97333);class s{close(){return this.storage.close()}getConversationKey(t){return"conv:"+t}async getAllKeys(){let t=await this.storage.get("__conversation_index__");return t&&Array.isArray(t)?t:[]}async updateIndex(t){await this.storage.set("__conversation_index__",t)}async addToIndex(t){let i=await this.getAllKeys();i.includes(t)||(i.push(t),await this.updateIndex(i))}async removeFromIndex(t){let i=(await this.getAllKeys()).filter(i=>i!==t);await this.updateIndex(i)}async list(t){try{let i=await this.getAllKeys(),n=[],o=t?.toLowerCase().trim();for(let t of i){let i=await this.get(t);if(i){if(o){let t=i.title?.toLowerCase().includes(o),n=!t&&i.messages.some(t=>t.content.toLowerCase().includes(o));if(!t&&!n)continue}n.push({id:i.id,title:i.title??"",created:i.created,updated:i.updated,messageCount:i.messages.length})}}return n.sort((t,i)=>i.updated-t.updated),n}catch(t){return[]}}async get(t){try{let i=this.getConversationKey(t);return await this.storage.get(i)||null}catch(t){return null}}async save(t){try{if(0===t.messages.length)throw Error("Conversation must have at least one message.");let i=await this.getAllKeys();i.length>=this.maxConversations&&!i.includes(t.id)&&await this.evictOldest();let n=this.getConversationKey(t.id);await this.storage.set(n,t),await this.addToIndex(t.id)}catch(i){if(i?.name==="QuotaExceededError"||i?.code===22||i?.code===1014){await this.evictOldest();try{let i=this.getConversationKey(t.id);await this.storage.set(i,t),await this.addToIndex(t.id)}catch{throw Error("Storage quota exceeded. Please delete some conversations.")}}else throw Error("Failed to save conversation: "+(i?.message||"Unknown error"))}}async delete(t){try{let i=this.getConversationKey(t);await this.storage.delete(i),await this.removeFromIndex(t)}catch(t){}}async clear(){try{for(let t of(await this.getAllKeys())){let i=this.getConversationKey(t);await this.storage.delete(i)}await this.updateIndex([])}catch(t){}}async evictOldest(){try{let t=await this.list();if(0===t.length)return;t.sort((t,i)=>t.updated-i.updated);let i=t[0];await this.delete(i.id)}catch(t){}}async getGlobalSettings(){try{return await this.storage.get("global-settings")||null}catch(t){return null}}async saveGlobalSettings(t){try{let i={...await this.getGlobalSettings(),...t};await this.storage.set("global-settings",i)}catch{throw Error("Failed to save global settings")}}constructor(t,i){(0,o._)(this,"storage",void 0),(0,o._)(this,"maxConversations",void 0),this.storage=t,this.maxConversations=i}}function a(t,i){return r.AsyncStorage.makeStorage(t,i)}function l(){return`conv_${Date.now()}_${Math.random().toString(36).substring(2,11)}`}function c(){return`msg_${Date.now()}_${Math.random().toString(36).substring(2,11)}`}},55487:function(t,i,n){"use strict";n.d(i,{ToolRegistry:function(){return s}});var o=n(82749),r=n(53835);class s{registerBuiltInTools(t){t.forEach(t=>{let i=r.BUILT_IN_TOOLS[t];i&&this.tools.set(t,i)})}registerCustomTools(t){t.forEach(t=>{this.validateToolDefinition(t),this.tools.set(t.name,t)})}validateToolDefinition(t){if(!t.name||"string"!=typeof t.name)throw Error("Tool must have a valid name");if(!t.description||"string"!=typeof t.description)throw Error(`Tool "${t.name}" must have a description`);if(!Array.isArray(t.parameters))throw Error(`Tool "${t.name}" must have a parameters array`);if("function"!=typeof t.execute)throw Error(`Tool "${t.name}" must have an execute function`);t.parameters.forEach(i=>{if(!i.name||"string"!=typeof i.name)throw Error(`Tool "${t.name}" has a parameter without a valid name`);if(!i.type)throw Error(`Tool "${t.name}" parameter "${i.name}" must have a type`);if("boolean"!=typeof i.required)throw Error(`Tool "${t.name}" parameter "${i.name}" must specify if it's required`)})}getAllTools(){return Array.from(this.tools.values())}getTool(t){return this.tools.get(t)}hasTool(t){return this.tools.has(t)}getToolNames(){return Array.from(this.tools.keys())}async executeTool(t,i,n){let o=this.getTool(t);if(!o)throw Error(`Tool "${t}" not found`);let r=this.applyDefaults(o,i);this.validateArguments(o,r);try{return await o.execute(this.jodit,r,n)}catch(t){if(t?.name==="AbortError"||n.aborted)throw Error("Tool execution was aborted");throw t}}validateArguments(t,i){let n=Object.keys(i);for(let i of t.parameters.filter(t=>t.required).map(t=>t.name))if(!n.includes(i))throw Error(`Tool "${t.name}" requires parameter "${i}"`);for(let[n,o]of Object.entries(i)){let i=t.parameters.find(t=>t.name===n);if(!i){this.jodit.o.aiAssistantPro.debug;continue}let r=Array.isArray(o)?"array":"object"==typeof o&&null!=o?"object":typeof o;if(i.type!==r&&!("number"===i.type&&"string"===r&&!isNaN(Number(o))))throw Error(`Tool "${t.name}" parameter "${n}" expects type "${i.type}" but got "${r}"`);if(i.enum&&i.enum.length>0&&!i.enum.includes(o))throw Error(`Tool "${t.name}" parameter "${n}" must be one of: ${i.enum.join(", ")}`)}}applyDefaults(t,i){let n={...i};for(let i of t.parameters)void 0===n[i.name]&&void 0!==i.default&&(n[i.name]=i.default);return n}destruct(){this.tools.clear()}constructor(t){(0,o._)(this,"jodit",void 0),(0,o._)(this,"tools",void 0),this.jodit=t,this.tools=new Map,this.registerBuiltInTools(t.o.aiAssistantPro.enabledTools||[]),this.registerCustomTools(t.o.aiAssistantPro.customTools||[])}}},26612:function(t){t.exports={"AI Assistant":"AI Assistant","AI Assistant Pro":"AI Assistant Pro","Welcome to AI Assistant":"Welcome to AI Assistant","Start your first conversation":"Start your first conversation","Tip: Select text in editor to add context":"Tip: Select text in editor to add context","New Chat":"New Chat","Search conversations...":"Search conversations...","No conversations yet":"No conversations yet","Ask me anything...":"Ask me anything...","Ask a follow-up...":"Ask a follow-up...","Reply...":"Reply...","Type your message...":"Type your message...",Send:"Send",Cancel:"Cancel",Retry:"Retry",Insert:"Insert",Copy:"Copy",Edit:"Edit",Delete:"Delete",New:"New",Back:"Back","Permission Required":"Permission Required",Approve:"Approve",Deny:"Deny",Once:"Once","This conversation":"This conversation",Always:"Always","The AI wants to execute:":"The AI wants to execute:","This will modify your document content.":"This will modify your document content.","Executing...":"Executing...","Completed successfully":"Completed successfully",Failed:"Failed","Pending approval":"Pending approval","Denied by user":"Denied by user","Tool Result":"Tool Result","Tool Execution Error":"Tool Execution Error",Context:"Context",Contexts:"Contexts","Add to AI Context":"Add to AI Context",Remove:"Remove","Clear all":"Clear all","An error occurred":"An error occurred","Request failed":"Request failed","Connection error":"Connection error","AI Assistant is not configured":"AI Assistant is not configured","Thinking...":"Thinking...","Generating response...":"Generating response...",insertHTML:"Insert HTML",readDocument:"Read Document",readBlock:"Read Block",replaceInDocument:"Replace in Document",replaceInBlock:"Replace in Block",getSelection:"Get Selection","Just now":"Just now",Conversation:"Conversation","New Conversation":"New Conversation",Yesterday:"Yesterday","Delete conversation":"Delete conversation","Are you sure you want to delete this conversation?":"Are you sure you want to delete this conversation?","Failed to delete conversation":"Failed to delete conversation"}},63805:function(t,i,n){"use strict";n.r(i),n.d(i,{en:function(){return r.a},ru:function(){return a.a}});var o=n(26612),r=n.n(o),s=n(55790),a=n.n(s)},55790:function(t){t.exports={"AI Assistant":"AI Ассистент","AI Assistant Pro":"AI Ассистент Pro","Welcome to AI Assistant":"Добро пожаловать в AI Ассистент","Start your first conversation":"Начните первый диалог","Tip: Select text in editor to add context":"Подсказка: Выделите текст в редакторе для добавления контекста","New chat":"Новый чат","Search conversations...":"Поиск диалогов...","No conversations yet":"Пока нет диалогов","Ask me anything...":"Спросите меня о чем угодно...","Ask a follow-up...":"Задайте дополнительный вопрос...","Reply...":"Ответить...","Type your message...":"Введите ваше сообщение...",Send:"Отправить",Cancel:"Отмена",Retry:"Повторить",Insert:"Вставить",Copy:"Копировать",Edit:"Редактировать",Delete:"Удалить",New:"Новый",Back:"Назад","Permission Required":"Требуется разрешение",Approve:"Разрешить",Deny:"Отклонить",Once:"Один раз","This conversation":"Этот диалог",Always:"Всегда","The AI wants to execute:":"AI хочет выполнить:","This will modify your document content.":"Это изменит содержимое вашего документа.","Executing...":"Выполняется...","Completed successfully":"Успешно выполнено",Failed:"Ошибка","Pending approval":"Ожидает разрешения","Denied by user":"Отклонено пользователем","Tool Result":"Результат инструмента","Tool Execution Error":"Ошибка выполнения инструмента",Context:"Контекст",Contexts:"Контексты","Add to AI Context":"Добавить в контекст AI",Remove:"Удалить","Clear all":"Очистить все","An error occurred":"Произошла ошибка","Request failed":"Запрос не выполнен","Connection error":"Ошибка соединения","AI Assistant is not configured":"AI Ассистент не настроен","Thinking...":"Думаю...","Generating response...":"Генерирую ответ...",insertHTML:"Вставить HTML",readDocument:"Прочитать документ",readBlock:"Прочитать блок",replaceInDocument:"Заменить в документе",replaceInBlock:"Заменить в блоке",getSelection:"Получить выделение","Just now":"Только что",Conversation:"Диалог","New Conversation":"Новый диалог",Yesterday:"Вчера","Delete conversation":"Удалить диалог","Are you sure you want to delete this conversation?":"Вы уверены, что хотите удалить этот диалог?","Failed to delete conversation":"Не удалось удалить диалог",Settings:"Настройки","General Settings":"Общие настройки","Conversation Settings":"Настройки диалога","Display Mode":"Режим отображения","Panel Width":"Ширина панели",Theme:"Тема",Model:"Модель",Temperature:"Температура",Close:"Закрыть",Dialog:"Модальное окно",Left:"Левая панель",Right:"Правая панель",Top:"Верхняя панель",Bottom:"Нижняя панель",Inherit:"Наследовать от редактора",Light:"Светлая тема",Dark:"Тёмная тема","%dm ago":"%dм назад","%dh ago":"%dч назад"}},94454:function(t,i,n){"use strict";n.d(i,{getAIProviderOptions:function(){return o.getAIProviderOptions},registerAIProvider:function(){return o.registerAIProvider}}),n(82923);var o=n(58211)},82923:function(t,i,n){"use strict";var o=n(58211),r=n(54079);(0,o.registerAIProvider)("jodit-ai-adapter",t=>{let i=t.url.replace(/\/+$/,""),n=t.provider??"openai",o=!1!==t.stream;return{apiMode:"incremental",maxRetries:0,textAutocompleteEnabled:!0,async textAutocompleteApiRequest(o,s,a){let l=new r.Ajax({url:`${i}/ai/autocomplete?query=${encodeURIComponent(o)}&key=${encodeURIComponent(t.apiKey)}`,method:"POST",contentType:"application/json",data:{provider:n,context:{maxSuggestions:s}}});a.addEventListener("abort",()=>l.abort(),{once:!0});let c=await l.send(),u=await c.json();return u.success&&u.result?.suggestions?u.result.suggestions:[]},async apiRequest(s,a){let l=new r.Ajax({url:`${i}/ai/request?key=${encodeURIComponent(t.apiKey)}`,method:"POST",contentType:"application/json",data:{provider:n,context:o?{...s,metadata:{...s.metadata,stream:!0}}:s}});if(a&&a.addEventListener("abort",()=>l.abort(),{once:!0}),!o){let t=await l.send();return{mode:"final",response:(await t.json()).result}}let c=l.stream();return{mode:"stream",stream:async function*(){for await(let t of c)yield JSON.parse(t)}()}}}})},58211:function(t,i,n){"use strict";n.d(i,{getAIProviderOptions:function(){return r},registerAIProvider:function(){return s}});let o=new Map;function r(t,i){let n=o.get(t);if(!n)throw Error(`AI provider "${t}" is not registered. Available providers: `+[...o.keys()].join(", "));return n(i)}function s(t,i){o.set(t,i)}},73943:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="applyFormat",r="Apply or remove inline formatting to the current selection (bold, italic, underline, etc.) or to a specific block",s=[{name:"element",type:"string",description:'HTML element to wrap selection (e.g., "strong", "em", "u", "span")',required:!1},{name:"attributes",type:"object",description:'Attributes to apply (e.g., {"className": "highlight"}, {"style": {"color": "red"}})',required:!1},{name:"remove",type:"boolean",description:"If true, remove the formatting instead of applying it",required:!1,default:!1},{name:"blockIndex",type:"number",description:"Zero-based index of the block to format (if not using current selection)",required:!1},{name:"selector",type:"string",description:"CSS selector to find the block to format (if not using current selection)",required:!1}],a=!0},19127:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(44526);async function s(t,i,n){let{element:s,attributes:a,remove:l,blockIndex:c,selector:u}=i;if((0,o.throwIfAborted)(n),!s&&!a)throw Error('Either "element" or "attributes" must be provided');if(t.s.restore(),void 0!==c||u){let{element:i}=(0,r.resolveBlock)(t,{selector:u,index:c});t.s.select(i)}if(t.s.isCollapsed())throw Error("No selection found. Please select text to format");try{let i={};return s&&(i.element=s),a&&(i.attributes=a),l?t.s.commitStyle({...i,mode:"remove"}):t.s.commitStyle(i),t.synchronizeValues(),{success:!0,message:l?"Formatting removed successfully":"Formatting applied successfully"}}catch(t){throw Error(`Failed to ${l?"remove":"apply"} formatting: ${t.message}`)}}},39296:function(t,i,n){"use strict";var o=n(73943),r=n(19127);i.default={...o,execute:r.execute}},53835:function(t,i,n){"use strict";n.d(i,{BUILT_IN_TOOLS:function(){return p},getToolNames:function(){return f}});var o=n(39296),r=n(16745),s=n(78717),a=n(5618),l=n(90991),c=n(2020),u=n(12570),d=n(95323),h=n(97603);let p={readDocument:a.default,readBlocks:s.default,readSelection:l.default,writeDocument:h.default,replaceSelection:d.default,replaceBlock:c.default,replaceInDocument:u.default,insertHTML:r.default,applyFormat:o.default};function f(){return Object.keys(p)}},56732:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="insertHTML",r="Insert or replace HTML content at the current cursor position in the editor",s=[{name:"html",type:"string",description:"HTML content to insert",required:!0},{name:"replace",type:"boolean",description:"If true, replaces current selection. If false, inserts at cursor",required:!1,default:!1}],a=!0},39592:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(49459);async function s(t,i,n){let s=(0,r.requireString)(i,"html",{allowEmpty:!0}),{replace:a}=i;if(!s.trim())return{success:!0,message:"Nothing to insert: HTML is empty"};(0,o.throwIfAborted)(n);try{return t.s.focus(),a&&!t.s.isCollapsed()&&t.s.remove(),t.s.insertHTML(s),t.synchronizeValues(),{success:!0,message:`Inserted ${s.length} characters of HTML`}}catch(t){throw Error("Failed to insert HTML: "+(t?.message||"Unknown error"))}}},16745:function(t,i,n){"use strict";var o=n(56732),r=n(39592);i.default={...o,execute:r.execute}},75352:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="readBlocks",r="Read blocks from the editor with optional filtering and pagination",s=[{name:"offset",type:"number",description:"Number of blocks to skip from the beginning (default: 0)",required:!1,default:0},{name:"limit",type:"number",description:"Maximum number of blocks to return (default: all)",required:!1},{name:"query",type:"string",description:"Filter blocks by text content",required:!1}],a=!1},91140:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(22732);async function s(t,i,n){let{offset:s,limit:a,query:l}=i;(0,o.throwIfAborted)(n);let c=[];Array.from(t.editor.children).forEach((t,i)=>{r.Dom.isElement(t)&&c.push({blockIndex:i,tagName:t.tagName.toLowerCase(),content:t.innerHTML,textContent:t.textContent||"",classList:Array.from(t.classList)})});let u=c;if(l&&"string"==typeof l){let t=l.toLowerCase();u=c.filter(i=>i.textContent.toLowerCase().includes(t))}let d=Math.max(0,Math.min("number"==typeof s?s:0,u.length)),h=void 0!==a?Math.min(d+a,u.length):u.length;return{blocks:u.slice(d,h),total:c.length,offset:d,limit:void 0!==a?a:void 0}}},78717:function(t,i,n){"use strict";var o=n(75352),r=n(91140);i.default={...o,execute:r.execute}},93809:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="readDocument",r="Read the entire content of the editor document in HTML format",s=[{name:"start",type:"number",description:"Start character position (default: 0)",required:!1,default:0},{name:"end",type:"number",description:"End character position (default: length of document)",required:!1},{name:"aroundSelection",type:"boolean",description:"If true, return only the maximum block around the current selection",required:!1,default:!1}],a=!1},28157:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(22732);async function s(t,i,n){let{start:s,end:a,aroundSelection:l}=i;(0,o.throwIfAborted)(n);let c=t.value,u=c.length;if(l&&!t.s.isCollapsed()){let i=t.s.range.commonAncestorContainer;for(;i&&i!==t.editor;){if(r.Dom.isElement(i)&&i.parentNode===t.editor){c=i.outerHTML;break}i=i.parentNode}return{html:c,length:u}}let d=void 0!==a?Math.min(a,u):u,h=Math.max(0,Math.min("number"==typeof s?s:0,u));return(h>0||u>d)&&(c=c.substring(h,d)),{html:c,length:u,start:h,end:d}}},5618:function(t,i,n){"use strict";var o=n(93809),r=n(28157);i.default={...o,execute:r.execute}},52826:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="readSelection",r="Get information about the current selection including HTML content and optional context",s=[{name:"contextCharsBefore",type:"number",description:"Number of characters to include before the selection",required:!1,default:0},{name:"contextCharsAfter",type:"number",description:"Number of characters to include after the selection",required:!1,default:0}],a=!1},85130:function(t,i,n){"use strict";n.d(i,{execute:function(){return r}});var o=n(6689);async function r(t,i,n){let{contextCharsBefore:r,contextCharsAfter:s}=i;if((0,o.throwIfAborted)(n),t.s.restore(),t.s.isCollapsed())return{hasSelection:!1};let a=t.s.html,l=t.s.range,c=l.toString(),u={hasSelection:!0,html:a,text:c,startContainer:l.startContainer.nodeName,endContainer:l.endContainer.nodeName};if(r>0||s>0){let i=t.editor.textContent||"",n=i.substring(0,i.indexOf(c)),o=i.substring(i.indexOf(c)+c.length);r>0&&(u.contextBefore=n.slice(-r)),s>0&&(u.contextAfter=o.slice(0,s))}return u}},90991:function(t,i,n){"use strict";var o=n(52826),r=n(85130);i.default={...o,execute:r.execute}},96675:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="replaceBlock",r="Replace a specific block in the document by its index or CSS selector with new HTML content",s=[{name:"index",type:"number",description:"Zero-based index of the block to replace (use either index or selector, not both)",required:!1},{name:"selector",type:"string",description:'CSS selector to find the block to replace (e.g., "h1", ".my-class", "#my-id"). Use either selector or index, not both',required:!1},{name:"html",type:"string",description:"HTML content for the new block",required:!0}],a=!0},3091:function(t,i,n){"use strict";n.d(i,{execute:function(){return l}});var o=n(6689),r=n(49459),s=n(44526),a=n(22732);async function l(t,i,n){let{index:l,selector:c}=i,u=(0,r.requireString)(i,"html");if((0,o.throwIfAborted)(n),void 0===l&&!c||void 0!==l&&c)throw Error("Either index or selector must be provided, but not both");let{element:d,identifier:h}=(0,s.resolveBlock)(t,{selector:c,index:l,requireExactlyOne:!0});try{let i=t.createInside.div();i.innerHTML=u;let n=i.firstChild;if(!n||!a.Dom.isElement(n))throw Error("Invalid HTML: must contain at least one element");return d.parentNode?.replaceChild(n,d),t.synchronizeValues(),{success:!0,message:`Block ${h} replaced successfully`}}catch(t){throw Error(`Failed to replace block ${h}: ${t.message}`)}}},2020:function(t,i,n){"use strict";var o=n(96675),r=n(3091);i.default={...o,execute:r.execute}},62553:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="replaceInDocument",r="Find and replace text or HTML patterns throughout the entire document",s=[{name:"search",type:"string",description:"Text or pattern to search for",required:!0},{name:"replace",type:"string",description:"Replacement text or HTML",required:!0},{name:"useRegex",type:"boolean",description:"If true, treats search as a regular expression",required:!1,default:!1},{name:"useSelector",type:"string",description:"CSS selector to narrow down the search scope to specific elements",required:!1}],a=!0},56293:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(49459);async function s(t,i,n){let s=(0,r.requireString)(i,"search"),a=(0,r.requireString)(i,"replace",{allowEmpty:!0}),{useRegex:l,useSelector:c}=i;(0,o.throwIfAborted)(n);try{let i;t.s.focus(),t.s.save();let r=0;if(c){let u=function(t,i,n,r,s,a){let l=t.editor.querySelectorAll(s);if(0===l.length)return{replacements:0,message:`No elements found matching selector "${s}"`};let c=0;return l.forEach(t=>{(0,o.throwIfAborted)(a);let s=t.innerHTML,l=s;if(r)try{let t=RegExp(i,"g");s=s.replace(t,()=>(c++,n))}catch(t){throw Error("Invalid regex pattern: "+(t?.message||"Unknown error"))}else{let t=i.length,r=0;for(;-1!==(r=s.indexOf(i,r));)(0,o.throwIfAborted)(a),s=s.substring(0,r)+n+s.substring(r+t),r+=n.length,c++}s!==l&&(t.innerHTML=s)}),c>0&&(t.synchronizeValues(),t.s.restore()),{replacements:c}}(t,s,a,l,c,n);r=u.replacements,i=u.message}else r=function(t,i,n,r,s,a){let l=0,c=i;if(s)try{let t=RegExp(n,"g");c=c.replace(t,()=>(l++,r))}catch(t){throw Error("Invalid regex pattern: "+(t?.message||"Unknown error"))}else{let t=n.length,i=0;for(;-1!==(i=c.indexOf(n,i));)(0,o.throwIfAborted)(a),c=c.substring(0,i)+r+c.substring(i+t),i+=r.length,l++}return l>0&&(t.value=c,t.s.restore(),t.synchronizeValues()),l}(t,t.value,s,a,l,n);return{replacements:r,message:i||(r>0?`Replaced ${r} occurrence(s)`:"No matches found")}}catch(i){throw t.s.restore(),Error("Failed to replace in document: "+(i?.message||"Unknown error"))}}},12570:function(t,i,n){"use strict";var o=n(62553),r=n(56293);i.default={...o,execute:r.execute}},70750:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="replaceSelection",r="Replace the current selection with new HTML content",s=[{name:"html",type:"string",description:"HTML content to insert in place of the selection",required:!0},{name:"collapseToEnd",type:"boolean",description:"Move cursor to the end of the inserted content",required:!1,default:!0}],a=!0},36142:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(49459);async function s(t,i,n){let s=(0,r.requireString)(i,"html"),{collapseToEnd:a}=i;(0,o.throwIfAborted)(n);try{if(t.s.restore(),t.s.insertHTML(s),a){let i=t.s.range;i.collapse(!1),t.s.selectRange(i)}return t.e.fire("change"),{success:!0,message:"Selection replaced successfully"}}catch(t){throw Error("Failed to replace selection: "+t.message)}}},95323:function(t,i,n){"use strict";var o=n(70750),r=n(36142);i.default={...o,execute:r.execute}},90022:function(t,i,n){"use strict";n.r(i),n.d(i,{description:function(){return r},name:function(){return o},parameters:function(){return s},requiresPermission:function(){return a}});let o="writeDocument",r="Write (replace) the entire document content with new HTML",s=[{name:"html",type:"string",description:"HTML content to set as the document",required:!0}],a=!0},79766:function(t,i,n){"use strict";n.d(i,{execute:function(){return s}});var o=n(6689),r=n(49459);async function s(t,i,n){let s=(0,r.requireString)(i,"html",{allowEmpty:!0});(0,o.throwIfAborted)(n);try{return t.s.focus(),t.value=s,t.synchronizeValues(),{success:!0,message:`Document content was replaced with provided HTML(${s.length} characters)`}}catch(t){throw Error("Failed to replace HTML: "+(t?.message||"Unknown error"))}}},97603:function(t,i,n){"use strict";var o=n(90022),r=n(79766);i.default={...o,execute:r.execute}},80453:function(t,i,n){"use strict";n.d(i,{UIConversationListItem:function(){return u}});var o=n(82749),r=n(31635),s=n(65478),a=n(67510),l=n(62843),c=n(80870);class u extends a.UIElement{className(){return"UIConversationListItem"}render(){return'<div class="jodit-ui-conversation-list__item"></div>'}setActive(t){this.isActive=t,this.updateContent()}updateContent(){let t=this.container;t.innerHTML="",t.setAttribute("data-id",this.conversation.id),this.isActive?t.classList.add("jodit-ui-conversation-list__item_active"):t.classList.remove("jodit-ui-conversation-list__item_active");let i=this.j.c.div("jodit-ui-conversation-list__item-avatar");i.textContent="AI",t.appendChild(i);let n=this.j.c.div("jodit-ui-conversation-list__item-wrapper"),o=this.j.c.div("jodit-ui-conversation-list__item-content"),r=this.j.c.div("jodit-ui-conversation-list__item-title");if(r.textContent=this.conversation.title,this.titleElement=r,o.appendChild(r),this.opts.showTimestamps){let t=this.j.c.div("jodit-ui-conversation-list__item-meta");t.textContent=this.opts.formatTimestamp(this.conversation.updated,this.j.i18n.bind(this.j)),o.appendChild(t)}if(n.appendChild(o),this.conversation.messageCount>0){let t=this.j.c.div("jodit-ui-conversation-list__item-badge");t.textContent=this.conversation.messageCount+"",n.appendChild(t)}t.appendChild(n),this.actionsButton||(this.actionsButton=new l.UIButton(this.j,{icon:{name:"dots"},tooltip:"Actions",name:"conversationActions",size:"tiny"}),this.actionsButton.container.classList.add("jodit-ui-conversation-list__item-actions"),this.actionsButton.onAction(t=>{t.stopPropagation(),this.showActionsMenu(t)})),t.appendChild(this.actionsButton.container)}onClick(){this.isRenaming||this.j.e.fire("selectConversation.ai-assistant-pro",this.conversation.id)}showActionsMenu(t){if(!this.contextMenu||!this.actionsButton)return;let i=this.actionsButton.container.getBoundingClientRect();this.contextMenu.show(i.left,i.bottom,[{title:"Rename",icon:"pencil",exec:()=>{this.startInlineRename()}},{title:"Delete",icon:"bin",exec:()=>{this.onDelete()}}]),t.stopPropagation()}startInlineRename(){if(this.isRenaming||!this.titleElement)return;this.isRenaming=!0;let t=this.titleElement,i=this.conversation.title,n=this.j.c.element("input");n.type="text",n.value=i,n.className="jodit-ui-conversation-list__item-title-input",t.textContent="",t.appendChild(n),n.focus(),n.select();let o=()=>{if(!this.isRenaming)return;let o=n.value.trim();this.isRenaming=!1,o&&o!==i?(t.textContent=o,this.j.e.fire("renameConversation.ai-assistant-pro",this.conversation.id,o)):t.textContent=i};this.j.e.on(n,"blur",o),this.j.e.on(n,"keydown",o=>{"Enter"===o.key&&(o.preventDefault(),n.blur()),"Escape"===o.key&&(this.isRenaming=!1,t.textContent=i)}),this.j.e.on(n,"click",t=>{t.stopPropagation()})}onDelete(){this.j.e.fire("deleteConversation.ai-assistant-pro",this.conversation.id)}destruct(){this.actionsButton?.destruct(),this.contextMenu?.destruct(),super.destruct()}constructor(t,i,n=!1,r){super(t),(0,o._)(this,"opts",void 0),(0,o._)(this,"conversation",void 0),(0,o._)(this,"isActive",void 0),(0,o._)(this,"actionsButton",void 0),(0,o._)(this,"contextMenu",void 0),(0,o._)(this,"titleElement",void 0),(0,o._)(this,"isRenaming",void 0),this.opts=r,this.actionsButton=null,this.contextMenu=null,this.titleElement=null,this.isRenaming=!1,this.conversation=i,this.isActive=n,this.contextMenu=new c.ContextMenu(this.j),this.updateContent()}}(0,r.__decorate)([(0,s.watch)("container:click")],u.prototype,"onClick",null),(0,r.__decorate)([s.autobind],u.prototype,"showActionsMenu",null),(0,r.__decorate)([s.autobind],u.prototype,"startInlineRename",null),(0,r.__decorate)([s.autobind],u.prototype,"onDelete",null),u=(0,r.__decorate)([s.component],u)},68365:function(t,i,n){"use strict";n.d(i,{UIConversationList:function(){return d}});var o=n(82749),r=n(31635),s=n(31356),a=n(80453),l=n(65478),c=n(80256),u=n(62405);class d extends u.UIGroup{className(){return"UIConversationList"}render(){return`<div class="&__container">
|
|
283
283
|
<div class="&__header"></div>
|
|
284
284
|
<div class="&__search">
|
|
285
285
|
<div class="&__search-loader"></div>
|
|
@@ -334,7 +334,7 @@ ${s}`.trim();n?await this.__executeQuickCommandSilent(c,s):await this.__executeQ
|
|
|
334
334
|
<div class="&__title">~Welcome to AI Assistant~</div>
|
|
335
335
|
<div class="&__subtitle">~Start your first conversation~</div>
|
|
336
336
|
<div class="&__tip">~Tip: Select text in editor to add context~</div>
|
|
337
|
-
</div>`}}a=(0,o.__decorate)([r.component],a)},44864:function(t,i,n){"use strict";var o=n(82749),r=n(31635);n(53586);var s=n(83725),a=n(64199),l=n(82758),c=n(65478),u=n(2748),d=n(21537),h=n(50911),p=n(56917),f=n(2692);class m extends h.Plugin{get list(){return new s.Autocomplete(this.jodit)}get popup(){let t=new p.Popup(this.jodit);return t.setMod("padding",!1),t.setContent(this.list.container),this.jodit.e.on(t,"beforeClose",()=>{this.list.currentSelection=0}),t}afterInit(t){t.e.on("select.autocomplete",i=>{let n=i.value;(0,d.isFunction)(i.insertValueRenderer)&&(n=i.insertValueRenderer(i)),u.Dom.isNode(n)||(n=t.createInside.fromHTML(n)),(0,a.replaceTextLeftOfCursorAfterSpace)(t.s.range,n),this.j.s.setCursorAfter(n),this.j.synchronizeValues(),this.popup.close()}).on("keydown.autocomplete",this.onKeyDown).on("keydown.autocomplete",this.onKeyControlDown,{top:!0}).on("beforeEnter.autocomplete",this.onEnter,{top:!0}).on("autocomplete.autocomplete",this.onAutoComplete).on("registerAutocompleteSource.autocomplete",this.registerAutocompleteSource).on("unregisterAutocompleteSource.autocomplete",this.unregisterAutocompleteSource)}registerAutocompleteSource(t){this.sources.push(t)}unregisterAutocompleteSource(t){let i=this.sources.indexOf(t);-1!==i&&this.sources.splice(i,1)}static isControlKey(t){return t===l.KEY_DOWN||t===l.KEY_UP||t===l.KEY_ENTER||t===l.KEY_TAB}async onKeyDown(t){if(t.key===l.KEY_ESC){this.popup.isOpened&&this.popup.close();return}let{s:i}=this.j;if(m.isControlKey(t.key)||!i.isInsideArea||!i.isCollapsed)return;let n=this.j.s.sel?.rangeCount?this.j.s.sel?.getRangeAt(0):null,o=n&&(0,a.getTextLeftOfCursor)(n).split(" ").pop();if(o&&(0,d.trim)(o).length){let t=await this.onAutoComplete(o);if(t.length)return this.openPopup(t)}this.popup.isOpened&&this.popup.close()}onKeyControlDown(t){if(this.popup.isOpened&&m.isControlKey(t.key)){switch(t.key){case l.KEY_DOWN:this.list.selectNext();break;case l.KEY_UP:this.list.selectPrevious();break;case l.KEY_TAB:this.list.select()}return this.j.e.stopPropagation(t.type),!1}}onEnter(){if(this.popup.isOpened)return this.list.select(),!1}async onAutoComplete(t){let i=[];return await Promise.all(this.sources.concat(this.j.o.autocomplete.sources).map(async n=>{i.push(...await this.resolveFeed(t,n))})),i}async resolveFeed(t,i,n){let o;if((0,d.isPromise)(i)&&(i=await i),(0,d.isFunction)(i))o=await i(t);else if((0,d.isArray)(i)){let n=i,{isMatchedQuery:r}=this.j.o.autocomplete;o=n.filter(i=>(0,d.isString)(i)?r(t,i):r(t,i.value)).map(t=>(0,d.isString)(t)?{title:t,value:t}:t)}else o=await this.resolveFeed(t,i.feed,i);if(this.j.isDestructed)return[];if(o&&(0,d.isArray)(o)){let{itemRenderer:t,insertValueRenderer:i,maxItems:r}=this.j.o.autocomplete;return(o=o.map(o=>({itemRenderer:n?.itemRenderer??t,insertValueRenderer:n?.insertValueRenderer??i,...o}))).slice(0,r)}return[]}openPopup(t){this.list.build(t),this.popup.open(()=>{let{j:t}=this,i=t.s.range.getBoundingClientRect(),n={left:i.left,top:i.top,height:i.height,width:i.width};if(t.o.iframe&&t.iframe){let i=(0,d.position)(t.iframe,t);n.top+=i.top,n.left+=i.left}return n})}beforeDestruct(t){t.e.off(this.list).off(this.popup).off("keydown.autocomplete",this.onKeyDown).off("autocomplete.autocomplete",this.onAutoComplete).off(".autocomplete"),this.list.destruct(),this.popup.destruct()}constructor(...t){super(...t),(0,o._)(this,"hasStyle",!f.JoditPro.fatMode),(0,o._)(this,"sources",[])}}(0,o._)(m,"requires",["enter","license"]),(0,r.__decorate)([c.cache],m.prototype,"list",null),(0,r.__decorate)([c.cache],m.prototype,"popup",null),(0,r.__decorate)([c.autobind],m.prototype,"registerAutocompleteSource",null),(0,r.__decorate)([c.autobind],m.prototype,"unregisterAutocompleteSource",null),(0,r.__decorate)([(0,c.debounce)()],m.prototype,"onKeyDown",null),(0,r.__decorate)([c.autobind],m.prototype,"onKeyControlDown",null),(0,r.__decorate)([c.autobind],m.prototype,"onEnter",null),(0,r.__decorate)([c.autobind],m.prototype,"onAutoComplete",null),(0,r.__decorate)([c.autobind],m.prototype,"resolveFeed",null),f.JoditPro.plugins.add("autocomplete",m)},53586:function(t,i,n){"use strict";n(6441).Config.prototype.autocomplete={sources:[],maxItems:50,isMatchedQuery:(t,i)=>0===i.toLowerCase().indexOf(t.toLowerCase()),itemRenderer:t=>t.title??t.value,insertValueRenderer:t=>t.value+" "}},64199:function(t,i,n){"use strict";n.d(i,{getTextLeftOfCursor:function(){return r},replaceTextLeftOfCursorAfterSpace:function(){return s}});var o=n(2748);function r(t){let{startContainer:i,startOffset:n}=t;if(o.Dom.isText(i))return i.nodeValue?.substr(0,n)??"";let r=i.childNodes[n];if(!r)return"";if(o.Dom.isText(r))return r.nodeValue??"";let s=o.Dom.findNotEmptyNeighbor(r,!0,i);return o.Dom.isText(s)?r.nodeValue??"":""}function s(t,i){let{startContainer:n,startOffset:r}=t;if(!o.Dom.isText(n)&&(n=n.childNodes[r-1],o.Dom.isText(n)&&(r=n.nodeValue?.length??0)),o.Dom.isText(n)){let o=n.nodeValue??"",s=o.substring(0,r),a=o.substring(r),l=s.split(" ");l[l.length-1]="";let c=l.join(" ");n.nodeValue=c+a,t.setStart(n,c.length),t.insertNode(i);return}}},83725:function(t,i,n){"use strict";n.d(i,{Autocomplete:function(){return u}});var o=n(82749),r=n(31635),s=n(31356),a=n(35934),l=n(65478),c=n(62405);class u extends c.UIGroup{className(){return"Autocomplete"}onChangeSelection(){this.elements.forEach(t=>t.setMod("active",!1)),this.elements[this.currentSelection]?.setMod("active",!0),this.elements[this.currentSelection]?.container.scrollIntoView(!1)}build(t){let i=this.elements[this.currentSelection]?.item.value,n=t=>t.value,o=s.ListReconciler.reconcile(this.__previousList,t,{getId:n}),r=new Set;o.toRemove.forEach(t=>{let i=n(t);if(r.has(i))return;r.add(i);let o=this.itemsMap.get(i);o&&(-1!==this.elements.indexOf(o)&&(this.remove(o),o.destruct()),this.itemsMap.delete(t.value))}),o.toCreate.forEach(i=>{let o=n(i);if(r.has(o))return;r.add(o);let s=new a.AutocompleteItem(this.jodit,i,i=>{this.currentSelection=t.findIndex(t=>n(t)===i),this.select()});this.itemsMap.set(o,s);let l=t.indexOf(i);this.append(s,l)}),o.toUpdate.forEach(({newItem:t,index:i})=>{let o=n(t);if(r.has(o))return;r.add(o);let s=this.itemsMap.get(o);s&&(s.item=t,this.elements.indexOf(s)!==i&&i<this.elements.length&&(this.remove(s),this.append(s,i)))});let l=this.currentSelection;this.currentSelection=Math.max(0,t.findIndex(t=>n(t)===i)),l===this.currentSelection&&this.onChangeSelection(),this.__previousList=[...t]}selectNext(){this.currentSelection+1<=this.elements.length-1?this.currentSelection+=1:this.currentSelection=0}selectPrevious(){this.currentSelection-1>=0?this.currentSelection-=1:this.currentSelection=this.elements.length-1}select(){this.j.e.fire("select.autocomplete",this.elements[this.currentSelection].item)}constructor(...t){super(...t),(0,o._)(this,"elements",[]),(0,o._)(this,"currentSelection",-1),(0,o._)(this,"__previousList",[]),(0,o._)(this,"itemsMap",new Map)}}(0,r.__decorate)([(0,l.watch)("currentSelection")],u.prototype,"onChangeSelection",null),u=(0,r.__decorate)([l.component],u)},35934:function(t,i,n){"use strict";n.d(i,{AutocompleteItem:function(){return c}});var o=n(82749),r=n(31635),s=n(65478),a=n(27613),l=n(48538);class c extends l.UIElement{className(){return"AutocompleteItem"}onClickPrevent(t){t.preventDefault(),t.stopPropagation()}onClickHandler(){this.onClick(this.value)}constructor(t,i,n){super(t),(0,o._)(this,"item",void 0),(0,o._)(this,"onClick",void 0),(0,o._)(this,"value",void 0),this.item=i,this.onClick=n,this.value="";const{container:r}=this;if(this.value=i.value,(0,a.isFunction)(i.itemRenderer)){const t=i.itemRenderer(i);(0,a.isString)(t)?r.innerHTML=t:r.appendChild(t)}else r.innerText=i.title??i.value}}(0,r.__decorate)([(0,s.watch)("container:mousedown container:touchstart")],c.prototype,"onClickPrevent",null),(0,r.__decorate)([(0,s.watch)("container:click")],c.prototype,"onClickHandler",null),c=(0,r.__decorate)([s.component],c)},61328:function(t,i,n){"use strict";var o=n(82749),r=n(31635);n(57056);var s=n(29243),a=n(64262),l=n(65478),c=n(50911),u=n(67510),d=n(2692);class h extends c.Plugin{afterInit(t){t.registerCommand("saveBackup",this.onSaveBackup).registerCommand("openBackupDialog",{exec:this.onOpenBackupDialog,hotkeys:t.o.backup.hotkeys});let i=()=>{this.timeout=t.async.setTimeout(()=>{this.onSaveBackup(),i()},1e3*t.o.backup.interval)};i(),t.e.on(this.__box,"choose",this.onSelectItem).on(t.ow,"beforeunload.backup",()=>{this.onSaveBackup()})}prepareDialog(){this.__dialog||(this.__dialog=this.j.dlg({minWidth:this.j.o.backup.dialogWidth,buttons:["fullsize","dialog.close"]}).setContent(this.__box.container)),this.__dialog.setHeader(this.jodit.i18n("Restore")),this.addButtonsToDialog()}onSaveBackup(){this.__storage.add({created:new Date,html:this.j.value})}async onOpenBackupDialog(){this.prepareDialog();let{__dialog:t}=this;if(!t)return;t.open().setModal(!0);let i=await this.__storage.items();this.__box.build([{created:new Date,html:this.j.value},...i]),t.calcAutoSize(),t.setPosition()}onSelectItem(t){this.__dialog?.close(),this.j.value=t.html,this.j.s.focus()}addButtonsToDialog(){let{jodit:t}=this,i=(0,u.Button)(t,{name:"ok",tabIndex:0,variant:"primary",text:"Ok"}),n=(0,u.Button)(t,{variant:"secondary",tabIndex:0,text:"Cancel"}),o=(0,u.Button)(t,{name:"clear",tabIndex:0,variant:"secondary",text:"Remove all"});i.onAction(()=>{this.__box.chooseSelected()}),n.onAction(()=>{this.__dialog?.close()}),o.onAction(()=>{t.confirm("Are you sure?",void 0,t=>{t&&(this.__storage.clear(),this.__dialog?.close())})});let r=new u.UIBlock(t,[o,n,i]);r.container.style.margin="0",r.container.style.justifyContent="flex-end",r.container.style.width="100%",this.__dialog?.setFooter(r)}beforeDestruct(){let{j:t}=this;t.async.clearTimeout(this.timeout),t.e.off(this.__box,"choose",this.onSelectItem).off(t.ow,"beforeunload.backup"),this.__box.destruct(),this.__dialog?.destruct()}constructor(...t){super(...t),(0,o._)(this,"hasStyle",!d.JoditPro.fatMode),(0,o._)(this,"buttons",[{name:"backup.restore",group:"history"}]),(0,o._)(this,"__box",new a.UIBackupBox(this.j)),(0,o._)(this,"__dialog",null),(0,o._)(this,"__storage",this.jodit.o.backup.remoteStore??new s.DefaultStorage(this.jodit)),(0,o._)(this,"timeout",0)}}(0,o._)(h,"requires",["license"]),(0,r.__decorate)([l.autobind],h.prototype,"onSaveBackup",null),(0,r.__decorate)([l.autobind],h.prototype,"onOpenBackupDialog",null),(0,r.__decorate)([l.autobind],h.prototype,"onSelectItem",null),d.JoditPro.plugins.add("backup",h)},57056:function(t,i,n){"use strict";var o=n(68583),r=n.n(o),s=n(29402),a=n(6441),l=n(580),c=n(12153);a.Config.prototype.backup={interval:30,limit:50,dialogWidth:700,hotkeys:["ctrl+shift+b","cmd+shift+b"]},a.Config.prototype.controls.backup={store:{command:"saveBackup",text:"Save backup now"},restore:{tooltip:"Restore",list:["backup.store"],exec(t){t.execCommand("openBackupDialog")}}},c.Icon.set("restore",r()),(0,l.extendLang)(s)},29402:function(t,i,n){"use strict";n.r(i)},29243:function(t,i,n){"use strict";n.d(i,{DefaultStorage:function(){return r}});var o=n(82749);class r{async add(t){if(!t.html.trim().length)return!1;let i=this.jodit.storage.get(this.key)||[];return!i.find(i=>i.html===t.html)&&(i.unshift(t),i.length>this.jodit.o.backup.limit&&(i.length=this.jodit.o.backup.limit),this.jodit.storage.set(this.key,i),!1)}items(){return Promise.resolve(this.jodit.storage.get(this.key)||[])}clear(){return this.jodit.storage.delete(this.key),Promise.resolve(!1)}constructor(t){(0,o._)(this,"jodit",void 0),(0,o._)(this,"key",void 0),this.jodit=t,this.key="backup.default.storage"}}},64262:function(t,i,n){"use strict";n.d(i,{UIBackupBox:function(){return c}});var o=n(82749),r=n(31635),s=n(6183),a=n(65478),l=n(48538);class c extends l.UIElement{className(){return"UIBackupBox"}build(t){this.preview.innerHTML="",this.list.build(t)}destruct(){return this.j.e.off(this.list,"select",this.onSelectItem),this.list.destruct(),super.destruct()}onSelectItem(t){this.latestSelected=t,this.preview.innerHTML=t.html||`<div class="${this.getFullElName("empty")}">${this.j.i18n("Empty")}</div>`}onChooseItem(t){this.j.e.fire(this,"choose",t)}chooseSelected(){this.onChooseItem(this.latestSelected)}constructor(t){super(t),(0,o._)(this,"list",new s.UIBackupList(this.j)),(0,o._)(this,"preview",this.j.c.div(this.getFullElName("preview"))),(0,o._)(this,"latestSelected",void 0),this.container.appendChild(this.list.container),this.container.appendChild(this.preview),this.list.container.classList.add(this.getFullElName("list")),t.e.on(this.list,"select",this.onSelectItem).on(this.list,"choose",this.onChooseItem)}}(0,r.__decorate)([a.autobind],c.prototype,"onSelectItem",null),(0,r.__decorate)([a.autobind],c.prototype,"onChooseItem",null),c=(0,r.__decorate)([a.component],c)},38512:function(t,i,n){"use strict";n.d(i,{UIBackupItem:function(){return a}});var o=n(82749),r=n(21537),s=n(67510);class a extends s.UIElement{className(){return"UIBackupItem"}formatDate(t){let i=new Date,n=(0,r.isString)(t)?new Date(t):t,o=(i.getTime()-n.getTime())/1e3;return(0,r.isFunction)(this.j.o.backup.formatDate)?this.j.o.backup.formatDate(n):o<.2?this.j.i18n("Current"):o<60?this.j.i18n("Less minute"):o<=3600?this.j.i18n("%s minutes ago",Math.floor(o/60)):o<=86400?this.j.i18n("%s hours ago",Math.floor(o/3600)):`${n.toDateString()} ${n.toLocaleTimeString()}`}focus(){this.container.focus()}constructor(t,i){super(t),(0,o._)(this,"data",void 0),this.data=i,this.container.innerHTML=this.formatDate(i.created),(0,r.attr)(this.container,"tabIndex",0)}}},6183:function(t,i,n){"use strict";n.d(i,{UIBackupList:function(){return d}});var o=n(82749),r=n(31635),s=n(38512),a=n(82758),l=n(65478),c=n(21537),u=n(67510);class d extends u.UIGroup{className(){return"UIBackupList"}createContainer(t){let i=super.createContainer(t);return(0,c.attr)(i,"tabIndex","-1"),i}build(t){this.clear(),t.forEach((t,i)=>{let n=new s.UIBackupItem(this.jodit,t);this.append(n),this.j.e.on(n.container,"focus",()=>this.onSelect(i)).on(n.container,"click",()=>this.onSelect(i)).on(n.container,"dblclick",()=>this.onChoose(i))}),this.currentSelection=0,this.onChangeCurrentSelection(void 0,-1,0)}onChangeCurrentSelection(t,i,n){this.elements[i]?.setMod("active",!1),this.elements[n]?.setMod("active",!0),this.elements[n]?.focus(),this.j.e.fire(this,"select",this.elements[n].data)}onSelect(t){this.currentSelection=t}onChoose(t){this.j.e.fire(this,"choose",this.elements[t??this.currentSelection].data)}selectNext(){this.currentSelection+1<=this.elements.length-1?this.currentSelection+=1:this.currentSelection=0}selectPrevious(){this.currentSelection-1>=0?this.currentSelection-=1:this.currentSelection=this.elements.length-1}constructor(t){super(t),(0,o._)(this,"elements",[]),(0,o._)(this,"currentSelection",-1),t.e.on(this.container,"keydown",t=>{switch(t.key){case a.KEY_ENTER:t.preventDefault(),t.stopPropagation(),this.onChoose(this.currentSelection);break;case a.KEY_DOWN:this.selectNext();break;case a.KEY_UP:this.selectPrevious()}})}}(0,r.__decorate)([(0,l.watch)("currentSelection")],d.prototype,"onChangeCurrentSelection",null),(0,r.__decorate)([l.autobind],d.prototype,"onSelect",null),(0,r.__decorate)([l.autobind],d.prototype,"onChoose",null),d=(0,r.__decorate)([l.component],d)},45632:function(t,i,n){"use strict";var o=n(82749),r=n(31635);n(82158);var s=n(82520),a=n(35987),l=n(65478),c=n(2748),u=n(50911),d=n(62843),h=n(78584),p=n(2692);class f extends u.Plugin{afterInit(t){t.e.on("toggleButtonGenerator",this.toggleButtonGenerator).on("isButtonGeneratorOpened",()=>this.__dialog?.isOpened)}toggleButtonGenerator(t){this.__dialog||(this.__dialog=new h.Dialog({language:this.j.o.language,theme:this.j.o.theme}),this.__ui=new a.UIButtonGenerator(this.__dialog),this.__dialog.setHeader("Button Generator").setContent(this.__ui).setSize(730,700)),t&&!c.Dom.isTag(t,new Set(["button","a"]))&&(t=void 0);let i=this.__ui,n=this.__dialog;n.isOpened?n.close():(t&&s.UIGButton.extractStyle(i.state,t),i.target=t,i.update(),n.setFooter([(0,d.Button)(n,"cancel","Cancel","default").onAction(()=>n.close()),(0,d.Button)(n,"ok",t?"Update":"Insert","primary").onAction(()=>{t||(t=this.j.createInside.element(i.state.href?"a":"button"),this.j.s.insertNode(t,!0,!1)),s.UIGButton.applyStyle(i.state,t),t.className=i.state.className||"",this.jodit.e.fire("synchro"),n.close()})]).open())}onDblClick(t){c.Dom.isTag(t.target,"button")&&this.toggleButtonGenerator(t.target)}beforeDestruct(t){this.__dialog?.destruct()}constructor(...t){super(...t),(0,o._)(this,"hasStyle",!p.JoditPro.fatMode),(0,o._)(this,"buttons",[{group:"form",name:"buttonGenerator"}]),(0,o._)(this,"__dialog",void 0),(0,o._)(this,"__ui",void 0)}}(0,o._)(f,"requires",["license","color-picker"]),(0,r.__decorate)([l.autobind],f.prototype,"toggleButtonGenerator",null),(0,r.__decorate)([(0,l.watch)(":dblclick")],f.prototype,"onDblClick",null),p.JoditPro.plugins.add("button-generator",f)},82158:function(t,i,n){"use strict";var o=n(34586),r=n.n(o),s=n(6441),a=n(68345);s.Config.prototype.controls.buttonGenerator={tooltip:"Button generator",icon:r(),isActive:t=>!!t.e.fire("isButtonGeneratorOpened"),exec(t,i){t.e.fire("toggleButtonGenerator",i)}},s.Config.prototype.popup.button=["buttonGenerator"],(0,a.isArray)(s.Config.prototype.popup.a)&&s.Config.prototype.popup.a.push("buttonGenerator")},82520:function(t,i,n){"use strict";n.d(i,{UIGButton:function(){return d}});var o=n(82749),r=n(31635),s=n(65478),a=n(21537),l=n(27613),c=n(38837),u=n(67510);class d extends u.UIElement{className(){return"UIGButton"}__updateStyles(){let{style:t}=this,i=this.getElm("button");(0,c.assert)(null!=i,"button element does not exist");let n=this.getElm("wrapper");(0,c.assert)(null!=n,"wrapper element does not exist"),n.style.backgroundColor=t.previewBgColor,d.applyStyle(t,i)}static applyStyle(t,i){let n=t=>(0,l.isString)(t)?t:t+"px";i.innerText=t.text||"css",i.setAttribute("href",t.href),(0,a.css)(i,{background:t.solid?null:`linear-gradient(to bottom, ${t.bgStart} 5%, ${t.bgEnd} 100%)`,backgroundColor:t.bgStart,borderRadius:n(t.borderRadius),border:`${n(t.borderSize)} solid ${t.borderColor}`,display:"inline-block",cursor:"pointer",color:t.fontColor,fontFamily:t.fontFamily,fontSize:n(t.fontSize),fontWeight:t.fontWeight?"bold":null,fontStyle:t.fontItalic?"italic":null,padding:`${n(t.paddingY)} ${n(t.paddingX)}`,textDecoration:"none"}),(0,a.css)(i,{textShadow:t.textShadow?[t.textShadowOffsetX,t.textShadowOffsetY,t.textShadowBlurRadius,t.textShadowColor].map(n).join(" "):null}),(0,a.css)(i,{boxShadow:t.boxShadow?[t.boxShadowInset?"inset":"",t.boxShadowOffsetX,t.boxShadowOffsetY,t.boxShadowBlurRadius,t.boxShadowSpreadRadius,t.boxShadowColor].map(n).join(" "):null})}update(){this.__updateStyles()}render(){return`<div>
|
|
337
|
+
</div>`}}a=(0,o.__decorate)([r.component],a)},44864:function(t,i,n){"use strict";var o=n(82749),r=n(31635);n(53586);var s=n(83725),a=n(64199),l=n(82758),c=n(65478),u=n(2748),d=n(21537),h=n(50911),p=n(56917),f=n(2692);class m extends h.Plugin{get list(){let t=new s.Autocomplete(this.jodit);return t.setDisplayMode(this.jodit.o.autocomplete.displayMode),t}get popup(){let t=new p.Popup(this.jodit);return t.setMod("padding",!1),t.setContent(this.list.container),"inline"===this.jodit.o.autocomplete.displayMode&&t.setMod("autocomplete-inline",!0),this.jodit.e.on(t,"beforeClose",()=>{this.list.currentSelection=0}),t}afterInit(t){t.e.on("select.autocomplete",i=>{let n=i.value;(0,d.isFunction)(i.insertValueRenderer)&&(n=i.insertValueRenderer(i)),u.Dom.isNode(n)||(n=t.createInside.fromHTML(n)),(0,a.replaceTextLeftOfCursorAfterSpace)(t.s.range,n),this.j.s.setCursorAfter(n),this.j.synchronizeValues(),this.popup.close()}).on("keydown.autocomplete",this.onKeyDown).on("keydown.autocomplete",this.onKeyControlDown,{top:!0}).on("beforeEnter.autocomplete",this.onEnter,{top:!0}).on("autocomplete.autocomplete",this.onAutoComplete).on("registerAutocompleteSource.autocomplete",this.registerAutocompleteSource).on("unregisterAutocompleteSource.autocomplete",this.unregisterAutocompleteSource)}registerAutocompleteSource(t){this.sources.push(t)}unregisterAutocompleteSource(t){let i=this.sources.indexOf(t);-1!==i&&this.sources.splice(i,1)}static isControlKey(t){return t===l.KEY_DOWN||t===l.KEY_UP||t===l.KEY_ENTER||t===l.KEY_TAB}async onKeyDown(t){if(t.key===l.KEY_ESC){this.popup.isOpened&&this.popup.close();return}let{s:i}=this.j;if(m.isControlKey(t.key)||!i.isInsideArea||!i.isCollapsed)return;let n=this.j.s.sel?.rangeCount?this.j.s.sel?.getRangeAt(0):null,o=n&&(0,a.getTextLeftOfCursor)(n).split(" ").pop();if(o&&(0,d.trim)(o).length){let t=await this.onAutoComplete(o);if(t.length)return this.openPopup(t)}this.popup.isOpened&&this.popup.close()}onKeyControlDown(t){if(this.popup.isOpened&&m.isControlKey(t.key)){switch(t.key){case l.KEY_DOWN:this.list.selectNext();break;case l.KEY_UP:this.list.selectPrevious();break;case l.KEY_TAB:this.list.select()}return this.j.e.stopPropagation(t.type),!1}}onEnter(){if(this.popup.isOpened)return this.list.select(),!1}async onAutoComplete(t){let i=[];return await Promise.all(this.sources.concat(this.j.o.autocomplete.sources).map(async n=>{i.push(...await this.resolveFeed(t,n))})),i}async resolveFeed(t,i,n){let o;if((0,d.isPromise)(i)&&(i=await i),(0,d.isFunction)(i))o=await i(t);else if((0,d.isArray)(i)){let n=i,{isMatchedQuery:r}=this.j.o.autocomplete;o=n.filter(i=>(0,d.isString)(i)?r(t,i):r(t,i.value)).map(t=>(0,d.isString)(t)?{title:t,value:t}:t)}else o=await this.resolveFeed(t,i.feed,i);if(this.j.isDestructed)return[];if(o&&(0,d.isArray)(o)){let{itemRenderer:t,insertValueRenderer:i,maxItems:r}=this.j.o.autocomplete;return(o=o.map(o=>({itemRenderer:n?.itemRenderer??t,insertValueRenderer:n?.insertValueRenderer??i,...o}))).slice(0,r)}return[]}openPopup(t){this.list.build(t),this.popup.open(()=>{let{j:t}=this,i=t.s.range.getBoundingClientRect(),n={left:i.left,top:i.top,height:i.height,width:i.width};if(t.o.iframe&&t.iframe){let i=(0,d.position)(t.iframe,t);n.top+=i.top,n.left+=i.left}return n})}beforeDestruct(t){t.e.off(this.list).off(this.popup).off("keydown.autocomplete",this.onKeyDown).off("autocomplete.autocomplete",this.onAutoComplete).off(".autocomplete"),this.list.destruct(),this.popup.destruct()}constructor(...t){super(...t),(0,o._)(this,"hasStyle",!f.JoditPro.fatMode),(0,o._)(this,"sources",[])}}(0,o._)(m,"requires",["enter","license"]),(0,r.__decorate)([c.cache],m.prototype,"list",null),(0,r.__decorate)([c.cache],m.prototype,"popup",null),(0,r.__decorate)([c.autobind],m.prototype,"registerAutocompleteSource",null),(0,r.__decorate)([c.autobind],m.prototype,"unregisterAutocompleteSource",null),(0,r.__decorate)([(0,c.debounce)()],m.prototype,"onKeyDown",null),(0,r.__decorate)([c.autobind],m.prototype,"onKeyControlDown",null),(0,r.__decorate)([c.autobind],m.prototype,"onEnter",null),(0,r.__decorate)([c.autobind],m.prototype,"onAutoComplete",null),(0,r.__decorate)([c.autobind],m.prototype,"resolveFeed",null),f.JoditPro.plugins.add("autocomplete",m)},53586:function(t,i,n){"use strict";n(6441).Config.prototype.autocomplete={displayMode:"list",sources:[],maxItems:50,isMatchedQuery:(t,i)=>0===i.toLowerCase().indexOf(t.toLowerCase()),itemRenderer:t=>t.title??t.value,insertValueRenderer:t=>t.value+" "}},64199:function(t,i,n){"use strict";n.d(i,{getTextLeftOfCursor:function(){return r},replaceTextLeftOfCursorAfterSpace:function(){return s}});var o=n(2748);function r(t){let{startContainer:i,startOffset:n}=t;if(o.Dom.isText(i))return i.nodeValue?.substr(0,n)??"";let r=i.childNodes[n];if(!r)return"";if(o.Dom.isText(r))return r.nodeValue??"";let s=o.Dom.findNotEmptyNeighbor(r,!0,i);return o.Dom.isText(s)?r.nodeValue??"":""}function s(t,i){let{startContainer:n,startOffset:r}=t;if(!o.Dom.isText(n)&&(n=n.childNodes[r-1],o.Dom.isText(n)&&(r=n.nodeValue?.length??0)),o.Dom.isText(n)){let o=n.nodeValue??"",s=o.substring(0,r),a=o.substring(r),l=s.split(" ");l[l.length-1]="";let c=l.join(" ");n.nodeValue=c+a,t.setStart(n,c.length),t.insertNode(i);return}}},83725:function(t,i,n){"use strict";n.d(i,{Autocomplete:function(){return u}});var o=n(82749),r=n(31635),s=n(31356),a=n(35934),l=n(65478),c=n(62405);class u extends c.UIGroup{className(){return"Autocomplete"}setDisplayMode(t){this.displayMode=t,this.setMod("displayMode",t)}onChangeSelection(){this.elements.forEach(t=>{t.setMod("active",!1),t.showShortcut(!1)});let t=this.elements[this.currentSelection];t&&(t.setMod("active",!0),"inline"===this.displayMode&&t.showShortcut(!0),t.container.scrollIntoView(!1))}build(t){let i=this.elements[this.currentSelection]?.item.value,n=t=>t.value,o=s.ListReconciler.reconcile(this.__previousList,t,{getId:n}),r=new Set;o.toRemove.forEach(t=>{let i=n(t);if(r.has(i))return;r.add(i);let o=this.itemsMap.get(i);o&&(-1!==this.elements.indexOf(o)&&(this.remove(o),o.destruct()),this.itemsMap.delete(t.value))}),o.toCreate.forEach(i=>{let o=n(i);if(r.has(o))return;r.add(o);let s=new a.AutocompleteItem(this.jodit,i,i=>{this.currentSelection=t.findIndex(t=>n(t)===i),this.select()});this.itemsMap.set(o,s);let l=t.indexOf(i);this.append(s,l)}),o.toUpdate.forEach(({newItem:t,index:i})=>{let o=n(t);if(r.has(o))return;r.add(o);let s=this.itemsMap.get(o);s&&(s.item=t,this.elements.indexOf(s)!==i&&i<this.elements.length&&(this.remove(s),this.append(s,i)))});let l=this.currentSelection;this.currentSelection=Math.max(0,t.findIndex(t=>n(t)===i)),l===this.currentSelection&&this.onChangeSelection(),this.__previousList=[...t]}selectNext(){this.currentSelection+1<=this.elements.length-1?this.currentSelection+=1:this.currentSelection=0}selectPrevious(){this.currentSelection-1>=0?this.currentSelection-=1:this.currentSelection=this.elements.length-1}select(){this.j.e.fire("select.autocomplete",this.elements[this.currentSelection].item)}constructor(...t){super(...t),(0,o._)(this,"elements",[]),(0,o._)(this,"currentSelection",-1),(0,o._)(this,"displayMode","list"),(0,o._)(this,"__previousList",[]),(0,o._)(this,"itemsMap",new Map)}}(0,r.__decorate)([(0,l.watch)("currentSelection")],u.prototype,"onChangeSelection",null),u=(0,r.__decorate)([l.component],u)},35934:function(t,i,n){"use strict";n.d(i,{AutocompleteItem:function(){return c}});var o=n(82749),r=n(31635),s=n(65478),a=n(27613),l=n(48538);class c extends l.UIElement{className(){return"AutocompleteItem"}showShortcut(t){if(t&&!this.shortcutElm){let t=this.j.c.element("span");t.className="jodit-autocomplete-item__shortcut",t.innerText="tab",this.container.appendChild(t),this.shortcutElm=t}else!t&&this.shortcutElm&&(this.shortcutElm.remove(),this.shortcutElm=null)}onClickPrevent(t){t.preventDefault(),t.stopPropagation()}onClickHandler(){this.onClick(this.value)}constructor(t,i,n){super(t),(0,o._)(this,"item",void 0),(0,o._)(this,"onClick",void 0),(0,o._)(this,"value",void 0),(0,o._)(this,"shortcutElm",void 0),this.item=i,this.onClick=n,this.value="",this.shortcutElm=null;const{container:r}=this;if(this.value=i.value,(0,a.isFunction)(i.itemRenderer)){const t=i.itemRenderer(i);(0,a.isString)(t)?r.innerHTML=t:r.appendChild(t)}else r.innerText=i.title??i.value}}(0,r.__decorate)([(0,s.watch)("container:mousedown container:touchstart")],c.prototype,"onClickPrevent",null),(0,r.__decorate)([(0,s.watch)("container:click")],c.prototype,"onClickHandler",null),c=(0,r.__decorate)([s.component],c)},61328:function(t,i,n){"use strict";var o=n(82749),r=n(31635);n(57056);var s=n(29243),a=n(64262),l=n(65478),c=n(50911),u=n(67510),d=n(2692);class h extends c.Plugin{afterInit(t){t.registerCommand("saveBackup",this.onSaveBackup).registerCommand("openBackupDialog",{exec:this.onOpenBackupDialog,hotkeys:t.o.backup.hotkeys});let i=()=>{this.timeout=t.async.setTimeout(()=>{this.onSaveBackup(),i()},1e3*t.o.backup.interval)};i(),t.e.on(this.__box,"choose",this.onSelectItem).on(t.ow,"beforeunload.backup",()=>{this.onSaveBackup()})}prepareDialog(){this.__dialog||(this.__dialog=this.j.dlg({minWidth:this.j.o.backup.dialogWidth,buttons:["fullsize","dialog.close"]}).setContent(this.__box.container)),this.__dialog.setHeader(this.jodit.i18n("Restore")),this.addButtonsToDialog()}onSaveBackup(){this.__storage.add({created:new Date,html:this.j.value})}async onOpenBackupDialog(){this.prepareDialog();let{__dialog:t}=this;if(!t)return;t.open().setModal(!0);let i=await this.__storage.items();this.__box.build([{created:new Date,html:this.j.value},...i]),t.calcAutoSize(),t.setPosition()}onSelectItem(t){this.__dialog?.close(),this.j.value=t.html,this.j.s.focus()}addButtonsToDialog(){let{jodit:t}=this,i=(0,u.Button)(t,{name:"ok",tabIndex:0,variant:"primary",text:"Ok"}),n=(0,u.Button)(t,{variant:"secondary",tabIndex:0,text:"Cancel"}),o=(0,u.Button)(t,{name:"clear",tabIndex:0,variant:"secondary",text:"Remove all"});i.onAction(()=>{this.__box.chooseSelected()}),n.onAction(()=>{this.__dialog?.close()}),o.onAction(()=>{t.confirm("Are you sure?",void 0,t=>{t&&(this.__storage.clear(),this.__dialog?.close())})});let r=new u.UIBlock(t,[o,n,i]);r.container.style.margin="0",r.container.style.justifyContent="flex-end",r.container.style.width="100%",this.__dialog?.setFooter(r)}beforeDestruct(){let{j:t}=this;t.async.clearTimeout(this.timeout),t.e.off(this.__box,"choose",this.onSelectItem).off(t.ow,"beforeunload.backup"),this.__box.destruct(),this.__dialog?.destruct()}constructor(...t){super(...t),(0,o._)(this,"hasStyle",!d.JoditPro.fatMode),(0,o._)(this,"buttons",[{name:"backup.restore",group:"history"}]),(0,o._)(this,"__box",new a.UIBackupBox(this.j)),(0,o._)(this,"__dialog",null),(0,o._)(this,"__storage",this.jodit.o.backup.remoteStore??new s.DefaultStorage(this.jodit)),(0,o._)(this,"timeout",0)}}(0,o._)(h,"requires",["license"]),(0,r.__decorate)([l.autobind],h.prototype,"onSaveBackup",null),(0,r.__decorate)([l.autobind],h.prototype,"onOpenBackupDialog",null),(0,r.__decorate)([l.autobind],h.prototype,"onSelectItem",null),d.JoditPro.plugins.add("backup",h)},57056:function(t,i,n){"use strict";var o=n(68583),r=n.n(o),s=n(29402),a=n(6441),l=n(580),c=n(12153);a.Config.prototype.backup={interval:30,limit:50,dialogWidth:700,hotkeys:["ctrl+shift+b","cmd+shift+b"]},a.Config.prototype.controls.backup={store:{command:"saveBackup",text:"Save backup now"},restore:{tooltip:"Restore",list:["backup.store"],exec(t){t.execCommand("openBackupDialog")}}},c.Icon.set("restore",r()),(0,l.extendLang)(s)},29402:function(t,i,n){"use strict";n.r(i)},29243:function(t,i,n){"use strict";n.d(i,{DefaultStorage:function(){return r}});var o=n(82749);class r{async add(t){if(!t.html.trim().length)return!1;let i=this.jodit.storage.get(this.key)||[];return!i.find(i=>i.html===t.html)&&(i.unshift(t),i.length>this.jodit.o.backup.limit&&(i.length=this.jodit.o.backup.limit),this.jodit.storage.set(this.key,i),!1)}items(){return Promise.resolve(this.jodit.storage.get(this.key)||[])}clear(){return this.jodit.storage.delete(this.key),Promise.resolve(!1)}constructor(t){(0,o._)(this,"jodit",void 0),(0,o._)(this,"key",void 0),this.jodit=t,this.key="backup.default.storage"}}},64262:function(t,i,n){"use strict";n.d(i,{UIBackupBox:function(){return c}});var o=n(82749),r=n(31635),s=n(6183),a=n(65478),l=n(48538);class c extends l.UIElement{className(){return"UIBackupBox"}build(t){this.preview.innerHTML="",this.list.build(t)}destruct(){return this.j.e.off(this.list,"select",this.onSelectItem),this.list.destruct(),super.destruct()}onSelectItem(t){this.latestSelected=t,this.preview.innerHTML=t.html||`<div class="${this.getFullElName("empty")}">${this.j.i18n("Empty")}</div>`}onChooseItem(t){this.j.e.fire(this,"choose",t)}chooseSelected(){this.onChooseItem(this.latestSelected)}constructor(t){super(t),(0,o._)(this,"list",new s.UIBackupList(this.j)),(0,o._)(this,"preview",this.j.c.div(this.getFullElName("preview"))),(0,o._)(this,"latestSelected",void 0),this.container.appendChild(this.list.container),this.container.appendChild(this.preview),this.list.container.classList.add(this.getFullElName("list")),t.e.on(this.list,"select",this.onSelectItem).on(this.list,"choose",this.onChooseItem)}}(0,r.__decorate)([a.autobind],c.prototype,"onSelectItem",null),(0,r.__decorate)([a.autobind],c.prototype,"onChooseItem",null),c=(0,r.__decorate)([a.component],c)},38512:function(t,i,n){"use strict";n.d(i,{UIBackupItem:function(){return a}});var o=n(82749),r=n(21537),s=n(67510);class a extends s.UIElement{className(){return"UIBackupItem"}formatDate(t){let i=new Date,n=(0,r.isString)(t)?new Date(t):t,o=(i.getTime()-n.getTime())/1e3;return(0,r.isFunction)(this.j.o.backup.formatDate)?this.j.o.backup.formatDate(n):o<.2?this.j.i18n("Current"):o<60?this.j.i18n("Less minute"):o<=3600?this.j.i18n("%s minutes ago",Math.floor(o/60)):o<=86400?this.j.i18n("%s hours ago",Math.floor(o/3600)):`${n.toDateString()} ${n.toLocaleTimeString()}`}focus(){this.container.focus()}constructor(t,i){super(t),(0,o._)(this,"data",void 0),this.data=i,this.container.innerHTML=this.formatDate(i.created),(0,r.attr)(this.container,"tabIndex",0)}}},6183:function(t,i,n){"use strict";n.d(i,{UIBackupList:function(){return d}});var o=n(82749),r=n(31635),s=n(38512),a=n(82758),l=n(65478),c=n(21537),u=n(67510);class d extends u.UIGroup{className(){return"UIBackupList"}createContainer(t){let i=super.createContainer(t);return(0,c.attr)(i,"tabIndex","-1"),i}build(t){this.clear(),t.forEach((t,i)=>{let n=new s.UIBackupItem(this.jodit,t);this.append(n),this.j.e.on(n.container,"focus",()=>this.onSelect(i)).on(n.container,"click",()=>this.onSelect(i)).on(n.container,"dblclick",()=>this.onChoose(i))}),this.currentSelection=0,this.onChangeCurrentSelection(void 0,-1,0)}onChangeCurrentSelection(t,i,n){this.elements[i]?.setMod("active",!1),this.elements[n]?.setMod("active",!0),this.elements[n]?.focus(),this.j.e.fire(this,"select",this.elements[n].data)}onSelect(t){this.currentSelection=t}onChoose(t){this.j.e.fire(this,"choose",this.elements[t??this.currentSelection].data)}selectNext(){this.currentSelection+1<=this.elements.length-1?this.currentSelection+=1:this.currentSelection=0}selectPrevious(){this.currentSelection-1>=0?this.currentSelection-=1:this.currentSelection=this.elements.length-1}constructor(t){super(t),(0,o._)(this,"elements",[]),(0,o._)(this,"currentSelection",-1),t.e.on(this.container,"keydown",t=>{switch(t.key){case a.KEY_ENTER:t.preventDefault(),t.stopPropagation(),this.onChoose(this.currentSelection);break;case a.KEY_DOWN:this.selectNext();break;case a.KEY_UP:this.selectPrevious()}})}}(0,r.__decorate)([(0,l.watch)("currentSelection")],d.prototype,"onChangeCurrentSelection",null),(0,r.__decorate)([l.autobind],d.prototype,"onSelect",null),(0,r.__decorate)([l.autobind],d.prototype,"onChoose",null),d=(0,r.__decorate)([l.component],d)},45632:function(t,i,n){"use strict";var o=n(82749),r=n(31635);n(82158);var s=n(82520),a=n(35987),l=n(65478),c=n(2748),u=n(50911),d=n(62843),h=n(78584),p=n(2692);class f extends u.Plugin{afterInit(t){t.e.on("toggleButtonGenerator",this.toggleButtonGenerator).on("isButtonGeneratorOpened",()=>this.__dialog?.isOpened)}toggleButtonGenerator(t){this.__dialog||(this.__dialog=new h.Dialog({language:this.j.o.language,theme:this.j.o.theme}),this.__ui=new a.UIButtonGenerator(this.__dialog),this.__dialog.setHeader("Button Generator").setContent(this.__ui).setSize(730,700)),t&&!c.Dom.isTag(t,new Set(["button","a"]))&&(t=void 0);let i=this.__ui,n=this.__dialog;n.isOpened?n.close():(t&&s.UIGButton.extractStyle(i.state,t),i.target=t,i.update(),n.setFooter([(0,d.Button)(n,"cancel","Cancel","default").onAction(()=>n.close()),(0,d.Button)(n,"ok",t?"Update":"Insert","primary").onAction(()=>{t||(t=this.j.createInside.element(i.state.href?"a":"button"),this.j.s.insertNode(t,!0,!1)),s.UIGButton.applyStyle(i.state,t),t.className=i.state.className||"",this.jodit.e.fire("synchro"),n.close()})]).open())}onDblClick(t){c.Dom.isTag(t.target,"button")&&this.toggleButtonGenerator(t.target)}beforeDestruct(t){this.__dialog?.destruct()}constructor(...t){super(...t),(0,o._)(this,"hasStyle",!p.JoditPro.fatMode),(0,o._)(this,"buttons",[{group:"form",name:"buttonGenerator"}]),(0,o._)(this,"__dialog",void 0),(0,o._)(this,"__ui",void 0)}}(0,o._)(f,"requires",["license","color-picker"]),(0,r.__decorate)([l.autobind],f.prototype,"toggleButtonGenerator",null),(0,r.__decorate)([(0,l.watch)(":dblclick")],f.prototype,"onDblClick",null),p.JoditPro.plugins.add("button-generator",f)},82158:function(t,i,n){"use strict";var o=n(34586),r=n.n(o),s=n(6441),a=n(68345);s.Config.prototype.controls.buttonGenerator={tooltip:"Button generator",icon:r(),isActive:t=>!!t.e.fire("isButtonGeneratorOpened"),exec(t,i){t.e.fire("toggleButtonGenerator",i)}},s.Config.prototype.popup.button=["buttonGenerator"],(0,a.isArray)(s.Config.prototype.popup.a)&&s.Config.prototype.popup.a.push("buttonGenerator")},82520:function(t,i,n){"use strict";n.d(i,{UIGButton:function(){return d}});var o=n(82749),r=n(31635),s=n(65478),a=n(21537),l=n(27613),c=n(38837),u=n(67510);class d extends u.UIElement{className(){return"UIGButton"}__updateStyles(){let{style:t}=this,i=this.getElm("button");(0,c.assert)(null!=i,"button element does not exist");let n=this.getElm("wrapper");(0,c.assert)(null!=n,"wrapper element does not exist"),n.style.backgroundColor=t.previewBgColor,d.applyStyle(t,i)}static applyStyle(t,i){let n=t=>(0,l.isString)(t)?t:t+"px";i.innerText=t.text||"css",i.setAttribute("href",t.href),(0,a.css)(i,{background:t.solid?null:`linear-gradient(to bottom, ${t.bgStart} 5%, ${t.bgEnd} 100%)`,backgroundColor:t.bgStart,borderRadius:n(t.borderRadius),border:`${n(t.borderSize)} solid ${t.borderColor}`,display:"inline-block",cursor:"pointer",color:t.fontColor,fontFamily:t.fontFamily,fontSize:n(t.fontSize),fontWeight:t.fontWeight?"bold":null,fontStyle:t.fontItalic?"italic":null,padding:`${n(t.paddingY)} ${n(t.paddingX)}`,textDecoration:"none"}),(0,a.css)(i,{textShadow:t.textShadow?[t.textShadowOffsetX,t.textShadowOffsetY,t.textShadowBlurRadius,t.textShadowColor].map(n).join(" "):null}),(0,a.css)(i,{boxShadow:t.boxShadow?[t.boxShadowInset?"inset":"",t.boxShadowOffsetX,t.boxShadowOffsetY,t.boxShadowBlurRadius,t.boxShadowSpreadRadius,t.boxShadowColor].map(n).join(" "):null})}update(){this.__updateStyles()}render(){return`<div>
|
|
338
338
|
<div class='&__wrapper'>
|
|
339
339
|
<button class='&__button'>css</button>
|
|
340
340
|
</div>
|
|
@@ -628,7 +628,7 @@ ${s}`.trim();n?await this.__executeQuickCommandSilent(c,s):await this.__executeQ
|
|
|
628
628
|
background-position: top 2px ${"rtl"===this.j.o.direction?"left":"right"} 4px;
|
|
629
629
|
background-repeat: no-repeat;
|
|
630
630
|
position: relative;
|
|
631
|
-
}`).join("")}disable(){this.isEnabled=!1;let t=(0,c.cached)(this,"style");t&&(t.innerHTML="")}toggle(){this.isEnabled?this.disable():this.enable(),this.j.e.fire("updateToolbar")}afterInit(t){t.e.on("showBlocksEnabled",()=>this.isEnabled),t.registerCommand("enableShowBlocks",this.enable).registerCommand("disableShowBlocks",this.disable).registerCommand("toggleShowBlocks",this.toggle),this.j.o.showBlocks.enable&&this.enable()}beforeDestruct(t){this.disable(),u.Dom.safeRemove((0,c.cached)(this,"style"))}constructor(t){super(t),(0,o._)(this,"buttons",[{name:"showBlocks",group:"state"}]),(0,o._)(this,"isEnabled",!1),(0,d.extendLang)(s),p.Icon.set("showBlocks",l())}}(0,o._)(m,"requires",["license"]),(0,r.__decorate)([c.cache],m.prototype,"style",null),(0,r.__decorate)([c.autobind],m.prototype,"enable",null),(0,r.__decorate)([c.autobind],m.prototype,"disable",null),(0,r.__decorate)([c.autobind],m.prototype,"toggle",null),f.JoditPro.plugins.add("show-blocks",m)},28609:function(t,i,n){"use strict";var o=n(69341),r=n(5440),s=n(78955),a=n.n(s),l=n(6441);l.Config.prototype.customStyles={definitions:[]},l.Config.prototype.controls.style={tooltip:"Styles",icon:a(),isDisabled:t=>!t.o.customStyles.definitions.length,isActive(t){let i=t.o.customStyles.definitions;return!!i.length&&null!=(0,o.detectActiveStyle)(t,i)},update(t,i){let n=t.o.customStyles.definitions;if(!n.length)return;let r=(0,o.detectActiveStyle)(t,n),s=i.control?.component==="select";(t.o.textIcons||s)&&(r?i.state.text=r.name:i.state.text=s?t.i18n("Styles"):"")},exec:()=>!1,popup(t,i,n){let o=t.o.customStyles.definitions;if(!o.length)return!1;t.s.current()||t.s.focus(),t.s.save();let s=(0,r.buildStylePopup)(t,o,()=>{t.s.restore(),n()});return t.e.one("beforePopupClose",()=>{t.s.restore()}),s}}},31105:function(t,i,n){"use strict";n.d(i,{applyStyle:function(){return u}});var o=n(69341),r=n(82758),s=n(2748);function a(t,i){let n=t.s.current();if(!n)return null;if(r.IS_BLOCK.test(i.element))return s.Dom.closest(n,s.Dom.isBlock,t.editor);let o=s.Dom.isElement(n)?n:n.parentNode;for(;o&&o!==t.editor;){if(s.Dom.isElement(o)&&o.nodeName.toLowerCase()===i.element)return o;o=o.parentNode}return null}function l(t,i){for(let n of i)t.classList.remove(n);""===t.className&&t.removeAttribute("class")}function c(t){let i=t.classes?.filter(Boolean)[0];return i?{element:t.element,attributes:{class:i}}:{element:t.element}}function u(t,i,n){let u=(0,o.detectActiveStyle)(t,n);u&&(t.s.commitStyle(c(u)),!function(t,i){let n=i.classes?.filter(Boolean);if(!n||n.length<=1)return;let o=t.s.current();if(o)if(r.IS_BLOCK.test(i.element)){let i=s.Dom.closest(o,s.Dom.isBlock,t.editor);i&&l(i,n.slice(1))}else{let o=a(t,i);o&&(l(o,n.slice(1)),"span"!==o.nodeName.toLowerCase()||o.attributes.length||s.Dom.unwrap(o))}}(t,u),u===i)||(t.s.commitStyle(c(i)),function(t,i){let n=i.classes?.filter(Boolean);if(!n||n.length<=1)return;let o=a(t,i);if(o)for(let t=1;t<n.length;t++)o.classList.add(n[t])}(t,i))}},8060:function(t,i,n){"use strict";n.d(i,{classifyDefinitions:function(){return r}});var o=n(82758);function r(t){let i=[],n=[];for(let r of t)o.IS_BLOCK.test(r.element)?i.push(r):n.push(r);let r=[];return i.length&&r.push({title:"Block styles",definitions:i}),n.length&&r.push({title:"Text styles",definitions:n}),r}},69341:function(t,i,n){"use strict";n.d(i,{detectActiveStyle:function(){return a}});var o=n(82758),r=n(2748);function s(t,i){if(t.nodeName.toLowerCase()!==i.element)return!1;let n=i.classes?.filter(Boolean);return!n?.length||n.every(i=>t.classList.contains(i))}function a(t,i){let n=t.s.current();if(!n)return null;for(let a of i)if(o.IS_BLOCK.test(a.element)){let i=r.Dom.closest(n,r.Dom.isBlock,t.editor);if(i&&s(i,a))return a}else{let i=r.Dom.isElement(n)?n:n.parentNode;for(;i&&i!==t.editor;){if(r.Dom.isElement(i)&&s(i,a))return a;i=i.parentNode}}return null}},75554:function(t,i,n){"use strict";var o=n(82749);n(28609);var r=n(50911),s=n(2692);class a extends r.Plugin{afterInit(t){}beforeDestruct(t){}constructor(...t){super(...t),(0,o._)(this,"buttons",[{name:"style",group:"font"}])}}(0,o._)(a,"requires",["license"]),s.JoditPro.plugins.add("style",a)},5440:function(t,i,n){"use strict";n.d(i,{buildStylePopup:function(){return l}});var o=n(31105),r=n(8060),s=n(69341);let a="jodit-style-popup";function l(t,i,n){let l=(0,r.classifyDefinitions)(i),c=(0,s.detectActiveStyle)(t,i),u=t.c.div(a);for(let r of l){let s=t.c.div(`${a}__group-title`);s.textContent=t.i18n(r.title),u.appendChild(s);let l=t.c.div(`${a}__grid`);for(let s of r.definitions){let r=t.c.element("button");r.type="button",r.className=`${a}__card`+(c===s?` ${a}__card_active_true`:"");let u=t.c.div(`${a}__card-preview`),d=t.c.element(s.element);for(let t of s.classes?.filter(Boolean)??[])d.classList.add(t);d.textContent=s.name,u.appendChild(d),r.appendChild(u);let h=t.c.div(`${a}__card-label`);h.textContent=s.name,r.appendChild(h),t.e.on(r,"click",()=>{t.s.focus(),(0,o.applyStyle)(t,s,i),t.synchronizeValues(),n()}),l.appendChild(r)}u.appendChild(l)}return u}},58475:function(t,i,n){"use strict";var o=n(54296),r=n(18993),s=n.n(r),a=n(6441);a.Config.prototype.contentTemplates={definitions:[]},a.Config.prototype.controls.templates={tooltip:"Templates",icon:s(),isDisabled:t=>!t.o.contentTemplates.definitions.length,exec:()=>!1,popup(t,i,n){let r=t.o.contentTemplates.definitions;if(!r.length)return!1;t.s.current()||t.s.focus(),t.s.save();let s=(0,o.buildTemplatesPopup)(t,r,()=>{t.s.restore(),n()});return t.e.one("beforePopupClose",()=>{t.s.restore()}),s}}},61886:function(t,i,n){"use strict";var o=n(82749);n(58475);var r=n(50911),s=n(2692);class a extends r.Plugin{afterInit(t){}beforeDestruct(t){}constructor(...t){super(...t),(0,o._)(this,"buttons",[{name:"templates",group:"insert"}])}}(0,o._)(a,"requires",["license"]),s.JoditPro.plugins.add("templates",a)},54296:function(t,i,n){"use strict";n.d(i,{buildTemplatesPopup:function(){return r}});let o="jodit-templates-popup";function r(t,i,n){let r=t.c.div(o);for(let s of i){let i=t.c.element("button");i.type="button",i.className=`${o}__card`;let a=t.c.div(`${o}__card-preview`);if(s.image){let i=t.c.element("img");i.src=s.image,i.alt=s.title,a.appendChild(i)}else{let i=t.c.div(`${o}__card-preview-inner`);i.innerHTML=s.html,a.appendChild(i)}i.appendChild(a);let l=t.c.div(`${o}__card-info`),c=t.c.div(`${o}__card-title`);c.textContent=s.title,l.appendChild(c);let u=t.c.div(`${o}__card-description`);u.textContent=s.description,l.appendChild(u),i.appendChild(l),t.e.on(i,"click",()=>{t.s.focus(),t.s.insertHTML(s.html),t.synchronizeValues(),n()}),r.appendChild(i)}return r}},64839:function(t,i,n){"use strict";var o=n(11373),r=n.n(o),s=n(6441),a=n(2748),l=n(12153);s.Config.prototype.todoList={className:"todo-list",labelClassName:"todo-list__label",inputFactory:t=>t.createInside.element("input",{type:"checkbox",tabindex:-1})},s.Config.prototype.controls.todoList={tooltip:"To-do List",icon:"todo-list",command:"todolist",isActive(t){let i=t.s.current();return!!(i&&a.Dom.closest(i,t=>a.Dom.isElement(t)&&a.Dom.isTag(t,"ul")&&t.classList.contains("todo-list"),t.editor))}},l.Icon.set("todo-list",r())},19374:function(t,i,n){"use strict";var o=n(82749),r=n(31635);n(64839);var s=n(82758),a=n(65478),l=n(2748),c=n(43555),u=n(50911),d=n(59242),h=n(2692);class p extends u.Plugin{afterInit(t){t.registerCommand("todoList",this.onCommand)}onCommand(){try{this.__isOwnCommand=!0,this.jodit.s.commitStyle({element:"ul",attributes:{class:this.j.o.todoList.className},hooks:{afterWrapList:this.__afterWrapList,afterToggleAttribute:this.__afterWrapList}})}finally{this.__isOwnCommand=!1}return!1}__prependInputLabel(t){let{jodit:i}=this,{labelClassName:n,inputFactory:o}=this.j.o.todoList;if(t.querySelector("label."+n))return;let r=i.createInside.element("label",{contenteditable:"false",class:n}),s=o(i);r.appendChild(s),l.Dom.prepend(t,r)}__afterToggleList(t,i){return(t===d.CHANGE||t===d.REPLACE)&&this.__isOwnCommand?this.__appendInputs(i):t===d.UNWRAP||t===d.REPLACE||t===d.CHANGE?this.__removeInputs(i):void 0}__appendInputs(t){t.querySelectorAll("li").forEach(this.__prependInputLabel)}__removeInputs(t){let{labelClassName:i}=this.j.o.todoList;t.querySelectorAll("label."+i).forEach(l.Dom.safeRemove)}__beforeToggleOrderedList(t,i,n){let o="__beforeToggleOrderedList";if(t!==d.REPLACE&&(i.classList.contains(this.j.o.todoList.className)||n.isApplied(i,o))&&("ul"===n.element||"ol"===n.element)&&n.options.attributes?.class!==this.j.o.todoList.className){let t=l.Dom.replace(i,n.element,this.jodit.createInside);return n.setApplied(t,o),this.__removeInputs(t),t}}__afterEnter(){(0,c.$$)("ul."+this.j.o.todoList.className+" li",this.jodit.editor).forEach(this.__prependInputLabel)}__afterTab(){(0,c.$$)("ul:not(."+this.j.o.todoList.className+") > li > label",this.jodit.editor).filter(this.isTodoLeafLabel).forEach(l.Dom.safeRemove)}__changeSelection(t){let i=this.j.s.current();this.isTodoLeafLabel(i)&&(t.preventDefault(),t.stopPropagation(),this.j.s.setCursorAfter(i))}__isEmptyListLeaf(t){return l.Dom.isEmpty(t,t=>!("input"===t.nodeName.toLowerCase()&&this.isTodoLeafLabel(t.parentElement))&&s.NO_EMPTY_TAGS.has(t.tagName.toLowerCase()))}__backSpaceBeforeCases(t,i){if(t){let t=l.Dom.findNotEmptySibling(i,!0);this.isTodoLeafLabel(t)&&l.Dom.safeRemove(t)}}__isInvisibleForCursor(t){if(this.isTodoLeafLabel(t))return!0}__backSpaceAfterDelete(){let{labelClassName:t}=this.j.o.todoList;(0,c.$$)("label."+t,this.jodit.editor).forEach(t=>{t.closest("ul."+this.j.o.todoList.className)?t.previousSibling&&t.parentElement&&l.Dom.prepend(t.parentElement,t):l.Dom.safeRemove(t)})}__afterWrapList(t,i){t===d.WRAP&&this.__appendInputs(i)}__onClickInput(t){let i=t.target;i&&l.Dom.isTag(i,"input")&&"checkbox"===i.type&&this.isTodoLeafLabel(i.parentElement)&&(0,c.attr)(i,"checked",i.checked?"checked":null)}isTodoLeafLabel(t){let{labelClassName:i}=this.j.o.todoList;return l.Dom.isHTMLElement(t)&&t.classList.contains(i)}beforeDestruct(t){}constructor(...t){super(...t),(0,o._)(this,"buttons",[{name:"todoList",group:"list"}]),(0,o._)(this,"__isOwnCommand",!1)}}(0,o._)(p,"requires",["license"]),(0,r.__decorate)([a.autobind],p.prototype,"onCommand",null),(0,r.__decorate)([a.autobind],p.prototype,"__prependInputLabel",null),(0,r.__decorate)([(0,a.watch)(":commitStyleAfterToggleList")],p.prototype,"__afterToggleList",null),(0,r.__decorate)([(0,a.watch)(":commitStyleBeforeUnwrapList")],p.prototype,"__beforeToggleOrderedList",null),(0,r.__decorate)([(0,a.watch)(":afterEnter")],p.prototype,"__afterEnter",null),(0,r.__decorate)([(0,a.watch)(":afterTab")],p.prototype,"__afterTab",null),(0,r.__decorate)([(0,a.watch)("j.ed:selectionchange"),(0,a.watch)(":afterEnter")],p.prototype,"__changeSelection",null),(0,r.__decorate)([(0,a.watch)(":enterIsEmptyListLeaf")],p.prototype,"__isEmptyListLeaf",null),(0,r.__decorate)([(0,a.watch)(":backSpaceBeforeCases")],p.prototype,"__backSpaceBeforeCases",null),(0,r.__decorate)([(0,a.watch)(":backSpaceIsMovedIgnore"),(0,a.watch)(":isInvisibleForCursor")],p.prototype,"__isInvisibleForCursor",null),(0,r.__decorate)([(0,a.watch)(":backSpaceAfterDelete")],p.prototype,"__backSpaceAfterDelete",null),(0,r.__decorate)([a.autobind],p.prototype,"__afterWrapList",null),(0,r.__decorate)([(0,a.watch)(":click")],p.prototype,"__onClickInput",null),(0,r.__decorate)([a.autobind],p.prototype,"isTodoLeafLabel",null),h.JoditPro.plugins.add("todo-list",p)},20104:function(t,i,n){"use strict";var o=n(74922),r=n.n(o),s=n(34575),a=n.n(s),l=n(6441),c=n(12153);l.Config.prototype.translate={hotkeys:{translateSelection:["ctrl+shift+o","cmd+shift+o"],translateOptions:["ctrl+shift+p","cmd+shift+p"]},provider:"google",googleProviderOptions:{url:"https://translation.googleapis.com/language/translate/v2",key:""},cloudProviderOptions:{url:"https://cloud.xdsoft.net",key:""},defaultSourceLang:"",defaultTargetLang:"de"},l.Config.prototype.controls.translate={translate:{tooltip:"Translate selected text",icon:"translate",command:"translate",exec(t){t.execCommand("translate")},list:["Options"],childExec(t,i,{control:n}){t.execCommand("translate"+n.name)},mods:{stroke:!1}}},c.Icon.set("translate",a()).set("translate-swap",r())},50090:function(t,i,n){"use strict";n.d(i,{CloudTranslateProvider:function(){return l}});var o=n(82749),r=n(82758),s=n(38837),a=n(80942);class l{__fetch(t,i={}){let n=this.jodit.o.translate.cloudProviderOptions;return(0,s.assert)(n,"Set cloudProviderOptions"),this.jodit.fetch(n.url+t+"?key="+n.key,{method:"POST",data:i,contentType:"application/json; charset=utf-8",withCredentials:!1}).then(t=>t.json()).catch(t=>{try{this.jodit.message.error(t.json().message)}catch(t){r.IS_PROD}})}translate(t,i,n){let o={text:t,targetLanguageCode:n};return i&&(o.sourceLanguageCode=i),this.__fetch("/v1/translate",o).then(t=>({text:t.text}))}supportedLanguages(){return Promise.resolve({langs:a.languages})}constructor(t){(0,o._)(this,"jodit",void 0),this.jodit=t}}},27834:function(t,i,n){"use strict";n.d(i,{GoogleTranslateProvider:function(){return l}});var o=n(82749),r=n(82758),s=n(38837),a=n(80942);class l{__fetch(t,i={}){let n=this.jodit.o.translate.googleProviderOptions;return(0,s.assert)(n,"Set googleProviderOptions"),this.jodit.fetch(n.url+"?key="+n.key,{method:"POST",data:{...i,ui:this.jodit.o.language},contentType:"application/json; charset=utf-8",withCredentials:!1}).then(t=>t.json()).catch(t=>{try{this.jodit.message.error(t.json().message)}catch(t){r.IS_PROD}})}translate(t,i,n){let o={q:t,target:n,format:"html"};return i&&(o.source=i),this.__fetch("translate",o).then(t=>({text:t.data.translations[0].translatedText}))}supportedLanguages(){return Promise.resolve({langs:a.languages})}constructor(t){(0,o._)(this,"jodit",void 0),this.jodit=t}}},80942:function(t,i,n){"use strict";n.d(i,{languages:function(){return o}});let o={"Detect language":"auto",Afrikaans:"af",Albanian:"sq",Amharic:"am",Arabic:"ar",Armenian:"hy","Assamese*":"as","Aymara*":"ay",Azerbaijani:"az","Bambara*":"bm",Basque:"eu",Belarusian:"be",Bengali:"bn","Bhojpuri*":"bho",Bosnian:"bs",Bulgarian:"bg",Catalan:"ca",Cebuano:"ceb","Chinese (Simplified)":"zh-CN","Chinese (Traditional)":"zh-TW",Corsican:"co",Croatian:"hr",Czech:"cs",Danish:"da","Dhivehi*":"dv","Dogri*":"doi",Dutch:"nl",English:"en",Esperanto:"eo",Estonian:"et","Ewe*":"ee","Filipino (Tagalog)":"fil",Finnish:"fi",French:"fr",Frisian:"fy",Galician:"gl",Georgian:"ka",German:"de",Greek:"el","Guarani*":"gn",Gujarati:"gu","Haitian Creole":"ht",Hausa:"ha",Hawaiian:"haw",Hebrew:"he",Hindi:"hi",Hmong:"hmn",Hungarian:"hu",Icelandic:"is",Igbo:"ig","Ilocano*":"ilo",Indonesian:"id",Irish:"ga",Italian:"it",Japanese:"ja",Kannada:"kn",Kazakh:"kk",Khmer:"km",Kinyarwanda:"rw","Konkani*":"gom",Korean:"ko","Krio*":"kri",Kurdish:"ku","Kurdish (Sorani)*":"ckb",Kyrgyz:"ky",Lao:"lo",Latin:"la",Latvian:"lv","Lingala*":"ln",Lithuanian:"lt","Luganda*":"lg",Luxembourgish:"lb",Macedonian:"mk","Maithili*":"mai",Malagasy:"mg",Malay:"ms",Malayalam:"ml",Maltese:"mt",Maori:"mi",Marathi:"mr","Meiteilon (Manipuri)*":"mni-Mtei",Mizo:"lus",Mongolian:"mn","Myanmar (Burmese)":"my",Nepali:"ne",Norwegian:"no","Nyanja (Chichewa)":"ny","Odia (Oriya)":"or","Oromo*":"om",Pashto:"ps",Persian:"fa",Polish:"pl",Portuguese:"pt",Punjabi:"pa","Quechua*":"qu",Romanian:"ro",Russian:"ru",Samoan:"sm","Sanskrit*":"sa","Scots Gaelic":"gd","Sepedi*":"nso",Serbian:"sr",Sesotho:"st",Shona:"sn",Sindhi:"sd","Sinhala (Sinhalese)":"si",Slovak:"sk",Slovenian:"sl",Somali:"so",Spanish:"es",Sundanese:"su",Swahili:"sw",Swedish:"sv","Tagalog (Filipino)":"tl",Tajik:"tg",Tamil:"ta",Tatar:"tt",Telugu:"te",Thai:"th","Tigrinya*":"ti","Tsonga*":"ts",Turkish:"tr",Turkmen:"tk","Twi (Akan)*":"ak",Ukrainian:"uk",Urdu:"ur",Uyghur:"ug",Uzbek:"uz",Vietnamese:"vi",Welsh:"cy",Xhosa:"xh",Yiddish:"yi",Yoruba:"yo",Zulu:"zu"}},73534:function(t,i,n){"use strict";n.d(i,{getSelectionFragments:function(){return r}});var o=n(2748);function r(t){let i=[],n=t.s.expandSelection().sel;if(!n||0===n.rangeCount||n.isCollapsed)return i;t.s.range.commonAncestorContainer.normalize();let r=t.s.range,{commonAncestorContainer:c,startContainer:u,endContainer:d,startOffset:h,endOffset:p}=r;if(u===d){if(o.Dom.isText(u))return[a(u,h,p)];if(p-h==1){let t=u.childNodes[h];return o.Dom.isText(t)?[a(t,0,t.nodeValue.length)]:[l(t)]}if(0===h&&u.childNodes.length===p)return[l(u)];for(let t=h;t<p;t++){let n=u.childNodes[t];o.Dom.isText(n)?i.push(a(n,0,n.nodeValue.length)):i.push(l(n))}return i}let f=new Set,m=t.ed.createTreeWalker(c,NodeFilter.SHOW_ALL,{acceptNode:t=>!r.intersectsNode(t)||o.Dom.closest(t,t=>t&&f.has(t),c)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),g=m.nextNode();for(;g;){if(o.Dom.isElement(g)&&s(r,g))f.add(g),i.push(l(g));else if(o.Dom.isText(g)&&s(r,g))i.push(a(g,0,g.nodeValue.length));else if(o.Dom.isText(g)){let t=0,n=g.nodeValue.length;g===u&&(t=h),g===d&&(n=p),i.push(a(g,t,n))}g=m.nextNode()}return i}let s=(t,i)=>{let n=document.createRange();try{n.selectNodeContents(i)}catch{n.selectNode(i)}return 0>=t.compareBoundaryPoints(Range.START_TO_START,n)&&t.compareBoundaryPoints(Range.END_TO_END,n)>=0};function a(t,i,n){return{text:t.nodeValue.slice(i,n),replace(o){t.nodeValue=t.nodeValue.slice(0,i)+o+t.nodeValue.slice(n)}}}function l(t){return{text:t.innerHTML,replace(i){t.innerHTML=i}}}},73098:function(t,i,n){"use strict";var o=n(82749),r=n(31635);n(20104);var s=n(50090),a=n(27834),l=n(33124),c=n(73534),u=n(65478),d=n(23282),h=n(70799),p=n(38837),f=n(50911),m=n(10830),g=n(2692);class b extends f.Plugin{__getProvider(){let{provider:t}=this.jodit.options.translate;if((0,h.isString)(t))switch(t){case"google":return new a.GoogleTranslateProvider(this.j);case"cloud":return new s.CloudTranslateProvider(this.j);default:throw Error("Unknown provider")}return(0,p.assert)((0,d.isFunction)(t),"Provider must be a function"),t(this.jodit)}afterInit(t){let i=this.__getProvider();t.registerCommand("translateOptions",{exec:async()=>{let n=this.state,o=t.dlg();o.setHeader("Translate options");let r=await i.supportedLanguages(),s="source"in r?r.source.langs:r.langs,a="target"in r?r.target.langs:r.langs,c=new l.UITranslateSettings(o,this.state,{sourceList:s,targetList:a,onChange(t){n=t}});o.setContent(c),o.setFooter([(0,m.Button)(t,"cancel","Cancel").onAction(()=>o.close()),(0,m.Button)(t,"ok","Save","primary").onAction(()=>{this.state=n,o.close()})]),c.bindDestruct(o),o.setSize(500,400).open(!0)},hotkeys:t.o.translate.hotkeys.translateOptions}).registerCommand("translate",{exec:()=>{let n=(0,c.getSelectionFragments)(t).filter(t=>t.text.trim().length>0);if(!n.length)return void t.message.error("Select text for translate");let o=this.state.sourceLang&&"auto"!==this.state.sourceLang?this.state.sourceLang:"",r=this.state.targetLang;return Promise.all(n.map(n=>{i.translate(n.text,o,r).then(t=>{n.replace(t.text)}).catch(i=>{t.message.error((0,h.isString)(i)?i:i.message)})})).then(()=>{t.synchronizeValues()})},hotkeys:t.o.translate.hotkeys.translateSelection})}beforeDestruct(t){}constructor(...t){super(...t),(0,o._)(this,"buttons",[{name:"translate.translate",group:"insert"}]),(0,o._)(this,"state",{sourceLang:this.jodit.o.translate.defaultSourceLang||"en",targetLang:this.jodit.o.translate.defaultTargetLang})}}(0,o._)(b,"requires",["license"]),(0,r.__decorate)([u.persistent],b.prototype,"state",void 0),g.JoditPro.plugins.add("translate",b)},67082:function(t,i,n){"use strict";n.d(i,{UITranslateList:function(){return p}});var o=n(82749),r=n(31635),s=n(82758),a=n(65478),l=n(2748),c=n(21537),u=n(29960),d=n(48538),h=n(80256);class p extends d.UIElement{className(){return"UITranslateList"}get items(){return this.getElms("item")}render(t){let i=[];return(Array.isArray(t.list)?t.list:Object.keys(t.list).map(i=>({title:i,code:t.list[i]}))).forEach(t=>{let n=t.code;i.push(`<a role='button' tabindex='0' class='&__item' data-lang='${n}'>
|
|
631
|
+
}`).join("")}disable(){this.isEnabled=!1;let t=(0,c.cached)(this,"style");t&&(t.innerHTML="")}toggle(){this.isEnabled?this.disable():this.enable(),this.j.e.fire("updateToolbar")}afterInit(t){t.e.on("showBlocksEnabled",()=>this.isEnabled),t.registerCommand("enableShowBlocks",this.enable).registerCommand("disableShowBlocks",this.disable).registerCommand("toggleShowBlocks",this.toggle),this.j.o.showBlocks.enable&&this.enable()}beforeDestruct(t){this.disable(),u.Dom.safeRemove((0,c.cached)(this,"style"))}constructor(t){super(t),(0,o._)(this,"buttons",[{name:"showBlocks",group:"state"}]),(0,o._)(this,"isEnabled",!1),(0,d.extendLang)(s),p.Icon.set("showBlocks",l())}}(0,o._)(m,"requires",["license"]),(0,r.__decorate)([c.cache],m.prototype,"style",null),(0,r.__decorate)([c.autobind],m.prototype,"enable",null),(0,r.__decorate)([c.autobind],m.prototype,"disable",null),(0,r.__decorate)([c.autobind],m.prototype,"toggle",null),f.JoditPro.plugins.add("show-blocks",m)},28609:function(t,i,n){"use strict";var o=n(69341),r=n(5440),s=n(78955),a=n.n(s),l=n(6441);l.Config.prototype.customStyles={definitions:[]},l.Config.prototype.controls.style={tooltip:"Styles",icon:a(),isDisabled:t=>!t.o.customStyles.definitions.length,isActive(t){let i=t.o.customStyles.definitions;return!!i.length&&null!=(0,o.detectActiveStyle)(t,i)},update(t,i){let n=t.o.customStyles.definitions;if(!n.length)return;let r=(0,o.detectActiveStyle)(t,n),s=i.control?.component==="select";(t.o.textIcons||s)&&(r?i.state.text=r.name:i.state.text=s?t.i18n("Styles"):"")},exec:()=>!1,popup(t,i,n){let o=t.o.customStyles.definitions;if(!o.length)return!1;t.s.current()||t.s.focus(),t.s.save();let s=(0,r.buildStylePopup)(t,o,()=>{t.s.restore(),n()});return t.e.one("beforePopupClose",()=>{t.s.restore()}),s}}},31105:function(t,i,n){"use strict";n.d(i,{applyStyle:function(){return u}});var o=n(69341),r=n(82758),s=n(2748);function a(t,i){let n=t.s.current();if(!n)return null;if(r.IS_BLOCK.test(i.element))return s.Dom.closest(n,s.Dom.isBlock,t.editor);let o=s.Dom.isElement(n)?n:n.parentNode;for(;o&&o!==t.editor;){if(s.Dom.isElement(o)&&o.nodeName.toLowerCase()===i.element)return o;o=o.parentNode}return null}function l(t,i){for(let n of i)t.classList.remove(n);""===t.className&&t.removeAttribute("class")}function c(t){if(t.attributes)return{element:t.element,attributes:t.attributes};let i=t.classes?.filter(Boolean)[0];return i?{element:t.element,attributes:{class:i}}:{element:t.element}}function u(t,i,n){let u=(0,o.detectActiveStyle)(t,n);(!u||(t.s.commitStyle(c(u)),u.attributes||function(t,i){let n=i.classes?.filter(Boolean);if(!n||n.length<=1)return;let o=t.s.current();if(o)if(r.IS_BLOCK.test(i.element)){let i=s.Dom.closest(o,s.Dom.isBlock,t.editor);i&&l(i,n.slice(1))}else{let o=a(t,i);o&&(l(o,n.slice(1)),"span"!==o.nodeName.toLowerCase()||o.attributes.length||s.Dom.unwrap(o))}}(t,u),u!==i))&&(t.s.commitStyle(c(i)),i.attributes||function(t,i){let n=i.classes?.filter(Boolean);if(!n||n.length<=1)return;let o=a(t,i);if(o)for(let t=1;t<n.length;t++)o.classList.add(n[t])}(t,i))}},8060:function(t,i,n){"use strict";n.d(i,{classifyDefinitions:function(){return r}});var o=n(82758);function r(t){let i=[],n=[];for(let r of t)o.IS_BLOCK.test(r.element)?i.push(r):n.push(r);let r=[];return i.length&&r.push({title:"Block styles",definitions:i}),n.length&&r.push({title:"Text styles",definitions:n}),r}},69341:function(t,i,n){"use strict";n.d(i,{detectActiveStyle:function(){return c}});var o=n(82758),r=n(2748),s=n(29960),a=n(41180);function l(t,i){if(t.nodeName.toLowerCase()!==i.element)return!1;if(i.attributes){for(let[n,o]of Object.entries(i.attributes))if(null!=o){if("class"===n){if("string"==typeof o&&!t.classList.contains(o))return!1}else if("style"===n){if("object"==typeof o&&null!=o){for(let[i,n]of Object.entries(o))if(null!=n&&(0,a.css)(t,i,!0)!==n+"")return!1}}else if((0,s.attr)(t,n)!==o+"")return!1}return!0}let n=i.classes?.filter(Boolean);return!n?.length||n.every(i=>t.classList.contains(i))}function c(t,i){let n=t.s.current();if(!n)return null;for(let s of i)if(o.IS_BLOCK.test(s.element)){let i=r.Dom.closest(n,r.Dom.isBlock,t.editor);if(i&&l(i,s))return s}else{let i=r.Dom.isElement(n)?n:n.parentNode;for(;i&&i!==t.editor;){if(r.Dom.isElement(i)&&l(i,s))return s;i=i.parentNode}}return null}},75554:function(t,i,n){"use strict";var o=n(82749);n(28609);var r=n(50911),s=n(2692);class a extends r.Plugin{afterInit(t){}beforeDestruct(t){}constructor(...t){super(...t),(0,o._)(this,"buttons",[{name:"style",group:"font"}])}}(0,o._)(a,"requires",["license"]),s.JoditPro.plugins.add("style",a)},5440:function(t,i,n){"use strict";n.d(i,{buildStylePopup:function(){return c}});var o=n(31105),r=n(8060),s=n(69341),a=n(29960);let l="jodit-style-popup";function c(t,i,n){let c=(0,r.classifyDefinitions)(i),u=(0,s.detectActiveStyle)(t,i),d=t.c.div(l);for(let r of c){let s=t.c.div(`${l}__group-title`);s.textContent=t.i18n(r.title),d.appendChild(s);let c=t.c.div(`${l}__grid`);for(let s of r.definitions){let r=t.c.element("button");r.type="button",r.className=`${l}__card`+(u===s?` ${l}__card_active_true`:"");let d=t.c.div(`${l}__card-preview`),h=t.c.element(s.element);if(s.attributes)(0,a.attr)(h,s.attributes);else for(let t of s.classes?.filter(Boolean)??[])h.classList.add(t);h.textContent=s.name,d.appendChild(h),r.appendChild(d);let p=t.c.div(`${l}__card-label`);p.textContent=s.name,r.appendChild(p),t.e.on(r,"click",()=>{t.s.focus(),(0,o.applyStyle)(t,s,i),t.synchronizeValues(),n()}),c.appendChild(r)}d.appendChild(c)}return d}},58475:function(t,i,n){"use strict";var o=n(54296),r=n(18993),s=n.n(r),a=n(6441);a.Config.prototype.contentTemplates={definitions:[]},a.Config.prototype.controls.templates={tooltip:"Templates",icon:s(),isDisabled:t=>!t.o.contentTemplates.definitions.length,exec:()=>!1,popup(t,i,n){let r=t.o.contentTemplates.definitions;if(!r.length)return!1;t.s.current()||t.s.focus(),t.s.save();let s=(0,o.buildTemplatesPopup)(t,r,()=>{t.s.restore(),n()});return t.e.one("beforePopupClose",()=>{t.s.restore()}),s}}},61886:function(t,i,n){"use strict";var o=n(82749);n(58475);var r=n(50911),s=n(2692);class a extends r.Plugin{afterInit(t){}beforeDestruct(t){}constructor(...t){super(...t),(0,o._)(this,"buttons",[{name:"templates",group:"insert"}])}}(0,o._)(a,"requires",["license"]),s.JoditPro.plugins.add("templates",a)},54296:function(t,i,n){"use strict";n.d(i,{buildTemplatesPopup:function(){return r}});let o="jodit-templates-popup";function r(t,i,n){let r=t.c.div(o);for(let s of i){let i=t.c.element("button");i.type="button",i.className=`${o}__card`;let a=t.c.div(`${o}__card-preview`);if(s.image){let i=t.c.element("img");i.src=s.image,i.alt=s.title,a.appendChild(i)}else{let i=t.c.div(`${o}__card-preview-inner`);i.innerHTML=s.html,a.appendChild(i)}i.appendChild(a);let l=t.c.div(`${o}__card-info`),c=t.c.div(`${o}__card-title`);c.textContent=s.title,l.appendChild(c);let u=t.c.div(`${o}__card-description`);u.textContent=s.description,l.appendChild(u),i.appendChild(l),t.e.on(i,"click",()=>{t.s.focus(),t.s.insertHTML(s.html),t.synchronizeValues(),n()}),r.appendChild(i)}return r}},64839:function(t,i,n){"use strict";var o=n(11373),r=n.n(o),s=n(6441),a=n(2748),l=n(12153);s.Config.prototype.todoList={className:"todo-list",labelClassName:"todo-list__label",inputFactory:t=>t.createInside.element("input",{type:"checkbox",tabindex:-1})},s.Config.prototype.controls.todoList={tooltip:"To-do List",icon:"todo-list",command:"todolist",isActive(t){let i=t.s.current();return!!(i&&a.Dom.closest(i,t=>a.Dom.isElement(t)&&a.Dom.isTag(t,"ul")&&t.classList.contains("todo-list"),t.editor))}},l.Icon.set("todo-list",r())},19374:function(t,i,n){"use strict";var o=n(82749),r=n(31635);n(64839);var s=n(82758),a=n(65478),l=n(2748),c=n(43555),u=n(50911),d=n(59242),h=n(2692);class p extends u.Plugin{afterInit(t){t.registerCommand("todoList",this.onCommand)}onCommand(){try{this.__isOwnCommand=!0,this.jodit.s.commitStyle({element:"ul",attributes:{class:this.j.o.todoList.className},hooks:{afterWrapList:this.__afterWrapList,afterToggleAttribute:this.__afterWrapList}})}finally{this.__isOwnCommand=!1}return!1}__prependInputLabel(t){let{jodit:i}=this,{labelClassName:n,inputFactory:o}=this.j.o.todoList;if(t.querySelector("label."+n))return;let r=i.createInside.element("label",{contenteditable:"false",class:n}),s=o(i);r.appendChild(s),l.Dom.prepend(t,r)}__afterToggleList(t,i){return(t===d.CHANGE||t===d.REPLACE)&&this.__isOwnCommand?this.__appendInputs(i):t===d.UNWRAP||t===d.REPLACE||t===d.CHANGE?this.__removeInputs(i):void 0}__appendInputs(t){t.querySelectorAll("li").forEach(this.__prependInputLabel)}__removeInputs(t){let{labelClassName:i}=this.j.o.todoList;t.querySelectorAll("label."+i).forEach(l.Dom.safeRemove)}__beforeToggleOrderedList(t,i,n){let o="__beforeToggleOrderedList";if(t!==d.REPLACE&&(i.classList.contains(this.j.o.todoList.className)||n.isApplied(i,o))&&("ul"===n.element||"ol"===n.element)&&n.options.attributes?.class!==this.j.o.todoList.className){let t=l.Dom.replace(i,n.element,this.jodit.createInside);return n.setApplied(t,o),this.__removeInputs(t),t}}__afterEnter(){(0,c.$$)("ul."+this.j.o.todoList.className+" li",this.jodit.editor).forEach(this.__prependInputLabel)}__afterTab(){(0,c.$$)("ul:not(."+this.j.o.todoList.className+") > li > label",this.jodit.editor).filter(this.isTodoLeafLabel).forEach(l.Dom.safeRemove)}__changeSelection(t){let i=this.j.s.current();this.isTodoLeafLabel(i)&&(t.preventDefault(),t.stopPropagation(),this.j.s.setCursorAfter(i))}__isEmptyListLeaf(t){return l.Dom.isEmpty(t,t=>!("input"===t.nodeName.toLowerCase()&&this.isTodoLeafLabel(t.parentElement))&&s.NO_EMPTY_TAGS.has(t.tagName.toLowerCase()))}__backSpaceBeforeCases(t,i){if(t){let t=l.Dom.findNotEmptySibling(i,!0);this.isTodoLeafLabel(t)&&l.Dom.safeRemove(t)}}__isInvisibleForCursor(t){if(this.isTodoLeafLabel(t))return!0}__backSpaceAfterDelete(){let{labelClassName:t}=this.j.o.todoList;(0,c.$$)("label."+t,this.jodit.editor).forEach(t=>{t.closest("ul."+this.j.o.todoList.className)?t.previousSibling&&t.parentElement&&l.Dom.prepend(t.parentElement,t):l.Dom.safeRemove(t)})}__afterWrapList(t,i){t===d.WRAP&&this.__appendInputs(i)}__onClickInput(t){let i=t.target;i&&l.Dom.isTag(i,"input")&&"checkbox"===i.type&&this.isTodoLeafLabel(i.parentElement)&&(0,c.attr)(i,"checked",i.checked?"checked":null)}isTodoLeafLabel(t){let{labelClassName:i}=this.j.o.todoList;return l.Dom.isHTMLElement(t)&&t.classList.contains(i)}beforeDestruct(t){}constructor(...t){super(...t),(0,o._)(this,"buttons",[{name:"todoList",group:"list"}]),(0,o._)(this,"__isOwnCommand",!1)}}(0,o._)(p,"requires",["license"]),(0,r.__decorate)([a.autobind],p.prototype,"onCommand",null),(0,r.__decorate)([a.autobind],p.prototype,"__prependInputLabel",null),(0,r.__decorate)([(0,a.watch)(":commitStyleAfterToggleList")],p.prototype,"__afterToggleList",null),(0,r.__decorate)([(0,a.watch)(":commitStyleBeforeUnwrapList")],p.prototype,"__beforeToggleOrderedList",null),(0,r.__decorate)([(0,a.watch)(":afterEnter")],p.prototype,"__afterEnter",null),(0,r.__decorate)([(0,a.watch)(":afterTab")],p.prototype,"__afterTab",null),(0,r.__decorate)([(0,a.watch)("j.ed:selectionchange"),(0,a.watch)(":afterEnter")],p.prototype,"__changeSelection",null),(0,r.__decorate)([(0,a.watch)(":enterIsEmptyListLeaf")],p.prototype,"__isEmptyListLeaf",null),(0,r.__decorate)([(0,a.watch)(":backSpaceBeforeCases")],p.prototype,"__backSpaceBeforeCases",null),(0,r.__decorate)([(0,a.watch)(":backSpaceIsMovedIgnore"),(0,a.watch)(":isInvisibleForCursor")],p.prototype,"__isInvisibleForCursor",null),(0,r.__decorate)([(0,a.watch)(":backSpaceAfterDelete")],p.prototype,"__backSpaceAfterDelete",null),(0,r.__decorate)([a.autobind],p.prototype,"__afterWrapList",null),(0,r.__decorate)([(0,a.watch)(":click")],p.prototype,"__onClickInput",null),(0,r.__decorate)([a.autobind],p.prototype,"isTodoLeafLabel",null),h.JoditPro.plugins.add("todo-list",p)},20104:function(t,i,n){"use strict";var o=n(74922),r=n.n(o),s=n(34575),a=n.n(s),l=n(6441),c=n(12153);l.Config.prototype.translate={hotkeys:{translateSelection:["ctrl+shift+o","cmd+shift+o"],translateOptions:["ctrl+shift+p","cmd+shift+p"]},provider:"google",googleProviderOptions:{url:"https://translation.googleapis.com/language/translate/v2",key:""},cloudProviderOptions:{url:"https://cloud.xdsoft.net",key:""},defaultSourceLang:"",defaultTargetLang:"de"},l.Config.prototype.controls.translate={translate:{tooltip:"Translate selected text",icon:"translate",command:"translate",exec(t){t.execCommand("translate")},list:["Options"],childExec(t,i,{control:n}){t.execCommand("translate"+n.name)},mods:{stroke:!1}}},c.Icon.set("translate",a()).set("translate-swap",r())},50090:function(t,i,n){"use strict";n.d(i,{CloudTranslateProvider:function(){return l}});var o=n(82749),r=n(82758),s=n(38837),a=n(80942);class l{__fetch(t,i={}){let n=this.jodit.o.translate.cloudProviderOptions;return(0,s.assert)(n,"Set cloudProviderOptions"),this.jodit.fetch(n.url+t+"?key="+n.key,{method:"POST",data:i,contentType:"application/json; charset=utf-8",withCredentials:!1}).then(t=>t.json()).catch(t=>{try{this.jodit.message.error(t.json().message)}catch(t){r.IS_PROD}})}translate(t,i,n){let o={text:t,targetLanguageCode:n};return i&&(o.sourceLanguageCode=i),this.__fetch("/v1/translate",o).then(t=>({text:t.text}))}supportedLanguages(){return Promise.resolve({langs:a.languages})}constructor(t){(0,o._)(this,"jodit",void 0),this.jodit=t}}},27834:function(t,i,n){"use strict";n.d(i,{GoogleTranslateProvider:function(){return l}});var o=n(82749),r=n(82758),s=n(38837),a=n(80942);class l{__fetch(t,i={}){let n=this.jodit.o.translate.googleProviderOptions;return(0,s.assert)(n,"Set googleProviderOptions"),this.jodit.fetch(n.url+"?key="+n.key,{method:"POST",data:{...i,ui:this.jodit.o.language},contentType:"application/json; charset=utf-8",withCredentials:!1}).then(t=>t.json()).catch(t=>{try{this.jodit.message.error(t.json().message)}catch(t){r.IS_PROD}})}translate(t,i,n){let o={q:t,target:n,format:"html"};return i&&(o.source=i),this.__fetch("translate",o).then(t=>({text:t.data.translations[0].translatedText}))}supportedLanguages(){return Promise.resolve({langs:a.languages})}constructor(t){(0,o._)(this,"jodit",void 0),this.jodit=t}}},80942:function(t,i,n){"use strict";n.d(i,{languages:function(){return o}});let o={"Detect language":"auto",Afrikaans:"af",Albanian:"sq",Amharic:"am",Arabic:"ar",Armenian:"hy","Assamese*":"as","Aymara*":"ay",Azerbaijani:"az","Bambara*":"bm",Basque:"eu",Belarusian:"be",Bengali:"bn","Bhojpuri*":"bho",Bosnian:"bs",Bulgarian:"bg",Catalan:"ca",Cebuano:"ceb","Chinese (Simplified)":"zh-CN","Chinese (Traditional)":"zh-TW",Corsican:"co",Croatian:"hr",Czech:"cs",Danish:"da","Dhivehi*":"dv","Dogri*":"doi",Dutch:"nl",English:"en",Esperanto:"eo",Estonian:"et","Ewe*":"ee","Filipino (Tagalog)":"fil",Finnish:"fi",French:"fr",Frisian:"fy",Galician:"gl",Georgian:"ka",German:"de",Greek:"el","Guarani*":"gn",Gujarati:"gu","Haitian Creole":"ht",Hausa:"ha",Hawaiian:"haw",Hebrew:"he",Hindi:"hi",Hmong:"hmn",Hungarian:"hu",Icelandic:"is",Igbo:"ig","Ilocano*":"ilo",Indonesian:"id",Irish:"ga",Italian:"it",Japanese:"ja",Kannada:"kn",Kazakh:"kk",Khmer:"km",Kinyarwanda:"rw","Konkani*":"gom",Korean:"ko","Krio*":"kri",Kurdish:"ku","Kurdish (Sorani)*":"ckb",Kyrgyz:"ky",Lao:"lo",Latin:"la",Latvian:"lv","Lingala*":"ln",Lithuanian:"lt","Luganda*":"lg",Luxembourgish:"lb",Macedonian:"mk","Maithili*":"mai",Malagasy:"mg",Malay:"ms",Malayalam:"ml",Maltese:"mt",Maori:"mi",Marathi:"mr","Meiteilon (Manipuri)*":"mni-Mtei",Mizo:"lus",Mongolian:"mn","Myanmar (Burmese)":"my",Nepali:"ne",Norwegian:"no","Nyanja (Chichewa)":"ny","Odia (Oriya)":"or","Oromo*":"om",Pashto:"ps",Persian:"fa",Polish:"pl",Portuguese:"pt",Punjabi:"pa","Quechua*":"qu",Romanian:"ro",Russian:"ru",Samoan:"sm","Sanskrit*":"sa","Scots Gaelic":"gd","Sepedi*":"nso",Serbian:"sr",Sesotho:"st",Shona:"sn",Sindhi:"sd","Sinhala (Sinhalese)":"si",Slovak:"sk",Slovenian:"sl",Somali:"so",Spanish:"es",Sundanese:"su",Swahili:"sw",Swedish:"sv","Tagalog (Filipino)":"tl",Tajik:"tg",Tamil:"ta",Tatar:"tt",Telugu:"te",Thai:"th","Tigrinya*":"ti","Tsonga*":"ts",Turkish:"tr",Turkmen:"tk","Twi (Akan)*":"ak",Ukrainian:"uk",Urdu:"ur",Uyghur:"ug",Uzbek:"uz",Vietnamese:"vi",Welsh:"cy",Xhosa:"xh",Yiddish:"yi",Yoruba:"yo",Zulu:"zu"}},73534:function(t,i,n){"use strict";n.d(i,{getSelectionFragments:function(){return r}});var o=n(2748);function r(t){let i=[],n=t.s.expandSelection().sel;if(!n||0===n.rangeCount||n.isCollapsed)return i;t.s.range.commonAncestorContainer.normalize();let r=t.s.range,{commonAncestorContainer:c,startContainer:u,endContainer:d,startOffset:h,endOffset:p}=r;if(u===d){if(o.Dom.isText(u))return[a(u,h,p)];if(p-h==1){let t=u.childNodes[h];return o.Dom.isText(t)?[a(t,0,t.nodeValue.length)]:[l(t)]}if(0===h&&u.childNodes.length===p)return[l(u)];for(let t=h;t<p;t++){let n=u.childNodes[t];o.Dom.isText(n)?i.push(a(n,0,n.nodeValue.length)):i.push(l(n))}return i}let f=new Set,m=t.ed.createTreeWalker(c,NodeFilter.SHOW_ALL,{acceptNode:t=>!r.intersectsNode(t)||o.Dom.closest(t,t=>t&&f.has(t),c)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),g=m.nextNode();for(;g;){if(o.Dom.isElement(g)&&s(r,g))f.add(g),i.push(l(g));else if(o.Dom.isText(g)&&s(r,g))i.push(a(g,0,g.nodeValue.length));else if(o.Dom.isText(g)){let t=0,n=g.nodeValue.length;g===u&&(t=h),g===d&&(n=p),i.push(a(g,t,n))}g=m.nextNode()}return i}let s=(t,i)=>{let n=document.createRange();try{n.selectNodeContents(i)}catch{n.selectNode(i)}return 0>=t.compareBoundaryPoints(Range.START_TO_START,n)&&t.compareBoundaryPoints(Range.END_TO_END,n)>=0};function a(t,i,n){return{text:t.nodeValue.slice(i,n),replace(o){t.nodeValue=t.nodeValue.slice(0,i)+o+t.nodeValue.slice(n)}}}function l(t){return{text:t.innerHTML,replace(i){t.innerHTML=i}}}},73098:function(t,i,n){"use strict";var o=n(82749),r=n(31635);n(20104);var s=n(50090),a=n(27834),l=n(33124),c=n(73534),u=n(65478),d=n(23282),h=n(70799),p=n(38837),f=n(50911),m=n(10830),g=n(2692);class b extends f.Plugin{__getProvider(){let{provider:t}=this.jodit.options.translate;if((0,h.isString)(t))switch(t){case"google":return new a.GoogleTranslateProvider(this.j);case"cloud":return new s.CloudTranslateProvider(this.j);default:throw Error("Unknown provider")}return(0,p.assert)((0,d.isFunction)(t),"Provider must be a function"),t(this.jodit)}afterInit(t){let i=this.__getProvider();t.registerCommand("translateOptions",{exec:async()=>{let n=this.state,o=t.dlg();o.setHeader("Translate options");let r=await i.supportedLanguages(),s="source"in r?r.source.langs:r.langs,a="target"in r?r.target.langs:r.langs,c=new l.UITranslateSettings(o,this.state,{sourceList:s,targetList:a,onChange(t){n=t}});o.setContent(c),o.setFooter([(0,m.Button)(t,"cancel","Cancel").onAction(()=>o.close()),(0,m.Button)(t,"ok","Save","primary").onAction(()=>{this.state=n,o.close()})]),c.bindDestruct(o),o.setSize(500,400).open(!0)},hotkeys:t.o.translate.hotkeys.translateOptions}).registerCommand("translate",{exec:()=>{let n=(0,c.getSelectionFragments)(t).filter(t=>t.text.trim().length>0);if(!n.length)return void t.message.error("Select text for translate");let o=this.state.sourceLang&&"auto"!==this.state.sourceLang?this.state.sourceLang:"",r=this.state.targetLang;return Promise.all(n.map(n=>{i.translate(n.text,o,r).then(t=>{n.replace(t.text)}).catch(i=>{t.message.error((0,h.isString)(i)?i:i.message)})})).then(()=>{t.synchronizeValues()})},hotkeys:t.o.translate.hotkeys.translateSelection})}beforeDestruct(t){}constructor(...t){super(...t),(0,o._)(this,"buttons",[{name:"translate.translate",group:"insert"}]),(0,o._)(this,"state",{sourceLang:this.jodit.o.translate.defaultSourceLang||"en",targetLang:this.jodit.o.translate.defaultTargetLang})}}(0,o._)(b,"requires",["license"]),(0,r.__decorate)([u.persistent],b.prototype,"state",void 0),g.JoditPro.plugins.add("translate",b)},67082:function(t,i,n){"use strict";n.d(i,{UITranslateList:function(){return p}});var o=n(82749),r=n(31635),s=n(82758),a=n(65478),l=n(2748),c=n(21537),u=n(29960),d=n(48538),h=n(80256);class p extends d.UIElement{className(){return"UITranslateList"}get items(){return this.getElms("item")}render(t){let i=[];return(Array.isArray(t.list)?t.list:Object.keys(t.list).map(i=>({title:i,code:t.list[i]}))).forEach(t=>{let n=t.code;i.push(`<a role='button' tabindex='0' class='&__item' data-lang='${n}'>
|
|
632
632
|
<span class='&__item-key'>${n}</span>
|
|
633
633
|
<span class='&__item-title'>${this.j.i18n(t.title)}</span>
|
|
634
634
|
</a>`)}),`<div class='&'>
|