@genesislcap/grid-pro 15.24.1 → 15.25.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.
- package/dist/custom-elements.json +8 -9
- package/dist/dts/datasource/infinite.datasource.d.ts +5 -4
- package/dist/dts/datasource/infinite.datasource.d.ts.map +1 -1
- package/dist/dts/datasource/server-side.datasource.d.ts +0 -1
- package/dist/dts/datasource/server-side.datasource.d.ts.map +1 -1
- package/dist/dts/react.d.ts +2 -0
- package/dist/esm/datasource/infinite.datasource.js +22 -21
- package/dist/esm/datasource/server-side.datasource.js +5 -57
- package/dist/grid-pro.api.json +1 -1
- package/dist/grid-pro.d.ts +5 -5
- package/dist/react.cjs +11 -1
- package/dist/react.mjs +11 -1
- package/package.json +13 -13
|
@@ -14151,6 +14151,14 @@
|
|
|
14151
14151
|
"description": "Fired to request an infinite row model refresh; `purge` drops the block cache and re-reads. detail: `RefreshInfiniteCacheEventDetail`",
|
|
14152
14152
|
"name": "refresh-infinite-cache"
|
|
14153
14153
|
},
|
|
14154
|
+
{
|
|
14155
|
+
"description": "Fired to add a CSS class on the grid host (hover sort indicators). detail: `GridCssClassEventDetail`",
|
|
14156
|
+
"name": "add-grid-css-class"
|
|
14157
|
+
},
|
|
14158
|
+
{
|
|
14159
|
+
"description": "Fired to remove that CSS class from the grid host. detail: `GridCssClassEventDetail`",
|
|
14160
|
+
"name": "remove-grid-css-class"
|
|
14161
|
+
},
|
|
14154
14162
|
{
|
|
14155
14163
|
"description": "Fired to persist filter configuration for the grid",
|
|
14156
14164
|
"name": "cache-filter-config"
|
|
@@ -15187,15 +15195,6 @@
|
|
|
15187
15195
|
},
|
|
15188
15196
|
"privacy": "private"
|
|
15189
15197
|
},
|
|
15190
|
-
{
|
|
15191
|
-
"kind": "field",
|
|
15192
|
-
"name": "sortIndicatorCSSDestroy",
|
|
15193
|
-
"type": {
|
|
15194
|
-
"text": "(() => void) | null"
|
|
15195
|
-
},
|
|
15196
|
-
"privacy": "private",
|
|
15197
|
-
"default": "null"
|
|
15198
|
-
},
|
|
15199
15198
|
{
|
|
15200
15199
|
"kind": "method",
|
|
15201
15200
|
"name": "resourceNameChanged",
|
|
@@ -382,10 +382,9 @@ declare const GridProInfiniteDatasource_base: (new (...args: any[]) => {
|
|
|
382
382
|
* is a write made through this session: a commit ACK for an event listed in `pollTriggerEvents`
|
|
383
383
|
* re-reads the loaded blocks, so entity-management CRUD is reflected immediately.
|
|
384
384
|
*
|
|
385
|
-
*
|
|
386
|
-
*
|
|
387
|
-
*
|
|
388
|
-
* element itself instead.
|
|
385
|
+
* Like the other datasources, consumer options passed as `deferredGridOptions` (including via
|
|
386
|
+
* entity-management's `gridOptions` with `datasource-type="infinite"`) are merged over this
|
|
387
|
+
* element's defaults in `init()`.
|
|
389
388
|
*
|
|
390
389
|
* Use this instead of Server-Side Row Model when you don't need Enterprise features
|
|
391
390
|
* like row grouping, aggregation, or pivoting.
|
|
@@ -401,6 +400,8 @@ declare const GridProInfiniteDatasource_base: (new (...args: any[]) => {
|
|
|
401
400
|
* @fires datasource-schema-updated - Fired when column metadata or defs are updated. detail: `SchemaUpdatedEventDetail`
|
|
402
401
|
* @fires set-infinite-datasource - Fired to attach or clear the infinite row model datasource. detail: `SetInfiniteDatasourceEventDetail`
|
|
403
402
|
* @fires refresh-infinite-cache - Fired to request an infinite row model refresh; `purge` drops the block cache and re-reads. detail: `RefreshInfiniteCacheEventDetail`
|
|
403
|
+
* @fires add-grid-css-class - Fired to add a CSS class on the grid host (hover sort indicators). detail: `GridCssClassEventDetail`
|
|
404
|
+
* @fires remove-grid-css-class - Fired to remove that CSS class from the grid host. detail: `GridCssClassEventDetail`
|
|
404
405
|
* @fires cache-filter-config - Fired to persist filter configuration for the grid
|
|
405
406
|
* @fires datasource-data-cleared - Fired when infinite row data is cleared. detail: `DataClearedEventDetail`
|
|
406
407
|
* @fires datasource-filters-restored - Fired when persisted filters are reapplied
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infinite.datasource.d.ts","sourceRoot":"","sources":["../../../src/datasource/infinite.datasource.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,aAAa,EACb,UAAU,EAOX,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"infinite.datasource.d.ts","sourceRoot":"","sources":["../../../src/datasource/infinite.datasource.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,aAAa,EACb,UAAU,EAOX,MAAM,+BAA+B,CAAC;AAcvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;;;;;;;;kBA2CvB,CAAC;;;;;;;;8BA8ChC,CAAC,cAGC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAwB8E,CAAC;4IAGvE,CAAC;wFAKP,CAAC;+IAMM,CAAC;2FAKf,CAAD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA8BK,CAAD;;;;;;;;;;;;;;;;;;;;;;;mBA2D+B,CAAC;;;;;;;;;;;;;6BAaf,CAAC;8BAEf,CAAD;kBACM,CAAC;;oBAEC,CAAC;;sBAEW,CAAC;oBAEnB,CAAC;;;;;;;;gDAYiF,CAAC;;;;;;;;;;;;;;;;;;uBAkB1E,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAsG6C,CAAC;yBACR,CAAC;UAC1C,GAAG;WAAgD,GAAG;;gBACjB,GAAE;;;;;;;WAQV,GAAG;YACzC,GAAE;;;;;;;;;;;oBA2BkC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMu1N,CAAC;cAA6F,CAAC;eAA8F,CAAC;gBAA+F,CAAC;;;;;;;;;;;;;;SAAulC,CAAC;;;iBAA+E,CAAC;;AA9Z30Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBAGa,yBAA0B,SAAQ,8BAAqC;IACzE,OAAO,EAAG,OAAO,CAAC;IACZ,aAAa,EAAG,aAAa,CAAC;IACjC,UAAU,EAAG,UAAU,CAAC;IAExB,OAAO,EAAE,GAAG,CAAM;IAE9B,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,kBAAkB,CAA4B;IAEtD,sFAAsF;IACtF,OAAO,CAAC,yBAAyB,CAAC,CAAa;IAE/C,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAOtD,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAWxD,iBAAiB;IAUjB,oBAAoB;IAUX,SAAS,IAAI,IAAI;IAO1B;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBnC,IAAI;IAqDV,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IAI1B,gBAAgB;IAChB,OAAO,CAAC,iBAAiB,CA4EvB;IAEa,OAAO;IAsBP,OAAO;IAKtB,OAAO,CAAC,YAAY;IAapB;;;;;;;OAOG;IACH,OAAO,CAAC,2BAA2B;IAkBnC,qEAAqE;IACrE,OAAO,CAAC,8BAA8B;IAKtC;;;;OAIG;YACW,cAAc;IAO5B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;YAchB,eAAe;IAsCpB,QAAQ;CAMlB"}
|
|
@@ -414,7 +414,6 @@ export declare class GridProServerSideDatasource extends GridProServerSideDataso
|
|
|
414
414
|
private indexes;
|
|
415
415
|
private ssrmDatasource;
|
|
416
416
|
private liveUpdatesStream;
|
|
417
|
-
private sortIndicatorCSSDestroy;
|
|
418
417
|
resourceNameChanged(oldValue: string, newValue: string): void;
|
|
419
418
|
criteriaChanged(oldCriteria: string, newCriteria: string): void;
|
|
420
419
|
connectedCallback(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-side.datasource.d.ts","sourceRoot":"","sources":["../../../src/datasource/server-side.datasource.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,UAAU,EACV,iBAAiB,EAWlB,MAAM,+BAA+B,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"server-side.datasource.d.ts","sourceRoot":"","sources":["../../../src/datasource/server-side.datasource.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,UAAU,EACV,iBAAiB,EAWlB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,cAAc,EAAkB,MAAM,+BAA+B,CAAC;AAY/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;;;;;;;;kBAqC9B,CAAC;;;;;;;;8BAmCM,CAAC,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAkCW,CAAC;4IAMR,CAAC;wFAGT,CAAC;+IAMG,CAAC;2FAIhC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAsByB,CAAC;;;;;;;;;;;;;;;;;;;;;;;mBA+DlC,CAAC;;;;;;;;;;;;;6BAsB+C,CAAC;8BAIrD,CAAC;kBAEK,CAAC;;oBAEV,CAAH;;sBAK6C,CAAC;oBAGtC,CAAC;;;;;;;;gDAc+B,CAAC;;;;;;;;;;;;;;;;;;uBAqBK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAiGM,CAAC;yBACb,CAAC;UACxC,GAAG;WAAgD,GAAG;;gBAClB,GAAE;;;;;;;WAMxC,GAAA;YAE4B,GAAG;;;;;;;;;;;oBAgCf,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyMlB,CAAH;cAEc,CAAC;eAC+B,CAAC;gBAIN,CAAC;;;;;;;;;;;;;;SAyBkB,CAAC;;;iBACR,CAAC;;AAtoBvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAGa,2BAA4B,SAAQ,gCAAqC;IACpE,UAAU,EAAG,cAAc,CAAC;IAChC,iBAAiB,EAAG,UAAU,CAAC;IAC3C;;;OAGG;IACmD,WAAW,UAAS;IAE9D,OAAO,EAAE,GAAG,CAAM;IAE9B,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,cAAc,CAA8D;IACpF,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAOtD,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAaxD,iBAAiB;IAUjB,oBAAoB;IAUX,SAAS,IAAI,IAAI;IAO1B;;;;OAIG;IACG,kBAAkB,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwDnE;;;OAGG;IACH,OAAO,CAAC,mCAAmC;IAU3C;;;OAGG;IACH,OAAO,CAAC,oCAAoC;IAMtC,IAAI;IAiDV,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,iBAAiB,CAiFvB;IAEa,OAAO;IAsBP,OAAO;IAKtB,OAAO,CAAC,YAAY;IAmBpB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,0BAA0B;IAYlC;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;YAKpB,mBAAmB;IAKjC;;;;;;;;;;;;OAYG;YACW,kBAAkB;IA+BhC;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB,CAA+B;IAEzD;;;;;;;;;OASG;IACH,OAAO,CAAC,0BAA0B,CAAS;IAE3C;;;;;;OAMG;IACI,uBAAuB;IAM9B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,wBAAwB;IAsEhC,OAAO,CAAC,yBAAyB;YAyCnB,sBAAsB;YA2DtB,eAAe;IAmBpB,QAAQ;CAGlB"}
|
package/dist/dts/react.d.ts
CHANGED
|
@@ -255,6 +255,8 @@ export declare const GridProInfiniteDatasource: React.ForwardRefExoticComponent<
|
|
|
255
255
|
onDatasourceSchemaUpdated?: (event: CustomEvent<SchemaUpdatedEventDetail>) => void;
|
|
256
256
|
onSetInfiniteDatasource?: (event: CustomEvent<SetInfiniteDatasourceEventDetail>) => void;
|
|
257
257
|
onRefreshInfiniteCache?: (event: CustomEvent<RefreshInfiniteCacheEventDetail>) => void;
|
|
258
|
+
onAddGridCssClass?: (event: CustomEvent<GridCssClassEventDetail>) => void;
|
|
259
|
+
onRemoveGridCssClass?: (event: CustomEvent<GridCssClassEventDetail>) => void;
|
|
258
260
|
onCacheFilterConfig?: (event: CustomEvent<unknown>) => void;
|
|
259
261
|
onDatasourceDataCleared?: (event: CustomEvent<DataClearedEventDetail>) => void;
|
|
260
262
|
onDatasourceFiltersRestored?: (event: CustomEvent<unknown>) => void;
|
|
@@ -24,10 +24,9 @@ const criteriaDelimiter = ';';
|
|
|
24
24
|
* is a write made through this session: a commit ACK for an event listed in `pollTriggerEvents`
|
|
25
25
|
* re-reads the loaded blocks, so entity-management CRUD is reflected immediately.
|
|
26
26
|
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* element itself instead.
|
|
27
|
+
* Like the other datasources, consumer options passed as `deferredGridOptions` (including via
|
|
28
|
+
* entity-management's `gridOptions` with `datasource-type="infinite"`) are merged over this
|
|
29
|
+
* element's defaults in `init()`.
|
|
31
30
|
*
|
|
32
31
|
* Use this instead of Server-Side Row Model when you don't need Enterprise features
|
|
33
32
|
* like row grouping, aggregation, or pivoting.
|
|
@@ -43,6 +42,8 @@ const criteriaDelimiter = ';';
|
|
|
43
42
|
* @fires datasource-schema-updated - Fired when column metadata or defs are updated. detail: `SchemaUpdatedEventDetail`
|
|
44
43
|
* @fires set-infinite-datasource - Fired to attach or clear the infinite row model datasource. detail: `SetInfiniteDatasourceEventDetail`
|
|
45
44
|
* @fires refresh-infinite-cache - Fired to request an infinite row model refresh; `purge` drops the block cache and re-reads. detail: `RefreshInfiniteCacheEventDetail`
|
|
45
|
+
* @fires add-grid-css-class - Fired to add a CSS class on the grid host (hover sort indicators). detail: `GridCssClassEventDetail`
|
|
46
|
+
* @fires remove-grid-css-class - Fired to remove that CSS class from the grid host. detail: `GridCssClassEventDetail`
|
|
46
47
|
* @fires cache-filter-config - Fired to persist filter configuration for the grid
|
|
47
48
|
* @fires datasource-data-cleared - Fired when infinite row data is cleared. detail: `DataClearedEventDetail`
|
|
48
49
|
* @fires datasource-filters-restored - Fired when persisted filters are reapplied
|
|
@@ -107,6 +108,11 @@ let GridProInfiniteDatasource = class GridProInfiniteDatasource extends Lifecycl
|
|
|
107
108
|
// REQUEST_SERVER is read on demand, but a write committed through this session should not
|
|
108
109
|
// wait for the user to scroll or reload:
|
|
109
110
|
this.setupCommitTriggeredRefresh();
|
|
111
|
+
// Mark the grid host so its stylesheet can hover-gate the sort indicators for this row
|
|
112
|
+
// model (the `.grid-pro-infinite` rules in the grid-pro styles).
|
|
113
|
+
this.$emit(datasourceEventNames.addGridCssClass, {
|
|
114
|
+
className: 'grid-pro-infinite',
|
|
115
|
+
});
|
|
110
116
|
// Emit event to restore cached filter config
|
|
111
117
|
this.$emit(datasourceEventNames.filtersRestored);
|
|
112
118
|
});
|
|
@@ -148,6 +154,7 @@ let GridProInfiniteDatasource = class GridProInfiniteDatasource extends Lifecycl
|
|
|
148
154
|
}
|
|
149
155
|
deepClone() {
|
|
150
156
|
const copy = super.deepClone();
|
|
157
|
+
copy.deferredGridOptions = structuredClone(this.deferredGridOptions);
|
|
151
158
|
copy.deferredColumnStates = structuredClone(this.deferredColumnStates);
|
|
152
159
|
return copy;
|
|
153
160
|
}
|
|
@@ -179,34 +186,25 @@ let GridProInfiniteDatasource = class GridProInfiniteDatasource extends Lifecycl
|
|
|
179
186
|
init() {
|
|
180
187
|
return __awaiter(this, void 0, void 0, function* () {
|
|
181
188
|
// Emit event to initialize grid with infinite row model options
|
|
182
|
-
const gridOptions = {
|
|
183
|
-
getRowId: (params) => {
|
|
189
|
+
const gridOptions = Object.assign({ getRowId: (params) => {
|
|
184
190
|
if (!params.data) {
|
|
185
191
|
return null;
|
|
186
192
|
}
|
|
187
193
|
return String(params.data[this.rowId]);
|
|
188
|
-
},
|
|
189
|
-
cacheBlockSize: this.maxRows,
|
|
190
|
-
defaultColDef: {
|
|
194
|
+
}, cacheBlockSize: this.maxRows, defaultColDef: {
|
|
191
195
|
filter: true,
|
|
192
196
|
resizable: true,
|
|
193
|
-
//
|
|
194
|
-
// columns
|
|
195
|
-
//
|
|
197
|
+
// sortable per column via getAgColumnDefs. unSortIcon renders the inactive sort icon on
|
|
198
|
+
// sortable columns; the .grid-pro-infinite stylesheet keeps it hidden until hover so it
|
|
199
|
+
// is a discoverable affordance rather than permanent noise (see infiniteSortIndicatorCSS).
|
|
196
200
|
sortable: false,
|
|
197
201
|
unSortIcon: true,
|
|
198
|
-
},
|
|
199
|
-
rowBuffer: 0,
|
|
200
|
-
rowModelType: 'infinite',
|
|
202
|
+
}, rowBuffer: 0, rowModelType: 'infinite',
|
|
201
203
|
// convertSortModelToOrderBy reads only sortModel[0], so a multi-sort's extra columns
|
|
202
204
|
// would paint indicators whose direction is silently discarded.
|
|
203
|
-
suppressMultiSort: true,
|
|
205
|
+
suppressMultiSort: true,
|
|
204
206
|
// Infinite Row Model specific options
|
|
205
|
-
cacheOverflowSize: 2,
|
|
206
|
-
maxConcurrentDatasourceRequests: 1,
|
|
207
|
-
infiniteInitialRowCount: 1,
|
|
208
|
-
maxBlocksInCache: 10,
|
|
209
|
-
};
|
|
207
|
+
cacheOverflowSize: 2, maxConcurrentDatasourceRequests: 1, infiniteInitialRowCount: 1, maxBlocksInCache: 10 }, this.deferredGridOptions);
|
|
210
208
|
this.$emit(datasourceEventNames.initialize, {
|
|
211
209
|
options: gridOptions,
|
|
212
210
|
keepColDefsOnClearRowData: this.keepColDefsOnClearRowData,
|
|
@@ -233,6 +231,9 @@ let GridProInfiniteDatasource = class GridProInfiniteDatasource extends Lifecycl
|
|
|
233
231
|
// A ready event arriving after teardown must not re-run the initialization.
|
|
234
232
|
this.clearReadyListener();
|
|
235
233
|
this.teardownCommitTriggeredRefresh();
|
|
234
|
+
this.$emit(datasourceEventNames.removeGridCssClass, {
|
|
235
|
+
className: 'grid-pro-infinite',
|
|
236
|
+
});
|
|
236
237
|
this.datasource.destroy();
|
|
237
238
|
this.clearRowData();
|
|
238
239
|
if (this.infiniteDatasource) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __awaiter, __decorate } from "tslib";
|
|
2
2
|
import { dataServerResultFilter, Datasource, MessageType, normaliseCriteria, toFieldMetadata, } from '@genesislcap/foundation-comms';
|
|
3
|
-
import {
|
|
3
|
+
import { JSONSerializer, LifecycleMixin } from '@genesislcap/foundation-utils';
|
|
4
4
|
import { attr, customElement, DOM, observable } from '@microsoft/fast-element';
|
|
5
5
|
import { gridProGenesisDatasourceEventNames } from '../grid-pro-genesis-datasource';
|
|
6
6
|
import { datasourceEventNames, } from '../grid-pro-genesis-datasource/datasource-events.types';
|
|
@@ -11,50 +11,6 @@ import { DataserverServerSideDatasource } from './server-side.resource-dataserve
|
|
|
11
11
|
import { ReqRepServerSideDatasource } from './server-side.resource-reqrep';
|
|
12
12
|
const criteriaDelimiter = ';';
|
|
13
13
|
const withoutColumnDefs = null;
|
|
14
|
-
/**
|
|
15
|
-
* Custom CSS for server-side datasource sort indicators
|
|
16
|
-
* Makes sort indicators always visible with custom styling
|
|
17
|
-
*/
|
|
18
|
-
const serverSideSortIndicatorCSS = `
|
|
19
|
-
.grid-pro-server-side .ag-header-cell-sortable .ag-sort-indicator-container {
|
|
20
|
-
opacity: 1 !important;
|
|
21
|
-
visibility: visible !important;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.grid-pro-server-side .ag-header-cell-sortable:not(.ag-header-cell-sorted) .ag-sort-indicator-container {
|
|
25
|
-
opacity: 0.4 !important;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.grid-pro-server-side .ag-header-cell-sorted .ag-sort-indicator-container {
|
|
29
|
-
opacity: 1 !important;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.grid-pro-server-side .ag-sort-ascending-icon::before,
|
|
33
|
-
.grid-pro-server-side .ag-sort-descending-icon::before,
|
|
34
|
-
.grid-pro-server-side .ag-header-cell-sortable:not(.ag-header-cell-sorted) .ag-sort-indicator-icon::before {
|
|
35
|
-
font-family: var(--ag-icon-font-family, agGridAlpine) !important;
|
|
36
|
-
font-size: var(--ag-icon-size, 16px) !important;
|
|
37
|
-
color: var(--ag-header-foreground-color, var(--ag-foreground-color)) !important;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.grid-pro-server-side .ag-sort-ascending-icon::before {
|
|
41
|
-
content: "\\e90d" !important; /* AG Grid sort up icon */
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.grid-pro-server-side .ag-sort-descending-icon::before {
|
|
45
|
-
content: "\\e90c" !important; /* AG Grid sort down icon */
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.grid-pro-server-side .ag-header-cell-sortable:not(.ag-header-cell-sorted) .ag-sort-indicator-icon::before {
|
|
49
|
-
content: "\\e90b" !important; /* AG Grid sort icon */
|
|
50
|
-
opacity: 0.6 !important;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/* Ensure the sort indicator is always visible for sortable columns in server-side mode */
|
|
54
|
-
.grid-pro-server-side .ag-header-cell-sortable .ag-sort-indicator-icon {
|
|
55
|
-
display: inline-block !important;
|
|
56
|
-
}
|
|
57
|
-
`;
|
|
58
14
|
/**
|
|
59
15
|
* A Genesis Datasource element, for server-side | SSRM-compatible data fetching and used exclusively by the GridPro element.
|
|
60
16
|
* @remarks Only supports Server-Side Row Model. Requires `@ag-grid-enterprise/server-side-row-model` setup and valid AG Grid Enterprise license.
|
|
@@ -98,7 +54,6 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
|
|
|
98
54
|
*/
|
|
99
55
|
this.liveUpdates = false;
|
|
100
56
|
this.request = {};
|
|
101
|
-
this.sortIndicatorCSSDestroy = null;
|
|
102
57
|
this.onDatasourceReady = (_event) => __awaiter(this, void 0, void 0, function* () {
|
|
103
58
|
const initOK = yield this.initializeDatasource(this.datasourceOptions(), true, false);
|
|
104
59
|
if (!initOK) {
|
|
@@ -293,29 +248,22 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
|
|
|
293
248
|
* @internal
|
|
294
249
|
*/
|
|
295
250
|
applyServerSideSortIndicatorStyling() {
|
|
296
|
-
//
|
|
297
|
-
|
|
298
|
-
//
|
|
251
|
+
// Mark the grid host so its stylesheet can hover-gate the sort indicators for this row model
|
|
252
|
+
// (the `.grid-pro-server-side` rules in the grid-pro styles). The styling must live in the
|
|
253
|
+
// grid's shadow root, where the AG header cells render - a document stylesheet cannot reach
|
|
254
|
+
// them.
|
|
299
255
|
this.$emit(datasourceEventNames.addGridCssClass, {
|
|
300
256
|
className: 'grid-pro-server-side',
|
|
301
257
|
});
|
|
302
|
-
// Insert custom CSS rules
|
|
303
|
-
this.sortIndicatorCSSDestroy = insertDocumentCSSRule(serverSideSortIndicatorCSS, 'grid-pro-server-side-sort');
|
|
304
258
|
}
|
|
305
259
|
/**
|
|
306
260
|
* Removes custom sort indicator styling
|
|
307
261
|
* @internal
|
|
308
262
|
*/
|
|
309
263
|
removeServerSideSortIndicatorStyling() {
|
|
310
|
-
// Emit event to remove CSS class from grid element
|
|
311
264
|
this.$emit(datasourceEventNames.removeGridCssClass, {
|
|
312
265
|
className: 'grid-pro-server-side',
|
|
313
266
|
});
|
|
314
|
-
// Remove custom CSS rules
|
|
315
|
-
if (this.sortIndicatorCSSDestroy) {
|
|
316
|
-
this.sortIndicatorCSSDestroy();
|
|
317
|
-
this.sortIndicatorCSSDestroy = null;
|
|
318
|
-
}
|
|
319
267
|
}
|
|
320
268
|
init() {
|
|
321
269
|
return __awaiter(this, void 0, void 0, function* () {
|
package/dist/grid-pro.api.json
CHANGED
|
@@ -22864,7 +22864,7 @@
|
|
|
22864
22864
|
{
|
|
22865
22865
|
"kind": "Class",
|
|
22866
22866
|
"canonicalReference": "@genesislcap/grid-pro!GridProInfiniteDatasource:class",
|
|
22867
|
-
"docComment": "/**\n * A Genesis Datasource element for AG Grid's Infinite Row Model.\n *\n * @remarks\n *\n * The Infinite Row Model is part of AG Grid Community (free) and provides: - Lazy loading of data as user scrolls - Server-side sorting and filtering - Simple infinite scroll without grouping/aggregation - Live updates for DATASERVER resources: the DATA_LOGON stream the grid pages over pushes every change, so no flag or second subscription is needed\n *\n * REQUEST_SERVER resources are read on demand only - a change on the server shows up when the grid re-reads (scroll, filter/sort change, or an explicit refresh), not live. The exception is a write made through this session: a commit ACK for an event listed in `pollTriggerEvents` re-reads the loaded blocks, so entity-management CRUD is reflected immediately.\n *\n *
|
|
22867
|
+
"docComment": "/**\n * A Genesis Datasource element for AG Grid's Infinite Row Model.\n *\n * @remarks\n *\n * The Infinite Row Model is part of AG Grid Community (free) and provides: - Lazy loading of data as user scrolls - Server-side sorting and filtering - Simple infinite scroll without grouping/aggregation - Live updates for DATASERVER resources: the DATA_LOGON stream the grid pages over pushes every change, so no flag or second subscription is needed\n *\n * REQUEST_SERVER resources are read on demand only - a change on the server shows up when the grid re-reads (scroll, filter/sort change, or an explicit refresh), not live. The exception is a write made through this session: a commit ACK for an event listed in `pollTriggerEvents` re-reads the loaded blocks, so entity-management CRUD is reflected immediately.\n *\n * Like the other datasources, consumer options passed as `deferredGridOptions` (including via entity-management's `gridOptions` with `datasource-type=\"infinite\"`) are merged over this element's defaults in `init()`.\n *\n * Use this instead of Server-Side Row Model when you don't need Enterprise features like row grouping, aggregation, or pivoting.\n *\n * @fires\n *\n * base-datasource-error - Fired when a datasource error is reported. detail: `BaseDatasourceErrorEventDetail`\n *\n * @fires\n *\n * datasource-error - Fired when a datasource error occurs (for grid integration). detail: `DatasourceErrorEventDetail`\n *\n * @fires\n *\n * base-datasource-connected - Fired when error state is cleared after connection succeeds\n *\n * @fires\n *\n * datasource-initialize - Fired to hand off infinite row model grid options. detail: `InitializeEventDetail`\n *\n * @fires\n *\n * datasource-init - Fired when the infinite grid model should initialize data\n *\n * @fires\n *\n * datasource-schema-updated - Fired when column metadata or defs are updated. detail: `SchemaUpdatedEventDetail`\n *\n * @fires\n *\n * set-infinite-datasource - Fired to attach or clear the infinite row model datasource. detail: `SetInfiniteDatasourceEventDetail`\n *\n * @fires\n *\n * refresh-infinite-cache - Fired to request an infinite row model refresh; `purge` drops the block cache and re-reads. detail: `RefreshInfiniteCacheEventDetail`\n *\n * @fires\n *\n * add-grid-css-class - Fired to add a CSS class on the grid host (hover sort indicators). detail: `GridCssClassEventDetail`\n *\n * @fires\n *\n * remove-grid-css-class - Fired to remove that CSS class from the grid host. detail: `GridCssClassEventDetail`\n *\n * @fires\n *\n * cache-filter-config - Fired to persist filter configuration for the grid\n *\n * @fires\n *\n * datasource-data-cleared - Fired when infinite row data is cleared. detail: `DataClearedEventDetail`\n *\n * @fires\n *\n * datasource-filters-restored - Fired when persisted filters are reapplied\n *\n * @see\n *\n * https://www.ag-grid.com/javascript-data-grid/infinite-scrolling/\n *\n * @beta\n */\n",
|
|
22868
22868
|
"excerptTokens": [
|
|
22869
22869
|
{
|
|
22870
22870
|
"kind": "Content",
|
package/dist/grid-pro.d.ts
CHANGED
|
@@ -5730,10 +5730,9 @@ export declare const gridProGenesisDatasourceEventNames: {
|
|
|
5730
5730
|
* is a write made through this session: a commit ACK for an event listed in `pollTriggerEvents`
|
|
5731
5731
|
* re-reads the loaded blocks, so entity-management CRUD is reflected immediately.
|
|
5732
5732
|
*
|
|
5733
|
-
*
|
|
5734
|
-
*
|
|
5735
|
-
*
|
|
5736
|
-
* element itself instead.
|
|
5733
|
+
* Like the other datasources, consumer options passed as `deferredGridOptions` (including via
|
|
5734
|
+
* entity-management's `gridOptions` with `datasource-type="infinite"`) are merged over this
|
|
5735
|
+
* element's defaults in `init()`.
|
|
5737
5736
|
*
|
|
5738
5737
|
* Use this instead of Server-Side Row Model when you don't need Enterprise features
|
|
5739
5738
|
* like row grouping, aggregation, or pivoting.
|
|
@@ -5749,6 +5748,8 @@ export declare const gridProGenesisDatasourceEventNames: {
|
|
|
5749
5748
|
* @fires datasource-schema-updated - Fired when column metadata or defs are updated. detail: `SchemaUpdatedEventDetail`
|
|
5750
5749
|
* @fires set-infinite-datasource - Fired to attach or clear the infinite row model datasource. detail: `SetInfiniteDatasourceEventDetail`
|
|
5751
5750
|
* @fires refresh-infinite-cache - Fired to request an infinite row model refresh; `purge` drops the block cache and re-reads. detail: `RefreshInfiniteCacheEventDetail`
|
|
5751
|
+
* @fires add-grid-css-class - Fired to add a CSS class on the grid host (hover sort indicators). detail: `GridCssClassEventDetail`
|
|
5752
|
+
* @fires remove-grid-css-class - Fired to remove that CSS class from the grid host. detail: `GridCssClassEventDetail`
|
|
5752
5753
|
* @fires cache-filter-config - Fired to persist filter configuration for the grid
|
|
5753
5754
|
* @fires datasource-data-cleared - Fired when infinite row data is cleared. detail: `DataClearedEventDetail`
|
|
5754
5755
|
* @fires datasource-filters-restored - Fired when persisted filters are reapplied
|
|
@@ -6243,7 +6244,6 @@ export declare class GridProServerSideDatasource extends GridProServerSideDataso
|
|
|
6243
6244
|
private indexes;
|
|
6244
6245
|
private ssrmDatasource;
|
|
6245
6246
|
private liveUpdatesStream;
|
|
6246
|
-
private sortIndicatorCSSDestroy;
|
|
6247
6247
|
resourceNameChanged(oldValue: string, newValue: string): void;
|
|
6248
6248
|
criteriaChanged(oldCriteria: string, newCriteria: string): void;
|
|
6249
6249
|
connectedCallback(): void;
|
package/dist/react.cjs
CHANGED
|
@@ -270,7 +270,7 @@ const GridProClientSideDatasource = React.forwardRef(function GridProClientSideD
|
|
|
270
270
|
});
|
|
271
271
|
|
|
272
272
|
const GridProInfiniteDatasource = React.forwardRef(function GridProInfiniteDatasource(props, ref) {
|
|
273
|
-
const { onBaseDatasourceError, onDatasourceError, onBaseDatasourceConnected, onDatasourceInitialize, onDatasourceInit, onDatasourceSchemaUpdated, onSetInfiniteDatasource, onRefreshInfiniteCache, onCacheFilterConfig, onDatasourceDataCleared, onDatasourceFiltersRestored, onDatasourceLoadingFinished, onDatasourceNoDataAvailable, onDatasourceDataChanged, children, ...rest } = props;
|
|
273
|
+
const { onBaseDatasourceError, onDatasourceError, onBaseDatasourceConnected, onDatasourceInitialize, onDatasourceInit, onDatasourceSchemaUpdated, onSetInfiniteDatasource, onRefreshInfiniteCache, onAddGridCssClass, onRemoveGridCssClass, onCacheFilterConfig, onDatasourceDataCleared, onDatasourceFiltersRestored, onDatasourceLoadingFinished, onDatasourceNoDataAvailable, onDatasourceDataChanged, children, ...rest } = props;
|
|
274
274
|
const _innerRef = React.useRef(null);
|
|
275
275
|
const _onBaseDatasourceErrorRef = React.useRef(onBaseDatasourceError);
|
|
276
276
|
_onBaseDatasourceErrorRef.current = onBaseDatasourceError;
|
|
@@ -288,6 +288,10 @@ const GridProInfiniteDatasource = React.forwardRef(function GridProInfiniteDatas
|
|
|
288
288
|
_onSetInfiniteDatasourceRef.current = onSetInfiniteDatasource;
|
|
289
289
|
const _onRefreshInfiniteCacheRef = React.useRef(onRefreshInfiniteCache);
|
|
290
290
|
_onRefreshInfiniteCacheRef.current = onRefreshInfiniteCache;
|
|
291
|
+
const _onAddGridCssClassRef = React.useRef(onAddGridCssClass);
|
|
292
|
+
_onAddGridCssClassRef.current = onAddGridCssClass;
|
|
293
|
+
const _onRemoveGridCssClassRef = React.useRef(onRemoveGridCssClass);
|
|
294
|
+
_onRemoveGridCssClassRef.current = onRemoveGridCssClass;
|
|
291
295
|
const _onCacheFilterConfigRef = React.useRef(onCacheFilterConfig);
|
|
292
296
|
_onCacheFilterConfigRef.current = onCacheFilterConfig;
|
|
293
297
|
const _onDatasourceDataClearedRef = React.useRef(onDatasourceDataCleared);
|
|
@@ -319,6 +323,10 @@ const GridProInfiniteDatasource = React.forwardRef(function GridProInfiniteDatas
|
|
|
319
323
|
el.addEventListener('set-infinite-datasource', _onSetInfiniteDatasourceFn);
|
|
320
324
|
const _onRefreshInfiniteCacheFn = (e) => _onRefreshInfiniteCacheRef.current?.(e);
|
|
321
325
|
el.addEventListener('refresh-infinite-cache', _onRefreshInfiniteCacheFn);
|
|
326
|
+
const _onAddGridCssClassFn = (e) => _onAddGridCssClassRef.current?.(e);
|
|
327
|
+
el.addEventListener('add-grid-css-class', _onAddGridCssClassFn);
|
|
328
|
+
const _onRemoveGridCssClassFn = (e) => _onRemoveGridCssClassRef.current?.(e);
|
|
329
|
+
el.addEventListener('remove-grid-css-class', _onRemoveGridCssClassFn);
|
|
322
330
|
const _onCacheFilterConfigFn = (e) => _onCacheFilterConfigRef.current?.(e);
|
|
323
331
|
el.addEventListener('cache-filter-config', _onCacheFilterConfigFn);
|
|
324
332
|
const _onDatasourceDataClearedFn = (e) => _onDatasourceDataClearedRef.current?.(e);
|
|
@@ -340,6 +348,8 @@ const GridProInfiniteDatasource = React.forwardRef(function GridProInfiniteDatas
|
|
|
340
348
|
el.removeEventListener('datasource-schema-updated', _onDatasourceSchemaUpdatedFn);
|
|
341
349
|
el.removeEventListener('set-infinite-datasource', _onSetInfiniteDatasourceFn);
|
|
342
350
|
el.removeEventListener('refresh-infinite-cache', _onRefreshInfiniteCacheFn);
|
|
351
|
+
el.removeEventListener('add-grid-css-class', _onAddGridCssClassFn);
|
|
352
|
+
el.removeEventListener('remove-grid-css-class', _onRemoveGridCssClassFn);
|
|
343
353
|
el.removeEventListener('cache-filter-config', _onCacheFilterConfigFn);
|
|
344
354
|
el.removeEventListener('datasource-data-cleared', _onDatasourceDataClearedFn);
|
|
345
355
|
el.removeEventListener('datasource-filters-restored', _onDatasourceFiltersRestoredFn);
|
package/dist/react.mjs
CHANGED
|
@@ -268,7 +268,7 @@ export const GridProClientSideDatasource = React.forwardRef(function GridProClie
|
|
|
268
268
|
});
|
|
269
269
|
|
|
270
270
|
export const GridProInfiniteDatasource = React.forwardRef(function GridProInfiniteDatasource(props, ref) {
|
|
271
|
-
const { onBaseDatasourceError, onDatasourceError, onBaseDatasourceConnected, onDatasourceInitialize, onDatasourceInit, onDatasourceSchemaUpdated, onSetInfiniteDatasource, onRefreshInfiniteCache, onCacheFilterConfig, onDatasourceDataCleared, onDatasourceFiltersRestored, onDatasourceLoadingFinished, onDatasourceNoDataAvailable, onDatasourceDataChanged, children, ...rest } = props;
|
|
271
|
+
const { onBaseDatasourceError, onDatasourceError, onBaseDatasourceConnected, onDatasourceInitialize, onDatasourceInit, onDatasourceSchemaUpdated, onSetInfiniteDatasource, onRefreshInfiniteCache, onAddGridCssClass, onRemoveGridCssClass, onCacheFilterConfig, onDatasourceDataCleared, onDatasourceFiltersRestored, onDatasourceLoadingFinished, onDatasourceNoDataAvailable, onDatasourceDataChanged, children, ...rest } = props;
|
|
272
272
|
const _innerRef = React.useRef(null);
|
|
273
273
|
const _onBaseDatasourceErrorRef = React.useRef(onBaseDatasourceError);
|
|
274
274
|
_onBaseDatasourceErrorRef.current = onBaseDatasourceError;
|
|
@@ -286,6 +286,10 @@ export const GridProInfiniteDatasource = React.forwardRef(function GridProInfini
|
|
|
286
286
|
_onSetInfiniteDatasourceRef.current = onSetInfiniteDatasource;
|
|
287
287
|
const _onRefreshInfiniteCacheRef = React.useRef(onRefreshInfiniteCache);
|
|
288
288
|
_onRefreshInfiniteCacheRef.current = onRefreshInfiniteCache;
|
|
289
|
+
const _onAddGridCssClassRef = React.useRef(onAddGridCssClass);
|
|
290
|
+
_onAddGridCssClassRef.current = onAddGridCssClass;
|
|
291
|
+
const _onRemoveGridCssClassRef = React.useRef(onRemoveGridCssClass);
|
|
292
|
+
_onRemoveGridCssClassRef.current = onRemoveGridCssClass;
|
|
289
293
|
const _onCacheFilterConfigRef = React.useRef(onCacheFilterConfig);
|
|
290
294
|
_onCacheFilterConfigRef.current = onCacheFilterConfig;
|
|
291
295
|
const _onDatasourceDataClearedRef = React.useRef(onDatasourceDataCleared);
|
|
@@ -317,6 +321,10 @@ export const GridProInfiniteDatasource = React.forwardRef(function GridProInfini
|
|
|
317
321
|
el.addEventListener('set-infinite-datasource', _onSetInfiniteDatasourceFn);
|
|
318
322
|
const _onRefreshInfiniteCacheFn = (e) => _onRefreshInfiniteCacheRef.current?.(e);
|
|
319
323
|
el.addEventListener('refresh-infinite-cache', _onRefreshInfiniteCacheFn);
|
|
324
|
+
const _onAddGridCssClassFn = (e) => _onAddGridCssClassRef.current?.(e);
|
|
325
|
+
el.addEventListener('add-grid-css-class', _onAddGridCssClassFn);
|
|
326
|
+
const _onRemoveGridCssClassFn = (e) => _onRemoveGridCssClassRef.current?.(e);
|
|
327
|
+
el.addEventListener('remove-grid-css-class', _onRemoveGridCssClassFn);
|
|
320
328
|
const _onCacheFilterConfigFn = (e) => _onCacheFilterConfigRef.current?.(e);
|
|
321
329
|
el.addEventListener('cache-filter-config', _onCacheFilterConfigFn);
|
|
322
330
|
const _onDatasourceDataClearedFn = (e) => _onDatasourceDataClearedRef.current?.(e);
|
|
@@ -338,6 +346,8 @@ export const GridProInfiniteDatasource = React.forwardRef(function GridProInfini
|
|
|
338
346
|
el.removeEventListener('datasource-schema-updated', _onDatasourceSchemaUpdatedFn);
|
|
339
347
|
el.removeEventListener('set-infinite-datasource', _onSetInfiniteDatasourceFn);
|
|
340
348
|
el.removeEventListener('refresh-infinite-cache', _onRefreshInfiniteCacheFn);
|
|
349
|
+
el.removeEventListener('add-grid-css-class', _onAddGridCssClassFn);
|
|
350
|
+
el.removeEventListener('remove-grid-css-class', _onRemoveGridCssClassFn);
|
|
341
351
|
el.removeEventListener('cache-filter-config', _onCacheFilterConfigFn);
|
|
342
352
|
el.removeEventListener('datasource-data-cleared', _onDatasourceDataClearedFn);
|
|
343
353
|
el.removeEventListener('datasource-filters-restored', _onDatasourceFiltersRestoredFn);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@genesislcap/grid-pro",
|
|
3
3
|
"description": "Genesis Foundation AG Grid",
|
|
4
|
-
"version": "15.
|
|
4
|
+
"version": "15.25.0",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"license": "SEE LICENSE IN license.txt",
|
|
7
7
|
"main": "dist/esm/index.js",
|
|
@@ -40,20 +40,20 @@
|
|
|
40
40
|
}
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@genesislcap/foundation-testing": "15.
|
|
44
|
-
"@genesislcap/genx": "15.
|
|
45
|
-
"@genesislcap/rollup-builder": "15.
|
|
46
|
-
"@genesislcap/ts-builder": "15.
|
|
47
|
-
"@genesislcap/uvu-playwright-builder": "15.
|
|
48
|
-
"@genesislcap/vite-builder": "15.
|
|
49
|
-
"@genesislcap/webpack-builder": "15.
|
|
43
|
+
"@genesislcap/foundation-testing": "15.25.0",
|
|
44
|
+
"@genesislcap/genx": "15.25.0",
|
|
45
|
+
"@genesislcap/rollup-builder": "15.25.0",
|
|
46
|
+
"@genesislcap/ts-builder": "15.25.0",
|
|
47
|
+
"@genesislcap/uvu-playwright-builder": "15.25.0",
|
|
48
|
+
"@genesislcap/vite-builder": "15.25.0",
|
|
49
|
+
"@genesislcap/webpack-builder": "15.25.0"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@genesislcap/foundation-comms": "15.
|
|
53
|
-
"@genesislcap/foundation-criteria": "15.
|
|
54
|
-
"@genesislcap/foundation-logger": "15.
|
|
55
|
-
"@genesislcap/foundation-ui": "15.
|
|
56
|
-
"@genesislcap/foundation-utils": "15.
|
|
52
|
+
"@genesislcap/foundation-comms": "15.25.0",
|
|
53
|
+
"@genesislcap/foundation-criteria": "15.25.0",
|
|
54
|
+
"@genesislcap/foundation-logger": "15.25.0",
|
|
55
|
+
"@genesislcap/foundation-ui": "15.25.0",
|
|
56
|
+
"@genesislcap/foundation-utils": "15.25.0",
|
|
57
57
|
"@microsoft/fast-colors": "5.3.1",
|
|
58
58
|
"@microsoft/fast-components": "2.30.6",
|
|
59
59
|
"@microsoft/fast-element": "1.14.0",
|