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.
@@ -2824,7 +2824,7 @@ class CpsAutocompleteComponent {
2824
2824
  selected.scrollIntoView({
2825
2825
  behavior: 'instant',
2826
2826
  block: 'nearest',
2827
- inline: 'center'
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: 'center'
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: 'center'
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: 'center'
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: 'center'
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
- // eslint-disable-next-line no-useless-constructor
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 headerRows = this._headerBox?.querySelectorAll('tr');
16213
- if (!headerRows?.length)
16213
+ const headerCells = this._queryHeaderCells();
16214
+ if (!headerCells?.length) {
16215
+ this._needRecalcAutoLayout = true;
16214
16216
  return;
16215
- const headerCells = headerRows[headerRows.length - 1]?.querySelectorAll('th');
16216
- if (!headerCells?.length)
16217
+ }
16218
+ if (headerCells.every((th) => th.offsetWidth === 0)) {
16219
+ this._needRecalcAutoLayout = true;
16217
16220
  return;
16218
- let hasSelectableCell = false;
16219
- let hasRowMenuCell = false;
16220
- const ths = Array.from(headerCells);
16221
- if (ths.every((th) => th.offsetWidth === 0))
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
- const thWidths = ths.map((th) => {
16224
- const wprev = th.style.width;
16225
- const isSelectableCell = th.classList.contains('cps-treetable-selectable-cell');
16226
- const isRowCell = th.classList.contains('cps-treetable-row-menu-cell');
16227
- if (isSelectableCell)
16228
- hasSelectableCell = true;
16229
- if (isRowCell)
16230
- hasRowMenuCell = true;
16231
- let thWidth = 55;
16232
- if (!isSelectableCell && !isRowCell) {
16233
- this.renderer.setStyle(th, 'width', 'min-content');
16234
- this.renderer.setStyle(th, 'display', 'block');
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
- const bodyRows = this._scrollableBody?.querySelectorAll('tr');
16244
- if (!bodyRows?.length)
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 tdWidths = [];
16247
- const fragment = this.document.createDocumentFragment();
16248
- const hiddenDiv = this.document.createElement('div');
16249
- hiddenDiv.style.visibility = 'hidden';
16250
- hiddenDiv.style.position = 'absolute';
16251
- hiddenDiv.style.whiteSpace = 'nowrap';
16252
- this.document.body.appendChild(hiddenDiv);
16253
- bodyRows.forEach((tr) => {
16254
- const tds = tr?.querySelectorAll('td');
16255
- tds?.forEach((td, idx) => {
16256
- const isSelectableOrRowMenuCell = td.classList.contains('cps-treetable-selectable-cell') ||
16257
- td.classList.contains('cps-treetable-row-menu-cell');
16258
- let tdWidth = 55;
16259
- if (!isSelectableOrRowMenuCell) {
16260
- const clonedTd = td.cloneNode(true);
16261
- fragment.appendChild(clonedTd);
16262
- this.renderer.setStyle(clonedTd, 'width', 'min-content');
16263
- this.renderer.setStyle(clonedTd, 'display', 'block');
16264
- hiddenDiv.innerHTML = clonedTd.innerHTML;
16265
- hiddenDiv.style.width = 'auto';
16266
- tdWidth = hiddenDiv.offsetWidth;
16267
- fragment.removeChild(clonedTd);
16268
- }
16269
- if (!tdWidths[idx])
16270
- tdWidths[idx] = 0;
16271
- tdWidths[idx] = Math.max(tdWidths[idx], tdWidth);
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
- this.document.body.removeChild(hiddenDiv);
16275
- if (thWidths.length !== tdWidths.length)
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
- if (hasRowMenuCell) {
16284
- sum -= 55;
16285
- maxWidths.pop();
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 percentages = maxWidths.map((v) => (v / sum) * 100);
16288
- headerCells.forEach((th, idx) => {
16289
- if ((hasSelectableCell && idx === 0) ||
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
- this._needRecalcAutoLayout = false;
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
- setTimeout(() => {
16576
- this._calcAutoLayoutHeaderWidths(true);
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
- setTimeout(() => {
16583
- this._calcAutoLayoutHeaderWidths(true);
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
- setTimeout(() => {
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
- setTimeout(() => {
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]