@syncfusion/ej2-dropdowns 31.1.18 → 31.1.22

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 (103) hide show
  1. package/dist/ej2-dropdowns.min.js +3 -3
  2. package/dist/ej2-dropdowns.umd.min.js +3 -3
  3. package/dist/ej2-dropdowns.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-dropdowns.es2015.js +94 -20
  5. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  6. package/dist/es6/ej2-dropdowns.es5.js +121 -46
  7. package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
  8. package/dist/global/ej2-dropdowns.min.js +3 -3
  9. package/dist/global/ej2-dropdowns.min.js.map +1 -1
  10. package/dist/global/index.d.ts +2 -2
  11. package/package.json +5 -5
  12. package/src/combo-box/combo-box.js +7 -2
  13. package/src/drop-down-base/drop-down-base.js +10 -3
  14. package/src/drop-down-list/drop-down-list.js +49 -35
  15. package/src/drop-down-tree/drop-down-tree.js +11 -1
  16. package/src/mention/mention.js +5 -2
  17. package/src/multi-select/multi-select.d.ts +2 -0
  18. package/src/multi-select/multi-select.js +39 -3
  19. package/styles/auto-complete/bootstrap4.css +8 -0
  20. package/styles/bds-lite.css +0 -1
  21. package/styles/bds.css +0 -1
  22. package/styles/bootstrap-dark-lite.css +0 -1
  23. package/styles/bootstrap-dark.css +0 -1
  24. package/styles/bootstrap-lite.css +0 -1
  25. package/styles/bootstrap.css +0 -1
  26. package/styles/bootstrap4-lite.css +9 -1
  27. package/styles/bootstrap4.css +15 -7
  28. package/styles/bootstrap5-dark-lite.css +0 -1
  29. package/styles/bootstrap5-dark.css +0 -1
  30. package/styles/bootstrap5-lite.css +0 -1
  31. package/styles/bootstrap5.3-lite.css +2 -1
  32. package/styles/bootstrap5.3.css +5 -4
  33. package/styles/bootstrap5.css +0 -1
  34. package/styles/combo-box/bootstrap4.css +8 -0
  35. package/styles/drop-down-base/_fluent2-definition.scss +2 -2
  36. package/styles/drop-down-base/fluent2.css +4 -4
  37. package/styles/drop-down-list/_bootstrap4-definition.scss +8 -0
  38. package/styles/drop-down-list/bootstrap4.css +8 -0
  39. package/styles/drop-down-tree/_bigger.scss +8 -2
  40. package/styles/drop-down-tree/_layout.scss +12 -0
  41. package/styles/drop-down-tree/bds.css +0 -1
  42. package/styles/drop-down-tree/bootstrap-dark.css +0 -1
  43. package/styles/drop-down-tree/bootstrap.css +0 -1
  44. package/styles/drop-down-tree/bootstrap4.css +0 -1
  45. package/styles/drop-down-tree/bootstrap5-dark.css +0 -1
  46. package/styles/drop-down-tree/bootstrap5.3.css +1 -2
  47. package/styles/drop-down-tree/bootstrap5.css +0 -1
  48. package/styles/drop-down-tree/fabric-dark.css +0 -1
  49. package/styles/drop-down-tree/fabric.css +0 -1
  50. package/styles/drop-down-tree/fluent-dark.css +0 -1
  51. package/styles/drop-down-tree/fluent.css +0 -1
  52. package/styles/drop-down-tree/fluent2.css +5 -1
  53. package/styles/drop-down-tree/highcontrast-light.css +0 -1
  54. package/styles/drop-down-tree/highcontrast.css +0 -1
  55. package/styles/drop-down-tree/tailwind-dark.css +0 -1
  56. package/styles/drop-down-tree/tailwind.css +0 -1
  57. package/styles/drop-down-tree/tailwind3.css +0 -1
  58. package/styles/fabric-dark-lite.css +0 -1
  59. package/styles/fabric-dark.css +0 -1
  60. package/styles/fabric-lite.css +0 -1
  61. package/styles/fabric.css +0 -1
  62. package/styles/fluent-dark-lite.css +0 -1
  63. package/styles/fluent-dark.css +3 -4
  64. package/styles/fluent-lite.css +0 -1
  65. package/styles/fluent.css +3 -4
  66. package/styles/fluent2-lite.css +8 -2
  67. package/styles/fluent2.css +13 -7
  68. package/styles/highcontrast-light-lite.css +0 -1
  69. package/styles/highcontrast-light.css +0 -2
  70. package/styles/highcontrast-lite.css +1 -1
  71. package/styles/highcontrast.css +3 -4
  72. package/styles/material.css +2 -2
  73. package/styles/multi-select/_bigger.scss +6 -6
  74. package/styles/multi-select/_bootstrap4-definition.scss +1 -1
  75. package/styles/multi-select/_bootstrap5.3-definition.scss +1 -1
  76. package/styles/multi-select/_fluent-definition.scss +1 -1
  77. package/styles/multi-select/_fluent2-definition.scss +1 -1
  78. package/styles/multi-select/_highcontrast-definition.scss +1 -1
  79. package/styles/multi-select/_material-definition.scss +1 -1
  80. package/styles/multi-select/_tailwind-definition.scss +2 -2
  81. package/styles/multi-select/_tailwind3-definition.scss +1 -1
  82. package/styles/multi-select/bootstrap4.css +7 -6
  83. package/styles/multi-select/bootstrap5.3.css +4 -2
  84. package/styles/multi-select/fluent-dark.css +3 -3
  85. package/styles/multi-select/fluent.css +3 -3
  86. package/styles/multi-select/fluent2.css +4 -2
  87. package/styles/multi-select/highcontrast-light.css +0 -1
  88. package/styles/multi-select/highcontrast.css +3 -3
  89. package/styles/multi-select/icons/_bootstrap4.scss +1 -0
  90. package/styles/multi-select/icons/_bootstrap5.3.scss +2 -0
  91. package/styles/multi-select/icons/_fluent2.scss +2 -0
  92. package/styles/multi-select/icons/_highcontrast.scss +1 -0
  93. package/styles/multi-select/icons/_tailwind3.scss +2 -0
  94. package/styles/multi-select/material.css +2 -2
  95. package/styles/multi-select/tailwind-dark.css +5 -5
  96. package/styles/multi-select/tailwind.css +5 -5
  97. package/styles/multi-select/tailwind3.css +4 -2
  98. package/styles/tailwind-dark-lite.css +1 -2
  99. package/styles/tailwind-dark.css +5 -6
  100. package/styles/tailwind-lite.css +1 -2
  101. package/styles/tailwind.css +5 -6
  102. package/styles/tailwind3-lite.css +2 -1
  103. package/styles/tailwind3.css +4 -3
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 31.1.18
4
- * Copyright Syncfusion Inc. 2001 - 2024. All rights reserved.
3
+ * version : 31.1.22
4
+ * Copyright Syncfusion Inc. 2001 - 2025. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
7
7
  * licensing@syncfusion.com. Any infringement will be prosecuted under
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@syncfusion/ej2-dropdowns",
3
- "version": "31.1.18",
3
+ "version": "31.1.22",
4
4
  "description": "Essential JS 2 DropDown Components",
5
5
  "author": "Syncfusion Inc.",
6
6
  "license": "SEE LICENSE IN license",
@@ -8,13 +8,13 @@
8
8
  "module": "./index.js",
9
9
  "es2015": "./dist/es6/ej2-dropdowns.es5.js",
10
10
  "dependencies": {
11
- "@syncfusion/ej2-base": "~31.1.17",
11
+ "@syncfusion/ej2-base": "~31.1.22",
12
12
  "@syncfusion/ej2-data": "~31.1.17",
13
- "@syncfusion/ej2-inputs": "~31.1.17",
13
+ "@syncfusion/ej2-inputs": "~31.1.22",
14
14
  "@syncfusion/ej2-lists": "~31.1.17",
15
- "@syncfusion/ej2-navigations": "~31.1.18",
15
+ "@syncfusion/ej2-navigations": "~31.1.20",
16
16
  "@syncfusion/ej2-notifications": "~31.1.17",
17
- "@syncfusion/ej2-popups": "~31.1.17"
17
+ "@syncfusion/ej2-popups": "~31.1.20"
18
18
  },
19
19
  "devDependencies": {},
20
20
  "keywords": [
@@ -215,6 +215,11 @@ var ComboBox = /** @class */ (function (_super) {
215
215
  _this.setProperties({ 'text': dataItem.text ? dataItem.text.toString() : dataItem.text, 'value': value });
216
216
  }
217
217
  }
218
+ else if (_this.allowCustom) {
219
+ _this.valueMuteChange(_this.value);
220
+ _this.setHiddenValue();
221
+ Input.setValue(_this.text, _this.inputElement, _this.floatLabelType, _this.showClearButton);
222
+ }
218
223
  else {
219
224
  _this.valueMuteChange(null);
220
225
  }
@@ -243,7 +248,7 @@ var ComboBox = /** @class */ (function (_super) {
243
248
  this.setSelection(li, null);
244
249
  }
245
250
  else if ((!this.enableVirtualization && this.allowCustom) ||
246
- (this.allowCustom && this.enableVirtualization && !doesItemExist)) {
251
+ (this.allowCustom && this.enableVirtualization && !doesItemExist && !(this.dataSource instanceof DataManager))) {
247
252
  this.valueMuteChange(this.value);
248
253
  }
249
254
  else if (!this.enableVirtualization || (this.enableVirtualization && !(this.dataSource instanceof DataManager)
@@ -628,7 +633,7 @@ var ComboBox = /** @class */ (function (_super) {
628
633
  }
629
634
  };
630
635
  ComboBox.prototype.getValueByText = function (text) {
631
- return _super.prototype.getValueByText.call(this, text, true, this.ignoreAccent);
636
+ return _super.prototype.getValueByText.call(this, text, this.ignoreCase, this.ignoreAccent);
632
637
  };
633
638
  ComboBox.prototype.unWireEvent = function () {
634
639
  if (this.getModuleName() === 'combobox') {
@@ -205,7 +205,14 @@ var DropDownBase = /** @class */ (function (_super) {
205
205
  var item = dataSource_1[_i];
206
206
  if (!isNullOrUndefined(item)) {
207
207
  if (ignoreAccent) {
208
- value = this.checkingAccent(String(item), text, ignoreCase);
208
+ if (ignoreCase) {
209
+ if (this.checkIgnoreCase(String(item), text)) {
210
+ value = this.checkingAccent(String(item), text, ignoreCase);
211
+ }
212
+ }
213
+ else {
214
+ value = this.checkingAccent(String(item), text, ignoreCase);
215
+ }
209
216
  }
210
217
  else {
211
218
  if (ignoreCase) {
@@ -677,9 +684,9 @@ var DropDownBase = /** @class */ (function (_super) {
677
684
  for (var _i = 0, options_1 = options; _i < options_1.length; _i++) {
678
685
  var option = options_1[_i];
679
686
  var json = {};
680
- json[fields.text] = option.innerText;
687
+ json[fields.text] = option.innerHTML;
681
688
  json[fields.value] = !isNullOrUndefined(option.getAttribute(fields.value)) ?
682
- option.getAttribute(fields.value) : option.innerText;
689
+ option.getAttribute(fields.value) : option.innerHTML;
683
690
  if (!isNullOrUndefined(category)) {
684
691
  json[fields.groupBy] = category;
685
692
  }
@@ -191,10 +191,10 @@ var DropDownList = /** @class */ (function (_super) {
191
191
  DropDownList.prototype.floatLabelChange = function () {
192
192
  if (this.getModuleName() === 'dropdownlist' && this.floatLabelType === 'Auto') {
193
193
  var floatElement = this.inputWrapper.container.querySelector('.e-float-text');
194
- if (this.inputElement.value !== '' || this.isInteracted) {
194
+ if (floatElement && this.inputElement.value !== '' || this.isInteracted) {
195
195
  classList(floatElement, ['e-label-top'], ['e-label-bottom']);
196
196
  }
197
- else {
197
+ else if (floatElement) {
198
198
  classList(floatElement, ['e-label-bottom'], ['e-label-top']);
199
199
  }
200
200
  }
@@ -2575,8 +2575,8 @@ var DropDownList = /** @class */ (function (_super) {
2575
2575
  this.removeFocus();
2576
2576
  if (this.allowFiltering && this.actionCompleteData && this.actionCompleteData.ulElement &&
2577
2577
  this.dataSource instanceof DataManager) {
2578
- var focus_1 = this.actionCompleteData.ulElement.querySelector('.e-item-focus');
2579
- if (focus_1) {
2578
+ var focus_1 = this.actionCompleteData.ulElement.querySelectorAll('.' + dropDownListClasses.focus);
2579
+ if (focus_1 && focus_1.length) {
2580
2580
  removeClass(focus_1, dropDownListClasses.focus);
2581
2581
  }
2582
2582
  }
@@ -2609,29 +2609,29 @@ var DropDownList = /** @class */ (function (_super) {
2609
2609
  this.trigger('beforeOpen', args, function (args) {
2610
2610
  var initialPopupHeight;
2611
2611
  if (!args.cancel) {
2612
- var popupEle = _this.createElement('div', {
2612
+ var popupEle_1 = _this.createElement('div', {
2613
2613
  id: _this.element.id + '_popup', className: 'e-ddl e-popup ' + (_this.cssClass !== null ? _this.cssClass : '')
2614
2614
  });
2615
- popupEle.setAttribute('aria-label', _this.element.id);
2616
- popupEle.setAttribute('role', 'dialog');
2617
- var searchBox = _this.setSearchBox(popupEle);
2615
+ popupEle_1.setAttribute('aria-label', _this.element.id);
2616
+ popupEle_1.setAttribute('role', 'dialog');
2617
+ var searchBox = _this.setSearchBox(popupEle_1);
2618
2618
  _this.listContainerHeight = _this.allowFiltering && _this.getModuleName() === 'dropdownlist' && Browser.isDevice && _this.isDeviceFullScreen ?
2619
2619
  formatUnit(Math.round(window.outerHeight).toString() + 'px') : formatUnit(_this.popupHeight);
2620
2620
  if (_this.headerTemplate) {
2621
- _this.setHeaderTemplate(popupEle);
2621
+ _this.setHeaderTemplate(popupEle_1);
2622
2622
  _this.isUpdateHeaderHeight = _this.header.offsetHeight !== 0;
2623
2623
  }
2624
- append([_this.list], popupEle);
2624
+ append([_this.list], popupEle_1);
2625
2625
  if (_this.footerTemplate) {
2626
- _this.setFooterTemplate(popupEle);
2626
+ _this.setFooterTemplate(popupEle_1);
2627
2627
  _this.isUpdateFooterHeight = _this.footer.offsetHeight !== 0;
2628
2628
  }
2629
- document.body.appendChild(popupEle);
2630
- popupEle.style.top = '0px';
2631
- initialPopupHeight = popupEle.clientHeight;
2629
+ document.body.appendChild(popupEle_1);
2630
+ popupEle_1.style.top = '0px';
2631
+ initialPopupHeight = popupEle_1.clientHeight;
2632
2632
  if (_this.enableVirtualization && (_this.itemTemplate || _this.isAngular)) {
2633
- var listitems = popupEle.querySelectorAll('li.e-list-item:not(.e-virtual-list)');
2634
- var virtualListitems = popupEle.querySelectorAll('li.e-virtual-list');
2633
+ var listitems = popupEle_1.querySelectorAll('li.e-list-item:not(.e-virtual-list)');
2634
+ var virtualListitems = popupEle_1.querySelectorAll('li.e-virtual-list');
2635
2635
  var listitemsHeight = listitems && listitems.length > 0 ?
2636
2636
  Math.ceil(listitems[0].getBoundingClientRect().height) +
2637
2637
  parseInt(window.getComputedStyle(listitems[0]).marginBottom, 10) : 0;
@@ -2669,14 +2669,14 @@ var DropDownList = /** @class */ (function (_super) {
2669
2669
  className: 'e-virtual-ddl'
2670
2670
  });
2671
2671
  virtualElement.style.cssText = _this.GetVirtualTrackHeight();
2672
- popupEle.querySelector('.e-dropdownbase').appendChild(virtualElement);
2672
+ popupEle_1.querySelector('.e-dropdownbase').appendChild(virtualElement);
2673
2673
  }
2674
2674
  else {
2675
2675
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2676
2676
  _this.list.getElementsByClassName('e-virtual-ddl')[0].style = _this.GetVirtualTrackHeight();
2677
2677
  }
2678
2678
  }
2679
- popupEle.style.visibility = 'hidden';
2679
+ popupEle_1.style.visibility = 'hidden';
2680
2680
  if (_this.popupHeight !== 'auto') {
2681
2681
  _this.searchBoxHeight = 0;
2682
2682
  if (!isNullOrUndefined(searchBox.container) &&
@@ -2685,22 +2685,22 @@ var DropDownList = /** @class */ (function (_super) {
2685
2685
  _this.listContainerHeight = (parseInt(_this.listContainerHeight, 10) - (_this.searchBoxHeight)).toString() + 'px';
2686
2686
  }
2687
2687
  if (_this.headerTemplate) {
2688
- _this.header = _this.header ? _this.header : popupEle.querySelector('.e-ddl-header');
2688
+ _this.header = _this.header ? _this.header : popupEle_1.querySelector('.e-ddl-header');
2689
2689
  var height = Math.round(_this.header.getBoundingClientRect().height);
2690
2690
  _this.listContainerHeight = (parseInt(_this.listContainerHeight, 10) -
2691
2691
  (height + _this.searchBoxHeight)).toString() + 'px';
2692
2692
  }
2693
2693
  if (_this.footerTemplate) {
2694
- _this.footer = _this.footer ? _this.footer : popupEle.querySelector('.e-ddl-footer');
2694
+ _this.footer = _this.footer ? _this.footer : popupEle_1.querySelector('.e-ddl-footer');
2695
2695
  var height = Math.round(_this.footer.getBoundingClientRect().height);
2696
2696
  _this.listContainerHeight = (parseInt(_this.listContainerHeight, 10) -
2697
2697
  (height + _this.searchBoxHeight)).toString() + 'px';
2698
2698
  }
2699
2699
  _this.list.style.maxHeight = (parseInt(_this.listContainerHeight, 10) - 2).toString() + 'px'; // due to box-sizing property
2700
- popupEle.style.maxHeight = formatUnit(_this.popupHeight);
2700
+ popupEle_1.style.maxHeight = formatUnit(_this.popupHeight);
2701
2701
  }
2702
2702
  else {
2703
- popupEle.style.height = 'auto';
2703
+ popupEle_1.style.height = 'auto';
2704
2704
  }
2705
2705
  var offsetValue = 0;
2706
2706
  var left = void 0;
@@ -2716,7 +2716,7 @@ var DropDownList = /** @class */ (function (_super) {
2716
2716
  }
2717
2717
  if (Browser.isDevice && _this.isDeviceFullScreen && (!_this.allowFiltering && (_this.getModuleName() === 'dropdownlist' ||
2718
2718
  (_this.isDropDownClick && _this.getModuleName() === 'combobox')))) {
2719
- offsetValue = _this.getOffsetValue(popupEle);
2719
+ offsetValue = _this.getOffsetValue(popupEle_1);
2720
2720
  var firstItem = _this.isEmptyList() ? _this.list : _this.liCollections[0];
2721
2721
  if (!isNullOrUndefined(_this.inputElement)) {
2722
2722
  left = -(parseInt(getComputedStyle(firstItem).textIndent, 10) -
@@ -2724,10 +2724,10 @@ var DropDownList = /** @class */ (function (_super) {
2724
2724
  parseInt(getComputedStyle(_this.inputElement.parentElement).borderLeftWidth, 10));
2725
2725
  }
2726
2726
  }
2727
- _this.createPopup(popupEle, offsetValue, left);
2727
+ _this.createPopup(popupEle_1, offsetValue, left);
2728
2728
  _this.popupContentElement = _this.popupObj.element.querySelector('.e-content');
2729
2729
  _this.getFocusElement();
2730
- _this.checkCollision(popupEle);
2730
+ _this.checkCollision(popupEle_1);
2731
2731
  if (Browser.isDevice) {
2732
2732
  if ((parseInt(_this.popupWidth.toString(), 10) > window.outerWidth) &&
2733
2733
  !(_this.getModuleName() === 'dropdownlist' && _this.allowFiltering)) {
@@ -2751,8 +2751,8 @@ var DropDownList = /** @class */ (function (_super) {
2751
2751
  EventHandler.add(_this.clearIconElement, 'click', _this.clearText, _this);
2752
2752
  }
2753
2753
  }
2754
- popupEle.style.visibility = 'visible';
2755
- addClass([popupEle], 'e-popup-close');
2754
+ popupEle_1.style.visibility = 'visible';
2755
+ addClass([popupEle_1], 'e-popup-close');
2756
2756
  var scrollParentElements = _this.popupObj.getScrollableParent(_this.inputWrapper.container);
2757
2757
  for (var _i = 0, scrollParentElements_1 = scrollParentElements; _i < scrollParentElements_1.length; _i++) {
2758
2758
  var element = scrollParentElements_1[_i];
@@ -2772,7 +2772,7 @@ var DropDownList = /** @class */ (function (_super) {
2772
2772
  setTimeout(function () {
2773
2773
  if (_this.value || _this.list.querySelector('.e-active')) {
2774
2774
  _this.updateSelectionList();
2775
- if (_this.selectedValueInfo && _this.viewPortInfo && _this.viewPortInfo.offsets.top) {
2775
+ if (_this.viewPortInfo && _this.viewPortInfo.offsets.top) {
2776
2776
  _this.list.scrollTop = _this.viewPortInfo.offsets.top;
2777
2777
  }
2778
2778
  else {
@@ -2832,7 +2832,7 @@ var DropDownList = /** @class */ (function (_super) {
2832
2832
  }
2833
2833
  });
2834
2834
  if (_this.allowResize && (_this.getModuleName() !== 'dropdownlist' || !(Browser.isDevice && _this.isDeviceFullScreen && _this.allowFiltering))) {
2835
- var resizePaddingBottom = 16;
2835
+ var resizePaddingBottom_1 = 16;
2836
2836
  // Create the resizer div
2837
2837
  _this.resizer = _this.createElement('div', {
2838
2838
  id: _this.element.id + '_resize-popup',
@@ -2844,9 +2844,25 @@ var DropDownList = /** @class */ (function (_super) {
2844
2844
  if (_this.popupHeight.toString().toLowerCase() !== 'auto' && initialPopupHeight >= (parseInt(_this.popupHeight.toString(), 10) - 2)) {
2845
2845
  _this.list.parentElement.style.height = '100%';
2846
2846
  }
2847
- _this.list.parentElement.style.paddingBottom = (_this.getModuleName() === 'dropdownlist' && _this.allowFiltering && _this.searchBoxHeight) ? (_this.searchBoxHeight + resizePaddingBottom).toString() + 'px' : resizePaddingBottom.toString() + 'px';
2848
- if (_this.header || _this.footer || _this.itemTemplate) {
2849
- _this.list.parentElement.style.paddingBottom = ((parseInt(_this.list.parentElement.style.maxHeight, 10) - parseInt(_this.list.style.maxHeight, 10)) + resizePaddingBottom).toString() + 'px';
2847
+ _this.list.parentElement.style.paddingBottom = (_this.getModuleName() === 'dropdownlist' && _this.allowFiltering && _this.searchBoxHeight) ? (_this.searchBoxHeight + resizePaddingBottom_1).toString() + 'px' : resizePaddingBottom_1.toString() + 'px';
2848
+ if (_this.isReact && _this.footer) {
2849
+ var listMaxHeight_1 = _this.list.style.maxHeight;
2850
+ var listParentElementMaxHeight_1 = _this.list.parentElement.style.maxHeight;
2851
+ var containerHeight_1 = _this.listContainerHeight;
2852
+ setTimeout(function () {
2853
+ _this.footer = _this.footer ? _this.footer : popupEle_1.querySelector('.e-ddl-footer');
2854
+ var height = Math.round(_this.footer.getBoundingClientRect().height);
2855
+ if (height > 0) {
2856
+ containerHeight_1 = (parseInt(containerHeight_1, 10) - height).toString() + 'px';
2857
+ listMaxHeight_1 = (parseInt(containerHeight_1, 10) - 2).toString() + 'px';
2858
+ _this.list.parentElement.style.paddingBottom = ((parseInt(listParentElementMaxHeight_1, 10) - parseInt(listMaxHeight_1, 10)) + resizePaddingBottom_1).toString() + 'px';
2859
+ }
2860
+ }, 1);
2861
+ }
2862
+ else {
2863
+ if (_this.header || _this.footer || _this.itemTemplate) {
2864
+ _this.list.parentElement.style.paddingBottom = ((parseInt(_this.list.parentElement.style.maxHeight, 10) - parseInt(_this.list.style.maxHeight, 10)) + resizePaddingBottom_1).toString() + 'px';
2865
+ }
2850
2866
  }
2851
2867
  _this.list.parentElement.appendChild(_this.resizer);
2852
2868
  //hold the popup resize
@@ -3357,9 +3373,7 @@ var DropDownList = /** @class */ (function (_super) {
3357
3373
  }
3358
3374
  var dataSourceCount;
3359
3375
  if (this.dataSource instanceof DataManager) {
3360
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3361
- dataSourceCount = this.virtualGroupDataSource && this.virtualGroupDataSource.length ?
3362
- this.virtualGroupDataSource.length : 0;
3376
+ dataSourceCount = this.remoteDataCount;
3363
3377
  }
3364
3378
  else {
3365
3379
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -1192,8 +1192,14 @@ var DropDownTree = /** @class */ (function (_super) {
1192
1192
  return remainElement;
1193
1193
  };
1194
1194
  DropDownTree.prototype.getOverflowVal = function (index) {
1195
+ var textSelected;
1195
1196
  var selectedData = this.getSelectedData(this.value[parseInt(index.toString(), 10)]);
1196
- return getValue(this.treeSettings.loadOnDemand ? this.fields.text : 'text', selectedData);
1197
+ var node = this.treeObj.getNode(this.value[index]);
1198
+ textSelected = getValue(this.treeSettings.loadOnDemand ? this.fields.text : 'text', selectedData);
1199
+ if (isNOU(textSelected) && !isNOU(node.text)) {
1200
+ textSelected = node.text.toString();
1201
+ }
1202
+ return textSelected;
1197
1203
  };
1198
1204
  DropDownTree.prototype.updateDelimMode = function () {
1199
1205
  if (this.mode !== 'Box') {
@@ -2550,7 +2556,11 @@ var DropDownTree = /** @class */ (function (_super) {
2550
2556
  var compiledString = this.initializeValueTemplate();
2551
2557
  for (var i = 0, len = this.value.length; i < len; i++) {
2552
2558
  selectedData = this.getSelectedData(this.value[i]);
2559
+ var node = this.treeObj.getNode(this.value[i]);
2553
2560
  text = getValue(this.treeSettings.loadOnDemand ? this.fields.text : 'text', selectedData);
2561
+ if (isNOU(text) && !isNOU(node.text)) {
2562
+ text = node.text.toString();
2563
+ }
2554
2564
  this.selectedText.push(text);
2555
2565
  temp = this.selectedText[this.selectedText.length - 1];
2556
2566
  if (this.selectedText.length > 1) {
@@ -360,7 +360,9 @@ var Mention = /** @class */ (function (_super) {
360
360
  }
361
361
  if (this.isContentEditable(this.inputElement)) {
362
362
  this.range = this.getCurrentRange();
363
- rangetextContent = this.range.startContainer.textContent.split('');
363
+ if (this.range) {
364
+ rangetextContent = this.range.startContainer.textContent.split('');
365
+ }
364
366
  }
365
367
  var currentRange = this.getTextRange();
366
368
  // eslint-disable-next-line security/detect-non-literal-regexp
@@ -475,7 +477,8 @@ var Mention = /** @class */ (function (_super) {
475
477
  return isMatched;
476
478
  };
477
479
  Mention.prototype.getCurrentRange = function () {
478
- this.range = this.inputElement.ownerDocument.getSelection().getRangeAt(0);
480
+ this.range = this.inputElement.ownerDocument.getSelection().rangeCount > 0 &&
481
+ this.inputElement.ownerDocument.getSelection().getRangeAt(0);
479
482
  return this.range;
480
483
  };
481
484
  Mention.prototype.performFiltering = function (e) {
@@ -720,6 +720,7 @@ export declare class MultiSelect extends DropDownBase implements IInput {
720
720
  private dataUpdater;
721
721
  private tempQuery;
722
722
  private tempValues;
723
+ private secureRandom;
723
724
  private checkForCustomValue;
724
725
  protected getNgDirective(): string;
725
726
  private wrapperClick;
@@ -788,6 +789,7 @@ export declare class MultiSelect extends DropDownBase implements IInput {
788
789
  private updateChipStatus;
789
790
  private indexOfObjectInArray;
790
791
  private addValue;
792
+ private updateListItemsState;
791
793
  private checkMaxSelection;
792
794
  private dispatchSelect;
793
795
  private addChip;
@@ -1112,6 +1112,11 @@ var MultiSelect = /** @class */ (function (_super) {
1112
1112
  this.removeFocus();
1113
1113
  }
1114
1114
  };
1115
+ MultiSelect.prototype.secureRandom = function () {
1116
+ var array = new Uint32Array(1);
1117
+ window.crypto.getRandomValues(array);
1118
+ return array[0] / (0xFFFFFFFF + 1);
1119
+ };
1115
1120
  MultiSelect.prototype.checkForCustomValue = function (query, fields) {
1116
1121
  var dataChecks = !this.getValueByText(this.inputElement.value, this.ignoreCase);
1117
1122
  var field = fields ? fields : this.fields;
@@ -1125,7 +1130,7 @@ var MultiSelect = /** @class */ (function (_super) {
1125
1130
  setValue(field.text, value, dataItem_1);
1126
1131
  if (typeof getValue((this.fields.value ? this.fields.value : 'value'), customData)
1127
1132
  === 'number' && this.fields.value !== this.fields.text) {
1128
- setValue(field.value, Math.random(), dataItem_1);
1133
+ setValue(field.value, this.secureRandom(), dataItem_1);
1129
1134
  }
1130
1135
  else {
1131
1136
  setValue(field.value, value, dataItem_1);
@@ -1246,6 +1251,9 @@ var MultiSelect = /** @class */ (function (_super) {
1246
1251
  e.preventDefault();
1247
1252
  }
1248
1253
  this.checkAndScrollParent();
1254
+ if (this.maximumSelectionLength === 0) {
1255
+ this.checkMaxSelection();
1256
+ }
1249
1257
  };
1250
1258
  MultiSelect.prototype.checkAndScrollParent = function () {
1251
1259
  var scrollElement = this.overAllWrapper ? this.overAllWrapper.parentElement : null;
@@ -2855,8 +2863,21 @@ var MultiSelect = /** @class */ (function (_super) {
2855
2863
  this.updateChipStatus();
2856
2864
  this.checkMaxSelection();
2857
2865
  };
2866
+ MultiSelect.prototype.updateListItemsState = function (list) {
2867
+ var activeItems = list.querySelectorAll('li.' + dropDownBaseClasses.li + '.e-active');
2868
+ removeClass(activeItems, 'e-disable');
2869
+ var inactiveItems = list.querySelectorAll('li.' + dropDownBaseClasses.li + ':not(.e-active)');
2870
+ addClass(inactiveItems, 'e-disable');
2871
+ };
2858
2872
  MultiSelect.prototype.checkMaxSelection = function () {
2859
2873
  var limit = this.value && this.value.length ? this.value.length : 0;
2874
+ if (this.maximumSelectionLength === 0) {
2875
+ this.updateListItemsState(this.list);
2876
+ if (this.mainList) {
2877
+ this.updateListItemsState(this.mainList);
2878
+ }
2879
+ return;
2880
+ }
2860
2881
  if (limit === this.maximumSelectionLength) {
2861
2882
  var activeItems = this.list.querySelectorAll('li.'
2862
2883
  + dropDownBaseClasses.li + '.e-active');
@@ -6042,6 +6063,7 @@ var MultiSelect = /** @class */ (function (_super) {
6042
6063
  this.renderComplete();
6043
6064
  };
6044
6065
  MultiSelect.prototype.setResize = function () {
6066
+ var _this = this;
6045
6067
  var resizePaddingBottom = 16;
6046
6068
  if (this.list && this.list.parentElement && isNullOrUndefined(this.list.parentElement.querySelector('.e-resizer-right.e-icons'))) {
6047
6069
  this.resizer = this.createElement('div', {
@@ -6059,8 +6081,22 @@ var MultiSelect = /** @class */ (function (_super) {
6059
6081
  this.list.parentElement.style.height = '100%';
6060
6082
  }
6061
6083
  this.list.parentElement.style.boxSizing = 'border-box'; // Ensures padding doesn't affect element size
6062
- var paddingBottom = this.mode === 'CheckBox' && this.searchBoxHeight ? this.searchBoxHeight + resizePaddingBottom + (this.showSelectAll ? this.storedSelectAllHeight : 0) : resizePaddingBottom;
6063
- this.list.parentElement.style.paddingBottom = paddingBottom + "px";
6084
+ var paddingBottom_1 = this.mode === 'CheckBox' && this.searchBoxHeight ? this.searchBoxHeight + resizePaddingBottom + (this.showSelectAll ? this.storedSelectAllHeight : 0) : resizePaddingBottom;
6085
+ if (this.footer) {
6086
+ var listMaxHeight_1 = this.list.style.maxHeight;
6087
+ var listParentElementMaxHeight_1 = this.list.parentElement.style.maxHeight;
6088
+ setTimeout(function () {
6089
+ var height = Math.round(_this.footer.getBoundingClientRect().height);
6090
+ var containerHeight = (parseInt(listParentElementMaxHeight_1, 10) - height).toString() + 'px';
6091
+ listMaxHeight_1 = (parseInt(containerHeight, 10) - 2).toString() + 'px';
6092
+ if (height > 0) {
6093
+ _this.list.parentElement.style.paddingBottom = ((parseInt(listParentElementMaxHeight_1, 10) - parseInt(listMaxHeight_1, 10)) + paddingBottom_1).toString() + 'px';
6094
+ }
6095
+ }, 1);
6096
+ }
6097
+ else {
6098
+ this.list.parentElement.style.paddingBottom = paddingBottom_1 + "px";
6099
+ }
6064
6100
  this.list.parentElement.appendChild(this.resizer);
6065
6101
  this.list.parentElement.style.width = this.resizeWidth + 'px';
6066
6102
  this.list.parentElement.style.height = this.resizeHeight + 'px';
@@ -79,6 +79,14 @@
79
79
  font-size: 12px;
80
80
  }
81
81
 
82
+ .e-input-group.e-ddl .e-input[readonly] ~ span.e-input-group-icon.e-ddl-icon,
83
+ .e-input-group.e-control-wrapper.e-ddl .e-input[readonly] ~ span.e-input-group-icon.e-ddl-icon,
84
+ .e-float-input.e-ddl input[readonly] ~ span.e-input-group-icon.e-ddl-icon,
85
+ .e-float-input.e-control-wrapper.e-ddl input[readonly] ~ span.e-input-group-icon.e-ddl-icon {
86
+ background: transparent;
87
+ color: #495057;
88
+ }
89
+
82
90
  .e-small .e-input-group .e-control.e-dropdownlist ~ .e-ddl-icon,
83
91
  .e-small.e-input-group .e-control.e-dropdownlist ~ .e-ddl-icon {
84
92
  font-size: 10px;
@@ -1172,7 +1172,6 @@ ejs-dropdownlist {
1172
1172
  .e-ddt.e-float-input.e-control-wrapper.e-input-group .e-float-text.e-label-top {
1173
1173
  top: 15px;
1174
1174
  }
1175
-
1176
1175
  .e-ddt-icon-hide {
1177
1176
  display: none;
1178
1177
  }
package/styles/bds.css CHANGED
@@ -1405,7 +1405,6 @@ ejs-dropdownlist {
1405
1405
  .e-ddt.e-float-input.e-control-wrapper.e-input-group .e-float-text.e-label-top {
1406
1406
  top: 15px;
1407
1407
  }
1408
-
1409
1408
  .e-ddt-icon-hide {
1410
1409
  display: none;
1411
1410
  }
@@ -973,7 +973,6 @@ ejs-dropdownlist {
973
973
  .e-ddt.e-float-input.e-control-wrapper.e-input-group .e-float-text.e-label-top {
974
974
  top: 15px;
975
975
  }
976
-
977
976
  .e-ddt-icon-hide {
978
977
  display: none;
979
978
  }
@@ -1150,7 +1150,6 @@ ejs-dropdownlist {
1150
1150
  .e-ddt.e-float-input.e-control-wrapper.e-input-group .e-float-text.e-label-top {
1151
1151
  top: 15px;
1152
1152
  }
1153
-
1154
1153
  .e-ddt-icon-hide {
1155
1154
  display: none;
1156
1155
  }
@@ -976,7 +976,6 @@ ejs-dropdownlist {
976
976
  .e-ddt.e-float-input.e-control-wrapper.e-input-group .e-float-text.e-label-top {
977
977
  top: 15px;
978
978
  }
979
-
980
979
  .e-ddt-icon-hide {
981
980
  display: none;
982
981
  }
@@ -1153,7 +1153,6 @@ ejs-dropdownlist {
1153
1153
  .e-ddt.e-float-input.e-control-wrapper.e-input-group .e-float-text.e-label-top {
1154
1154
  top: 15px;
1155
1155
  }
1156
-
1157
1156
  .e-ddt-icon-hide {
1158
1157
  display: none;
1159
1158
  }
@@ -432,6 +432,14 @@
432
432
  font-size: 12px;
433
433
  }
434
434
 
435
+ .e-input-group.e-ddl .e-input[readonly] ~ span.e-input-group-icon.e-ddl-icon,
436
+ .e-input-group.e-control-wrapper.e-ddl .e-input[readonly] ~ span.e-input-group-icon.e-ddl-icon,
437
+ .e-float-input.e-ddl input[readonly] ~ span.e-input-group-icon.e-ddl-icon,
438
+ .e-float-input.e-control-wrapper.e-ddl input[readonly] ~ span.e-input-group-icon.e-ddl-icon {
439
+ background: transparent;
440
+ color: #495057;
441
+ }
442
+
435
443
  .e-small .e-input-group .e-control.e-dropdownlist ~ .e-ddl-icon,
436
444
  .e-small.e-input-group .e-control.e-dropdownlist ~ .e-ddl-icon {
437
445
  font-size: 10px;
@@ -1009,7 +1017,6 @@ ejs-dropdownlist {
1009
1017
  .e-ddt.e-float-input.e-control-wrapper.e-input-group .e-float-text.e-label-top {
1010
1018
  top: 15px;
1011
1019
  }
1012
-
1013
1020
  .e-ddt-icon-hide {
1014
1021
  display: none;
1015
1022
  }
@@ -1132,6 +1139,7 @@ ejs-dropdownlist {
1132
1139
  }
1133
1140
 
1134
1141
  .e-multi-select-wrapper .e-close-hooker::before {
1142
+ font-size: 16px;
1135
1143
  content: "\e745";
1136
1144
  cursor: pointer;
1137
1145
  height: 10px;
@@ -511,6 +511,14 @@
511
511
  font-size: 12px;
512
512
  }
513
513
 
514
+ .e-input-group.e-ddl .e-input[readonly] ~ span.e-input-group-icon.e-ddl-icon,
515
+ .e-input-group.e-control-wrapper.e-ddl .e-input[readonly] ~ span.e-input-group-icon.e-ddl-icon,
516
+ .e-float-input.e-ddl input[readonly] ~ span.e-input-group-icon.e-ddl-icon,
517
+ .e-float-input.e-control-wrapper.e-ddl input[readonly] ~ span.e-input-group-icon.e-ddl-icon {
518
+ background: transparent;
519
+ color: #495057;
520
+ }
521
+
514
522
  .e-small .e-input-group .e-control.e-dropdownlist ~ .e-ddl-icon,
515
523
  .e-small.e-input-group .e-control.e-dropdownlist ~ .e-ddl-icon {
516
524
  font-size: 10px;
@@ -1204,7 +1212,6 @@ ejs-dropdownlist {
1204
1212
  .e-ddt.e-float-input.e-control-wrapper.e-input-group .e-float-text.e-label-top {
1205
1213
  top: 15px;
1206
1214
  }
1207
-
1208
1215
  .e-ddt-icon-hide {
1209
1216
  display: none;
1210
1217
  }
@@ -1429,6 +1436,7 @@ ejs-dropdownlist {
1429
1436
  }
1430
1437
 
1431
1438
  .e-multi-select-wrapper .e-close-hooker::before {
1439
+ font-size: 16px;
1432
1440
  content: "\e745";
1433
1441
  cursor: pointer;
1434
1442
  height: 10px;
@@ -2459,12 +2467,12 @@ ejs-multiselect {
2459
2467
  }
2460
2468
 
2461
2469
  .e-bigger .e-multi-select-wrapper .e-chips-close.e-close-hooker {
2462
- margin-top: -3.5em;
2470
+ margin-top: -32px;
2463
2471
  }
2464
2472
 
2465
2473
  .e-bigger .e-multiselect.e-control-container .e-multi-select-wrapper .e-clear-icon,
2466
2474
  .e-bigger.e-multiselect.e-control-container .e-multi-select-wrapper .e-clear-icon {
2467
- margin-top: -3.5em;
2475
+ margin-top: -32px;
2468
2476
  }
2469
2477
 
2470
2478
  .e-bigger .e-multi-select-wrapper .e-chips-close.e-close-hooker,
@@ -2763,13 +2771,13 @@ ejs-multiselect {
2763
2771
  }
2764
2772
 
2765
2773
  .e-bigger .e-multi-select-wrapper .e-chips .e-chips-close::before {
2766
- font-size: 12px;
2774
+ font-size: 18px;
2767
2775
  top: 9px;
2768
2776
  }
2769
2777
 
2770
2778
  .e-bigger .e-multi-select-wrapper .e-chips .e-chips-close::before,
2771
2779
  .e-bigger.e-multi-select-wrapper .e-chips .e-chips-close::before {
2772
- top: 1px;
2780
+ top: 5px;
2773
2781
  }
2774
2782
 
2775
2783
  .e-small.e-bigger .e-multi-select-wrapper .e-close-hooker::before {
@@ -2790,7 +2798,7 @@ ejs-multiselect {
2790
2798
 
2791
2799
  .e-bigger .e-input-group.e-multiselect.e-control-wrapper .e-input-group-icon.e-ddl-icon::before,
2792
2800
  .e-bigger.e-input-group.e-multiselect.e-control-wrapper .e-input-group-icon.e-ddl-icon::before {
2793
- font-size: 14px;
2801
+ font-size: 16px;
2794
2802
  }
2795
2803
 
2796
2804
  .e-small.e-bigger .e-input-group.e-multiselect.e-control-wrapper .e-input-group-icon.e-ddl-icon::before,
@@ -2831,7 +2839,7 @@ ejs-multiselect {
2831
2839
 
2832
2840
  .e-bigger .e-multiselect.e-input-group.e-control-container .e-multi-select-wrapper .e-clear-icon {
2833
2841
  height: 36px;
2834
- margin-top: -3.5em;
2842
+ margin-top: -32px;
2835
2843
  }
2836
2844
 
2837
2845
  .e-listbox-tool .e-moveup::before {
@@ -1028,7 +1028,6 @@ ejs-dropdownlist {
1028
1028
  .e-ddt.e-float-input.e-control-wrapper.e-input-group .e-float-text.e-label-top {
1029
1029
  top: 15px;
1030
1030
  }
1031
-
1032
1031
  .e-ddt-icon-hide {
1033
1032
  display: none;
1034
1033
  }
@@ -1215,7 +1215,6 @@ ejs-dropdownlist {
1215
1215
  .e-ddt.e-float-input.e-control-wrapper.e-input-group .e-float-text.e-label-top {
1216
1216
  top: 15px;
1217
1217
  }
1218
-
1219
1218
  .e-ddt-icon-hide {
1220
1219
  display: none;
1221
1220
  }