@syncfusion/ej2-dropdowns 23.1.36 → 23.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 (65) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/ej2-dropdowns.min.js +3 -3
  3. package/dist/ej2-dropdowns.umd.min.js +3 -3
  4. package/dist/ej2-dropdowns.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-dropdowns.es2015.js +32 -5
  6. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  7. package/dist/es6/ej2-dropdowns.es5.js +32 -5
  8. package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
  9. package/dist/global/ej2-dropdowns.min.js +3 -3
  10. package/dist/global/ej2-dropdowns.min.js.map +1 -1
  11. package/dist/global/index.d.ts +2 -2
  12. package/package.json +8 -8
  13. package/src/common/virtual-scroll.d.ts +1 -0
  14. package/src/common/virtual-scroll.js +3 -0
  15. package/src/drop-down-list/drop-down-list.d.ts +1 -0
  16. package/src/drop-down-list/drop-down-list.js +27 -4
  17. package/src/multi-select/multi-select.js +2 -1
  18. package/styles/bootstrap-dark.css +70 -7
  19. package/styles/bootstrap.css +70 -7
  20. package/styles/bootstrap4.css +71 -8
  21. package/styles/bootstrap5-dark.css +71 -8
  22. package/styles/bootstrap5.css +71 -8
  23. package/styles/fabric-dark.css +70 -7
  24. package/styles/fabric.css +70 -7
  25. package/styles/fluent-dark.css +70 -7
  26. package/styles/fluent.css +70 -7
  27. package/styles/highcontrast-light.css +70 -7
  28. package/styles/highcontrast.css +70 -7
  29. package/styles/list-box/_bootstrap-dark-definition.scss +6 -2
  30. package/styles/list-box/_bootstrap-definition.scss +7 -3
  31. package/styles/list-box/_bootstrap4-definition.scss +8 -4
  32. package/styles/list-box/_bootstrap5-definition.scss +6 -4
  33. package/styles/list-box/_fabric-dark-definition.scss +6 -2
  34. package/styles/list-box/_fabric-definition.scss +6 -2
  35. package/styles/list-box/_fluent-definition.scss +8 -6
  36. package/styles/list-box/_highcontrast-definition.scss +6 -2
  37. package/styles/list-box/_highcontrast-light-definition.scss +6 -2
  38. package/styles/list-box/_material-dark-definition.scss +8 -4
  39. package/styles/list-box/_material-definition.scss +8 -4
  40. package/styles/list-box/_material3-definition.scss +8 -6
  41. package/styles/list-box/_tailwind-definition.scss +8 -6
  42. package/styles/list-box/_theme.scss +72 -7
  43. package/styles/list-box/bootstrap-dark.css +70 -7
  44. package/styles/list-box/bootstrap.css +70 -7
  45. package/styles/list-box/bootstrap4.css +71 -8
  46. package/styles/list-box/bootstrap5-dark.css +71 -8
  47. package/styles/list-box/bootstrap5.css +71 -8
  48. package/styles/list-box/fabric-dark.css +70 -7
  49. package/styles/list-box/fabric.css +70 -7
  50. package/styles/list-box/fluent-dark.css +70 -7
  51. package/styles/list-box/fluent.css +70 -7
  52. package/styles/list-box/highcontrast-light.css +70 -7
  53. package/styles/list-box/highcontrast.css +70 -7
  54. package/styles/list-box/material-dark.css +71 -8
  55. package/styles/list-box/material.css +71 -8
  56. package/styles/list-box/material3-dark.css +71 -8
  57. package/styles/list-box/material3.css +71 -8
  58. package/styles/list-box/tailwind-dark.css +71 -8
  59. package/styles/list-box/tailwind.css +71 -8
  60. package/styles/material-dark.css +71 -8
  61. package/styles/material.css +71 -8
  62. package/styles/material3-dark.css +71 -8
  63. package/styles/material3.css +71 -8
  64. package/styles/tailwind-dark.css +71 -8
  65. package/styles/tailwind.css +71 -8
@@ -565,6 +565,9 @@ var VirtualScroll = /** @__PURE__ @class */ (function () {
565
565
  focusElement: document.activeElement });
566
566
  };
567
567
  };
568
+ VirtualScroll.prototype.destroy = function () {
569
+ this.removeEventListener();
570
+ };
568
571
  return VirtualScroll;
569
572
  }());
570
573
 
@@ -2954,7 +2957,17 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
2954
2957
  if (!isNullOrUndefined(previousItem) && previousItem.classList.contains('e-virtual-list')) {
2955
2958
  previousItem = this.liCollections[this.skeletonCount];
2956
2959
  }
2957
- this.setSelection(previousItem, event);
2960
+ this.PageUpDownSelection(previousItem, event);
2961
+ };
2962
+ DropDownList.prototype.PageUpDownSelection = function (previousItem, event) {
2963
+ if (this.enableVirtualization) {
2964
+ if (!isNullOrUndefined(previousItem) && ((this.getModuleName() !== 'autocomplete' && !previousItem.classList.contains('e-active')) || (this.getModuleName() === 'autocomplete' && !previousItem.classList.contains('e-item-focus')))) {
2965
+ this.setSelection(previousItem, event);
2966
+ }
2967
+ }
2968
+ else {
2969
+ this.setSelection(previousItem, event);
2970
+ }
2958
2971
  };
2959
2972
  DropDownList.prototype.pageDownSelection = function (steps, event, isVirtualKeyAction) {
2960
2973
  var list = this.getItems();
@@ -2962,7 +2975,7 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
2962
2975
  if ((this.enableVirtualization && this.activeIndex == null) || isVirtualKeyAction) {
2963
2976
  previousItem = steps <= list.length ? this.liCollections[steps + this.skeletonCount - 1] : this.liCollections[list.length - 1];
2964
2977
  }
2965
- this.setSelection(previousItem, event);
2978
+ this.PageUpDownSelection(previousItem, event);
2966
2979
  };
2967
2980
  DropDownList.prototype.unWireEvent = function () {
2968
2981
  if (!isNullOrUndefined(this.inputWrapper)) {
@@ -3746,6 +3759,9 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
3746
3759
  var totalSkeletonCount = isSkeletonCountChange ? skeletonCount : this.skeletonCount;
3747
3760
  for (var i = 0; i < totalSkeletonCount; i++) {
3748
3761
  var liElement = this.createElement('li', { className: dropDownListClasses.virtualList, styles: 'overflow: inherit' });
3762
+ if (this.enableVirtualization && this.itemTemplate) {
3763
+ liElement.style.height = this.listItemHeight + 'px';
3764
+ }
3749
3765
  var skeleton = new Skeleton({
3750
3766
  shape: "Text",
3751
3767
  height: "10px",
@@ -4013,6 +4029,10 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
4013
4029
  _this.setFooterTemplate(popupEle);
4014
4030
  }
4015
4031
  document.body.appendChild(popupEle);
4032
+ if (_this.enableVirtualization && _this.itemTemplate) {
4033
+ var listitems = popupEle.querySelectorAll('li.e-list-item:not(.e-virtual-list)');
4034
+ _this.listItemHeight = listitems.length > 0 ? Math.ceil(listitems[0].getBoundingClientRect().height) : 0;
4035
+ }
4016
4036
  if (_this.enableVirtualization && !_this.list.classList.contains(dropDownBaseClasses.noData)) {
4017
4037
  if (!_this.list.querySelector('.e-virtual-ddl-content')) {
4018
4038
  _this.list.appendChild(_this.createElement('div', {
@@ -4184,7 +4204,8 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
4184
4204
  var _this = this;
4185
4205
  this.popupObj = new Popup(element, {
4186
4206
  width: this.setWidth(), targetType: 'relative',
4187
- relateTo: this.inputWrapper.container, collision: { X: 'flip', Y: 'flip' }, offsetY: offsetValue,
4207
+ relateTo: this.inputWrapper.container,
4208
+ collision: this.enableRtl ? { X: 'fit', Y: 'flip' } : { X: 'flip', Y: 'flip' }, offsetY: offsetValue,
4188
4209
  enableRtl: this.enableRtl, offsetX: left,
4189
4210
  position: this.enableRtl ? { X: 'right', Y: 'bottom' } : { X: 'left', Y: 'bottom' },
4190
4211
  zIndex: this.zIndex,
@@ -4339,7 +4360,12 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
4339
4360
  if (!this.enableVirtualization || this.isKeyBoardAction || isInitialSelection) {
4340
4361
  if (this.isKeyBoardAction && this.enableVirtualization && lastElementValue && currentElementValue === lastElementValue && keyAction != "end" && !this.isVirtualScrolling) {
4341
4362
  this.isPreventKeyAction = true;
4342
- this.list.scrollTop += this.selectedLI.offsetHeight * liCount;
4363
+ if (this.enableVirtualization && this.itemTemplate) {
4364
+ this.list.scrollTop += nextOffset;
4365
+ }
4366
+ else {
4367
+ this.list.scrollTop += this.selectedLI.offsetHeight * liCount;
4368
+ }
4343
4369
  this.isPreventKeyAction = this.IsScrollerAtEnd() ? false : this.isPreventKeyAction;
4344
4370
  this.isKeyBoardAction = false;
4345
4371
  this.isPreventScrollAction = false;
@@ -12384,7 +12410,8 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
12384
12410
  this.popupObj = new Popup(this.popupWrapper, {
12385
12411
  width: this.calcPopupWidth(), targetType: 'relative',
12386
12412
  position: this.enableRtl ? { X: 'right', Y: 'bottom' } : { X: 'left', Y: 'bottom' },
12387
- relateTo: this.overAllWrapper, collision: { X: 'flip', Y: 'flip' }, offsetY: 1,
12413
+ relateTo: this.overAllWrapper,
12414
+ collision: this.enableRtl ? { X: 'fit', Y: 'flip' } : { X: 'flip', Y: 'flip' }, offsetY: 1,
12388
12415
  enableRtl: this.enableRtl, zIndex: this.zIndex,
12389
12416
  close: function () {
12390
12417
  if (_this.popupObj.element.parentElement) {