@acorex/components 19.10.4 → 19.10.6

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.
Files changed (73) hide show
  1. package/conversation/lib/conversation-container/conversation-container.component.d.ts +2 -3
  2. package/conversation/lib/conversation-message/conversation-message.component.d.ts +1 -0
  3. package/data-table/lib/data-table/data-table.component.d.ts +19 -4
  4. package/datetime-box/lib/datetime-box.component.d.ts +2 -0
  5. package/datetime-picker/lib/datetime-picker.component.d.ts +3 -1
  6. package/decorators/lib/components/heading/heading.component.d.ts +1 -3
  7. package/fesm2022/acorex-components-avatar.mjs +3 -3
  8. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  9. package/fesm2022/acorex-components-calendar.mjs +2 -2
  10. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  11. package/fesm2022/acorex-components-check-box.mjs +2 -2
  12. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  13. package/fesm2022/acorex-components-color-box.mjs +2 -2
  14. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  15. package/fesm2022/acorex-components-color-palette.mjs +1 -1
  16. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  17. package/fesm2022/acorex-components-conversation.mjs +22 -19
  18. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  19. package/fesm2022/acorex-components-cron-job.mjs +6 -6
  20. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  21. package/fesm2022/acorex-components-data-table.mjs +56 -78
  22. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  23. package/fesm2022/acorex-components-datetime-box.mjs +10 -29
  24. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  25. package/fesm2022/acorex-components-datetime-picker.mjs +10 -4
  26. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  27. package/fesm2022/acorex-components-decorators.mjs +3 -5
  28. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  29. package/fesm2022/acorex-components-file-explorer.mjs +135 -106
  30. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  31. package/fesm2022/acorex-components-grid-layout-builder.mjs +2 -2
  32. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  33. package/fesm2022/acorex-components-json-viewer.mjs +2 -2
  34. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  35. package/fesm2022/acorex-components-media-viewer.mjs +4 -4
  36. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  37. package/fesm2022/acorex-components-phone-box.mjs +1 -1
  38. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  39. package/fesm2022/acorex-components-popover.mjs +4 -18
  40. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  41. package/fesm2022/acorex-components-query-builder.mjs +2 -2
  42. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  43. package/fesm2022/acorex-components-rest-api-generator.mjs +356 -0
  44. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -0
  45. package/fesm2022/acorex-components-search-box.mjs +7 -22
  46. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  47. package/fesm2022/acorex-components-select-box.mjs +10 -19
  48. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  49. package/fesm2022/acorex-components-text-box.mjs +2 -2
  50. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  51. package/fesm2022/acorex-components-wysiwyg.mjs +1 -1
  52. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  53. package/file-explorer/index.d.ts +2 -0
  54. package/file-explorer/lib/file-explorer-container/file-explorer-container.component.d.ts +1 -6
  55. package/file-explorer/lib/file-explorer-header/file-explorer-header.component.d.ts +9 -0
  56. package/file-explorer/lib/file-explorer-internal.service.d.ts +14 -0
  57. package/file-explorer/lib/file-explorer-tree/file-explorer-tree.component.d.ts +10 -0
  58. package/file-explorer/lib/file-explorer-view/file-explorer-view.component.d.ts +5 -15
  59. package/file-explorer/lib/file-explorer.module.d.ts +11 -8
  60. package/file-explorer/lib/file-explorer.service.d.ts +6 -1
  61. package/package.json +9 -5
  62. package/rest-api-generator/README.md +3 -0
  63. package/rest-api-generator/index.d.ts +8 -0
  64. package/rest-api-generator/lib/query-params/query-params.component.d.ts +16 -0
  65. package/rest-api-generator/lib/request-body/request-body.component.d.ts +22 -0
  66. package/rest-api-generator/lib/request-headers/request-headers.component.d.ts +22 -0
  67. package/rest-api-generator/lib/rest-api-auth/rest-api-auth.component.d.ts +22 -0
  68. package/rest-api-generator/lib/rest-api-generator.component.d.ts +14 -0
  69. package/rest-api-generator/lib/rest-api-generator.module.d.ts +19 -0
  70. package/rest-api-generator/lib/rest-api-generator.service.d.ts +7 -0
  71. package/rest-api-generator/lib/types.d.ts +20 -0
  72. package/search-box/lib/search-box.component.d.ts +2 -1
  73. package/select-box/lib/select-box.component.d.ts +2 -1
@@ -1,7 +1,7 @@
1
1
  import * as i5$1 from '@acorex/components/common';
2
2
  import { MXBaseComponent, convertArrayToDataSource, AXListDataSource, AXPagedComponent, AXCommonModule, AXRippleDirective } from '@acorex/components/common';
3
3
  import * as i0 from '@angular/core';
4
- import { EventEmitter, signal, Input, Output, Injectable, inject, PLATFORM_ID, HostListener, Directive, ViewChild, ChangeDetectionStrategy, ViewEncapsulation, Component, ChangeDetectorRef, NgZone, computed, ContentChildren, NgModule } from '@angular/core';
4
+ import { EventEmitter, signal, Input, Output, Injectable, inject, PLATFORM_ID, HostListener, Directive, ViewChild, ChangeDetectionStrategy, ViewEncapsulation, Component, ChangeDetectorRef, NgZone, computed, effect, ContentChildren, ContentChild, NgModule } from '@angular/core';
5
5
  import * as i1$1 from '@angular/common';
6
6
  import { DOCUMENT, isPlatformBrowser, CommonModule } from '@angular/common';
7
7
  import { Subject, debounceTime, buffer, filter } from 'rxjs';
@@ -19,7 +19,7 @@ import * as i4$1 from '@acorex/components/dropdown';
19
19
  import { AXDropdownModule } from '@acorex/components/dropdown';
20
20
  import { AXUnsubscriber, AXHtmlUtil } from '@acorex/core/utils';
21
21
  import * as i6 from '@acorex/components/data-pager';
22
- import { AXDataPagerModule } from '@acorex/components/data-pager';
22
+ import { AXDataPagerComponent, AXDataPagerModule } from '@acorex/components/data-pager';
23
23
  import { AXResultModule } from '@acorex/components/result';
24
24
  import * as i3 from '@acorex/components/skeleton';
25
25
  import { AXSkeletonModule } from '@acorex/components/skeleton';
@@ -1182,13 +1182,7 @@ class AXDataTableComponent extends AXBaseDataTable {
1182
1182
  /**
1183
1183
  * @ignore
1184
1184
  */
1185
- this.resizeColumnProp = {
1186
- startX: 0,
1187
- startWidth: 0,
1188
- columnIndex: 0,
1189
- newColumnWidth: 0,
1190
- thElement: null,
1191
- };
1185
+ this.resizeColumnProp = { startX: 0, startWidth: 0, columnIndex: 0, newColumnWidth: 0, thElement: null };
1192
1186
  /**
1193
1187
  * @ignore
1194
1188
  */
@@ -1268,10 +1262,7 @@ class AXDataTableComponent extends AXBaseDataTable {
1268
1262
  *
1269
1263
  * @defaultValue `{ enabled: true, animation: true }`
1270
1264
  */
1271
- this.loading = {
1272
- enabled: true,
1273
- animation: true,
1274
- };
1265
+ this.loading = { enabled: true, animation: true };
1275
1266
  /**
1276
1267
  * Emits when the focused row changes.
1277
1268
  *
@@ -1297,15 +1288,31 @@ class AXDataTableComponent extends AXBaseDataTable {
1297
1288
  */
1298
1289
  this.onColumnsOrderChanged = new EventEmitter();
1299
1290
  /**
1300
- * Emits when the order of columns changes.
1291
+ * Emits when the size of columns changes.
1301
1292
  *
1302
1293
  * @event onColumnSizeChanged
1303
1294
  */
1304
1295
  this.onColumnSizeChanged = new EventEmitter();
1296
+ /**
1297
+ * Emits when page changes.
1298
+ *
1299
+ * @event onColumnSizeChanged
1300
+ */
1301
+ this.onPageChanged = new EventEmitter();
1305
1302
  /**
1306
1303
  * @ignore
1307
1304
  */
1308
1305
  this.clickSubject = new Subject();
1306
+ /**
1307
+ * @ignore
1308
+ */
1309
+ this.#effect = effect(() => {
1310
+ if (this.customDataPager) {
1311
+ this.customDataPager.total = this.dataSource.totalCount;
1312
+ this.customDataPager.size = this.dataSource.pageSize;
1313
+ this.customDataPager.isLoading = this.isLoading();
1314
+ }
1315
+ });
1309
1316
  /**
1310
1317
  * @ignore
1311
1318
  */
@@ -1358,6 +1365,9 @@ class AXDataTableComponent extends AXBaseDataTable {
1358
1365
  */
1359
1366
  ngOnInit() {
1360
1367
  super.ngOnInit();
1368
+ if (this.customDataPager) {
1369
+ this.applyDataPagerMethods();
1370
+ }
1361
1371
  this.rtl = AXHtmlUtil.isRtl(this.getHostElement());
1362
1372
  this.dataSource.useCache = false;
1363
1373
  if (this.fetchDataMode == 'auto') {
@@ -1399,43 +1409,33 @@ class AXDataTableComponent extends AXBaseDataTable {
1399
1409
  this.columnsList.set(cols.toArray());
1400
1410
  });
1401
1411
  }
1412
+ /**
1413
+ * @ignore
1414
+ */
1415
+ #effect;
1402
1416
  toggleExpanded(rows, expandedItem, children) {
1403
1417
  return rows.map((item) => {
1404
1418
  children.forEach((c) => {
1405
1419
  if (!c.__meta__) {
1406
- c.__meta__ = {
1407
- level: (expandedItem?.__meta__?.level ?? 0) + 1,
1408
- };
1420
+ c.__meta__ = { level: (expandedItem?.__meta__?.level ?? 0) + 1 };
1409
1421
  }
1410
1422
  });
1411
1423
  if (expandedItem[this.getDataSourceKey()] === item[this.getDataSourceKey()]) {
1412
1424
  const isExpanded = !item?.__meta__?.expanded;
1413
1425
  return {
1414
1426
  ...item,
1415
- __meta__: {
1416
- expanded: isExpanded,
1417
- level: expandedItem?.__meta__?.level ?? 0,
1418
- },
1427
+ __meta__: { expanded: isExpanded, level: expandedItem?.__meta__?.level ?? 0 },
1419
1428
  children: children ? this.toggleExpanded(children, expandedItem, item.children || []) : null,
1420
1429
  };
1421
1430
  }
1422
1431
  else if (item.children) {
1423
- return {
1424
- ...item,
1425
- children: this.toggleExpanded(item.children, expandedItem, children),
1426
- };
1432
+ return { ...item, children: this.toggleExpanded(item.children, expandedItem, children) };
1427
1433
  }
1428
1434
  return item;
1429
1435
  });
1430
1436
  }
1431
1437
  async refreshExpandedItem(id) {
1432
- const newChildren = await this.dataSource.getItemsByFilter({
1433
- field: this.parentField,
1434
- operator: {
1435
- type: 'equal',
1436
- },
1437
- value: id,
1438
- });
1438
+ const newChildren = await this.dataSource.getItemsByFilter({ field: this.parentField, operator: { type: 'equal' }, value: id });
1439
1439
  this.displayedRows.update((prev) => this.updateChildren(prev, id, newChildren.items));
1440
1440
  }
1441
1441
  updateChildren(items, id, newChildren) {
@@ -1459,11 +1459,7 @@ class AXDataTableComponent extends AXBaseDataTable {
1459
1459
  const clonedColumns = [...this.columnsList()];
1460
1460
  moveItemInArray(clonedColumns, event.previousIndex, event.currentIndex);
1461
1461
  this.columnsList.set(clonedColumns);
1462
- this.onColumnsOrderChanged.emit({
1463
- component: this,
1464
- data: { event },
1465
- isUserInteraction: true,
1466
- });
1462
+ this.onColumnsOrderChanged.emit({ component: this, data: { event }, isUserInteraction: true });
1467
1463
  }
1468
1464
  /**
1469
1465
  * @ignore
@@ -1483,16 +1479,13 @@ class AXDataTableComponent extends AXBaseDataTable {
1483
1479
  this.focusedRow = item;
1484
1480
  }
1485
1481
  //
1486
- this.onRowClick.emit({
1487
- component: this,
1488
- data: item,
1489
- isUserInteraction: true,
1490
- });
1482
+ this.onRowClick.emit({ component: this, data: item, isUserInteraction: true });
1491
1483
  }
1492
1484
  /**
1493
1485
  * @ignore
1494
1486
  */
1495
- onPageChanged(event) {
1487
+ handleChangePage(event) {
1488
+ this.onPageChanged.emit(event);
1496
1489
  if (event.isUserInteraction) {
1497
1490
  const pageChanged = event.page - 1 != this.page();
1498
1491
  const pageSizeChanged = event.take != this.pageSize();
@@ -1516,11 +1509,14 @@ class AXDataTableComponent extends AXBaseDataTable {
1516
1509
  handleRowDoubleClick(e, item) {
1517
1510
  this.focusedRow = item;
1518
1511
  //
1519
- this.onRowDbClick.emit({
1520
- component: this,
1521
- data: item,
1522
- isUserInteraction: true,
1523
- });
1512
+ this.onRowDbClick.emit({ component: this, data: item, isUserInteraction: true });
1513
+ }
1514
+ /**
1515
+ * @ignore
1516
+ */
1517
+ applyDataPagerMethods() {
1518
+ this.customDataPager.onChanged.pipe(this._unsubscriber.takeUntilDestroy).subscribe((event) => this.handleChangePage(event));
1519
+ this.customDataPager.displayMode = 'custom';
1524
1520
  }
1525
1521
  /**
1526
1522
  * Handles the click event on a column header.
@@ -1534,10 +1530,7 @@ class AXDataTableComponent extends AXBaseDataTable {
1534
1530
  if (column instanceof AXDataTableTextColumnComponent) {
1535
1531
  const sort = this.dataSource.query.sort.find((c) => c.field == column.dataField);
1536
1532
  if (!sort) {
1537
- this.dataSource.query.sort.push({
1538
- field: column.dataField,
1539
- dir: 'asc',
1540
- });
1533
+ this.dataSource.query.sort.push({ field: column.dataField, dir: 'asc' });
1541
1534
  }
1542
1535
  else {
1543
1536
  if (sort.dir == 'asc') {
@@ -1583,11 +1576,7 @@ class AXDataTableComponent extends AXBaseDataTable {
1583
1576
  onResizeColumnStart(event, columnIndex) {
1584
1577
  this.onColumnSizeChanged.emit({
1585
1578
  type: 'start',
1586
- data: {
1587
- columnIndex: columnIndex,
1588
- width: this.columns.get(columnIndex).width,
1589
- dataField: this.columns.get(columnIndex).name,
1590
- },
1579
+ data: { columnIndex: columnIndex, width: this.columns.get(columnIndex).width, dataField: this.columns.get(columnIndex).name },
1591
1580
  isUserInteraction: true,
1592
1581
  component: this,
1593
1582
  });
@@ -1609,13 +1598,7 @@ class AXDataTableComponent extends AXBaseDataTable {
1609
1598
  */
1610
1599
  resetResizingProcess() {
1611
1600
  this.resizeColumnProp.thElement.removeAttribute('new-width');
1612
- this.resizeColumnProp = {
1613
- startX: 0,
1614
- startWidth: 0,
1615
- columnIndex: 0,
1616
- newColumnWidth: 0,
1617
- thElement: null,
1618
- };
1601
+ this.resizeColumnProp = { startX: 0, startWidth: 0, columnIndex: 0, newColumnWidth: 0, thElement: null };
1619
1602
  }
1620
1603
  /**
1621
1604
  * @ignore
@@ -1659,26 +1642,19 @@ class AXDataTableComponent extends AXBaseDataTable {
1659
1642
  firstEndColumn['isFirstFixedColumn'] = true;
1660
1643
  }
1661
1644
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXDataTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1662
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXDataTableComponent, isStandalone: false, selector: "ax-data-table", inputs: { dataSource: "dataSource", parentField: "parentField", rowTemplate: "rowTemplate", emptyTemplate: "emptyTemplate", alternative: "alternative", showHeader: "showHeader", fixedHeader: "fixedHeader", showFooter: "showFooter", fixedFooter: "fixedFooter", itemHeight: "itemHeight", allowReordering: "allowReordering", paging: "paging", fetchDataMode: "fetchDataMode", loading: "loading", focusedRow: "focusedRow" }, outputs: { selectedRowsChange: "selectedRowsChange", focusedRowChange: "focusedRowChange", onRowClick: "onRowClick", onRowDbClick: "onRowDbClick", onColumnsOrderChanged: "onColumnsOrderChanged", onColumnSizeChanged: "onColumnSizeChanged" }, host: { attributes: { "ngSkipHydration": "true" } }, providers: [
1663
- {
1664
- provide: AXBaseDataTable,
1665
- useExisting: AXDataTableComponent,
1666
- },
1667
- AXUnsubscriber,
1668
- ], queries: [{ propertyName: "columns", predicate: AXDataTableColumnComponent }], viewQueries: [{ propertyName: "dataPager", first: true, predicate: ["dataPager"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\"> </ng-content>\n@if (!displayedRows().length) {\n <div class=\"ax-data-table-empty-data\">\n @if (emptyTemplate) {\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n } @else {\n <span>{{ 'noRecord' | translate | async }}</span>\n }\n </div>\n}\n<div class=\"ax-data-table-wrapper\">\n <table>\n @if (showHeader) {\n <thead [ngClass]=\"{ 'ax-data-table-sticky-header': fixedHeader }\">\n <tr\n [cdkDropListDisabled]=\"!allowReordering\"\n cdkDropList\n cdkScrollable\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-start\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.isLast]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"\n c.renderHeaderTemplate;\n context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\n \"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n @for (c of normalColumnsList(); track $index) {\n <th\n cdkDrag\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"\n c.renderHeaderTemplate;\n context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\n \"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n ></div>\n }\n </th>\n }\n <th></th>\n @for (c of endFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.isFirst]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"\n c.renderHeaderTemplate;\n context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\n \"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n </tr>\n </thead>\n }\n <tbody [ngClass]=\"{ 'ax-data-table-row-alternative': alternative }\">\n @for (row of displayedRows(); let rowIndex = $index; track rowIndex) {\n <ng-container *ngTemplateOutlet=\"rowTemp; context: { data: { row, rowIndex } }\"></ng-container>\n }\n\n <ng-template #rowTemp let-data=\"data\">\n @if (rowTemplate) {\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate;\n context: { $implicit: { data: data.row, rowIndex: data.rowIndex } }\n \"\n >\n </ng-container>\n } @else {\n <tr\n [class.ax-state-focused]=\"focusedRow && data.row === focusedRow\"\n [attr.data-index]=\"data.rowIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(data.row)\"\n style.height=\"{{ itemHeight }}px\"\n style.max-height=\"{{ itemHeight }}px\"\n (click)=\"handleRowClick($event, data.row)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-start]=\"true\"\n [class.isLast]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n *ngTemplateOutlet=\"\n c.renderCellTemplate;\n context: { $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) } }\n \"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container *ngTemplateOutlet=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n *ngTemplateOutlet=\"\n c.renderCellTemplate;\n context: { $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) } }\n \"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container *ngTemplateOutlet=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n <td><div class=\"ax-bg\"></div></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-end]=\"true\"\n [class.isFirst]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n *ngTemplateOutlet=\"\n c.renderCellTemplate;\n context: { $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) } }\n \"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container *ngTemplateOutlet=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n </tr>\n @if (data.row?.__meta__?.expanded) {\n @for (childRow of data.row.children; let childRowIndex = $index; track childRowIndex) {\n <ng-container\n *ngTemplateOutlet=\"rowTemp; context: { data: { row: childRow, rowIndex: childRowIndex } }\"\n ></ng-container>\n }\n }\n }\n </ng-template>\n\n <tr class=\"empty-row\"></tr>\n </tbody>\n @if (showFooter) {\n <tfoot [ngClass]=\"{ 'ax-data-table-sticky-footer': fixedFooter }\">\n <tr>\n @for (c of startFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-start\"\n [class.ax-data-table-sticky-footer-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.isLast]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"\n c.renderFooterTemplate;\n context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\n \"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"\n c.renderFooterTemplate;\n context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\n \"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n ></div>\n }\n </td>\n }\n <td></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.isFirst]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"\n c.renderFooterTemplate;\n context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\n \"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n </tr>\n </tfoot>\n }\n </table>\n</div>\n\n@if (paging) {\n <div class=\"ax-table-footer\" #footerContainer>\n <ax-data-pager\n #dataPager\n [displayMode]=\"'custom'\"\n (onChanged)=\"onPageChanged($event)\"\n [total]=\"dataSource.totalCount\"\n [size]=\"dataSource.pageSize\"\n [isLoading]=\"isLoading()\"\n >\n <ax-prefix class=\"ax-data-table-numeric-paging\">\n <ax-data-pager-numeric-selector> </ax-data-pager-numeric-selector>\n <ax-data-pager-page-sizes> </ax-data-pager-page-sizes>\n </ax-prefix>\n <ax-prefix class=\"ax-data-table-input-paging\">\n <ax-data-pager-prev-buttons> </ax-data-pager-prev-buttons>\n <ax-data-pager-input-selector> </ax-data-pager-input-selector>\n <ax-data-pager-next-buttons> </ax-data-pager-next-buttons>\n </ax-prefix>\n <ax-suffix class=\"ax-data-table-info\">\n <ax-data-pager-info> </ax-data-pager-info>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh()\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-data-pager>\n </div>\n}\n<ng-content select=\"ax-footer\"> </ng-content>\n", styles: ["ax-data-table{--ax-comp-data-table-font-size: .875rem;--ax-comp-data-table-line-height: 1rem;--ax-comp-data-table-border-color: var(--ax-sys-color-border-surface);--ax-comp-data-table-border-radius: var(--ax-sys-border-radius);--ax-comp-data-table-column-bg-color: var(--ax-sys-color-lightest-surface);--ax-comp-data-table-header-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-header-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-data-table-footer-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-footer-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-data-table-hover-bg-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-data-table-hover-text-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-data-table-focus-bg-color: var(--ax-sys-color-primary-lighter-surface);--ax-comp-data-table-selected-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-selected-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-index-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-index-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-alternative-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-alternative-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-skeleton-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-data-table-handler-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-interactive-bg-color: var(--ax-sys-color-light-surface)}.ax-dark ax-data-table{--ax-comp-data-table-column-bg-color: var(--ax-sys-color-darkest-surface);--ax-comp-data-table-header-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-data-table-header-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-data-table-footer-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-data-table-footer-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-data-table-hover-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-hover-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-focus-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-selected-bg-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-data-table-selected-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-index-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-data-table-index-text-color: var(--ax-sys-color-on-dark-surface);--ax-comp-data-table-skeleton-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-alternative-bg-color: var(--ax-sys-color-surface);--ax-comp-data-table-alternative-text-color: var(--ax-sys-color-on-surface);--ax-comp-data-table-handler-bg-color: var(--ax-sys-color-primary-dark-surface)}@media screen and (min-width: 768px){html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-start{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-start.isLast{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-end{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-end.isFirst{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}}@media screen and (min-width: 768px){html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-start{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-start.isLast{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-end{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-end.isFirst{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table{display:flex;flex-direction:column;height:100%;width:100%;font-size:var(--ax-comp-data-table-font-size);line-height:var(--ax-comp-data-table-line-height);border-radius:var(--ax-comp-data-table-border-radius);border-width:1px;border-color:rgba(var(--ax-comp-data-table-border-color));position:relative;min-height:inherit}ax-data-table .ax-data-table-empty-data{position:absolute;top:calc(50% - 40px);width:100%;color:rgb(var(--ax-sys-color-ghost-500));text-align:center}ax-data-table .ax-data-table-wrapper{overflow:auto;width:100%;flex:1;border-radius:var(--ax-comp-data-table-border-radius)}ax-data-table .ax-data-table-wrapper table{display:table;height:100%;width:100%;table-layout:fixed;overflow-x:auto}ax-data-table .ax-data-table-wrapper table thead{overflow:hidden;border-start-end-radius:var(--ax-comp-data-table-border-radius);border-start-start-radius:var(--ax-comp-data-table-border-radius)}ax-data-table .ax-data-table-wrapper table thead th{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-header-bg-color));color:rgba(var(--ax-comp-data-table-header-text-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:2.5rem}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive:hover{background-color:rgba(var(--ax-comp-data-table-interactive-bg-color))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle{position:absolute;inset-inline-end:0px;top:0;bottom:0;width:.25rem;height:100%;cursor:col-resize;background:transparent}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover{background-color:rgba(var(--ax-comp-data-table-handler-bg-color))}ax-data-table .ax-data-table-wrapper table thead th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-data-table .ax-data-table-wrapper table thead th:last-child{border-inline-end-width:0px}ax-data-table .ax-data-table-wrapper table thead.ax-data-table-sticky-header{position:sticky;top:0;border-top:none;border-bottom:none;z-index:3;box-shadow:inset 1px 1px 0 2px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell{position:sticky;z-index:2;border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.isLast{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.isFirst{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell{position:sticky;z-index:2;background-color:rgba(var(--ax-comp-data-table-column-bg-color));border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.isLast{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.isFirst{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table .ax-data-table-wrapper table tbody tr td{z-index:0}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-bg{top:0;left:0;z-index:-1;width:100%;height:100%;position:absolute;border-inline-end:1px solid rgba(var(--ax-comp-data-table-border-color));background-color:transparent;opacity:.3}ax-data-table .ax-data-table-wrapper table tbody .empty-row{height:auto!important}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) td{background-color:rgba(var(--ax-comp-data-table-alternative-bg-color));color:rgba(var(--ax-comp-data-table-alternative-text-color))}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) ax-skeleton{width:25%}ax-data-table .ax-data-table-wrapper table tbody tr{height:2.5rem;max-height:2.5rem}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-hover-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-hover-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-focus-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-focus-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-selected-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-selected-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-selected-hover-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-selected-hover-bg-color))}ax-data-table .ax-data-table-wrapper table tbody td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-column-bg-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.5rem;padding-bottom:.5rem;vertical-align:middle}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler{padding-inline-start:.25rem;padding-inline-end:.25rem;cursor:pointer}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler.has-parent{padding-inline-start:1.5rem!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-comp-data-table-index-bg-color));color:rgba(var(--ax-comp-data-table-index-text-color));text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column{text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-comp-data-table-border-radius);border-style:none;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:transparent;padding:.25rem;color:rgba(var(--ax-color-ghost-fore))}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button:hover:not(ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button:hover.ax-state-selected,ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button:active{opacity:1}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-data-table .ax-data-table-wrapper table tbody td:last-child{border-inline-end-width:0px}ax-data-table .ax-data-table-wrapper table tbody td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem;background-color:rgba(var(--ax-comp-data-table-skeleton-bg-color))}ax-data-table .ax-data-table-wrapper table tfoot tr td{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-footer-bg-color));color:rgba(var(--ax-comp-data-table-footer-text-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:2.5rem}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive:hover{background-color:rgba(var(--ax-comp-data-table-interactive-bg-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell{position:sticky;z-index:2;border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start.isLast{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end.isFirst{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{position:sticky;bottom:-1px;border-top:none;border-bottom:none;z-index:3;box-shadow:1px 0 rgba(var(--ax-comp-data-table-border-color)),0 -1px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table .sticky-end{inset-inline-end:var(--sticky-end)}ax-data-table .ax-data-table-wrapper table .sticky-start{inset-inline-start:var(--sticky-start)}}ax-data-table ax-data-pager{justify-content:center}ax-data-table .ax-table-footer{border-top-width:1px;border-collapse:collapse;overflow:hidden;border-color:rgba(var(--ax-comp-data-table-border-color));padding-inline-start:.875rem;padding-inline-end:.875rem}ax-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}ax-data-table .ax-data-table-numeric-paging{display:none}ax-data-table .ax-data-table-input-paging{display:flex}ax-data-table .ax-data-table-info{display:none}@media (min-width: 1024px){ax-data-table .ax-data-table-numeric-paging{display:flex}ax-data-table .ax-data-table-input-paging{display:none}}@media (min-width: 768px){ax-data-table .ax-data-table-info{display:block}ax-data-table ax-data-pager{justify-content:space-between}}.cdk-drag-preview{border-bottom-width:1px;border-inline-end-width:1px;box-shadow:0 5px 5px -3px rgba(var(--ax-sys-color-primary-900),.2),0 8px 10px 1px rgba(var(--ax-sys-color-primary-900),.14),0 3px 14px 2px rgba(var(--ax-sys-color-primary-900),.12);border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-sys-color-surface));color:rgba(var(--ax-sys-color-surface-fore));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: i3.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: i6.AXDataPagerComponent, selector: "ax-data-pager", inputs: ["value", "name", "disabled", "readonly", "isLoading", "size", "total", "displayMode"], outputs: ["valueChange", "onValueChanged", "disabledChange", "readonlyChange", "displayModeChange", "onChanged"] }, { kind: "component", type: i6.AXDataPagerNextButtonsComponent, selector: "ax-data-pager-next-buttons" }, { kind: "component", type: i6.AXDataPagerPrevButtonsComponent, selector: "ax-data-pager-prev-buttons" }, { kind: "component", type: i6.AXDataPagerPageSizesComponent, selector: "ax-data-pager-page-sizes", inputs: ["sizes"] }, { kind: "component", type: i6.AXDataPagerNumericSelectorComponent, selector: "ax-data-pager-numeric-selector" }, { kind: "component", type: i6.AXDataPagerInputSelectorComponent, selector: "ax-data-pager-input-selector" }, { kind: "component", type: i6.AXDataPagerInfoComponent, selector: "ax-data-pager-info", inputs: ["text"] }, { kind: "directive", type: i7.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i7.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1645
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXDataTableComponent, isStandalone: false, selector: "ax-data-table", inputs: { dataSource: "dataSource", parentField: "parentField", rowTemplate: "rowTemplate", emptyTemplate: "emptyTemplate", alternative: "alternative", showHeader: "showHeader", fixedHeader: "fixedHeader", showFooter: "showFooter", fixedFooter: "fixedFooter", itemHeight: "itemHeight", allowReordering: "allowReordering", paging: "paging", fetchDataMode: "fetchDataMode", loading: "loading", focusedRow: "focusedRow" }, outputs: { selectedRowsChange: "selectedRowsChange", focusedRowChange: "focusedRowChange", onRowClick: "onRowClick", onRowDbClick: "onRowDbClick", onColumnsOrderChanged: "onColumnsOrderChanged", onColumnSizeChanged: "onColumnSizeChanged", onPageChanged: "onPageChanged" }, host: { attributes: { "ngSkipHydration": "true" } }, providers: [{ provide: AXBaseDataTable, useExisting: AXDataTableComponent }, AXUnsubscriber], queries: [{ propertyName: "customDataPager", first: true, predicate: AXDataPagerComponent, descendants: true, static: true }, { propertyName: "columns", predicate: AXDataTableColumnComponent }], viewQueries: [{ propertyName: "dataPager", first: true, predicate: ["dataPager"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\"> </ng-content>\n@if (!displayedRows().length) {\n <div class=\"ax-data-table-empty-data\">\n @if (emptyTemplate) {\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n } @else {\n <span>{{ 'noRecord' | translate | async }}</span>\n }\n </div>\n}\n<div class=\"ax-data-table-wrapper\">\n <table>\n @if (showHeader) {\n <thead [ngClass]=\"{ 'ax-data-table-sticky-header': fixedHeader }\">\n <tr [cdkDropListDisabled]=\"!allowReordering\" cdkDropList cdkScrollable cdkDropListOrientation=\"horizontal\" (cdkDropListDropped)=\"drop($event)\">\n @for (c of startFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-start\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.isLast]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"c.renderHeaderTemplate; context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n @for (c of normalColumnsList(); track $index) {\n <th\n cdkDrag\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"c.renderHeaderTemplate; context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div class=\"ax-resize-handle\" (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"></div>\n }\n </th>\n }\n <th></th>\n @for (c of endFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.isFirst]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"c.renderHeaderTemplate; context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n </tr>\n </thead>\n }\n <tbody [ngClass]=\"{ 'ax-data-table-row-alternative': alternative }\">\n @for (row of displayedRows(); let rowIndex = $index; track rowIndex) {\n <ng-container *ngTemplateOutlet=\"rowTemp; context: { data: { row, rowIndex } }\"></ng-container>\n }\n\n <ng-template #rowTemp let-data=\"data\">\n @if (rowTemplate) {\n <ng-container *ngTemplateOutlet=\"rowTemplate; context: { $implicit: { data: data.row, rowIndex: data.rowIndex } }\"> </ng-container>\n } @else {\n <tr\n [class.ax-state-focused]=\"focusedRow && data.row === focusedRow\"\n [attr.data-index]=\"data.rowIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(data.row)\"\n style.height=\"{{ itemHeight }}px\"\n style.max-height=\"{{ itemHeight }}px\"\n (click)=\"handleRowClick($event, data.row)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-start]=\"true\"\n [class.isLast]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n *ngTemplateOutlet=\"c.renderCellTemplate; context: { $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) } }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container *ngTemplateOutlet=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n *ngTemplateOutlet=\"c.renderCellTemplate; context: { $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) } }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container *ngTemplateOutlet=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n <td><div class=\"ax-bg\"></div></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-end]=\"true\"\n [class.isFirst]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n *ngTemplateOutlet=\"c.renderCellTemplate; context: { $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) } }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container *ngTemplateOutlet=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n </tr>\n @if (data.row?.__meta__?.expanded) {\n @for (childRow of data.row.children; let childRowIndex = $index; track childRowIndex) {\n <ng-container *ngTemplateOutlet=\"rowTemp; context: { data: { row: childRow, rowIndex: childRowIndex } }\"></ng-container>\n }\n }\n }\n </ng-template>\n\n <tr class=\"empty-row\"></tr>\n </tbody>\n @if (showFooter) {\n <tfoot [ngClass]=\"{ 'ax-data-table-sticky-footer': fixedFooter }\">\n <tr>\n @for (c of startFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-start\"\n [class.ax-data-table-sticky-footer-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.isLast]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"c.renderFooterTemplate; context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"c.renderFooterTemplate; context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div class=\"ax-resize-handle\" (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"></div>\n }\n </td>\n }\n <td></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.isFirst]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"c.renderFooterTemplate; context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n </tr>\n </tfoot>\n }\n </table>\n</div>\n\n@if (paging) {\n <div class=\"ax-table-footer\" #footerContainer>\n <ng-template #customPager>\n <ng-content select=\"ax-data-pager\"></ng-content>\n </ng-template>\n\n @if (customDataPager) {\n <ng-container [ngTemplateOutlet]=\"customPager\"></ng-container>\n } @else {\n <ax-data-pager\n #dataPager\n [displayMode]=\"'custom'\"\n (onChanged)=\"handleChangePage($event)\"\n [total]=\"dataSource.totalCount\"\n [size]=\"dataSource.pageSize\"\n [isLoading]=\"isLoading()\"\n >\n <ax-prefix class=\"ax-data-table-numeric-paging\">\n <ax-data-pager-numeric-selector> </ax-data-pager-numeric-selector>\n <ax-data-pager-page-sizes> </ax-data-pager-page-sizes>\n </ax-prefix>\n <ax-prefix class=\"ax-data-table-input-paging\">\n <ax-data-pager-prev-buttons> </ax-data-pager-prev-buttons>\n <ax-data-pager-input-selector> </ax-data-pager-input-selector>\n <ax-data-pager-next-buttons> </ax-data-pager-next-buttons>\n </ax-prefix>\n <ax-suffix class=\"ax-data-table-info\">\n <ax-data-pager-info> </ax-data-pager-info>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh()\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-data-pager>\n }\n </div>\n}\n<ng-content select=\"ax-footer\"> </ng-content>\n", styles: ["ax-data-table{--ax-comp-data-table-font-size: .875rem;--ax-comp-data-table-line-height: 1rem;--ax-comp-data-table-border-color: var(--ax-sys-color-border-surface);--ax-comp-data-table-border-radius: var(--ax-sys-border-radius);--ax-comp-data-table-column-bg-color: var(--ax-sys-color-lightest-surface);--ax-comp-data-table-header-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-header-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-data-table-footer-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-footer-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-data-table-hover-bg-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-data-table-hover-text-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-data-table-focus-bg-color: var(--ax-sys-color-primary-lighter-surface);--ax-comp-data-table-selected-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-selected-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-index-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-index-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-alternative-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-alternative-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-skeleton-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-data-table-handler-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-interactive-bg-color: var(--ax-sys-color-light-surface)}.ax-dark ax-data-table{--ax-comp-data-table-column-bg-color: var(--ax-sys-color-darkest-surface);--ax-comp-data-table-header-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-data-table-header-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-data-table-footer-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-data-table-footer-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-data-table-hover-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-hover-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-focus-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-selected-bg-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-data-table-selected-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-index-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-data-table-index-text-color: var(--ax-sys-color-on-dark-surface);--ax-comp-data-table-skeleton-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-alternative-bg-color: var(--ax-sys-color-surface);--ax-comp-data-table-alternative-text-color: var(--ax-sys-color-on-surface);--ax-comp-data-table-handler-bg-color: var(--ax-sys-color-primary-dark-surface)}@media screen and (min-width: 768px){html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-start{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-start.isLast{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-end{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-end.isFirst{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}}@media screen and (min-width: 768px){html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-start{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-start.isLast{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-end{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-end.isFirst{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table{display:flex;flex-direction:column;height:100%;width:100%;font-size:var(--ax-comp-data-table-font-size);line-height:var(--ax-comp-data-table-line-height);border-radius:var(--ax-comp-data-table-border-radius);border-width:1px;border-color:rgba(var(--ax-comp-data-table-border-color));position:relative;min-height:inherit}ax-data-table .ax-data-table-empty-data{position:absolute;top:calc(50% - 40px);width:100%;color:rgb(var(--ax-sys-color-ghost-500));text-align:center}ax-data-table .ax-data-table-wrapper{overflow:auto;width:100%;flex:1;border-radius:var(--ax-comp-data-table-border-radius)}ax-data-table .ax-data-table-wrapper table{display:table;height:100%;width:100%;table-layout:fixed;overflow-x:auto}ax-data-table .ax-data-table-wrapper table thead{overflow:hidden;border-start-end-radius:var(--ax-comp-data-table-border-radius);border-start-start-radius:var(--ax-comp-data-table-border-radius)}ax-data-table .ax-data-table-wrapper table thead th{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-header-bg-color));color:rgba(var(--ax-comp-data-table-header-text-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:2.5rem}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive:hover{background-color:rgba(var(--ax-comp-data-table-interactive-bg-color))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle{position:absolute;inset-inline-end:0px;top:0;bottom:0;width:.25rem;height:100%;cursor:col-resize;background:transparent}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover{background-color:rgba(var(--ax-comp-data-table-handler-bg-color))}ax-data-table .ax-data-table-wrapper table thead th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-data-table .ax-data-table-wrapper table thead th:last-child{border-inline-end-width:0px}ax-data-table .ax-data-table-wrapper table thead.ax-data-table-sticky-header{position:sticky;top:0;border-top:none;border-bottom:none;z-index:3;box-shadow:inset 1px 1px 0 2px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell{position:sticky;z-index:2;border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.isLast{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.isFirst{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell{position:sticky;z-index:2;background-color:rgba(var(--ax-comp-data-table-column-bg-color));border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.isLast{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.isFirst{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table .ax-data-table-wrapper table tbody tr td{z-index:0}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-bg{top:0;left:0;z-index:-1;width:100%;height:100%;position:absolute;border-inline-end:1px solid rgba(var(--ax-comp-data-table-border-color));background-color:transparent;opacity:.3}ax-data-table .ax-data-table-wrapper table tbody .empty-row{height:auto!important}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) td{background-color:rgba(var(--ax-comp-data-table-alternative-bg-color));color:rgba(var(--ax-comp-data-table-alternative-text-color))}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) ax-skeleton{width:25%}ax-data-table .ax-data-table-wrapper table tbody tr{height:2.5rem;max-height:2.5rem}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-hover-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-hover-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-focus-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-focus-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-selected-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-selected-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-selected-hover-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-selected-hover-bg-color))}ax-data-table .ax-data-table-wrapper table tbody td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-column-bg-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.5rem;padding-bottom:.5rem;vertical-align:middle}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler{padding-inline-start:.25rem;padding-inline-end:.25rem;cursor:pointer}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler.has-parent{padding-inline-start:1.5rem!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-comp-data-table-index-bg-color));color:rgba(var(--ax-comp-data-table-index-text-color));text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column{text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-comp-data-table-border-radius);border-style:none;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:transparent;padding:.25rem;color:rgba(var(--ax-color-ghost-fore))}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button:hover:not(ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button:hover.ax-state-selected,ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button:active{opacity:1}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-data-table .ax-data-table-wrapper table tbody td:last-child{border-inline-end-width:0px}ax-data-table .ax-data-table-wrapper table tbody td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem;background-color:rgba(var(--ax-comp-data-table-skeleton-bg-color))}ax-data-table .ax-data-table-wrapper table tfoot tr td{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-footer-bg-color));color:rgba(var(--ax-comp-data-table-footer-text-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:2.5rem}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive:hover{background-color:rgba(var(--ax-comp-data-table-interactive-bg-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell{position:sticky;z-index:2;border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start.isLast{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end.isFirst{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{position:sticky;bottom:-1px;border-top:none;border-bottom:none;z-index:3;box-shadow:1px 0 rgba(var(--ax-comp-data-table-border-color)),0 -1px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table .sticky-end{inset-inline-end:var(--sticky-end)}ax-data-table .ax-data-table-wrapper table .sticky-start{inset-inline-start:var(--sticky-start)}}ax-data-table ax-data-pager{justify-content:center}ax-data-table .ax-table-footer{border-top-width:1px;border-collapse:collapse;overflow:hidden;border-color:rgba(var(--ax-comp-data-table-border-color));padding-inline-start:.875rem;padding-inline-end:.875rem}ax-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}ax-data-table .ax-data-table-numeric-paging{display:none}ax-data-table .ax-data-table-input-paging{display:flex}ax-data-table .ax-data-table-info{display:none}@media (min-width: 1024px){ax-data-table .ax-data-table-numeric-paging{display:flex}ax-data-table .ax-data-table-input-paging{display:none}}@media (min-width: 768px){ax-data-table .ax-data-table-info{display:block}ax-data-table ax-data-pager{justify-content:space-between}}.cdk-drag-preview{border-bottom-width:1px;border-inline-end-width:1px;box-shadow:0 5px 5px -3px rgba(var(--ax-sys-color-primary-900),.2),0 8px 10px 1px rgba(var(--ax-sys-color-primary-900),.14),0 3px 14px 2px rgba(var(--ax-sys-color-primary-900),.12);border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-sys-color-surface));color:rgba(var(--ax-sys-color-surface-fore));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: i3.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: i6.AXDataPagerComponent, selector: "ax-data-pager", inputs: ["value", "name", "disabled", "readonly", "isLoading", "size", "total", "displayMode"], outputs: ["valueChange", "onValueChanged", "disabledChange", "readonlyChange", "displayModeChange", "onChanged"] }, { kind: "component", type: i6.AXDataPagerNextButtonsComponent, selector: "ax-data-pager-next-buttons" }, { kind: "component", type: i6.AXDataPagerPrevButtonsComponent, selector: "ax-data-pager-prev-buttons" }, { kind: "component", type: i6.AXDataPagerPageSizesComponent, selector: "ax-data-pager-page-sizes", inputs: ["sizes"] }, { kind: "component", type: i6.AXDataPagerNumericSelectorComponent, selector: "ax-data-pager-numeric-selector" }, { kind: "component", type: i6.AXDataPagerInputSelectorComponent, selector: "ax-data-pager-input-selector" }, { kind: "component", type: i6.AXDataPagerInfoComponent, selector: "ax-data-pager-info", inputs: ["text"] }, { kind: "directive", type: i7.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i7.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1669
1646
  }
1670
1647
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXDataTableComponent, decorators: [{
1671
1648
  type: Component,
1672
- args: [{ selector: 'ax-data-table', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { ngSkipHydration: 'true' }, inputs: ['dataSource', 'parentField'], outputs: ['selectedRowsChange'], providers: [
1673
- {
1674
- provide: AXBaseDataTable,
1675
- useExisting: AXDataTableComponent,
1676
- },
1677
- AXUnsubscriber,
1678
- ], standalone: false, template: "<ng-content select=\"ax-header\"> </ng-content>\n@if (!displayedRows().length) {\n <div class=\"ax-data-table-empty-data\">\n @if (emptyTemplate) {\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n } @else {\n <span>{{ 'noRecord' | translate | async }}</span>\n }\n </div>\n}\n<div class=\"ax-data-table-wrapper\">\n <table>\n @if (showHeader) {\n <thead [ngClass]=\"{ 'ax-data-table-sticky-header': fixedHeader }\">\n <tr\n [cdkDropListDisabled]=\"!allowReordering\"\n cdkDropList\n cdkScrollable\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"drop($event)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-start\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.isLast]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"\n c.renderHeaderTemplate;\n context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\n \"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n @for (c of normalColumnsList(); track $index) {\n <th\n cdkDrag\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"\n c.renderHeaderTemplate;\n context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\n \"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n ></div>\n }\n </th>\n }\n <th></th>\n @for (c of endFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.isFirst]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"\n c.renderHeaderTemplate;\n context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\n \"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n </tr>\n </thead>\n }\n <tbody [ngClass]=\"{ 'ax-data-table-row-alternative': alternative }\">\n @for (row of displayedRows(); let rowIndex = $index; track rowIndex) {\n <ng-container *ngTemplateOutlet=\"rowTemp; context: { data: { row, rowIndex } }\"></ng-container>\n }\n\n <ng-template #rowTemp let-data=\"data\">\n @if (rowTemplate) {\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate;\n context: { $implicit: { data: data.row, rowIndex: data.rowIndex } }\n \"\n >\n </ng-container>\n } @else {\n <tr\n [class.ax-state-focused]=\"focusedRow && data.row === focusedRow\"\n [attr.data-index]=\"data.rowIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(data.row)\"\n style.height=\"{{ itemHeight }}px\"\n style.max-height=\"{{ itemHeight }}px\"\n (click)=\"handleRowClick($event, data.row)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-start]=\"true\"\n [class.isLast]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n *ngTemplateOutlet=\"\n c.renderCellTemplate;\n context: { $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) } }\n \"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container *ngTemplateOutlet=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n *ngTemplateOutlet=\"\n c.renderCellTemplate;\n context: { $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) } }\n \"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container *ngTemplateOutlet=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n <td><div class=\"ax-bg\"></div></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-end]=\"true\"\n [class.isFirst]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n *ngTemplateOutlet=\"\n c.renderCellTemplate;\n context: { $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) } }\n \"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container *ngTemplateOutlet=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n </tr>\n @if (data.row?.__meta__?.expanded) {\n @for (childRow of data.row.children; let childRowIndex = $index; track childRowIndex) {\n <ng-container\n *ngTemplateOutlet=\"rowTemp; context: { data: { row: childRow, rowIndex: childRowIndex } }\"\n ></ng-container>\n }\n }\n }\n </ng-template>\n\n <tr class=\"empty-row\"></tr>\n </tbody>\n @if (showFooter) {\n <tfoot [ngClass]=\"{ 'ax-data-table-sticky-footer': fixedFooter }\">\n <tr>\n @for (c of startFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-start\"\n [class.ax-data-table-sticky-footer-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.isLast]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"\n c.renderFooterTemplate;\n context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\n \"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"\n c.renderFooterTemplate;\n context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\n \"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n ></div>\n }\n </td>\n }\n <td></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.isFirst]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"\n c.renderFooterTemplate;\n context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\n \"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n </tr>\n </tfoot>\n }\n </table>\n</div>\n\n@if (paging) {\n <div class=\"ax-table-footer\" #footerContainer>\n <ax-data-pager\n #dataPager\n [displayMode]=\"'custom'\"\n (onChanged)=\"onPageChanged($event)\"\n [total]=\"dataSource.totalCount\"\n [size]=\"dataSource.pageSize\"\n [isLoading]=\"isLoading()\"\n >\n <ax-prefix class=\"ax-data-table-numeric-paging\">\n <ax-data-pager-numeric-selector> </ax-data-pager-numeric-selector>\n <ax-data-pager-page-sizes> </ax-data-pager-page-sizes>\n </ax-prefix>\n <ax-prefix class=\"ax-data-table-input-paging\">\n <ax-data-pager-prev-buttons> </ax-data-pager-prev-buttons>\n <ax-data-pager-input-selector> </ax-data-pager-input-selector>\n <ax-data-pager-next-buttons> </ax-data-pager-next-buttons>\n </ax-prefix>\n <ax-suffix class=\"ax-data-table-info\">\n <ax-data-pager-info> </ax-data-pager-info>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh()\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-data-pager>\n </div>\n}\n<ng-content select=\"ax-footer\"> </ng-content>\n", styles: ["ax-data-table{--ax-comp-data-table-font-size: .875rem;--ax-comp-data-table-line-height: 1rem;--ax-comp-data-table-border-color: var(--ax-sys-color-border-surface);--ax-comp-data-table-border-radius: var(--ax-sys-border-radius);--ax-comp-data-table-column-bg-color: var(--ax-sys-color-lightest-surface);--ax-comp-data-table-header-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-header-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-data-table-footer-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-footer-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-data-table-hover-bg-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-data-table-hover-text-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-data-table-focus-bg-color: var(--ax-sys-color-primary-lighter-surface);--ax-comp-data-table-selected-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-selected-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-index-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-index-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-alternative-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-alternative-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-skeleton-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-data-table-handler-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-interactive-bg-color: var(--ax-sys-color-light-surface)}.ax-dark ax-data-table{--ax-comp-data-table-column-bg-color: var(--ax-sys-color-darkest-surface);--ax-comp-data-table-header-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-data-table-header-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-data-table-footer-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-data-table-footer-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-data-table-hover-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-hover-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-focus-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-selected-bg-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-data-table-selected-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-index-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-data-table-index-text-color: var(--ax-sys-color-on-dark-surface);--ax-comp-data-table-skeleton-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-alternative-bg-color: var(--ax-sys-color-surface);--ax-comp-data-table-alternative-text-color: var(--ax-sys-color-on-surface);--ax-comp-data-table-handler-bg-color: var(--ax-sys-color-primary-dark-surface)}@media screen and (min-width: 768px){html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-start{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-start.isLast{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-end{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-end.isFirst{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}}@media screen and (min-width: 768px){html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-start{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-start.isLast{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-end{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-end.isFirst{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table{display:flex;flex-direction:column;height:100%;width:100%;font-size:var(--ax-comp-data-table-font-size);line-height:var(--ax-comp-data-table-line-height);border-radius:var(--ax-comp-data-table-border-radius);border-width:1px;border-color:rgba(var(--ax-comp-data-table-border-color));position:relative;min-height:inherit}ax-data-table .ax-data-table-empty-data{position:absolute;top:calc(50% - 40px);width:100%;color:rgb(var(--ax-sys-color-ghost-500));text-align:center}ax-data-table .ax-data-table-wrapper{overflow:auto;width:100%;flex:1;border-radius:var(--ax-comp-data-table-border-radius)}ax-data-table .ax-data-table-wrapper table{display:table;height:100%;width:100%;table-layout:fixed;overflow-x:auto}ax-data-table .ax-data-table-wrapper table thead{overflow:hidden;border-start-end-radius:var(--ax-comp-data-table-border-radius);border-start-start-radius:var(--ax-comp-data-table-border-radius)}ax-data-table .ax-data-table-wrapper table thead th{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-header-bg-color));color:rgba(var(--ax-comp-data-table-header-text-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:2.5rem}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive:hover{background-color:rgba(var(--ax-comp-data-table-interactive-bg-color))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle{position:absolute;inset-inline-end:0px;top:0;bottom:0;width:.25rem;height:100%;cursor:col-resize;background:transparent}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover{background-color:rgba(var(--ax-comp-data-table-handler-bg-color))}ax-data-table .ax-data-table-wrapper table thead th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-data-table .ax-data-table-wrapper table thead th:last-child{border-inline-end-width:0px}ax-data-table .ax-data-table-wrapper table thead.ax-data-table-sticky-header{position:sticky;top:0;border-top:none;border-bottom:none;z-index:3;box-shadow:inset 1px 1px 0 2px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell{position:sticky;z-index:2;border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.isLast{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.isFirst{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell{position:sticky;z-index:2;background-color:rgba(var(--ax-comp-data-table-column-bg-color));border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.isLast{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.isFirst{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table .ax-data-table-wrapper table tbody tr td{z-index:0}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-bg{top:0;left:0;z-index:-1;width:100%;height:100%;position:absolute;border-inline-end:1px solid rgba(var(--ax-comp-data-table-border-color));background-color:transparent;opacity:.3}ax-data-table .ax-data-table-wrapper table tbody .empty-row{height:auto!important}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) td{background-color:rgba(var(--ax-comp-data-table-alternative-bg-color));color:rgba(var(--ax-comp-data-table-alternative-text-color))}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) ax-skeleton{width:25%}ax-data-table .ax-data-table-wrapper table tbody tr{height:2.5rem;max-height:2.5rem}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-hover-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-hover-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-focus-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-focus-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-selected-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-selected-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-selected-hover-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-selected-hover-bg-color))}ax-data-table .ax-data-table-wrapper table tbody td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-column-bg-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.5rem;padding-bottom:.5rem;vertical-align:middle}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler{padding-inline-start:.25rem;padding-inline-end:.25rem;cursor:pointer}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler.has-parent{padding-inline-start:1.5rem!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-comp-data-table-index-bg-color));color:rgba(var(--ax-comp-data-table-index-text-color));text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column{text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-comp-data-table-border-radius);border-style:none;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:transparent;padding:.25rem;color:rgba(var(--ax-color-ghost-fore))}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button:hover:not(ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button:hover.ax-state-selected,ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button:active{opacity:1}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-data-table .ax-data-table-wrapper table tbody td:last-child{border-inline-end-width:0px}ax-data-table .ax-data-table-wrapper table tbody td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem;background-color:rgba(var(--ax-comp-data-table-skeleton-bg-color))}ax-data-table .ax-data-table-wrapper table tfoot tr td{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-footer-bg-color));color:rgba(var(--ax-comp-data-table-footer-text-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:2.5rem}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive:hover{background-color:rgba(var(--ax-comp-data-table-interactive-bg-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell{position:sticky;z-index:2;border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start.isLast{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end.isFirst{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{position:sticky;bottom:-1px;border-top:none;border-bottom:none;z-index:3;box-shadow:1px 0 rgba(var(--ax-comp-data-table-border-color)),0 -1px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table .sticky-end{inset-inline-end:var(--sticky-end)}ax-data-table .ax-data-table-wrapper table .sticky-start{inset-inline-start:var(--sticky-start)}}ax-data-table ax-data-pager{justify-content:center}ax-data-table .ax-table-footer{border-top-width:1px;border-collapse:collapse;overflow:hidden;border-color:rgba(var(--ax-comp-data-table-border-color));padding-inline-start:.875rem;padding-inline-end:.875rem}ax-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}ax-data-table .ax-data-table-numeric-paging{display:none}ax-data-table .ax-data-table-input-paging{display:flex}ax-data-table .ax-data-table-info{display:none}@media (min-width: 1024px){ax-data-table .ax-data-table-numeric-paging{display:flex}ax-data-table .ax-data-table-input-paging{display:none}}@media (min-width: 768px){ax-data-table .ax-data-table-info{display:block}ax-data-table ax-data-pager{justify-content:space-between}}.cdk-drag-preview{border-bottom-width:1px;border-inline-end-width:1px;box-shadow:0 5px 5px -3px rgba(var(--ax-sys-color-primary-900),.2),0 8px 10px 1px rgba(var(--ax-sys-color-primary-900),.14),0 3px 14px 2px rgba(var(--ax-sys-color-primary-900),.12);border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-sys-color-surface));color:rgba(var(--ax-sys-color-surface-fore));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative}\n"] }]
1649
+ args: [{ selector: 'ax-data-table', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { ngSkipHydration: 'true' }, inputs: ['dataSource', 'parentField'], outputs: ['selectedRowsChange'], providers: [{ provide: AXBaseDataTable, useExisting: AXDataTableComponent }, AXUnsubscriber], standalone: false, template: "<ng-content select=\"ax-header\"> </ng-content>\n@if (!displayedRows().length) {\n <div class=\"ax-data-table-empty-data\">\n @if (emptyTemplate) {\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n } @else {\n <span>{{ 'noRecord' | translate | async }}</span>\n }\n </div>\n}\n<div class=\"ax-data-table-wrapper\">\n <table>\n @if (showHeader) {\n <thead [ngClass]=\"{ 'ax-data-table-sticky-header': fixedHeader }\">\n <tr [cdkDropListDisabled]=\"!allowReordering\" cdkDropList cdkScrollable cdkDropListOrientation=\"horizontal\" (cdkDropListDropped)=\"drop($event)\">\n @for (c of startFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-start\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.isLast]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"c.renderHeaderTemplate; context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n @for (c of normalColumnsList(); track $index) {\n <th\n cdkDrag\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"c.renderHeaderTemplate; context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div class=\"ax-resize-handle\" (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"></div>\n }\n </th>\n }\n <th></th>\n @for (c of endFixedColumnsList(); track $index) {\n <th\n cdkDrag\n [cdkDragDisabled]=\"true\"\n cdkDragLockAxis=\"x\"\n class=\"ax-data-table-head-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.isFirst]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"c.renderHeaderTemplate; context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </th>\n }\n </tr>\n </thead>\n }\n <tbody [ngClass]=\"{ 'ax-data-table-row-alternative': alternative }\">\n @for (row of displayedRows(); let rowIndex = $index; track rowIndex) {\n <ng-container *ngTemplateOutlet=\"rowTemp; context: { data: { row, rowIndex } }\"></ng-container>\n }\n\n <ng-template #rowTemp let-data=\"data\">\n @if (rowTemplate) {\n <ng-container *ngTemplateOutlet=\"rowTemplate; context: { $implicit: { data: data.row, rowIndex: data.rowIndex } }\"> </ng-container>\n } @else {\n <tr\n [class.ax-state-focused]=\"focusedRow && data.row === focusedRow\"\n [attr.data-index]=\"data.rowIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(data.row)\"\n style.height=\"{{ itemHeight }}px\"\n style.max-height=\"{{ itemHeight }}px\"\n (click)=\"handleRowClick($event, data.row)\"\n >\n @for (c of startFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-start]=\"true\"\n [class.isLast]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n *ngTemplateOutlet=\"c.renderCellTemplate; context: { $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) } }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container *ngTemplateOutlet=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n *ngTemplateOutlet=\"c.renderCellTemplate; context: { $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) } }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container *ngTemplateOutlet=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n <td><div class=\"ax-bg\"></div></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n [style.width]=\"c.width\"\n [class.ax-data-table-sticky-body-cell]=\"c.fixed && c.width\"\n [class.sticky-end]=\"true\"\n [class.isFirst]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"c.cssClass\"\n >\n <div class=\"ax-bg\"></div>\n @if (data.row && !isLoading()) {\n <ng-container\n *ngTemplateOutlet=\"c.renderCellTemplate; context: { $implicit: { data: data.row, rowIndex: calculateRowIndex(data.rowIndex) } }\"\n ></ng-container>\n } @else {\n @if (c.loadingEnabled && loading.enabled) {\n @if (loading.loadingTemplate) {\n <ng-container *ngTemplateOutlet=\"loading.loadingTemplate\"></ng-container>\n } @else {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n }\n </td>\n }\n </tr>\n @if (data.row?.__meta__?.expanded) {\n @for (childRow of data.row.children; let childRowIndex = $index; track childRowIndex) {\n <ng-container *ngTemplateOutlet=\"rowTemp; context: { data: { row: childRow, rowIndex: childRowIndex } }\"></ng-container>\n }\n }\n }\n </ng-template>\n\n <tr class=\"empty-row\"></tr>\n </tbody>\n @if (showFooter) {\n <tfoot [ngClass]=\"{ 'ax-data-table-sticky-footer': fixedFooter }\">\n <tr>\n @for (c of startFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-start\"\n [class.ax-data-table-sticky-footer-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.isLast]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"c.renderFooterTemplate; context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n @for (c of normalColumnsList(); track $index) {\n <td\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"c.renderFooterTemplate; context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n @if (c.allowResizing && !c.fixed) {\n <div class=\"ax-resize-handle\" (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"></div>\n }\n </td>\n }\n <td></td>\n @for (c of endFixedColumnsList(); track $index) {\n <td\n class=\"ax-data-table-sticky-footer-cell sticky-end\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n [class.ax-data-table-sticky-header-cell]=\"c.fixed && c.width\"\n [style.width]=\"c.width\"\n [class.isFirst]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n *ngTemplateOutlet=\"c.renderFooterTemplate; context: { $implicit: { data: c, rows: displayedRows(), rowIndex: $index } }\"\n ></ng-container>\n @if (getSort(c)) {\n <ax-icon icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n }\n </div>\n </td>\n }\n </tr>\n </tfoot>\n }\n </table>\n</div>\n\n@if (paging) {\n <div class=\"ax-table-footer\" #footerContainer>\n <ng-template #customPager>\n <ng-content select=\"ax-data-pager\"></ng-content>\n </ng-template>\n\n @if (customDataPager) {\n <ng-container [ngTemplateOutlet]=\"customPager\"></ng-container>\n } @else {\n <ax-data-pager\n #dataPager\n [displayMode]=\"'custom'\"\n (onChanged)=\"handleChangePage($event)\"\n [total]=\"dataSource.totalCount\"\n [size]=\"dataSource.pageSize\"\n [isLoading]=\"isLoading()\"\n >\n <ax-prefix class=\"ax-data-table-numeric-paging\">\n <ax-data-pager-numeric-selector> </ax-data-pager-numeric-selector>\n <ax-data-pager-page-sizes> </ax-data-pager-page-sizes>\n </ax-prefix>\n <ax-prefix class=\"ax-data-table-input-paging\">\n <ax-data-pager-prev-buttons> </ax-data-pager-prev-buttons>\n <ax-data-pager-input-selector> </ax-data-pager-input-selector>\n <ax-data-pager-next-buttons> </ax-data-pager-next-buttons>\n </ax-prefix>\n <ax-suffix class=\"ax-data-table-info\">\n <ax-data-pager-info> </ax-data-pager-info>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh()\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-data-pager>\n }\n </div>\n}\n<ng-content select=\"ax-footer\"> </ng-content>\n", styles: ["ax-data-table{--ax-comp-data-table-font-size: .875rem;--ax-comp-data-table-line-height: 1rem;--ax-comp-data-table-border-color: var(--ax-sys-color-border-surface);--ax-comp-data-table-border-radius: var(--ax-sys-border-radius);--ax-comp-data-table-column-bg-color: var(--ax-sys-color-lightest-surface);--ax-comp-data-table-header-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-header-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-data-table-footer-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-footer-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-data-table-hover-bg-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-data-table-hover-text-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-data-table-focus-bg-color: var(--ax-sys-color-primary-lighter-surface);--ax-comp-data-table-selected-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-selected-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-index-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-index-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-alternative-bg-color: var(--ax-sys-color-light-surface);--ax-comp-data-table-alternative-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-skeleton-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-data-table-handler-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-interactive-bg-color: var(--ax-sys-color-light-surface)}.ax-dark ax-data-table{--ax-comp-data-table-column-bg-color: var(--ax-sys-color-darkest-surface);--ax-comp-data-table-header-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-data-table-header-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-data-table-footer-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-data-table-footer-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-data-table-hover-bg-color: var(--ax-sys-color-primary-light-surface);--ax-comp-data-table-hover-text-color: var(--ax-sys-color-on-light-surface);--ax-comp-data-table-focus-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-selected-bg-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-data-table-selected-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-data-table-index-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-data-table-index-text-color: var(--ax-sys-color-on-dark-surface);--ax-comp-data-table-skeleton-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-data-table-alternative-bg-color: var(--ax-sys-color-surface);--ax-comp-data-table-alternative-text-color: var(--ax-sys-color-on-surface);--ax-comp-data-table-handler-bg-color: var(--ax-sys-color-primary-dark-surface)}@media screen and (min-width: 768px){html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-start{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-start.isLast{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-end{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table thead th.ax-data-table-sticky-header-cell.sticky-end.isFirst{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}}@media screen and (min-width: 768px){html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-start{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-start.isLast{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-end{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}html[dir=rtl] ax-data-table .ax-data-table-wrapper table tbody td.ax-data-table-sticky-body-cell.sticky-end.isFirst{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table{display:flex;flex-direction:column;height:100%;width:100%;font-size:var(--ax-comp-data-table-font-size);line-height:var(--ax-comp-data-table-line-height);border-radius:var(--ax-comp-data-table-border-radius);border-width:1px;border-color:rgba(var(--ax-comp-data-table-border-color));position:relative;min-height:inherit}ax-data-table .ax-data-table-empty-data{position:absolute;top:calc(50% - 40px);width:100%;color:rgb(var(--ax-sys-color-ghost-500));text-align:center}ax-data-table .ax-data-table-wrapper{overflow:auto;width:100%;flex:1;border-radius:var(--ax-comp-data-table-border-radius)}ax-data-table .ax-data-table-wrapper table{display:table;height:100%;width:100%;table-layout:fixed;overflow-x:auto}ax-data-table .ax-data-table-wrapper table thead{overflow:hidden;border-start-end-radius:var(--ax-comp-data-table-border-radius);border-start-start-radius:var(--ax-comp-data-table-border-radius)}ax-data-table .ax-data-table-wrapper table thead th{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-header-bg-color));color:rgba(var(--ax-comp-data-table-header-text-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:2.5rem}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table thead th.ax-interactive:hover{background-color:rgba(var(--ax-comp-data-table-interactive-bg-color))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle{position:absolute;inset-inline-end:0px;top:0;bottom:0;width:.25rem;height:100%;cursor:col-resize;background:transparent}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover{background-color:rgba(var(--ax-comp-data-table-handler-bg-color))}ax-data-table .ax-data-table-wrapper table thead th .ax-caption{display:flex;align-items:center;gap:.5rem}ax-data-table .ax-data-table-wrapper table thead th:last-child{border-inline-end-width:0px}ax-data-table .ax-data-table-wrapper table thead.ax-data-table-sticky-header{position:sticky;top:0;border-top:none;border-bottom:none;z-index:3;box-shadow:inset 1px 1px 0 2px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell{position:sticky;z-index:2;border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.isLast{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.isFirst{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell{position:sticky;z-index:2;background-color:rgba(var(--ax-comp-data-table-column-bg-color));border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.isLast{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.isFirst{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table .ax-data-table-wrapper table tbody tr td{z-index:0}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-bg{top:0;left:0;z-index:-1;width:100%;height:100%;position:absolute;border-inline-end:1px solid rgba(var(--ax-comp-data-table-border-color));background-color:transparent;opacity:.3}ax-data-table .ax-data-table-wrapper table tbody .empty-row{height:auto!important}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) td{background-color:rgba(var(--ax-comp-data-table-alternative-bg-color));color:rgba(var(--ax-comp-data-table-alternative-text-color))}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) ax-skeleton{width:25%}ax-data-table .ax-data-table-wrapper table tbody tr{height:2.5rem;max-height:2.5rem}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-hover-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-hover-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-focus-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-focus-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-selected-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-selected-bg-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column){color:rgba(var(--ax-comp-data-table-selected-hover-text-color))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-comp-data-table-selected-hover-bg-color))}ax-data-table .ax-data-table-wrapper table tbody td{position:relative;min-width:2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom-width:1px;border-inline-end-width:1px;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-column-bg-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.5rem;padding-bottom:.5rem;vertical-align:middle}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler{padding-inline-start:.25rem;padding-inline-end:.25rem;cursor:pointer}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler.has-parent{padding-inline-start:1.5rem!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(var(--ax-comp-data-table-index-bg-color));color:rgba(var(--ax-comp-data-table-index-text-color));text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column{text-align:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button.ax-state-disabled{position:relative!important;cursor:not-allowed!important;opacity:.5!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column>div{position:absolute;inset-inline-start:0px;top:50%;display:flex;width:100%;transform:translateY(-50%);align-items:center;justify-content:center}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button{position:relative;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--ax-comp-data-table-border-radius);border-style:none;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:transparent;padding:.25rem;color:rgba(var(--ax-color-ghost-fore))}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button:hover:not(ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button:hover.ax-state-selected,ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button:active{opacity:1}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column button .ax-ripple{background-color:rgba(var(--ax-color-ghost-fore),.05)}ax-data-table .ax-data-table-wrapper table tbody td:last-child{border-inline-end-width:0px}ax-data-table .ax-data-table-wrapper table tbody td ax-skeleton{height:.875rem;width:33.333333%;border-radius:.375rem;background-color:rgba(var(--ax-comp-data-table-skeleton-bg-color))}ax-data-table .ax-data-table-wrapper table tfoot tr td{border-bottom-width:1px;border-inline-end-width:1px;border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-comp-data-table-footer-bg-color));color:rgba(var(--ax-comp-data-table-footer-text-color));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:2.5rem}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive{cursor:pointer}ax-data-table .ax-data-table-wrapper table tfoot tr td.ax-interactive:hover{background-color:rgba(var(--ax-comp-data-table-interactive-bg-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell{position:sticky;z-index:2;border-inline-start:none;border-inline-end:none}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start{box-shadow:inset -1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start.isLast{box-shadow:inset -2px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end{box-shadow:inset 1px 0 rgba(var(--ax-comp-data-table-border-color))}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end.isFirst{box-shadow:inset 2px 0 rgba(var(--ax-comp-data-table-border-color))}}ax-data-table .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{position:sticky;bottom:-1px;border-top:none;border-bottom:none;z-index:3;box-shadow:1px 0 rgba(var(--ax-comp-data-table-border-color)),0 -1px rgba(var(--ax-comp-data-table-border-color))}@media screen and (min-width: 768px){ax-data-table .ax-data-table-wrapper table .sticky-end{inset-inline-end:var(--sticky-end)}ax-data-table .ax-data-table-wrapper table .sticky-start{inset-inline-start:var(--sticky-start)}}ax-data-table ax-data-pager{justify-content:center}ax-data-table .ax-table-footer{border-top-width:1px;border-collapse:collapse;overflow:hidden;border-color:rgba(var(--ax-comp-data-table-border-color));padding-inline-start:.875rem;padding-inline-end:.875rem}ax-data-table .ax-table-footer .ax-table-info{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between}ax-data-table .ax-data-table-numeric-paging{display:none}ax-data-table .ax-data-table-input-paging{display:flex}ax-data-table .ax-data-table-info{display:none}@media (min-width: 1024px){ax-data-table .ax-data-table-numeric-paging{display:flex}ax-data-table .ax-data-table-input-paging{display:none}}@media (min-width: 768px){ax-data-table .ax-data-table-info{display:block}ax-data-table ax-data-pager{justify-content:space-between}}.cdk-drag-preview{border-bottom-width:1px;border-inline-end-width:1px;box-shadow:0 5px 5px -3px rgba(var(--ax-sys-color-primary-900),.2),0 8px 10px 1px rgba(var(--ax-sys-color-primary-900),.14),0 3px 14px 2px rgba(var(--ax-sys-color-primary-900),.12);border-style:solid;border-color:rgba(var(--ax-comp-data-table-border-color));background-color:rgba(var(--ax-sys-color-surface));color:rgba(var(--ax-sys-color-surface-fore));padding-inline-start:1rem;padding-inline-end:1rem;padding-top:.75rem;padding-bottom:.75rem;text-align:start;font-weight:500;text-transform:uppercase;position:relative}\n"] }]
1679
1650
  }], propDecorators: { dataPager: [{
1680
1651
  type: ViewChild,
1681
1652
  args: ['dataPager']
1653
+ }], customDataPager: [{
1654
+ type: ContentChild,
1655
+ args: [AXDataPagerComponent, {
1656
+ static: true,
1657
+ }]
1682
1658
  }], rowTemplate: [{
1683
1659
  type: Input
1684
1660
  }], emptyTemplate: [{
@@ -1715,6 +1691,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
1715
1691
  type: Output
1716
1692
  }], onColumnSizeChanged: [{
1717
1693
  type: Output
1694
+ }], onPageChanged: [{
1695
+ type: Output
1718
1696
  }], columns: [{
1719
1697
  type: ContentChildren,
1720
1698
  args: [AXDataTableColumnComponent]