@syncfusion/ej2-dropdowns 25.2.7-130084 → 26.1.35-7502

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 (290) hide show
  1. package/.eslintrc.json +3 -2
  2. package/{ReadMe.md → README.md} +1 -1
  3. package/dist/ej2-dropdowns.min.js +10 -1
  4. package/dist/ej2-dropdowns.umd.min.js +10 -1
  5. package/dist/ej2-dropdowns.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-dropdowns.es2015.js +505 -215
  7. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  8. package/dist/es6/ej2-dropdowns.es5.js +498 -207
  9. package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
  10. package/dist/global/ej2-dropdowns.min.js +10 -1
  11. package/dist/global/ej2-dropdowns.min.js.map +1 -1
  12. package/dist/global/index.d.ts +9 -0
  13. package/package.json +80 -79
  14. package/src/auto-complete/auto-complete-model.d.ts +10 -10
  15. package/src/auto-complete/auto-complete.d.ts +12 -12
  16. package/src/auto-complete/auto-complete.js +3 -3
  17. package/src/combo-box/combo-box-model.d.ts +17 -17
  18. package/src/combo-box/combo-box.d.ts +27 -27
  19. package/src/combo-box/combo-box.js +25 -10
  20. package/src/common/interface.js +0 -1
  21. package/src/common/virtual-scroll.js +1 -0
  22. package/src/drop-down-base/drop-down-base-model.d.ts +21 -14
  23. package/src/drop-down-base/drop-down-base.d.ts +43 -17
  24. package/src/drop-down-base/drop-down-base.js +65 -10
  25. package/src/drop-down-list/drop-down-list-model.d.ts +3 -3
  26. package/src/drop-down-list/drop-down-list.d.ts +19 -5
  27. package/src/drop-down-list/drop-down-list.js +130 -5
  28. package/src/drop-down-tree/drop-down-tree-model.d.ts +16 -16
  29. package/src/drop-down-tree/drop-down-tree.d.ts +18 -14
  30. package/src/drop-down-tree/drop-down-tree.js +52 -38
  31. package/src/list-box/list-box-model.d.ts +2 -2
  32. package/src/list-box/list-box.d.ts +2 -2
  33. package/src/list-box/list-box.js +30 -9
  34. package/src/mention/mention.js +23 -8
  35. package/src/multi-select/interface.js +0 -1
  36. package/src/multi-select/multi-select.d.ts +15 -0
  37. package/src/multi-select/multi-select.js +135 -12
  38. package/styles/auto-complete/_bootstrap5.3-definition.scss +2 -0
  39. package/styles/auto-complete/_fluent2-definition.scss +2 -0
  40. package/styles/auto-complete/bootstrap-dark.css +5 -2
  41. package/styles/auto-complete/bootstrap.css +5 -2
  42. package/styles/auto-complete/bootstrap4.css +6 -2
  43. package/styles/auto-complete/bootstrap5-dark.css +6 -2
  44. package/styles/auto-complete/bootstrap5.css +6 -2
  45. package/styles/auto-complete/fabric-dark.css +3 -1
  46. package/styles/auto-complete/fabric.css +3 -1
  47. package/styles/auto-complete/fluent-dark.css +6 -2
  48. package/styles/auto-complete/fluent.css +6 -2
  49. package/styles/auto-complete/fluent2.css +1140 -0
  50. package/styles/auto-complete/fluent2.scss +4 -0
  51. package/styles/auto-complete/highcontrast-light.css +3 -1
  52. package/styles/auto-complete/highcontrast.css +3 -1
  53. package/styles/auto-complete/material-dark.css +16 -5
  54. package/styles/auto-complete/material.css +16 -5
  55. package/styles/auto-complete/material3-dark.css +17 -6
  56. package/styles/auto-complete/material3-dark.scss +1 -1
  57. package/styles/auto-complete/material3.css +17 -6
  58. package/styles/auto-complete/material3.scss +1 -1
  59. package/styles/auto-complete/tailwind-dark.css +16 -5
  60. package/styles/auto-complete/tailwind.css +16 -5
  61. package/styles/bootstrap-dark.css +196 -228
  62. package/styles/bootstrap-dark.scss +28 -8
  63. package/styles/bootstrap.css +196 -228
  64. package/styles/bootstrap.scss +28 -8
  65. package/styles/bootstrap4.css +199 -229
  66. package/styles/bootstrap4.scss +28 -8
  67. package/styles/bootstrap5-dark.css +196 -221
  68. package/styles/bootstrap5-dark.scss +28 -8
  69. package/styles/bootstrap5.css +196 -221
  70. package/styles/bootstrap5.scss +28 -8
  71. package/styles/combo-box/_bootstrap5.3-definition.scss +2 -0
  72. package/styles/combo-box/_fluent2-definition.scss +2 -0
  73. package/styles/combo-box/bootstrap-dark.css +5 -2
  74. package/styles/combo-box/bootstrap.css +5 -2
  75. package/styles/combo-box/bootstrap4.css +6 -2
  76. package/styles/combo-box/bootstrap5-dark.css +6 -2
  77. package/styles/combo-box/bootstrap5.css +6 -2
  78. package/styles/combo-box/fabric-dark.css +3 -1
  79. package/styles/combo-box/fabric.css +3 -1
  80. package/styles/combo-box/fluent-dark.css +6 -2
  81. package/styles/combo-box/fluent.css +6 -2
  82. package/styles/combo-box/fluent2.css +1140 -0
  83. package/styles/combo-box/fluent2.scss +4 -0
  84. package/styles/combo-box/highcontrast-light.css +3 -1
  85. package/styles/combo-box/highcontrast.css +3 -1
  86. package/styles/combo-box/material-dark.css +16 -5
  87. package/styles/combo-box/material.css +16 -5
  88. package/styles/combo-box/material3-dark.css +17 -6
  89. package/styles/combo-box/material3-dark.scss +1 -1
  90. package/styles/combo-box/material3.css +17 -6
  91. package/styles/combo-box/material3.scss +1 -1
  92. package/styles/combo-box/tailwind-dark.css +16 -5
  93. package/styles/combo-box/tailwind.css +16 -5
  94. package/styles/drop-down-base/_bds-definition.scss +2 -2
  95. package/styles/drop-down-base/_bootstrap5.3-definition.scss +117 -0
  96. package/styles/drop-down-base/_fluent2-definition.scss +134 -0
  97. package/styles/drop-down-base/_layout.scss +12 -2
  98. package/styles/drop-down-base/_material3-definition.scss +0 -11
  99. package/styles/drop-down-base/_theme.scss +2 -11
  100. package/styles/drop-down-base/bootstrap-dark.css +2 -1
  101. package/styles/drop-down-base/bootstrap.css +2 -1
  102. package/styles/drop-down-base/bootstrap4.css +2 -1
  103. package/styles/drop-down-base/bootstrap5-dark.css +2 -1
  104. package/styles/drop-down-base/bootstrap5.css +2 -1
  105. package/styles/drop-down-base/fabric-dark.css +2 -1
  106. package/styles/drop-down-base/fabric.css +2 -1
  107. package/styles/drop-down-base/fluent-dark.css +2 -1
  108. package/styles/drop-down-base/fluent.css +2 -1
  109. package/styles/drop-down-base/fluent2.css +1447 -0
  110. package/styles/drop-down-base/fluent2.scss +3 -0
  111. package/styles/drop-down-base/highcontrast-light.css +2 -1
  112. package/styles/drop-down-base/highcontrast.css +2 -1
  113. package/styles/drop-down-base/material-dark.css +2 -1
  114. package/styles/drop-down-base/material.css +2 -1
  115. package/styles/drop-down-base/material3-dark.css +9 -2
  116. package/styles/drop-down-base/material3-dark.scss +1 -1
  117. package/styles/drop-down-base/material3.css +9 -2
  118. package/styles/drop-down-base/material3.scss +1 -1
  119. package/styles/drop-down-base/tailwind-dark.css +2 -1
  120. package/styles/drop-down-base/tailwind.css +2 -1
  121. package/styles/drop-down-list/_bootstrap5.3-definition.scss +201 -0
  122. package/styles/drop-down-list/_fluent2-definition.scss +134 -0
  123. package/styles/drop-down-list/_layout.scss +5 -3
  124. package/styles/drop-down-list/_material3-definition.scss +0 -8
  125. package/styles/drop-down-list/bootstrap-dark.css +38 -3
  126. package/styles/drop-down-list/bootstrap.css +38 -3
  127. package/styles/drop-down-list/bootstrap4.css +39 -3
  128. package/styles/drop-down-list/bootstrap5-dark.css +39 -3
  129. package/styles/drop-down-list/bootstrap5.css +39 -3
  130. package/styles/drop-down-list/fabric-dark.css +36 -2
  131. package/styles/drop-down-list/fabric.css +36 -2
  132. package/styles/drop-down-list/fluent-dark.css +39 -3
  133. package/styles/drop-down-list/fluent.css +39 -3
  134. package/styles/drop-down-list/fluent2.css +1684 -0
  135. package/styles/drop-down-list/fluent2.scss +9 -0
  136. package/styles/drop-down-list/highcontrast-light.css +36 -2
  137. package/styles/drop-down-list/highcontrast.css +36 -2
  138. package/styles/drop-down-list/icons/_bootstrap5.3.scss +14 -0
  139. package/styles/drop-down-list/icons/_fluent2.scss +14 -0
  140. package/styles/drop-down-list/material-dark.css +58 -7
  141. package/styles/drop-down-list/material.css +72 -9
  142. package/styles/drop-down-list/material3-dark.css +74 -10
  143. package/styles/drop-down-list/material3-dark.scss +1 -1
  144. package/styles/drop-down-list/material3.css +74 -10
  145. package/styles/drop-down-list/material3.scss +1 -1
  146. package/styles/drop-down-list/tailwind-dark.css +49 -6
  147. package/styles/drop-down-list/tailwind.css +49 -6
  148. package/styles/drop-down-tree/_bds-definition.scss +5 -0
  149. package/styles/drop-down-tree/_bootstrap4-definition.scss +1 -0
  150. package/styles/drop-down-tree/_bootstrap5-definition.scss +5 -0
  151. package/styles/drop-down-tree/_bootstrap5.3-definition.scss +66 -0
  152. package/styles/drop-down-tree/_fluent-definition.scss +4 -0
  153. package/styles/drop-down-tree/_fluent2-definition.scss +75 -0
  154. package/styles/drop-down-tree/_layout.scss +289 -327
  155. package/styles/drop-down-tree/_material3-definition.scss +3 -5
  156. package/styles/drop-down-tree/_tailwind-definition.scss +7 -2
  157. package/styles/drop-down-tree/_theme.scss +24 -41
  158. package/styles/drop-down-tree/bootstrap-dark.css +63 -29
  159. package/styles/drop-down-tree/bootstrap.css +63 -29
  160. package/styles/drop-down-tree/bootstrap4.css +64 -30
  161. package/styles/drop-down-tree/bootstrap5-dark.css +63 -27
  162. package/styles/drop-down-tree/bootstrap5.css +63 -27
  163. package/styles/drop-down-tree/fabric-dark.css +63 -29
  164. package/styles/drop-down-tree/fabric.css +63 -29
  165. package/styles/drop-down-tree/fluent-dark.css +71 -35
  166. package/styles/drop-down-tree/fluent.css +71 -35
  167. package/styles/drop-down-tree/fluent2.css +1732 -0
  168. package/styles/drop-down-tree/fluent2.scss +9 -0
  169. package/styles/drop-down-tree/highcontrast-light.css +63 -29
  170. package/styles/drop-down-tree/highcontrast.css +63 -23
  171. package/styles/drop-down-tree/icons/_bootstrap5.3.scss +11 -0
  172. package/styles/drop-down-tree/icons/_fluent2.scss +14 -0
  173. package/styles/drop-down-tree/material-dark.css +80 -43
  174. package/styles/drop-down-tree/material.css +97 -51
  175. package/styles/drop-down-tree/material3-dark.css +85 -32
  176. package/styles/drop-down-tree/material3-dark.scss +1 -1
  177. package/styles/drop-down-tree/material3.css +85 -32
  178. package/styles/drop-down-tree/material3.scss +1 -1
  179. package/styles/drop-down-tree/tailwind-dark.css +72 -28
  180. package/styles/drop-down-tree/tailwind.css +72 -28
  181. package/styles/fabric-dark.css +194 -227
  182. package/styles/fabric-dark.scss +28 -8
  183. package/styles/fabric.css +194 -227
  184. package/styles/fabric.scss +28 -8
  185. package/styles/fluent-dark.css +206 -236
  186. package/styles/fluent-dark.scss +28 -8
  187. package/styles/fluent.css +206 -236
  188. package/styles/fluent.scss +28 -8
  189. package/styles/fluent2.css +4771 -0
  190. package/styles/fluent2.scss +28 -0
  191. package/styles/highcontrast-light.css +197 -227
  192. package/styles/highcontrast-light.scss +28 -8
  193. package/styles/highcontrast.css +197 -221
  194. package/styles/highcontrast.scss +28 -8
  195. package/styles/list-box/_bootstrap-dark-definition.scss +0 -2
  196. package/styles/list-box/_bootstrap5.3-definition.scss +120 -0
  197. package/styles/list-box/_fabric-dark-definition.scss +0 -2
  198. package/styles/list-box/_fluent2-definition.scss +121 -0
  199. package/styles/list-box/_highcontrast-light-definition.scss +0 -2
  200. package/styles/list-box/_layout.scss +65 -44
  201. package/styles/list-box/_material-dark-definition.scss +0 -2
  202. package/styles/list-box/_tailwind-definition.scss +1 -1
  203. package/styles/list-box/_theme.scss +36 -65
  204. package/styles/list-box/bootstrap-dark.css +72 -112
  205. package/styles/list-box/bootstrap.css +72 -112
  206. package/styles/list-box/bootstrap4.css +72 -112
  207. package/styles/list-box/bootstrap5-dark.css +72 -106
  208. package/styles/list-box/bootstrap5.css +72 -106
  209. package/styles/list-box/fabric-dark.css +72 -112
  210. package/styles/list-box/fabric.css +72 -112
  211. package/styles/list-box/fluent-dark.css +72 -112
  212. package/styles/list-box/fluent.css +72 -112
  213. package/styles/list-box/fluent2.css +2029 -0
  214. package/styles/list-box/fluent2.scss +5 -0
  215. package/styles/list-box/highcontrast-light.css +72 -112
  216. package/styles/list-box/highcontrast.css +72 -112
  217. package/styles/list-box/icons/_bootstrap5.3.scss +25 -0
  218. package/styles/list-box/icons/_fluent2.scss +25 -0
  219. package/styles/list-box/material-dark.css +72 -112
  220. package/styles/list-box/material.css +72 -112
  221. package/styles/list-box/material3-dark.css +73 -113
  222. package/styles/list-box/material3-dark.scss +1 -1
  223. package/styles/list-box/material3.css +73 -113
  224. package/styles/list-box/material3.scss +1 -1
  225. package/styles/list-box/tailwind-dark.css +74 -114
  226. package/styles/list-box/tailwind.css +74 -114
  227. package/styles/material-dark.css +236 -260
  228. package/styles/material-dark.scss +28 -8
  229. package/styles/material.css +253 -284
  230. package/styles/material.scss +28 -8
  231. package/styles/material3-dark.css +253 -266
  232. package/styles/material3-dark.scss +29 -9
  233. package/styles/material3.css +253 -266
  234. package/styles/material3.scss +29 -9
  235. package/styles/mention/_bootstrap5.3-definition.scss +1 -0
  236. package/styles/mention/_fluent2-definition.scss +1 -0
  237. package/styles/mention/bootstrap-dark.css +24 -0
  238. package/styles/mention/bootstrap.css +24 -0
  239. package/styles/mention/bootstrap4.css +24 -0
  240. package/styles/mention/bootstrap5-dark.css +24 -0
  241. package/styles/mention/bootstrap5.css +24 -0
  242. package/styles/mention/fabric-dark.css +24 -0
  243. package/styles/mention/fabric.css +24 -0
  244. package/styles/mention/fluent-dark.css +24 -0
  245. package/styles/mention/fluent.css +24 -0
  246. package/styles/mention/fluent2.css +1130 -0
  247. package/styles/mention/fluent2.scss +6 -0
  248. package/styles/mention/highcontrast-light.css +24 -0
  249. package/styles/mention/highcontrast.css +24 -0
  250. package/styles/mention/material-dark.css +24 -0
  251. package/styles/mention/material.css +24 -0
  252. package/styles/mention/material3-dark.css +25 -1
  253. package/styles/mention/material3-dark.scss +1 -1
  254. package/styles/mention/material3.css +25 -1
  255. package/styles/mention/material3.scss +1 -1
  256. package/styles/mention/tailwind-dark.css +24 -0
  257. package/styles/mention/tailwind.css +24 -0
  258. package/styles/multi-select/_bootstrap5.3-definition.scss +230 -0
  259. package/styles/multi-select/_fluent2-definition.scss +236 -0
  260. package/styles/multi-select/_layout.scss +32 -38
  261. package/styles/multi-select/_material3-definition.scss +0 -15
  262. package/styles/multi-select/_theme.scss +0 -4
  263. package/styles/multi-select/bootstrap-dark.css +67 -28
  264. package/styles/multi-select/bootstrap.css +67 -28
  265. package/styles/multi-select/bootstrap4.css +70 -29
  266. package/styles/multi-select/bootstrap5-dark.css +67 -28
  267. package/styles/multi-select/bootstrap5.css +67 -28
  268. package/styles/multi-select/fabric-dark.css +67 -28
  269. package/styles/multi-select/fabric.css +67 -28
  270. package/styles/multi-select/fluent-dark.css +69 -29
  271. package/styles/multi-select/fluent.css +69 -29
  272. package/styles/multi-select/fluent2.css +2663 -0
  273. package/styles/multi-select/fluent2.scss +9 -0
  274. package/styles/multi-select/highcontrast-light.css +70 -28
  275. package/styles/multi-select/highcontrast.css +70 -28
  276. package/styles/multi-select/icons/_bootstrap5.3.scss +26 -0
  277. package/styles/multi-select/icons/_fluent2.scss +692 -0
  278. package/styles/multi-select/material-dark.css +88 -32
  279. package/styles/multi-select/material.css +102 -34
  280. package/styles/multi-select/material3-dark.css +109 -35
  281. package/styles/multi-select/material3-dark.scss +1 -1
  282. package/styles/multi-select/material3.css +109 -35
  283. package/styles/multi-select/material3.scss +1 -1
  284. package/styles/multi-select/tailwind-dark.css +67 -28
  285. package/styles/multi-select/tailwind.css +67 -28
  286. package/styles/tailwind-dark.css +217 -233
  287. package/styles/tailwind-dark.scss +28 -8
  288. package/styles/tailwind.css +217 -233
  289. package/styles/tailwind.scss +28 -8
  290. package/CHANGELOG.md +0 -2200
@@ -147,6 +147,10 @@ export interface DdtPopupEventArgs {
147
147
  * Specifies the pop-up object.
148
148
  */
149
149
  popup: Popup;
150
+ /**
151
+ * Determines whether the current popup close action needs to be prevented or not.
152
+ */
153
+ cancel?: boolean;
150
154
  }
151
155
  export interface DdtDataBoundEventArgs {
152
156
  /**
@@ -560,7 +564,7 @@ export declare class DropDownTree extends Component<HTMLElement> implements INot
560
564
  * When this property is set to false, then the popup will not be removed from DOM once it is closed.
561
565
  *
562
566
  * @default true
563
- * @deprecated
567
+
564
568
  */
565
569
  destroyPopupOnHide: boolean;
566
570
  /**
@@ -641,79 +645,79 @@ export declare class DropDownTree extends Component<HTMLElement> implements INot
641
645
  /**
642
646
  * Triggers when the data fetch request from the remote server fails.
643
647
  *
644
- * @event
648
+ * @event actionFailure
645
649
  */
646
650
  actionFailure: EmitType<Object>;
647
651
  /**
648
652
  * Fires when popup opens before animation.
649
653
  *
650
- * @event
654
+ * @event beforeOpen
651
655
  */
652
656
  beforeOpen: EmitType<DdtBeforeOpenEventArgs>;
653
657
  /**
654
658
  * Triggers when an item in a popup is selected or when the model value is changed by user.
655
659
  *
656
- * @event
660
+ * @event change
657
661
  */
658
662
  change: EmitType<DdtChangeEventArgs>;
659
663
  /**
660
664
  * Fires when popup close after animation completion.
661
665
  *
662
- * @event
666
+ * @event close
663
667
  */
664
668
  close: EmitType<DdtPopupEventArgs>;
665
669
  /**
666
670
  * Triggers when the Dropdown Tree input element gets focus-out.
667
671
  *
668
- * @event
672
+ * @event blur
669
673
  */
670
674
  blur: EmitType<Object>;
671
675
  /**
672
676
  * Triggers when the Dropdown Tree is created successfully.
673
677
  *
674
- * @event
678
+ * @event created
675
679
  */
676
680
  created: EmitType<Object>;
677
681
  /**
678
682
  * Triggers when data source is populated in the Dropdown Tree.
679
683
  *
680
- * @event
684
+ * @event dataBound
681
685
  */
682
686
  dataBound: EmitType<DdtDataBoundEventArgs>;
683
687
  /**
684
688
  * Triggers when the Dropdown Tree is destroyed successfully.
685
689
  *
686
- * @event
690
+ * @event destroyed
687
691
  */
688
692
  destroyed: EmitType<Object>;
689
693
  /**
690
694
  * Triggers on typing a character in the filter bar when the **allowFiltering** is enabled.
691
695
  *
692
- * @event
696
+ * @event filtering
693
697
  */
694
698
  filtering: EmitType<DdtFilteringEventArgs>;
695
699
  /**
696
700
  * Triggers when the Dropdown Tree input element is focused.
697
701
  *
698
- * @event
702
+ * @event focus
699
703
  */
700
704
  focus: EmitType<DdtFocusEventArgs>;
701
705
  /**
702
706
  * Triggers when key press is successful. It helps to customize the operations at key press.
703
707
  *
704
- * @event
708
+ * @event keyPress
705
709
  */
706
710
  keyPress: EmitType<DdtKeyPressEventArgs>;
707
711
  /**
708
712
  * Fires when popup opens after animation completion.
709
713
  *
710
- * @event
714
+ * @event open
711
715
  */
712
716
  open: EmitType<DdtPopupEventArgs>;
713
717
  /**
714
718
  * Triggers when an item in the popup is selected by the user either with mouse/tap or with keyboard navigation.
715
719
  *
716
- * @event
720
+ * @event select
717
721
  */
718
722
  select: EmitType<DdtSelectEventArgs>;
719
723
  constructor(options?: DropDownTreeModel, element?: string | HTMLElement);
@@ -17,6 +17,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
17
17
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
18
  return c > 3 && r && Object.defineProperty(target, key, r), r;
19
19
  };
20
+ /* eslint-disable @typescript-eslint/no-explicit-any */
20
21
  import { Input, TextBox } from '@syncfusion/ej2-inputs';
21
22
  import { createCheckBox } from '@syncfusion/ej2-buttons';
22
23
  import { NotifyPropertyChanges, Property, Event, SanitizeHtmlHelper } from '@syncfusion/ej2-base';
@@ -413,7 +414,6 @@ var DropDownTree = /** @class */ (function (_super) {
413
414
  if (args.text === '') {
414
415
  _this.isFilteredData = false;
415
416
  _this.isFilterRestore = true;
416
- _this.isFromFilterChange = false;
417
417
  fields = _this.cloneFields(_this.fields);
418
418
  }
419
419
  else if (args.preventDefaultAction) {
@@ -498,8 +498,7 @@ var DropDownTree = /** @class */ (function (_super) {
498
498
  DropDownTree.prototype.nestedFilter = function (value, filteredFields) {
499
499
  var matchedDataSource = [];
500
500
  for (var i = 0; i < this.treeData.length; i++) {
501
- // eslint-disable-next-line
502
- var filteredChild = this.nestedChildFilter(value, this.treeData[i]);
501
+ var filteredChild = this.nestedChildFilter(value, this.treeData[parseInt(i.toString(), 10)]);
503
502
  if (!isNOU(filteredChild)) {
504
503
  matchedDataSource.push(filteredChild);
505
504
  }
@@ -515,8 +514,7 @@ var DropDownTree = /** @class */ (function (_super) {
515
514
  else {
516
515
  var matchedChildren = [];
517
516
  for (var i = 0; i < children.length; i++) {
518
- // eslint-disable-next-line
519
- var filteredChild = this.nestedChildFilter(value, children[i]);
517
+ var filteredChild = this.nestedChildFilter(value, children[parseInt(i.toString(), 10)]);
520
518
  if (!isNOU(filteredChild)) {
521
519
  matchedChildren.push(filteredChild);
522
520
  }
@@ -543,13 +541,11 @@ var DropDownTree = /** @class */ (function (_super) {
543
541
  for (var i = 0; i < matchedData.length; i++) {
544
542
  if (matchedDataSource.indexOf(matchedData[i]) === -1) {
545
543
  matchedDataSource.push(matchedData[i]);
546
- // eslint-disable-next-line
547
- var parentId = matchedData[i][this.fields.parentValue];
544
+ var parentId = matchedData[parseInt(i.toString(), 10)][this.fields.parentValue];
548
545
  while (!isNOU(parentId)) {
549
546
  var parent_1 = null;
550
547
  for (var j = 0; j < this.treeData.length; j++) {
551
- // eslint-disable-next-line
552
- var value_1 = this.treeData[j][this.fields.value];
548
+ var value_1 = this.treeData[parseInt(j.toString(), 10)][this.fields.value];
553
549
  if (!isNOU(value_1) && (value_1 === parentId)) {
554
550
  parent_1 = this.treeData[j];
555
551
  break;
@@ -643,6 +639,11 @@ var DropDownTree = /** @class */ (function (_super) {
643
639
  if (formElement) {
644
640
  EventHandler.remove(formElement, 'reset', this.resetValueHandler);
645
641
  }
642
+ this.keyboardModule.destroy();
643
+ if (this.showSelectAll && this.checkAllParent) {
644
+ EventHandler.remove(this.checkAllParent, 'mouseup', this.clickHandler);
645
+ }
646
+ EventHandler.remove(document, 'mousedown', this.onDocumentClick);
646
647
  };
647
648
  /* Trigger when the dropdown is clicked */
648
649
  DropDownTree.prototype.dropDownClick = function (e) {
@@ -917,6 +918,7 @@ var DropDownTree = /** @class */ (function (_super) {
917
918
  cancel: false,
918
919
  event: e
919
920
  };
921
+ var focusedElement;
920
922
  this.trigger('keyPress', eventArgs, function (observedArgs) {
921
923
  if (!observedArgs.cancel) {
922
924
  switch (e.action) {
@@ -924,9 +926,10 @@ var DropDownTree = /** @class */ (function (_super) {
924
926
  _this.clickHandler(e);
925
927
  break;
926
928
  case 'moveDown':
927
- var focusedElement = _this.treeObj.element.querySelector('li');
929
+ focusedElement = _this.treeObj.element.querySelector('li');
928
930
  focusedElement.focus();
929
931
  addClass([focusedElement], ['e-node-focus']);
932
+ break;
930
933
  }
931
934
  }
932
935
  });
@@ -1085,8 +1088,7 @@ var DropDownTree = /** @class */ (function (_super) {
1085
1088
  return remainElement;
1086
1089
  };
1087
1090
  DropDownTree.prototype.getOverflowVal = function (index) {
1088
- // eslint-disable-next-line
1089
- var selectedData = this.getSelectedData(this.value[index]);
1091
+ var selectedData = this.getSelectedData(this.value[parseInt(index.toString(), 10)]);
1090
1092
  return getValue(this.treeSettings.loadOnDemand ? this.fields.text : 'text', selectedData);
1091
1093
  };
1092
1094
  DropDownTree.prototype.updateDelimMode = function () {
@@ -1458,8 +1460,7 @@ var DropDownTree = /** @class */ (function (_super) {
1458
1460
  var data;
1459
1461
  if (this.treeDataType === 1) {
1460
1462
  for (var i = 0; i < this.treeItems.length; i++) {
1461
- // eslint-disable-next-line
1462
- var text = getValue(this.fields.text, this.treeItems[i]);
1463
+ var text = getValue(this.fields.text, this.treeItems[parseInt(i.toString(), 10)]);
1463
1464
  if (!isNOU(this.treeItems[i]) && !isNOU(text) && text === givenText) {
1464
1465
  data = this.treeItems[i];
1465
1466
  break;
@@ -1474,14 +1475,12 @@ var DropDownTree = /** @class */ (function (_super) {
1474
1475
  DropDownTree.prototype.getNestedItems = function (data, field, givenText) {
1475
1476
  var newData;
1476
1477
  for (var i = 0, objlen = data.length; i < objlen; i++) {
1477
- // eslint-disable-next-line
1478
- var dataId = getValue(this.fields.text, data[i]);
1478
+ var dataId = getValue(this.fields.text, data[parseInt(i.toString(), 10)]);
1479
1479
  if (data[i] && dataId && dataId.toString() === givenText) {
1480
1480
  return data[i];
1481
1481
  }
1482
1482
  else if (typeof field.child === 'string' && !isNOU(getValue(field.child, data[i]))) {
1483
- // eslint-disable-next-line
1484
- var childData = getValue(field.child, data[i]);
1483
+ var childData = getValue(field.child, data[parseInt(i.toString(), 10)]);
1485
1484
  newData = this.getNestedItems(childData, this.getChildType(field), givenText);
1486
1485
  if (newData !== undefined) {
1487
1486
  break;
@@ -1489,8 +1488,7 @@ var DropDownTree = /** @class */ (function (_super) {
1489
1488
  }
1490
1489
  else if (this.fields.dataSource instanceof DataManager && !isNOU(getValue('child', data[i]))) {
1491
1490
  var child = 'child';
1492
- // eslint-disable-next-line
1493
- newData = this.getNestedItems(getValue(child, data[i]), this.getChildType(field), givenText);
1491
+ newData = this.getNestedItems(getValue(child, data[parseInt(i.toString(), 10)]), this.getChildType(field), givenText);
1494
1492
  if (newData !== undefined) {
1495
1493
  break;
1496
1494
  }
@@ -1580,12 +1578,12 @@ var DropDownTree = /** @class */ (function (_super) {
1580
1578
  _this.setFooterTemplate();
1581
1579
  }
1582
1580
  _this.isFirstRender = false;
1583
- /* eslint-disable */
1584
1581
  if (_this.hasTemplate && _this.portals) {
1585
1582
  if (_this.treeObj.portals) {
1586
- _this.portals = _this.portals.concat(_this.treeObj.portals.filter(function (item) { return !_this.portals.includes(item); }));
1583
+ _this.portals = _this.portals.concat(_this.treeObj.portals.filter(function (item) {
1584
+ return !_this.portals.includes(item);
1585
+ }));
1587
1586
  }
1588
- /* eslint-enable */
1589
1587
  if (_this.isReact) {
1590
1588
  _this.renderReactTemplates(_this.reactCallBack);
1591
1589
  }
@@ -1608,7 +1606,7 @@ var DropDownTree = /** @class */ (function (_super) {
1608
1606
  else {
1609
1607
  var oldFocussedNode = _this.treeObj.element.querySelector('.e-node-focus');
1610
1608
  focusedElement = _this.treeObj.element.querySelector('li:not(.e-disable):not(.e-prevent)');
1611
- if (oldFocussedNode && oldFocussedNode != focusedElement) {
1609
+ if (oldFocussedNode && oldFocussedNode !== focusedElement) {
1612
1610
  oldFocussedNode.setAttribute('tabindex', '-1');
1613
1611
  removeClass([oldFocussedNode], 'e-node-focus');
1614
1612
  }
@@ -1735,7 +1733,8 @@ var DropDownTree = /** @class */ (function (_super) {
1735
1733
  var isFooter = closest(target, '.' + FOOTER);
1736
1734
  var isScroller = target.classList.contains(DROPDOWN) ? true :
1737
1735
  (matches(target, '.e-ddt .e-popup') || matches(target, '.e-ddt .e-treeview'));
1738
- if ((this.isPopupOpen && ((!isNOU(this.inputWrapper) && this.inputWrapper.contains(target)) || isTree || isScroller || isHeader || isFooter)) ||
1736
+ if ((this.isPopupOpen && ((!isNOU(this.inputWrapper) &&
1737
+ this.inputWrapper.contains(target)) || isTree || isScroller || isHeader || isFooter)) ||
1739
1738
  ((this.allowMultiSelection || this.showCheckBox) && (this.isPopupOpen && target.classList.contains(CHIP_CLOSE) ||
1740
1739
  (this.isPopupOpen && (target.classList.contains(CHECKALLPARENT) || target.classList.contains(ALLTEXT)
1741
1740
  || target.classList.contains(CHECKBOXFRAME)))))) {
@@ -1762,7 +1761,9 @@ var DropDownTree = /** @class */ (function (_super) {
1762
1761
  removeClass([this.popupDiv], NODATA);
1763
1762
  this.hideCheckAll(false);
1764
1763
  }
1765
- this.treeDataType = this.getTreeDataType(this.treeItems, this.fields);
1764
+ if (!this.isFilteredData) {
1765
+ this.treeDataType = this.getTreeDataType(this.treeItems, this.fields);
1766
+ }
1766
1767
  if (this.isFirstRender && this.isRemoteData) {
1767
1768
  this.setTreeValue();
1768
1769
  this.setTreeText();
@@ -1858,7 +1859,8 @@ var DropDownTree = /** @class */ (function (_super) {
1858
1859
  dataSource: fields.dataSource, value: fields.value, text: fields.text, parentValue: fields.parentValue,
1859
1860
  child: (fields.child ? this.cloneChildField(fields.child) : null), hasChildren: fields.hasChildren,
1860
1861
  expanded: fields.expanded, iconCss: fields.iconCss, imageUrl: fields.imageUrl, htmlAttributes: fields.htmlAttributes,
1861
- query: fields.query, selected: fields.selected, selectable: fields.selectable, tableName: fields.tableName, tooltip: fields.tooltip
1862
+ query: fields.query, selected: fields.selected, selectable: fields.selectable,
1863
+ tableName: fields.tableName, tooltip: fields.tooltip
1862
1864
  };
1863
1865
  return clonedField;
1864
1866
  }
@@ -1912,7 +1914,8 @@ var DropDownTree = /** @class */ (function (_super) {
1912
1914
  if ((typeof field.child === 'string') && !isNOU(getValue(field.child, this.fields.dataSource[i]))) {
1913
1915
  return 2;
1914
1916
  }
1915
- if (!isNOU(getValue(field.parentValue, this.fields.dataSource[i])) || !isNOU(getValue(field.hasChildren, this.fields.dataSource[i]))) {
1917
+ if (!isNOU(getValue(field.parentValue, this.fields.dataSource[i])) ||
1918
+ !isNOU(getValue(field.hasChildren, this.fields.dataSource[i]))) {
1916
1919
  return 1;
1917
1920
  }
1918
1921
  }
@@ -2061,14 +2064,13 @@ var DropDownTree = /** @class */ (function (_super) {
2061
2064
  this.oldValue = this.value ? this.value.slice() : this.value;
2062
2065
  }
2063
2066
  };
2064
- DropDownTree.prototype.onNodeExpanded = function (args) {
2067
+ DropDownTree.prototype.onNodeExpanded = function () {
2065
2068
  if (this.hasTemplate && this.portals && this.treeObj.portals) {
2066
2069
  for (var i = 0; i < this.treeObj.portals.length; i++) {
2067
2070
  if (this.portals.indexOf(this.treeObj.portals[i]) === -1) {
2068
2071
  this.portals.push(this.treeObj.portals[i]);
2069
2072
  }
2070
2073
  }
2071
- /* eslint-enable */
2072
2074
  this.renderReactTemplates();
2073
2075
  }
2074
2076
  };
@@ -2164,7 +2166,7 @@ var DropDownTree = /** @class */ (function (_super) {
2164
2166
  if (!this.isFilteredData) {
2165
2167
  this.setProperties({ value: this.isFromFilterChange && newValues && newValues.length === 0 ? this.value : newValues }, true);
2166
2168
  this.isFromFilterChange = false;
2167
- if (newValues && newValues.length !== 0 && !this.showCheckBox) {
2169
+ if (newValues && newValues.length !== 0 && !this.showCheckBox && !this.ddtCompareValues(this.treeObj.selectedNodes, this.value.slice())) {
2168
2170
  this.treeObj.selectedNodes = this.value.slice();
2169
2171
  this.treeObj.dataBind();
2170
2172
  }
@@ -2446,8 +2448,6 @@ var DropDownTree = /** @class */ (function (_super) {
2446
2448
  };
2447
2449
  DropDownTree.prototype.templateComplier = function (template) {
2448
2450
  if (template) {
2449
- // eslint-disable-next-line
2450
- var e = void 0;
2451
2451
  try {
2452
2452
  if (typeof template !== 'function' && document.querySelectorAll(template).length) {
2453
2453
  return compile(document.querySelector(template).innerHTML.trim());
@@ -2533,7 +2533,7 @@ var DropDownTree = /** @class */ (function (_super) {
2533
2533
  this.ensurePlaceHolder();
2534
2534
  };
2535
2535
  DropDownTree.prototype.resetValue = function (isDynamicChange) {
2536
- if (this.value === [] && this.text == null) {
2536
+ if (Array.isArray(this.value) && this.value.length === 0 && this.text == null) {
2537
2537
  return;
2538
2538
  }
2539
2539
  Input.setValue(null, this.inputEle, this.floatLabelType);
@@ -2647,9 +2647,7 @@ var DropDownTree = /** @class */ (function (_super) {
2647
2647
  DropDownTree.prototype.updateTemplate = function () {
2648
2648
  if (this.popupObj) {
2649
2649
  this.clearTemplate();
2650
- /* eslint-disable */
2651
2650
  this.portals = [];
2652
- /* eslint-enable */
2653
2651
  this.popupObj.destroy();
2654
2652
  if (this.isPopupOpen) {
2655
2653
  this.hidePopup();
@@ -3026,22 +3024,35 @@ var DropDownTree = /** @class */ (function (_super) {
3026
3024
  detach(this.inputWrapper);
3027
3025
  detach(this.popupDiv);
3028
3026
  detach(this.hiddenElement);
3027
+ Input.setRipple(false, [this.inputObj]);
3029
3028
  this.element.classList.remove('e-input');
3030
3029
  if (this.showCheckBox || this.allowMultiSelection) {
3031
3030
  this.element.classList.remove(CHIP_INPUT);
3032
3031
  }
3032
+ detach(this.inputObj.container);
3033
+ if (this.inputObj.buttons.length) {
3034
+ detach(this.inputObj.buttons[0]);
3035
+ }
3033
3036
  this.inputObj = null;
3034
3037
  while (this.hiddenElement.options.length > 0) {
3035
3038
  this.hiddenElement.remove(0);
3036
3039
  }
3037
3040
  this.hiddenElement.innerHTML = '';
3038
3041
  this.hiddenElement = null;
3042
+ this.inputWrapper.innerHTML = '';
3039
3043
  this.inputWrapper = null;
3040
3044
  this.popupDiv = null;
3041
3045
  this.tree = null;
3042
3046
  this.popupObj = null;
3043
3047
  this.treeObj = null;
3044
3048
  this.overAllClear = null;
3049
+ if (this.chipCollection) {
3050
+ var chipsIcons = selectAll('.e-chips-close', this.chipCollection);
3051
+ for (var _i = 0, chipsIcons_1 = chipsIcons; _i < chipsIcons_1.length; _i++) {
3052
+ var element = chipsIcons_1[_i];
3053
+ EventHandler.remove(element, 'mousedown', this.removeChip);
3054
+ }
3055
+ }
3045
3056
  this.chipWrapper = null;
3046
3057
  this.chipCollection = null;
3047
3058
  this.checkAllParent = null;
@@ -3100,7 +3111,11 @@ var DropDownTree = /** @class */ (function (_super) {
3100
3111
  * @returns {void}
3101
3112
  */
3102
3113
  DropDownTree.prototype.hidePopup = function () {
3103
- var eventArgs = { popup: this.popupObj };
3114
+ var eventArgs = { popup: this.popupObj, cancel: false };
3115
+ this.trigger('close', eventArgs);
3116
+ if (eventArgs.cancel) {
3117
+ return;
3118
+ }
3104
3119
  this.inputWrapper.classList.remove(ICONANIMATION);
3105
3120
  if (this.popupEle) {
3106
3121
  addClass([this.popupEle], DDTHIDEICON);
@@ -3114,7 +3129,6 @@ var DropDownTree = /** @class */ (function (_super) {
3114
3129
  addClass([this.inputWrapper], [INPUTFOCUS]);
3115
3130
  }
3116
3131
  }
3117
- this.trigger('close', eventArgs);
3118
3132
  if (this.destroyPopupOnHide) {
3119
3133
  this.isFirstRender = true;
3120
3134
  this.destroyPopup();
@@ -97,7 +97,7 @@ export interface ListBoxModel extends DropDownBaseModel{
97
97
  * Specifies a value that indicates whether the component is enabled or not.
98
98
  *
99
99
  * @default true
100
- * @deprecated
100
+
101
101
  */
102
102
  enabled?: boolean;
103
103
 
@@ -107,7 +107,7 @@ export interface ListBoxModel extends DropDownBaseModel{
107
107
  * 1. value
108
108
  *
109
109
  * @default false
110
- * @deprecated
110
+
111
111
  */
112
112
  enablePersistence?: boolean;
113
113
 
@@ -161,7 +161,7 @@ export declare class ListBox extends DropDownBase {
161
161
  * Specifies a value that indicates whether the component is enabled or not.
162
162
  *
163
163
  * @default true
164
- * @deprecated
164
+
165
165
  */
166
166
  enabled: boolean;
167
167
  /**
@@ -170,7 +170,7 @@ export declare class ListBox extends DropDownBase {
170
170
  * 1. value
171
171
  *
172
172
  * @default false
173
- * @deprecated
173
+
174
174
  */
175
175
  enablePersistence: boolean;
176
176
  /**
@@ -29,7 +29,6 @@ import { cssClass, Sortable, moveTo } from '@syncfusion/ej2-lists';
29
29
  import { Button } from '@syncfusion/ej2-buttons';
30
30
  import { createSpinner, showSpinner, hideSpinner, getZindexPartial } from '@syncfusion/ej2-popups';
31
31
  import { DataManager, Query } from '@syncfusion/ej2-data';
32
- var ITEMTEMPLATE_PROPERTY = 'ItemTemplate';
33
32
  /**
34
33
  * Defines the Selection settings of List Box.
35
34
  */
@@ -145,6 +144,7 @@ var ListBox = /** @class */ (function (_super) {
145
144
  var hiddenSelect = this.createElement('select', { className: 'e-hidden-select', attrs: { 'multiple': '' } });
146
145
  hiddenSelect.style.visibility = 'hidden';
147
146
  this.list.classList.add('e-listbox-wrapper');
147
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
148
148
  this.list.querySelector('.e-list-parent').setAttribute('role', 'presentation');
149
149
  var groupHdrs = this.list.querySelectorAll('.e-list-group-item');
150
150
  for (var i = 0; i < groupHdrs.length; i++) {
@@ -163,7 +163,7 @@ var ListBox = /** @class */ (function (_super) {
163
163
  }
164
164
  }
165
165
  else {
166
- if (this.initLoad) {
166
+ if (this.initLoad && this.element.parentElement) {
167
167
  this.element.parentElement.insertBefore(this.list, this.element);
168
168
  }
169
169
  this.list.insertBefore(this.element, this.list.firstChild);
@@ -231,6 +231,7 @@ var ListBox = /** @class */ (function (_super) {
231
231
  ListBox.prototype.initToolbar = function () {
232
232
  var pos = this.toolbarSettings.position;
233
233
  var prevScope = this.element.getAttribute('data-value');
234
+ this.toolbarSettings.items = isNullOrUndefined(this.toolbarSettings.items) ? [] : this.toolbarSettings.items;
234
235
  if (this.toolbarSettings.items.length) {
235
236
  var toolElem = this.createElement('div', { className: 'e-listbox-tool', attrs: { 'role': 'toolbar' } });
236
237
  var wrapper = this.createElement('div', {
@@ -325,7 +326,9 @@ var ListBox = /** @class */ (function (_super) {
325
326
  this.spinner = this.createElement('div', { className: 'e-listbox-wrapper' });
326
327
  }
327
328
  this.spinner.style.height = formatUnit(this.height);
328
- this.element.parentElement.insertBefore(this.spinner, this.element.nextSibling);
329
+ if (this.element.parentElement) {
330
+ this.element.parentElement.insertBefore(this.spinner, this.element.nextSibling);
331
+ }
329
332
  createSpinner({ target: this.spinner }, this.createElement);
330
333
  showSpinner(this.spinner);
331
334
  };
@@ -631,7 +634,7 @@ var ListBox = /** @class */ (function (_super) {
631
634
  }
632
635
  var fListData_1 = [].slice.call(this.listData);
633
636
  var fSortData_1 = [].slice.call(this.sortedData);
634
- selectedOptions.forEach(function (value, index) {
637
+ selectedOptions.forEach(function (value) {
635
638
  droppedData = _this.getDataByValue(value);
636
639
  var srcIdx = _this.listData.indexOf(droppedData);
637
640
  var jsonSrcIdx = _this.jsonData.indexOf(droppedData);
@@ -1182,6 +1185,10 @@ var ListBox = /** @class */ (function (_super) {
1182
1185
  }
1183
1186
  };
1184
1187
  ListBox.prototype.clickHandler = function (e) {
1188
+ var li = closest(e.target, '.' + 'e-list-item');
1189
+ if (isNullOrUndefined(li)) {
1190
+ return;
1191
+ }
1185
1192
  this.selectHandler(e);
1186
1193
  };
1187
1194
  ListBox.prototype.checkSelectAll = function () {
@@ -1674,6 +1681,7 @@ var ListBox = /** @class */ (function (_super) {
1674
1681
  }
1675
1682
  var _loop_3 = function (i) {
1676
1683
  if (fListBox.ulElement.childNodes[i].classList.contains('e-disabled')) {
1684
+ // eslint-disable-next-line @typescript-eslint/tslint/config
1677
1685
  flistboxarray = flistboxarray.filter(function (item) { return item !== i; });
1678
1686
  tempLiColl.push(fListBox.ulElement.childNodes[i]);
1679
1687
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -2094,7 +2102,9 @@ var ListBox = /** @class */ (function (_super) {
2094
2102
  });
2095
2103
  }
2096
2104
  };
2097
- ListBox.prototype.setSelection = function (values, isSelect, isText, canFocus) {
2105
+ ListBox.prototype.setSelection = function (
2106
+ // eslint-disable-next-line max-len
2107
+ values, isSelect, isText, canFocus) {
2098
2108
  var _this = this;
2099
2109
  if (values === void 0) { values = this.value; }
2100
2110
  if (isSelect === void 0) { isSelect = true; }
@@ -2119,21 +2129,21 @@ var ListBox = /** @class */ (function (_super) {
2119
2129
  li = _this.list.querySelector('[data-value="' + text + '"]');
2120
2130
  }
2121
2131
  if (li) {
2122
- if (_this.selectionSettings.showCheckbox) {
2132
+ if (_this.selectionSettings.showCheckbox && !li.classList.contains('e-disabled')) {
2123
2133
  liselect = li.getElementsByClassName('e-frame')[0].classList.contains('e-check');
2124
2134
  }
2125
2135
  else {
2126
2136
  liselect = li.classList.contains('e-selected');
2127
2137
  }
2128
2138
  if (!isSelect && liselect || isSelect && !liselect && li) {
2129
- if (_this.selectionSettings.showCheckbox) {
2139
+ if (_this.selectionSettings.showCheckbox && !li.classList.contains('e-disabled')) {
2130
2140
  _this.notify('updatelist', { li: li, module: 'listbox' });
2131
2141
  if (canFocus) {
2132
2142
  li.focus();
2133
2143
  }
2134
2144
  }
2135
2145
  else {
2136
- if (isSelect) {
2146
+ if (isSelect && !li.classList.contains('e-disabled')) {
2137
2147
  li.classList.add(cssClass.selected);
2138
2148
  li.setAttribute('aria-selected', 'true');
2139
2149
  if (canFocus) {
@@ -2167,7 +2177,17 @@ var ListBox = /** @class */ (function (_super) {
2167
2177
  this.checkSelectAll();
2168
2178
  };
2169
2179
  ListBox.prototype.checkDisabledState = function (inst) {
2170
- return inst.ulElement.querySelectorAll('.' + cssClass.li).length === 0;
2180
+ if (isNullOrUndefined(inst.ulElement)) {
2181
+ if (!isNullOrUndefined(this.dataSource) && isNullOrUndefined(this.dataSource.length)) {
2182
+ return false;
2183
+ }
2184
+ else {
2185
+ return true;
2186
+ }
2187
+ }
2188
+ else {
2189
+ return inst.ulElement.querySelectorAll('.' + cssClass.li).length === 0;
2190
+ }
2171
2191
  };
2172
2192
  ListBox.prototype.updateToolBarState = function () {
2173
2193
  var _this = this;
@@ -2405,6 +2425,7 @@ var ListBox = /** @class */ (function (_super) {
2405
2425
  }
2406
2426
  }
2407
2427
  if (newProp.toolbarSettings.items) {
2428
+ oldProp.toolbarSettings.items = isNullOrUndefined(oldProp.toolbarSettings.items) ? [] : oldProp.toolbarSettings.items;
2408
2429
  if (oldProp.toolbarSettings && oldProp.toolbarSettings.items.length) {
2409
2430
  ele = this.list.parentElement;
2410
2431
  ele.parentElement.insertBefore(this.list, ele);
@@ -296,6 +296,9 @@ var Mention = /** @class */ (function (_super) {
296
296
  }
297
297
  };
298
298
  Mention.prototype.updateUpDownAction = function (e) {
299
+ if (this.fields.disabled && this.list && this.list.querySelectorAll('.e-list-item:not(.e-disabled)').length === 0) {
300
+ return;
301
+ }
299
302
  var focusEle = this.list.querySelector('.' + dropDownBaseClasses.focus);
300
303
  if (this.isSelectFocusItem(focusEle)) {
301
304
  this.setSelection(focusEle, e);
@@ -316,6 +319,17 @@ var Mention = /** @class */ (function (_super) {
316
319
  this.setSelection(nextItem, e);
317
320
  }
318
321
  }
322
+ var itemIndex;
323
+ for (var index = 0; index < this.liCollections.length; index++) {
324
+ if (this.liCollections[index].classList.contains(dropDownBaseClasses.focus)
325
+ || this.liCollections[index].classList.contains(dropDownBaseClasses.selected)) {
326
+ itemIndex = index;
327
+ break;
328
+ }
329
+ }
330
+ if (itemIndex != null && this.isDisabledElement(this.liCollections[itemIndex])) {
331
+ this.updateUpDownAction(e);
332
+ }
319
333
  if (this.isPopupOpen) {
320
334
  e.preventDefault();
321
335
  }
@@ -491,7 +505,7 @@ var Mention = /** @class */ (function (_super) {
491
505
  if (!isNullOrUndefined(ulElement)) {
492
506
  attributes(ulElement, { 'id': this.inputElement.id + '_options', 'role': 'listbox', 'aria-hidden': 'false' });
493
507
  }
494
- var focusItem = ulElement.querySelector('.' + dropDownBaseClasses.li);
508
+ var focusItem = this.fields.disabled ? ulElement.querySelector('.' + dropDownBaseClasses.li + ':not(.e-disabled)') : ulElement.querySelector('.' + dropDownBaseClasses.li);
495
509
  if (focusItem) {
496
510
  focusItem.classList.add(dropDownBaseClasses.selected);
497
511
  this.selectedLI = focusItem;
@@ -720,10 +734,10 @@ var Mention = /** @class */ (function (_super) {
720
734
  }
721
735
  }
722
736
  append([_this.list], popupEle_1);
723
- if (_this.inputElement.parentElement && _this.inputElement.parentElement.parentElement &&
724
- _this.inputElement.parentElement.parentElement.classList.contains('e-richtexteditor')) {
725
- if (popupEle_1.firstElementChild && popupEle_1.firstElementChild.childElementCount > 0) {
726
- popupEle_1.firstElementChild.setAttribute('aria-owns', _this.inputElement.parentElement.parentElement.id);
737
+ if (_this.inputElement.parentElement) {
738
+ var rteRootElement = _this.inputElement.parentElement.closest('.e-richtexteditor');
739
+ if (rteRootElement && popupEle_1.firstElementChild && popupEle_1.firstElementChild.childElementCount > 0) {
740
+ popupEle_1.firstElementChild.setAttribute('aria-owns', rteRootElement.id);
727
741
  addClass([popupEle_1], 'e-rte-elements');
728
742
  }
729
743
  }
@@ -1026,7 +1040,7 @@ var Mention = /** @class */ (function (_super) {
1026
1040
  Mention.prototype.onMouseClick = function (e) {
1027
1041
  var target = e.target;
1028
1042
  var li = closest(target, '.' + dropDownBaseClasses.li);
1029
- if (!this.isValidLI(li)) {
1043
+ if (!this.isValidLI(li) || this.isDisabledElement(li)) {
1030
1044
  return;
1031
1045
  }
1032
1046
  this.isSelected = true;
@@ -1257,6 +1271,7 @@ var Mention = /** @class */ (function (_super) {
1257
1271
  }
1258
1272
  this.isTyped = false;
1259
1273
  range.deleteContents();
1274
+ range.startContainer.parentElement.normalize();
1260
1275
  var element = this.createElement('div');
1261
1276
  element.innerHTML = value;
1262
1277
  var frag = document.createDocumentFragment();
@@ -1293,10 +1308,10 @@ var Mention = /** @class */ (function (_super) {
1293
1308
  }
1294
1309
  if (this.isContentEditable(this.inputElement)) {
1295
1310
  if (Browser.isAndroid) {
1296
- return '<span contenteditable="true" class="e-mention-chip">' + showChar + value + '</span>'.concat(typeof this.suffixText === 'string' ? this.suffixText : ' ');
1311
+ return '<span contenteditable="true" class="e-mention-chip">' + showChar + value + '</span>'.concat(typeof this.suffixText === 'string' ? this.suffixText : '');
1297
1312
  }
1298
1313
  else {
1299
- return '<span contenteditable="false" class="e-mention-chip">' + showChar + value + '</span>'.concat(typeof this.suffixText === 'string' ? this.suffixText : ' ');
1314
+ return '<span contenteditable="false" class="e-mention-chip">' + showChar + value + '</span>'.concat(typeof this.suffixText === 'string' ? this.suffixText : '');
1300
1315
  }
1301
1316
  }
1302
1317
  else {
@@ -1 +0,0 @@
1
-