jodit-pro 4.6.18 → 4.6.21
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 +2 -2
- package/es2015/jodit.js +147 -50
- package/es2015/jodit.min.js +2 -2
- 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/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.css +1 -1
- package/es2018/jodit.fat.min.js +2 -2
- package/es2018/jodit.js +148 -50
- package/es2018/jodit.min.js +2 -2
- package/es2018/plugins/autocomplete/autocomplete.js +1 -1
- package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
- package/es2018/plugins/backup/backup.css +1 -1
- package/es2018/plugins/backup/backup.js +1 -1
- package/es2018/plugins/backup/backup.min.js +1 -1
- package/es2018/plugins/button-generator/button-generator.css +1 -1
- package/es2018/plugins/button-generator/button-generator.js +1 -1
- package/es2018/plugins/button-generator/button-generator.min.js +1 -1
- package/es2018/plugins/change-case/change-case.js +1 -1
- package/es2018/plugins/change-case/change-case.min.js +1 -1
- package/es2018/plugins/color-picker/color-picker.css +1 -1
- package/es2018/plugins/color-picker/color-picker.js +1 -1
- package/es2018/plugins/color-picker/color-picker.min.js +1 -1
- package/es2018/plugins/emoji/emoji.css +1 -1
- package/es2018/plugins/emoji/emoji.js +1 -1
- package/es2018/plugins/emoji/emoji.min.js +1 -1
- package/es2018/plugins/export-docs/export-docs.js +1 -1
- package/es2018/plugins/export-docs/export-docs.min.js +1 -1
- package/es2018/plugins/finder/finder.css +1 -1
- package/es2018/plugins/finder/finder.js +1 -1
- package/es2018/plugins/finder/finder.min.js +1 -1
- package/es2018/plugins/google-maps/google-maps.css +1 -1
- package/es2018/plugins/google-maps/google-maps.js +1 -1
- package/es2018/plugins/google-maps/google-maps.min.js +1 -1
- package/es2018/plugins/google-search/google-search.js +1 -1
- package/es2018/plugins/google-search/google-search.min.js +1 -1
- package/es2018/plugins/highlight-signature/highlight-signature.js +1 -1
- package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
- package/es2018/plugins/iframe-editor/iframe-editor.css +1 -1
- package/es2018/plugins/iframe-editor/iframe-editor.js +1 -1
- package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
- package/es2018/plugins/keyboard/keyboard.css +1 -1
- package/es2018/plugins/keyboard/keyboard.js +1 -1
- package/es2018/plugins/keyboard/keyboard.min.js +1 -1
- package/es2018/plugins/mobile-view/mobile-view.js +1 -1
- package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
- package/es2018/plugins/page-break/page-break.js +1 -1
- package/es2018/plugins/page-break/page-break.min.js +1 -1
- package/es2018/plugins/paste-code/paste-code.css +1 -1
- package/es2018/plugins/paste-code/paste-code.js +1 -1
- package/es2018/plugins/paste-code/paste-code.min.js +1 -1
- package/es2018/plugins/paste-from-word/paste-from-word.js +1 -1
- package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
- package/es2018/plugins/show-blocks/show-blocks.js +1 -1
- package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
- package/es2018/plugins/todo-list/todo-list.css +1 -1
- package/es2018/plugins/todo-list/todo-list.js +1 -1
- package/es2018/plugins/todo-list/todo-list.min.js +1 -1
- package/es2018/plugins/translate/translate.css +1 -1
- package/es2018/plugins/translate/translate.js +1 -1
- package/es2018/plugins/translate/translate.min.js +1 -1
- package/es2018/plugins/tune-block/tune-block.css +1 -1
- package/es2018/plugins/tune-block/tune-block.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 +2 -2
- package/es2021/jodit.js +148 -50
- package/es2021/jodit.min.js +2 -2
- 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/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 +2 -2
- package/es2021.en/jodit.js +148 -50
- package/es2021.en/jodit.min.js +2 -2
- 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/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 +154 -51
- package/es5/jodit.min.css +2 -2
- package/es5/jodit.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/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/esm/config.d.ts +2 -2
- package/esm/plugins/autocomplete/autocomplete.d.ts +5 -15
- package/esm/plugins/autocomplete/autocomplete.js +1 -1
- package/esm/plugins/autocomplete/config.d.ts +17 -0
- package/esm/plugins/autocomplete/config.js +6 -0
- package/esm/plugins/autocomplete/interface.d.ts +6 -6
- package/esm/plugins/autocomplete/ui/autocomplete.d.ts +2 -1
- package/esm/plugins/autocomplete/ui/autocomplete.js +1 -1
- package/esm/plugins/autocomplete/ui/item.d.ts +5 -1
- package/esm/plugins/autocomplete/ui/item.js +1 -1
- package/esm/plugins/license/helpers/helpers.d.ts +1 -0
- package/esm/plugins/license/helpers/helpers.js +1 -1
- package/esm/plugins/license/license.js +1 -1
- package/package.json +1 -1
- package/types/config.d.ts +2 -2
- package/types/plugins/autocomplete/autocomplete.d.ts +5 -15
- package/types/plugins/autocomplete/config.d.ts +17 -0
- package/types/plugins/autocomplete/interface.d.ts +6 -6
- package/types/plugins/autocomplete/ui/autocomplete.d.ts +2 -1
- package/types/plugins/autocomplete/ui/item.d.ts +5 -1
- package/types/plugins/license/helpers/helpers.d.ts +1 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
3
|
+
* See LICENSE.md in the project root for license information.
|
|
4
|
+
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
|
+
*/
|
|
6
|
+
import type { AutoCompleteSource, IAutoCompleteItem } from "./interface";
|
|
7
|
+
declare module 'jodit/esm/config' {
|
|
8
|
+
interface Config {
|
|
9
|
+
autocomplete: {
|
|
10
|
+
maxItems: number;
|
|
11
|
+
isMatchedQuery: (query: string, value: string) => boolean;
|
|
12
|
+
itemRenderer: <T = any>(item: IAutoCompleteItem<T>) => string | HTMLElement;
|
|
13
|
+
insertValueRenderer: <T = any>(item: IAutoCompleteItem<T>) => string | HTMLElement;
|
|
14
|
+
sources: AutoCompleteSource[];
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
3
|
+
* See LICENSE.md in the project root for license information.
|
|
4
|
+
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
|
+
*/
|
|
6
|
+
import{Config as e}from"jodit/esm/config.js";e.prototype.autocomplete={sources:[],maxItems:50,isMatchedQuery:(e,r)=>0===r.toLowerCase().indexOf(e.toLowerCase()),itemRenderer:e=>{var r;return null!==(r=e.title)&&void 0!==r?r:e.value},insertValueRenderer:e=>e.value+" "};
|
|
@@ -10,10 +10,10 @@ export interface IAutoCompleteItem<T = IDictionary> {
|
|
|
10
10
|
itemRenderer?: (item: T) => string | HTMLElement;
|
|
11
11
|
insertValueRenderer?: (item: T) => string | HTMLElement;
|
|
12
12
|
}
|
|
13
|
-
export type AutoCompleteCallback
|
|
14
|
-
export interface IAutoCompleteCustomFeed
|
|
15
|
-
feed: CanPromise<string[]> | CanPromise<IAutoCompleteItem[]> | AutoCompleteCallback
|
|
16
|
-
itemRenderer?: IAutoCompleteItem<
|
|
17
|
-
insertValueRenderer?: IAutoCompleteItem<
|
|
13
|
+
export type AutoCompleteCallback = (query: string) => CanPromise<IAutoCompleteItem[]>;
|
|
14
|
+
export interface IAutoCompleteCustomFeed {
|
|
15
|
+
feed: CanPromise<string[]> | CanPromise<IAutoCompleteItem[]> | AutoCompleteCallback;
|
|
16
|
+
itemRenderer?: IAutoCompleteItem<IAutoCompleteItem>['itemRenderer'];
|
|
17
|
+
insertValueRenderer?: IAutoCompleteItem<IAutoCompleteItem>['insertValueRenderer'];
|
|
18
18
|
}
|
|
19
|
-
export type AutoCompleteSource
|
|
19
|
+
export type AutoCompleteSource = IAutoCompleteCustomFeed['feed'] | IAutoCompleteCustomFeed;
|
|
@@ -10,8 +10,9 @@ export declare class Autocomplete extends UIGroup {
|
|
|
10
10
|
/** @override */
|
|
11
11
|
className(): string;
|
|
12
12
|
elements: AutocompleteItem[];
|
|
13
|
-
|
|
13
|
+
currentSelection: number;
|
|
14
14
|
private onChangeSelection;
|
|
15
|
+
private __previousList;
|
|
15
16
|
build(list: IAutoCompleteItem[]): void;
|
|
16
17
|
selectNext(): void;
|
|
17
18
|
selectPrevious(): void;
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
var e=this&&this.__decorate||function(e,t,n
|
|
6
|
+
var e=this&&this.__decorate||function(e,t,i,n){var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,n);else for(var l=e.length-1;l>=0;l--)(s=e[l])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r};import{AutocompleteItem as t}from"./item.js";import{component as i,watch as n}from"jodit/esm/core/decorators/index.js";import{UIGroup as s}from"jodit/esm/core/ui/group/group.js";let o=class Autocomplete extends s{constructor(){super(...arguments),this.elements=[],this.currentSelection=-1,this.__previousList=[]}className(){return"Autocomplete"}onChangeSelection(){var e,t;this.elements.forEach(e=>e.setMod("active",!1)),null===(e=this.elements[this.currentSelection])||void 0===e||e.setMod("active",!0),null===(t=this.elements[this.currentSelection])||void 0===t||t.container.scrollIntoView(!1)}build(e){var i;const n=null===(i=this.elements[this.currentSelection])||void 0===i?void 0:i.item.value,s=[];let o=-1;for(let i=0;i<e.length;i+=1){if(o+=1,null!=this.__previousList[i]&&e[i].value===this.__previousList[i].value)continue;this.elements[o]&&(s.push(this.elements[o]),o+=1);const n=new t(this.jodit,e[i],t=>{this.currentSelection=e.findIndex(e=>e.value===t),this.select()});this.append(n,o)}for(let e=o+1;e<this.elements.length;e+=1)s.push(this.elements[e]);s.forEach(e=>{this.remove(e),e.destruct()});const r=this.currentSelection;this.currentSelection=Math.max(0,e.findIndex(e=>e.value===n)),r===this.currentSelection&&this.onChangeSelection(),this.__previousList=[...e]}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)}};e([n("currentSelection")],o.prototype,"onChangeSelection",null),o=e([i],o);export{o as Autocomplete};
|
|
@@ -7,7 +7,11 @@ import { UIElement } from "jodit/esm/core/ui/element";
|
|
|
7
7
|
import type { IAutoCompleteItem } from "../interface";
|
|
8
8
|
export declare class AutocompleteItem extends UIElement {
|
|
9
9
|
item: IAutoCompleteItem;
|
|
10
|
+
private onClick;
|
|
11
|
+
readonly value: string;
|
|
10
12
|
/** @override */
|
|
11
13
|
className(): string;
|
|
12
|
-
constructor(jodit: AutocompleteItem['jodit'], item: IAutoCompleteItem);
|
|
14
|
+
constructor(jodit: AutocompleteItem['jodit'], item: IAutoCompleteItem, onClick: (value: string) => void);
|
|
15
|
+
protected onClickPrevent(e: MouseEvent): void;
|
|
16
|
+
protected onClickHandler(): void;
|
|
13
17
|
}
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
import{isFunction as
|
|
6
|
+
var e=this&&this.__decorate||function(e,t,o,r){var n,i=arguments.length,c=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,t,o,r);else for(var l=e.length-1;l>=0;l--)(n=e[l])&&(c=(i<3?n(c):i>3?n(t,o,c):n(t,o))||c);return i>3&&c&&Object.defineProperty(t,o,c),c};import{component as t,watch as o}from"jodit/esm/core/decorators/index.js";import{isFunction as r,isString as n}from"jodit/esm/core/helpers/checker/index.js";import{UIElement as i}from"jodit/esm/core/ui/element.js";let c=class AutocompleteItem extends i{className(){return"AutocompleteItem"}constructor(e,t,o){var i;super(e),this.item=t,this.onClick=o,this.value="";const{container:c}=this;if(this.value=t.value,r(t.itemRenderer)){const e=t.itemRenderer(t);n(e)?c.innerHTML=e:c.appendChild(e)}else c.innerText=null!==(i=t.title)&&void 0!==i?i:t.value}onClickPrevent(e){e.preventDefault(),e.stopPropagation()}onClickHandler(){this.onClick(this.value)}};e([o("container:mousedown container:touchstart")],c.prototype,"onClickPrevent",null),e([o("container:click")],c.prototype,"onClickHandler",null),c=e([t],c);export{c as AutocompleteItem};
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
const t=["*localhost*","staging.","*.dev.","*.test.","*.stg.","stg.*","test.*","beta.*","*demo.*","*test.*","acceptatie.*"];export function
|
|
6
|
+
const t=["*localhost*","staging.","*.dev.","*.test.","*.stg.","stg.*","test.*","beta.*","*demo.*","*test.*","acceptatie.*"];export function isAllowedSubdomain(e){return t.some(t=>new RegExp(function escapeRegex(t){return t.replace(/[/\-\\^$*+?.()|[\]{}]/g,"\\$&")}(t.replace(/\*/g,"%ANY%")).replace(/%ANY%/g,".*")).test(e))}export function validateLicense(t,e){if(validateEntLicense(t=t.replace(/[^A-Z0-9-]/g,"R")))return!0;if(isAllowedSubdomain(e))return!0;const n=domainsHash(e),r=["[A-F013456][A-F0-9]{3}{part}","([0-3]){part}[E-L4-8]{2}\\1","[A-D]{part}[J-P5-6]{3}","{part}[A-R0-9]{3}[X-Z]"].map((t,e)=>t.replace("{part}",n[e]||"[R-T]")),a=RegExp(`^${r.join("-")}$`,"i"),o=t.substring(12,13),s=a.test(t);if(!s&&o===(typeof!e).toUpperCase()[5]){const n=e.split(".");return n.shift(),!!n.length&&validateLicense(t,n.join("."))}return s}export function validateEntLicense(t){return/[A-Z0-9][013456][A-P0-9]{2}[ABC]-([0-3])[ELPDF][E-L4-8]{2}\1-[A-D][R0][J-P5-6]{3}-[DPGHYE][GFPOD]{3}[A-SX-Z]/.test(t)}export function domainsHash(t){const e=t.split(".");return e.map(t=>{const e=t[0];return"string"==typeof e&&Boolean(e.charCodeAt(0))?String.fromCharCode(e.charCodeAt(0)+1):e}).concat(e.map(t=>{const e=t[t.length-1];return"string"==typeof e&&Boolean(e.charCodeAt(0))?String.fromCharCode(e.charCodeAt(0)-1):e})).map(t=>null!=t&&/\w/.test(t)?t:"r")}
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license information.
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
|
-
import{validateLicense as
|
|
6
|
+
import{isAllowedSubdomain as e,validateLicense as t}from"./helpers/helpers.js";import{IS_TEST as o}from"jodit/esm/core/constants.js";import{Dom as s}from"jodit/esm/core/dom/dom.js";import{isBoolean as r}from"jodit/esm/core/helpers/checker/is-boolean.js";import{isString as i}from"jodit/esm/core/helpers/checker/is-string.js";import{Plugin as n}from"jodit/esm/core/plugin/plugin.js";import{JoditPro as c}from"../../jodit-pro.js";export class license extends n{static make(e){return new license(e)}afterInit(s){this.j.e.on("checkReserve",async s=>{const r=this.j.o.license;if(e(s))return"normal";if(!r)return"";const n=s;if(!i(r))return"";let c=t(r,n);return!c&&r[12]>"A"&&!o&&(c=await this.validateLicenseRemote(r,n)),c?"normal":""})}beforeDestruct(e){}async validateLicenseRemote(e,o){const i="validateJoditLicenseRemote",n=this.j.storage.get(i);if(n&&t(n,o))return!0;const c=document.createElement("script");return c.src=`https://xdsoft.net/jodit/pro/api/licenses/validate/?code=${encodeURIComponent(e)}&host=${encodeURIComponent(o)}`,document.body.appendChild(c),this.j.async.promise(e=>{window.onJoditResolveKeyCode=n=>{try{if(r(n))return e(n);t(n,o)?(this.j.storage.set(i,n),e(!0)):e(!1)}finally{s.safeRemove(c)}},this.j.async.setTimeout(()=>{e(!1),s.safeRemove(c)},3e3)})}}c.plugins.add("license",license);
|
package/package.json
CHANGED
package/types/config.d.ts
CHANGED
|
@@ -39,8 +39,8 @@ interface Config {
|
|
|
39
39
|
autocomplete: {
|
|
40
40
|
maxItems: number;
|
|
41
41
|
isMatchedQuery: (query: string, value: string) => boolean;
|
|
42
|
-
itemRenderer: (item: IAutoCompleteItem) => string | HTMLElement;
|
|
43
|
-
insertValueRenderer: (item: IAutoCompleteItem) => string | HTMLElement;
|
|
42
|
+
itemRenderer: <T = any>(item: IAutoCompleteItem<T>) => string | HTMLElement;
|
|
43
|
+
insertValueRenderer: <T = any>(item: IAutoCompleteItem<T>) => string | HTMLElement;
|
|
44
44
|
sources: AutoCompleteSource[];
|
|
45
45
|
};
|
|
46
46
|
}
|
|
@@ -4,37 +4,27 @@
|
|
|
4
4
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
5
|
*/
|
|
6
6
|
import type { IJodit } from "jodit/esm/types/index";
|
|
7
|
+
import "./config";
|
|
7
8
|
import { Plugin } from "jodit/esm/core/plugin/index";
|
|
8
9
|
import type { AutoCompleteSource, IAutoCompleteCustomFeed, IAutoCompleteItem } from "./interface";
|
|
9
|
-
declare module 'jodit/esm/config' {
|
|
10
|
-
interface Config {
|
|
11
|
-
autocomplete: {
|
|
12
|
-
maxItems: number;
|
|
13
|
-
isMatchedQuery: (query: string, value: string) => boolean;
|
|
14
|
-
itemRenderer: (item: IAutoCompleteItem) => string | HTMLElement;
|
|
15
|
-
insertValueRenderer: (item: IAutoCompleteItem) => string | HTMLElement;
|
|
16
|
-
sources: AutoCompleteSource[];
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
10
|
export declare class autocomplete extends Plugin {
|
|
21
11
|
/** @override */
|
|
22
12
|
static requires: string[];
|
|
23
13
|
/** @override */
|
|
24
14
|
hasStyle: boolean;
|
|
25
|
-
private list;
|
|
26
|
-
private popup;
|
|
15
|
+
private get list();
|
|
16
|
+
private get popup();
|
|
27
17
|
private sources;
|
|
28
|
-
constructor(jodit: IJodit);
|
|
29
18
|
/** @override */
|
|
30
19
|
protected afterInit(jodit: IJodit): void;
|
|
31
20
|
private registerAutocompleteSource;
|
|
21
|
+
private unregisterAutocompleteSource;
|
|
32
22
|
private static isControlKey;
|
|
33
23
|
private onKeyDown;
|
|
34
24
|
private onKeyControlDown;
|
|
35
25
|
private onEnter;
|
|
36
26
|
private onAutoComplete;
|
|
37
|
-
resolveFeed
|
|
27
|
+
resolveFeed(query: string, feed: AutoCompleteSource, baseSource?: IAutoCompleteCustomFeed): Promise<IAutoCompleteItem[]>;
|
|
38
28
|
private openPopup;
|
|
39
29
|
/** @override */
|
|
40
30
|
protected beforeDestruct(jodit: IJodit): void;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Jodit Editor PRO (https://xdsoft.net/jodit/)
|
|
3
|
+
* See LICENSE.md in the project root for license information.
|
|
4
|
+
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
|
|
5
|
+
*/
|
|
6
|
+
import type { AutoCompleteSource, IAutoCompleteItem } from "./interface";
|
|
7
|
+
declare module 'jodit/esm/config' {
|
|
8
|
+
interface Config {
|
|
9
|
+
autocomplete: {
|
|
10
|
+
maxItems: number;
|
|
11
|
+
isMatchedQuery: (query: string, value: string) => boolean;
|
|
12
|
+
itemRenderer: <T = any>(item: IAutoCompleteItem<T>) => string | HTMLElement;
|
|
13
|
+
insertValueRenderer: <T = any>(item: IAutoCompleteItem<T>) => string | HTMLElement;
|
|
14
|
+
sources: AutoCompleteSource[];
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -10,10 +10,10 @@ export interface IAutoCompleteItem<T = IDictionary> {
|
|
|
10
10
|
itemRenderer?: (item: T) => string | HTMLElement;
|
|
11
11
|
insertValueRenderer?: (item: T) => string | HTMLElement;
|
|
12
12
|
}
|
|
13
|
-
export type AutoCompleteCallback
|
|
14
|
-
export interface IAutoCompleteCustomFeed
|
|
15
|
-
feed: CanPromise<string[]> | CanPromise<IAutoCompleteItem[]> | AutoCompleteCallback
|
|
16
|
-
itemRenderer?: IAutoCompleteItem<
|
|
17
|
-
insertValueRenderer?: IAutoCompleteItem<
|
|
13
|
+
export type AutoCompleteCallback = (query: string) => CanPromise<IAutoCompleteItem[]>;
|
|
14
|
+
export interface IAutoCompleteCustomFeed {
|
|
15
|
+
feed: CanPromise<string[]> | CanPromise<IAutoCompleteItem[]> | AutoCompleteCallback;
|
|
16
|
+
itemRenderer?: IAutoCompleteItem<IAutoCompleteItem>['itemRenderer'];
|
|
17
|
+
insertValueRenderer?: IAutoCompleteItem<IAutoCompleteItem>['insertValueRenderer'];
|
|
18
18
|
}
|
|
19
|
-
export type AutoCompleteSource
|
|
19
|
+
export type AutoCompleteSource = IAutoCompleteCustomFeed['feed'] | IAutoCompleteCustomFeed;
|
|
@@ -10,8 +10,9 @@ export declare class Autocomplete extends UIGroup {
|
|
|
10
10
|
/** @override */
|
|
11
11
|
className(): string;
|
|
12
12
|
elements: AutocompleteItem[];
|
|
13
|
-
|
|
13
|
+
currentSelection: number;
|
|
14
14
|
private onChangeSelection;
|
|
15
|
+
private __previousList;
|
|
15
16
|
build(list: IAutoCompleteItem[]): void;
|
|
16
17
|
selectNext(): void;
|
|
17
18
|
selectPrevious(): void;
|
|
@@ -7,7 +7,11 @@ import { UIElement } from "jodit/esm/core/ui/element";
|
|
|
7
7
|
import type { IAutoCompleteItem } from "../interface";
|
|
8
8
|
export declare class AutocompleteItem extends UIElement {
|
|
9
9
|
item: IAutoCompleteItem;
|
|
10
|
+
private onClick;
|
|
11
|
+
readonly value: string;
|
|
10
12
|
/** @override */
|
|
11
13
|
className(): string;
|
|
12
|
-
constructor(jodit: AutocompleteItem['jodit'], item: IAutoCompleteItem);
|
|
14
|
+
constructor(jodit: AutocompleteItem['jodit'], item: IAutoCompleteItem, onClick: (value: string) => void);
|
|
15
|
+
protected onClickPrevent(e: MouseEvent): void;
|
|
16
|
+
protected onClickHandler(): void;
|
|
13
17
|
}
|