@syncfusion/ej2-dropdowns 24.2.4 → 24.2.6

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.
@@ -2624,15 +2624,15 @@ let DropDownList = class DropDownList extends DropDownBase {
2624
2624
  focusOutAction(e) {
2625
2625
  this.isInteracted = false;
2626
2626
  this.focusOut(e);
2627
- this.onFocusOut();
2627
+ this.onFocusOut(e);
2628
2628
  }
2629
- onFocusOut() {
2629
+ onFocusOut(e) {
2630
2630
  if (!this.enabled) {
2631
2631
  return;
2632
2632
  }
2633
2633
  if (this.isSelected) {
2634
2634
  this.isSelectCustom = false;
2635
- this.onChangeEvent(null);
2635
+ this.onChangeEvent(e);
2636
2636
  }
2637
2637
  this.floatLabelChange();
2638
2638
  this.dispatchEvent(this.hiddenElement, 'change');
@@ -3345,7 +3345,7 @@ let DropDownList = class DropDownList extends DropDownBase {
3345
3345
  this.hidePopup(e);
3346
3346
  this.isInteracted = false;
3347
3347
  if (!isActive) {
3348
- this.onFocusOut();
3348
+ this.onFocusOut(e);
3349
3349
  this.inputWrapper.container.classList.remove(dropDownListClasses.inputFocus);
3350
3350
  }
3351
3351
  }
@@ -11159,6 +11159,11 @@ let MultiSelect = class MultiSelect extends DropDownBase {
11159
11159
  }
11160
11160
  }
11161
11161
  removelastSelection(e) {
11162
+ const selectedElem = this.chipCollectionWrapper.querySelector('span.' + CHIP_SELECTED);
11163
+ if (selectedElem !== null) {
11164
+ this.removeSelectedChip(e);
11165
+ return;
11166
+ }
11162
11167
  const elements = this.chipCollectionWrapper.querySelectorAll('span.' + CHIP$1);
11163
11168
  const value = elements[elements.length - 1].getAttribute('data-value');
11164
11169
  if (!isNullOrUndefined(this.value)) {
@@ -13307,7 +13312,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
13307
13312
  if (delim) {
13308
13313
  this.updateWrapperText(this.delimiterWrapper, data);
13309
13314
  this.delimiterWrapper.setAttribute('id', getUniqueID('delim_val'));
13310
- this.inputElement.setAttribute('aria-labelledby', this.delimiterWrapper.id);
13315
+ this.inputElement.setAttribute('aria-describedby', this.delimiterWrapper.id);
13311
13316
  }
13312
13317
  const targetEle = e && e.target;
13313
13318
  const isClearAll = (targetEle && targetEle.classList.contains('e-close-hooker')) ? true : null;
@@ -14277,7 +14282,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
14277
14282
  this.hiddenElement.innerHTML = hiddenValue;
14278
14283
  this.updateWrapperText(this.delimiterWrapper, wrapperText);
14279
14284
  this.delimiterWrapper.setAttribute('id', getUniqueID('delim_val'));
14280
- this.inputElement.setAttribute('aria-labelledby', this.delimiterWrapper.id);
14285
+ this.inputElement.setAttribute('aria-describedby', this.delimiterWrapper.id);
14281
14286
  this.setProperties({ text: text.toString() }, true);
14282
14287
  this.refreshInputHight();
14283
14288
  this.refreshPlaceHolder();
@@ -14787,7 +14792,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
14787
14792
  }
14788
14793
  });
14789
14794
  if (this.mode === 'Default' || this.mode === 'Box') {
14790
- this.inputElement.setAttribute('aria-labelledby', this.chipCollectionWrapper.id);
14795
+ this.inputElement.setAttribute('aria-describedby', this.chipCollectionWrapper.id);
14791
14796
  }
14792
14797
  if (this.element.tagName !== this.getNgDirective()) {
14793
14798
  this.element.style.display = 'none';
@@ -17246,7 +17251,6 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
17246
17251
  if (tListBox.mainList.childElementCount !== tListBox.jsonData.length) {
17247
17252
  tListBox.mainList = tListBox.ulElement;
17248
17253
  }
17249
- fListBox.updateMainList();
17250
17254
  const tJsonData = [].slice.call(tListBox.jsonData);
17251
17255
  tSortData = [].slice.call(tListBox.sortedData);
17252
17256
  this.selectNextList(elems, dataLiIdx, dataIdx, fListBox);
@@ -18444,7 +18448,7 @@ let Mention = class Mention extends DropDownBase {
18444
18448
  rangetextContent = this.range.startContainer.textContent.split('');
18445
18449
  }
18446
18450
  let currentRange = this.getTextRange();
18447
- const lastWordRange = this.getLastLetter(currentRange);
18451
+ let lastWordRange = this.getLastLetter(currentRange);
18448
18452
  const lastTwoLetters = this.mentionChar.toString() + this.mentionChar.toString();
18449
18453
  // eslint-disable-next-line security/detect-non-literal-regexp
18450
18454
  const Regex = new RegExp(this.mentionChar.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'), 'g');
@@ -18474,7 +18478,9 @@ let Mention = class Mention extends DropDownBase {
18474
18478
  }
18475
18479
  return;
18476
18480
  }
18477
- this.queryString = lastWordRange.replace(this.mentionChar, '');
18481
+ if (lastWordRange.includes(this.mentionChar)) {
18482
+ this.queryString = lastWordRange.replace(this.mentionChar, '');
18483
+ }
18478
18484
  if (this.mentionChar.charCodeAt(0) === lastWordRange.charCodeAt(0) &&
18479
18485
  this.queryString !== '' && e.keyCode !== 38 && e.keyCode !== 40 && !this.lineBreak) {
18480
18486
  this.searchLists(e);
@@ -19015,6 +19021,20 @@ let Mention = class Mention extends DropDownBase {
19015
19021
  range.collapse(false);
19016
19022
  rect = range.getBoundingClientRect().top === 0 ? range.startContainer.getClientRects()[0] : range.getBoundingClientRect();
19017
19023
  }
19024
+ let rectTop = rect.top;
19025
+ let rectLeft = rect.left;
19026
+ const iframes = document.querySelectorAll('iframe');
19027
+ if (iframes.length > 0) {
19028
+ for (let i = 0; i < iframes.length; i++) {
19029
+ // eslint-disable-next-line security/detect-object-injection
19030
+ const iframe = iframes[i];
19031
+ if (iframe.contentDocument.contains(element)) {
19032
+ const iframeRect = iframe.getBoundingClientRect();
19033
+ rectTop += iframeRect.top;
19034
+ rectLeft += iframeRect.left;
19035
+ }
19036
+ }
19037
+ }
19018
19038
  const doc = document.documentElement;
19019
19039
  const windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);
19020
19040
  const windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);
@@ -19036,23 +19056,23 @@ let Mention = class Mention extends DropDownBase {
19036
19056
  }
19037
19057
  if (!this.isContentEditable(this.inputElement)) {
19038
19058
  coordinates = {
19039
- top: rect.top + windowTop + span.offsetTop + parseInt(computed.borderTopWidth, 10) +
19059
+ top: rectTop + windowTop + span.offsetTop + parseInt(computed.borderTopWidth, 10) +
19040
19060
  parseInt(computed.fontSize, 10) + 3 - element.scrollTop - (this.isCollided ? 10 : 0),
19041
- left: rect.left + windowLeft + span.offsetLeft + parseInt(computed.borderLeftWidth, 10)
19061
+ left: rectLeft + windowLeft + span.offsetLeft + parseInt(computed.borderLeftWidth, 10)
19042
19062
  };
19043
19063
  document.body.removeChild(div);
19044
19064
  }
19045
19065
  else {
19046
19066
  if (this.collision && this.collision.length > 0 && this.collision.indexOf('right') > -1 && this.collision.indexOf('bottom') === -1) {
19047
19067
  coordinates = {
19048
- top: rect.top + windowTop + parseInt(getComputedStyle(this.inputElement).fontSize, 10),
19049
- left: rect.left + windowLeft + width
19068
+ top: rectTop + windowTop + parseInt(getComputedStyle(this.inputElement).fontSize, 10),
19069
+ left: rectLeft + windowLeft + width
19050
19070
  };
19051
19071
  }
19052
19072
  else {
19053
19073
  coordinates = {
19054
- top: rect.top + windowTop + parseInt(getComputedStyle(this.inputElement).fontSize, 10) - (this.isCollided ? 10 : 0),
19055
- left: rect.left + windowLeft + width
19074
+ top: rectTop + windowTop + parseInt(getComputedStyle(this.inputElement).fontSize, 10) - (this.isCollided ? 10 : 0),
19075
+ left: rectLeft + windowLeft + width
19056
19076
  };
19057
19077
  }
19058
19078
  }