@syncfusion/ej2-inputs 34.1.32 → 34.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.
@@ -38,6 +38,7 @@ var Input;
38
38
  (function (Input) {
39
39
  let floatType;
40
40
  let isBindClearAction = true;
41
+ const resizeHandlers = new Map();
41
42
  /**
42
43
  * Create a wrapper to input element with multiple span elements and set the basic properties to input based components.
43
44
  * ```
@@ -456,6 +457,11 @@ var Input;
456
457
  _internalRipple(false, null, args.buttons);
457
458
  }
458
459
  unwireFloatingEvents(args.element);
460
+ const resizeHandler = resizeHandlers.get(args.element);
461
+ if (resizeHandler) {
462
+ window.removeEventListener('resize', resizeHandler);
463
+ resizeHandlers.delete(args.element);
464
+ }
459
465
  if (!isNullOrUndefined(args.element)) {
460
466
  delete args.element.__eventHandlers;
461
467
  if (args.element.classList.contains(CLASSNAMES.INPUT)) {
@@ -575,10 +581,30 @@ var Input;
575
581
  * @param {HTMLElement} container - The parent element which is need to get the label span to calculate width
576
582
  */
577
583
  function calculateWidth(element, container, moduleName) {
584
+ if (moduleName !== 'multiselect' && element && container && !resizeHandlers.has(element)) {
585
+ const resizeHandler = () => {
586
+ if (!document.documentElement.contains(container)) {
587
+ window.removeEventListener('resize', resizeHandler);
588
+ resizeHandlers.delete(element);
589
+ return;
590
+ }
591
+ calculateWidth(element, container, moduleName);
592
+ };
593
+ resizeHandlers.set(element, resizeHandler);
594
+ window.addEventListener('resize', resizeHandler);
595
+ }
578
596
  if (moduleName !== 'multiselect' && !_isElementVisible(element)) {
579
597
  return;
580
598
  }
581
- const elementWidth = moduleName === 'multiselect' ? element : element.clientWidth - parseInt(getComputedStyle(element, null).getPropertyValue('padding-left'), 10);
599
+ let elementWidth = moduleName === 'multiselect' ? element : element.clientWidth - parseInt(getComputedStyle(element, null).getPropertyValue('padding-left'), 10);
600
+ if (moduleName !== 'multiselect' && element && container) {
601
+ let iconWidth = 0;
602
+ const icons = container.getElementsByClassName('e-input-group-icon');
603
+ Array.from(icons).forEach((icon) => {
604
+ iconWidth += icon.clientWidth + parseInt(getComputedStyle(icon, null).getPropertyValue('margin-right'), 10);
605
+ });
606
+ elementWidth = elementWidth + (iconWidth - parseInt(getComputedStyle(element, null).getPropertyValue('padding-left'), 10));
607
+ }
582
608
  if (!isNullOrUndefined(container) && !isNullOrUndefined(container.getElementsByClassName('e-float-text-content')[0])) {
583
609
  if (container.getElementsByClassName('e-float-text-content')[0].classList.contains('e-float-text-overflow')) {
584
610
  container.getElementsByClassName('e-float-text-content')[0].classList.remove('e-float-text-overflow');
@@ -1588,6 +1614,8 @@ let NumericTextBox = class NumericTextBox extends Component {
1588
1614
  EventHandler.add(this.formEle, 'reset', this.resetFormHandler, this);
1589
1615
  }
1590
1616
  }
1617
+ this.resizeHandler = this.windowResize.bind(this);
1618
+ window.addEventListener('resize', this.resizeHandler);
1591
1619
  }
1592
1620
  wireSpinBtnEvents() {
1593
1621
  /* bind spin button events */
@@ -1610,6 +1638,10 @@ let NumericTextBox = class NumericTextBox extends Component {
1610
1638
  if (this.formEle) {
1611
1639
  EventHandler.remove(this.formEle, 'reset', this.resetFormHandler);
1612
1640
  }
1641
+ if (this.resizeHandler) {
1642
+ window.removeEventListener('resize', this.resizeHandler);
1643
+ this.resizeHandler = null;
1644
+ }
1613
1645
  }
1614
1646
  unwireSpinBtnEvents() {
1615
1647
  /* unbind spin button events */
@@ -2133,6 +2165,9 @@ let NumericTextBox = class NumericTextBox extends Component {
2133
2165
  }
2134
2166
  this.cancelEvent(event);
2135
2167
  }
2168
+ windowResize() {
2169
+ this.updateFloatLabelOverflowWidth();
2170
+ }
2136
2171
  focusHandler(event) {
2137
2172
  clearTimeout(selectionTimeOut);
2138
2173
  this.focusEventArgs = { event: event, value: this.value, container: this.container };
@@ -15452,6 +15487,8 @@ let TextArea = class TextArea extends Component {
15452
15487
  EventHandler.add(this.formElement, 'reset', this.resetForm, this);
15453
15488
  }
15454
15489
  this.bindClearEvent();
15490
+ this.resizeHandler = this.windowResize.bind(this);
15491
+ window.addEventListener('resize', this.resizeHandler);
15455
15492
  }
15456
15493
  unWireEvents() {
15457
15494
  EventHandler.remove(this.element, 'focus', this.focusHandler);
@@ -15462,6 +15499,10 @@ let TextArea = class TextArea extends Component {
15462
15499
  if (this.isForm) {
15463
15500
  EventHandler.remove(this.formElement, 'reset', this.resetForm);
15464
15501
  }
15502
+ if (this.resizeHandler) {
15503
+ window.removeEventListener('resize', this.resizeHandler);
15504
+ this.resizeHandler = null;
15505
+ }
15465
15506
  }
15466
15507
  /**
15467
15508
  * Removes the component from the DOM and detaches all its related event handlers.
@@ -15500,6 +15541,9 @@ let TextArea = class TextArea extends Component {
15500
15541
  }
15501
15542
  super.destroy();
15502
15543
  }
15544
+ windowResize() {
15545
+ this.updateFloatLabelOverflowWidth();
15546
+ }
15503
15547
  focusHandler(args) {
15504
15548
  const eventArgs = {
15505
15549
  container: this.textareaWrapper.container,