@syncfusion/ej2-dropdowns 24.2.9 → 25.1.35

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 (92) hide show
  1. package/CHANGELOG.md +23 -158
  2. package/dist/ej2-dropdowns.min.js +2 -2
  3. package/dist/ej2-dropdowns.umd.min.js +2 -2
  4. package/dist/ej2-dropdowns.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-dropdowns.es2015.js +1996 -513
  6. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  7. package/dist/es6/ej2-dropdowns.es5.js +2012 -512
  8. package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
  9. package/dist/global/ej2-dropdowns.min.js +2 -2
  10. package/dist/global/ej2-dropdowns.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +13 -13
  13. package/src/auto-complete/auto-complete-model.d.ts +3 -1
  14. package/src/auto-complete/auto-complete.d.ts +2 -0
  15. package/src/auto-complete/auto-complete.js +51 -6
  16. package/src/combo-box/combo-box-model.d.ts +10 -1
  17. package/src/combo-box/combo-box.d.ts +10 -2
  18. package/src/combo-box/combo-box.js +55 -23
  19. package/src/common/interface.d.ts +32 -0
  20. package/src/common/virtual-scroll.d.ts +1 -3
  21. package/src/common/virtual-scroll.js +157 -27
  22. package/src/drop-down-base/drop-down-base-model.d.ts +1 -1
  23. package/src/drop-down-base/drop-down-base.d.ts +64 -5
  24. package/src/drop-down-base/drop-down-base.js +241 -24
  25. package/src/drop-down-list/drop-down-list-model.d.ts +10 -1
  26. package/src/drop-down-list/drop-down-list.d.ts +16 -50
  27. package/src/drop-down-list/drop-down-list.js +150 -196
  28. package/src/drop-down-tree/drop-down-tree-model.d.ts +16 -12
  29. package/src/drop-down-tree/drop-down-tree.d.ts +13 -3
  30. package/src/drop-down-tree/drop-down-tree.js +55 -49
  31. package/src/global.js +1 -1
  32. package/src/list-box/list-box.js +9 -4
  33. package/src/mention/mention.d.ts +2 -0
  34. package/src/mention/mention.js +16 -8
  35. package/src/multi-select/checkbox-selection.js +8 -2
  36. package/src/multi-select/float-label.d.ts +5 -5
  37. package/src/multi-select/index.d.ts +1 -0
  38. package/src/multi-select/index.js +1 -0
  39. package/src/multi-select/interface.d.ts +1 -0
  40. package/src/multi-select/multi-select-model.d.ts +17 -2
  41. package/src/multi-select/multi-select.d.ts +34 -4
  42. package/src/multi-select/multi-select.js +1271 -173
  43. package/styles/auto-complete/_bds-definition.scss +2 -0
  44. package/styles/bootstrap-dark.css +7 -1
  45. package/styles/bootstrap.css +7 -1
  46. package/styles/bootstrap4.css +2 -1
  47. package/styles/bootstrap5-dark.css +2 -1
  48. package/styles/bootstrap5.css +2 -1
  49. package/styles/combo-box/_bds-definition.scss +2 -0
  50. package/styles/drop-down-base/_bds-definition.scss +134 -0
  51. package/styles/drop-down-list/_bds-definition.scss +134 -0
  52. package/styles/drop-down-list/icons/_bds.scss +14 -0
  53. package/styles/drop-down-tree/_bds-definition.scss +61 -0
  54. package/styles/drop-down-tree/icons/_bds.scss +11 -0
  55. package/styles/fabric-dark.css +3 -1
  56. package/styles/fabric.css +3 -1
  57. package/styles/fluent-dark.css +7 -1
  58. package/styles/fluent.css +7 -1
  59. package/styles/highcontrast-light.css +3 -1
  60. package/styles/highcontrast.css +3 -1
  61. package/styles/list-box/_bds-definition.scss +136 -0
  62. package/styles/list-box/icons/_bds.scss +25 -0
  63. package/styles/material-dark.css +2 -1
  64. package/styles/material.css +2 -1
  65. package/styles/material3-dark.css +2 -1
  66. package/styles/material3.css +2 -1
  67. package/styles/mention/_bds-definition.scss +1 -0
  68. package/styles/multi-select/_bds-definition.scss +235 -0
  69. package/styles/multi-select/_bootstrap-dark-definition.scss +4 -0
  70. package/styles/multi-select/_bootstrap-definition.scss +4 -0
  71. package/styles/multi-select/_fluent-definition.scss +5 -0
  72. package/styles/multi-select/_layout.scss +8 -1
  73. package/styles/multi-select/bootstrap-dark.css +7 -1
  74. package/styles/multi-select/bootstrap.css +7 -1
  75. package/styles/multi-select/bootstrap4.css +2 -1
  76. package/styles/multi-select/bootstrap5-dark.css +2 -1
  77. package/styles/multi-select/bootstrap5.css +2 -1
  78. package/styles/multi-select/fabric-dark.css +3 -1
  79. package/styles/multi-select/fabric.css +3 -1
  80. package/styles/multi-select/fluent-dark.css +7 -1
  81. package/styles/multi-select/fluent.css +7 -1
  82. package/styles/multi-select/highcontrast-light.css +3 -1
  83. package/styles/multi-select/highcontrast.css +3 -1
  84. package/styles/multi-select/icons/_bds.scss +26 -0
  85. package/styles/multi-select/material-dark.css +2 -1
  86. package/styles/multi-select/material.css +2 -1
  87. package/styles/multi-select/material3-dark.css +2 -1
  88. package/styles/multi-select/material3.css +2 -1
  89. package/styles/multi-select/tailwind-dark.css +2 -1
  90. package/styles/multi-select/tailwind.css +2 -1
  91. package/styles/tailwind-dark.css +2 -1
  92. package/styles/tailwind.css +2 -1
@@ -103,6 +103,8 @@ var Mention = /** @class */ (function (_super) {
103
103
  this.isPopupOpen = false;
104
104
  this.isCollided = false;
105
105
  this.lineBreak = false;
106
+ this.isRTE = false;
107
+ this.keyEventName = 'mousedown';
106
108
  };
107
109
  /**
108
110
  * Execute before render the list items
@@ -148,7 +150,7 @@ var Mention = /** @class */ (function (_super) {
148
150
  };
149
151
  Mention.prototype.bindCommonEvent = function () {
150
152
  if (!Browser.isDevice) {
151
- this.inputElement.addEventListener('keydown', this.keyDownHandler.bind(this), true);
153
+ this.inputElement.addEventListener('keydown', this.keyDownHandler.bind(this), !this.isRTE);
152
154
  }
153
155
  };
154
156
  /**
@@ -178,6 +180,10 @@ var Mention = /** @class */ (function (_super) {
178
180
  return parentElement.querySelector('.e-content');
179
181
  }
180
182
  }
183
+ if (targetElement && targetElement.parentElement && targetElement.parentElement.classList.contains('e-rte-content')) {
184
+ this.isRTE = true;
185
+ this.keyEventName = 'click';
186
+ }
181
187
  return targetElement;
182
188
  };
183
189
  /**
@@ -319,7 +325,7 @@ var Mention = /** @class */ (function (_super) {
319
325
  };
320
326
  Mention.prototype.unBindCommonEvent = function () {
321
327
  if (!Browser.isDevice) {
322
- this.inputElement.removeEventListener('keydown', this.keyDownHandler.bind(this), true);
328
+ this.inputElement.removeEventListener('keydown', this.keyDownHandler.bind(this), !this.isRTE);
323
329
  }
324
330
  };
325
331
  Mention.prototype.onKeyUp = function (e) {
@@ -330,7 +336,7 @@ var Mention = /** @class */ (function (_super) {
330
336
  }
331
337
  this.isTyped = e.code !== 'Enter' && e.code !== 'Space' && e.code !== 'ArrowDown' && e.code !== 'ArrowUp' ? true : false;
332
338
  var isRteImage = document.activeElement.parentElement && document.activeElement.parentElement.querySelector('.e-rte-image') ? true : false;
333
- if (document.activeElement != this.inputElement && !isRteImage) {
339
+ if (document.activeElement != this.inputElement && isRteImage) {
334
340
  this.inputElement.focus();
335
341
  }
336
342
  if (this.isContentEditable(this.inputElement)) {
@@ -358,7 +364,7 @@ var Mention = /** @class */ (function (_super) {
358
364
  this.range.startContainer.nodeType === 1))) {
359
365
  if (this.isPopupOpen && this.allowSpaces && currentRange && currentRange.trim() !== '' && charRegex.test(currentRange) && currentRange.indexOf(this.mentionChar) !== -1
360
366
  && !this.isMatchedText() && (currentRange.length > 1 && currentRange.replace(/\u00A0/g, ' ').charAt(currentRange.length - 2) !== ' ') &&
361
- (this.list && this.list.querySelectorAll('ul').length > 0)) {
367
+ (this.list && this.list.querySelectorAll('ul').length > 0) && e.code !== 'Enter') {
362
368
  this.queryString = currentRange.substring(currentRange.lastIndexOf(this.mentionChar) + 1).replace('\u00a0', ' ');
363
369
  this.searchLists(e);
364
370
  }
@@ -1003,7 +1009,7 @@ var Mention = /** @class */ (function (_super) {
1003
1009
  * @returns {void}
1004
1010
  */
1005
1011
  Mention.prototype.wireListEvents = function () {
1006
- EventHandler.add(this.list, 'mousedown', this.onMouseClick, this);
1012
+ EventHandler.add(this.list, this.keyEventName, this.onMouseClick, this);
1007
1013
  EventHandler.add(this.list, 'mouseover', this.onMouseOver, this);
1008
1014
  EventHandler.add(this.list, 'mouseout', this.onMouseLeave, this);
1009
1015
  };
@@ -1013,7 +1019,7 @@ var Mention = /** @class */ (function (_super) {
1013
1019
  * @returns {void}
1014
1020
  */
1015
1021
  Mention.prototype.unWireListEvents = function () {
1016
- EventHandler.remove(this.list, 'mousedown', this.onMouseClick);
1022
+ EventHandler.remove(this.list, this.keyEventName, this.onMouseClick);
1017
1023
  EventHandler.remove(this.list, 'mouseover', this.onMouseOver);
1018
1024
  EventHandler.remove(this.list, 'mouseout', this.onMouseLeave);
1019
1025
  };
@@ -1028,7 +1034,9 @@ var Mention = /** @class */ (function (_super) {
1028
1034
  var delay = 100;
1029
1035
  this.closePopup(delay, e);
1030
1036
  this.inputElement.focus();
1031
- e.preventDefault();
1037
+ if (!this.isRTE) {
1038
+ e.preventDefault();
1039
+ }
1032
1040
  };
1033
1041
  Mention.prototype.updateSelectedItem = function (li, e, preventSelect, isSelection) {
1034
1042
  var _this = this;
@@ -1269,7 +1277,7 @@ var Mention = /** @class */ (function (_super) {
1269
1277
  if (this.isPopupOpen) {
1270
1278
  this.hidePopup();
1271
1279
  }
1272
- //New event to update the RichTextEditor value, when a mention item is selected using mouse click action.
1280
+ //New event to update the RichTextEditor value, when a mention item is selected using mouse click action.
1273
1281
  if (!isNullOrUndefined(e.pointerType) && e.pointerType === 'mouse') {
1274
1282
  var event_1 = new CustomEvent('content-changed', { detail: { click: true } });
1275
1283
  this.inputElement.dispatchEvent(event_1);
@@ -146,7 +146,7 @@ var CheckBoxSelection = /** @class */ (function () {
146
146
  }
147
147
  EventHandler.add(this.checkAllParent, 'mousedown', this.clickHandler, this);
148
148
  }
149
- if (this.parent.list.classList.contains('e-nodata') || (this.parent.listData && this.parent.listData.length <= 1 &&
149
+ if (this.parent.list.classList.contains('e-nodata') || (this.parent.listData && this.parent.listData.length <= 1 && !this.parent.enableVirtualization &&
150
150
  !(this.parent.isDynamicDataChange)) || (this.parent.isDynamicDataChange &&
151
151
  this.parent.listData && this.parent.listData.length <= 1)) {
152
152
  this.checkAllParent.style.display = 'none';
@@ -512,7 +512,13 @@ var CheckBoxSelection = /** @class */ (function () {
512
512
  });
513
513
  remLi = this.parent.ulElement.querySelectorAll('li.e-active');
514
514
  addClass(remLi, 'e-reorder-hide');
515
- prepend([ulEle_1], this.parent.list);
515
+ if (this.parent.enableVirtualization) {
516
+ var virtualUlElement = this.parent.list.querySelector('.e-virtual-ddl-content');
517
+ prepend([ulEle_1], virtualUlElement);
518
+ }
519
+ else {
520
+ prepend([ulEle_1], this.parent.list);
521
+ }
516
522
  }
517
523
  this.parent.focusAtFirstListItem();
518
524
  }
@@ -10,14 +10,14 @@ import { FloatLabelType } from '@syncfusion/ej2-inputs';
10
10
  * @param {FloatLabelType} floatLabelType - Specify the FloatLabel Type.
11
11
  * @param {string} placeholder - Specify the PlaceHolder text.
12
12
  */
13
- export declare function createFloatLabel(overAllWrapper: HTMLDivElement, searchWrapper: HTMLElement, element: HTMLElement, inputElement: HTMLInputElement, value: number[] | string[] | boolean[], floatLabelType: FloatLabelType, placeholder: string): void;
13
+ export declare function createFloatLabel(overAllWrapper: HTMLDivElement, searchWrapper: HTMLElement, element: HTMLElement, inputElement: HTMLInputElement, value: number[] | string[] | boolean[] | object[], floatLabelType: FloatLabelType, placeholder: string): void;
14
14
  /**
15
15
  * Function to update status of the Float Label element.
16
16
  *
17
17
  * @param {string[] | number[] | boolean[]} value - Value of the MultiSelect.
18
18
  * @param {HTMLElement} label - Float label element.
19
19
  */
20
- export declare function updateFloatLabelState(value: string[] | number[] | boolean[], label: HTMLElement): void;
20
+ export declare function updateFloatLabelState(value: string[] | number[] | boolean[] | object[], label: HTMLElement): void;
21
21
  /**
22
22
  * Function to remove Float Label element.
23
23
  *
@@ -29,7 +29,7 @@ export declare function updateFloatLabelState(value: string[] | number[] | boole
29
29
  * @param {FloatLabelType} floatLabelType - Specify the FloatLabel Type.
30
30
  * @param {string} placeholder - Specify the PlaceHolder text.
31
31
  */
32
- export declare function removeFloating(overAllWrapper: HTMLDivElement, componentWrapper: HTMLDivElement, searchWrapper: HTMLElement, inputElement: HTMLInputElement, value: number[] | string[] | boolean[], floatLabelType: FloatLabelType, placeholder: string): void;
32
+ export declare function removeFloating(overAllWrapper: HTMLDivElement, componentWrapper: HTMLDivElement, searchWrapper: HTMLElement, inputElement: HTMLInputElement, value: number[] | string[] | boolean[] | object[], floatLabelType: FloatLabelType, placeholder: string): void;
33
33
  /**
34
34
  * Function to set the placeholder to the element.
35
35
  *
@@ -37,7 +37,7 @@ export declare function removeFloating(overAllWrapper: HTMLDivElement, component
37
37
  * @param {HTMLInputElement} inputElement - Specify the input wrapper.
38
38
  * @param {string} placeholder - Specify the PlaceHolder text.
39
39
  */
40
- export declare function setPlaceHolder(value: number[] | string[] | boolean[], inputElement: HTMLInputElement, placeholder: string): void;
40
+ export declare function setPlaceHolder(value: number[] | string[] | boolean[] | object[], inputElement: HTMLInputElement, placeholder: string): void;
41
41
  /**
42
42
  * Function for focusing the Float Element.
43
43
  *
@@ -54,5 +54,5 @@ export declare function floatLabelFocus(overAllWrapper: HTMLDivElement, componen
54
54
  * @param {FloatLabelType} floatLabelType - Specify the FloatLabel Type.
55
55
  * @param {string} placeholder - Specify the PlaceHolder text.
56
56
  */
57
- export declare function floatLabelBlur(overAllWrapper: HTMLDivElement, componentWrapper: HTMLDivElement, value: number[] | string[] | boolean[], floatLabelType: FloatLabelType, placeholder: string): void;
57
+ export declare function floatLabelBlur(overAllWrapper: HTMLDivElement, componentWrapper: HTMLDivElement, value: number[] | string[] | boolean[] | object[], floatLabelType: FloatLabelType, placeholder: string): void;
58
58
  export declare function encodePlaceholder(placeholder: string): string;
@@ -4,5 +4,6 @@
4
4
  export * from './multi-select';
5
5
  export * from './multi-select-model';
6
6
  export * from './checkbox-selection';
7
+ export * from '../common/virtual-scroll';
7
8
  export * from './interface';
8
9
  export * from './float-label';
@@ -3,4 +3,5 @@
3
3
  */
4
4
  export * from './multi-select';
5
5
  export * from './checkbox-selection';
6
+ export * from '../common/virtual-scroll';
6
7
  export * from './float-label';
@@ -41,6 +41,7 @@ export interface IMulitSelect extends Component<HTMLElement> {
41
41
  [key: string]: Object;
42
42
  };
43
43
  itemTemplate?: string;
44
+ enableVirtualization?: boolean;
44
45
  headerTemplate?: string;
45
46
  mobFilter?: boolean;
46
47
  header?: HTMLElement;
@@ -1,4 +1,4 @@
1
- import { DropDownBase, SelectEventArgs, dropDownBaseClasses, PopupEventArgs, FilteringEventArgs } from '../drop-down-base/drop-down-base';import { FocusEventArgs, BeforeOpenEventArgs, FilterType, FieldSettings, ResultData } from '../drop-down-base/drop-down-base';import { FieldSettingsModel } from '../drop-down-base/drop-down-base-model';import { Popup, createSpinner, showSpinner, hideSpinner } from '@syncfusion/ej2-popups';import { IInput, FloatLabelType, Input } from '@syncfusion/ej2-inputs';import { attributes, setValue, SanitizeHtmlHelper, getValue } from '@syncfusion/ej2-base';import { NotifyPropertyChanges, extend } from '@syncfusion/ej2-base';import { EventHandler, Property, Event, compile, L10n, EmitType, KeyboardEventArgs } from '@syncfusion/ej2-base';import { Animation, AnimationModel, Browser, prepend, Complex } from '@syncfusion/ej2-base';import { Search } from '../common/incremental-search';import { append, addClass, removeClass, closest, detach, remove, select, selectAll } from '@syncfusion/ej2-base';import { getUniqueID, formatUnit, isNullOrUndefined, isUndefined, ModuleDeclaration } from '@syncfusion/ej2-base';import { DataManager, Query, Predicate, JsonAdaptor } from '@syncfusion/ej2-data';import { SortOrder } from '@syncfusion/ej2-lists';import { createFloatLabel, removeFloating, floatLabelFocus, floatLabelBlur, encodePlaceholder } from './float-label';
1
+ import { DropDownBase, SelectEventArgs, dropDownBaseClasses, PopupEventArgs, FilteringEventArgs } from '../drop-down-base/drop-down-base';import { FocusEventArgs, BeforeOpenEventArgs, FilterType, FieldSettings, ResultData } from '../drop-down-base/drop-down-base';import { FieldSettingsModel } from '../drop-down-base/drop-down-base-model';import { Popup, createSpinner, showSpinner, hideSpinner } from '@syncfusion/ej2-popups';import { IInput, FloatLabelType, Input } from '@syncfusion/ej2-inputs';import { attributes, setValue, SanitizeHtmlHelper, getValue } from '@syncfusion/ej2-base';import { NotifyPropertyChanges, extend } from '@syncfusion/ej2-base';import { EventHandler, Property, Event, compile, L10n, EmitType, KeyboardEventArgs } from '@syncfusion/ej2-base';import { Animation, AnimationModel, Browser, prepend, Complex } from '@syncfusion/ej2-base';import { Search } from '../common/incremental-search';import { append, addClass, removeClass, closest, detach, remove, select, selectAll } from '@syncfusion/ej2-base';import { getUniqueID, formatUnit, isNullOrUndefined, isUndefined, ModuleDeclaration } from '@syncfusion/ej2-base';import { DataManager, Query, Predicate, JsonAdaptor, DataOptions } from '@syncfusion/ej2-data';import { SortOrder } from '@syncfusion/ej2-lists';import { createFloatLabel, removeFloating, floatLabelFocus, floatLabelBlur, encodePlaceholder } from './float-label';
2
2
  import {visualMode,MultiSelectChangeEventArgs,RemoveEventArgs,ISelectAllEventArgs,TaggingEventArgs,CustomValueEventArgs} from "./multi-select";
3
3
  import {DropDownBaseModel} from "../drop-down-base/drop-down-base-model";
4
4
 
@@ -91,6 +91,13 @@ export interface MultiSelectModel extends DropDownBaseModel{
91
91
  */
92
92
  enableHtmlSanitizer?: boolean;
93
93
 
94
+ /**
95
+ * Defines whether to enable virtual scrolling in the component.
96
+ *
97
+ * @default false
98
+ */
99
+ enableVirtualization?: boolean;
100
+
94
101
  /**
95
102
  * Accepts the list items either through local or remote service and binds it to the MultiSelect component.
96
103
  * It can be an array of JSON Objects or an instance of
@@ -334,6 +341,7 @@ export interface MultiSelectModel extends DropDownBaseModel{
334
341
  * Selects the list item which maps the data `text` field in the component.
335
342
  *
336
343
  * @default null
344
+ * @aspType string
337
345
  */
338
346
  text?: string | null;
339
347
 
@@ -344,7 +352,14 @@ export interface MultiSelectModel extends DropDownBaseModel{
344
352
  * @default null
345
353
  * @isGenericType true
346
354
  */
347
- value?: number[] | string[] | boolean[] | null;
355
+ value?: number[] | string[] | boolean[] | object[] | null ;
356
+
357
+ /**
358
+ * Defines whether the object binding is allowed or not in the component.
359
+ *
360
+ * @default false
361
+ */
362
+ allowObjectBinding?: boolean;
348
363
 
349
364
  /**
350
365
  * Hides the selected item from the list item.
@@ -49,6 +49,7 @@ export declare class MultiSelect extends DropDownBase implements IInput {
49
49
  private previousFilterText;
50
50
  private selectedElementID;
51
51
  private focusFirstListItem;
52
+ private currentFocuedListElement;
52
53
  private isCustomRendered;
53
54
  private isRemoteSelection;
54
55
  private isSelectAllTarget;
@@ -128,6 +129,12 @@ export declare class MultiSelect extends DropDownBase implements IInput {
128
129
  * @default true
129
130
  */
130
131
  enableHtmlSanitizer: boolean;
132
+ /**
133
+ * Defines whether to enable virtual scrolling in the component.
134
+ *
135
+ * @default false
136
+ */
137
+ enableVirtualization: boolean;
131
138
  /**
132
139
  * Accepts the list items either through local or remote service and binds it to the MultiSelect component.
133
140
  * It can be an array of JSON Objects or an instance of
@@ -351,6 +358,7 @@ export declare class MultiSelect extends DropDownBase implements IInput {
351
358
  * Selects the list item which maps the data `text` field in the component.
352
359
  *
353
360
  * @default null
361
+ * @aspType string
354
362
  */
355
363
  text: string | null;
356
364
  /**
@@ -360,7 +368,13 @@ export declare class MultiSelect extends DropDownBase implements IInput {
360
368
  * @default null
361
369
  * @isGenericType true
362
370
  */
363
- value: number[] | string[] | boolean[] | null;
371
+ value: number[] | string[] | boolean[] | object[] | null;
372
+ /**
373
+ * Defines whether the object binding is allowed or not in the component.
374
+ *
375
+ * @default false
376
+ */
377
+ allowObjectBinding: boolean;
364
378
  /**
365
379
  * Hides the selected item from the list item.
366
380
  *
@@ -560,6 +574,9 @@ export declare class MultiSelect extends DropDownBase implements IInput {
560
574
  private mainList;
561
575
  ulElement: HTMLElement;
562
576
  private mainData;
577
+ protected virtualCustomSelectData: {
578
+ [key: string]: Object;
579
+ }[];
563
580
  private mainListCollection;
564
581
  private customValueFlag;
565
582
  private inputElement;
@@ -589,6 +606,8 @@ export declare class MultiSelect extends DropDownBase implements IInput {
589
606
  private removeIndex;
590
607
  private resetMainList;
591
608
  private resetFilteredData;
609
+ private preventSetCurrentData;
610
+ private virtualCustomData;
592
611
  private enableRTL;
593
612
  requiredModules(): ModuleDeclaration[];
594
613
  private updateHTMLAttribute;
@@ -597,6 +616,7 @@ export declare class MultiSelect extends DropDownBase implements IInput {
597
616
  private updateCssClass;
598
617
  private updateOldPropCssClass;
599
618
  private onPopupShown;
619
+ private updateVirtualReOrderList;
600
620
  private updateListItems;
601
621
  private loadTemplate;
602
622
  private setScrollPosition;
@@ -633,6 +653,8 @@ export declare class MultiSelect extends DropDownBase implements IInput {
633
653
  [key: string]: Object;
634
654
  }[] | DataManager | string[] | number[] | boolean[], query?: Query, fields?: FieldSettingsModel): void;
635
655
  protected getQuery(query: Query): Query;
656
+ private virtualFilterQuery;
657
+ protected getTakeValue(): number;
636
658
  private dataUpdater;
637
659
  private tempQuery;
638
660
  private tempValues;
@@ -651,7 +673,6 @@ export declare class MultiSelect extends DropDownBase implements IInput {
651
673
  private updateValueState;
652
674
  private updateTempValue;
653
675
  private updateAriaActiveDescendant;
654
- private getPagingCount;
655
676
  private pageUpSelection;
656
677
  private pageDownSelection;
657
678
  getItems(): Element[];
@@ -665,6 +686,8 @@ export declare class MultiSelect extends DropDownBase implements IInput {
665
686
  private popupKeyActions;
666
687
  private updateAriaAttribute;
667
688
  private homeNavigation;
689
+ private updateSelectionList;
690
+ private handleVirtualKeyboardActions;
668
691
  private onKeyDown;
669
692
  private arrowDown;
670
693
  private arrowUp;
@@ -675,12 +698,14 @@ export declare class MultiSelect extends DropDownBase implements IInput {
675
698
  private escapeAction;
676
699
  private scrollBottom;
677
700
  private scrollTop;
701
+ private IsScrollerAtEnd;
678
702
  private selectListByKey;
679
703
  private refreshListItems;
680
704
  private removeSelectedChip;
681
705
  private moveByTop;
682
706
  private clickHandler;
683
707
  private moveByList;
708
+ private getElementByValue;
684
709
  private updateCheck;
685
710
  private moveBy;
686
711
  private chipClick;
@@ -696,6 +721,7 @@ export declare class MultiSelect extends DropDownBase implements IInput {
696
721
  private removeChip;
697
722
  private setWidth;
698
723
  private updateChipStatus;
724
+ private indexOfObjectInArray;
699
725
  private addValue;
700
726
  private checkMaxSelection;
701
727
  private dispatchSelect;
@@ -714,6 +740,7 @@ export declare class MultiSelect extends DropDownBase implements IInput {
714
740
  private renderPopup;
715
741
  private setHeaderTemplate;
716
742
  private setFooterTemplate;
743
+ private updateInitialData;
717
744
  private clearAll;
718
745
  private clearAllCallback;
719
746
  private windowResize;
@@ -814,6 +841,7 @@ export declare class MultiSelect extends DropDownBase implements IInput {
814
841
  */
815
842
  onPropertyChanged(newProp: MultiSelectModel, oldProp: MultiSelectModel): void;
816
843
  private reInitializePoup;
844
+ private totalItemsCount;
817
845
  private presentItemValue;
818
846
  private addNonPresentItems;
819
847
  private updateVal;
@@ -872,8 +900,10 @@ export declare class MultiSelect extends DropDownBase implements IInput {
872
900
  * @returns {void}
873
901
  */
874
902
  render(): void;
903
+ private getListHeight;
875
904
  private checkInitialValue;
876
905
  private checkAutoFocus;
906
+ private updatevirtualizationList;
877
907
  private setFloatLabelType;
878
908
  private addValidInputClass;
879
909
  private dropDownIcon;
@@ -933,13 +963,13 @@ export interface MultiSelectChangeEventArgs {
933
963
  *
934
964
  * @isGenericType true
935
965
  */
936
- oldValue: number[] | string[] | boolean[];
966
+ oldValue: number[] | string[] | boolean[] | object[];
937
967
  /**
938
968
  * Returns the updated component Values.
939
969
  *
940
970
  * @isGenericType true
941
971
  */
942
- value: number[] | string[] | boolean[];
972
+ value: number[] | string[] | boolean[] | object[];
943
973
  /**
944
974
  * Specifies the original event arguments.
945
975
  */