@syncfusion/ej2-dropdowns 28.2.6 → 28.2.9

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 (100) 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 +30 -13
  5. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  6. package/dist/es6/ej2-dropdowns.es5.js +30 -13
  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 +8 -8
  12. package/src/drop-down-list/drop-down-list.js +1 -1
  13. package/src/drop-down-tree/drop-down-tree.js +10 -2
  14. package/src/list-box/list-box.js +2 -1
  15. package/src/mention/mention.js +4 -4
  16. package/src/multi-select/multi-select.d.ts +1 -0
  17. package/src/multi-select/multi-select.js +13 -5
  18. package/styles/bds-lite.css +9 -2
  19. package/styles/bds.css +19 -4
  20. package/styles/bootstrap-dark-lite.css +7 -0
  21. package/styles/bootstrap-dark.css +22 -0
  22. package/styles/bootstrap-lite.css +7 -0
  23. package/styles/bootstrap.css +22 -0
  24. package/styles/bootstrap4-lite.css +8 -1
  25. package/styles/bootstrap4.css +24 -2
  26. package/styles/bootstrap5-dark-lite.css +8 -1
  27. package/styles/bootstrap5-dark.css +17 -2
  28. package/styles/bootstrap5-lite.css +8 -1
  29. package/styles/bootstrap5.3-lite.css +8 -1
  30. package/styles/bootstrap5.3.css +24 -2
  31. package/styles/bootstrap5.css +17 -2
  32. package/styles/drop-down-tree/_bds-definition.scss +12 -3
  33. package/styles/drop-down-tree/_bigger.scss +12 -12
  34. package/styles/drop-down-tree/_bootstrap-dark-definition.scss +9 -0
  35. package/styles/drop-down-tree/_bootstrap-definition.scss +10 -1
  36. package/styles/drop-down-tree/_bootstrap4-definition.scss +12 -3
  37. package/styles/drop-down-tree/_bootstrap5-definition.scss +10 -2
  38. package/styles/drop-down-tree/_bootstrap5.3-definition.scss +10 -2
  39. package/styles/drop-down-tree/_fabric-dark-definition.scss +9 -0
  40. package/styles/drop-down-tree/_fabric-definition.scss +9 -0
  41. package/styles/drop-down-tree/_fluent-definition.scss +10 -2
  42. package/styles/drop-down-tree/_fluent2-definition.scss +12 -3
  43. package/styles/drop-down-tree/_fusionnew-definition.scss +9 -0
  44. package/styles/drop-down-tree/_highcontrast-definition.scss +10 -1
  45. package/styles/drop-down-tree/_highcontrast-light-definition.scss +9 -0
  46. package/styles/drop-down-tree/_layout.scss +9 -5
  47. package/styles/drop-down-tree/_material-dark-definition.scss +10 -1
  48. package/styles/drop-down-tree/_material-definition.scss +10 -1
  49. package/styles/drop-down-tree/_material3-definition.scss +11 -2
  50. package/styles/drop-down-tree/_tailwind-definition.scss +11 -3
  51. package/styles/drop-down-tree/_tailwind3-definition.scss +9 -1
  52. package/styles/drop-down-tree/bds.css +19 -4
  53. package/styles/drop-down-tree/bootstrap-dark.css +22 -0
  54. package/styles/drop-down-tree/bootstrap.css +22 -0
  55. package/styles/drop-down-tree/bootstrap4.css +24 -2
  56. package/styles/drop-down-tree/bootstrap5-dark.css +17 -2
  57. package/styles/drop-down-tree/bootstrap5.3.css +24 -2
  58. package/styles/drop-down-tree/bootstrap5.css +17 -2
  59. package/styles/drop-down-tree/fabric-dark.css +22 -0
  60. package/styles/drop-down-tree/fabric.css +22 -0
  61. package/styles/drop-down-tree/fluent-dark.css +17 -2
  62. package/styles/drop-down-tree/fluent.css +17 -2
  63. package/styles/drop-down-tree/fluent2.css +25 -3
  64. package/styles/drop-down-tree/highcontrast-light.css +22 -0
  65. package/styles/drop-down-tree/highcontrast.css +23 -1
  66. package/styles/drop-down-tree/material-dark.css +22 -0
  67. package/styles/drop-down-tree/material.css +23 -1
  68. package/styles/drop-down-tree/material3-dark.css +24 -2
  69. package/styles/drop-down-tree/material3.css +24 -2
  70. package/styles/drop-down-tree/tailwind-dark.css +19 -4
  71. package/styles/drop-down-tree/tailwind.css +19 -4
  72. package/styles/drop-down-tree/tailwind3.css +22 -1
  73. package/styles/fabric-dark-lite.css +7 -0
  74. package/styles/fabric-dark.css +22 -0
  75. package/styles/fabric-lite.css +7 -0
  76. package/styles/fabric.css +22 -0
  77. package/styles/fluent-dark-lite.css +8 -1
  78. package/styles/fluent-dark.css +17 -2
  79. package/styles/fluent-lite.css +8 -1
  80. package/styles/fluent.css +17 -2
  81. package/styles/fluent2-lite.css +9 -2
  82. package/styles/fluent2.css +25 -3
  83. package/styles/highcontrast-light-lite.css +7 -0
  84. package/styles/highcontrast-light.css +22 -0
  85. package/styles/highcontrast-lite.css +8 -1
  86. package/styles/highcontrast.css +23 -1
  87. package/styles/material-dark-lite.css +7 -0
  88. package/styles/material-dark.css +22 -0
  89. package/styles/material-lite.css +8 -1
  90. package/styles/material.css +23 -1
  91. package/styles/material3-dark-lite.css +8 -1
  92. package/styles/material3-dark.css +24 -2
  93. package/styles/material3-lite.css +8 -1
  94. package/styles/material3.css +24 -2
  95. package/styles/tailwind-dark-lite.css +9 -2
  96. package/styles/tailwind-dark.css +19 -4
  97. package/styles/tailwind-lite.css +9 -2
  98. package/styles/tailwind.css +19 -4
  99. package/styles/tailwind3-lite.css +6 -0
  100. package/styles/tailwind3.css +22 -1
@@ -5121,7 +5121,7 @@ let DropDownList = class DropDownList extends DropDownBase {
5121
5121
  && ((this.dataSource instanceof DataManager)
5122
5122
  || (!isNullOrUndefined(this.dataSource) && !isNullOrUndefined(this.dataSource.length) &&
5123
5123
  this.dataSource.length !== 0)))) {
5124
- if (this.itemTemplate && this.element.tagName === 'EJS-COMBOBOX' && this.allowFiltering) {
5124
+ if (this.itemTemplate && (this.element.tagName === 'EJS-COMBOBOX' || this.isReact) && this.allowFiltering) {
5125
5125
  setTimeout(() => {
5126
5126
  this.updateActionCompleteDataValues(ulElement, list);
5127
5127
  }, 0);
@@ -8890,6 +8890,10 @@ let DropDownTree = class DropDownTree extends Component {
8890
8890
  this.updateFocus(focusedElement);
8891
8891
  }
8892
8892
  if (this.allowFiltering) {
8893
+ const focusedElement = this.treeObj.element.querySelector('li.e-node-focus');
8894
+ if (!isNullOrUndefined(focusedElement)) {
8895
+ removeClass([focusedElement], 'e-node-focus');
8896
+ }
8893
8897
  removeClass([this.inputWrapper], [INPUTFOCUS]);
8894
8898
  this.filterObj.element.focus();
8895
8899
  }
@@ -9743,7 +9747,7 @@ let DropDownTree = class DropDownTree extends Component {
9743
9747
  this.chipCollection.appendChild(chip);
9744
9748
  if (this.showClearButton) {
9745
9749
  chip.appendChild(chipClose);
9746
- EventHandler.add(chipClose, 'mousedown', this.removeChip, this);
9750
+ EventHandler.add(chipClose, 'mouseup', this.removeChip, this);
9747
9751
  }
9748
9752
  }
9749
9753
  setTagValues() {
@@ -9876,6 +9880,10 @@ let DropDownTree = class DropDownTree extends Component {
9876
9880
  if (!this.enabled || this.readonly) {
9877
9881
  return;
9878
9882
  }
9883
+ if (e.target.classList.contains('e-chips-close') && !this.isPopupOpen) {
9884
+ e.stopPropagation();
9885
+ e.preventDefault();
9886
+ }
9879
9887
  const element = e.target.parentElement;
9880
9888
  const value = element.getAttribute('data-value');
9881
9889
  if (this.chipCollection) {
@@ -10432,7 +10440,7 @@ let DropDownTree = class DropDownTree extends Component {
10432
10440
  if (this.chipCollection) {
10433
10441
  const chipsIcons = selectAll('.e-chips-close', this.chipCollection);
10434
10442
  for (const element of chipsIcons) {
10435
- EventHandler.remove(element, 'mousedown', this.removeChip);
10443
+ EventHandler.remove(element, 'mouseup', this.removeChip);
10436
10444
  }
10437
10445
  }
10438
10446
  this.chipWrapper = null;
@@ -12548,6 +12556,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
12548
12556
  this.isBlurDispatching = false;
12549
12557
  this.isFilterPrevented = false;
12550
12558
  this.isFilteringAction = false;
12559
+ this.isVirtualReorder = false;
12551
12560
  this.isValidKey = false;
12552
12561
  this.selectAllEventData = [];
12553
12562
  this.selectAllEventEle = [];
@@ -12742,12 +12751,14 @@ let MultiSelect = class MultiSelect extends DropDownBase {
12742
12751
  }
12743
12752
  updateVirtualReOrderList(isCheckBoxUpdate) {
12744
12753
  const query = this.getForQuery(this.value, true).clone();
12754
+ this.isVirtualReorder = true;
12745
12755
  if (this.enableVirtualization && this.dataSource instanceof DataManager) {
12746
12756
  this.resetList(this.selectedListData, this.fields, query);
12747
12757
  }
12748
12758
  else {
12749
12759
  this.resetList(this.dataSource, this.fields, query);
12750
12760
  }
12761
+ this.isVirtualReorder = false;
12751
12762
  this.UpdateSkeleton();
12752
12763
  this.liCollections = this.list.querySelectorAll('.' + dropDownBaseClasses.li);
12753
12764
  this.virtualItemCount = this.itemCount;
@@ -12956,10 +12967,14 @@ let MultiSelect = class MultiSelect extends DropDownBase {
12956
12967
  const field = this.isPrimitiveData ? '' : this.fields.value;
12957
12968
  if (this.enableVirtualization && valuecheck) {
12958
12969
  if (isCheckbox) {
12959
- for (let i = 0; i < valuecheck.length; i++) {
12970
+ const startindex = this.viewPortInfo.startIndex;
12971
+ const endindex = (((startindex + this.viewPortInfo.endIndex) <= (valuecheck.length)) &&
12972
+ valuecheck[(startindex + this.viewPortInfo.endIndex)]) ? (startindex + this.viewPortInfo.endIndex)
12973
+ : (valuecheck.length);
12974
+ for (let i = startindex; i < endindex; i++) {
12960
12975
  const value = this.allowObjectBinding ? getValue((this.fields.value) ?
12961
12976
  this.fields.value : '', valuecheck[i]) : valuecheck[i];
12962
- if (i === 0) {
12977
+ if (i === startindex) {
12963
12978
  predicate = new Predicate(field, 'equal', (value));
12964
12979
  }
12965
12980
  else {
@@ -13386,7 +13401,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
13386
13401
  }
13387
13402
  }
13388
13403
  }
13389
- if ((this.allowFiltering && isSkip) || !isReOrder || (!this.allowFiltering && isSkip)) {
13404
+ if ((this.allowFiltering && isSkip) || !isReOrder || (!this.allowFiltering && isSkip) && !this.isVirtualReorder) {
13390
13405
  if (!isReOrder) {
13391
13406
  filterQuery.skip(this.viewPortInfo.startIndex);
13392
13407
  }
@@ -16085,7 +16100,8 @@ let MultiSelect = class MultiSelect extends DropDownBase {
16085
16100
  }
16086
16101
  else {
16087
16102
  temp = isInitialVirtualData && delim ? this.text : this.getTextByValue(value);
16088
- const textValues = this.isDynamicRemoteVirtualData && value != null && value !== '' ? this.getTextByValue(value) : isInitialVirtualData ? this.text : (this.text && this.text !== '' ? this.text + this.delimiterChar + temp : temp);
16103
+ const textValues = this.isDynamicRemoteVirtualData && value != null && value !== '' && !isInitialVirtualData ?
16104
+ this.getTextByValue(value) : isInitialVirtualData ? this.text : (this.text && this.text !== '' ? this.text + this.delimiterChar + temp : temp);
16089
16105
  data += temp + delimiterChar + ' ';
16090
16106
  text.push(textValues);
16091
16107
  hiddenElementContent = this.hiddenElement.innerHTML;
@@ -16245,7 +16261,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
16245
16261
  (this.mode === 'Box' || this.mode === 'Default'))) ||
16246
16262
  (this.enableVirtualization && value != null && text != null && !isCustomData)) {
16247
16263
  const currentText = [];
16248
- const textValues = this.isDynamicRemoteVirtualData && text != null && text !== '' ? text : this.text != null && this.text !== '' && !this.text.includes(text) ? this.text + this.delimiterChar + text : text;
16264
+ const textValues = this.isDynamicRemoteVirtualData && text != null && text !== '' && index === 0 ? text : this.text != null && this.text !== '' && !this.text.includes(text) ? this.text + this.delimiterChar + text : text;
16249
16265
  currentText.push(textValues);
16250
16266
  this.setProperties({ text: currentText.toString() }, true);
16251
16267
  this.addChip(text, value);
@@ -21430,7 +21446,8 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
21430
21446
  }
21431
21447
  const char = String.fromCharCode(e.keyCode);
21432
21448
  const isWordCharacter = char.match(/\w/);
21433
- if (!isNullOrUndefined(isWordCharacter)) {
21449
+ const isWordAccentCharacter = char.match(/[A-Za-z0-9\u00C0-\u024F ]/);
21450
+ if (!isNullOrUndefined(isWordCharacter) || !isNullOrUndefined(isWordAccentCharacter)) {
21434
21451
  this.isValidKey = true;
21435
21452
  }
21436
21453
  this.isBackSpace = e.keyCode === 8;
@@ -23331,8 +23348,7 @@ let Mention = class Mention extends DropDownBase {
23331
23348
  if (lastNode) {
23332
23349
  range = range.cloneRange();
23333
23350
  if (this.isRTE) {
23334
- range.setStart(lastNode, 0);
23335
- range.setEnd(lastNode, lastNode.textContent.length);
23351
+ range.setStart(lastNode, lastNode.textContent.length);
23336
23352
  }
23337
23353
  else {
23338
23354
  range.setStartAfter(lastNode);
@@ -23553,6 +23569,7 @@ let Mention = class Mention extends DropDownBase {
23553
23569
  this.range = this.getCurrentRange();
23554
23570
  }
23555
23571
  const currentRange = this.getTextRange();
23572
+ this.queryString = text;
23556
23573
  const lastWordRange = this.getLastLetter(currentRange);
23557
23574
  if ((this.ignoreCase && (text === lastWordRange || text === lastWordRange.toLowerCase()))
23558
23575
  || !this.ignoreCase && text === lastWordRange) {
@@ -23568,8 +23585,8 @@ let Mention = class Mention extends DropDownBase {
23568
23585
  this.renderList();
23569
23586
  this.renderPopup();
23570
23587
  }
23571
- else {
23572
- this.showPopup();
23588
+ else if (!this.isPopupOpen) {
23589
+ this.renderPopup();
23573
23590
  }
23574
23591
  this.popupObj.element.style.left = formatUnit(positionX);
23575
23592
  this.popupObj.element.style.top = formatUnit(positionY);