@ng-select/ng-select 7.4.0 → 8.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.
Files changed (49) hide show
  1. package/README.md +2 -1
  2. package/esm2020/lib/config.service.mjs +21 -0
  3. package/esm2020/lib/console.service.mjs +14 -0
  4. package/{esm2015/lib/id.js → esm2020/lib/id.mjs} +3 -3
  5. package/esm2020/lib/items-list.mjs +356 -0
  6. package/esm2020/lib/ng-dropdown-panel.component.mjs +403 -0
  7. package/esm2020/lib/ng-dropdown-panel.service.mjs +68 -0
  8. package/esm2020/lib/ng-option.component.mjs +54 -0
  9. package/esm2020/lib/ng-select.component.mjs +991 -0
  10. package/esm2020/lib/ng-select.module.mjs +87 -0
  11. package/{esm2015/lib/ng-select.types.js → esm2020/lib/ng-select.types.mjs} +1 -1
  12. package/esm2020/lib/ng-templates.directive.mjs +157 -0
  13. package/{esm2015/lib/search-helper.js → esm2020/lib/search-helper.mjs} +2 -4
  14. package/{esm2015/lib/selection-model.js → esm2020/lib/selection-model.mjs} +0 -0
  15. package/{esm2015/lib/value-utils.js → esm2020/lib/value-utils.mjs} +5 -5
  16. package/esm2020/ng-select-ng-select.mjs +5 -0
  17. package/esm2020/public-api.mjs +9 -0
  18. package/fesm2015/{ng-select-ng-select.js → ng-select-ng-select.mjs} +507 -303
  19. package/fesm2015/ng-select-ng-select.mjs.map +1 -0
  20. package/fesm2020/ng-select-ng-select.mjs +3088 -0
  21. package/fesm2020/ng-select-ng-select.mjs.map +1 -0
  22. package/lib/config.service.d.ts +3 -0
  23. package/lib/console.service.d.ts +3 -0
  24. package/lib/ng-dropdown-panel.component.d.ts +4 -1
  25. package/lib/ng-dropdown-panel.service.d.ts +3 -0
  26. package/lib/ng-option.component.d.ts +3 -0
  27. package/lib/ng-select.component.d.ts +11 -8
  28. package/lib/ng-select.module.d.ts +9 -0
  29. package/lib/ng-select.types.d.ts +2 -1
  30. package/lib/ng-templates.directive.d.ts +25 -0
  31. package/lib/value-utils.d.ts +1 -1
  32. package/ng-select-ng-select.d.ts +1 -6
  33. package/package.json +24 -12
  34. package/public-api.d.ts +4 -2
  35. package/bundles/ng-select-ng-select.umd.js +0 -3508
  36. package/bundles/ng-select-ng-select.umd.js.map +0 -1
  37. package/esm2015/lib/config.service.js +0 -19
  38. package/esm2015/lib/console.service.js +0 -12
  39. package/esm2015/lib/items-list.js +0 -356
  40. package/esm2015/lib/ng-dropdown-panel.component.js +0 -370
  41. package/esm2015/lib/ng-dropdown-panel.service.js +0 -65
  42. package/esm2015/lib/ng-option.component.js +0 -53
  43. package/esm2015/lib/ng-select.component.js +0 -861
  44. package/esm2015/lib/ng-select.module.js +0 -54
  45. package/esm2015/lib/ng-templates.directive.js +0 -145
  46. package/esm2015/ng-select-ng-select.js +0 -11
  47. package/esm2015/public-api.js +0 -7
  48. package/fesm2015/ng-select-ng-select.js.map +0 -1
  49. package/ng-select-ng-select.metadata.json +0 -1
@@ -1,19 +1,19 @@
1
- import { OnDestroy, OnChanges, AfterViewInit, ChangeDetectorRef, EventEmitter, TemplateRef, ElementRef, SimpleChanges, QueryList, InjectionToken } from '@angular/core';
1
+ import { OnChanges, OnDestroy, OnInit, AfterViewInit, ChangeDetectorRef, EventEmitter, TemplateRef, ElementRef, SimpleChanges, QueryList, InjectionToken } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
3
  import { Subject } from 'rxjs';
4
4
  import { ConsoleService } from './console.service';
5
5
  import { ItemsList } from './items-list';
6
- import { NgOption } from './ng-select.types';
6
+ import { NgOption, DropdownPosition } from './ng-select.types';
7
7
  import { NgDropdownPanelComponent } from './ng-dropdown-panel.component';
8
8
  import { NgOptionComponent } from './ng-option.component';
9
9
  import { SelectionModelFactory } from './selection-model';
10
10
  import { NgSelectConfig } from './config.service';
11
+ import * as i0 from "@angular/core";
11
12
  export declare const SELECTION_MODEL_FACTORY: InjectionToken<SelectionModelFactory>;
12
- export declare type DropdownPosition = 'top' | 'right' | 'bottom' | 'left' | 'auto';
13
13
  export declare type AddTagFn = ((term: string) => any | Promise<any>);
14
14
  export declare type CompareWithFn = (a: any, b: any) => boolean;
15
- export declare type GroupValueFn = (key: string | object, children: any[]) => string | object;
16
- export declare class NgSelectComponent implements OnDestroy, OnChanges, AfterViewInit, ControlValueAccessor {
15
+ export declare type GroupValueFn = (key: string | any, children: any[]) => string | any;
16
+ export declare class NgSelectComponent implements OnDestroy, OnChanges, OnInit, AfterViewInit, ControlValueAccessor {
17
17
  classes: string;
18
18
  private autoFocus;
19
19
  config: NgSelectConfig;
@@ -37,7 +37,7 @@ export declare class NgSelectComponent implements OnDestroy, OnChanges, AfterVie
37
37
  selectOnTab: boolean;
38
38
  openOnEnter: boolean;
39
39
  maxSelectedItems: number;
40
- groupBy: string | Function;
40
+ groupBy: string | ((value: any) => any);
41
41
  groupValue: GroupValueFn;
42
42
  bufferAmount: number;
43
43
  virtualScroll: boolean;
@@ -99,8 +99,10 @@ export declare class NgSelectComponent implements OnDestroy, OnChanges, AfterVie
99
99
  dropdownPanel: NgDropdownPanelComponent;
100
100
  searchInput: ElementRef<HTMLInputElement>;
101
101
  ngOptions: QueryList<NgOptionComponent>;
102
+ useDefaultClass: boolean;
102
103
  get disabled(): boolean;
103
104
  get filtered(): boolean;
105
+ get single(): boolean;
104
106
  itemsList: ItemsList;
105
107
  viewPortItems: NgOption[];
106
108
  searchTerm: string;
@@ -108,7 +110,6 @@ export declare class NgSelectComponent implements OnDestroy, OnChanges, AfterVie
108
110
  element: HTMLElement;
109
111
  focused: boolean;
110
112
  escapeHTML: boolean;
111
- useDefaultClass: boolean;
112
113
  private _items;
113
114
  private _itemsAreUsed;
114
115
  private _defaultLabel;
@@ -127,7 +128,7 @@ export declare class NgSelectComponent implements OnDestroy, OnChanges, AfterVie
127
128
  clearItem: (item: any) => void;
128
129
  constructor(classes: string, autoFocus: any, config: NgSelectConfig, newSelectionModel: SelectionModelFactory, _elementRef: ElementRef<HTMLElement>, _cd: ChangeDetectorRef, _console: ConsoleService);
129
130
  get selectedItems(): NgOption[];
130
- get selectedValues(): (string | Object)[];
131
+ get selectedValues(): any[];
131
132
  get hasValue(): boolean;
132
133
  get currentPanelPosition(): DropdownPosition;
133
134
  ngOnInit(): void;
@@ -188,4 +189,6 @@ export declare class NgSelectComponent implements OnDestroy, OnChanges, AfterVie
188
189
  private get _isTypeahead();
189
190
  private get _validTerm();
190
191
  private _mergeGlobalConfig;
192
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectComponent, [{ attribute: "class"; }, { attribute: "autofocus"; }, null, null, null, null, null]>;
193
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgSelectComponent, "ng-select", never, { "bindLabel": "bindLabel"; "bindValue": "bindValue"; "markFirst": "markFirst"; "placeholder": "placeholder"; "notFoundText": "notFoundText"; "typeToSearchText": "typeToSearchText"; "addTagText": "addTagText"; "loadingText": "loadingText"; "clearAllText": "clearAllText"; "appearance": "appearance"; "dropdownPosition": "dropdownPosition"; "appendTo": "appendTo"; "loading": "loading"; "closeOnSelect": "closeOnSelect"; "hideSelected": "hideSelected"; "selectOnTab": "selectOnTab"; "openOnEnter": "openOnEnter"; "maxSelectedItems": "maxSelectedItems"; "groupBy": "groupBy"; "groupValue": "groupValue"; "bufferAmount": "bufferAmount"; "virtualScroll": "virtualScroll"; "selectableGroup": "selectableGroup"; "selectableGroupAsModel": "selectableGroupAsModel"; "searchFn": "searchFn"; "trackByFn": "trackByFn"; "clearOnBackspace": "clearOnBackspace"; "labelForId": "labelForId"; "inputAttrs": "inputAttrs"; "tabIndex": "tabIndex"; "readonly": "readonly"; "searchWhileComposing": "searchWhileComposing"; "minTermLength": "minTermLength"; "editableSearchTerm": "editableSearchTerm"; "keyDownFn": "keyDownFn"; "typeahead": "typeahead"; "multiple": "multiple"; "addTag": "addTag"; "searchable": "searchable"; "clearable": "clearable"; "isOpen": "isOpen"; "items": "items"; "compareWith": "compareWith"; "clearSearchOnAdd": "clearSearchOnAdd"; }, { "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", "typeToSearchTemplate", "loadingTextTemplate", "tagTemplate", "loadingSpinnerTemplate", "ngOptions"], never>;
191
194
  }
@@ -1,2 +1,11 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./ng-dropdown-panel.component";
3
+ import * as i2 from "./ng-option.component";
4
+ import * as i3 from "./ng-select.component";
5
+ import * as i4 from "./ng-templates.directive";
6
+ import * as i5 from "@angular/common";
1
7
  export declare class NgSelectModule {
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectModule, never>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NgSelectModule, [typeof i1.NgDropdownPanelComponent, typeof i2.NgOptionComponent, typeof i3.NgSelectComponent, typeof i4.NgOptgroupTemplateDirective, typeof i4.NgOptionTemplateDirective, typeof i4.NgLabelTemplateDirective, typeof i4.NgMultiLabelTemplateDirective, typeof i4.NgHeaderTemplateDirective, typeof i4.NgFooterTemplateDirective, typeof i4.NgNotFoundTemplateDirective, typeof i4.NgTypeToSearchTemplateDirective, typeof i4.NgLoadingTextTemplateDirective, typeof i4.NgTagTemplateDirective, typeof i4.NgLoadingSpinnerTemplateDirective, typeof i4.NgItemLabelDirective], [typeof i5.CommonModule], [typeof i3.NgSelectComponent, typeof i2.NgOptionComponent, typeof i4.NgOptgroupTemplateDirective, typeof i4.NgOptionTemplateDirective, typeof i4.NgLabelTemplateDirective, typeof i4.NgMultiLabelTemplateDirective, typeof i4.NgHeaderTemplateDirective, typeof i4.NgFooterTemplateDirective, typeof i4.NgNotFoundTemplateDirective, typeof i4.NgTypeToSearchTemplateDirective, typeof i4.NgLoadingTextTemplateDirective, typeof i4.NgTagTemplateDirective, typeof i4.NgLoadingSpinnerTemplateDirective]>;
10
+ static ɵinj: i0.ɵɵInjectorDeclaration<NgSelectModule>;
2
11
  }
@@ -6,7 +6,7 @@ export interface NgOption {
6
6
  disabled?: boolean;
7
7
  marked?: boolean;
8
8
  label?: string;
9
- value?: string | Object;
9
+ value?: string | any;
10
10
  parent?: NgOption;
11
11
  children?: NgOption[];
12
12
  }
@@ -19,3 +19,4 @@ export declare enum KeyCode {
19
19
  ArrowDown = 40,
20
20
  Backspace = 8
21
21
  }
22
+ export declare type DropdownPosition = 'top' | 'right' | 'bottom' | 'left' | 'auto';
@@ -1,52 +1,77 @@
1
1
  import { ElementRef, OnChanges, SimpleChanges, TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
2
3
  export declare class NgItemLabelDirective implements OnChanges {
3
4
  private element;
4
5
  ngItemLabel: string;
5
6
  escape: boolean;
6
7
  constructor(element: ElementRef<HTMLElement>);
7
8
  ngOnChanges(changes: SimpleChanges): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgItemLabelDirective, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgItemLabelDirective, "[ngItemLabel]", never, { "ngItemLabel": "ngItemLabel"; "escape": "escape"; }, {}, never>;
8
11
  }
9
12
  export declare class NgOptionTemplateDirective {
10
13
  template: TemplateRef<any>;
11
14
  constructor(template: TemplateRef<any>);
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgOptionTemplateDirective, never>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgOptionTemplateDirective, "[ng-option-tmp]", never, {}, {}, never>;
12
17
  }
13
18
  export declare class NgOptgroupTemplateDirective {
14
19
  template: TemplateRef<any>;
15
20
  constructor(template: TemplateRef<any>);
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgOptgroupTemplateDirective, never>;
22
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgOptgroupTemplateDirective, "[ng-optgroup-tmp]", never, {}, {}, never>;
16
23
  }
17
24
  export declare class NgLabelTemplateDirective {
18
25
  template: TemplateRef<any>;
19
26
  constructor(template: TemplateRef<any>);
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgLabelTemplateDirective, never>;
28
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgLabelTemplateDirective, "[ng-label-tmp]", never, {}, {}, never>;
20
29
  }
21
30
  export declare class NgMultiLabelTemplateDirective {
22
31
  template: TemplateRef<any>;
23
32
  constructor(template: TemplateRef<any>);
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgMultiLabelTemplateDirective, never>;
34
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgMultiLabelTemplateDirective, "[ng-multi-label-tmp]", never, {}, {}, never>;
24
35
  }
25
36
  export declare class NgHeaderTemplateDirective {
26
37
  template: TemplateRef<any>;
27
38
  constructor(template: TemplateRef<any>);
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgHeaderTemplateDirective, never>;
40
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgHeaderTemplateDirective, "[ng-header-tmp]", never, {}, {}, never>;
28
41
  }
29
42
  export declare class NgFooterTemplateDirective {
30
43
  template: TemplateRef<any>;
31
44
  constructor(template: TemplateRef<any>);
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgFooterTemplateDirective, never>;
46
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgFooterTemplateDirective, "[ng-footer-tmp]", never, {}, {}, never>;
32
47
  }
33
48
  export declare class NgNotFoundTemplateDirective {
34
49
  template: TemplateRef<any>;
35
50
  constructor(template: TemplateRef<any>);
51
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgNotFoundTemplateDirective, never>;
52
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgNotFoundTemplateDirective, "[ng-notfound-tmp]", never, {}, {}, never>;
36
53
  }
37
54
  export declare class NgTypeToSearchTemplateDirective {
38
55
  template: TemplateRef<any>;
39
56
  constructor(template: TemplateRef<any>);
57
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgTypeToSearchTemplateDirective, never>;
58
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgTypeToSearchTemplateDirective, "[ng-typetosearch-tmp]", never, {}, {}, never>;
40
59
  }
41
60
  export declare class NgLoadingTextTemplateDirective {
42
61
  template: TemplateRef<any>;
43
62
  constructor(template: TemplateRef<any>);
63
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgLoadingTextTemplateDirective, never>;
64
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgLoadingTextTemplateDirective, "[ng-loadingtext-tmp]", never, {}, {}, never>;
44
65
  }
45
66
  export declare class NgTagTemplateDirective {
46
67
  template: TemplateRef<any>;
47
68
  constructor(template: TemplateRef<any>);
69
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgTagTemplateDirective, never>;
70
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgTagTemplateDirective, "[ng-tag-tmp]", never, {}, {}, never>;
48
71
  }
49
72
  export declare class NgLoadingSpinnerTemplateDirective {
50
73
  template: TemplateRef<any>;
51
74
  constructor(template: TemplateRef<any>);
75
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgLoadingSpinnerTemplateDirective, never>;
76
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgLoadingSpinnerTemplateDirective, "[ng-loadingspinner-tmp]", never, {}, {}, never>;
52
77
  }
@@ -1,4 +1,4 @@
1
- export declare function escapeHTML(string: string): string;
1
+ export declare function escapeHTML(value: string): string;
2
2
  export declare function isDefined(value: any): boolean;
3
3
  export declare function isObject(value: any): boolean;
4
4
  export declare function isPromise(value: any): boolean;
@@ -1,10 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
+ /// <amd-module name="@ng-select/ng-select" />
4
5
  export * from './public-api';
5
- export { ConsoleService as ɵs } from './lib/console.service';
6
- export { NgDropdownPanelComponent as ɵq } from './lib/ng-dropdown-panel.component';
7
- export { NgDropdownPanelService as ɵd } from './lib/ng-dropdown-panel.service';
8
- export { NgOptionComponent as ɵr } from './lib/ng-option.component';
9
- export { NgFooterTemplateDirective as ɵk, NgHeaderTemplateDirective as ɵj, NgItemLabelDirective as ɵe, NgLabelTemplateDirective as ɵh, NgLoadingSpinnerTemplateDirective as ɵp, NgLoadingTextTemplateDirective as ɵn, NgMultiLabelTemplateDirective as ɵi, NgNotFoundTemplateDirective as ɵl, NgOptgroupTemplateDirective as ɵg, NgOptionTemplateDirective as ɵf, NgTagTemplateDirective as ɵo, NgTypeToSearchTemplateDirective as ɵm } from './lib/ng-templates.directive';
10
- export { DefaultSelectionModel as ɵc, DefaultSelectionModelFactory as ɵb, SelectionModelFactory as ɵa } from './lib/selection-model';
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@ng-select/ng-select",
3
- "version": "7.4.0",
3
+ "version": "8.0.0",
4
4
  "description": "Angular ng-select - All in One UI Select, Multiselect and Autocomplete",
5
5
  "author": "@ng-select/ng-select",
6
6
  "license": "MIT",
7
7
  "repository": "ng-select/ng-select",
8
8
  "engines": {
9
- "node": ">= 12.14.0",
9
+ "node": ">= 12.20.0",
10
10
  "npm": ">= 6.0.0"
11
11
  },
12
12
  "keywords": [
@@ -19,19 +19,31 @@
19
19
  "angular2"
20
20
  ],
21
21
  "peerDependencies": {
22
- "@angular/common": ">=12.0.0 <13.0.0",
23
- "@angular/core": ">=12.0.0 <13.0.0",
24
- "@angular/forms": ">=12.0.0 <13.0.0"
22
+ "@angular/common": ">=13.0.0 <14.0.0",
23
+ "@angular/core": ">=13.0.0 <14.0.0",
24
+ "@angular/forms": ">=13.0.0 <14.0.0"
25
25
  },
26
26
  "dependencies": {
27
- "tslib": "^2.0.0"
27
+ "tslib": "^2.3.1"
28
28
  },
29
- "main": "bundles/ng-select-ng-select.umd.js",
30
- "module": "fesm2015/ng-select-ng-select.js",
31
- "es2015": "fesm2015/ng-select-ng-select.js",
32
- "esm2015": "esm2015/ng-select-ng-select.js",
33
- "fesm2015": "fesm2015/ng-select-ng-select.js",
29
+ "module": "fesm2015/ng-select-ng-select.mjs",
30
+ "es2020": "fesm2020/ng-select-ng-select.mjs",
31
+ "esm2020": "esm2020/ng-select-ng-select.mjs",
32
+ "fesm2020": "fesm2020/ng-select-ng-select.mjs",
33
+ "fesm2015": "fesm2015/ng-select-ng-select.mjs",
34
34
  "typings": "ng-select-ng-select.d.ts",
35
- "metadata": "ng-select-ng-select.metadata.json",
35
+ "exports": {
36
+ "./package.json": {
37
+ "default": "./package.json"
38
+ },
39
+ ".": {
40
+ "types": "./ng-select-ng-select.d.ts",
41
+ "esm2020": "./esm2020/ng-select-ng-select.mjs",
42
+ "es2020": "./fesm2020/ng-select-ng-select.mjs",
43
+ "es2015": "./fesm2015/ng-select-ng-select.mjs",
44
+ "node": "./fesm2015/ng-select-ng-select.mjs",
45
+ "default": "./fesm2020/ng-select-ng-select.mjs"
46
+ }
47
+ },
36
48
  "sideEffects": false
37
49
  }
package/public-api.d.ts CHANGED
@@ -1,5 +1,7 @@
1
- export { DropdownPosition, NgSelectComponent, SELECTION_MODEL_FACTORY } from './lib/ng-select.component';
1
+ export { NgSelectComponent, SELECTION_MODEL_FACTORY } from './lib/ng-select.component';
2
2
  export { NgSelectModule } from './lib/ng-select.module';
3
- export { NgOption } from './lib/ng-select.types';
3
+ export { NgOption, DropdownPosition } from './lib/ng-select.types';
4
4
  export { SelectionModel } from './lib/selection-model';
5
5
  export { NgSelectConfig } from './lib/config.service';
6
+ export { NgOptionComponent } from './lib/ng-option.component';
7
+ export { NgOptgroupTemplateDirective, NgOptionTemplateDirective, NgFooterTemplateDirective, NgHeaderTemplateDirective, NgItemLabelDirective, NgLabelTemplateDirective, NgLoadingSpinnerTemplateDirective, NgLoadingTextTemplateDirective, NgMultiLabelTemplateDirective, NgNotFoundTemplateDirective, NgTagTemplateDirective, NgTypeToSearchTemplateDirective } from './lib/ng-templates.directive';