@ng-matero/ng-select 0.1.0
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/README.md +7 -0
- package/fesm2022/ng-matero-ng-select.mjs +3341 -0
- package/fesm2022/ng-matero-ng-select.mjs.map +1 -0
- package/index.d.ts +552 -0
- package/package.json +67 -0
- package/scss/_mixins.scss +5 -0
- package/scss/ant.design.theme.scss +412 -0
- package/scss/default.theme.scss +451 -0
- package/scss/material.theme.scss +431 -0
- package/themes/ant.design.theme.css +1 -0
- package/themes/ant.design.theme.css.map +1 -0
- package/themes/default.theme.css +1 -0
- package/themes/default.theme.css.map +1 -0
- package/themes/material.theme.css +1 -0
- package/themes/material.theme.css.map +1 -0
package/index.d.ts
ADDED
|
@@ -0,0 +1,552 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { OnInit, OnChanges, OnDestroy, TemplateRef, EventEmitter, ElementRef, SimpleChanges, AfterViewChecked, AfterViewInit, InjectionToken, QueryList } from '@angular/core';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
5
|
+
|
|
6
|
+
interface NgOptionItem {
|
|
7
|
+
[name: string]: any;
|
|
8
|
+
index?: number | null;
|
|
9
|
+
htmlId?: string;
|
|
10
|
+
selected?: boolean;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
marked?: boolean;
|
|
13
|
+
label?: string;
|
|
14
|
+
value?: string | any;
|
|
15
|
+
parent?: NgOptionItem | null;
|
|
16
|
+
children?: NgOptionItem[];
|
|
17
|
+
}
|
|
18
|
+
type DropdownPosition = 'top' | 'right' | 'bottom' | 'left' | 'auto';
|
|
19
|
+
type AddTagFn = (term: string) => any | Promise<any>;
|
|
20
|
+
type CompareWithFn = (a: any, b: any) => boolean;
|
|
21
|
+
type GroupValueFn = (key: string | any, children: any[]) => string | any;
|
|
22
|
+
type SearchFn = (term: string, item: any) => boolean;
|
|
23
|
+
type TrackByFn = (item: any) => any;
|
|
24
|
+
|
|
25
|
+
declare class NgDropdownPanel implements OnInit, OnChanges, OnDestroy {
|
|
26
|
+
items: NgOptionItem[];
|
|
27
|
+
markedItem?: NgOptionItem;
|
|
28
|
+
position: DropdownPosition;
|
|
29
|
+
appendTo?: string;
|
|
30
|
+
bufferAmount: number;
|
|
31
|
+
virtualScroll: boolean;
|
|
32
|
+
headerTemplate?: TemplateRef<any>;
|
|
33
|
+
footerTemplate?: TemplateRef<any>;
|
|
34
|
+
filterValue: string | null;
|
|
35
|
+
ariaLabelDropdown: string | null;
|
|
36
|
+
update: EventEmitter<any[]>;
|
|
37
|
+
scroll: EventEmitter<{
|
|
38
|
+
start: number;
|
|
39
|
+
end: number;
|
|
40
|
+
}>;
|
|
41
|
+
scrollToEnd: EventEmitter<void>;
|
|
42
|
+
outsideClick: EventEmitter<void>;
|
|
43
|
+
contentElementRef: ElementRef<HTMLElement>;
|
|
44
|
+
scrollElementRef: ElementRef<HTMLElement>;
|
|
45
|
+
paddingElementRef: ElementRef<HTMLElement>;
|
|
46
|
+
private _document;
|
|
47
|
+
private _renderer;
|
|
48
|
+
private _zone;
|
|
49
|
+
private _elementRef;
|
|
50
|
+
private _panelUtils;
|
|
51
|
+
private readonly _destroy$;
|
|
52
|
+
private readonly _dropdown;
|
|
53
|
+
private _virtualPadding;
|
|
54
|
+
private _scrollablePanel;
|
|
55
|
+
private _contentPanel;
|
|
56
|
+
private _select;
|
|
57
|
+
private _parent;
|
|
58
|
+
private _scrollToEndFired;
|
|
59
|
+
private _updateScrollHeight;
|
|
60
|
+
private _lastScrollPosition;
|
|
61
|
+
get currentPosition(): DropdownPosition;
|
|
62
|
+
private _currentPosition;
|
|
63
|
+
private get itemsLength();
|
|
64
|
+
private set itemsLength(value);
|
|
65
|
+
private _itemsLength;
|
|
66
|
+
private get _startOffset();
|
|
67
|
+
ngOnInit(): void;
|
|
68
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
69
|
+
ngOnDestroy(): void;
|
|
70
|
+
scrollTo(option?: NgOptionItem, startFromOption?: boolean): void;
|
|
71
|
+
scrollToTag(): void;
|
|
72
|
+
adjustPosition(): void;
|
|
73
|
+
private _handleDropdownPosition;
|
|
74
|
+
private _updateDropdownClass;
|
|
75
|
+
private _handleScroll;
|
|
76
|
+
private _handleOutsideClick;
|
|
77
|
+
private _checkToClose;
|
|
78
|
+
private _onItemsChange;
|
|
79
|
+
private _updateItems;
|
|
80
|
+
private _updateItemsRange;
|
|
81
|
+
private _onContentScrolled;
|
|
82
|
+
private _updateVirtualHeight;
|
|
83
|
+
private _setVirtualHeight;
|
|
84
|
+
private _onItemsLengthChanged;
|
|
85
|
+
private _renderItemsRange;
|
|
86
|
+
private _measureDimensions;
|
|
87
|
+
private _fireScrollToEnd;
|
|
88
|
+
private _calculateCurrentPosition;
|
|
89
|
+
private _appendDropdown;
|
|
90
|
+
private _updateXPosition;
|
|
91
|
+
private _updateYPosition;
|
|
92
|
+
private _setupMousedownListener;
|
|
93
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgDropdownPanel, never>;
|
|
94
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgDropdownPanel, "ng-dropdown-panel", never, { "items": { "alias": "items"; "required": false; }; "markedItem": { "alias": "markedItem"; "required": false; }; "position": { "alias": "position"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "bufferAmount": { "alias": "bufferAmount"; "required": false; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; "footerTemplate": { "alias": "footerTemplate"; "required": false; }; "filterValue": { "alias": "filterValue"; "required": false; }; "ariaLabelDropdown": { "alias": "ariaLabelDropdown"; "required": false; }; }, { "update": "update"; "scroll": "scroll"; "scrollToEnd": "scrollToEnd"; "outsideClick": "outsideClick"; }, never, ["*"], true, never>;
|
|
95
|
+
static ngAcceptInputType_virtualScroll: unknown;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
interface ItemsRangeResult {
|
|
99
|
+
scrollHeight: number;
|
|
100
|
+
topPadding: number;
|
|
101
|
+
start: number;
|
|
102
|
+
end: number;
|
|
103
|
+
}
|
|
104
|
+
interface PanelDimensions {
|
|
105
|
+
itemHeight: number;
|
|
106
|
+
panelHeight: number;
|
|
107
|
+
itemsPerViewport: number;
|
|
108
|
+
}
|
|
109
|
+
declare class NgDropdownPanelUtils {
|
|
110
|
+
get dimensions(): PanelDimensions;
|
|
111
|
+
private _dimensions;
|
|
112
|
+
calculateItems(scrollPos: number, itemsLength: number, buffer: number): ItemsRangeResult;
|
|
113
|
+
setDimensions(itemHeight: number, panelHeight: number): void;
|
|
114
|
+
getScrollTo(itemTop: number, itemHeight: number, lastScroll: number): number | null;
|
|
115
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgDropdownPanelUtils, never>;
|
|
116
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NgDropdownPanelUtils>;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
declare class NgOption implements OnChanges, AfterViewChecked, OnDestroy {
|
|
120
|
+
value: any;
|
|
121
|
+
disabled: boolean;
|
|
122
|
+
elementRef: ElementRef<HTMLElement>;
|
|
123
|
+
readonly stateChange$: Subject<{
|
|
124
|
+
value: any;
|
|
125
|
+
disabled: boolean;
|
|
126
|
+
label?: string;
|
|
127
|
+
}>;
|
|
128
|
+
private _previousLabel;
|
|
129
|
+
get label(): string;
|
|
130
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
131
|
+
ngAfterViewChecked(): void;
|
|
132
|
+
ngOnDestroy(): void;
|
|
133
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgOption, never>;
|
|
134
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgOption, "ng-option", never, { "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
135
|
+
static ngAcceptInputType_disabled: unknown;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
declare class NgOptionHighlight implements OnChanges, AfterViewInit {
|
|
139
|
+
term: string;
|
|
140
|
+
private elementRef;
|
|
141
|
+
private renderer;
|
|
142
|
+
private element;
|
|
143
|
+
private label;
|
|
144
|
+
private get _canHighlight();
|
|
145
|
+
ngOnChanges(): void;
|
|
146
|
+
ngAfterViewInit(): void;
|
|
147
|
+
private _escapeRegExp;
|
|
148
|
+
private _highlightLabel;
|
|
149
|
+
private _setInnerHtml;
|
|
150
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgOptionHighlight, never>;
|
|
151
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgOptionHighlight, "[ngOptionHighlight]", never, { "term": { "alias": "ngOptionHighlight"; "required": false; }; }, {}, never, never, true, never>;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
type SelectionModelFactory = () => SelectionModel;
|
|
155
|
+
declare function DefaultSelectionModelFactory(): DefaultSelectionModel;
|
|
156
|
+
interface SelectionModel {
|
|
157
|
+
value: NgOptionItem[];
|
|
158
|
+
select(item: NgOptionItem, multiple: boolean, selectableGroupAsModel: boolean): void;
|
|
159
|
+
unselect(item: NgOptionItem, multiple: boolean): void;
|
|
160
|
+
clear(keepDisabled: boolean): void;
|
|
161
|
+
}
|
|
162
|
+
declare class DefaultSelectionModel implements SelectionModel {
|
|
163
|
+
get value(): NgOptionItem[];
|
|
164
|
+
private _selected;
|
|
165
|
+
select(item: NgOptionItem, multiple: boolean, groupAsModel: boolean): void;
|
|
166
|
+
unselect(item: NgOptionItem, multiple: boolean): void;
|
|
167
|
+
clear(keepDisabled: boolean): void;
|
|
168
|
+
private _setChildrenSelectedState;
|
|
169
|
+
private _removeChildren;
|
|
170
|
+
private _removeParent;
|
|
171
|
+
private _activeChildren;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
declare class ItemsList {
|
|
175
|
+
private _ngSelect;
|
|
176
|
+
private _selectionModel;
|
|
177
|
+
private _groups;
|
|
178
|
+
constructor(_ngSelect: NgSelect, _selectionModel: SelectionModel);
|
|
179
|
+
get items(): NgOptionItem[];
|
|
180
|
+
private _items;
|
|
181
|
+
get filteredItems(): NgOptionItem[];
|
|
182
|
+
private _filteredItems;
|
|
183
|
+
get markedIndex(): number;
|
|
184
|
+
private _markedIndex;
|
|
185
|
+
get selectedItems(): NgOptionItem[];
|
|
186
|
+
get markedItem(): NgOptionItem | undefined;
|
|
187
|
+
get noItemsToSelect(): boolean;
|
|
188
|
+
get maxItemsSelected(): boolean;
|
|
189
|
+
get lastSelectedItem(): NgOptionItem | null;
|
|
190
|
+
setItems(items: readonly any[]): void;
|
|
191
|
+
select(item: NgOptionItem): void;
|
|
192
|
+
unselect(item: NgOptionItem): void;
|
|
193
|
+
findItem(value: any): NgOptionItem;
|
|
194
|
+
addItem(item: any): NgOptionItem;
|
|
195
|
+
clearSelected(keepDisabled?: boolean): void;
|
|
196
|
+
findByLabel(term: string): NgOptionItem | undefined;
|
|
197
|
+
filter(term: string): void;
|
|
198
|
+
resetFilteredItems(): void;
|
|
199
|
+
unmarkItem(): void;
|
|
200
|
+
markNextItem(): void;
|
|
201
|
+
markPreviousItem(): void;
|
|
202
|
+
markItem(item: NgOptionItem): void;
|
|
203
|
+
markSelectedOrDefault(markDefault?: boolean): void;
|
|
204
|
+
resolveNested(option: any, key: string): any;
|
|
205
|
+
mapItem(item: any, index: number | null): NgOptionItem;
|
|
206
|
+
mapSelectedItems(): void;
|
|
207
|
+
private _showSelected;
|
|
208
|
+
private _hideSelected;
|
|
209
|
+
private _defaultSearchFn;
|
|
210
|
+
private _getNextItemIndex;
|
|
211
|
+
private _stepToItem;
|
|
212
|
+
private _getLastMarkedIndex;
|
|
213
|
+
private _groupBy;
|
|
214
|
+
private _flatten;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
declare const SELECTION_MODEL_FACTORY: InjectionToken<SelectionModelFactory>;
|
|
218
|
+
declare class NgSelect implements OnDestroy, OnChanges, OnInit, AfterViewInit, ControlValueAccessor {
|
|
219
|
+
private _cdr;
|
|
220
|
+
private _elementRef;
|
|
221
|
+
private _config;
|
|
222
|
+
readonly newSelectionModel: SelectionModelFactory | null;
|
|
223
|
+
readonly autoFocus: string | null;
|
|
224
|
+
readonly classes: string | null;
|
|
225
|
+
bindLabel?: string;
|
|
226
|
+
bindValue?: string;
|
|
227
|
+
placeholder?: string;
|
|
228
|
+
fixedPlaceholder: boolean;
|
|
229
|
+
appendTo?: string;
|
|
230
|
+
dropdownPosition: DropdownPosition;
|
|
231
|
+
readonly: boolean;
|
|
232
|
+
multiple: boolean;
|
|
233
|
+
searchable: boolean;
|
|
234
|
+
clearable: boolean;
|
|
235
|
+
clearAllText?: string;
|
|
236
|
+
loading: boolean;
|
|
237
|
+
loadingText?: string;
|
|
238
|
+
closeOnSelect: boolean;
|
|
239
|
+
clearOnBackspace: boolean;
|
|
240
|
+
hideSelected: boolean;
|
|
241
|
+
selectOnTab: boolean;
|
|
242
|
+
openOnEnter?: boolean;
|
|
243
|
+
virtualScroll?: boolean;
|
|
244
|
+
bufferAmount: number;
|
|
245
|
+
selectableGroup: boolean;
|
|
246
|
+
selectableGroupAsModel: boolean;
|
|
247
|
+
searchWhileComposing: boolean;
|
|
248
|
+
editableSearchTerm: boolean;
|
|
249
|
+
maxSelectedItems: number;
|
|
250
|
+
minTermLength: number;
|
|
251
|
+
markFirst: boolean;
|
|
252
|
+
addTag: boolean | AddTagFn;
|
|
253
|
+
addTagText?: string;
|
|
254
|
+
notFoundText?: string;
|
|
255
|
+
preventToggleOnRightClick: boolean;
|
|
256
|
+
typeahead?: Subject<string>;
|
|
257
|
+
typeToSearchText?: string;
|
|
258
|
+
groupBy?: string | ((value: any) => any);
|
|
259
|
+
groupValue?: GroupValueFn;
|
|
260
|
+
searchFn: SearchFn | null;
|
|
261
|
+
keyDownFn: (_: KeyboardEvent) => boolean;
|
|
262
|
+
trackByFn: TrackByFn | null;
|
|
263
|
+
labelForId: string | null;
|
|
264
|
+
inputAttrs: Record<string, string>;
|
|
265
|
+
appearance?: string;
|
|
266
|
+
ariaLabelDropdown: string;
|
|
267
|
+
ariaLabel?: string;
|
|
268
|
+
tabIndex?: number;
|
|
269
|
+
tabFocusOnClearButton?: boolean;
|
|
270
|
+
isOpen?: boolean;
|
|
271
|
+
panelClass?: string;
|
|
272
|
+
get _panelClass(): string;
|
|
273
|
+
get items(): readonly any[] | null | undefined;
|
|
274
|
+
set items(value: readonly any[] | null | undefined);
|
|
275
|
+
private _items;
|
|
276
|
+
get disabled(): boolean;
|
|
277
|
+
private _disabled;
|
|
278
|
+
get compareWith(): CompareWithFn;
|
|
279
|
+
set compareWith(fn: CompareWithFn);
|
|
280
|
+
private _compareWith;
|
|
281
|
+
get clearSearchOnAdd(): boolean | undefined;
|
|
282
|
+
set clearSearchOnAdd(value: boolean | undefined);
|
|
283
|
+
private _clearSearchOnAdd?;
|
|
284
|
+
get deselectOnClick(): boolean | undefined;
|
|
285
|
+
set deselectOnClick(value: boolean | undefined);
|
|
286
|
+
private _deselectOnClick?;
|
|
287
|
+
blurEvent: EventEmitter<any>;
|
|
288
|
+
focusEvent: EventEmitter<any>;
|
|
289
|
+
changeEvent: EventEmitter<any>;
|
|
290
|
+
openEvent: EventEmitter<any>;
|
|
291
|
+
closeEvent: EventEmitter<any>;
|
|
292
|
+
searchEvent: EventEmitter<{
|
|
293
|
+
term: string;
|
|
294
|
+
items: any[];
|
|
295
|
+
}>;
|
|
296
|
+
clearEvent: EventEmitter<any>;
|
|
297
|
+
addEvent: EventEmitter<any>;
|
|
298
|
+
removeEvent: EventEmitter<any>;
|
|
299
|
+
scroll: EventEmitter<{
|
|
300
|
+
start: number;
|
|
301
|
+
end: number;
|
|
302
|
+
}>;
|
|
303
|
+
scrollToEnd: EventEmitter<any>;
|
|
304
|
+
dropdownPanel: NgDropdownPanel;
|
|
305
|
+
searchInput: ElementRef<HTMLInputElement>;
|
|
306
|
+
clearButton?: ElementRef<HTMLSpanElement>;
|
|
307
|
+
ngOptions?: QueryList<NgOption>;
|
|
308
|
+
optionTemplate?: TemplateRef<any>;
|
|
309
|
+
optgroupTemplate?: TemplateRef<any>;
|
|
310
|
+
labelTemplate?: TemplateRef<any>;
|
|
311
|
+
multiLabelTemplate?: TemplateRef<any>;
|
|
312
|
+
headerTemplate?: TemplateRef<any>;
|
|
313
|
+
footerTemplate?: TemplateRef<any>;
|
|
314
|
+
notFoundTemplate?: TemplateRef<any>;
|
|
315
|
+
placeholderTemplate?: TemplateRef<any>;
|
|
316
|
+
typeToSearchTemplate?: TemplateRef<any>;
|
|
317
|
+
loadingTextTemplate?: TemplateRef<any>;
|
|
318
|
+
tagTemplate?: TemplateRef<any>;
|
|
319
|
+
loadingSpinnerTemplate?: TemplateRef<any>;
|
|
320
|
+
clearButtonTemplate?: TemplateRef<any>;
|
|
321
|
+
dropdownId: string;
|
|
322
|
+
element: HTMLElement;
|
|
323
|
+
itemsList: ItemsList;
|
|
324
|
+
viewPortItems: NgOptionItem[];
|
|
325
|
+
searchTerm: string | null;
|
|
326
|
+
focused?: boolean;
|
|
327
|
+
escapeHTML: boolean;
|
|
328
|
+
tabFocusOnClear: boolean;
|
|
329
|
+
private _itemsAreUsed?;
|
|
330
|
+
private _primitive;
|
|
331
|
+
private _manualOpen?;
|
|
332
|
+
private _pressedKeys;
|
|
333
|
+
private _isComposing;
|
|
334
|
+
private readonly _defaultLabel;
|
|
335
|
+
private readonly _destroy$;
|
|
336
|
+
private readonly _keyPress$;
|
|
337
|
+
get selectedItems(): NgOptionItem[];
|
|
338
|
+
get selectedValues(): any[];
|
|
339
|
+
get hasValue(): boolean;
|
|
340
|
+
get currentPanelPosition(): DropdownPosition | undefined;
|
|
341
|
+
get showAddTag(): boolean;
|
|
342
|
+
get filtered(): boolean;
|
|
343
|
+
private get _editableSearchTerm();
|
|
344
|
+
private get _isTypeahead();
|
|
345
|
+
private get _validTerm();
|
|
346
|
+
private _onChange;
|
|
347
|
+
private _onTouched;
|
|
348
|
+
trackByOption: (_: number, item: NgOptionItem) => any;
|
|
349
|
+
constructor();
|
|
350
|
+
ngOnInit(): void;
|
|
351
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
352
|
+
ngAfterViewInit(): void;
|
|
353
|
+
ngOnDestroy(): void;
|
|
354
|
+
writeValue(value: any): void;
|
|
355
|
+
registerOnChange(fn: any): void;
|
|
356
|
+
registerOnTouched(fn: any): void;
|
|
357
|
+
setDisabledState(isDisabled: boolean): void;
|
|
358
|
+
clearItem: (item: any) => void;
|
|
359
|
+
handleKeyDown(e: KeyboardEvent): void;
|
|
360
|
+
handleKeyCode(e: KeyboardEvent): void;
|
|
361
|
+
handleKeyCodeInput(e: KeyboardEvent): void;
|
|
362
|
+
handleKeyCodeClear(e: KeyboardEvent): void;
|
|
363
|
+
handleMousedown(e: MouseEvent): void;
|
|
364
|
+
handleArrowClick(): void;
|
|
365
|
+
handleClearClick(): void;
|
|
366
|
+
clearModel(): void;
|
|
367
|
+
toggle(): void;
|
|
368
|
+
open(): void;
|
|
369
|
+
close(): void;
|
|
370
|
+
toggleItem(item: NgOptionItem): void;
|
|
371
|
+
select(item: NgOptionItem): void;
|
|
372
|
+
focus(): void;
|
|
373
|
+
blur(): void;
|
|
374
|
+
unselect(item: NgOptionItem): void;
|
|
375
|
+
selectTag(): void;
|
|
376
|
+
showClear(): boolean | "" | null;
|
|
377
|
+
focusOnClear(): void;
|
|
378
|
+
showNoItemsFound(): boolean | "" | undefined;
|
|
379
|
+
showTypeToSearch(): boolean | undefined;
|
|
380
|
+
onCompositionStart(): void;
|
|
381
|
+
onCompositionEnd(term: string): void;
|
|
382
|
+
filter(term: string): void;
|
|
383
|
+
onInputFocus(e: FocusEvent): void;
|
|
384
|
+
onInputBlur(e: FocusEvent): void;
|
|
385
|
+
onItemHover(item: NgOptionItem): void;
|
|
386
|
+
detectChanges(): void;
|
|
387
|
+
private _setSearchTermFromItems;
|
|
388
|
+
private _setItems;
|
|
389
|
+
private _setItemsFromNgOptions;
|
|
390
|
+
private _isValidWriteValue;
|
|
391
|
+
private _handleWriteValue;
|
|
392
|
+
private _handleKeyPresses;
|
|
393
|
+
private _setInputAttributes;
|
|
394
|
+
private _setTabFocusOnClear;
|
|
395
|
+
private _updateNgModel;
|
|
396
|
+
private _clearSearch;
|
|
397
|
+
private _changeSearch;
|
|
398
|
+
private _scrollToMarked;
|
|
399
|
+
private _scrollToTag;
|
|
400
|
+
private _onSelectionChanged;
|
|
401
|
+
private _handleTab;
|
|
402
|
+
private _handleEnter;
|
|
403
|
+
private _handleSpace;
|
|
404
|
+
private _handleArrowDown;
|
|
405
|
+
private _handleArrowUp;
|
|
406
|
+
private _nextItemIsTag;
|
|
407
|
+
private _handleBackspace;
|
|
408
|
+
private _mergeGlobalConfig;
|
|
409
|
+
/**
|
|
410
|
+
* Gets virtual scroll value from input or from config
|
|
411
|
+
*
|
|
412
|
+
* @param config NgSelectConfig object
|
|
413
|
+
*
|
|
414
|
+
* @returns `true` if virtual scroll is enabled, `false` otherwise
|
|
415
|
+
*/
|
|
416
|
+
private getVirtualScroll;
|
|
417
|
+
/**
|
|
418
|
+
* Gets disableVirtualScroll value from input or from config
|
|
419
|
+
*
|
|
420
|
+
* @param config NgSelectConfig object
|
|
421
|
+
*
|
|
422
|
+
* @returns `true` if disableVirtualScroll is enabled, `false` otherwise
|
|
423
|
+
*/
|
|
424
|
+
private isVirtualScrollDisabled;
|
|
425
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgSelect, never>;
|
|
426
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgSelect, "ng-select", never, { "bindLabel": { "alias": "bindLabel"; "required": false; }; "bindValue": { "alias": "bindValue"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "fixedPlaceholder": { "alias": "fixedPlaceholder"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "dropdownPosition": { "alias": "dropdownPosition"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "clearAllText": { "alias": "clearAllText"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; }; "clearOnBackspace": { "alias": "clearOnBackspace"; "required": false; }; "hideSelected": { "alias": "hideSelected"; "required": false; }; "selectOnTab": { "alias": "selectOnTab"; "required": false; }; "openOnEnter": { "alias": "openOnEnter"; "required": false; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; }; "bufferAmount": { "alias": "bufferAmount"; "required": false; }; "selectableGroup": { "alias": "selectableGroup"; "required": false; }; "selectableGroupAsModel": { "alias": "selectableGroupAsModel"; "required": false; }; "searchWhileComposing": { "alias": "searchWhileComposing"; "required": false; }; "editableSearchTerm": { "alias": "editableSearchTerm"; "required": false; }; "maxSelectedItems": { "alias": "maxSelectedItems"; "required": false; }; "minTermLength": { "alias": "minTermLength"; "required": false; }; "markFirst": { "alias": "markFirst"; "required": false; }; "addTag": { "alias": "addTag"; "required": false; }; "addTagText": { "alias": "addTagText"; "required": false; }; "notFoundText": { "alias": "notFoundText"; "required": false; }; "preventToggleOnRightClick": { "alias": "preventToggleOnRightClick"; "required": false; }; "typeahead": { "alias": "typeahead"; "required": false; }; "typeToSearchText": { "alias": "typeToSearchText"; "required": false; }; "groupBy": { "alias": "groupBy"; "required": false; }; "groupValue": { "alias": "groupValue"; "required": false; }; "searchFn": { "alias": "searchFn"; "required": false; }; "keyDownFn": { "alias": "keyDownFn"; "required": false; }; "trackByFn": { "alias": "trackByFn"; "required": false; }; "labelForId": { "alias": "labelForId"; "required": false; }; "inputAttrs": { "alias": "inputAttrs"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "ariaLabelDropdown": { "alias": "ariaLabelDropdown"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "tabFocusOnClearButton": { "alias": "tabFocusOnClearButton"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "items": { "alias": "items"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "clearSearchOnAdd": { "alias": "clearSearchOnAdd"; "required": false; }; "deselectOnClick": { "alias": "deselectOnClick"; "required": false; }; }, { "blurEvent": "blur"; "focusEvent": "focus"; "changeEvent": "change"; "openEvent": "open"; "closeEvent": "close"; "searchEvent": "search"; "clearEvent": "clear"; "addEvent": "add"; "removeEvent": "remove"; "scroll": "scroll"; "scrollToEnd": "scrollToEnd"; }, ["optionTemplate", "optgroupTemplate", "labelTemplate", "multiLabelTemplate", "headerTemplate", "footerTemplate", "notFoundTemplate", "placeholderTemplate", "typeToSearchTemplate", "loadingTextTemplate", "tagTemplate", "loadingSpinnerTemplate", "clearButtonTemplate", "ngOptions"], never, true, never>;
|
|
427
|
+
static ngAcceptInputType_readonly: unknown;
|
|
428
|
+
static ngAcceptInputType_multiple: unknown;
|
|
429
|
+
static ngAcceptInputType_searchable: unknown;
|
|
430
|
+
static ngAcceptInputType_clearable: unknown;
|
|
431
|
+
static ngAcceptInputType_loading: unknown;
|
|
432
|
+
static ngAcceptInputType_closeOnSelect: unknown;
|
|
433
|
+
static ngAcceptInputType_clearOnBackspace: unknown;
|
|
434
|
+
static ngAcceptInputType_hideSelected: unknown;
|
|
435
|
+
static ngAcceptInputType_selectOnTab: unknown;
|
|
436
|
+
static ngAcceptInputType_openOnEnter: unknown;
|
|
437
|
+
static ngAcceptInputType_virtualScroll: unknown;
|
|
438
|
+
static ngAcceptInputType_bufferAmount: unknown;
|
|
439
|
+
static ngAcceptInputType_selectableGroup: unknown;
|
|
440
|
+
static ngAcceptInputType_selectableGroupAsModel: unknown;
|
|
441
|
+
static ngAcceptInputType_searchWhileComposing: unknown;
|
|
442
|
+
static ngAcceptInputType_editableSearchTerm: unknown;
|
|
443
|
+
static ngAcceptInputType_maxSelectedItems: unknown;
|
|
444
|
+
static ngAcceptInputType_minTermLength: unknown;
|
|
445
|
+
static ngAcceptInputType_markFirst: unknown;
|
|
446
|
+
static ngAcceptInputType_tabIndex: unknown;
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
declare class NgSelectConfig {
|
|
450
|
+
placeholder?: string;
|
|
451
|
+
fixedPlaceholder: boolean;
|
|
452
|
+
notFoundText: string;
|
|
453
|
+
typeToSearchText: string;
|
|
454
|
+
addTagText: string;
|
|
455
|
+
loadingText: string;
|
|
456
|
+
clearAllText: string;
|
|
457
|
+
ariaLabelDropdown: string;
|
|
458
|
+
disableVirtualScroll: boolean;
|
|
459
|
+
openOnEnter: boolean;
|
|
460
|
+
appendTo?: string;
|
|
461
|
+
bindValue?: string;
|
|
462
|
+
bindLabel?: string;
|
|
463
|
+
appearance: string;
|
|
464
|
+
clearSearchOnAdd?: boolean;
|
|
465
|
+
deselectOnClick?: boolean;
|
|
466
|
+
tabFocusOnClear: boolean;
|
|
467
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectConfig, never>;
|
|
468
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NgSelectConfig>;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
declare class NgItemLabel implements OnChanges {
|
|
472
|
+
ngItemLabel: string;
|
|
473
|
+
escape: boolean;
|
|
474
|
+
private element;
|
|
475
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
476
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgItemLabel, never>;
|
|
477
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgItemLabel, "[ngItemLabel]", never, { "ngItemLabel": { "alias": "ngItemLabel"; "required": false; }; "escape": { "alias": "escape"; "required": false; }; }, {}, never, never, true, never>;
|
|
478
|
+
}
|
|
479
|
+
declare class NgOptionTemplate {
|
|
480
|
+
template: TemplateRef<any>;
|
|
481
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgOptionTemplate, never>;
|
|
482
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgOptionTemplate, "[ng-option-tmp]", never, {}, {}, never, never, true, never>;
|
|
483
|
+
}
|
|
484
|
+
declare class NgOptgroupTemplate {
|
|
485
|
+
template: TemplateRef<any>;
|
|
486
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgOptgroupTemplate, never>;
|
|
487
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgOptgroupTemplate, "[ng-optgroup-tmp]", never, {}, {}, never, never, true, never>;
|
|
488
|
+
}
|
|
489
|
+
declare class NgLabelTemplate {
|
|
490
|
+
template: TemplateRef<any>;
|
|
491
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgLabelTemplate, never>;
|
|
492
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgLabelTemplate, "[ng-label-tmp]", never, {}, {}, never, never, true, never>;
|
|
493
|
+
}
|
|
494
|
+
declare class NgMultiLabelTemplate {
|
|
495
|
+
template: TemplateRef<any>;
|
|
496
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgMultiLabelTemplate, never>;
|
|
497
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgMultiLabelTemplate, "[ng-multi-label-tmp]", never, {}, {}, never, never, true, never>;
|
|
498
|
+
}
|
|
499
|
+
declare class NgHeaderTemplate {
|
|
500
|
+
template: TemplateRef<any>;
|
|
501
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgHeaderTemplate, never>;
|
|
502
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgHeaderTemplate, "[ng-header-tmp]", never, {}, {}, never, never, true, never>;
|
|
503
|
+
}
|
|
504
|
+
declare class NgFooterTemplate {
|
|
505
|
+
template: TemplateRef<any>;
|
|
506
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgFooterTemplate, never>;
|
|
507
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgFooterTemplate, "[ng-footer-tmp]", never, {}, {}, never, never, true, never>;
|
|
508
|
+
}
|
|
509
|
+
declare class NgNotFoundTemplate {
|
|
510
|
+
template: TemplateRef<any>;
|
|
511
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgNotFoundTemplate, never>;
|
|
512
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgNotFoundTemplate, "[ng-notfound-tmp]", never, {}, {}, never, never, true, never>;
|
|
513
|
+
}
|
|
514
|
+
declare class NgPlaceholderTemplate {
|
|
515
|
+
template: TemplateRef<any>;
|
|
516
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgPlaceholderTemplate, never>;
|
|
517
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgPlaceholderTemplate, "[ng-placeholder-tmp]", never, {}, {}, never, never, true, never>;
|
|
518
|
+
}
|
|
519
|
+
declare class NgTypeToSearchTemplate {
|
|
520
|
+
template: TemplateRef<any>;
|
|
521
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgTypeToSearchTemplate, never>;
|
|
522
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgTypeToSearchTemplate, "[ng-typetosearch-tmp]", never, {}, {}, never, never, true, never>;
|
|
523
|
+
}
|
|
524
|
+
declare class NgLoadingTextTemplate {
|
|
525
|
+
template: TemplateRef<any>;
|
|
526
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgLoadingTextTemplate, never>;
|
|
527
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgLoadingTextTemplate, "[ng-loadingtext-tmp]", never, {}, {}, never, never, true, never>;
|
|
528
|
+
}
|
|
529
|
+
declare class NgTagTemplate {
|
|
530
|
+
template: TemplateRef<any>;
|
|
531
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgTagTemplate, never>;
|
|
532
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgTagTemplate, "[ng-tag-tmp]", never, {}, {}, never, never, true, never>;
|
|
533
|
+
}
|
|
534
|
+
declare class NgLoadingSpinnerTemplate {
|
|
535
|
+
template: TemplateRef<any>;
|
|
536
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgLoadingSpinnerTemplate, never>;
|
|
537
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgLoadingSpinnerTemplate, "[ng-loadingspinner-tmp]", never, {}, {}, never, never, true, never>;
|
|
538
|
+
}
|
|
539
|
+
declare class NgClearButtonTemplate {
|
|
540
|
+
template: TemplateRef<any>;
|
|
541
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgClearButtonTemplate, never>;
|
|
542
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgClearButtonTemplate, "[ng-clearbutton-tmp]", never, {}, {}, never, never, true, never>;
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
declare class NgSelectModule {
|
|
546
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectModule, never>;
|
|
547
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NgSelectModule, never, [typeof NgDropdownPanel, typeof NgOption, typeof NgSelect, typeof NgOptgroupTemplate, typeof NgOptionTemplate, typeof NgLabelTemplate, typeof NgMultiLabelTemplate, typeof NgHeaderTemplate, typeof NgFooterTemplate, typeof NgPlaceholderTemplate, typeof NgClearButtonTemplate, typeof NgNotFoundTemplate, typeof NgTypeToSearchTemplate, typeof NgLoadingTextTemplate, typeof NgTagTemplate, typeof NgLoadingSpinnerTemplate, typeof NgItemLabel], [typeof NgSelect, typeof NgOption, typeof NgOptgroupTemplate, typeof NgOptionTemplate, typeof NgLabelTemplate, typeof NgMultiLabelTemplate, typeof NgHeaderTemplate, typeof NgFooterTemplate, typeof NgPlaceholderTemplate, typeof NgNotFoundTemplate, typeof NgTypeToSearchTemplate, typeof NgLoadingTextTemplate, typeof NgTagTemplate, typeof NgLoadingSpinnerTemplate, typeof NgClearButtonTemplate]>;
|
|
548
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<NgSelectModule>;
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
export { DefaultSelectionModel, DefaultSelectionModelFactory, NgClearButtonTemplate, NgDropdownPanel, NgDropdownPanelUtils, NgFooterTemplate, NgHeaderTemplate, NgItemLabel, NgLabelTemplate, NgLoadingSpinnerTemplate, NgLoadingTextTemplate, NgMultiLabelTemplate, NgNotFoundTemplate, NgOptgroupTemplate, NgOption, NgOptionHighlight, NgOptionTemplate, NgPlaceholderTemplate, NgSelect, NgSelectConfig, NgSelectModule, NgTagTemplate, NgTypeToSearchTemplate, SELECTION_MODEL_FACTORY };
|
|
552
|
+
export type { AddTagFn, CompareWithFn, DropdownPosition, GroupValueFn, ItemsRangeResult, NgOptionItem, PanelDimensions, SearchFn, SelectionModel, SelectionModelFactory, TrackByFn };
|
package/package.json
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ng-matero/ng-select",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Angular Select - All in One UI Select, Multiselect and Autocomplete",
|
|
5
|
+
"publishConfig": {
|
|
6
|
+
"access": "public"
|
|
7
|
+
},
|
|
8
|
+
"author": "nzbin<nzb329@163.com>",
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "git+https://github.com/ng-matero/combobox.git"
|
|
13
|
+
},
|
|
14
|
+
"homepage": "https://ng-matero.github.io/combobox/",
|
|
15
|
+
"keywords": [
|
|
16
|
+
"angular",
|
|
17
|
+
"angular-select",
|
|
18
|
+
"ng-select",
|
|
19
|
+
"ngx-select",
|
|
20
|
+
"ui-select",
|
|
21
|
+
"multi-select",
|
|
22
|
+
"autocomplete",
|
|
23
|
+
"combobox",
|
|
24
|
+
"dropdown"
|
|
25
|
+
],
|
|
26
|
+
"bugs": {
|
|
27
|
+
"url": "https://github.com/ng-matero/combobox/issues"
|
|
28
|
+
},
|
|
29
|
+
"exports": {
|
|
30
|
+
"./scss/ant.design.theme": {
|
|
31
|
+
"style": "./scss/ant.design.theme.scss"
|
|
32
|
+
},
|
|
33
|
+
"./scss/default.theme": {
|
|
34
|
+
"style": "./scss/default.theme.scss"
|
|
35
|
+
},
|
|
36
|
+
"./scss/material.theme": {
|
|
37
|
+
"style": "./scss/material.theme.scss"
|
|
38
|
+
},
|
|
39
|
+
"./themes/ant.design.theme.css": {
|
|
40
|
+
"style": "./themes/ant.design.theme.css"
|
|
41
|
+
},
|
|
42
|
+
"./themes/default.theme.css": {
|
|
43
|
+
"style": "./themes/default.theme.css"
|
|
44
|
+
},
|
|
45
|
+
"./themes/material.theme.css": {
|
|
46
|
+
"style": "./themes/material.theme.css"
|
|
47
|
+
},
|
|
48
|
+
"./package.json": {
|
|
49
|
+
"default": "./package.json"
|
|
50
|
+
},
|
|
51
|
+
".": {
|
|
52
|
+
"types": "./index.d.ts",
|
|
53
|
+
"default": "./fesm2022/ng-matero-ng-select.mjs"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"peerDependencies": {
|
|
57
|
+
"@angular/common": ">=17.0.0",
|
|
58
|
+
"@angular/core": ">=17.0.0",
|
|
59
|
+
"@angular/forms": ">=17.0.0"
|
|
60
|
+
},
|
|
61
|
+
"dependencies": {
|
|
62
|
+
"tslib": "^2.3.0"
|
|
63
|
+
},
|
|
64
|
+
"sideEffects": false,
|
|
65
|
+
"module": "fesm2022/ng-matero-ng-select.mjs",
|
|
66
|
+
"typings": "index.d.ts"
|
|
67
|
+
}
|