@syncfusion/ej2-dropdowns 26.2.8 → 26.2.10

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 (109) hide show
  1. package/dist/ej2-dropdowns.min.js +2 -2
  2. package/dist/ej2-dropdowns.umd.min.js +2 -2
  3. package/dist/ej2-dropdowns.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-dropdowns.es2015.js +67 -24
  5. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  6. package/dist/es6/ej2-dropdowns.es5.js +68 -24
  7. package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
  8. package/dist/global/ej2-dropdowns.min.js +2 -2
  9. package/dist/global/ej2-dropdowns.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +12 -12
  12. package/src/common/virtual-scroll.js +5 -7
  13. package/src/drop-down-base/drop-down-base.js +10 -5
  14. package/src/drop-down-list/drop-down-list.js +4 -1
  15. package/src/drop-down-tree/drop-down-tree.d.ts +1 -0
  16. package/src/drop-down-tree/drop-down-tree.js +39 -3
  17. package/src/list-box/list-box.js +6 -6
  18. package/src/multi-select/multi-select.js +4 -2
  19. package/styles/auto-complete/fluent2.css +3 -1031
  20. package/styles/auto-complete/material3-dark.css +1 -54
  21. package/styles/auto-complete/material3.css +2 -109
  22. package/styles/bootstrap-dark.css +9 -0
  23. package/styles/bootstrap.css +9 -0
  24. package/styles/bootstrap4.css +9 -0
  25. package/styles/bootstrap5-dark.css +9 -0
  26. package/styles/bootstrap5.css +9 -0
  27. package/styles/combo-box/fluent2.css +3 -1031
  28. package/styles/combo-box/material3-dark.css +1 -54
  29. package/styles/combo-box/material3.css +2 -109
  30. package/styles/drop-down-base/_theme.scss +2 -0
  31. package/styles/drop-down-base/bootstrap-dark.css +2 -0
  32. package/styles/drop-down-base/bootstrap.css +2 -0
  33. package/styles/drop-down-base/bootstrap4.css +2 -0
  34. package/styles/drop-down-base/bootstrap5-dark.css +2 -0
  35. package/styles/drop-down-base/bootstrap5.css +2 -0
  36. package/styles/drop-down-base/fabric-dark.css +2 -0
  37. package/styles/drop-down-base/fabric.css +2 -0
  38. package/styles/drop-down-base/fluent-dark.css +2 -0
  39. package/styles/drop-down-base/fluent.css +2 -0
  40. package/styles/drop-down-base/fluent2.css +7 -1033
  41. package/styles/drop-down-base/highcontrast-light.css +2 -0
  42. package/styles/drop-down-base/highcontrast.css +2 -0
  43. package/styles/drop-down-base/material-dark.css +2 -0
  44. package/styles/drop-down-base/material.css +2 -0
  45. package/styles/drop-down-base/material3-dark.css +3 -54
  46. package/styles/drop-down-base/material3.css +5 -110
  47. package/styles/drop-down-base/tailwind-dark.css +2 -0
  48. package/styles/drop-down-base/tailwind.css +2 -0
  49. package/styles/drop-down-list/fluent2.css +5 -1033
  50. package/styles/drop-down-list/material3-dark.css +1 -54
  51. package/styles/drop-down-list/material3.css +3 -110
  52. package/styles/drop-down-tree/fluent2.css +3 -1031
  53. package/styles/drop-down-tree/material3-dark.css +1 -54
  54. package/styles/drop-down-tree/material3.css +2 -109
  55. package/styles/fabric-dark.css +9 -0
  56. package/styles/fabric.css +9 -0
  57. package/styles/fluent-dark.css +9 -0
  58. package/styles/fluent.css +9 -0
  59. package/styles/fluent2.css +14 -1033
  60. package/styles/highcontrast-light.css +9 -0
  61. package/styles/highcontrast.css +9 -0
  62. package/styles/list-box/_layout.scss +6 -0
  63. package/styles/list-box/bootstrap-dark.css +6 -0
  64. package/styles/list-box/bootstrap.css +6 -0
  65. package/styles/list-box/bootstrap4.css +6 -0
  66. package/styles/list-box/bootstrap5-dark.css +6 -0
  67. package/styles/list-box/bootstrap5.css +6 -0
  68. package/styles/list-box/fabric-dark.css +6 -0
  69. package/styles/list-box/fabric.css +6 -0
  70. package/styles/list-box/fluent-dark.css +6 -0
  71. package/styles/list-box/fluent.css +6 -0
  72. package/styles/list-box/fluent2.css +9 -1031
  73. package/styles/list-box/highcontrast-light.css +6 -0
  74. package/styles/list-box/highcontrast.css +6 -0
  75. package/styles/list-box/material-dark.css +6 -0
  76. package/styles/list-box/material.css +6 -0
  77. package/styles/list-box/material3-dark.css +7 -54
  78. package/styles/list-box/material3.css +8 -109
  79. package/styles/list-box/tailwind-dark.css +6 -0
  80. package/styles/list-box/tailwind.css +6 -0
  81. package/styles/material-dark.css +9 -0
  82. package/styles/material.css +9 -0
  83. package/styles/material3-dark.css +10 -54
  84. package/styles/material3.css +12 -110
  85. package/styles/mention/fluent2.css +3 -1031
  86. package/styles/mention/material3-dark.css +1 -54
  87. package/styles/mention/material3.css +2 -109
  88. package/styles/multi-select/_layout.scss +1 -0
  89. package/styles/multi-select/bootstrap-dark.css +1 -0
  90. package/styles/multi-select/bootstrap.css +1 -0
  91. package/styles/multi-select/bootstrap4.css +1 -0
  92. package/styles/multi-select/bootstrap5-dark.css +1 -0
  93. package/styles/multi-select/bootstrap5.css +1 -0
  94. package/styles/multi-select/fabric-dark.css +1 -0
  95. package/styles/multi-select/fabric.css +1 -0
  96. package/styles/multi-select/fluent-dark.css +1 -0
  97. package/styles/multi-select/fluent.css +1 -0
  98. package/styles/multi-select/fluent2.css +6 -1033
  99. package/styles/multi-select/highcontrast-light.css +1 -0
  100. package/styles/multi-select/highcontrast.css +1 -0
  101. package/styles/multi-select/material-dark.css +1 -0
  102. package/styles/multi-select/material.css +1 -0
  103. package/styles/multi-select/material3-dark.css +2 -54
  104. package/styles/multi-select/material3.css +4 -110
  105. package/styles/multi-select/tailwind-dark.css +1 -0
  106. package/styles/multi-select/tailwind.css +1 -0
  107. package/styles/tailwind-dark.css +9 -0
  108. package/styles/tailwind.css +9 -0
  109. package/hotfix/26.1.35_Vol2.txt +0 -1
@@ -691,10 +691,8 @@ var VirtualScroll = /** @__PURE__ @class */ (function () {
691
691
  else if (this.parent.isScrollActionTriggered) {
692
692
  this.parent.isPreventKeyAction = false;
693
693
  this.parent.isScrollActionTriggered = false;
694
- var virtualListCount = this.parent.list.querySelectorAll('.e-virtual-list').length;
695
- var listElement = this.parent.list.querySelector('.' + 'e-list-item');
696
- var translateY = scrollArgs.offset.top - (listElement.offsetHeight * virtualListCount);
697
- this.parent.list.getElementsByClassName('e-virtual-ddl-content')[0].style.transform = "translate(0px," + translateY + "px)";
694
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
695
+ this.parent.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.parent.getTransformValues();
698
696
  }
699
697
  this.parent.previousInfo = this.parent.viewPortInfo;
700
698
  }
@@ -728,13 +726,13 @@ var VirtualScroll = /** @__PURE__ @class */ (function () {
728
726
  }
729
727
  }
730
728
  else if (infoType.direction === 'up') {
731
- if (infoType.startIndex && infoType.endIndex) {
729
+ if ((infoType.startIndex && infoType.endIndex) || (Math.ceil(exactTopIndex) > this.parent.previousStartIndex)) {
732
730
  var loadAtIndex = Math.round(((infoType.startIndex * rowHeight) + (pageSizeBy4 * rowHeight)) / rowHeight);
733
- if (exactTopIndex < loadAtIndex) {
731
+ if (exactTopIndex < loadAtIndex || (Math.ceil(exactTopIndex) > this.parent.previousStartIndex)) {
734
732
  var idxAddedToExactTop = (pageSizeBy4) > infoViewIndices ? pageSizeBy4 :
735
733
  (infoViewIndices + infoViewIndices / 4);
736
734
  var eIndex = Math.round(exactTopIndex + idxAddedToExactTop);
737
- infoType.endIndex = (eIndex < totalItemCount || this.component == "multiselect") ? eIndex : totalItemCount;
735
+ infoType.endIndex = (eIndex < totalItemCount) ? eIndex : totalItemCount;
738
736
  var sIndex = infoType.endIndex - this.parent.virtualItemCount;
739
737
  infoType.startIndex = sIndex > 0 ? sIndex : 0;
740
738
  infoType.endIndex = sIndex < 0 ? this.parent.virtualItemCount : infoType.endIndex;
@@ -1122,7 +1120,7 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
1122
1120
  }
1123
1121
  }
1124
1122
  else {
1125
- if (noDataElement[i] instanceof HTMLElement || noDataElement[i] instanceof Text) {
1123
+ if (noDataElement[i] instanceof HTMLElement || ((noDataElement[i] instanceof Text) && (noDataElement[i]).textContent !== '')) {
1126
1124
  ele.appendChild(noDataElement[i]);
1127
1125
  }
1128
1126
  }
@@ -1929,10 +1927,15 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
1929
1927
  }
1930
1928
  };
1931
1929
  DropDownBase.prototype.getPageCount = function (returnExactCount) {
1932
- var liHeight = this.list.classList.contains(dropDownBaseClasses.noData) ? null :
1933
- getComputedStyle(this.getItems()[0], null).getPropertyValue('height');
1934
- var pageCount = Math.round(this.list.getBoundingClientRect().height / parseInt(liHeight, 10));
1935
- return returnExactCount ? pageCount : Math.round(pageCount);
1930
+ if (this.list) {
1931
+ var liHeight = this.list.classList.contains(dropDownBaseClasses.noData) ? null :
1932
+ getComputedStyle(this.getItems()[0], null).getPropertyValue('height');
1933
+ var pageCount = Math.round(this.list.getBoundingClientRect().height / parseInt(liHeight, 10));
1934
+ return returnExactCount ? pageCount : Math.round(pageCount);
1935
+ }
1936
+ else {
1937
+ return 0;
1938
+ }
1936
1939
  };
1937
1940
  DropDownBase.prototype.updateGroupHeader = function (index, liCollections, target) {
1938
1941
  if (!isNullOrUndefined(liCollections[index]) && liCollections[index].classList.contains(dropDownBaseClasses.group)) {
@@ -5996,9 +5999,12 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
5996
5999
  DropDownList.prototype.checkData = function (newProp) {
5997
6000
  if (newProp.dataSource && !isNullOrUndefined(Object.keys(newProp.dataSource)) && this.itemTemplate && this.allowFiltering &&
5998
6001
  !(this.isListSearched && (newProp.dataSource instanceof DataManager))) {
5999
- if (this.list) {
6002
+ if (this.list && !(this.isReact)) {
6000
6003
  this.list.innerHTML = '';
6001
6004
  }
6005
+ else {
6006
+ this.list = null;
6007
+ }
6002
6008
  this.actionCompleteData = { ulElement: null, list: null, isUpdated: false };
6003
6009
  }
6004
6010
  this.isListSearched = false;
@@ -7185,6 +7191,40 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
7185
7191
  input: this.filterChangeHandler.bind(this)
7186
7192
  });
7187
7193
  this.filterObj.appendTo('#' + this.element.id + '_filter');
7194
+ this.keyboardModule = new KeyboardEvents(this.filterObj.element, {
7195
+ keyAction: this.filterKeyAction.bind(this),
7196
+ keyConfigs: this.keyConfigs,
7197
+ eventName: 'keydown'
7198
+ });
7199
+ };
7200
+ DropDownTree.prototype.filterKeyAction = function (e) {
7201
+ var _this = this;
7202
+ var eventArgs = {
7203
+ cancel: false,
7204
+ event: e
7205
+ };
7206
+ this.trigger('keyPress', eventArgs, function (observedArgs) {
7207
+ if (!observedArgs.cancel) {
7208
+ switch (e.action) {
7209
+ case 'altUp':
7210
+ if (_this.isPopupOpen) {
7211
+ _this.hidePopup();
7212
+ }
7213
+ break;
7214
+ case 'shiftTab':
7215
+ addClass([_this.inputWrapper], [INPUTFOCUS]);
7216
+ break;
7217
+ case 'moveDown':
7218
+ e.preventDefault();
7219
+ _this.filterObj.element.blur();
7220
+ var focusedElement = _this.treeObj.element.querySelector('li');
7221
+ if (focusedElement) {
7222
+ focusedElement.focus();
7223
+ }
7224
+ break;
7225
+ }
7226
+ }
7227
+ });
7188
7228
  };
7189
7229
  DropDownTree.prototype.filterChangeHandler = function (args) {
7190
7230
  var _this = this;
@@ -7685,7 +7725,6 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
7685
7725
  }
7686
7726
  break;
7687
7727
  case 'shiftTab':
7688
- case 'tab':
7689
7728
  if (_this.isPopupOpen) {
7690
7729
  _this.hidePopup();
7691
7730
  }
@@ -8404,13 +8443,16 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
8404
8443
  }
8405
8444
  else {
8406
8445
  var oldFocussedNode = _this.treeObj.element.querySelector('.e-node-focus');
8407
- focusedElement = _this.treeObj.element.querySelector('li:not(.e-disable):not(.e-prevent)');
8446
+ focusedElement = _this.treeObj.element.querySelector('li[tabindex="0"]:not(.e-disable):not(.e-prevent)') ||
8447
+ _this.treeObj.element.querySelector('li:not(.e-disable):not(.e-prevent)');
8408
8448
  if (oldFocussedNode && oldFocussedNode !== focusedElement) {
8409
8449
  oldFocussedNode.setAttribute('tabindex', '-1');
8410
8450
  removeClass([oldFocussedNode], 'e-node-focus');
8411
8451
  }
8412
8452
  }
8413
- focusedElement.focus();
8453
+ if (!_this.allowFiltering) {
8454
+ focusedElement.focus();
8455
+ }
8414
8456
  addClass([focusedElement], ['e-node-focus']);
8415
8457
  }
8416
8458
  if (_this.treeObj.checkedNodes.length > 0) {
@@ -17314,8 +17356,10 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
17314
17356
  if (e.result.length > 0) {
17315
17357
  listItems_2 = e.result;
17316
17358
  _this.initStatus = false;
17317
- _this.initialValueUpdate(listItems_2, true);
17318
- _this.initialUpdate();
17359
+ setTimeout(function () {
17360
+ _this.initialValueUpdate(listItems_2, true);
17361
+ _this.initialUpdate();
17362
+ }, 100);
17319
17363
  _this.initStatus = true;
17320
17364
  }
17321
17365
  });
@@ -19522,6 +19566,7 @@ var ListBox = /** @__PURE__ @class */ (function (_super) {
19522
19566
  }
19523
19567
  this.inputString = this.filterInput.value;
19524
19568
  this.filterWireEvents();
19569
+ this.ulElement.style.setProperty('height', 'calc(100% - ' + (this.filterParent.offsetHeight) + 'px)', 'important');
19525
19570
  return filterInputObj;
19526
19571
  }
19527
19572
  };
@@ -20337,11 +20382,8 @@ var ListBox = /** @__PURE__ @class */ (function (_super) {
20337
20382
  };
20338
20383
  ListBox.prototype.resizeHandler = function () {
20339
20384
  if (this.list && !(this.cssClass && this.cssClass.indexOf('e-horizontal-listbox') > -1)) {
20340
- if (this.list.scrollWidth > this.list.offsetWidth) {
20341
- this.list.querySelector('.e-list-parent').style.display = 'inline-block';
20342
- }
20343
- else {
20344
- this.list.querySelector('.e-list-parent').style.display = 'block';
20385
+ if (this.list.getElementsByClassName('e-filter-parent').length > 0 && this.allowFiltering) {
20386
+ this.ulElement.style.setProperty('height', 'calc(100% - ' + (this.filterParent.offsetHeight) + 'px)', 'important');
20345
20387
  }
20346
20388
  }
20347
20389
  };
@@ -20684,7 +20726,9 @@ var ListBox = /** @__PURE__ @class */ (function (_super) {
20684
20726
  this.initDraggable();
20685
20727
  }
20686
20728
  else {
20687
- getComponent(this.ulElement, 'sortable').destroy();
20729
+ if (this.ulElement.classList.contains("e-sortable")) {
20730
+ getComponent(this.ulElement, 'sortable').destroy();
20731
+ }
20688
20732
  }
20689
20733
  break;
20690
20734
  case 'allowFiltering':