@syncfusion/ej2-dropdowns 30.1.42 → 30.2.5

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 (123) hide show
  1. package/aceconfig.js +17 -0
  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 +149 -8
  6. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  7. package/dist/es6/ej2-dropdowns.es5.js +150 -8
  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 +8 -8
  13. package/src/common/virtual-scroll.js +3 -0
  14. package/src/drop-down-base/drop-down-base.d.ts +2 -0
  15. package/src/drop-down-base/drop-down-base.js +87 -1
  16. package/src/drop-down-list/drop-down-list.js +4 -1
  17. package/src/list-box/list-box.d.ts +1 -0
  18. package/src/list-box/list-box.js +21 -3
  19. package/src/multi-select/multi-select.js +35 -3
  20. package/styles/bds-lite.css +12 -0
  21. package/styles/bds.css +12 -0
  22. package/styles/bootstrap-dark-lite.css +12 -0
  23. package/styles/bootstrap-dark.css +12 -0
  24. package/styles/bootstrap-lite.css +12 -0
  25. package/styles/bootstrap.css +12 -0
  26. package/styles/bootstrap4-lite.css +12 -0
  27. package/styles/bootstrap4.css +12 -0
  28. package/styles/bootstrap5-dark-lite.css +12 -0
  29. package/styles/bootstrap5-dark.css +12 -0
  30. package/styles/bootstrap5-lite.css +12 -0
  31. package/styles/bootstrap5.3-lite.css +12 -0
  32. package/styles/bootstrap5.3.css +12 -0
  33. package/styles/bootstrap5.css +12 -0
  34. package/styles/drop-down-tree/_layout.scss +5 -0
  35. package/styles/drop-down-tree/bds.css +3 -0
  36. package/styles/drop-down-tree/bootstrap-dark.css +3 -0
  37. package/styles/drop-down-tree/bootstrap.css +3 -0
  38. package/styles/drop-down-tree/bootstrap4.css +3 -0
  39. package/styles/drop-down-tree/bootstrap5-dark.css +3 -0
  40. package/styles/drop-down-tree/bootstrap5.3.css +3 -0
  41. package/styles/drop-down-tree/bootstrap5.css +3 -0
  42. package/styles/drop-down-tree/fabric-dark.css +3 -0
  43. package/styles/drop-down-tree/fabric.css +3 -0
  44. package/styles/drop-down-tree/fluent-dark.css +3 -0
  45. package/styles/drop-down-tree/fluent.css +3 -0
  46. package/styles/drop-down-tree/fluent2.css +3 -0
  47. package/styles/drop-down-tree/highcontrast-light.css +3 -0
  48. package/styles/drop-down-tree/highcontrast.css +3 -0
  49. package/styles/drop-down-tree/material-dark.css +3 -0
  50. package/styles/drop-down-tree/material.css +3 -0
  51. package/styles/drop-down-tree/material3-dark.css +3 -0
  52. package/styles/drop-down-tree/material3.css +3 -0
  53. package/styles/drop-down-tree/tailwind-dark.css +3 -0
  54. package/styles/drop-down-tree/tailwind.css +3 -0
  55. package/styles/drop-down-tree/tailwind3.css +3 -0
  56. package/styles/fabric-dark-lite.css +12 -0
  57. package/styles/fabric-dark.css +12 -0
  58. package/styles/fabric-lite.css +12 -0
  59. package/styles/fabric.css +12 -0
  60. package/styles/fluent-dark-lite.css +12 -0
  61. package/styles/fluent-dark.css +12 -0
  62. package/styles/fluent-lite.css +12 -0
  63. package/styles/fluent.css +12 -0
  64. package/styles/fluent2-lite.css +12 -0
  65. package/styles/fluent2.css +12 -0
  66. package/styles/highcontrast-light-lite.css +12 -0
  67. package/styles/highcontrast-light.css +12 -0
  68. package/styles/highcontrast-lite.css +12 -0
  69. package/styles/highcontrast.css +12 -0
  70. package/styles/list-box/_bds-definition.scss +1 -0
  71. package/styles/list-box/_bootstrap-dark-definition.scss +1 -0
  72. package/styles/list-box/_bootstrap-definition.scss +1 -0
  73. package/styles/list-box/_bootstrap4-definition.scss +1 -0
  74. package/styles/list-box/_bootstrap5-definition.scss +1 -0
  75. package/styles/list-box/_bootstrap5.3-definition.scss +1 -0
  76. package/styles/list-box/_fabric-dark-definition.scss +1 -0
  77. package/styles/list-box/_fabric-definition.scss +1 -0
  78. package/styles/list-box/_fluent-definition.scss +1 -0
  79. package/styles/list-box/_fluent2-definition.scss +1 -0
  80. package/styles/list-box/_fusionnew-definition.scss +1 -0
  81. package/styles/list-box/_highcontrast-definition.scss +1 -0
  82. package/styles/list-box/_highcontrast-light-definition.scss +1 -0
  83. package/styles/list-box/_layout.scss +8 -0
  84. package/styles/list-box/_material-dark-definition.scss +1 -0
  85. package/styles/list-box/_material-definition.scss +1 -0
  86. package/styles/list-box/_material3-definition.scss +1 -0
  87. package/styles/list-box/_tailwind-definition.scss +1 -0
  88. package/styles/list-box/_tailwind3-definition.scss +1 -0
  89. package/styles/list-box/bds.css +9 -0
  90. package/styles/list-box/bootstrap-dark.css +9 -0
  91. package/styles/list-box/bootstrap.css +9 -0
  92. package/styles/list-box/bootstrap4.css +9 -0
  93. package/styles/list-box/bootstrap5-dark.css +9 -0
  94. package/styles/list-box/bootstrap5.3.css +9 -0
  95. package/styles/list-box/bootstrap5.css +9 -0
  96. package/styles/list-box/fabric-dark.css +9 -0
  97. package/styles/list-box/fabric.css +9 -0
  98. package/styles/list-box/fluent-dark.css +9 -0
  99. package/styles/list-box/fluent.css +9 -0
  100. package/styles/list-box/fluent2.css +9 -0
  101. package/styles/list-box/highcontrast-light.css +9 -0
  102. package/styles/list-box/highcontrast.css +9 -0
  103. package/styles/list-box/material-dark.css +9 -0
  104. package/styles/list-box/material.css +9 -0
  105. package/styles/list-box/material3-dark.css +9 -0
  106. package/styles/list-box/material3.css +9 -0
  107. package/styles/list-box/tailwind-dark.css +9 -0
  108. package/styles/list-box/tailwind.css +9 -0
  109. package/styles/list-box/tailwind3.css +9 -0
  110. package/styles/material-dark-lite.css +12 -0
  111. package/styles/material-dark.css +12 -0
  112. package/styles/material-lite.css +12 -0
  113. package/styles/material.css +12 -0
  114. package/styles/material3-dark-lite.css +12 -0
  115. package/styles/material3-dark.css +12 -0
  116. package/styles/material3-lite.css +12 -0
  117. package/styles/material3.css +12 -0
  118. package/styles/tailwind-dark-lite.css +12 -0
  119. package/styles/tailwind-dark.css +12 -0
  120. package/styles/tailwind-lite.css +12 -0
  121. package/styles/tailwind.css +12 -0
  122. package/styles/tailwind3-lite.css +12 -0
  123. package/styles/tailwind3.css +12 -0
@@ -430,6 +430,9 @@ class VirtualScroll {
430
430
  isListUpdated = false;
431
431
  }
432
432
  else if (this.parent.viewPortInfo.startIndex !== 0) {
433
+ if (this.parent.dataSource instanceof DataManager) {
434
+ this.parent.setCurrentView = false;
435
+ }
433
436
  this.parent.updateVirtualReOrderList(true);
434
437
  const oldUlElement = this.parent.list.querySelector('.e-list-parent' + ':not(.e-reorder)');
435
438
  if (oldUlElement) {
@@ -1718,6 +1721,86 @@ let DropDownBase = class DropDownBase extends Component {
1718
1721
  this.fiteredGroupHeaderItems = clonedHeaders;
1719
1722
  }
1720
1723
  }
1724
+ setCustomListData(dataSource, fields, query, event) {
1725
+ fields = fields ? fields : this.fields;
1726
+ let ulElement;
1727
+ this.isActive = true;
1728
+ this.isPreventChange = this.isAngular && this.preventChange ? true : this.isPreventChange;
1729
+ if (!this.isRequesting) {
1730
+ this.isRequesting = true;
1731
+ this.showSpinner();
1732
+ this.isRequesting = false;
1733
+ let isReOrder = true;
1734
+ let listItems;
1735
+ if (this.isVirtualizationEnabled && !this.virtualGroupDataSource && this.fields.groupBy) {
1736
+ const data = new DataManager(this.dataSource).executeLocal(new Query().group(this.fields.groupBy));
1737
+ this.virtualGroupDataSource = data.records;
1738
+ }
1739
+ const dataManager = this.isVirtualizationEnabled &&
1740
+ this.virtualGroupDataSource
1741
+ && !this.isCustomDataUpdated ? new DataManager(this.virtualGroupDataSource) :
1742
+ new DataManager(dataSource);
1743
+ listItems = (this.getQuery(query)).executeLocal(dataManager);
1744
+ if (!this.virtualSelectAll) {
1745
+ const newQuery = this.getQuery(query);
1746
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1747
+ if (this.isVirtualizationEnabled && (listItems.count !== 0 &&
1748
+ listItems.count < (this.itemCount * 2)) && !this.appendUncheckList) {
1749
+ if (newQuery) {
1750
+ for (let queryElements = 0; queryElements < newQuery.queries.length; queryElements++) {
1751
+ if (newQuery.queries[queryElements].fn === 'onTake') {
1752
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1753
+ newQuery.queries[queryElements].e.nos = listItems.count;
1754
+ listItems = (newQuery).executeLocal(dataManager);
1755
+ }
1756
+ if (this.getModuleName() === 'multiselect' && (newQuery.queries[queryElements].e.condition === 'or' || newQuery.queries[queryElements].e.operator === 'equal') && !this.isCustomFiltering) {
1757
+ isReOrder = false;
1758
+ }
1759
+ }
1760
+ if (isReOrder) {
1761
+ listItems = (newQuery).executeLocal(dataManager);
1762
+ this.isVirtualTrackHeight = (!(this.dataSource instanceof DataManager) &&
1763
+ !this.isCustomDataUpdated) ? true : false;
1764
+ }
1765
+ }
1766
+ }
1767
+ else {
1768
+ this.isVirtualTrackHeight = false;
1769
+ if (newQuery) {
1770
+ for (let queryElements = 0; queryElements < newQuery.queries.length; queryElements++) {
1771
+ if (this.getModuleName() === 'multiselect' && ((newQuery.queries[queryElements].e && newQuery.queries[queryElements].e.condition === 'or') || (newQuery.queries[queryElements].e && newQuery.queries[queryElements].e.operator === 'equal'))) {
1772
+ isReOrder = false;
1773
+ }
1774
+ }
1775
+ }
1776
+ }
1777
+ }
1778
+ if (isReOrder && (!(this.dataSource instanceof DataManager) && !this.isCustomDataUpdated) &&
1779
+ !this.virtualSelectAll) {
1780
+ // eslint-disable @typescript-eslint/no-explicit-any
1781
+ this.dataCount = this.totalItemCount = this.virtualSelectAll ? listItems.length :
1782
+ listItems.count;
1783
+ }
1784
+ listItems = this.isVirtualizationEnabled ? listItems.result : listItems;
1785
+ this.isPreventChange = this.isAngular && this.preventChange ? true : this.isPreventChange;
1786
+ this.isCustomFiltering = false;
1787
+ if (this.isIncrementalRequest) {
1788
+ ulElement = this.renderItems(listItems, fields);
1789
+ return;
1790
+ }
1791
+ ulElement = this.renderItems(listItems, fields);
1792
+ this.onActionComplete(ulElement, listItems, event);
1793
+ if (this.groupTemplate) {
1794
+ this.renderGroupTemplate(ulElement);
1795
+ }
1796
+ this.bindChildItems(listItems, ulElement, fields);
1797
+ setTimeout(() => {
1798
+ if (this.getModuleName() === 'multiselect' && this.itemTemplate != null && (ulElement.childElementCount > 0 && (ulElement.children[0].childElementCount > 0 || (this.fields.groupBy && ulElement.children[1] && ulElement.children[1].childElementCount > 0)))) {
1799
+ this.updateDataList();
1800
+ }
1801
+ });
1802
+ }
1803
+ }
1721
1804
  handleVirtualKeyboardActions(e, pageCount) {
1722
1805
  // Used this method in component side.
1723
1806
  }
@@ -2436,7 +2519,12 @@ let DropDownBase = class DropDownBase extends Component {
2436
2519
  }
2437
2520
  dataSource = this.getModuleName() === 'combobox' && this.selectData && dataSource instanceof Array && dataSource.length < this.selectData.length && this.addedNewItem ? this.selectData : dataSource;
2438
2521
  this.addedNewItem = false;
2439
- this.setListData(dataSource, fields, query, e);
2522
+ if (this.isCustomReset && this.getModuleName() === 'multiselect') {
2523
+ this.setCustomListData(dataSource, fields, query, e);
2524
+ }
2525
+ else {
2526
+ this.setListData(dataSource, fields, query, e);
2527
+ }
2440
2528
  }
2441
2529
  }
2442
2530
  updateSelectElementData(isFiltering) {
@@ -4504,6 +4592,9 @@ let DropDownList = class DropDownList extends DropDownBase {
4504
4592
  }
4505
4593
  if (!isNullOrUndefined(dataItem.value) && !this.enableVirtualization && this.allowFiltering) {
4506
4594
  this.activeIndex = this.getIndexByValueFilter(dataItem.value, this.actionCompleteData.ulElement);
4595
+ if (isNullOrUndefined(this.activeIndex)) {
4596
+ this.activeIndex = this.getIndexByValue(dataItem.value);
4597
+ }
4507
4598
  }
4508
4599
  const clearIcon = dropDownListClasses.clearIcon;
4509
4600
  const isFilterElement = this.isFiltering() && this.filterInput && (this.getModuleName() === 'combobox');
@@ -5511,7 +5602,7 @@ let DropDownList = class DropDownList extends DropDownBase {
5511
5602
  popupEle.setAttribute('aria-label', this.element.id);
5512
5603
  popupEle.setAttribute('role', 'dialog');
5513
5604
  const searchBox = this.setSearchBox(popupEle);
5514
- this.listContainerHeight = this.allowFiltering && this.getModuleName() === 'dropdownlist' && Browser.isDevice ?
5605
+ this.listContainerHeight = this.allowFiltering && this.getModuleName() === 'dropdownlist' && Browser.isDevice && this.isDeviceFullScreen ?
5515
5606
  formatUnit(Math.round(window.outerHeight).toString() + 'px') : formatUnit(this.popupHeight);
5516
5607
  if (this.headerTemplate) {
5517
5608
  this.setHeaderTemplate(popupEle);
@@ -13329,7 +13420,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
13329
13420
  }
13330
13421
  const isContainsValue = valuecheck.some((item) => item !== null);
13331
13422
  if (valuecheck.length > 0 && this.dataSource instanceof DataManager && !isNullOrUndefined(this.value)
13332
- && this.listData != null && isContainsValue) {
13423
+ && this.listData != null && (!this.enableVirtualization || (this.enableVirtualization && this.valueTemplate)) && isContainsValue) {
13333
13424
  this.isaddNonPresentItems = true;
13334
13425
  this.addNonPresentItems(valuecheck, this.ulElement, this.listData);
13335
13426
  this.isaddNonPresentItems = false;
@@ -13824,6 +13915,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
13824
13915
  checkForCustomValue(query, fields) {
13825
13916
  const dataChecks = !this.getValueByText(this.inputElement.value, this.ignoreCase);
13826
13917
  const field = fields ? fields : this.fields;
13918
+ this.isCustomReset = true;
13827
13919
  if (this.allowCustomValue && dataChecks) {
13828
13920
  const value = this.inputElement.value;
13829
13921
  const customData = (!isNullOrUndefined(this.mainData) && this.mainData.length > 0) ?
@@ -13877,6 +13969,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
13877
13969
  const tempData = JSON.parse(JSON.stringify(this.listData));
13878
13970
  tempData.splice(0, 0, dataItem);
13879
13971
  this.resetList(tempData, field, query);
13972
+ this.focusAtLastListItem(value);
13880
13973
  }
13881
13974
  }
13882
13975
  else if (this.listData) {
@@ -13905,6 +13998,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
13905
13998
  }
13906
13999
  }
13907
14000
  }
14001
+ this.isCustomReset = false;
13908
14002
  if (this.value && this.value.length) {
13909
14003
  this.refreshSelection();
13910
14004
  }
@@ -15170,11 +15264,20 @@ let MultiSelect = class MultiSelect extends DropDownBase {
15170
15264
  }
15171
15265
  removeChipSelection() {
15172
15266
  if (this.chipCollectionWrapper) {
15267
+ const selectedChips = this.chipCollectionWrapper.querySelectorAll('span.' + CHIP$1 + '.' + CHIP_SELECTED);
15268
+ if (selectedChips && selectedChips.length > 0) {
15269
+ for (let i = 0; i < selectedChips.length; i++) {
15270
+ selectedChips[i].removeAttribute('aria-live');
15271
+ }
15272
+ }
15173
15273
  this.removeChipFocus();
15174
15274
  }
15175
15275
  }
15176
15276
  addChipSelection(element, e) {
15177
15277
  addClass([element], CHIP_SELECTED);
15278
+ if (element) {
15279
+ element.setAttribute('aria-live', 'polite');
15280
+ }
15178
15281
  this.trigger('chipSelection', e);
15179
15282
  }
15180
15283
  getVirtualDataByValue(value) {
@@ -15372,6 +15475,9 @@ let MultiSelect = class MultiSelect extends DropDownBase {
15372
15475
  const collection = this.list.querySelectorAll('li.'
15373
15476
  + dropDownBaseClasses.li + ':not(.e-active)');
15374
15477
  removeClass(collection, 'e-disable');
15478
+ const mainListCollection = this.mainList.querySelectorAll('li.'
15479
+ + dropDownBaseClasses.li + ':not(.e-active)');
15480
+ removeClass(mainListCollection, 'e-disable');
15375
15481
  }
15376
15482
  this.trigger('removed', eventArgs);
15377
15483
  const targetEle = eve && eve.currentTarget;
@@ -15666,7 +15772,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
15666
15772
  let itemData = { text: value, value: value };
15667
15773
  const chip = this.createElement('span', {
15668
15774
  className: CHIP$1,
15669
- attrs: { 'data-value': value, 'title': data }
15775
+ attrs: { 'data-value': value, 'title': data, 'role': 'option', 'aria-selected': 'true' }
15670
15776
  });
15671
15777
  let compiledString;
15672
15778
  const chipContent = this.createElement('span', { className: CHIP_CONTENT$1 });
@@ -18216,7 +18322,8 @@ let MultiSelect = class MultiSelect extends DropDownBase {
18216
18322
  }
18217
18323
  const isContainsValue = valuecheck.some((item) => item !== null);
18218
18324
  if (prop === 'value' && valuecheck.length > 0 && this.dataSource instanceof DataManager && !isNullOrUndefined(this.value)
18219
- && this.listData != null && isContainsValue) {
18325
+ && this.listData != null && (!this.enableVirtualization || (this.enableVirtualization && this.valueTemplate))
18326
+ && isContainsValue) {
18220
18327
  this.mainData = null;
18221
18328
  this.setDynValue = true;
18222
18329
  this.isaddNonPresentItems = true;
@@ -18528,6 +18635,22 @@ let MultiSelect = class MultiSelect extends DropDownBase {
18528
18635
  else {
18529
18636
  this.setProperties({ value: null }, true);
18530
18637
  }
18638
+ this.checkAndResetCache();
18639
+ if (this.enableVirtualization) {
18640
+ this.updateInitialData();
18641
+ if (this.chipCollectionWrapper) {
18642
+ this.chipCollectionWrapper.innerHTML = '';
18643
+ }
18644
+ if (!this.isCustomDataUpdated) {
18645
+ this.notify('setGeneratedData', {
18646
+ module: 'VirtualScroll'
18647
+ });
18648
+ }
18649
+ this.list.scrollTop = 0;
18650
+ this.virtualListInfo = null;
18651
+ this.previousStartIndex = 0;
18652
+ this.previousEndIndex = this.itemCount;
18653
+ }
18531
18654
  }
18532
18655
  /**
18533
18656
  * To Initialize the control rendering
@@ -20089,6 +20212,22 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
20089
20212
  this.unSelectAllText = l10nSelect.getConstant('unSelectAllText');
20090
20213
  this.popupWrapper = this.list;
20091
20214
  this.checkBoxSelectionModule.checkAllParent = null;
20215
+ if (this.filterParent) {
20216
+ const parentNode = this.filterParent.parentNode;
20217
+ if (parentNode) {
20218
+ const firstChild = this.filterParent.querySelector('input.e-input-filter');
20219
+ if (!firstChild.classList.contains('e-input-focus') && !firstChild.classList.contains('e-valid-input')
20220
+ && this.selectedListItemCount === 0) {
20221
+ this.filterParent = null;
20222
+ }
20223
+ if (this.selectedListItemCount > 0 && this.showSelectAll) {
20224
+ this.filterParent = null;
20225
+ }
20226
+ }
20227
+ else {
20228
+ this.filterParent = null;
20229
+ }
20230
+ }
20092
20231
  this.notify('selectAll', {});
20093
20232
  }
20094
20233
  }
@@ -20196,7 +20335,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
20196
20335
  setHeight() {
20197
20336
  const ele = this.toolbarSettings.items.length ? this.list.parentElement : this.list;
20198
20337
  ele.style.height = formatUnit(this.height);
20199
- if (this.allowFiltering && this.height.toString().indexOf('%') < 0) {
20338
+ if (this.allowFiltering && this.height.toString().indexOf('%') > 0) {
20200
20339
  addClass([this.list], 'e-filter-list');
20201
20340
  }
20202
20341
  else {
@@ -20284,6 +20423,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
20284
20423
  }
20285
20424
  }
20286
20425
  super.onActionComplete(ulElement, list, e);
20426
+ this.initWrapper();
20287
20427
  if (this.allowFiltering && !isNullOrUndefined(searchEle)) {
20288
20428
  this.list.insertBefore(searchEle, this.list.firstElementChild);
20289
20429
  this.filterParent = this.list.getElementsByClassName('e-filter-parent')[0];
@@ -20302,7 +20442,6 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
20302
20442
  });
20303
20443
  }
20304
20444
  }
20305
- this.initWrapper();
20306
20445
  this.setSelection(this.value, true, false, !this.isRendered);
20307
20446
  this.initDraggable();
20308
20447
  this.mainList = this.ulElement;
@@ -21106,6 +21245,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
21106
21245
  }
21107
21246
  }
21108
21247
  const len = this.getSelectedItems().length;
21248
+ this.selectedListItemCount = len;
21109
21249
  if (this.showSelectAll && searchCount) {
21110
21250
  this.notify('checkSelectAll', { module: 'CheckBoxSelection',
21111
21251
  value: (searchCount === len) ? 'check' : (len === 0) ? 'uncheck' : 'indeterminate' });
@@ -21914,7 +22054,8 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
21914
22054
  e.preventDefault();
21915
22055
  return;
21916
22056
  }
21917
- const char = String.fromCharCode(e.keyCode);
22057
+ const char = e.code && e.keyCode >= 96 && e.keyCode <= 105 ?
22058
+ String.fromCharCode(e.keyCode - 48) : String.fromCharCode(e.keyCode);
21918
22059
  const isWordCharacter = char.match(/\w/);
21919
22060
  const isWordAccentCharacter = char.match(/[A-Za-z0-9\u00C0-\u024F ]/);
21920
22061
  if (!isNullOrUndefined(isWordCharacter) || !isNullOrUndefined(isWordAccentCharacter)) {