@syncfusion/ej2-dropdowns 23.1.43 → 23.2.4

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 (41) hide show
  1. package/CHANGELOG.md +28 -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 +27 -7
  6. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  7. package/dist/es6/ej2-dropdowns.es5.js +27 -6
  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 +12 -12
  13. package/src/drop-down-base/drop-down-base.js +3 -1
  14. package/src/drop-down-list/drop-down-list.js +4 -1
  15. package/src/list-box/list-box.d.ts +3 -0
  16. package/src/list-box/list-box.js +19 -2
  17. package/src/mention/mention.js +1 -2
  18. package/styles/bootstrap-dark.css +5 -0
  19. package/styles/bootstrap5-dark.css +2 -1
  20. package/styles/bootstrap5.css +2 -1
  21. package/styles/fabric-dark.css +5 -0
  22. package/styles/fluent-dark.css +2 -1
  23. package/styles/fluent.css +2 -1
  24. package/styles/highcontrast.css +5 -0
  25. package/styles/multi-select/_bootstrap-dark-definition.scss +5 -0
  26. package/styles/multi-select/_bootstrap5-definition.scss +2 -1
  27. package/styles/multi-select/_fabric-dark-definition.scss +5 -0
  28. package/styles/multi-select/_fluent-definition.scss +2 -1
  29. package/styles/multi-select/_highcontrast-definition.scss +5 -0
  30. package/styles/multi-select/_tailwind-definition.scss +2 -1
  31. package/styles/multi-select/bootstrap-dark.css +5 -0
  32. package/styles/multi-select/bootstrap5-dark.css +2 -1
  33. package/styles/multi-select/bootstrap5.css +2 -1
  34. package/styles/multi-select/fabric-dark.css +5 -0
  35. package/styles/multi-select/fluent-dark.css +2 -1
  36. package/styles/multi-select/fluent.css +2 -1
  37. package/styles/multi-select/highcontrast.css +5 -0
  38. package/styles/multi-select/tailwind-dark.css +2 -1
  39. package/styles/multi-select/tailwind.css +2 -1
  40. package/styles/tailwind-dark.css +2 -1
  41. package/styles/tailwind.css +2 -1
@@ -763,7 +763,9 @@ let DropDownBase = class DropDownBase extends Component {
763
763
  }
764
764
  }
765
765
  else {
766
- ele.appendChild(noDataElement[i]);
766
+ if (noDataElement[i] instanceof HTMLElement) {
767
+ ele.appendChild(noDataElement[i]);
768
+ }
767
769
  }
768
770
  }
769
771
  }
@@ -2711,6 +2713,9 @@ let DropDownList = class DropDownList extends DropDownBase {
2711
2713
  updateUpDownAction(e, isVirtualKeyAction) {
2712
2714
  if (this.allowFiltering && !this.enableVirtualization && this.getModuleName() !== 'autocomplete') {
2713
2715
  let value = this.getItemData().value;
2716
+ if (isNullOrUndefined(value)) {
2717
+ value = 'null';
2718
+ }
2714
2719
  let filterIndex = this.getIndexByValue(value);
2715
2720
  if (!isNullOrUndefined(filterIndex)) {
2716
2721
  this.activeIndex = filterIndex;
@@ -2939,7 +2944,6 @@ let DropDownList = class DropDownList extends DropDownBase {
2939
2944
  if (this.inputWrapper.container.classList.contains(dropDownListClasses.inputFocus) || this.isPopupOpen) {
2940
2945
  this.isDocumentClick = true;
2941
2946
  const isActive = this.isRequested;
2942
- this.isInteracted = false;
2943
2947
  this.hidePopup(e);
2944
2948
  if (!isActive) {
2945
2949
  this.onFocusOut();
@@ -5272,6 +5276,7 @@ let DropDownList = class DropDownList extends DropDownBase {
5272
5276
  this.isSelectCustom = false;
5273
5277
  this.clearAll(e);
5274
5278
  }
5279
+ this.isInteracted = false;
5275
5280
  }
5276
5281
  /* eslint-disable valid-jsdoc, jsdoc/require-param */
5277
5282
  /**
@@ -15414,6 +15419,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
15414
15419
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
15415
15420
  const event = args.event;
15416
15421
  let wrapper;
15422
+ this.stopTimer();
15417
15423
  if (args.target && (args.target.classList.contains('e-listbox-wrapper') || args.target.classList.contains('e-list-item')
15418
15424
  || args.target.classList.contains('e-filter-parent') || args.target.classList.contains('e-input-group')
15419
15425
  || args.target.closest('.e-list-item'))) {
@@ -15433,10 +15439,10 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
15433
15439
  }
15434
15440
  boundRect = scrollParent.getBoundingClientRect();
15435
15441
  if ((boundRect.y + scrollParent.offsetHeight) - (event.clientY + scrollMoved) < 1) {
15436
- scrollParent.scrollTop = scrollParent.scrollTop + scrollHeight;
15442
+ this.timer = window.setInterval(() => { this.setScrollDown(scrollParent, scrollHeight, true); }, 70);
15437
15443
  }
15438
15444
  else if ((event.clientY - scrollMoved) - boundRect.y < 1) {
15439
- scrollParent.scrollTop = scrollParent.scrollTop - scrollHeight;
15445
+ this.timer = window.setInterval(() => { this.setScrollDown(scrollParent, scrollHeight, false); }, 70);
15440
15446
  }
15441
15447
  }
15442
15448
  if (args.target === null) {
@@ -15444,7 +15450,19 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
15444
15450
  }
15445
15451
  this.trigger('drag', this.getDragArgs(args));
15446
15452
  }
15453
+ setScrollDown(scrollElem, scrollPixel, isScrollDown) {
15454
+ if (isScrollDown) {
15455
+ scrollElem.scrollTop = scrollElem.scrollTop + scrollPixel;
15456
+ }
15457
+ else {
15458
+ scrollElem.scrollTop = scrollElem.scrollTop - scrollPixel;
15459
+ }
15460
+ }
15461
+ stopTimer() {
15462
+ window.clearInterval(this.timer);
15463
+ }
15447
15464
  beforeDragEnd(args) {
15465
+ this.stopTimer();
15448
15466
  let items = [];
15449
15467
  this.dragValue = this.getFormattedValue(args.droppedElement.getAttribute('data-value'));
15450
15468
  if (this.value.indexOf(this.dragValue) > -1) {
@@ -16871,9 +16889,12 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
16871
16889
  this.isDataFetched = false;
16872
16890
  const backCommand = true;
16873
16891
  if (this.targetElement().trim() === '') {
16874
- const list = this.mainList.cloneNode ? this.mainList.cloneNode(true) : this.mainList;
16892
+ let list = this.mainList.cloneNode ? this.mainList.cloneNode(true) : this.mainList;
16875
16893
  if (backCommand) {
16876
16894
  this.remoteCustomValue = false;
16895
+ if (this.isAngular && this.itemTemplate) {
16896
+ list = this.renderItems(this.listData, fields);
16897
+ }
16877
16898
  this.onActionComplete(list, this.jsonData);
16878
16899
  this.notify('reOrder', { module: 'CheckBoxSelection', enable: this.selectionSettings.showCheckbox, e: this });
16879
16900
  }
@@ -17682,7 +17703,7 @@ let Mention = class Mention extends DropDownBase {
17682
17703
  let currentRange = this.getTextRange();
17683
17704
  const lastWordRange = this.getLastLetter(currentRange);
17684
17705
  // eslint-disable-next-line security/detect-non-literal-regexp
17685
- const Regex = new RegExp(this.mentionChar, 'g');
17706
+ const Regex = new RegExp(this.mentionChar.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'), 'g');
17686
17707
  const charRegex = new RegExp('[a-zA-Z]', 'g');
17687
17708
  if (e.key === 'Shift' || e.keyCode === 37 || e.keyCode === 39) {
17688
17709
  return;
@@ -18817,7 +18838,6 @@ let Mention = class Mention extends DropDownBase {
18817
18838
  this.previousSelectedLI = null;
18818
18839
  this.item = null;
18819
18840
  this.selectedLI = null;
18820
- this.inputElement.innerText = null;
18821
18841
  this.popupObj = null;
18822
18842
  super.destroy();
18823
18843
  }