@syncfusion/ej2-dropdowns 23.1.36 → 23.1.39

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 (95) hide show
  1. package/CHANGELOG.md +10 -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 +36 -6
  6. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  7. package/dist/es6/ej2-dropdowns.es5.js +36 -6
  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 +9 -9
  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 +31 -5
  17. package/src/multi-select/multi-select.js +2 -1
  18. package/styles/bootstrap-dark.css +82 -8
  19. package/styles/bootstrap.css +82 -8
  20. package/styles/bootstrap4.css +83 -9
  21. package/styles/bootstrap5-dark.css +83 -9
  22. package/styles/bootstrap5.css +83 -9
  23. package/styles/fabric-dark.css +83 -9
  24. package/styles/fabric.css +83 -9
  25. package/styles/fluent-dark.css +82 -8
  26. package/styles/fluent.css +82 -8
  27. package/styles/highcontrast-light.css +82 -8
  28. package/styles/highcontrast.css +82 -8
  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 +83 -9
  61. package/styles/material.css +83 -9
  62. package/styles/material3-dark.css +81 -8
  63. package/styles/material3.css +81 -8
  64. package/styles/multi-select/_bootstrap-dark-definition.scss +2 -0
  65. package/styles/multi-select/_bootstrap-definition.scss +2 -0
  66. package/styles/multi-select/_bootstrap4-definition.scss +2 -0
  67. package/styles/multi-select/_bootstrap5-definition.scss +2 -0
  68. package/styles/multi-select/_fabric-dark-definition.scss +3 -1
  69. package/styles/multi-select/_fabric-definition.scss +3 -1
  70. package/styles/multi-select/_fluent-definition.scss +2 -0
  71. package/styles/multi-select/_highcontrast-definition.scss +2 -0
  72. package/styles/multi-select/_highcontrast-light-definition.scss +2 -0
  73. package/styles/multi-select/_layout.scss +12 -1
  74. package/styles/multi-select/_material-dark-definition.scss +2 -0
  75. package/styles/multi-select/_material-definition.scss +2 -0
  76. package/styles/multi-select/_tailwind-definition.scss +2 -0
  77. package/styles/multi-select/bootstrap-dark.css +12 -1
  78. package/styles/multi-select/bootstrap.css +12 -1
  79. package/styles/multi-select/bootstrap4.css +12 -1
  80. package/styles/multi-select/bootstrap5-dark.css +12 -1
  81. package/styles/multi-select/bootstrap5.css +12 -1
  82. package/styles/multi-select/fabric-dark.css +13 -2
  83. package/styles/multi-select/fabric.css +13 -2
  84. package/styles/multi-select/fluent-dark.css +12 -1
  85. package/styles/multi-select/fluent.css +12 -1
  86. package/styles/multi-select/highcontrast-light.css +12 -1
  87. package/styles/multi-select/highcontrast.css +12 -1
  88. package/styles/multi-select/material-dark.css +12 -1
  89. package/styles/multi-select/material.css +12 -1
  90. package/styles/multi-select/material3-dark.css +10 -0
  91. package/styles/multi-select/material3.css +10 -0
  92. package/styles/multi-select/tailwind-dark.css +12 -1
  93. package/styles/multi-select/tailwind.css +12 -1
  94. package/styles/tailwind-dark.css +83 -9
  95. package/styles/tailwind.css +83 -9
@@ -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)) {
@@ -3121,6 +3134,9 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
3121
3134
  removeClass([focusedItem], dropDownBaseClasses.focus);
3122
3135
  }
3123
3136
  li.setAttribute('aria-selected', 'true');
3137
+ if (isNullOrUndefined(value)) {
3138
+ value = 'null';
3139
+ }
3124
3140
  this.activeIndex = this.getIndexByValue(value);
3125
3141
  };
3126
3142
  DropDownList.prototype.activeItem = function (li) {
@@ -3746,6 +3762,9 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
3746
3762
  var totalSkeletonCount = isSkeletonCountChange ? skeletonCount : this.skeletonCount;
3747
3763
  for (var i = 0; i < totalSkeletonCount; i++) {
3748
3764
  var liElement = this.createElement('li', { className: dropDownListClasses.virtualList, styles: 'overflow: inherit' });
3765
+ if (this.enableVirtualization && this.itemTemplate) {
3766
+ liElement.style.height = this.listItemHeight + 'px';
3767
+ }
3749
3768
  var skeleton = new Skeleton({
3750
3769
  shape: "Text",
3751
3770
  height: "10px",
@@ -4013,6 +4032,10 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
4013
4032
  _this.setFooterTemplate(popupEle);
4014
4033
  }
4015
4034
  document.body.appendChild(popupEle);
4035
+ if (_this.enableVirtualization && _this.itemTemplate) {
4036
+ var listitems = popupEle.querySelectorAll('li.e-list-item:not(.e-virtual-list)');
4037
+ _this.listItemHeight = listitems.length > 0 ? Math.ceil(listitems[0].getBoundingClientRect().height) : 0;
4038
+ }
4016
4039
  if (_this.enableVirtualization && !_this.list.classList.contains(dropDownBaseClasses.noData)) {
4017
4040
  if (!_this.list.querySelector('.e-virtual-ddl-content')) {
4018
4041
  _this.list.appendChild(_this.createElement('div', {
@@ -4184,7 +4207,8 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
4184
4207
  var _this = this;
4185
4208
  this.popupObj = new Popup(element, {
4186
4209
  width: this.setWidth(), targetType: 'relative',
4187
- relateTo: this.inputWrapper.container, collision: { X: 'flip', Y: 'flip' }, offsetY: offsetValue,
4210
+ relateTo: this.inputWrapper.container,
4211
+ collision: this.enableRtl ? { X: 'fit', Y: 'flip' } : { X: 'flip', Y: 'flip' }, offsetY: offsetValue,
4188
4212
  enableRtl: this.enableRtl, offsetX: left,
4189
4213
  position: this.enableRtl ? { X: 'right', Y: 'bottom' } : { X: 'left', Y: 'bottom' },
4190
4214
  zIndex: this.zIndex,
@@ -4339,7 +4363,12 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
4339
4363
  if (!this.enableVirtualization || this.isKeyBoardAction || isInitialSelection) {
4340
4364
  if (this.isKeyBoardAction && this.enableVirtualization && lastElementValue && currentElementValue === lastElementValue && keyAction != "end" && !this.isVirtualScrolling) {
4341
4365
  this.isPreventKeyAction = true;
4342
- this.list.scrollTop += this.selectedLI.offsetHeight * liCount;
4366
+ if (this.enableVirtualization && this.itemTemplate) {
4367
+ this.list.scrollTop += nextOffset;
4368
+ }
4369
+ else {
4370
+ this.list.scrollTop += this.selectedLI.offsetHeight * liCount;
4371
+ }
4343
4372
  this.isPreventKeyAction = this.IsScrollerAtEnd() ? false : this.isPreventKeyAction;
4344
4373
  this.isKeyBoardAction = false;
4345
4374
  this.isPreventScrollAction = false;
@@ -4677,7 +4706,7 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
4677
4706
  this.inputElement.parentElement.insertBefore(this.element, this.inputElement);
4678
4707
  }
4679
4708
  this.hiddenElement = this.createElement('select', {
4680
- attrs: { 'aria-hidden': 'true', 'tabindex': '-1', 'class': dropDownListClasses.hiddenElement }
4709
+ attrs: { 'aria-hidden': 'true', 'aria-label': this.getModuleName(), 'tabindex': '-1', 'class': dropDownListClasses.hiddenElement }
4681
4710
  });
4682
4711
  prepend([this.hiddenElement], this.inputWrapper.container);
4683
4712
  this.validationAttribute(this.element, this.hiddenElement);
@@ -12384,7 +12413,8 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
12384
12413
  this.popupObj = new Popup(this.popupWrapper, {
12385
12414
  width: this.calcPopupWidth(), targetType: 'relative',
12386
12415
  position: this.enableRtl ? { X: 'right', Y: 'bottom' } : { X: 'left', Y: 'bottom' },
12387
- relateTo: this.overAllWrapper, collision: { X: 'flip', Y: 'flip' }, offsetY: 1,
12416
+ relateTo: this.overAllWrapper,
12417
+ collision: this.enableRtl ? { X: 'fit', Y: 'flip' } : { X: 'flip', Y: 'flip' }, offsetY: 1,
12388
12418
  enableRtl: this.enableRtl, zIndex: this.zIndex,
12389
12419
  close: function () {
12390
12420
  if (_this.popupObj.element.parentElement) {