igniteui-angular 19.2.13 → 19.2.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.
- package/fesm2022/igniteui-angular.mjs +52 -14
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/lib/core/styles/components/calendar/_calendar-theme.scss +2 -1
- package/lib/core/styles/components/date-picker/_date-picker-theme.scss +8 -1
- package/lib/core/styles/components/drop-down/_drop-down-theme.scss +1 -1
- package/lib/core/styles/components/query-builder/_query-builder-theme.scss +22 -8
- package/lib/directives/for-of/base.helper.component.d.ts +6 -1
- package/package.json +1 -1
- package/styles/igniteui-angular-dark.css +1 -1
- package/styles/igniteui-angular.css +1 -1
- package/styles/igniteui-bootstrap-dark.css +1 -1
- package/styles/igniteui-bootstrap-light.css +1 -1
- package/styles/igniteui-dark-green.css +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, HostListener, Input, Directive, EventEmitter, InjectionToken, isDevMode, inject, PLATFORM_ID, Inject, ElementRef, ViewContainerRef, createComponent, HostBinding, Output, Self, Optional, booleanAttribute, SecurityContext, DestroyRef, Component, ContentChild, ContentChildren, RendererStyleFlags2, Pipe, ViewChild, contentChildren, QueryList, signal, effect, LOCALE_ID, forwardRef, Host, ViewChildren, TemplateRef, ChangeDetectionStrategy, SimpleChange, ChangeDetectorRef,
|
|
2
|
+
import { Injectable, HostListener, Input, Directive, EventEmitter, InjectionToken, isDevMode, inject, PLATFORM_ID, Inject, ElementRef, ViewContainerRef, createComponent, HostBinding, Output, Self, Optional, booleanAttribute, SecurityContext, DestroyRef, Component, ContentChild, ContentChildren, RendererStyleFlags2, Pipe, ViewChild, Renderer2, NgZone, contentChildren, QueryList, signal, effect, LOCALE_ID, forwardRef, Host, ViewChildren, TemplateRef, ChangeDetectionStrategy, SimpleChange, ChangeDetectorRef, 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
5
|
import { Observable, NEVER, Subject, fromEvent, BehaviorSubject, interval, animationFrameScheduler, noop, takeUntil as takeUntil$1, merge, Subscription, timer, sampleTime, filter as filter$1, pipe, take as take$1 } from 'rxjs';
|
|
@@ -15586,6 +15586,9 @@ class VirtualHelperBaseDirective {
|
|
|
15586
15586
|
this.destroy$ = new Subject();
|
|
15587
15587
|
this._afterViewInit = false;
|
|
15588
15588
|
this._detached = false;
|
|
15589
|
+
this.renderer = inject(Renderer2);
|
|
15590
|
+
this.platformId = inject(PLATFORM_ID);
|
|
15591
|
+
this.ngZone = inject(NgZone);
|
|
15589
15592
|
this._scrollNativeSize = this.calculateScrollNativeSize();
|
|
15590
15593
|
}
|
|
15591
15594
|
onScroll(event) {
|
|
@@ -15641,6 +15644,30 @@ class VirtualHelperBaseDirective {
|
|
|
15641
15644
|
get isAttachedToDom() {
|
|
15642
15645
|
return this.document.body.contains(this.nativeElement);
|
|
15643
15646
|
}
|
|
15647
|
+
toggleClass(element, className, shouldHaveClass) {
|
|
15648
|
+
if (shouldHaveClass) {
|
|
15649
|
+
this.renderer.addClass(element, className);
|
|
15650
|
+
}
|
|
15651
|
+
else {
|
|
15652
|
+
this.renderer.removeClass(element, className);
|
|
15653
|
+
}
|
|
15654
|
+
}
|
|
15655
|
+
updateScrollbarClass() {
|
|
15656
|
+
if (!isPlatformBrowser(this.platformId)) {
|
|
15657
|
+
return;
|
|
15658
|
+
}
|
|
15659
|
+
this.ngZone.runOutsideAngular(() => {
|
|
15660
|
+
requestAnimationFrame(() => {
|
|
15661
|
+
const el = this.nativeElement;
|
|
15662
|
+
const hasScrollbar = el.scrollHeight > el.clientHeight;
|
|
15663
|
+
const prevSibling = el.previousElementSibling;
|
|
15664
|
+
const scrollbarClass = 'igx-display-container--scrollbar';
|
|
15665
|
+
if (prevSibling?.tagName.toLowerCase() === 'igx-display-container') {
|
|
15666
|
+
this.toggleClass(prevSibling, scrollbarClass, hasScrollbar);
|
|
15667
|
+
}
|
|
15668
|
+
});
|
|
15669
|
+
});
|
|
15670
|
+
}
|
|
15644
15671
|
handleMutations(event) {
|
|
15645
15672
|
const hasSize = !(event[0].contentRect.height === 0 && event[0].contentRect.width === 0);
|
|
15646
15673
|
if (!hasSize && !this.isAttachedToDom) {
|
|
@@ -15651,6 +15678,7 @@ class VirtualHelperBaseDirective {
|
|
|
15651
15678
|
// attached back now.
|
|
15652
15679
|
this.restoreScroll();
|
|
15653
15680
|
}
|
|
15681
|
+
this.updateScrollbarClass();
|
|
15654
15682
|
}
|
|
15655
15683
|
restoreScroll() { }
|
|
15656
15684
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: VirtualHelperBaseDirective, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: DOCUMENT }, { token: PlatformUtil }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
@@ -47186,19 +47214,20 @@ class IgxSelectComponent extends IgxDropDownComponent {
|
|
|
47186
47214
|
}
|
|
47187
47215
|
manageRequiredAsterisk() {
|
|
47188
47216
|
const hasRequiredHTMLAttribute = this.elementRef.nativeElement.hasAttribute('required');
|
|
47217
|
+
let isRequired = false;
|
|
47189
47218
|
if (this.ngControl && this.ngControl.control.validator) {
|
|
47190
|
-
// Run the validation with empty object to check if required is enabled.
|
|
47191
47219
|
const error = this.ngControl.control.validator({});
|
|
47192
|
-
|
|
47193
|
-
this.cdr.markForCheck();
|
|
47194
|
-
// If validator is dynamically cleared and no required HTML attribute is set,
|
|
47195
|
-
// reset label's required class(asterisk) and IgxInputState #6896
|
|
47220
|
+
isRequired = !!(error && error.required);
|
|
47196
47221
|
}
|
|
47197
|
-
|
|
47222
|
+
this.inputGroup.isRequired = isRequired;
|
|
47223
|
+
if (this.input?.nativeElement) {
|
|
47224
|
+
this.input.nativeElement.setAttribute('aria-required', isRequired.toString());
|
|
47225
|
+
}
|
|
47226
|
+
// Handle validator removal case
|
|
47227
|
+
if (!isRequired && !hasRequiredHTMLAttribute) {
|
|
47198
47228
|
this.input.valid = IgxInputState.INITIAL;
|
|
47199
|
-
this.inputGroup.isRequired = false;
|
|
47200
|
-
this.cdr.markForCheck();
|
|
47201
47229
|
}
|
|
47230
|
+
this.cdr.markForCheck();
|
|
47202
47231
|
}
|
|
47203
47232
|
setSelection(item) {
|
|
47204
47233
|
if (item && item.value !== undefined && item.value !== null) {
|
|
@@ -68353,7 +68382,7 @@ class IgxGridBaseDirective {
|
|
|
68353
68382
|
let sum = 0;
|
|
68354
68383
|
for (const col of fc) {
|
|
68355
68384
|
if (col.level === 0) {
|
|
68356
|
-
sum +=
|
|
68385
|
+
sum += parseFloat(col.calcWidth);
|
|
68357
68386
|
}
|
|
68358
68387
|
}
|
|
68359
68388
|
if (this.isPinningToStart) {
|
|
@@ -69023,7 +69052,7 @@ class IgxGridBaseDirective {
|
|
|
69023
69052
|
* @hidden @internal
|
|
69024
69053
|
*/
|
|
69025
69054
|
hasHorizontalScroll() {
|
|
69026
|
-
return this.totalWidth - this.unpinnedWidth > 0 && this.width !== null;
|
|
69055
|
+
return Math.round(this.totalWidth - this.unpinnedWidth) > 0 && this.width !== null;
|
|
69027
69056
|
}
|
|
69028
69057
|
/**
|
|
69029
69058
|
* @hidden @internal
|
|
@@ -69059,6 +69088,9 @@ class IgxGridBaseDirective {
|
|
|
69059
69088
|
// TODO: do not remove this, as it is used in rowEditTemplate, but mark is as internal and hidden
|
|
69060
69089
|
/* blazorCSSuppress */
|
|
69061
69090
|
endEdit(commit = true, event) {
|
|
69091
|
+
if (!this.crudService.cellInEditMode && !this.crudService.rowInEditMode) {
|
|
69092
|
+
return;
|
|
69093
|
+
}
|
|
69062
69094
|
const document = this.nativeElement?.getRootNode();
|
|
69063
69095
|
const focusWithin = this.nativeElement?.contains(document.activeElement);
|
|
69064
69096
|
const success = this.crudService.endEdit(commit, event);
|
|
@@ -73337,7 +73369,9 @@ class IgxGridCellComponent {
|
|
|
73337
73369
|
modal: false,
|
|
73338
73370
|
positionStrategy: new AutoPositionStrategy({
|
|
73339
73371
|
horizontalStartPoint: HorizontalAlignment.Center,
|
|
73340
|
-
horizontalDirection: HorizontalAlignment.Center
|
|
73372
|
+
horizontalDirection: HorizontalAlignment.Center,
|
|
73373
|
+
openAnimation: useAnimation(scaleInCenter, { params: { duration: '150ms' } }),
|
|
73374
|
+
closeAnimation: useAnimation(fadeOut, { params: { duration: '75ms' } })
|
|
73341
73375
|
})
|
|
73342
73376
|
});
|
|
73343
73377
|
}
|
|
@@ -73377,6 +73411,10 @@ class IgxGridCellComponent {
|
|
|
73377
73411
|
this.highlight.lastSearchInfo.caseSensitive = this.grid.lastSearchInfo.caseSensitive;
|
|
73378
73412
|
this.highlight.lastSearchInfo.exactMatch = this.grid.lastSearchInfo.exactMatch;
|
|
73379
73413
|
}
|
|
73414
|
+
const isInEdit = this.grid.rowEditable ? this.row.inEditMode : this.editMode;
|
|
73415
|
+
if (this.formControl && this.formControl.value !== changes.value.currentValue && !isInEdit) {
|
|
73416
|
+
this.formControl.setValue(changes.value.currentValue);
|
|
73417
|
+
}
|
|
73380
73418
|
}
|
|
73381
73419
|
}
|
|
73382
73420
|
/**
|
|
@@ -77637,8 +77675,8 @@ class IgxPivotRowComponent extends IgxRowDirective {
|
|
|
77637
77675
|
keyValueMap.set(dim.memberName, path.shift());
|
|
77638
77676
|
}
|
|
77639
77677
|
let pivotValue;
|
|
77640
|
-
if (this.grid.hasMultipleValues) {
|
|
77641
|
-
pivotValue = this.grid.values.find(x => x.member === path
|
|
77678
|
+
if (this.grid.hasMultipleValues && path.length) {
|
|
77679
|
+
pivotValue = this.grid.values.find(x => x.member === path[0]);
|
|
77642
77680
|
}
|
|
77643
77681
|
else {
|
|
77644
77682
|
pivotValue = this.grid.values ? this.grid.values[0] : undefined;
|