@acorex/components 21.0.2-next.9 → 21.0.3-next.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/conversation2/README.md +5 -8
- package/fesm2022/acorex-components-accordion.mjs +29 -29
- package/fesm2022/acorex-components-accordion.mjs.map +1 -1
- package/fesm2022/acorex-components-action-sheet.mjs +30 -30
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +16 -16
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-aspect-ratio.mjs +5 -5
- package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +11 -11
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-autocomplete.mjs +14 -14
- package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +17 -16
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +9 -9
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +14 -14
- package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +13 -13
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +40 -20
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +35 -36
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +283 -62
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +10 -10
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +9 -9
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +13 -13
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-code-editor.mjs +27 -27
- package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +14 -14
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +84 -43
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-command.mjs +19 -19
- package/fesm2022/acorex-components-command.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +35 -35
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +105 -105
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation2.mjs +13663 -10220
- package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +51 -51
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-list.mjs +31 -31
- package/fesm2022/acorex-components-data-list.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +93 -104
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +467 -86
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +174 -39
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +30 -38
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +62 -55
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +42 -49
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +19 -26
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +23 -23
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
- package/fesm2022/acorex-components-dropdown.mjs +19 -19
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-editor.mjs +12 -12
- package/fesm2022/acorex-components-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-fab.mjs +15 -15
- package/fesm2022/acorex-components-fab.mjs.map +1 -1
- package/fesm2022/acorex-components-flow-chart.mjs +74 -58
- package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +30 -30
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-grid-layout-builder.mjs +15 -15
- package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +87 -87
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +11 -11
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-json-viewer.mjs +12 -12
- package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-kanban.mjs +23 -23
- package/fesm2022/acorex-components-kanban.mjs.map +1 -1
- package/fesm2022/acorex-components-kbd.mjs +15 -15
- package/fesm2022/acorex-components-kbd.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +9 -9
- package/fesm2022/acorex-components-list.mjs +69 -19
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +20 -19
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +21 -21
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +46 -46
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-media-viewer.mjs +82 -82
- package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +366 -197
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/{acorex-components-modal-acorex-components-modal-CcXuJ4IW.mjs → acorex-components-modal-acorex-components-modal-lJw2DGSj.mjs} +28 -28
- package/fesm2022/{acorex-components-modal-acorex-components-modal-CcXuJ4IW.mjs.map → acorex-components-modal-acorex-components-modal-lJw2DGSj.mjs.map} +1 -1
- package/fesm2022/{acorex-components-modal-modal-content.component-DTZu2zbU.mjs → acorex-components-modal-modal-content.component-t9kRuhc_.mjs} +39 -39
- package/fesm2022/acorex-components-modal-modal-content.component-t9kRuhc_.mjs.map +1 -0
- package/fesm2022/acorex-components-modal.mjs +1 -1
- package/fesm2022/acorex-components-navbar.mjs +8 -8
- package/fesm2022/acorex-components-notification.mjs +28 -28
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +61 -23
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +45 -21
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +10 -10
- package/fesm2022/acorex-components-paint.mjs +53 -53
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +28 -28
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-pdf-reader.mjs +9 -9
- package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +19 -19
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +31 -31
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +18 -14
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +53 -25
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +8 -8
- package/fesm2022/acorex-components-qrcode.mjs +37 -20
- package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
- package/fesm2022/acorex-components-query-builder.mjs +15 -14
- package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +9 -9
- package/fesm2022/acorex-components-rail-navigation.mjs +28 -28
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +34 -34
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +17 -17
- package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-rest-api-generator.mjs +33 -33
- package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +8 -8
- package/fesm2022/acorex-components-routing-progress.mjs +8 -8
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-rrule.mjs +36 -36
- package/fesm2022/acorex-components-rrule.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler-picker.mjs +118 -118
- package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +402 -327
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +9 -9
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +73 -32
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list-2.mjs +12 -12
- package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +11 -11
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +455 -97
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +8 -8
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-slider.mjs +7 -7
- package/fesm2022/acorex-components-sliding-item.mjs +25 -25
- package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-components-step-wizard.mjs +40 -39
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +12 -12
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +20 -20
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +19 -19
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +8 -8
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +9 -9
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +12 -12
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-time-duration.mjs +34 -32
- package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
- package/fesm2022/acorex-components-time-line.mjs +19 -19
- package/fesm2022/acorex-components-time-line.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +26 -26
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-toolbar.mjs +13 -13
- package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +27 -18
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +326 -67
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +17 -17
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-video-player.mjs +8 -8
- package/fesm2022/acorex-components-video-player.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +60 -53
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/package.json +5 -4
- package/types/acorex-components-button-group.d.ts +9 -3
- package/types/acorex-components-button.d.ts +2 -8
- package/types/acorex-components-calendar.d.ts +142 -27
- package/types/acorex-components-color-palette.d.ts +2 -0
- package/types/acorex-components-conversation2.d.ts +1419 -1298
- package/types/acorex-components-data-pager.d.ts +6 -25
- package/types/acorex-components-data-table.d.ts +216 -56
- package/types/acorex-components-datetime-box.d.ts +79 -8
- package/types/acorex-components-datetime-input.d.ts +2 -2
- package/types/acorex-components-datetime-picker.d.ts +15 -5
- package/types/acorex-components-flow-chart.d.ts +4 -0
- package/types/acorex-components-list.d.ts +15 -1
- package/types/acorex-components-loading-dialog.d.ts +16 -16
- package/types/acorex-components-menu.d.ts +105 -36
- package/types/acorex-components-number-box.d.ts +9 -0
- package/types/acorex-components-otp.d.ts +18 -1
- package/types/acorex-components-popup.d.ts +11 -1
- package/types/acorex-components-qrcode.d.ts +1 -0
- package/types/acorex-components-query-builder.d.ts +1 -1
- package/types/acorex-components-scheduler.d.ts +26 -3
- package/types/acorex-components-select-box.d.ts +1 -0
- package/types/acorex-components-side-menu.d.ts +96 -34
- package/types/acorex-components-step-wizard.d.ts +2 -1
- package/types/acorex-components-time-duration.d.ts +1 -0
- package/types/acorex-components-tree-view.d.ts +43 -2
- package/types/acorex-components-wysiwyg.d.ts +6 -1
- package/fesm2022/acorex-components-modal-modal-content.component-DTZu2zbU.mjs.map +0 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { MXBaseComponent, convertArrayToDataSource, AXComponent, AXRippleDirective, AXCommonModule } from '@acorex/cdk/common';
|
|
2
|
-
import
|
|
3
|
-
import { EventEmitter, signal, Input, Output, Injectable, inject, ElementRef, Renderer2, NgZone, ChangeDetectorRef, DOCUMENT, PLATFORM_ID, HostListener, Directive, ViewChild, ChangeDetectionStrategy, ViewEncapsulation, Component, effect, computed, untracked, ContentChildren, ContentChild, NgModule } from '@angular/core';
|
|
4
|
-
import { isEqual, cloneDeep } from 'lodash-es';
|
|
2
|
+
import { AXHighlightService, AXUnsubscriber, AXHtmlUtil } from '@acorex/core/utils';
|
|
5
3
|
import * as i1 from '@angular/common';
|
|
6
4
|
import { isPlatformBrowser, CommonModule, NgTemplateOutlet, AsyncPipe, NgClass } from '@angular/common';
|
|
5
|
+
import * as i0 from '@angular/core';
|
|
6
|
+
import { signal, EventEmitter, inject, PLATFORM_ID, DestroyRef, Input, Output, Injectable, ElementRef, Renderer2, NgZone, ChangeDetectorRef, DOCUMENT, HostListener, Directive, ViewChild, ChangeDetectionStrategy, ViewEncapsulation, Component, effect, input, computed, untracked, ContentChildren, ContentChild, NgModule } from '@angular/core';
|
|
7
|
+
import { isEqual, cloneDeep } from 'lodash-es';
|
|
7
8
|
import { Subject, debounceTime, buffer, filter } from 'rxjs';
|
|
8
9
|
import { __decorate, __metadata } from 'tslib';
|
|
9
10
|
import { AXFormatService, AXFormatPipe, AXFormatModule } from '@acorex/core/format';
|
|
@@ -14,7 +15,7 @@ import { AXDropdownPanelComponent, AXDropdownModule } from '@acorex/components/d
|
|
|
14
15
|
import { AXLoadingComponent, AXLoadingModule } from '@acorex/components/loading';
|
|
15
16
|
import * as i2 from '@acorex/core/translation';
|
|
16
17
|
import { AXTranslationModule, AXTranslatorPipe } from '@acorex/core/translation';
|
|
17
|
-
import {
|
|
18
|
+
import { AXBadgeComponent } from '@acorex/components/badge';
|
|
18
19
|
import * as i2$1 from '@acorex/components/check-box';
|
|
19
20
|
import { AXCheckBoxModule } from '@acorex/components/check-box';
|
|
20
21
|
import * as i1$1 from '@angular/forms';
|
|
@@ -26,9 +27,96 @@ import { moveItemInArray, CdkDropList, CdkDrag, CdkDragPlaceholder, CdkDragHandl
|
|
|
26
27
|
import { CdkScrollable, ScrollingModule } from '@angular/cdk/scrolling';
|
|
27
28
|
import { AXTooltipDirective } from '@acorex/components/tooltip';
|
|
28
29
|
|
|
30
|
+
/**
|
|
31
|
+
* Caches synchronous CSS class resolutions in a plain map (safe during template render)
|
|
32
|
+
* and asynchronous results in a signal (updated only after promises settle).
|
|
33
|
+
*/
|
|
34
|
+
class AXDataTableCssClassCache {
|
|
35
|
+
constructor() {
|
|
36
|
+
this.generation = 0;
|
|
37
|
+
this.syncCache = new Map();
|
|
38
|
+
this.pendingResolvers = new Map();
|
|
39
|
+
this.resolvedAsync = signal(new Map(), ...(ngDevMode ? [{ debugName: "resolvedAsync" }] : /* istanbul ignore next */ []));
|
|
40
|
+
}
|
|
41
|
+
clear() {
|
|
42
|
+
this.generation++;
|
|
43
|
+
this.pendingResolvers.clear();
|
|
44
|
+
this.syncCache.clear();
|
|
45
|
+
if (this.resolvedAsync().size > 0) {
|
|
46
|
+
this.resolvedAsync.set(new Map());
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
resolve(cacheKey, factory, onResolved) {
|
|
50
|
+
const asyncCached = this.resolvedAsync().get(cacheKey);
|
|
51
|
+
if (asyncCached !== undefined) {
|
|
52
|
+
return asyncCached;
|
|
53
|
+
}
|
|
54
|
+
if (this.syncCache.has(cacheKey)) {
|
|
55
|
+
return this.syncCache.get(cacheKey) ?? '';
|
|
56
|
+
}
|
|
57
|
+
const result = factory();
|
|
58
|
+
if (isCssClassPromise(result)) {
|
|
59
|
+
this.scheduleAsync(cacheKey, result, onResolved);
|
|
60
|
+
return '';
|
|
61
|
+
}
|
|
62
|
+
const normalized = normalizeCssClass(result);
|
|
63
|
+
this.syncCache.set(cacheKey, normalized);
|
|
64
|
+
return normalized;
|
|
65
|
+
}
|
|
66
|
+
scheduleAsync(cacheKey, promise, onResolved) {
|
|
67
|
+
if (this.pendingResolvers.has(cacheKey)) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const generation = this.generation;
|
|
71
|
+
const task = promise
|
|
72
|
+
.then((value) => normalizeCssClass(value))
|
|
73
|
+
.catch(() => '')
|
|
74
|
+
.then((cssClass) => {
|
|
75
|
+
if (generation !== this.generation) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
this.pendingResolvers.delete(cacheKey);
|
|
79
|
+
this.resolvedAsync.update((map) => {
|
|
80
|
+
const next = new Map(map);
|
|
81
|
+
next.set(cacheKey, cssClass);
|
|
82
|
+
return next;
|
|
83
|
+
});
|
|
84
|
+
onResolved();
|
|
85
|
+
});
|
|
86
|
+
this.pendingResolvers.set(cacheKey, task);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function normalizeCssClass(value) {
|
|
90
|
+
return typeof value === 'string' ? value.trim() : '';
|
|
91
|
+
}
|
|
92
|
+
function isCssClassPromise(value) {
|
|
93
|
+
return value != null && typeof value.then === 'function';
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
const AX_DATA_TABLE_ROW_COLOR_TYPES = [
|
|
97
|
+
'primary',
|
|
98
|
+
'secondary',
|
|
99
|
+
'success',
|
|
100
|
+
'warning',
|
|
101
|
+
'danger',
|
|
102
|
+
];
|
|
103
|
+
const AX_DATA_TABLE_ROW_HIGHLIGHT_DEFAULT_BADGE = '@acorex:dataTable.rowHighlight.new';
|
|
29
104
|
class AXBaseDataTable extends MXBaseComponent {
|
|
105
|
+
/**
|
|
106
|
+
* When set, matching text in the table body is highlighted.
|
|
107
|
+
*/
|
|
108
|
+
get highlightText() {
|
|
109
|
+
return this._highlightText;
|
|
110
|
+
}
|
|
111
|
+
set highlightText(value) {
|
|
112
|
+
if (this._highlightText === value) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
this._highlightText = value;
|
|
116
|
+
this.scheduleTextHighlight();
|
|
117
|
+
}
|
|
30
118
|
constructor() {
|
|
31
|
-
super(
|
|
119
|
+
super();
|
|
32
120
|
this.dataSource = convertArrayToDataSource([]);
|
|
33
121
|
/**
|
|
34
122
|
* For handle nested rows.
|
|
@@ -43,7 +131,20 @@ class AXBaseDataTable extends MXBaseComponent {
|
|
|
43
131
|
*/
|
|
44
132
|
this.hasChildrenField = 'hasChild';
|
|
45
133
|
this.selectedRowsChange = new EventEmitter();
|
|
46
|
-
this.
|
|
134
|
+
this.highlightedRows = signal(new Map(), ...(ngDevMode ? [{ debugName: "highlightedRows" }] : /* istanbul ignore next */ []));
|
|
135
|
+
this.rowCssClassCache = new AXDataTableCssClassCache();
|
|
136
|
+
this.cellCssClassCache = new AXDataTableCssClassCache();
|
|
137
|
+
this.highlightService = inject(AXHighlightService);
|
|
138
|
+
this.platformId = inject(PLATFORM_ID);
|
|
139
|
+
this.destroyRef = inject(DestroyRef);
|
|
140
|
+
this.highlightOrder = 0;
|
|
141
|
+
this._selectedRows = signal([], ...(ngDevMode ? [{ debugName: "_selectedRows" }] : /* istanbul ignore next */ []));
|
|
142
|
+
this.destroyRef.onDestroy(() => {
|
|
143
|
+
if (this.textHighlightFrame != null) {
|
|
144
|
+
cancelAnimationFrame(this.textHighlightFrame);
|
|
145
|
+
}
|
|
146
|
+
this.clearTextHighlight();
|
|
147
|
+
});
|
|
47
148
|
}
|
|
48
149
|
/**
|
|
49
150
|
* Gets the data source key field name.
|
|
@@ -53,6 +154,204 @@ class AXBaseDataTable extends MXBaseComponent {
|
|
|
53
154
|
getDataSourceKey() {
|
|
54
155
|
return this.dataSource.config.key || 'id';
|
|
55
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Temporarily highlights a row with optional pin, badge, and pulse styling.
|
|
159
|
+
* Highlights are cleared on the next grid `refresh()` unless `preserveHighlights` is set.
|
|
160
|
+
*/
|
|
161
|
+
highlightRow(row, options = {}) {
|
|
162
|
+
const key = this.resolveRowKey(row);
|
|
163
|
+
if (key == null) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
const entry = {
|
|
167
|
+
row: typeof row === 'object' && row !== null ? row : { [this.getDataSourceKey()]: row },
|
|
168
|
+
color: options.color ?? 'success',
|
|
169
|
+
badge: options.badge !== undefined ? options.badge : AX_DATA_TABLE_ROW_HIGHLIGHT_DEFAULT_BADGE,
|
|
170
|
+
pulse: options.pulse ?? true,
|
|
171
|
+
pinned: options.pinned ?? true,
|
|
172
|
+
order: ++this.highlightOrder,
|
|
173
|
+
};
|
|
174
|
+
this.highlightedRows.update((map) => {
|
|
175
|
+
const next = new Map(map);
|
|
176
|
+
next.set(key, entry);
|
|
177
|
+
return next;
|
|
178
|
+
});
|
|
179
|
+
this.onRowHighlightsChanged();
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Temporarily highlights multiple rows.
|
|
183
|
+
*/
|
|
184
|
+
highlightRows(rows, options = {}) {
|
|
185
|
+
rows.forEach((row) => this.highlightRow(row, options));
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Clears all temporary row highlights.
|
|
189
|
+
*/
|
|
190
|
+
clearRowHighlights() {
|
|
191
|
+
if (this.highlightedRows().size === 0) {
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
this.highlightedRows.set(new Map());
|
|
195
|
+
this.onRowHighlightsChanged();
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Returns the temporary highlight state for a row, if any.
|
|
199
|
+
*/
|
|
200
|
+
getRowHighlight(row) {
|
|
201
|
+
const key = this.resolveRowKey(row);
|
|
202
|
+
if (key == null) {
|
|
203
|
+
return null;
|
|
204
|
+
}
|
|
205
|
+
return this.highlightedRows().get(key) ?? null;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Returns the translation key for the row highlight badge, if any.
|
|
209
|
+
*/
|
|
210
|
+
getRowHighlightBadge(row) {
|
|
211
|
+
return this.getRowHighlight(row)?.badge ?? null;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Clears cached asynchronous CSS class results for rows and cells.
|
|
215
|
+
*/
|
|
216
|
+
clearResolvedCssClasses() {
|
|
217
|
+
this.rowCssClassCache.clear();
|
|
218
|
+
this.cellCssClassCache.clear();
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Returns CSS classes for the given row `<tr>`, including temporary highlight styles.
|
|
222
|
+
*/
|
|
223
|
+
getRowCssClass(row, rowIndex) {
|
|
224
|
+
const classes = [];
|
|
225
|
+
const highlight = this.getRowHighlight(row);
|
|
226
|
+
if (highlight) {
|
|
227
|
+
classes.push(`ax-row-color-${highlight.color}`);
|
|
228
|
+
if (highlight.pulse) {
|
|
229
|
+
classes.push('ax-row-color-pulse');
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
if (this.rowCssClass) {
|
|
233
|
+
classes.push(this.resolveRowCssClass(row, rowIndex));
|
|
234
|
+
}
|
|
235
|
+
return classes.filter(Boolean).join(' ');
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Returns CSS classes for a body cell, merging column `cssClass` with `cellCssClass`.
|
|
239
|
+
*/
|
|
240
|
+
getCellCssClass(row, column, rowIndex) {
|
|
241
|
+
const columnClass = column.cssClass ?? '';
|
|
242
|
+
if (!this.cellCssClass) {
|
|
243
|
+
return columnClass;
|
|
244
|
+
}
|
|
245
|
+
const resolved = this.resolveCellCssClass(row, column, rowIndex);
|
|
246
|
+
return columnClass ? (resolved ? `${columnClass} ${resolved}` : columnClass) : resolved;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Merges pinned highlighted rows with loaded items.
|
|
250
|
+
*/
|
|
251
|
+
mergeRowsWithHighlights(items) {
|
|
252
|
+
const highlights = this.highlightedRows();
|
|
253
|
+
if (highlights.size === 0) {
|
|
254
|
+
return items;
|
|
255
|
+
}
|
|
256
|
+
const itemsByKey = new Map();
|
|
257
|
+
for (const item of items) {
|
|
258
|
+
const itemKey = this.resolveRowKey(item);
|
|
259
|
+
if (itemKey != null) {
|
|
260
|
+
itemsByKey.set(itemKey, item);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
const pinnedEntries = [...highlights.values()].filter((entry) => entry.pinned).sort((a, b) => a.order - b.order);
|
|
264
|
+
const pinnedRows = pinnedEntries.map((entry) => {
|
|
265
|
+
const entryKey = this.resolveRowKey(entry.row);
|
|
266
|
+
if (entryKey != null && itemsByKey.has(entryKey)) {
|
|
267
|
+
return itemsByKey.get(entryKey);
|
|
268
|
+
}
|
|
269
|
+
return entry.row;
|
|
270
|
+
});
|
|
271
|
+
const pinnedKeys = new Set(pinnedEntries.map((entry) => this.resolveRowKey(entry.row)).filter((key) => key != null));
|
|
272
|
+
const rest = items.filter((item) => {
|
|
273
|
+
const itemKey = this.resolveRowKey(item);
|
|
274
|
+
return itemKey == null || !pinnedKeys.has(itemKey);
|
|
275
|
+
});
|
|
276
|
+
return [...pinnedRows, ...rest];
|
|
277
|
+
}
|
|
278
|
+
resolveRowKey(row) {
|
|
279
|
+
const keyField = this.getDataSourceKey();
|
|
280
|
+
if (row == null) {
|
|
281
|
+
return null;
|
|
282
|
+
}
|
|
283
|
+
if (typeof row === 'object') {
|
|
284
|
+
const value = row[keyField];
|
|
285
|
+
if (value == null || value === '') {
|
|
286
|
+
return null;
|
|
287
|
+
}
|
|
288
|
+
return value;
|
|
289
|
+
}
|
|
290
|
+
return row;
|
|
291
|
+
}
|
|
292
|
+
onCssClassResolved() {
|
|
293
|
+
this.scheduleTextHighlight();
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Schedules text highlighting after the current render frame.
|
|
297
|
+
*/
|
|
298
|
+
scheduleTextHighlight() {
|
|
299
|
+
if (!isPlatformBrowser(this.platformId)) {
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
if (this.textHighlightFrame != null) {
|
|
303
|
+
cancelAnimationFrame(this.textHighlightFrame);
|
|
304
|
+
}
|
|
305
|
+
this.textHighlightFrame = requestAnimationFrame(() => {
|
|
306
|
+
this.textHighlightFrame = undefined;
|
|
307
|
+
this.applyTextHighlight();
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Returns the DOM root used for text highlighting.
|
|
312
|
+
*/
|
|
313
|
+
getTextHighlightRoot() {
|
|
314
|
+
const host = this.getHostElement();
|
|
315
|
+
const root = host.querySelector('.ax-data-table-wrapper') ??
|
|
316
|
+
host.querySelector('.ax-body-content') ??
|
|
317
|
+
host;
|
|
318
|
+
root.setAttribute('data-ax-highlight-root', this.id);
|
|
319
|
+
return root;
|
|
320
|
+
}
|
|
321
|
+
getTextHighlightSelector() {
|
|
322
|
+
return `[data-ax-highlight-root="${this.id}"] tbody td`;
|
|
323
|
+
}
|
|
324
|
+
applyTextHighlight() {
|
|
325
|
+
const query = this._highlightText?.trim();
|
|
326
|
+
const selector = this.getTextHighlightSelector();
|
|
327
|
+
if (!query) {
|
|
328
|
+
this.highlightService.clear(selector);
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
331
|
+
if (!this.getTextHighlightRoot()) {
|
|
332
|
+
return;
|
|
333
|
+
}
|
|
334
|
+
this.highlightService.highlight(selector, query);
|
|
335
|
+
}
|
|
336
|
+
clearTextHighlight() {
|
|
337
|
+
this.highlightService.clear(this.getTextHighlightSelector());
|
|
338
|
+
}
|
|
339
|
+
resolveRowCssClass(row, rowIndex) {
|
|
340
|
+
const cacheKey = this.resolveRowCssClassCacheKey(row, rowIndex);
|
|
341
|
+
return this.rowCssClassCache.resolve(cacheKey, () => this.rowCssClass(row, rowIndex), () => this.onCssClassResolved());
|
|
342
|
+
}
|
|
343
|
+
resolveCellCssClass(row, column, rowIndex) {
|
|
344
|
+
const cacheKey = this.resolveCellCssClassCacheKey(row, column, rowIndex);
|
|
345
|
+
return this.cellCssClassCache.resolve(cacheKey, () => this.cellCssClass(row, column, rowIndex), () => this.onCssClassResolved());
|
|
346
|
+
}
|
|
347
|
+
resolveRowCssClassCacheKey(row, rowIndex) {
|
|
348
|
+
const key = this.resolveRowKey(row);
|
|
349
|
+
return key != null ? `r:${key}:${rowIndex}` : `r:${rowIndex}`;
|
|
350
|
+
}
|
|
351
|
+
resolveCellCssClassCacheKey(row, column, rowIndex) {
|
|
352
|
+
const key = this.resolveRowKey(row);
|
|
353
|
+
return key != null ? `c:${key}:${column.name}:${rowIndex}` : `c:${column.name}:${rowIndex}`;
|
|
354
|
+
}
|
|
56
355
|
get selectedRows() {
|
|
57
356
|
return this._selectedRows();
|
|
58
357
|
}
|
|
@@ -136,12 +435,12 @@ class AXBaseDataTable extends MXBaseComponent {
|
|
|
136
435
|
this.selectedRows = this.selectedRows.filter((c) => !removedRowIds.includes(typeof c === 'object' ? c[key] : c));
|
|
137
436
|
//this.selectedRows = this.selectedRows.filter((c) => !rows.includes(c));
|
|
138
437
|
}
|
|
139
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
140
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
438
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXBaseDataTable, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
439
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXBaseDataTable }); }
|
|
141
440
|
}
|
|
142
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
441
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXBaseDataTable, decorators: [{
|
|
143
442
|
type: Injectable
|
|
144
|
-
}], propDecorators: { dataSource: [{
|
|
443
|
+
}], ctorParameters: () => [], propDecorators: { dataSource: [{
|
|
145
444
|
type: Input
|
|
146
445
|
}], parentField: [{
|
|
147
446
|
type: Input
|
|
@@ -149,6 +448,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
149
448
|
type: Input
|
|
150
449
|
}], rowDetailsTemplate: [{
|
|
151
450
|
type: Input
|
|
451
|
+
}], rowCssClass: [{
|
|
452
|
+
type: Input
|
|
453
|
+
}], cellCssClass: [{
|
|
454
|
+
type: Input
|
|
455
|
+
}], highlightText: [{
|
|
456
|
+
type: Input
|
|
152
457
|
}], selectedRowsChange: [{
|
|
153
458
|
type: Output
|
|
154
459
|
}], selectedRows: [{
|
|
@@ -178,10 +483,10 @@ class AXDataTableColumnComponent {
|
|
|
178
483
|
get cssClass() {
|
|
179
484
|
return null;
|
|
180
485
|
}
|
|
181
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
182
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
486
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXDataTableColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
487
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXDataTableColumnComponent }); }
|
|
183
488
|
}
|
|
184
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
489
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXDataTableColumnComponent, decorators: [{
|
|
185
490
|
type: Injectable
|
|
186
491
|
}], propDecorators: { caption: [{
|
|
187
492
|
type: Input
|
|
@@ -265,10 +570,10 @@ class AXDataTableColumnResizableDirective {
|
|
|
265
570
|
this.cdr.reattach(); // Reattach the change detector
|
|
266
571
|
}
|
|
267
572
|
}
|
|
268
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
269
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
573
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXDataTableColumnResizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
574
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: AXDataTableColumnResizableDirective, isStandalone: true, selector: "[ax-table-column-resizble]", inputs: { column: ["ax-table-column-resizble", "column"] }, host: { listeners: { "mousedown": "onMouseDown($event)" } }, ngImport: i0 }); }
|
|
270
575
|
}
|
|
271
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
576
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXDataTableColumnResizableDirective, decorators: [{
|
|
272
577
|
type: Directive,
|
|
273
578
|
args: [{ selector: '[ax-table-column-resizble]' }]
|
|
274
579
|
}], ctorParameters: () => [], propDecorators: { column: [{
|
|
@@ -288,7 +593,7 @@ class AXDataTableTextColumnComponent extends AXDataTableColumnComponent {
|
|
|
288
593
|
constructor() {
|
|
289
594
|
super(...arguments);
|
|
290
595
|
this.grid = inject(AXBaseDataTable);
|
|
291
|
-
this.loadingRow = signal(null, ...(ngDevMode ? [{ debugName: "loadingRow" }] : []));
|
|
596
|
+
this.loadingRow = signal(null, ...(ngDevMode ? [{ debugName: "loadingRow" }] : /* istanbul ignore next */ []));
|
|
292
597
|
this.initialWidth = '';
|
|
293
598
|
/**
|
|
294
599
|
* Controls the display of an expandable arrow icon beside the cell text.
|
|
@@ -363,8 +668,8 @@ class AXDataTableTextColumnComponent extends AXDataTableColumnComponent {
|
|
|
363
668
|
const value = rowData[dataField];
|
|
364
669
|
return !this.format ? value : this.formatService.format(value, this.format, this.formatOptions);
|
|
365
670
|
}
|
|
366
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
367
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
671
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXDataTableTextColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
672
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXDataTableTextColumnComponent, isStandalone: true, selector: "ax-text-column", inputs: { width: "width", caption: "caption", allowSorting: "allowSorting", allowResizing: "allowResizing", fixed: "fixed", hasTitle: "hasTitle", customExpandIcon: "customExpandIcon", customCollapseIcon: "customCollapseIcon", dataField: "dataField", expandHandler: "expandHandler", wrapText: "wrapText", cellTemplate: "cellTemplate", footerTemplate: "footerTemplate", headerTemplate: "headerTemplate", format: "format", formatOptions: "formatOptions" }, providers: [
|
|
368
673
|
{
|
|
369
674
|
provide: AXDataTableColumnComponent,
|
|
370
675
|
useExisting: AXDataTableTextColumnComponent,
|
|
@@ -404,7 +709,7 @@ __decorate([
|
|
|
404
709
|
__metadata("design:paramtypes", [Object, String]),
|
|
405
710
|
__metadata("design:returntype", String)
|
|
406
711
|
], AXDataTableTextColumnComponent.prototype, "getDisplayText", null);
|
|
407
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
712
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXDataTableTextColumnComponent, decorators: [{
|
|
408
713
|
type: Component,
|
|
409
714
|
args: [{
|
|
410
715
|
selector: 'ax-text-column',
|
|
@@ -482,7 +787,7 @@ class AXBaseRowCommandColumnComponent extends AXDataTableColumnComponent {
|
|
|
482
787
|
super(...arguments);
|
|
483
788
|
this.grid = inject(AXBaseDataTable);
|
|
484
789
|
this.cdr = inject(ChangeDetectorRef);
|
|
485
|
-
this.commandLoading = signal(null, ...(ngDevMode ? [{ debugName: "commandLoading" }] : []));
|
|
790
|
+
this.commandLoading = signal(null, ...(ngDevMode ? [{ debugName: "commandLoading" }] : /* istanbul ignore next */ []));
|
|
486
791
|
this.rowIdentityMap = new WeakMap();
|
|
487
792
|
this.rowIdentitySeq = 0;
|
|
488
793
|
this.allowSorting = false;
|
|
@@ -523,8 +828,8 @@ class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnComponen
|
|
|
523
828
|
constructor() {
|
|
524
829
|
super(...arguments);
|
|
525
830
|
this.emptyStateText = '@acorex:dataTable.rowCommandColumn.emptyStateText';
|
|
526
|
-
this.itemsLoading = signal(false, ...(ngDevMode ? [{ debugName: "itemsLoading" }] : []));
|
|
527
|
-
this.itemsFetched = signal(false, ...(ngDevMode ? [{ debugName: "itemsFetched" }] : []));
|
|
831
|
+
this.itemsLoading = signal(false, ...(ngDevMode ? [{ debugName: "itemsLoading" }] : /* istanbul ignore next */ []));
|
|
832
|
+
this.itemsFetched = signal(false, ...(ngDevMode ? [{ debugName: "itemsFetched" }] : /* istanbul ignore next */ []));
|
|
528
833
|
/**
|
|
529
834
|
* @ignore
|
|
530
835
|
*/
|
|
@@ -532,7 +837,7 @@ class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnComponen
|
|
|
532
837
|
this.items = [];
|
|
533
838
|
this.dropdownLoadingEffect = effect(() => {
|
|
534
839
|
this.applyLoadingState(this.commandLoading());
|
|
535
|
-
}, ...(ngDevMode ? [{ debugName: "dropdownLoadingEffect" }] : []));
|
|
840
|
+
}, ...(ngDevMode ? [{ debugName: "dropdownLoadingEffect" }] : /* istanbul ignore next */ []));
|
|
536
841
|
}
|
|
537
842
|
/**
|
|
538
843
|
* Returns the template used for rendering cell content.
|
|
@@ -655,8 +960,8 @@ class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnComponen
|
|
|
655
960
|
};
|
|
656
961
|
this.onItemClick.emit(args);
|
|
657
962
|
}
|
|
658
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
659
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
963
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXRowDropdownCommandColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
964
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXRowDropdownCommandColumnComponent, isStandalone: true, selector: "ax-dropdown-command-column", inputs: { width: "width", caption: "caption", fixed: "fixed", footerTemplate: "footerTemplate", emptyStateTemplate: "emptyStateTemplate", emptyStateText: "emptyStateText", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [
|
|
660
965
|
{
|
|
661
966
|
provide: AXDataTableColumnComponent,
|
|
662
967
|
useExisting: AXRowDropdownCommandColumnComponent,
|
|
@@ -707,7 +1012,7 @@ class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnComponen
|
|
|
707
1012
|
<ng-template #footer></ng-template>
|
|
708
1013
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items", "closeParentOnClick", "lockOnLoading"], outputs: ["onItemClick"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
709
1014
|
}
|
|
710
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
1015
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXRowDropdownCommandColumnComponent, decorators: [{
|
|
711
1016
|
type: Component,
|
|
712
1017
|
args: [{
|
|
713
1018
|
selector: 'ax-dropdown-command-column',
|
|
@@ -877,8 +1182,8 @@ class AXRowCommandColumnComponent extends AXBaseRowCommandColumnComponent {
|
|
|
877
1182
|
};
|
|
878
1183
|
this.onItemClick.emit(args);
|
|
879
1184
|
}
|
|
880
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
881
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
1185
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXRowCommandColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1186
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXRowCommandColumnComponent, isStandalone: true, selector: "ax-command-column", inputs: { width: "width", caption: "caption", fixed: "fixed", footerTemplate: "footerTemplate", items: "items" }, outputs: { onItemClick: "onItemClick" }, providers: [
|
|
882
1187
|
{
|
|
883
1188
|
provide: AXDataTableColumnComponent,
|
|
884
1189
|
useExisting: AXRowCommandColumnComponent,
|
|
@@ -908,7 +1213,7 @@ class AXRowCommandColumnComponent extends AXBaseRowCommandColumnComponent {
|
|
|
908
1213
|
</ng-template>
|
|
909
1214
|
<ng-template #footer></ng-template> `, isInline: true, dependencies: [{ kind: "directive", type: AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
910
1215
|
}
|
|
911
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
1216
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXRowCommandColumnComponent, decorators: [{
|
|
912
1217
|
type: Component,
|
|
913
1218
|
args: [{
|
|
914
1219
|
selector: 'ax-command-column',
|
|
@@ -979,7 +1284,7 @@ class AXRowExpandColumnComponent extends AXDataTableColumnComponent {
|
|
|
979
1284
|
constructor() {
|
|
980
1285
|
super(...arguments);
|
|
981
1286
|
this.grid = inject(AXBaseDataTable);
|
|
982
|
-
this.loadingRow = signal(null, ...(ngDevMode ? [{ debugName: "loadingRow" }] : []));
|
|
1287
|
+
this.loadingRow = signal(null, ...(ngDevMode ? [{ debugName: "loadingRow" }] : /* istanbul ignore next */ []));
|
|
983
1288
|
}
|
|
984
1289
|
/**
|
|
985
1290
|
* Gets the template used to render cells in the column.
|
|
@@ -1019,8 +1324,8 @@ class AXRowExpandColumnComponent extends AXDataTableColumnComponent {
|
|
|
1019
1324
|
get loadingEnabled() {
|
|
1020
1325
|
return false;
|
|
1021
1326
|
}
|
|
1022
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
1023
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
1327
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXRowExpandColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1328
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXRowExpandColumnComponent, isStandalone: true, selector: "ax-expand-column", inputs: { width: "width", caption: "caption", fixed: "fixed" }, providers: [
|
|
1024
1329
|
{
|
|
1025
1330
|
provide: AXDataTableColumnComponent,
|
|
1026
1331
|
useExisting: AXRowExpandColumnComponent,
|
|
@@ -1050,7 +1355,7 @@ class AXRowExpandColumnComponent extends AXDataTableColumnComponent {
|
|
|
1050
1355
|
<ng-template #footer></ng-template>
|
|
1051
1356
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1052
1357
|
}
|
|
1053
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
1358
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXRowExpandColumnComponent, decorators: [{
|
|
1054
1359
|
type: Component,
|
|
1055
1360
|
args: [{
|
|
1056
1361
|
selector: 'ax-expand-column',
|
|
@@ -1172,8 +1477,8 @@ class AXRowIndexColumnComponent extends AXDataTableColumnComponent {
|
|
|
1172
1477
|
get cssClass() {
|
|
1173
1478
|
return 'ax-index-column';
|
|
1174
1479
|
}
|
|
1175
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
1176
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1480
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXRowIndexColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1481
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXRowIndexColumnComponent, isStandalone: true, selector: "ax-index-column", inputs: { width: "width", caption: "caption", fixed: "fixed", footerTemplate: "footerTemplate", padZero: "padZero" }, providers: [
|
|
1177
1482
|
AXUnsubscriber,
|
|
1178
1483
|
{
|
|
1179
1484
|
provide: AXDataTableColumnComponent,
|
|
@@ -1182,17 +1487,37 @@ class AXRowIndexColumnComponent extends AXDataTableColumnComponent {
|
|
|
1182
1487
|
{ provide: AXComponent, useExisting: AXRowIndexColumnComponent },
|
|
1183
1488
|
], viewQueries: [{ propertyName: "_cellTemplate", first: true, predicate: ["cell"], descendants: true }, { propertyName: "_contentHeaderTemplate", first: true, predicate: ["header"], descendants: true }, { propertyName: "_contentFooterTemplate", first: true, predicate: ["footer"], descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-template #header>{{ caption }}</ng-template>
|
|
1184
1489
|
<ng-template #cell let-row>
|
|
1185
|
-
|
|
1490
|
+
@if (grid.getRowHighlightBadge(row.data); as badgeKey) {
|
|
1491
|
+
<ax-badge
|
|
1492
|
+
class="ax-data-table-row-highlight-badge"
|
|
1493
|
+
[color]="grid.getRowHighlight(row.data)?.color ?? 'success'"
|
|
1494
|
+
[text]="badgeKey | translate | async"
|
|
1495
|
+
/>
|
|
1496
|
+
} @else {
|
|
1497
|
+
{{
|
|
1498
|
+
row.rowIndex + 1 | format: 'number' : { zeroPadLength: this.formatCount, thousandSeparator: false } | async
|
|
1499
|
+
}}
|
|
1500
|
+
}
|
|
1186
1501
|
</ng-template>
|
|
1187
|
-
<ng-template #footer></ng-template> `, isInline: true, dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1502
|
+
<ng-template #footer></ng-template> `, isInline: true, dependencies: [{ kind: "component", type: AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1188
1503
|
}
|
|
1189
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
1504
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXRowIndexColumnComponent, decorators: [{
|
|
1190
1505
|
type: Component,
|
|
1191
1506
|
args: [{
|
|
1192
1507
|
selector: 'ax-index-column',
|
|
1193
1508
|
template: `<ng-template #header>{{ caption }}</ng-template>
|
|
1194
1509
|
<ng-template #cell let-row>
|
|
1195
|
-
|
|
1510
|
+
@if (grid.getRowHighlightBadge(row.data); as badgeKey) {
|
|
1511
|
+
<ax-badge
|
|
1512
|
+
class="ax-data-table-row-highlight-badge"
|
|
1513
|
+
[color]="grid.getRowHighlight(row.data)?.color ?? 'success'"
|
|
1514
|
+
[text]="badgeKey | translate | async"
|
|
1515
|
+
/>
|
|
1516
|
+
} @else {
|
|
1517
|
+
{{
|
|
1518
|
+
row.rowIndex + 1 | format: 'number' : { zeroPadLength: this.formatCount, thousandSeparator: false } | async
|
|
1519
|
+
}}
|
|
1520
|
+
}
|
|
1196
1521
|
</ng-template>
|
|
1197
1522
|
<ng-template #footer></ng-template> `,
|
|
1198
1523
|
encapsulation: ViewEncapsulation.None,
|
|
@@ -1206,7 +1531,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
1206
1531
|
{ provide: AXComponent, useExisting: AXRowIndexColumnComponent },
|
|
1207
1532
|
],
|
|
1208
1533
|
inputs: ['width', 'caption', 'fixed'],
|
|
1209
|
-
imports: [AsyncPipe, AXFormatPipe],
|
|
1534
|
+
imports: [AsyncPipe, AXFormatPipe, AXBadgeComponent, AXTranslatorPipe],
|
|
1210
1535
|
}]
|
|
1211
1536
|
}], propDecorators: { _cellTemplate: [{
|
|
1212
1537
|
type: ViewChild,
|
|
@@ -1328,8 +1653,8 @@ class AXRowSelectColumnComponent extends AXDataTableColumnComponent {
|
|
|
1328
1653
|
get cssClass() {
|
|
1329
1654
|
return 'ax-select-column';
|
|
1330
1655
|
}
|
|
1331
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
1332
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.
|
|
1656
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXRowSelectColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1657
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: AXRowSelectColumnComponent, isStandalone: true, selector: "ax-select-column", inputs: { width: "width", caption: "caption", fixed: "fixed" }, providers: [
|
|
1333
1658
|
{
|
|
1334
1659
|
provide: AXDataTableColumnComponent,
|
|
1335
1660
|
useExisting: AXRowSelectColumnComponent,
|
|
@@ -1359,7 +1684,7 @@ class AXRowSelectColumnComponent extends AXDataTableColumnComponent {
|
|
|
1359
1684
|
</ng-template>
|
|
1360
1685
|
<ng-template #footer></ng-template> `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "component", type: i2$1.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "isLoading", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1361
1686
|
}
|
|
1362
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
1687
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXRowSelectColumnComponent, decorators: [{
|
|
1363
1688
|
type: Component,
|
|
1364
1689
|
args: [{
|
|
1365
1690
|
selector: 'ax-select-column',
|
|
@@ -1417,6 +1742,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
1417
1742
|
class AXDataTableComponent extends AXBaseDataTable {
|
|
1418
1743
|
constructor() {
|
|
1419
1744
|
super(...arguments);
|
|
1745
|
+
/**
|
|
1746
|
+
* Controls the table look.
|
|
1747
|
+
*
|
|
1748
|
+
* - `classic` — classic look (default).
|
|
1749
|
+
* - `minimal` — minimal look.
|
|
1750
|
+
*
|
|
1751
|
+
* @defaultValue `'classic'`
|
|
1752
|
+
*/
|
|
1753
|
+
this.look = input('classic', ...(ngDevMode ? [{ debugName: "look" }] : /* istanbul ignore next */ []));
|
|
1420
1754
|
this._unsubscriber = inject(AXUnsubscriber);
|
|
1421
1755
|
this._zone = inject(NgZone);
|
|
1422
1756
|
this.document = inject(DOCUMENT);
|
|
@@ -1424,35 +1758,35 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
1424
1758
|
/**
|
|
1425
1759
|
* @ignore
|
|
1426
1760
|
*/
|
|
1427
|
-
this.displayedRows = signal([], ...(ngDevMode ? [{ debugName: "displayedRows" }] : []));
|
|
1761
|
+
this.displayedRows = signal([], ...(ngDevMode ? [{ debugName: "displayedRows" }] : /* istanbul ignore next */ []));
|
|
1428
1762
|
/**
|
|
1429
1763
|
* @ignore
|
|
1430
1764
|
*/
|
|
1431
|
-
this.page = signal(0, ...(ngDevMode ? [{ debugName: "page" }] : []));
|
|
1765
|
+
this.page = signal(0, ...(ngDevMode ? [{ debugName: "page" }] : /* istanbul ignore next */ []));
|
|
1432
1766
|
/**
|
|
1433
1767
|
* @ignore
|
|
1434
1768
|
*/
|
|
1435
|
-
this.pageSize = signal(0, ...(ngDevMode ? [{ debugName: "pageSize" }] : []));
|
|
1769
|
+
this.pageSize = signal(0, ...(ngDevMode ? [{ debugName: "pageSize" }] : /* istanbul ignore next */ []));
|
|
1436
1770
|
/**
|
|
1437
1771
|
* @ignore
|
|
1438
1772
|
*/
|
|
1439
|
-
this.isLoading = signal(true, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
|
|
1773
|
+
this.isLoading = signal(true, ...(ngDevMode ? [{ debugName: "isLoading" }] : /* istanbul ignore next */ []));
|
|
1440
1774
|
/**
|
|
1441
1775
|
* @ignore
|
|
1442
1776
|
*/
|
|
1443
|
-
this.columnsList = signal([], ...(ngDevMode ? [{ debugName: "columnsList" }] : []));
|
|
1777
|
+
this.columnsList = signal([], ...(ngDevMode ? [{ debugName: "columnsList" }] : /* istanbul ignore next */ []));
|
|
1444
1778
|
/**
|
|
1445
1779
|
* @ignore
|
|
1446
1780
|
*/
|
|
1447
|
-
this.endFixedColumnsList = computed(() => this.columnsList().filter((c) => c.fixed === 'end'), ...(ngDevMode ? [{ debugName: "endFixedColumnsList" }] : []));
|
|
1781
|
+
this.endFixedColumnsList = computed(() => this.columnsList().filter((c) => c.fixed === 'end'), ...(ngDevMode ? [{ debugName: "endFixedColumnsList" }] : /* istanbul ignore next */ []));
|
|
1448
1782
|
/**
|
|
1449
1783
|
* @ignore
|
|
1450
1784
|
*/
|
|
1451
|
-
this.startFixedColumnsList = computed(() => this.columnsList().filter((c) => c.fixed === 'start'), ...(ngDevMode ? [{ debugName: "startFixedColumnsList" }] : []));
|
|
1785
|
+
this.startFixedColumnsList = computed(() => this.columnsList().filter((c) => c.fixed === 'start'), ...(ngDevMode ? [{ debugName: "startFixedColumnsList" }] : /* istanbul ignore next */ []));
|
|
1452
1786
|
/**
|
|
1453
1787
|
* @ignore
|
|
1454
1788
|
*/
|
|
1455
|
-
this.normalColumnsList = computed(() => this.columnsList().filter((c) => c.fixed !== 'end' && c.fixed !== 'start'), ...(ngDevMode ? [{ debugName: "normalColumnsList" }] : []));
|
|
1789
|
+
this.normalColumnsList = computed(() => this.columnsList().filter((c) => c.fixed !== 'end' && c.fixed !== 'start'), ...(ngDevMode ? [{ debugName: "normalColumnsList" }] : /* istanbul ignore next */ []));
|
|
1456
1790
|
/**
|
|
1457
1791
|
* @ignore
|
|
1458
1792
|
*/
|
|
@@ -1600,7 +1934,12 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
1600
1934
|
/**
|
|
1601
1935
|
* @ignore
|
|
1602
1936
|
*/
|
|
1603
|
-
this.isRefreshCalled = signal(false, ...(ngDevMode ? [{ debugName: "isRefreshCalled" }] : []));
|
|
1937
|
+
this.isRefreshCalled = signal(false, ...(ngDevMode ? [{ debugName: "isRefreshCalled" }] : /* istanbul ignore next */ []));
|
|
1938
|
+
/**
|
|
1939
|
+
* Root rows from the latest data source load (before highlight merge).
|
|
1940
|
+
* @ignore
|
|
1941
|
+
*/
|
|
1942
|
+
this.lastLoadedRows = [];
|
|
1604
1943
|
/**
|
|
1605
1944
|
* @ignore
|
|
1606
1945
|
*/
|
|
@@ -1610,7 +1949,7 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
1610
1949
|
this.customDataPager.size = this.dataSource.pageSize;
|
|
1611
1950
|
this.customDataPager.isLoading = this.isLoading();
|
|
1612
1951
|
}
|
|
1613
|
-
}, ...(ngDevMode ? [{ debugName: "#effect" }] : []));
|
|
1952
|
+
}, ...(ngDevMode ? [{ debugName: "#effect" }] : /* istanbul ignore next */ []));
|
|
1614
1953
|
/**
|
|
1615
1954
|
* @ignore
|
|
1616
1955
|
*/
|
|
@@ -1691,9 +2030,12 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
1691
2030
|
this.goToPage(data.page);
|
|
1692
2031
|
return;
|
|
1693
2032
|
}
|
|
1694
|
-
this.
|
|
2033
|
+
this.clearResolvedCssClasses();
|
|
2034
|
+
this.lastLoadedRows = data.items.filter((item) => !item[this.parentField]);
|
|
2035
|
+
this.displayedRows.set(this.mergeRowsWithHighlights(this.lastLoadedRows));
|
|
1695
2036
|
this.totalRows = data.totalCount;
|
|
1696
2037
|
this.hasItems = data.totalCount > 0;
|
|
2038
|
+
this.scheduleTextHighlight();
|
|
1697
2039
|
});
|
|
1698
2040
|
this.dataSource.onItemExpanded.pipe(this._unsubscriber.takeUntilDestroy).subscribe((data) => {
|
|
1699
2041
|
const { expandedItem, children } = data;
|
|
@@ -1737,9 +2079,11 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
1737
2079
|
// Delay to ensure DOM is ready
|
|
1738
2080
|
setTimeout(() => {
|
|
1739
2081
|
this.autoFitColumnsWithAutoWidth();
|
|
2082
|
+
this.scheduleTextHighlight();
|
|
1740
2083
|
}, 100);
|
|
1741
2084
|
}
|
|
1742
2085
|
});
|
|
2086
|
+
this.scheduleTextHighlight();
|
|
1743
2087
|
}
|
|
1744
2088
|
captureAutoFitIntentColumns() {
|
|
1745
2089
|
this.columns.forEach((column) => {
|
|
@@ -1953,6 +2297,17 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
1953
2297
|
}
|
|
1954
2298
|
return undefined;
|
|
1955
2299
|
}
|
|
2300
|
+
/**
|
|
2301
|
+
* Re-applies pinned highlighted rows to the current view.
|
|
2302
|
+
* @ignore
|
|
2303
|
+
*/
|
|
2304
|
+
onRowHighlightsChanged() {
|
|
2305
|
+
this.displayedRows.set(this.mergeRowsWithHighlights(this.lastLoadedRows));
|
|
2306
|
+
}
|
|
2307
|
+
onCssClassResolved() {
|
|
2308
|
+
this.displayedRows.update((rows) => [...rows]);
|
|
2309
|
+
super.onCssClassResolved();
|
|
2310
|
+
}
|
|
1956
2311
|
/**
|
|
1957
2312
|
* Refreshes the data table with optional reset options.
|
|
1958
2313
|
*
|
|
@@ -1961,6 +2316,10 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
1961
2316
|
* @returns void - No return value.
|
|
1962
2317
|
*/
|
|
1963
2318
|
refresh(options = { reset: true }) {
|
|
2319
|
+
if (!options.preserveHighlights) {
|
|
2320
|
+
this.clearRowHighlights();
|
|
2321
|
+
}
|
|
2322
|
+
this.clearResolvedCssClasses();
|
|
1964
2323
|
this.dataSource.refresh(options);
|
|
1965
2324
|
const isRefreshCalled = untracked(() => this.isRefreshCalled());
|
|
1966
2325
|
if (this.fetchDataMode === 'manual' && !isRefreshCalled) {
|
|
@@ -1974,7 +2333,18 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
1974
2333
|
* @ignore
|
|
1975
2334
|
*/
|
|
1976
2335
|
calculateRowIndex(index) {
|
|
1977
|
-
|
|
2336
|
+
const highlightOffset = this.countHighlightBadgeRowsBefore(index);
|
|
2337
|
+
return this.dataSource.pageSize * this.page() + index - highlightOffset;
|
|
2338
|
+
}
|
|
2339
|
+
countHighlightBadgeRowsBefore(displayIndex) {
|
|
2340
|
+
let count = 0;
|
|
2341
|
+
const rows = this.displayedRows();
|
|
2342
|
+
for (let i = 0; i < displayIndex && i < rows.length; i++) {
|
|
2343
|
+
if (this.getRowHighlightBadge(rows[i])) {
|
|
2344
|
+
count++;
|
|
2345
|
+
}
|
|
2346
|
+
}
|
|
2347
|
+
return count;
|
|
1978
2348
|
}
|
|
1979
2349
|
/**
|
|
1980
2350
|
* Handles double-click on resize handle to auto-fit column width.
|
|
@@ -2085,18 +2455,10 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
2085
2455
|
console.error(`Failed to auto-fit column ${index}:`, error);
|
|
2086
2456
|
}
|
|
2087
2457
|
});
|
|
2088
|
-
if (!headerOnly && autoWidthColumns.length > 0) {
|
|
2089
|
-
console.warn(`Auto-fitted ${autoWidthColumns.length} column(s) with width='auto': indices ${autoWidthColumns.join(', ')}`);
|
|
2090
|
-
}
|
|
2091
2458
|
}
|
|
2092
2459
|
/**
|
|
2093
|
-
* Auto-fits all columns
|
|
2094
|
-
*
|
|
2095
|
-
* @param options - Configuration options
|
|
2096
|
-
* @param options.skipFixed - If true, skips fixed columns (default: true)
|
|
2097
|
-
* @param options.skipLoading - If true, skips if data is loading (default: true)
|
|
2098
|
-
* @param options.maxWidth - Maximum width for any column in pixels (default: 500)
|
|
2099
|
-
* @returns void
|
|
2460
|
+
* Auto-fits all resizable columns to their content width.
|
|
2461
|
+
* Call this whenever row data or templates change and column widths should be recalculated.
|
|
2100
2462
|
*/
|
|
2101
2463
|
autoFitAllColumns(options = {}) {
|
|
2102
2464
|
const { skipFixed = true, skipLoading = true, maxWidth = 500 } = options;
|
|
@@ -2124,15 +2486,10 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
2124
2486
|
});
|
|
2125
2487
|
}
|
|
2126
2488
|
/**
|
|
2127
|
-
* Auto-fits a column
|
|
2489
|
+
* Auto-fits a single column to its content width.
|
|
2128
2490
|
* Similar to Excel's "AutoFit Column Width" feature.
|
|
2129
|
-
* Uses an invisible helper table to measure actual content width without affecting the main table.
|
|
2130
2491
|
*
|
|
2131
|
-
* @param columnIndex -
|
|
2132
|
-
* @param options - Configuration options
|
|
2133
|
-
* @param options.maxWidth - Maximum width for the column in pixels (default: none)
|
|
2134
|
-
* @param options.headerOnly - When true, only the header cell is measured (e.g. before row data exists)
|
|
2135
|
-
* @returns void
|
|
2492
|
+
* @param columnIndex - 0-based index in the columns `QueryList`.
|
|
2136
2493
|
*/
|
|
2137
2494
|
autoFitColumn(columnIndex, options = {}) {
|
|
2138
2495
|
if (!isPlatformBrowser(this.platformID)) {
|
|
@@ -2261,16 +2618,39 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
2261
2618
|
}
|
|
2262
2619
|
}
|
|
2263
2620
|
}
|
|
2264
|
-
|
|
2265
|
-
|
|
2621
|
+
/**
|
|
2622
|
+
* Auto-fits a single column by its `name` / data field.
|
|
2623
|
+
*/
|
|
2624
|
+
autoFitColumnByName(columnName, options = {}) {
|
|
2625
|
+
const columnIndex = this.columns.toArray().findIndex((column) => column.name === columnName);
|
|
2626
|
+
if (columnIndex === -1) {
|
|
2627
|
+
console.warn(`Column "${columnName}" not found`);
|
|
2628
|
+
return;
|
|
2629
|
+
}
|
|
2630
|
+
this.autoFitColumn(columnIndex, options);
|
|
2631
|
+
}
|
|
2632
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXDataTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2633
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXDataTableComponent, isStandalone: true, selector: "ax-data-table", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: false, isRequired: false, transformFunction: null }, selectedRows: { classPropertyName: "selectedRows", publicName: "selectedRows", isSignal: false, isRequired: false, transformFunction: null }, parentField: { classPropertyName: "parentField", publicName: "parentField", isSignal: false, isRequired: false, transformFunction: null }, hasChildrenField: { classPropertyName: "hasChildrenField", publicName: "hasChildrenField", isSignal: false, isRequired: false, transformFunction: null }, rowDetailsTemplate: { classPropertyName: "rowDetailsTemplate", publicName: "rowDetailsTemplate", isSignal: false, isRequired: false, transformFunction: null }, rowCssClass: { classPropertyName: "rowCssClass", publicName: "rowCssClass", isSignal: false, isRequired: false, transformFunction: null }, cellCssClass: { classPropertyName: "cellCssClass", publicName: "cellCssClass", isSignal: false, isRequired: false, transformFunction: null }, highlightText: { classPropertyName: "highlightText", publicName: "highlightText", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null }, rowTemplate: { classPropertyName: "rowTemplate", publicName: "rowTemplate", isSignal: false, isRequired: false, transformFunction: null }, emptyTemplate: { classPropertyName: "emptyTemplate", publicName: "emptyTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDataTemplate: { classPropertyName: "noDataTemplate", publicName: "noDataTemplate", isSignal: false, isRequired: false, transformFunction: null }, alternative: { classPropertyName: "alternative", publicName: "alternative", isSignal: false, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: false, isRequired: false, transformFunction: null }, fixedHeader: { classPropertyName: "fixedHeader", publicName: "fixedHeader", isSignal: false, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: false, isRequired: false, transformFunction: null }, fixedFooter: { classPropertyName: "fixedFooter", publicName: "fixedFooter", isSignal: false, isRequired: false, transformFunction: null }, itemHeight: { classPropertyName: "itemHeight", publicName: "itemHeight", isSignal: false, isRequired: false, transformFunction: null }, allowReordering: { classPropertyName: "allowReordering", publicName: "allowReordering", isSignal: false, isRequired: false, transformFunction: null }, paging: { classPropertyName: "paging", publicName: "paging", isSignal: false, isRequired: false, transformFunction: null }, fetchDataMode: { classPropertyName: "fetchDataMode", publicName: "fetchDataMode", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: null }, focusedRow: { classPropertyName: "focusedRow", publicName: "focusedRow", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { selectedRowsChange: "selectedRowsChange", focusedRowChange: "focusedRowChange", onRowClick: "onRowClick", onRowDbClick: "onRowDbClick", onColumnsOrderChanged: "onColumnsOrderChanged", onColumnSizeChanged: "onColumnSizeChanged", onPageChanged: "onPageChanged" }, host: { attributes: { "ngSkipHydration": "true" }, properties: { "class.ax-data-table-look-minimal": "look() === \"minimal\"" } }, providers: [
|
|
2266
2634
|
{ provide: AXBaseDataTable, useExisting: AXDataTableComponent },
|
|
2267
2635
|
AXUnsubscriber,
|
|
2268
2636
|
{ provide: AXComponent, useExisting: AXDataTableComponent },
|
|
2269
|
-
], 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<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.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $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\"\n [ngTemplateOutletContext]=\"{ $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\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\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.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $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 @if (showNoDataLoadedYet) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (noDataTemplate) {\n <ng-container [ngTemplateOutlet]=\"noDataTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-data-yet' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else if (!displayedRows().length) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (emptyTemplate) {\n <ng-container [ngTemplateOutlet]=\"emptyTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-record' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else {\n @for (row of displayedRows(); let rowIndex = $index; track rowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row, rowIndex } }\"\n ></ng-container>\n }\n\n <ng-template #rowTemp let-data=\"data\">\n @if (rowTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\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.ax-state-is-last]=\"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 <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $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 </span>\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 <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $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 </span>\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.ax-state-is-first]=\"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 <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $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 </span>\n </td>\n }\n </tr>\n @if (data.row?.__meta__?.expanded) {\n @if (rowDetailsTemplate) {\n <tr>\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.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n <td class=\"ax-data-table-row-details\" [attr.colspan]=\"normalColumnsList().length + 1\">\n <ng-container\n [ngTemplateOutlet]=\"rowDetailsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\n ></ng-container>\n </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.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n </tr>\n }\n @for (childRow of data.row.children; let childRowIndex = $index; track childRowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row: childRow, rowIndex: childRowIndex } }\"\n ></ng-container>\n }\n }\n }\n </ng-template>\n\n <tr class=\"empty-row\"></tr>\n }\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.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $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\"\n [ngTemplateOutletContext]=\"{ $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\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\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.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $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({ reset: false })\">\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: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer components{ax-data-table{height:100%;min-height:inherit;border-radius:var(--ax-sys-border-radius);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));width:100%;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 4);line-height:calc(var(--spacing,.25rem) * 4);flex-direction:column;display:flex;position:relative;overflow:hidden}ax-data-table td.ax-data-table-empty-data{height:calc(var(--spacing,.25rem) * 32);border-bottom-style:var(--tw-border-style);width:100%;padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 8);text-align:center;vertical-align:middle;border-bottom-width:0;top:50%;transform:translateY(-50%);background-color:#0000!important;position:absolute!important}ax-data-table td.ax-data-table-empty-data span{height:100%;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:rgba(var(--ax-sys-color-surface));justify-content:center;align-items:center;display:flex}ax-data-table .ax-data-table-wrapper{border-radius:var(--ax-sys-border-radius);flex:1;width:100%;overflow:auto}ax-data-table .ax-data-table-wrapper table{table-layout:fixed;width:100%;height:100%;display:table;overflow-x:auto}ax-data-table .ax-data-table-wrapper table thead{border-start-start-radius:var(--ax-sys-border-radius);border-start-end-radius:var(--ax-sys-border-radius);overflow:hidden}ax-data-table .ax-data-table-wrapper table thead th{height:calc(var(--spacing,.25rem) * 10);border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);background-color:var(--color-lighter);color:var(--color-on-lighter);border-bottom-width:1px;border-color:var(--color-border-lighter);padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 3);text-align:start;--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;position:relative;overflow:hidden;border-color:rgba(var(--ax-sys-color-border-surface))!important}ax-data-table .ax-data-table-wrapper table thead th:where(.ax-dark,.ax-dark *){background-color:var(--color-darker);color:var(--color-on-darker);border-color:var(--color-border-darker)}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-sys-color-light-surface))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle{top:calc(var(--spacing,.25rem) * 0);right:calc(var(--spacing,.25rem) * 0);bottom:calc(var(--spacing,.25rem) * 0);height:100%;width:calc(var(--spacing,.25rem) * 1);cursor:col-resize;background-color:#0000;position:absolute}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover{background-color:rgba(var(--ax-sys-color-primary-light-surface))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-primary-dark-surface))}ax-data-table .ax-data-table-wrapper table thead th .ax-caption{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}ax-data-table .ax-data-table-wrapper table thead th:last-child{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}ax-data-table .ax-data-table-wrapper table thead.ax-data-table-sticky-header{top:calc(var(--spacing,.25rem) * 0);z-index:3;border-block-style:var(--tw-border-style);--tw-shadow:inset 1px 1px 0px 2px var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-block-width:0;position:sticky}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell{z-index:2;border-inline-style:var(--tw-border-style);border-inline-width:0;position:sticky}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start{--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.isLast{--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.isLast:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end{--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.isFirst{--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.isFirst:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell{z-index:2;border-inline-style:var(--tw-border-style);border-inline-width:0;position:sticky}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start{--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.isLast{--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.isLast:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.isFirst{--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.isFirst:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}ax-data-table .ax-data-table-wrapper table tbody tr td{z-index:0;position:relative}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-data-table-cell-tooltip-wrapper{min-height:inherit;position:relative}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-bg{top:calc(var(--spacing,.25rem) * 0);left:calc(var(--spacing,.25rem) * 0);z-index:-1;border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));opacity:.3;background-color:#0000;width:100%;height:100%;position:absolute}ax-data-table .ax-data-table-wrapper table tbody tr{height:calc(var(--spacing,.25rem) * 10);max-height:calc(var(--spacing,.25rem) * 10);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-surface))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-primary-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-primary-light-surface))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-primary-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column):where(.ax-dark,.ax-dark *){color:rgba(var(--ax-sys-color-on-light-surface))}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-sys-color-on-primary-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column) .ax-bg:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-on-light-surface))}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-sys-color-primary-light-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column) .ax-bg:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-primary-dark-surface))}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-sys-color-primary-surface))}ax-data-table .ax-data-table-wrapper table tbody .empty-row{background-color:var(--color-red-500,oklch(63.7% .237 25.331))!important;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-sys-color-light-surface));color:rgba(var(--ax-sys-color-on-light-surface))}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) td:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-surface));color:rgba(var(--ax-sys-color-on-surface))}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 td{min-width:calc(var(--spacing,.25rem) * 8);border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 2);vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;position:relative;overflow:hidden}ax-data-table .ax-data-table-wrapper table tbody td:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-darkest-surface))}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler{cursor:pointer;padding-inline:calc(var(--spacing,.25rem) * 1)}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler.has-parent{padding-inline-start:calc(var(--spacing,.25rem) * 6)!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column{background-color:rgba(var(--ax-sys-color-light-surface));text-align:center;text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-light-surface));overflow:hidden}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-dark-surface));color:rgba(var(--ax-sys-color-on-dark-surface))}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{cursor:not-allowed!important;opacity:.5!important;position:relative!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column>div{inset-inline-start:calc(var(--spacing,.25rem) * 0);justify-content:center;align-items:center;width:100%;display:flex;position:absolute;top:50%;transform:translateY(-50%)}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button{width:1.4rem;height:1.4rem}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button ax-icon{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)))}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button{cursor:pointer;border-style:var(--tw-border-style);text-overflow:ellipsis;white-space:nowrap;border-width:0;position:relative}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover:not(ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-selected,ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:active{opacity:1}ax-data-table .ax-data-table-wrapper table tbody td:last-child{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}ax-data-table .ax-data-table-wrapper table tbody td ax-skeleton{height:calc(var(--spacing,.25rem) * 3.5);border-radius:var(--radius-md,.375rem);width:33.3333%}ax-data-table .ax-data-table-wrapper table tfoot tr td{height:calc(var(--spacing,.25rem) * 10);border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));background-color:rgba(var(--ax-sys-color-lighter-surface));padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 3);text-align:start;--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-lighter-surface));text-transform:uppercase;position:relative;overflow:hidden}ax-data-table .ax-data-table-wrapper table tfoot tr td:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-darker-surface));color:rgba(var(--ax-sys-color-on-darker-surface))}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-sys-color-light-surface))}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell{z-index:2;border-inline-style:var(--tw-border-style);border-inline-width:0;position:sticky}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start{--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start.isLast{--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end{--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end.isFirst{--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}ax-data-table .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{z-index:3;border-block-style:var(--tw-border-style);--tw-shadow:1px 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface))), 0 -1px 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-block-width:0;position:sticky;bottom:-1px}@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}@media(min-width:48rem){ax-data-table ax-data-pager{justify-content:space-between}}ax-data-table .ax-table-footer{border-collapse:collapse;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));min-height:max-content;padding-inline:calc(var(--spacing,.25rem) * 3.5);overflow:hidden}ax-data-table .ax-table-footer .ax-table-info{flex:1;justify-content:space-between;align-items:center;display:flex}ax-data-table .ax-data-table-numeric-paging{display:none}@media(min-width:64rem){ax-data-table .ax-data-table-numeric-paging{display:flex}}ax-data-table .ax-data-table-input-paging{display:flex}@media(min-width:64rem){ax-data-table .ax-data-table-input-paging{display:none}}ax-data-table .ax-data-table-info{justify-content:center;align-items:center;display:none}@media(min-width:48rem){ax-data-table .ax-data-table-info{display:flex}}ax-data-table .ax-data-table-info ax-text{color:rgba(var(--ax-sys-color-on-surface))}.cdk-drag-preview{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));background-color:rgba(var(--ax-sys-color-surface));padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 3);text-align:start;--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:rgba(var(--ax-sys-color-on-surface));text-transform:uppercase;--tw-shadow:0 5px 5px -3px var(--tw-shadow-color,rgba(var(--ax-sys-color-primary-900),.2)), 0 8px 10px 1px var(--tw-shadow-color,rgba(var(--ax-sys-color-primary-900),.14)), 0 3px 14px 2px var(--tw-shadow-color,rgba(var(--ax-sys-color-primary-900),.12));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);position:relative}.ax-dropdown-command-empty-state-text{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)))}}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}\n/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: 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: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: AXDataPagerComponent, selector: "ax-data-pager", inputs: ["value", "name", "disabled", "readonly", "isLoading", "size", "total", "displayMode"], outputs: ["valueChange", "onValueChanged", "disabledChange", "readonlyChange", "displayModeChange", "onChanged"] }, { kind: "component", type: 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: AXDataPagerNumericSelectorComponent, selector: "ax-data-pager-numeric-selector" }, { kind: "component", type: AXDataPagerPageSizesComponent, selector: "ax-data-pager-page-sizes", inputs: ["sizes"] }, { kind: "component", type: AXDataPagerPrevButtonsComponent, selector: "ax-data-pager-prev-buttons" }, { kind: "component", type: AXDataPagerInputSelectorComponent, selector: "ax-data-pager-input-selector" }, { kind: "component", type: AXDataPagerNextButtonsComponent, selector: "ax-data-pager-next-buttons" }, { kind: "component", type: AXDataPagerInfoComponent, selector: "ax-data-pager-info", inputs: ["text"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2637
|
+
], 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<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.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $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\"\n [ngTemplateOutletContext]=\"{ $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\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\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.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $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 @if (showNoDataLoadedYet) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (noDataTemplate) {\n <ng-container [ngTemplateOutlet]=\"noDataTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-data-yet' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else if (!displayedRows().length) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (emptyTemplate) {\n <ng-container [ngTemplateOutlet]=\"emptyTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-record' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else {\n @for (row of displayedRows(); let rowIndex = $index; track rowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row, rowIndex } }\"\n ></ng-container>\n }\n\n <ng-template #rowTemp let-data=\"data\">\n @if (rowTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\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 [ngClass]=\"getRowCssClass(data.row, data.rowIndex)\"\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.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"getCellCssClass(data.row, c, calculateRowIndex(data.rowIndex))\"\n >\n <div class=\"ax-bg\"></div>\n <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"\n c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\n \"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $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 </span>\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]=\"getCellCssClass(data.row, c, calculateRowIndex(data.rowIndex))\"\n >\n <div class=\"ax-bg\"></div>\n <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"\n c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\n \"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $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 </span>\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.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"getCellCssClass(data.row, c, calculateRowIndex(data.rowIndex))\"\n >\n <div class=\"ax-bg\"></div>\n <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"\n c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\n \"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $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 </span>\n </td>\n }\n </tr>\n @if (data.row?.__meta__?.expanded) {\n @if (rowDetailsTemplate) {\n <tr>\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.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n <td class=\"ax-data-table-row-details\" [attr.colspan]=\"normalColumnsList().length + 1\">\n <ng-container\n [ngTemplateOutlet]=\"rowDetailsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\n ></ng-container>\n </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.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n </tr>\n }\n @for (childRow of data.row.children; let childRowIndex = $index; track childRowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row: childRow, rowIndex: childRowIndex } }\"\n ></ng-container>\n }\n }\n }\n </ng-template>\n\n <tr class=\"empty-row\"></tr>\n }\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.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $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\"\n [ngTemplateOutletContext]=\"{ $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\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\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.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $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({ reset: false })\">\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: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer components{@keyframes ax-data-table-row-primary-pulse{0%,to{background-color:var(--color-primary-lightest)}50%{background-color:var(--color-primary-lighter)}}@keyframes ax-data-table-row-secondary-pulse{0%,to{background-color:var(--color-secondary-lightest)}50%{background-color:var(--color-secondary-lighter)}}@keyframes ax-data-table-row-success-pulse{0%,to{background-color:var(--color-success-lightest)}50%{background-color:var(--color-success-lighter)}}@keyframes ax-data-table-row-warning-pulse{0%,to{background-color:var(--color-warning-lightest)}50%{background-color:var(--color-warning-lighter)}}@keyframes ax-data-table-row-danger-pulse{0%,to{background-color:var(--color-danger-lightest)}50%{background-color:var(--color-danger-lighter)}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary td:not(.ax-index-column){background-color:var(--color-primary-lightest);color:var(--color-on-primary-lightest);border-color:var(--color-border-primary-lightest)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary td:not(.ax-index-column) .ax-bg{background-color:#0000}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary .ax-data-table-sticky-body-cell:not(.ax-index-column){background-color:var(--color-primary-lightest);color:var(--color-on-primary-lightest);border-color:var(--color-border-primary-lightest)}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary:hover:not(.ax-state-selected) td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-primary-lighter-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary:hover:not(.ax-state-selected) td:not(.ax-index-column) .ax-bg{background-color:var(--color-primary-lighter);color:var(--color-on-primary-lighter);border-color:var(--color-border-primary-lighter);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-state-selected td:not(.ax-index-column){background-color:var(--color-primary-light);color:var(--color-on-primary-light);border-color:var(--color-border-primary-light)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-border-primary);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-state-selected:hover td:not(.ax-index-column){background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-border-primary)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:var(--color-primary-dark);color:var(--color-on-primary-dark);border-color:var(--color-border-primary-dark);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-row-color-pulse td:not(.ax-index-column){animation:1.2s ease-in-out infinite ax-data-table-row-primary-pulse}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:1.2s ease-in-out infinite ax-data-table-row-primary-pulse}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary td:not(.ax-index-column){background-color:var(--color-secondary-lightest);color:var(--color-on-secondary-lightest);border-color:var(--color-border-secondary-lightest)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary td:not(.ax-index-column) .ax-bg{background-color:#0000}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary .ax-data-table-sticky-body-cell:not(.ax-index-column){background-color:var(--color-secondary-lightest);color:var(--color-on-secondary-lightest);border-color:var(--color-border-secondary-lightest)}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary:hover:not(.ax-state-selected) td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-secondary-lighter-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary:hover:not(.ax-state-selected) td:not(.ax-index-column) .ax-bg{background-color:var(--color-secondary-lighter);color:var(--color-on-secondary-lighter);border-color:var(--color-border-secondary-lighter);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-state-selected td:not(.ax-index-column){background-color:var(--color-secondary-light);color:var(--color-on-secondary-light);border-color:var(--color-border-secondary-light)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:var(--color-secondary);color:var(--color-on-secondary);border-color:var(--color-border-secondary);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-state-selected:hover td:not(.ax-index-column){background-color:var(--color-secondary);color:var(--color-on-secondary);border-color:var(--color-border-secondary)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:var(--color-secondary-dark);color:var(--color-on-secondary-dark);border-color:var(--color-border-secondary-dark);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-row-color-pulse td:not(.ax-index-column){animation:1.2s ease-in-out infinite ax-data-table-row-secondary-pulse}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:1.2s ease-in-out infinite ax-data-table-row-secondary-pulse}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success td:not(.ax-index-column){background-color:var(--color-success-lightest);color:var(--color-on-success-lightest);border-color:var(--color-border-success-lightest)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success td:not(.ax-index-column) .ax-bg{background-color:#0000}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success .ax-data-table-sticky-body-cell:not(.ax-index-column){background-color:var(--color-success-lightest);color:var(--color-on-success-lightest);border-color:var(--color-border-success-lightest)}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success:hover:not(.ax-state-selected) td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-success-lighter-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success:hover:not(.ax-state-selected) td:not(.ax-index-column) .ax-bg{background-color:var(--color-success-lighter);color:var(--color-on-success-lighter);border-color:var(--color-border-success-lighter);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-state-selected td:not(.ax-index-column){background-color:var(--color-success-light);color:var(--color-on-success-light);border-color:var(--color-border-success-light)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:var(--color-success);color:var(--color-on-success);border-color:var(--color-border-success);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-state-selected:hover td:not(.ax-index-column){background-color:var(--color-success);color:var(--color-on-success);border-color:var(--color-border-success)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:var(--color-success-dark);color:var(--color-on-success-dark);border-color:var(--color-border-success-dark);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-row-color-pulse td:not(.ax-index-column){animation:1.2s ease-in-out infinite ax-data-table-row-success-pulse}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:1.2s ease-in-out infinite ax-data-table-row-success-pulse}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning td:not(.ax-index-column){background-color:var(--color-warning-lightest);color:var(--color-on-warning-lightest);border-color:var(--color-border-warning-lightest)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning td:not(.ax-index-column) .ax-bg{background-color:#0000}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning .ax-data-table-sticky-body-cell:not(.ax-index-column){background-color:var(--color-warning-lightest);color:var(--color-on-warning-lightest);border-color:var(--color-border-warning-lightest)}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning:hover:not(.ax-state-selected) td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-warning-lighter-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning:hover:not(.ax-state-selected) td:not(.ax-index-column) .ax-bg{background-color:var(--color-warning-lighter);color:var(--color-on-warning-lighter);border-color:var(--color-border-warning-lighter);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-state-selected td:not(.ax-index-column){background-color:var(--color-warning-light);color:var(--color-on-warning-light);border-color:var(--color-border-warning-light)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:var(--color-warning);color:var(--color-on-warning);border-color:var(--color-border-warning);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-state-selected:hover td:not(.ax-index-column){background-color:var(--color-warning);color:var(--color-on-warning);border-color:var(--color-border-warning)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:var(--color-warning-dark);color:var(--color-on-warning-dark);border-color:var(--color-border-warning-dark);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-row-color-pulse td:not(.ax-index-column){animation:1.2s ease-in-out infinite ax-data-table-row-warning-pulse}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:1.2s ease-in-out infinite ax-data-table-row-warning-pulse}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger td:not(.ax-index-column){background-color:var(--color-danger-lightest);color:var(--color-on-danger-lightest);border-color:var(--color-border-danger-lightest)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger td:not(.ax-index-column) .ax-bg{background-color:#0000}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger .ax-data-table-sticky-body-cell:not(.ax-index-column){background-color:var(--color-danger-lightest);color:var(--color-on-danger-lightest);border-color:var(--color-border-danger-lightest)}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger:hover:not(.ax-state-selected) td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-danger-lighter-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger:hover:not(.ax-state-selected) td:not(.ax-index-column) .ax-bg{background-color:var(--color-danger-lighter);color:var(--color-on-danger-lighter);border-color:var(--color-border-danger-lighter);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-state-selected td:not(.ax-index-column){background-color:var(--color-danger-light);color:var(--color-on-danger-light);border-color:var(--color-border-danger-light)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:var(--color-danger);color:var(--color-on-danger);border-color:var(--color-border-danger);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-state-selected:hover td:not(.ax-index-column){background-color:var(--color-danger);color:var(--color-on-danger);border-color:var(--color-border-danger)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:var(--color-danger-dark);color:var(--color-on-danger-dark);border-color:var(--color-border-danger-dark);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-row-color-pulse td:not(.ax-index-column){animation:1.2s ease-in-out infinite ax-data-table-row-danger-pulse}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:1.2s ease-in-out infinite ax-data-table-row-danger-pulse}}ax-data-table{--ax-comp-data-table-highlight-bg-color:var(--ax-sys-color-warning-lighter-surface);--ax-comp-data-table-highlight-text-color:var(--ax-sys-color-on-warning-lighter-surface);--ax-comp-data-table-highlight-border-color:var(--ax-sys-color-warning-500)}ax-data-table .ax-highlight{background-color:rgb(var(--ax-comp-data-table-highlight-bg-color));color:rgb(var(--ax-comp-data-table-highlight-text-color));box-shadow:0 0 0 1px rgb(var(--ax-comp-data-table-highlight-border-color) / .25);padding:0 .125rem;font-weight:500}ax-data-table{height:100%;min-height:inherit;border-radius:var(--ax-sys-border-radius);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));width:100%;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 4);line-height:calc(var(--spacing,.25rem) * 4);flex-direction:column;display:flex;position:relative;overflow:hidden}ax-data-table td.ax-data-table-empty-data{height:calc(var(--spacing,.25rem) * 32);border-bottom-style:var(--tw-border-style);width:100%;padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 8);text-align:center;vertical-align:middle;border-bottom-width:0;top:50%;transform:translateY(-50%);background-color:#0000!important;position:absolute!important}ax-data-table td.ax-data-table-empty-data span{height:100%;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:rgba(var(--ax-sys-color-surface));justify-content:center;align-items:center;display:flex}ax-data-table .ax-data-table-wrapper{border-radius:var(--ax-sys-border-radius);flex:1;width:100%;overflow:auto}ax-data-table .ax-data-table-wrapper table{table-layout:fixed;width:100%;height:100%;display:table;overflow-x:auto}ax-data-table .ax-data-table-wrapper table thead{border-start-start-radius:var(--ax-sys-border-radius);border-start-end-radius:var(--ax-sys-border-radius);overflow:hidden}ax-data-table .ax-data-table-wrapper table thead th{height:calc(var(--spacing,.25rem) * 10);border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);background-color:var(--color-lighter);color:var(--color-on-lighter);border-bottom-width:1px;border-color:var(--color-border-lighter);padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 3);text-align:start;--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;position:relative;overflow:hidden;border-color:rgba(var(--ax-sys-color-border-surface))!important}ax-data-table .ax-data-table-wrapper table thead th:where(.ax-dark,.ax-dark *){color:var(--color-on-darker);background-color:var(--color-darker);border-color:var(--color-border-darker)}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-sys-color-light-surface))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle{height:100%;width:var(--spacing,.25rem);cursor:col-resize;background-color:#0000;position:absolute;top:0;bottom:0;right:0}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover{background-color:rgba(var(--ax-sys-color-primary-light-surface))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-primary-dark-surface))}ax-data-table .ax-data-table-wrapper table thead th .ax-caption{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}ax-data-table .ax-data-table-wrapper table thead th:last-child{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}ax-data-table .ax-data-table-wrapper table thead.ax-data-table-sticky-header{z-index:3;border-block-style:var(--tw-border-style);--tw-shadow:inset 1px 1px 0px 2px var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-block-width:0;position:sticky;top:0}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell{z-index:2;border-inline-style:var(--tw-border-style);border-inline-width:0;position:sticky}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start{--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.ax-state-is-last{--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.ax-state-is-last:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end{--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.ax-state-is-first{--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.ax-state-is-first:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell{z-index:2;border-inline-style:var(--tw-border-style);background-color:rgba(var(--ax-sys-color-lightest-surface));border-inline-width:0;position:sticky}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-darkest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start{--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.ax-state-is-last{--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.ax-state-is-last:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.ax-state-is-first{--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.ax-state-is-first:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}ax-data-table .ax-data-table-wrapper table tbody tr td{z-index:0;position:relative}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-data-table-cell-tooltip-wrapper{min-height:inherit;position:relative}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-bg{z-index:-1;border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));opacity:.3;background-color:#0000;width:100%;height:100%;position:absolute;top:0;left:0}ax-data-table .ax-data-table-wrapper table tbody tr{height:calc(var(--spacing,.25rem) * 10);max-height:calc(var(--spacing,.25rem) * 10);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-surface))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-primary-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-primary-light-surface))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-primary-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column):where(.ax-dark,.ax-dark *){color:rgba(var(--ax-sys-color-on-light-surface))}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-sys-color-on-primary-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column) .ax-bg:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-on-light-surface))}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-sys-color-primary-light-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column) .ax-bg:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-primary-dark-surface))}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-sys-color-primary-surface))}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-sys-color-light-surface));color:rgba(var(--ax-sys-color-on-light-surface))}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) td:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-surface));color:rgba(var(--ax-sys-color-on-surface))}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 td{min-width:calc(var(--spacing,.25rem) * 8);border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 2);vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;position:relative;overflow:hidden}ax-data-table .ax-data-table-wrapper table tbody td:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-darkest-surface))}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler{cursor:pointer;padding-inline:var(--spacing,.25rem)}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler.has-parent{padding-inline-start:calc(var(--spacing,.25rem) * 6)!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column{background-color:rgba(var(--ax-sys-color-light-surface));text-align:center;text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-light-surface));overflow:hidden}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-dark-surface));color:rgba(var(--ax-sys-color-on-dark-surface))}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column .ax-data-table-cell-tooltip-wrapper{justify-content:center;align-items:center;width:100%;display:flex}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column .ax-data-table-row-highlight-badge{justify-content:center;align-items:center;display:inline-flex;position:relative}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{cursor:not-allowed!important;opacity:.5!important;position:relative!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column>div{inset-inline-start:calc(var(--spacing,.25rem) * 0);justify-content:center;align-items:center;width:100%;display:flex;position:absolute;top:50%;transform:translateY(-50%)}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button{width:1.4rem;height:1.4rem}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button ax-icon{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)))}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button{cursor:pointer;border-style:var(--tw-border-style);text-overflow:ellipsis;white-space:nowrap;border-width:0;position:relative}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover:not(ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-selected,ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:active{opacity:1}ax-data-table .ax-data-table-wrapper table tbody td:last-child{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}ax-data-table .ax-data-table-wrapper table tbody td ax-skeleton{height:calc(var(--spacing,.25rem) * 3.5);border-radius:var(--radius-md,.375rem);width:33.3333%}ax-data-table .ax-data-table-wrapper table tfoot tr td{height:calc(var(--spacing,.25rem) * 10);border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));background-color:rgba(var(--ax-sys-color-lighter-surface));padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 3);text-align:start;--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-lighter-surface));text-transform:uppercase;position:relative;overflow:hidden}ax-data-table .ax-data-table-wrapper table tfoot tr td:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-darker-surface));color:rgba(var(--ax-sys-color-on-darker-surface))}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-sys-color-light-surface))}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell{z-index:2;border-inline-style:var(--tw-border-style);border-inline-width:0;position:sticky}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start{--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start.ax-state-is-last{--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end{--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end.ax-state-is-first{--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}ax-data-table .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{z-index:3;border-block-style:var(--tw-border-style);--tw-shadow:1px 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface))), 0 -1px 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-block-width:0;position:sticky;bottom:-1px}@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}@media(min-width:48rem){ax-data-table ax-data-pager{justify-content:space-between}}ax-data-table .ax-table-footer{border-collapse:collapse;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));min-height:max-content;padding-inline:calc(var(--spacing,.25rem) * 3.5);overflow:hidden}ax-data-table .ax-table-footer .ax-table-info{flex:1;justify-content:space-between;align-items:center;display:flex}ax-data-table .ax-data-table-numeric-paging{display:none}@media(min-width:64rem){ax-data-table .ax-data-table-numeric-paging{display:flex}}ax-data-table .ax-data-table-input-paging{display:flex}@media(min-width:64rem){ax-data-table .ax-data-table-input-paging{display:none}}ax-data-table .ax-data-table-info{justify-content:center;align-items:center;display:none}@media(min-width:48rem){ax-data-table .ax-data-table-info{display:flex}}ax-data-table .ax-data-table-info ax-text{color:rgba(var(--ax-sys-color-on-surface))}.cdk-drag-preview{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));background-color:rgba(var(--ax-sys-color-surface));padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 3);text-align:start;--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:rgba(var(--ax-sys-color-on-surface));text-transform:uppercase;--tw-shadow:0 5px 5px -3px var(--tw-shadow-color,rgba(var(--ax-sys-color-primary-900),.2)), 0 8px 10px 1px var(--tw-shadow-color,rgba(var(--ax-sys-color-primary-900),.14)), 0 3px 14px 2px var(--tw-shadow-color,rgba(var(--ax-sys-color-primary-900),.12));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);position:relative}.ax-dropdown-command-empty-state-text{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)))}.dark ax-data-table{--ax-comp-data-table-highlight-bg-color:var(--ax-sys-color-warning-dark-surface);--ax-comp-data-table-highlight-text-color:var(--ax-sys-color-on-warning-dark-surface);--ax-comp-data-table-highlight-border-color:var(--ax-sys-color-warning-400)}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead th{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead.ax-data-table-sticky-header{--tw-shadow:inset 0 1px 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media screen and (min-width:768px){ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody tr td .ax-bg,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody td{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr td{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0;border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}@media screen and (min-width:768px){:is(ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell).sticky-start,:is(ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell).sticky-end,:is(ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell).sticky-start.ax-state-is-last,:is(ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell).sticky-end.ax-state-is-first{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{--tw-shadow:0 -1px 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: 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: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "component", type: AXDataPagerComponent, selector: "ax-data-pager", inputs: ["value", "name", "disabled", "readonly", "isLoading", "size", "total", "displayMode"], outputs: ["valueChange", "onValueChanged", "disabledChange", "readonlyChange", "displayModeChange", "onChanged"] }, { kind: "component", type: 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: AXDataPagerNumericSelectorComponent, selector: "ax-data-pager-numeric-selector" }, { kind: "component", type: AXDataPagerPageSizesComponent, selector: "ax-data-pager-page-sizes", inputs: ["sizes"] }, { kind: "component", type: AXDataPagerPrevButtonsComponent, selector: "ax-data-pager-prev-buttons" }, { kind: "component", type: AXDataPagerInputSelectorComponent, selector: "ax-data-pager-input-selector" }, { kind: "component", type: AXDataPagerNextButtonsComponent, selector: "ax-data-pager-next-buttons" }, { kind: "component", type: AXDataPagerInfoComponent, selector: "ax-data-pager-info", inputs: ["text"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2270
2638
|
}
|
|
2271
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
2639
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXDataTableComponent, decorators: [{
|
|
2272
2640
|
type: Component,
|
|
2273
|
-
args: [{ selector: 'ax-data-table', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
2641
|
+
args: [{ selector: 'ax-data-table', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
2642
|
+
ngSkipHydration: 'true',
|
|
2643
|
+
'[class.ax-data-table-look-minimal]': 'look() === "minimal"',
|
|
2644
|
+
}, inputs: [
|
|
2645
|
+
'dataSource',
|
|
2646
|
+
'selectedRows',
|
|
2647
|
+
'parentField',
|
|
2648
|
+
'hasChildrenField',
|
|
2649
|
+
'rowDetailsTemplate',
|
|
2650
|
+
'rowCssClass',
|
|
2651
|
+
'cellCssClass',
|
|
2652
|
+
'highlightText',
|
|
2653
|
+
], outputs: ['selectedRowsChange'], providers: [
|
|
2274
2654
|
{ provide: AXBaseDataTable, useExisting: AXDataTableComponent },
|
|
2275
2655
|
AXUnsubscriber,
|
|
2276
2656
|
{ provide: AXComponent, useExisting: AXDataTableComponent },
|
|
@@ -2293,9 +2673,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
2293
2673
|
AXButtonComponent,
|
|
2294
2674
|
AsyncPipe,
|
|
2295
2675
|
AXTranslatorPipe,
|
|
2296
|
-
AXTooltipDirective
|
|
2297
|
-
], template: "<ng-content select=\"ax-header\"> </ng-content>\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.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $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\"\n [ngTemplateOutletContext]=\"{ $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\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\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.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $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 @if (showNoDataLoadedYet) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (noDataTemplate) {\n <ng-container [ngTemplateOutlet]=\"noDataTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-data-yet' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else if (!displayedRows().length) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (emptyTemplate) {\n <ng-container [ngTemplateOutlet]=\"emptyTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-record' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else {\n @for (row of displayedRows(); let rowIndex = $index; track rowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row, rowIndex } }\"\n ></ng-container>\n }\n\n <ng-template #rowTemp let-data=\"data\">\n @if (rowTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\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.ax-state-is-last]=\"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 <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $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 </span>\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 <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $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 </span>\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.ax-state-is-first]=\"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 <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $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 </span>\n </td>\n }\n </tr>\n @if (data.row?.__meta__?.expanded) {\n @if (rowDetailsTemplate) {\n <tr>\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.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n <td class=\"ax-data-table-row-details\" [attr.colspan]=\"normalColumnsList().length + 1\">\n <ng-container\n [ngTemplateOutlet]=\"rowDetailsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\n ></ng-container>\n </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.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n </tr>\n }\n @for (childRow of data.row.children; let childRowIndex = $index; track childRowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row: childRow, rowIndex: childRowIndex } }\"\n ></ng-container>\n }\n }\n }\n </ng-template>\n\n <tr class=\"empty-row\"></tr>\n }\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.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $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\"\n [ngTemplateOutletContext]=\"{ $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\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\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.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $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({ reset: false })\">\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: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer components{ax-data-table{height:100%;min-height:inherit;border-radius:var(--ax-sys-border-radius);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));width:100%;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 4);line-height:calc(var(--spacing,.25rem) * 4);flex-direction:column;display:flex;position:relative;overflow:hidden}ax-data-table td.ax-data-table-empty-data{height:calc(var(--spacing,.25rem) * 32);border-bottom-style:var(--tw-border-style);width:100%;padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 8);text-align:center;vertical-align:middle;border-bottom-width:0;top:50%;transform:translateY(-50%);background-color:#0000!important;position:absolute!important}ax-data-table td.ax-data-table-empty-data span{height:100%;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:rgba(var(--ax-sys-color-surface));justify-content:center;align-items:center;display:flex}ax-data-table .ax-data-table-wrapper{border-radius:var(--ax-sys-border-radius);flex:1;width:100%;overflow:auto}ax-data-table .ax-data-table-wrapper table{table-layout:fixed;width:100%;height:100%;display:table;overflow-x:auto}ax-data-table .ax-data-table-wrapper table thead{border-start-start-radius:var(--ax-sys-border-radius);border-start-end-radius:var(--ax-sys-border-radius);overflow:hidden}ax-data-table .ax-data-table-wrapper table thead th{height:calc(var(--spacing,.25rem) * 10);border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);background-color:var(--color-lighter);color:var(--color-on-lighter);border-bottom-width:1px;border-color:var(--color-border-lighter);padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 3);text-align:start;--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;position:relative;overflow:hidden;border-color:rgba(var(--ax-sys-color-border-surface))!important}ax-data-table .ax-data-table-wrapper table thead th:where(.ax-dark,.ax-dark *){background-color:var(--color-darker);color:var(--color-on-darker);border-color:var(--color-border-darker)}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-sys-color-light-surface))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle{top:calc(var(--spacing,.25rem) * 0);right:calc(var(--spacing,.25rem) * 0);bottom:calc(var(--spacing,.25rem) * 0);height:100%;width:calc(var(--spacing,.25rem) * 1);cursor:col-resize;background-color:#0000;position:absolute}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover{background-color:rgba(var(--ax-sys-color-primary-light-surface))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-primary-dark-surface))}ax-data-table .ax-data-table-wrapper table thead th .ax-caption{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}ax-data-table .ax-data-table-wrapper table thead th:last-child{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}ax-data-table .ax-data-table-wrapper table thead.ax-data-table-sticky-header{top:calc(var(--spacing,.25rem) * 0);z-index:3;border-block-style:var(--tw-border-style);--tw-shadow:inset 1px 1px 0px 2px var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-block-width:0;position:sticky}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell{z-index:2;border-inline-style:var(--tw-border-style);border-inline-width:0;position:sticky}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start{--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.isLast{--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.isLast:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end{--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.isFirst{--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.isFirst:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell{z-index:2;border-inline-style:var(--tw-border-style);border-inline-width:0;position:sticky}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start{--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.isLast{--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.isLast:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.isFirst{--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.isFirst:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}ax-data-table .ax-data-table-wrapper table tbody tr td{z-index:0;position:relative}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-data-table-cell-tooltip-wrapper{min-height:inherit;position:relative}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-bg{top:calc(var(--spacing,.25rem) * 0);left:calc(var(--spacing,.25rem) * 0);z-index:-1;border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));opacity:.3;background-color:#0000;width:100%;height:100%;position:absolute}ax-data-table .ax-data-table-wrapper table tbody tr{height:calc(var(--spacing,.25rem) * 10);max-height:calc(var(--spacing,.25rem) * 10);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-surface))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-primary-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-primary-light-surface))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-primary-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column):where(.ax-dark,.ax-dark *){color:rgba(var(--ax-sys-color-on-light-surface))}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-sys-color-on-primary-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column) .ax-bg:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-on-light-surface))}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-sys-color-primary-light-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column) .ax-bg:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-primary-dark-surface))}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-sys-color-primary-surface))}ax-data-table .ax-data-table-wrapper table tbody .empty-row{background-color:var(--color-red-500,oklch(63.7% .237 25.331))!important;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-sys-color-light-surface));color:rgba(var(--ax-sys-color-on-light-surface))}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) td:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-surface));color:rgba(var(--ax-sys-color-on-surface))}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 td{min-width:calc(var(--spacing,.25rem) * 8);border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 2);vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;position:relative;overflow:hidden}ax-data-table .ax-data-table-wrapper table tbody td:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-darkest-surface))}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler{cursor:pointer;padding-inline:calc(var(--spacing,.25rem) * 1)}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler.has-parent{padding-inline-start:calc(var(--spacing,.25rem) * 6)!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column{background-color:rgba(var(--ax-sys-color-light-surface));text-align:center;text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-light-surface));overflow:hidden}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-dark-surface));color:rgba(var(--ax-sys-color-on-dark-surface))}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{cursor:not-allowed!important;opacity:.5!important;position:relative!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column>div{inset-inline-start:calc(var(--spacing,.25rem) * 0);justify-content:center;align-items:center;width:100%;display:flex;position:absolute;top:50%;transform:translateY(-50%)}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button{width:1.4rem;height:1.4rem}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button ax-icon{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)))}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button{cursor:pointer;border-style:var(--tw-border-style);text-overflow:ellipsis;white-space:nowrap;border-width:0;position:relative}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover:not(ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-selected,ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:active{opacity:1}ax-data-table .ax-data-table-wrapper table tbody td:last-child{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}ax-data-table .ax-data-table-wrapper table tbody td ax-skeleton{height:calc(var(--spacing,.25rem) * 3.5);border-radius:var(--radius-md,.375rem);width:33.3333%}ax-data-table .ax-data-table-wrapper table tfoot tr td{height:calc(var(--spacing,.25rem) * 10);border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));background-color:rgba(var(--ax-sys-color-lighter-surface));padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 3);text-align:start;--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-lighter-surface));text-transform:uppercase;position:relative;overflow:hidden}ax-data-table .ax-data-table-wrapper table tfoot tr td:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-darker-surface));color:rgba(var(--ax-sys-color-on-darker-surface))}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-sys-color-light-surface))}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell{z-index:2;border-inline-style:var(--tw-border-style);border-inline-width:0;position:sticky}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start{--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start.isLast{--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end{--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end.isFirst{--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}ax-data-table .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{z-index:3;border-block-style:var(--tw-border-style);--tw-shadow:1px 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface))), 0 -1px 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-block-width:0;position:sticky;bottom:-1px}@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}@media(min-width:48rem){ax-data-table ax-data-pager{justify-content:space-between}}ax-data-table .ax-table-footer{border-collapse:collapse;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));min-height:max-content;padding-inline:calc(var(--spacing,.25rem) * 3.5);overflow:hidden}ax-data-table .ax-table-footer .ax-table-info{flex:1;justify-content:space-between;align-items:center;display:flex}ax-data-table .ax-data-table-numeric-paging{display:none}@media(min-width:64rem){ax-data-table .ax-data-table-numeric-paging{display:flex}}ax-data-table .ax-data-table-input-paging{display:flex}@media(min-width:64rem){ax-data-table .ax-data-table-input-paging{display:none}}ax-data-table .ax-data-table-info{justify-content:center;align-items:center;display:none}@media(min-width:48rem){ax-data-table .ax-data-table-info{display:flex}}ax-data-table .ax-data-table-info ax-text{color:rgba(var(--ax-sys-color-on-surface))}.cdk-drag-preview{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));background-color:rgba(var(--ax-sys-color-surface));padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 3);text-align:start;--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:rgba(var(--ax-sys-color-on-surface));text-transform:uppercase;--tw-shadow:0 5px 5px -3px var(--tw-shadow-color,rgba(var(--ax-sys-color-primary-900),.2)), 0 8px 10px 1px var(--tw-shadow-color,rgba(var(--ax-sys-color-primary-900),.14)), 0 3px 14px 2px var(--tw-shadow-color,rgba(var(--ax-sys-color-primary-900),.12));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);position:relative}.ax-dropdown-command-empty-state-text{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)))}}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}\n/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */\n"] }]
|
|
2298
|
-
}], propDecorators: { dataPager: [{
|
|
2676
|
+
AXTooltipDirective,
|
|
2677
|
+
], template: "<ng-content select=\"ax-header\"> </ng-content>\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.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $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\"\n [ngTemplateOutletContext]=\"{ $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\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\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.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderHeaderTemplate\"\n [ngTemplateOutletContext]=\"{ $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 @if (showNoDataLoadedYet) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (noDataTemplate) {\n <ng-container [ngTemplateOutlet]=\"noDataTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-data-yet' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else if (!displayedRows().length) {\n <tr style=\"display: inherit\">\n <td class=\"ax-data-table-empty-data\" [attr.colspan]=\"columnsList().length + 1\">\n @if (emptyTemplate) {\n <ng-container [ngTemplateOutlet]=\"emptyTemplate\"></ng-container>\n } @else {\n <span>{{ '@acorex:common.general.no-record' | translate | async }}</span>\n }\n </td>\n </tr>\n } @else {\n @for (row of displayedRows(); let rowIndex = $index; track rowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row, rowIndex } }\"\n ></ng-container>\n }\n\n <ng-template #rowTemp let-data=\"data\">\n @if (rowTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\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 [ngClass]=\"getRowCssClass(data.row, data.rowIndex)\"\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.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"getCellCssClass(data.row, c, calculateRowIndex(data.rowIndex))\"\n >\n <div class=\"ax-bg\"></div>\n <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"\n c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\n \"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $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 </span>\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]=\"getCellCssClass(data.row, c, calculateRowIndex(data.rowIndex))\"\n >\n <div class=\"ax-bg\"></div>\n <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"\n c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\n \"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $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 </span>\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.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n [attr.data-label]=\"c.caption\"\n tabindex=\"0\"\n [class]=\"getCellCssClass(data.row, c, calculateRowIndex(data.rowIndex))\"\n >\n <div class=\"ax-bg\"></div>\n <span\n class=\"ax-data-table-cell-tooltip-wrapper\"\n [axTooltip]=\"\n c.hasTitle && data.row && !isLoading() ? getCellTooltipText(c, data.row) || null : null\n \"\n >\n @if (data.row && !isLoading()) {\n <ng-container\n [ngTemplateOutlet]=\"c.renderCellTemplate\"\n [ngTemplateOutletContext]=\"{\n $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 </span>\n </td>\n }\n </tr>\n @if (data.row?.__meta__?.expanded) {\n @if (rowDetailsTemplate) {\n <tr>\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.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n <td class=\"ax-data-table-row-details\" [attr.colspan]=\"normalColumnsList().length + 1\">\n <ng-container\n [ngTemplateOutlet]=\"rowDetailsTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: data.row, rowIndex: data.rowIndex } }\"\n ></ng-container>\n </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.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-bg\"></div>\n </td>\n }\n </tr>\n }\n @for (childRow of data.row.children; let childRowIndex = $index; track childRowIndex) {\n <ng-container\n [ngTemplateOutlet]=\"rowTemp\"\n [ngTemplateOutletContext]=\"{ data: { row: childRow, rowIndex: childRowIndex } }\"\n ></ng-container>\n }\n }\n }\n </ng-template>\n\n <tr class=\"empty-row\"></tr>\n }\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.ax-state-is-last]=\"c['isLastFixedColumn']\"\n [style.--sticky-start]=\"c['stickyStart']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $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\"\n [ngTemplateOutletContext]=\"{ $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\n class=\"ax-resize-handle\"\n (mousedown)=\"onResizeColumnStart($event, this.startFixedColumnsList().length + $index)\"\n (dblclick)=\"onResizeHandlerDoubleClick($event, this.startFixedColumnsList().length + $index)\"\n title=\"Double-click to auto-fit column width\"\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.ax-state-is-first]=\"c['isFirstFixedColumn']\"\n [style.--sticky-end]=\"c['stickyEnd']\"\n >\n <div class=\"ax-caption\">\n <ng-container\n [ngTemplateOutlet]=\"c.renderFooterTemplate\"\n [ngTemplateOutletContext]=\"{ $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({ reset: false })\">\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: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer components{@keyframes ax-data-table-row-primary-pulse{0%,to{background-color:var(--color-primary-lightest)}50%{background-color:var(--color-primary-lighter)}}@keyframes ax-data-table-row-secondary-pulse{0%,to{background-color:var(--color-secondary-lightest)}50%{background-color:var(--color-secondary-lighter)}}@keyframes ax-data-table-row-success-pulse{0%,to{background-color:var(--color-success-lightest)}50%{background-color:var(--color-success-lighter)}}@keyframes ax-data-table-row-warning-pulse{0%,to{background-color:var(--color-warning-lightest)}50%{background-color:var(--color-warning-lighter)}}@keyframes ax-data-table-row-danger-pulse{0%,to{background-color:var(--color-danger-lightest)}50%{background-color:var(--color-danger-lighter)}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary td:not(.ax-index-column){background-color:var(--color-primary-lightest);color:var(--color-on-primary-lightest);border-color:var(--color-border-primary-lightest)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary td:not(.ax-index-column) .ax-bg{background-color:#0000}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary .ax-data-table-sticky-body-cell:not(.ax-index-column){background-color:var(--color-primary-lightest);color:var(--color-on-primary-lightest);border-color:var(--color-border-primary-lightest)}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary:hover:not(.ax-state-selected) td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-primary-lighter-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary:hover:not(.ax-state-selected) td:not(.ax-index-column) .ax-bg{background-color:var(--color-primary-lighter);color:var(--color-on-primary-lighter);border-color:var(--color-border-primary-lighter);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-state-selected td:not(.ax-index-column){background-color:var(--color-primary-light);color:var(--color-on-primary-light);border-color:var(--color-border-primary-light)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-border-primary);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-state-selected:hover td:not(.ax-index-column){background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-border-primary)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:var(--color-primary-dark);color:var(--color-on-primary-dark);border-color:var(--color-border-primary-dark);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-row-color-pulse td:not(.ax-index-column){animation:1.2s ease-in-out infinite ax-data-table-row-primary-pulse}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-primary.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:1.2s ease-in-out infinite ax-data-table-row-primary-pulse}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary td:not(.ax-index-column){background-color:var(--color-secondary-lightest);color:var(--color-on-secondary-lightest);border-color:var(--color-border-secondary-lightest)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary td:not(.ax-index-column) .ax-bg{background-color:#0000}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary .ax-data-table-sticky-body-cell:not(.ax-index-column){background-color:var(--color-secondary-lightest);color:var(--color-on-secondary-lightest);border-color:var(--color-border-secondary-lightest)}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary:hover:not(.ax-state-selected) td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-secondary-lighter-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary:hover:not(.ax-state-selected) td:not(.ax-index-column) .ax-bg{background-color:var(--color-secondary-lighter);color:var(--color-on-secondary-lighter);border-color:var(--color-border-secondary-lighter);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-state-selected td:not(.ax-index-column){background-color:var(--color-secondary-light);color:var(--color-on-secondary-light);border-color:var(--color-border-secondary-light)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:var(--color-secondary);color:var(--color-on-secondary);border-color:var(--color-border-secondary);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-state-selected:hover td:not(.ax-index-column){background-color:var(--color-secondary);color:var(--color-on-secondary);border-color:var(--color-border-secondary)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:var(--color-secondary-dark);color:var(--color-on-secondary-dark);border-color:var(--color-border-secondary-dark);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-row-color-pulse td:not(.ax-index-column){animation:1.2s ease-in-out infinite ax-data-table-row-secondary-pulse}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-secondary.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:1.2s ease-in-out infinite ax-data-table-row-secondary-pulse}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success td:not(.ax-index-column){background-color:var(--color-success-lightest);color:var(--color-on-success-lightest);border-color:var(--color-border-success-lightest)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success td:not(.ax-index-column) .ax-bg{background-color:#0000}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success .ax-data-table-sticky-body-cell:not(.ax-index-column){background-color:var(--color-success-lightest);color:var(--color-on-success-lightest);border-color:var(--color-border-success-lightest)}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success:hover:not(.ax-state-selected) td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-success-lighter-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success:hover:not(.ax-state-selected) td:not(.ax-index-column) .ax-bg{background-color:var(--color-success-lighter);color:var(--color-on-success-lighter);border-color:var(--color-border-success-lighter);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-state-selected td:not(.ax-index-column){background-color:var(--color-success-light);color:var(--color-on-success-light);border-color:var(--color-border-success-light)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:var(--color-success);color:var(--color-on-success);border-color:var(--color-border-success);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-state-selected:hover td:not(.ax-index-column){background-color:var(--color-success);color:var(--color-on-success);border-color:var(--color-border-success)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:var(--color-success-dark);color:var(--color-on-success-dark);border-color:var(--color-border-success-dark);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-row-color-pulse td:not(.ax-index-column){animation:1.2s ease-in-out infinite ax-data-table-row-success-pulse}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-success.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:1.2s ease-in-out infinite ax-data-table-row-success-pulse}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning td:not(.ax-index-column){background-color:var(--color-warning-lightest);color:var(--color-on-warning-lightest);border-color:var(--color-border-warning-lightest)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning td:not(.ax-index-column) .ax-bg{background-color:#0000}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning .ax-data-table-sticky-body-cell:not(.ax-index-column){background-color:var(--color-warning-lightest);color:var(--color-on-warning-lightest);border-color:var(--color-border-warning-lightest)}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning:hover:not(.ax-state-selected) td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-warning-lighter-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning:hover:not(.ax-state-selected) td:not(.ax-index-column) .ax-bg{background-color:var(--color-warning-lighter);color:var(--color-on-warning-lighter);border-color:var(--color-border-warning-lighter);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-state-selected td:not(.ax-index-column){background-color:var(--color-warning-light);color:var(--color-on-warning-light);border-color:var(--color-border-warning-light)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:var(--color-warning);color:var(--color-on-warning);border-color:var(--color-border-warning);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-state-selected:hover td:not(.ax-index-column){background-color:var(--color-warning);color:var(--color-on-warning);border-color:var(--color-border-warning)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:var(--color-warning-dark);color:var(--color-on-warning-dark);border-color:var(--color-border-warning-dark);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-row-color-pulse td:not(.ax-index-column){animation:1.2s ease-in-out infinite ax-data-table-row-warning-pulse}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-warning.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:1.2s ease-in-out infinite ax-data-table-row-warning-pulse}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger td:not(.ax-index-column){background-color:var(--color-danger-lightest);color:var(--color-on-danger-lightest);border-color:var(--color-border-danger-lightest)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger td:not(.ax-index-column) .ax-bg{background-color:#0000}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger .ax-data-table-sticky-body-cell:not(.ax-index-column){background-color:var(--color-danger-lightest);color:var(--color-on-danger-lightest);border-color:var(--color-border-danger-lightest)}}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger:hover:not(.ax-state-selected) td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-danger-lighter-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger:hover:not(.ax-state-selected) td:not(.ax-index-column) .ax-bg{background-color:var(--color-danger-lighter);color:var(--color-on-danger-lighter);border-color:var(--color-border-danger-lighter);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-state-selected td:not(.ax-index-column){background-color:var(--color-danger-light);color:var(--color-on-danger-light);border-color:var(--color-border-danger-light)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-state-selected td:not(.ax-index-column) .ax-bg{background-color:var(--color-danger);color:var(--color-on-danger);border-color:var(--color-border-danger);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-state-selected:hover td:not(.ax-index-column){background-color:var(--color-danger);color:var(--color-on-danger);border-color:var(--color-border-danger)}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-state-selected:hover td:not(.ax-index-column) .ax-bg{background-color:var(--color-danger-dark);color:var(--color-on-danger-dark);border-color:var(--color-border-danger-dark);opacity:1}ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-row-color-pulse td:not(.ax-index-column){animation:1.2s ease-in-out infinite ax-data-table-row-danger-pulse}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tbody tr.ax-row-color-danger.ax-row-color-pulse td.ax-data-table-sticky-body-cell:not(.ax-index-column){animation:1.2s ease-in-out infinite ax-data-table-row-danger-pulse}}ax-data-table{--ax-comp-data-table-highlight-bg-color:var(--ax-sys-color-warning-lighter-surface);--ax-comp-data-table-highlight-text-color:var(--ax-sys-color-on-warning-lighter-surface);--ax-comp-data-table-highlight-border-color:var(--ax-sys-color-warning-500)}ax-data-table .ax-highlight{background-color:rgb(var(--ax-comp-data-table-highlight-bg-color));color:rgb(var(--ax-comp-data-table-highlight-text-color));box-shadow:0 0 0 1px rgb(var(--ax-comp-data-table-highlight-border-color) / .25);padding:0 .125rem;font-weight:500}ax-data-table{height:100%;min-height:inherit;border-radius:var(--ax-sys-border-radius);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));width:100%;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 4);line-height:calc(var(--spacing,.25rem) * 4);flex-direction:column;display:flex;position:relative;overflow:hidden}ax-data-table td.ax-data-table-empty-data{height:calc(var(--spacing,.25rem) * 32);border-bottom-style:var(--tw-border-style);width:100%;padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 8);text-align:center;vertical-align:middle;border-bottom-width:0;top:50%;transform:translateY(-50%);background-color:#0000!important;position:absolute!important}ax-data-table td.ax-data-table-empty-data span{height:100%;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:rgba(var(--ax-sys-color-surface));justify-content:center;align-items:center;display:flex}ax-data-table .ax-data-table-wrapper{border-radius:var(--ax-sys-border-radius);flex:1;width:100%;overflow:auto}ax-data-table .ax-data-table-wrapper table{table-layout:fixed;width:100%;height:100%;display:table;overflow-x:auto}ax-data-table .ax-data-table-wrapper table thead{border-start-start-radius:var(--ax-sys-border-radius);border-start-end-radius:var(--ax-sys-border-radius);overflow:hidden}ax-data-table .ax-data-table-wrapper table thead th{height:calc(var(--spacing,.25rem) * 10);border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);background-color:var(--color-lighter);color:var(--color-on-lighter);border-bottom-width:1px;border-color:var(--color-border-lighter);padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 3);text-align:start;--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;position:relative;overflow:hidden;border-color:rgba(var(--ax-sys-color-border-surface))!important}ax-data-table .ax-data-table-wrapper table thead th:where(.ax-dark,.ax-dark *){color:var(--color-on-darker);background-color:var(--color-darker);border-color:var(--color-border-darker)}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-sys-color-light-surface))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle{height:100%;width:var(--spacing,.25rem);cursor:col-resize;background-color:#0000;position:absolute;top:0;bottom:0;right:0}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover{background-color:rgba(var(--ax-sys-color-primary-light-surface))}ax-data-table .ax-data-table-wrapper table thead th .ax-resize-handle:hover:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-primary-dark-surface))}ax-data-table .ax-data-table-wrapper table thead th .ax-caption{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}ax-data-table .ax-data-table-wrapper table thead th:last-child{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}ax-data-table .ax-data-table-wrapper table thead.ax-data-table-sticky-header{z-index:3;border-block-style:var(--tw-border-style);--tw-shadow:inset 1px 1px 0px 2px var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-block-width:0;position:sticky;top:0}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell{z-index:2;border-inline-style:var(--tw-border-style);border-inline-width:0;position:sticky}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start{--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.ax-state-is-last{--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start.ax-state-is-last:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end{--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.ax-state-is-first{--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end.ax-state-is-first:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell{z-index:2;border-inline-style:var(--tw-border-style);background-color:rgba(var(--ax-sys-color-lightest-surface));border-inline-width:0;position:sticky}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-darkest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start{--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.ax-state-is-last{--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start.ax-state-is-last:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.ax-state-is-first{--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end.ax-state-is-first:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}ax-data-table .ax-data-table-wrapper table tbody tr td{z-index:0;position:relative}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-data-table-cell-tooltip-wrapper{min-height:inherit;position:relative}ax-data-table .ax-data-table-wrapper table tbody tr td .ax-bg{z-index:-1;border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));opacity:.3;background-color:#0000;width:100%;height:100%;position:absolute;top:0;left:0}ax-data-table .ax-data-table-wrapper table tbody tr{height:calc(var(--spacing,.25rem) * 10);max-height:calc(var(--spacing,.25rem) * 10);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-surface))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg{background-color:rgba(var(--ax-sys-color-primary-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column) .ax-bg:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-primary-light-surface))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column){color:rgba(var(--ax-sys-color-on-primary-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr:hover td:not(.ax-index-column):where(.ax-dark,.ax-dark *){color:rgba(var(--ax-sys-color-on-light-surface))}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-sys-color-on-primary-lightest-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-focused td:not(.ax-index-column) .ax-bg:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-on-light-surface))}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-sys-color-primary-light-surface))}ax-data-table .ax-data-table-wrapper table tbody tr.ax-state-selected td:not(.ax-index-column) .ax-bg:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-primary-dark-surface))}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-sys-color-primary-surface))}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-sys-color-light-surface));color:rgba(var(--ax-sys-color-on-light-surface))}ax-data-table .ax-data-table-wrapper table tbody.ax-data-table-row-alternative tr:nth-child(2n) td:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-surface));color:rgba(var(--ax-sys-color-on-surface))}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 td{min-width:calc(var(--spacing,.25rem) * 8);border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 2);vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;position:relative;overflow:hidden}ax-data-table .ax-data-table-wrapper table tbody td:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-darkest-surface))}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler{cursor:pointer;padding-inline:var(--spacing,.25rem)}ax-data-table .ax-data-table-wrapper table tbody td .ax-expand-handler.has-parent{padding-inline-start:calc(var(--spacing,.25rem) * 6)!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column{background-color:rgba(var(--ax-sys-color-light-surface));text-align:center;text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-light-surface));overflow:hidden}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-dark-surface));color:rgba(var(--ax-sys-color-on-dark-surface))}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column .ax-data-table-cell-tooltip-wrapper{justify-content:center;align-items:center;width:100%;display:flex}ax-data-table .ax-data-table-wrapper table tbody td.ax-index-column .ax-data-table-row-highlight-badge{justify-content:center;align-items:center;display:inline-flex;position:relative}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{cursor:not-allowed!important;opacity:.5!important;position:relative!important}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column>div{inset-inline-start:calc(var(--spacing,.25rem) * 0);justify-content:center;align-items:center;width:100%;display:flex;position:absolute;top:50%;transform:translateY(-50%)}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button{width:1.4rem;height:1.4rem}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button ax-icon{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)))}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button{cursor:pointer;border-style:var(--tw-border-style);text-overflow:ellipsis;white-space:nowrap;border-width:0;position:relative}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover:not(ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-selected,ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:hover.ax-state-disabled){opacity:.75}ax-data-table .ax-data-table-wrapper table tbody td.ax-command-column ax-button button:active{opacity:1}ax-data-table .ax-data-table-wrapper table tbody td:last-child{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}ax-data-table .ax-data-table-wrapper table tbody td ax-skeleton{height:calc(var(--spacing,.25rem) * 3.5);border-radius:var(--radius-md,.375rem);width:33.3333%}ax-data-table .ax-data-table-wrapper table tfoot tr td{height:calc(var(--spacing,.25rem) * 10);border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));background-color:rgba(var(--ax-sys-color-lighter-surface));padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 3);text-align:start;--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);text-overflow:ellipsis;white-space:nowrap;color:rgba(var(--ax-sys-color-on-lighter-surface));text-transform:uppercase;position:relative;overflow:hidden}ax-data-table .ax-data-table-wrapper table tfoot tr td:where(.ax-dark,.ax-dark *){background-color:rgba(var(--ax-sys-color-darker-surface));color:rgba(var(--ax-sys-color-on-darker-surface))}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-sys-color-light-surface))}@media screen and (min-width:768px){ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell{z-index:2;border-inline-style:var(--tw-border-style);border-inline-width:0;position:sticky}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start{--tw-shadow:inset -1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-start.ax-state-is-last{--tw-shadow:inset -2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end{--tw-shadow:inset 1px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}ax-data-table .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell.sticky-end.ax-state-is-first{--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}ax-data-table .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{z-index:3;border-block-style:var(--tw-border-style);--tw-shadow:1px 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface))), 0 -1px 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-block-width:0;position:sticky;bottom:-1px}@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}@media(min-width:48rem){ax-data-table ax-data-pager{justify-content:space-between}}ax-data-table .ax-table-footer{border-collapse:collapse;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));min-height:max-content;padding-inline:calc(var(--spacing,.25rem) * 3.5);overflow:hidden}ax-data-table .ax-table-footer .ax-table-info{flex:1;justify-content:space-between;align-items:center;display:flex}ax-data-table .ax-data-table-numeric-paging{display:none}@media(min-width:64rem){ax-data-table .ax-data-table-numeric-paging{display:flex}}ax-data-table .ax-data-table-input-paging{display:flex}@media(min-width:64rem){ax-data-table .ax-data-table-input-paging{display:none}}ax-data-table .ax-data-table-info{justify-content:center;align-items:center;display:none}@media(min-width:48rem){ax-data-table .ax-data-table-info{display:flex}}ax-data-table .ax-data-table-info ax-text{color:rgba(var(--ax-sys-color-on-surface))}.cdk-drag-preview{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));background-color:rgba(var(--ax-sys-color-surface));padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 3);text-align:start;--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:rgba(var(--ax-sys-color-on-surface));text-transform:uppercase;--tw-shadow:0 5px 5px -3px var(--tw-shadow-color,rgba(var(--ax-sys-color-primary-900),.2)), 0 8px 10px 1px var(--tw-shadow-color,rgba(var(--ax-sys-color-primary-900),.14)), 0 3px 14px 2px var(--tw-shadow-color,rgba(var(--ax-sys-color-primary-900),.12));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);position:relative}.ax-dropdown-command-empty-state-text{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)))}.dark ax-data-table{--ax-comp-data-table-highlight-bg-color:var(--ax-sys-color-warning-dark-surface);--ax-comp-data-table-highlight-text-color:var(--ax-sys-color-on-warning-dark-surface);--ax-comp-data-table-highlight-border-color:var(--ax-sys-color-warning-400)}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead th{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead.ax-data-table-sticky-header{--tw-shadow:inset 0 1px 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media screen and (min-width:768px){ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-start,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table thead .ax-data-table-sticky-header-cell.sticky-end,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-start,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody tr .ax-data-table-sticky-body-cell.sticky-end{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody tr td .ax-bg,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tbody td{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr td{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0;border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}@media screen and (min-width:768px){:is(ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell).sticky-start,:is(ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell).sticky-end,:is(ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell).sticky-start.ax-state-is-last,:is(ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-footer-cell,ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot tr .ax-data-table-sticky-header-cell).sticky-end.ax-state-is-first{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}ax-data-table.ax-data-table-look-minimal .ax-data-table-wrapper table tfoot.ax-data-table-sticky-footer{--tw-shadow:0 -1px 0 0 var(--tw-shadow-color,rgba(var(--ax-sys-color-border-surface)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
|
|
2678
|
+
}], propDecorators: { look: [{ type: i0.Input, args: [{ isSignal: true, alias: "look", required: false }] }], dataPager: [{
|
|
2299
2679
|
type: ViewChild,
|
|
2300
2680
|
args: ['dataPager']
|
|
2301
2681
|
}], customDataPager: [{
|
|
@@ -2378,8 +2758,8 @@ const MODULES = [
|
|
|
2378
2758
|
CdkDragHandle,
|
|
2379
2759
|
];
|
|
2380
2760
|
class AXDataTableModule {
|
|
2381
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
2382
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.
|
|
2761
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXDataTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2762
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: AXDataTableModule, imports: [CommonModule,
|
|
2383
2763
|
AXCommonModule,
|
|
2384
2764
|
ScrollingModule,
|
|
2385
2765
|
AXTranslationModule,
|
|
@@ -2410,7 +2790,7 @@ class AXDataTableModule {
|
|
|
2410
2790
|
AXRowCommandColumnComponent,
|
|
2411
2791
|
AXRowDropdownCommandColumnComponent,
|
|
2412
2792
|
AXDataTableColumnResizableDirective] }); }
|
|
2413
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.
|
|
2793
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXDataTableModule, imports: [CommonModule,
|
|
2414
2794
|
AXCommonModule,
|
|
2415
2795
|
ScrollingModule,
|
|
2416
2796
|
AXTranslationModule,
|
|
@@ -2422,11 +2802,12 @@ class AXDataTableModule {
|
|
|
2422
2802
|
AXDropdownModule,
|
|
2423
2803
|
AXFormatModule,
|
|
2424
2804
|
AXDataPagerModule, AXDataTableComponent,
|
|
2805
|
+
AXRowIndexColumnComponent,
|
|
2425
2806
|
AXRowSelectColumnComponent,
|
|
2426
2807
|
AXRowCommandColumnComponent,
|
|
2427
2808
|
AXRowDropdownCommandColumnComponent] }); }
|
|
2428
2809
|
}
|
|
2429
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
2810
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXDataTableModule, decorators: [{
|
|
2430
2811
|
type: NgModule,
|
|
2431
2812
|
args: [{
|
|
2432
2813
|
imports: [...MODULES, ...COMPONENT],
|
|
@@ -2439,5 +2820,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
2439
2820
|
* Generated bundle index. Do not edit.
|
|
2440
2821
|
*/
|
|
2441
2822
|
|
|
2442
|
-
export { AXBaseDataTable, AXBaseRowCommandColumnComponent, AXDataTableColumnComponent, AXDataTableColumnResizableDirective, AXDataTableComponent, AXDataTableModule, AXDataTableTextColumnComponent, AXRowCommandColumnComponent, AXRowDropdownCommandColumnComponent, AXRowExpandColumnComponent, AXRowIndexColumnComponent, AXRowSelectColumnComponent };
|
|
2823
|
+
export { AXBaseDataTable, AXBaseRowCommandColumnComponent, AXDataTableColumnComponent, AXDataTableColumnResizableDirective, AXDataTableComponent, AXDataTableModule, AXDataTableTextColumnComponent, AXRowCommandColumnComponent, AXRowDropdownCommandColumnComponent, AXRowExpandColumnComponent, AXRowIndexColumnComponent, AXRowSelectColumnComponent, AX_DATA_TABLE_ROW_COLOR_TYPES, AX_DATA_TABLE_ROW_HIGHLIGHT_DEFAULT_BADGE };
|
|
2443
2824
|
//# sourceMappingURL=acorex-components-data-table.mjs.map
|