igniteui-angular 14.0.11 → 14.0.14

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.
@@ -7,7 +7,7 @@ import { NgModel, FormControlName, NG_VALUE_ACCESSOR, NG_VALIDATORS, CheckboxReq
7
7
  import * as i1$1 from '@angular/common';
8
8
  import { isPlatformBrowser, formatDate as formatDate$1, CurrencyPipe, formatPercent, formatNumber, getLocaleCurrencyCode, DatePipe, DOCUMENT, CommonModule, FormatWidth, getLocaleDateFormat, getLocaleFirstDayOfWeek, getLocaleNumberFormat, NumberFormatStyle, getCurrencySymbol } from '@angular/common';
9
9
  import { Observable, Subject, fromEvent, interval, animationFrameScheduler, noop, merge, Subscription, timer, pipe } from 'rxjs';
10
- import { takeUntil, filter, first as first$1, throttleTime, take, throttle, debounce, tap, switchMap, skipLast, map, debounceTime, shareReplay, takeWhile, pluck } from 'rxjs/operators';
10
+ import { takeUntil, filter, first as first$1, throttleTime, take, throttle, startWith, debounce, tap, switchMap, skipLast, map, debounceTime, shareReplay, takeWhile, pluck } from 'rxjs/operators';
11
11
  import mergeWith from 'lodash.mergewith';
12
12
  import * as JSZip from 'jszip';
13
13
  import * as i1$2 from '@angular/platform-browser';
@@ -2109,11 +2109,11 @@ const verticalAnimations = [
2109
2109
  swingOutBottomBck,
2110
2110
  ];
2111
2111
  /**
2112
- * Similar to Angular's formatDate. However it will not throw on `undefined | null` instead
2112
+ * Similar to Angular's formatDate. However it will not throw on `undefined | null | ''` instead
2113
2113
  * coalescing to an empty string.
2114
2114
  */
2115
2115
  const formatDate = (value, format, locale, timezone) => {
2116
- if (value === null || value === undefined) {
2116
+ if (value === null || value === undefined || value === '') {
2117
2117
  return '';
2118
2118
  }
2119
2119
  return formatDate$1(value, format, locale, timezone);
@@ -15890,7 +15890,7 @@ class IgxDragDirective {
15890
15890
  // Check for shadowRoot instance and use it if present
15891
15891
  for (const elFromPoint of elementsFromPoint) {
15892
15892
  if (!!elFromPoint?.shadowRoot) {
15893
- targetElements = targetElements.concat(this.getFromShadowRoot(elFromPoint, pageX, pageY));
15893
+ targetElements = targetElements.concat(this.getFromShadowRoot(elFromPoint, pageX, pageY, elementsFromPoint));
15894
15894
  }
15895
15895
  else if (targetElements.indexOf(elFromPoint) === -1) {
15896
15896
  targetElements.push(elFromPoint);
@@ -15924,13 +15924,15 @@ class IgxDragDirective {
15924
15924
  * @hidden
15925
15925
  * Traverse shadow dom in depth.
15926
15926
  */
15927
- getFromShadowRoot(elem, pageX, pageY) {
15927
+ getFromShadowRoot(elem, pageX, pageY, parentDomElems) {
15928
15928
  const elementsFromPoint = elem.shadowRoot.elementsFromPoint(pageX, pageY);
15929
- let res = elementsFromPoint;
15930
- for (const elFromPoint of elementsFromPoint) {
15929
+ const shadowElements = elementsFromPoint.filter(cur => parentDomElems.indexOf(cur) === -1);
15930
+ let res = [];
15931
+ for (const elFromPoint of shadowElements) {
15931
15932
  if (!!elFromPoint?.shadowRoot && elFromPoint.shadowRoot !== elem.shadowRoot) {
15932
- res = res.concat(this.getFromShadowRoot(elFromPoint, pageX, pageY));
15933
+ res = res.concat(this.getFromShadowRoot(elFromPoint, pageX, pageY, elementsFromPoint));
15933
15934
  }
15935
+ res.push(elFromPoint);
15934
15936
  }
15935
15937
  return res;
15936
15938
  }
@@ -17939,6 +17941,11 @@ let nextId$3 = 0;
17939
17941
  class IgxRadioComponent {
17940
17942
  constructor(cdr) {
17941
17943
  this.cdr = cdr;
17944
+ /**
17945
+ * @hidden
17946
+ * @internal
17947
+ */
17948
+ this.destroy$ = new Subject();
17942
17949
  /**
17943
17950
  * Sets/gets the `id` of the radio component.
17944
17951
  * If not set, the `id` of the first radio component will be `"igx-radio-0"`.
@@ -18112,6 +18119,14 @@ class IgxRadioComponent {
18112
18119
  set disabled(value) {
18113
18120
  this._disabled = (value === '') || value;
18114
18121
  }
18122
+ /**
18123
+ * @hidden
18124
+ * @internal
18125
+ */
18126
+ ngOnDestroy() {
18127
+ this.destroy$.next(true);
18128
+ this.destroy$.complete();
18129
+ }
18115
18130
  /**
18116
18131
  * @hidden
18117
18132
  * @internal
@@ -18411,6 +18426,11 @@ class IgxRadioGroupDirective {
18411
18426
  * @internal
18412
18427
  */
18413
18428
  this.destroy$ = new Subject();
18429
+ /**
18430
+ * @hidden
18431
+ * @internal
18432
+ */
18433
+ this.queryChange$ = new Subject();
18414
18434
  }
18415
18435
  /**
18416
18436
  * Sets/gets the `value` attribute.
@@ -18556,8 +18576,9 @@ class IgxRadioGroupDirective {
18556
18576
  // The initial value can possibly be set by NgModel and it is possible that
18557
18577
  // the OnInit of the NgModel occurs after the OnInit of this class.
18558
18578
  this._isInitialized = true;
18559
- setTimeout(() => {
18560
- this._initRadioButtons();
18579
+ this.radioButtons.changes.pipe(startWith(0), takeUntil(this.destroy$)).subscribe(() => {
18580
+ this.queryChange$.next();
18581
+ setTimeout(() => this._initRadioButtons());
18561
18582
  });
18562
18583
  }
18563
18584
  /**
@@ -18635,7 +18656,7 @@ class IgxRadioGroupDirective {
18635
18656
  button.checked = true;
18636
18657
  this._selected = button;
18637
18658
  }
18638
- button.change.pipe(takeUntil(this.destroy$)).subscribe((ev) => this._selectedRadioButtonChanged(ev));
18659
+ button.change.pipe(takeUntil(button.destroy$), takeUntil(this.destroy$), takeUntil(this.queryChange$)).subscribe((ev) => this._selectedRadioButtonChanged(ev));
18639
18660
  });
18640
18661
  }
18641
18662
  }
@@ -24230,9 +24251,13 @@ class IgxGridSelectionService {
24230
24251
  */
24231
24252
  this.pointerEventInGridBody = false;
24232
24253
  this._ranges = new Set();
24233
- this.pointerOriginHandler = () => {
24254
+ this.pointerOriginHandler = (event) => {
24234
24255
  this.pointerEventInGridBody = false;
24235
24256
  document.body.removeEventListener('pointerup', this.pointerOriginHandler);
24257
+ const targetTagName = event.target.tagName.toLowerCase();
24258
+ if (targetTagName !== 'igx-grid-cell' && targetTagName !== 'igx-tree-grid-cell') {
24259
+ this.pointerUp(this._lastSelectedNode, this.grid.rangeSelected, true);
24260
+ }
24236
24261
  };
24237
24262
  this.initPointerState();
24238
24263
  this.initKeyboardState();
@@ -24349,6 +24374,7 @@ class IgxGridSelectionService {
24349
24374
  * and the start node of the `state`.
24350
24375
  */
24351
24376
  generateRange(node, state) {
24377
+ this._lastSelectedNode = node;
24352
24378
  if (!state) {
24353
24379
  return {
24354
24380
  rowStart: node.row,
@@ -24466,8 +24492,8 @@ class IgxGridSelectionService {
24466
24492
  }
24467
24493
  return true;
24468
24494
  }
24469
- pointerUp(node, emitter) {
24470
- if (this.dragMode) {
24495
+ pointerUp(node, emitter, firedOutsideGrid) {
24496
+ if (this.dragMode || firedOutsideGrid) {
24471
24497
  this.restoreTextSelection();
24472
24498
  this.addRangeMeta(node, this.pointerState);
24473
24499
  this.mergeMap(this.selection, this.temp);
@@ -38544,6 +38570,7 @@ class IgxDatePickerComponent extends PickerBaseDirective {
38544
38570
  this._onTouchedCallback = noop;
38545
38571
  this._onValidatorChange = noop;
38546
38572
  this.onStatusChanged = () => {
38573
+ this.disabled = this._ngControl.disabled;
38547
38574
  this.updateValidity();
38548
38575
  this.inputGroup.isRequired = this.required;
38549
38576
  };
@@ -42496,7 +42523,8 @@ class IgxTimePickerComponent extends PickerBaseDirective {
42496
42523
  }
42497
42524
  onStatusChanged() {
42498
42525
  if ((this._ngControl.control.touched || this._ngControl.control.dirty) &&
42499
- (this._ngControl.control.validator || this._ngControl.control.asyncValidator)) {
42526
+ (this._ngControl.control.validator || this._ngControl.control.asyncValidator) &&
42527
+ !this._ngControl.disabled) {
42500
42528
  if (this._inputGroup.isFocused) {
42501
42529
  this.inputDirective.valid = this._ngControl.valid ? IgxInputState.VALID : IgxInputState.INVALID;
42502
42530
  }
@@ -46323,6 +46351,9 @@ class IgxTreeNodeComponent extends ToggleAnimationPlayer {
46323
46351
  * ```
46324
46352
  */
46325
46353
  expand() {
46354
+ if (this.expanded && !this.treeService.collapsingNodes.has(this)) {
46355
+ return;
46356
+ }
46326
46357
  const args = {
46327
46358
  owner: this.tree,
46328
46359
  node: this,
@@ -46351,6 +46382,9 @@ class IgxTreeNodeComponent extends ToggleAnimationPlayer {
46351
46382
  * ```
46352
46383
  */
46353
46384
  collapse() {
46385
+ if (!this.expanded || this.treeService.collapsingNodes.has(this)) {
46386
+ return;
46387
+ }
46354
46388
  const args = {
46355
46389
  owner: this.tree,
46356
46390
  node: this,
@@ -56096,10 +56130,10 @@ class IgxPageNavigationComponent {
56096
56130
  }
56097
56131
  }
56098
56132
  IgxPageNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: IgxPageNavigationComponent, deps: [{ token: IgxPaginatorComponent, host: true }], target: i0.ɵɵFactoryTarget.Component });
56099
- IgxPageNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: IgxPageNavigationComponent, selector: "igx-page-nav", inputs: { role: "role" }, host: { properties: { "class.igx-page-nav": "this.cssClass", "attr.role": "this.role" } }, ngImport: i0, template: "<button\n [title]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n [disabled]=\"paginator.isFirstPageDisabled\"\n [attr.aria-disabled]=\"paginator.isFirstPageDisabled\"\n (click)=\"paginator.paginate(0)\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n>\n <igx-icon>first_page</igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n [disabled]=\"paginator.isFirstPageDisabled\"\n [attr.aria-disabled]=\"paginator.isFirstPageDisabled\"\n (click)=\"paginator.previousPage()\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n>\n <igx-icon>chevron_left</igx-icon>\n</button>\n<div class=\"igx-page-nav__text\" aria-current=\"page\">\n <span>{{ paginator.page + 1 }}</span>\n <span\n >&nbsp;{{\n paginator.resourceStrings.igx_paginator_pager_text\n }}&nbsp;</span\n >\n <span>{{ paginator.totalPages }}</span>\n</div>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n [disabled]=\"paginator.isLastPageDisabled\"\n [attr.aria-disabled]=\"paginator.isLastPageDisabled\"\n (click)=\"paginator.nextPage()\"\n igxRipple\n [igxRippleCentered]=\"true\"\n igxButton=\"icon\"\n>\n <igx-icon>chevron_right</igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n [disabled]=\"paginator.isLastPageDisabled\"\n [attr.aria-disabled]=\"paginator.isLastPageDisabled\"\n (click)=\"paginator.paginate(paginator.totalPages - 1)\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n>\n <igx-icon>last_page</igx-icon>\n</button>\n\n", dependencies: [{ kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }] });
56133
+ IgxPageNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: IgxPageNavigationComponent, selector: "igx-page-nav", inputs: { role: "role" }, host: { properties: { "class.igx-page-nav": "this.cssClass", "attr.role": "this.role" } }, ngImport: i0, template: "<button\n [title]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n [disabled]=\"paginator.isFirstPageDisabled\"\n [attr.aria-disabled]=\"paginator.isFirstPageDisabled\"\n (click)=\"paginator.paginate(0)\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon>first_page</igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n [disabled]=\"paginator.isFirstPageDisabled\"\n [attr.aria-disabled]=\"paginator.isFirstPageDisabled\"\n (click)=\"paginator.previousPage()\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon>chevron_left</igx-icon>\n</button>\n<div class=\"igx-page-nav__text\" aria-current=\"page\">\n <span>{{ paginator.page + 1 }}</span>\n <span\n >&nbsp;{{\n paginator.resourceStrings.igx_paginator_pager_text\n }}&nbsp;</span\n >\n <span>{{ paginator.totalPages }}</span>\n</div>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n [disabled]=\"paginator.isLastPageDisabled\"\n [attr.aria-disabled]=\"paginator.isLastPageDisabled\"\n (click)=\"paginator.nextPage()\"\n igxRipple\n [igxRippleCentered]=\"true\"\n igxButton=\"icon\"\n type=\"button\"\n>\n <igx-icon>chevron_right</igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n [disabled]=\"paginator.isLastPageDisabled\"\n [attr.aria-disabled]=\"paginator.isLastPageDisabled\"\n (click)=\"paginator.paginate(paginator.totalPages - 1)\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon>last_page</igx-icon>\n</button>\n\n", dependencies: [{ kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }] });
56100
56134
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: IgxPageNavigationComponent, decorators: [{
56101
56135
  type: Component,
56102
- args: [{ selector: 'igx-page-nav', template: "<button\n [title]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n [disabled]=\"paginator.isFirstPageDisabled\"\n [attr.aria-disabled]=\"paginator.isFirstPageDisabled\"\n (click)=\"paginator.paginate(0)\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n>\n <igx-icon>first_page</igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n [disabled]=\"paginator.isFirstPageDisabled\"\n [attr.aria-disabled]=\"paginator.isFirstPageDisabled\"\n (click)=\"paginator.previousPage()\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n>\n <igx-icon>chevron_left</igx-icon>\n</button>\n<div class=\"igx-page-nav__text\" aria-current=\"page\">\n <span>{{ paginator.page + 1 }}</span>\n <span\n >&nbsp;{{\n paginator.resourceStrings.igx_paginator_pager_text\n }}&nbsp;</span\n >\n <span>{{ paginator.totalPages }}</span>\n</div>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n [disabled]=\"paginator.isLastPageDisabled\"\n [attr.aria-disabled]=\"paginator.isLastPageDisabled\"\n (click)=\"paginator.nextPage()\"\n igxRipple\n [igxRippleCentered]=\"true\"\n igxButton=\"icon\"\n>\n <igx-icon>chevron_right</igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n [disabled]=\"paginator.isLastPageDisabled\"\n [attr.aria-disabled]=\"paginator.isLastPageDisabled\"\n (click)=\"paginator.paginate(paginator.totalPages - 1)\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n>\n <igx-icon>last_page</igx-icon>\n</button>\n\n" }]
56136
+ args: [{ selector: 'igx-page-nav', template: "<button\n [title]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n [disabled]=\"paginator.isFirstPageDisabled\"\n [attr.aria-disabled]=\"paginator.isFirstPageDisabled\"\n (click)=\"paginator.paginate(0)\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon>first_page</igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n [disabled]=\"paginator.isFirstPageDisabled\"\n [attr.aria-disabled]=\"paginator.isFirstPageDisabled\"\n (click)=\"paginator.previousPage()\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon>chevron_left</igx-icon>\n</button>\n<div class=\"igx-page-nav__text\" aria-current=\"page\">\n <span>{{ paginator.page + 1 }}</span>\n <span\n >&nbsp;{{\n paginator.resourceStrings.igx_paginator_pager_text\n }}&nbsp;</span\n >\n <span>{{ paginator.totalPages }}</span>\n</div>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n [disabled]=\"paginator.isLastPageDisabled\"\n [attr.aria-disabled]=\"paginator.isLastPageDisabled\"\n (click)=\"paginator.nextPage()\"\n igxRipple\n [igxRippleCentered]=\"true\"\n igxButton=\"icon\"\n type=\"button\"\n>\n <igx-icon>chevron_right</igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n [disabled]=\"paginator.isLastPageDisabled\"\n [attr.aria-disabled]=\"paginator.isLastPageDisabled\"\n (click)=\"paginator.paginate(paginator.totalPages - 1)\"\n igxButton=\"icon\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon>last_page</igx-icon>\n</button>\n\n" }]
56103
56137
  }], ctorParameters: function () { return [{ type: IgxPaginatorComponent, decorators: [{
56104
56138
  type: Host
56105
56139
  }] }]; }, propDecorators: { cssClass: [{
@@ -58715,8 +58749,13 @@ class IgxGridNavigationService {
58715
58749
  if (shouldClearSelection || (this.grid.cellSelection !== GridSelectionMode.multiple)) {
58716
58750
  this.grid.clearCellSelection();
58717
58751
  this.grid.navigateTo(this.activeNode.row, this.activeNode.column, (obj) => {
58718
- obj.target?.activate(event);
58719
- this.grid.cdr.detectChanges();
58752
+ if (this.activeNode.row === obj.target.row.index) {
58753
+ obj.target?.activate(event);
58754
+ this.grid.cdr.detectChanges();
58755
+ }
58756
+ else {
58757
+ this.grid.navigateTo(this.activeNode.row, this.activeNode.column);
58758
+ }
58720
58759
  });
58721
58760
  }
58722
58761
  else {
@@ -69005,7 +69044,6 @@ class IgxGridComponent extends IgxGridBaseDirective {
69005
69044
  if (this.groupTemplate) {
69006
69045
  this._groupRowTemplate = this.groupTemplate.template;
69007
69046
  }
69008
- this.detailTemplate.changes.subscribe(() => this.trackChanges = (_, rec) => (rec?.detailsData !== undefined ? rec.detailsData : rec));
69009
69047
  if (this.hideGroupedColumns && this._columns && this.groupingExpressions) {
69010
69048
  this._setGroupColsVisibility(this.hideGroupedColumns);
69011
69049
  }
@@ -69044,6 +69082,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
69044
69082
  */
69045
69083
  ngOnInit() {
69046
69084
  super.ngOnInit();
69085
+ this.trackChanges = (_, rec) => (rec?.detailsData !== undefined ? rec.detailsData : rec);
69047
69086
  this.onGroupingDone.pipe(takeUntil(this.destroy$)).subscribe((args) => {
69048
69087
  this.crudService.endEdit(false);
69049
69088
  this.summaryService.updateSummaryCache(args);
@@ -83956,14 +83995,14 @@ class IgxDateRangePickerComponent extends PickerBaseDirective {
83956
83995
  this.onValidatorChange = noop;
83957
83996
  this.onStatusChanged = () => {
83958
83997
  if (this.inputGroup) {
83959
- this.inputDirective.valid = this.isTouchedOrDirty
83998
+ this.inputDirective.valid = this.isTouchedOrDirty && !this._ngControl.disabled
83960
83999
  ? this.getInputState(this.inputGroup.isFocused)
83961
84000
  : IgxInputState.INITIAL;
83962
84001
  }
83963
84002
  else if (this.hasProjectedInputs) {
83964
84003
  this.projectedInputs
83965
84004
  .forEach(i => {
83966
- i.inputDirective.valid = this.isTouchedOrDirty
84005
+ i.inputDirective.valid = this.isTouchedOrDirty && !this._ngControl.disabled
83967
84006
  ? this.getInputState(i.isFocused)
83968
84007
  : IgxInputState.INITIAL;
83969
84008
  ;