@skyux/data-grid 14.19.0 → 15.0.0-alpha.10

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,19 +1,20 @@
1
1
  import { coerceBooleanProperty, coerceNumberProperty, coerceStringArray, coerceArray } from '@angular/cdk/coercion';
2
2
  import * as i0 from '@angular/core';
3
- import { input, booleanAttribute, numberAttribute, contentChild, TemplateRef, computed, inject, afterRenderEffect, ChangeDetectionStrategy, Component, model, contentChildren, signal, untracked, linkedSignal, effect } from '@angular/core';
3
+ import { input, booleanAttribute, numberAttribute, contentChild, TemplateRef, computed, inject, afterRenderEffect, ChangeDetectionStrategy, Component, model, contentChildren, signal, untracked, linkedSignal, ChangeDetectorRef, effect } from '@angular/core';
4
4
  import { toObservable, toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
5
  import { ActivatedRoute, Router } from '@angular/router';
6
6
  import * as i1$1 from '@skyux/ag-grid';
7
7
  import { SkyAgGridHeaderInfo, SkyAgGridService, SkyCellType, SkyAgGridModule } from '@skyux/ag-grid';
8
8
  import * as i3 from '@skyux/core';
9
9
  import { SkyLogService, SkyViewkeeperModule } from '@skyux/core';
10
+ import { SkyAppLocaleProvider } from '@skyux/i18n';
10
11
  import * as i4 from '@skyux/indicators';
11
12
  import { SkyWaitModule } from '@skyux/indicators';
12
13
  import * as i2 from '@skyux/lists';
13
14
  import { SkyPagingModule } from '@skyux/lists';
14
15
  import { AgGridAngular } from 'ag-grid-angular';
15
- import { ModuleRegistry, CellStyleModule, ClientSideRowModelApiModule, ClientSideRowModelModule, ColumnApiModule, ColumnAutoSizeModule, EventApiModule, GridStateModule, PaginationModule, RenderApiModule, RowApiModule, RowAutoHeightModule, RowSelectionModule, RowStyleModule, ValidationModule } from 'ag-grid-community';
16
- import { Observable, filter, switchMap, takeUntil, map, startWith } from 'rxjs';
16
+ import { ModuleRegistry, CellStyleModule, ClientSideRowModelApiModule, ClientSideRowModelModule, ColumnApiModule, ColumnAutoSizeModule, EventApiModule, GridStateModule, LocaleModule, PaginationModule, RenderApiModule, RowApiModule, RowAutoHeightModule, RowSelectionModule, RowStyleModule, ValidationModule } from 'ag-grid-community';
17
+ import { Observable, map, distinctUntilChanged, filter, switchMap, takeUntil, startWith } from 'rxjs';
17
18
  import * as i1 from '@skyux/help-inline';
18
19
  import { SkyHelpInlineModule } from '@skyux/help-inline';
19
20
 
@@ -28,72 +29,78 @@ class SkyDataGridColumn {
28
29
  * Whether the column is hidden.
29
30
  * @default false
30
31
  */
31
- this.columnHidden = input(false, { ...(ngDevMode ? { debugName: "columnHidden" } : {}), transform: booleanAttribute });
32
+ this.columnHidden = input(false, { ...(ngDevMode ? { debugName: "columnHidden" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
32
33
  /**
33
34
  * The unique ID for the column. You must provide either the `columnId` or `field` property
34
35
  * for every column, but do not provide both. Use `columnId` when the column does not map directly to a field
35
36
  * in the data set.
36
37
  */
37
- this.columnId = input(...(ngDevMode ? [undefined, { debugName: "columnId" }] : []));
38
+ this.columnId = input(/* @ts-ignore */
39
+ ...(ngDevMode ? [undefined, { debugName: "columnId" }] : /* istanbul ignore next */ []));
38
40
  /**
39
41
  * The data type of the column used for sorting and rendering when a template is not provided.
40
42
  * @default 'text'
41
43
  */
42
- this.dataType = input('text', ...(ngDevMode ? [{ debugName: "dataType" }] : []));
44
+ this.dataType = input('text', /* @ts-ignore */
45
+ ...(ngDevMode ? [{ debugName: "dataType" }] : /* istanbul ignore next */ []));
43
46
  /**
44
47
  * The property to retrieve cell information from an entry on the grid `data` array.
45
48
  * You must provide either the `columnId` or `field` property for every column,
46
49
  * but do not provide both. When a column maps directly to a property on the data,
47
50
  * use `field`; the column's ID defaults to the `field` value.
48
51
  */
49
- this.field = input(...(ngDevMode ? [undefined, { debugName: "field" }] : []));
52
+ this.field = input(/* @ts-ignore */
53
+ ...(ngDevMode ? [undefined, { debugName: "field" }] : /* istanbul ignore next */ []));
50
54
  /**
51
55
  * When set, `flexWidth` takes precedence over `width` for sizing and works like
52
56
  * [CSS flex-grow](https://developer.mozilla.org/en-US/docs/Web/CSS/flex-grow), where a column
53
57
  * with `flexWidth="2"` is twice the width of a column with `flexWidth="1"`, and `flexWidth="0"` does not auto-expand.
54
58
  * If `width` is also set, it acts as the column's minimum width.
55
59
  */
56
- this.flexWidth = input(undefined, { ...(ngDevMode ? { debugName: "flexWidth" } : {}), transform: (value) => numberAttribute(value, undefined) });
60
+ this.flexWidth = input(undefined, { ...(ngDevMode ? { debugName: "flexWidth" } : /* istanbul ignore next */ {}), transform: (value) => numberAttribute(value, undefined) });
57
61
  /**
58
62
  * Text to display in the column header.
59
63
  * @required
60
64
  */
61
- this.headingText = input.required(...(ngDevMode ? [{ debugName: "headingText" }] : []));
65
+ this.headingText = input.required(/* @ts-ignore */
66
+ ...(ngDevMode ? [{ debugName: "headingText" }] : /* istanbul ignore next */ []));
62
67
  /**
63
68
  * Whether to visually hide `headingText` while keeping it available to
64
69
  * assistive technologies. The header cell still renders, so its sorting and
65
70
  * resizing controls remain available.
66
71
  * @default false
67
72
  */
68
- this.headingHidden = input(false, { ...(ngDevMode ? { debugName: "headingHidden" } : {}), transform: booleanAttribute });
73
+ this.headingHidden = input(false, { ...(ngDevMode ? { debugName: "headingHidden" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
69
74
  /**
70
75
  * The title of the help popover. This property only applies when `helpPopoverContent` is
71
76
  * also specified.
72
77
  */
73
- this.helpPopoverTitle = input(...(ngDevMode ? [undefined, { debugName: "helpPopoverTitle" }] : []));
78
+ this.helpPopoverTitle = input(/* @ts-ignore */
79
+ ...(ngDevMode ? [undefined, { debugName: "helpPopoverTitle" }] : /* istanbul ignore next */ []));
74
80
  /**
75
81
  * The content of the help popover. When specified, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)
76
82
  * button is added to the column header. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)
77
83
  * when clicked using the specified content and optional title.
78
84
  */
79
- this.helpPopoverContent = input(...(ngDevMode ? [undefined, { debugName: "helpPopoverContent" }] : []));
85
+ this.helpPopoverContent = input(/* @ts-ignore */
86
+ ...(ngDevMode ? [undefined, { debugName: "helpPopoverContent" }] : /* istanbul ignore next */ []));
80
87
  /**
81
88
  * Whether the column is locked. The intent is to display locked columns first
82
89
  * on the left side of the grid. If set to `true`, then users cannot drag the column
83
90
  * to another position or drag other columns before it.
84
91
  * @default false
85
92
  */
86
- this.locked = input(false, { ...(ngDevMode ? { debugName: "locked" } : {}), transform: booleanAttribute });
93
+ this.locked = input(false, { ...(ngDevMode ? { debugName: "locked" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
87
94
  /**
88
95
  * Whether the column can be resized by dragging the column header border.
89
96
  * @default true
90
97
  */
91
- this.resizable = input(true, { ...(ngDevMode ? { debugName: "resizable" } : {}), transform: booleanAttribute });
98
+ this.resizable = input(true, { ...(ngDevMode ? { debugName: "resizable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
92
99
  /**
93
100
  * Whether the column sorts the grid when users click the column header.
94
101
  * @default true
95
102
  */
96
- this.sortable = input(true, { ...(ngDevMode ? { debugName: "sortable" } : {}), transform: booleanAttribute });
103
+ this.sortable = input(true, { ...(ngDevMode ? { debugName: "sortable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
97
104
  /**
98
105
  * The template for a column. This can be assigned as a reference
99
106
  * to the `template` input, or it can be assigned as an `<ng-template>` child
@@ -101,20 +108,22 @@ class SkyDataGridColumn {
101
108
  * which contains the value passed to the column, and the `row` variable, which contains
102
109
  * the entire row data.
103
110
  */
104
- this.template = input(...(ngDevMode ? [undefined, { debugName: "template" }] : []));
111
+ this.template = input(/* @ts-ignore */
112
+ ...(ngDevMode ? [undefined, { debugName: "template" }] : /* istanbul ignore next */ []));
105
113
  /**
106
114
  * The width of the column in pixels. Used as the column's initial width; the
107
115
  * column can still be resized and is included when columns are sized to fit
108
116
  * the grid's width. When `flexWidth` is also set, `width` instead acts as the
109
117
  * column's minimum width. When no width is set, the column width is evenly distributed.
110
118
  */
111
- this.width = input(undefined, { ...(ngDevMode ? { debugName: "width" } : {}), transform: (value) => numberAttribute(value, undefined) });
119
+ this.width = input(undefined, { ...(ngDevMode ? { debugName: "width" } : /* istanbul ignore next */ {}), transform: (value) => numberAttribute(value, undefined) });
112
120
  /**
113
121
  * Whether text in this column should wrap to multiple lines.
114
122
  * @default false
115
123
  */
116
- this.wrapText = input(false, { ...(ngDevMode ? { debugName: "wrapText" } : {}), transform: booleanAttribute });
117
- this.templateChild = contentChild(TemplateRef, ...(ngDevMode ? [{ debugName: "templateChild" }] : []));
124
+ this.wrapText = input(false, { ...(ngDevMode ? { debugName: "wrapText" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
125
+ this.templateChild = contentChild(TemplateRef, /* @ts-ignore */
126
+ ...(ngDevMode ? [{ debugName: "templateChild" }] : /* istanbul ignore next */ []));
118
127
  /**
119
128
  * @internal
120
129
  */
@@ -122,7 +131,8 @@ class SkyDataGridColumn {
122
131
  const template = this.template();
123
132
  const templateChild = this.templateChild();
124
133
  return template || templateChild;
125
- }, ...(ngDevMode ? [{ debugName: "cellTemplate" }] : []));
134
+ }, /* @ts-ignore */
135
+ ...(ngDevMode ? [{ debugName: "cellTemplate" }] : /* istanbul ignore next */ []));
126
136
  const logger = inject(SkyLogService);
127
137
  afterRenderEffect(() => {
128
138
  const columnId = this.columnId();
@@ -135,10 +145,10 @@ class SkyDataGridColumn {
135
145
  }
136
146
  });
137
147
  }
138
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkyDataGridColumn, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
139
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.0", type: SkyDataGridColumn, isStandalone: true, selector: "sky-data-grid-column", inputs: { columnHidden: { classPropertyName: "columnHidden", publicName: "columnHidden", isSignal: true, isRequired: false, transformFunction: null }, columnId: { classPropertyName: "columnId", publicName: "columnId", isSignal: true, isRequired: false, transformFunction: null }, dataType: { classPropertyName: "dataType", publicName: "dataType", isSignal: true, isRequired: false, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null }, flexWidth: { classPropertyName: "flexWidth", publicName: "flexWidth", isSignal: true, isRequired: false, transformFunction: null }, headingText: { classPropertyName: "headingText", publicName: "headingText", isSignal: true, isRequired: true, transformFunction: null }, headingHidden: { classPropertyName: "headingHidden", publicName: "headingHidden", isSignal: true, isRequired: false, transformFunction: null }, helpPopoverTitle: { classPropertyName: "helpPopoverTitle", publicName: "helpPopoverTitle", isSignal: true, isRequired: false, transformFunction: null }, helpPopoverContent: { classPropertyName: "helpPopoverContent", publicName: "helpPopoverContent", isSignal: true, isRequired: false, transformFunction: null }, locked: { classPropertyName: "locked", publicName: "locked", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, sortable: { classPropertyName: "sortable", publicName: "sortable", isSignal: true, isRequired: false, transformFunction: null }, template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, wrapText: { classPropertyName: "wrapText", publicName: "wrapText", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "templateChild", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
148
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SkyDataGridColumn, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
149
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.2", type: SkyDataGridColumn, isStandalone: true, selector: "sky-data-grid-column", inputs: { columnHidden: { classPropertyName: "columnHidden", publicName: "columnHidden", isSignal: true, isRequired: false, transformFunction: null }, columnId: { classPropertyName: "columnId", publicName: "columnId", isSignal: true, isRequired: false, transformFunction: null }, dataType: { classPropertyName: "dataType", publicName: "dataType", isSignal: true, isRequired: false, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null }, flexWidth: { classPropertyName: "flexWidth", publicName: "flexWidth", isSignal: true, isRequired: false, transformFunction: null }, headingText: { classPropertyName: "headingText", publicName: "headingText", isSignal: true, isRequired: true, transformFunction: null }, headingHidden: { classPropertyName: "headingHidden", publicName: "headingHidden", isSignal: true, isRequired: false, transformFunction: null }, helpPopoverTitle: { classPropertyName: "helpPopoverTitle", publicName: "helpPopoverTitle", isSignal: true, isRequired: false, transformFunction: null }, helpPopoverContent: { classPropertyName: "helpPopoverContent", publicName: "helpPopoverContent", isSignal: true, isRequired: false, transformFunction: null }, locked: { classPropertyName: "locked", publicName: "locked", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, sortable: { classPropertyName: "sortable", publicName: "sortable", isSignal: true, isRequired: false, transformFunction: null }, template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, wrapText: { classPropertyName: "wrapText", publicName: "wrapText", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "templateChild", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
140
150
  }
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkyDataGridColumn, decorators: [{
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SkyDataGridColumn, decorators: [{
142
152
  type: Component,
143
153
  args: [{
144
154
  selector: 'sky-data-grid-column',
@@ -153,21 +163,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
153
163
  class SkyDataGridColumnInlineHelp {
154
164
  constructor() {
155
165
  this.info = inject(SkyAgGridHeaderInfo);
156
- this.showHelpInline = computed(() => !!this.helpPopoverContent(), ...(ngDevMode ? [{ debugName: "showHelpInline" }] : []));
157
- this.helpPopoverTitle = computed(() => this.#headerComponentParams()?.helpPopoverTitle, ...(ngDevMode ? [{ debugName: "helpPopoverTitle" }] : []));
158
- this.helpPopoverContent = computed(() => this.#headerComponentParams()?.helpPopoverContent, ...(ngDevMode ? [{ debugName: "helpPopoverContent" }] : []));
159
- this.#headerComponentParams = computed(() => this.info.column?.getColDef().headerComponentParams, ...(ngDevMode ? [{ debugName: "#headerComponentParams" }] : []));
166
+ this.showHelpInline = computed(() => !!this.helpPopoverContent(), /* @ts-ignore */
167
+ ...(ngDevMode ? [{ debugName: "showHelpInline" }] : /* istanbul ignore next */ []));
168
+ this.helpPopoverTitle = computed(() => this.#headerComponentParams()?.helpPopoverTitle, /* @ts-ignore */
169
+ ...(ngDevMode ? [{ debugName: "helpPopoverTitle" }] : /* istanbul ignore next */ []));
170
+ this.helpPopoverContent = computed(() => this.#headerComponentParams()?.helpPopoverContent, /* @ts-ignore */
171
+ ...(ngDevMode ? [{ debugName: "helpPopoverContent" }] : /* istanbul ignore next */ []));
172
+ this.#headerComponentParams = computed(() => this.info.column?.getColDef().headerComponentParams, /* @ts-ignore */
173
+ ...(ngDevMode ? [{ debugName: "#headerComponentParams" }] : /* istanbul ignore next */ []));
160
174
  }
161
175
  #headerComponentParams;
162
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkyDataGridColumnInlineHelp, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
163
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: SkyDataGridColumnInlineHelp, isStandalone: true, selector: "sky-data-grid-column-inline-help", ngImport: i0, template: `@if (showHelpInline()) {
176
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SkyDataGridColumnInlineHelp, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
177
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: SkyDataGridColumnInlineHelp, isStandalone: true, selector: "sky-data-grid-column-inline-help", ngImport: i0, template: `@if (showHelpInline()) {
164
178
  <sky-help-inline
165
179
  [popoverTitle]="helpPopoverTitle()"
166
180
  [popoverContent]="helpPopoverContent()"
167
181
  />
168
182
  }`, isInline: true, dependencies: [{ kind: "ngmodule", type: SkyHelpInlineModule }, { kind: "component", type: i1.λ1, selector: "sky-help-inline", inputs: ["ariaControls", "ariaExpanded", "ariaLabel", "helpKey", "labelledBy", "labelText", "popoverContent", "popoverTitle"], outputs: ["actionClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
169
183
  }
170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkyDataGridColumnInlineHelp, decorators: [{
184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SkyDataGridColumnInlineHelp, decorators: [{
171
185
  type: Component,
172
186
  args: [{
173
187
  selector: 'sky-data-grid-column-inline-help',
@@ -201,8 +215,8 @@ function fromGridEvent(target, eventType) {
201
215
  // rather than `AllCommunityModule`, to keep the consumer's bundle lean. This
202
216
  // covers the client-side row model, sorting, pagination, row selection, cell
203
217
  // and row styling, column auto-sizing, auto-height (text wrap), the grid/column
204
- // state and event APIs the component and its harness rely on, and dev-time
205
- // validation messaging.
218
+ // state and event APIs the component and its harness rely on, localized text,
219
+ // and dev-time validation messaging.
206
220
  ModuleRegistry.registerModules([
207
221
  CellStyleModule,
208
222
  ClientSideRowModelApiModule,
@@ -211,6 +225,7 @@ ModuleRegistry.registerModules([
211
225
  ColumnAutoSizeModule,
212
226
  EventApiModule,
213
227
  GridStateModule,
228
+ LocaleModule,
214
229
  PaginationModule,
215
230
  RenderApiModule,
216
231
  RowApiModule,
@@ -229,9 +244,16 @@ function arraySorted(arr) {
229
244
  */
230
245
  class SkyDataGrid {
231
246
  #activatedRoute;
247
+ #changeDetector;
232
248
  #gridService;
233
249
  #logger;
234
250
  #router;
251
+ /**
252
+ * Set while the grid is being torn down so it can be recreated; see the
253
+ * locale subscription in the constructor.
254
+ */
255
+ #recreatingGrid;
256
+ #localeChange;
235
257
  #columnDefs;
236
258
  #hasColumnDefs;
237
259
  #gridDestroyed;
@@ -242,6 +264,7 @@ class SkyDataGrid {
242
264
  */
243
265
  #paginationOptions;
244
266
  #queryParamPage;
267
+ #rowSelection;
245
268
  constructor() {
246
269
  /**
247
270
  * Whether the grid sorts the data order when a column header is clicked.
@@ -251,7 +274,7 @@ class SkyDataGrid {
251
274
  * such as sorting a "name" column using last name.
252
275
  * @default true
253
276
  */
254
- this.autoSort = input(true, { ...(ngDevMode ? { debugName: "autoSort" } : {}), transform: coerceBooleanProperty });
277
+ this.autoSort = input(true, { ...(ngDevMode ? { debugName: "autoSort" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
255
278
  /**
256
279
  * Whether the items in `data` represent the full result set used for paging.
257
280
  * This applies only when `pageSize` is greater than zero. When `true` (the
@@ -261,7 +284,7 @@ class SkyDataGrid {
261
284
  * value (server-side paging).
262
285
  * @default true
263
286
  */
264
- this.autoPage = input(true, { ...(ngDevMode ? { debugName: "autoPage" } : {}), transform: coerceBooleanProperty });
287
+ this.autoPage = input(true, { ...(ngDevMode ? { debugName: "autoPage" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
265
288
  /**
266
289
  * How the grid columns are sized. The valid options are `container`, which
267
290
  * attempts to fit the grid to the parent's full width, and `content`, which
@@ -272,59 +295,63 @@ class SkyDataGrid {
272
295
  * initialization are not reflected.
273
296
  * @default 'container'
274
297
  */
275
- this.columnFit = input('container', ...(ngDevMode ? [{ debugName: "columnFit" }] : []));
298
+ this.columnFit = input('container', /* @ts-ignore */
299
+ ...(ngDevMode ? [{ debugName: "columnFit" }] : /* istanbul ignore next */ []));
276
300
  /**
277
301
  * Whether to enable a compact layout for the grid when using modern theme. Compact layout
278
302
  * uses a smaller font size and row height to display more data in a smaller space.
279
303
  * @default false
280
304
  */
281
- this.compact = input(false, { ...(ngDevMode ? { debugName: "compact" } : {}), transform: coerceBooleanProperty });
305
+ this.compact = input(false, { ...(ngDevMode ? { debugName: "compact" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
282
306
  /**
283
307
  * The data for the grid. Each item must implement `SkyDataGridRowData`, and other properties should map to a `field` of the grid columns.
284
308
  * When `data` is `null` or `undefined`, the grid will show a loading indicator, and when `data` is an empty array,
285
309
  * the grid will show a "no rows" message.
286
310
  */
287
- this.data = input(...(ngDevMode ? [undefined, { debugName: "data" }] : []));
311
+ this.data = input(/* @ts-ignore */
312
+ ...(ngDevMode ? [undefined, { debugName: "data" }] : /* istanbul ignore next */ []));
288
313
  /**
289
314
  * The text to read to screen readers to describe the grid. This sets the `aria-label` attribute on the grid container.
290
315
  */
291
- this.labelText = input(...(ngDevMode ? [undefined, { debugName: "labelText" }] : []));
316
+ this.labelText = input(/* @ts-ignore */
317
+ ...(ngDevMode ? [undefined, { debugName: "labelText" }] : /* istanbul ignore next */ []));
292
318
  /**
293
319
  * Whether data is being loaded. When `loading` is true or when `data` is nullish,
294
320
  * the grid shows a waiting overlay and is not interactive.
295
321
  * @default false
296
322
  */
297
- this.loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : {}), transform: coerceBooleanProperty });
323
+ this.loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
298
324
  /**
299
325
  * The minimum height of the grid in pixels.
300
326
  * @default 50
301
327
  */
302
- this.minHeight = input(50, { ...(ngDevMode ? { debugName: "minHeight" } : {}), transform: (value) => coerceNumberProperty(value, 50) });
328
+ this.minHeight = input(50, { ...(ngDevMode ? { debugName: "minHeight" } : /* istanbul ignore next */ {}), transform: (value) => coerceNumberProperty(value, 50) });
303
329
  /**
304
330
  * Whether to enable the multiselect feature to display a column of
305
331
  * checkboxes on the left side of the grid.
306
332
  * @default false
307
333
  */
308
- this.multiselect = input(false, { ...(ngDevMode ? { debugName: "multiselect" } : {}), transform: coerceBooleanProperty });
334
+ this.multiselect = input(false, { ...(ngDevMode ? { debugName: "multiselect" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
309
335
  /**
310
336
  * The number of items to display per page. Setting a value greater than zero
311
337
  * enables paging. When `autoPage` is `true` (the default), the grid pages
312
338
  * through `data` on the client; when `autoPage` is `false`, set `rowCount` to
313
339
  * the total number of rows and update `data` as `page` changes.
314
340
  */
315
- this.pageSize = input(undefined, { ...(ngDevMode ? { debugName: "pageSize" } : {}), transform: (value) => coerceNumberProperty(value, undefined) });
341
+ this.pageSize = input(undefined, { ...(ngDevMode ? { debugName: "pageSize" } : /* istanbul ignore next */ {}), transform: (value) => coerceNumberProperty(value, undefined) });
316
342
  /**
317
343
  * The query parameter name that stores the current page number.
318
344
  * When set, the grid syncs page changes to the URL for deep linking, and there should only be one grid on the page.
319
345
  */
320
- this.pageQueryParam = input(...(ngDevMode ? [undefined, { debugName: "pageQueryParam" }] : []));
346
+ this.pageQueryParam = input(/* @ts-ignore */
347
+ ...(ngDevMode ? [undefined, { debugName: "pageQueryParam" }] : /* istanbul ignore next */ []));
321
348
  /**
322
349
  * The total number of rows to page through, used to calculate how many pages
323
350
  * the paging controls display. Required when `pageSize` is greater than zero
324
351
  * and `autoPage` is `false`; ignored when `autoPage` is `true` because the
325
352
  * length of `data` is used instead.
326
353
  */
327
- this.rowCount = input(undefined, { ...(ngDevMode ? { debugName: "rowCount" } : {}), transform: (value) => {
354
+ this.rowCount = input(undefined, { ...(ngDevMode ? { debugName: "rowCount" } : /* istanbul ignore next */ {}), transform: (value) => {
328
355
  if (typeof value === 'undefined') {
329
356
  return undefined;
330
357
  }
@@ -335,40 +362,47 @@ class SkyDataGrid {
335
362
  * vertical spacing is automatically added to the data grid.
336
363
  * @default false
337
364
  */
338
- this.stacked = input(false, { ...(ngDevMode ? { debugName: "stacked" } : {}), transform: coerceBooleanProperty });
365
+ this.stacked = input(false, { ...(ngDevMode ? { debugName: "stacked" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
339
366
  /**
340
367
  * Whether to move the horizontal scrollbar to just below the header row.
341
368
  * This property is applied when the grid initializes; changes after
342
369
  * initialization are not reflected.
343
370
  * @default false
344
371
  */
345
- this.topScrollEnabled = input(false, { ...(ngDevMode ? { debugName: "topScrollEnabled" } : {}), transform: coerceBooleanProperty });
372
+ this.topScrollEnabled = input(false, { ...(ngDevMode ? { debugName: "topScrollEnabled" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
346
373
  /**
347
374
  * The current page number of the grid when `pageSize` has been set. This is two-way bindable:
348
375
  * it updates as the user navigates pages, and you can set it to change the current page.
349
376
  * When `autoPage` is `false`, update `data` to the rows for the new page whenever this changes.
350
377
  * @default 1
351
378
  */
352
- this.page = model(1, ...(ngDevMode ? [{ debugName: "page" }] : []));
379
+ this.page = model(1, /* @ts-ignore */
380
+ ...(ngDevMode ? [{ debugName: "page" }] : /* istanbul ignore next */ []));
353
381
  /**
354
382
  * The set of IDs for the rows to select in a multiselect grid.
355
383
  * Rows with IDs that are not included are de-selected in the grid. This is two-way bindable:
356
384
  * it emits the updated set of IDs when the user changes the selection.
357
385
  * @default []
358
386
  */
359
- this.selectedRowIds = model([], ...(ngDevMode ? [{ debugName: "selectedRowIds" }] : []));
387
+ this.selectedRowIds = model([], /* @ts-ignore */
388
+ ...(ngDevMode ? [{ debugName: "selectedRowIds" }] : /* istanbul ignore next */ []));
360
389
  /**
361
390
  * The current sort applied to the grid. This is two-way bindable: it emits a new value
362
391
  * whenever the user sorts a column, and you can set it to sort the grid programmatically.
363
392
  * When `autoSort` is `false`, the grid emits the new value here but does not reorder the
364
393
  * data itself, leaving it to you to update `data`.
365
394
  */
366
- this.sort = model(undefined, ...(ngDevMode ? [{ debugName: "sort" }] : []));
367
- this.columns = contentChildren(SkyDataGridColumn, ...(ngDevMode ? [{ debugName: "columns" }] : []));
368
- this.gridApi = signal(undefined, ...(ngDevMode ? [{ debugName: "gridApi" }] : []));
395
+ this.sort = model(undefined, /* @ts-ignore */
396
+ ...(ngDevMode ? [{ debugName: "sort" }] : /* istanbul ignore next */ []));
397
+ this.columns = contentChildren(SkyDataGridColumn, /* @ts-ignore */
398
+ ...(ngDevMode ? [{ debugName: "columns" }] : /* istanbul ignore next */ []));
399
+ this.gridApi = signal(undefined, /* @ts-ignore */
400
+ ...(ngDevMode ? [{ debugName: "gridApi" }] : /* istanbul ignore next */ []));
369
401
  this.gridOptions = computed(() => {
370
402
  const hasColumnDefs = this.#hasColumnDefs();
371
- if (!hasColumnDefs) {
403
+ // `#recreatingGrid` blanks the template for a tick so the grid is torn
404
+ // down and rebuilt; see the locale subscription in the constructor.
405
+ if (!hasColumnDefs || this.#recreatingGrid()) {
372
406
  return undefined;
373
407
  }
374
408
  const columnDefs = untracked(() => this.#columnDefs());
@@ -398,18 +432,24 @@ class SkyDataGrid {
398
432
  onGridReady: (args) => {
399
433
  this.gridApi.set(args.api);
400
434
  this.gridReady.set(true);
435
+ // AG Grid dispatches `onGridReady` outside the Angular zone, so
436
+ // the `gridReady`/`gridApi` signal writes above aren't picked up
437
+ // by zone-triggered change detection on their own.
438
+ this.#changeDetector.markForCheck();
401
439
  },
402
440
  pagination,
403
441
  paginationPageSize,
404
442
  suppressMultiSort: true,
405
443
  suppressPaginationPanel: true,
406
444
  rowData,
407
- rowSelection: untracked(() => this.#getRowSelection()),
445
+ rowSelection: untracked(() => this.#rowSelection()),
408
446
  autoSizeStrategy: untracked(() => this.#getAutoSizeStrategy()),
409
447
  },
410
448
  });
411
- }, ...(ngDevMode ? [{ debugName: "gridOptions" }] : []));
412
- this.gridReady = signal(false, ...(ngDevMode ? [{ debugName: "gridReady" }] : []));
449
+ }, /* @ts-ignore */
450
+ ...(ngDevMode ? [{ debugName: "gridOptions" }] : /* istanbul ignore next */ []));
451
+ this.gridReady = signal(false, /* @ts-ignore */
452
+ ...(ngDevMode ? [{ debugName: "gridReady" }] : /* istanbul ignore next */ []));
413
453
  this.rowData = computed(() => {
414
454
  const rowData = this.data() ?? [];
415
455
  const pageSize = this.pageSize();
@@ -418,7 +458,8 @@ class SkyDataGrid {
418
458
  return rowData.slice(0, pageSize);
419
459
  }
420
460
  return rowData;
421
- }, ...(ngDevMode ? [{ debugName: "rowData" }] : []));
461
+ }, /* @ts-ignore */
462
+ ...(ngDevMode ? [{ debugName: "rowData" }] : /* istanbul ignore next */ []));
422
463
  this.pageCount = computed(() => {
423
464
  const dataLength = this.pageItemsCount();
424
465
  const pageSize = this.pageSize();
@@ -427,8 +468,9 @@ class SkyDataGrid {
427
468
  return 0;
428
469
  }
429
470
  return Math.ceil(dataLength / pageSize);
430
- }, ...(ngDevMode ? [{ debugName: "pageCount" }] : []));
431
- this.pageItemsCount = linkedSignal({ ...(ngDevMode ? { debugName: "pageItemsCount" } : {}), source: () => {
471
+ }, /* @ts-ignore */
472
+ ...(ngDevMode ? [{ debugName: "pageCount" }] : /* istanbul ignore next */ []));
473
+ this.pageItemsCount = linkedSignal({ ...(ngDevMode ? { debugName: "pageItemsCount" } : /* istanbul ignore next */ {}), source: () => {
432
474
  const pageSize = this.pageSize();
433
475
  const gridReady = this.gridReady();
434
476
  const rowCount = this.rowCount() ?? 0;
@@ -453,16 +495,29 @@ class SkyDataGrid {
453
495
  classes.push('.ag-body-horizontal-scroll');
454
496
  }
455
497
  return classes;
456
- }, ...(ngDevMode ? [{ debugName: "skyViewkeeper" }] : []));
498
+ }, /* @ts-ignore */
499
+ ...(ngDevMode ? [{ debugName: "skyViewkeeper" }] : /* istanbul ignore next */ []));
457
500
  this.#activatedRoute = inject(ActivatedRoute, { optional: true });
501
+ this.#changeDetector = inject(ChangeDetectorRef);
458
502
  this.#gridService = inject(SkyAgGridService);
459
503
  this.#logger = inject(SkyLogService);
460
504
  this.#router = inject(Router, { optional: true });
505
+ /**
506
+ * Set while the grid is being torn down so it can be recreated; see the
507
+ * locale subscription in the constructor.
508
+ */
509
+ this.#recreatingGrid = signal(false, /* @ts-ignore */
510
+ ...(ngDevMode ? [{ debugName: "#recreatingGrid" }] : /* istanbul ignore next */ []));
511
+ this.#localeChange = inject(SkyAppLocaleProvider)
512
+ .getLocaleInfo()
513
+ .pipe(map((localeInfo) => localeInfo.locale), distinctUntilChanged());
461
514
  this.#columnDefs = computed(() => {
462
515
  const columns = this.columns();
463
516
  return columns.map((col) => this.#createColDef(col));
464
- }, ...(ngDevMode ? [{ debugName: "#columnDefs" }] : []));
465
- this.#hasColumnDefs = computed(() => this.#columnDefs().length > 0, ...(ngDevMode ? [{ debugName: "#hasColumnDefs" }] : []));
517
+ }, /* @ts-ignore */
518
+ ...(ngDevMode ? [{ debugName: "#columnDefs" }] : /* istanbul ignore next */ []));
519
+ this.#hasColumnDefs = computed(() => this.#columnDefs().length > 0, /* @ts-ignore */
520
+ ...(ngDevMode ? [{ debugName: "#hasColumnDefs" }] : /* istanbul ignore next */ []));
466
521
  this.#gridDestroyed = toObservable(this.gridApi).pipe(filter(Boolean), switchMap((api) => fromGridEvent(api, 'gridPreDestroyed')));
467
522
  this.#gridSelectedRowIds = toObservable(this.gridApi).pipe(filter(Boolean), switchMap((api) => fromGridEvent(api, 'selectionChanged').pipe(takeUntil(this.#gridDestroyed), map(() => arraySorted(this.#getRowIds(api.getSelectedNodes()))))));
468
523
  this.#gridSortChange = toObservable(this.gridApi).pipe(filter(Boolean), switchMap((api) => fromGridEvent(api, 'sortChanged').pipe(takeUntil(this.#gridDestroyed), map((sortEvent) => {
@@ -486,38 +541,67 @@ class SkyDataGrid {
486
541
  pagination,
487
542
  paginationPageSize,
488
543
  };
489
- }, ...(ngDevMode ? [{ debugName: "#paginationOptions" }] : []));
544
+ }, /* @ts-ignore */
545
+ ...(ngDevMode ? [{ debugName: "#paginationOptions" }] : /* istanbul ignore next */ []));
490
546
  this.#queryParamPage = toSignal(toObservable(this.pageQueryParam).pipe(switchMap((pageQueryParam) => pageQueryParam && this.#activatedRoute
491
547
  ? this.#activatedRoute.queryParamMap.pipe(startWith(this.#activatedRoute.snapshot.queryParamMap), map((params) => coerceNumberProperty(params.get(pageQueryParam), 1)))
492
548
  : [])), { initialValue: NaN });
493
- // Update specific grid options after the grid has been loaded. These read
494
- // `gridApi` untracked because a recreated grid rebuilds its options from the
495
- // `gridOptions` computed; the selection and page effects below instead track
496
- // `gridApi` so they re-apply their state to a freshly created grid.
549
+ this.#rowSelection = computed(() => {
550
+ return this.multiselect()
551
+ ? {
552
+ checkboxes: true,
553
+ checkboxLocation: 'selectionColumn',
554
+ headerCheckbox: true,
555
+ mode: 'multiRow',
556
+ }
557
+ : {
558
+ checkboxes: false,
559
+ // `SkyAgGridService.getGridOptions()` only merges these defaults
560
+ // in when the grid is first created; spell them out here too so
561
+ // this effect's runtime `setGridOption('rowSelection', ...)` call
562
+ // (now that it tracks `gridApi`, it can run again as soon as the
563
+ // grid is created) re-applies the same value instead of one
564
+ // missing these defaulted fields.
565
+ enableClickSelection: false,
566
+ enableSelectionWithoutKeys: true,
567
+ mode: 'singleRow',
568
+ };
569
+ }, { ...(ngDevMode ? { debugName: "#rowSelection" } : /* istanbul ignore next */ {}), equal: (a, b) => a.mode === b.mode });
570
+ // Update specific grid options after the grid has been loaded. Every
571
+ // effect tracks `gridApi`: a value backed by an async resource (e.g.
572
+ // Angular's `resource()`) can settle to its final value before
573
+ // `ngAfterViewInit` even creates the grid. With `gridApi` read untracked,
574
+ // that value would be silently dropped - this effect's *other*
575
+ // dependency never changes again to trigger a re-run, so the grid would
576
+ // be stuck showing its pre-load, initial state forever. Tracking
577
+ // `gridApi` means an effect can also re-run immediately once the grid is
578
+ // created, re-applying its value even when nothing "real" changed; see
579
+ // `#rowSelection()` for a case where that re-apply needed a fix of its
580
+ // own to stay equivalent to the grid's initial options.
497
581
  effect(() => {
498
- const api = untracked(() => this.gridApi());
582
+ const api = this.gridApi();
499
583
  const columnDefs = this.#columnDefs();
500
584
  api?.setGridOption('columnDefs', columnDefs);
501
585
  });
502
586
  effect(() => {
503
- const api = untracked(() => this.gridApi());
587
+ const api = this.gridApi();
504
588
  const isLoading = this.loading() || !Array.isArray(this.data());
505
589
  api?.setGridOption('loading', isLoading);
506
590
  });
507
591
  effect(() => {
508
- const api = untracked(() => this.gridApi());
592
+ const api = this.gridApi();
509
593
  const { pagination, paginationPageSize } = this.#paginationOptions();
510
594
  api?.setGridOption('pagination', pagination);
511
595
  api?.setGridOption('paginationPageSize', paginationPageSize);
512
596
  });
513
597
  effect(() => {
514
- const api = untracked(() => this.gridApi());
598
+ const api = this.gridApi();
515
599
  const rowData = this.rowData();
516
600
  api?.setGridOption('rowData', rowData);
517
601
  });
518
602
  effect(() => {
519
- const api = untracked(() => this.gridApi());
520
- const rowSelection = this.#getRowSelection();
603
+ const api = this.gridApi();
604
+ const rowSelection = this.#rowSelection();
521
605
  api?.setGridOption('rowSelection', rowSelection);
522
606
  });
523
607
  // Apply inputs once the grid is loaded and on subsequent changes.
@@ -646,6 +730,24 @@ class SkyDataGrid {
646
730
  this.#gridDestroyed.pipe(takeUntilDestroyed()).subscribe(() => {
647
731
  this.gridApi.set(undefined);
648
732
  this.gridReady.set(false);
733
+ this.#changeDetector.markForCheck();
734
+ });
735
+ // AG Grid reads `localeText` only when a grid is created, so the only way
736
+ // to pick up a new locale is to destroy the grid and build a new one from
737
+ // fresh options. The grid is blanked for a tick to do that, which briefly
738
+ // shows the wait indicator. Nothing to do when no options have been built
739
+ // yet: the pending grid will be created with the new locale already
740
+ // applied. This checks the options rather than `gridApi` because AG Grid
741
+ // reports the API asynchronously, leaving a window where the grid is on
742
+ // its way up with the old locale baked in.
743
+ this.#localeChange.pipe(takeUntilDestroyed()).subscribe(() => {
744
+ if (!this.gridOptions()) {
745
+ return;
746
+ }
747
+ this.#recreatingGrid.set(true);
748
+ setTimeout(() => {
749
+ this.#recreatingGrid.set(false);
750
+ });
649
751
  });
650
752
  // Emit updates from the grid.
651
753
  this.#gridSelectedRowIds
@@ -815,20 +917,10 @@ class SkyDataGrid {
815
917
  scaleUpToFitGridWidth: this.columnFit() === 'container',
816
918
  };
817
919
  }
818
- #getRowSelection() {
819
- return this.multiselect()
820
- ? {
821
- checkboxes: true,
822
- checkboxLocation: 'selectionColumn',
823
- headerCheckbox: true,
824
- mode: 'multiRow',
825
- }
826
- : { checkboxes: false, mode: 'singleRow' };
827
- }
828
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkyDataGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
829
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: SkyDataGrid, isStandalone: true, selector: "sky-data-grid", inputs: { autoSort: { classPropertyName: "autoSort", publicName: "autoSort", isSignal: true, isRequired: false, transformFunction: null }, autoPage: { classPropertyName: "autoPage", publicName: "autoPage", isSignal: true, isRequired: false, transformFunction: null }, columnFit: { classPropertyName: "columnFit", publicName: "columnFit", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, labelText: { classPropertyName: "labelText", publicName: "labelText", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, multiselect: { classPropertyName: "multiselect", publicName: "multiselect", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, pageQueryParam: { classPropertyName: "pageQueryParam", publicName: "pageQueryParam", isSignal: true, isRequired: false, transformFunction: null }, rowCount: { classPropertyName: "rowCount", publicName: "rowCount", isSignal: true, isRequired: false, transformFunction: null }, stacked: { classPropertyName: "stacked", publicName: "stacked", isSignal: true, isRequired: false, transformFunction: null }, topScrollEnabled: { classPropertyName: "topScrollEnabled", publicName: "topScrollEnabled", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, selectedRowIds: { classPropertyName: "selectedRowIds", publicName: "selectedRowIds", isSignal: true, isRequired: false, transformFunction: null }, sort: { classPropertyName: "sort", publicName: "sort", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { page: "pageChange", selectedRowIds: "selectedRowIdsChange", sort: "sortChange" }, host: { properties: { "class.sky-margin-stacked-lg": "stacked()" } }, queries: [{ propertyName: "columns", predicate: SkyDataGridColumn, isSignal: true }], ngImport: i0, template: "<sky-wait [isWaiting]=\"!gridReady()\" />\n@if (gridOptions(); as gridOptions) {\n <sky-ag-grid-wrapper [compact]=\"compact()\" [minHeight]=\"minHeight()\">\n <ag-grid-angular\n skyViewkeeperOmitShadow=\".ag-body-horizontal-scroll\"\n [skyViewkeeper]=\"skyViewkeeper()\"\n [gridOptions]=\"gridOptions\"\n />\n </sky-ag-grid-wrapper>\n\n @if (pageCount() && pageSize(); as pageSize) {\n <sky-paging\n [currentPage]=\"page()\"\n [itemCount]=\"pageItemsCount()\"\n [pageSize]=\"pageSize\"\n (currentPageChange)=\"currentPageChange($event)\"\n />\n }\n}\n", styles: [":host{display:block;max-width:100%}\n"], dependencies: [{ kind: "component", type: AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipSwitchShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "enableStrictPivotColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "hidePaddedHeaderRows", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressMoveWhenColumnDragging", "suppressDragLeaveHidesColumns", "suppressGroupChangesColumnVisibility", "suppressMakeColumnVisibleAfterUnGroup", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "animateColumnResizing", "components", "editType", "suppressStartEditOnTab", "getFullRowEditValidationErrors", "invalidEditValueMode", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "findSearchValue", "findOptions", "quickFilterText", "cacheQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "alwaysPassFilter", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "advancedFilterParams", "suppressAdvancedFilterEval", "suppressSetFilterByDefault", "enableFilterHandlers", "filterHandlers", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressTouch", "suppressFocusAfterRefresh", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "loading", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "suppressOverlays", "overlayComponent", "overlayComponentParams", "overlayComponentSelector", "activeOverlay", "activeOverlayParams", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "formulaDataSource", "formulaFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "cellFlashDuration", "cellFadeDuration", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableCellSpan", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "refreshAfterGroupEdit", "rowDragInsertDelay", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "dragAndDropImageComponent", "dragAndDropImageComponentParams", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupHideParentOfSingleChild", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "treeData", "treeDataChildrenField", "treeDataParentIdField", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "groupHierarchyConfig", "pinnedTopRowData", "pinnedBottomRowData", "enableRowPinning", "isRowPinnable", "isRowPinned", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "cellSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "selectionColumnDef", "rowNumbers", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "enableGroupEdit", "initialState", "theme", "loadThemeGoogleFonts", "themeCssLayer", "styleNonce", "themeStyleContainer", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "focusGridInnerElement", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "ssrmExpandAllAffectsAllRows", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow", "isRowValidDropPosition"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnsReset", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "bulkEditingStarted", "bulkEditingStopped", "batchEditingStarted", "batchEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "cellSelectionDeleteStart", "cellSelectionDeleteEnd", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "filterUiChanged", "floatingFilterUiChanged", "advancedFilterBuilderVisibleChanged", "findChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "dragCancelled", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "rowDragCancel", "rowResizeStarted", "rowResizeEnded", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "pinnedRowsChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "headerFocused", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "cellSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged"] }, { kind: "ngmodule", type: SkyAgGridModule }, { kind: "component", type: i1$1.λ12, selector: "sky-ag-grid-wrapper", inputs: ["compact", "minHeight"] }, { kind: "ngmodule", type: SkyPagingModule }, { kind: "component", type: i2.λ7, selector: "sky-paging", inputs: ["currentPage", "itemCount", "maxPages", "pageSize", "pagingLabel"], outputs: ["currentPageChange", "contentChange"] }, { kind: "ngmodule", type: SkyViewkeeperModule }, { kind: "directive", type: i3.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper", "skyViewkeeperOmitShadow"] }, { kind: "ngmodule", type: SkyWaitModule }, { kind: "component", type: i4.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
920
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SkyDataGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
921
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: SkyDataGrid, isStandalone: true, selector: "sky-data-grid", inputs: { autoSort: { classPropertyName: "autoSort", publicName: "autoSort", isSignal: true, isRequired: false, transformFunction: null }, autoPage: { classPropertyName: "autoPage", publicName: "autoPage", isSignal: true, isRequired: false, transformFunction: null }, columnFit: { classPropertyName: "columnFit", publicName: "columnFit", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, labelText: { classPropertyName: "labelText", publicName: "labelText", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, multiselect: { classPropertyName: "multiselect", publicName: "multiselect", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, pageQueryParam: { classPropertyName: "pageQueryParam", publicName: "pageQueryParam", isSignal: true, isRequired: false, transformFunction: null }, rowCount: { classPropertyName: "rowCount", publicName: "rowCount", isSignal: true, isRequired: false, transformFunction: null }, stacked: { classPropertyName: "stacked", publicName: "stacked", isSignal: true, isRequired: false, transformFunction: null }, topScrollEnabled: { classPropertyName: "topScrollEnabled", publicName: "topScrollEnabled", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, selectedRowIds: { classPropertyName: "selectedRowIds", publicName: "selectedRowIds", isSignal: true, isRequired: false, transformFunction: null }, sort: { classPropertyName: "sort", publicName: "sort", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { page: "pageChange", selectedRowIds: "selectedRowIdsChange", sort: "sortChange" }, host: { properties: { "class.sky-margin-stacked-lg": "stacked()" } }, queries: [{ propertyName: "columns", predicate: SkyDataGridColumn, isSignal: true }], ngImport: i0, template: "<sky-wait [isWaiting]=\"!gridReady()\" />\n@if (gridOptions(); as gridOptions) {\n <sky-ag-grid-wrapper [compact]=\"compact()\" [minHeight]=\"minHeight()\">\n <ag-grid-angular\n skyViewkeeperOmitShadow=\".ag-body-horizontal-scroll\"\n [skyViewkeeper]=\"skyViewkeeper()\"\n [gridOptions]=\"gridOptions\"\n />\n </sky-ag-grid-wrapper>\n\n @if (pageCount() && pageSize(); as pageSize) {\n <sky-paging\n [currentPage]=\"page()\"\n [itemCount]=\"pageItemsCount()\"\n [pageSize]=\"pageSize\"\n (currentPageChange)=\"currentPageChange($event)\"\n />\n }\n}\n", styles: [":host{display:block;max-width:100%}\n"], dependencies: [{ kind: "component", type: AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "toolbar", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipSwitchShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "calculatedColumns", "columnHeaderEdit", "maintainColumnOrder", "enableStrictPivotColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "hidePaddedHeaderRows", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressMoveWhenColumnDragging", "suppressDragLeaveHidesColumns", "suppressGroupChangesColumnVisibility", "suppressMakeColumnVisibleAfterUnGroup", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "animateColumnResizing", "components", "editType", "suppressStartEditOnTab", "getFullRowEditValidationErrors", "invalidEditValueMode", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "findSearchValue", "findOptions", "quickFilterText", "cacheQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "alwaysPassFilter", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "advancedFilterParams", "suppressAdvancedFilterEval", "suppressSetFilterByDefault", "enableFilterHandlers", "filterHandlers", "enableCharts", "includeHiddenColumnsInCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressTouch", "suppressFocusAfterRefresh", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "loading", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "suppressOverlays", "overlayComponent", "overlayComponentParams", "overlayComponentSelector", "activeOverlay", "activeOverlayParams", "processFileInput", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "paginationPanels", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "formulaDataSource", "notesDataSource", "noteTrigger", "noteShowDelay", "noteHideDelay", "formulaFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "cellFlashDuration", "cellFadeDuration", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableCellSpan", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "refreshAfterGroupEdit", "rowDragInsertDelay", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "dragAndDropImageComponent", "dragAndDropImageComponentParams", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "masterDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupHideParentOfSingleChild", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupHideColumnsUntilExpanded", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "treeData", "treeDataChildrenField", "treeDataParentIdField", "rowGroupPanelSuppressSort", "pivotPanelSuppressSort", "suppressGroupRowsSticky", "groupHierarchyConfig", "pinnedTopRowData", "pinnedBottomRowData", "enableRowPinning", "isRowPinnable", "isRowPinned", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "cellSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "selectionColumnDef", "rowNumbers", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "suppressContentVisibilityAuto", "enableContentVisibilityAuto", "contentVisibilityAutoDelay", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "enableGroupEdit", "initialState", "theme", "loadThemeGoogleFonts", "themeCssLayer", "styleNonce", "themeStyleContainer", "getContextMenuItems", "getMainMenuItems", "getColumnMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "focusGridInnerElement", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "tabToNextGridContainer", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "isMasterOpenByDefault", "ssrmExpandAllAffectsAllRows", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "autoGenerateColumnDefs", "processAutoGeneratedColumnDefs", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow", "isRowValidDropPosition"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "calculatedColumnCreated", "calculatedColumnExpressionChanged", "calculatedColumnRemoved", "calculatedColumnValidationStateChanged", "columnVisible", "columnPinned", "columnHeaderNameChanged", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnsReset", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "bulkEditingStarted", "bulkEditingStopped", "batchEditingStarted", "batchEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "cellSelectionDeleteStart", "cellSelectionDeleteEnd", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "filterUiChanged", "floatingFilterUiChanged", "advancedFilterBuilderVisibleChanged", "findChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "dragCancelled", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "rowDragCancel", "rowResizeStarted", "rowResizeEnded", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "pinnedRowsChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "headerFocused", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "cellSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged"] }, { kind: "ngmodule", type: SkyAgGridModule }, { kind: "component", type: i1$1.λ12, selector: "sky-ag-grid-wrapper", inputs: ["compact", "minHeight"] }, { kind: "ngmodule", type: SkyPagingModule }, { kind: "component", type: i2.λ7, selector: "sky-paging", inputs: ["currentPage", "itemCount", "maxPages", "pageSize", "pagingLabel"], outputs: ["currentPageChange", "contentChange"] }, { kind: "ngmodule", type: SkyViewkeeperModule }, { kind: "directive", type: i3.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper", "skyViewkeeperOmitShadow"] }, { kind: "ngmodule", type: SkyWaitModule }, { kind: "component", type: i4.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
830
922
  }
831
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkyDataGrid, decorators: [{
923
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SkyDataGrid, decorators: [{
832
924
  type: Component,
833
925
  args: [{ selector: 'sky-data-grid', imports: [
834
926
  AgGridAngular,