cps-ui-kit 21.29.1 → 21.29.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/cps-ui-kit.mjs +244 -114
- package/fesm2022/cps-ui-kit.mjs.map +1 -1
- package/package.json +1 -1
- package/types/cps-ui-kit.d.ts +24 -0
package/fesm2022/cps-ui-kit.mjs
CHANGED
|
@@ -2824,7 +2824,7 @@ class CpsAutocompleteComponent {
|
|
|
2824
2824
|
selected.scrollIntoView({
|
|
2825
2825
|
behavior: 'instant',
|
|
2826
2826
|
block: 'nearest',
|
|
2827
|
-
inline: '
|
|
2827
|
+
inline: 'start'
|
|
2828
2828
|
});
|
|
2829
2829
|
}
|
|
2830
2830
|
else if (this.virtualScroll && this.optionHighlightedIndex >= 0) {
|
|
@@ -2915,7 +2915,7 @@ class CpsAutocompleteComponent {
|
|
|
2915
2915
|
if (elRect.top < parentRect.top || elRect.bottom > parentRect.bottom) {
|
|
2916
2916
|
el.scrollIntoView({
|
|
2917
2917
|
block: 'nearest',
|
|
2918
|
-
inline: '
|
|
2918
|
+
inline: 'nearest'
|
|
2919
2919
|
});
|
|
2920
2920
|
}
|
|
2921
2921
|
}
|
|
@@ -6075,7 +6075,7 @@ class CpsSelectComponent {
|
|
|
6075
6075
|
selected.scrollIntoView({
|
|
6076
6076
|
behavior: 'instant',
|
|
6077
6077
|
block: 'nearest',
|
|
6078
|
-
inline: '
|
|
6078
|
+
inline: 'start'
|
|
6079
6079
|
});
|
|
6080
6080
|
}
|
|
6081
6081
|
else if (this.virtualScroll && this.optionHighlightedIndex >= 0) {
|
|
@@ -6166,7 +6166,7 @@ class CpsSelectComponent {
|
|
|
6166
6166
|
if (elRect.top < parentRect.top || elRect.bottom > parentRect.bottom) {
|
|
6167
6167
|
el.scrollIntoView({
|
|
6168
6168
|
block: 'nearest',
|
|
6169
|
-
inline: '
|
|
6169
|
+
inline: 'nearest'
|
|
6170
6170
|
});
|
|
6171
6171
|
}
|
|
6172
6172
|
}
|
|
@@ -13788,7 +13788,7 @@ class CpsBaseTreeDropdownComponent {
|
|
|
13788
13788
|
selected.scrollIntoView({
|
|
13789
13789
|
behavior: 'instant',
|
|
13790
13790
|
block: 'nearest',
|
|
13791
|
-
inline: '
|
|
13791
|
+
inline: 'start'
|
|
13792
13792
|
});
|
|
13793
13793
|
}
|
|
13794
13794
|
else if (this.virtualScroll && key) {
|
|
@@ -14802,14 +14802,6 @@ class CpsTreeTableColumnResizableDirective extends TTResizableColumn {
|
|
|
14802
14802
|
if (!colGroup)
|
|
14803
14803
|
return;
|
|
14804
14804
|
const cols = Array.from(colGroup.children);
|
|
14805
|
-
if (cols.some((c) => !c.style.width)) {
|
|
14806
|
-
const ths = Array.from(table.querySelectorAll('thead > tr:first-child > th'));
|
|
14807
|
-
cols.forEach((col, i) => {
|
|
14808
|
-
if (!col.style.width && ths[i]) {
|
|
14809
|
-
col.style.width = ths[i].offsetWidth + 'px';
|
|
14810
|
-
}
|
|
14811
|
-
});
|
|
14812
|
-
}
|
|
14813
14805
|
const col = cols[resizeColumnIndex] ?? null;
|
|
14814
14806
|
const nextCol = col?.nextElementSibling;
|
|
14815
14807
|
if (col)
|
|
@@ -15536,6 +15528,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
15536
15528
|
function treeTableFactory(tableComponent) {
|
|
15537
15529
|
return tableComponent.primengTreeTable;
|
|
15538
15530
|
}
|
|
15531
|
+
const DEFAULT_CELL_WIDTH_REM = 3.4375;
|
|
15539
15532
|
/**
|
|
15540
15533
|
* CpsTreeTableComponent is used to display hierarchical data in tabular format.
|
|
15541
15534
|
* @group Components
|
|
@@ -15562,7 +15555,9 @@ class CpsTreeTableComponent {
|
|
|
15562
15555
|
get _rootFontSizePx() {
|
|
15563
15556
|
return this._cpsRootFontSizeService?.fontSize() || 16;
|
|
15564
15557
|
}
|
|
15565
|
-
|
|
15558
|
+
get _defaultCellWidthPx() {
|
|
15559
|
+
return DEFAULT_CELL_WIDTH_REM * this._rootFontSizePx;
|
|
15560
|
+
}
|
|
15566
15561
|
constructor(cdRef, document, _elementRef, renderer, ngZone) {
|
|
15567
15562
|
this.cdRef = cdRef;
|
|
15568
15563
|
this.document = document;
|
|
@@ -16042,6 +16037,12 @@ class CpsTreeTableComponent {
|
|
|
16042
16037
|
this._scrollbarWidth = 0;
|
|
16043
16038
|
this._scrollbarVisible = true;
|
|
16044
16039
|
this._needRecalcAutoLayout = true;
|
|
16040
|
+
this._visibleRowWidthsPxByNode = new Map();
|
|
16041
|
+
this._headerWidthsPx = null;
|
|
16042
|
+
this._lastHasSelectableCell = false;
|
|
16043
|
+
this._lastHasRowMenuCell = false;
|
|
16044
|
+
this._pinnedColumnWidthsPx = new Map();
|
|
16045
|
+
this._lastHeaderCellCount = null;
|
|
16045
16046
|
this._data = [];
|
|
16046
16047
|
this._cpsRootFontSizeService = inject(CPS_ROOT_FONT_SIZE_SERVICE);
|
|
16047
16048
|
this.window = this.document.defaultView;
|
|
@@ -16209,108 +16210,222 @@ class CpsTreeTableComponent {
|
|
|
16209
16210
|
return;
|
|
16210
16211
|
if (!this._needRecalcAutoLayout && !forced)
|
|
16211
16212
|
return;
|
|
16212
|
-
const
|
|
16213
|
-
if (!
|
|
16213
|
+
const headerCells = this._queryHeaderCells();
|
|
16214
|
+
if (!headerCells?.length) {
|
|
16215
|
+
this._needRecalcAutoLayout = true;
|
|
16214
16216
|
return;
|
|
16215
|
-
|
|
16216
|
-
if (
|
|
16217
|
+
}
|
|
16218
|
+
if (headerCells.every((th) => th.offsetWidth === 0)) {
|
|
16219
|
+
this._needRecalcAutoLayout = true;
|
|
16217
16220
|
return;
|
|
16218
|
-
|
|
16219
|
-
|
|
16220
|
-
|
|
16221
|
-
|
|
16221
|
+
}
|
|
16222
|
+
if (this._lastHeaderCellCount !== null &&
|
|
16223
|
+
this._lastHeaderCellCount !== headerCells.length) {
|
|
16224
|
+
this._pinnedColumnWidthsPx.clear();
|
|
16225
|
+
}
|
|
16226
|
+
this._lastHeaderCellCount = headerCells.length;
|
|
16227
|
+
const bodyRows = this._queryBodyRows();
|
|
16228
|
+
if (!bodyRows.length) {
|
|
16229
|
+
this._needRecalcAutoLayout = true;
|
|
16222
16230
|
return;
|
|
16223
|
-
|
|
16224
|
-
|
|
16225
|
-
|
|
16226
|
-
|
|
16227
|
-
|
|
16228
|
-
|
|
16229
|
-
|
|
16230
|
-
|
|
16231
|
-
|
|
16232
|
-
|
|
16233
|
-
|
|
16234
|
-
this.
|
|
16235
|
-
this.renderer.setStyle(th, 'text-wrap', 'nowrap');
|
|
16236
|
-
thWidth = th.offsetWidth;
|
|
16237
|
-
this.renderer.setStyle(th, 'width', wprev);
|
|
16238
|
-
this.renderer.removeStyle(th, 'display');
|
|
16239
|
-
this.renderer.removeStyle(th, 'text-wrap');
|
|
16240
|
-
}
|
|
16241
|
-
return thWidth;
|
|
16231
|
+
}
|
|
16232
|
+
const hasSelectableCell = headerCells.some((th) => th.classList.contains('cps-treetable-selectable-cell'));
|
|
16233
|
+
const hasRowMenuCell = headerCells.some((th) => th.classList.contains('cps-treetable-row-menu-cell'));
|
|
16234
|
+
const { theadWidthsPx, tbodyWidthsPxByRow } = this._measureRowsWidthsPx(headerCells, bodyRows, this._isSkippableCell);
|
|
16235
|
+
if (!theadWidthsPx)
|
|
16236
|
+
return;
|
|
16237
|
+
const serializedVisibleNodes = (this.primengTreeTable?.serializedValue || []).filter((rn) => rn?.visible);
|
|
16238
|
+
this._visibleRowWidthsPxByNode.clear();
|
|
16239
|
+
tbodyWidthsPxByRow.forEach((widths, idx) => {
|
|
16240
|
+
const node = serializedVisibleNodes[idx]?.node;
|
|
16241
|
+
if (node)
|
|
16242
|
+
this._visibleRowWidthsPxByNode.set(node, widths);
|
|
16242
16243
|
});
|
|
16243
|
-
|
|
16244
|
-
|
|
16244
|
+
this._headerWidthsPx = theadWidthsPx;
|
|
16245
|
+
this._lastHasSelectableCell = hasSelectableCell;
|
|
16246
|
+
this._lastHasRowMenuCell = hasRowMenuCell;
|
|
16247
|
+
const tdWidths = theadWidthsPx.map((_, idx) => tbodyWidthsPxByRow.reduce((max, widths) => Math.max(max, widths[idx] ?? 0), 0));
|
|
16248
|
+
if (theadWidthsPx.length !== tdWidths.length)
|
|
16245
16249
|
return;
|
|
16246
|
-
const
|
|
16247
|
-
const
|
|
16248
|
-
|
|
16249
|
-
|
|
16250
|
-
|
|
16251
|
-
|
|
16252
|
-
|
|
16253
|
-
|
|
16254
|
-
|
|
16255
|
-
|
|
16256
|
-
|
|
16257
|
-
|
|
16258
|
-
|
|
16259
|
-
|
|
16260
|
-
|
|
16261
|
-
|
|
16262
|
-
|
|
16263
|
-
|
|
16264
|
-
|
|
16265
|
-
|
|
16266
|
-
|
|
16267
|
-
|
|
16268
|
-
|
|
16269
|
-
|
|
16270
|
-
|
|
16271
|
-
|
|
16272
|
-
|
|
16250
|
+
const maxWidths = theadWidthsPx.map((v, idx) => Math.max(v, tdWidths[idx]));
|
|
16251
|
+
const percentages = this._widthsToPercentages(maxWidths, hasSelectableCell, hasRowMenuCell);
|
|
16252
|
+
this._applyColumnWidths(headerCells, bodyRows, percentages, hasSelectableCell, hasRowMenuCell);
|
|
16253
|
+
this._needRecalcAutoLayout = false;
|
|
16254
|
+
});
|
|
16255
|
+
}
|
|
16256
|
+
_isSkippableCell(cell) {
|
|
16257
|
+
return (cell.classList.contains('cps-treetable-selectable-cell') ||
|
|
16258
|
+
cell.classList.contains('cps-treetable-row-menu-cell'));
|
|
16259
|
+
}
|
|
16260
|
+
_queryHeaderCells() {
|
|
16261
|
+
const headerRows = this._headerBox?.querySelectorAll('tr');
|
|
16262
|
+
if (!headerRows?.length)
|
|
16263
|
+
return [];
|
|
16264
|
+
return Array.from(headerRows[headerRows.length - 1]?.querySelectorAll('th') || []);
|
|
16265
|
+
}
|
|
16266
|
+
_queryBodyRows() {
|
|
16267
|
+
return Array.from(this._scrollableBody?.querySelectorAll('tr') || []);
|
|
16268
|
+
}
|
|
16269
|
+
_measureRowsWidthsPx(headerCells, bodyRows, isSkippableCell) {
|
|
16270
|
+
const shadowWrapper = this.renderer.createElement('div');
|
|
16271
|
+
this.renderer.addClass(shadowWrapper, 'p-treetable');
|
|
16272
|
+
this.renderer.addClass(shadowWrapper, 'p-component');
|
|
16273
|
+
this.renderer.setStyle(shadowWrapper, 'position', 'absolute');
|
|
16274
|
+
this.renderer.setStyle(shadowWrapper, 'visibility', 'hidden');
|
|
16275
|
+
this.renderer.setStyle(shadowWrapper, 'white-space', 'nowrap');
|
|
16276
|
+
this.renderer.appendChild(this._elementRef.nativeElement, shadowWrapper);
|
|
16277
|
+
const createShadowRow = (sectionTag, sectionClass) => {
|
|
16278
|
+
const row = this.renderer.createElement('tr');
|
|
16279
|
+
const section = this.renderer.createElement(sectionTag);
|
|
16280
|
+
this.renderer.addClass(section, sectionClass);
|
|
16281
|
+
this.renderer.appendChild(section, row);
|
|
16282
|
+
const table = this.renderer.createElement('table');
|
|
16283
|
+
this.renderer.setStyle(table, 'table-layout', 'fixed');
|
|
16284
|
+
this.renderer.appendChild(table, section);
|
|
16285
|
+
this.renderer.appendChild(shadowWrapper, table);
|
|
16286
|
+
return row;
|
|
16287
|
+
};
|
|
16288
|
+
const appendClone = (cell, shadowRow) => {
|
|
16289
|
+
const clone = cell.cloneNode(true);
|
|
16290
|
+
this.renderer.setStyle(clone, 'display', 'block');
|
|
16291
|
+
this.renderer.setStyle(clone, 'width', 'min-content');
|
|
16292
|
+
this.renderer.appendChild(shadowRow, clone);
|
|
16293
|
+
return clone;
|
|
16294
|
+
};
|
|
16295
|
+
let theadClones = null;
|
|
16296
|
+
if (headerCells?.length) {
|
|
16297
|
+
const shadowTheadRow = createShadowRow('thead', 'p-treetable-thead');
|
|
16298
|
+
theadClones = headerCells.map((th) => isSkippableCell(th) ? null : appendClone(th, shadowTheadRow));
|
|
16299
|
+
}
|
|
16300
|
+
const tbodyClonesByRow = bodyRows.map((tr) => {
|
|
16301
|
+
const shadowRow = createShadowRow('tbody', 'p-treetable-tbody');
|
|
16302
|
+
const tds = Array.from(tr.querySelectorAll('td'));
|
|
16303
|
+
return tds.map((td) => isSkippableCell(td) ? null : appendClone(td, shadowRow));
|
|
16304
|
+
});
|
|
16305
|
+
const theadWidthsPx = theadClones
|
|
16306
|
+
? theadClones.map((clone) => clone ? clone.offsetWidth : this._defaultCellWidthPx)
|
|
16307
|
+
: null;
|
|
16308
|
+
const tbodyWidthsPxByRow = tbodyClonesByRow.map((clones) => clones.map((clone) => clone ? clone.offsetWidth : this._defaultCellWidthPx));
|
|
16309
|
+
this.renderer.removeChild(this._elementRef.nativeElement, shadowWrapper);
|
|
16310
|
+
return { theadWidthsPx, tbodyWidthsPxByRow };
|
|
16311
|
+
}
|
|
16312
|
+
_getFixedColumnWidth(idx, totalCols, hasSelectableCell, hasRowMenuCell) {
|
|
16313
|
+
if ((hasSelectableCell && idx === 0) ||
|
|
16314
|
+
(hasRowMenuCell && idx === totalCols - 1)) {
|
|
16315
|
+
return {
|
|
16316
|
+
px: this._defaultCellWidthPx,
|
|
16317
|
+
cssValue: `${DEFAULT_CELL_WIDTH_REM}rem`
|
|
16318
|
+
};
|
|
16319
|
+
}
|
|
16320
|
+
const pinnedPx = this._pinnedColumnWidthsPx.get(idx);
|
|
16321
|
+
return pinnedPx != null
|
|
16322
|
+
? { px: pinnedPx, cssValue: `${pinnedPx}px` }
|
|
16323
|
+
: null;
|
|
16324
|
+
}
|
|
16325
|
+
_widthsToPercentages(maxWidths, hasSelectableCell, hasRowMenuCell) {
|
|
16326
|
+
const fixedByIdx = maxWidths.map((_, idx) => this._getFixedColumnWidth(idx, maxWidths.length, hasSelectableCell, hasRowMenuCell));
|
|
16327
|
+
const flexibleSum = maxWidths.reduce((sum, w, idx) => sum + (fixedByIdx[idx] ? 0 : w), 0);
|
|
16328
|
+
return maxWidths.map((w, idx) => fixedByIdx[idx] ? 0 : (w / flexibleSum) * 100);
|
|
16329
|
+
}
|
|
16330
|
+
_applyColumnWidths(headerCells, bodyRows, percentages, hasSelectableCell, hasRowMenuCell) {
|
|
16331
|
+
const totalCols = headerCells.length;
|
|
16332
|
+
const widthFor = (idx) => this._getFixedColumnWidth(idx, totalCols, hasSelectableCell, hasRowMenuCell)?.cssValue ?? percentages[idx] + '%';
|
|
16333
|
+
headerCells.forEach((th, idx) => {
|
|
16334
|
+
this.renderer.setStyle(th, 'width', widthFor(idx));
|
|
16335
|
+
});
|
|
16336
|
+
bodyRows.forEach((tr) => {
|
|
16337
|
+
const tds = Array.from(tr.querySelectorAll('td'));
|
|
16338
|
+
if (tds.length !== totalCols)
|
|
16339
|
+
return;
|
|
16340
|
+
tds.forEach((td, idx) => {
|
|
16341
|
+
this.renderer.setStyle(td, 'width', widthFor(idx));
|
|
16342
|
+
this.renderer.setStyle(td, 'opacity', '1');
|
|
16343
|
+
this.renderer.setStyle(td, 'overflow', 'hidden');
|
|
16344
|
+
if (this.bordered)
|
|
16345
|
+
this.renderer.setStyle(td, 'border-left-color', 'var(--cps-color-line-mid)');
|
|
16346
|
+
});
|
|
16347
|
+
});
|
|
16348
|
+
}
|
|
16349
|
+
_recomputeMaxWidthsFromCache() {
|
|
16350
|
+
if (!this._headerWidthsPx)
|
|
16351
|
+
return null;
|
|
16352
|
+
const maxWidths = [...this._headerWidthsPx];
|
|
16353
|
+
this._visibleRowWidthsPxByNode.forEach((widths) => {
|
|
16354
|
+
widths.forEach((w, idx) => {
|
|
16355
|
+
if (w > (maxWidths[idx] ?? 0))
|
|
16356
|
+
maxWidths[idx] = w;
|
|
16273
16357
|
});
|
|
16274
|
-
|
|
16275
|
-
|
|
16358
|
+
});
|
|
16359
|
+
return maxWidths;
|
|
16360
|
+
}
|
|
16361
|
+
_collectToggledDescendantNodes(node) {
|
|
16362
|
+
const result = [];
|
|
16363
|
+
const children = node?.children;
|
|
16364
|
+
if (!children?.length)
|
|
16365
|
+
return result;
|
|
16366
|
+
for (const child of children) {
|
|
16367
|
+
result.push(child);
|
|
16368
|
+
if (child.expanded)
|
|
16369
|
+
result.push(...this._collectToggledDescendantNodes(child));
|
|
16370
|
+
}
|
|
16371
|
+
return result;
|
|
16372
|
+
}
|
|
16373
|
+
_tryBeginIncrementalRecalc(event) {
|
|
16374
|
+
if (!this.autoLayout ||
|
|
16375
|
+
!this.scrollable ||
|
|
16376
|
+
this.virtualScroll ||
|
|
16377
|
+
!this._headerWidthsPx ||
|
|
16378
|
+
!event?.node) {
|
|
16379
|
+
this._calcAutoLayoutHeaderWidths(true);
|
|
16380
|
+
return null;
|
|
16381
|
+
}
|
|
16382
|
+
const headerCells = this._queryHeaderCells();
|
|
16383
|
+
if (!headerCells.length) {
|
|
16384
|
+
this._calcAutoLayoutHeaderWidths(true);
|
|
16385
|
+
return null;
|
|
16386
|
+
}
|
|
16387
|
+
return headerCells;
|
|
16388
|
+
}
|
|
16389
|
+
_recomputeAndReapplyFromCache(headerCells) {
|
|
16390
|
+
const maxWidths = this._recomputeMaxWidthsFromCache();
|
|
16391
|
+
if (!maxWidths) {
|
|
16392
|
+
this._calcAutoLayoutHeaderWidths(true);
|
|
16393
|
+
return;
|
|
16394
|
+
}
|
|
16395
|
+
const percentages = this._widthsToPercentages(maxWidths, this._lastHasSelectableCell, this._lastHasRowMenuCell);
|
|
16396
|
+
this._applyColumnWidths(headerCells, this._queryBodyRows(), percentages, this._lastHasSelectableCell, this._lastHasRowMenuCell);
|
|
16397
|
+
}
|
|
16398
|
+
_expandAutoLayoutIncremental(event) {
|
|
16399
|
+
const headerCells = this._tryBeginIncrementalRecalc(event);
|
|
16400
|
+
if (!headerCells)
|
|
16401
|
+
return;
|
|
16402
|
+
const newNodes = this._collectToggledDescendantNodes(event.node);
|
|
16403
|
+
if (newNodes.length) {
|
|
16404
|
+
const serializedVisibleNodes = (this.primengTreeTable?.serializedValue || []).filter((rn) => rn?.visible);
|
|
16405
|
+
const parentIdx = serializedVisibleNodes.findIndex((rn) => rn?.node === event.node);
|
|
16406
|
+
if (parentIdx === -1) {
|
|
16407
|
+
this._calcAutoLayoutHeaderWidths(true);
|
|
16276
16408
|
return;
|
|
16277
|
-
const maxWidths = thWidths.map((v, idx) => Math.max(v, tdWidths[idx]));
|
|
16278
|
-
let sum = maxWidths.reduce((a, b) => a + b, 0);
|
|
16279
|
-
if (hasSelectableCell) {
|
|
16280
|
-
sum -= 55;
|
|
16281
|
-
maxWidths.shift();
|
|
16282
16409
|
}
|
|
16283
|
-
|
|
16284
|
-
|
|
16285
|
-
|
|
16410
|
+
const newRows = this._queryBodyRows().slice(parentIdx + 1, parentIdx + 1 + newNodes.length);
|
|
16411
|
+
if (newRows.length !== newNodes.length) {
|
|
16412
|
+
this._calcAutoLayoutHeaderWidths(true);
|
|
16413
|
+
return;
|
|
16286
16414
|
}
|
|
16287
|
-
const
|
|
16288
|
-
|
|
16289
|
-
|
|
16290
|
-
(hasRowMenuCell && idx === headerCells.length - 1)) {
|
|
16291
|
-
this.renderer.setStyle(th, 'width', '3.4375rem');
|
|
16292
|
-
}
|
|
16293
|
-
else
|
|
16294
|
-
this.renderer.setStyle(th, 'width', percentages[hasSelectableCell ? idx - 1 : idx] + '%');
|
|
16295
|
-
});
|
|
16296
|
-
bodyRows.forEach((tr) => {
|
|
16297
|
-
const tds = tr?.querySelectorAll('td');
|
|
16298
|
-
tds?.forEach((td, idx) => {
|
|
16299
|
-
if ((hasSelectableCell && idx === 0) ||
|
|
16300
|
-
(hasRowMenuCell && idx === tds.length - 1)) {
|
|
16301
|
-
this.renderer.setStyle(td, 'width', '3.4375rem');
|
|
16302
|
-
}
|
|
16303
|
-
else {
|
|
16304
|
-
this.renderer.setStyle(td, 'width', percentages[hasSelectableCell ? idx - 1 : idx] + '%');
|
|
16305
|
-
}
|
|
16306
|
-
this.renderer.setStyle(td, 'opacity', '1');
|
|
16307
|
-
this.renderer.setStyle(td, 'overflow', 'hidden');
|
|
16308
|
-
if (this.bordered)
|
|
16309
|
-
this.renderer.setStyle(td, 'border-left-color', 'var(--cps-color-line-mid)');
|
|
16310
|
-
});
|
|
16415
|
+
const { tbodyWidthsPxByRow } = this._measureRowsWidthsPx(null, newRows, this._isSkippableCell);
|
|
16416
|
+
tbodyWidthsPxByRow.forEach((widths, idx) => {
|
|
16417
|
+
this._visibleRowWidthsPxByNode.set(newNodes[idx], widths);
|
|
16311
16418
|
});
|
|
16312
|
-
|
|
16313
|
-
|
|
16419
|
+
}
|
|
16420
|
+
this._recomputeAndReapplyFromCache(headerCells);
|
|
16421
|
+
}
|
|
16422
|
+
_collapseAutoLayoutIncremental(event) {
|
|
16423
|
+
const headerCells = this._tryBeginIncrementalRecalc(event);
|
|
16424
|
+
if (!headerCells)
|
|
16425
|
+
return;
|
|
16426
|
+
const removedNodes = this._collectToggledDescendantNodes(event.node);
|
|
16427
|
+
removedNodes.forEach((node) => this._visibleRowWidthsPxByNode.delete(node));
|
|
16428
|
+
this._recomputeAndReapplyFromCache(headerCells);
|
|
16314
16429
|
}
|
|
16315
16430
|
_updateVirtualScrollItemSize() {
|
|
16316
16431
|
if (!this.virtualScroll || this.virtualScrollItemHeight)
|
|
@@ -16572,15 +16687,17 @@ class CpsTreeTableComponent {
|
|
|
16572
16687
|
}
|
|
16573
16688
|
onNodeExpanded(event) {
|
|
16574
16689
|
this.nodeExpanded.emit(event);
|
|
16575
|
-
|
|
16576
|
-
this.
|
|
16690
|
+
queueMicrotask(() => {
|
|
16691
|
+
this.cdRef.detectChanges();
|
|
16692
|
+
this._expandAutoLayoutIncremental(event);
|
|
16577
16693
|
});
|
|
16578
16694
|
this._recalcVirtualHeight();
|
|
16579
16695
|
}
|
|
16580
16696
|
onNodeCollapsed(event) {
|
|
16581
16697
|
this.nodeCollapsed.emit(event);
|
|
16582
|
-
|
|
16583
|
-
this.
|
|
16698
|
+
queueMicrotask(() => {
|
|
16699
|
+
this.cdRef.detectChanges();
|
|
16700
|
+
this._collapseAutoLayoutIncremental(event);
|
|
16584
16701
|
});
|
|
16585
16702
|
this._recalcVirtualHeight();
|
|
16586
16703
|
}
|
|
@@ -16592,18 +16709,31 @@ class CpsTreeTableComponent {
|
|
|
16592
16709
|
}
|
|
16593
16710
|
onSort(event) {
|
|
16594
16711
|
this.sorted.emit(event);
|
|
16595
|
-
|
|
16712
|
+
queueMicrotask(() => {
|
|
16596
16713
|
this.cdRef.detectChanges();
|
|
16597
16714
|
this._calcAutoLayoutHeaderWidths(true);
|
|
16598
16715
|
});
|
|
16599
16716
|
}
|
|
16600
16717
|
onFilter(event) {
|
|
16601
16718
|
this.filtered.emit(event);
|
|
16602
|
-
|
|
16719
|
+
queueMicrotask(() => {
|
|
16720
|
+
this.cdRef.detectChanges();
|
|
16603
16721
|
this._calcAutoLayoutHeaderWidths(true);
|
|
16604
16722
|
});
|
|
16605
16723
|
this._recalcVirtualHeight();
|
|
16606
16724
|
}
|
|
16725
|
+
onColumnResized(event) {
|
|
16726
|
+
const th = event?.element;
|
|
16727
|
+
if (!th || !this.autoLayout || !this.scrollable)
|
|
16728
|
+
return;
|
|
16729
|
+
if (this._isSkippableCell(th))
|
|
16730
|
+
return;
|
|
16731
|
+
const idx = Array.from(th.parentElement?.children ?? []).indexOf(th);
|
|
16732
|
+
if (idx === -1)
|
|
16733
|
+
return;
|
|
16734
|
+
this._pinnedColumnWidthsPx.set(idx, th.offsetWidth);
|
|
16735
|
+
this._calcAutoLayoutHeaderWidths(true);
|
|
16736
|
+
}
|
|
16607
16737
|
onSelectionChanged(selection) {
|
|
16608
16738
|
if (selection && !Array.isArray(selection))
|
|
16609
16739
|
selection = [selection];
|
|
@@ -16669,7 +16799,7 @@ class CpsTreeTableComponent {
|
|
|
16669
16799
|
// eslint-disable-next-line no-use-before-define
|
|
16670
16800
|
deps: [CpsTreeTableComponent]
|
|
16671
16801
|
}
|
|
16672
|
-
], queries: [{ propertyName: "toolbarTemplate", first: true, predicate: ["toolbar"], descendants: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"], descendants: true }, { propertyName: "nestedHeaderTemplate", first: true, predicate: ["nestedHeader"], descendants: true }, { propertyName: "bodyTemplate", first: true, predicate: ["body"], descendants: true }, { propertyName: "colgroupTemplate", first: true, predicate: ["colgroup"], descendants: true }], viewQueries: [{ propertyName: "primengTreeTable", first: true, predicate: ["primengTreeTable"], descendants: true, static: true }, { propertyName: "globalFilterComp", first: true, predicate: ["globalFilterComp"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<p-treeTable\n #primengTreeTable\n ttWithUnsort\n [pt]=\"treeTablePassthrough\"\n [class.cps-treetable-loading]=\"loading\"\n [class.cps-treetable-flex]=\"defScrollHeight === 'flex'\"\n [class.cps-treetable-nonvirtual]=\"!virtualScroll\"\n [class.cps-treetable-autolayout-calced]=\"autoLayout && scrollable\"\n [value]=\"data\"\n [autoLayout]=\"autoLayout && !scrollable\"\n [scrollable]=\"scrollable\"\n [scrollHeight]=\"scrollHeight\"\n [virtualScroll]=\"virtualScroll\"\n [virtualScrollItemSize]=\"virtualScrollItemSize\"\n [virtualScrollOptions]=\"{\n numToleratedItems: numToleratedItems,\n autoSize: false\n }\"\n [columns]=\"selectedColumns\"\n [loading]=\"loading\"\n [attr.aria-busy]=\"loading || null\"\n [rowHover]=\"rowHover\"\n [lazy]=\"lazy\"\n [(selection)]=\"selectedRows\"\n (selectionChange)=\"onSelectionChanged($event)\"\n compareSelectionBy=\"deepEquals\"\n [lazyLoadOnInit]=\"lazyLoadOnInit\"\n [styleClass]=\"styleClass\"\n [tableStyle]=\"tableStyle\"\n [tableStyleClass]=\"tableStyleClass\"\n [customSort]=\"customSort\"\n [sortMode]=\"sortMode\"\n [globalFilterFields]=\"globalFilterFields\"\n [paginator]=\"paginator\"\n [showCurrentPageReport]=\"true\"\n [alwaysShowPaginator]=\"alwaysShowPaginator\"\n [rows]=\"rows\"\n [first]=\"first\"\n [totalRecords]=\"totalRecords\"\n [resetPageOnSort]=\"resetPageOnSort\"\n [resizableColumns]=\"resizableColumns\"\n [columnResizeMode]=\"columnResizeMode\"\n [showGridlines]=\"bordered\"\n currentPageReportTemplate=\"{first} - {last} of {totalRecords}\"\n (onPage)=\"onPageChange($event)\"\n (onSort)=\"onSort($event)\"\n (onFilter)=\"onFilter($event)\"\n (onLazyLoad)=\"onLazyLoaded($event)\"\n (sortFunction)=\"onSortFunction($event)\"\n (onNodeExpand)=\"onNodeExpanded($event)\"\n (onNodeCollapse)=\"onNodeCollapsed($event)\"\n (onNodeSelect)=\"onNodeSelected($event)\"\n (onNodeUnselect)=\"onNodeUnselected($event)\">\n @if (colgroupTemplate) {\n <ng-template pTemplate=\"colgroup\">\n <ng-container *ngTemplateOutlet=\"colgroupTemplate\"></ng-container>\n </ng-template>\n }\n @if (hasToolbar) {\n <ng-template pTemplate=\"caption\">\n @if (toolbarTemplate) {\n <ng-container *ngTemplateOutlet=\"toolbarTemplate\"></ng-container>\n }\n @if (!toolbarTemplate) {\n <div class=\"cps-treetable-tbar-left\">\n @if (toolbarIcon) {\n <div class=\"cps-treetable-tbar-icon\">\n <cps-icon\n [icon]=\"toolbarIcon\"\n [color]=\"toolbarIconColor\"></cps-icon>\n </div>\n }\n <div class=\"cps-treetable-tbar-title\">{{ toolbarTitle }}</div>\n @if (showGlobalFilter) {\n <div class=\"cps-treetable-tbar-global-filter\">\n <cps-input\n #globalFilterComp\n ariaLabel=\"Global filter\"\n prefixIcon=\"search\"\n [placeholder]=\"globalFilterPlaceholder\"\n (valueChanged)=\"onFilterGlobal($event)\"\n [clearable]=\"true\"\n [disabled]=\"loading\"\n [appearance]=\"\n toolbarSize === 'small' ? 'underlined' : 'outlined'\n \"\n [hideDetails]=\"true\">\n </cps-input>\n </div>\n }\n </div>\n <div class=\"cps-treetable-tbar-right\">\n @if (showRemoveBtnOnSelect && selectedRows.length > 0) {\n <div class=\"cps-treetable-tbar-btn-on-select\">\n <cps-button\n label=\"Remove\"\n [disabled]=\"removeBtnOnSelectDisabled\"\n color=\"calm\"\n type=\"borderless\"\n icon=\"remove\"\n [size]=\"toolbarSize\"\n (clicked)=\"removeSelected()\">\n </cps-button>\n </div>\n }\n @if (showAdditionalBtnOnSelect && selectedRows.length > 0) {\n <div class=\"cps-treetable-tbar-btn-on-select\">\n <cps-button\n [label]=\"additionalBtnOnSelectTitle\"\n [disabled]=\"additionalBtnOnSelectDisabled\"\n color=\"calm\"\n type=\"borderless\"\n [icon]=\"additionalBtnOnSelectIcon\"\n [size]=\"toolbarSize\"\n (clicked)=\"onClickAdditionalBtnOnSelect()\">\n </cps-button>\n </div>\n }\n @if (showActionBtn) {\n <div class=\"cps-treetable-tbar-action-btn\">\n <cps-button\n [label]=\"actionBtnTitle\"\n [disabled]=\"actionBtnDisabled\"\n color=\"calm\"\n type=\"outlined\"\n [icon]=\"actionBtnIcon\"\n [size]=\"toolbarSize\"\n (clicked)=\"onClickActionBtn()\">\n </cps-button>\n </div>\n }\n @if (showExportBtn) {\n <div class=\"cps-treetable-tbar-export-btn\">\n <cps-button\n label=\"Export\"\n [disabled]=\"exportBtnDisabled\"\n color=\"calm\"\n type=\"solid\"\n icon=\"export\"\n [size]=\"toolbarSize\"\n (clicked)=\"onExportData()\">\n </cps-button>\n </div>\n }\n @if (showColumnsToggleBtn && columns.length > 0) {\n <table-column-visibility-toggle\n [columns]=\"columns\"\n [selectedColumns]=\"selectedColumns\"\n [disabled]=\"columnsToggleBtnDisabled\"\n [colHeaderName]=\"colHeaderName\"\n (selectedColumnsChange)=\"onSelectedColumnsChange($event)\">\n </table-column-visibility-toggle>\n }\n @if (showDataReloadBtn) {\n <div class=\"cps-treetable-tbar-reload-btn\">\n <cps-button\n ariaLabel=\"Reload data\"\n icon=\"refresh\"\n type=\"borderless\"\n color=\"calm\"\n [size]=\"toolbarSize\"\n [disabled]=\"dataReloadBtnDisabled\"\n (clicked)=\"onReloadData()\">\n </cps-button>\n </div>\n }\n </div>\n }\n </ng-template>\n }\n\n @if (nestedHeaderTemplate; as columns) {\n <ng-template pTemplate=\"header\" let-columns>\n <ng-container\n *ngTemplateOutlet=\"\n nestedHeaderTemplate;\n context: { $implicit: columns }\n \"></ng-container>\n </ng-template>\n }\n\n @if (!nestedHeaderTemplate; as columns) {\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <!-- <th style=\"width: 3rem\" *ngIf=\"reorderableRows\"></th> -->\n @if (selectable) {\n <th\n scope=\"col\"\n cpsTTHdrSelectable\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\"></th>\n }\n @if (headerTemplate) {\n <ng-container\n *ngTemplateOutlet=\"\n headerTemplate;\n context: { $implicit: columns }\n \"></ng-container>\n }\n @if (!headerTemplate && columns.length > 0) {\n @if (sortable) {\n @if (filterableByColumns) {\n @for (col of columns; track col) {\n <th\n scope=\"col\"\n [cpsTTColSortable]=\"col[colFieldName]\"\n [cpsTTColFilter]=\"col[colFieldName]\"\n [filterType]=\"\n col[colFilterTypeName] ??\n (autoColumnFilterType\n ? (data | cpsTTDetectFilterType: col[colFieldName])\n : 'text')\n \"\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\">\n {{ col[colHeaderName] }}\n </th>\n }\n } @else {\n @for (col of columns; track col) {\n <th\n scope=\"col\"\n [cpsTTColSortable]=\"col[colFieldName]\"\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\">\n {{ col[colHeaderName] }}\n </th>\n }\n }\n }\n @if (!sortable) {\n @if (filterableByColumns) {\n @for (col of columns; track col) {\n <th\n scope=\"col\"\n [cpsTTColFilter]=\"col[colFieldName]\"\n [filterType]=\"\n col[colFilterTypeName] ??\n (autoColumnFilterType\n ? (data | cpsTTDetectFilterType: col[colFieldName])\n : 'text')\n \"\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\">\n {{ col[colHeaderName] }}\n </th>\n }\n } @else {\n @for (col of columns; track col) {\n <th\n scope=\"col\"\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\">\n {{ col[colHeaderName] }}\n </th>\n }\n }\n }\n }\n @if (showRowMenu && (showRowRemoveButton || showRowEditButton)) {\n <th\n scope=\"col\"\n class=\"cps-treetable-row-menu-cell\"\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\">\n <span class=\"cps-sr-only\">Row actions</span>\n </th>\n }\n </tr>\n </ng-template>\n }\n\n <ng-template\n pTemplate=\"body\"\n let-rowData=\"rowData\"\n let-columns=\"columns\"\n let-rowNode\n let-rowIndex=\"rowIndex\">\n <tr\n [ttRow]=\"rowNode\"\n [class.cps-treetable-row-selected]=\"\n selectable && primengTreeTable.isSelected(rowNode.node)\n \">\n <!-- <td *ngIf=\"reorderableRows\" class=\"cps-table-row-drag-handle-cell\">\n <span class=\"cps-table-row-drag-handle\" pReorderableRowHandle>\u2630</span>\n </td> -->\n @if (selectable) {\n <td [cpsTTRowSelectable]=\"rowNode\"></td>\n }\n @if (bodyTemplate) {\n <ng-container\n *ngTemplateOutlet=\"\n bodyTemplate;\n context: {\n $implicit: rowNode,\n rowIndex: rowIndex,\n columns: columns,\n rowData: rowData\n }\n \">\n </ng-container>\n }\n @if (!bodyTemplate) {\n @if (columns.length > 0) {\n @if (renderDataAsHTML) {\n @for (col of columns; track col; let i = $index) {\n @if (i === 0) {\n <td\n class=\"cps-treetable-html-cell\"\n [cpsTTRowToggler]=\"rowNode\"\n [innerHTML]=\"rowData[col[colFieldName]]\"></td>\n }\n @if (i > 0) {\n <td\n class=\"cps-treetable-html-cell\"\n [innerHTML]=\"rowData[col[colFieldName]]\"></td>\n }\n }\n } @else {\n @for (col of columns; track col; let i = $index) {\n @if (i === 0) {\n <td [cpsTTRowToggler]=\"rowNode\">\n {{\n col[colDateFormatName]\n ? (rowData[col[colFieldName]]\n | date: col[colDateFormatName])\n : rowData[col[colFieldName]]\n }}\n </td>\n }\n @if (i > 0) {\n <td>\n {{\n col[colDateFormatName]\n ? (rowData[col[colFieldName]]\n | date: col[colDateFormatName])\n : rowData[col[colFieldName]]\n }}\n </td>\n }\n }\n }\n }\n }\n @if (showRowMenu && (showRowRemoveButton || showRowEditButton)) {\n <td class=\"cps-treetable-row-menu-cell\">\n <table-row-menu\n (editRowBtnClicked)=\"onEditRowClicked(rowNode.node)\"\n (removeRowBtnClicked)=\"onRemoveRowClicked(rowNode.node)\"\n [showRowRemoveButton]=\"showRowRemoveButton\"\n [showRowEditButton]=\"showRowEditButton\"\n [customItems]=\"rowMenuItems\">\n </table-row-menu>\n </td>\n }\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td\n colspan=\"100\"\n role=\"status\"\n class=\"cps-treetable-empty-message-td\"\n [style.height]=\"emptyBodyHeight\">\n {{ emptyMessage }}\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"loadingicon\">\n <cps-loader [fullScreen]=\"false\" opacity=\"0\"></cps-loader>\n </ng-template>\n <ng-template pTemplate=\"paginatorleft\">\n <div class=\"cps-table-paginator-itms-per-page\">\n <span class=\"cps-table-paginator-items-per-page-title\"\n >Rows per page:\n </span>\n <cps-select\n ariaLabel=\"Set rows per page\"\n width=\"4rem\"\n [options]=\"rowOptions\"\n [hideDetails]=\"true\"\n [(ngModel)]=\"rows\"\n (valueChanged)=\"onRowsPerPageChanged()\"\n [returnObject]=\"false\"\n optionsClass=\"cps-paginator-page-options\">\n </cps-select>\n </div>\n </ng-template>\n</p-treeTable>\n", styles: [":host ::ng-deep .p-treetable{position:relative}:host ::ng-deep .p-component,:host ::ng-deep .p-component *{box-sizing:border-box}:host ::ng-deep .p-component{font-family:Source Sans Pro,sans-serif;font-size:.875rem;font-weight:400}:host ::ng-deep .p-treetable-scrollable-wrapper{position:relative;background:#fff}:host ::ng-deep .p-treetable-wrapper{background:#fff}:host ::ng-deep .cps-treetable-nonvirtual.cps-treetable-flex .p-treetable-flex-scrollable.cps-tbar-normal .p-treetable-scrollable-wrapper{height:calc(100% - 4.5rem)}:host ::ng-deep .cps-treetable-nonvirtual.cps-treetable-flex .p-treetable-flex-scrollable.cps-tbar-small .p-treetable-scrollable-wrapper{height:calc(100% - 2.6875rem)}:host ::ng-deep .cps-treetable-nonvirtual.cps-treetable-flex .p-treetable-flex-scrollable .p-treetable-scrollable-wrapper .p-treetable-scrollable-view .p-treetable-scrollable-header{display:contents}:host ::ng-deep .p-treetable .p-treetable-scrollable-header,:host ::ng-deep .p-treetable .p-treetable-scrollable-footer{background:#fff}:host ::ng-deep .p-treetable-scrollable-header,:host ::ng-deep .p-treetable-scrollable-footer{overflow:hidden}:host ::ng-deep .p-treetable table{border-collapse:collapse;width:100%;table-layout:fixed}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th{text-align:left;padding:1rem;border:.0625rem solid var(--cps-color-line-mid);border-width:0 0 .0625rem .0625rem;font-weight:400;color:var(--cps-color-text-mild);background:#fff;transition:box-shadow .2s;overflow:hidden}:host ::ng-deep .p-treetable-scrollable-body{overflow:auto!important;position:relative}:host ::ng-deep .cps-treetable-flex .p-treetable-scrollable-body{height:100%}:host ::ng-deep .p-treetable .p-treetable-tbody{background:#fff}:host ::ng-deep .p-treetable .p-treetable-tbody>tr{background:#fff;color:var(--cps-color-text-dark);transition:box-shadow .2s}:host ::ng-deep .p-treetable .p-treetable-tbody>tr.cps-treetable-row-selected{background-color:var(--cps-color-highlight-active)!important}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td{text-align:left;border:.0625rem solid var(--cps-color-line-mid);border-width:0 0 .0625rem 0;padding:1rem}:host ::ng-deep p-treetable:not(.cps-treetable-autolayout-calced) .p-treetable .p-treetable-tbody>tr>td{overflow:hidden}:host ::ng-deep .cps-treetable-autolayout-calced .p-treetable .p-treetable-scrollable-body .p-treetable-tbody>tr>td:not(.cps-treetable-row-toggler-cell):not(.cps-treetable-selectable-cell):not(.cps-treetable-row-menu-cell):not(.cps-treetable-empty-message-td){opacity:0;border-left-color:#fff}:host ::ng-deep .cps-treetable-autolayout-calced .p-treetable.p-treetable-striped .p-treetable-scrollable-body .p-treetable-tbody>tr:nth-child(odd)>td:not(.cps-treetable-row-toggler-cell):not(.cps-treetable-selectable-cell):not(.cps-treetable-row-menu-cell):not(.cps-treetable-empty-message-td){border-left-color:var(--cps-color-bg-light)}:host ::ng-deep .cps-treetable-autolayout-calced .p-treetable .p-treetable-scrollable-body .p-treetable-tbody>tr:hover>td:not(.cps-treetable-row-toggler-cell):not(.cps-treetable-selectable-cell):not(.cps-treetable-row-menu-cell):not(.cps-treetable-empty-message-td),:host ::ng-deep .cps-treetable-autolayout-calced .p-treetable .p-treetable-scrollable-body .p-treetable-tbody>tr:focus-visible>td:not(.cps-treetable-row-toggler-cell):not(.cps-treetable-selectable-cell):not(.cps-treetable-row-menu-cell):not(.cps-treetable-empty-message-td),:host ::ng-deep .cps-treetable-autolayout-calced .p-treetable .p-treetable-scrollable-body .p-treetable-tbody>tr:has(*:focus-visible)>td:not(.cps-treetable-row-toggler-cell):not(.cps-treetable-selectable-cell):not(.cps-treetable-row-menu-cell):not(.cps-treetable-empty-message-td){border-left-color:var(--cps-color-highlight-hover)}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:first-child{border-width:0 0 .0625rem .0625rem}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:last-child{border-width:0 .0625rem .0625rem 0}:host ::ng-deep .p-treetable-auto-layout table{table-layout:auto}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler{width:auto;height:auto;color:var(--cps-color-text-dark);border:0 none;background:transparent;border-radius:50%;margin-right:.5rem;padding:0}:host ::ng-deep .p-treetable-toggler{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;overflow:hidden;position:relative}:host ::ng-deep .p-ripple{overflow:hidden;position:relative}:host ::ng-deep .p-paginator-page:focus{outline:0 none;outline-offset:0;box-shadow:unset}:host ::ng-deep .p-paginator-page{text-align:left;background-color:transparent;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem;font-family:Source Sans Pro,sans-serif;border-radius:.375rem}:host ::ng-deep input[type=button],:host ::ng-deep input[type=submit],:host ::ng-deep input[type=reset],:host ::ng-deep input[type=file]::-webkit-file-upload-button,:host ::ng-deep button{border-radius:0}:host ::ng-deep .p-treetable .p-treetable-tbody>tr:focus{outline:none}:host ::ng-deep .p-treetable .p-treetable-tbody>tr:focus-visible,:host ::ng-deep .p-treetable .p-treetable-tbody>tr:has(*:focus-visible){outline:.0625rem solid var(--cps-color-calm);outline-offset:-.0625rem}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler:enabled:hover{color:var(--cps-color-calm);border-color:transparent;background:unset}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler:focus{outline:0 none;outline-offset:0;box-shadow:unset}:host ::ng-deep .p-treetable .p-paginator{border-width:0 .0625rem .0625rem .0625rem;border-radius:0}:host ::ng-deep .p-paginator{background:#fff;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;color:var(--cps-color-text-dark);padding:1rem;border:.0625rem solid var(--cps-color-line-mid)}:host ::ng-deep .p-paginator-content-start{margin-right:auto}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page{display:inline-flex;align-items:center}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page .cps-table-paginator-items-per-page-title{font-family:Source Sans Pro,sans-serif;font-size:.875rem;margin-right:.75rem;cursor:default}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page .cps-select-box{min-height:2rem!important;background:transparent!important}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page .cps-select-box .cps-select-box-items{font-size:.875rem!important}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page .cps-select-box .cps-select-box-chevron{padding:.3125rem!important}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page .cps-select-box .cps-select-box-chevron .cps-icon{width:.875rem;height:.875rem}:host ::ng-deep .p-paginator .p-paginator-current{background-color:transparent;border:0 none;color:var(--cps-color-text-dark);min-width:3rem;margin:.143rem;padding:0 .5rem;font-family:Source Sans Pro,sans-serif;font-size:.875rem;height:unset}:host ::ng-deep .p-paginator-page,:host ::ng-deep .p-paginator-next,:host ::ng-deep .p-paginator-last,:host ::ng-deep .p-paginator-first,:host ::ng-deep .p-paginator-prev,:host ::ng-deep .p-paginator-current{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;-webkit-user-select:none;user-select:none;position:relative}:host ::ng-deep .p-paginator-current{cursor:default}:host ::ng-deep .p-paginator-first:focus,:host ::ng-deep .p-paginator-prev:focus,:host ::ng-deep .p-paginator-next:focus,:host ::ng-deep .p-paginator-last:focus,:host ::ng-deep .p-paginator-page:focus{z-index:1;outline:0 none;box-shadow:unset}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-page:focus-visible{overflow:visible;outline:none;position:relative}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-page:focus-visible:before,:host ::ng-deep .p-paginator-page:focus-visible:after{content:\"\";position:absolute;border-radius:.25rem}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-page:focus-visible:before{inset:-.1875rem;border:.0625rem solid var(--cps-color-calm)}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-page:focus-visible:after{inset:-.25rem;border:.0625rem solid var(--cps-color-calm-highlighten)}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible.suppress-focus-visible:after,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible.suppress-focus-visible:after,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible.suppress-focus-visible:after,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible.suppress-focus-visible:after,:host ::ng-deep .p-paginator-page:focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-paginator-page:focus-visible.suppress-focus-visible:after{display:none}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-page:not(.p-paginator-page-selected):focus-visible{background:var(--cps-color-highlight-hover)}:host ::ng-deep .p-paginator .p-paginator-first:not(.p-disabled):not(.p-paginator-page-selected):hover,:host ::ng-deep .p-paginator .p-paginator-prev:not(.p-disabled):not(.p-paginator-page-selected):hover,:host ::ng-deep .p-paginator .p-paginator-next:not(.p-disabled):not(.p-paginator-page-selected):hover,:host ::ng-deep .p-paginator .p-paginator-last:not(.p-disabled):not(.p-paginator-page-selected):hover{background:var(--cps-color-highlight-hover);border-color:unset}:host ::ng-deep .p-paginator .p-paginator-first:not(.p-disabled):not(.p-paginator-page-selected):active,:host ::ng-deep .p-paginator .p-paginator-prev:not(.p-disabled):not(.p-paginator-page-selected):active,:host ::ng-deep .p-paginator .p-paginator-next:not(.p-disabled):not(.p-paginator-page-selected):active,:host ::ng-deep .p-paginator .p-paginator-last:not(.p-disabled):not(.p-paginator-page-selected):active{background:var(--cps-color-highlight-active)}:host ::ng-deep .p-paginator .p-paginator-first,:host ::ng-deep .p-paginator .p-paginator-prev,:host ::ng-deep .p-paginator .p-paginator-next,:host ::ng-deep .p-paginator .p-paginator-last{background-color:transparent;border:.0625rem solid var(--cps-color-text-dark);border-radius:.25rem;color:var(--cps-color-text-dark);min-width:2rem;height:2rem;margin:.143rem;transition:box-shadow .2s}:host ::ng-deep .p-disabled,:host ::ng-deep .p-disabled *{cursor:default!important;pointer-events:none}:host ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page.p-paginator-page-selected{background:var(--cps-color-calm);border-color:var(--cps-color-calm);color:#fff}:host ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page:not(.p-paginator-page-selected):hover{background:var(--cps-color-highlight-hover);border-color:unset}:host ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page:not(.p-paginator-page-selected):active{background:var(--cps-color-highlight-active)}:host ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page{background-color:transparent;border:.0625rem solid var(--cps-color-text-dark);border-radius:.25rem;color:var(--cps-color-text-dark);min-width:2rem;height:2rem;margin:.143rem;transition:box-shadow .2s}:host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:.4}:host ::ng-deep .cps-treetable-empty-message-td{text-align:center!important;font-weight:600;background:#fff}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-header{border-width:.0625rem .0625rem 0 .0625rem}:host ::ng-deep .p-treetable .p-treetable-header{font-weight:600;display:flex;justify-content:space-between;align-items:center;padding:0 .625rem!important;border:unset;background:unset;border-top:.0625rem solid var(--cps-color-line-mid);border-right:.0625rem solid var(--cps-color-line-mid);border-left:.25rem solid var(--cps-color-surprise)!important;border-radius:.25rem .25rem 0 0;font-size:1rem;line-height:150%;background-color:#fff;color:var(--cps-color-text-darkest);overflow:auto}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-left{display:flex;align-items:center}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-left .cps-treetable-tbar-global-filter{margin-left:.75rem}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-left .cps-treetable-tbar-icon{display:flex;margin-right:.5rem}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-left .cps-treetable-tbar-title{cursor:default}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-right{display:flex;align-items:center}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-right .cps-treetable-tbar-action-btn,:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-right .cps-treetable-tbar-export-btn{margin-right:.25rem;margin-left:.25rem}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-right .cps-treetable-tbar-btn-on-select,:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-right .cps-treetable-tbar-reload-btn{margin-right:.125rem;margin-left:.125rem}:host ::ng-deep .cps-tbar-small.p-treetable .p-treetable-header{min-height:2.6875rem}:host ::ng-deep .cps-tbar-normal.p-treetable .p-treetable-header{min-height:4.5rem}:host ::ng-deep .p-treetable .p-treetable-footer{background:#fff;color:#343a40;border:.0625rem solid var(--cps-color-line-mid);border-width:0 0 .0625rem 0;padding:1rem;font-weight:700}:host ::ng-deep .p-treetable .p-treetable-tfoot>tr>td{text-align:left;padding:1rem;border:.0625rem solid var(--cps-color-line-mid);border-width:0 0 .0625rem 0;font-weight:700;color:#343a40;background:#fff}:host ::ng-deep .p-treetable .p-sortable-column:not(.p-highlight):hover .cps-sortable-column-icon.sort-unsorted .sort-unsorted-arrow-up,:host ::ng-deep .p-treetable .p-sortable-column cps-sort-icon:focus-visible .cps-sortable-column-icon.sort-unsorted .sort-unsorted-arrow-up{border-bottom-color:var(--cps-color-text-mild)}:host ::ng-deep .p-treetable .p-sortable-column:not(.p-highlight):hover .cps-sortable-column-icon.sort-unsorted .sort-unsorted-arrow-down,:host ::ng-deep .p-treetable .p-sortable-column cps-sort-icon:focus-visible .cps-sortable-column-icon.sort-unsorted .sort-unsorted-arrow-down{border-top-color:var(--cps-color-text-mild)}:host ::ng-deep .p-icon-wrapper{display:inline-flex}:host ::ng-deep .p-icon{display:inline-block;width:1rem;height:1rem}:host ::ng-deep .p-paginator .p-paginator-first-icon,:host ::ng-deep .p-paginator .p-paginator-prev-icon,:host ::ng-deep .p-paginator .p-paginator-next-icon,:host ::ng-deep .p-paginator .p-paginator-last-icon{width:.875rem;height:.875rem}:host ::ng-deep .p-treetable .p-sortable-column .cps-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;vertical-align:top;color:var(--cps-color-calm);margin-left:.25rem}:host ::ng-deep .p-link{text-align:left;background-color:transparent;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:none;user-select:none}:host ::ng-deep .p-treetable .p-sortable-column{cursor:pointer;-webkit-user-select:none;user-select:none}:host ::ng-deep .p-treetable .p-sortable-column:focus{box-shadow:none;outline:0 none}:host ::ng-deep .p-treetable .p-sortable-column:focus-visible{overflow:visible;outline:none;position:relative}:host ::ng-deep .p-treetable .p-sortable-column:focus-visible:before,:host ::ng-deep .p-treetable .p-sortable-column:focus-visible:after{content:\"\";position:absolute;border-radius:.25rem}:host ::ng-deep .p-treetable .p-sortable-column:focus-visible:before{inset:-.1875rem;border:.0625rem solid var(--cps-color-calm)}:host ::ng-deep .p-treetable .p-sortable-column:focus-visible:after{inset:-.25rem;border:.0625rem solid var(--cps-color-calm-highlighten)}:host ::ng-deep .p-treetable .p-sortable-column:focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-treetable .p-sortable-column:focus-visible.suppress-focus-visible:after{display:none}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler.p-icon{width:2rem;height:2rem}:host ::ng-deep .p-treetable .p-treetable-tbody>tr.p-highlight{background:#eff6ff;color:#1d4ed8}:host ::ng-deep .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody>tr:not(.p-highlight):hover,:host ::ng-deep .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody>tr:not(.p-highlight):focus-visible,:host ::ng-deep .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody>tr:not(.p-highlight):has(*:focus-visible){background:var(--cps-color-highlight-hover)}:host ::ng-deep .p-treetable-hoverable-rows .p-treetable-tbody>tr{cursor:auto}:host ::ng-deep .p-treetable .p-column-resizer-helper{background:var(--cps-color-calm);width:.0625rem}:host ::ng-deep .p-treetable .p-column-resizer{border-width:.0625rem}:host ::ng-deep .p-treetable .p-column-resizer:focus{outline:none}:host ::ng-deep .p-treetable .p-column-resizer.cps-col-resizer-focused{background:var(--cps-color-calm)!important;opacity:1!important}:host ::ng-deep .p-treetable .p-treetable-mask.p-overlay-mask{position:absolute;display:flex;align-items:center;justify-content:center;z-index:1001;top:0;left:0;width:100%;height:100%;background-color:#fff;transition-duration:.2s;border:.0625rem solid var(--cps-color-line-mid)}:host ::ng-deep .p-treetable.cps-tbar-small .p-treetable-mask.p-overlay-mask{top:2.6875rem;height:calc(100% - 2.6875rem)}:host ::ng-deep .p-treetable.cps-tbar-normal .p-treetable-mask.p-overlay-mask{top:4.5rem;height:calc(100% - 4.5rem)}:host ::ng-deep .cps-treetable-loading .p-treetable{min-height:12.5rem}:host ::ng-deep .cps-treetable-loading .p-treetable.cps-tbar-normal{min-height:17rem}:host ::ng-deep .cps-treetable-loading .p-treetable.cps-tbar-small{min-height:15.1875rem}:host ::ng-deep .cps-table-col-filter-menu-open .cps-table-col-filter-menu-button{color:var(--cps-color-text-dark)}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-footer{border-width:0 .0625rem .0625rem .0625rem}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-top{border-width:0 .0625rem 0 .0625rem}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-bottom{border-width:0 .0625rem .0625rem .0625rem}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th,:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-thead>tr>th{border-width:.0625rem 0 .0625rem .0625rem}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th:last-child{border-width:.0625rem}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-tbody>tr>td{border-width:0 0 .0625rem .0625rem}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-tfoot>tr>td{border-width:.0625rem}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-tbody>tr>td:last-child{border-width:0 .0625rem .0625rem .0625rem}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:only-child{border-width:0 .0625rem .0625rem .0625rem}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th{padding:.5rem}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-tbody>tr>td{padding:.5rem}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-tfoot>tr>td{padding:.5rem}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-footer{padding:.5rem}:host ::ng-deep .p-treetable.p-treetable-lg .p-treetable-thead>tr>th{padding:1.25rem}:host ::ng-deep .p-treetable.p-treetable-lg .p-treetable-tbody>tr>td{padding:1.25rem}:host ::ng-deep .p-treetable.p-treetable-lg .p-treetable-tfoot>tr>td{padding:1.25rem}:host ::ng-deep .p-treetable.p-treetable-lg .p-treetable-footer{padding:1.25rem}:host ::ng-deep .p-treetable.p-treetable-striped .p-treetable-tbody>tr:nth-child(odd){background:var(--cps-color-bg-light)}:host ::ng-deep .p-treetable.p-treetable-striped .p-treetable-tbody>tr:nth-child(2n){background:#fff}:host ::ng-deep .cps-treetable-row-menu-cell{width:3.4375rem;border-left:none!important}:host ::ng-deep .cps-treetable-selectable-cell{width:3.4375rem;text-align:center!important}:host ::ng-deep .p-checkbox{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:bottom;position:relative;width:1.125rem;height:1.125rem}:host ::ng-deep .p-hidden-accessible{border:0;clip:rect(0 0 0 0);height:.0625rem;margin:-.0625rem;overflow:hidden;padding:0;position:absolute;width:.0625rem}:host ::ng-deep .p-hidden-accessible input,:host ::ng-deep .p-hidden-accessible select{transform:scale(0)}:host ::ng-deep .p-checkbox .p-checkbox-box{background:#fff;width:1.125rem;height:1.125rem;color:var(--cps-color-text-dark);border:.125rem solid var(--cps-color-text-mild);border-radius:.125rem;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}:host ::ng-deep .p-checkbox-box{display:flex;justify-content:center;align-items:center}:host ::ng-deep .p-checkbox.p-checkbox-checked .p-checkbox-box{border-color:var(--cps-color-calm);background:var(--cps-color-calm)}:host ::ng-deep .p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box,:host ::ng-deep .p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:focus) .p-checkbox-box{border-color:var(--cps-color-calm);background:var(--cps-color-calm);color:#fff}:host ::ng-deep .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box,:host ::ng-deep .p-checkbox:not(.p-disabled):has(.p-checkbox-input:focus) .p-checkbox-box{border-color:var(--cps-color-calm)}:host ::ng-deep .p-checkbox-input:focus-visible{outline:none}:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible){outline:none;position:relative}:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible):before,:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible):after{content:\"\";position:absolute;border-radius:.25rem}:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible):before{inset:-.1875rem;border:.0625rem solid var(--cps-color-calm)}:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible):after{inset:-.25rem;border:.0625rem solid var(--cps-color-calm-highlighten)}:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible).suppress-focus-visible:before,:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible).suppress-focus-visible:after{display:none}:host ::ng-deep .p-checkbox .p-checkbox-box .p-icon{width:.875rem;height:.875rem}:host ::ng-deep .p-checkbox .p-checkbox-box .p-checkbox-icon{transition-duration:.2s;color:#fff;font-size:.875rem}:host ::ng-deep .p-checkbox .p-checkbox-box minusicon .p-checkbox-icon{color:var(--cps-color-calm);width:.75rem}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td p-treetablecheckbox .p-checkbox{margin-right:0}:host ::ng-deep .cps-treetable-html-cell *:focus{outline:none}:host ::ng-deep .cps-treetable-html-cell *:focus-visible{outline:none;position:relative}:host ::ng-deep .cps-treetable-html-cell *:focus-visible:before,:host ::ng-deep .cps-treetable-html-cell *:focus-visible:after{content:\"\";position:absolute;border-radius:.375rem}:host ::ng-deep .cps-treetable-html-cell *:focus-visible:before{inset:-.125rem;border:.0625rem solid var(--cps-color-calm)}:host ::ng-deep .cps-treetable-html-cell *:focus-visible:after{inset:-.25rem;border:.0625rem solid var(--cps-color-calm-highlighten)}:host ::ng-deep .cps-treetable-html-cell *:focus-visible.suppress-focus-visible:before,:host ::ng-deep .cps-treetable-html-cell *:focus-visible.suppress-focus-visible:after{display:none}::ng-deep .p-scrollbar-measure{width:6.25rem;height:6.25rem;overflow:scroll;position:absolute;top:-9999px}::ng-deep .cps-select-options-menu.cps-paginator-page-options .cps-select-options-option{font-size:.875rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TreeTableModule }, { kind: "component", type: i2$2.TreeTable, selector: "p-treeTable, p-treetable, p-tree-table", inputs: ["columns", "styleClass", "tableStyle", "tableStyleClass", "autoLayout", "lazy", "lazyLoadOnInit", "paginator", "rows", "first", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "customSort", "selectionMode", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "compareSelectionBy", "rowHover", "loading", "loadingIcon", "showLoader", "scrollable", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "frozenColumns", "resizableColumns", "columnResizeMode", "reorderableColumns", "contextMenu", "rowTrackBy", "filters", "globalFilterFields", "filterDelay", "filterMode", "filterLocale", "paginatorLocale", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "value", "virtualRowHeight", "selectionKeys", "showGridlines"], outputs: ["selectionChange", "contextMenuSelectionChange", "onFilter", "onNodeExpand", "onNodeCollapse", "onPage", "onSort", "onLazyLoad", "sortFunction", "onColResize", "onColReorder", "onNodeSelect", "onNodeUnselect", "onContextMenuSelect", "onHeaderCheckboxToggle", "onEditInit", "onEditComplete", "onEditCancel", "selectionKeysChange"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i2$2.TTRow, selector: "[ttRow]", inputs: ["ttRow"] }, { kind: "component", type: CpsInputComponent, selector: "cps-input", inputs: ["label", "ariaLabel", "inputRole", "ariaExpanded", "ariaHasPopup", "ariaControls", "hint", "placeholder", "disabled", "readonly", "autocomplete", "spellcheck", "width", "type", "loading", "clearable", "prefixIcon", "prefixIconClickable", "prefixIconSize", "prefixIconAriaLabel", "prefixText", "hideDetails", "persistentClear", "error", "infoTooltip", "infoTooltipClass", "infoTooltipMaxWidth", "infoTooltipPersistent", "infoTooltipPosition", "appearance", "valueToDisplay", "value"], outputs: ["valueChanged", "focused", "prefixIconClicked", "blurred", "cleared", "enterClicked"] }, { kind: "component", type: CpsButtonComponent, selector: "cps-button", inputs: ["color", "contentColor", "borderRadius", "type", "nativeType", "label", "ariaLabel", "ariaHaspopup", "ariaExpanded", "icon", "iconPosition", "size", "width", "height", "disabled", "loading"], outputs: ["clicked"] }, { kind: "component", type: CpsIconComponent, selector: "cps-icon", inputs: ["icon", "size", "color", "ariaLabel"] }, { kind: "component", type: TableColumnVisibilityToggleComponent, selector: "table-column-visibility-toggle", inputs: ["columns", "selectedColumns", "disabled", "colHeaderName"], outputs: ["selectedColumnsChange"] }, { kind: "component", type: CpsSelectComponent, selector: "cps-select", inputs: ["label", "ariaLabel", "placeholder", "hint", "returnObject", "multiple", "disabled", "width", "selectAll", "chips", "closableChips", "clearable", "openOnClear", "options", "keepInitialOrder", "optionLabel", "optionValue", "optionInfo", "optionIcon", "optionIconColor", "hideDetails", "persistentClear", "prefixIcon", "prefixIconSize", "loading", "virtualScroll", "numToleratedItems", "infoTooltip", "infoTooltipClass", "infoTooltipMaxWidth", "infoTooltipPersistent", "infoTooltipPosition", "optionsClass", "appearance", "showChevron", "value"], outputs: ["valueChanged", "focused", "blurred"] }, { kind: "component", type: CpsLoaderComponent, selector: "cps-loader", inputs: ["fullScreen", "opacity", "labelColor", "showLabel", "label", "ariaLabel", "doneAriaLabel"] }, { kind: "directive", type: CpsTreeTableColumnSortableDirective, selector: "[cpsTTColSortable]", inputs: ["cpsTTColSortable"] }, { kind: "directive", type: CpsTreeTableColumnFilterDirective, selector: "[cpsTTColFilter]", inputs: ["cpsTTColFilter", "filterType", "filterPersistent", "filterShowClearButton", "filterShowApplyButton", "filterShowCloseButton", "filterShowMatchModes", "filterMatchModes", "filterShowOperator", "filterHeaderTitle", "filterHideOnClear", "filterCategoryOptions", "filterAsButtonToggle", "filterSingleSelection", "filterPlaceholder"], exportAs: ["cpsTTColFilter"] }, { kind: "directive", type: CpsTreeTableHeaderSelectableDirective, selector: "[cpsTTHdrSelectable]" }, { kind: "directive", type: CpsTreeTableRowSelectableDirective, selector: "[cpsTTRowSelectable]", inputs: ["cpsTTRowSelectable"] }, { kind: "directive", type: CpsTreetableRowTogglerDirective, selector: "[cpsTTRowToggler]", inputs: ["cpsTTRowToggler"] }, { kind: "directive", type: CpsTreeTableColumnResizableDirective, selector: "[cpsTTColResizable]", inputs: ["cpsTTColResizableDisabled"] }, { kind: "directive", type: TreeTableUnsortDirective, selector: "[ttWithUnsort]" }, { kind: "component", type: TableRowMenuComponent, selector: "table-row-menu", inputs: ["showRowRemoveButton", "customItems", "showRowEditButton"], outputs: ["editRowBtnClicked", "removeRowBtnClicked"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: CpsTreeTableDetectFilterTypePipe, name: "cpsTTDetectFilterType" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16802
|
+
], queries: [{ propertyName: "toolbarTemplate", first: true, predicate: ["toolbar"], descendants: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"], descendants: true }, { propertyName: "nestedHeaderTemplate", first: true, predicate: ["nestedHeader"], descendants: true }, { propertyName: "bodyTemplate", first: true, predicate: ["body"], descendants: true }, { propertyName: "colgroupTemplate", first: true, predicate: ["colgroup"], descendants: true }], viewQueries: [{ propertyName: "primengTreeTable", first: true, predicate: ["primengTreeTable"], descendants: true, static: true }, { propertyName: "globalFilterComp", first: true, predicate: ["globalFilterComp"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<p-treeTable\n #primengTreeTable\n ttWithUnsort\n [pt]=\"treeTablePassthrough\"\n [class.cps-treetable-loading]=\"loading\"\n [class.cps-treetable-flex]=\"defScrollHeight === 'flex'\"\n [class.cps-treetable-nonvirtual]=\"!virtualScroll\"\n [class.cps-treetable-autolayout-calced]=\"autoLayout && scrollable\"\n [value]=\"data\"\n [autoLayout]=\"autoLayout && !scrollable\"\n [scrollable]=\"scrollable\"\n [scrollHeight]=\"scrollHeight\"\n [virtualScroll]=\"virtualScroll\"\n [virtualScrollItemSize]=\"virtualScrollItemSize\"\n [virtualScrollOptions]=\"{\n numToleratedItems: numToleratedItems,\n autoSize: false\n }\"\n [columns]=\"selectedColumns\"\n [loading]=\"loading\"\n [attr.aria-busy]=\"loading || null\"\n [rowHover]=\"rowHover\"\n [lazy]=\"lazy\"\n [(selection)]=\"selectedRows\"\n (selectionChange)=\"onSelectionChanged($event)\"\n compareSelectionBy=\"deepEquals\"\n [lazyLoadOnInit]=\"lazyLoadOnInit\"\n [styleClass]=\"styleClass\"\n [tableStyle]=\"tableStyle\"\n [tableStyleClass]=\"tableStyleClass\"\n [customSort]=\"customSort\"\n [sortMode]=\"sortMode\"\n [globalFilterFields]=\"globalFilterFields\"\n [paginator]=\"paginator\"\n [showCurrentPageReport]=\"true\"\n [alwaysShowPaginator]=\"alwaysShowPaginator\"\n [rows]=\"rows\"\n [first]=\"first\"\n [totalRecords]=\"totalRecords\"\n [resetPageOnSort]=\"resetPageOnSort\"\n [resizableColumns]=\"resizableColumns\"\n [columnResizeMode]=\"columnResizeMode\"\n [showGridlines]=\"bordered\"\n currentPageReportTemplate=\"{first} - {last} of {totalRecords}\"\n (onPage)=\"onPageChange($event)\"\n (onSort)=\"onSort($event)\"\n (onFilter)=\"onFilter($event)\"\n (onLazyLoad)=\"onLazyLoaded($event)\"\n (sortFunction)=\"onSortFunction($event)\"\n (onNodeExpand)=\"onNodeExpanded($event)\"\n (onNodeCollapse)=\"onNodeCollapsed($event)\"\n (onNodeSelect)=\"onNodeSelected($event)\"\n (onNodeUnselect)=\"onNodeUnselected($event)\"\n (onColResize)=\"onColumnResized($event)\">\n @if (colgroupTemplate) {\n <ng-template pTemplate=\"colgroup\">\n <ng-container *ngTemplateOutlet=\"colgroupTemplate\"></ng-container>\n </ng-template>\n }\n @if (hasToolbar) {\n <ng-template pTemplate=\"caption\">\n @if (toolbarTemplate) {\n <ng-container *ngTemplateOutlet=\"toolbarTemplate\"></ng-container>\n }\n @if (!toolbarTemplate) {\n <div class=\"cps-treetable-tbar-left\">\n @if (toolbarIcon) {\n <div class=\"cps-treetable-tbar-icon\">\n <cps-icon\n [icon]=\"toolbarIcon\"\n [color]=\"toolbarIconColor\"></cps-icon>\n </div>\n }\n <div class=\"cps-treetable-tbar-title\">{{ toolbarTitle }}</div>\n @if (showGlobalFilter) {\n <div class=\"cps-treetable-tbar-global-filter\">\n <cps-input\n #globalFilterComp\n ariaLabel=\"Global filter\"\n prefixIcon=\"search\"\n [placeholder]=\"globalFilterPlaceholder\"\n (valueChanged)=\"onFilterGlobal($event)\"\n [clearable]=\"true\"\n [disabled]=\"loading\"\n [appearance]=\"\n toolbarSize === 'small' ? 'underlined' : 'outlined'\n \"\n [hideDetails]=\"true\">\n </cps-input>\n </div>\n }\n </div>\n <div class=\"cps-treetable-tbar-right\">\n @if (showRemoveBtnOnSelect && selectedRows.length > 0) {\n <div class=\"cps-treetable-tbar-btn-on-select\">\n <cps-button\n label=\"Remove\"\n [disabled]=\"removeBtnOnSelectDisabled\"\n color=\"calm\"\n type=\"borderless\"\n icon=\"remove\"\n [size]=\"toolbarSize\"\n (clicked)=\"removeSelected()\">\n </cps-button>\n </div>\n }\n @if (showAdditionalBtnOnSelect && selectedRows.length > 0) {\n <div class=\"cps-treetable-tbar-btn-on-select\">\n <cps-button\n [label]=\"additionalBtnOnSelectTitle\"\n [disabled]=\"additionalBtnOnSelectDisabled\"\n color=\"calm\"\n type=\"borderless\"\n [icon]=\"additionalBtnOnSelectIcon\"\n [size]=\"toolbarSize\"\n (clicked)=\"onClickAdditionalBtnOnSelect()\">\n </cps-button>\n </div>\n }\n @if (showActionBtn) {\n <div class=\"cps-treetable-tbar-action-btn\">\n <cps-button\n [label]=\"actionBtnTitle\"\n [disabled]=\"actionBtnDisabled\"\n color=\"calm\"\n type=\"outlined\"\n [icon]=\"actionBtnIcon\"\n [size]=\"toolbarSize\"\n (clicked)=\"onClickActionBtn()\">\n </cps-button>\n </div>\n }\n @if (showExportBtn) {\n <div class=\"cps-treetable-tbar-export-btn\">\n <cps-button\n label=\"Export\"\n [disabled]=\"exportBtnDisabled\"\n color=\"calm\"\n type=\"solid\"\n icon=\"export\"\n [size]=\"toolbarSize\"\n (clicked)=\"onExportData()\">\n </cps-button>\n </div>\n }\n @if (showColumnsToggleBtn && columns.length > 0) {\n <table-column-visibility-toggle\n [columns]=\"columns\"\n [selectedColumns]=\"selectedColumns\"\n [disabled]=\"columnsToggleBtnDisabled\"\n [colHeaderName]=\"colHeaderName\"\n (selectedColumnsChange)=\"onSelectedColumnsChange($event)\">\n </table-column-visibility-toggle>\n }\n @if (showDataReloadBtn) {\n <div class=\"cps-treetable-tbar-reload-btn\">\n <cps-button\n ariaLabel=\"Reload data\"\n icon=\"refresh\"\n type=\"borderless\"\n color=\"calm\"\n [size]=\"toolbarSize\"\n [disabled]=\"dataReloadBtnDisabled\"\n (clicked)=\"onReloadData()\">\n </cps-button>\n </div>\n }\n </div>\n }\n </ng-template>\n }\n\n @if (nestedHeaderTemplate; as columns) {\n <ng-template pTemplate=\"header\" let-columns>\n <ng-container\n *ngTemplateOutlet=\"\n nestedHeaderTemplate;\n context: { $implicit: columns }\n \"></ng-container>\n </ng-template>\n }\n\n @if (!nestedHeaderTemplate; as columns) {\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <!-- <th style=\"width: 3rem\" *ngIf=\"reorderableRows\"></th> -->\n @if (selectable) {\n <th\n scope=\"col\"\n cpsTTHdrSelectable\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\"></th>\n }\n @if (headerTemplate) {\n <ng-container\n *ngTemplateOutlet=\"\n headerTemplate;\n context: { $implicit: columns }\n \"></ng-container>\n }\n @if (!headerTemplate && columns.length > 0) {\n @if (sortable) {\n @if (filterableByColumns) {\n @for (col of columns; track col) {\n <th\n scope=\"col\"\n [cpsTTColSortable]=\"col[colFieldName]\"\n [cpsTTColFilter]=\"col[colFieldName]\"\n [filterType]=\"\n col[colFilterTypeName] ??\n (autoColumnFilterType\n ? (data | cpsTTDetectFilterType: col[colFieldName])\n : 'text')\n \"\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\">\n {{ col[colHeaderName] }}\n </th>\n }\n } @else {\n @for (col of columns; track col) {\n <th\n scope=\"col\"\n [cpsTTColSortable]=\"col[colFieldName]\"\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\">\n {{ col[colHeaderName] }}\n </th>\n }\n }\n }\n @if (!sortable) {\n @if (filterableByColumns) {\n @for (col of columns; track col) {\n <th\n scope=\"col\"\n [cpsTTColFilter]=\"col[colFieldName]\"\n [filterType]=\"\n col[colFilterTypeName] ??\n (autoColumnFilterType\n ? (data | cpsTTDetectFilterType: col[colFieldName])\n : 'text')\n \"\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\">\n {{ col[colHeaderName] }}\n </th>\n }\n } @else {\n @for (col of columns; track col) {\n <th\n scope=\"col\"\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\">\n {{ col[colHeaderName] }}\n </th>\n }\n }\n }\n }\n @if (showRowMenu && (showRowRemoveButton || showRowEditButton)) {\n <th\n scope=\"col\"\n class=\"cps-treetable-row-menu-cell\"\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\">\n <span class=\"cps-sr-only\">Row actions</span>\n </th>\n }\n </tr>\n </ng-template>\n }\n\n <ng-template\n pTemplate=\"body\"\n let-rowData=\"rowData\"\n let-columns=\"columns\"\n let-rowNode\n let-rowIndex=\"rowIndex\">\n <tr\n [ttRow]=\"rowNode\"\n [class.cps-treetable-row-selected]=\"\n selectable && primengTreeTable.isSelected(rowNode.node)\n \">\n <!-- <td *ngIf=\"reorderableRows\" class=\"cps-table-row-drag-handle-cell\">\n <span class=\"cps-table-row-drag-handle\" pReorderableRowHandle>\u2630</span>\n </td> -->\n @if (selectable) {\n <td [cpsTTRowSelectable]=\"rowNode\"></td>\n }\n @if (bodyTemplate) {\n <ng-container\n *ngTemplateOutlet=\"\n bodyTemplate;\n context: {\n $implicit: rowNode,\n rowIndex: rowIndex,\n columns: columns,\n rowData: rowData\n }\n \">\n </ng-container>\n }\n @if (!bodyTemplate) {\n @if (columns.length > 0) {\n @if (renderDataAsHTML) {\n @for (col of columns; track col; let i = $index) {\n @if (i === 0) {\n <td\n class=\"cps-treetable-html-cell\"\n [cpsTTRowToggler]=\"rowNode\"\n [innerHTML]=\"rowData[col[colFieldName]]\"></td>\n }\n @if (i > 0) {\n <td\n class=\"cps-treetable-html-cell\"\n [innerHTML]=\"rowData[col[colFieldName]]\"></td>\n }\n }\n } @else {\n @for (col of columns; track col; let i = $index) {\n @if (i === 0) {\n <td [cpsTTRowToggler]=\"rowNode\">\n {{\n col[colDateFormatName]\n ? (rowData[col[colFieldName]]\n | date: col[colDateFormatName])\n : rowData[col[colFieldName]]\n }}\n </td>\n }\n @if (i > 0) {\n <td>\n {{\n col[colDateFormatName]\n ? (rowData[col[colFieldName]]\n | date: col[colDateFormatName])\n : rowData[col[colFieldName]]\n }}\n </td>\n }\n }\n }\n }\n }\n @if (showRowMenu && (showRowRemoveButton || showRowEditButton)) {\n <td class=\"cps-treetable-row-menu-cell\">\n <table-row-menu\n (editRowBtnClicked)=\"onEditRowClicked(rowNode.node)\"\n (removeRowBtnClicked)=\"onRemoveRowClicked(rowNode.node)\"\n [showRowRemoveButton]=\"showRowRemoveButton\"\n [showRowEditButton]=\"showRowEditButton\"\n [customItems]=\"rowMenuItems\">\n </table-row-menu>\n </td>\n }\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td\n colspan=\"100\"\n role=\"status\"\n class=\"cps-treetable-empty-message-td\"\n [style.height]=\"emptyBodyHeight\">\n {{ emptyMessage }}\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"loadingicon\">\n <cps-loader [fullScreen]=\"false\" opacity=\"0\"></cps-loader>\n </ng-template>\n <ng-template pTemplate=\"paginatorleft\">\n <div class=\"cps-table-paginator-itms-per-page\">\n <span class=\"cps-table-paginator-items-per-page-title\"\n >Rows per page:\n </span>\n <cps-select\n ariaLabel=\"Set rows per page\"\n width=\"4rem\"\n [options]=\"rowOptions\"\n [hideDetails]=\"true\"\n [(ngModel)]=\"rows\"\n (valueChanged)=\"onRowsPerPageChanged()\"\n [returnObject]=\"false\"\n optionsClass=\"cps-paginator-page-options\">\n </cps-select>\n </div>\n </ng-template>\n</p-treeTable>\n", styles: [":host ::ng-deep .p-treetable{position:relative;display:block}:host ::ng-deep .p-treetable.p-treetable-flex-scrollable{display:flex}:host ::ng-deep .p-component,:host ::ng-deep .p-component *{box-sizing:border-box}:host ::ng-deep .p-component{font-family:Source Sans Pro,sans-serif;font-size:.875rem;font-weight:400}:host ::ng-deep .p-treetable-scrollable-wrapper{position:relative;background:#fff}:host ::ng-deep .p-treetable-wrapper{background:#fff}:host ::ng-deep .cps-treetable-nonvirtual.cps-treetable-flex .p-treetable-flex-scrollable.cps-tbar-normal .p-treetable-scrollable-wrapper{height:calc(100% - 4.5rem)}:host ::ng-deep .cps-treetable-nonvirtual.cps-treetable-flex .p-treetable-flex-scrollable.cps-tbar-small .p-treetable-scrollable-wrapper{height:calc(100% - 2.6875rem)}:host ::ng-deep .cps-treetable-nonvirtual.cps-treetable-flex .p-treetable-flex-scrollable .p-treetable-scrollable-wrapper .p-treetable-scrollable-view .p-treetable-scrollable-header{display:contents}:host ::ng-deep .p-treetable .p-treetable-scrollable-header,:host ::ng-deep .p-treetable .p-treetable-scrollable-footer{background:#fff}:host ::ng-deep .p-treetable-scrollable-header,:host ::ng-deep .p-treetable-scrollable-footer{overflow:hidden}:host ::ng-deep .p-treetable table{border-collapse:collapse;width:100%;table-layout:fixed}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th{text-align:left;padding:1rem;border:.0625rem solid var(--cps-color-line-mid);border-width:0 0 .0625rem .0625rem;font-weight:400;color:var(--cps-color-text-mild);background:#fff;transition:box-shadow .2s;overflow:hidden}:host ::ng-deep .p-treetable-scrollable-body{overflow:auto!important;position:relative}:host ::ng-deep .cps-treetable-flex .p-treetable-scrollable-body{height:100%}:host ::ng-deep .p-treetable .p-treetable-tbody{background:#fff}:host ::ng-deep .p-treetable .p-treetable-tbody>tr{background:#fff;color:var(--cps-color-text-dark);transition:box-shadow .2s}:host ::ng-deep .p-treetable .p-treetable-tbody>tr.cps-treetable-row-selected{background-color:var(--cps-color-highlight-active)!important}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td{text-align:left;border:.0625rem solid var(--cps-color-line-mid);border-width:0 0 .0625rem 0;padding:1rem}:host ::ng-deep p-treetable:not(.cps-treetable-autolayout-calced) .p-treetable .p-treetable-tbody>tr>td{overflow:hidden}:host ::ng-deep .cps-treetable-autolayout-calced .p-treetable .p-treetable-scrollable-body .p-treetable-tbody>tr>td:not(.cps-treetable-row-toggler-cell):not(.cps-treetable-selectable-cell):not(.cps-treetable-row-menu-cell):not(.cps-treetable-empty-message-td){opacity:0;border-left-color:#fff}:host ::ng-deep .cps-treetable-autolayout-calced .p-treetable.p-treetable-striped .p-treetable-scrollable-body .p-treetable-tbody>tr:nth-child(odd)>td:not(.cps-treetable-row-toggler-cell):not(.cps-treetable-selectable-cell):not(.cps-treetable-row-menu-cell):not(.cps-treetable-empty-message-td){border-left-color:var(--cps-color-bg-light)}:host ::ng-deep .cps-treetable-autolayout-calced .p-treetable .p-treetable-scrollable-body .p-treetable-tbody>tr:hover>td:not(.cps-treetable-row-toggler-cell):not(.cps-treetable-selectable-cell):not(.cps-treetable-row-menu-cell):not(.cps-treetable-empty-message-td),:host ::ng-deep .cps-treetable-autolayout-calced .p-treetable .p-treetable-scrollable-body .p-treetable-tbody>tr:focus-visible>td:not(.cps-treetable-row-toggler-cell):not(.cps-treetable-selectable-cell):not(.cps-treetable-row-menu-cell):not(.cps-treetable-empty-message-td),:host ::ng-deep .cps-treetable-autolayout-calced .p-treetable .p-treetable-scrollable-body .p-treetable-tbody>tr:has(*:focus-visible)>td:not(.cps-treetable-row-toggler-cell):not(.cps-treetable-selectable-cell):not(.cps-treetable-row-menu-cell):not(.cps-treetable-empty-message-td){border-left-color:var(--cps-color-highlight-hover)}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:first-child{border-width:0 0 .0625rem .0625rem}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:last-child{border-width:0 .0625rem .0625rem 0}:host ::ng-deep .p-treetable-auto-layout table{table-layout:auto}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler{width:auto;height:auto;color:var(--cps-color-text-dark);border:0 none;background:transparent;border-radius:50%;margin-right:.5rem;padding:0}:host ::ng-deep .p-treetable-toggler{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;overflow:hidden;position:relative}:host ::ng-deep .p-ripple{overflow:hidden;position:relative}:host ::ng-deep .p-paginator-page:focus{outline:0 none;outline-offset:0;box-shadow:unset}:host ::ng-deep .p-paginator-page{text-align:left;background-color:transparent;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem;font-family:Source Sans Pro,sans-serif;border-radius:.375rem}:host ::ng-deep input[type=button],:host ::ng-deep input[type=submit],:host ::ng-deep input[type=reset],:host ::ng-deep input[type=file]::-webkit-file-upload-button,:host ::ng-deep button{border-radius:0}:host ::ng-deep .p-treetable .p-treetable-tbody>tr:focus{outline:none}:host ::ng-deep .p-treetable .p-treetable-tbody>tr:focus-visible,:host ::ng-deep .p-treetable .p-treetable-tbody>tr:has(*:focus-visible){outline:.0625rem solid var(--cps-color-calm);outline-offset:-.0625rem}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler:enabled:hover{color:var(--cps-color-calm);border-color:transparent;background:unset}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler:focus{outline:0 none;outline-offset:0;box-shadow:unset}:host ::ng-deep .p-treetable .p-paginator{border-width:0 .0625rem .0625rem .0625rem;border-radius:0}:host ::ng-deep .p-paginator{background:#fff;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;color:var(--cps-color-text-dark);padding:1rem;border:.0625rem solid var(--cps-color-line-mid)}:host ::ng-deep .p-paginator-content-start{margin-right:auto}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page{display:inline-flex;align-items:center}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page .cps-table-paginator-items-per-page-title{font-family:Source Sans Pro,sans-serif;font-size:.875rem;margin-right:.75rem;cursor:default}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page .cps-select-box{min-height:2rem!important;background:transparent!important}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page .cps-select-box .cps-select-box-items{font-size:.875rem!important}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page .cps-select-box .cps-select-box-chevron{padding:.3125rem!important}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page .cps-select-box .cps-select-box-chevron .cps-icon{width:.875rem;height:.875rem}:host ::ng-deep .p-paginator .p-paginator-current{background-color:transparent;border:0 none;color:var(--cps-color-text-dark);min-width:3rem;margin:.143rem;padding:0 .5rem;font-family:Source Sans Pro,sans-serif;font-size:.875rem;height:unset}:host ::ng-deep .p-paginator-page,:host ::ng-deep .p-paginator-next,:host ::ng-deep .p-paginator-last,:host ::ng-deep .p-paginator-first,:host ::ng-deep .p-paginator-prev,:host ::ng-deep .p-paginator-current{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;-webkit-user-select:none;user-select:none;position:relative}:host ::ng-deep .p-paginator-current{cursor:default}:host ::ng-deep .p-paginator-first:focus,:host ::ng-deep .p-paginator-prev:focus,:host ::ng-deep .p-paginator-next:focus,:host ::ng-deep .p-paginator-last:focus,:host ::ng-deep .p-paginator-page:focus{z-index:1;outline:0 none;box-shadow:unset}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-page:focus-visible{overflow:visible;outline:none;position:relative}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-page:focus-visible:before,:host ::ng-deep .p-paginator-page:focus-visible:after{content:\"\";position:absolute;border-radius:.25rem}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-page:focus-visible:before{inset:-.1875rem;border:.0625rem solid var(--cps-color-calm)}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-page:focus-visible:after{inset:-.25rem;border:.0625rem solid var(--cps-color-calm-highlighten)}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible.suppress-focus-visible:after,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible.suppress-focus-visible:after,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible.suppress-focus-visible:after,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible.suppress-focus-visible:after,:host ::ng-deep .p-paginator-page:focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-paginator-page:focus-visible.suppress-focus-visible:after{display:none}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-page:not(.p-paginator-page-selected):focus-visible{background:var(--cps-color-highlight-hover)}:host ::ng-deep .p-paginator .p-paginator-first:not(.p-disabled):not(.p-paginator-page-selected):hover,:host ::ng-deep .p-paginator .p-paginator-prev:not(.p-disabled):not(.p-paginator-page-selected):hover,:host ::ng-deep .p-paginator .p-paginator-next:not(.p-disabled):not(.p-paginator-page-selected):hover,:host ::ng-deep .p-paginator .p-paginator-last:not(.p-disabled):not(.p-paginator-page-selected):hover{background:var(--cps-color-highlight-hover);border-color:unset}:host ::ng-deep .p-paginator .p-paginator-first:not(.p-disabled):not(.p-paginator-page-selected):active,:host ::ng-deep .p-paginator .p-paginator-prev:not(.p-disabled):not(.p-paginator-page-selected):active,:host ::ng-deep .p-paginator .p-paginator-next:not(.p-disabled):not(.p-paginator-page-selected):active,:host ::ng-deep .p-paginator .p-paginator-last:not(.p-disabled):not(.p-paginator-page-selected):active{background:var(--cps-color-highlight-active)}:host ::ng-deep .p-paginator .p-paginator-first,:host ::ng-deep .p-paginator .p-paginator-prev,:host ::ng-deep .p-paginator .p-paginator-next,:host ::ng-deep .p-paginator .p-paginator-last{background-color:transparent;border:.0625rem solid var(--cps-color-text-dark);border-radius:.25rem;color:var(--cps-color-text-dark);min-width:2rem;height:2rem;margin:.143rem;transition:box-shadow .2s}:host ::ng-deep .p-disabled,:host ::ng-deep .p-disabled *{cursor:default!important;pointer-events:none}:host ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page.p-paginator-page-selected{background:var(--cps-color-calm);border-color:var(--cps-color-calm);color:#fff}:host ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page:not(.p-paginator-page-selected):hover{background:var(--cps-color-highlight-hover);border-color:unset}:host ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page:not(.p-paginator-page-selected):active{background:var(--cps-color-highlight-active)}:host ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page{background-color:transparent;border:.0625rem solid var(--cps-color-text-dark);border-radius:.25rem;color:var(--cps-color-text-dark);min-width:2rem;height:2rem;margin:.143rem;transition:box-shadow .2s}:host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:.4}:host ::ng-deep .cps-treetable-empty-message-td{text-align:center!important;font-weight:600;background:#fff}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-header{border-width:.0625rem .0625rem 0 .0625rem}:host ::ng-deep .p-treetable .p-treetable-header{font-weight:600;display:flex;justify-content:space-between;align-items:center;padding:0 .625rem!important;border:unset;background:unset;border-top:.0625rem solid var(--cps-color-line-mid);border-right:.0625rem solid var(--cps-color-line-mid);border-left:.25rem solid var(--cps-color-surprise)!important;border-radius:.25rem .25rem 0 0;font-size:1rem;line-height:150%;background-color:#fff;color:var(--cps-color-text-darkest);overflow:auto}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-left{display:flex;align-items:center}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-left .cps-treetable-tbar-global-filter{margin-left:.75rem}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-left .cps-treetable-tbar-icon{display:flex;margin-right:.5rem}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-left .cps-treetable-tbar-title{cursor:default}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-right{display:flex;align-items:center}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-right .cps-treetable-tbar-action-btn,:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-right .cps-treetable-tbar-export-btn{margin-right:.25rem;margin-left:.25rem}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-right .cps-treetable-tbar-btn-on-select,:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-right .cps-treetable-tbar-reload-btn{margin-right:.125rem;margin-left:.125rem}:host ::ng-deep .cps-tbar-small.p-treetable .p-treetable-header{min-height:2.6875rem}:host ::ng-deep .cps-tbar-normal.p-treetable .p-treetable-header{min-height:4.5rem}:host ::ng-deep .p-treetable .p-treetable-footer{background:#fff;color:#343a40;border:.0625rem solid var(--cps-color-line-mid);border-width:0 0 .0625rem 0;padding:1rem;font-weight:700}:host ::ng-deep .p-treetable .p-treetable-tfoot>tr>td{text-align:left;padding:1rem;border:.0625rem solid var(--cps-color-line-mid);border-width:0 0 .0625rem 0;font-weight:700;color:#343a40;background:#fff}:host ::ng-deep .p-treetable .p-sortable-column:not(.p-highlight):hover .cps-sortable-column-icon.sort-unsorted .sort-unsorted-arrow-up,:host ::ng-deep .p-treetable .p-sortable-column cps-sort-icon:focus-visible .cps-sortable-column-icon.sort-unsorted .sort-unsorted-arrow-up{border-bottom-color:var(--cps-color-text-mild)}:host ::ng-deep .p-treetable .p-sortable-column:not(.p-highlight):hover .cps-sortable-column-icon.sort-unsorted .sort-unsorted-arrow-down,:host ::ng-deep .p-treetable .p-sortable-column cps-sort-icon:focus-visible .cps-sortable-column-icon.sort-unsorted .sort-unsorted-arrow-down{border-top-color:var(--cps-color-text-mild)}:host ::ng-deep .p-icon-wrapper{display:inline-flex}:host ::ng-deep .p-icon{display:inline-block;width:1rem;height:1rem}:host ::ng-deep .p-paginator .p-paginator-first-icon,:host ::ng-deep .p-paginator .p-paginator-prev-icon,:host ::ng-deep .p-paginator .p-paginator-next-icon,:host ::ng-deep .p-paginator .p-paginator-last-icon{width:.875rem;height:.875rem}:host ::ng-deep .p-treetable .p-sortable-column .cps-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;vertical-align:top;color:var(--cps-color-calm);margin-left:.25rem}:host ::ng-deep .p-link{text-align:left;background-color:transparent;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:none;user-select:none}:host ::ng-deep .p-treetable .p-sortable-column{cursor:pointer;-webkit-user-select:none;user-select:none}:host ::ng-deep .p-treetable .p-sortable-column:focus{box-shadow:none;outline:0 none}:host ::ng-deep .p-treetable .p-sortable-column:focus-visible{overflow:visible;outline:none;position:relative}:host ::ng-deep .p-treetable .p-sortable-column:focus-visible:before,:host ::ng-deep .p-treetable .p-sortable-column:focus-visible:after{content:\"\";position:absolute;border-radius:.25rem}:host ::ng-deep .p-treetable .p-sortable-column:focus-visible:before{inset:-.1875rem;border:.0625rem solid var(--cps-color-calm)}:host ::ng-deep .p-treetable .p-sortable-column:focus-visible:after{inset:-.25rem;border:.0625rem solid var(--cps-color-calm-highlighten)}:host ::ng-deep .p-treetable .p-sortable-column:focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-treetable .p-sortable-column:focus-visible.suppress-focus-visible:after{display:none}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler.p-icon{width:2rem;height:2rem}:host ::ng-deep .p-treetable .p-treetable-tbody>tr.p-highlight{background:#eff6ff;color:#1d4ed8}:host ::ng-deep .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody>tr:not(.p-highlight):hover,:host ::ng-deep .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody>tr:not(.p-highlight):focus-visible,:host ::ng-deep .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody>tr:not(.p-highlight):has(*:focus-visible){background:var(--cps-color-highlight-hover)}:host ::ng-deep .p-treetable-hoverable-rows .p-treetable-tbody>tr{cursor:auto}:host ::ng-deep .p-treetable .p-column-resizer-helper{background:var(--cps-color-calm);width:.0625rem}:host ::ng-deep .p-treetable .p-column-resizer{border-width:.0625rem}:host ::ng-deep .p-treetable .p-column-resizer:focus{outline:none}:host ::ng-deep .p-treetable .p-column-resizer.cps-col-resizer-focused{background:var(--cps-color-calm)!important;opacity:1!important}:host ::ng-deep .p-treetable .p-treetable-mask.p-overlay-mask{position:absolute;display:flex;align-items:center;justify-content:center;z-index:1001;top:0;left:0;width:100%;height:100%;background-color:#fff;transition-duration:.2s;border:.0625rem solid var(--cps-color-line-mid)}:host ::ng-deep .p-treetable.cps-tbar-small .p-treetable-mask.p-overlay-mask{top:2.6875rem;height:calc(100% - 2.6875rem)}:host ::ng-deep .p-treetable.cps-tbar-normal .p-treetable-mask.p-overlay-mask{top:4.5rem;height:calc(100% - 4.5rem)}:host ::ng-deep .cps-treetable-loading .p-treetable{min-height:12.5rem}:host ::ng-deep .cps-treetable-loading .p-treetable.cps-tbar-normal{min-height:17rem}:host ::ng-deep .cps-treetable-loading .p-treetable.cps-tbar-small{min-height:15.1875rem}:host ::ng-deep .cps-table-col-filter-menu-open .cps-table-col-filter-menu-button{color:var(--cps-color-text-dark)}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-footer{border-width:0 .0625rem .0625rem .0625rem}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-top{border-width:0 .0625rem 0 .0625rem}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-bottom{border-width:0 .0625rem .0625rem .0625rem}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th,:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-thead>tr>th{border-width:.0625rem 0 .0625rem .0625rem}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th:last-child{border-width:.0625rem}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-tbody>tr>td{border-width:0 0 .0625rem .0625rem}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-tfoot>tr>td{border-width:.0625rem}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-tbody>tr>td:last-child{border-width:0 .0625rem .0625rem .0625rem}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:only-child{border-width:0 .0625rem .0625rem .0625rem}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th{padding:.5rem}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-tbody>tr>td{padding:.5rem}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-tfoot>tr>td{padding:.5rem}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-footer{padding:.5rem}:host ::ng-deep .p-treetable.p-treetable-lg .p-treetable-thead>tr>th{padding:1.25rem}:host ::ng-deep .p-treetable.p-treetable-lg .p-treetable-tbody>tr>td{padding:1.25rem}:host ::ng-deep .p-treetable.p-treetable-lg .p-treetable-tfoot>tr>td{padding:1.25rem}:host ::ng-deep .p-treetable.p-treetable-lg .p-treetable-footer{padding:1.25rem}:host ::ng-deep .p-treetable.p-treetable-striped .p-treetable-tbody>tr:nth-child(odd){background:var(--cps-color-bg-light)}:host ::ng-deep .p-treetable.p-treetable-striped .p-treetable-tbody>tr:nth-child(2n){background:#fff}:host ::ng-deep .cps-treetable-row-menu-cell{width:3.4375rem;border-left:none!important}:host ::ng-deep .cps-treetable-selectable-cell{width:3.4375rem;text-align:center!important}:host ::ng-deep .p-checkbox{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:bottom;position:relative;width:1.125rem;height:1.125rem}:host ::ng-deep .p-hidden-accessible{border:0;clip:rect(0 0 0 0);height:.0625rem;margin:-.0625rem;overflow:hidden;padding:0;position:absolute;width:.0625rem}:host ::ng-deep .p-hidden-accessible input,:host ::ng-deep .p-hidden-accessible select{transform:scale(0)}:host ::ng-deep .p-checkbox .p-checkbox-box{background:#fff;width:1.125rem;height:1.125rem;color:var(--cps-color-text-dark);border:.125rem solid var(--cps-color-text-mild);border-radius:.125rem;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}:host ::ng-deep .p-checkbox-box{display:flex;justify-content:center;align-items:center}:host ::ng-deep .p-checkbox.p-checkbox-checked .p-checkbox-box{border-color:var(--cps-color-calm);background:var(--cps-color-calm)}:host ::ng-deep .p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box,:host ::ng-deep .p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:focus) .p-checkbox-box{border-color:var(--cps-color-calm);background:var(--cps-color-calm);color:#fff}:host ::ng-deep .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box,:host ::ng-deep .p-checkbox:not(.p-disabled):has(.p-checkbox-input:focus) .p-checkbox-box{border-color:var(--cps-color-calm)}:host ::ng-deep .p-checkbox-input:focus-visible{outline:none}:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible){outline:none;position:relative}:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible):before,:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible):after{content:\"\";position:absolute;border-radius:.25rem}:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible):before{inset:-.1875rem;border:.0625rem solid var(--cps-color-calm)}:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible):after{inset:-.25rem;border:.0625rem solid var(--cps-color-calm-highlighten)}:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible).suppress-focus-visible:before,:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible).suppress-focus-visible:after{display:none}:host ::ng-deep .p-checkbox .p-checkbox-box .p-icon{width:.875rem;height:.875rem}:host ::ng-deep .p-checkbox .p-checkbox-box .p-checkbox-icon{transition-duration:.2s;color:#fff;font-size:.875rem}:host ::ng-deep .p-checkbox .p-checkbox-box minusicon .p-checkbox-icon{color:var(--cps-color-calm);width:.75rem}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td p-treetablecheckbox .p-checkbox{margin-right:0}:host ::ng-deep .cps-treetable-html-cell *:focus{outline:none}:host ::ng-deep .cps-treetable-html-cell *:focus-visible{outline:none;position:relative}:host ::ng-deep .cps-treetable-html-cell *:focus-visible:before,:host ::ng-deep .cps-treetable-html-cell *:focus-visible:after{content:\"\";position:absolute;border-radius:.375rem}:host ::ng-deep .cps-treetable-html-cell *:focus-visible:before{inset:-.125rem;border:.0625rem solid var(--cps-color-calm)}:host ::ng-deep .cps-treetable-html-cell *:focus-visible:after{inset:-.25rem;border:.0625rem solid var(--cps-color-calm-highlighten)}:host ::ng-deep .cps-treetable-html-cell *:focus-visible.suppress-focus-visible:before,:host ::ng-deep .cps-treetable-html-cell *:focus-visible.suppress-focus-visible:after{display:none}::ng-deep .p-scrollbar-measure{width:6.25rem;height:6.25rem;overflow:scroll;position:absolute;top:-9999px}::ng-deep .cps-select-options-menu.cps-paginator-page-options .cps-select-options-option{font-size:.875rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TreeTableModule }, { kind: "component", type: i2$2.TreeTable, selector: "p-treeTable, p-treetable, p-tree-table", inputs: ["columns", "styleClass", "tableStyle", "tableStyleClass", "autoLayout", "lazy", "lazyLoadOnInit", "paginator", "rows", "first", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "customSort", "selectionMode", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "compareSelectionBy", "rowHover", "loading", "loadingIcon", "showLoader", "scrollable", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "frozenColumns", "resizableColumns", "columnResizeMode", "reorderableColumns", "contextMenu", "rowTrackBy", "filters", "globalFilterFields", "filterDelay", "filterMode", "filterLocale", "paginatorLocale", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "value", "virtualRowHeight", "selectionKeys", "showGridlines"], outputs: ["selectionChange", "contextMenuSelectionChange", "onFilter", "onNodeExpand", "onNodeCollapse", "onPage", "onSort", "onLazyLoad", "sortFunction", "onColResize", "onColReorder", "onNodeSelect", "onNodeUnselect", "onContextMenuSelect", "onHeaderCheckboxToggle", "onEditInit", "onEditComplete", "onEditCancel", "selectionKeysChange"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i2$2.TTRow, selector: "[ttRow]", inputs: ["ttRow"] }, { kind: "component", type: CpsInputComponent, selector: "cps-input", inputs: ["label", "ariaLabel", "inputRole", "ariaExpanded", "ariaHasPopup", "ariaControls", "hint", "placeholder", "disabled", "readonly", "autocomplete", "spellcheck", "width", "type", "loading", "clearable", "prefixIcon", "prefixIconClickable", "prefixIconSize", "prefixIconAriaLabel", "prefixText", "hideDetails", "persistentClear", "error", "infoTooltip", "infoTooltipClass", "infoTooltipMaxWidth", "infoTooltipPersistent", "infoTooltipPosition", "appearance", "valueToDisplay", "value"], outputs: ["valueChanged", "focused", "prefixIconClicked", "blurred", "cleared", "enterClicked"] }, { kind: "component", type: CpsButtonComponent, selector: "cps-button", inputs: ["color", "contentColor", "borderRadius", "type", "nativeType", "label", "ariaLabel", "ariaHaspopup", "ariaExpanded", "icon", "iconPosition", "size", "width", "height", "disabled", "loading"], outputs: ["clicked"] }, { kind: "component", type: CpsIconComponent, selector: "cps-icon", inputs: ["icon", "size", "color", "ariaLabel"] }, { kind: "component", type: TableColumnVisibilityToggleComponent, selector: "table-column-visibility-toggle", inputs: ["columns", "selectedColumns", "disabled", "colHeaderName"], outputs: ["selectedColumnsChange"] }, { kind: "component", type: CpsSelectComponent, selector: "cps-select", inputs: ["label", "ariaLabel", "placeholder", "hint", "returnObject", "multiple", "disabled", "width", "selectAll", "chips", "closableChips", "clearable", "openOnClear", "options", "keepInitialOrder", "optionLabel", "optionValue", "optionInfo", "optionIcon", "optionIconColor", "hideDetails", "persistentClear", "prefixIcon", "prefixIconSize", "loading", "virtualScroll", "numToleratedItems", "infoTooltip", "infoTooltipClass", "infoTooltipMaxWidth", "infoTooltipPersistent", "infoTooltipPosition", "optionsClass", "appearance", "showChevron", "value"], outputs: ["valueChanged", "focused", "blurred"] }, { kind: "component", type: CpsLoaderComponent, selector: "cps-loader", inputs: ["fullScreen", "opacity", "labelColor", "showLabel", "label", "ariaLabel", "doneAriaLabel"] }, { kind: "directive", type: CpsTreeTableColumnSortableDirective, selector: "[cpsTTColSortable]", inputs: ["cpsTTColSortable"] }, { kind: "directive", type: CpsTreeTableColumnFilterDirective, selector: "[cpsTTColFilter]", inputs: ["cpsTTColFilter", "filterType", "filterPersistent", "filterShowClearButton", "filterShowApplyButton", "filterShowCloseButton", "filterShowMatchModes", "filterMatchModes", "filterShowOperator", "filterHeaderTitle", "filterHideOnClear", "filterCategoryOptions", "filterAsButtonToggle", "filterSingleSelection", "filterPlaceholder"], exportAs: ["cpsTTColFilter"] }, { kind: "directive", type: CpsTreeTableHeaderSelectableDirective, selector: "[cpsTTHdrSelectable]" }, { kind: "directive", type: CpsTreeTableRowSelectableDirective, selector: "[cpsTTRowSelectable]", inputs: ["cpsTTRowSelectable"] }, { kind: "directive", type: CpsTreetableRowTogglerDirective, selector: "[cpsTTRowToggler]", inputs: ["cpsTTRowToggler"] }, { kind: "directive", type: CpsTreeTableColumnResizableDirective, selector: "[cpsTTColResizable]", inputs: ["cpsTTColResizableDisabled"] }, { kind: "directive", type: TreeTableUnsortDirective, selector: "[ttWithUnsort]" }, { kind: "component", type: TableRowMenuComponent, selector: "table-row-menu", inputs: ["showRowRemoveButton", "customItems", "showRowEditButton"], outputs: ["editRowBtnClicked", "removeRowBtnClicked"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: CpsTreeTableDetectFilterTypePipe, name: "cpsTTDetectFilterType" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16673
16803
|
}
|
|
16674
16804
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: CpsTreeTableComponent, decorators: [{
|
|
16675
16805
|
type: Component,
|
|
@@ -16703,7 +16833,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
16703
16833
|
// eslint-disable-next-line no-use-before-define
|
|
16704
16834
|
deps: [CpsTreeTableComponent]
|
|
16705
16835
|
}
|
|
16706
|
-
], template: "<p-treeTable\n #primengTreeTable\n ttWithUnsort\n [pt]=\"treeTablePassthrough\"\n [class.cps-treetable-loading]=\"loading\"\n [class.cps-treetable-flex]=\"defScrollHeight === 'flex'\"\n [class.cps-treetable-nonvirtual]=\"!virtualScroll\"\n [class.cps-treetable-autolayout-calced]=\"autoLayout && scrollable\"\n [value]=\"data\"\n [autoLayout]=\"autoLayout && !scrollable\"\n [scrollable]=\"scrollable\"\n [scrollHeight]=\"scrollHeight\"\n [virtualScroll]=\"virtualScroll\"\n [virtualScrollItemSize]=\"virtualScrollItemSize\"\n [virtualScrollOptions]=\"{\n numToleratedItems: numToleratedItems,\n autoSize: false\n }\"\n [columns]=\"selectedColumns\"\n [loading]=\"loading\"\n [attr.aria-busy]=\"loading || null\"\n [rowHover]=\"rowHover\"\n [lazy]=\"lazy\"\n [(selection)]=\"selectedRows\"\n (selectionChange)=\"onSelectionChanged($event)\"\n compareSelectionBy=\"deepEquals\"\n [lazyLoadOnInit]=\"lazyLoadOnInit\"\n [styleClass]=\"styleClass\"\n [tableStyle]=\"tableStyle\"\n [tableStyleClass]=\"tableStyleClass\"\n [customSort]=\"customSort\"\n [sortMode]=\"sortMode\"\n [globalFilterFields]=\"globalFilterFields\"\n [paginator]=\"paginator\"\n [showCurrentPageReport]=\"true\"\n [alwaysShowPaginator]=\"alwaysShowPaginator\"\n [rows]=\"rows\"\n [first]=\"first\"\n [totalRecords]=\"totalRecords\"\n [resetPageOnSort]=\"resetPageOnSort\"\n [resizableColumns]=\"resizableColumns\"\n [columnResizeMode]=\"columnResizeMode\"\n [showGridlines]=\"bordered\"\n currentPageReportTemplate=\"{first} - {last} of {totalRecords}\"\n (onPage)=\"onPageChange($event)\"\n (onSort)=\"onSort($event)\"\n (onFilter)=\"onFilter($event)\"\n (onLazyLoad)=\"onLazyLoaded($event)\"\n (sortFunction)=\"onSortFunction($event)\"\n (onNodeExpand)=\"onNodeExpanded($event)\"\n (onNodeCollapse)=\"onNodeCollapsed($event)\"\n (onNodeSelect)=\"onNodeSelected($event)\"\n (onNodeUnselect)=\"onNodeUnselected($event)\">\n @if (colgroupTemplate) {\n <ng-template pTemplate=\"colgroup\">\n <ng-container *ngTemplateOutlet=\"colgroupTemplate\"></ng-container>\n </ng-template>\n }\n @if (hasToolbar) {\n <ng-template pTemplate=\"caption\">\n @if (toolbarTemplate) {\n <ng-container *ngTemplateOutlet=\"toolbarTemplate\"></ng-container>\n }\n @if (!toolbarTemplate) {\n <div class=\"cps-treetable-tbar-left\">\n @if (toolbarIcon) {\n <div class=\"cps-treetable-tbar-icon\">\n <cps-icon\n [icon]=\"toolbarIcon\"\n [color]=\"toolbarIconColor\"></cps-icon>\n </div>\n }\n <div class=\"cps-treetable-tbar-title\">{{ toolbarTitle }}</div>\n @if (showGlobalFilter) {\n <div class=\"cps-treetable-tbar-global-filter\">\n <cps-input\n #globalFilterComp\n ariaLabel=\"Global filter\"\n prefixIcon=\"search\"\n [placeholder]=\"globalFilterPlaceholder\"\n (valueChanged)=\"onFilterGlobal($event)\"\n [clearable]=\"true\"\n [disabled]=\"loading\"\n [appearance]=\"\n toolbarSize === 'small' ? 'underlined' : 'outlined'\n \"\n [hideDetails]=\"true\">\n </cps-input>\n </div>\n }\n </div>\n <div class=\"cps-treetable-tbar-right\">\n @if (showRemoveBtnOnSelect && selectedRows.length > 0) {\n <div class=\"cps-treetable-tbar-btn-on-select\">\n <cps-button\n label=\"Remove\"\n [disabled]=\"removeBtnOnSelectDisabled\"\n color=\"calm\"\n type=\"borderless\"\n icon=\"remove\"\n [size]=\"toolbarSize\"\n (clicked)=\"removeSelected()\">\n </cps-button>\n </div>\n }\n @if (showAdditionalBtnOnSelect && selectedRows.length > 0) {\n <div class=\"cps-treetable-tbar-btn-on-select\">\n <cps-button\n [label]=\"additionalBtnOnSelectTitle\"\n [disabled]=\"additionalBtnOnSelectDisabled\"\n color=\"calm\"\n type=\"borderless\"\n [icon]=\"additionalBtnOnSelectIcon\"\n [size]=\"toolbarSize\"\n (clicked)=\"onClickAdditionalBtnOnSelect()\">\n </cps-button>\n </div>\n }\n @if (showActionBtn) {\n <div class=\"cps-treetable-tbar-action-btn\">\n <cps-button\n [label]=\"actionBtnTitle\"\n [disabled]=\"actionBtnDisabled\"\n color=\"calm\"\n type=\"outlined\"\n [icon]=\"actionBtnIcon\"\n [size]=\"toolbarSize\"\n (clicked)=\"onClickActionBtn()\">\n </cps-button>\n </div>\n }\n @if (showExportBtn) {\n <div class=\"cps-treetable-tbar-export-btn\">\n <cps-button\n label=\"Export\"\n [disabled]=\"exportBtnDisabled\"\n color=\"calm\"\n type=\"solid\"\n icon=\"export\"\n [size]=\"toolbarSize\"\n (clicked)=\"onExportData()\">\n </cps-button>\n </div>\n }\n @if (showColumnsToggleBtn && columns.length > 0) {\n <table-column-visibility-toggle\n [columns]=\"columns\"\n [selectedColumns]=\"selectedColumns\"\n [disabled]=\"columnsToggleBtnDisabled\"\n [colHeaderName]=\"colHeaderName\"\n (selectedColumnsChange)=\"onSelectedColumnsChange($event)\">\n </table-column-visibility-toggle>\n }\n @if (showDataReloadBtn) {\n <div class=\"cps-treetable-tbar-reload-btn\">\n <cps-button\n ariaLabel=\"Reload data\"\n icon=\"refresh\"\n type=\"borderless\"\n color=\"calm\"\n [size]=\"toolbarSize\"\n [disabled]=\"dataReloadBtnDisabled\"\n (clicked)=\"onReloadData()\">\n </cps-button>\n </div>\n }\n </div>\n }\n </ng-template>\n }\n\n @if (nestedHeaderTemplate; as columns) {\n <ng-template pTemplate=\"header\" let-columns>\n <ng-container\n *ngTemplateOutlet=\"\n nestedHeaderTemplate;\n context: { $implicit: columns }\n \"></ng-container>\n </ng-template>\n }\n\n @if (!nestedHeaderTemplate; as columns) {\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <!-- <th style=\"width: 3rem\" *ngIf=\"reorderableRows\"></th> -->\n @if (selectable) {\n <th\n scope=\"col\"\n cpsTTHdrSelectable\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\"></th>\n }\n @if (headerTemplate) {\n <ng-container\n *ngTemplateOutlet=\"\n headerTemplate;\n context: { $implicit: columns }\n \"></ng-container>\n }\n @if (!headerTemplate && columns.length > 0) {\n @if (sortable) {\n @if (filterableByColumns) {\n @for (col of columns; track col) {\n <th\n scope=\"col\"\n [cpsTTColSortable]=\"col[colFieldName]\"\n [cpsTTColFilter]=\"col[colFieldName]\"\n [filterType]=\"\n col[colFilterTypeName] ??\n (autoColumnFilterType\n ? (data | cpsTTDetectFilterType: col[colFieldName])\n : 'text')\n \"\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\">\n {{ col[colHeaderName] }}\n </th>\n }\n } @else {\n @for (col of columns; track col) {\n <th\n scope=\"col\"\n [cpsTTColSortable]=\"col[colFieldName]\"\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\">\n {{ col[colHeaderName] }}\n </th>\n }\n }\n }\n @if (!sortable) {\n @if (filterableByColumns) {\n @for (col of columns; track col) {\n <th\n scope=\"col\"\n [cpsTTColFilter]=\"col[colFieldName]\"\n [filterType]=\"\n col[colFilterTypeName] ??\n (autoColumnFilterType\n ? (data | cpsTTDetectFilterType: col[colFieldName])\n : 'text')\n \"\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\">\n {{ col[colHeaderName] }}\n </th>\n }\n } @else {\n @for (col of columns; track col) {\n <th\n scope=\"col\"\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\">\n {{ col[colHeaderName] }}\n </th>\n }\n }\n }\n }\n @if (showRowMenu && (showRowRemoveButton || showRowEditButton)) {\n <th\n scope=\"col\"\n class=\"cps-treetable-row-menu-cell\"\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\">\n <span class=\"cps-sr-only\">Row actions</span>\n </th>\n }\n </tr>\n </ng-template>\n }\n\n <ng-template\n pTemplate=\"body\"\n let-rowData=\"rowData\"\n let-columns=\"columns\"\n let-rowNode\n let-rowIndex=\"rowIndex\">\n <tr\n [ttRow]=\"rowNode\"\n [class.cps-treetable-row-selected]=\"\n selectable && primengTreeTable.isSelected(rowNode.node)\n \">\n <!-- <td *ngIf=\"reorderableRows\" class=\"cps-table-row-drag-handle-cell\">\n <span class=\"cps-table-row-drag-handle\" pReorderableRowHandle>\u2630</span>\n </td> -->\n @if (selectable) {\n <td [cpsTTRowSelectable]=\"rowNode\"></td>\n }\n @if (bodyTemplate) {\n <ng-container\n *ngTemplateOutlet=\"\n bodyTemplate;\n context: {\n $implicit: rowNode,\n rowIndex: rowIndex,\n columns: columns,\n rowData: rowData\n }\n \">\n </ng-container>\n }\n @if (!bodyTemplate) {\n @if (columns.length > 0) {\n @if (renderDataAsHTML) {\n @for (col of columns; track col; let i = $index) {\n @if (i === 0) {\n <td\n class=\"cps-treetable-html-cell\"\n [cpsTTRowToggler]=\"rowNode\"\n [innerHTML]=\"rowData[col[colFieldName]]\"></td>\n }\n @if (i > 0) {\n <td\n class=\"cps-treetable-html-cell\"\n [innerHTML]=\"rowData[col[colFieldName]]\"></td>\n }\n }\n } @else {\n @for (col of columns; track col; let i = $index) {\n @if (i === 0) {\n <td [cpsTTRowToggler]=\"rowNode\">\n {{\n col[colDateFormatName]\n ? (rowData[col[colFieldName]]\n | date: col[colDateFormatName])\n : rowData[col[colFieldName]]\n }}\n </td>\n }\n @if (i > 0) {\n <td>\n {{\n col[colDateFormatName]\n ? (rowData[col[colFieldName]]\n | date: col[colDateFormatName])\n : rowData[col[colFieldName]]\n }}\n </td>\n }\n }\n }\n }\n }\n @if (showRowMenu && (showRowRemoveButton || showRowEditButton)) {\n <td class=\"cps-treetable-row-menu-cell\">\n <table-row-menu\n (editRowBtnClicked)=\"onEditRowClicked(rowNode.node)\"\n (removeRowBtnClicked)=\"onRemoveRowClicked(rowNode.node)\"\n [showRowRemoveButton]=\"showRowRemoveButton\"\n [showRowEditButton]=\"showRowEditButton\"\n [customItems]=\"rowMenuItems\">\n </table-row-menu>\n </td>\n }\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td\n colspan=\"100\"\n role=\"status\"\n class=\"cps-treetable-empty-message-td\"\n [style.height]=\"emptyBodyHeight\">\n {{ emptyMessage }}\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"loadingicon\">\n <cps-loader [fullScreen]=\"false\" opacity=\"0\"></cps-loader>\n </ng-template>\n <ng-template pTemplate=\"paginatorleft\">\n <div class=\"cps-table-paginator-itms-per-page\">\n <span class=\"cps-table-paginator-items-per-page-title\"\n >Rows per page:\n </span>\n <cps-select\n ariaLabel=\"Set rows per page\"\n width=\"4rem\"\n [options]=\"rowOptions\"\n [hideDetails]=\"true\"\n [(ngModel)]=\"rows\"\n (valueChanged)=\"onRowsPerPageChanged()\"\n [returnObject]=\"false\"\n optionsClass=\"cps-paginator-page-options\">\n </cps-select>\n </div>\n </ng-template>\n</p-treeTable>\n", styles: [":host ::ng-deep .p-treetable{position:relative}:host ::ng-deep .p-component,:host ::ng-deep .p-component *{box-sizing:border-box}:host ::ng-deep .p-component{font-family:Source Sans Pro,sans-serif;font-size:.875rem;font-weight:400}:host ::ng-deep .p-treetable-scrollable-wrapper{position:relative;background:#fff}:host ::ng-deep .p-treetable-wrapper{background:#fff}:host ::ng-deep .cps-treetable-nonvirtual.cps-treetable-flex .p-treetable-flex-scrollable.cps-tbar-normal .p-treetable-scrollable-wrapper{height:calc(100% - 4.5rem)}:host ::ng-deep .cps-treetable-nonvirtual.cps-treetable-flex .p-treetable-flex-scrollable.cps-tbar-small .p-treetable-scrollable-wrapper{height:calc(100% - 2.6875rem)}:host ::ng-deep .cps-treetable-nonvirtual.cps-treetable-flex .p-treetable-flex-scrollable .p-treetable-scrollable-wrapper .p-treetable-scrollable-view .p-treetable-scrollable-header{display:contents}:host ::ng-deep .p-treetable .p-treetable-scrollable-header,:host ::ng-deep .p-treetable .p-treetable-scrollable-footer{background:#fff}:host ::ng-deep .p-treetable-scrollable-header,:host ::ng-deep .p-treetable-scrollable-footer{overflow:hidden}:host ::ng-deep .p-treetable table{border-collapse:collapse;width:100%;table-layout:fixed}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th{text-align:left;padding:1rem;border:.0625rem solid var(--cps-color-line-mid);border-width:0 0 .0625rem .0625rem;font-weight:400;color:var(--cps-color-text-mild);background:#fff;transition:box-shadow .2s;overflow:hidden}:host ::ng-deep .p-treetable-scrollable-body{overflow:auto!important;position:relative}:host ::ng-deep .cps-treetable-flex .p-treetable-scrollable-body{height:100%}:host ::ng-deep .p-treetable .p-treetable-tbody{background:#fff}:host ::ng-deep .p-treetable .p-treetable-tbody>tr{background:#fff;color:var(--cps-color-text-dark);transition:box-shadow .2s}:host ::ng-deep .p-treetable .p-treetable-tbody>tr.cps-treetable-row-selected{background-color:var(--cps-color-highlight-active)!important}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td{text-align:left;border:.0625rem solid var(--cps-color-line-mid);border-width:0 0 .0625rem 0;padding:1rem}:host ::ng-deep p-treetable:not(.cps-treetable-autolayout-calced) .p-treetable .p-treetable-tbody>tr>td{overflow:hidden}:host ::ng-deep .cps-treetable-autolayout-calced .p-treetable .p-treetable-scrollable-body .p-treetable-tbody>tr>td:not(.cps-treetable-row-toggler-cell):not(.cps-treetable-selectable-cell):not(.cps-treetable-row-menu-cell):not(.cps-treetable-empty-message-td){opacity:0;border-left-color:#fff}:host ::ng-deep .cps-treetable-autolayout-calced .p-treetable.p-treetable-striped .p-treetable-scrollable-body .p-treetable-tbody>tr:nth-child(odd)>td:not(.cps-treetable-row-toggler-cell):not(.cps-treetable-selectable-cell):not(.cps-treetable-row-menu-cell):not(.cps-treetable-empty-message-td){border-left-color:var(--cps-color-bg-light)}:host ::ng-deep .cps-treetable-autolayout-calced .p-treetable .p-treetable-scrollable-body .p-treetable-tbody>tr:hover>td:not(.cps-treetable-row-toggler-cell):not(.cps-treetable-selectable-cell):not(.cps-treetable-row-menu-cell):not(.cps-treetable-empty-message-td),:host ::ng-deep .cps-treetable-autolayout-calced .p-treetable .p-treetable-scrollable-body .p-treetable-tbody>tr:focus-visible>td:not(.cps-treetable-row-toggler-cell):not(.cps-treetable-selectable-cell):not(.cps-treetable-row-menu-cell):not(.cps-treetable-empty-message-td),:host ::ng-deep .cps-treetable-autolayout-calced .p-treetable .p-treetable-scrollable-body .p-treetable-tbody>tr:has(*:focus-visible)>td:not(.cps-treetable-row-toggler-cell):not(.cps-treetable-selectable-cell):not(.cps-treetable-row-menu-cell):not(.cps-treetable-empty-message-td){border-left-color:var(--cps-color-highlight-hover)}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:first-child{border-width:0 0 .0625rem .0625rem}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:last-child{border-width:0 .0625rem .0625rem 0}:host ::ng-deep .p-treetable-auto-layout table{table-layout:auto}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler{width:auto;height:auto;color:var(--cps-color-text-dark);border:0 none;background:transparent;border-radius:50%;margin-right:.5rem;padding:0}:host ::ng-deep .p-treetable-toggler{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;overflow:hidden;position:relative}:host ::ng-deep .p-ripple{overflow:hidden;position:relative}:host ::ng-deep .p-paginator-page:focus{outline:0 none;outline-offset:0;box-shadow:unset}:host ::ng-deep .p-paginator-page{text-align:left;background-color:transparent;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem;font-family:Source Sans Pro,sans-serif;border-radius:.375rem}:host ::ng-deep input[type=button],:host ::ng-deep input[type=submit],:host ::ng-deep input[type=reset],:host ::ng-deep input[type=file]::-webkit-file-upload-button,:host ::ng-deep button{border-radius:0}:host ::ng-deep .p-treetable .p-treetable-tbody>tr:focus{outline:none}:host ::ng-deep .p-treetable .p-treetable-tbody>tr:focus-visible,:host ::ng-deep .p-treetable .p-treetable-tbody>tr:has(*:focus-visible){outline:.0625rem solid var(--cps-color-calm);outline-offset:-.0625rem}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler:enabled:hover{color:var(--cps-color-calm);border-color:transparent;background:unset}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler:focus{outline:0 none;outline-offset:0;box-shadow:unset}:host ::ng-deep .p-treetable .p-paginator{border-width:0 .0625rem .0625rem .0625rem;border-radius:0}:host ::ng-deep .p-paginator{background:#fff;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;color:var(--cps-color-text-dark);padding:1rem;border:.0625rem solid var(--cps-color-line-mid)}:host ::ng-deep .p-paginator-content-start{margin-right:auto}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page{display:inline-flex;align-items:center}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page .cps-table-paginator-items-per-page-title{font-family:Source Sans Pro,sans-serif;font-size:.875rem;margin-right:.75rem;cursor:default}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page .cps-select-box{min-height:2rem!important;background:transparent!important}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page .cps-select-box .cps-select-box-items{font-size:.875rem!important}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page .cps-select-box .cps-select-box-chevron{padding:.3125rem!important}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page .cps-select-box .cps-select-box-chevron .cps-icon{width:.875rem;height:.875rem}:host ::ng-deep .p-paginator .p-paginator-current{background-color:transparent;border:0 none;color:var(--cps-color-text-dark);min-width:3rem;margin:.143rem;padding:0 .5rem;font-family:Source Sans Pro,sans-serif;font-size:.875rem;height:unset}:host ::ng-deep .p-paginator-page,:host ::ng-deep .p-paginator-next,:host ::ng-deep .p-paginator-last,:host ::ng-deep .p-paginator-first,:host ::ng-deep .p-paginator-prev,:host ::ng-deep .p-paginator-current{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;-webkit-user-select:none;user-select:none;position:relative}:host ::ng-deep .p-paginator-current{cursor:default}:host ::ng-deep .p-paginator-first:focus,:host ::ng-deep .p-paginator-prev:focus,:host ::ng-deep .p-paginator-next:focus,:host ::ng-deep .p-paginator-last:focus,:host ::ng-deep .p-paginator-page:focus{z-index:1;outline:0 none;box-shadow:unset}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-page:focus-visible{overflow:visible;outline:none;position:relative}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-page:focus-visible:before,:host ::ng-deep .p-paginator-page:focus-visible:after{content:\"\";position:absolute;border-radius:.25rem}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-page:focus-visible:before{inset:-.1875rem;border:.0625rem solid var(--cps-color-calm)}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-page:focus-visible:after{inset:-.25rem;border:.0625rem solid var(--cps-color-calm-highlighten)}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible.suppress-focus-visible:after,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible.suppress-focus-visible:after,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible.suppress-focus-visible:after,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible.suppress-focus-visible:after,:host ::ng-deep .p-paginator-page:focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-paginator-page:focus-visible.suppress-focus-visible:after{display:none}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-page:not(.p-paginator-page-selected):focus-visible{background:var(--cps-color-highlight-hover)}:host ::ng-deep .p-paginator .p-paginator-first:not(.p-disabled):not(.p-paginator-page-selected):hover,:host ::ng-deep .p-paginator .p-paginator-prev:not(.p-disabled):not(.p-paginator-page-selected):hover,:host ::ng-deep .p-paginator .p-paginator-next:not(.p-disabled):not(.p-paginator-page-selected):hover,:host ::ng-deep .p-paginator .p-paginator-last:not(.p-disabled):not(.p-paginator-page-selected):hover{background:var(--cps-color-highlight-hover);border-color:unset}:host ::ng-deep .p-paginator .p-paginator-first:not(.p-disabled):not(.p-paginator-page-selected):active,:host ::ng-deep .p-paginator .p-paginator-prev:not(.p-disabled):not(.p-paginator-page-selected):active,:host ::ng-deep .p-paginator .p-paginator-next:not(.p-disabled):not(.p-paginator-page-selected):active,:host ::ng-deep .p-paginator .p-paginator-last:not(.p-disabled):not(.p-paginator-page-selected):active{background:var(--cps-color-highlight-active)}:host ::ng-deep .p-paginator .p-paginator-first,:host ::ng-deep .p-paginator .p-paginator-prev,:host ::ng-deep .p-paginator .p-paginator-next,:host ::ng-deep .p-paginator .p-paginator-last{background-color:transparent;border:.0625rem solid var(--cps-color-text-dark);border-radius:.25rem;color:var(--cps-color-text-dark);min-width:2rem;height:2rem;margin:.143rem;transition:box-shadow .2s}:host ::ng-deep .p-disabled,:host ::ng-deep .p-disabled *{cursor:default!important;pointer-events:none}:host ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page.p-paginator-page-selected{background:var(--cps-color-calm);border-color:var(--cps-color-calm);color:#fff}:host ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page:not(.p-paginator-page-selected):hover{background:var(--cps-color-highlight-hover);border-color:unset}:host ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page:not(.p-paginator-page-selected):active{background:var(--cps-color-highlight-active)}:host ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page{background-color:transparent;border:.0625rem solid var(--cps-color-text-dark);border-radius:.25rem;color:var(--cps-color-text-dark);min-width:2rem;height:2rem;margin:.143rem;transition:box-shadow .2s}:host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:.4}:host ::ng-deep .cps-treetable-empty-message-td{text-align:center!important;font-weight:600;background:#fff}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-header{border-width:.0625rem .0625rem 0 .0625rem}:host ::ng-deep .p-treetable .p-treetable-header{font-weight:600;display:flex;justify-content:space-between;align-items:center;padding:0 .625rem!important;border:unset;background:unset;border-top:.0625rem solid var(--cps-color-line-mid);border-right:.0625rem solid var(--cps-color-line-mid);border-left:.25rem solid var(--cps-color-surprise)!important;border-radius:.25rem .25rem 0 0;font-size:1rem;line-height:150%;background-color:#fff;color:var(--cps-color-text-darkest);overflow:auto}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-left{display:flex;align-items:center}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-left .cps-treetable-tbar-global-filter{margin-left:.75rem}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-left .cps-treetable-tbar-icon{display:flex;margin-right:.5rem}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-left .cps-treetable-tbar-title{cursor:default}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-right{display:flex;align-items:center}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-right .cps-treetable-tbar-action-btn,:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-right .cps-treetable-tbar-export-btn{margin-right:.25rem;margin-left:.25rem}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-right .cps-treetable-tbar-btn-on-select,:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-right .cps-treetable-tbar-reload-btn{margin-right:.125rem;margin-left:.125rem}:host ::ng-deep .cps-tbar-small.p-treetable .p-treetable-header{min-height:2.6875rem}:host ::ng-deep .cps-tbar-normal.p-treetable .p-treetable-header{min-height:4.5rem}:host ::ng-deep .p-treetable .p-treetable-footer{background:#fff;color:#343a40;border:.0625rem solid var(--cps-color-line-mid);border-width:0 0 .0625rem 0;padding:1rem;font-weight:700}:host ::ng-deep .p-treetable .p-treetable-tfoot>tr>td{text-align:left;padding:1rem;border:.0625rem solid var(--cps-color-line-mid);border-width:0 0 .0625rem 0;font-weight:700;color:#343a40;background:#fff}:host ::ng-deep .p-treetable .p-sortable-column:not(.p-highlight):hover .cps-sortable-column-icon.sort-unsorted .sort-unsorted-arrow-up,:host ::ng-deep .p-treetable .p-sortable-column cps-sort-icon:focus-visible .cps-sortable-column-icon.sort-unsorted .sort-unsorted-arrow-up{border-bottom-color:var(--cps-color-text-mild)}:host ::ng-deep .p-treetable .p-sortable-column:not(.p-highlight):hover .cps-sortable-column-icon.sort-unsorted .sort-unsorted-arrow-down,:host ::ng-deep .p-treetable .p-sortable-column cps-sort-icon:focus-visible .cps-sortable-column-icon.sort-unsorted .sort-unsorted-arrow-down{border-top-color:var(--cps-color-text-mild)}:host ::ng-deep .p-icon-wrapper{display:inline-flex}:host ::ng-deep .p-icon{display:inline-block;width:1rem;height:1rem}:host ::ng-deep .p-paginator .p-paginator-first-icon,:host ::ng-deep .p-paginator .p-paginator-prev-icon,:host ::ng-deep .p-paginator .p-paginator-next-icon,:host ::ng-deep .p-paginator .p-paginator-last-icon{width:.875rem;height:.875rem}:host ::ng-deep .p-treetable .p-sortable-column .cps-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;vertical-align:top;color:var(--cps-color-calm);margin-left:.25rem}:host ::ng-deep .p-link{text-align:left;background-color:transparent;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:none;user-select:none}:host ::ng-deep .p-treetable .p-sortable-column{cursor:pointer;-webkit-user-select:none;user-select:none}:host ::ng-deep .p-treetable .p-sortable-column:focus{box-shadow:none;outline:0 none}:host ::ng-deep .p-treetable .p-sortable-column:focus-visible{overflow:visible;outline:none;position:relative}:host ::ng-deep .p-treetable .p-sortable-column:focus-visible:before,:host ::ng-deep .p-treetable .p-sortable-column:focus-visible:after{content:\"\";position:absolute;border-radius:.25rem}:host ::ng-deep .p-treetable .p-sortable-column:focus-visible:before{inset:-.1875rem;border:.0625rem solid var(--cps-color-calm)}:host ::ng-deep .p-treetable .p-sortable-column:focus-visible:after{inset:-.25rem;border:.0625rem solid var(--cps-color-calm-highlighten)}:host ::ng-deep .p-treetable .p-sortable-column:focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-treetable .p-sortable-column:focus-visible.suppress-focus-visible:after{display:none}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler.p-icon{width:2rem;height:2rem}:host ::ng-deep .p-treetable .p-treetable-tbody>tr.p-highlight{background:#eff6ff;color:#1d4ed8}:host ::ng-deep .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody>tr:not(.p-highlight):hover,:host ::ng-deep .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody>tr:not(.p-highlight):focus-visible,:host ::ng-deep .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody>tr:not(.p-highlight):has(*:focus-visible){background:var(--cps-color-highlight-hover)}:host ::ng-deep .p-treetable-hoverable-rows .p-treetable-tbody>tr{cursor:auto}:host ::ng-deep .p-treetable .p-column-resizer-helper{background:var(--cps-color-calm);width:.0625rem}:host ::ng-deep .p-treetable .p-column-resizer{border-width:.0625rem}:host ::ng-deep .p-treetable .p-column-resizer:focus{outline:none}:host ::ng-deep .p-treetable .p-column-resizer.cps-col-resizer-focused{background:var(--cps-color-calm)!important;opacity:1!important}:host ::ng-deep .p-treetable .p-treetable-mask.p-overlay-mask{position:absolute;display:flex;align-items:center;justify-content:center;z-index:1001;top:0;left:0;width:100%;height:100%;background-color:#fff;transition-duration:.2s;border:.0625rem solid var(--cps-color-line-mid)}:host ::ng-deep .p-treetable.cps-tbar-small .p-treetable-mask.p-overlay-mask{top:2.6875rem;height:calc(100% - 2.6875rem)}:host ::ng-deep .p-treetable.cps-tbar-normal .p-treetable-mask.p-overlay-mask{top:4.5rem;height:calc(100% - 4.5rem)}:host ::ng-deep .cps-treetable-loading .p-treetable{min-height:12.5rem}:host ::ng-deep .cps-treetable-loading .p-treetable.cps-tbar-normal{min-height:17rem}:host ::ng-deep .cps-treetable-loading .p-treetable.cps-tbar-small{min-height:15.1875rem}:host ::ng-deep .cps-table-col-filter-menu-open .cps-table-col-filter-menu-button{color:var(--cps-color-text-dark)}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-footer{border-width:0 .0625rem .0625rem .0625rem}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-top{border-width:0 .0625rem 0 .0625rem}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-bottom{border-width:0 .0625rem .0625rem .0625rem}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th,:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-thead>tr>th{border-width:.0625rem 0 .0625rem .0625rem}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th:last-child{border-width:.0625rem}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-tbody>tr>td{border-width:0 0 .0625rem .0625rem}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-tfoot>tr>td{border-width:.0625rem}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-tbody>tr>td:last-child{border-width:0 .0625rem .0625rem .0625rem}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:only-child{border-width:0 .0625rem .0625rem .0625rem}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th{padding:.5rem}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-tbody>tr>td{padding:.5rem}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-tfoot>tr>td{padding:.5rem}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-footer{padding:.5rem}:host ::ng-deep .p-treetable.p-treetable-lg .p-treetable-thead>tr>th{padding:1.25rem}:host ::ng-deep .p-treetable.p-treetable-lg .p-treetable-tbody>tr>td{padding:1.25rem}:host ::ng-deep .p-treetable.p-treetable-lg .p-treetable-tfoot>tr>td{padding:1.25rem}:host ::ng-deep .p-treetable.p-treetable-lg .p-treetable-footer{padding:1.25rem}:host ::ng-deep .p-treetable.p-treetable-striped .p-treetable-tbody>tr:nth-child(odd){background:var(--cps-color-bg-light)}:host ::ng-deep .p-treetable.p-treetable-striped .p-treetable-tbody>tr:nth-child(2n){background:#fff}:host ::ng-deep .cps-treetable-row-menu-cell{width:3.4375rem;border-left:none!important}:host ::ng-deep .cps-treetable-selectable-cell{width:3.4375rem;text-align:center!important}:host ::ng-deep .p-checkbox{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:bottom;position:relative;width:1.125rem;height:1.125rem}:host ::ng-deep .p-hidden-accessible{border:0;clip:rect(0 0 0 0);height:.0625rem;margin:-.0625rem;overflow:hidden;padding:0;position:absolute;width:.0625rem}:host ::ng-deep .p-hidden-accessible input,:host ::ng-deep .p-hidden-accessible select{transform:scale(0)}:host ::ng-deep .p-checkbox .p-checkbox-box{background:#fff;width:1.125rem;height:1.125rem;color:var(--cps-color-text-dark);border:.125rem solid var(--cps-color-text-mild);border-radius:.125rem;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}:host ::ng-deep .p-checkbox-box{display:flex;justify-content:center;align-items:center}:host ::ng-deep .p-checkbox.p-checkbox-checked .p-checkbox-box{border-color:var(--cps-color-calm);background:var(--cps-color-calm)}:host ::ng-deep .p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box,:host ::ng-deep .p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:focus) .p-checkbox-box{border-color:var(--cps-color-calm);background:var(--cps-color-calm);color:#fff}:host ::ng-deep .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box,:host ::ng-deep .p-checkbox:not(.p-disabled):has(.p-checkbox-input:focus) .p-checkbox-box{border-color:var(--cps-color-calm)}:host ::ng-deep .p-checkbox-input:focus-visible{outline:none}:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible){outline:none;position:relative}:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible):before,:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible):after{content:\"\";position:absolute;border-radius:.25rem}:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible):before{inset:-.1875rem;border:.0625rem solid var(--cps-color-calm)}:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible):after{inset:-.25rem;border:.0625rem solid var(--cps-color-calm-highlighten)}:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible).suppress-focus-visible:before,:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible).suppress-focus-visible:after{display:none}:host ::ng-deep .p-checkbox .p-checkbox-box .p-icon{width:.875rem;height:.875rem}:host ::ng-deep .p-checkbox .p-checkbox-box .p-checkbox-icon{transition-duration:.2s;color:#fff;font-size:.875rem}:host ::ng-deep .p-checkbox .p-checkbox-box minusicon .p-checkbox-icon{color:var(--cps-color-calm);width:.75rem}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td p-treetablecheckbox .p-checkbox{margin-right:0}:host ::ng-deep .cps-treetable-html-cell *:focus{outline:none}:host ::ng-deep .cps-treetable-html-cell *:focus-visible{outline:none;position:relative}:host ::ng-deep .cps-treetable-html-cell *:focus-visible:before,:host ::ng-deep .cps-treetable-html-cell *:focus-visible:after{content:\"\";position:absolute;border-radius:.375rem}:host ::ng-deep .cps-treetable-html-cell *:focus-visible:before{inset:-.125rem;border:.0625rem solid var(--cps-color-calm)}:host ::ng-deep .cps-treetable-html-cell *:focus-visible:after{inset:-.25rem;border:.0625rem solid var(--cps-color-calm-highlighten)}:host ::ng-deep .cps-treetable-html-cell *:focus-visible.suppress-focus-visible:before,:host ::ng-deep .cps-treetable-html-cell *:focus-visible.suppress-focus-visible:after{display:none}::ng-deep .p-scrollbar-measure{width:6.25rem;height:6.25rem;overflow:scroll;position:absolute;top:-9999px}::ng-deep .cps-select-options-menu.cps-paginator-page-options .cps-select-options-option{font-size:.875rem}\n"] }]
|
|
16836
|
+
], template: "<p-treeTable\n #primengTreeTable\n ttWithUnsort\n [pt]=\"treeTablePassthrough\"\n [class.cps-treetable-loading]=\"loading\"\n [class.cps-treetable-flex]=\"defScrollHeight === 'flex'\"\n [class.cps-treetable-nonvirtual]=\"!virtualScroll\"\n [class.cps-treetable-autolayout-calced]=\"autoLayout && scrollable\"\n [value]=\"data\"\n [autoLayout]=\"autoLayout && !scrollable\"\n [scrollable]=\"scrollable\"\n [scrollHeight]=\"scrollHeight\"\n [virtualScroll]=\"virtualScroll\"\n [virtualScrollItemSize]=\"virtualScrollItemSize\"\n [virtualScrollOptions]=\"{\n numToleratedItems: numToleratedItems,\n autoSize: false\n }\"\n [columns]=\"selectedColumns\"\n [loading]=\"loading\"\n [attr.aria-busy]=\"loading || null\"\n [rowHover]=\"rowHover\"\n [lazy]=\"lazy\"\n [(selection)]=\"selectedRows\"\n (selectionChange)=\"onSelectionChanged($event)\"\n compareSelectionBy=\"deepEquals\"\n [lazyLoadOnInit]=\"lazyLoadOnInit\"\n [styleClass]=\"styleClass\"\n [tableStyle]=\"tableStyle\"\n [tableStyleClass]=\"tableStyleClass\"\n [customSort]=\"customSort\"\n [sortMode]=\"sortMode\"\n [globalFilterFields]=\"globalFilterFields\"\n [paginator]=\"paginator\"\n [showCurrentPageReport]=\"true\"\n [alwaysShowPaginator]=\"alwaysShowPaginator\"\n [rows]=\"rows\"\n [first]=\"first\"\n [totalRecords]=\"totalRecords\"\n [resetPageOnSort]=\"resetPageOnSort\"\n [resizableColumns]=\"resizableColumns\"\n [columnResizeMode]=\"columnResizeMode\"\n [showGridlines]=\"bordered\"\n currentPageReportTemplate=\"{first} - {last} of {totalRecords}\"\n (onPage)=\"onPageChange($event)\"\n (onSort)=\"onSort($event)\"\n (onFilter)=\"onFilter($event)\"\n (onLazyLoad)=\"onLazyLoaded($event)\"\n (sortFunction)=\"onSortFunction($event)\"\n (onNodeExpand)=\"onNodeExpanded($event)\"\n (onNodeCollapse)=\"onNodeCollapsed($event)\"\n (onNodeSelect)=\"onNodeSelected($event)\"\n (onNodeUnselect)=\"onNodeUnselected($event)\"\n (onColResize)=\"onColumnResized($event)\">\n @if (colgroupTemplate) {\n <ng-template pTemplate=\"colgroup\">\n <ng-container *ngTemplateOutlet=\"colgroupTemplate\"></ng-container>\n </ng-template>\n }\n @if (hasToolbar) {\n <ng-template pTemplate=\"caption\">\n @if (toolbarTemplate) {\n <ng-container *ngTemplateOutlet=\"toolbarTemplate\"></ng-container>\n }\n @if (!toolbarTemplate) {\n <div class=\"cps-treetable-tbar-left\">\n @if (toolbarIcon) {\n <div class=\"cps-treetable-tbar-icon\">\n <cps-icon\n [icon]=\"toolbarIcon\"\n [color]=\"toolbarIconColor\"></cps-icon>\n </div>\n }\n <div class=\"cps-treetable-tbar-title\">{{ toolbarTitle }}</div>\n @if (showGlobalFilter) {\n <div class=\"cps-treetable-tbar-global-filter\">\n <cps-input\n #globalFilterComp\n ariaLabel=\"Global filter\"\n prefixIcon=\"search\"\n [placeholder]=\"globalFilterPlaceholder\"\n (valueChanged)=\"onFilterGlobal($event)\"\n [clearable]=\"true\"\n [disabled]=\"loading\"\n [appearance]=\"\n toolbarSize === 'small' ? 'underlined' : 'outlined'\n \"\n [hideDetails]=\"true\">\n </cps-input>\n </div>\n }\n </div>\n <div class=\"cps-treetable-tbar-right\">\n @if (showRemoveBtnOnSelect && selectedRows.length > 0) {\n <div class=\"cps-treetable-tbar-btn-on-select\">\n <cps-button\n label=\"Remove\"\n [disabled]=\"removeBtnOnSelectDisabled\"\n color=\"calm\"\n type=\"borderless\"\n icon=\"remove\"\n [size]=\"toolbarSize\"\n (clicked)=\"removeSelected()\">\n </cps-button>\n </div>\n }\n @if (showAdditionalBtnOnSelect && selectedRows.length > 0) {\n <div class=\"cps-treetable-tbar-btn-on-select\">\n <cps-button\n [label]=\"additionalBtnOnSelectTitle\"\n [disabled]=\"additionalBtnOnSelectDisabled\"\n color=\"calm\"\n type=\"borderless\"\n [icon]=\"additionalBtnOnSelectIcon\"\n [size]=\"toolbarSize\"\n (clicked)=\"onClickAdditionalBtnOnSelect()\">\n </cps-button>\n </div>\n }\n @if (showActionBtn) {\n <div class=\"cps-treetable-tbar-action-btn\">\n <cps-button\n [label]=\"actionBtnTitle\"\n [disabled]=\"actionBtnDisabled\"\n color=\"calm\"\n type=\"outlined\"\n [icon]=\"actionBtnIcon\"\n [size]=\"toolbarSize\"\n (clicked)=\"onClickActionBtn()\">\n </cps-button>\n </div>\n }\n @if (showExportBtn) {\n <div class=\"cps-treetable-tbar-export-btn\">\n <cps-button\n label=\"Export\"\n [disabled]=\"exportBtnDisabled\"\n color=\"calm\"\n type=\"solid\"\n icon=\"export\"\n [size]=\"toolbarSize\"\n (clicked)=\"onExportData()\">\n </cps-button>\n </div>\n }\n @if (showColumnsToggleBtn && columns.length > 0) {\n <table-column-visibility-toggle\n [columns]=\"columns\"\n [selectedColumns]=\"selectedColumns\"\n [disabled]=\"columnsToggleBtnDisabled\"\n [colHeaderName]=\"colHeaderName\"\n (selectedColumnsChange)=\"onSelectedColumnsChange($event)\">\n </table-column-visibility-toggle>\n }\n @if (showDataReloadBtn) {\n <div class=\"cps-treetable-tbar-reload-btn\">\n <cps-button\n ariaLabel=\"Reload data\"\n icon=\"refresh\"\n type=\"borderless\"\n color=\"calm\"\n [size]=\"toolbarSize\"\n [disabled]=\"dataReloadBtnDisabled\"\n (clicked)=\"onReloadData()\">\n </cps-button>\n </div>\n }\n </div>\n }\n </ng-template>\n }\n\n @if (nestedHeaderTemplate; as columns) {\n <ng-template pTemplate=\"header\" let-columns>\n <ng-container\n *ngTemplateOutlet=\"\n nestedHeaderTemplate;\n context: { $implicit: columns }\n \"></ng-container>\n </ng-template>\n }\n\n @if (!nestedHeaderTemplate; as columns) {\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <!-- <th style=\"width: 3rem\" *ngIf=\"reorderableRows\"></th> -->\n @if (selectable) {\n <th\n scope=\"col\"\n cpsTTHdrSelectable\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\"></th>\n }\n @if (headerTemplate) {\n <ng-container\n *ngTemplateOutlet=\"\n headerTemplate;\n context: { $implicit: columns }\n \"></ng-container>\n }\n @if (!headerTemplate && columns.length > 0) {\n @if (sortable) {\n @if (filterableByColumns) {\n @for (col of columns; track col) {\n <th\n scope=\"col\"\n [cpsTTColSortable]=\"col[colFieldName]\"\n [cpsTTColFilter]=\"col[colFieldName]\"\n [filterType]=\"\n col[colFilterTypeName] ??\n (autoColumnFilterType\n ? (data | cpsTTDetectFilterType: col[colFieldName])\n : 'text')\n \"\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\">\n {{ col[colHeaderName] }}\n </th>\n }\n } @else {\n @for (col of columns; track col) {\n <th\n scope=\"col\"\n [cpsTTColSortable]=\"col[colFieldName]\"\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\">\n {{ col[colHeaderName] }}\n </th>\n }\n }\n }\n @if (!sortable) {\n @if (filterableByColumns) {\n @for (col of columns; track col) {\n <th\n scope=\"col\"\n [cpsTTColFilter]=\"col[colFieldName]\"\n [filterType]=\"\n col[colFilterTypeName] ??\n (autoColumnFilterType\n ? (data | cpsTTDetectFilterType: col[colFieldName])\n : 'text')\n \"\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\">\n {{ col[colHeaderName] }}\n </th>\n }\n } @else {\n @for (col of columns; track col) {\n <th\n scope=\"col\"\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\">\n {{ col[colHeaderName] }}\n </th>\n }\n }\n }\n }\n @if (showRowMenu && (showRowRemoveButton || showRowEditButton)) {\n <th\n scope=\"col\"\n class=\"cps-treetable-row-menu-cell\"\n cpsTTColResizable\n [cpsTTColResizableDisabled]=\"!resizableColumns\">\n <span class=\"cps-sr-only\">Row actions</span>\n </th>\n }\n </tr>\n </ng-template>\n }\n\n <ng-template\n pTemplate=\"body\"\n let-rowData=\"rowData\"\n let-columns=\"columns\"\n let-rowNode\n let-rowIndex=\"rowIndex\">\n <tr\n [ttRow]=\"rowNode\"\n [class.cps-treetable-row-selected]=\"\n selectable && primengTreeTable.isSelected(rowNode.node)\n \">\n <!-- <td *ngIf=\"reorderableRows\" class=\"cps-table-row-drag-handle-cell\">\n <span class=\"cps-table-row-drag-handle\" pReorderableRowHandle>\u2630</span>\n </td> -->\n @if (selectable) {\n <td [cpsTTRowSelectable]=\"rowNode\"></td>\n }\n @if (bodyTemplate) {\n <ng-container\n *ngTemplateOutlet=\"\n bodyTemplate;\n context: {\n $implicit: rowNode,\n rowIndex: rowIndex,\n columns: columns,\n rowData: rowData\n }\n \">\n </ng-container>\n }\n @if (!bodyTemplate) {\n @if (columns.length > 0) {\n @if (renderDataAsHTML) {\n @for (col of columns; track col; let i = $index) {\n @if (i === 0) {\n <td\n class=\"cps-treetable-html-cell\"\n [cpsTTRowToggler]=\"rowNode\"\n [innerHTML]=\"rowData[col[colFieldName]]\"></td>\n }\n @if (i > 0) {\n <td\n class=\"cps-treetable-html-cell\"\n [innerHTML]=\"rowData[col[colFieldName]]\"></td>\n }\n }\n } @else {\n @for (col of columns; track col; let i = $index) {\n @if (i === 0) {\n <td [cpsTTRowToggler]=\"rowNode\">\n {{\n col[colDateFormatName]\n ? (rowData[col[colFieldName]]\n | date: col[colDateFormatName])\n : rowData[col[colFieldName]]\n }}\n </td>\n }\n @if (i > 0) {\n <td>\n {{\n col[colDateFormatName]\n ? (rowData[col[colFieldName]]\n | date: col[colDateFormatName])\n : rowData[col[colFieldName]]\n }}\n </td>\n }\n }\n }\n }\n }\n @if (showRowMenu && (showRowRemoveButton || showRowEditButton)) {\n <td class=\"cps-treetable-row-menu-cell\">\n <table-row-menu\n (editRowBtnClicked)=\"onEditRowClicked(rowNode.node)\"\n (removeRowBtnClicked)=\"onRemoveRowClicked(rowNode.node)\"\n [showRowRemoveButton]=\"showRowRemoveButton\"\n [showRowEditButton]=\"showRowEditButton\"\n [customItems]=\"rowMenuItems\">\n </table-row-menu>\n </td>\n }\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td\n colspan=\"100\"\n role=\"status\"\n class=\"cps-treetable-empty-message-td\"\n [style.height]=\"emptyBodyHeight\">\n {{ emptyMessage }}\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"loadingicon\">\n <cps-loader [fullScreen]=\"false\" opacity=\"0\"></cps-loader>\n </ng-template>\n <ng-template pTemplate=\"paginatorleft\">\n <div class=\"cps-table-paginator-itms-per-page\">\n <span class=\"cps-table-paginator-items-per-page-title\"\n >Rows per page:\n </span>\n <cps-select\n ariaLabel=\"Set rows per page\"\n width=\"4rem\"\n [options]=\"rowOptions\"\n [hideDetails]=\"true\"\n [(ngModel)]=\"rows\"\n (valueChanged)=\"onRowsPerPageChanged()\"\n [returnObject]=\"false\"\n optionsClass=\"cps-paginator-page-options\">\n </cps-select>\n </div>\n </ng-template>\n</p-treeTable>\n", styles: [":host ::ng-deep .p-treetable{position:relative;display:block}:host ::ng-deep .p-treetable.p-treetable-flex-scrollable{display:flex}:host ::ng-deep .p-component,:host ::ng-deep .p-component *{box-sizing:border-box}:host ::ng-deep .p-component{font-family:Source Sans Pro,sans-serif;font-size:.875rem;font-weight:400}:host ::ng-deep .p-treetable-scrollable-wrapper{position:relative;background:#fff}:host ::ng-deep .p-treetable-wrapper{background:#fff}:host ::ng-deep .cps-treetable-nonvirtual.cps-treetable-flex .p-treetable-flex-scrollable.cps-tbar-normal .p-treetable-scrollable-wrapper{height:calc(100% - 4.5rem)}:host ::ng-deep .cps-treetable-nonvirtual.cps-treetable-flex .p-treetable-flex-scrollable.cps-tbar-small .p-treetable-scrollable-wrapper{height:calc(100% - 2.6875rem)}:host ::ng-deep .cps-treetable-nonvirtual.cps-treetable-flex .p-treetable-flex-scrollable .p-treetable-scrollable-wrapper .p-treetable-scrollable-view .p-treetable-scrollable-header{display:contents}:host ::ng-deep .p-treetable .p-treetable-scrollable-header,:host ::ng-deep .p-treetable .p-treetable-scrollable-footer{background:#fff}:host ::ng-deep .p-treetable-scrollable-header,:host ::ng-deep .p-treetable-scrollable-footer{overflow:hidden}:host ::ng-deep .p-treetable table{border-collapse:collapse;width:100%;table-layout:fixed}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th{text-align:left;padding:1rem;border:.0625rem solid var(--cps-color-line-mid);border-width:0 0 .0625rem .0625rem;font-weight:400;color:var(--cps-color-text-mild);background:#fff;transition:box-shadow .2s;overflow:hidden}:host ::ng-deep .p-treetable-scrollable-body{overflow:auto!important;position:relative}:host ::ng-deep .cps-treetable-flex .p-treetable-scrollable-body{height:100%}:host ::ng-deep .p-treetable .p-treetable-tbody{background:#fff}:host ::ng-deep .p-treetable .p-treetable-tbody>tr{background:#fff;color:var(--cps-color-text-dark);transition:box-shadow .2s}:host ::ng-deep .p-treetable .p-treetable-tbody>tr.cps-treetable-row-selected{background-color:var(--cps-color-highlight-active)!important}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td{text-align:left;border:.0625rem solid var(--cps-color-line-mid);border-width:0 0 .0625rem 0;padding:1rem}:host ::ng-deep p-treetable:not(.cps-treetable-autolayout-calced) .p-treetable .p-treetable-tbody>tr>td{overflow:hidden}:host ::ng-deep .cps-treetable-autolayout-calced .p-treetable .p-treetable-scrollable-body .p-treetable-tbody>tr>td:not(.cps-treetable-row-toggler-cell):not(.cps-treetable-selectable-cell):not(.cps-treetable-row-menu-cell):not(.cps-treetable-empty-message-td){opacity:0;border-left-color:#fff}:host ::ng-deep .cps-treetable-autolayout-calced .p-treetable.p-treetable-striped .p-treetable-scrollable-body .p-treetable-tbody>tr:nth-child(odd)>td:not(.cps-treetable-row-toggler-cell):not(.cps-treetable-selectable-cell):not(.cps-treetable-row-menu-cell):not(.cps-treetable-empty-message-td){border-left-color:var(--cps-color-bg-light)}:host ::ng-deep .cps-treetable-autolayout-calced .p-treetable .p-treetable-scrollable-body .p-treetable-tbody>tr:hover>td:not(.cps-treetable-row-toggler-cell):not(.cps-treetable-selectable-cell):not(.cps-treetable-row-menu-cell):not(.cps-treetable-empty-message-td),:host ::ng-deep .cps-treetable-autolayout-calced .p-treetable .p-treetable-scrollable-body .p-treetable-tbody>tr:focus-visible>td:not(.cps-treetable-row-toggler-cell):not(.cps-treetable-selectable-cell):not(.cps-treetable-row-menu-cell):not(.cps-treetable-empty-message-td),:host ::ng-deep .cps-treetable-autolayout-calced .p-treetable .p-treetable-scrollable-body .p-treetable-tbody>tr:has(*:focus-visible)>td:not(.cps-treetable-row-toggler-cell):not(.cps-treetable-selectable-cell):not(.cps-treetable-row-menu-cell):not(.cps-treetable-empty-message-td){border-left-color:var(--cps-color-highlight-hover)}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:first-child{border-width:0 0 .0625rem .0625rem}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:last-child{border-width:0 .0625rem .0625rem 0}:host ::ng-deep .p-treetable-auto-layout table{table-layout:auto}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler{width:auto;height:auto;color:var(--cps-color-text-dark);border:0 none;background:transparent;border-radius:50%;margin-right:.5rem;padding:0}:host ::ng-deep .p-treetable-toggler{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;overflow:hidden;position:relative}:host ::ng-deep .p-ripple{overflow:hidden;position:relative}:host ::ng-deep .p-paginator-page:focus{outline:0 none;outline-offset:0;box-shadow:unset}:host ::ng-deep .p-paginator-page{text-align:left;background-color:transparent;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem;font-family:Source Sans Pro,sans-serif;border-radius:.375rem}:host ::ng-deep input[type=button],:host ::ng-deep input[type=submit],:host ::ng-deep input[type=reset],:host ::ng-deep input[type=file]::-webkit-file-upload-button,:host ::ng-deep button{border-radius:0}:host ::ng-deep .p-treetable .p-treetable-tbody>tr:focus{outline:none}:host ::ng-deep .p-treetable .p-treetable-tbody>tr:focus-visible,:host ::ng-deep .p-treetable .p-treetable-tbody>tr:has(*:focus-visible){outline:.0625rem solid var(--cps-color-calm);outline-offset:-.0625rem}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler:enabled:hover{color:var(--cps-color-calm);border-color:transparent;background:unset}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler:focus{outline:0 none;outline-offset:0;box-shadow:unset}:host ::ng-deep .p-treetable .p-paginator{border-width:0 .0625rem .0625rem .0625rem;border-radius:0}:host ::ng-deep .p-paginator{background:#fff;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;color:var(--cps-color-text-dark);padding:1rem;border:.0625rem solid var(--cps-color-line-mid)}:host ::ng-deep .p-paginator-content-start{margin-right:auto}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page{display:inline-flex;align-items:center}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page .cps-table-paginator-items-per-page-title{font-family:Source Sans Pro,sans-serif;font-size:.875rem;margin-right:.75rem;cursor:default}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page .cps-select-box{min-height:2rem!important;background:transparent!important}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page .cps-select-box .cps-select-box-items{font-size:.875rem!important}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page .cps-select-box .cps-select-box-chevron{padding:.3125rem!important}:host ::ng-deep .p-paginator-content-start .cps-table-paginator-itms-per-page .cps-select-box .cps-select-box-chevron .cps-icon{width:.875rem;height:.875rem}:host ::ng-deep .p-paginator .p-paginator-current{background-color:transparent;border:0 none;color:var(--cps-color-text-dark);min-width:3rem;margin:.143rem;padding:0 .5rem;font-family:Source Sans Pro,sans-serif;font-size:.875rem;height:unset}:host ::ng-deep .p-paginator-page,:host ::ng-deep .p-paginator-next,:host ::ng-deep .p-paginator-last,:host ::ng-deep .p-paginator-first,:host ::ng-deep .p-paginator-prev,:host ::ng-deep .p-paginator-current{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;-webkit-user-select:none;user-select:none;position:relative}:host ::ng-deep .p-paginator-current{cursor:default}:host ::ng-deep .p-paginator-first:focus,:host ::ng-deep .p-paginator-prev:focus,:host ::ng-deep .p-paginator-next:focus,:host ::ng-deep .p-paginator-last:focus,:host ::ng-deep .p-paginator-page:focus{z-index:1;outline:0 none;box-shadow:unset}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-page:focus-visible{overflow:visible;outline:none;position:relative}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-page:focus-visible:before,:host ::ng-deep .p-paginator-page:focus-visible:after{content:\"\";position:absolute;border-radius:.25rem}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible:before,:host ::ng-deep .p-paginator-page:focus-visible:before{inset:-.1875rem;border:.0625rem solid var(--cps-color-calm)}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible:after,:host ::ng-deep .p-paginator-page:focus-visible:after{inset:-.25rem;border:.0625rem solid var(--cps-color-calm-highlighten)}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible.suppress-focus-visible:after,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible.suppress-focus-visible:after,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible.suppress-focus-visible:after,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible.suppress-focus-visible:after,:host ::ng-deep .p-paginator-page:focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-paginator-page:focus-visible.suppress-focus-visible:after{display:none}:host ::ng-deep .p-paginator-first:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-prev:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-next:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-last:not(.p-disabled):focus-visible,:host ::ng-deep .p-paginator-page:not(.p-paginator-page-selected):focus-visible{background:var(--cps-color-highlight-hover)}:host ::ng-deep .p-paginator .p-paginator-first:not(.p-disabled):not(.p-paginator-page-selected):hover,:host ::ng-deep .p-paginator .p-paginator-prev:not(.p-disabled):not(.p-paginator-page-selected):hover,:host ::ng-deep .p-paginator .p-paginator-next:not(.p-disabled):not(.p-paginator-page-selected):hover,:host ::ng-deep .p-paginator .p-paginator-last:not(.p-disabled):not(.p-paginator-page-selected):hover{background:var(--cps-color-highlight-hover);border-color:unset}:host ::ng-deep .p-paginator .p-paginator-first:not(.p-disabled):not(.p-paginator-page-selected):active,:host ::ng-deep .p-paginator .p-paginator-prev:not(.p-disabled):not(.p-paginator-page-selected):active,:host ::ng-deep .p-paginator .p-paginator-next:not(.p-disabled):not(.p-paginator-page-selected):active,:host ::ng-deep .p-paginator .p-paginator-last:not(.p-disabled):not(.p-paginator-page-selected):active{background:var(--cps-color-highlight-active)}:host ::ng-deep .p-paginator .p-paginator-first,:host ::ng-deep .p-paginator .p-paginator-prev,:host ::ng-deep .p-paginator .p-paginator-next,:host ::ng-deep .p-paginator .p-paginator-last{background-color:transparent;border:.0625rem solid var(--cps-color-text-dark);border-radius:.25rem;color:var(--cps-color-text-dark);min-width:2rem;height:2rem;margin:.143rem;transition:box-shadow .2s}:host ::ng-deep .p-disabled,:host ::ng-deep .p-disabled *{cursor:default!important;pointer-events:none}:host ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page.p-paginator-page-selected{background:var(--cps-color-calm);border-color:var(--cps-color-calm);color:#fff}:host ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page:not(.p-paginator-page-selected):hover{background:var(--cps-color-highlight-hover);border-color:unset}:host ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page:not(.p-paginator-page-selected):active{background:var(--cps-color-highlight-active)}:host ::ng-deep .p-paginator .p-paginator-pages .p-paginator-page{background-color:transparent;border:.0625rem solid var(--cps-color-text-dark);border-radius:.25rem;color:var(--cps-color-text-dark);min-width:2rem;height:2rem;margin:.143rem;transition:box-shadow .2s}:host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:.4}:host ::ng-deep .cps-treetable-empty-message-td{text-align:center!important;font-weight:600;background:#fff}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-header{border-width:.0625rem .0625rem 0 .0625rem}:host ::ng-deep .p-treetable .p-treetable-header{font-weight:600;display:flex;justify-content:space-between;align-items:center;padding:0 .625rem!important;border:unset;background:unset;border-top:.0625rem solid var(--cps-color-line-mid);border-right:.0625rem solid var(--cps-color-line-mid);border-left:.25rem solid var(--cps-color-surprise)!important;border-radius:.25rem .25rem 0 0;font-size:1rem;line-height:150%;background-color:#fff;color:var(--cps-color-text-darkest);overflow:auto}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-left{display:flex;align-items:center}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-left .cps-treetable-tbar-global-filter{margin-left:.75rem}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-left .cps-treetable-tbar-icon{display:flex;margin-right:.5rem}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-left .cps-treetable-tbar-title{cursor:default}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-right{display:flex;align-items:center}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-right .cps-treetable-tbar-action-btn,:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-right .cps-treetable-tbar-export-btn{margin-right:.25rem;margin-left:.25rem}:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-right .cps-treetable-tbar-btn-on-select,:host ::ng-deep .p-treetable .p-treetable-header .cps-treetable-tbar-right .cps-treetable-tbar-reload-btn{margin-right:.125rem;margin-left:.125rem}:host ::ng-deep .cps-tbar-small.p-treetable .p-treetable-header{min-height:2.6875rem}:host ::ng-deep .cps-tbar-normal.p-treetable .p-treetable-header{min-height:4.5rem}:host ::ng-deep .p-treetable .p-treetable-footer{background:#fff;color:#343a40;border:.0625rem solid var(--cps-color-line-mid);border-width:0 0 .0625rem 0;padding:1rem;font-weight:700}:host ::ng-deep .p-treetable .p-treetable-tfoot>tr>td{text-align:left;padding:1rem;border:.0625rem solid var(--cps-color-line-mid);border-width:0 0 .0625rem 0;font-weight:700;color:#343a40;background:#fff}:host ::ng-deep .p-treetable .p-sortable-column:not(.p-highlight):hover .cps-sortable-column-icon.sort-unsorted .sort-unsorted-arrow-up,:host ::ng-deep .p-treetable .p-sortable-column cps-sort-icon:focus-visible .cps-sortable-column-icon.sort-unsorted .sort-unsorted-arrow-up{border-bottom-color:var(--cps-color-text-mild)}:host ::ng-deep .p-treetable .p-sortable-column:not(.p-highlight):hover .cps-sortable-column-icon.sort-unsorted .sort-unsorted-arrow-down,:host ::ng-deep .p-treetable .p-sortable-column cps-sort-icon:focus-visible .cps-sortable-column-icon.sort-unsorted .sort-unsorted-arrow-down{border-top-color:var(--cps-color-text-mild)}:host ::ng-deep .p-icon-wrapper{display:inline-flex}:host ::ng-deep .p-icon{display:inline-block;width:1rem;height:1rem}:host ::ng-deep .p-paginator .p-paginator-first-icon,:host ::ng-deep .p-paginator .p-paginator-prev-icon,:host ::ng-deep .p-paginator .p-paginator-next-icon,:host ::ng-deep .p-paginator .p-paginator-last-icon{width:.875rem;height:.875rem}:host ::ng-deep .p-treetable .p-sortable-column .cps-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;vertical-align:top;color:var(--cps-color-calm);margin-left:.25rem}:host ::ng-deep .p-link{text-align:left;background-color:transparent;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:none;user-select:none}:host ::ng-deep .p-treetable .p-sortable-column{cursor:pointer;-webkit-user-select:none;user-select:none}:host ::ng-deep .p-treetable .p-sortable-column:focus{box-shadow:none;outline:0 none}:host ::ng-deep .p-treetable .p-sortable-column:focus-visible{overflow:visible;outline:none;position:relative}:host ::ng-deep .p-treetable .p-sortable-column:focus-visible:before,:host ::ng-deep .p-treetable .p-sortable-column:focus-visible:after{content:\"\";position:absolute;border-radius:.25rem}:host ::ng-deep .p-treetable .p-sortable-column:focus-visible:before{inset:-.1875rem;border:.0625rem solid var(--cps-color-calm)}:host ::ng-deep .p-treetable .p-sortable-column:focus-visible:after{inset:-.25rem;border:.0625rem solid var(--cps-color-calm-highlighten)}:host ::ng-deep .p-treetable .p-sortable-column:focus-visible.suppress-focus-visible:before,:host ::ng-deep .p-treetable .p-sortable-column:focus-visible.suppress-focus-visible:after{display:none}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler.p-icon{width:2rem;height:2rem}:host ::ng-deep .p-treetable .p-treetable-tbody>tr.p-highlight{background:#eff6ff;color:#1d4ed8}:host ::ng-deep .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody>tr:not(.p-highlight):hover,:host ::ng-deep .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody>tr:not(.p-highlight):focus-visible,:host ::ng-deep .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody>tr:not(.p-highlight):has(*:focus-visible){background:var(--cps-color-highlight-hover)}:host ::ng-deep .p-treetable-hoverable-rows .p-treetable-tbody>tr{cursor:auto}:host ::ng-deep .p-treetable .p-column-resizer-helper{background:var(--cps-color-calm);width:.0625rem}:host ::ng-deep .p-treetable .p-column-resizer{border-width:.0625rem}:host ::ng-deep .p-treetable .p-column-resizer:focus{outline:none}:host ::ng-deep .p-treetable .p-column-resizer.cps-col-resizer-focused{background:var(--cps-color-calm)!important;opacity:1!important}:host ::ng-deep .p-treetable .p-treetable-mask.p-overlay-mask{position:absolute;display:flex;align-items:center;justify-content:center;z-index:1001;top:0;left:0;width:100%;height:100%;background-color:#fff;transition-duration:.2s;border:.0625rem solid var(--cps-color-line-mid)}:host ::ng-deep .p-treetable.cps-tbar-small .p-treetable-mask.p-overlay-mask{top:2.6875rem;height:calc(100% - 2.6875rem)}:host ::ng-deep .p-treetable.cps-tbar-normal .p-treetable-mask.p-overlay-mask{top:4.5rem;height:calc(100% - 4.5rem)}:host ::ng-deep .cps-treetable-loading .p-treetable{min-height:12.5rem}:host ::ng-deep .cps-treetable-loading .p-treetable.cps-tbar-normal{min-height:17rem}:host ::ng-deep .cps-treetable-loading .p-treetable.cps-tbar-small{min-height:15.1875rem}:host ::ng-deep .cps-table-col-filter-menu-open .cps-table-col-filter-menu-button{color:var(--cps-color-text-dark)}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-footer{border-width:0 .0625rem .0625rem .0625rem}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-top{border-width:0 .0625rem 0 .0625rem}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-bottom{border-width:0 .0625rem .0625rem .0625rem}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th,:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-thead>tr>th{border-width:.0625rem 0 .0625rem .0625rem}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th:last-child{border-width:.0625rem}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-tbody>tr>td{border-width:0 0 .0625rem .0625rem}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-tfoot>tr>td{border-width:.0625rem}:host ::ng-deep .p-treetable.p-treetable-gridlines .p-treetable-tbody>tr>td:last-child{border-width:0 .0625rem .0625rem .0625rem}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:only-child{border-width:0 .0625rem .0625rem .0625rem}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th{padding:.5rem}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-tbody>tr>td{padding:.5rem}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-tfoot>tr>td{padding:.5rem}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-footer{padding:.5rem}:host ::ng-deep .p-treetable.p-treetable-lg .p-treetable-thead>tr>th{padding:1.25rem}:host ::ng-deep .p-treetable.p-treetable-lg .p-treetable-tbody>tr>td{padding:1.25rem}:host ::ng-deep .p-treetable.p-treetable-lg .p-treetable-tfoot>tr>td{padding:1.25rem}:host ::ng-deep .p-treetable.p-treetable-lg .p-treetable-footer{padding:1.25rem}:host ::ng-deep .p-treetable.p-treetable-striped .p-treetable-tbody>tr:nth-child(odd){background:var(--cps-color-bg-light)}:host ::ng-deep .p-treetable.p-treetable-striped .p-treetable-tbody>tr:nth-child(2n){background:#fff}:host ::ng-deep .cps-treetable-row-menu-cell{width:3.4375rem;border-left:none!important}:host ::ng-deep .cps-treetable-selectable-cell{width:3.4375rem;text-align:center!important}:host ::ng-deep .p-checkbox{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:bottom;position:relative;width:1.125rem;height:1.125rem}:host ::ng-deep .p-hidden-accessible{border:0;clip:rect(0 0 0 0);height:.0625rem;margin:-.0625rem;overflow:hidden;padding:0;position:absolute;width:.0625rem}:host ::ng-deep .p-hidden-accessible input,:host ::ng-deep .p-hidden-accessible select{transform:scale(0)}:host ::ng-deep .p-checkbox .p-checkbox-box{background:#fff;width:1.125rem;height:1.125rem;color:var(--cps-color-text-dark);border:.125rem solid var(--cps-color-text-mild);border-radius:.125rem;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}:host ::ng-deep .p-checkbox-box{display:flex;justify-content:center;align-items:center}:host ::ng-deep .p-checkbox.p-checkbox-checked .p-checkbox-box{border-color:var(--cps-color-calm);background:var(--cps-color-calm)}:host ::ng-deep .p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box,:host ::ng-deep .p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:focus) .p-checkbox-box{border-color:var(--cps-color-calm);background:var(--cps-color-calm);color:#fff}:host ::ng-deep .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box,:host ::ng-deep .p-checkbox:not(.p-disabled):has(.p-checkbox-input:focus) .p-checkbox-box{border-color:var(--cps-color-calm)}:host ::ng-deep .p-checkbox-input:focus-visible{outline:none}:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible){outline:none;position:relative}:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible):before,:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible):after{content:\"\";position:absolute;border-radius:.25rem}:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible):before{inset:-.1875rem;border:.0625rem solid var(--cps-color-calm)}:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible):after{inset:-.25rem;border:.0625rem solid var(--cps-color-calm-highlighten)}:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible).suppress-focus-visible:before,:host ::ng-deep .p-checkbox:has(.p-checkbox-input:focus-visible).suppress-focus-visible:after{display:none}:host ::ng-deep .p-checkbox .p-checkbox-box .p-icon{width:.875rem;height:.875rem}:host ::ng-deep .p-checkbox .p-checkbox-box .p-checkbox-icon{transition-duration:.2s;color:#fff;font-size:.875rem}:host ::ng-deep .p-checkbox .p-checkbox-box minusicon .p-checkbox-icon{color:var(--cps-color-calm);width:.75rem}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td p-treetablecheckbox .p-checkbox{margin-right:0}:host ::ng-deep .cps-treetable-html-cell *:focus{outline:none}:host ::ng-deep .cps-treetable-html-cell *:focus-visible{outline:none;position:relative}:host ::ng-deep .cps-treetable-html-cell *:focus-visible:before,:host ::ng-deep .cps-treetable-html-cell *:focus-visible:after{content:\"\";position:absolute;border-radius:.375rem}:host ::ng-deep .cps-treetable-html-cell *:focus-visible:before{inset:-.125rem;border:.0625rem solid var(--cps-color-calm)}:host ::ng-deep .cps-treetable-html-cell *:focus-visible:after{inset:-.25rem;border:.0625rem solid var(--cps-color-calm-highlighten)}:host ::ng-deep .cps-treetable-html-cell *:focus-visible.suppress-focus-visible:before,:host ::ng-deep .cps-treetable-html-cell *:focus-visible.suppress-focus-visible:after{display:none}::ng-deep .p-scrollbar-measure{width:6.25rem;height:6.25rem;overflow:scroll;position:absolute;top:-9999px}::ng-deep .cps-select-options-menu.cps-paginator-page-options .cps-select-options-option{font-size:.875rem}\n"] }]
|
|
16707
16837
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: Document, decorators: [{
|
|
16708
16838
|
type: Inject,
|
|
16709
16839
|
args: [DOCUMENT]
|