@syncfusion/ej2-dropdowns 25.2.7 → 26.1.38

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 (267) hide show
  1. package/.eslintrc.json +3 -2
  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 +531 -224
  6. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  7. package/dist/es6/ej2-dropdowns.es5.js +524 -216
  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 +14 -13
  13. package/src/auto-complete/auto-complete.js +1 -1
  14. package/src/combo-box/combo-box.js +15 -0
  15. package/src/common/interface.js +0 -1
  16. package/src/common/virtual-scroll.js +1 -0
  17. package/src/drop-down-base/drop-down-base-model.d.ts +8 -1
  18. package/src/drop-down-base/drop-down-base.d.ts +28 -2
  19. package/src/drop-down-base/drop-down-base.js +64 -9
  20. package/src/drop-down-list/drop-down-list.d.ts +15 -2
  21. package/src/drop-down-list/drop-down-list.js +129 -13
  22. package/src/drop-down-tree/drop-down-tree-model.d.ts +15 -15
  23. package/src/drop-down-tree/drop-down-tree.d.ts +17 -13
  24. package/src/drop-down-tree/drop-down-tree.js +67 -38
  25. package/src/list-box/list-box.d.ts +1 -0
  26. package/src/list-box/list-box.js +41 -9
  27. package/src/mention/mention.js +23 -8
  28. package/src/multi-select/interface.js +0 -1
  29. package/src/multi-select/multi-select.d.ts +15 -0
  30. package/src/multi-select/multi-select.js +135 -12
  31. package/styles/auto-complete/_bootstrap5.3-definition.scss +2 -0
  32. package/styles/auto-complete/_fluent2-definition.scss +2 -0
  33. package/styles/auto-complete/bootstrap-dark.css +5 -2
  34. package/styles/auto-complete/bootstrap.css +5 -2
  35. package/styles/auto-complete/bootstrap4.css +6 -2
  36. package/styles/auto-complete/bootstrap5-dark.css +6 -2
  37. package/styles/auto-complete/bootstrap5.css +6 -2
  38. package/styles/auto-complete/fabric-dark.css +3 -1
  39. package/styles/auto-complete/fabric.css +3 -1
  40. package/styles/auto-complete/fluent-dark.css +6 -2
  41. package/styles/auto-complete/fluent.css +6 -2
  42. package/styles/auto-complete/fluent2.css +1140 -0
  43. package/styles/auto-complete/fluent2.scss +4 -0
  44. package/styles/auto-complete/highcontrast-light.css +3 -1
  45. package/styles/auto-complete/highcontrast.css +3 -1
  46. package/styles/auto-complete/material-dark.css +16 -5
  47. package/styles/auto-complete/material.css +16 -5
  48. package/styles/auto-complete/material3-dark.css +17 -6
  49. package/styles/auto-complete/material3.css +17 -6
  50. package/styles/auto-complete/tailwind-dark.css +16 -5
  51. package/styles/auto-complete/tailwind.css +16 -5
  52. package/styles/bootstrap-dark.css +197 -228
  53. package/styles/bootstrap-dark.scss +28 -8
  54. package/styles/bootstrap.css +197 -228
  55. package/styles/bootstrap.scss +28 -8
  56. package/styles/bootstrap4.css +200 -229
  57. package/styles/bootstrap4.scss +28 -8
  58. package/styles/bootstrap5-dark.css +197 -221
  59. package/styles/bootstrap5-dark.scss +28 -8
  60. package/styles/bootstrap5.css +197 -221
  61. package/styles/bootstrap5.scss +28 -8
  62. package/styles/combo-box/_bootstrap5.3-definition.scss +2 -0
  63. package/styles/combo-box/_fluent2-definition.scss +2 -0
  64. package/styles/combo-box/bootstrap-dark.css +5 -2
  65. package/styles/combo-box/bootstrap.css +5 -2
  66. package/styles/combo-box/bootstrap4.css +6 -2
  67. package/styles/combo-box/bootstrap5-dark.css +6 -2
  68. package/styles/combo-box/bootstrap5.css +6 -2
  69. package/styles/combo-box/fabric-dark.css +3 -1
  70. package/styles/combo-box/fabric.css +3 -1
  71. package/styles/combo-box/fluent-dark.css +6 -2
  72. package/styles/combo-box/fluent.css +6 -2
  73. package/styles/combo-box/fluent2.css +1140 -0
  74. package/styles/combo-box/fluent2.scss +4 -0
  75. package/styles/combo-box/highcontrast-light.css +3 -1
  76. package/styles/combo-box/highcontrast.css +3 -1
  77. package/styles/combo-box/material-dark.css +16 -5
  78. package/styles/combo-box/material.css +16 -5
  79. package/styles/combo-box/material3-dark.css +17 -6
  80. package/styles/combo-box/material3.css +17 -6
  81. package/styles/combo-box/tailwind-dark.css +16 -5
  82. package/styles/combo-box/tailwind.css +16 -5
  83. package/styles/drop-down-base/_bds-definition.scss +2 -2
  84. package/styles/drop-down-base/_bootstrap5.3-definition.scss +117 -0
  85. package/styles/drop-down-base/_fluent2-definition.scss +134 -0
  86. package/styles/drop-down-base/_layout.scss +12 -2
  87. package/styles/drop-down-base/_material3-definition.scss +0 -11
  88. package/styles/drop-down-base/_theme.scss +2 -11
  89. package/styles/drop-down-base/bootstrap-dark.css +2 -1
  90. package/styles/drop-down-base/bootstrap.css +2 -1
  91. package/styles/drop-down-base/bootstrap4.css +2 -1
  92. package/styles/drop-down-base/bootstrap5-dark.css +2 -1
  93. package/styles/drop-down-base/bootstrap5.css +2 -1
  94. package/styles/drop-down-base/fabric-dark.css +2 -1
  95. package/styles/drop-down-base/fabric.css +2 -1
  96. package/styles/drop-down-base/fluent-dark.css +2 -1
  97. package/styles/drop-down-base/fluent.css +2 -1
  98. package/styles/drop-down-base/fluent2.css +1447 -0
  99. package/styles/drop-down-base/fluent2.scss +3 -0
  100. package/styles/drop-down-base/highcontrast-light.css +2 -1
  101. package/styles/drop-down-base/highcontrast.css +2 -1
  102. package/styles/drop-down-base/material-dark.css +2 -1
  103. package/styles/drop-down-base/material.css +2 -1
  104. package/styles/drop-down-base/material3-dark.css +9 -2
  105. package/styles/drop-down-base/material3.css +9 -2
  106. package/styles/drop-down-base/tailwind-dark.css +2 -1
  107. package/styles/drop-down-base/tailwind.css +2 -1
  108. package/styles/drop-down-list/_bootstrap5.3-definition.scss +201 -0
  109. package/styles/drop-down-list/_fluent2-definition.scss +134 -0
  110. package/styles/drop-down-list/_layout.scss +5 -3
  111. package/styles/drop-down-list/_material3-definition.scss +0 -8
  112. package/styles/drop-down-list/bootstrap-dark.css +38 -3
  113. package/styles/drop-down-list/bootstrap.css +38 -3
  114. package/styles/drop-down-list/bootstrap4.css +39 -3
  115. package/styles/drop-down-list/bootstrap5-dark.css +39 -3
  116. package/styles/drop-down-list/bootstrap5.css +39 -3
  117. package/styles/drop-down-list/fabric-dark.css +36 -2
  118. package/styles/drop-down-list/fabric.css +36 -2
  119. package/styles/drop-down-list/fluent-dark.css +39 -3
  120. package/styles/drop-down-list/fluent.css +39 -3
  121. package/styles/drop-down-list/fluent2.css +1684 -0
  122. package/styles/drop-down-list/fluent2.scss +9 -0
  123. package/styles/drop-down-list/highcontrast-light.css +36 -2
  124. package/styles/drop-down-list/highcontrast.css +36 -2
  125. package/styles/drop-down-list/icons/_bootstrap5.3.scss +14 -0
  126. package/styles/drop-down-list/icons/_fluent2.scss +14 -0
  127. package/styles/drop-down-list/material-dark.css +58 -7
  128. package/styles/drop-down-list/material.css +72 -9
  129. package/styles/drop-down-list/material3-dark.css +74 -10
  130. package/styles/drop-down-list/material3.css +74 -10
  131. package/styles/drop-down-list/tailwind-dark.css +49 -6
  132. package/styles/drop-down-list/tailwind.css +49 -6
  133. package/styles/drop-down-tree/_bds-definition.scss +5 -0
  134. package/styles/drop-down-tree/_bootstrap4-definition.scss +1 -0
  135. package/styles/drop-down-tree/_bootstrap5-definition.scss +5 -0
  136. package/styles/drop-down-tree/_bootstrap5.3-definition.scss +66 -0
  137. package/styles/drop-down-tree/_fluent-definition.scss +4 -0
  138. package/styles/drop-down-tree/_fluent2-definition.scss +75 -0
  139. package/styles/drop-down-tree/_layout.scss +290 -327
  140. package/styles/drop-down-tree/_material3-definition.scss +3 -5
  141. package/styles/drop-down-tree/_tailwind-definition.scss +7 -2
  142. package/styles/drop-down-tree/_theme.scss +24 -41
  143. package/styles/drop-down-tree/bootstrap-dark.css +64 -29
  144. package/styles/drop-down-tree/bootstrap.css +64 -29
  145. package/styles/drop-down-tree/bootstrap4.css +65 -30
  146. package/styles/drop-down-tree/bootstrap5-dark.css +64 -27
  147. package/styles/drop-down-tree/bootstrap5.css +64 -27
  148. package/styles/drop-down-tree/fabric-dark.css +64 -29
  149. package/styles/drop-down-tree/fabric.css +64 -29
  150. package/styles/drop-down-tree/fluent-dark.css +72 -35
  151. package/styles/drop-down-tree/fluent.css +72 -35
  152. package/styles/drop-down-tree/fluent2.css +1733 -0
  153. package/styles/drop-down-tree/fluent2.scss +9 -0
  154. package/styles/drop-down-tree/highcontrast-light.css +64 -29
  155. package/styles/drop-down-tree/highcontrast.css +64 -23
  156. package/styles/drop-down-tree/icons/_bootstrap5.3.scss +11 -0
  157. package/styles/drop-down-tree/icons/_fluent2.scss +14 -0
  158. package/styles/drop-down-tree/material-dark.css +81 -43
  159. package/styles/drop-down-tree/material.css +98 -51
  160. package/styles/drop-down-tree/material3-dark.css +86 -32
  161. package/styles/drop-down-tree/material3.css +86 -32
  162. package/styles/drop-down-tree/tailwind-dark.css +73 -28
  163. package/styles/drop-down-tree/tailwind.css +73 -28
  164. package/styles/fabric-dark.css +195 -227
  165. package/styles/fabric-dark.scss +28 -8
  166. package/styles/fabric.css +195 -227
  167. package/styles/fabric.scss +28 -8
  168. package/styles/fluent-dark.css +207 -236
  169. package/styles/fluent-dark.scss +28 -8
  170. package/styles/fluent.css +207 -236
  171. package/styles/fluent.scss +28 -8
  172. package/styles/fluent2.css +4772 -0
  173. package/styles/fluent2.scss +28 -0
  174. package/styles/highcontrast-light.css +198 -227
  175. package/styles/highcontrast-light.scss +28 -8
  176. package/styles/highcontrast.css +198 -221
  177. package/styles/highcontrast.scss +28 -8
  178. package/styles/list-box/_bootstrap-dark-definition.scss +0 -2
  179. package/styles/list-box/_bootstrap5.3-definition.scss +120 -0
  180. package/styles/list-box/_fabric-dark-definition.scss +0 -2
  181. package/styles/list-box/_fluent2-definition.scss +121 -0
  182. package/styles/list-box/_highcontrast-light-definition.scss +0 -2
  183. package/styles/list-box/_layout.scss +65 -44
  184. package/styles/list-box/_material-dark-definition.scss +0 -2
  185. package/styles/list-box/_tailwind-definition.scss +1 -1
  186. package/styles/list-box/_theme.scss +36 -65
  187. package/styles/list-box/bootstrap-dark.css +72 -112
  188. package/styles/list-box/bootstrap.css +72 -112
  189. package/styles/list-box/bootstrap4.css +72 -112
  190. package/styles/list-box/bootstrap5-dark.css +72 -106
  191. package/styles/list-box/bootstrap5.css +72 -106
  192. package/styles/list-box/fabric-dark.css +72 -112
  193. package/styles/list-box/fabric.css +72 -112
  194. package/styles/list-box/fluent-dark.css +72 -112
  195. package/styles/list-box/fluent.css +72 -112
  196. package/styles/list-box/fluent2.css +2029 -0
  197. package/styles/list-box/fluent2.scss +5 -0
  198. package/styles/list-box/highcontrast-light.css +72 -112
  199. package/styles/list-box/highcontrast.css +72 -112
  200. package/styles/list-box/icons/_bootstrap5.3.scss +25 -0
  201. package/styles/list-box/icons/_fluent2.scss +25 -0
  202. package/styles/list-box/material-dark.css +72 -112
  203. package/styles/list-box/material.css +72 -112
  204. package/styles/list-box/material3-dark.css +73 -113
  205. package/styles/list-box/material3.css +73 -113
  206. package/styles/list-box/tailwind-dark.css +74 -114
  207. package/styles/list-box/tailwind.css +74 -114
  208. package/styles/material-dark.css +237 -260
  209. package/styles/material-dark.scss +28 -8
  210. package/styles/material.css +254 -284
  211. package/styles/material.scss +28 -8
  212. package/styles/material3-dark.css +254 -266
  213. package/styles/material3-dark.scss +28 -8
  214. package/styles/material3.css +254 -266
  215. package/styles/material3.scss +28 -8
  216. package/styles/mention/_bootstrap5.3-definition.scss +1 -0
  217. package/styles/mention/_fluent2-definition.scss +1 -0
  218. package/styles/mention/bootstrap-dark.css +24 -0
  219. package/styles/mention/bootstrap.css +24 -0
  220. package/styles/mention/bootstrap4.css +24 -0
  221. package/styles/mention/bootstrap5-dark.css +24 -0
  222. package/styles/mention/bootstrap5.css +24 -0
  223. package/styles/mention/fabric-dark.css +24 -0
  224. package/styles/mention/fabric.css +24 -0
  225. package/styles/mention/fluent-dark.css +24 -0
  226. package/styles/mention/fluent.css +24 -0
  227. package/styles/mention/fluent2.css +1130 -0
  228. package/styles/mention/fluent2.scss +6 -0
  229. package/styles/mention/highcontrast-light.css +24 -0
  230. package/styles/mention/highcontrast.css +24 -0
  231. package/styles/mention/material-dark.css +24 -0
  232. package/styles/mention/material.css +24 -0
  233. package/styles/mention/material3-dark.css +25 -1
  234. package/styles/mention/material3.css +25 -1
  235. package/styles/mention/tailwind-dark.css +24 -0
  236. package/styles/mention/tailwind.css +24 -0
  237. package/styles/multi-select/_bootstrap5.3-definition.scss +230 -0
  238. package/styles/multi-select/_fluent2-definition.scss +236 -0
  239. package/styles/multi-select/_layout.scss +32 -38
  240. package/styles/multi-select/_material3-definition.scss +0 -15
  241. package/styles/multi-select/_theme.scss +0 -4
  242. package/styles/multi-select/bootstrap-dark.css +67 -28
  243. package/styles/multi-select/bootstrap.css +67 -28
  244. package/styles/multi-select/bootstrap4.css +70 -29
  245. package/styles/multi-select/bootstrap5-dark.css +67 -28
  246. package/styles/multi-select/bootstrap5.css +67 -28
  247. package/styles/multi-select/fabric-dark.css +67 -28
  248. package/styles/multi-select/fabric.css +67 -28
  249. package/styles/multi-select/fluent-dark.css +69 -29
  250. package/styles/multi-select/fluent.css +69 -29
  251. package/styles/multi-select/fluent2.css +2663 -0
  252. package/styles/multi-select/fluent2.scss +9 -0
  253. package/styles/multi-select/highcontrast-light.css +70 -28
  254. package/styles/multi-select/highcontrast.css +70 -28
  255. package/styles/multi-select/icons/_bootstrap5.3.scss +26 -0
  256. package/styles/multi-select/icons/_fluent2.scss +692 -0
  257. package/styles/multi-select/material-dark.css +88 -32
  258. package/styles/multi-select/material.css +102 -34
  259. package/styles/multi-select/material3-dark.css +109 -35
  260. package/styles/multi-select/material3.css +109 -35
  261. package/styles/multi-select/tailwind-dark.css +67 -28
  262. package/styles/multi-select/tailwind.css +67 -28
  263. package/styles/tailwind-dark.css +218 -233
  264. package/styles/tailwind-dark.scss +28 -8
  265. package/styles/tailwind.css +218 -233
  266. package/styles/tailwind.scss +28 -8
  267. package/CHANGELOG.md +0 -2200
@@ -1,4 +1,4 @@
1
- import { Input, InputObject, FloatLabelType, TextBox, InputEventArgs } from '@syncfusion/ej2-inputs';import { createCheckBox } from '@syncfusion/ej2-buttons';import { NotifyPropertyChanges, INotifyPropertyChanged, Property, Event, EmitType, SanitizeHtmlHelper } from '@syncfusion/ej2-base';import { Component, EventHandler, attributes, formatUnit, ChildProperty, remove, L10n, extend } from '@syncfusion/ej2-base';import { addClass, removeClass, detach, prepend, Complex, closest, setValue, getValue, compile, append } from '@syncfusion/ej2-base';import { select, selectAll, isNullOrUndefined as isNOU, matches, Browser, KeyboardEvents, KeyboardEventArgs } from '@syncfusion/ej2-base';import { DataManager, Query, DataUtil } from '@syncfusion/ej2-data';import { Popup } from '@syncfusion/ej2-popups';import { TreeView, NodeSelectEventArgs, DataBoundEventArgs, FieldsSettingsModel, NodeClickEventArgs, NodeExpandEventArgs } from '@syncfusion/ej2-navigations';import { NodeCheckEventArgs, FailureEventArgs} from '@syncfusion/ej2-navigations';
1
+ import { Input, InputObject, FloatLabelType, TextBox, InputEventArgs } from '@syncfusion/ej2-inputs';import { createCheckBox } from '@syncfusion/ej2-buttons';import { NotifyPropertyChanges, INotifyPropertyChanged, Property, Event, EmitType, SanitizeHtmlHelper } from '@syncfusion/ej2-base';import { Component, EventHandler, attributes, formatUnit, ChildProperty, remove, L10n, extend } from '@syncfusion/ej2-base';import { addClass, removeClass, detach, prepend, Complex, closest, setValue, getValue, compile, append } from '@syncfusion/ej2-base';import { select, selectAll, isNullOrUndefined as isNOU, matches, Browser, KeyboardEvents, KeyboardEventArgs } from '@syncfusion/ej2-base';import { DataManager, Query, DataUtil } from '@syncfusion/ej2-data';import { Popup } from '@syncfusion/ej2-popups';import { TreeView, NodeSelectEventArgs, DataBoundEventArgs, FieldsSettingsModel, NodeClickEventArgs } from '@syncfusion/ej2-navigations';import { NodeCheckEventArgs, FailureEventArgs} from '@syncfusion/ej2-navigations';
2
2
  import {Mode,ExpandOn,TreeFilterType,SortOrder,DdtBeforeOpenEventArgs,DdtChangeEventArgs,DdtPopupEventArgs,DdtDataBoundEventArgs,DdtFilteringEventArgs,DdtFocusEventArgs,DdtKeyPressEventArgs,DdtSelectEventArgs} from "./drop-down-tree";
3
3
  import {ComponentModel} from '@syncfusion/ej2-base';
4
4
 
@@ -393,7 +393,7 @@ export interface DropDownTreeModel extends ComponentModel{
393
393
  /**
394
394
  * Specifies whether to destroy the popup or to maintain it in DOM when it is closed.
395
395
  * When this property is set to false, then the popup will not be removed from DOM once it is closed.
396
- *
396
+ *
397
397
  * @default true
398
398
 
399
399
  */
@@ -488,91 +488,91 @@ export interface DropDownTreeModel extends ComponentModel{
488
488
  /**
489
489
  * Triggers when the data fetch request from the remote server fails.
490
490
  *
491
- * @event
491
+ * @event actionFailure
492
492
  */
493
493
  actionFailure?: EmitType<Object>;
494
494
 
495
495
  /**
496
496
  * Fires when popup opens before animation.
497
497
  *
498
- * @event
498
+ * @event beforeOpen
499
499
  */
500
500
  beforeOpen?: EmitType<DdtBeforeOpenEventArgs>;
501
501
 
502
502
  /**
503
503
  * Triggers when an item in a popup is selected or when the model value is changed by user.
504
504
  *
505
- * @event
505
+ * @event change
506
506
  */
507
507
  change?: EmitType<DdtChangeEventArgs>;
508
508
 
509
509
  /**
510
510
  * Fires when popup close after animation completion.
511
511
  *
512
- * @event
512
+ * @event close
513
513
  */
514
514
  close?: EmitType<DdtPopupEventArgs>;
515
515
 
516
516
  /**
517
517
  * Triggers when the Dropdown Tree input element gets focus-out.
518
518
  *
519
- * @event
519
+ * @event blur
520
520
  */
521
521
  blur?: EmitType<Object>;
522
522
 
523
523
  /**
524
524
  * Triggers when the Dropdown Tree is created successfully.
525
525
  *
526
- * @event
526
+ * @event created
527
527
  */
528
528
  created?: EmitType<Object>;
529
529
 
530
530
  /**
531
531
       * Triggers when data source is populated in the Dropdown Tree.
532
532
  *
533
-      * @event
533
+      * @event dataBound
534
534
       */
535
535
  dataBound?: EmitType<DdtDataBoundEventArgs>;
536
536
 
537
537
  /**
538
538
  * Triggers when the Dropdown Tree is destroyed successfully.
539
539
  *
540
- * @event
540
+ * @event destroyed
541
541
  */
542
542
  destroyed?: EmitType<Object>;
543
543
 
544
544
  /**
545
545
  * Triggers on typing a character in the filter bar when the **allowFiltering** is enabled.
546
546
  *
547
- * @event
547
+ * @event filtering
548
548
  */
549
549
  filtering?: EmitType<DdtFilteringEventArgs>;
550
550
 
551
551
  /**
552
552
  * Triggers when the Dropdown Tree input element is focused.
553
553
  *
554
- * @event
554
+ * @event focus
555
555
  */
556
556
  focus?: EmitType<DdtFocusEventArgs>;
557
557
 
558
558
  /**
559
559
  * Triggers when key press is successful. It helps to customize the operations at key press.
560
560
  *
561
- * @event
561
+ * @event keyPress
562
562
  */
563
563
  keyPress?: EmitType<DdtKeyPressEventArgs>;
564
564
 
565
565
  /**
566
566
  * Fires when popup opens after animation completion.
567
567
  *
568
- * @event
568
+ * @event open
569
569
  */
570
570
  open?: EmitType<DdtPopupEventArgs>;
571
571
 
572
572
  /**
573
573
  * Triggers when an item in the popup is selected by the user either with mouse/tap or with keyboard navigation.
574
574
  *
575
- * @event
575
+ * @event select
576
576
  */
577
577
  select?: EmitType<DdtSelectEventArgs>;
578
578
 
@@ -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
  /**
@@ -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 () {
@@ -1450,6 +1452,9 @@ var DropDownTree = /** @class */ (function (_super) {
1450
1452
  }
1451
1453
  this.currentText = this.text;
1452
1454
  this.currentValue = this.value;
1455
+ if (!isNOU(this.value) && this.value.length > 0 && !isNOU(this.currentText)) {
1456
+ this.inputWrapper.setAttribute('aria-label', this.currentText.split(',').join(' '));
1457
+ }
1453
1458
  if (this.isInitialized) {
1454
1459
  this.triggerChangeEvent();
1455
1460
  }
@@ -1458,8 +1463,7 @@ var DropDownTree = /** @class */ (function (_super) {
1458
1463
  var data;
1459
1464
  if (this.treeDataType === 1) {
1460
1465
  for (var i = 0; i < this.treeItems.length; i++) {
1461
- // eslint-disable-next-line
1462
- var text = getValue(this.fields.text, this.treeItems[i]);
1466
+ var text = getValue(this.fields.text, this.treeItems[parseInt(i.toString(), 10)]);
1463
1467
  if (!isNOU(this.treeItems[i]) && !isNOU(text) && text === givenText) {
1464
1468
  data = this.treeItems[i];
1465
1469
  break;
@@ -1474,14 +1478,12 @@ var DropDownTree = /** @class */ (function (_super) {
1474
1478
  DropDownTree.prototype.getNestedItems = function (data, field, givenText) {
1475
1479
  var newData;
1476
1480
  for (var i = 0, objlen = data.length; i < objlen; i++) {
1477
- // eslint-disable-next-line
1478
- var dataId = getValue(this.fields.text, data[i]);
1481
+ var dataId = getValue(this.fields.text, data[parseInt(i.toString(), 10)]);
1479
1482
  if (data[i] && dataId && dataId.toString() === givenText) {
1480
1483
  return data[i];
1481
1484
  }
1482
1485
  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]);
1486
+ var childData = getValue(field.child, data[parseInt(i.toString(), 10)]);
1485
1487
  newData = this.getNestedItems(childData, this.getChildType(field), givenText);
1486
1488
  if (newData !== undefined) {
1487
1489
  break;
@@ -1489,8 +1491,7 @@ var DropDownTree = /** @class */ (function (_super) {
1489
1491
  }
1490
1492
  else if (this.fields.dataSource instanceof DataManager && !isNOU(getValue('child', data[i]))) {
1491
1493
  var child = 'child';
1492
- // eslint-disable-next-line
1493
- newData = this.getNestedItems(getValue(child, data[i]), this.getChildType(field), givenText);
1494
+ newData = this.getNestedItems(getValue(child, data[parseInt(i.toString(), 10)]), this.getChildType(field), givenText);
1494
1495
  if (newData !== undefined) {
1495
1496
  break;
1496
1497
  }
@@ -1580,12 +1581,12 @@ var DropDownTree = /** @class */ (function (_super) {
1580
1581
  _this.setFooterTemplate();
1581
1582
  }
1582
1583
  _this.isFirstRender = false;
1583
- /* eslint-disable */
1584
1584
  if (_this.hasTemplate && _this.portals) {
1585
1585
  if (_this.treeObj.portals) {
1586
- _this.portals = _this.portals.concat(_this.treeObj.portals.filter(function (item) { return !_this.portals.includes(item); }));
1586
+ _this.portals = _this.portals.concat(_this.treeObj.portals.filter(function (item) {
1587
+ return !_this.portals.includes(item);
1588
+ }));
1587
1589
  }
1588
- /* eslint-enable */
1589
1590
  if (_this.isReact) {
1590
1591
  _this.renderReactTemplates(_this.reactCallBack);
1591
1592
  }
@@ -1608,7 +1609,7 @@ var DropDownTree = /** @class */ (function (_super) {
1608
1609
  else {
1609
1610
  var oldFocussedNode = _this.treeObj.element.querySelector('.e-node-focus');
1610
1611
  focusedElement = _this.treeObj.element.querySelector('li:not(.e-disable):not(.e-prevent)');
1611
- if (oldFocussedNode && oldFocussedNode != focusedElement) {
1612
+ if (oldFocussedNode && oldFocussedNode !== focusedElement) {
1612
1613
  oldFocussedNode.setAttribute('tabindex', '-1');
1613
1614
  removeClass([oldFocussedNode], 'e-node-focus');
1614
1615
  }
@@ -1735,7 +1736,8 @@ var DropDownTree = /** @class */ (function (_super) {
1735
1736
  var isFooter = closest(target, '.' + FOOTER);
1736
1737
  var isScroller = target.classList.contains(DROPDOWN) ? true :
1737
1738
  (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)) ||
1739
+ if ((this.isPopupOpen && ((!isNOU(this.inputWrapper) &&
1740
+ this.inputWrapper.contains(target)) || isTree || isScroller || isHeader || isFooter)) ||
1739
1741
  ((this.allowMultiSelection || this.showCheckBox) && (this.isPopupOpen && target.classList.contains(CHIP_CLOSE) ||
1740
1742
  (this.isPopupOpen && (target.classList.contains(CHECKALLPARENT) || target.classList.contains(ALLTEXT)
1741
1743
  || target.classList.contains(CHECKBOXFRAME)))))) {
@@ -1762,7 +1764,9 @@ var DropDownTree = /** @class */ (function (_super) {
1762
1764
  removeClass([this.popupDiv], NODATA);
1763
1765
  this.hideCheckAll(false);
1764
1766
  }
1765
- this.treeDataType = this.getTreeDataType(this.treeItems, this.fields);
1767
+ if (!this.isFilteredData) {
1768
+ this.treeDataType = this.getTreeDataType(this.treeItems, this.fields);
1769
+ }
1766
1770
  if (this.isFirstRender && this.isRemoteData) {
1767
1771
  this.setTreeValue();
1768
1772
  this.setTreeText();
@@ -1858,7 +1862,8 @@ var DropDownTree = /** @class */ (function (_super) {
1858
1862
  dataSource: fields.dataSource, value: fields.value, text: fields.text, parentValue: fields.parentValue,
1859
1863
  child: (fields.child ? this.cloneChildField(fields.child) : null), hasChildren: fields.hasChildren,
1860
1864
  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
1865
+ query: fields.query, selected: fields.selected, selectable: fields.selectable,
1866
+ tableName: fields.tableName, tooltip: fields.tooltip
1862
1867
  };
1863
1868
  return clonedField;
1864
1869
  }
@@ -1912,7 +1917,8 @@ var DropDownTree = /** @class */ (function (_super) {
1912
1917
  if ((typeof field.child === 'string') && !isNOU(getValue(field.child, this.fields.dataSource[i]))) {
1913
1918
  return 2;
1914
1919
  }
1915
- if (!isNOU(getValue(field.parentValue, this.fields.dataSource[i])) || !isNOU(getValue(field.hasChildren, this.fields.dataSource[i]))) {
1920
+ if (!isNOU(getValue(field.parentValue, this.fields.dataSource[i])) ||
1921
+ !isNOU(getValue(field.hasChildren, this.fields.dataSource[i]))) {
1916
1922
  return 1;
1917
1923
  }
1918
1924
  }
@@ -1989,6 +1995,9 @@ var DropDownTree = /** @class */ (function (_super) {
1989
1995
  this.setProperties({ text: selectedText }, true);
1990
1996
  this.currentText = this.text;
1991
1997
  this.currentValue = this.value;
1998
+ if (!isNOU(this.value) && this.value.length > 0) {
1999
+ this.inputWrapper.setAttribute('aria-label', args.nodeData.text.toString());
2000
+ }
1992
2001
  attributes(this.inputWrapper, { 'aria-describedby': this.element.id });
1993
2002
  attributes(this.inputWrapper, { 'aria-activedescendant': id.toString() });
1994
2003
  this.updateHiddenValue();
@@ -2061,14 +2070,13 @@ var DropDownTree = /** @class */ (function (_super) {
2061
2070
  this.oldValue = this.value ? this.value.slice() : this.value;
2062
2071
  }
2063
2072
  };
2064
- DropDownTree.prototype.onNodeExpanded = function (args) {
2073
+ DropDownTree.prototype.onNodeExpanded = function () {
2065
2074
  if (this.hasTemplate && this.portals && this.treeObj.portals) {
2066
2075
  for (var i = 0; i < this.treeObj.portals.length; i++) {
2067
2076
  if (this.portals.indexOf(this.treeObj.portals[i]) === -1) {
2068
2077
  this.portals.push(this.treeObj.portals[i]);
2069
2078
  }
2070
2079
  }
2071
- /* eslint-enable */
2072
2080
  this.renderReactTemplates();
2073
2081
  }
2074
2082
  };
@@ -2164,7 +2172,7 @@ var DropDownTree = /** @class */ (function (_super) {
2164
2172
  if (!this.isFilteredData) {
2165
2173
  this.setProperties({ value: this.isFromFilterChange && newValues && newValues.length === 0 ? this.value : newValues }, true);
2166
2174
  this.isFromFilterChange = false;
2167
- if (newValues && newValues.length !== 0 && !this.showCheckBox) {
2175
+ if (newValues && newValues.length !== 0 && !this.showCheckBox && !this.ddtCompareValues(this.treeObj.selectedNodes, this.value.slice())) {
2168
2176
  this.treeObj.selectedNodes = this.value.slice();
2169
2177
  this.treeObj.dataBind();
2170
2178
  }
@@ -2359,6 +2367,12 @@ var DropDownTree = /** @class */ (function (_super) {
2359
2367
  }
2360
2368
  this.currentText = this.text;
2361
2369
  this.currentValue = this.value;
2370
+ if (!isNOU(this.value) && this.value.length > 0 && !isNOU(this.currentText)) {
2371
+ this.inputWrapper.setAttribute('aria-label', this.currentText.split(',').join(' '));
2372
+ }
2373
+ else {
2374
+ this.inputWrapper.setAttribute('aria-label', this.getModuleName());
2375
+ }
2362
2376
  };
2363
2377
  DropDownTree.prototype.setChipValues = function (text, value) {
2364
2378
  if (!this.inputWrapper.contains(this.chipWrapper)) {
@@ -2446,8 +2460,6 @@ var DropDownTree = /** @class */ (function (_super) {
2446
2460
  };
2447
2461
  DropDownTree.prototype.templateComplier = function (template) {
2448
2462
  if (template) {
2449
- // eslint-disable-next-line
2450
- var e = void 0;
2451
2463
  try {
2452
2464
  if (typeof template !== 'function' && document.querySelectorAll(template).length) {
2453
2465
  return compile(document.querySelector(template).innerHTML.trim());
@@ -2533,7 +2545,7 @@ var DropDownTree = /** @class */ (function (_super) {
2533
2545
  this.ensurePlaceHolder();
2534
2546
  };
2535
2547
  DropDownTree.prototype.resetValue = function (isDynamicChange) {
2536
- if (this.value === [] && this.text == null) {
2548
+ if (Array.isArray(this.value) && this.value.length === 0 && this.text == null) {
2537
2549
  return;
2538
2550
  }
2539
2551
  Input.setValue(null, this.inputEle, this.floatLabelType);
@@ -2541,6 +2553,9 @@ var DropDownTree = /** @class */ (function (_super) {
2541
2553
  this.oldValue = this.value;
2542
2554
  this.setProperties({ value: [] }, true);
2543
2555
  }
2556
+ if (isNOU(this.value) || this.value.length === 0) {
2557
+ this.inputWrapper.setAttribute('aria-label', this.getModuleName());
2558
+ }
2544
2559
  this.dataValue = null;
2545
2560
  this.setProperties({ text: null }, true);
2546
2561
  this.selectedData = [];
@@ -2647,9 +2662,7 @@ var DropDownTree = /** @class */ (function (_super) {
2647
2662
  DropDownTree.prototype.updateTemplate = function () {
2648
2663
  if (this.popupObj) {
2649
2664
  this.clearTemplate();
2650
- /* eslint-disable */
2651
2665
  this.portals = [];
2652
- /* eslint-enable */
2653
2666
  this.popupObj.destroy();
2654
2667
  if (this.isPopupOpen) {
2655
2668
  this.hidePopup();
@@ -3026,22 +3039,35 @@ var DropDownTree = /** @class */ (function (_super) {
3026
3039
  detach(this.inputWrapper);
3027
3040
  detach(this.popupDiv);
3028
3041
  detach(this.hiddenElement);
3042
+ Input.setRipple(false, [this.inputObj]);
3029
3043
  this.element.classList.remove('e-input');
3030
3044
  if (this.showCheckBox || this.allowMultiSelection) {
3031
3045
  this.element.classList.remove(CHIP_INPUT);
3032
3046
  }
3047
+ detach(this.inputObj.container);
3048
+ if (this.inputObj.buttons.length) {
3049
+ detach(this.inputObj.buttons[0]);
3050
+ }
3033
3051
  this.inputObj = null;
3034
3052
  while (this.hiddenElement.options.length > 0) {
3035
3053
  this.hiddenElement.remove(0);
3036
3054
  }
3037
3055
  this.hiddenElement.innerHTML = '';
3038
3056
  this.hiddenElement = null;
3057
+ this.inputWrapper.innerHTML = '';
3039
3058
  this.inputWrapper = null;
3040
3059
  this.popupDiv = null;
3041
3060
  this.tree = null;
3042
3061
  this.popupObj = null;
3043
3062
  this.treeObj = null;
3044
3063
  this.overAllClear = null;
3064
+ if (this.chipCollection) {
3065
+ var chipsIcons = selectAll('.e-chips-close', this.chipCollection);
3066
+ for (var _i = 0, chipsIcons_1 = chipsIcons; _i < chipsIcons_1.length; _i++) {
3067
+ var element = chipsIcons_1[_i];
3068
+ EventHandler.remove(element, 'mousedown', this.removeChip);
3069
+ }
3070
+ }
3045
3071
  this.chipWrapper = null;
3046
3072
  this.chipCollection = null;
3047
3073
  this.checkAllParent = null;
@@ -3100,7 +3126,11 @@ var DropDownTree = /** @class */ (function (_super) {
3100
3126
  * @returns {void}
3101
3127
  */
3102
3128
  DropDownTree.prototype.hidePopup = function () {
3103
- var eventArgs = { popup: this.popupObj };
3129
+ var eventArgs = { popup: this.popupObj, cancel: false };
3130
+ this.trigger('close', eventArgs);
3131
+ if (eventArgs.cancel) {
3132
+ return;
3133
+ }
3104
3134
  this.inputWrapper.classList.remove(ICONANIMATION);
3105
3135
  if (this.popupEle) {
3106
3136
  addClass([this.popupEle], DDTHIDEICON);
@@ -3114,7 +3144,6 @@ var DropDownTree = /** @class */ (function (_super) {
3114
3144
  addClass([this.inputWrapper], [INPUTFOCUS]);
3115
3145
  }
3116
3146
  }
3117
- this.trigger('close', eventArgs);
3118
3147
  if (this.destroyPopupOnHide) {
3119
3148
  this.isFirstRender = true;
3120
3149
  this.destroyPopup();
@@ -583,6 +583,7 @@ export declare class ListBox extends DropDownBase {
583
583
  protected targetElement(): string;
584
584
  private dataUpdater;
585
585
  private focusOutHandler;
586
+ private resizeHandler;
586
587
  private getValidIndex;
587
588
  private updateSelectedOptions;
588
589
  private clearSelection;