@skyux/ag-grid 12.4.0 → 12.6.0

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.
@@ -1,16 +1,16 @@
1
- import { DOCUMENT, AsyncPipe, NgClass, NgStyle, CommonModule, NgTemplateOutlet } from '@angular/common';
1
+ import { DOCUMENT, AsyncPipe, NgClass, CommonModule, NgTemplateOutlet } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { NgModule, Injectable, input, numberAttribute, computed, inject, ChangeDetectorRef, ElementRef, booleanAttribute, Input, HostBinding, ContentChild, ChangeDetectionStrategy, Component, contentChildren, effect, Directive, viewChildren, viewChild, output, contentChild, linkedSignal, EnvironmentInjector, ViewContainerRef, HostListener, ViewChild, ViewEncapsulation, signal, Optional } from '@angular/core';
3
+ import { NgModule, Injectable, input, numberAttribute, computed, inject, ChangeDetectorRef, ElementRef, booleanAttribute, Input, HostBinding, ContentChild, ChangeDetectionStrategy, Component, contentChildren, effect, Directive, InjectionToken, signal, model, output, contentChild, linkedSignal, EnvironmentInjector, HostListener, ViewChild, ViewEncapsulation, Optional } from '@angular/core';
4
4
  import { AgGridAngular } from 'ag-grid-angular';
5
5
  import * as i3 from '@skyux/i18n';
6
6
  import { SkyLibResourcesService, SkyI18nModule } from '@skyux/i18n';
7
- import { toSignal, toObservable } from '@angular/core/rxjs-interop';
7
+ import { toSignal, toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
8
8
  import * as i1 from '@skyux/core';
9
- import { SkyMutationObserverService, SkyViewkeeperModule, SkyMediaQueryService, SkyAffixService, SkyDynamicComponentService, SkyOverlayService, SkyScrollableHostService, SKY_STACKING_CONTEXT, SkyAffixAutoFitContext, SkyIdModule, SkyNumericModule, SkyDynamicComponentLocation, SkyLogService } from '@skyux/core';
10
- import { Subject, BehaviorSubject, ReplaySubject, takeUntil, combineLatest, of, distinctUntilChanged, take, filter as filter$1, switchMap, merge, delay, tap, observeOn, asapScheduler, sample, animationFrames, map, fromEvent, Subscription, fromEventPattern, isObservable } from 'rxjs';
9
+ import { SkyMutationObserverService, SkyViewkeeperModule, SkyMediaQueryService, SkyResizeObserverService, SkyAffixModule, SkyOverlayService, SkyScrollableHostService, SKY_STACKING_CONTEXT, SkyIdModule, SkyNumericModule, SkyDynamicComponentService, SkyDynamicComponentLocation, SkyLogService } from '@skyux/core';
10
+ import { Subject, BehaviorSubject, ReplaySubject, takeUntil, combineLatest, of, distinctUntilChanged, take, Subscription, switchMap, merge, fromEvent, startWith, map, scan, filter as filter$1, fromEventPattern, isObservable } from 'rxjs';
11
11
  import { takeUntil as takeUntil$1, filter, first } from 'rxjs/operators';
12
12
  import * as i2$4 from '@skyux/theme';
13
- import { SkyThemeService, SkyThemeComponentClassDirective, SkyThemeModule } from '@skyux/theme';
13
+ import { SkyThemeService, SkyThemeModule } from '@skyux/theme';
14
14
  import { themeQuartz, colorSchemeLight, iconSetQuartz, colorSchemeDark, KeyCode, PopupComponent } from 'ag-grid-community';
15
15
  import * as i1$1 from '@skyux/data-manager';
16
16
  import * as i1$2 from '@skyux/layout';
@@ -140,11 +140,11 @@ SkyLibResourcesService.addResources(RESOURCES);
140
140
  * Import into any component library module that needs to use resource strings.
141
141
  */
142
142
  class SkyAgGridResourcesModule {
143
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
144
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridResourcesModule, exports: [SkyI18nModule] }); }
145
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridResourcesModule, imports: [SkyI18nModule] }); }
143
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
144
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridResourcesModule, exports: [SkyI18nModule] }); }
145
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridResourcesModule, imports: [SkyI18nModule] }); }
146
146
  }
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridResourcesModule, decorators: [{
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridResourcesModule, decorators: [{
148
148
  type: NgModule,
149
149
  args: [{
150
150
  exports: [SkyI18nModule],
@@ -382,10 +382,10 @@ class SkyAgGridAdapterService {
382
382
  focusableChildren[0].focus();
383
383
  }
384
384
  }
385
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridAdapterService, deps: [{ token: i1.SkyCoreAdapterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
386
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridAdapterService, providedIn: 'root' }); }
385
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridAdapterService, deps: [{ token: i1.SkyCoreAdapterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
386
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridAdapterService, providedIn: 'root' }); }
387
387
  }
388
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridAdapterService, decorators: [{
388
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridAdapterService, decorators: [{
389
389
  type: Injectable,
390
390
  args: [{
391
391
  providedIn: 'root',
@@ -768,10 +768,10 @@ class SkyAgGridWrapperComponent {
768
768
  return false;
769
769
  }
770
770
  }
771
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
772
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.1", type: SkyAgGridWrapperComponent, isStandalone: true, selector: "sky-ag-grid-wrapper", inputs: { compact: { classPropertyName: "compact", publicName: "compact", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.sky-ag-grid-layout-normal": "this.isNormalLayout" } }, queries: [{ propertyName: "agGrid", first: true, predicate: AgGridAngular, descendants: true, static: true }], ngImport: i0, template: "<span\n class=\"nav-anchor\"\n tabindex=\"0\"\n [id]=\"beforeAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n<div\n class=\"sky-ag-grid\"\n tabindex=\"0\"\n [class.sky-ag-grid-top-scrollbar]=\"\n agGrid?.gridOptions?.context &&\n agGrid?.gridOptions?.context['enableTopScroll']\n \"\n [ngClass]=\"wrapperClasses$ | async\"\n [id]=\"gridId\"\n [skyViewkeeper]=\"viewkeeperClasses\"\n [style]=\"minHeightStyle()\"\n (keydown)=\"onGridKeydown($event)\"\n (keyup.escape)=\"onKeyUpEscape($event)\"\n>\n <ng-content />\n</div>\n<span\n tabindex=\"0\"\n class=\"nav-anchor\"\n [id]=\"afterAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: SkyViewkeeperModule }, { kind: "directive", type: i1.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
771
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
772
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.7", type: SkyAgGridWrapperComponent, isStandalone: true, selector: "sky-ag-grid-wrapper", inputs: { compact: { classPropertyName: "compact", publicName: "compact", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.sky-ag-grid-layout-normal": "this.isNormalLayout" } }, queries: [{ propertyName: "agGrid", first: true, predicate: AgGridAngular, descendants: true, static: true }], ngImport: i0, template: "<span\n class=\"nav-anchor\"\n tabindex=\"0\"\n [id]=\"beforeAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n<div\n class=\"sky-ag-grid\"\n tabindex=\"0\"\n [class.sky-ag-grid-top-scrollbar]=\"\n agGrid?.gridOptions?.context &&\n agGrid?.gridOptions?.context['enableTopScroll']\n \"\n [ngClass]=\"wrapperClasses$ | async\"\n [id]=\"gridId\"\n [skyViewkeeper]=\"viewkeeperClasses\"\n [style]=\"minHeightStyle()\"\n (keydown)=\"onGridKeydown($event)\"\n (keyup.escape)=\"onKeyUpEscape($event)\"\n>\n <ng-content />\n</div>\n<span\n tabindex=\"0\"\n class=\"nav-anchor\"\n [id]=\"afterAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: SkyViewkeeperModule }, { kind: "directive", type: i1.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
773
773
  }
774
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridWrapperComponent, decorators: [{
774
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridWrapperComponent, decorators: [{
775
775
  type: Component,
776
776
  args: [{ selector: 'sky-ag-grid-wrapper', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AsyncPipe, NgClass, SkyViewkeeperModule], template: "<span\n class=\"nav-anchor\"\n tabindex=\"0\"\n [id]=\"beforeAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n<div\n class=\"sky-ag-grid\"\n tabindex=\"0\"\n [class.sky-ag-grid-top-scrollbar]=\"\n agGrid?.gridOptions?.context &&\n agGrid?.gridOptions?.context['enableTopScroll']\n \"\n [ngClass]=\"wrapperClasses$ | async\"\n [id]=\"gridId\"\n [skyViewkeeper]=\"viewkeeperClasses\"\n [style]=\"minHeightStyle()\"\n (keydown)=\"onGridKeydown($event)\"\n (keyup.escape)=\"onKeyUpEscape($event)\"\n>\n <ng-content />\n</div>\n<span\n tabindex=\"0\"\n class=\"nav-anchor\"\n [id]=\"afterAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n" }]
777
777
  }], ctorParameters: () => [], propDecorators: { agGrid: [{
@@ -1073,118 +1073,128 @@ class SkyAgGridDataManagerAdapterDirective {
1073
1073
  }
1074
1074
  return gridColumnLimits;
1075
1075
  }
1076
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridDataManagerAdapterDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.SkyDataManagerService }], target: i0.ɵɵFactoryTarget.Directive }); }
1077
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.1", type: SkyAgGridDataManagerAdapterDirective, isStandalone: true, selector: "[skyAgGridDataManagerAdapter]", inputs: { viewId: "viewId" }, queries: [{ propertyName: "agGridList", predicate: AgGridAngular, descendants: true, isSignal: true }, { propertyName: "skyAgGridWrapperList", predicate: SkyAgGridWrapperComponent, descendants: true, isSignal: true }], ngImport: i0 }); }
1076
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridDataManagerAdapterDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.SkyDataManagerService }], target: i0.ɵɵFactoryTarget.Directive }); }
1077
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.7", type: SkyAgGridDataManagerAdapterDirective, isStandalone: true, selector: "[skyAgGridDataManagerAdapter]", inputs: { viewId: "viewId" }, queries: [{ propertyName: "agGridList", predicate: AgGridAngular, descendants: true, isSignal: true }, { propertyName: "skyAgGridWrapperList", predicate: SkyAgGridWrapperComponent, descendants: true, isSignal: true }], ngImport: i0 }); }
1078
1078
  }
1079
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridDataManagerAdapterDirective, decorators: [{
1079
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridDataManagerAdapterDirective, decorators: [{
1080
1080
  type: Directive,
1081
1081
  args: [{ selector: '[skyAgGridDataManagerAdapter]' }]
1082
1082
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$1.SkyDataManagerService }], propDecorators: { viewId: [{
1083
1083
  type: Input
1084
1084
  }] } });
1085
1085
 
1086
+ /**
1087
+ * @internal
1088
+ */
1089
+ const SKY_AG_GRID_ROW_DELETE_CONTEXT = new InjectionToken('SkyAgGridRowDeleteContext');
1090
+ /**
1091
+ * Used to provide dependencies to the `SkyAgGridRowDeleteComponent` overlay.
1092
+ * @internal
1093
+ */
1094
+ class SkyAgGridRowDeleteContext {
1095
+ constructor(rows, gridElement, gridApi) {
1096
+ this.rows = rows;
1097
+ this.gridElement = gridElement;
1098
+ this.gridApi = gridApi;
1099
+ this.cancelRowDelete = new Subject();
1100
+ this.confirmRowDelete = new Subject();
1101
+ this.subscription = new Subscription();
1102
+ this.subscription.add(() => {
1103
+ this.cancelRowDelete.complete();
1104
+ this.confirmRowDelete.complete();
1105
+ });
1106
+ }
1107
+ }
1108
+
1086
1109
  /**
1087
1110
  * Component for rendering the inline delete template in the overlay.
1088
1111
  * @internal
1089
1112
  */
1090
1113
  class SkyAgGridRowDeleteComponent {
1114
+ #resizeObserverSvc;
1091
1115
  constructor() {
1092
- this.inlineDeleteRefs = viewChildren('inlineDeleteRef');
1093
- this.inlineDeleteTemplateRef = viewChild('inlineDeleteTemplateRef');
1094
- }
1095
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridRowDeleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1096
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.1", type: SkyAgGridRowDeleteComponent, isStandalone: true, selector: "sky-ag-grid-row-delete", viewQueries: [{ propertyName: "inlineDeleteRefs", predicate: ["inlineDeleteRef"], descendants: true, isSignal: true }, { propertyName: "inlineDeleteTemplateRef", first: true, predicate: ["inlineDeleteTemplateRef"], descendants: true, isSignal: true }], ngImport: i0, template: `
1097
- <ng-template
1098
- #inlineDeleteTemplateRef
1099
- let-row
1100
- let-tableWidth="tableWidth()"
1101
- let-getRowDeleteItem="getRowDeleteItem"
1102
- let-cancelRowDelete="cancelRowDelete"
1103
- let-confirmRowDelete="confirmRowDelete"
1104
- >
1105
- <div
1106
- #inlineDeleteRef
1107
- class="sky-ag-grid-row-delete"
1108
- [id]="'row-delete-ref-' + row.id"
1109
- [ngStyle]="{
1110
- height: row.rowHeight + 'px',
1111
- position: 'fixed',
1112
- top: '-100vh',
1113
- width: tableWidth + 'px',
1114
- }"
1115
- >
1116
- <sky-inline-delete
1117
- [pending]="getRowDeleteItem(row).pending"
1118
- (cancelTriggered)="cancelRowDelete(row)"
1119
- (deleteTriggered)="confirmRowDelete(row)"
1120
- />
1121
- </div>
1122
- </ng-template>
1123
- `, isInline: true, dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: SkyInlineDeleteModule }, { kind: "component", type: i1$2.λ8, selector: "sky-inline-delete", inputs: ["pending"], outputs: ["cancelTriggered", "deleteTriggered"] }] }); }
1116
+ this.service = inject(SKY_AG_GRID_ROW_DELETE_CONTEXT);
1117
+ this.tableWidthStyle = computed(() => {
1118
+ const tableWidth = this.tableWidth();
1119
+ if (tableWidth > 0) {
1120
+ return `${tableWidth}px`;
1121
+ }
1122
+ return 'auto';
1123
+ });
1124
+ this.rowsWithElements = computed(() => {
1125
+ const rows = this.service.rows();
1126
+ const gridElement = this.service.gridElement();
1127
+ const gridApi = this.service.gridApi();
1128
+ const increment = this.gridChanges();
1129
+ if (!gridElement || !gridApi) {
1130
+ return [];
1131
+ }
1132
+ return rows
1133
+ .filter((rowId) => !!rowId && !!gridApi.getRowNode(rowId))
1134
+ .map((rowId) => {
1135
+ const element = gridElement[0]?.nativeElement
1136
+ .querySelector(`
1137
+ [row-id="${rowId}"] div[aria-colindex],
1138
+ .ag-row.sky-ag-grid-row-${rowId} div[aria-colindex]
1139
+ `);
1140
+ return { rowId, element, increment: `${rowId}-${increment}` };
1141
+ });
1142
+ });
1143
+ this.pending = signal([]);
1144
+ this.tableWidth = signal(0);
1145
+ // Force redrawing overlays when the grid changes by incrementing a number.
1146
+ this.gridChanges = toSignal(toObservable(this.service.gridApi).pipe(switchMap((gridApi) => gridApi
1147
+ ? merge(fromEvent(gridApi, 'componentStateChanged'), fromEvent(gridApi, 'firstDataRendered'), fromEvent(gridApi, 'gridSizeChanged'), fromEvent(gridApi, 'modelUpdated'), fromEvent(gridApi, 'rowDataUpdated')).pipe(takeUntil(fromEvent(gridApi, 'gridPreDestroyed')))
1148
+ : of(undefined)), startWith(1), map(() => 1), scan((acc, val) => acc + val)), { initialValue: 0 });
1149
+ this.#resizeObserverSvc = inject(SkyResizeObserverService);
1150
+ // Maintain table width when the grid is resized.
1151
+ toObservable(this.service.gridElement)
1152
+ .pipe(filter$1((el) => Array.isArray(el) && !!el[0]), switchMap((gridElement) => this.#resizeObserverSvc
1153
+ .observe(gridElement[0])
1154
+ .pipe(map(() => gridElement[0].nativeElement.offsetWidth))), takeUntilDestroyed())
1155
+ .subscribe((tableWidth) => {
1156
+ this.tableWidth.set(tableWidth);
1157
+ });
1158
+ // Clean up pending rows when the grid data is updated.
1159
+ toObservable(this.service.gridApi)
1160
+ .pipe(filter$1((gridApi) => !!gridApi), switchMap((gridApi) => fromEvent(gridApi, 'rowDataUpdated').pipe(takeUntil(fromEvent(gridApi, 'gridPreDestroyed')), map(() => gridApi))), takeUntilDestroyed())
1161
+ .subscribe((gridApi) => {
1162
+ this.pending.update((pending) => pending.filter((rowId) => !!gridApi.getRowNode(rowId)));
1163
+ });
1164
+ }
1165
+ cancelDelete(rowId) {
1166
+ this.service.cancelRowDelete.next(rowId);
1167
+ }
1168
+ confirmDelete(rowId) {
1169
+ this.pending.update((pending) => pending.concat(rowId));
1170
+ this.service.confirmRowDelete.next(rowId);
1171
+ }
1172
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridRowDeleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1173
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.7", type: SkyAgGridRowDeleteComponent, isStandalone: true, selector: "sky-ag-grid-row-delete", host: { properties: { "style": "\"--table-width: \" + tableWidthStyle()" } }, ngImport: i0, template: "@for (row of rowsWithElements(); track row.increment) {\n @if (row.element?.offsetParent && row.element; as element) {\n <div\n class=\"sky-ag-grid-row-delete\"\n affixPlacement=\"above\"\n affixVerticalAlignment=\"top\"\n affixHorizontalAlignment=\"left\"\n [id]=\"'row-delete-ref-' + row.rowId\"\n [style.height]=\"element.offsetHeight + 'px'\"\n [skyAffixTo]=\"element\"\n [affixIsSticky]=\"true\"\n >\n <sky-inline-delete\n [pending]=\"pending().includes(row.rowId ?? '')\"\n (cancelTriggered)=\"cancelDelete(row.rowId)\"\n (deleteTriggered)=\"confirmDelete(row.rowId)\"\n />\n </div>\n }\n}\n", styles: [":host{display:block}.sky-ag-grid-row-delete{position:fixed;top:-100vh;width:var(--table-width, 100%)}\n"], dependencies: [{ kind: "ngmodule", type: SkyInlineDeleteModule }, { kind: "component", type: i1$2.λ8, selector: "sky-inline-delete", inputs: ["pending"], outputs: ["cancelTriggered", "deleteTriggered"] }, { kind: "ngmodule", type: SkyAffixModule }, { kind: "directive", type: i1.λ1, selector: "[skyAffixTo]", inputs: ["skyAffixTo", "affixAutoFitContext", "affixAutoFitOverflowOffset", "affixEnableAutoFit", "affixHorizontalAlignment", "affixIsSticky", "affixPlacement", "affixPosition", "affixVerticalAlignment"], outputs: ["affixOffsetChange", "affixOverflowScroll", "affixPlacementChange"] }] }); }
1124
1174
  }
1125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridRowDeleteComponent, decorators: [{
1175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridRowDeleteComponent, decorators: [{
1126
1176
  type: Component,
1127
- args: [{
1128
- selector: 'sky-ag-grid-row-delete',
1129
- template: `
1130
- <ng-template
1131
- #inlineDeleteTemplateRef
1132
- let-row
1133
- let-tableWidth="tableWidth()"
1134
- let-getRowDeleteItem="getRowDeleteItem"
1135
- let-cancelRowDelete="cancelRowDelete"
1136
- let-confirmRowDelete="confirmRowDelete"
1137
- >
1138
- <div
1139
- #inlineDeleteRef
1140
- class="sky-ag-grid-row-delete"
1141
- [id]="'row-delete-ref-' + row.id"
1142
- [ngStyle]="{
1143
- height: row.rowHeight + 'px',
1144
- position: 'fixed',
1145
- top: '-100vh',
1146
- width: tableWidth + 'px',
1147
- }"
1148
- >
1149
- <sky-inline-delete
1150
- [pending]="getRowDeleteItem(row).pending"
1151
- (cancelTriggered)="cancelRowDelete(row)"
1152
- (deleteTriggered)="confirmRowDelete(row)"
1153
- />
1154
- </div>
1155
- </ng-template>
1156
- `,
1157
- imports: [NgStyle, SkyInlineDeleteModule],
1158
- }]
1159
- }] });
1177
+ args: [{ selector: 'sky-ag-grid-row-delete', imports: [SkyInlineDeleteModule, SkyAffixModule], host: {
1178
+ '[style]': '"--table-width: " + tableWidthStyle()',
1179
+ }, template: "@for (row of rowsWithElements(); track row.increment) {\n @if (row.element?.offsetParent && row.element; as element) {\n <div\n class=\"sky-ag-grid-row-delete\"\n affixPlacement=\"above\"\n affixVerticalAlignment=\"top\"\n affixHorizontalAlignment=\"left\"\n [id]=\"'row-delete-ref-' + row.rowId\"\n [style.height]=\"element.offsetHeight + 'px'\"\n [skyAffixTo]=\"element\"\n [affixIsSticky]=\"true\"\n >\n <sky-inline-delete\n [pending]=\"pending().includes(row.rowId ?? '')\"\n (cancelTriggered)=\"cancelDelete(row.rowId)\"\n (deleteTriggered)=\"confirmDelete(row.rowId)\"\n />\n </div>\n }\n}\n", styles: [":host{display:block}.sky-ag-grid-row-delete{position:fixed;top:-100vh;width:var(--table-width, 100%)}\n"] }]
1180
+ }], ctorParameters: () => [] });
1160
1181
 
1161
1182
  class SkyAgGridRowDeleteDirective {
1162
1183
  #ngUnsubscribe;
1163
- #rowDeleteComponent;
1164
- #rowDeleteConfigs;
1165
- #rowDeleteContents;
1166
- #rowDeleteContentsQueue;
1167
- #rowDeleteContentsQueued;
1168
1184
  #rowDeleteIdsInternal;
1169
1185
  #clipPath;
1170
1186
  #zIndex;
1171
- #affixService;
1172
- #dynamicComponentSvc;
1173
1187
  #elementRef;
1174
1188
  #environmentInjector;
1175
1189
  #overlayService;
1190
+ #rowDeleteSvc;
1176
1191
  #scrollableHostService;
1177
1192
  #stackingContext;
1178
- #viewContainerRef;
1179
- #viewUpdate;
1180
1193
  constructor() {
1181
1194
  /**
1182
1195
  * The IDs of the data in the rows where the inline delete appears.
1183
1196
  */
1184
- this.rowDeleteIds = input([], {
1185
- transform: (value) => (Array.isArray(value) ? value.map(String) : []),
1186
- });
1187
- this.rowDeleteIdsChange = output();
1197
+ this.rowDeleteIds = model([]);
1188
1198
  /**
1189
1199
  * Emits a `SkyAgGridRowDeleteCancelArgs` object when a row's inline delete is cancelled.
1190
1200
  */
@@ -1194,11 +1204,8 @@ class SkyAgGridRowDeleteDirective {
1194
1204
  */
1195
1205
  this.rowDeleteConfirm = output();
1196
1206
  this.agGrid = contentChild(AgGridAngular);
1207
+ this.agGridBodyViewport = new BehaviorSubject([]);
1197
1208
  this.#ngUnsubscribe = new Subject();
1198
- this.#rowDeleteConfigs = [];
1199
- this.#rowDeleteContents = [];
1200
- this.#rowDeleteContentsQueue = [];
1201
- this.#rowDeleteContentsQueued = new Subject();
1202
1209
  this.#rowDeleteIdsInternal = linkedSignal({
1203
1210
  source: this.rowDeleteIds,
1204
1211
  computation: (value) => [...new Set(value)]
@@ -1209,15 +1216,11 @@ class SkyAgGridRowDeleteDirective {
1209
1216
  });
1210
1217
  this.#clipPath = new BehaviorSubject(undefined);
1211
1218
  this.#zIndex = new BehaviorSubject(998);
1212
- this.#affixService = inject(SkyAffixService);
1213
- this.#dynamicComponentSvc = inject(SkyDynamicComponentService);
1214
1219
  this.#elementRef = inject((ElementRef));
1215
1220
  this.#environmentInjector = inject(EnvironmentInjector);
1216
1221
  this.#overlayService = inject(SkyOverlayService);
1217
1222
  this.#scrollableHostService = inject(SkyScrollableHostService);
1218
1223
  this.#stackingContext = inject(SKY_STACKING_CONTEXT, { optional: true });
1219
- this.#viewContainerRef = inject(ViewContainerRef);
1220
- this.#viewUpdate = new Subject();
1221
1224
  if (this.#stackingContext) {
1222
1225
  this.#stackingContext.zIndex
1223
1226
  .pipe(takeUntil(this.#ngUnsubscribe))
@@ -1225,203 +1228,90 @@ class SkyAgGridRowDeleteDirective {
1225
1228
  this.#zIndex.next(zIndex);
1226
1229
  });
1227
1230
  }
1228
- const rowDeleteIds = toObservable(this.#rowDeleteIdsInternal);
1229
- toObservable(this.agGrid)
1230
- .pipe(takeUntil(this.#ngUnsubscribe), filter$1((agGrid) => !!agGrid), switchMap((agGrid) => merge(agGrid.componentStateChanged, agGrid.filterChanged, agGrid.firstDataRendered, agGrid.gridReady, agGrid.gridSizeChanged.pipe(delay(500)), agGrid.rowDataUpdated.pipe(takeUntil(this.#ngUnsubscribe), tap((evt) => {
1231
- const ids = this.#rowDeleteIdsInternal();
1232
- this.#rowDeleteIdsInternal.set(ids.filter((id) => evt.api.getRowNode(id)));
1233
- })), agGrid.sortChanged, this.#viewUpdate.pipe(delay(200)), rowDeleteIds.pipe(takeUntil(this.#ngUnsubscribe), tap((value) => {
1234
- this.#rowDeleteConfigs = this.#rowDeleteConfigs.filter((config) => value.includes(config.id));
1235
- for (const id of value) {
1236
- if (!this.#rowDeleteConfigs.some((config) => config.id === id)) {
1237
- this.#rowDeleteConfigs.push({
1238
- id,
1239
- pending: false,
1240
- });
1241
- }
1231
+ this.#rowDeleteSvc = new SkyAgGridRowDeleteContext(this.#rowDeleteIdsInternal.asReadonly(), toSignal(this.agGridBodyViewport), signal(undefined));
1232
+ this.#rowDeleteSvc.cancelRowDelete
1233
+ .pipe(takeUntil(this.#ngUnsubscribe))
1234
+ .subscribe((rowId) => {
1235
+ if (rowId) {
1236
+ this.rowDeleteIds.update((rowIds) => rowIds.filter((id) => id !== rowId));
1237
+ this.rowDeleteCancel.emit({ id: rowId });
1238
+ }
1239
+ });
1240
+ this.#rowDeleteSvc.confirmRowDelete
1241
+ .pipe(takeUntil(this.#ngUnsubscribe))
1242
+ .subscribe((rowId) => {
1243
+ if (rowId) {
1244
+ this.rowDeleteConfirm.emit({ id: rowId });
1242
1245
  }
1243
- this.rowDeleteIdsChange.emit(value);
1244
- }))).pipe(takeUntil(this.#ngUnsubscribe),
1245
- // After change detection.
1246
- observeOn(asapScheduler),
1247
- // Wait for a render cycle.
1248
- sample(animationFrames()), map(() => undefined))))
1249
- .subscribe(() => {
1250
- this.#updateRowDeleteStates();
1251
1246
  });
1252
- this.#rowDeleteContentsQueued
1253
- .pipe(takeUntil(this.#ngUnsubscribe),
1254
- // After change detection.
1255
- observeOn(asapScheduler),
1256
- // Wait for a render cycle.
1257
- sample(animationFrames()))
1247
+ const agGrid = toObservable(this.agGrid);
1248
+ agGrid
1249
+ .pipe(filter$1((agGrid) => !!agGrid), switchMap((agGrid) => agGrid.gridReady), takeUntil(this.#ngUnsubscribe))
1258
1250
  .subscribe(() => {
1259
- const queue = [...this.#rowDeleteContentsQueue];
1260
- this.#rowDeleteContentsQueue = [];
1261
- queue.forEach(({ id, overlay }) => {
1262
- if (this.#rowDeleteContents.findIndex((content) => content.id === id) === -1 &&
1263
- this.#rowDeleteIdsInternal().includes(id)) {
1264
- const inlineDeleteRef = this.#rowDeleteComponent
1265
- ?.inlineDeleteRefs()
1266
- .find((elRef) => elRef.nativeElement.id === 'row-delete-ref-' + id);
1267
- const rowNode = this.agGrid()?.api.getRowNode(id);
1268
- if (rowNode && inlineDeleteRef) {
1269
- const affixer = this.#affixService.createAffixer(inlineDeleteRef);
1270
- this.#affixToRow(affixer, id);
1271
- this.#rowDeleteContents.push({ id, affixer, overlay });
1272
- return;
1273
- }
1274
- }
1275
- this.#overlayService.close(overlay);
1276
- });
1251
+ this.agGridBodyViewport.next([
1252
+ new ElementRef(this.#elementRef.nativeElement.querySelector('div.ag-root-wrapper')),
1253
+ ]);
1254
+ this.#rowDeleteSvc.gridApi.set(this.agGrid()?.api);
1255
+ });
1256
+ agGrid
1257
+ .pipe(filter$1((agGrid) => !!agGrid), switchMap((agGrid) => agGrid.rowDataUpdated), takeUntil(this.#ngUnsubscribe))
1258
+ .subscribe((evt) => {
1259
+ this.rowDeleteIds.update((rowIds) => (rowIds ?? []).filter((id) => !!evt.api.getRowNode(id)));
1277
1260
  });
1278
1261
  }
1279
1262
  ngAfterContentInit() {
1280
- this.#rowDeleteComponent = this.#dynamicComponentSvc.createComponent(SkyAgGridRowDeleteComponent, {
1263
+ const overlay = this.#overlayService.create({
1264
+ enableScroll: true,
1281
1265
  environmentInjector: this.#environmentInjector,
1282
- viewContainerRef: this.#viewContainerRef,
1283
- }).instance;
1266
+ showBackdrop: false,
1267
+ closeOnNavigation: true,
1268
+ enableClose: false,
1269
+ enablePointerEvents: true,
1270
+ });
1271
+ overlay.attachComponent(SkyAgGridRowDeleteComponent, [
1272
+ {
1273
+ provide: SKY_AG_GRID_ROW_DELETE_CONTEXT,
1274
+ useValue: this.#rowDeleteSvc,
1275
+ },
1276
+ ]);
1277
+ this.#zIndex
1278
+ .pipe(takeUntil(this.#ngUnsubscribe), takeUntil(overlay.closed), distinctUntilChanged())
1279
+ .subscribe((zIndex) => {
1280
+ overlay.componentRef.instance.zIndex = zIndex.toString(10);
1281
+ });
1282
+ this.#clipPath
1283
+ .pipe(takeUntil(this.#ngUnsubscribe), takeUntil(overlay.closed), distinctUntilChanged())
1284
+ .subscribe((clipPath) => {
1285
+ overlay.componentRef.instance.updateClipPath(clipPath);
1286
+ });
1284
1287
  }
1285
1288
  ngAfterViewInit() {
1286
- if (this.#stackingContext) {
1287
- this.#scrollableHostService
1288
- .watchScrollableHostClipPathChanges(this.#elementRef)
1289
- .pipe(takeUntil(this.#ngUnsubscribe))
1290
- .subscribe((clipPath) => {
1291
- this.#clipPath.next(clipPath);
1292
- });
1293
- }
1294
- this.#viewUpdate.next();
1289
+ this.#scrollableHostService
1290
+ .watchScrollableHostClipPathChanges(this.#elementRef, this.agGridBodyViewport.asObservable())
1291
+ .pipe(takeUntil(this.#ngUnsubscribe))
1292
+ .subscribe((clipPath) => {
1293
+ this.#clipPath.next(clipPath);
1294
+ });
1295
1295
  }
1296
1296
  ngOnDestroy() {
1297
- this.#viewUpdate.complete();
1298
1297
  this.#ngUnsubscribe.next();
1299
1298
  this.#ngUnsubscribe.complete();
1300
- this.#rowDeleteContents.forEach(({ id }) => {
1301
- this.#destroyRowDelete(id);
1302
- });
1303
- }
1304
- cancelRowDelete(row) {
1305
- if (row.id) {
1306
- this.#rowDeleteIdsInternal.set(this.#rowDeleteIdsInternal().filter((id) => id !== row.id));
1307
- this.rowDeleteCancel.emit({ id: row.id });
1308
- }
1309
- }
1310
- confirmRowDelete(row) {
1311
- const rowConfig = this.#rowDeleteConfigs.find((config) => config.id === row.id);
1312
- if (row.id && rowConfig) {
1313
- rowConfig.pending = true;
1314
- this.rowDeleteConfirm.emit({ id: row.id });
1315
- }
1299
+ this.#rowDeleteSvc.subscription.unsubscribe();
1300
+ this.#overlayService.closeAll();
1316
1301
  }
1317
- getRowDeleteItem(row) {
1318
- return (this.#rowDeleteConfigs.find((config) => config.id === row.id) ?? {
1319
- id: `${row.id}`,
1320
- pending: false,
1321
- });
1322
- }
1323
- #affixToRow(affixer, id) {
1324
- const rowElement = this.#elementRef.nativeElement.querySelector(`
1325
- [row-id="${id}"] div[aria-colindex],
1326
- .ag-row.sky-ag-grid-row-${id} div[aria-colindex]
1327
- `);
1328
- const values = this.#rowDeleteIdsInternal();
1329
- if (rowElement && values.includes(id)) {
1330
- affixer.affixTo(rowElement, {
1331
- autoFitContext: SkyAffixAutoFitContext.Viewport,
1332
- isSticky: true,
1333
- placement: 'above',
1334
- verticalAlignment: 'top',
1335
- horizontalAlignment: 'left',
1336
- enableAutoFit: false,
1337
- });
1338
- }
1339
- }
1340
- #destroyRowDelete(id) {
1341
- const idx = this.#rowDeleteContents.findIndex((content) => content.id === id);
1342
- if (idx > -1 && this.#rowDeleteContents[idx].overlay) {
1343
- this.#rowDeleteContents[idx].affixer.destroy();
1344
- this.#overlayService.close(this.#rowDeleteContents[idx].overlay);
1345
- this.#rowDeleteContents.splice(idx, 1);
1346
- }
1347
- }
1348
- #updateRowDeleteStates() {
1349
- const deleteTemplateRef = this.#rowDeleteComponent?.inlineDeleteTemplateRef();
1350
- const agGrid = this.agGrid();
1351
- const value = this.#rowDeleteIdsInternal();
1352
- const contentIds = this.#rowDeleteContents.map((content) => content.id);
1353
- for (const id of contentIds) {
1354
- if (!value.includes(id)) {
1355
- this.#destroyRowDelete(id);
1356
- }
1357
- }
1358
- if (deleteTemplateRef && agGrid) {
1359
- for (const id of value) {
1360
- this.#updateOneRowDeleteState(id, agGrid, deleteTemplateRef);
1361
- }
1362
- }
1363
- }
1364
- #updateOneRowDeleteState(id, agGrid, deleteTemplateRef) {
1365
- const rowNode = agGrid.api.getRowNode(id);
1366
- const idx = this.#rowDeleteContents.findIndex((content) => content.id === id);
1367
- if (idx > -1) {
1368
- if (rowNode?.displayed) {
1369
- // We must reaffix things when the data changes because the rows rerender and the previous element that the delete was affixed
1370
- // to is destroyed.
1371
- this.#affixToRow(this.#rowDeleteContents[idx].affixer, id);
1372
- }
1373
- else {
1374
- this.#destroyRowDelete(id);
1375
- }
1376
- }
1377
- else if (rowNode) {
1378
- const overlay = this.#overlayService.create({
1379
- enableScroll: true,
1380
- environmentInjector: this.#environmentInjector,
1381
- showBackdrop: false,
1382
- closeOnNavigation: true,
1383
- enableClose: false,
1384
- enablePointerEvents: true,
1385
- });
1386
- overlay.attachTemplate(deleteTemplateRef, {
1387
- $implicit: rowNode,
1388
- tableWidth: () => this.#elementRef.nativeElement.querySelector('.sky-ag-grid')
1389
- .offsetWidth,
1390
- getRowDeleteItem: (row) => this.getRowDeleteItem(row),
1391
- cancelRowDelete: (row) => this.cancelRowDelete(row),
1392
- confirmRowDelete: (row) => this.confirmRowDelete(row),
1393
- });
1394
- /**
1395
- * We are manually setting the z-index here because overlays will always be on top of
1396
- * the omnibar. The default manual setting is 2 less than the omnibar's z-index of 1000 and one less than
1397
- * the header row's viewkeeper which is 999. We discussed changing the overlay service to allow for this
1398
- * but decided against that change at this time due to its niche nature.
1399
- */
1400
- this.#zIndex
1401
- .pipe(takeUntil(this.#ngUnsubscribe), takeUntil(overlay.closed))
1402
- .subscribe((zIndex) => {
1403
- overlay.componentRef.instance.zIndex = zIndex.toString(10);
1404
- });
1405
- this.#clipPath
1406
- .pipe(takeUntil(this.#ngUnsubscribe), takeUntil(overlay.closed))
1407
- .subscribe((clipPath) => {
1408
- overlay.componentRef.instance.updateClipPath(clipPath);
1409
- });
1410
- this.#rowDeleteContentsQueue.push({ id, overlay });
1411
- this.#rowDeleteContentsQueued.next();
1412
- }
1413
- }
1414
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridRowDeleteDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1415
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.1", type: SkyAgGridRowDeleteDirective, isStandalone: true, selector: "[skyAgGridRowDelete]", inputs: { rowDeleteIds: { classPropertyName: "rowDeleteIds", publicName: "rowDeleteIds", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { rowDeleteIdsChange: "rowDeleteIdsChange", rowDeleteCancel: "rowDeleteCancel", rowDeleteConfirm: "rowDeleteConfirm" }, queries: [{ propertyName: "agGrid", first: true, predicate: AgGridAngular, descendants: true, isSignal: true }], ngImport: i0 }); }
1302
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridRowDeleteDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1303
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.7", type: SkyAgGridRowDeleteDirective, isStandalone: true, selector: "[skyAgGridRowDelete]", inputs: { rowDeleteIds: { classPropertyName: "rowDeleteIds", publicName: "rowDeleteIds", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { rowDeleteIds: "rowDeleteIdsChange", rowDeleteCancel: "rowDeleteCancel", rowDeleteConfirm: "rowDeleteConfirm" }, queries: [{ propertyName: "agGrid", first: true, predicate: AgGridAngular, descendants: true, isSignal: true }], ngImport: i0 }); }
1416
1304
  }
1417
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridRowDeleteDirective, decorators: [{
1305
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridRowDeleteDirective, decorators: [{
1418
1306
  type: Directive,
1419
- args: [{ selector: '[skyAgGridRowDelete]' }]
1307
+ args: [{
1308
+ selector: '[skyAgGridRowDelete]',
1309
+ }]
1420
1310
  }], ctorParameters: () => [] });
1421
1311
 
1422
1312
  class SkyAgGridModule {
1423
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1424
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridModule, imports: [AgGridAngular,
1313
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1314
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridModule, imports: [AgGridAngular,
1425
1315
  CommonModule,
1426
1316
  SkyAgGridDataManagerAdapterDirective,
1427
1317
  SkyAgGridResourcesModule,
@@ -1429,12 +1319,12 @@ class SkyAgGridModule {
1429
1319
  SkyAgGridWrapperComponent], exports: [SkyAgGridDataManagerAdapterDirective,
1430
1320
  SkyAgGridRowDeleteDirective,
1431
1321
  SkyAgGridWrapperComponent] }); }
1432
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridModule, imports: [AgGridAngular,
1322
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridModule, imports: [AgGridAngular,
1433
1323
  CommonModule,
1434
1324
  SkyAgGridResourcesModule,
1435
1325
  SkyAgGridWrapperComponent] }); }
1436
1326
  }
1437
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridModule, decorators: [{
1327
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridModule, decorators: [{
1438
1328
  type: NgModule,
1439
1329
  args: [{
1440
1330
  imports: [
@@ -1615,10 +1505,10 @@ class SkyAgGridCellEditorAutocompleteComponent {
1615
1505
  this.#params?.api.stopEditing();
1616
1506
  }
1617
1507
  }
1618
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellEditorAutocompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1619
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: SkyAgGridCellEditorAutocompleteComponent, isStandalone: true, selector: "sky-ag-grid-cell-editor-autocomplete", host: { listeners: { "focusout": "onBlur($event)" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorAutocomplete"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"sky-ag-grid-cell-editor-autocomplete\" [formGroup]=\"editorForm\">\n <sky-autocomplete\n [allowAnyValue]=\"skyComponentProperties.allowAnyValue\"\n [data]=\"skyComponentProperties.data\"\n [debounceTime]=\"skyComponentProperties.debounceTime\"\n [descriptorProperty]=\"skyComponentProperties.descriptorProperty\"\n [highlightSearchText]=\"skyComponentProperties.highlightSearchText ?? true\"\n [propertiesToSearch]=\"skyComponentProperties.propertiesToSearch\"\n [search]=\"skyComponentProperties.search\"\n [searchFilters]=\"skyComponentProperties.searchFilters\"\n [searchResultsLimit]=\"skyComponentProperties.searchResultsLimit\"\n [searchResultTemplate]=\"skyComponentProperties.searchResultTemplate\"\n [searchTextMinimumCharacters]=\"\n skyComponentProperties.searchTextMinimumCharacters\n \"\n (selectionChange)=\"\n skyComponentProperties.selectionChange &&\n skyComponentProperties.selectionChange($event)\n \"\n (openChange)=\"onAutocompleteOpenChange($event)\"\n >\n <input\n #skyCellEditorAutocomplete\n formControlName=\"selection\"\n skyAutocomplete\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_autocomplete_aria_label'\n | skyLibResources: columnHeader : rowNumber\n \"\n />\n </sky-autocomplete>\n</div>\n", styles: ["sky-autocomplete input{border:none;box-shadow:none}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SkyAutocompleteModule }, { kind: "component", type: i2.λ2, selector: "sky-autocomplete", inputs: ["ariaLabelledBy", "data", "debounceTime", "descriptorProperty", "dropdownHintText", "enableShowMore", "messageStream", "wrapperClass", "propertiesToSearch", "search", "searchResultTemplate", "searchTextMinimumCharacters", "searchFilters", "searchResultsLimit", "showAddButton", "noResultsFoundText", "searchAsyncDisabled", "allowAnyValue", "highlightSearchText"], outputs: ["addClick", "showMoreClick", "selectionChange", "searchAsync", "openChange"] }, { kind: "directive", type: i2.λ1, selector: "input[skyAutocomplete], textarea[skyAutocomplete]", inputs: ["autocompleteAttribute", "disabled"] }, { kind: "ngmodule", type: SkyI18nModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1508
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellEditorAutocompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1509
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: SkyAgGridCellEditorAutocompleteComponent, isStandalone: true, selector: "sky-ag-grid-cell-editor-autocomplete", host: { listeners: { "focusout": "onBlur($event)" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorAutocomplete"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"sky-ag-grid-cell-editor-autocomplete\" [formGroup]=\"editorForm\">\n <sky-autocomplete\n [allowAnyValue]=\"skyComponentProperties.allowAnyValue\"\n [data]=\"skyComponentProperties.data\"\n [debounceTime]=\"skyComponentProperties.debounceTime\"\n [descriptorProperty]=\"skyComponentProperties.descriptorProperty\"\n [highlightSearchText]=\"skyComponentProperties.highlightSearchText ?? true\"\n [propertiesToSearch]=\"skyComponentProperties.propertiesToSearch\"\n [search]=\"skyComponentProperties.search\"\n [searchFilters]=\"skyComponentProperties.searchFilters\"\n [searchResultsLimit]=\"skyComponentProperties.searchResultsLimit\"\n [searchResultTemplate]=\"skyComponentProperties.searchResultTemplate\"\n [searchTextMinimumCharacters]=\"\n skyComponentProperties.searchTextMinimumCharacters\n \"\n (selectionChange)=\"\n skyComponentProperties.selectionChange &&\n skyComponentProperties.selectionChange($event)\n \"\n (openChange)=\"onAutocompleteOpenChange($event)\"\n >\n <input\n #skyCellEditorAutocomplete\n formControlName=\"selection\"\n skyAutocomplete\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_autocomplete_aria_label'\n | skyLibResources: columnHeader : rowNumber\n \"\n />\n </sky-autocomplete>\n</div>\n", styles: ["sky-autocomplete input{border:none;box-shadow:none}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SkyAutocompleteModule }, { kind: "component", type: i2.λ2, selector: "sky-autocomplete", inputs: ["ariaLabelledBy", "data", "debounceTime", "descriptorProperty", "dropdownHintText", "enableShowMore", "messageStream", "wrapperClass", "propertiesToSearch", "search", "searchResultTemplate", "searchTextMinimumCharacters", "searchFilters", "searchResultsLimit", "showAddButton", "noResultsFoundText", "searchAsyncDisabled", "allowAnyValue", "highlightSearchText"], outputs: ["addClick", "showMoreClick", "selectionChange", "searchAsync", "openChange"] }, { kind: "directive", type: i2.λ1, selector: "input[skyAutocomplete], textarea[skyAutocomplete]", inputs: ["autocompleteAttribute", "disabled"] }, { kind: "ngmodule", type: SkyI18nModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1620
1510
  }
1621
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellEditorAutocompleteComponent, decorators: [{
1511
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellEditorAutocompleteComponent, decorators: [{
1622
1512
  type: Component,
1623
1513
  args: [{ selector: 'sky-ag-grid-cell-editor-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
1624
1514
  FormsModule,
@@ -1736,10 +1626,10 @@ class SkyAgGridCellEditorCurrencyComponent {
1736
1626
  }
1737
1627
  this.#initialized = true;
1738
1628
  }
1739
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellEditorCurrencyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1740
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: SkyAgGridCellEditorCurrencyComponent, isStandalone: true, selector: "sky-ag-grid-cell-editor-currency", host: { listeners: { "focusout": "onFocusOut($event)" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorCurrency"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container [formGroup]=\"editorForm\">\n <input\n #skyCellEditorCurrency\n type=\"text\"\n [formControl]=\"currency\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_currency_aria_label'\n | skyLibResources: columnHeader : rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [skyAutonumeric]=\"skyComponentProperties\"\n [skyAutonumericFormChangesUnformatted]=\"params?.eventKey?.length === 1\"\n (keyup.enter)=\"onPressEnter()\"\n (keyup.escape)=\"onPressEscape()\"\n />\n</ng-container>\n", styles: ["input{border:none;padding-left:11px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: SkyAutonumericModule }, { kind: "directive", type: i2$1.λ1, selector: "input[skyAutonumeric]", inputs: ["skyAutonumeric", "skyAutonumericFormChangesUnformatted"] }, { kind: "ngmodule", type: SkyI18nModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1629
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellEditorCurrencyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1630
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: SkyAgGridCellEditorCurrencyComponent, isStandalone: true, selector: "sky-ag-grid-cell-editor-currency", host: { listeners: { "focusout": "onFocusOut($event)" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorCurrency"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container [formGroup]=\"editorForm\">\n <input\n #skyCellEditorCurrency\n type=\"text\"\n [formControl]=\"currency\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_currency_aria_label'\n | skyLibResources: columnHeader : rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [skyAutonumeric]=\"skyComponentProperties\"\n [skyAutonumericFormChangesUnformatted]=\"params?.eventKey?.length === 1\"\n (keyup.enter)=\"onPressEnter()\"\n (keyup.escape)=\"onPressEscape()\"\n />\n</ng-container>\n", styles: ["input{border:none;padding-left:11px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: SkyAutonumericModule }, { kind: "directive", type: i2$1.λ1, selector: "input[skyAutonumeric]", inputs: ["skyAutonumeric", "skyAutonumericFormChangesUnformatted"] }, { kind: "ngmodule", type: SkyI18nModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1741
1631
  }
1742
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellEditorCurrencyComponent, decorators: [{
1632
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellEditorCurrencyComponent, decorators: [{
1743
1633
  type: Component,
1744
1634
  args: [{ selector: 'sky-ag-grid-cell-editor-currency', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
1745
1635
  FormsModule,
@@ -1889,10 +1779,10 @@ class SkyAgGridCellEditorDatepickerComponent extends PopupComponent {
1889
1779
  this.#params?.api.stopEditing();
1890
1780
  }
1891
1781
  }
1892
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellEditorDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1893
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: SkyAgGridCellEditorDatepickerComponent, isStandalone: true, selector: "sky-ag-grid-cell-editor-datepicker", host: { listeners: { "focusout": "onFocusOut($event)" } }, viewQueries: [{ propertyName: "datepickerInput", first: true, predicate: ["skyCellEditorDatepickerInput"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"sky-ag-grid-cell-editor-datepicker\"\n [formGroup]=\"editorForm\"\n [style.width.px]=\"columnWidthWithoutBorders\"\n>\n <sky-datepicker\n data-sky-id=\"cell-datepicker\"\n pickerClass=\"ag-custom-component-popup\"\n (dateFormatChange)=\"onDateFormatChange($event)\"\n (openChange)=\"onCalendarOpenChange($event)\"\n >\n <input\n #skyCellEditorDatepickerInput\n formControlName=\"date\"\n skyDatepickerInput\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_datepicker_aria_label'\n | skyLibResources: columnHeader : rowNumber\n \"\n [attr.title]=\"\n resolvedDateFormat\n ? ('skyux_datepicker_format_hint_text'\n | skyLibResources: resolvedDateFormat)\n : null\n \"\n [minDate]=\"skyComponentProperties.minDate\"\n [maxDate]=\"skyComponentProperties.maxDate\"\n [dateFormat]=\"skyComponentProperties.dateFormat\"\n [startingDay]=\"skyComponentProperties.startingDay\"\n [skyDatepickerNoValidate]=\"skyComponentProperties.skyDatepickerNoValidate\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n />\n </sky-datepicker>\n</div>\n", styles: [".sky-ag-grid-cell-editor-datepicker{position:relative;top:1px;left:1px}.sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control{box-shadow:none;border-width:1px;border-style:solid;border-color:transparent #cdcfd2 transparent transparent}.sky-ag-grid-cell-editor-datepicker sky-datepicker .sky-input-group-datepicker-btn{border-radius:0}:host-context(.sky-theme-modern) .sky-ag-grid-cell-editor-datepicker{position:static;top:initial;left:initial}:host-context(.sky-theme-modern) .sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control{border-radius:0;border:1px solid #1870B8}:host-context(.sky-theme-modern) .sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control:focus{border-width:2px!important}.sky-theme-modern .sky-ag-grid-cell-editor-datepicker{position:static;top:initial;left:initial}.sky-theme-modern .sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control{border-radius:0;border:1px solid #1870B8}.sky-theme-modern .sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control:focus{border-width:2px!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SkyDatepickerModule }, { kind: "component", type: i2$2.λ2, selector: "sky-datepicker", inputs: ["pickerClass"], outputs: ["calendarDateRangeChange", "dateFormatChange", "openChange", "calendarDateChange"] }, { kind: "directive", type: i2$2.λ3, selector: "[skyDatepickerInput]", inputs: ["dateFormat", "disabled", "maxDate", "minDate", "startAtDate", "skyDatepickerInput", "skyDatepickerNoValidate", "startingDay", "strict"] }, { kind: "ngmodule", type: SkyI18nModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1782
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellEditorDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1783
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: SkyAgGridCellEditorDatepickerComponent, isStandalone: true, selector: "sky-ag-grid-cell-editor-datepicker", host: { listeners: { "focusout": "onFocusOut($event)" } }, viewQueries: [{ propertyName: "datepickerInput", first: true, predicate: ["skyCellEditorDatepickerInput"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"sky-ag-grid-cell-editor-datepicker\"\n [formGroup]=\"editorForm\"\n [style.width.px]=\"columnWidthWithoutBorders\"\n>\n <sky-datepicker\n data-sky-id=\"cell-datepicker\"\n pickerClass=\"ag-custom-component-popup\"\n (dateFormatChange)=\"onDateFormatChange($event)\"\n (openChange)=\"onCalendarOpenChange($event)\"\n >\n <input\n #skyCellEditorDatepickerInput\n formControlName=\"date\"\n skyDatepickerInput\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_datepicker_aria_label'\n | skyLibResources: columnHeader : rowNumber\n \"\n [attr.title]=\"\n resolvedDateFormat\n ? ('skyux_datepicker_format_hint_text'\n | skyLibResources: resolvedDateFormat)\n : null\n \"\n [minDate]=\"skyComponentProperties.minDate\"\n [maxDate]=\"skyComponentProperties.maxDate\"\n [dateFormat]=\"skyComponentProperties.dateFormat\"\n [startingDay]=\"skyComponentProperties.startingDay\"\n [skyDatepickerNoValidate]=\"skyComponentProperties.skyDatepickerNoValidate\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n />\n </sky-datepicker>\n</div>\n", styles: [".sky-ag-grid-cell-editor-datepicker{position:relative;top:1px;left:1px}.sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control{box-shadow:none;border-width:1px;border-style:solid;border-color:transparent #cdcfd2 transparent transparent}.sky-ag-grid-cell-editor-datepicker sky-datepicker .sky-input-group-datepicker-btn{border-radius:0}:host-context(.sky-theme-modern) .sky-ag-grid-cell-editor-datepicker{position:static;top:initial;left:initial}:host-context(.sky-theme-modern) .sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control{border-radius:0;border:1px solid #1870B8}:host-context(.sky-theme-modern) .sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control:focus{border-width:2px!important}.sky-theme-modern .sky-ag-grid-cell-editor-datepicker{position:static;top:initial;left:initial}.sky-theme-modern .sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control{border-radius:0;border:1px solid #1870B8}.sky-theme-modern .sky-ag-grid-cell-editor-datepicker sky-datepicker input.sky-form-control:focus{border-width:2px!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SkyDatepickerModule }, { kind: "component", type: i2$2.λ2, selector: "sky-datepicker", inputs: ["pickerClass"], outputs: ["calendarDateRangeChange", "dateFormatChange", "openChange", "calendarDateChange"] }, { kind: "directive", type: i2$2.λ3, selector: "[skyDatepickerInput]", inputs: ["dateFormat", "disabled", "maxDate", "minDate", "startAtDate", "skyDatepickerInput", "skyDatepickerNoValidate", "startingDay", "strict"] }, { kind: "ngmodule", type: SkyI18nModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1894
1784
  }
1895
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellEditorDatepickerComponent, decorators: [{
1785
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellEditorDatepickerComponent, decorators: [{
1896
1786
  type: Component,
1897
1787
  args: [{ selector: 'sky-ag-grid-cell-editor-datepicker', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
1898
1788
  FormsModule,
@@ -2038,10 +1928,10 @@ class SkyAgGridCellEditorLookupComponent {
2038
1928
  this.#params?.api.stopEditing();
2039
1929
  }
2040
1930
  }
2041
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellEditorLookupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2042
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: SkyAgGridCellEditorLookupComponent, isStandalone: true, selector: "sky-ag-grid-cell-editor-lookup", host: { listeners: { "focusout": "onBlur($event)" }, properties: { "style.width.px": "this.width" } }, ngImport: i0, template: "@if (isAlive && useAsyncSearch) {\n <sky-input-box\n [disabled]=\"skyComponentProperties?.disabled\"\n [formGroup]=\"editorForm\"\n >\n <sky-lookup\n formControlName=\"selection\"\n [ariaLabelledBy]=\"\n skyComponentProperties?.ariaLabelledBy ?? screenReaderLabel.id\n \"\n [autocompleteAttribute]=\"skyComponentProperties?.autocompleteAttribute\"\n [data]=\"skyComponentProperties?.data\"\n [debounceTime]=\"skyComponentProperties?.debounceTime\"\n [descriptorProperty]=\"skyComponentProperties?.descriptorProperty\"\n [enableShowMore]=\"skyComponentProperties?.enableShowMore\"\n [idProperty]=\"skyComponentProperties?.idProperty\"\n [placeholderText]=\"skyComponentProperties?.placeholderText\"\n [propertiesToSearch]=\"skyComponentProperties?.propertiesToSearch\"\n [search]=\"skyComponentProperties?.search\"\n [searchFilters]=\"skyComponentProperties?.searchFilters\"\n [searchResultsLimit]=\"skyComponentProperties?.searchResultsLimit\"\n [searchResultTemplate]=\"skyComponentProperties?.searchResultTemplate\"\n [searchTextMinimumCharacters]=\"\n skyComponentProperties?.searchTextMinimumCharacters\n \"\n [selectMode]=\"skyComponentProperties?.selectMode\"\n [showAddButton]=\"skyComponentProperties?.showAddButton\"\n [showMoreConfig]=\"skyComponentProperties?.showMoreConfig\"\n [wrapperClass]=\"skyComponentProperties?.wrapperClass\"\n (searchAsync)=\"skyComponentProperties?.searchAsync?.($event)\"\n (addClick)=\"skyComponentProperties?.addClick?.($event)\"\n (openChange)=\"onLookupOpenChange($event)\"\n />\n </sky-input-box>\n}\n@if (isAlive && !useAsyncSearch) {\n <sky-input-box\n [disabled]=\"skyComponentProperties?.disabled\"\n [formGroup]=\"editorForm\"\n >\n <sky-lookup\n formControlName=\"selection\"\n [ariaLabelledBy]=\"\n skyComponentProperties?.ariaLabelledBy ?? screenReaderLabel.id\n \"\n [autocompleteAttribute]=\"skyComponentProperties?.autocompleteAttribute\"\n [data]=\"skyComponentProperties?.data\"\n [debounceTime]=\"skyComponentProperties?.debounceTime\"\n [descriptorProperty]=\"skyComponentProperties?.descriptorProperty\"\n [enableShowMore]=\"skyComponentProperties?.enableShowMore\"\n [idProperty]=\"skyComponentProperties?.idProperty\"\n [placeholderText]=\"skyComponentProperties?.placeholderText\"\n [propertiesToSearch]=\"skyComponentProperties?.propertiesToSearch\"\n [search]=\"skyComponentProperties?.search\"\n [searchFilters]=\"skyComponentProperties?.searchFilters\"\n [searchResultsLimit]=\"skyComponentProperties?.searchResultsLimit\"\n [searchResultTemplate]=\"skyComponentProperties?.searchResultTemplate\"\n [searchTextMinimumCharacters]=\"\n skyComponentProperties?.searchTextMinimumCharacters\n \"\n [selectMode]=\"skyComponentProperties?.selectMode\"\n [showAddButton]=\"skyComponentProperties?.showAddButton\"\n [showMoreConfig]=\"skyComponentProperties?.showMoreConfig\"\n [wrapperClass]=\"skyComponentProperties?.wrapperClass\"\n (addClick)=\"skyComponentProperties?.addClick?.($event)\"\n (openChange)=\"onLookupOpenChange($event)\"\n />\n </sky-input-box>\n}\n<div #screenReaderLabel=\"skyId\" class=\"sky-screen-reader-only\" skyId>\n {{ labelText }}\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: SkyInputBoxModule }, { kind: "component", type: i1$4.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled", "labelText", "characterLimit", "stacked", "helpPopoverTitle", "helpPopoverContent", "helpKey", "hintText"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SkyLookupModule }, { kind: "component", type: i2.λ4, selector: "sky-lookup", inputs: ["ariaLabel", "ariaLabelledBy", "autocompleteAttribute", "data", "disabled", "required", "enableShowMore", "placeholderText", "idProperty", "showAddButton", "showMoreConfig", "selectMode", "wrapperClass"], outputs: ["addClick", "openChange"] }, { kind: "ngmodule", type: SkyIdModule }, { kind: "directive", type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1931
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellEditorLookupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1932
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.7", type: SkyAgGridCellEditorLookupComponent, isStandalone: true, selector: "sky-ag-grid-cell-editor-lookup", host: { listeners: { "focusout": "onBlur($event)" }, properties: { "style.width.px": "this.width" } }, ngImport: i0, template: "@if (isAlive && useAsyncSearch) {\n <sky-input-box\n [disabled]=\"skyComponentProperties?.disabled\"\n [formGroup]=\"editorForm\"\n >\n <sky-lookup\n formControlName=\"selection\"\n [ariaLabelledBy]=\"\n skyComponentProperties?.ariaLabelledBy ?? screenReaderLabel.id\n \"\n [autocompleteAttribute]=\"skyComponentProperties?.autocompleteAttribute\"\n [data]=\"skyComponentProperties?.data\"\n [debounceTime]=\"skyComponentProperties?.debounceTime\"\n [descriptorProperty]=\"skyComponentProperties?.descriptorProperty\"\n [enableShowMore]=\"skyComponentProperties?.enableShowMore\"\n [idProperty]=\"skyComponentProperties?.idProperty\"\n [placeholderText]=\"skyComponentProperties?.placeholderText\"\n [propertiesToSearch]=\"skyComponentProperties?.propertiesToSearch\"\n [search]=\"skyComponentProperties?.search\"\n [searchFilters]=\"skyComponentProperties?.searchFilters\"\n [searchResultsLimit]=\"skyComponentProperties?.searchResultsLimit\"\n [searchResultTemplate]=\"skyComponentProperties?.searchResultTemplate\"\n [searchTextMinimumCharacters]=\"\n skyComponentProperties?.searchTextMinimumCharacters\n \"\n [selectMode]=\"skyComponentProperties?.selectMode\"\n [showAddButton]=\"skyComponentProperties?.showAddButton\"\n [showMoreConfig]=\"skyComponentProperties?.showMoreConfig\"\n [wrapperClass]=\"skyComponentProperties?.wrapperClass\"\n (searchAsync)=\"skyComponentProperties?.searchAsync?.($event)\"\n (addClick)=\"skyComponentProperties?.addClick?.($event)\"\n (openChange)=\"onLookupOpenChange($event)\"\n />\n </sky-input-box>\n}\n@if (isAlive && !useAsyncSearch) {\n <sky-input-box\n [disabled]=\"skyComponentProperties?.disabled\"\n [formGroup]=\"editorForm\"\n >\n <sky-lookup\n formControlName=\"selection\"\n [ariaLabelledBy]=\"\n skyComponentProperties?.ariaLabelledBy ?? screenReaderLabel.id\n \"\n [autocompleteAttribute]=\"skyComponentProperties?.autocompleteAttribute\"\n [data]=\"skyComponentProperties?.data\"\n [debounceTime]=\"skyComponentProperties?.debounceTime\"\n [descriptorProperty]=\"skyComponentProperties?.descriptorProperty\"\n [enableShowMore]=\"skyComponentProperties?.enableShowMore\"\n [idProperty]=\"skyComponentProperties?.idProperty\"\n [placeholderText]=\"skyComponentProperties?.placeholderText\"\n [propertiesToSearch]=\"skyComponentProperties?.propertiesToSearch\"\n [search]=\"skyComponentProperties?.search\"\n [searchFilters]=\"skyComponentProperties?.searchFilters\"\n [searchResultsLimit]=\"skyComponentProperties?.searchResultsLimit\"\n [searchResultTemplate]=\"skyComponentProperties?.searchResultTemplate\"\n [searchTextMinimumCharacters]=\"\n skyComponentProperties?.searchTextMinimumCharacters\n \"\n [selectMode]=\"skyComponentProperties?.selectMode\"\n [showAddButton]=\"skyComponentProperties?.showAddButton\"\n [showMoreConfig]=\"skyComponentProperties?.showMoreConfig\"\n [wrapperClass]=\"skyComponentProperties?.wrapperClass\"\n (addClick)=\"skyComponentProperties?.addClick?.($event)\"\n (openChange)=\"onLookupOpenChange($event)\"\n />\n </sky-input-box>\n}\n<div #screenReaderLabel=\"skyId\" class=\"sky-screen-reader-only\" skyId>\n {{ labelText }}\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: SkyInputBoxModule }, { kind: "component", type: i1$4.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled", "labelText", "characterLimit", "stacked", "helpPopoverTitle", "helpPopoverContent", "helpKey", "hintText"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SkyLookupModule }, { kind: "component", type: i2.λ4, selector: "sky-lookup", inputs: ["ariaLabel", "ariaLabelledBy", "autocompleteAttribute", "data", "disabled", "required", "enableShowMore", "placeholderText", "idProperty", "showAddButton", "showMoreConfig", "selectMode", "wrapperClass"], outputs: ["addClick", "openChange"] }, { kind: "ngmodule", type: SkyIdModule }, { kind: "directive", type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2043
1933
  }
2044
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellEditorLookupComponent, decorators: [{
1934
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellEditorLookupComponent, decorators: [{
2045
1935
  type: Component,
2046
1936
  args: [{ selector: 'sky-ag-grid-cell-editor-lookup', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
2047
1937
  SkyInputBoxModule,
@@ -2128,10 +2018,10 @@ class SkyAgGridCellEditorNumberComponent {
2128
2018
  const val = this.editorForm.get('number')?.value;
2129
2019
  return val !== undefined && val !== null ? val : undefined;
2130
2020
  }
2131
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellEditorNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2132
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: SkyAgGridCellEditorNumberComponent, isStandalone: true, selector: "sky-ag-grid-cell-editor-number", host: { listeners: { "focusout": "onFocusOut($event)" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorNumber"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container [formGroup]=\"editorForm\">\n <input\n #skyCellEditorNumber\n formControlName=\"number\"\n type=\"number\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_number_aria_label'\n | skyLibResources: columnHeader : rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [max]=\"max ?? null\"\n [min]=\"min ?? null\"\n />\n</ng-container>\n", styles: ["input{border:none;text-align:right}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$3.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SkyI18nModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2021
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellEditorNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2022
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: SkyAgGridCellEditorNumberComponent, isStandalone: true, selector: "sky-ag-grid-cell-editor-number", host: { listeners: { "focusout": "onFocusOut($event)" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorNumber"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container [formGroup]=\"editorForm\">\n <input\n #skyCellEditorNumber\n formControlName=\"number\"\n type=\"number\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_number_aria_label'\n | skyLibResources: columnHeader : rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [max]=\"max ?? null\"\n [min]=\"min ?? null\"\n />\n</ng-container>\n", styles: ["input{border:none;text-align:right}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$3.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SkyI18nModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2133
2023
  }
2134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellEditorNumberComponent, decorators: [{
2024
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellEditorNumberComponent, decorators: [{
2135
2025
  type: Component,
2136
2026
  args: [{ selector: 'sky-ag-grid-cell-editor-number', changeDetection: ChangeDetectionStrategy.OnPush, imports: [FormsModule, ReactiveFormsModule, SkyI18nModule], template: "<ng-container [formGroup]=\"editorForm\">\n <input\n #skyCellEditorNumber\n formControlName=\"number\"\n type=\"number\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_number_aria_label'\n | skyLibResources: columnHeader : rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [max]=\"max ?? null\"\n [min]=\"min ?? null\"\n />\n</ng-container>\n", styles: ["input{border:none;text-align:right}\n"] }]
2137
2027
  }], propDecorators: { input: [{
@@ -2208,10 +2098,10 @@ class SkyAgGridCellEditorTextComponent {
2208
2098
  getValue() {
2209
2099
  return this.editorForm.get('text')?.value || undefined;
2210
2100
  }
2211
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellEditorTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2212
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: SkyAgGridCellEditorTextComponent, isStandalone: true, selector: "sky-ag-grid-cell-editor-text", host: { listeners: { "focusout": "onFocusOut($event)" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorText"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container [formGroup]=\"editorForm\">\n <input\n #skyCellEditorText\n formControlName=\"text\"\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_text_aria_label'\n | skyLibResources: columnHeader : rowNumber\n \"\n [style.width]=\"'100%'\"\n [style.height]=\"'100%'\"\n [maxlength]=\"maxlength ?? null\"\n />\n</ng-container>\n", styles: [":host{height:100%;width:100%;display:flex}input{border:none;padding-left:11px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SkyI18nModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellEditorTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: SkyAgGridCellEditorTextComponent, isStandalone: true, selector: "sky-ag-grid-cell-editor-text", host: { listeners: { "focusout": "onFocusOut($event)" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorText"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container [formGroup]=\"editorForm\">\n <input\n #skyCellEditorText\n formControlName=\"text\"\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_text_aria_label'\n | skyLibResources: columnHeader : rowNumber\n \"\n [style.width]=\"'100%'\"\n [style.height]=\"'100%'\"\n [maxlength]=\"maxlength ?? null\"\n />\n</ng-container>\n", styles: [":host{height:100%;width:100%;display:flex}input{border:none;padding-left:11px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SkyI18nModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2213
2103
  }
2214
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellEditorTextComponent, decorators: [{
2104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellEditorTextComponent, decorators: [{
2215
2105
  type: Component,
2216
2106
  args: [{ selector: 'sky-ag-grid-cell-editor-text', changeDetection: ChangeDetectionStrategy.OnPush, imports: [FormsModule, ReactiveFormsModule, SkyI18nModule], template: "<ng-container [formGroup]=\"editorForm\">\n <input\n #skyCellEditorText\n formControlName=\"text\"\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_text_aria_label'\n | skyLibResources: columnHeader : rowNumber\n \"\n [style.width]=\"'100%'\"\n [style.height]=\"'100%'\"\n [maxlength]=\"maxlength ?? null\"\n />\n</ng-container>\n", styles: [":host{height:100%;width:100%;display:flex}input{border:none;padding-left:11px}\n"] }]
2217
2107
  }], propDecorators: { input: [{
@@ -2289,10 +2179,10 @@ class SkyAgGridCellValidatorTooltipComponent {
2289
2179
  const editingCells = this.cellRendererParams?.api.getEditingCells() ?? [];
2290
2180
  return editingCells.length === 0;
2291
2181
  }
2292
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellValidatorTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2293
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: SkyAgGridCellValidatorTooltipComponent, isStandalone: true, selector: "sky-ag-grid-cell-validator-tooltip", inputs: { params: "params" }, ngImport: i0, template: "<ng-template #displayValue>\n <ng-content />\n</ng-template>\n\n@if (showValidatorMessage()) {\n <div\n skyPopoverTrigger=\"mouseenter\"\n class=\"sky-validator-cell\"\n [skyPopover]=\"validatorPopover\"\n [skyPopoverMessageStream]=\"popoverMessageStream\"\n >\n <ng-container *ngTemplateOutlet=\"displayValue\" />\n <sky-status-indicator\n descriptionType=\"none\"\n indicatorType=\"danger\"\n class=\"sky-pull-right\"\n />\n </div>\n <sky-popover\n #validatorPopover\n data-sky-id=\"validatorPopover\"\n popoverType=\"danger\"\n >\n {{ validatorMessage }}\n </sky-popover>\n} @else {\n <ng-container *ngTemplateOutlet=\"displayValue\" />\n}\n", styles: [":host{display:contents}:host div.sky-validator-cell{height:100%;min-height:var(--ag-row-height);width:100%}:host div.sky-validator-cell:focus{outline:none}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SkyPopoverModule }, { kind: "component", type: i1$5.λ6, selector: "sky-popover", inputs: ["alignment", "placement", "popoverTitle", "popoverType"], outputs: ["popoverClosed", "popoverOpened"] }, { kind: "directive", type: i1$5.λ7, selector: "[skyPopover]", inputs: ["skyPopover", "skyPopoverAlignment", "skyPopoverMessageStream", "skyPopoverPlacement", "skyPopoverTrigger"] }, { kind: "ngmodule", type: SkyStatusIndicatorModule }, { kind: "component", type: i2$3.λ10, selector: "sky-status-indicator", inputs: ["indicatorType", "descriptionType", "customDescription", "helpPopoverContent", "helpPopoverTitle", "helpKey"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2182
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellValidatorTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2183
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.7", type: SkyAgGridCellValidatorTooltipComponent, isStandalone: true, selector: "sky-ag-grid-cell-validator-tooltip", inputs: { params: "params" }, ngImport: i0, template: "<ng-template #displayValue>\n <ng-content />\n</ng-template>\n\n@if (showValidatorMessage()) {\n <div\n skyPopoverTrigger=\"mouseenter\"\n class=\"sky-validator-cell\"\n [skyPopover]=\"validatorPopover\"\n [skyPopoverMessageStream]=\"popoverMessageStream\"\n >\n <ng-container *ngTemplateOutlet=\"displayValue\" />\n <sky-status-indicator\n descriptionType=\"none\"\n indicatorType=\"danger\"\n class=\"sky-pull-right\"\n />\n </div>\n <sky-popover\n #validatorPopover\n data-sky-id=\"validatorPopover\"\n popoverType=\"danger\"\n >\n {{ validatorMessage }}\n </sky-popover>\n} @else {\n <ng-container *ngTemplateOutlet=\"displayValue\" />\n}\n", styles: [":host{display:contents}:host div.sky-validator-cell{height:100%;min-height:var(--ag-row-height);width:100%}:host div.sky-validator-cell:focus{outline:none}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SkyPopoverModule }, { kind: "component", type: i1$5.λ6, selector: "sky-popover", inputs: ["alignment", "placement", "popoverTitle", "popoverType"], outputs: ["popoverClosed", "popoverOpened"] }, { kind: "directive", type: i1$5.λ7, selector: "[skyPopover]", inputs: ["skyPopover", "skyPopoverAlignment", "skyPopoverMessageStream", "skyPopoverPlacement", "skyPopoverTrigger"] }, { kind: "ngmodule", type: SkyStatusIndicatorModule }, { kind: "component", type: i2$3.λ10, selector: "sky-status-indicator", inputs: ["indicatorType", "descriptionType", "customDescription", "helpPopoverContent", "helpPopoverTitle", "helpKey"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2294
2184
  }
2295
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellValidatorTooltipComponent, decorators: [{
2185
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellValidatorTooltipComponent, decorators: [{
2296
2186
  type: Component,
2297
2187
  args: [{ selector: 'sky-ag-grid-cell-validator-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet, SkyPopoverModule, SkyStatusIndicatorModule], template: "<ng-template #displayValue>\n <ng-content />\n</ng-template>\n\n@if (showValidatorMessage()) {\n <div\n skyPopoverTrigger=\"mouseenter\"\n class=\"sky-validator-cell\"\n [skyPopover]=\"validatorPopover\"\n [skyPopoverMessageStream]=\"popoverMessageStream\"\n >\n <ng-container *ngTemplateOutlet=\"displayValue\" />\n <sky-status-indicator\n descriptionType=\"none\"\n indicatorType=\"danger\"\n class=\"sky-pull-right\"\n />\n </div>\n <sky-popover\n #validatorPopover\n data-sky-id=\"validatorPopover\"\n popoverType=\"danger\"\n >\n {{ validatorMessage }}\n </sky-popover>\n} @else {\n <ng-container *ngTemplateOutlet=\"displayValue\" />\n}\n", styles: [":host{display:contents}:host div.sky-validator-cell{height:100%;min-height:var(--ag-row-height);width:100%}:host div.sky-validator-cell:focus{outline:none}\n"] }]
2298
2188
  }], propDecorators: { params: [{
@@ -2330,10 +2220,10 @@ class SkyAgGridCellRendererCurrencyComponent {
2330
2220
  this.skyComponentProperties.minDigits = 2;
2331
2221
  this.skyComponentProperties.truncate = false;
2332
2222
  }
2333
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellRendererCurrencyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2334
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: SkyAgGridCellRendererCurrencyComponent, isStandalone: true, selector: "sky-ag-grid-cell-renderer-currency", inputs: { params: "params" }, ngImport: i0, template: "{{\n value === undefined ? undefined : (value | skyNumeric: skyComponentProperties)\n}}\n", styles: [":host{display:contents}input{border:none;padding-left:11px}\n"], dependencies: [{ kind: "ngmodule", type: SkyNumericModule }, { kind: "pipe", type: i1.SkyNumericPipe, name: "skyNumeric" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2223
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellRendererCurrencyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2224
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: SkyAgGridCellRendererCurrencyComponent, isStandalone: true, selector: "sky-ag-grid-cell-renderer-currency", inputs: { params: "params" }, ngImport: i0, template: "{{\n value === undefined ? undefined : (value | skyNumeric: skyComponentProperties)\n}}\n", styles: [":host{display:contents}input{border:none;padding-left:11px}\n"], dependencies: [{ kind: "ngmodule", type: SkyNumericModule }, { kind: "pipe", type: i1.SkyNumericPipe, name: "skyNumeric" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2335
2225
  }
2336
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellRendererCurrencyComponent, decorators: [{
2226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellRendererCurrencyComponent, decorators: [{
2337
2227
  type: Component,
2338
2228
  args: [{ selector: 'sky-ag-grid-cell-renderer-currency', changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkyNumericModule], template: "{{\n value === undefined ? undefined : (value | skyNumeric: skyComponentProperties)\n}}\n", styles: [":host{display:contents}input{border:none;padding-left:11px}\n"] }]
2339
2229
  }], propDecorators: { params: [{
@@ -2367,10 +2257,10 @@ class SkyAgGridCellRendererCurrencyValidatorComponent {
2367
2257
  refresh(params) {
2368
2258
  return false;
2369
2259
  }
2370
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellRendererCurrencyValidatorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
2371
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: SkyAgGridCellRendererCurrencyValidatorComponent, isStandalone: true, selector: "sky-ag-grid-cell-renderer-currency-validator", inputs: { parameters: "parameters" }, ngImport: i0, template: "@if (cellRendererParams) {\n <sky-ag-grid-cell-validator-tooltip [params]=\"cellRendererParams\">\n @if (isNumeric(cellRendererParams.value)) {\n <sky-ag-grid-cell-renderer-currency [params]=\"cellRendererParams\" />\n } @else {\n {{ cellRendererParams.value }}\n }\n </sky-ag-grid-cell-validator-tooltip>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "component", type: SkyAgGridCellValidatorTooltipComponent, selector: "sky-ag-grid-cell-validator-tooltip", inputs: ["params"] }, { kind: "component", type: SkyAgGridCellRendererCurrencyComponent, selector: "sky-ag-grid-cell-renderer-currency", inputs: ["params"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2260
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellRendererCurrencyValidatorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
2261
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.7", type: SkyAgGridCellRendererCurrencyValidatorComponent, isStandalone: true, selector: "sky-ag-grid-cell-renderer-currency-validator", inputs: { parameters: "parameters" }, ngImport: i0, template: "@if (cellRendererParams) {\n <sky-ag-grid-cell-validator-tooltip [params]=\"cellRendererParams\">\n @if (isNumeric(cellRendererParams.value)) {\n <sky-ag-grid-cell-renderer-currency [params]=\"cellRendererParams\" />\n } @else {\n {{ cellRendererParams.value }}\n }\n </sky-ag-grid-cell-validator-tooltip>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "component", type: SkyAgGridCellValidatorTooltipComponent, selector: "sky-ag-grid-cell-validator-tooltip", inputs: ["params"] }, { kind: "component", type: SkyAgGridCellRendererCurrencyComponent, selector: "sky-ag-grid-cell-renderer-currency", inputs: ["params"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2372
2262
  }
2373
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellRendererCurrencyValidatorComponent, decorators: [{
2263
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellRendererCurrencyValidatorComponent, decorators: [{
2374
2264
  type: Component,
2375
2265
  args: [{ selector: 'sky-ag-grid-cell-renderer-currency-validator', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
2376
2266
  SkyAgGridCellValidatorTooltipComponent,
@@ -2399,10 +2289,10 @@ class SkyAgGridCellRendererLookupComponent {
2399
2289
  this.agInit(params);
2400
2290
  return true;
2401
2291
  }
2402
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellRendererLookupComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
2403
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: SkyAgGridCellRendererLookupComponent, isStandalone: true, selector: "sky-cell-renderer-lookup", ngImport: i0, template: "@if (summaryCount > 5) {\n {{ 'skyux_lookup_tokens_summary' | skyLibResources: summaryCount }}\n} @else {\n {{ value }}\n}\n", styles: [":host{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"], dependencies: [{ kind: "ngmodule", type: SkyI18nModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2292
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellRendererLookupComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
2293
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.7", type: SkyAgGridCellRendererLookupComponent, isStandalone: true, selector: "sky-cell-renderer-lookup", ngImport: i0, template: "@if (summaryCount > 5) {\n {{ 'skyux_lookup_tokens_summary' | skyLibResources: summaryCount }}\n} @else {\n {{ value }}\n}\n", styles: [":host{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"], dependencies: [{ kind: "ngmodule", type: SkyI18nModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2404
2294
  }
2405
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellRendererLookupComponent, decorators: [{
2295
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellRendererLookupComponent, decorators: [{
2406
2296
  type: Component,
2407
2297
  args: [{ selector: 'sky-cell-renderer-lookup', changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkyI18nModule], template: "@if (summaryCount > 5) {\n {{ 'skyux_lookup_tokens_summary' | skyLibResources: summaryCount }}\n} @else {\n {{ value }}\n}\n", styles: [":host{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"] }]
2408
2298
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
@@ -2503,12 +2393,12 @@ class SkyAgGridCellRendererRowSelectorComponent {
2503
2393
  this.rowNode.data[this.dataField] = this.checked.value;
2504
2394
  }
2505
2395
  }
2506
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellRendererRowSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2507
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: SkyAgGridCellRendererRowSelectorComponent, isStandalone: true, selector: "sky-ag-grid-cell-renderer-row-selector", ngImport: i0, template: "<sky-checkbox\n data-sky-id=\"row-checkbox\"\n [disabled]=\"(disabled | async) || false\"\n [tabindex]=\"0\"\n [labelHidden]=\"true\"\n [labelText]=\"(label | async) || ''\"\n [checked]=\"(checked | async) || false\"\n (change)=\"updateRow(!!$event.checked)\"\n/>\n", styles: [".sky-ag-grid-cell-row-selector .sky-switch-control{top:-6px}\n"], dependencies: [{ kind: "ngmodule", type: SkyCheckboxModule }, { kind: "component", type: i1$4.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "helpPopoverContent", "helpPopoverTitle", "icon", "iconName", "checkboxType", "checked", "indeterminate", "required", "labelText", "labelHidden", "hintText", "stacked", "helpKey"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2396
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellRendererRowSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2397
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: SkyAgGridCellRendererRowSelectorComponent, isStandalone: true, selector: "sky-ag-grid-cell-renderer-row-selector", ngImport: i0, template: "<sky-checkbox\n data-sky-id=\"row-checkbox\"\n [disabled]=\"(disabled | async) || false\"\n [tabindex]=\"0\"\n [labelHidden]=\"true\"\n [labelText]=\"(label | async) || ''\"\n [checked]=\"(checked | async) || false\"\n (change)=\"updateRow(!!$event.checked)\"\n/>\n", styles: [".sky-ag-grid-cell-row-selector .sky-switch-control{top:-6px}\n"], dependencies: [{ kind: "ngmodule", type: SkyCheckboxModule }, { kind: "component", type: i1$4.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "helpPopoverContent", "helpPopoverTitle", "icon", "iconName", "checkboxType", "checked", "indeterminate", "required", "labelText", "labelHidden", "hintText", "stacked", "helpKey"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2508
2398
  }
2509
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellRendererRowSelectorComponent, decorators: [{
2399
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellRendererRowSelectorComponent, decorators: [{
2510
2400
  type: Component,
2511
- args: [{ selector: 'sky-ag-grid-cell-renderer-row-selector', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [SkyThemeComponentClassDirective, SkyCheckboxModule, AsyncPipe], template: "<sky-checkbox\n data-sky-id=\"row-checkbox\"\n [disabled]=\"(disabled | async) || false\"\n [tabindex]=\"0\"\n [labelHidden]=\"true\"\n [labelText]=\"(label | async) || ''\"\n [checked]=\"(checked | async) || false\"\n (change)=\"updateRow(!!$event.checked)\"\n/>\n", styles: [".sky-ag-grid-cell-row-selector .sky-switch-control{top:-6px}\n"] }]
2401
+ args: [{ selector: 'sky-ag-grid-cell-renderer-row-selector', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [SkyCheckboxModule, AsyncPipe], template: "<sky-checkbox\n data-sky-id=\"row-checkbox\"\n [disabled]=\"(disabled | async) || false\"\n [tabindex]=\"0\"\n [labelHidden]=\"true\"\n [labelText]=\"(label | async) || ''\"\n [checked]=\"(checked | async) || false\"\n (change)=\"updateRow(!!$event.checked)\"\n/>\n", styles: [".sky-ag-grid-cell-row-selector .sky-switch-control{top:-6px}\n"] }]
2512
2402
  }], ctorParameters: () => [] });
2513
2403
 
2514
2404
  class SkyAgGridCellRendererTemplateComponent {
@@ -2537,12 +2427,12 @@ class SkyAgGridCellRendererTemplateComponent {
2537
2427
  this.agInit(params);
2538
2428
  return false;
2539
2429
  }
2540
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellRendererTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2541
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: SkyAgGridCellRendererTemplateComponent, isStandalone: true, selector: "sky-ag-grid-cell-renderer-template", ngImport: i0, template: `@if (state.hasTemplate) {
2430
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellRendererTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2431
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.7", type: SkyAgGridCellRendererTemplateComponent, isStandalone: true, selector: "sky-ag-grid-cell-renderer-template", ngImport: i0, template: `@if (state.hasTemplate) {
2542
2432
  <ng-container *ngTemplateOutlet="state.template; context: state.context" />
2543
2433
  }`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
2544
2434
  }
2545
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellRendererTemplateComponent, decorators: [{
2435
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellRendererTemplateComponent, decorators: [{
2546
2436
  type: Component,
2547
2437
  args: [{
2548
2438
  selector: 'sky-ag-grid-cell-renderer-template',
@@ -2591,10 +2481,10 @@ class SkyAgGridCellRendererValidatorTooltipComponent {
2591
2481
  this.agInit(params);
2592
2482
  return false;
2593
2483
  }
2594
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellRendererValidatorTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2595
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: SkyAgGridCellRendererValidatorTooltipComponent, isStandalone: true, selector: "sky-ag-grid-cell-renderer-validator-tooltip", inputs: { params: "params" }, ngImport: i0, template: "<sky-ag-grid-cell-validator-tooltip [params]=\"cellRendererParams\">\n {{ valueObservable | async }}\n</sky-ag-grid-cell-validator-tooltip>\n", dependencies: [{ kind: "component", type: SkyAgGridCellValidatorTooltipComponent, selector: "sky-ag-grid-cell-validator-tooltip", inputs: ["params"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2484
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellRendererValidatorTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2485
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: SkyAgGridCellRendererValidatorTooltipComponent, isStandalone: true, selector: "sky-ag-grid-cell-renderer-validator-tooltip", inputs: { params: "params" }, ngImport: i0, template: "<sky-ag-grid-cell-validator-tooltip [params]=\"cellRendererParams\">\n {{ valueObservable | async }}\n</sky-ag-grid-cell-validator-tooltip>\n", dependencies: [{ kind: "component", type: SkyAgGridCellValidatorTooltipComponent, selector: "sky-ag-grid-cell-validator-tooltip", inputs: ["params"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2596
2486
  }
2597
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridCellRendererValidatorTooltipComponent, decorators: [{
2487
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridCellRendererValidatorTooltipComponent, decorators: [{
2598
2488
  type: Component,
2599
2489
  args: [{ selector: 'sky-ag-grid-cell-renderer-validator-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkyAgGridCellValidatorTooltipComponent, AsyncPipe], template: "<sky-ag-grid-cell-validator-tooltip [params]=\"cellRendererParams\">\n {{ valueObservable | async }}\n</sky-ag-grid-cell-validator-tooltip>\n" }]
2600
2490
  }], propDecorators: { params: [{
@@ -2611,10 +2501,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
2611
2501
  * @see SkyAgGridHeaderGroupParams
2612
2502
  */
2613
2503
  class SkyAgGridHeaderGroupInfo {
2614
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridHeaderGroupInfo, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2615
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridHeaderGroupInfo }); }
2504
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridHeaderGroupInfo, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2505
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridHeaderGroupInfo }); }
2616
2506
  }
2617
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridHeaderGroupInfo, decorators: [{
2507
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridHeaderGroupInfo, decorators: [{
2618
2508
  type: Injectable
2619
2509
  }] });
2620
2510
 
@@ -2664,7 +2554,9 @@ class SkyAgGridHeaderGroupComponent {
2664
2554
  this.#columnGroup = params.columnGroup.getProvidedColumnGroup();
2665
2555
  this.#isExpandableSubject.next(this.#columnGroup.isExpandable());
2666
2556
  if (this.#isExpandableSubject.getValue()) {
2667
- this.#subscriptions.add(fromEventPattern((handler) => params.api.addEventListener('columnGroupOpened', handler), (handler) => params.api.removeEventListener('columnGroupOpened', handler)).subscribe((event) => {
2557
+ this.#subscriptions.add(fromEvent(params.api, 'columnGroupOpened')
2558
+ .pipe(takeUntil(fromEvent(params.api, 'gridPreDestroyed')))
2559
+ .subscribe((event) => {
2668
2560
  if (this.#columnGroup &&
2669
2561
  event.columnGroups.includes(this.#columnGroup)) {
2670
2562
  this.#isExpandedSubject.next(this.#columnGroup.isExpanded());
@@ -2701,10 +2593,10 @@ class SkyAgGridHeaderGroupComponent {
2701
2593
  });
2702
2594
  }
2703
2595
  }
2704
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridHeaderGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2705
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: SkyAgGridHeaderGroupComponent, isStandalone: true, selector: "sky-header-group", viewQueries: [{ propertyName: "inlineHelpContainer", first: true, predicate: ["inlineHelpContainer"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "@if (params?.displayName) {\n <span\n class=\"header-group-text\"\n role=\"presentation\"\n [skyThemeClass]=\"{ 'sky-font-heading-4': 'modern' }\"\n >{{ params?.displayName }}</span\n >\n}\n@if (isExpandable$ | async) {\n @if (isExpanded$ | async) {\n <button\n class=\"sky-btn sky-btn-icon-borderless\"\n type=\"button\"\n [attr.aria-label]=\"\n 'sky_ag_grid_column_group_header_collapse_aria_label'\n | skyLibResources: params?.displayName\n \"\n (click)=\"setExpanded(false)\"\n >\n <sky-icon iconName=\"chevron-double-left\" />\n </button>\n } @else {\n <button\n class=\"sky-btn sky-btn-icon-borderless\"\n type=\"button\"\n [attr.aria-label]=\"\n 'sky_ag_grid_column_group_header_expand_aria_label'\n | skyLibResources: params?.displayName\n \"\n (click)=\"setExpanded(true)\"\n >\n <sky-icon iconName=\"chevron-double-right\" />\n </button>\n }\n}\n<span #inlineHelpContainer class=\"sky-control-help-container\"></span>\n", styles: [":host{display:flex;max-width:100%;align-items:center;align-content:center}.header-group-text{flex-grow:0;flex-shrink:1;overflow:hidden;text-overflow:ellipsis}button{cursor:pointer;margin-left:var(--sky-margin-inline-sm);flex-grow:0;flex-shrink:1}\n"], dependencies: [{ kind: "ngmodule", type: SkyThemeModule }, { kind: "directive", type: i2$4.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i2$5.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant", "iconSize"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: SkyI18nModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2596
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridHeaderGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2597
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.7", type: SkyAgGridHeaderGroupComponent, isStandalone: true, selector: "sky-header-group", viewQueries: [{ propertyName: "inlineHelpContainer", first: true, predicate: ["inlineHelpContainer"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "@if (params?.displayName) {\n <span\n class=\"header-group-text\"\n role=\"presentation\"\n [skyThemeClass]=\"{ 'sky-font-heading-4': 'modern' }\"\n >{{ params?.displayName }}</span\n >\n}\n@if (isExpandable$ | async) {\n @if (isExpanded$ | async) {\n <button\n class=\"sky-btn sky-btn-icon-borderless\"\n type=\"button\"\n [attr.aria-label]=\"\n 'sky_ag_grid_column_group_header_collapse_aria_label'\n | skyLibResources: params?.displayName\n \"\n (click)=\"setExpanded(false)\"\n >\n <sky-icon iconName=\"chevron-double-left\" />\n </button>\n } @else {\n <button\n class=\"sky-btn sky-btn-icon-borderless\"\n type=\"button\"\n [attr.aria-label]=\"\n 'sky_ag_grid_column_group_header_expand_aria_label'\n | skyLibResources: params?.displayName\n \"\n (click)=\"setExpanded(true)\"\n >\n <sky-icon iconName=\"chevron-double-right\" />\n </button>\n }\n}\n<span #inlineHelpContainer class=\"sky-control-help-container\"></span>\n", styles: [":host{display:flex;max-width:100%;align-items:center;align-content:center}.header-group-text{flex-grow:0;flex-shrink:1;overflow:hidden;text-overflow:ellipsis}button{cursor:pointer;margin-left:var(--sky-margin-inline-sm);flex-grow:0;flex-shrink:1}\n"], dependencies: [{ kind: "ngmodule", type: SkyThemeModule }, { kind: "directive", type: i2$4.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i2$5.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant", "iconSize"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: SkyI18nModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2706
2598
  }
2707
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridHeaderGroupComponent, decorators: [{
2599
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridHeaderGroupComponent, decorators: [{
2708
2600
  type: Component,
2709
2601
  args: [{ selector: 'sky-header-group', changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkyThemeModule, SkyIconModule, AsyncPipe, SkyI18nModule], template: "@if (params?.displayName) {\n <span\n class=\"header-group-text\"\n role=\"presentation\"\n [skyThemeClass]=\"{ 'sky-font-heading-4': 'modern' }\"\n >{{ params?.displayName }}</span\n >\n}\n@if (isExpandable$ | async) {\n @if (isExpanded$ | async) {\n <button\n class=\"sky-btn sky-btn-icon-borderless\"\n type=\"button\"\n [attr.aria-label]=\"\n 'sky_ag_grid_column_group_header_collapse_aria_label'\n | skyLibResources: params?.displayName\n \"\n (click)=\"setExpanded(false)\"\n >\n <sky-icon iconName=\"chevron-double-left\" />\n </button>\n } @else {\n <button\n class=\"sky-btn sky-btn-icon-borderless\"\n type=\"button\"\n [attr.aria-label]=\"\n 'sky_ag_grid_column_group_header_expand_aria_label'\n | skyLibResources: params?.displayName\n \"\n (click)=\"setExpanded(true)\"\n >\n <sky-icon iconName=\"chevron-double-right\" />\n </button>\n }\n}\n<span #inlineHelpContainer class=\"sky-control-help-container\"></span>\n", styles: [":host{display:flex;max-width:100%;align-items:center;align-content:center}.header-group-text{flex-grow:0;flex-shrink:1;overflow:hidden;text-overflow:ellipsis}button{cursor:pointer;margin-left:var(--sky-margin-inline-sm);flex-grow:0;flex-shrink:1}\n"] }]
2710
2602
  }], ctorParameters: () => [], propDecorators: { inlineHelpContainer: [{
@@ -2722,10 +2614,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
2722
2614
  * @see SkyAgGridHeaderParams
2723
2615
  */
2724
2616
  class SkyAgGridHeaderInfo {
2725
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridHeaderInfo, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2726
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridHeaderInfo }); }
2617
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridHeaderInfo, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2618
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridHeaderInfo }); }
2727
2619
  }
2728
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridHeaderInfo, decorators: [{
2620
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridHeaderInfo, decorators: [{
2729
2621
  type: Injectable
2730
2622
  }] });
2731
2623
 
@@ -2794,7 +2686,9 @@ class SkyAgGridHeaderComponent {
2794
2686
  this.#leftPosition = params.column.getLeft() ?? 0;
2795
2687
  this.#subscriptions = new Subscription();
2796
2688
  if (params.column.isFilterAllowed()) {
2797
- this.#subscriptions.add(fromEventPattern((handler) => params.column.addEventListener('filterChanged', handler), (handler) => params.column.removeEventListener('filterChanged', handler)).subscribe(() => {
2689
+ this.#subscriptions.add(fromEvent(params.column, 'filterChanged')
2690
+ .pipe(takeUntil(fromEvent(params.api, 'gridPreDestroyed')))
2691
+ .subscribe(() => {
2798
2692
  const isFilterActive = params.column.isFilterActive();
2799
2693
  if (isFilterActive !== this.filterEnabled$.getValue()) {
2800
2694
  this.filterEnabled$.next(isFilterActive);
@@ -2803,11 +2697,15 @@ class SkyAgGridHeaderComponent {
2803
2697
  }
2804
2698
  if (params.enableSorting) {
2805
2699
  // Column sort state changes
2806
- this.#subscriptions.add(fromEventPattern((handler) => params.column.addEventListener('sortChanged', handler), (handler) => params.column.removeEventListener('sortChanged', handler)).subscribe(() => {
2700
+ this.#subscriptions.add(fromEvent(params.column, 'sortChanged')
2701
+ .pipe(takeUntil(fromEvent(params.api, 'gridPreDestroyed')))
2702
+ .subscribe(() => {
2807
2703
  this.#updateSort();
2808
2704
  }));
2809
2705
  // Other column sort state changes, for multi-column sorting
2810
- this.#subscriptions.add(fromEventPattern((handler) => params.api.addEventListener('sortChanged', handler), (handler) => params.api.removeEventListener('sortChanged', handler)).subscribe(() => {
2706
+ this.#subscriptions.add(fromEvent(params.api, 'sortChanged')
2707
+ .pipe(takeUntil(fromEvent(params.api, 'gridPreDestroyed')))
2708
+ .subscribe(() => {
2811
2709
  this.#updateSortIndex();
2812
2710
  }));
2813
2711
  this.#updateSort();
@@ -2815,7 +2713,9 @@ class SkyAgGridHeaderComponent {
2815
2713
  }
2816
2714
  // When the column is moved left via the keyboard, the element is detached
2817
2715
  // and reattached to the DOM to maintain DOM order, and its focus is lost.
2818
- this.#subscriptions.add(fromEventPattern((handler) => params.api.addEventListener('columnMoved', handler), (handler) => params.api.removeEventListener('columnMoved', handler)).subscribe((event) => {
2716
+ this.#subscriptions.add(fromEvent(params.api, 'columnMoved')
2717
+ .pipe(takeUntil(fromEvent(params.api, 'gridPreDestroyed')))
2718
+ .subscribe((event) => {
2819
2719
  const left = event.column?.getLeft() ?? 0;
2820
2720
  const oldLeft = this.#leftPosition;
2821
2721
  if (event.column === params.column &&
@@ -2886,10 +2786,10 @@ class SkyAgGridHeaderComponent {
2886
2786
  this.sortIndexDisplay$.next('');
2887
2787
  }
2888
2788
  }
2889
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2890
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: SkyAgGridHeaderComponent, isStandalone: true, selector: "sky-ag-grid-header", host: { properties: { "attr.title": "accessibleHeaderText()", "attr.aria-label": "displayName() || accessibleHeaderText()", "attr.role": "\"note\"" } }, viewQueries: [{ propertyName: "inlineHelpContainer", first: true, predicate: ["inlineHelpContainer"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div class=\"ag-cell-label-container\" role=\"presentation\">\n @if (params()?.enableMenu) {\n <span\n class=\"ag-header-icon ag-header-cell-menu-button\"\n aria-hidden=\"true\"\n (click)=\"onMenuClick($event)\"\n >\n <sky-icon iconName=\"more-actions\" />\n </span>\n }\n <div class=\"ag-header-cell-label\" role=\"presentation\">\n <span class=\"ag-header-cell-label-and-icons\">\n @if (params()?.enableSorting) {\n <button\n aria-hidden=\"true\"\n class=\"ag-header-cell-text ag-header-cell-label-sortable sky-btn-link-inline\"\n tabindex=\"-1\"\n type=\"button\"\n [attr.aria-label]=\"accessibleHeaderText()\"\n [innerText]=\"displayName() ?? ''\"\n [skyThemeClass]=\"{ 'sky-font-heading-4': 'modern' }\"\n (click)=\"onSortRequested($event)\"\n ></button>\n } @else if (displayName()) {\n <span\n aria-hidden=\"true\"\n class=\"ag-header-cell-text\"\n [skyThemeClass]=\"{ 'sky-font-heading-4': 'modern' }\"\n >{{ displayName() }}</span\n >\n }\n @if (filterEnabled$ | async) {\n <span\n aria-hidden=\"true\"\n class=\"ag-header-icon ag-header-label-icon ag-filter-icon\"\n ><sky-icon iconName=\"filter\"\n /></span>\n }\n @if (params()?.enableSorting) {\n @if (sortOrder$ | async; as sortDirection) {\n <button\n class=\"ag-sort-indicator-container sky-btn sky-btn-icon-borderless\"\n type=\"button\"\n (click)=\"onSortRequested($event)\"\n >\n @if (sortDirection === 'desc') {\n <span class=\"ag-header-icon ag-header-label-icon\">\n <sky-icon iconName=\"chevron-down\" />\n <span class=\"sky-screen-reader-only\">{{\n 'sky_ag_grid_column_header_sort_button_aria_label_currently_desc'\n | skyLibResources: displayName() ?? accessibleHeaderText()\n }}</span></span\n >\n }\n @if (sortDirection === 'asc') {\n <span class=\"ag-header-icon ag-header-label-icon\">\n <sky-icon iconName=\"chevron-up\" />\n <span class=\"sky-screen-reader-only\">{{\n 'sky_ag_grid_column_header_sort_button_aria_label_currently_asc'\n | skyLibResources: displayName() ?? accessibleHeaderText()\n }}</span></span\n >\n }\n\n @if (sortIndexDisplay$ | async; as sortIndexDisplay) {\n <span\n aria-hidden=\"true\"\n class=\"ag-sort-indicator-icon ag-sort-order\"\n >{{ sortIndexDisplay }}</span\n >\n }\n </button>\n } @else {\n <span class=\"sky-screen-reader-only\">{{\n 'sky_ag_grid_column_header_sort_button_aria_label_currently_not_sorted'\n | skyLibResources: displayName() ?? accessibleHeaderText()\n }}</span>\n }\n }\n </span>\n <span #inlineHelpContainer class=\"sky-control-help-container\"></span>\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%;max-width:100%;height:100%;align-items:center;align-content:center}:host-context(.ag-header-cell.ag-right-aligned-header,.ag-header-cell.sky-ag-grid-header-right-aligned){flex-direction:row-reverse}:host-context(.ag-header-cell.ag-right-aligned-header,.ag-header-cell.sky-ag-grid-header-right-aligned) .ag-header-cell-label .sky-control-help-container{order:0}:host-context(.ag-header-cell.ag-right-aligned-header,.ag-header-cell.sky-ag-grid-header-right-aligned) .ag-header-cell-label .ag-header-cell-label-and-icons{order:1}.ag-header-cell-label .ag-header-cell-label-and-icons .ag-header-label-icon,.ag-header-cell-label .ag-header-cell-label-and-icons .ag-header-menu-icon,.ag-header-cell-label .ag-header-cell-label-and-icons .ag-header-icon{line-height:0;margin-left:var(--sky-margin-inline-sm)}.ag-header-cell-label .ag-header-cell-label-and-icons .sky-btn.sky-btn-icon-borderless{margin-left:var(--sky-margin-inline-sm)}.ag-header-cell-label .ag-header-cell-label-and-icons .sky-btn.sky-btn-icon-borderless .ag-header-label-icon,.ag-header-cell-label .ag-header-cell-label-and-icons .sky-btn.sky-btn-icon-borderless .ag-header-menu-icon,.ag-header-cell-label .ag-header-cell-label-and-icons .sky-btn.sky-btn-icon-borderless .ag-header-icon{margin-left:0}button.ag-header-cell-label{max-width:100%}.ag-cell-label-container{padding:0;gap:var(--sky-margin-inline-xs)}.ag-header-cell-label{padding-right:0;padding-left:0}.ag-header-cell-label .ag-header-cell-label-and-icons{display:flex;flex-wrap:nowrap;flex-direction:row;overflow:hidden;align-items:center}.ag-header-cell-label .ag-header-cell-label-and-icons .ag-header-cell-text{flex-grow:0;flex-shrink:1}.ag-header-cell-label .ag-header-cell-label-and-icons .ag-sort-indicator-container{color:var(--ag-header-foreground-color);width:initial;height:initial}.ag-header-cell-label .ag-header-cell-label-and-icons .ag-sort-indicator-container:hover{border:none}button{cursor:pointer;flex-grow:0;flex-shrink:1}\n"], dependencies: [{ kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i2$5.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant", "iconSize"] }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "directive", type: i2$4.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: SkyI18nModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2789
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2790
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.7", type: SkyAgGridHeaderComponent, isStandalone: true, selector: "sky-ag-grid-header", host: { properties: { "attr.title": "accessibleHeaderText()", "attr.aria-label": "displayName() || accessibleHeaderText()", "attr.role": "\"note\"" } }, viewQueries: [{ propertyName: "inlineHelpContainer", first: true, predicate: ["inlineHelpContainer"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div class=\"ag-cell-label-container\" role=\"presentation\">\n @if (params()?.enableMenu) {\n <span\n class=\"ag-header-icon ag-header-cell-menu-button\"\n aria-hidden=\"true\"\n (click)=\"onMenuClick($event)\"\n >\n <sky-icon iconName=\"more-actions\" />\n </span>\n }\n <div class=\"ag-header-cell-label\" role=\"presentation\">\n <span class=\"ag-header-cell-label-and-icons\">\n @if (params()?.enableSorting) {\n <button\n aria-hidden=\"true\"\n class=\"ag-header-cell-text ag-header-cell-label-sortable sky-btn-link-inline\"\n tabindex=\"-1\"\n type=\"button\"\n [attr.aria-label]=\"accessibleHeaderText()\"\n [innerText]=\"displayName() ?? ''\"\n [skyThemeClass]=\"{ 'sky-font-heading-4': 'modern' }\"\n (click)=\"onSortRequested($event)\"\n ></button>\n } @else if (displayName()) {\n <span\n aria-hidden=\"true\"\n class=\"ag-header-cell-text\"\n [skyThemeClass]=\"{ 'sky-font-heading-4': 'modern' }\"\n >{{ displayName() }}</span\n >\n }\n @if (filterEnabled$ | async) {\n <span\n aria-hidden=\"true\"\n class=\"ag-header-icon ag-header-label-icon ag-filter-icon\"\n ><sky-icon iconName=\"filter\"\n /></span>\n }\n @if (params()?.enableSorting) {\n @if (sortOrder$ | async; as sortDirection) {\n <button\n class=\"ag-sort-indicator-container sky-btn sky-btn-icon-borderless\"\n type=\"button\"\n (click)=\"onSortRequested($event)\"\n >\n @if (sortDirection === 'desc') {\n <span class=\"ag-header-icon ag-header-label-icon\">\n <sky-icon iconName=\"chevron-down\" />\n <span class=\"sky-screen-reader-only\">{{\n 'sky_ag_grid_column_header_sort_button_aria_label_currently_desc'\n | skyLibResources: displayName() ?? accessibleHeaderText()\n }}</span></span\n >\n }\n @if (sortDirection === 'asc') {\n <span class=\"ag-header-icon ag-header-label-icon\">\n <sky-icon iconName=\"chevron-up\" />\n <span class=\"sky-screen-reader-only\">{{\n 'sky_ag_grid_column_header_sort_button_aria_label_currently_asc'\n | skyLibResources: displayName() ?? accessibleHeaderText()\n }}</span></span\n >\n }\n\n @if (sortIndexDisplay$ | async; as sortIndexDisplay) {\n <span\n aria-hidden=\"true\"\n class=\"ag-sort-indicator-icon ag-sort-order\"\n >{{ sortIndexDisplay }}</span\n >\n }\n </button>\n } @else {\n <span class=\"sky-screen-reader-only\">{{\n 'sky_ag_grid_column_header_sort_button_aria_label_currently_not_sorted'\n | skyLibResources: displayName() ?? accessibleHeaderText()\n }}</span>\n }\n }\n </span>\n <span #inlineHelpContainer class=\"sky-control-help-container\"></span>\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%;max-width:100%;height:100%;align-items:center;align-content:center}:host-context(.ag-header-cell.ag-right-aligned-header,.ag-header-cell.sky-ag-grid-header-right-aligned){flex-direction:row-reverse}:host-context(.ag-header-cell.ag-right-aligned-header,.ag-header-cell.sky-ag-grid-header-right-aligned) .ag-header-cell-label .sky-control-help-container{order:0}:host-context(.ag-header-cell.ag-right-aligned-header,.ag-header-cell.sky-ag-grid-header-right-aligned) .ag-header-cell-label .ag-header-cell-label-and-icons{order:1}.ag-header-cell-label .ag-header-cell-label-and-icons .ag-header-label-icon,.ag-header-cell-label .ag-header-cell-label-and-icons .ag-header-menu-icon,.ag-header-cell-label .ag-header-cell-label-and-icons .ag-header-icon{line-height:0;margin-left:var(--sky-margin-inline-sm)}.ag-header-cell-label .ag-header-cell-label-and-icons .sky-btn.sky-btn-icon-borderless{margin-left:var(--sky-margin-inline-sm)}.ag-header-cell-label .ag-header-cell-label-and-icons .sky-btn.sky-btn-icon-borderless .ag-header-label-icon,.ag-header-cell-label .ag-header-cell-label-and-icons .sky-btn.sky-btn-icon-borderless .ag-header-menu-icon,.ag-header-cell-label .ag-header-cell-label-and-icons .sky-btn.sky-btn-icon-borderless .ag-header-icon{margin-left:0}button.ag-header-cell-label{max-width:100%}.ag-cell-label-container{padding:0;gap:var(--sky-margin-inline-xs)}.ag-header-cell-label{padding-right:0;padding-left:0}.ag-header-cell-label .ag-header-cell-label-and-icons{display:flex;flex-wrap:nowrap;flex-direction:row;overflow:hidden;align-items:center}.ag-header-cell-label .ag-header-cell-label-and-icons .ag-header-cell-text{flex-grow:0;flex-shrink:1}.ag-header-cell-label .ag-header-cell-label-and-icons .ag-sort-indicator-container{color:var(--ag-header-foreground-color);width:initial;height:initial}.ag-header-cell-label .ag-header-cell-label-and-icons .ag-sort-indicator-container:hover{border:none}button{cursor:pointer;flex-grow:0;flex-shrink:1}\n"], dependencies: [{ kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i2$5.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant", "iconSize"] }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "directive", type: i2$4.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: SkyI18nModule }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2891
2791
  }
2892
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridHeaderComponent, decorators: [{
2792
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridHeaderComponent, decorators: [{
2893
2793
  type: Component,
2894
2794
  args: [{ selector: 'sky-ag-grid-header', changeDetection: ChangeDetectionStrategy.OnPush, host: {
2895
2795
  '[attr.title]': 'accessibleHeaderText()',
@@ -2939,10 +2839,10 @@ class SkyAgGridLoadingComponent {
2939
2839
  refresh(_params) {
2940
2840
  // Do nothing.
2941
2841
  }
2942
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridLoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2943
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: SkyAgGridLoadingComponent, isStandalone: true, selector: "sky-ag-grid-loading", ngImport: i0, template: "<sky-wait [isWaiting]=\"true\" />\n", dependencies: [{ kind: "ngmodule", type: SkyWaitModule }, { kind: "component", type: i2$3.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2842
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridLoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2843
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: SkyAgGridLoadingComponent, isStandalone: true, selector: "sky-ag-grid-loading", ngImport: i0, template: "<sky-wait [isWaiting]=\"true\" />\n", dependencies: [{ kind: "ngmodule", type: SkyWaitModule }, { kind: "component", type: i2$3.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2944
2844
  }
2945
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridLoadingComponent, decorators: [{
2845
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridLoadingComponent, decorators: [{
2946
2846
  type: Component,
2947
2847
  args: [{ selector: 'sky-ag-grid-loading', imports: [SkyWaitModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<sky-wait [isWaiting]=\"true\" />\n" }]
2948
2848
  }] });
@@ -3498,10 +3398,10 @@ class SkyAgGridService {
3498
3398
  }
3499
3399
  return false;
3500
3400
  }
3501
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridService, deps: [{ token: SkyAgGridAdapterService }, { token: i2$4.SkyThemeService, optional: true }, { token: i3.SkyLibResourcesService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
3502
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridService, providedIn: 'root' }); }
3401
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridService, deps: [{ token: SkyAgGridAdapterService }, { token: i2$4.SkyThemeService, optional: true }, { token: i3.SkyLibResourcesService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
3402
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridService, providedIn: 'root' }); }
3503
3403
  }
3504
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyAgGridService, decorators: [{
3404
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyAgGridService, decorators: [{
3505
3405
  type: Injectable,
3506
3406
  args: [{
3507
3407
  providedIn: 'root',