@syncfusion/ej2-dropdowns 33.2.10 → 33.2.15

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.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 33.2.10
3
+ * version : 33.2.15
4
4
  * Copyright Syncfusion Inc. 2001 - 2025. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@syncfusion/ej2-dropdowns",
3
- "version": "33.2.10",
3
+ "version": "33.2.15",
4
4
  "description": "Essential JS 2 DropDown Components",
5
5
  "author": "Syncfusion Inc.",
6
6
  "license": "SEE LICENSE IN license",
@@ -9,10 +9,10 @@
9
9
  "es2015": "./dist/es6/ej2-dropdowns.es5.js",
10
10
  "dependencies": {
11
11
  "@syncfusion/ej2-base": "~33.2.3",
12
- "@syncfusion/ej2-data": "~33.2.5",
13
- "@syncfusion/ej2-inputs": "~33.2.10",
12
+ "@syncfusion/ej2-data": "~33.2.12",
13
+ "@syncfusion/ej2-inputs": "~33.2.15",
14
14
  "@syncfusion/ej2-lists": "~33.2.3",
15
- "@syncfusion/ej2-navigations": "~33.2.10",
15
+ "@syncfusion/ej2-navigations": "~33.2.15",
16
16
  "@syncfusion/ej2-notifications": "~33.2.7",
17
17
  "@syncfusion/ej2-popups": "~33.2.7"
18
18
  },
@@ -2881,7 +2881,7 @@ var DropDownList = /** @class */ (function (_super) {
2881
2881
  }, 5);
2882
2882
  }
2883
2883
  attributes(_this.targetElement(), { 'aria-expanded': 'true', 'aria-owns': _this.element.id + '_popup', 'aria-controls': _this.element.id });
2884
- if (_this.getModuleName() !== 'dropdownlist' && _this.list.classList.contains('e-nodata')) {
2884
+ if (_this.list.classList.contains('e-nodata')) {
2885
2885
  attributes(_this.targetElement(), { 'aria-activedescendant': 'no-record' });
2886
2886
  _this.popupContentElement.setAttribute('role', 'status');
2887
2887
  _this.popupContentElement.setAttribute('id', 'no-record');
@@ -3075,9 +3075,7 @@ var DropDownList = /** @class */ (function (_super) {
3075
3075
  ulElement = null;
3076
3076
  },
3077
3077
  targetExitViewport: function () {
3078
- if (!Browser.isDevice) {
3079
- _this.hidePopup();
3080
- }
3078
+ _this.hidePopup();
3081
3079
  }
3082
3080
  });
3083
3081
  };
@@ -3695,8 +3693,8 @@ var DropDownList = /** @class */ (function (_super) {
3695
3693
  if (!this.targetElement().hasAttribute('aria-label')) {
3696
3694
  attributes(this.targetElement(), { 'aria-label': this.getModuleName() });
3697
3695
  }
3698
- if (!this.inputElement.hasAttribute('aria-label')) {
3699
- this.inputElement.setAttribute('aria-label', this.getModuleName());
3696
+ if (!this.inputElement.hasAttribute('aria-labelledby')) {
3697
+ this.inputElement.setAttribute('aria-labelledby', this.hiddenElement.id);
3700
3698
  }
3701
3699
  this.inputElement.setAttribute('aria-expanded', 'false');
3702
3700
  }
@@ -4053,6 +4051,9 @@ var DropDownList = /** @class */ (function (_super) {
4053
4051
  }
4054
4052
  break;
4055
4053
  case 'value':
4054
+ if (this_1.isAngular && closest(this_1.inputElement, 'form') && oldProp.value === newProp.value) {
4055
+ this_1.preventChange = true;
4056
+ }
4056
4057
  if (this_1.fields.disabled) {
4057
4058
  newProp.value = newProp.value != null && !this_1.isDisableItemValue(newProp.value) ? newProp.value : null;
4058
4059
  }
@@ -487,8 +487,10 @@ var CheckBoxSelection = /** @class */ (function () {
487
487
  }
488
488
  };
489
489
  CheckBoxSelection.prototype.setLocale = function (unSelect) {
490
- if (this.parent.selectAllText !== 'Select All' || this.parent.unSelectAllText !== 'Unselect All') {
491
- var template = unSelect ? this.parent.unSelectAllText : this.parent.selectAllText;
490
+ var template = unSelect ? this.parent.unSelectAllText : this.parent.selectAllText;
491
+ var isListBox = this.parent.element.classList.contains('e-listbox');
492
+ if ((this.parent.selectAllText !== 'Select All' || this.parent.unSelectAllText !== 'Unselect All') &&
493
+ (!isListBox || typeof template === 'function' || (typeof template === 'string' && /<[a-z][\s\S]*>/i.test(template)))) {
492
494
  this.selectAllSpan.textContent = '';
493
495
  var compiledString = compile(template);
494
496
  var templateName = unSelect ? 'unSelectAllText' : 'selectAllText';
@@ -675,6 +675,7 @@ export declare class MultiSelect extends DropDownBase implements IInput {
675
675
  private isSelectAllLoop;
676
676
  private initialPopupHeight;
677
677
  private chipAnnouncerLiveRegion;
678
+ private isInitialFocusAnnouncementDone;
678
679
  private enableRTL;
679
680
  requiredModules(): ModuleDeclaration[];
680
681
  private updateHTMLAttribute;
@@ -774,6 +775,8 @@ export declare class MultiSelect extends DropDownBase implements IInput {
774
775
  private selectListByKey;
775
776
  private refreshListItems;
776
777
  private removeSelectedChip;
778
+ private announceSelection;
779
+ private announceInitialFocusInstruction;
777
780
  private moveByTop;
778
781
  private clickHandler;
779
782
  private moveByList;
@@ -111,6 +111,7 @@ var MultiSelect = /** @class */ (function (_super) {
111
111
  _this.selectAllEventEle = [];
112
112
  _this.preventSetCurrentData = false;
113
113
  _this.isSelectAllLoop = false;
114
+ _this.isInitialFocusAnnouncementDone = false;
114
115
  _this.scrollFocusStatus = false;
115
116
  _this.keyDownStatus = false;
116
117
  return _this;
@@ -1353,6 +1354,7 @@ var MultiSelect = /** @class */ (function (_super) {
1353
1354
  return;
1354
1355
  }
1355
1356
  this.inputFocus = false;
1357
+ this.isInitialFocusAnnouncementDone = false;
1356
1358
  this.overAllWrapper.classList.remove(FOCUS);
1357
1359
  if (this.addTagOnBlur) {
1358
1360
  var dataChecks = this.getValueByText(this.inputElement.value, this.ignoreCase, this.ignoreAccent);
@@ -1620,6 +1622,10 @@ var MultiSelect = /** @class */ (function (_super) {
1620
1622
  this.trigger('focus', args);
1621
1623
  this.focused = false;
1622
1624
  }
1625
+ if (!this.isInitialFocusAnnouncementDone) {
1626
+ this.announceInitialFocusInstruction();
1627
+ this.isInitialFocusAnnouncementDone = true;
1628
+ }
1623
1629
  if (!this.overAllWrapper.classList.contains(FOCUS)) {
1624
1630
  this.overAllWrapper.classList.add(FOCUS);
1625
1631
  }
@@ -2347,6 +2353,25 @@ var MultiSelect = /** @class */ (function (_super) {
2347
2353
  }
2348
2354
  this.checkPlaceholderSize();
2349
2355
  };
2356
+ MultiSelect.prototype.announceSelection = function (text) {
2357
+ if (text && this.chipAnnouncerLiveRegion) {
2358
+ var count = this.value ? this.value.length : 0;
2359
+ var announcement = text + " added to selection " + count + " items selected";
2360
+ this.chipAnnouncerLiveRegion.textContent = announcement;
2361
+ }
2362
+ };
2363
+ MultiSelect.prototype.announceInitialFocusInstruction = function () {
2364
+ var _this = this;
2365
+ if (this.chipAnnouncerLiveRegion) {
2366
+ var instruction_1 = 'Use arrow keys to open popup and navigate items, Enter to select, and Backspace to delete selections';
2367
+ this.chipAnnouncerLiveRegion.textContent = '';
2368
+ setTimeout(function () {
2369
+ if (_this.chipAnnouncerLiveRegion) {
2370
+ _this.chipAnnouncerLiveRegion.textContent = instruction_1;
2371
+ }
2372
+ }, 200);
2373
+ }
2374
+ };
2350
2375
  MultiSelect.prototype.moveByTop = function (state) {
2351
2376
  var elements = this.list.querySelectorAll('li.' + dropDownBaseClasses.li);
2352
2377
  var index;
@@ -2551,7 +2576,9 @@ var MultiSelect = /** @class */ (function (_super) {
2551
2576
  element.setAttribute('aria-hidden', 'true');
2552
2577
  var chipTitle = element.getAttribute('title');
2553
2578
  if (chipTitle && this.chipAnnouncerLiveRegion) {
2554
- var announcement = chipTitle + " focused. Press Backspace to remove";
2579
+ var announcement = chipTitle.length > 500
2580
+ ? 'Chip focused. Press Backspace to remove'
2581
+ : chipTitle + " focused. Press Backspace to remove";
2555
2582
  this.chipAnnouncerLiveRegion.textContent = announcement;
2556
2583
  }
2557
2584
  if (!isNullOrUndefined(this.inputElement) && element.id) {
@@ -2928,6 +2955,9 @@ var MultiSelect = /** @class */ (function (_super) {
2928
2955
  if (this.mode !== 'Delimiter' && this.mode !== 'CheckBox') {
2929
2956
  this.addChip(text, value, eve);
2930
2957
  }
2958
+ else {
2959
+ this.announceSelection(text);
2960
+ }
2931
2961
  if (this.hideSelectedItem && this.fields.groupBy) {
2932
2962
  this.hideGroupItem(value);
2933
2963
  }
@@ -3140,6 +3170,7 @@ var MultiSelect = /** @class */ (function (_super) {
3140
3170
  }
3141
3171
  EventHandler.add(chipClose, 'mousedown', _this.onChipRemove, _this);
3142
3172
  _this.chipCollectionWrapper.appendChild(chip);
3173
+ _this.announceSelection(data);
3143
3174
  if (!_this.changeOnBlur && e) {
3144
3175
  _this.updateValueState(e, _this.value, _this.tempValues);
3145
3176
  }