igniteui-angular 18.2.4 → 18.2.5
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.
- package/esm2022/lib/calendar/common/calendar-view.directive.mjs +3 -2
- package/esm2022/lib/calendar/common/model.mjs +3 -2
- package/esm2022/lib/core/utils.mjs +23 -11
- package/esm2022/lib/directives/drag-drop/drag-drop.directive.mjs +20 -22
- package/esm2022/lib/directives/for-of/for_of.directive.mjs +5 -3
- package/esm2022/lib/grids/grid-base.directive.mjs +7 -2
- package/esm2022/lib/grids/moving/moving.drag.directive.mjs +3 -3
- package/esm2022/lib/grids/pivot-grid/pivot-grid.component.mjs +6 -8
- package/esm2022/lib/services/animation/angular-animation-player.mjs +4 -2
- package/esm2022/lib/tabs/tabs/tab-header.component.mjs +7 -5
- package/esm2022/lib/tabs/tabs/tabs.component.mjs +14 -10
- package/fesm2022/igniteui-angular.mjs +80 -58
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/lib/core/styles/themes/generators/_base.scss +3 -2
- package/lib/core/styles/themes/generators/_bootstrap.scss +9 -6
- package/lib/core/styles/themes/generators/_fluent.scss +9 -6
- package/lib/core/styles/themes/generators/_indigo.scss +9 -6
- package/lib/directives/drag-drop/drag-drop.directive.d.ts +1 -0
- package/lib/grids/grid-base.directive.d.ts +1 -0
- package/lib/grids/pivot-grid/pivot-grid.component.d.ts +0 -1
- package/lib/tabs/tabs/tabs.component.d.ts +3 -1
- package/package.json +1 -1
- package/styles/igniteui-angular-dark.css +1 -1
- package/styles/igniteui-bootstrap-dark.css +1 -1
- package/styles/igniteui-dark-green.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
|
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { Injectable, Directive, Input, HostListener, EventEmitter, InjectionToken, isDevMode, inject, PLATFORM_ID, Inject, ElementRef, ViewContainerRef, createComponent, Output, HostBinding, Self, Optional, booleanAttribute, SecurityContext, Component, ContentChildren, ContentChild, RendererStyleFlags2, Pipe, ViewChild, DestroyRef, LOCALE_ID, forwardRef, Host, QueryList, ViewChildren, TemplateRef, ChangeDetectionStrategy, SimpleChange, SkipSelf, CUSTOM_ELEMENTS_SCHEMA, reflectComponentType, NgModule } from '@angular/core';
|
|
3
3
|
import * as i4 from '@angular/forms';
|
|
4
4
|
import { NgModel, NgControl, FormControlName, NG_VALUE_ACCESSOR, Validators, NG_VALIDATORS, FormGroup, FormsModule, RequiredValidator, MinValidator, MaxValidator, EmailValidator, MinLengthValidator, MaxLengthValidator, PatternValidator, FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { Observable, Subject, fromEvent, BehaviorSubject, interval, animationFrameScheduler, noop, merge, Subscription, timer, pipe } from 'rxjs';
|
|
5
|
+
import { Observable, NEVER, Subject, fromEvent, BehaviorSubject, interval, animationFrameScheduler, noop, merge, Subscription, timer, takeUntil as takeUntil$1, pipe } from 'rxjs';
|
|
6
6
|
import { takeUntil, filter, throttle, throttleTime, first as first$2, startWith, take, debounce, tap, switchMap, skipLast, debounceTime, map, shareReplay, takeWhile, timeout, pluck } from 'rxjs/operators';
|
|
7
7
|
import { isPlatformBrowser, formatDate as formatDate$1, CurrencyPipe, formatPercent, formatNumber, getLocaleCurrencyCode, DatePipe, getLocaleDateFormat, FormatWidth, getLocaleDateTimeFormat, DOCUMENT, NgTemplateOutlet, NgIf, NgClass, NgSwitch, NgSwitchCase, NgSwitchDefault, NgFor, TitleCasePipe, getLocaleFirstDayOfWeek, NgStyle, getLocaleCurrencySymbol, formatCurrency as formatCurrency$1, getLocaleNumberFormat, NumberFormatStyle, DecimalPipe, PercentPipe, getCurrencySymbol, AsyncPipe } from '@angular/common';
|
|
8
8
|
import { mergeWith, isEqual as isEqual$1 } from 'lodash-es';
|
|
@@ -402,7 +402,9 @@ const isObject = (value) => !!(value && value.toString() === '[object Object]');
|
|
|
402
402
|
* @returns true if provided variable is Date
|
|
403
403
|
* @hidden
|
|
404
404
|
*/
|
|
405
|
-
const isDate = (value) =>
|
|
405
|
+
const isDate = (value) => {
|
|
406
|
+
return Object.prototype.toString.call(value) === "[object Date]";
|
|
407
|
+
};
|
|
406
408
|
/**
|
|
407
409
|
* Checks if the two passed arguments are equal
|
|
408
410
|
* Currently supports date objects
|
|
@@ -599,14 +601,24 @@ const HEADER_KEYS = new Set([...Array.from(NAVIGATION_KEYS), 'escape', 'esc', 'l
|
|
|
599
601
|
* Run the resizeObservable outside angular zone, because it patches the MutationObserver which causes an infinite loop.
|
|
600
602
|
* Related issue: https://github.com/angular/angular/issues/31712
|
|
601
603
|
*/
|
|
602
|
-
const resizeObservable = (target) =>
|
|
603
|
-
const
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
});
|
|
604
|
+
const resizeObservable = (target) => {
|
|
605
|
+
const resizeObserver = getResizeObserver();
|
|
606
|
+
// check whether we are on server env or client env
|
|
607
|
+
if (resizeObserver) {
|
|
608
|
+
return new Observable((observer) => {
|
|
609
|
+
const instance = new resizeObserver((entries) => {
|
|
610
|
+
observer.next(entries);
|
|
611
|
+
});
|
|
612
|
+
instance.observe(target);
|
|
613
|
+
const unsubscribe = () => instance.disconnect();
|
|
614
|
+
return unsubscribe;
|
|
615
|
+
});
|
|
616
|
+
}
|
|
617
|
+
else {
|
|
618
|
+
// if on a server env return a empty observable that does not complete immediately
|
|
619
|
+
return NEVER;
|
|
620
|
+
}
|
|
621
|
+
};
|
|
610
622
|
/**
|
|
611
623
|
* @hidden
|
|
612
624
|
* @internal
|
|
@@ -4874,7 +4886,9 @@ class IgxAngularAnimationPlayer {
|
|
|
4874
4886
|
// To workaround this we are getting the positions from the inner player.
|
|
4875
4887
|
// This is logged in Angular here - https://github.com/angular/angular/issues/18891
|
|
4876
4888
|
// As soon as this is resolved we can remove this hack
|
|
4877
|
-
|
|
4889
|
+
const rendererEngine = innerRenderer.engine || innerRenderer.delegate.engine;
|
|
4890
|
+
// A workaround because of Angular SSR is using some delegation.
|
|
4891
|
+
this._innerPlayer = rendererEngine.players[rendererEngine.players.length - 1];
|
|
4878
4892
|
}
|
|
4879
4893
|
init() {
|
|
4880
4894
|
this.internalPlayer.init();
|
|
@@ -11710,9 +11724,7 @@ class IgxDragDirective {
|
|
|
11710
11724
|
fromEvent(document.defaultView, 'mouseup').pipe(takeUntil(this._destroy))
|
|
11711
11725
|
.subscribe((res) => this.onPointerUp(res));
|
|
11712
11726
|
}
|
|
11713
|
-
this.element.nativeElement.addEventListener('transitionend', (
|
|
11714
|
-
this.onTransitionEnd(args);
|
|
11715
|
-
});
|
|
11727
|
+
this.element.nativeElement.addEventListener('transitionend', this.onTransitionEnd.bind(this));
|
|
11716
11728
|
});
|
|
11717
11729
|
// Set transition duration to 0s. This also helps with setting `visibility: hidden` to the base to not lag.
|
|
11718
11730
|
this.element.nativeElement.style.transitionDuration = '0.0s';
|
|
@@ -11731,6 +11743,7 @@ class IgxDragDirective {
|
|
|
11731
11743
|
this._dynamicGhostRef = null;
|
|
11732
11744
|
}
|
|
11733
11745
|
}
|
|
11746
|
+
this.element.nativeElement.removeEventListener('transitionend', this.onTransitionEnd);
|
|
11734
11747
|
if (this._containerScrollIntervalId) {
|
|
11735
11748
|
clearInterval(this._containerScrollIntervalId);
|
|
11736
11749
|
this._containerScrollIntervalId = null;
|
|
@@ -12115,12 +12128,7 @@ class IgxDragDirective {
|
|
|
12115
12128
|
if (ghostDestroyArgs.cancel) {
|
|
12116
12129
|
return;
|
|
12117
12130
|
}
|
|
12118
|
-
this.
|
|
12119
|
-
this.ghostElement = null;
|
|
12120
|
-
if (this._dynamicGhostRef) {
|
|
12121
|
-
this._dynamicGhostRef.destroy();
|
|
12122
|
-
this._dynamicGhostRef = null;
|
|
12123
|
-
}
|
|
12131
|
+
this.clearGhost();
|
|
12124
12132
|
}
|
|
12125
12133
|
else if (!this.ghost) {
|
|
12126
12134
|
this.element.nativeElement.style.transitionProperty = '';
|
|
@@ -12142,6 +12150,18 @@ class IgxDragDirective {
|
|
|
12142
12150
|
});
|
|
12143
12151
|
});
|
|
12144
12152
|
}
|
|
12153
|
+
clearGhost() {
|
|
12154
|
+
this.ghostElement.removeEventListener('pointermove', this.onPointerMove);
|
|
12155
|
+
this.ghostElement.removeEventListener('pointerup', this.onPointerUp);
|
|
12156
|
+
this.ghostElement.removeEventListener('lostpointercapture', this.onPointerLost);
|
|
12157
|
+
this.ghostElement.removeEventListener('transitionend', this.onTransitionEnd);
|
|
12158
|
+
this.ghostElement.remove();
|
|
12159
|
+
this.ghostElement = null;
|
|
12160
|
+
if (this._dynamicGhostRef) {
|
|
12161
|
+
this._dynamicGhostRef.destroy();
|
|
12162
|
+
this._dynamicGhostRef = null;
|
|
12163
|
+
}
|
|
12164
|
+
}
|
|
12145
12165
|
/**
|
|
12146
12166
|
* @hidden
|
|
12147
12167
|
* Create ghost element - if a Node object is provided it creates a clone of that node,
|
|
@@ -12211,20 +12231,12 @@ class IgxDragDirective {
|
|
|
12211
12231
|
if (this._pointerDownId !== null) {
|
|
12212
12232
|
this.ghostElement.setPointerCapture(this._pointerDownId);
|
|
12213
12233
|
}
|
|
12214
|
-
this.ghostElement.addEventListener('pointermove', (
|
|
12215
|
-
|
|
12216
|
-
|
|
12217
|
-
this.ghostElement.addEventListener('pointerup', (args) => {
|
|
12218
|
-
this.onPointerUp(args);
|
|
12219
|
-
});
|
|
12220
|
-
this.ghostElement.addEventListener('lostpointercapture', (args) => {
|
|
12221
|
-
this.onPointerLost(args);
|
|
12222
|
-
});
|
|
12234
|
+
this.ghostElement.addEventListener('pointermove', this.onPointerMove.bind(this));
|
|
12235
|
+
this.ghostElement.addEventListener('pointerup', this.onPointerUp.bind(this));
|
|
12236
|
+
this.ghostElement.addEventListener('lostpointercapture', this.onPointerLost.bind(this));
|
|
12223
12237
|
}
|
|
12224
12238
|
// Transition animation when the ghostElement is released and it returns to it's original position.
|
|
12225
|
-
this.ghostElement.addEventListener('transitionend', (
|
|
12226
|
-
this.onTransitionEnd(args);
|
|
12227
|
-
});
|
|
12239
|
+
this.ghostElement.addEventListener('transitionend', this.onTransitionEnd.bind(this));
|
|
12228
12240
|
this.cdr.detectChanges();
|
|
12229
12241
|
}
|
|
12230
12242
|
/**
|
|
@@ -14266,8 +14278,10 @@ class IgxForOfDirective extends IgxForOfToken {
|
|
|
14266
14278
|
ngAfterViewInit() {
|
|
14267
14279
|
if (this.igxForScrollOrientation === 'vertical') {
|
|
14268
14280
|
this._zone.runOutsideAngular(() => {
|
|
14269
|
-
|
|
14270
|
-
|
|
14281
|
+
if (this.platformUtil.isBrowser) {
|
|
14282
|
+
this.contentObserver = new (getResizeObserver())(() => this.contentResizeNotify.next());
|
|
14283
|
+
this.contentObserver.observe(this.dc.instance._viewContainer.element.nativeElement);
|
|
14284
|
+
}
|
|
14271
14285
|
});
|
|
14272
14286
|
}
|
|
14273
14287
|
}
|
|
@@ -29575,7 +29589,7 @@ const IGX_BUTTON_GROUP_DIRECTIVES = [
|
|
|
29575
29589
|
const daysInWeek = 7;
|
|
29576
29590
|
const millisecondsInDay = 86400000;
|
|
29577
29591
|
function toCalendarDay(date) {
|
|
29578
|
-
return date
|
|
29592
|
+
return isDate(date) ? CalendarDay.from(date) : date;
|
|
29579
29593
|
}
|
|
29580
29594
|
function checkRollover(original, modified) {
|
|
29581
29595
|
return original.date !== modified.date
|
|
@@ -30202,7 +30216,7 @@ class IgxCalendarViewDirective {
|
|
|
30202
30216
|
* @memberof IgxYearsViewComponent
|
|
30203
30217
|
*/
|
|
30204
30218
|
set date(value) {
|
|
30205
|
-
if (!(value
|
|
30219
|
+
if (!isDate(value))
|
|
30206
30220
|
return;
|
|
30207
30221
|
this._date = value;
|
|
30208
30222
|
}
|
|
@@ -55389,7 +55403,7 @@ class IgxColumnMovingDragDirective extends IgxDragDirective {
|
|
|
55389
55403
|
source: this.column
|
|
55390
55404
|
};
|
|
55391
55405
|
this.column.grid.columnMovingStart.emit(movingStartArgs);
|
|
55392
|
-
this.subscription$ = fromEvent(this.column.grid.document.defaultView, 'keydown').subscribe((ev) => {
|
|
55406
|
+
this.subscription$ = fromEvent(this.column.grid.document.defaultView, 'keydown').pipe(takeUntil$1(this._destroy)).subscribe((ev) => {
|
|
55393
55407
|
if (ev.key === this.platformUtil.KEYMAP.ESCAPE) {
|
|
55394
55408
|
this.onEscape(ev);
|
|
55395
55409
|
}
|
|
@@ -64232,6 +64246,7 @@ class IgxGridBaseDirective {
|
|
|
64232
64246
|
this._rowSelectionMode = GridSelectionMode.none;
|
|
64233
64247
|
this._selectRowOnClick = true;
|
|
64234
64248
|
this._columnSelectionMode = GridSelectionMode.none;
|
|
64249
|
+
this.isColumnWidthSum = false;
|
|
64235
64250
|
this.rowEditPositioningStrategy = new RowEditPositionStrategy({
|
|
64236
64251
|
horizontalDirection: HorizontalAlignment.Right,
|
|
64237
64252
|
verticalDirection: VerticalAlignment.Bottom,
|
|
@@ -64816,7 +64831,7 @@ class IgxGridBaseDirective {
|
|
|
64816
64831
|
.subscribe((change) => {
|
|
64817
64832
|
this.onPinnedRowsChanged(change);
|
|
64818
64833
|
});
|
|
64819
|
-
this.addRowSnackbar?.clicked.subscribe(() => {
|
|
64834
|
+
this.addRowSnackbar?.clicked.pipe(takeUntil(this.destroy$)).subscribe(() => {
|
|
64820
64835
|
const rec = this.filteredSortedData[this.lastAddedRowIndex];
|
|
64821
64836
|
this.scrollTo(rec, 0);
|
|
64822
64837
|
this.addRowSnackbar.close();
|
|
@@ -67045,6 +67060,7 @@ class IgxGridBaseDirective {
|
|
|
67045
67060
|
}
|
|
67046
67061
|
if (this.width === null || !width) {
|
|
67047
67062
|
width = this.getColumnWidthSum();
|
|
67063
|
+
this.isColumnWidthSum = true;
|
|
67048
67064
|
}
|
|
67049
67065
|
if (this.hasVerticalScroll() && this.width !== null) {
|
|
67050
67066
|
width -= this.scrollSize;
|
|
@@ -67811,6 +67827,9 @@ class IgxGridBaseDirective {
|
|
|
67811
67827
|
this.resetCachedWidths();
|
|
67812
67828
|
this.cdr.detectChanges();
|
|
67813
67829
|
}
|
|
67830
|
+
if (this.isColumnWidthSum) {
|
|
67831
|
+
this.calcWidth = this.getColumnWidthSum();
|
|
67832
|
+
}
|
|
67814
67833
|
}
|
|
67815
67834
|
extractDataFromColumnsSelection(source, formatters = false, headers = false) {
|
|
67816
67835
|
let record = {};
|
|
@@ -76294,7 +76313,7 @@ class IgxPivotGridComponent extends IgxGridBaseDirective {
|
|
|
76294
76313
|
}
|
|
76295
76314
|
/** @hidden */
|
|
76296
76315
|
featureColumnsWidth() {
|
|
76297
|
-
return this.pivotRowWidths;
|
|
76316
|
+
return this.pivotRowWidths || 0;
|
|
76298
76317
|
}
|
|
76299
76318
|
/* blazorSuppress */
|
|
76300
76319
|
/**
|
|
@@ -76414,7 +76433,7 @@ class IgxPivotGridComponent extends IgxGridBaseDirective {
|
|
|
76414
76433
|
}
|
|
76415
76434
|
/** @hidden @internal */
|
|
76416
76435
|
get pivotPinnedWidth() {
|
|
76417
|
-
return this.isPinningToStart ? this.pinnedWidth : this.headerFeaturesWidth;
|
|
76436
|
+
return !this._init ? (this.isPinningToStart ? this.pinnedWidth : this.headerFeaturesWidth) : 0;
|
|
76418
76437
|
}
|
|
76419
76438
|
/** @hidden @internal */
|
|
76420
76439
|
get pivotUnpinnedWidth() {
|
|
@@ -76450,11 +76469,6 @@ class IgxPivotGridComponent extends IgxGridBaseDirective {
|
|
|
76450
76469
|
this.toggleRowGroup(col, newState);
|
|
76451
76470
|
this.reflow();
|
|
76452
76471
|
}
|
|
76453
|
-
getColumnWidthSum() {
|
|
76454
|
-
let colSum = super.getColumnWidthSum();
|
|
76455
|
-
colSum += this.rowDimensions.map(dim => this.rowDimensionWidthToPixels(dim)).reduce((prev, cur) => prev + cur, 0);
|
|
76456
|
-
return colSum;
|
|
76457
|
-
}
|
|
76458
76472
|
/**
|
|
76459
76473
|
* @hidden @internal
|
|
76460
76474
|
*/
|
|
@@ -77283,6 +77297,9 @@ class IgxPivotGridComponent extends IgxGridBaseDirective {
|
|
|
77283
77297
|
dim.autoWidth = maxSize;
|
|
77284
77298
|
}
|
|
77285
77299
|
}
|
|
77300
|
+
if (this.isColumnWidthSum) {
|
|
77301
|
+
this.calcWidth = this.getColumnWidthSum();
|
|
77302
|
+
}
|
|
77286
77303
|
}
|
|
77287
77304
|
/** @hidden @internal */
|
|
77288
77305
|
get hasDimensionsToAutosize() {
|
|
@@ -89114,9 +89131,10 @@ class IgxTabsComponent extends IgxTabsDirective {
|
|
|
89114
89131
|
this.realignSelectedIndicator();
|
|
89115
89132
|
});
|
|
89116
89133
|
}
|
|
89117
|
-
constructor(animationService, cdr, ngZone, dir) {
|
|
89134
|
+
constructor(animationService, cdr, ngZone, dir, platform) {
|
|
89118
89135
|
super(animationService, cdr, dir);
|
|
89119
89136
|
this.ngZone = ngZone;
|
|
89137
|
+
this.platform = platform;
|
|
89120
89138
|
/**
|
|
89121
89139
|
* Determines the tab activation.
|
|
89122
89140
|
* When set to auto, the tab is instantly selected while navigating with the Left/Right Arrows, Home or End keys and the corresponding panel is displayed.
|
|
@@ -89136,12 +89154,14 @@ class IgxTabsComponent extends IgxTabsDirective {
|
|
|
89136
89154
|
ngAfterViewInit() {
|
|
89137
89155
|
super.ngAfterViewInit();
|
|
89138
89156
|
this.ngZone.runOutsideAngular(() => {
|
|
89139
|
-
this.
|
|
89140
|
-
this.
|
|
89141
|
-
|
|
89142
|
-
|
|
89143
|
-
|
|
89144
|
-
|
|
89157
|
+
if (this.platform.isBrowser) {
|
|
89158
|
+
this._resizeObserver = new (getResizeObserver())(() => {
|
|
89159
|
+
this.updateScrollButtons();
|
|
89160
|
+
this.realignSelectedIndicator();
|
|
89161
|
+
});
|
|
89162
|
+
this._resizeObserver.observe(this.headerContainer.nativeElement);
|
|
89163
|
+
this._resizeObserver.observe(this.viewPort.nativeElement);
|
|
89164
|
+
}
|
|
89145
89165
|
});
|
|
89146
89166
|
}
|
|
89147
89167
|
/** @hidden @internal */
|
|
@@ -89313,7 +89333,7 @@ class IgxTabsComponent extends IgxTabsDirective {
|
|
|
89313
89333
|
getElementOffset(element) {
|
|
89314
89334
|
return this.dir.rtl ? this.itemsWrapper.nativeElement.offsetWidth - element.offsetLeft - element.offsetWidth : element.offsetLeft;
|
|
89315
89335
|
}
|
|
89316
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IgxTabsComponent, deps: [{ token: IgxAngularAnimationService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: IgxDirectionality }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
89336
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IgxTabsComponent, deps: [{ token: IgxAngularAnimationService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: IgxDirectionality }, { token: PlatformUtil }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
89317
89337
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: IgxTabsComponent, isStandalone: true, selector: "igx-tabs", inputs: { tabAlignment: "tabAlignment", activation: "activation" }, host: { properties: { "class.igx-tabs": "this.defaultClass" } }, providers: [{ provide: IgxTabsBase, useExisting: IgxTabsComponent }], viewQueries: [{ propertyName: "headerContainer", first: true, predicate: ["headerContainer"], descendants: true, static: true }, { propertyName: "viewPort", first: true, predicate: ["viewPort"], descendants: true, static: true }, { propertyName: "itemsWrapper", first: true, predicate: ["itemsWrapper"], descendants: true, static: true }, { propertyName: "itemsContainer", first: true, predicate: ["itemsContainer"], descendants: true, static: true }, { propertyName: "selectedIndicator", first: true, predicate: ["selectedIndicator"], descendants: true }, { propertyName: "scrollPrevButton", first: true, predicate: ["scrollPrevButton"], descendants: true }, { propertyName: "scrollNextButton", first: true, predicate: ["scrollNextButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #headerContainer class=\"igx-tabs__header\">\n <button #scrollPrevButton type=\"button\" igxIconButton=\"flat\" igxRipple tabindex=\"-1\" class=\"igx-tabs__header-button\" (click)=\"scrollPrev()\">\n <igx-icon family=\"default\" name=\"prev\"></igx-icon>\n </button>\n <div #viewPort class=\"igx-tabs__header-content\">\n <div #itemsWrapper class=\"igx-tabs__header-wrapper\" role=\"tablist\">\n <div #itemsContainer class=\"igx-tabs__header-scroll\" [ngClass]=\"resolveHeaderScrollClasses()\">\n <ng-container *ngFor=\"let tab of items; let i = index\">\n <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\n </ng-container>\n </div>\n <div #selectedIndicator *ngIf=\"items.length > 0\" class=\"igx-tabs__header-active-indicator\">\n </div>\n </div>\n </div>\n <button #scrollNextButton type=\"button\" igxIconButton=\"flat\" igxRipple tabindex=\"-1\" class=\"igx-tabs__header-button\" (click)=\"scrollNext()\">\n <igx-icon family=\"default\" name=\"next\"></igx-icon>\n </button>\n</div>\n<div class=\"igx-tabs__panels\">\n <ng-container *ngFor=\"let tab of items; let i = index\">\n <ng-container *ngTemplateOutlet=\"tab.panelTemplate\"></ng-container>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "name", "active"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IgxIconButtonDirective, selector: "[igxIconButton]", inputs: ["igxIconButton"] }] }); }
|
|
89318
89338
|
}
|
|
89319
89339
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IgxTabsComponent, decorators: [{
|
|
@@ -89322,7 +89342,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
89322
89342
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
89323
89343
|
type: Inject,
|
|
89324
89344
|
args: [IgxAngularAnimationService]
|
|
89325
|
-
}] }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: IgxDirectionality }], propDecorators: { tabAlignment: [{
|
|
89345
|
+
}] }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: IgxDirectionality }, { type: PlatformUtil }], propDecorators: { tabAlignment: [{
|
|
89326
89346
|
type: Input
|
|
89327
89347
|
}], activation: [{
|
|
89328
89348
|
type: Input
|
|
@@ -89420,10 +89440,12 @@ class IgxTabHeaderComponent extends IgxTabHeaderDirective {
|
|
|
89420
89440
|
/** @hidden @internal */
|
|
89421
89441
|
ngAfterViewInit() {
|
|
89422
89442
|
this.ngZone.runOutsideAngular(() => {
|
|
89423
|
-
this.
|
|
89424
|
-
this.
|
|
89425
|
-
|
|
89426
|
-
|
|
89443
|
+
if (this.platform.isBrowser) {
|
|
89444
|
+
this._resizeObserver = new (getResizeObserver())(() => {
|
|
89445
|
+
this.tabs.realignSelectedIndicator();
|
|
89446
|
+
});
|
|
89447
|
+
this._resizeObserver.observe(this.nativeElement);
|
|
89448
|
+
}
|
|
89427
89449
|
});
|
|
89428
89450
|
}
|
|
89429
89451
|
/** @hidden @internal */
|