jodit-pro 4.12.6 → 4.12.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es2015/jodit.css +1 -1
- package/es2015/jodit.fat.min.js +4 -4
- package/es2015/jodit.js +98 -17
- package/es2015/jodit.min.js +4 -4
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2015/plugins/autocomplete/autocomplete.js +1 -1
- package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2015/plugins/backup/backup.css +1 -1
- package/es2015/plugins/backup/backup.js +1 -1
- package/es2015/plugins/backup/backup.min.js +1 -1
- package/es2015/plugins/button-generator/button-generator.css +1 -1
- package/es2015/plugins/button-generator/button-generator.js +1 -1
- package/es2015/plugins/button-generator/button-generator.min.js +1 -1
- package/es2015/plugins/change-case/change-case.js +1 -1
- package/es2015/plugins/change-case/change-case.min.js +1 -1
- package/es2015/plugins/color-picker/color-picker.css +1 -1
- package/es2015/plugins/color-picker/color-picker.js +1 -1
- package/es2015/plugins/color-picker/color-picker.min.js +1 -1
- package/es2015/plugins/emoji/emoji.css +1 -1
- package/es2015/plugins/emoji/emoji.js +1 -1
- package/es2015/plugins/emoji/emoji.min.js +1 -1
- package/es2015/plugins/export-docs/export-docs.js +1 -1
- package/es2015/plugins/export-docs/export-docs.min.js +1 -1
- package/es2015/plugins/finder/finder.css +1 -1
- package/es2015/plugins/finder/finder.js +1 -1
- package/es2015/plugins/finder/finder.min.js +1 -1
- package/es2015/plugins/google-maps/google-maps.css +1 -1
- package/es2015/plugins/google-maps/google-maps.js +1 -1
- package/es2015/plugins/google-maps/google-maps.min.js +1 -1
- package/es2015/plugins/google-search/google-search.js +1 -1
- package/es2015/plugins/google-search/google-search.min.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2015/plugins/keyboard/keyboard.css +1 -1
- package/es2015/plugins/keyboard/keyboard.js +1 -1
- package/es2015/plugins/keyboard/keyboard.min.js +1 -1
- package/es2015/plugins/mobile-view/mobile-view.js +1 -1
- package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2015/plugins/page-break/page-break.js +1 -1
- package/es2015/plugins/page-break/page-break.min.js +1 -1
- package/es2015/plugins/paste-code/paste-code.css +1 -1
- package/es2015/plugins/paste-code/paste-code.js +1 -1
- package/es2015/plugins/paste-code/paste-code.min.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2015/plugins/show-blocks/show-blocks.js +1 -1
- package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2015/plugins/style/style.css +1 -1
- package/es2015/plugins/style/style.js +1 -1
- package/es2015/plugins/style/style.min.js +1 -1
- package/es2015/plugins/templates/templates.css +1 -1
- package/es2015/plugins/templates/templates.js +1 -1
- package/es2015/plugins/templates/templates.min.js +1 -1
- package/es2015/plugins/todo-list/todo-list.css +1 -1
- package/es2015/plugins/todo-list/todo-list.js +1 -1
- package/es2015/plugins/todo-list/todo-list.min.js +1 -1
- package/es2015/plugins/translate/translate.css +1 -1
- package/es2015/plugins/translate/translate.js +1 -1
- package/es2015/plugins/translate/translate.min.js +1 -1
- package/es2015/plugins/tune-block/tune-block.css +1 -1
- package/es2015/plugins/tune-block/tune-block.js +1 -1
- package/es2015/plugins/tune-block/tune-block.min.js +1 -1
- package/es2018/jodit.fat.min.js +4 -4
- package/es2018/jodit.min.js +8 -8
- package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2018/plugins/backup/backup.min.js +1 -1
- package/es2018/plugins/button-generator/button-generator.min.js +1 -1
- package/es2018/plugins/change-case/change-case.min.js +1 -1
- package/es2018/plugins/color-picker/color-picker.min.js +1 -1
- package/es2018/plugins/emoji/emoji.min.js +1 -1
- package/es2018/plugins/export-docs/export-docs.min.js +1 -1
- package/es2018/plugins/finder/finder.min.js +1 -1
- package/es2018/plugins/google-maps/google-maps.min.js +1 -1
- package/es2018/plugins/google-search/google-search.min.js +1 -1
- package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2018/plugins/keyboard/keyboard.min.js +1 -1
- package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2018/plugins/page-break/page-break.min.js +1 -1
- package/es2018/plugins/paste-code/paste-code.min.js +1 -1
- package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2018/plugins/style/style.min.js +1 -1
- package/es2018/plugins/templates/templates.min.js +1 -1
- package/es2018/plugins/todo-list/todo-list.min.js +1 -1
- package/es2018/plugins/translate/translate.min.js +1 -1
- package/es2018/plugins/tune-block/tune-block.min.js +1 -1
- package/es2021/jodit.css +1 -1
- package/es2021/jodit.fat.min.js +4 -4
- package/es2021/jodit.js +98 -17
- package/es2021/jodit.min.js +9 -9
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2021/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2021/plugins/backup/backup.css +1 -1
- package/es2021/plugins/backup/backup.js +1 -1
- package/es2021/plugins/backup/backup.min.js +1 -1
- package/es2021/plugins/button-generator/button-generator.css +1 -1
- package/es2021/plugins/button-generator/button-generator.js +1 -1
- package/es2021/plugins/button-generator/button-generator.min.js +1 -1
- package/es2021/plugins/change-case/change-case.js +1 -1
- package/es2021/plugins/change-case/change-case.min.js +1 -1
- package/es2021/plugins/color-picker/color-picker.css +1 -1
- package/es2021/plugins/color-picker/color-picker.js +1 -1
- package/es2021/plugins/color-picker/color-picker.min.js +1 -1
- package/es2021/plugins/emoji/emoji.css +1 -1
- package/es2021/plugins/emoji/emoji.js +1 -1
- package/es2021/plugins/emoji/emoji.min.js +1 -1
- package/es2021/plugins/export-docs/export-docs.js +1 -1
- package/es2021/plugins/export-docs/export-docs.min.js +1 -1
- package/es2021/plugins/finder/finder.css +1 -1
- package/es2021/plugins/finder/finder.js +1 -1
- package/es2021/plugins/finder/finder.min.js +1 -1
- package/es2021/plugins/google-maps/google-maps.css +1 -1
- package/es2021/plugins/google-maps/google-maps.js +1 -1
- package/es2021/plugins/google-maps/google-maps.min.js +1 -1
- package/es2021/plugins/google-search/google-search.js +1 -1
- package/es2021/plugins/google-search/google-search.min.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021/plugins/keyboard/keyboard.css +1 -1
- package/es2021/plugins/keyboard/keyboard.js +1 -1
- package/es2021/plugins/keyboard/keyboard.min.js +1 -1
- package/es2021/plugins/mobile-view/mobile-view.js +1 -1
- package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2021/plugins/page-break/page-break.js +1 -1
- package/es2021/plugins/page-break/page-break.min.js +1 -1
- package/es2021/plugins/paste-code/paste-code.css +1 -1
- package/es2021/plugins/paste-code/paste-code.js +1 -1
- package/es2021/plugins/paste-code/paste-code.min.js +1 -1
- package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2021/plugins/show-blocks/show-blocks.js +1 -1
- package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2021/plugins/style/style.css +1 -1
- package/es2021/plugins/style/style.js +1 -1
- package/es2021/plugins/style/style.min.js +1 -1
- package/es2021/plugins/templates/templates.css +1 -1
- package/es2021/plugins/templates/templates.js +1 -1
- package/es2021/plugins/templates/templates.min.js +1 -1
- package/es2021/plugins/todo-list/todo-list.css +1 -1
- package/es2021/plugins/todo-list/todo-list.js +1 -1
- package/es2021/plugins/todo-list/todo-list.min.js +1 -1
- package/es2021/plugins/translate/translate.css +1 -1
- package/es2021/plugins/translate/translate.js +1 -1
- package/es2021/plugins/translate/translate.min.js +1 -1
- package/es2021/plugins/tune-block/tune-block.css +1 -1
- package/es2021/plugins/tune-block/tune-block.js +1 -1
- package/es2021/plugins/tune-block/tune-block.min.js +1 -1
- package/es2021.en/jodit.css +1 -1
- package/es2021.en/jodit.fat.min.js +4 -4
- package/es2021.en/jodit.js +98 -17
- package/es2021.en/jodit.min.js +4 -4
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
- package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2021.en/plugins/backup/backup.css +1 -1
- package/es2021.en/plugins/backup/backup.js +1 -1
- package/es2021.en/plugins/backup/backup.min.js +1 -1
- package/es2021.en/plugins/button-generator/button-generator.css +1 -1
- package/es2021.en/plugins/button-generator/button-generator.js +1 -1
- package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
- package/es2021.en/plugins/change-case/change-case.js +1 -1
- package/es2021.en/plugins/change-case/change-case.min.js +1 -1
- package/es2021.en/plugins/color-picker/color-picker.css +1 -1
- package/es2021.en/plugins/color-picker/color-picker.js +1 -1
- package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
- package/es2021.en/plugins/emoji/emoji.css +1 -1
- package/es2021.en/plugins/emoji/emoji.js +1 -1
- package/es2021.en/plugins/emoji/emoji.min.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.js +1 -1
- package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
- package/es2021.en/plugins/finder/finder.css +1 -1
- package/es2021.en/plugins/finder/finder.js +1 -1
- package/es2021.en/plugins/finder/finder.min.js +1 -1
- package/es2021.en/plugins/google-maps/google-maps.css +1 -1
- package/es2021.en/plugins/google-maps/google-maps.js +1 -1
- package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
- package/es2021.en/plugins/google-search/google-search.js +1 -1
- package/es2021.en/plugins/google-search/google-search.min.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2021.en/plugins/keyboard/keyboard.css +1 -1
- package/es2021.en/plugins/keyboard/keyboard.js +1 -1
- package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
- package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
- package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2021.en/plugins/page-break/page-break.js +1 -1
- package/es2021.en/plugins/page-break/page-break.min.js +1 -1
- package/es2021.en/plugins/paste-code/paste-code.css +1 -1
- package/es2021.en/plugins/paste-code/paste-code.js +1 -1
- package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
- package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
- package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2021.en/plugins/style/style.css +1 -1
- package/es2021.en/plugins/style/style.js +1 -1
- package/es2021.en/plugins/style/style.min.js +1 -1
- package/es2021.en/plugins/templates/templates.css +1 -1
- package/es2021.en/plugins/templates/templates.js +1 -1
- package/es2021.en/plugins/templates/templates.min.js +1 -1
- package/es2021.en/plugins/todo-list/todo-list.css +1 -1
- package/es2021.en/plugins/todo-list/todo-list.js +1 -1
- package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
- package/es2021.en/plugins/translate/translate.css +1 -1
- package/es2021.en/plugins/translate/translate.js +1 -1
- package/es2021.en/plugins/translate/translate.min.js +1 -1
- package/es2021.en/plugins/tune-block/tune-block.css +1 -1
- package/es2021.en/plugins/tune-block/tune-block.js +1 -1
- package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
- package/es5/jodit.css +2 -2
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +102 -18
- package/es5/jodit.min.css +2 -2
- package/es5/jodit.min.js +2 -2
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
- package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
- package/es5/plugins/autocomplete/autocomplete.js +1 -1
- package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es5/plugins/backup/backup.css +1 -1
- package/es5/plugins/backup/backup.js +1 -1
- package/es5/plugins/backup/backup.min.js +1 -1
- package/es5/plugins/button-generator/button-generator.css +1 -1
- package/es5/plugins/button-generator/button-generator.js +1 -1
- package/es5/plugins/button-generator/button-generator.min.js +1 -1
- package/es5/plugins/change-case/change-case.js +1 -1
- package/es5/plugins/change-case/change-case.min.js +1 -1
- package/es5/plugins/color-picker/color-picker.css +1 -1
- package/es5/plugins/color-picker/color-picker.js +1 -1
- package/es5/plugins/color-picker/color-picker.min.js +1 -1
- package/es5/plugins/emoji/emoji.css +1 -1
- package/es5/plugins/emoji/emoji.js +1 -1
- package/es5/plugins/emoji/emoji.min.js +1 -1
- package/es5/plugins/export-docs/export-docs.js +1 -1
- package/es5/plugins/export-docs/export-docs.min.js +1 -1
- package/es5/plugins/finder/finder.css +1 -1
- package/es5/plugins/finder/finder.js +1 -1
- package/es5/plugins/finder/finder.min.js +1 -1
- package/es5/plugins/google-maps/google-maps.css +1 -1
- package/es5/plugins/google-maps/google-maps.js +1 -1
- package/es5/plugins/google-maps/google-maps.min.js +1 -1
- package/es5/plugins/google-search/google-search.js +1 -1
- package/es5/plugins/google-search/google-search.min.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es5/plugins/keyboard/keyboard.css +1 -1
- package/es5/plugins/keyboard/keyboard.js +1 -1
- package/es5/plugins/keyboard/keyboard.min.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.js +1 -1
- package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es5/plugins/page-break/page-break.js +1 -1
- package/es5/plugins/page-break/page-break.min.js +1 -1
- package/es5/plugins/paste-code/paste-code.css +1 -1
- package/es5/plugins/paste-code/paste-code.js +1 -1
- package/es5/plugins/paste-code/paste-code.min.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.js +1 -1
- package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es5/plugins/style/style.css +1 -1
- package/es5/plugins/style/style.js +1 -1
- package/es5/plugins/style/style.min.js +1 -1
- package/es5/plugins/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/package.json +1 -1
package/es2021/jodit.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* jodit-pro - PRO Version of Jodit Editor
|
|
3
3
|
* Author: Chupurnov Valerii <chupurnov@gmail.com>
|
|
4
|
-
* Version: v4.12.
|
|
4
|
+
* Version: v4.12.8
|
|
5
5
|
* Url: https://xdsoft.net/jodit/pro/
|
|
6
6
|
* License(s): SEE LICENSE IN LICENSE.md
|
|
7
7
|
*/
|
|
@@ -714,14 +714,39 @@ let ConfigPrototype = {};
|
|
|
714
714
|
* ```
|
|
715
715
|
*/ this.disablePlugins = [];
|
|
716
716
|
/**
|
|
717
|
-
* Init and download extra plugins
|
|
717
|
+
* Init and download extra plugins that are **not** already bundled/registered.
|
|
718
|
+
*
|
|
719
|
+
* For every name in this list that is not found in the plugin registry, Jodit
|
|
720
|
+
* loads it **at runtime over the network** from:
|
|
721
|
+
*
|
|
722
|
+
* ```text
|
|
723
|
+
* <basePath>plugins/<name>/<name>(.min).js
|
|
724
|
+
* ```
|
|
725
|
+
*
|
|
726
|
+
* (see {@link Config.basePath} and {@link Config.minified}). If the plugin is
|
|
727
|
+
* already registered — e.g. you imported it statically, or you use a bundle
|
|
728
|
+
* that ships it (such as the `jodit-pro` / `jodit-pro-react` "all plugins"
|
|
729
|
+
* build) — it is **skipped** and no request is made; in that case you don't
|
|
730
|
+
* need `extraPlugins` at all, just add the plugin's button.
|
|
718
731
|
*
|
|
719
732
|
* ```typescript
|
|
720
|
-
*
|
|
733
|
+
* // Dynamic loading: fetches <basePath>plugins/emoji/emoji.js
|
|
734
|
+
* const editor = Jodit.make('.editor', {
|
|
721
735
|
* extraPlugins: ['emoji']
|
|
722
736
|
* });
|
|
723
737
|
* ```
|
|
724
|
-
*
|
|
738
|
+
*
|
|
739
|
+
* You can also pass an explicit URL to bypass the `basePath` convention:
|
|
740
|
+
*
|
|
741
|
+
* ```typescript
|
|
742
|
+
* const editor = Jodit.make('.editor', {
|
|
743
|
+
* extraPlugins: [{ name: 'emoji', url: 'https://cdn.example.com/emoji.js' }]
|
|
744
|
+
* });
|
|
745
|
+
* ```
|
|
746
|
+
*
|
|
747
|
+
* Note: if you see a request to a malformed URL (e.g. `.../src/main.tsx?t=...plugins/emoji/emoji.js`),
|
|
748
|
+
* it means `basePath` was auto-detected incorrectly under your bundler — set
|
|
749
|
+
* {@link Config.basePath} explicitly. See the Plugin System docs for details.
|
|
725
750
|
*/ this.extraPlugins = [];
|
|
726
751
|
/**
|
|
727
752
|
* Additional buttons appended to the {@link Config.buttons} list
|
|
@@ -1721,7 +1746,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1721
1746
|
* ```
|
|
1722
1747
|
* @packageDocumentation
|
|
1723
1748
|
* @module constants
|
|
1724
|
-
*/ const APP_VERSION = "4.12.
|
|
1749
|
+
*/ const APP_VERSION = "4.12.8";
|
|
1725
1750
|
// prettier-ignore
|
|
1726
1751
|
const ES = "es2021";
|
|
1727
1752
|
const IS_ES_MODERN = true;
|
|
@@ -15113,8 +15138,9 @@ UISpacer = __decorate([
|
|
|
15113
15138
|
/* harmony export */ Icon: function() { return /* binding */ Icon; }
|
|
15114
15139
|
/* harmony export */ });
|
|
15115
15140
|
/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
15116
|
-
/* harmony import */ var
|
|
15117
|
-
/* harmony import */ var
|
|
15141
|
+
/* harmony import */ var _dom_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2748);
|
|
15142
|
+
/* harmony import */ var _helpers_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21537);
|
|
15143
|
+
/* harmony import */ var _helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(41180);
|
|
15118
15144
|
/*!
|
|
15119
15145
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
15120
15146
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
@@ -15122,12 +15148,13 @@ UISpacer = __decorate([
|
|
|
15122
15148
|
*/
|
|
15123
15149
|
|
|
15124
15150
|
|
|
15151
|
+
|
|
15125
15152
|
class Icon {
|
|
15126
15153
|
static getIcon(name) {
|
|
15127
15154
|
if (/<svg/i.test(name)) {
|
|
15128
15155
|
return name;
|
|
15129
15156
|
}
|
|
15130
|
-
const icon = Icon.icons[name] || Icon.icons[name.replace(/-/g, '_')] || Icon.icons[name.replace(/_/g, '-')] || Icon.icons[(0,
|
|
15157
|
+
const icon = Icon.icons[name] || Icon.icons[name.replace(/-/g, '_')] || Icon.icons[name.replace(/_/g, '-')] || Icon.icons[(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.camelCase)(name)] || Icon.icons[(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_2__.kebabCase)(name)] || Icon.icons[name.toLowerCase()];
|
|
15131
15158
|
if (!_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_PROD && !icon) {
|
|
15132
15159
|
console.warn(`Icon "${name}" not found`);
|
|
15133
15160
|
}
|
|
@@ -15169,11 +15196,11 @@ class Icon {
|
|
|
15169
15196
|
}
|
|
15170
15197
|
if (iconURL) {
|
|
15171
15198
|
iconElement = jodit.c.span();
|
|
15172
|
-
(0,
|
|
15199
|
+
(0,_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_3__.css)(iconElement, 'backgroundImage', 'url(' + iconURL.replace('{basePath}', (jodit === null || jodit === void 0 ? void 0 : jodit.basePath) || '') + ')');
|
|
15173
15200
|
} else {
|
|
15174
15201
|
const svg = iconFromEvent || Icon.get(name, '') || ((_d = jodit.o.extraIcons) === null || _d === void 0 ? void 0 : _d[name]);
|
|
15175
15202
|
if (svg) {
|
|
15176
|
-
iconElement =
|
|
15203
|
+
iconElement = Icon.toIconElement(jodit, svg.trim());
|
|
15177
15204
|
if (!/^<svg/i.test(name)) {
|
|
15178
15205
|
iconElement.classList.add('jodit-icon_' + clearName);
|
|
15179
15206
|
}
|
|
@@ -15189,6 +15216,18 @@ class Icon {
|
|
|
15189
15216
|
}
|
|
15190
15217
|
return iconElement;
|
|
15191
15218
|
}
|
|
15219
|
+
/**
|
|
15220
|
+
* Turn a raw icon string into an element with a `classList`.
|
|
15221
|
+
*
|
|
15222
|
+
* A plain-text icon (e.g. an emoji/text glyph) makes `fromHTML` return a
|
|
15223
|
+
* Text node, which has no `classList`; wrap it in a span so classes/styles
|
|
15224
|
+
* can be applied and `makeIcon` never crashes on `iconElement.classList`.
|
|
15225
|
+
* Note: SVG icons are `SVGElement` (not `HTMLElement`) but are still Element
|
|
15226
|
+
* nodes with a `classList`, so we check `isElement`, not `isHTMLElement`.
|
|
15227
|
+
*/ static toIconElement(jodit, svg) {
|
|
15228
|
+
const node = jodit.c.fromHTML(svg);
|
|
15229
|
+
return _dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isElement(node) ? node : jodit.c.span('jodit-icon_text', node);
|
|
15230
|
+
}
|
|
15192
15231
|
}
|
|
15193
15232
|
Icon.icons = {};
|
|
15194
15233
|
Icon.__cache = new Map();
|
|
@@ -45113,7 +45152,10 @@ _config_js__WEBPACK_IMPORTED_MODULE_5__.Config.prototype.controls.speechRecogniz
|
|
|
45113
45152
|
api.on('result', (text)=>jodit.e.fire('speechRecognizeResult', text));
|
|
45114
45153
|
api.on('progress', (text)=>jodit.e.fire('speechRecognizeProgressResult', text));
|
|
45115
45154
|
api.on('error', (text)=>jodit.message.error(text));
|
|
45116
|
-
|
|
45155
|
+
// Tie cleanup to the editor lifecycle (not the button): the manager
|
|
45156
|
+
// must survive toolbar rebuilds and be released — together with its
|
|
45157
|
+
// AudioContext — only when the editor itself is destroyed.
|
|
45158
|
+
jodit.hookStatus('beforeDestruct', ()=>{
|
|
45117
45159
|
(0,_core_helpers_utils_data_bind_js__WEBPACK_IMPORTED_MODULE_3__.dataBind)(jodit, 'speech', null);
|
|
45118
45160
|
api.destruct();
|
|
45119
45161
|
});
|
|
@@ -45257,6 +45299,7 @@ class RecognizeManager extends _core_event_emitter_eventify_js__WEBPACK_IMPORTED
|
|
|
45257
45299
|
}
|
|
45258
45300
|
destruct() {
|
|
45259
45301
|
this.stop();
|
|
45302
|
+
(0,_sound_js__WEBPACK_IMPORTED_MODULE_2__.closeSound)(this);
|
|
45260
45303
|
RecognizeManager._instances.delete(this);
|
|
45261
45304
|
super.destruct();
|
|
45262
45305
|
}
|
|
@@ -45355,7 +45398,7 @@ class RecognizeManager extends _core_event_emitter_eventify_js__WEBPACK_IMPORTED
|
|
|
45355
45398
|
}
|
|
45356
45399
|
_makeSound(frequency) {
|
|
45357
45400
|
if (this.sound) {
|
|
45358
|
-
(0,_sound_js__WEBPACK_IMPORTED_MODULE_2__.sound)({
|
|
45401
|
+
(0,_sound_js__WEBPACK_IMPORTED_MODULE_2__.sound)(this, {
|
|
45359
45402
|
frequency
|
|
45360
45403
|
});
|
|
45361
45404
|
}
|
|
@@ -45403,6 +45446,7 @@ __decorate([
|
|
|
45403
45446
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
45404
45447
|
|
|
45405
45448
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
45449
|
+
/* harmony export */ closeSound: function() { return /* binding */ closeSound; },
|
|
45406
45450
|
/* harmony export */ sound: function() { return /* binding */ sound; }
|
|
45407
45451
|
/* harmony export */ });
|
|
45408
45452
|
/* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
|
|
@@ -45416,22 +45460,59 @@ __decorate([
|
|
|
45416
45460
|
*/
|
|
45417
45461
|
|
|
45418
45462
|
/**
|
|
45463
|
+
* One AudioContext per owner (e.g. a RecognizeManager). Previously a new context
|
|
45464
|
+
* was created on every beep and never closed, so during continuous recognition
|
|
45465
|
+
* they piled up — leaking until the browser's per-page limit was hit and the
|
|
45466
|
+
* overlapping audio turned into a "roar". We now reuse a single context per
|
|
45467
|
+
* owner and release it via {@link closeSound} when the owner is destroyed.
|
|
45419
45468
|
* @internal
|
|
45420
|
-
*/
|
|
45421
|
-
|
|
45469
|
+
*/ const contexts = new WeakMap();
|
|
45470
|
+
function getContext(owner) {
|
|
45471
|
+
if (!_core_constants_js__WEBPACK_IMPORTED_MODULE_0__.globalWindow) {
|
|
45472
|
+
return null;
|
|
45473
|
+
}
|
|
45474
|
+
const existing = contexts.get(owner);
|
|
45475
|
+
if (existing && existing.state !== 'closed') {
|
|
45476
|
+
return existing;
|
|
45477
|
+
}
|
|
45478
|
+
const Ctor = _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.globalWindow.AudioContext || _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.globalWindow.webkitAudioContext;
|
|
45479
|
+
if (!Ctor) {
|
|
45480
|
+
return null;
|
|
45481
|
+
}
|
|
45482
|
+
const context = new Ctor();
|
|
45483
|
+
contexts.set(owner, context);
|
|
45484
|
+
return context;
|
|
45485
|
+
}
|
|
45486
|
+
/**
|
|
45487
|
+
* Play a short beep on the owner's (lazily created, reused) AudioContext.
|
|
45488
|
+
* @internal
|
|
45489
|
+
*/ function sound(owner, { sec = 0.1, frequency = _constants_js__WEBPACK_IMPORTED_MODULE_1__.PII, gain = 0.1, type = 'sine' } = {}) {
|
|
45490
|
+
const context = getContext(owner);
|
|
45491
|
+
if (!context) {
|
|
45422
45492
|
return;
|
|
45423
45493
|
}
|
|
45424
|
-
// one context per document
|
|
45425
|
-
const context = new (_core_constants_js__WEBPACK_IMPORTED_MODULE_0__.globalWindow.AudioContext || _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.globalWindow.webkitAudioContext)();
|
|
45426
45494
|
const vol = context.createGain();
|
|
45427
45495
|
const osc = context.createOscillator();
|
|
45428
45496
|
osc.type = type;
|
|
45429
45497
|
osc.frequency.value = frequency; // Hz
|
|
45498
|
+
vol.gain.value = gain;
|
|
45430
45499
|
osc.connect(vol);
|
|
45431
45500
|
vol.connect(context.destination);
|
|
45432
45501
|
osc.start(); // start the oscillator
|
|
45433
45502
|
osc.stop(context.currentTime + sec);
|
|
45434
|
-
|
|
45503
|
+
}
|
|
45504
|
+
/**
|
|
45505
|
+
* Close and forget the owner's AudioContext. Call this when the owner is
|
|
45506
|
+
* destroyed so the context does not leak.
|
|
45507
|
+
* @internal
|
|
45508
|
+
*/ function closeSound(owner) {
|
|
45509
|
+
const context = contexts.get(owner);
|
|
45510
|
+
if (context) {
|
|
45511
|
+
contexts.delete(owner);
|
|
45512
|
+
if (context.state !== 'closed') {
|
|
45513
|
+
void context.close();
|
|
45514
|
+
}
|
|
45515
|
+
}
|
|
45435
45516
|
}
|
|
45436
45517
|
|
|
45437
45518
|
|