@eagami/ui 5.71.2 → 5.72.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/eagami-ui.mjs +164 -7
- package/fesm2022/eagami-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/eagami-ui.d.ts +41 -6
package/fesm2022/eagami-ui.mjs
CHANGED
|
@@ -15067,6 +15067,8 @@ var MenuComponent = class MenuComponent {
|
|
|
15067
15067
|
triggerEl = signal(void 0, ...ngDevMode ? [{ debugName: "triggerEl" }] : /* istanbul ignore next */ []);
|
|
15068
15068
|
asContextMenu = signal(false, ...ngDevMode ? [{ debugName: "asContextMenu" }] : /* istanbul ignore next */ []);
|
|
15069
15069
|
anchorPoint = signal(null, ...ngDevMode ? [{ debugName: "anchorPoint" }] : /* istanbul ignore next */ []);
|
|
15070
|
+
openedWith = signal(void 0, ...ngDevMode ? [{ debugName: "openedWith" }] : /* istanbul ignore next */ []);
|
|
15071
|
+
triggerData = this.openedWith.asReadonly();
|
|
15070
15072
|
activeItemId = signal(null, ...ngDevMode ? [{ debugName: "activeItemId" }] : /* istanbul ignore next */ []);
|
|
15071
15073
|
constructor() {
|
|
15072
15074
|
effect(() => {
|
|
@@ -15093,12 +15095,14 @@ var MenuComponent = class MenuComponent {
|
|
|
15093
15095
|
if (this.disabled()) return;
|
|
15094
15096
|
this.asContextMenu.set(false);
|
|
15095
15097
|
this.anchorPoint.set(null);
|
|
15098
|
+
this.openedWith.set(void 0);
|
|
15096
15099
|
this.show(triggerEl);
|
|
15097
15100
|
}
|
|
15098
|
-
openAsContextMenu(anchorEl, point = null) {
|
|
15101
|
+
openAsContextMenu(anchorEl, point = null, data = void 0) {
|
|
15099
15102
|
if (this.disabled()) return;
|
|
15100
15103
|
this.asContextMenu.set(true);
|
|
15101
15104
|
this.anchorPoint.set(point);
|
|
15105
|
+
this.openedWith.set(data);
|
|
15102
15106
|
this.show(anchorEl);
|
|
15103
15107
|
}
|
|
15104
15108
|
show(triggerEl) {
|
|
@@ -15393,6 +15397,95 @@ function fromKeyboard(event) {
|
|
|
15393
15397
|
if (typeof PointerEvent !== "undefined" && event instanceof PointerEvent) return event.pointerType === "";
|
|
15394
15398
|
return event.button === 0 && event.buttons === 0;
|
|
15395
15399
|
}
|
|
15400
|
+
const LONG_PRESS_TOLERANCE_PX = 10;
|
|
15401
|
+
function watchLongPress(element, onLongPress) {
|
|
15402
|
+
let pointerId = null;
|
|
15403
|
+
let start = null;
|
|
15404
|
+
let startTarget = null;
|
|
15405
|
+
let timer = null;
|
|
15406
|
+
let claimed = false;
|
|
15407
|
+
const stopTimer = () => {
|
|
15408
|
+
if (timer !== null) {
|
|
15409
|
+
clearTimeout(timer);
|
|
15410
|
+
timer = null;
|
|
15411
|
+
}
|
|
15412
|
+
};
|
|
15413
|
+
const endPress = () => {
|
|
15414
|
+
stopTimer();
|
|
15415
|
+
pointerId = null;
|
|
15416
|
+
start = null;
|
|
15417
|
+
startTarget = null;
|
|
15418
|
+
};
|
|
15419
|
+
const swallowClick = (event) => {
|
|
15420
|
+
event.preventDefault();
|
|
15421
|
+
event.stopPropagation();
|
|
15422
|
+
disarmClick();
|
|
15423
|
+
};
|
|
15424
|
+
const disarmClick = () => {
|
|
15425
|
+
window.removeEventListener("click", swallowClick, true);
|
|
15426
|
+
window.removeEventListener("pointerdown", disarmClick, true);
|
|
15427
|
+
window.removeEventListener("keydown", disarmClick, true);
|
|
15428
|
+
};
|
|
15429
|
+
const armClick = () => {
|
|
15430
|
+
disarmClick();
|
|
15431
|
+
window.addEventListener("click", swallowClick, true);
|
|
15432
|
+
window.addEventListener("pointerdown", disarmClick, true);
|
|
15433
|
+
window.addEventListener("keydown", disarmClick, true);
|
|
15434
|
+
};
|
|
15435
|
+
const onPointerDown = (event) => {
|
|
15436
|
+
if (event.pointerType !== "touch" || !event.isPrimary) return;
|
|
15437
|
+
endPress();
|
|
15438
|
+
claimed = false;
|
|
15439
|
+
pointerId = event.pointerId;
|
|
15440
|
+
start = {
|
|
15441
|
+
x: event.clientX,
|
|
15442
|
+
y: event.clientY
|
|
15443
|
+
};
|
|
15444
|
+
startTarget = event.target;
|
|
15445
|
+
timer = setTimeout(() => {
|
|
15446
|
+
timer = null;
|
|
15447
|
+
if (start && onLongPress(start, startTarget)) {
|
|
15448
|
+
claimed = true;
|
|
15449
|
+
armClick();
|
|
15450
|
+
window.getSelection()?.removeAllRanges();
|
|
15451
|
+
}
|
|
15452
|
+
}, 500);
|
|
15453
|
+
};
|
|
15454
|
+
const onPointerMove = (event) => {
|
|
15455
|
+
if (event.pointerId !== pointerId || !start) return;
|
|
15456
|
+
if (Math.hypot(event.clientX - start.x, event.clientY - start.y) > LONG_PRESS_TOLERANCE_PX) stopTimer();
|
|
15457
|
+
};
|
|
15458
|
+
const onPointerEnd = (event) => {
|
|
15459
|
+
if (event.pointerId === pointerId) endPress();
|
|
15460
|
+
};
|
|
15461
|
+
const onContextMenu = (event) => {
|
|
15462
|
+
if (pointerId === null || !(event.target instanceof Node)) return;
|
|
15463
|
+
if (!element.contains(event.target)) return;
|
|
15464
|
+
if (claimed) {
|
|
15465
|
+
event.preventDefault();
|
|
15466
|
+
event.stopImmediatePropagation();
|
|
15467
|
+
} else stopTimer();
|
|
15468
|
+
};
|
|
15469
|
+
const onSelectStart = (event) => {
|
|
15470
|
+
if (claimed && pointerId !== null) event.preventDefault();
|
|
15471
|
+
};
|
|
15472
|
+
element.addEventListener("pointerdown", onPointerDown);
|
|
15473
|
+
element.addEventListener("pointermove", onPointerMove);
|
|
15474
|
+
element.addEventListener("pointerup", onPointerEnd);
|
|
15475
|
+
element.addEventListener("pointercancel", onPointerEnd);
|
|
15476
|
+
element.addEventListener("selectstart", onSelectStart);
|
|
15477
|
+
window.addEventListener("contextmenu", onContextMenu, true);
|
|
15478
|
+
return () => {
|
|
15479
|
+
endPress();
|
|
15480
|
+
disarmClick();
|
|
15481
|
+
element.removeEventListener("pointerdown", onPointerDown);
|
|
15482
|
+
element.removeEventListener("pointermove", onPointerMove);
|
|
15483
|
+
element.removeEventListener("pointerup", onPointerEnd);
|
|
15484
|
+
element.removeEventListener("pointercancel", onPointerEnd);
|
|
15485
|
+
element.removeEventListener("selectstart", onSelectStart);
|
|
15486
|
+
window.removeEventListener("contextmenu", onContextMenu, true);
|
|
15487
|
+
};
|
|
15488
|
+
}
|
|
15396
15489
|
var ContextMenuTriggerDirective = class ContextMenuTriggerDirective {
|
|
15397
15490
|
el = inject(ElementRef);
|
|
15398
15491
|
target = input(void 0, {
|
|
@@ -15400,6 +15493,16 @@ var ContextMenuTriggerDirective = class ContextMenuTriggerDirective {
|
|
|
15400
15493
|
alias: "eaContextMenuTrigger"
|
|
15401
15494
|
});
|
|
15402
15495
|
contextMenuPosition = input("pointer", ...ngDevMode ? [{ debugName: "contextMenuPosition" }] : /* istanbul ignore next */ []);
|
|
15496
|
+
contextMenuData = input(void 0, ...ngDevMode ? [{ debugName: "contextMenuData" }] : /* istanbul ignore next */ []);
|
|
15497
|
+
constructor() {
|
|
15498
|
+
if (typeof window === "undefined") return;
|
|
15499
|
+
const host = this.el.nativeElement;
|
|
15500
|
+
inject(DestroyRef).onDestroy(watchLongPress(host, (point) => this.open(point)));
|
|
15501
|
+
effect(() => {
|
|
15502
|
+
if (this.target()) host.style.setProperty("-webkit-touch-callout", "none");
|
|
15503
|
+
else host.style.removeProperty("-webkit-touch-callout");
|
|
15504
|
+
});
|
|
15505
|
+
}
|
|
15403
15506
|
onContextMenu(event) {
|
|
15404
15507
|
this.request(event);
|
|
15405
15508
|
}
|
|
@@ -15407,14 +15510,22 @@ var ContextMenuTriggerDirective = class ContextMenuTriggerDirective {
|
|
|
15407
15510
|
if (isContextMenuShortcut(event)) this.request(event);
|
|
15408
15511
|
}
|
|
15409
15512
|
request(event) {
|
|
15410
|
-
|
|
15411
|
-
if (!target || event.defaultPrevented) return;
|
|
15412
|
-
if (target instanceof MenuComponent && target.disabled()) return;
|
|
15513
|
+
if (event.defaultPrevented || !this.canOpen()) return;
|
|
15413
15514
|
event.preventDefault();
|
|
15515
|
+
this.open(contextMenuPoint(event, this.el.nativeElement));
|
|
15516
|
+
}
|
|
15517
|
+
canOpen() {
|
|
15518
|
+
const target = this.target();
|
|
15519
|
+
return !!target && !(target instanceof MenuComponent && target.disabled());
|
|
15520
|
+
}
|
|
15521
|
+
open(point) {
|
|
15522
|
+
const target = this.target();
|
|
15523
|
+
if (!target || !this.canOpen()) return false;
|
|
15414
15524
|
const host = this.el.nativeElement;
|
|
15415
|
-
const
|
|
15416
|
-
if (target instanceof MenuComponent) target.openAsContextMenu(host,
|
|
15417
|
-
else target.requestOpen(
|
|
15525
|
+
const at = this.contextMenuPosition() === "pointer" ? point : null;
|
|
15526
|
+
if (target instanceof MenuComponent) target.openAsContextMenu(host, at, this.contextMenuData());
|
|
15527
|
+
else target.requestOpen(at);
|
|
15528
|
+
return true;
|
|
15418
15529
|
}
|
|
15419
15530
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
15420
15531
|
minVersion: "12.0.0",
|
|
@@ -15444,6 +15555,13 @@ var ContextMenuTriggerDirective = class ContextMenuTriggerDirective {
|
|
|
15444
15555
|
isSignal: true,
|
|
15445
15556
|
isRequired: false,
|
|
15446
15557
|
transformFunction: null
|
|
15558
|
+
},
|
|
15559
|
+
contextMenuData: {
|
|
15560
|
+
classPropertyName: "contextMenuData",
|
|
15561
|
+
publicName: "contextMenuData",
|
|
15562
|
+
isSignal: true,
|
|
15563
|
+
isRequired: false,
|
|
15564
|
+
transformFunction: null
|
|
15447
15565
|
}
|
|
15448
15566
|
},
|
|
15449
15567
|
host: { listeners: {
|
|
@@ -15468,6 +15586,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
15468
15586
|
}
|
|
15469
15587
|
}]
|
|
15470
15588
|
}],
|
|
15589
|
+
ctorParameters: () => [],
|
|
15471
15590
|
propDecorators: {
|
|
15472
15591
|
target: [{
|
|
15473
15592
|
type: i0.Input,
|
|
@@ -15484,6 +15603,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
15484
15603
|
alias: "contextMenuPosition",
|
|
15485
15604
|
required: false
|
|
15486
15605
|
}]
|
|
15606
|
+
}],
|
|
15607
|
+
contextMenuData: [{
|
|
15608
|
+
type: i0.Input,
|
|
15609
|
+
args: [{
|
|
15610
|
+
isSignal: true,
|
|
15611
|
+
alias: "contextMenuData",
|
|
15612
|
+
required: false
|
|
15613
|
+
}]
|
|
15487
15614
|
}]
|
|
15488
15615
|
}
|
|
15489
15616
|
});
|
|
@@ -15753,6 +15880,7 @@ function isModifiedClick(event) {
|
|
|
15753
15880
|
var DataTableComponent = class DataTableComponent {
|
|
15754
15881
|
i18n = inject(EagamiI18nService);
|
|
15755
15882
|
host = inject(ElementRef);
|
|
15883
|
+
rowEls = viewChildren("rowEl", ...ngDevMode ? [{ debugName: "rowEls" }] : /* istanbul ignore next */ []);
|
|
15756
15884
|
activeCell = signal({
|
|
15757
15885
|
row: 0,
|
|
15758
15886
|
col: 0
|
|
@@ -15818,6 +15946,7 @@ var DataTableComponent = class DataTableComponent {
|
|
|
15818
15946
|
col: nextCol
|
|
15819
15947
|
});
|
|
15820
15948
|
});
|
|
15949
|
+
if (typeof window !== "undefined") inject(DestroyRef).onDestroy(watchLongPress(this.host.nativeElement, (point, target) => this.onRowLongPress(point, target)));
|
|
15821
15950
|
}
|
|
15822
15951
|
sortedData = computed(() => {
|
|
15823
15952
|
const items = this.data();
|
|
@@ -15899,6 +16028,24 @@ var DataTableComponent = class DataTableComponent {
|
|
|
15899
16028
|
});
|
|
15900
16029
|
if (event instanceof KeyboardEvent && !event.defaultPrevented) this.keyboardRequestPending = true;
|
|
15901
16030
|
}
|
|
16031
|
+
onRowLongPress(point, target) {
|
|
16032
|
+
if (!(target instanceof Node)) return false;
|
|
16033
|
+
const index = this.rowEls().findIndex((ref) => ref.nativeElement.contains(target));
|
|
16034
|
+
const row = this.sortedData()[index];
|
|
16035
|
+
if (index < 0 || row === void 0) return false;
|
|
16036
|
+
const event = new MouseEvent("contextmenu", {
|
|
16037
|
+
cancelable: true,
|
|
16038
|
+
clientX: point.x,
|
|
16039
|
+
clientY: point.y
|
|
16040
|
+
});
|
|
16041
|
+
this.rowContextMenu.emit({
|
|
16042
|
+
row,
|
|
16043
|
+
rowElement: this.rowEls()[index].nativeElement,
|
|
16044
|
+
point,
|
|
16045
|
+
event
|
|
16046
|
+
});
|
|
16047
|
+
return event.defaultPrevented;
|
|
16048
|
+
}
|
|
15902
16049
|
clearKeyboardRequest() {
|
|
15903
16050
|
this.keyboardRequestPending = false;
|
|
15904
16051
|
}
|
|
@@ -16134,6 +16281,12 @@ var DataTableComponent = class DataTableComponent {
|
|
|
16134
16281
|
descendants: true,
|
|
16135
16282
|
isSignal: true
|
|
16136
16283
|
}],
|
|
16284
|
+
viewQueries: [{
|
|
16285
|
+
propertyName: "rowEls",
|
|
16286
|
+
predicate: ["rowEl"],
|
|
16287
|
+
descendants: true,
|
|
16288
|
+
isSignal: true
|
|
16289
|
+
}],
|
|
16137
16290
|
ngImport: i0,
|
|
16138
16291
|
template: "<ng-template\n #cellContent\n let-row\n let-col=\"col\">\n @if (col.cellTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"col.cellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, value: getCellValue(row, col.key) }\" />\n } @else if (col.format) {\n {{ col.format(getCellValue(row, col.key)) }}\n } @else {\n {{ getCellValue(row, col.key) }}\n }\n</ng-template>\n\n<div\n class=\"ea-data-table\"\n [ngClass]=\"hostClasses()\">\n <div class=\"ea-data-table__scroll\">\n <table\n class=\"ea-data-table__table\"\n [attr.role]=\"navigable() ? 'grid' : null\"\n [attr.aria-label]=\"caption() ? null : (ariaLabel() ?? null)\"\n [attr.aria-busy]=\"loading() ? 'true' : null\"\n (keydown)=\"onGridKeydown($event)\"\n (keyup)=\"clearKeyboardRequest()\"\n (pointerdown)=\"clearKeyboardRequest()\">\n @if (caption(); as captionText) {\n <caption class=\"ea-data-table__caption\">\n {{ captionText }}\n </caption>\n }\n <thead class=\"ea-data-table__head\">\n <tr\n class=\"ea-data-table__row ea-data-table__row--header\"\n [attr.role]=\"navigable() ? 'row' : null\">\n @for (col of columns(); track col.key; let colIndex = $index) {\n <th\n scope=\"col\"\n class=\"ea-data-table__cell ea-data-table__cell--header\"\n [attr.role]=\"navigable() ? 'columnheader' : null\"\n [attr.data-ea-cell]=\"navigable() ? '0-' + colIndex : null\"\n [class.ea-data-table__cell--sortable]=\"col.sortable\"\n [class.ea-data-table__cell--sorted]=\"\n sort().column === col.key && sort().direction\n \"\n [class.ea-data-table__cell--align-center]=\"col.align === 'center'\"\n [class.ea-data-table__cell--align-right]=\"col.align === 'right'\"\n [style.width]=\"col.width ?? null\"\n [attr.aria-sort]=\"\n sort().column === col.key && sort().direction === 'asc'\n ? 'ascending'\n : sort().column === col.key && sort().direction === 'desc'\n ? 'descending'\n : col.sortable\n ? 'none'\n : null\n \"\n (keydown.enter)=\"onHeaderKeydown($event, col)\"\n (keydown.space)=\"onHeaderKeydown($event, col)\"\n (focus)=\"onCellFocus(0, colIndex)\"\n [attr.tabindex]=\"headerTabindex(colIndex)\">\n @if (col.sortable) {\n <button\n type=\"button\"\n class=\"ea-data-table__sort-button\"\n [attr.tabindex]=\"navigable() ? -1 : null\"\n (click)=\"onHeaderClick(col)\"\n (focus)=\"onCellFocus(0, colIndex)\">\n @if (col.headerTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"col.headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: col }\" />\n } @else {\n <span class=\"ea-data-table__header-text\">{{ col.label }}</span>\n }\n <span class=\"ea-data-table__sort-icon\">\n @if (sort().column === col.key && sort().direction === 'asc') {\n <ea-icon-arrow-up />\n } @else if (\n sort().column === col.key && sort().direction === 'desc'\n ) {\n <ea-icon-arrow-down />\n } @else {\n <ea-icon-chevrons-up-down />\n }\n </span>\n </button>\n } @else if (col.headerTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"col.headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: col }\" />\n } @else {\n <span class=\"ea-data-table__header-text\">{{ col.label }}</span>\n }\n </th>\n }\n </tr>\n </thead>\n @if (sizingRows().length) {\n <tbody\n class=\"ea-data-table__sizing\"\n aria-hidden=\"true\">\n @for (row of sizingRows(); track $index) {\n <tr class=\"ea-data-table__row ea-data-table__row--sizing\">\n @for (col of columns(); track col.key) {\n <td\n class=\"ea-data-table__cell ea-data-table__cell--sizing\"\n [style.width]=\"col.width ?? null\">\n <div class=\"ea-data-table__sizing-content\">\n <ng-container\n [ngTemplateOutlet]=\"cellContent\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col }\" />\n </div>\n </td>\n }\n </tr>\n }\n </tbody>\n }\n <tbody class=\"ea-data-table__body\">\n @if (loading()) {\n @for (index of placeholderRows(); track index) {\n <tr\n class=\"ea-data-table__row ea-data-table__row--placeholder\"\n aria-hidden=\"true\"\n [attr.role]=\"navigable() ? 'row' : null\">\n @for (col of columns(); track col.key) {\n <td\n class=\"ea-data-table__cell\"\n [class.ea-data-table__cell--align-center]=\"col.align === 'center'\"\n [class.ea-data-table__cell--align-right]=\"col.align === 'right'\"\n [style.width]=\"col.width ?? null\"\n [attr.role]=\"navigable() ? 'gridcell' : null\">\n @if (col.placeholderTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"col.placeholderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: col, index }\" />\n } @else {\n <span class=\"ea-data-table__placeholder\">\n <ea-skeleton height=\"1em\" />\n </span>\n }\n </td>\n }\n </tr>\n }\n } @else if (sortedData().length === 0) {\n <tr\n class=\"ea-data-table__row ea-data-table__row--empty\"\n [attr.role]=\"navigable() ? 'row' : null\">\n <td\n class=\"ea-data-table__cell ea-data-table__cell--empty\"\n [attr.role]=\"navigable() ? 'gridcell' : null\"\n [attr.colspan]=\"columns().length\">\n <div role=\"status\">\n @if (noDataTemplate()) {\n <ng-container [ngTemplateOutlet]=\"noDataTemplate()!\" />\n } @else {\n {{ resolvedNoDataText() }}\n }\n </div>\n </td>\n </tr>\n } @else {\n @for (\n row of sortedData();\n track trackByFn($index, row);\n let rowIndex = $index\n ) {\n <tr\n #rowEl\n class=\"ea-data-table__row\"\n [class.ea-data-table__row--inert]=\"isInert(row)\"\n [attr.role]=\"navigable() ? 'row' : null\"\n [attr.tabindex]=\"rowTabindex(row)\"\n (click)=\"onRowActivate(row, $event)\"\n (keydown.enter)=\"onRowActivate(row, $event)\"\n (keydown.space)=\"onRowActivate(row, $event)\"\n (keydown)=\"onRowContextMenu(row, rowEl, $event)\"\n (contextmenu)=\"onRowContextMenu(row, rowEl, $event)\">\n @for (col of columns(); track col.key; let colIndex = $index) {\n <td\n class=\"ea-data-table__cell\"\n [class.ea-data-table__cell--align-center]=\"col.align === 'center'\"\n [class.ea-data-table__cell--align-right]=\"col.align === 'right'\"\n [style.width]=\"col.width ?? null\"\n [attr.role]=\"navigable() ? 'gridcell' : null\"\n [attr.data-ea-cell]=\"navigable() ? rowIndex + 1 + '-' + colIndex : null\"\n [attr.tabindex]=\"bodyCellTabindex(rowIndex + 1, colIndex)\"\n (focus)=\"onCellFocus(rowIndex + 1, colIndex)\">\n @if (rowHref()?.(row); as url) {\n <a\n class=\"ea-data-table__row-link\"\n [href]=\"url\"\n tabindex=\"-1\"\n [attr.aria-hidden]=\"colIndex > 0 ? true : null\">\n <ng-container\n [ngTemplateOutlet]=\"cellContent\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col }\" />\n </a>\n } @else {\n <ng-container\n [ngTemplateOutlet]=\"cellContent\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col }\" />\n }\n </td>\n }\n </tr>\n }\n }\n </tbody>\n </table>\n </div>\n <ng-content select=\"ea-paginator\" />\n</div>\n",
|
|
16139
16292
|
styles: [".ea-data-table{--ea-data-table-font-size: var(--font-size-md);overflow:hidden;width:100%;border:var(--border-width-thin) solid var(--color-border-subtle);border-radius:var(--radius-lg);background-color:var(--ea-data-table-background-color, var(--color-bg-base))}.ea-data-table__scroll{overflow-x:auto}.ea-data-table--2xs{--ea-data-table-font-size: var(--font-size-2xs)}.ea-data-table--xs{--ea-data-table-font-size: var(--font-size-xs)}.ea-data-table--sm{--ea-data-table-font-size: var(--font-size-sm)}.ea-data-table--md{--ea-data-table-font-size: var(--font-size-md)}.ea-data-table--lg{--ea-data-table-font-size: var(--font-size-lg)}.ea-data-table--xl{--ea-data-table-font-size: var(--font-size-xl)}.ea-data-table__table{width:100%;border-spacing:0;border-collapse:collapse;font-family:var(--font-family-sans);font-size:var(--ea-data-table-font-size);color:var(--ea-data-table-color, var(--color-text-primary));table-layout:auto}.ea-data-table__caption{padding:calc(var(--ea-data-table-font-size) * .5) calc(var(--ea-data-table-font-size) * .75);text-align:start;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);caption-side:top}.ea-data-table__head{background-color:var(--ea-data-table-header-background-color, var(--color-bg-stripe))}.ea-data-table__cell--header{position:relative;font-weight:var(--font-weight-medium);font-size:var(--ea-data-table-header-font-size, calc(var(--ea-data-table-font-size) * .75));line-height:var(--text-label-sm-lh);letter-spacing:var(--letter-spacing-wide);text-transform:var(--ea-data-table-header-text-transform, uppercase);text-align:start;white-space:nowrap;color:var(--ea-data-table-header-color, var(--color-text-secondary));border-bottom:var(--border-width-thin) solid var(--color-border-subtle);-webkit-user-select:none;user-select:none}.ea-data-table__cell--sortable{cursor:pointer;transition:var(--transition-colors)}.ea-data-table__cell--sortable:hover{color:var(--ea-data-table-header-hover-color, var(--color-text-primary));background-color:var(--ea-data-table-header-hover-background-color, var(--color-state-hover))}.ea-data-table__cell--sorted{color:var(--ea-data-table-header-sorted-color, var(--color-brand-text))}.ea-data-table__sort-button{display:inline-flex;align-items:center;width:100%;padding:0;margin:0;font:inherit;text-transform:inherit;letter-spacing:inherit;border:none;background:none;color:inherit;cursor:pointer}.ea-data-table__sort-button:focus-visible{outline:none;outline:var(--border-width-medium) solid var(--color-border-focus);outline-offset:2px}@media(forced-colors:active){.ea-data-table__sort-button:focus-visible{outline:2px solid Highlight;outline-offset:2px}}.ea-data-table__cell--align-center .ea-data-table__sort-button{justify-content:center}.ea-data-table__cell--align-right .ea-data-table__sort-button{justify-content:flex-end}.ea-data-table__header-text{display:inline;vertical-align:middle}.ea-data-table__sort-icon{display:inline-flex;vertical-align:middle;width:1em;height:1em;margin-inline-start:calc(var(--ea-data-table-font-size) * .25);opacity:.5;transition:var(--transition-opacity)}.ea-data-table__cell--sortable:hover .ea-data-table__sort-icon,.ea-data-table__cell--sorted .ea-data-table__sort-icon{opacity:1}.ea-data-table__row{border-bottom:var(--border-width-thin) solid var(--ea-data-table-row-border-color, var(--color-border-subtle));transition:var(--transition-colors)}.ea-data-table__row:last-child{border-bottom-width:0}.ea-data-table__cell{text-align:start;vertical-align:middle}.ea-data-table__cell--align-center{text-align:center}.ea-data-table__cell--align-right{text-align:end}.ea-data-table__cell--empty{text-align:center;color:var(--color-text-tertiary);font-style:italic}.ea-data-table--compact .ea-data-table__cell{padding:calc(var(--ea-data-table-font-size) * .375) calc(var(--ea-data-table-font-size) * .75)}.ea-data-table--comfortable .ea-data-table__cell{padding:calc(var(--ea-data-table-font-size) * .625) var(--ea-data-table-font-size)}.ea-data-table--spacious .ea-data-table__cell{padding:var(--ea-data-table-font-size) calc(var(--ea-data-table-font-size) * 1.5)}.ea-data-table__sizing .ea-data-table__row{border-bottom:none}.ea-data-table__sizing .ea-data-table__cell{padding-top:0;padding-bottom:0}.ea-data-table__sizing-content{overflow:hidden;visibility:hidden;height:0}.ea-data-table--sticky .ea-data-table__sizing{display:none}.ea-data-table--sticky{max-height:inherit;height:inherit}.ea-data-table--fixed .ea-data-table__table{table-layout:fixed}.ea-data-table--sticky .ea-data-table__scroll{max-height:inherit;height:inherit}.ea-data-table--sticky .ea-data-table__table{display:flex;flex-direction:column;min-width:calc(var(--ea-data-table-font-size) * 32);max-height:inherit;height:inherit}.ea-data-table--sticky .ea-data-table__head{display:block;flex-shrink:0}.ea-data-table--sticky .ea-data-table__head .ea-data-table__row--header{display:table;width:100%;table-layout:fixed}.ea-data-table--sticky .ea-data-table__body{display:block;overflow-y:auto;flex:1 1 auto;min-height:0}.ea-data-table--sticky .ea-data-table__body .ea-data-table__row{display:table;width:100%;table-layout:fixed}.ea-data-table--striped .ea-data-table__body .ea-data-table__row:nth-child(2n){background-color:var(--ea-data-table-row-stripe-background-color, var(--color-bg-stripe-subtle))}.ea-data-table--hoverable .ea-data-table__body .ea-data-table__row:not(.ea-data-table__row--empty):not(.ea-data-table__row--inert):not(.ea-data-table__row--placeholder):hover{background-color:var(--ea-data-table-row-hover-background-color, var(--color-state-hover))}@media(forced-colors:active){.ea-data-table--hoverable .ea-data-table__body .ea-data-table__row:not(.ea-data-table__row--empty):not(.ea-data-table__row--inert):not(.ea-data-table__row--placeholder):hover{background-color:Highlight;color:HighlightText}.ea-data-table--hoverable .ea-data-table__body .ea-data-table__row:not(.ea-data-table__row--empty):not(.ea-data-table__row--inert):not(.ea-data-table__row--placeholder):hover .ea-data-table__cell--sorted{color:HighlightText}}.ea-data-table--clickable .ea-data-table__body .ea-data-table__row:not(.ea-data-table__row--empty):not(.ea-data-table__row--inert):not(.ea-data-table__row--placeholder){cursor:var(--ea-data-table-row-cursor, pointer)}.ea-data-table--linked .ea-data-table__cell{position:relative}.ea-data-table__row-link{text-decoration:none;color:inherit}.ea-data-table__row-link:hover{color:inherit}.ea-data-table__row-link:after{position:absolute;inset:0;content:\"\"}.ea-data-table__placeholder{display:inline-block;vertical-align:middle;width:100%}.ea-data-table--nowrap .ea-data-table__cell{white-space:nowrap}.ea-data-table--bordered .ea-data-table__cell{border-inline-end:var(--border-width-thin) solid var(--color-border-subtle)}.ea-data-table--bordered .ea-data-table__cell:last-child{border-inline-end:none}.ea-data-table--navigable .ea-data-table__cell:focus-visible{outline:var(--border-width-medium) solid var(--color-border-focus);outline-offset:calc(-2 * var(--border-width-medium))}@media(forced-colors:active){.ea-data-table--navigable .ea-data-table__cell:focus-visible{outline-color:Highlight}}.ea-data-table--navigable .ea-data-table__cell:focus-visible{box-shadow:none}.ea-data-table__body .ea-data-table__row:focus-visible{outline:var(--border-width-medium) solid var(--color-border-focus);outline-offset:calc(-2 * var(--border-width-medium))}@media(forced-colors:active){.ea-data-table__body .ea-data-table__row:focus-visible{outline-color:Highlight}}\n"],
|
|
@@ -16210,6 +16363,10 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
16210
16363
|
}],
|
|
16211
16364
|
ctorParameters: () => [],
|
|
16212
16365
|
propDecorators: {
|
|
16366
|
+
rowEls: [{
|
|
16367
|
+
type: i0.ViewChildren,
|
|
16368
|
+
args: ["rowEl", { isSignal: true }]
|
|
16369
|
+
}],
|
|
16213
16370
|
columns: [{
|
|
16214
16371
|
type: i0.Input,
|
|
16215
16372
|
args: [{
|