@syncfusion/ej2-dropdowns 23.2.7-52849 → 24.1.41

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 (256) hide show
  1. package/.eslintrc.json +260 -0
  2. package/CHANGELOG.md +2038 -2152
  3. package/{ReadMe.md → README.md} +217 -217
  4. package/dist/ej2-dropdowns.min.js +10 -0
  5. package/dist/ej2-dropdowns.umd.min.js +10 -1
  6. package/dist/ej2-dropdowns.umd.min.js.map +1 -1
  7. package/dist/es6/ej2-dropdowns.es2015.js +709 -172
  8. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  9. package/dist/es6/ej2-dropdowns.es5.js +870 -332
  10. package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
  11. package/dist/global/ej2-dropdowns.min.js +11 -0
  12. package/dist/global/ej2-dropdowns.min.js.map +1 -0
  13. package/dist/global/index.d.ts +14 -0
  14. package/helpers/e2e/autocomplete.js +13 -13
  15. package/helpers/e2e/combobox.js +13 -13
  16. package/helpers/e2e/dropdownlist.js +13 -13
  17. package/helpers/e2e/index.js +3 -3
  18. package/helpers/e2e/listboxHelper.js +13 -13
  19. package/helpers/e2e/multiselect.js +13 -13
  20. package/license +2 -2
  21. package/package.json +80 -80
  22. package/src/auto-complete/auto-complete-model.d.ts +188 -188
  23. package/src/auto-complete/auto-complete.d.ts +12 -12
  24. package/src/auto-complete/auto-complete.js +30 -25
  25. package/src/combo-box/combo-box-model.d.ts +224 -224
  26. package/src/combo-box/combo-box.d.ts +27 -27
  27. package/src/combo-box/combo-box.js +103 -31
  28. package/src/common/incremental-search.d.ts +1 -1
  29. package/src/common/incremental-search.js +50 -7
  30. package/src/common/interface.d.ts +2 -0
  31. package/src/common/virtual-scroll.js +68 -47
  32. package/src/drop-down-base/drop-down-base-model.d.ts +200 -200
  33. package/src/drop-down-base/drop-down-base.d.ts +38 -18
  34. package/src/drop-down-base/drop-down-base.js +173 -60
  35. package/src/drop-down-list/drop-down-list-model.d.ts +202 -202
  36. package/src/drop-down-list/drop-down-list.d.ts +14 -7
  37. package/src/drop-down-list/drop-down-list.js +325 -61
  38. package/src/drop-down-tree/drop-down-tree-model.d.ts +468 -468
  39. package/src/drop-down-tree/drop-down-tree.js +43 -39
  40. package/src/list-box/list-box-model.d.ts +193 -193
  41. package/src/list-box/list-box.d.ts +2 -2
  42. package/src/list-box/list-box.js +27 -20
  43. package/src/mention/mention-model.d.ts +261 -261
  44. package/src/mention/mention.js +24 -20
  45. package/src/multi-select/checkbox-selection.js +4 -1
  46. package/src/multi-select/multi-select-model.d.ts +512 -512
  47. package/src/multi-select/multi-select.js +23 -21
  48. package/styles/auto-complete/_all.scss +1 -1
  49. package/styles/auto-complete/_bootstrap-dark-definition.scss +3 -3
  50. package/styles/auto-complete/_bootstrap-definition.scss +2 -2
  51. package/styles/auto-complete/_bootstrap4-definition.scss +11 -11
  52. package/styles/auto-complete/_bootstrap5-definition.scss +2 -2
  53. package/styles/auto-complete/_fabric-dark-definition.scss +2 -2
  54. package/styles/auto-complete/_fabric-definition.scss +2 -2
  55. package/styles/auto-complete/_fluent-definition.scss +2 -2
  56. package/styles/auto-complete/_fusionnew-definition.scss +2 -2
  57. package/styles/auto-complete/_highcontrast-definition.scss +2 -2
  58. package/styles/auto-complete/_highcontrast-light-definition.scss +2 -2
  59. package/styles/auto-complete/_material-dark-definition.scss +2 -2
  60. package/styles/auto-complete/_material-definition.scss +2 -2
  61. package/styles/auto-complete/_material3-definition.scss +2 -2
  62. package/styles/auto-complete/_tailwind-definition.scss +2 -2
  63. package/styles/auto-complete/material3-dark.scss +1 -1
  64. package/styles/auto-complete/material3.scss +1 -1
  65. package/styles/combo-box/_all.scss +1 -1
  66. package/styles/combo-box/_bootstrap-dark-definition.scss +2 -2
  67. package/styles/combo-box/_bootstrap-definition.scss +2 -2
  68. package/styles/combo-box/_bootstrap4-definition.scss +11 -11
  69. package/styles/combo-box/_bootstrap5-definition.scss +2 -2
  70. package/styles/combo-box/_fabric-dark-definition.scss +2 -2
  71. package/styles/combo-box/_fabric-definition.scss +2 -2
  72. package/styles/combo-box/_fluent-definition.scss +2 -2
  73. package/styles/combo-box/_fusionnew-definition.scss +2 -2
  74. package/styles/combo-box/_highcontrast-definition.scss +2 -2
  75. package/styles/combo-box/_highcontrast-light-definition.scss +3 -3
  76. package/styles/combo-box/_material-dark-definition.scss +2 -2
  77. package/styles/combo-box/_material-definition.scss +2 -2
  78. package/styles/combo-box/_material3-definition.scss +2 -2
  79. package/styles/combo-box/_tailwind-definition.scss +2 -2
  80. package/styles/combo-box/material3-dark.scss +1 -1
  81. package/styles/combo-box/material3.scss +1 -1
  82. package/styles/drop-down-base/_all.scss +2 -2
  83. package/styles/drop-down-base/_bootstrap-dark-definition.scss +83 -83
  84. package/styles/drop-down-base/_bootstrap-definition.scss +83 -83
  85. package/styles/drop-down-base/_bootstrap4-definition.scss +90 -90
  86. package/styles/drop-down-base/_bootstrap5-definition.scss +117 -117
  87. package/styles/drop-down-base/_definition.scss +23 -23
  88. package/styles/drop-down-base/_fabric-dark-definition.scss +86 -86
  89. package/styles/drop-down-base/_fabric-definition.scss +84 -84
  90. package/styles/drop-down-base/_fluent-definition.scss +121 -121
  91. package/styles/drop-down-base/_fusionnew-definition.scss +117 -117
  92. package/styles/drop-down-base/_highcontrast-definition.scss +105 -105
  93. package/styles/drop-down-base/_highcontrast-light-definition.scss +105 -105
  94. package/styles/drop-down-base/_layout.scss +195 -195
  95. package/styles/drop-down-base/_material-dark-definition.scss +86 -86
  96. package/styles/drop-down-base/_material-definition.scss +85 -85
  97. package/styles/drop-down-base/_material3-definition.scss +87 -87
  98. package/styles/drop-down-base/_tailwind-definition.scss +129 -129
  99. package/styles/drop-down-base/_theme.scss +391 -391
  100. package/styles/drop-down-base/material3-dark.scss +1 -1
  101. package/styles/drop-down-base/material3.scss +1 -1
  102. package/styles/drop-down-list/_all.scss +3 -3
  103. package/styles/drop-down-list/_bootstrap-dark-definition.scss +157 -157
  104. package/styles/drop-down-list/_bootstrap-definition.scss +156 -156
  105. package/styles/drop-down-list/_bootstrap4-definition.scss +202 -202
  106. package/styles/drop-down-list/_bootstrap5-definition.scss +201 -201
  107. package/styles/drop-down-list/_fabric-dark-definition.scss +128 -128
  108. package/styles/drop-down-list/_fabric-definition.scss +124 -124
  109. package/styles/drop-down-list/_fluent-definition.scss +185 -185
  110. package/styles/drop-down-list/_fusionnew-definition.scss +201 -201
  111. package/styles/drop-down-list/_highcontrast-definition.scss +142 -142
  112. package/styles/drop-down-list/_highcontrast-light-definition.scss +144 -144
  113. package/styles/drop-down-list/_layout.scss +310 -310
  114. package/styles/drop-down-list/_material-dark-definition.scss +143 -143
  115. package/styles/drop-down-list/_material-definition.scss +167 -167
  116. package/styles/drop-down-list/_material3-definition.scss +180 -180
  117. package/styles/drop-down-list/_tailwind-definition.scss +134 -134
  118. package/styles/drop-down-list/_theme.scss +10 -10
  119. package/styles/drop-down-list/icons/_bootstrap-dark.scss +14 -14
  120. package/styles/drop-down-list/icons/_bootstrap.scss +14 -14
  121. package/styles/drop-down-list/icons/_bootstrap4.scss +14 -14
  122. package/styles/drop-down-list/icons/_bootstrap5.scss +14 -14
  123. package/styles/drop-down-list/icons/_fabric-dark.scss +14 -14
  124. package/styles/drop-down-list/icons/_fabric.scss +14 -14
  125. package/styles/drop-down-list/icons/_fluent.scss +14 -14
  126. package/styles/drop-down-list/icons/_fusionnew.scss +14 -14
  127. package/styles/drop-down-list/icons/_highcontrast-light.scss +14 -14
  128. package/styles/drop-down-list/icons/_highcontrast.scss +14 -14
  129. package/styles/drop-down-list/icons/_material-dark.scss +14 -14
  130. package/styles/drop-down-list/icons/_material.scss +14 -14
  131. package/styles/drop-down-list/icons/_material3.scss +14 -14
  132. package/styles/drop-down-list/icons/_tailwind.scss +14 -14
  133. package/styles/drop-down-list/material3-dark.scss +1 -1
  134. package/styles/drop-down-list/material3.scss +1 -1
  135. package/styles/drop-down-tree/_all.scss +2 -2
  136. package/styles/drop-down-tree/_bootstrap-dark-definition.scss +71 -71
  137. package/styles/drop-down-tree/_bootstrap-definition.scss +70 -70
  138. package/styles/drop-down-tree/_bootstrap4-definition.scss +71 -71
  139. package/styles/drop-down-tree/_bootstrap5-definition.scss +59 -59
  140. package/styles/drop-down-tree/_fabric-dark-definition.scss +71 -71
  141. package/styles/drop-down-tree/_fabric-definition.scss +71 -71
  142. package/styles/drop-down-tree/_fluent-definition.scss +65 -65
  143. package/styles/drop-down-tree/_fusionnew-definition.scss +59 -59
  144. package/styles/drop-down-tree/_highcontrast-definition.scss +71 -71
  145. package/styles/drop-down-tree/_highcontrast-light-definition.scss +71 -71
  146. package/styles/drop-down-tree/_layout.scss +1418 -1418
  147. package/styles/drop-down-tree/_material-dark-definition.scss +72 -72
  148. package/styles/drop-down-tree/_material-definition.scss +72 -72
  149. package/styles/drop-down-tree/_material3-definition.scss +76 -76
  150. package/styles/drop-down-tree/_tailwind-definition.scss +61 -61
  151. package/styles/drop-down-tree/_theme.scss +132 -132
  152. package/styles/drop-down-tree/icons/_bootstrap-dark.scss +11 -11
  153. package/styles/drop-down-tree/icons/_bootstrap.scss +11 -11
  154. package/styles/drop-down-tree/icons/_bootstrap4.scss +11 -11
  155. package/styles/drop-down-tree/icons/_bootstrap5.scss +11 -11
  156. package/styles/drop-down-tree/icons/_fabric-dark.scss +11 -11
  157. package/styles/drop-down-tree/icons/_fabric.scss +11 -11
  158. package/styles/drop-down-tree/icons/_fluent.scss +11 -11
  159. package/styles/drop-down-tree/icons/_fusionnew.scss +11 -11
  160. package/styles/drop-down-tree/icons/_highcontrast-light.scss +11 -11
  161. package/styles/drop-down-tree/icons/_highcontrast.scss +11 -11
  162. package/styles/drop-down-tree/icons/_material-dark.scss +11 -11
  163. package/styles/drop-down-tree/icons/_material.scss +11 -11
  164. package/styles/drop-down-tree/icons/_material3.scss +11 -11
  165. package/styles/drop-down-tree/icons/_tailwind-dark.scss +11 -11
  166. package/styles/drop-down-tree/icons/_tailwind.scss +11 -11
  167. package/styles/drop-down-tree/material3-dark.scss +1 -1
  168. package/styles/drop-down-tree/material3.scss +1 -1
  169. package/styles/list-box/_all.scss +2 -2
  170. package/styles/list-box/_bootstrap-dark-definition.scss +126 -126
  171. package/styles/list-box/_bootstrap-definition.scss +119 -119
  172. package/styles/list-box/_bootstrap4-definition.scss +124 -124
  173. package/styles/list-box/_bootstrap5-definition.scss +120 -120
  174. package/styles/list-box/_fabric-dark-definition.scss +126 -126
  175. package/styles/list-box/_fabric-definition.scss +119 -119
  176. package/styles/list-box/_fluent-definition.scss +120 -120
  177. package/styles/list-box/_fusionnew-definition.scss +111 -111
  178. package/styles/list-box/_highcontrast-definition.scss +119 -119
  179. package/styles/list-box/_highcontrast-light-definition.scss +126 -126
  180. package/styles/list-box/_layout.scss +542 -542
  181. package/styles/list-box/_material-dark-definition.scss +126 -126
  182. package/styles/list-box/_material-definition.scss +119 -119
  183. package/styles/list-box/_material3-definition.scss +119 -119
  184. package/styles/list-box/_tailwind-definition.scss +119 -119
  185. package/styles/list-box/_theme.scss +382 -382
  186. package/styles/list-box/icons/_bootstrap-dark.scss +25 -25
  187. package/styles/list-box/icons/_bootstrap.scss +25 -25
  188. package/styles/list-box/icons/_bootstrap4.scss +25 -25
  189. package/styles/list-box/icons/_bootstrap5.scss +25 -25
  190. package/styles/list-box/icons/_fabric-dark.scss +25 -25
  191. package/styles/list-box/icons/_fabric.scss +25 -25
  192. package/styles/list-box/icons/_fluent.scss +25 -25
  193. package/styles/list-box/icons/_fusionnew.scss +25 -25
  194. package/styles/list-box/icons/_highcontrast-light.scss +25 -25
  195. package/styles/list-box/icons/_highcontrast.scss +25 -25
  196. package/styles/list-box/icons/_material-dark.scss +25 -25
  197. package/styles/list-box/icons/_material.scss +25 -25
  198. package/styles/list-box/icons/_material3.scss +25 -25
  199. package/styles/list-box/icons/_tailwind-dark.scss +25 -25
  200. package/styles/list-box/icons/_tailwind.scss +25 -25
  201. package/styles/list-box/material3-dark.scss +1 -1
  202. package/styles/list-box/material3.scss +1 -1
  203. package/styles/material3-dark.scss +1 -1
  204. package/styles/material3.scss +1 -1
  205. package/styles/mention/_all.scss +1 -1
  206. package/styles/mention/_bootstrap-dark-definition.scss +3 -3
  207. package/styles/mention/_bootstrap-definition.scss +3 -3
  208. package/styles/mention/_bootstrap4-definition.scss +3 -3
  209. package/styles/mention/_bootstrap5-definition.scss +1 -1
  210. package/styles/mention/_fabric-dark-definition.scss +2 -2
  211. package/styles/mention/_fabric-definition.scss +3 -3
  212. package/styles/mention/_fluent-definition.scss +1 -1
  213. package/styles/mention/_fusionnew-definition.scss +1 -1
  214. package/styles/mention/_highcontrast-definition.scss +3 -3
  215. package/styles/mention/_highcontrast-light-definition.scss +3 -3
  216. package/styles/mention/_layout.scss +6 -6
  217. package/styles/mention/_material-dark-definition.scss +3 -3
  218. package/styles/mention/_material-definition.scss +3 -3
  219. package/styles/mention/_material3-definition.scss +1 -1
  220. package/styles/mention/_tailwind-definition.scss +1 -1
  221. package/styles/mention/material3-dark.scss +1 -1
  222. package/styles/mention/material3.scss +1 -1
  223. package/styles/multi-select/_all.scss +2 -2
  224. package/styles/multi-select/_bootstrap-dark-definition.scss +203 -203
  225. package/styles/multi-select/_bootstrap-definition.scss +192 -192
  226. package/styles/multi-select/_bootstrap4-definition.scss +278 -278
  227. package/styles/multi-select/_bootstrap5-definition.scss +230 -230
  228. package/styles/multi-select/_fabric-dark-definition.scss +192 -192
  229. package/styles/multi-select/_fabric-definition.scss +183 -183
  230. package/styles/multi-select/_fluent-definition.scss +241 -241
  231. package/styles/multi-select/_fusionnew-definition.scss +227 -227
  232. package/styles/multi-select/_highcontrast-definition.scss +303 -303
  233. package/styles/multi-select/_highcontrast-light-definition.scss +297 -297
  234. package/styles/multi-select/_layout.scss +2199 -2199
  235. package/styles/multi-select/_material-dark-definition.scss +230 -230
  236. package/styles/multi-select/_material-definition.scss +223 -223
  237. package/styles/multi-select/_material3-definition.scss +246 -246
  238. package/styles/multi-select/_tailwind-definition.scss +235 -235
  239. package/styles/multi-select/_theme.scss +586 -586
  240. package/styles/multi-select/icons/_bootstrap-dark.scss +26 -26
  241. package/styles/multi-select/icons/_bootstrap.scss +26 -26
  242. package/styles/multi-select/icons/_bootstrap4.scss +37 -37
  243. package/styles/multi-select/icons/_bootstrap5.scss +26 -26
  244. package/styles/multi-select/icons/_fabric-dark.scss +26 -26
  245. package/styles/multi-select/icons/_fabric.scss +26 -26
  246. package/styles/multi-select/icons/_fluent.scss +55 -55
  247. package/styles/multi-select/icons/_fusionnew.scss +26 -26
  248. package/styles/multi-select/icons/_highcontrast-light.scss +26 -26
  249. package/styles/multi-select/icons/_highcontrast.scss +26 -26
  250. package/styles/multi-select/icons/_material-dark.scss +693 -693
  251. package/styles/multi-select/icons/_material.scss +693 -693
  252. package/styles/multi-select/icons/_material3.scss +692 -692
  253. package/styles/multi-select/icons/_tailwind.scss +26 -26
  254. package/styles/multi-select/material3-dark.scss +1 -1
  255. package/styles/multi-select/material3.scss +1 -1
  256. package/tslint.json +111 -0
@@ -1,4 +1,4 @@
1
- import { Component, EventHandler, addClass, append, Property, Event, KeyboardEvents, EmitType, L10n, compile, KeyboardEventArgs } from '@syncfusion/ej2-base';
1
+ import { Component, EventHandler, addClass, append, Property, Event, KeyboardEvents, EmitType, L10n, compile, KeyboardEventArgs } from '@syncfusion/ej2-base';import { setStyleAttribute, extend, removeClass, prepend, isNullOrUndefined, detach, getValue, AnimationModel } from '@syncfusion/ej2-base';import { NotifyPropertyChanges, INotifyPropertyChanged, rippleEffect, RippleOptions, ChildProperty, Complex } from '@syncfusion/ej2-base';import { DataManager, Query, DataOptions, DataUtil } from '@syncfusion/ej2-data';import { ListBase, SortOrder } from '@syncfusion/ej2-lists';import { Popup } from '@syncfusion/ej2-popups';import { remove, select, selectAll } from '@syncfusion/ej2-base';
2
2
  import {FilterType,SelectEventArgs} from "./drop-down-base";
3
3
  import {ComponentModel} from '@syncfusion/ej2-base';
4
4
 
@@ -8,40 +8,40 @@ import {ComponentModel} from '@syncfusion/ej2-base';
8
8
  export interface FieldSettingsModel {
9
9
 
10
10
  /**
11
- * Maps the text column from data table for each list item
12
- *
13
- * @default null
14
- */
15
- text?: string;
11
+ * Maps the text column from data table for each list item
12
+ *
13
+ * @default null
14
+ */
15
+ text?: string;
16
16
 
17
17
  /**
18
- * Maps the value column from data table for each list item
19
- *
20
- * @default null
21
- */
22
- value?: string;
18
+ * Maps the value column from data table for each list item
19
+ *
20
+ * @default null
21
+ */
22
+ value?: string;
23
23
 
24
24
  /**
25
- * Maps the icon class column from data table for each list item.
26
- *
27
- * @default null
28
- */
29
- iconCss?: string;
25
+ * Maps the icon class column from data table for each list item.
26
+ *
27
+ * @default null
28
+ */
29
+ iconCss?: string;
30
30
 
31
31
  /**
32
- * Group the list items with it's related items by mapping groupBy field.
33
- *
34
- * @default null
35
- */
36
- groupBy?: string;
32
+ * Group the list items with it's related items by mapping groupBy field.
33
+ *
34
+ * @default null
35
+ */
36
+ groupBy?: string;
37
37
 
38
38
  /**
39
- * Allows additional attributes such as title, disabled, etc., to configure the elements
40
- * in various ways to meet the criteria.
41
- *
42
- * @default null
43
- */
44
- htmlAttributes?: string;
39
+ * Allows additional attributes such as title, disabled, etc., to configure the elements
40
+ * in various ways to meet the criteria.
41
+ *
42
+ * @default null
43
+ */
44
+ htmlAttributes?: string;
45
45
 
46
46
  }
47
47
 
@@ -51,216 +51,216 @@ export interface FieldSettingsModel {
51
51
  export interface DropDownBaseModel extends ComponentModel{
52
52
 
53
53
  /**
54
- * The `fields` property maps the columns of the data table and binds the data to the component.
55
- * * text - Maps the text column from data table for each list item.
56
- * * value - Maps the value column from data table for each list item.
57
- * * iconCss - Maps the icon class column from data table for each list item.
58
- * * groupBy - Group the list items with it's related items by mapping groupBy field.
59
- * ```html
60
- * <input type="text" tabindex="1" id="list"> </input>
61
- * ```
62
- * ```typescript
63
- * let customers: DropDownList = new DropDownList({
64
- * dataSource:new DataManager({ url:'http://js.syncfusion.com/demos/ejServices/Wcf/Northwind.svc/' }),
65
- * query: new Query().from('Customers').select(['ContactName', 'CustomerID']).take(5),
66
- * fields: { text: 'ContactName', value: 'CustomerID' },
67
- * placeholder: 'Select a customer'
68
- * });
69
- * customers.appendTo("#list");
70
- * ```
71
- *
72
- * @default {text: null, value: null, iconCss: null, groupBy: null}
73
- * @deprecated
74
- */
75
- fields?: FieldSettingsModel;
54
+ * The `fields` property maps the columns of the data table and binds the data to the component.
55
+ * * text - Maps the text column from data table for each list item.
56
+ * * value - Maps the value column from data table for each list item.
57
+ * * iconCss - Maps the icon class column from data table for each list item.
58
+ * * groupBy - Group the list items with it's related items by mapping groupBy field.
59
+ * ```html
60
+ * <input type="text" tabindex="1" id="list"> </input>
61
+ * ```
62
+ * ```typescript
63
+ * let customers: DropDownList = new DropDownList({
64
+ * dataSource:new DataManager({ url:'http://js.syncfusion.com/demos/ejServices/Wcf/Northwind.svc/' }),
65
+ * query: new Query().from('Customers').select(['ContactName', 'CustomerID']).take(5),
66
+ * fields: { text: 'ContactName', value: 'CustomerID' },
67
+ * placeholder: 'Select a customer'
68
+ * });
69
+ * customers.appendTo("#list");
70
+ * ```
71
+ *
72
+ * @default {text: null, value: null, iconCss: null, groupBy: null}
73
+
74
+ */
75
+ fields?: FieldSettingsModel;
76
76
 
77
77
  /**
78
- * Accepts the template design and assigns it to each list item present in the popup.
79
- * We have built-in `template engine`
80
- *
81
- * which provides options to compile template string into a executable function.
82
- * For EX: We have expression evolution as like ES6 expression string literals.
83
- *
84
- * @default null
85
- * @aspType string
86
- * @deprecated
87
- */
88
- itemTemplate?: string | Function;
78
+ * Accepts the template design and assigns it to each list item present in the popup.
79
+ * We have built-in `template engine`
80
+ *
81
+ * which provides options to compile template string into a executable function.
82
+ * For EX: We have expression evolution as like ES6 expression string literals.
83
+ *
84
+ * @default null
85
+ * @aspType string
86
+
87
+ */
88
+ itemTemplate?: string | Function;
89
89
 
90
90
  /**
91
- * Accepts the template design and assigns it to the group headers present in the popup list.
92
- *
93
- * @default null
94
- * @aspType string
95
- * @deprecated
96
- */
97
- groupTemplate?: string | Function;
91
+ * Accepts the template design and assigns it to the group headers present in the popup list.
92
+ *
93
+ * @default null
94
+ * @aspType string
95
+
96
+ */
97
+ groupTemplate?: string | Function;
98
98
 
99
99
  /**
100
- * Accepts the template design and assigns it to popup list of component
101
- * when no data is available on the component.
102
- *
103
- * @default 'No records found'
104
- * @aspType string
105
- * @deprecated
106
- */
107
- noRecordsTemplate?: string | Function;
100
+ * Accepts the template design and assigns it to popup list of component
101
+ * when no data is available on the component.
102
+ *
103
+ * @default 'No records found'
104
+ * @aspType string
105
+
106
+ */
107
+ noRecordsTemplate?: string | Function;
108
108
 
109
109
  /**
110
- * Accepts the template and assigns it to the popup list content of the component
111
- * when the data fetch request from the remote server fails.
112
- *
113
- * @default 'Request failed'
114
- * @aspType string
115
- * @deprecated
116
- */
117
- actionFailureTemplate?: string | Function;
110
+ * Accepts the template and assigns it to the popup list content of the component
111
+ * when the data fetch request from the remote server fails.
112
+ *
113
+ * @default 'Request failed'
114
+ * @aspType string
115
+
116
+ */
117
+ actionFailureTemplate?: string | Function;
118
118
 
119
119
  /**
120
- * Specifies the `sortOrder` to sort the data source. The available type of sort orders are
121
- * * `None` - The data source is not sorting.
122
- * * `Ascending` - The data source is sorting with ascending order.
123
- * * `Descending` - The data source is sorting with descending order.
124
- *
125
- * @default null
126
- * @asptype object
127
- * @aspjsonconverterignore
128
- * @deprecated
129
- */
130
- sortOrder?: SortOrder;
120
+ * Specifies the `sortOrder` to sort the data source. The available type of sort orders are
121
+ * * `None` - The data source is not sorting.
122
+ * * `Ascending` - The data source is sorting with ascending order.
123
+ * * `Descending` - The data source is sorting with descending order.
124
+ *
125
+ * @default null
126
+ * @asptype object
127
+ * @aspjsonconverterignore
128
+
129
+ */
130
+ sortOrder?: SortOrder;
131
131
 
132
132
  /**
133
- * Accepts the list items either through local or remote service and binds it to the component.
134
- * It can be an array of JSON Objects or an instance of
135
- * `DataManager`.
136
- *
137
- * @default []
138
- * @deprecated
139
- */
140
- dataSource?: { [key: string]: Object }[] | DataManager | string[] | number[] | boolean[];
133
+ * Accepts the list items either through local or remote service and binds it to the component.
134
+ * It can be an array of JSON Objects or an instance of
135
+ * `DataManager`.
136
+ *
137
+ * @default []
138
+
139
+ */
140
+ dataSource?: { [key: string]: Object }[] | DataManager | string[] | number[] | boolean[];
141
141
 
142
142
  /**
143
- * Accepts the external `Query`
144
- * which will execute along with the data processing.
145
- *
146
- * @default null
147
- * @deprecated
148
- */
149
- query?: Query;
143
+ * Accepts the external `Query`
144
+ * which will execute along with the data processing.
145
+ *
146
+ * @default null
147
+
148
+ */
149
+ query?: Query;
150
150
 
151
151
  /**
152
- * Determines on which filter type, the component needs to be considered on search action.
153
- * The `FilterType` and its supported data types are
154
- *
155
- * <table>
156
- * <tr>
157
- * <td colSpan=1 rowSpan=1>
158
- * FilterType<br/></td><td colSpan=1 rowSpan=1>
159
- * Description<br/></td><td colSpan=1 rowSpan=1>
160
- * Supported Types<br/></td></tr>
161
- * <tr>
162
- * <td colSpan=1 rowSpan=1>
163
- * StartsWith<br/></td><td colSpan=1 rowSpan=1>
164
- * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
165
- * String<br/></td></tr>
166
- * <tr>
167
- * <td colSpan=1 rowSpan=1>
168
- * EndsWith<br/></td><td colSpan=1 rowSpan=1>
169
- * Checks whether a value ends with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
170
- * <br/>String<br/></td></tr>
171
- * <tr>
172
- * <td colSpan=1 rowSpan=1>
173
- * Contains<br/></td><td colSpan=1 rowSpan=1>
174
- * Checks whether a value contains with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
175
- * <br/>String<br/></td></tr>
176
- * </table>
177
- *
178
- * The default value set to `StartsWith`, all the suggestion items which contain typed characters to listed in the suggestion popup.
179
- *
180
- * @default 'StartsWith'
181
- * @deprecated
182
- */
183
- filterType?: FilterType;
152
+ * Determines on which filter type, the component needs to be considered on search action.
153
+ * The `FilterType` and its supported data types are
154
+ *
155
+ * <table>
156
+ * <tr>
157
+ * <td colSpan=1 rowSpan=1>
158
+ * FilterType<br/></td><td colSpan=1 rowSpan=1>
159
+ * Description<br/></td><td colSpan=1 rowSpan=1>
160
+ * Supported Types<br/></td></tr>
161
+ * <tr>
162
+ * <td colSpan=1 rowSpan=1>
163
+ * StartsWith<br/></td><td colSpan=1 rowSpan=1>
164
+ * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
165
+ * String<br/></td></tr>
166
+ * <tr>
167
+ * <td colSpan=1 rowSpan=1>
168
+ * EndsWith<br/></td><td colSpan=1 rowSpan=1>
169
+ * Checks whether a value ends with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
170
+ * <br/>String<br/></td></tr>
171
+ * <tr>
172
+ * <td colSpan=1 rowSpan=1>
173
+ * Contains<br/></td><td colSpan=1 rowSpan=1>
174
+ * Checks whether a value contains with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
175
+ * <br/>String<br/></td></tr>
176
+ * </table>
177
+ *
178
+ * The default value set to `StartsWith`, all the suggestion items which contain typed characters to listed in the suggestion popup.
179
+ *
180
+ * @default 'StartsWith'
181
+
182
+ */
183
+ filterType?: FilterType;
184
184
 
185
185
  /**
186
- * When set to ‘false’, consider the `case-sensitive` on performing the search to find suggestions.
187
- * By default consider the casing.
188
- *
189
- * @default true
190
- * @deprecated
191
- */
192
- ignoreCase?: boolean;
186
+ * When set to ‘false’, consider the `case-sensitive` on performing the search to find suggestions.
187
+ * By default consider the casing.
188
+ *
189
+ * @default true
190
+
191
+ */
192
+ ignoreCase?: boolean;
193
193
 
194
194
  /**
195
- * specifies the z-index value of the component popup element.
196
- *
197
- * @default 1000
198
- * @deprecated
199
- */
200
- zIndex?: number;
195
+ * specifies the z-index value of the component popup element.
196
+ *
197
+ * @default 1000
198
+
199
+ */
200
+ zIndex?: number;
201
201
 
202
202
  /**
203
- * ignoreAccent set to true, then ignores the diacritic characters or accents when filtering.
204
- *
205
- * @deprecated
206
- */
207
- ignoreAccent?: boolean;
203
+ * ignoreAccent set to true, then ignores the diacritic characters or accents when filtering.
204
+ *
205
+
206
+ */
207
+ ignoreAccent?: boolean;
208
208
 
209
209
  /**
210
- * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
211
- *
212
- * @default 'en-US'
213
- * @deprecated
214
- */
215
- locale?: string;
210
+ * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
211
+ *
212
+ * @default 'en-US'
213
+
214
+ */
215
+ locale?: string;
216
216
 
217
217
  /**
218
- * Triggers before fetching data from the remote server.
219
- *
220
- * @event actionBegin
221
- */
222
- actionBegin?: EmitType<Object>;
218
+ * Triggers before fetching data from the remote server.
219
+ *
220
+ * @event actionBegin
221
+ */
222
+ actionBegin?: EmitType<Object>;
223
223
 
224
224
  /**
225
- * Triggers after data is fetched successfully from the remote server.
226
- *
227
- * @event actionComplete
228
- */
229
- actionComplete?: EmitType<Object>;
225
+ * Triggers after data is fetched successfully from the remote server.
226
+ *
227
+ * @event actionComplete
228
+ */
229
+ actionComplete?: EmitType<Object>;
230
230
 
231
231
  /**
232
- * Triggers when the data fetch request from the remote server fails.
233
- *
234
- * @event actionFailure
235
- */
236
- actionFailure?: EmitType<Object>;
232
+ * Triggers when the data fetch request from the remote server fails.
233
+ *
234
+ * @event actionFailure
235
+ */
236
+ actionFailure?: EmitType<Object>;
237
237
 
238
238
  /**
239
- * Triggers when an item in the popup is selected by the user either with mouse/tap or with keyboard navigation.
240
- *
241
- * @event select
242
- */
243
- select?: EmitType<SelectEventArgs>;
239
+ * Triggers when an item in the popup is selected by the user either with mouse/tap or with keyboard navigation.
240
+ *
241
+ * @event select
242
+ */
243
+ select?: EmitType<SelectEventArgs>;
244
244
 
245
245
  /**
246
- * Triggers when data source is populated in the popup list..
247
- *
248
- * @event dataBound
249
- */
250
- dataBound?: EmitType<Object>;
246
+ * Triggers when data source is populated in the popup list..
247
+ *
248
+ * @event dataBound
249
+ */
250
+ dataBound?: EmitType<Object>;
251
251
 
252
252
  /**
253
- * Triggers when the component is created.
254
- *
255
- * @event created
256
- */
257
- created?: EmitType<Object>;
253
+ * Triggers when the component is created.
254
+ *
255
+ * @event created
256
+ */
257
+ created?: EmitType<Object>;
258
258
 
259
259
  /**
260
-      * Triggers when the component is destroyed.
261
- *
262
-      * @event destroyed
263
-      */
264
- destroyed?: EmitType<Object>;
260
+      * Triggers when the component is destroyed.
261
+ *
262
+      * @event destroyed
263
+      */
264
+ destroyed?: EmitType<Object>;
265
265
 
266
266
  }
@@ -178,6 +178,11 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
178
178
  [key: string]: Object;
179
179
  }[] | string[] | boolean[] | number[];
180
180
  protected ulElement: HTMLElement;
181
+ protected incrementalLiCollections: HTMLElement[];
182
+ protected incrementalListData: {
183
+ [key: string]: Object;
184
+ }[] | string[] | boolean[] | number[];
185
+ protected incrementalUlElement: HTMLElement;
181
186
  protected liCollections: HTMLElement[];
182
187
  private bindEvent;
183
188
  private scrollTimer;
@@ -223,6 +228,14 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
223
228
  private virtualizedItemsCount;
224
229
  protected totalItemCount: number;
225
230
  protected dataCount: number;
231
+ protected isRemoteDataUpdated: boolean;
232
+ protected virtualGroupDataSource: {
233
+ [key: string]: Object;
234
+ }[] | DataManager | string[] | number[] | boolean[];
235
+ protected isIncrementalRequest: boolean;
236
+ protected itemCount: number;
237
+ /**
238
+
226
239
  /**
227
240
  * The `fields` property maps the columns of the data table and binds the data to the component.
228
241
  * * text - Maps the text column from data table for each list item.
@@ -243,7 +256,7 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
243
256
  * ```
244
257
  *
245
258
  * @default {text: null, value: null, iconCss: null, groupBy: null}
246
- * @deprecated
259
+
247
260
  */
248
261
  fields: FieldSettingsModel;
249
262
  /**
@@ -255,7 +268,7 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
255
268
  *
256
269
  * @default null
257
270
  * @aspType string
258
- * @deprecated
271
+
259
272
  */
260
273
  itemTemplate: string | Function;
261
274
  /**
@@ -263,7 +276,7 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
263
276
  *
264
277
  * @default null
265
278
  * @aspType string
266
- * @deprecated
279
+
267
280
  */
268
281
  groupTemplate: string | Function;
269
282
  /**
@@ -272,7 +285,7 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
272
285
  *
273
286
  * @default 'No records found'
274
287
  * @aspType string
275
- * @deprecated
288
+
276
289
  */
277
290
  noRecordsTemplate: string | Function;
278
291
  /**
@@ -281,7 +294,7 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
281
294
  *
282
295
  * @default 'Request failed'
283
296
  * @aspType string
284
- * @deprecated
297
+
285
298
  */
286
299
  actionFailureTemplate: string | Function;
287
300
  /**
@@ -293,7 +306,7 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
293
306
  * @default null
294
307
  * @asptype object
295
308
  * @aspjsonconverterignore
296
- * @deprecated
309
+
297
310
  */
298
311
  sortOrder: SortOrder;
299
312
  /**
@@ -302,7 +315,7 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
302
315
  * `DataManager`.
303
316
  *
304
317
  * @default []
305
- * @deprecated
318
+
306
319
  */
307
320
  dataSource: {
308
321
  [key: string]: Object;
@@ -312,7 +325,7 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
312
325
  * which will execute along with the data processing.
313
326
  *
314
327
  * @default null
315
- * @deprecated
328
+
316
329
  */
317
330
  query: Query;
318
331
  /**
@@ -345,7 +358,7 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
345
358
  * The default value set to `StartsWith`, all the suggestion items which contain typed characters to listed in the suggestion popup.
346
359
  *
347
360
  * @default 'StartsWith'
348
- * @deprecated
361
+
349
362
  */
350
363
  filterType: FilterType;
351
364
  /**
@@ -353,27 +366,27 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
353
366
  * By default consider the casing.
354
367
  *
355
368
  * @default true
356
- * @deprecated
369
+
357
370
  */
358
371
  ignoreCase: boolean;
359
372
  /**
360
373
  * specifies the z-index value of the component popup element.
361
374
  *
362
375
  * @default 1000
363
- * @deprecated
376
+
364
377
  */
365
378
  zIndex: number;
366
379
  /**
367
380
  * ignoreAccent set to true, then ignores the diacritic characters or accents when filtering.
368
381
  *
369
- * @deprecated
382
+
370
383
  */
371
384
  ignoreAccent: boolean;
372
385
  /**
373
386
  * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
374
387
  *
375
388
  * @default 'en-US'
376
- * @deprecated
389
+
377
390
  */
378
391
  locale: string;
379
392
  /**
@@ -490,6 +503,8 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
490
503
  * @returns {void}
491
504
  */
492
505
  private setListData;
506
+ protected updatePopupState(): void;
507
+ protected updateRemoteData(): void;
493
508
  private bindChildItems;
494
509
  protected updateListValues(): void;
495
510
  protected findListElement(list: HTMLElement, findNode: string, attribute: string, value: string | boolean | number): HTMLElement;
@@ -532,7 +547,10 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
532
547
  [key: string]: Object;
533
548
  }[] | string[] | number[] | boolean[], fields: FieldSettingsModel): FieldSettingsModel;
534
549
  protected setFloatingHeader(e: Event): void;
535
- protected scrollStop(e?: Event): void;
550
+ protected scrollStop(e?: Event, isDownkey?: boolean): void;
551
+ protected getPageCount(returnExactCount?: boolean): number;
552
+ private updateGroupHeader;
553
+ private updateGroupFixedHeader;
536
554
  protected getValidLi(): HTMLElement;
537
555
  /**
538
556
  * To render the list items
@@ -544,6 +562,8 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
544
562
  protected renderItems(listData: {
545
563
  [key: string]: Object;
546
564
  }[], fields: FieldSettingsModel): HTMLElement;
565
+ private createVirtualContent;
566
+ private updateListElements;
547
567
  protected templateListItem(dataSource: {
548
568
  [key: string]: Object;
549
569
  }[], fields: FieldSettingsModel): HTMLElement;
@@ -560,14 +580,14 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
560
580
  * @param {string | number | boolean} value - Specifies given value.
561
581
  * @returns {number} Returns the index of the item.
562
582
  */
563
- protected getIndexByValueFilter(value: string | number | boolean): number;
583
+ protected getIndexByValue(value: string | number | boolean): number;
564
584
  /**
565
585
  * Return the index of item which matched with given value in data source
566
586
  *
567
587
  * @param {string | number | boolean} value - Specifies given value.
568
588
  * @returns {number} Returns the index of the item.
569
589
  */
570
- protected getIndexByValue(value: string | number | boolean): number;
590
+ protected getIndexByValueFilter(value: string | number | boolean): number;
571
591
  /**
572
592
  * To dispatch the event manually
573
593
  *
@@ -638,7 +658,7 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
638
658
  * @param { Object[] } items - Specifies an array of JSON data or a JSON data.
639
659
  * @param { number } itemIndex - Specifies the index to place the newly added item in the popup list.
640
660
  * @returns {void}
641
- * @deprecated
661
+
642
662
  */
643
663
  addItem(items: {
644
664
  [key: string]: Object;
@@ -710,7 +730,7 @@ export interface PopupEventArgs {
710
730
  /**
711
731
  * Specifies the popup Object.
712
732
  *
713
- * @deprecated
733
+
714
734
  */
715
735
  popup: Popup;
716
736
  /**