jodit-pro 4.6.18 → 4.6.20
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 +116 -44
- 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 +116 -44
- 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 +114 -43
- 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 +114 -43
- 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 +123 -45
- 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 +3 -14
- 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/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/package.json +1 -1
- package/types/config.d.ts +2 -2
- package/types/plugins/autocomplete/autocomplete.d.ts +3 -14
- package/types/plugins/autocomplete/config.d.ts +17 -0
- package/types/plugins/autocomplete/ui/autocomplete.d.ts +2 -1
- package/types/plugins/autocomplete/ui/item.d.ts +5 -1
|
@@ -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,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};
|
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,28 +4,17 @@
|
|
|
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;
|
|
@@ -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,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
|
}
|