@syncfusion/ej2-dropdowns 23.1.44 → 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 (39) hide show
  1. package/CHANGELOG.md +20 -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 +23 -4
  6. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  7. package/dist/es6/ej2-dropdowns.es5.js +23 -3
  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-list/drop-down-list.js +4 -1
  14. package/src/list-box/list-box.d.ts +3 -0
  15. package/src/list-box/list-box.js +19 -2
  16. package/styles/bootstrap-dark.css +5 -0
  17. package/styles/bootstrap5-dark.css +2 -1
  18. package/styles/bootstrap5.css +2 -1
  19. package/styles/fabric-dark.css +5 -0
  20. package/styles/fluent-dark.css +2 -1
  21. package/styles/fluent.css +2 -1
  22. package/styles/highcontrast.css +5 -0
  23. package/styles/multi-select/_bootstrap-dark-definition.scss +5 -0
  24. package/styles/multi-select/_bootstrap5-definition.scss +2 -1
  25. package/styles/multi-select/_fabric-dark-definition.scss +5 -0
  26. package/styles/multi-select/_fluent-definition.scss +2 -1
  27. package/styles/multi-select/_highcontrast-definition.scss +5 -0
  28. package/styles/multi-select/_tailwind-definition.scss +2 -1
  29. package/styles/multi-select/bootstrap-dark.css +5 -0
  30. package/styles/multi-select/bootstrap5-dark.css +2 -1
  31. package/styles/multi-select/bootstrap5.css +2 -1
  32. package/styles/multi-select/fabric-dark.css +5 -0
  33. package/styles/multi-select/fluent-dark.css +2 -1
  34. package/styles/multi-select/fluent.css +2 -1
  35. package/styles/multi-select/highcontrast.css +5 -0
  36. package/styles/multi-select/tailwind-dark.css +2 -1
  37. package/styles/multi-select/tailwind.css +2 -1
  38. package/styles/tailwind-dark.css +2 -1
  39. package/styles/tailwind.css +2 -1
@@ -2713,6 +2713,9 @@ let DropDownList = class DropDownList extends DropDownBase {
2713
2713
  updateUpDownAction(e, isVirtualKeyAction) {
2714
2714
  if (this.allowFiltering && !this.enableVirtualization && this.getModuleName() !== 'autocomplete') {
2715
2715
  let value = this.getItemData().value;
2716
+ if (isNullOrUndefined(value)) {
2717
+ value = 'null';
2718
+ }
2716
2719
  let filterIndex = this.getIndexByValue(value);
2717
2720
  if (!isNullOrUndefined(filterIndex)) {
2718
2721
  this.activeIndex = filterIndex;
@@ -2941,7 +2944,6 @@ let DropDownList = class DropDownList extends DropDownBase {
2941
2944
  if (this.inputWrapper.container.classList.contains(dropDownListClasses.inputFocus) || this.isPopupOpen) {
2942
2945
  this.isDocumentClick = true;
2943
2946
  const isActive = this.isRequested;
2944
- this.isInteracted = false;
2945
2947
  this.hidePopup(e);
2946
2948
  if (!isActive) {
2947
2949
  this.onFocusOut();
@@ -5274,6 +5276,7 @@ let DropDownList = class DropDownList extends DropDownBase {
5274
5276
  this.isSelectCustom = false;
5275
5277
  this.clearAll(e);
5276
5278
  }
5279
+ this.isInteracted = false;
5277
5280
  }
5278
5281
  /* eslint-disable valid-jsdoc, jsdoc/require-param */
5279
5282
  /**
@@ -15416,6 +15419,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
15416
15419
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
15417
15420
  const event = args.event;
15418
15421
  let wrapper;
15422
+ this.stopTimer();
15419
15423
  if (args.target && (args.target.classList.contains('e-listbox-wrapper') || args.target.classList.contains('e-list-item')
15420
15424
  || args.target.classList.contains('e-filter-parent') || args.target.classList.contains('e-input-group')
15421
15425
  || args.target.closest('.e-list-item'))) {
@@ -15435,10 +15439,10 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
15435
15439
  }
15436
15440
  boundRect = scrollParent.getBoundingClientRect();
15437
15441
  if ((boundRect.y + scrollParent.offsetHeight) - (event.clientY + scrollMoved) < 1) {
15438
- scrollParent.scrollTop = scrollParent.scrollTop + scrollHeight;
15442
+ this.timer = window.setInterval(() => { this.setScrollDown(scrollParent, scrollHeight, true); }, 70);
15439
15443
  }
15440
15444
  else if ((event.clientY - scrollMoved) - boundRect.y < 1) {
15441
- scrollParent.scrollTop = scrollParent.scrollTop - scrollHeight;
15445
+ this.timer = window.setInterval(() => { this.setScrollDown(scrollParent, scrollHeight, false); }, 70);
15442
15446
  }
15443
15447
  }
15444
15448
  if (args.target === null) {
@@ -15446,7 +15450,19 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
15446
15450
  }
15447
15451
  this.trigger('drag', this.getDragArgs(args));
15448
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
+ }
15449
15464
  beforeDragEnd(args) {
15465
+ this.stopTimer();
15450
15466
  let items = [];
15451
15467
  this.dragValue = this.getFormattedValue(args.droppedElement.getAttribute('data-value'));
15452
15468
  if (this.value.indexOf(this.dragValue) > -1) {
@@ -16873,9 +16889,12 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
16873
16889
  this.isDataFetched = false;
16874
16890
  const backCommand = true;
16875
16891
  if (this.targetElement().trim() === '') {
16876
- const list = this.mainList.cloneNode ? this.mainList.cloneNode(true) : this.mainList;
16892
+ let list = this.mainList.cloneNode ? this.mainList.cloneNode(true) : this.mainList;
16877
16893
  if (backCommand) {
16878
16894
  this.remoteCustomValue = false;
16895
+ if (this.isAngular && this.itemTemplate) {
16896
+ list = this.renderItems(this.listData, fields);
16897
+ }
16879
16898
  this.onActionComplete(list, this.jsonData);
16880
16899
  this.notify('reOrder', { module: 'CheckBoxSelection', enable: this.selectionSettings.showCheckbox, e: this });
16881
16900
  }