@ng-matero/ng-select 0.5.2 → 1.0.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/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
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';
2
+ import { OnChanges, AfterViewChecked, OnDestroy, ElementRef, SimpleChanges, OnInit, TemplateRef, EventEmitter, InjectionToken, AfterViewInit, QueryList } from '@angular/core';
4
3
  import { ControlValueAccessor } from '@angular/forms';
4
+ import { Subject } from 'rxjs';
5
5
 
6
6
  interface NgOptionItem {
7
7
  [name: string]: any;
@@ -12,6 +12,7 @@ interface NgOptionItem {
12
12
  marked?: boolean;
13
13
  label?: string;
14
14
  value?: string | any;
15
+ viewValue?: string | null;
15
16
  parent?: NgOptionItem | null;
16
17
  children?: NgOptionItem[] | null;
17
18
  }
@@ -23,21 +24,104 @@ interface ScrollEvent {
23
24
  start: number;
24
25
  end: number;
25
26
  }
26
- type DropdownPanelPosition = 'top' | 'right' | 'bottom' | 'left' | 'auto';
27
+ type PanelPosition = 'top' | 'right' | 'bottom' | 'left' | 'auto';
27
28
  type AddTagFn = (term: string) => any | Promise<any>;
28
29
  type CompareWithFn = (a: any, b: any) => boolean;
29
30
  type GroupValueFn = (key: string | any, children: any[]) => string | any;
30
31
  type SearchFn = (term: string, item: any) => boolean;
31
32
  type TrackByFn = (item: any) => any;
32
33
 
33
- declare class NgDropdownPanel implements OnInit, OnChanges, OnDestroy {
34
+ type SelectionModelFactory = () => SelectionModel;
35
+ declare function DefaultSelectionModelFactory(): DefaultSelectionModel;
36
+ interface SelectionModel {
37
+ value: NgOptionItem[];
38
+ select(item: NgOptionItem, multiple: boolean, selectableGroupAsModel: boolean): void;
39
+ unselect(item: NgOptionItem, multiple: boolean): void;
40
+ clear(keepDisabled: boolean): void;
41
+ }
42
+ declare class DefaultSelectionModel implements SelectionModel {
43
+ get value(): NgOptionItem[];
44
+ private _selected;
45
+ select(item: NgOptionItem, multiple: boolean, groupAsModel: boolean): void;
46
+ unselect(item: NgOptionItem, multiple: boolean): void;
47
+ clear(keepDisabled: boolean): void;
48
+ private _setChildrenSelectedState;
49
+ private _removeChildren;
50
+ private _removeParent;
51
+ private _activeChildren;
52
+ }
53
+
54
+ declare class ItemsList {
55
+ private _ngSelect;
56
+ private _selectionModel;
57
+ private _groups;
58
+ constructor(_ngSelect: NgSelect, _selectionModel: SelectionModel);
59
+ get items(): NgOptionItem[];
60
+ private _items;
61
+ get filteredItems(): NgOptionItem[];
62
+ private _filteredItems;
63
+ get markedIndex(): number;
64
+ private _markedIndex;
65
+ get selectedItems(): NgOptionItem[];
66
+ get markedItem(): NgOptionItem | undefined;
67
+ get noItemsToSelect(): boolean;
68
+ get maxItemsSelected(): boolean;
69
+ get lastSelectedItem(): NgOptionItem | null;
70
+ setItems(items: readonly any[]): void;
71
+ select(item: NgOptionItem): void;
72
+ unselect(item: NgOptionItem): void;
73
+ findItem(value: any): NgOptionItem;
74
+ addItem(item: any): NgOptionItem;
75
+ clearSelected(keepDisabled?: boolean): void;
76
+ findByLabel(term: string): NgOptionItem | undefined;
77
+ filter(term: string): void;
78
+ resetFilteredItems(): void;
79
+ unmarkItem(): void;
80
+ markNextItem(): void;
81
+ markPreviousItem(): void;
82
+ markItem(item: NgOptionItem): void;
83
+ markSelectedOrDefault(markDefault?: boolean): void;
84
+ resolveNested(option: any, key: string): any;
85
+ mapItem(item: any, index: number | null): NgOptionItem;
86
+ mapSelectedItems(): void;
87
+ private _showSelected;
88
+ private _hideSelected;
89
+ private _defaultSearchFn;
90
+ private _getNextItemIndex;
91
+ private _stepToItem;
92
+ private _getLastMarkedIndex;
93
+ private _groupBy;
94
+ private _flatten;
95
+ }
96
+
97
+ declare class NgSelectOption implements OnChanges, AfterViewChecked, OnDestroy {
98
+ value: any;
99
+ disabled: boolean;
100
+ elementRef: ElementRef<HTMLElement>;
101
+ readonly stateChange$: Subject<{
102
+ value: any;
103
+ disabled: boolean;
104
+ label?: string;
105
+ }>;
106
+ private _previousLabel;
107
+ get label(): string;
108
+ ngOnChanges(changes: SimpleChanges): void;
109
+ ngAfterViewChecked(): void;
110
+ ngOnDestroy(): void;
111
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectOption, never>;
112
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgSelectOption, "ng-option, ng-select-option", never, { "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, ["*"], true, never>;
113
+ static ngAcceptInputType_disabled: unknown;
114
+ }
115
+
116
+ declare class NgSelectPanel implements OnInit, OnChanges, OnDestroy {
34
117
  listboxId: string;
35
118
  items: NgOptionItem[];
36
119
  markedItem?: NgOptionItem;
37
- position: DropdownPanelPosition;
120
+ position: PanelPosition;
38
121
  appendTo?: string;
39
122
  bufferAmount: number;
40
123
  virtualScroll: boolean;
124
+ multiple: boolean;
41
125
  headerTemplate?: TemplateRef<any>;
42
126
  footerTemplate?: TemplateRef<any>;
43
127
  filterValue: string | null;
@@ -63,7 +147,7 @@ declare class NgDropdownPanel implements OnInit, OnChanges, OnDestroy {
63
147
  private _scrollToEndFired;
64
148
  private _updateScrollHeight;
65
149
  private _lastScrollPosition;
66
- get currentPosition(): DropdownPanelPosition;
150
+ get currentPosition(): PanelPosition;
67
151
  private _currentPosition;
68
152
  private get itemsLength();
69
153
  private set itemsLength(value);
@@ -95,128 +179,10 @@ declare class NgDropdownPanel implements OnInit, OnChanges, OnDestroy {
95
179
  private _updateXPosition;
96
180
  private _updateYPosition;
97
181
  private _setupMousedownListener;
98
- static ɵfac: i0.ɵɵFactoryDeclaration<NgDropdownPanel, never>;
99
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDropdownPanel, "ng-dropdown-panel", never, { "listboxId": { "alias": "listboxId"; "required": false; }; "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; }; }, { "update": "update"; "scroll": "scroll"; "scrollToEnd": "scrollToEnd"; "outsideClick": "outsideClick"; }, never, ["*"], true, never>;
182
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectPanel, never>;
183
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgSelectPanel, "ng-select-panel", never, { "listboxId": { "alias": "listboxId"; "required": false; }; "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; }; "multiple": { "alias": "multiple"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; "footerTemplate": { "alias": "footerTemplate"; "required": false; }; "filterValue": { "alias": "filterValue"; "required": false; }; }, { "update": "update"; "scroll": "scroll"; "scrollToEnd": "scrollToEnd"; "outsideClick": "outsideClick"; }, never, ["*"], true, never>;
100
184
  static ngAcceptInputType_virtualScroll: unknown;
101
- }
102
-
103
- interface ItemsRangeResult {
104
- scrollHeight: number;
105
- topPadding: number;
106
- start: number;
107
- end: number;
108
- }
109
- interface PanelDimensions {
110
- itemHeight: number;
111
- panelHeight: number;
112
- itemsPerViewport: number;
113
- }
114
- declare class NgDropdownPanelUtils {
115
- get dimensions(): PanelDimensions;
116
- private _dimensions;
117
- calculateItems(scrollPos: number, itemsLength: number, buffer: number): ItemsRangeResult;
118
- setDimensions(itemHeight: number, panelHeight: number): void;
119
- getScrollTo(itemTop: number, itemHeight: number, lastScroll: number): number | null;
120
- static ɵfac: i0.ɵɵFactoryDeclaration<NgDropdownPanelUtils, never>;
121
- static ɵprov: i0.ɵɵInjectableDeclaration<NgDropdownPanelUtils>;
122
- }
123
-
124
- declare class NgOption implements OnChanges, AfterViewChecked, OnDestroy {
125
- value: any;
126
- disabled: boolean;
127
- elementRef: ElementRef<HTMLElement>;
128
- readonly stateChange$: Subject<{
129
- value: any;
130
- disabled: boolean;
131
- label?: string;
132
- }>;
133
- private _previousLabel;
134
- get label(): string;
135
- ngOnChanges(changes: SimpleChanges): void;
136
- ngAfterViewChecked(): void;
137
- ngOnDestroy(): void;
138
- static ɵfac: i0.ɵɵFactoryDeclaration<NgOption, never>;
139
- static ɵcmp: i0.ɵɵComponentDeclaration<NgOption, "ng-option", never, { "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, ["*"], true, never>;
140
- static ngAcceptInputType_disabled: unknown;
141
- }
142
-
143
- declare class NgOptionHighlight implements OnChanges, AfterViewInit {
144
- term: string;
145
- private elementRef;
146
- private renderer;
147
- private element;
148
- private label;
149
- private get _canHighlight();
150
- ngOnChanges(): void;
151
- ngAfterViewInit(): void;
152
- private _escapeRegExp;
153
- private _highlightLabel;
154
- private _setInnerHtml;
155
- static ɵfac: i0.ɵɵFactoryDeclaration<NgOptionHighlight, never>;
156
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgOptionHighlight, "[ngOptionHighlight]", never, { "term": { "alias": "ngOptionHighlight"; "required": false; }; }, {}, never, never, true, never>;
157
- }
158
-
159
- type SelectionModelFactory = () => SelectionModel;
160
- declare function DefaultSelectionModelFactory(): DefaultSelectionModel;
161
- interface SelectionModel {
162
- value: NgOptionItem[];
163
- select(item: NgOptionItem, multiple: boolean, selectableGroupAsModel: boolean): void;
164
- unselect(item: NgOptionItem, multiple: boolean): void;
165
- clear(keepDisabled: boolean): void;
166
- }
167
- declare class DefaultSelectionModel implements SelectionModel {
168
- get value(): NgOptionItem[];
169
- private _selected;
170
- select(item: NgOptionItem, multiple: boolean, groupAsModel: boolean): void;
171
- unselect(item: NgOptionItem, multiple: boolean): void;
172
- clear(keepDisabled: boolean): void;
173
- private _setChildrenSelectedState;
174
- private _removeChildren;
175
- private _removeParent;
176
- private _activeChildren;
177
- }
178
-
179
- declare class ItemsList {
180
- private _ngSelect;
181
- private _selectionModel;
182
- private _groups;
183
- constructor(_ngSelect: NgSelect, _selectionModel: SelectionModel);
184
- get items(): NgOptionItem[];
185
- private _items;
186
- get filteredItems(): NgOptionItem[];
187
- private _filteredItems;
188
- get markedIndex(): number;
189
- private _markedIndex;
190
- get selectedItems(): NgOptionItem[];
191
- get markedItem(): NgOptionItem | undefined;
192
- get noItemsToSelect(): boolean;
193
- get maxItemsSelected(): boolean;
194
- get lastSelectedItem(): NgOptionItem | null;
195
- setItems(items: readonly any[]): void;
196
- select(item: NgOptionItem): void;
197
- unselect(item: NgOptionItem): void;
198
- findItem(value: any): NgOptionItem;
199
- addItem(item: any): NgOptionItem;
200
- clearSelected(keepDisabled?: boolean): void;
201
- findByLabel(term: string): NgOptionItem | undefined;
202
- filter(term: string): void;
203
- resetFilteredItems(): void;
204
- unmarkItem(): void;
205
- markNextItem(): void;
206
- markPreviousItem(): void;
207
- markItem(item: NgOptionItem): void;
208
- markSelectedOrDefault(markDefault?: boolean): void;
209
- resolveNested(option: any, key: string): any;
210
- mapItem(item: any, index: number | null): NgOptionItem;
211
- mapSelectedItems(): void;
212
- private _showSelected;
213
- private _hideSelected;
214
- private _defaultSearchFn;
215
- private _getNextItemIndex;
216
- private _stepToItem;
217
- private _getLastMarkedIndex;
218
- private _groupBy;
219
- private _flatten;
185
+ static ngAcceptInputType_multiple: unknown;
220
186
  }
221
187
 
222
188
  declare const SELECTION_MODEL_FACTORY: InjectionToken<SelectionModelFactory>;
@@ -229,12 +195,14 @@ declare class NgSelect implements OnDestroy, OnChanges, OnInit, AfterViewInit, C
229
195
  readonly classes: string | null;
230
196
  _classList: Record<string, boolean>;
231
197
  _uid: string;
198
+ _listboxId: string;
199
+ _viewValuesId: string;
232
200
  bindLabel: string | undefined;
233
201
  bindValue: string | undefined;
234
202
  placeholder: string | undefined;
235
203
  fixedPlaceholder: boolean;
236
204
  appendTo: string | undefined;
237
- panelPosition: DropdownPanelPosition;
205
+ panelPosition: PanelPosition;
238
206
  panelDisabled: boolean;
239
207
  readonly: boolean;
240
208
  multiple: boolean;
@@ -268,16 +236,17 @@ declare class NgSelect implements OnDestroy, OnChanges, OnInit, AfterViewInit, C
268
236
  searchFn: SearchFn | null;
269
237
  keyDownFn: (e: KeyboardEvent) => boolean;
270
238
  trackByFn: TrackByFn | null;
271
- appearance: string;
272
239
  tabIndex?: number;
240
+ inputAttrs: Record<string, string>;
273
241
  ariaLabel?: string | null;
274
242
  ariaLabelledby?: string | null;
275
- ariaDescribedby?: string | null;
276
- inputAttrs: Record<string, string>;
243
+ get ariaDescribedby(): string | null | undefined;
244
+ set ariaDescribedby(value: string | null | undefined);
245
+ private _ariaDescribedby?;
277
246
  set panelClass(value: string | string[] | Record<string, any> | undefined);
278
247
  get inputId(): string | null | undefined;
279
248
  set inputId(value: string | null | undefined);
280
- private _inputId?;
249
+ private _inputId;
281
250
  get items(): readonly any[] | null | undefined;
282
251
  set items(value: readonly any[] | null | undefined);
283
252
  private _items;
@@ -303,22 +272,22 @@ declare class NgSelect implements OnDestroy, OnChanges, OnInit, AfterViewInit, C
303
272
  removeEvent: EventEmitter<any>;
304
273
  scroll: EventEmitter<ScrollEvent>;
305
274
  scrollToEnd: EventEmitter<void>;
306
- dropdownPanel: NgDropdownPanel;
275
+ dropdownPanel: NgSelectPanel;
307
276
  searchInput: ElementRef<HTMLInputElement>;
308
277
  clearButton?: ElementRef<HTMLSpanElement>;
309
- ngOptions?: QueryList<NgOption>;
278
+ ngOptions?: QueryList<NgSelectOption>;
310
279
  optionTemplate?: TemplateRef<any>;
311
280
  optgroupTemplate?: TemplateRef<any>;
312
281
  labelTemplate?: TemplateRef<any>;
313
282
  multiLabelTemplate?: TemplateRef<any>;
314
- headerTemplate?: TemplateRef<any>;
315
- footerTemplate?: TemplateRef<any>;
283
+ panelHeaderTemplate?: TemplateRef<any>;
284
+ panelFooterTemplate?: TemplateRef<any>;
316
285
  notFoundTemplate?: TemplateRef<any>;
317
286
  placeholderTemplate?: TemplateRef<any>;
318
287
  typeToSearchTemplate?: TemplateRef<any>;
319
288
  loadingTextTemplate?: TemplateRef<any>;
320
289
  tagTemplate?: TemplateRef<any>;
321
- loadingSpinnerTemplate?: TemplateRef<any>;
290
+ loadingTemplate?: TemplateRef<any>;
322
291
  clearButtonTemplate?: TemplateRef<any>;
323
292
  itemsList: ItemsList;
324
293
  element: HTMLElement;
@@ -336,8 +305,9 @@ declare class NgSelect implements OnDestroy, OnChanges, OnInit, AfterViewInit, C
336
305
  private readonly _keyPress$;
337
306
  get selectedItems(): NgOptionItem[];
338
307
  get selectedValues(): any[];
308
+ get selectedViewValuesStr(): string;
339
309
  get hasValue(): boolean;
340
- get currentPanelPosition(): DropdownPanelPosition | undefined;
310
+ get currentPanelPosition(): PanelPosition | undefined;
341
311
  get showAddTag(): boolean;
342
312
  get filtered(): boolean;
343
313
  private get _editableSearchTerm();
@@ -346,7 +316,6 @@ declare class NgSelect implements OnDestroy, OnChanges, OnInit, AfterViewInit, C
346
316
  get showClearButton(): boolean | "" | null;
347
317
  get showNoItemsFound(): boolean | "" | undefined;
348
318
  get showTypeToSearch(): boolean | undefined;
349
- get listboxId(): string;
350
319
  private _onChange;
351
320
  private _onTouched;
352
321
  trackByOption: (_: number, item: NgOptionItem) => any;
@@ -371,10 +340,10 @@ declare class NgSelect implements OnDestroy, OnChanges, OnInit, AfterViewInit, C
371
340
  toggle(): void;
372
341
  open(): void;
373
342
  close(): void;
374
- toggleItem(item: NgOptionItem): void;
375
- select(item: NgOptionItem): void;
376
343
  focus(): void;
377
344
  blur(): void;
345
+ toggleItem(item: NgOptionItem): void;
346
+ select(item: NgOptionItem): void;
378
347
  unselect(item?: NgOptionItem | null): void;
379
348
  selectTag(): void;
380
349
  onCompositionStart(): void;
@@ -405,7 +374,7 @@ declare class NgSelect implements OnDestroy, OnChanges, OnInit, AfterViewInit, C
405
374
  private _nextItemIsTag;
406
375
  private _handleBackspace;
407
376
  static ɵfac: i0.ɵɵFactoryDeclaration<NgSelect, never>;
408
- 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; }; "panelPosition": { "alias": "panelPosition"; "required": false; }; "panelDisabled": { "alias": "panelDisabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "clearOnBackspace": { "alias": "clearOnBackspace"; "required": false; }; "clearAllText": { "alias": "clearAllText"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "closeOnSelect": { "alias": "closeOnSelect"; "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; }; "preventToggleOnRightClick": { "alias": "preventToggleOnRightClick"; "required": false; }; "addTag": { "alias": "addTag"; "required": false; }; "addTagText": { "alias": "addTagText"; "required": false; }; "notFoundText": { "alias": "notFoundText"; "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; }; "appearance": { "alias": "appearance"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; }; "inputAttrs": { "alias": "inputAttrs"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "inputId": { "alias": "inputId"; "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>;
377
+ 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; }; "panelPosition": { "alias": "panelPosition"; "required": false; }; "panelDisabled": { "alias": "panelDisabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "clearOnBackspace": { "alias": "clearOnBackspace"; "required": false; }; "clearAllText": { "alias": "clearAllText"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "closeOnSelect": { "alias": "closeOnSelect"; "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; }; "preventToggleOnRightClick": { "alias": "preventToggleOnRightClick"; "required": false; }; "addTag": { "alias": "addTag"; "required": false; }; "addTagText": { "alias": "addTagText"; "required": false; }; "notFoundText": { "alias": "notFoundText"; "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; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "inputAttrs": { "alias": "inputAttrs"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "inputId": { "alias": "inputId"; "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", "panelHeaderTemplate", "panelFooterTemplate", "notFoundTemplate", "placeholderTemplate", "typeToSearchTemplate", "loadingTextTemplate", "tagTemplate", "loadingTemplate", "clearButtonTemplate", "ngOptions"], never, true, never>;
409
378
  static ngAcceptInputType_panelDisabled: unknown;
410
379
  static ngAcceptInputType_readonly: unknown;
411
380
  static ngAcceptInputType_multiple: unknown;
@@ -447,90 +416,126 @@ declare class NgSelectConfig {
447
416
  bindLabel?: string;
448
417
  clearSearchOnAdd?: boolean;
449
418
  deselectOnClick?: boolean;
450
- appearance: string;
451
419
  static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectConfig, never>;
452
420
  static ɵprov: i0.ɵɵInjectableDeclaration<NgSelectConfig>;
453
421
  }
454
422
 
455
- declare class NgItemLabel implements OnChanges {
456
- ngItemLabel: string;
457
- escape: boolean;
423
+ declare class NgSelectLabelRenderer implements OnChanges {
424
+ ngSelectLabelValue: string;
425
+ ngSelectLabelEscape: boolean;
458
426
  private element;
459
427
  ngOnChanges(): void;
460
- static ɵfac: i0.ɵɵFactoryDeclaration<NgItemLabel, never>;
461
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgItemLabel, "[ngItemLabel]", never, { "ngItemLabel": { "alias": "ngItemLabel"; "required": false; }; "escape": { "alias": "escape"; "required": false; }; }, {}, never, never, true, never>;
428
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectLabelRenderer, never>;
429
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgSelectLabelRenderer, "[ngSelectLabelValue]", never, { "ngSelectLabelValue": { "alias": "ngSelectLabelValue"; "required": false; }; "ngSelectLabelEscape": { "alias": "ngSelectLabelEscape"; "required": false; }; }, {}, never, never, true, never>;
462
430
  }
463
- declare class NgOptionTemplate {
431
+ declare class NgSelectOptionTemplate {
464
432
  template: TemplateRef<any>;
465
- static ɵfac: i0.ɵɵFactoryDeclaration<NgOptionTemplate, never>;
466
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgOptionTemplate, "[ng-option-tmp]", never, {}, {}, never, never, true, never>;
433
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectOptionTemplate, never>;
434
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgSelectOptionTemplate, "[ngSelectOption]", never, {}, {}, never, never, true, never>;
467
435
  }
468
- declare class NgOptgroupTemplate {
436
+ declare class NgSelectOptgroupTemplate {
469
437
  template: TemplateRef<any>;
470
- static ɵfac: i0.ɵɵFactoryDeclaration<NgOptgroupTemplate, never>;
471
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgOptgroupTemplate, "[ng-optgroup-tmp]", never, {}, {}, never, never, true, never>;
438
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectOptgroupTemplate, never>;
439
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgSelectOptgroupTemplate, "[ngSelectOptgroup]", never, {}, {}, never, never, true, never>;
472
440
  }
473
- declare class NgLabelTemplate {
441
+ declare class NgSelectLabelTemplate {
474
442
  template: TemplateRef<any>;
475
- static ɵfac: i0.ɵɵFactoryDeclaration<NgLabelTemplate, never>;
476
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgLabelTemplate, "[ng-label-tmp]", never, {}, {}, never, never, true, never>;
443
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectLabelTemplate, never>;
444
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgSelectLabelTemplate, "[ngSelectLabel]", never, {}, {}, never, never, true, never>;
477
445
  }
478
- declare class NgMultiLabelTemplate {
446
+ declare class NgSelectMultiLabelTemplate {
479
447
  template: TemplateRef<any>;
480
- static ɵfac: i0.ɵɵFactoryDeclaration<NgMultiLabelTemplate, never>;
481
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgMultiLabelTemplate, "[ng-multi-label-tmp]", never, {}, {}, never, never, true, never>;
448
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectMultiLabelTemplate, never>;
449
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgSelectMultiLabelTemplate, "[ngSelectMultiLabel]", never, {}, {}, never, never, true, never>;
482
450
  }
483
- declare class NgHeaderTemplate {
451
+ declare class NgSelectPanelHeaderTemplate {
484
452
  template: TemplateRef<any>;
485
- static ɵfac: i0.ɵɵFactoryDeclaration<NgHeaderTemplate, never>;
486
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgHeaderTemplate, "[ng-header-tmp]", never, {}, {}, never, never, true, never>;
453
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectPanelHeaderTemplate, never>;
454
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgSelectPanelHeaderTemplate, "[ngSelectPanelHeader]", never, {}, {}, never, never, true, never>;
487
455
  }
488
- declare class NgFooterTemplate {
456
+ declare class NgSelectPanelFooterTemplate {
489
457
  template: TemplateRef<any>;
490
- static ɵfac: i0.ɵɵFactoryDeclaration<NgFooterTemplate, never>;
491
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgFooterTemplate, "[ng-footer-tmp]", never, {}, {}, never, never, true, never>;
458
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectPanelFooterTemplate, never>;
459
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgSelectPanelFooterTemplate, "[ngSelectPanelFooter]", never, {}, {}, never, never, true, never>;
492
460
  }
493
- declare class NgNotFoundTemplate {
461
+ declare class NgSelectNotFoundTemplate {
494
462
  template: TemplateRef<any>;
495
- static ɵfac: i0.ɵɵFactoryDeclaration<NgNotFoundTemplate, never>;
496
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgNotFoundTemplate, "[ng-notfound-tmp]", never, {}, {}, never, never, true, never>;
463
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectNotFoundTemplate, never>;
464
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgSelectNotFoundTemplate, "[ngSelectNotFound]", never, {}, {}, never, never, true, never>;
497
465
  }
498
- declare class NgPlaceholderTemplate {
466
+ declare class NgSelectPlaceholderTemplate {
499
467
  template: TemplateRef<any>;
500
- static ɵfac: i0.ɵɵFactoryDeclaration<NgPlaceholderTemplate, never>;
501
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgPlaceholderTemplate, "[ng-placeholder-tmp]", never, {}, {}, never, never, true, never>;
468
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectPlaceholderTemplate, never>;
469
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgSelectPlaceholderTemplate, "[ngSelectPlaceholder]", never, {}, {}, never, never, true, never>;
502
470
  }
503
- declare class NgTypeToSearchTemplate {
471
+ declare class NgSelectTypeToSearchTemplate {
504
472
  template: TemplateRef<any>;
505
- static ɵfac: i0.ɵɵFactoryDeclaration<NgTypeToSearchTemplate, never>;
506
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgTypeToSearchTemplate, "[ng-typetosearch-tmp]", never, {}, {}, never, never, true, never>;
473
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectTypeToSearchTemplate, never>;
474
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgSelectTypeToSearchTemplate, "[ngSelectTypeToSearch]", never, {}, {}, never, never, true, never>;
507
475
  }
508
- declare class NgLoadingTextTemplate {
476
+ declare class NgSelectLoadingTextTemplate {
509
477
  template: TemplateRef<any>;
510
- static ɵfac: i0.ɵɵFactoryDeclaration<NgLoadingTextTemplate, never>;
511
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgLoadingTextTemplate, "[ng-loadingtext-tmp]", never, {}, {}, never, never, true, never>;
478
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectLoadingTextTemplate, never>;
479
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgSelectLoadingTextTemplate, "[ngSelectLoadingText]", never, {}, {}, never, never, true, never>;
512
480
  }
513
- declare class NgTagTemplate {
481
+ declare class NgSelectTagTemplate {
514
482
  template: TemplateRef<any>;
515
- static ɵfac: i0.ɵɵFactoryDeclaration<NgTagTemplate, never>;
516
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgTagTemplate, "[ng-tag-tmp]", never, {}, {}, never, never, true, never>;
483
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectTagTemplate, never>;
484
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgSelectTagTemplate, "[ngSelectTag]", never, {}, {}, never, never, true, never>;
517
485
  }
518
- declare class NgLoadingSpinnerTemplate {
486
+ declare class NgSelectLoadingTemplate {
519
487
  template: TemplateRef<any>;
520
- static ɵfac: i0.ɵɵFactoryDeclaration<NgLoadingSpinnerTemplate, never>;
521
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgLoadingSpinnerTemplate, "[ng-loadingspinner-tmp]", never, {}, {}, never, never, true, never>;
488
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectLoadingTemplate, never>;
489
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgSelectLoadingTemplate, "[ngSelectLoading]", never, {}, {}, never, never, true, never>;
522
490
  }
523
- declare class NgClearButtonTemplate {
491
+ declare class NgSelectClearButtonTemplate {
524
492
  template: TemplateRef<any>;
525
- static ɵfac: i0.ɵɵFactoryDeclaration<NgClearButtonTemplate, never>;
526
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgClearButtonTemplate, "[ng-clearbutton-tmp]", never, {}, {}, never, never, true, never>;
493
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectClearButtonTemplate, never>;
494
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgSelectClearButtonTemplate, "[ngSelectClearButton]", never, {}, {}, never, never, true, never>;
527
495
  }
528
496
 
529
497
  declare class NgSelectModule {
530
498
  static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectModule, never>;
531
- 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]>;
499
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NgSelectModule, never, [typeof NgSelectPanel, typeof NgSelect, typeof NgSelectOption, typeof NgSelectOptgroupTemplate, typeof NgSelectOptionTemplate, typeof NgSelectLabelTemplate, typeof NgSelectMultiLabelTemplate, typeof NgSelectPanelHeaderTemplate, typeof NgSelectPanelFooterTemplate, typeof NgSelectPlaceholderTemplate, typeof NgSelectClearButtonTemplate, typeof NgSelectNotFoundTemplate, typeof NgSelectTypeToSearchTemplate, typeof NgSelectLoadingTextTemplate, typeof NgSelectTagTemplate, typeof NgSelectLoadingTemplate, typeof NgSelectLabelRenderer], [typeof NgSelect, typeof NgSelectOption, typeof NgSelectOptgroupTemplate, typeof NgSelectOptionTemplate, typeof NgSelectLabelTemplate, typeof NgSelectMultiLabelTemplate, typeof NgSelectPanelHeaderTemplate, typeof NgSelectPanelFooterTemplate, typeof NgSelectPlaceholderTemplate, typeof NgSelectClearButtonTemplate, typeof NgSelectNotFoundTemplate, typeof NgSelectTypeToSearchTemplate, typeof NgSelectLoadingTextTemplate, typeof NgSelectTagTemplate, typeof NgSelectLoadingTemplate]>;
532
500
  static ɵinj: i0.ɵɵInjectorDeclaration<NgSelectModule>;
533
501
  }
534
502
 
535
- 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 };
536
- export type { AddTagFn, CompareWithFn, DropdownPanelPosition, GroupValueFn, ItemsRangeResult, NgOptionItem, PanelDimensions, ScrollEvent, SearchEvent, SearchFn, SelectionModel, SelectionModelFactory, TrackByFn };
503
+ declare class NgSelectOptionHighlight implements OnChanges, AfterViewInit {
504
+ term: string;
505
+ private elementRef;
506
+ private renderer;
507
+ private element;
508
+ private label;
509
+ private get _canHighlight();
510
+ ngOnChanges(): void;
511
+ ngAfterViewInit(): void;
512
+ private _escapeRegExp;
513
+ private _highlightLabel;
514
+ private _setInnerHtml;
515
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectOptionHighlight, never>;
516
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgSelectOptionHighlight, "[ngOptionHighlight]", never, { "term": { "alias": "ngOptionHighlight"; "required": false; }; }, {}, never, never, true, never>;
517
+ }
518
+
519
+ interface ItemsRangeResult {
520
+ scrollHeight: number;
521
+ topPadding: number;
522
+ start: number;
523
+ end: number;
524
+ }
525
+ interface PanelDimensions {
526
+ itemHeight: number;
527
+ panelHeight: number;
528
+ itemsPerViewport: number;
529
+ }
530
+ declare class NgSelectPanelUtils {
531
+ get dimensions(): PanelDimensions;
532
+ private _dimensions;
533
+ calculateItems(scrollPos: number, itemsLength: number, buffer: number): ItemsRangeResult;
534
+ setDimensions(itemHeight: number, panelHeight: number): void;
535
+ getScrollTo(itemTop: number, itemHeight: number, lastScroll: number): number | null;
536
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectPanelUtils, never>;
537
+ static ɵprov: i0.ɵɵInjectableDeclaration<NgSelectPanelUtils>;
538
+ }
539
+
540
+ export { DefaultSelectionModel, DefaultSelectionModelFactory, NgSelect, NgSelectClearButtonTemplate, NgSelectConfig, NgSelectLabelRenderer, NgSelectLabelTemplate, NgSelectLoadingTemplate, NgSelectLoadingTextTemplate, NgSelectModule, NgSelectMultiLabelTemplate, NgSelectNotFoundTemplate, NgSelectOptgroupTemplate, NgSelectOption, NgSelectOptionHighlight, NgSelectOptionTemplate, NgSelectPanel, NgSelectPanelFooterTemplate, NgSelectPanelHeaderTemplate, NgSelectPanelUtils, NgSelectPlaceholderTemplate, NgSelectTagTemplate, NgSelectTypeToSearchTemplate, SELECTION_MODEL_FACTORY };
541
+ export type { AddTagFn, CompareWithFn, GroupValueFn, ItemsRangeResult, NgOptionItem, PanelDimensions, PanelPosition, ScrollEvent, SearchEvent, SearchFn, SelectionModel, SelectionModelFactory, TrackByFn };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-matero/ng-select",
3
- "version": "0.5.2",
3
+ "version": "1.0.0",
4
4
  "description": "Angular Select - All in One UI Select, Multiselect and Autocomplete",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -27,36 +27,19 @@
27
27
  "url": "https://github.com/ng-matero/combobox/issues"
28
28
  },
29
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
30
  ".": {
31
+ "sass": "./_index.scss",
52
32
  "types": "./index.d.ts",
53
33
  "default": "./fesm2022/ng-matero-ng-select.mjs"
34
+ },
35
+ "./package.json": {
36
+ "default": "./package.json"
54
37
  }
55
38
  },
56
39
  "peerDependencies": {
57
- "@angular/common": ">=17.0.0",
58
- "@angular/core": ">=17.0.0",
59
- "@angular/forms": ">=17.0.0"
40
+ "@angular/common": ">=17.3.0",
41
+ "@angular/core": ">=17.3.0",
42
+ "@angular/forms": ">=17.3.0"
60
43
  },
61
44
  "dependencies": {
62
45
  "tslib": "^2.3.0"