@taiga-ui/addon-table 5.0.0-rc.1 → 5.0.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/table/index.d.ts +1 -0
- package/components/table/pipes/sorter.pipe.d.ts +8 -0
- package/components/table/pipes/table-sort.pipe.d.ts +4 -4
- package/components/table/table.d.ts +2 -1
- package/fesm2022/taiga-ui-addon-table-components-reorder.mjs +3 -3
- package/fesm2022/taiga-ui-addon-table-components-table-pagination.mjs +3 -3
- package/fesm2022/taiga-ui-addon-table-components-table.mjs +72 -73
- package/fesm2022/taiga-ui-addon-table-components-table.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-table-directives-table-control.mjs +9 -9
- package/fesm2022/taiga-ui-addon-table-directives-table-filters.mjs +15 -21
- package/fesm2022/taiga-ui-addon-table-directives-table-filters.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-table-tokens.mjs +2 -6
- package/fesm2022/taiga-ui-addon-table-tokens.mjs.map +1 -1
- package/package.json +10 -10
|
@@ -7,6 +7,7 @@ export * from './directives/sortable.directive';
|
|
|
7
7
|
export * from './directives/stuck.directive';
|
|
8
8
|
export * from './directives/table.directive';
|
|
9
9
|
export * from './directives/thead.directive';
|
|
10
|
+
export * from './pipes/sorter.pipe';
|
|
10
11
|
export * from './pipes/table-sort.pipe';
|
|
11
12
|
export * from './table';
|
|
12
13
|
export * from './table.options';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type PipeTransform } from '@angular/core';
|
|
2
|
+
import { type TuiComparator } from '@taiga-ui/addon-table/types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class TuiSorterPipe implements PipeTransform {
|
|
5
|
+
transform<T>(key: keyof T): TuiComparator<T>;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiSorterPipe, never>;
|
|
7
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<TuiSorterPipe, "tuiSorter", true>;
|
|
8
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { type PipeTransform } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class TuiTableSortPipe
|
|
3
|
+
export declare class TuiTableSortPipe implements PipeTransform {
|
|
4
4
|
private readonly table;
|
|
5
5
|
private readonly data;
|
|
6
6
|
private readonly sorted;
|
|
7
|
-
transform(data?: readonly T[] | null): readonly T[];
|
|
8
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiTableSortPipe
|
|
9
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<TuiTableSortPipe
|
|
7
|
+
transform<T>(data?: readonly T[] | null): readonly T[];
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiTableSortPipe, never>;
|
|
9
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<TuiTableSortPipe, "tuiTableSort", true>;
|
|
10
10
|
}
|
|
@@ -6,6 +6,7 @@ import { TuiTableSortBy } from './directives/sort-by.directive';
|
|
|
6
6
|
import { TuiTableSortable } from './directives/sortable.directive';
|
|
7
7
|
import { TuiTableDirective } from './directives/table.directive';
|
|
8
8
|
import { TuiTableThead } from './directives/thead.directive';
|
|
9
|
+
import { TuiSorterPipe } from './pipes/sorter.pipe';
|
|
9
10
|
import { TuiTableSortPipe } from './pipes/table-sort.pipe';
|
|
10
11
|
import { TuiTableExpand } from './table-expand/table-expand.component';
|
|
11
12
|
import { TuiTableTbody } from './tbody/tbody.component';
|
|
@@ -13,4 +14,4 @@ import { TuiTableTd } from './td/td.component';
|
|
|
13
14
|
import { TuiTableTh } from './th/th.component';
|
|
14
15
|
import { TuiTableThGroup } from './th-group/th-group.component';
|
|
15
16
|
import { TuiTableTr } from './tr/tr.component';
|
|
16
|
-
export declare const TuiTable: readonly [typeof TuiTableDirective, typeof TuiTableCaption, typeof TuiTableTbody, typeof TuiTableThGroup, typeof TuiTableTh, typeof TuiTableTd, typeof TuiTableTr, typeof TuiTableCell, typeof TuiTableHead, typeof TuiTableSortBy, typeof TuiTableSortable, typeof TuiTableThead, typeof TuiTableResized, typeof TuiTableSortPipe, typeof TuiTableExpand];
|
|
17
|
+
export declare const TuiTable: readonly [typeof TuiTableDirective, typeof TuiTableCaption, typeof TuiTableTbody, typeof TuiTableThGroup, typeof TuiTableTh, typeof TuiTableTd, typeof TuiTableTr, typeof TuiTableCell, typeof TuiTableHead, typeof TuiTableSortBy, typeof TuiTableSortable, typeof TuiTableThead, typeof TuiTableResized, typeof TuiSorterPipe, typeof TuiTableSortPipe, typeof TuiTableExpand];
|
|
@@ -89,15 +89,15 @@ class TuiReorder {
|
|
|
89
89
|
updateEnabled() {
|
|
90
90
|
this.enabled.set(this.getSortedItems().filter((item) => this.isEnabled(item)));
|
|
91
91
|
}
|
|
92
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
93
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
92
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiReorder, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
93
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: TuiReorder, isStandalone: true, selector: "tui-reorder", inputs: { enabled: { classPropertyName: "enabled", publicName: "enabled", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { enabled: "enabledChange", items: "itemsChange" }, host: { listeners: { "focusout.stop": "(0)", "pointerdown.zoneless": "onDrag()", "document:pointerup.zoneless": "onDrop()" } }, providers: [
|
|
94
94
|
{
|
|
95
95
|
provide: TUI_TILES_REORDER,
|
|
96
96
|
useValue: tuiTilesShift,
|
|
97
97
|
},
|
|
98
98
|
], ngImport: i0, template: "<tui-tiles\n class=\"t-wrapper\"\n [(order)]=\"order\"\n>\n @for (item of unsortedItems(); track item) {\n <tui-tile [style.order]=\"order.get($index)\">\n <div\n class=\"t-item\"\n [class.t-item_disabled]=\"!isEnabled(item)\"\n >\n <div\n tuiTileHandle\n class=\"t-draggable\"\n >\n <tui-icon\n class=\"t-icon\"\n [icon]=\"options.icons.drag\"\n />\n <ng-container\n *polymorpheusOutlet=\"content() as template; context: {$implicit: item, index: $index}\"\n >\n {{ template }}\n </ng-container>\n </div>\n <button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [iconStart]=\"getIcon(item)\"\n (click)=\"toggle(item)\"\n (keydown.arrowDown.prevent)=\"move($index, 1)\"\n (keydown.arrowUp.prevent)=\"move($index, -1)\"\n >\n {{ showHideText() }}\n </button>\n </div>\n </tui-tile>\n }\n</tui-tiles>\n", styles: [":host{display:block;font:var(--tui-font-body-s);padding:.5rem 0;-webkit-user-select:none;user-select:none}.t-wrapper{grid-auto-rows:2rem}.t-draggable{cursor:ns-resize;flex:1 1 auto}.t-item{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;block-size:2rem;align-items:center;padding:0 .75rem;background:var(--tui-background-base)}.t-item_disabled{opacity:var(--tui-disabled-opacity)}.t-item_disabled .t-button{color:var(--tui-text-primary);opacity:1}.t-item:hover{background:var(--tui-background-base-alt)}.t-item:hover .t-button{opacity:1}.t-icon{margin-inline-end:.5rem;color:var(--tui-text-tertiary)}.t-icon:before{font-size:1rem}.t-button{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-inline-start:auto;opacity:0}.t-button:focus{opacity:1}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "component", type: i1.TuiTilesComponent, selector: "tui-tiles", inputs: ["debounce", "order"], outputs: ["orderChange"] }, { kind: "component", type: i1.TuiTile, selector: "tui-tile", inputs: ["width", "height"] }, { kind: "directive", type: i1.TuiTileHandle, selector: "[tuiTileHandle]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
99
99
|
}
|
|
100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiReorder, decorators: [{
|
|
101
101
|
type: Component,
|
|
102
102
|
args: [{ selector: 'tui-reorder', imports: [PolymorpheusOutlet, TuiButton, TuiIcon, TuiTiles], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
103
103
|
{
|
|
@@ -67,10 +67,10 @@ class TuiTablePagination {
|
|
|
67
67
|
this.page.update((page) => page + 1);
|
|
68
68
|
this.paginationChange.emit(this.pagination());
|
|
69
69
|
}
|
|
70
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
71
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
70
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTablePagination, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
71
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: TuiTablePagination, isStandalone: true, selector: "tui-table-pagination", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, total: { classPropertyName: "total", publicName: "total", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { page: "pageChange", size: "sizeChange", paginationChange: "paginationChange" }, ngImport: i0, template: "@if (texts(); as texts) {\n <span class=\"t-pages\">\n @if (options.showPages) {\n {{ texts.pages }}\n <strong class=\"t-strong\">{{ pages() }}</strong>\n }\n </span>\n <span automation-id=\"tui-table-pagination__lines-per-page-wrapper\">\n {{ texts.linesPerPage }}\n @if (total() !== 0) {\n <button\n tuiDropdown\n tuiDropdownAuto\n tuiLink\n type=\"button\"\n >\n <strong>{{ start + 1 }}\u2013{{ end() }}</strong>\n <tui-data-list\n *tuiDropdown=\"let close\"\n size=\"s\"\n >\n @for (item of items(); track item) {\n <button\n tuiOption\n type=\"button\"\n class=\"t-item\"\n (click)=\"close(); onItem(item)\"\n >\n <ng-container\n *polymorpheusOutlet=\"\n sizeOptionContent as text;\n context: {$implicit: item, total: total()}\n \"\n >\n {{ text }}\n </ng-container>\n @if (item === size()) {\n <tui-icon\n class=\"t-checkmark\"\n [icon]=\"icons.check\"\n />\n } @else {\n <span class=\"t-checkmark\"></span>\n }\n </button>\n }\n </tui-data-list>\n </button>\n } @else {\n <strong>0 - 0</strong>\n }\n {{ texts.of }}\n <strong class=\"t-strong\">{{ total() }}</strong>\n </span>\n @if (spinTexts(); as spinTexts) {\n <button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button t-button_back\"\n [disabled]=\"!start\"\n [iconStart]=\"icons.decrement\"\n (click)=\"back()\"\n >\n {{ spinTexts[0] }}\n </button>\n <button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"rightDisabled()\"\n [iconStart]=\"icons.increment\"\n (click)=\"forth()\"\n >\n {{ spinTexts[1] }}\n </button>\n }\n}\n", styles: [":host{display:flex;font:var(--tui-font-body-s);align-items:center;color:var(--tui-text-tertiary)}.t-strong{color:var(--tui-text-primary)}.t-pages{margin-inline-end:auto}.t-item{min-inline-size:5.5rem;box-sizing:border-box}.t-checkmark{min-inline-size:1rem;font-size:1rem;margin-inline-start:auto}.t-button{transform:scaleX(var(--tui-inline))}.t-button_back{margin-inline-end:.25rem;margin-inline-start:1.5rem}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i1.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "directive", type: i1.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled"] }, { kind: "directive", type: i2.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i2.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownAuto],[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "directive", type: i2.TuiDropdownContent, selector: "ng-template[tuiDropdown]" }, { kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
72
72
|
}
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTablePagination, decorators: [{
|
|
74
74
|
type: Component,
|
|
75
75
|
args: [{ selector: 'tui-table-pagination', imports: [PolymorpheusOutlet, TuiButton, TuiDataList, TuiDropdown, TuiIcon, TuiLink], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (texts(); as texts) {\n <span class=\"t-pages\">\n @if (options.showPages) {\n {{ texts.pages }}\n <strong class=\"t-strong\">{{ pages() }}</strong>\n }\n </span>\n <span automation-id=\"tui-table-pagination__lines-per-page-wrapper\">\n {{ texts.linesPerPage }}\n @if (total() !== 0) {\n <button\n tuiDropdown\n tuiDropdownAuto\n tuiLink\n type=\"button\"\n >\n <strong>{{ start + 1 }}\u2013{{ end() }}</strong>\n <tui-data-list\n *tuiDropdown=\"let close\"\n size=\"s\"\n >\n @for (item of items(); track item) {\n <button\n tuiOption\n type=\"button\"\n class=\"t-item\"\n (click)=\"close(); onItem(item)\"\n >\n <ng-container\n *polymorpheusOutlet=\"\n sizeOptionContent as text;\n context: {$implicit: item, total: total()}\n \"\n >\n {{ text }}\n </ng-container>\n @if (item === size()) {\n <tui-icon\n class=\"t-checkmark\"\n [icon]=\"icons.check\"\n />\n } @else {\n <span class=\"t-checkmark\"></span>\n }\n </button>\n }\n </tui-data-list>\n </button>\n } @else {\n <strong>0 - 0</strong>\n }\n {{ texts.of }}\n <strong class=\"t-strong\">{{ total() }}</strong>\n </span>\n @if (spinTexts(); as spinTexts) {\n <button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button t-button_back\"\n [disabled]=\"!start\"\n [iconStart]=\"icons.decrement\"\n (click)=\"back()\"\n >\n {{ spinTexts[0] }}\n </button>\n <button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"rightDisabled()\"\n [iconStart]=\"icons.increment\"\n (click)=\"forth()\"\n >\n {{ spinTexts[1] }}\n </button>\n }\n}\n", styles: [":host{display:flex;font:var(--tui-font-body-s);align-items:center;color:var(--tui-text-tertiary)}.t-strong{color:var(--tui-text-primary)}.t-pages{margin-inline-end:auto}.t-item{min-inline-size:5.5rem;box-sizing:border-box}.t-checkmark{min-inline-size:1rem;font-size:1rem;margin-inline-start:auto}.t-button{transform:scaleX(var(--tui-inline))}.t-button_back{margin-inline-end:.25rem;margin-inline-start:1.5rem}\n"] }]
|
|
76
76
|
}] });
|
|
@@ -23,10 +23,10 @@ import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
|
|
|
23
23
|
import { TuiControl } from '@taiga-ui/cdk/classes';
|
|
24
24
|
|
|
25
25
|
class TuiTableCaption {
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableCaption, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TuiTableCaption, isStandalone: true, selector: "caption[tuiCaption]", ngImport: i0, template: '<ng-content/>', isInline: true, styles: ["caption[tuiCaption]{caption-side:bottom;text-align:start;padding:.75rem 0;color:var(--tui-text-secondary)}caption[tuiCaption]>*{vertical-align:middle}caption[tuiCaption]>*:not(:first-child){margin-inline-start:.5rem}caption[tuiCaption] tui-pagination:not(:first-child),caption[tuiCaption] tui-pager:not(:first-child){display:inline-flex;vertical-align:middle}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
28
28
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableCaption, decorators: [{
|
|
30
30
|
type: Component,
|
|
31
31
|
args: [{ selector: 'caption[tuiCaption]', template: '<ng-content/>', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["caption[tuiCaption]{caption-side:bottom;text-align:start;padding:.75rem 0;color:var(--tui-text-secondary)}caption[tuiCaption]>*{vertical-align:middle}caption[tuiCaption]>*:not(:first-child){margin-inline-start:.5rem}caption[tuiCaption] tui-pagination:not(:first-child),caption[tuiCaption] tui-pager:not(:first-child){display:inline-flex;vertical-align:middle}\n"] }]
|
|
32
32
|
}] });
|
|
@@ -36,14 +36,12 @@ class TuiTableCell {
|
|
|
36
36
|
this.tuiCell = input('');
|
|
37
37
|
this.template = inject((TemplateRef));
|
|
38
38
|
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
40
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableCell, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
40
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.18", type: TuiTableCell, isStandalone: true, selector: "ng-template[tuiCell]", inputs: { tuiCell: { classPropertyName: "tuiCell", publicName: "tuiCell", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
41
41
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableCell, decorators: [{
|
|
43
43
|
type: Directive,
|
|
44
|
-
args: [{
|
|
45
|
-
selector: 'ng-template[tuiCell]',
|
|
46
|
-
}]
|
|
44
|
+
args: [{ selector: 'ng-template[tuiCell]' }]
|
|
47
45
|
}] });
|
|
48
46
|
|
|
49
47
|
class TuiTableHead {
|
|
@@ -51,14 +49,12 @@ class TuiTableHead {
|
|
|
51
49
|
this.tuiHead = input.required();
|
|
52
50
|
this.template = inject((TemplateRef));
|
|
53
51
|
}
|
|
54
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
55
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableHead, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
53
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.18", type: TuiTableHead, isStandalone: true, selector: "[tuiHead]", inputs: { tuiHead: { classPropertyName: "tuiHead", publicName: "tuiHead", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
|
|
56
54
|
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableHead, decorators: [{
|
|
58
56
|
type: Directive,
|
|
59
|
-
args: [{
|
|
60
|
-
selector: '[tuiHead]',
|
|
61
|
-
}]
|
|
57
|
+
args: [{ selector: '[tuiHead]' }]
|
|
62
58
|
}] });
|
|
63
59
|
|
|
64
60
|
class TuiTableResized {
|
|
@@ -71,14 +67,12 @@ class TuiTableResized {
|
|
|
71
67
|
}));
|
|
72
68
|
this.tuiResized = outputFromObservable(this.tuiResized$);
|
|
73
69
|
}
|
|
74
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
75
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
70
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableResized, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
71
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: TuiTableResized, isStandalone: true, selector: "[tuiResized]", outputs: { tuiResized: "tuiResized" }, ngImport: i0 }); }
|
|
76
72
|
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableResized, decorators: [{
|
|
78
74
|
type: Directive,
|
|
79
|
-
args: [{
|
|
80
|
-
selector: '[tuiResized]',
|
|
81
|
-
}]
|
|
75
|
+
args: [{ selector: '[tuiResized]' }]
|
|
82
76
|
}] });
|
|
83
77
|
|
|
84
78
|
const TuiSortDirection = {
|
|
@@ -105,8 +99,8 @@ class TuiStuck {
|
|
|
105
99
|
constructor() {
|
|
106
100
|
this.stuck = toSignal(inject(WaIntersectionObserverService).pipe(map((entries) => (entries[entries.length - 1]?.intersectionRatio ?? 0) < 1), distinctUntilChanged(), tuiWatch(), catchError(() => EMPTY)));
|
|
107
101
|
}
|
|
108
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
109
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
102
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiStuck, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
103
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: TuiStuck, isStandalone: true, selector: "tui-stuck:never", host: { properties: { "class._stuck": "stuck()" } }, providers: [
|
|
110
104
|
WaIntersectionObserverService,
|
|
111
105
|
{
|
|
112
106
|
provide: WA_INTERSECTION_THRESHOLD,
|
|
@@ -114,7 +108,7 @@ class TuiStuck {
|
|
|
114
108
|
},
|
|
115
109
|
], ngImport: i0 }); }
|
|
116
110
|
}
|
|
117
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiStuck, decorators: [{
|
|
118
112
|
type: Directive,
|
|
119
113
|
args: [{
|
|
120
114
|
selector: 'tui-stuck:never',
|
|
@@ -131,10 +125,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
131
125
|
|
|
132
126
|
const EMPTY_COMPARATOR = () => 0;
|
|
133
127
|
class Styles {
|
|
134
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
135
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
128
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
129
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-table" }, ngImport: i0, template: '', isInline: true, styles: ["table[tuiTable]{border-collapse:separate;border-spacing:0;isolation:isolate}table[tuiTable] [tuiCell]{padding:0}table[tuiTable] [tuiTitle]{white-space:nowrap}table[tuiTable] [tuiTitle] tui-icon{font-size:1rem}table[tuiTable] [tuiSubtitle]{color:var(--tui-text-secondary)}table[tuiTable] [tuiTh] [tuiCell],table[tuiTable] [tuiTh] [tuiTitle]{font:inherit;color:inherit}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
136
130
|
}
|
|
137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: Styles, decorators: [{
|
|
138
132
|
type: Component,
|
|
139
133
|
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-table' }, styles: ["table[tuiTable]{border-collapse:separate;border-spacing:0;isolation:isolate}table[tuiTable] [tuiCell]{padding:0}table[tuiTable] [tuiTitle]{white-space:nowrap}table[tuiTable] [tuiTitle] tui-icon{font-size:1rem}table[tuiTable] [tuiSubtitle]{color:var(--tui-text-secondary)}table[tuiTable] [tuiTh] [tuiCell],table[tuiTable] [tuiTh] [tuiTitle]{font:inherit;color:inherit}\n"] }]
|
|
140
134
|
}] });
|
|
@@ -169,8 +163,8 @@ class TuiTableDirective {
|
|
|
169
163
|
this.sorter.set(sorter || EMPTY_COMPARATOR.bind({}));
|
|
170
164
|
this.direction.set(direction);
|
|
171
165
|
}
|
|
172
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
173
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.
|
|
166
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
167
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.18", type: TuiTableDirective, isStandalone: true, selector: "table[tuiTable]", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, sorter: { classPropertyName: "sorter", publicName: "sorter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { direction: "directionChange", sorter: "sorterChange", sortChange: "sortChange" }, host: { attributes: { "tuiTable": "" }, properties: { "attr.data-size": "size()" } }, providers: [
|
|
174
168
|
{
|
|
175
169
|
provide: WA_INTERSECTION_ROOT_MARGIN,
|
|
176
170
|
useValue: '10000px 10000px 10000px 0px',
|
|
@@ -182,7 +176,7 @@ class TuiTableDirective {
|
|
|
182
176
|
tuiProgressOptionsProvider({ size: 's', color: 'var(--tui-text-action)' }),
|
|
183
177
|
], hostDirectives: [{ directive: TuiStuck }], ngImport: i0 }); }
|
|
184
178
|
}
|
|
185
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
179
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableDirective, decorators: [{
|
|
186
180
|
type: Directive,
|
|
187
181
|
args: [{
|
|
188
182
|
selector: 'table[tuiTable]',
|
|
@@ -209,9 +203,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
209
203
|
class TuiTableTh {
|
|
210
204
|
constructor() {
|
|
211
205
|
this.options = inject(TUI_TABLE_OPTIONS);
|
|
212
|
-
this.head = inject(TuiTableHead, {
|
|
213
|
-
optional: true,
|
|
214
|
-
});
|
|
206
|
+
this.head = inject(TuiTableHead, { optional: true });
|
|
215
207
|
this.width = signal(null);
|
|
216
208
|
this.table = inject(forwardRef(() => TuiTableDirective), { optional: true });
|
|
217
209
|
this.minWidth = input(-Infinity);
|
|
@@ -249,10 +241,10 @@ class TuiTableTh {
|
|
|
249
241
|
return (this.sorter() === this.table?.sorter() &&
|
|
250
242
|
this.table?.direction() === TuiSortDirection.Desc);
|
|
251
243
|
}
|
|
252
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
253
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
244
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableTh, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
245
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: TuiTableTh, isStandalone: true, selector: "th[tuiTh]", inputs: { minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, sorter: { classPropertyName: "sorter", publicName: "sorter", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, sticky: { classPropertyName: "sticky", publicName: "sticky", isSignal: true, isRequired: false, transformFunction: null }, requiredSort: { classPropertyName: "requiredSort", publicName: "requiredSort", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sorter: "sorterChange" }, host: { properties: { "style.min-width.px": "width() || minWidth()", "style.width.px": "width() || minWidth()", "style.max-width.px": "width() || maxWidth()", "class._sticky": "sticky()" } }, ngImport: i0, template: "@if (sorter() && table) {\n <button\n type=\"button\"\n class=\"t-sort\"\n [class.t-sort_sorted]=\"isCurrent\"\n (click)=\"updateSorterAndDirection()\"\n >\n <ng-container [ngTemplateOutlet]=\"content\" />\n <tui-icon\n class=\"t-icon\"\n [icon]=\"icon\"\n />\n </button>\n} @else {\n <ng-container [ngTemplateOutlet]=\"content\" />\n}\n<ng-template #content>\n <ng-content />\n</ng-template>\n@if (resizable()) {\n <div\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n ></div>\n}\n", styles: [":host{transition-property:box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;top:0;block-size:var(--tui-height-m);font:var(--tui-font-body-s);text-align:start;font-weight:700;color:var(--tui-text-secondary);background:var(--tui-background-base);cursor:default;padding:0 .75rem;box-sizing:border-box;box-shadow:0 .3125rem #ededed00;border:1px solid var(--tui-border-normal);filter:opacity(1)}@supports (-webkit-hyphens: none){:host{transform:translateZ(0)}}:host:not(:first-child){border-inline-start:none}:host._sticky,:host-context(._stuck) :host._sticky{position:sticky;z-index:3000}:host._sticky:first-child,:host-context(._stuck) :host._sticky:first-child{left:0}:host._sticky:after,:host-context(._stuck) :host._sticky:after{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;left:100%;bottom:0;inline-size:.3125rem;pointer-events:none;background:#edededb3;opacity:0}:host-context(._stuck) :host{z-index:2000}:host-context(tr:not(:first-child)){border-block-start:none}:host-context(table[data-size=\"l\"]){block-size:var(--tui-height-l);font:var(--tui-font-body-m);font-weight:700;padding:0 1rem}:host-context(table[data-size=\"s\"]){block-size:var(--tui-height-s);font:var(--tui-font-body-s);font-weight:700;padding:0 .5rem}:host-context(thead[tuiThead]){position:sticky}:host-context(table._stuck)._sticky:after{opacity:1}:host-context(thead[tuiThead]._stuck){box-shadow:0 .3125rem #edededb3}:host-context([tuiTheme=\"dark\"])._sticky:after{background:#3c3c3ce6}:host-context([tuiTheme=\"dark\"] thead[tuiThead]._stuck){box-shadow:0 .3125rem #3c3c3ce6}:host-context([tuiTheme=\"dark\"] thead[tuiThead]._stuck):first-child{box-shadow:.0625rem .3125rem #3c3c3ce6}:host-context(table[data-size=\"l\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-l)}:host-context(table[data-size=\"m\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-m)}:host-context(table[data-size=\"s\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-s)}.t-sort{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;line-height:inherit;text-decoration:none;display:inline-flex;vertical-align:top;flex-direction:inherit;align-items:center;outline:none;font:inherit;text-transform:inherit;color:inherit;cursor:pointer}.t-sort_sorted{color:var(--tui-text-primary)}.t-sort:focus-visible{background:var(--tui-service-selection-background)}.t-sort:hover{color:var(--tui-text-primary)}.t-bar{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:0;bottom:0;right:-1px;inline-size:.1875rem;justify-self:flex-end;border-inline-start:2px solid transparent;background:var(--tui-status-warning);background-clip:content-box;cursor:ew-resize;opacity:0}.t-bar:hover,.t-bar:active{opacity:1}.t-icon:before{font-size:1rem}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "directive", type: TuiTableResized, selector: "[tuiResized]", outputs: ["tuiResized"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
254
246
|
}
|
|
255
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
247
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableTh, decorators: [{
|
|
256
248
|
type: Component,
|
|
257
249
|
args: [{ selector: 'th[tuiTh]', imports: [NgTemplateOutlet, TuiIcon, TuiTableResized], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
258
250
|
'[style.min-width.px]': 'width() || minWidth()',
|
|
@@ -294,14 +286,12 @@ class TuiTableSortable {
|
|
|
294
286
|
get match() {
|
|
295
287
|
return this.sortBy.tuiSortBy() === this.key;
|
|
296
288
|
}
|
|
297
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
298
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.
|
|
289
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableSortable, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
290
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.18", type: TuiTableSortable, isStandalone: true, selector: "th[tuiTh][tuiSortable]", inputs: { sortable: { classPropertyName: "sortable", publicName: "tuiSortable", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
299
291
|
}
|
|
300
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
292
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableSortable, decorators: [{
|
|
301
293
|
type: Directive,
|
|
302
|
-
args: [{
|
|
303
|
-
selector: 'th[tuiTh][tuiSortable]',
|
|
304
|
-
}]
|
|
294
|
+
args: [{ selector: 'th[tuiTh][tuiSortable]' }]
|
|
305
295
|
}] });
|
|
306
296
|
|
|
307
297
|
class TuiTableSortBy {
|
|
@@ -325,26 +315,24 @@ class TuiTableSortBy {
|
|
|
325
315
|
getKey(sorter) {
|
|
326
316
|
return this.sortables().find((s) => s.sorter() === sorter)?.key || null;
|
|
327
317
|
}
|
|
328
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
329
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.
|
|
318
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableSortBy, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
319
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.18", type: TuiTableSortBy, isStandalone: true, selector: "table[tuiTable][tuiSortBy]", inputs: { tuiSortBy: { classPropertyName: "tuiSortBy", publicName: "tuiSortBy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tuiSortChange: "tuiSortChange" }, queries: [{ propertyName: "sortables", predicate: TuiTableSortable, descendants: true, isSignal: true }], ngImport: i0 }); }
|
|
330
320
|
}
|
|
331
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
321
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableSortBy, decorators: [{
|
|
332
322
|
type: Directive,
|
|
333
|
-
args: [{
|
|
334
|
-
selector: 'table[tuiTable][tuiSortBy]',
|
|
335
|
-
}]
|
|
323
|
+
args: [{ selector: 'table[tuiTable][tuiSortBy]' }]
|
|
336
324
|
}] });
|
|
337
325
|
|
|
338
326
|
class TuiTableThead {
|
|
339
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
340
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
327
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableThead, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
328
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: TuiTableThead, isStandalone: true, selector: "thead[tuiThead]", providers: [
|
|
341
329
|
{
|
|
342
330
|
provide: WA_INTERSECTION_ROOT_MARGIN,
|
|
343
331
|
useValue: '0px 10000px 10000px 10000px',
|
|
344
332
|
},
|
|
345
333
|
], hostDirectives: [{ directive: TuiStuck }], ngImport: i0 }); }
|
|
346
334
|
}
|
|
347
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
335
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableThead, decorators: [{
|
|
348
336
|
type: Directive,
|
|
349
337
|
args: [{
|
|
350
338
|
selector: 'thead[tuiThead]',
|
|
@@ -358,6 +346,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
358
346
|
}]
|
|
359
347
|
}] });
|
|
360
348
|
|
|
349
|
+
class TuiSorterPipe {
|
|
350
|
+
transform(key) {
|
|
351
|
+
return (a, b) => tuiDefaultSort(a[key], b[key]);
|
|
352
|
+
}
|
|
353
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiSorterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
354
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: TuiSorterPipe, isStandalone: true, name: "tuiSorter" }); }
|
|
355
|
+
}
|
|
356
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiSorterPipe, decorators: [{
|
|
357
|
+
type: Pipe,
|
|
358
|
+
args: [{ name: 'tuiSorter' }]
|
|
359
|
+
}] });
|
|
360
|
+
|
|
361
361
|
class TuiTableSortPipe {
|
|
362
362
|
constructor() {
|
|
363
363
|
this.table = inject((TuiTableDirective));
|
|
@@ -368,10 +368,10 @@ class TuiTableSortPipe {
|
|
|
368
368
|
untracked(() => this.data.set(data ?? []));
|
|
369
369
|
return this.sorted();
|
|
370
370
|
}
|
|
371
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
372
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.
|
|
371
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableSortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
372
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: TuiTableSortPipe, isStandalone: true, name: "tuiTableSort", pure: false }); }
|
|
373
373
|
}
|
|
374
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
374
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableSortPipe, decorators: [{
|
|
375
375
|
type: Pipe,
|
|
376
376
|
args: [{
|
|
377
377
|
name: 'tuiTableSort',
|
|
@@ -406,10 +406,10 @@ class TuiTableExpand {
|
|
|
406
406
|
el.style.removeProperty('display');
|
|
407
407
|
return height;
|
|
408
408
|
}
|
|
409
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
410
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.
|
|
409
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableExpand, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
410
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.18", type: TuiTableExpand, isStandalone: true, selector: "tui-table-expand", inputs: { expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expanded: "expandedChange" }, host: { attributes: { "ngSkipHydration": "true" }, listeners: { "tuiPresent": "visible$.next($event)" } }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.TuiPresent, outputs: ["tuiPresent", "tuiPresent"] }], ngImport: i0, template: "<div\n #content\n class=\"t-content\"\n [class.t-content_open]=\"expanded() && !transitioning()\"\n>\n <ng-content />\n</div>\n\n<div\n class=\"t-filler\"\n [class.t-filler_open]=\"expanded()\"\n [style.--t-height.px]=\"contentHeight()\"\n (animationcancel)=\"transitioning.set(false)\"\n (animationend)=\"transitioning.set(false)\"\n (animationstart)=\"transitioning.set(true)\"\n></div>\n", styles: ["@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes open{0%{block-size:0}to{block-size:var(--t-height)}}@keyframes close{0%{block-size:var(--t-height)}to{block-size:0}}:host{display:contents}:host:not(._visible){--tui-duration: 0ms}.t-content{display:none}.t-content_open{display:contents}.t-content_open ::ng-deep tr{animation:fade-in var(--tui-duration)}.t-filler{animation:close calc(var(--tui-duration) + 1ms)}.t-filler_open{animation:open calc(var(--tui-duration) + 1ms)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
411
411
|
}
|
|
412
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
412
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableExpand, decorators: [{
|
|
413
413
|
type: Component,
|
|
414
414
|
args: [{ selector: 'tui-table-expand', changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
|
|
415
415
|
{
|
|
@@ -427,14 +427,12 @@ class TuiTableTd {
|
|
|
427
427
|
this.control = contentChild((TuiControl));
|
|
428
428
|
this.textfield = contentChild((TuiTextfieldComponent));
|
|
429
429
|
}
|
|
430
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
431
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.
|
|
430
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableTd, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
431
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.18", type: TuiTableTd, isStandalone: true, selector: "th[tuiTd], td[tuiTd]", host: { properties: { "class._editable": "control() || textfield()" } }, queries: [{ propertyName: "control", first: true, predicate: (TuiControl), descendants: true, isSignal: true }, { propertyName: "textfield", first: true, predicate: (TuiTextfieldComponent), descendants: true, isSignal: true }], ngImport: i0, template: '<ng-content />', isInline: true, styles: [":host{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;text-align:start;background:var(--tui-background-base);border:1px solid var(--tui-border-normal);border-block-start:none;box-sizing:border-box;filter:opacity(1)}@supports (-webkit-hyphens: none){:host{transform:translateZ(0)}}:host:first-child{left:0}:host:not(:first-child){border-inline-start:none}:host._editable{padding:0!important;vertical-align:top}:host(th){position:sticky;z-index:100}:host(th):after{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;bottom:0;left:100%;inline-size:.3125rem;pointer-events:none;background:#edededb3;opacity:0}:host(th):focus-within:not(:disabled){z-index:1100}:host-context([tuiTheme=\"dark\"]):after{background:#3c3c3ce6}:host-context(table._stuck){z-index:1000}:host-context(table._stuck):last-of-type:after{opacity:1}:host-context(table[data-size=\"l\"]){block-size:var(--tui-height-l);font:var(--tui-font-body-m);padding:calc(1rem - 1px) 1rem 1rem}:host-context(table[data-size=\"m\"]){block-size:var(--tui-height-m);font:var(--tui-font-body-s);padding:calc(.625rem - 1px) .75rem .625rem}:host-context(table[data-size=\"s\"]){block-size:var(--tui-height-s);font:var(--tui-font-body-s);padding:calc(.25rem - 1px) .5rem .25rem}:host(td):focus-within{z-index:100!important}:host(td):not(:focus-within){z-index:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
432
432
|
}
|
|
433
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
433
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableTd, decorators: [{
|
|
434
434
|
type: Component,
|
|
435
|
-
args: [{ selector: 'th[tuiTd], td[tuiTd]', template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
436
|
-
'[class._editable]': 'control() || textfield()',
|
|
437
|
-
}, styles: [":host{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;text-align:start;background:var(--tui-background-base);border:1px solid var(--tui-border-normal);border-block-start:none;box-sizing:border-box;filter:opacity(1)}@supports (-webkit-hyphens: none){:host{transform:translateZ(0)}}:host:first-child{left:0}:host:not(:first-child){border-inline-start:none}:host._editable{padding:0!important;vertical-align:top}:host(th){position:sticky;z-index:100}:host(th):after{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;bottom:0;left:100%;inline-size:.3125rem;pointer-events:none;background:#edededb3;opacity:0}:host(th):focus-within:not(:disabled){z-index:1100}:host-context([tuiTheme=\"dark\"]):after{background:#3c3c3ce6}:host-context(table._stuck){z-index:1000}:host-context(table._stuck):last-of-type:after{opacity:1}:host-context(table[data-size=\"l\"]){block-size:var(--tui-height-l);font:var(--tui-font-body-m);padding:calc(1rem - 1px) 1rem 1rem}:host-context(table[data-size=\"m\"]){block-size:var(--tui-height-m);font:var(--tui-font-body-s);padding:calc(.75rem - 1px) .75rem .75rem}:host-context(table[data-size=\"s\"]){block-size:var(--tui-height-s);font:var(--tui-font-body-s);padding:calc(.25rem - 1px) .5rem .25rem}:host(td):focus-within{z-index:100!important}:host(td):not(:focus-within){z-index:0}\n"] }]
|
|
435
|
+
args: [{ selector: 'th[tuiTd], td[tuiTd]', template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, host: { '[class._editable]': 'control() || textfield()' }, styles: [":host{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;text-align:start;background:var(--tui-background-base);border:1px solid var(--tui-border-normal);border-block-start:none;box-sizing:border-box;filter:opacity(1)}@supports (-webkit-hyphens: none){:host{transform:translateZ(0)}}:host:first-child{left:0}:host:not(:first-child){border-inline-start:none}:host._editable{padding:0!important;vertical-align:top}:host(th){position:sticky;z-index:100}:host(th):after{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;bottom:0;left:100%;inline-size:.3125rem;pointer-events:none;background:#edededb3;opacity:0}:host(th):focus-within:not(:disabled){z-index:1100}:host-context([tuiTheme=\"dark\"]):after{background:#3c3c3ce6}:host-context(table._stuck){z-index:1000}:host-context(table._stuck):last-of-type:after{opacity:1}:host-context(table[data-size=\"l\"]){block-size:var(--tui-height-l);font:var(--tui-font-body-m);padding:calc(1rem - 1px) 1rem 1rem}:host-context(table[data-size=\"m\"]){block-size:var(--tui-height-m);font:var(--tui-font-body-s);padding:calc(.625rem - 1px) .75rem .625rem}:host-context(table[data-size=\"s\"]){block-size:var(--tui-height-s);font:var(--tui-font-body-s);padding:calc(.25rem - 1px) .5rem .25rem}:host(td):focus-within{z-index:100!important}:host(td):not(:focus-within){z-index:0}\n"] }]
|
|
438
436
|
}] });
|
|
439
437
|
|
|
440
438
|
class TuiTableTr {
|
|
@@ -445,10 +443,10 @@ class TuiTableTr {
|
|
|
445
443
|
this.items = computed(() => this.cells().reduce((record, item) => ({ ...record, [item.tuiCell()]: item }), {}));
|
|
446
444
|
this.item = computed(() => this.body.data()[this.body.rows().findIndex((row) => row === this)]);
|
|
447
445
|
}
|
|
448
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
449
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
446
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableTr, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
447
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: TuiTableTr, isStandalone: true, selector: "tr[tuiTr]", queries: [{ propertyName: "cells", predicate: i0.forwardRef(() => TuiTableCell), isSignal: true }], ngImport: i0, template: "@if (items(); as items) {\n @for (key of table.columns(); track key) {\n <ng-container [ngTemplateOutlet]=\"(items[key] && items[key].template) || plain\">\n <ng-template #plain>\n <td tuiTd>\n {{ item()[key] }}\n </td>\n </ng-template>\n </ng-container>\n }\n} @else {\n <td></td>\n}\n<ng-content />\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TuiTableTd, selector: "th[tuiTd], td[tuiTd]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
450
448
|
}
|
|
451
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
449
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableTr, decorators: [{
|
|
452
450
|
type: Component,
|
|
453
451
|
args: [{ selector: 'tr[tuiTr]', imports: [NgTemplateOutlet, TuiTableTd], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (items(); as items) {\n @for (key of table.columns(); track key) {\n <ng-container [ngTemplateOutlet]=\"(items[key] && items[key].template) || plain\">\n <ng-template #plain>\n <td tuiTd>\n {{ item()[key] }}\n </td>\n </ng-template>\n </ng-container>\n }\n} @else {\n <td></td>\n}\n<ng-content />\n" }]
|
|
454
452
|
}] });
|
|
@@ -468,10 +466,10 @@ class TuiTableTbody {
|
|
|
468
466
|
this.open.set(!this.open());
|
|
469
467
|
};
|
|
470
468
|
}
|
|
471
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
472
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
469
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableTbody, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
470
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: TuiTableTbody, isStandalone: true, selector: "tbody[tuiTbody]", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange" }, queries: [{ propertyName: "rows", predicate: i0.forwardRef(() => TuiTableTr), isSignal: true }], ngImport: i0, template: "@if (heading()) {\n <tr>\n <th\n class=\"t-heading\"\n [colSpan]=\"table.columns().length\"\n >\n <button\n type=\"button\"\n class=\"t-expand\"\n (click)=\"onClick()\"\n >\n <span class=\"t-name\">\n <ng-container *polymorpheusOutlet=\"heading() as text\">\n {{ text }}\n </ng-container>\n </span>\n <tui-icon\n class=\"t-chevron\"\n [tuiChevron]=\"open()\"\n />\n </button>\n </th>\n </tr>\n}\n@if (open()) {\n <ng-content />\n}\n", styles: [":host{border-color:var(--tui-border-normal)}:host tr{border-color:inherit}.t-expand{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;display:flex;inline-size:100%;block-size:100%;align-items:center;box-sizing:border-box;outline:none;font-weight:700;cursor:pointer;border-color:inherit}.t-expand:focus-visible .t-name{background:var(--tui-service-selection-background)}.t-expand:before,.t-expand:after{content:\"\";position:sticky;block-size:100%;border-inline-start:1px solid;border-color:inherit}.t-expand:before{left:0}.t-expand:after{right:0}.t-heading{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;block-size:var(--tui-height-m);font:var(--tui-font-body-s);padding:0;background:var(--tui-background-neutral-1);border-block-end:1px solid var(--tui-border-normal);border-color:inherit}.t-heading:hover{background:var(--tui-background-neutral-1-hover)}:host-context(table[data-size=\"l\"]) .t-heading{font:var(--tui-font-body-m);block-size:var(--tui-height-l)}.t-name{position:sticky;left:.75rem;display:inline-block}:host-context(table[data-size=\"l\"]) .t-name{left:1rem}.t-chevron{position:sticky;right:.75rem;margin:0 .6875rem 0 auto}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }, { kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
473
471
|
}
|
|
474
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
472
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableTbody, decorators: [{
|
|
475
473
|
type: Component,
|
|
476
474
|
args: [{ selector: 'tbody[tuiTbody]', imports: [PolymorpheusOutlet, TuiChevron, TuiIcon], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (heading()) {\n <tr>\n <th\n class=\"t-heading\"\n [colSpan]=\"table.columns().length\"\n >\n <button\n type=\"button\"\n class=\"t-expand\"\n (click)=\"onClick()\"\n >\n <span class=\"t-name\">\n <ng-container *polymorpheusOutlet=\"heading() as text\">\n {{ text }}\n </ng-container>\n </span>\n <tui-icon\n class=\"t-chevron\"\n [tuiChevron]=\"open()\"\n />\n </button>\n </th>\n </tr>\n}\n@if (open()) {\n <ng-content />\n}\n", styles: [":host{border-color:var(--tui-border-normal)}:host tr{border-color:inherit}.t-expand{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;display:flex;inline-size:100%;block-size:100%;align-items:center;box-sizing:border-box;outline:none;font-weight:700;cursor:pointer;border-color:inherit}.t-expand:focus-visible .t-name{background:var(--tui-service-selection-background)}.t-expand:before,.t-expand:after{content:\"\";position:sticky;block-size:100%;border-inline-start:1px solid;border-color:inherit}.t-expand:before{left:0}.t-expand:after{right:0}.t-heading{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;block-size:var(--tui-height-m);font:var(--tui-font-body-s);padding:0;background:var(--tui-background-neutral-1);border-block-end:1px solid var(--tui-border-normal);border-color:inherit}.t-heading:hover{background:var(--tui-background-neutral-1-hover)}:host-context(table[data-size=\"l\"]) .t-heading{font:var(--tui-font-body-m);block-size:var(--tui-height-l)}.t-name{position:sticky;left:.75rem;display:inline-block}:host-context(table[data-size=\"l\"]) .t-name{left:1rem}.t-chevron{position:sticky;right:.75rem;margin:0 .6875rem 0 auto}\n"] }]
|
|
477
475
|
}] });
|
|
@@ -483,10 +481,10 @@ class TuiTableThGroup {
|
|
|
483
481
|
this.computedHeads = computed(() => this.heads().reduce((record, item) => ({ ...record, [item.tuiHead()]: item }), {}));
|
|
484
482
|
this.table = inject(forwardRef(() => TuiTableDirective));
|
|
485
483
|
}
|
|
486
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
487
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
484
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableThGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
485
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: TuiTableThGroup, isStandalone: true, selector: "tr[tuiThGroup]", queries: [{ propertyName: "th", first: true, predicate: i0.forwardRef(() => TuiTableTh), descendants: true, isSignal: true }, { propertyName: "heads", predicate: i0.forwardRef(() => TuiTableHead), isSignal: true }], ngImport: i0, template: "<ng-content />\n@if (computedHeads(); as headings) {\n @for (key of table.columns(); track key) {\n <ng-container\n [ngTemplateOutlet]=\"headings?.[key]?.template || plain\"\n [ngTemplateOutletContext]=\"{$implicit: key}\"\n />\n }\n <ng-template\n #plain\n let-key\n >\n @if (!th() && !heads().length) {\n <th tuiTh>\n {{ key.toString() }}\n </th>\n }\n </ng-template>\n}\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TuiTableTh, selector: "th[tuiTh]", inputs: ["minWidth", "maxWidth", "sorter", "resizable", "sticky", "requiredSort"], outputs: ["sorterChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
488
486
|
}
|
|
489
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
487
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableThGroup, decorators: [{
|
|
490
488
|
type: Component,
|
|
491
489
|
args: [{ selector: 'tr[tuiThGroup]', imports: [NgTemplateOutlet, TuiTableTh], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content />\n@if (computedHeads(); as headings) {\n @for (key of table.columns(); track key) {\n <ng-container\n [ngTemplateOutlet]=\"headings?.[key]?.template || plain\"\n [ngTemplateOutletContext]=\"{$implicit: key}\"\n />\n }\n <ng-template\n #plain\n let-key\n >\n @if (!th() && !heads().length) {\n <th tuiTh>\n {{ key.toString() }}\n </th>\n }\n </ng-template>\n}\n" }]
|
|
492
490
|
}] });
|
|
@@ -505,6 +503,7 @@ const TuiTable = [
|
|
|
505
503
|
TuiTableSortable,
|
|
506
504
|
TuiTableThead,
|
|
507
505
|
TuiTableResized,
|
|
506
|
+
TuiSorterPipe,
|
|
508
507
|
TuiTableSortPipe,
|
|
509
508
|
TuiTableExpand,
|
|
510
509
|
];
|
|
@@ -513,5 +512,5 @@ const TuiTable = [
|
|
|
513
512
|
* Generated bundle index. Do not edit.
|
|
514
513
|
*/
|
|
515
514
|
|
|
516
|
-
export { TUI_TABLE_DEFAULT_OPTIONS, TUI_TABLE_OPTIONS, TuiSortDirection, TuiStuck, TuiTable, TuiTableCaption, TuiTableCell, TuiTableDirective, TuiTableExpand, TuiTableHead, TuiTableResized, TuiTableSortBy, TuiTableSortKeyException, TuiTableSortPipe, TuiTableSortable, TuiTableTbody, TuiTableTd, TuiTableTh, TuiTableThGroup, TuiTableThead, TuiTableTr, tuiTableOptionsProvider };
|
|
515
|
+
export { TUI_TABLE_DEFAULT_OPTIONS, TUI_TABLE_OPTIONS, TuiSortDirection, TuiSorterPipe, TuiStuck, TuiTable, TuiTableCaption, TuiTableCell, TuiTableDirective, TuiTableExpand, TuiTableHead, TuiTableResized, TuiTableSortBy, TuiTableSortKeyException, TuiTableSortPipe, TuiTableSortable, TuiTableTbody, TuiTableTd, TuiTableTh, TuiTableThGroup, TuiTableThead, TuiTableTr, tuiTableOptionsProvider };
|
|
517
516
|
//# sourceMappingURL=taiga-ui-addon-table-components-table.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-table-components-table.mjs","sources":["../../../projects/addon-table/components/table/caption/caption.component.ts","../../../projects/addon-table/components/table/directives/cell.directive.ts","../../../projects/addon-table/components/table/directives/head.directive.ts","../../../projects/addon-table/components/table/directives/resized.directive.ts","../../../projects/addon-table/components/table/table.options.ts","../../../projects/addon-table/components/table/directives/stuck.directive.ts","../../../projects/addon-table/components/table/directives/table.directive.ts","../../../projects/addon-table/components/table/th/th.component.ts","../../../projects/addon-table/components/table/th/th.template.html","../../../projects/addon-table/components/table/directives/sortable.directive.ts","../../../projects/addon-table/components/table/directives/sort-by.directive.ts","../../../projects/addon-table/components/table/directives/thead.directive.ts","../../../projects/addon-table/components/table/pipes/table-sort.pipe.ts","../../../projects/addon-table/components/table/table-expand/table-expand.component.ts","../../../projects/addon-table/components/table/table-expand/table-expand.template.html","../../../projects/addon-table/components/table/td/td.component.ts","../../../projects/addon-table/components/table/tr/tr.component.ts","../../../projects/addon-table/components/table/tr/tr.template.html","../../../projects/addon-table/components/table/tbody/tbody.component.ts","../../../projects/addon-table/components/table/tbody/tbody.template.html","../../../projects/addon-table/components/table/th-group/th-group.component.ts","../../../projects/addon-table/components/table/th-group/th-group.template.html","../../../projects/addon-table/components/table/table.ts","../../../projects/addon-table/components/table/taiga-ui-addon-table-components-table.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'caption[tuiCaption]',\n template: '<ng-content/>',\n styleUrl: './caption.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTableCaption {}\n","import {Directive, inject, input, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: 'ng-template[tuiCell]',\n})\nexport class TuiTableCell {\n public readonly tuiCell = input('');\n\n public readonly template = inject(TemplateRef<Record<string, unknown>>);\n}\n","import {Directive, inject, input, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[tuiHead]',\n})\nexport class TuiTableHead<T extends Partial<Record<keyof T, unknown>>> {\n public readonly tuiHead = input.required<string | keyof T>();\n\n public readonly template = inject(TemplateRef<Record<string, unknown>>);\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, inject} from '@angular/core';\nimport {outputFromObservable} from '@angular/core/rxjs-interop';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk/constants';\nimport {tuiPreventDefault, tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {distinctUntilChanged, map, switchMap, takeUntil} from 'rxjs';\n\n@Directive({\n selector: '[tuiResized]',\n})\nexport class TuiTableResized {\n private readonly doc = inject(DOCUMENT);\n private readonly el = tuiInjectElement();\n\n private readonly tuiResized$ = tuiTypedFromEvent(this.el, 'mousedown').pipe(\n tuiPreventDefault(),\n switchMap(() => {\n const {width, right} =\n this.el.closest('th')?.getBoundingClientRect() || EMPTY_CLIENT_RECT;\n\n return tuiTypedFromEvent(this.doc, 'mousemove').pipe(\n distinctUntilChanged(),\n map(({clientX}) => width + clientX - right),\n takeUntil(tuiTypedFromEvent(this.doc, 'mouseup')),\n );\n }),\n );\n\n public readonly tuiResized = outputFromObservable(this.tuiResized$);\n}\n","import {type TuiComparator} from '@taiga-ui/addon-table/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport const TuiSortDirection = {\n Asc: 1,\n Desc: -1,\n} as const;\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport type TuiSortDirection = (typeof TuiSortDirection)[keyof typeof TuiSortDirection];\n\nexport interface TuiSortChange<T> {\n sortKey: keyof T | null;\n sortDirection: TuiSortDirection;\n}\n\nexport interface TuiTableSortChange<T> {\n sortComparator: TuiComparator<T> | null;\n sortDirection: TuiSortDirection;\n}\n\nexport interface TuiTableOptions {\n readonly direction: TuiSortDirection;\n readonly requiredSort: boolean;\n readonly open: boolean;\n readonly resizable: boolean;\n readonly size: TuiSizeL | TuiSizeS;\n readonly sortIcons: {\n readonly asc: string;\n readonly desc: string;\n readonly off: string;\n };\n readonly sticky: boolean;\n}\n\nexport const TUI_TABLE_DEFAULT_OPTIONS: TuiTableOptions = {\n sticky: false,\n resizable: false,\n open: true,\n size: 'm',\n direction: TuiSortDirection.Asc,\n requiredSort: false,\n sortIcons: {\n asc: '@tui.chevron-up',\n desc: '@tui.chevron-down',\n off: '@tui.chevrons-up-down',\n },\n};\n\nexport const [TUI_TABLE_OPTIONS, tuiTableOptionsProvider] = tuiCreateOptions(\n TUI_TABLE_DEFAULT_OPTIONS,\n);\n","import {Directive, inject} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {\n WA_INTERSECTION_THRESHOLD,\n WaIntersectionObserverService,\n} from '@ng-web-apis/intersection-observer';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {catchError, distinctUntilChanged, EMPTY, map} from 'rxjs';\n\n// TODO: Consider making universal and moving to CDK\n@Directive({\n selector: 'tui-stuck:never',\n providers: [\n WaIntersectionObserverService,\n {\n provide: WA_INTERSECTION_THRESHOLD,\n useValue: [0, 1],\n },\n ],\n host: {'[class._stuck]': 'stuck()'},\n})\nexport class TuiStuck {\n protected readonly stuck = toSignal(\n inject(WaIntersectionObserverService).pipe(\n map((entries) => (entries[entries.length - 1]?.intersectionRatio ?? 0) < 1),\n distinctUntilChanged(),\n tuiWatch(),\n catchError(() => EMPTY), // SSR\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n effect,\n inject,\n input,\n model,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {WA_INTERSECTION_ROOT_MARGIN} from '@ng-web-apis/intersection-observer';\nimport {type TuiComparator} from '@taiga-ui/addon-table/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {\n TUI_TEXTFIELD_OPTIONS,\n type TuiTextfieldOptions,\n} from '@taiga-ui/core/components/textfield';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {tuiBadgeOptionsProvider} from '@taiga-ui/kit/components/badge';\nimport {tuiChipOptionsProvider} from '@taiga-ui/kit/components/chip';\nimport {tuiProgressOptionsProvider} from '@taiga-ui/kit/components/progress';\n\nimport {\n TUI_TABLE_OPTIONS,\n TuiSortDirection,\n type TuiTableSortChange,\n} from '../table.options';\nimport {TuiStuck} from './stuck.directive';\n\nconst EMPTY_COMPARATOR: TuiComparator<unknown> = () => 0;\n\n@Component({\n template: '',\n styleUrl: './table.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-table'},\n})\nclass Styles {}\n\n@Directive({\n selector: 'table[tuiTable]',\n providers: [\n {\n provide: WA_INTERSECTION_ROOT_MARGIN,\n useValue: '10000px 10000px 10000px 0px',\n },\n tuiProvide(TUI_TEXTFIELD_OPTIONS, TuiTableDirective),\n tuiButtonOptionsProvider({size: 's'}),\n tuiBadgeOptionsProvider({size: 'm', appearance: 'neutral'}),\n tuiChipOptionsProvider({size: 'xxs', appearance: 'neutral'}),\n tuiProgressOptionsProvider({size: 's', color: 'var(--tui-text-action)'}),\n ],\n hostDirectives: [TuiStuck],\n host: {\n tuiTable: '',\n '[attr.data-size]': 'size()',\n },\n})\nexport class TuiTableDirective<\n T extends Partial<Record<keyof T, unknown>>,\n> implements TuiTextfieldOptions {\n private readonly options = inject(TUI_TABLE_OPTIONS);\n protected readonly nothing = tuiWithStyles(Styles);\n protected readonly computedSortChange = computed<TuiTableSortChange<T>>(() => ({\n sortComparator: this.sorter(),\n sortDirection: this.direction(),\n }));\n\n protected readonly sortChangeOutput = effect(() =>\n this.sortChange.emit(this.computedSortChange()),\n );\n\n public readonly columns = input<ReadonlyArray<string | keyof T>>([]);\n public readonly size = input<TuiSizeL | TuiSizeS>(this.options.size);\n public readonly direction = model(this.options.direction);\n public readonly sorter = model<TuiComparator<T>>(EMPTY_COMPARATOR);\n public readonly sortChange = output<TuiTableSortChange<T>>();\n\n public readonly appearance = signal('table');\n public readonly cleaner = signal(false);\n\n public updateSorterAndDirection(sorter: TuiComparator<T> | null): void {\n if (this.sorter() === sorter) {\n this.updateSorter(\n this.sorter(),\n this.direction() === TuiSortDirection.Asc\n ? TuiSortDirection.Desc\n : TuiSortDirection.Asc,\n );\n } else {\n this.updateSorter(sorter);\n }\n }\n\n public updateSorter(\n sorter: TuiComparator<T> | null,\n direction: TuiSortDirection = TuiSortDirection.Asc,\n ): void {\n this.sorter.set(sorter || EMPTY_COMPARATOR.bind({}));\n this.direction.set(direction);\n }\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport {NgTemplateOutlet} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n inject,\n input,\n model,\n signal,\n} from '@angular/core';\nimport {type TuiComparator} from '@taiga-ui/addon-table/types';\nimport {tuiDefaultSort} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\n\nimport {TuiTableHead} from '../directives/head.directive';\nimport {TuiTableResized} from '../directives/resized.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_TABLE_OPTIONS, TuiSortDirection} from '../table.options';\n\n@Component({\n selector: 'th[tuiTh]',\n imports: [NgTemplateOutlet, TuiIcon, TuiTableResized],\n templateUrl: './th.template.html',\n styleUrl: './th.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[style.min-width.px]': 'width() || minWidth()',\n '[style.width.px]': 'width() || minWidth()',\n '[style.max-width.px]': 'width() || maxWidth()',\n '[class._sticky]': 'sticky()',\n },\n})\nexport class TuiTableTh<T extends Partial<Record<keyof T, unknown>>> {\n private readonly options = inject(TUI_TABLE_OPTIONS);\n\n private readonly head = inject<TuiTableHead<T>>(TuiTableHead, {\n optional: true,\n });\n\n protected readonly width = signal<number | null>(null);\n\n protected readonly table = inject<TuiTableDirective<T>>(\n forwardRef(() => TuiTableDirective),\n {optional: true},\n );\n\n public readonly minWidth = input(-Infinity);\n\n public readonly maxWidth = input(Infinity);\n\n public sorter = model<TuiComparator<T> | null>(\n this.head ? (a, b) => tuiDefaultSort(a[this.key], b[this.key]) : null,\n );\n\n public readonly resizable = input(this.options.resizable);\n\n public readonly sticky = input(this.options.sticky);\n\n public readonly requiredSort = input(this.options.requiredSort);\n\n public get key(): keyof T {\n if (!this.head) {\n throw new TuiTableSortKeyException();\n }\n\n return this.head.tuiHead() as keyof T;\n }\n\n protected get isCurrent(): boolean {\n return !!this.sorter && !!this.table && this.sorter() === this.table.sorter();\n }\n\n protected get icon(): string {\n if (this.isCurrent) {\n return this.table?.direction() === TuiSortDirection.Asc\n ? this.options.sortIcons.asc\n : this.options.sortIcons.desc;\n }\n\n return this.options.sortIcons.off;\n }\n\n protected updateSorterAndDirection(): void {\n const sorter = this.requiredSort() ? this.sorter() : null;\n\n this.table?.updateSorterAndDirection(\n this.isCurrentAndDescDirection ? sorter : this.sorter(),\n );\n }\n\n protected onResized(width: number): void {\n this.width.set(Math.min(Math.max(width, this.minWidth()), this.maxWidth()));\n }\n\n private get isCurrentAndDescDirection(): boolean {\n return (\n this.sorter() === this.table?.sorter() &&\n this.table?.direction() === TuiSortDirection.Desc\n );\n }\n}\n\nexport class TuiTableSortKeyException extends Error {\n constructor() {\n super(ngDevMode ? 'Trying to sort with no key' : '');\n }\n}\n","@if (sorter() && table) {\n <button\n type=\"button\"\n class=\"t-sort\"\n [class.t-sort_sorted]=\"isCurrent\"\n (click)=\"updateSorterAndDirection()\"\n >\n <ng-container [ngTemplateOutlet]=\"content\" />\n <tui-icon\n class=\"t-icon\"\n [icon]=\"icon\"\n />\n </button>\n} @else {\n <ng-container [ngTemplateOutlet]=\"content\" />\n}\n<ng-template #content>\n <ng-content />\n</ng-template>\n@if (resizable()) {\n <div\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n ></div>\n}\n","import {type BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n computed,\n Directive,\n effect,\n forwardRef,\n inject,\n input,\n untracked,\n} from '@angular/core';\nimport {type TuiComparator} from '@taiga-ui/addon-table/types';\n\nimport {TuiTableTh} from '../th/th.component';\nimport {TuiTableSortBy} from './sort-by.directive';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n selector: 'th[tuiTh][tuiSortable]',\n})\nexport class TuiTableSortable<T extends Partial<Record<keyof T, unknown>>> {\n private readonly table: TuiTableDirective<T> = inject(TuiTableDirective<T>);\n private readonly th: TuiTableTh<T> = inject(TuiTableTh<T>);\n private readonly sortBy = inject<TuiTableSortBy<T>>(forwardRef(() => TuiTableSortBy));\n\n public readonly sortable = input<BooleanInput, any>(undefined, {\n alias: 'tuiSortable',\n transform: coerceBooleanProperty,\n });\n\n protected readonly setThSorter = effect(() => {\n this.th.sorter.set(this.sortable() ? this.sorter() : null);\n });\n\n protected readonly setTableSorter = effect(() => {\n if (this.match && untracked(this.table.sorter) !== this.sorter()) {\n this.table.updateSorter(this.sorter());\n }\n });\n\n public readonly sorter = computed<TuiComparator<T>>(() =>\n this.sortable() && untracked(() => this.match)\n ? untracked(this.table.sorter)\n : (): number => 0,\n );\n\n public get key(): keyof T {\n return this.th.key;\n }\n\n private get match(): boolean {\n return this.sortBy.tuiSortBy() === this.key;\n }\n}\n","import {\n computed,\n contentChildren,\n Directive,\n effect,\n inject,\n input,\n output,\n} from '@angular/core';\nimport {type TuiComparator} from '@taiga-ui/addon-table/types';\n\nimport {type TuiSortChange} from '../table.options';\nimport {TuiTableSortable} from './sortable.directive';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n selector: 'table[tuiTable][tuiSortBy]',\n})\nexport class TuiTableSortBy<T extends Partial<Record<keyof T, unknown>>> {\n private readonly table = inject(TuiTableDirective<T>);\n private readonly sortables = contentChildren<TuiTableSortable<T>>(TuiTableSortable, {\n descendants: true,\n });\n\n private readonly sortChange = computed<TuiSortChange<T>>(() => ({\n sortKey: this.sortables().length ? this.getKey(this.table.sorter()) : null,\n sortDirection: this.table.direction(),\n }));\n\n protected readonly sortOutput = effect(() => {\n if (this.sortables().length) {\n this.tuiSortChange.emit(this.sortChange());\n }\n });\n\n public readonly tuiSortChange = output<TuiSortChange<T>>();\n public readonly tuiSortBy = input<string | keyof T | null>(null);\n\n private getKey(sorter: TuiComparator<T> | null): keyof T | null {\n return this.sortables().find((s) => s.sorter() === sorter)?.key || null;\n }\n}\n","import {Directive} from '@angular/core';\nimport {WA_INTERSECTION_ROOT_MARGIN} from '@ng-web-apis/intersection-observer';\n\nimport {TuiStuck} from './stuck.directive';\n\n@Directive({\n selector: 'thead[tuiThead]',\n providers: [\n {\n provide: WA_INTERSECTION_ROOT_MARGIN,\n useValue: '0px 10000px 10000px 10000px',\n },\n ],\n hostDirectives: [TuiStuck],\n})\nexport class TuiTableThead {}\n","import {\n computed,\n inject,\n Pipe,\n type PipeTransform,\n signal,\n untracked,\n} from '@angular/core';\n\nimport {TuiTableDirective} from '../directives/table.directive';\n\n@Pipe({\n name: 'tuiTableSort',\n pure: false,\n})\nexport class TuiTableSortPipe<T> implements PipeTransform {\n private readonly table = inject(TuiTableDirective<any>);\n private readonly data = signal<readonly T[]>([]);\n private readonly sorted = computed(\n (direction = this.table.direction(), sorter = this.table.sorter()) =>\n [...this.data()].sort((a, b) => direction * sorter(a, b)),\n );\n\n public transform(data?: readonly T[] | null): readonly T[] {\n untracked(() => this.data.set(data ?? []));\n\n return this.sorted();\n }\n}\n","import {isPlatformServer} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n type ElementRef,\n inject,\n model,\n PLATFORM_ID,\n signal,\n viewChild,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiPresent} from '@taiga-ui/kit/directives/present';\nimport {map, of, Subject, switchMap, timer} from 'rxjs';\n\nimport {TUI_TABLE_OPTIONS} from '../table.options';\n\n@Component({\n selector: 'tui-table-expand',\n templateUrl: './table-expand.template.html',\n styleUrl: './table-expand.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: TuiPresent,\n outputs: ['tuiPresent'],\n },\n ],\n host: {\n ngSkipHydration: 'true',\n '(tuiPresent)': 'visible$.next($event)',\n },\n})\nexport class TuiTableExpand {\n private readonly content = viewChild<ElementRef<HTMLElement>>('content');\n\n private readonly el = tuiInjectElement();\n private readonly server = isPlatformServer(inject(PLATFORM_ID));\n\n protected readonly transitioning = signal(false);\n protected readonly contentHeight = computed((_ = this.expanded()) =>\n this.update(this.content()),\n );\n\n protected readonly visible$ = new Subject<boolean>();\n protected readonly sub = this.visible$\n .pipe(\n switchMap((v) => (v ? timer(500).pipe(map(() => v)) : of(v))),\n takeUntilDestroyed(),\n )\n .subscribe((visible) => this.el.classList.toggle('_visible', visible));\n\n public readonly expanded = model(inject(TUI_TABLE_OPTIONS).open);\n protected readonly transitioningEffect = effect((_, __ = this.expanded()) =>\n this.transitioning.set(true),\n );\n\n public toggle(): void {\n this.expanded.set(!this.expanded());\n }\n\n private update(content: ElementRef<HTMLElement> | undefined): number {\n if (!content || this.server) {\n return 0;\n }\n\n const el = content.nativeElement;\n\n el.style.setProperty('display', 'block');\n\n const height = el.getBoundingClientRect().height;\n\n el.style.removeProperty('display');\n\n return height;\n }\n}\n","<div\n #content\n class=\"t-content\"\n [class.t-content_open]=\"expanded() && !transitioning()\"\n>\n <ng-content />\n</div>\n\n<div\n class=\"t-filler\"\n [class.t-filler_open]=\"expanded()\"\n [style.--t-height.px]=\"contentHeight()\"\n (animationcancel)=\"transitioning.set(false)\"\n (animationend)=\"transitioning.set(false)\"\n (animationstart)=\"transitioning.set(true)\"\n></div>\n","import {ChangeDetectionStrategy, Component, contentChild} from '@angular/core';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\n\n@Component({\n selector: 'th[tuiTd], td[tuiTd]',\n template: '<ng-content />',\n styleUrl: './td.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._editable]': 'control() || textfield()',\n },\n})\nexport class TuiTableTd {\n protected readonly control = contentChild(TuiControl<unknown>);\n protected readonly textfield = contentChild(TuiTextfieldComponent<unknown>);\n}\n","import {NgTemplateOutlet} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n forwardRef,\n inject,\n} from '@angular/core';\n\nimport {TuiTableCell} from '../directives/cell.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TuiTableTbody} from '../tbody/tbody.component';\nimport {TuiTableTd} from '../td/td.component';\n\n@Component({\n selector: 'tr[tuiTr]',\n imports: [NgTemplateOutlet, TuiTableTd],\n templateUrl: './tr.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTableTr<T extends Partial<Record<keyof T, unknown>>> {\n private readonly cells = contentChildren<TuiTableCell>(\n forwardRef(() => TuiTableCell),\n );\n\n private readonly body = inject<TuiTableTbody<T>>(forwardRef(() => TuiTableTbody));\n\n protected readonly table = inject<TuiTableDirective<T>>(\n forwardRef(() => TuiTableDirective),\n );\n\n protected readonly items = computed(() =>\n this.cells().reduce(\n (record, item) => ({...record, [item.tuiCell()]: item}),\n {} as Record<string | keyof T, TuiTableCell>,\n ),\n );\n\n protected readonly item = computed(\n () =>\n this.body.data()[this.body.rows().findIndex((row) => row === this)] as Record<\n string | keyof T,\n unknown\n >,\n );\n}\n","@if (items(); as items) {\n @for (key of table.columns(); track key) {\n <ng-container [ngTemplateOutlet]=\"(items[key] && items[key].template) || plain\">\n <ng-template #plain>\n <td tuiTd>\n {{ item()[key] }}\n </td>\n </ng-template>\n </ng-container>\n }\n} @else {\n <td></td>\n}\n<ng-content />\n","import {\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n forwardRef,\n inject,\n input,\n model,\n} from '@angular/core';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiChevron} from '@taiga-ui/kit/directives/chevron';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_TABLE_OPTIONS} from '../table.options';\nimport {TuiTableTr} from '../tr/tr.component';\n\n@Component({\n selector: 'tbody[tuiTbody]',\n imports: [PolymorpheusOutlet, TuiChevron, TuiIcon],\n templateUrl: './tbody.template.html',\n styleUrl: './tbody.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTableTbody<T extends Partial<Record<keyof T, unknown>>> {\n private readonly options = inject(TUI_TABLE_OPTIONS);\n\n protected readonly table = inject<TuiTableDirective<T>>(\n forwardRef(() => TuiTableDirective),\n );\n\n public readonly rows = contentChildren<TuiTableTr<T>>(forwardRef(() => TuiTableTr));\n\n public readonly data = input<readonly T[]>([]);\n\n /** @deprecated: drop in v5.0, use TuiTableExpand */\n public readonly heading = input<PolymorpheusContent>();\n\n /** @deprecated: drop in v5.0, use TuiTableExpand */\n public readonly open = model(this.options.open);\n\n /** @deprecated: drop in v5.0, use TuiTableExpand */\n protected onClick = (): void => {\n this.open.set(!this.open());\n };\n}\n","@if (heading()) {\n <tr>\n <th\n class=\"t-heading\"\n [colSpan]=\"table.columns().length\"\n >\n <button\n type=\"button\"\n class=\"t-expand\"\n (click)=\"onClick()\"\n >\n <span class=\"t-name\">\n <ng-container *polymorpheusOutlet=\"heading() as text\">\n {{ text }}\n </ng-container>\n </span>\n <tui-icon\n class=\"t-chevron\"\n [tuiChevron]=\"open()\"\n />\n </button>\n </th>\n </tr>\n}\n@if (open()) {\n <ng-content />\n}\n","import {NgTemplateOutlet} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n contentChildren,\n forwardRef,\n inject,\n} from '@angular/core';\n\nimport {TuiTableHead} from '../directives/head.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TuiTableTh} from '../th/th.component';\n\n@Component({\n selector: 'tr[tuiThGroup]',\n imports: [NgTemplateOutlet, TuiTableTh],\n templateUrl: './th-group.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTableThGroup<T extends Partial<Record<keyof T, unknown>>> {\n protected readonly th = contentChild<TuiTableTh<T>>(forwardRef(() => TuiTableTh));\n\n protected readonly heads = contentChildren<TuiTableHead<T>>(\n forwardRef(() => TuiTableHead),\n );\n\n protected readonly computedHeads = computed<\n Record<string | keyof T, TuiTableHead<T>>\n >(() =>\n this.heads().reduce(\n (record, item) => ({...record, [item.tuiHead()]: item}),\n {} as Record<string | keyof T, TuiTableHead<T>>,\n ),\n );\n\n protected readonly table = inject<TuiTableDirective<T>>(\n forwardRef(() => TuiTableDirective),\n );\n}\n","<ng-content />\n@if (computedHeads(); as headings) {\n @for (key of table.columns(); track key) {\n <ng-container\n [ngTemplateOutlet]=\"headings?.[key]?.template || plain\"\n [ngTemplateOutletContext]=\"{$implicit: key}\"\n />\n }\n <ng-template\n #plain\n let-key\n >\n @if (!th() && !heads().length) {\n <th tuiTh>\n {{ key.toString() }}\n </th>\n }\n </ng-template>\n}\n","import {TuiTableCaption} from './caption/caption.component';\nimport {TuiTableCell} from './directives/cell.directive';\nimport {TuiTableHead} from './directives/head.directive';\nimport {TuiTableResized} from './directives/resized.directive';\nimport {TuiTableSortBy} from './directives/sort-by.directive';\nimport {TuiTableSortable} from './directives/sortable.directive';\nimport {TuiTableDirective} from './directives/table.directive';\nimport {TuiTableThead} from './directives/thead.directive';\nimport {TuiTableSortPipe} from './pipes/table-sort.pipe';\nimport {TuiTableExpand} from './table-expand/table-expand.component';\nimport {TuiTableTbody} from './tbody/tbody.component';\nimport {TuiTableTd} from './td/td.component';\nimport {TuiTableTh} from './th/th.component';\nimport {TuiTableThGroup} from './th-group/th-group.component';\nimport {TuiTableTr} from './tr/tr.component';\n\nexport const TuiTable = [\n TuiTableDirective,\n TuiTableCaption,\n TuiTableTbody,\n TuiTableThGroup,\n TuiTableTh,\n TuiTableTd,\n TuiTableTr,\n TuiTableCell,\n TuiTableHead,\n TuiTableSortBy,\n TuiTableSortable,\n TuiTableThead,\n TuiTableResized,\n TuiTableSortPipe,\n TuiTableExpand,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiStuck"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-table-components-table.mjs","sources":["../../../projects/addon-table/components/table/caption/caption.component.ts","../../../projects/addon-table/components/table/directives/cell.directive.ts","../../../projects/addon-table/components/table/directives/head.directive.ts","../../../projects/addon-table/components/table/directives/resized.directive.ts","../../../projects/addon-table/components/table/table.options.ts","../../../projects/addon-table/components/table/directives/stuck.directive.ts","../../../projects/addon-table/components/table/directives/table.directive.ts","../../../projects/addon-table/components/table/th/th.component.ts","../../../projects/addon-table/components/table/th/th.template.html","../../../projects/addon-table/components/table/directives/sortable.directive.ts","../../../projects/addon-table/components/table/directives/sort-by.directive.ts","../../../projects/addon-table/components/table/directives/thead.directive.ts","../../../projects/addon-table/components/table/pipes/sorter.pipe.ts","../../../projects/addon-table/components/table/pipes/table-sort.pipe.ts","../../../projects/addon-table/components/table/table-expand/table-expand.component.ts","../../../projects/addon-table/components/table/table-expand/table-expand.template.html","../../../projects/addon-table/components/table/td/td.component.ts","../../../projects/addon-table/components/table/tr/tr.component.ts","../../../projects/addon-table/components/table/tr/tr.template.html","../../../projects/addon-table/components/table/tbody/tbody.component.ts","../../../projects/addon-table/components/table/tbody/tbody.template.html","../../../projects/addon-table/components/table/th-group/th-group.component.ts","../../../projects/addon-table/components/table/th-group/th-group.template.html","../../../projects/addon-table/components/table/table.ts","../../../projects/addon-table/components/table/taiga-ui-addon-table-components-table.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'caption[tuiCaption]',\n template: '<ng-content/>',\n styleUrl: './caption.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTableCaption {}\n","import {Directive, inject, input, TemplateRef} from '@angular/core';\n\n@Directive({selector: 'ng-template[tuiCell]'})\nexport class TuiTableCell {\n public readonly tuiCell = input('');\n\n public readonly template = inject(TemplateRef<Record<string, unknown>>);\n}\n","import {Directive, inject, input, TemplateRef} from '@angular/core';\n\n@Directive({selector: '[tuiHead]'})\nexport class TuiTableHead<T extends Partial<Record<keyof T, unknown>>> {\n public readonly tuiHead = input.required<string | keyof T>();\n\n public readonly template = inject(TemplateRef<Record<string, unknown>>);\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, inject} from '@angular/core';\nimport {outputFromObservable} from '@angular/core/rxjs-interop';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk/constants';\nimport {tuiPreventDefault, tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {distinctUntilChanged, map, switchMap, takeUntil} from 'rxjs';\n\n@Directive({selector: '[tuiResized]'})\nexport class TuiTableResized {\n private readonly doc = inject(DOCUMENT);\n private readonly el = tuiInjectElement();\n\n private readonly tuiResized$ = tuiTypedFromEvent(this.el, 'mousedown').pipe(\n tuiPreventDefault(),\n switchMap(() => {\n const {width, right} =\n this.el.closest('th')?.getBoundingClientRect() || EMPTY_CLIENT_RECT;\n\n return tuiTypedFromEvent(this.doc, 'mousemove').pipe(\n distinctUntilChanged(),\n map(({clientX}) => width + clientX - right),\n takeUntil(tuiTypedFromEvent(this.doc, 'mouseup')),\n );\n }),\n );\n\n public readonly tuiResized = outputFromObservable(this.tuiResized$);\n}\n","import {type TuiComparator} from '@taiga-ui/addon-table/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport const TuiSortDirection = {\n Asc: 1,\n Desc: -1,\n} as const;\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport type TuiSortDirection = (typeof TuiSortDirection)[keyof typeof TuiSortDirection];\n\nexport interface TuiSortChange<T> {\n sortKey: keyof T | null;\n sortDirection: TuiSortDirection;\n}\n\nexport interface TuiTableSortChange<T> {\n sortComparator: TuiComparator<T> | null;\n sortDirection: TuiSortDirection;\n}\n\nexport interface TuiTableOptions {\n readonly direction: TuiSortDirection;\n readonly requiredSort: boolean;\n readonly open: boolean;\n readonly resizable: boolean;\n readonly size: TuiSizeL | TuiSizeS;\n readonly sortIcons: {\n readonly asc: string;\n readonly desc: string;\n readonly off: string;\n };\n readonly sticky: boolean;\n}\n\nexport const TUI_TABLE_DEFAULT_OPTIONS: TuiTableOptions = {\n sticky: false,\n resizable: false,\n open: true,\n size: 'm',\n direction: TuiSortDirection.Asc,\n requiredSort: false,\n sortIcons: {\n asc: '@tui.chevron-up',\n desc: '@tui.chevron-down',\n off: '@tui.chevrons-up-down',\n },\n};\n\nexport const [TUI_TABLE_OPTIONS, tuiTableOptionsProvider] = tuiCreateOptions(\n TUI_TABLE_DEFAULT_OPTIONS,\n);\n","import {Directive, inject} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {\n WA_INTERSECTION_THRESHOLD,\n WaIntersectionObserverService,\n} from '@ng-web-apis/intersection-observer';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {catchError, distinctUntilChanged, EMPTY, map} from 'rxjs';\n\n// TODO: Consider making universal and moving to CDK\n@Directive({\n selector: 'tui-stuck:never',\n providers: [\n WaIntersectionObserverService,\n {\n provide: WA_INTERSECTION_THRESHOLD,\n useValue: [0, 1],\n },\n ],\n host: {'[class._stuck]': 'stuck()'},\n})\nexport class TuiStuck {\n protected readonly stuck = toSignal(\n inject(WaIntersectionObserverService).pipe(\n map((entries) => (entries[entries.length - 1]?.intersectionRatio ?? 0) < 1),\n distinctUntilChanged(),\n tuiWatch(),\n catchError(() => EMPTY), // SSR\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n effect,\n inject,\n input,\n model,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {WA_INTERSECTION_ROOT_MARGIN} from '@ng-web-apis/intersection-observer';\nimport {type TuiComparator} from '@taiga-ui/addon-table/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {\n TUI_TEXTFIELD_OPTIONS,\n type TuiTextfieldOptions,\n} from '@taiga-ui/core/components/textfield';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {tuiBadgeOptionsProvider} from '@taiga-ui/kit/components/badge';\nimport {tuiChipOptionsProvider} from '@taiga-ui/kit/components/chip';\nimport {tuiProgressOptionsProvider} from '@taiga-ui/kit/components/progress';\n\nimport {\n TUI_TABLE_OPTIONS,\n TuiSortDirection,\n type TuiTableSortChange,\n} from '../table.options';\nimport {TuiStuck} from './stuck.directive';\n\nconst EMPTY_COMPARATOR: TuiComparator<unknown> = () => 0;\n\n@Component({\n template: '',\n styleUrl: './table.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-table'},\n})\nclass Styles {}\n\n@Directive({\n selector: 'table[tuiTable]',\n providers: [\n {\n provide: WA_INTERSECTION_ROOT_MARGIN,\n useValue: '10000px 10000px 10000px 0px',\n },\n tuiProvide(TUI_TEXTFIELD_OPTIONS, TuiTableDirective),\n tuiButtonOptionsProvider({size: 's'}),\n tuiBadgeOptionsProvider({size: 'm', appearance: 'neutral'}),\n tuiChipOptionsProvider({size: 'xxs', appearance: 'neutral'}),\n tuiProgressOptionsProvider({size: 's', color: 'var(--tui-text-action)'}),\n ],\n hostDirectives: [TuiStuck],\n host: {\n tuiTable: '',\n '[attr.data-size]': 'size()',\n },\n})\nexport class TuiTableDirective<\n T extends Partial<Record<keyof T, unknown>>,\n> implements TuiTextfieldOptions {\n private readonly options = inject(TUI_TABLE_OPTIONS);\n protected readonly nothing = tuiWithStyles(Styles);\n protected readonly computedSortChange = computed<TuiTableSortChange<T>>(() => ({\n sortComparator: this.sorter(),\n sortDirection: this.direction(),\n }));\n\n protected readonly sortChangeOutput = effect(() =>\n this.sortChange.emit(this.computedSortChange()),\n );\n\n public readonly columns = input<ReadonlyArray<string | keyof T>>([]);\n public readonly size = input<TuiSizeL | TuiSizeS>(this.options.size);\n public readonly direction = model(this.options.direction);\n public readonly sorter = model<TuiComparator<T>>(EMPTY_COMPARATOR);\n public readonly sortChange = output<TuiTableSortChange<T>>();\n\n public readonly appearance = signal('table');\n public readonly cleaner = signal(false);\n\n public updateSorterAndDirection(sorter: TuiComparator<T> | null): void {\n if (this.sorter() === sorter) {\n this.updateSorter(\n this.sorter(),\n this.direction() === TuiSortDirection.Asc\n ? TuiSortDirection.Desc\n : TuiSortDirection.Asc,\n );\n } else {\n this.updateSorter(sorter);\n }\n }\n\n public updateSorter(\n sorter: TuiComparator<T> | null,\n direction: TuiSortDirection = TuiSortDirection.Asc,\n ): void {\n this.sorter.set(sorter || EMPTY_COMPARATOR.bind({}));\n this.direction.set(direction);\n }\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport {NgTemplateOutlet} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n inject,\n input,\n model,\n signal,\n} from '@angular/core';\nimport {type TuiComparator} from '@taiga-ui/addon-table/types';\nimport {tuiDefaultSort} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\n\nimport {TuiTableHead} from '../directives/head.directive';\nimport {TuiTableResized} from '../directives/resized.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_TABLE_OPTIONS, TuiSortDirection} from '../table.options';\n\n@Component({\n selector: 'th[tuiTh]',\n imports: [NgTemplateOutlet, TuiIcon, TuiTableResized],\n templateUrl: './th.template.html',\n styleUrl: './th.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[style.min-width.px]': 'width() || minWidth()',\n '[style.width.px]': 'width() || minWidth()',\n '[style.max-width.px]': 'width() || maxWidth()',\n '[class._sticky]': 'sticky()',\n },\n})\nexport class TuiTableTh<T extends Partial<Record<keyof T, unknown>>> {\n private readonly options = inject(TUI_TABLE_OPTIONS);\n\n private readonly head = inject<TuiTableHead<T>>(TuiTableHead, {optional: true});\n\n protected readonly width = signal<number | null>(null);\n\n protected readonly table = inject<TuiTableDirective<T>>(\n forwardRef(() => TuiTableDirective),\n {optional: true},\n );\n\n public readonly minWidth = input(-Infinity);\n\n public readonly maxWidth = input(Infinity);\n\n public sorter = model<TuiComparator<T> | null>(\n this.head ? (a, b) => tuiDefaultSort(a[this.key], b[this.key]) : null,\n );\n\n public readonly resizable = input(this.options.resizable);\n\n public readonly sticky = input(this.options.sticky);\n\n public readonly requiredSort = input(this.options.requiredSort);\n\n public get key(): keyof T {\n if (!this.head) {\n throw new TuiTableSortKeyException();\n }\n\n return this.head.tuiHead() as keyof T;\n }\n\n protected get isCurrent(): boolean {\n return !!this.sorter && !!this.table && this.sorter() === this.table.sorter();\n }\n\n protected get icon(): string {\n if (this.isCurrent) {\n return this.table?.direction() === TuiSortDirection.Asc\n ? this.options.sortIcons.asc\n : this.options.sortIcons.desc;\n }\n\n return this.options.sortIcons.off;\n }\n\n protected updateSorterAndDirection(): void {\n const sorter = this.requiredSort() ? this.sorter() : null;\n\n this.table?.updateSorterAndDirection(\n this.isCurrentAndDescDirection ? sorter : this.sorter(),\n );\n }\n\n protected onResized(width: number): void {\n this.width.set(Math.min(Math.max(width, this.minWidth()), this.maxWidth()));\n }\n\n private get isCurrentAndDescDirection(): boolean {\n return (\n this.sorter() === this.table?.sorter() &&\n this.table?.direction() === TuiSortDirection.Desc\n );\n }\n}\n\nexport class TuiTableSortKeyException extends Error {\n constructor() {\n super(ngDevMode ? 'Trying to sort with no key' : '');\n }\n}\n","@if (sorter() && table) {\n <button\n type=\"button\"\n class=\"t-sort\"\n [class.t-sort_sorted]=\"isCurrent\"\n (click)=\"updateSorterAndDirection()\"\n >\n <ng-container [ngTemplateOutlet]=\"content\" />\n <tui-icon\n class=\"t-icon\"\n [icon]=\"icon\"\n />\n </button>\n} @else {\n <ng-container [ngTemplateOutlet]=\"content\" />\n}\n<ng-template #content>\n <ng-content />\n</ng-template>\n@if (resizable()) {\n <div\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n ></div>\n}\n","import {type BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n computed,\n Directive,\n effect,\n forwardRef,\n inject,\n input,\n untracked,\n} from '@angular/core';\nimport {type TuiComparator} from '@taiga-ui/addon-table/types';\n\nimport {TuiTableTh} from '../th/th.component';\nimport {TuiTableSortBy} from './sort-by.directive';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({selector: 'th[tuiTh][tuiSortable]'})\nexport class TuiTableSortable<T extends Partial<Record<keyof T, unknown>>> {\n private readonly table: TuiTableDirective<T> = inject(TuiTableDirective<T>);\n private readonly th: TuiTableTh<T> = inject(TuiTableTh<T>);\n private readonly sortBy = inject<TuiTableSortBy<T>>(forwardRef(() => TuiTableSortBy));\n\n public readonly sortable = input<BooleanInput, any>(undefined, {\n alias: 'tuiSortable',\n transform: coerceBooleanProperty,\n });\n\n protected readonly setThSorter = effect(() => {\n this.th.sorter.set(this.sortable() ? this.sorter() : null);\n });\n\n protected readonly setTableSorter = effect(() => {\n if (this.match && untracked(this.table.sorter) !== this.sorter()) {\n this.table.updateSorter(this.sorter());\n }\n });\n\n public readonly sorter = computed<TuiComparator<T>>(() =>\n this.sortable() && untracked(() => this.match)\n ? untracked(this.table.sorter)\n : (): number => 0,\n );\n\n public get key(): keyof T {\n return this.th.key;\n }\n\n private get match(): boolean {\n return this.sortBy.tuiSortBy() === this.key;\n }\n}\n","import {\n computed,\n contentChildren,\n Directive,\n effect,\n inject,\n input,\n output,\n} from '@angular/core';\nimport {type TuiComparator} from '@taiga-ui/addon-table/types';\n\nimport {type TuiSortChange} from '../table.options';\nimport {TuiTableSortable} from './sortable.directive';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({selector: 'table[tuiTable][tuiSortBy]'})\nexport class TuiTableSortBy<T extends Partial<Record<keyof T, unknown>>> {\n private readonly table = inject(TuiTableDirective<T>);\n private readonly sortables = contentChildren<TuiTableSortable<T>>(TuiTableSortable, {\n descendants: true,\n });\n\n private readonly sortChange = computed<TuiSortChange<T>>(() => ({\n sortKey: this.sortables().length ? this.getKey(this.table.sorter()) : null,\n sortDirection: this.table.direction(),\n }));\n\n protected readonly sortOutput = effect(() => {\n if (this.sortables().length) {\n this.tuiSortChange.emit(this.sortChange());\n }\n });\n\n public readonly tuiSortChange = output<TuiSortChange<T>>();\n public readonly tuiSortBy = input<string | keyof T | null>(null);\n\n private getKey(sorter: TuiComparator<T> | null): keyof T | null {\n return this.sortables().find((s) => s.sorter() === sorter)?.key || null;\n }\n}\n","import {Directive} from '@angular/core';\nimport {WA_INTERSECTION_ROOT_MARGIN} from '@ng-web-apis/intersection-observer';\n\nimport {TuiStuck} from './stuck.directive';\n\n@Directive({\n selector: 'thead[tuiThead]',\n providers: [\n {\n provide: WA_INTERSECTION_ROOT_MARGIN,\n useValue: '0px 10000px 10000px 10000px',\n },\n ],\n hostDirectives: [TuiStuck],\n})\nexport class TuiTableThead {}\n","import {Pipe, type PipeTransform} from '@angular/core';\nimport {type TuiComparator} from '@taiga-ui/addon-table/types';\nimport {tuiDefaultSort} from '@taiga-ui/cdk/utils/miscellaneous';\n\n@Pipe({name: 'tuiSorter'})\nexport class TuiSorterPipe implements PipeTransform {\n public transform<T>(key: keyof T): TuiComparator<T> {\n return (a, b) => tuiDefaultSort(a[key], b[key]);\n }\n}\n","import {\n computed,\n inject,\n Pipe,\n type PipeTransform,\n signal,\n untracked,\n} from '@angular/core';\n\nimport {TuiTableDirective} from '../directives/table.directive';\n\n@Pipe({\n name: 'tuiTableSort',\n pure: false,\n})\nexport class TuiTableSortPipe implements PipeTransform {\n private readonly table = inject(TuiTableDirective<any>);\n private readonly data = signal<readonly any[]>([]);\n private readonly sorted = computed(\n (direction = this.table.direction(), sorter = this.table.sorter()) =>\n [...this.data()].sort((a, b) => direction * sorter(a, b)),\n );\n\n public transform<T>(data?: readonly T[] | null): readonly T[] {\n untracked(() => this.data.set(data ?? []));\n\n return this.sorted();\n }\n}\n","import {isPlatformServer} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n type ElementRef,\n inject,\n model,\n PLATFORM_ID,\n signal,\n viewChild,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiPresent} from '@taiga-ui/kit/directives/present';\nimport {map, of, Subject, switchMap, timer} from 'rxjs';\n\nimport {TUI_TABLE_OPTIONS} from '../table.options';\n\n@Component({\n selector: 'tui-table-expand',\n templateUrl: './table-expand.template.html',\n styleUrl: './table-expand.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: TuiPresent,\n outputs: ['tuiPresent'],\n },\n ],\n host: {\n ngSkipHydration: 'true',\n '(tuiPresent)': 'visible$.next($event)',\n },\n})\nexport class TuiTableExpand {\n private readonly content = viewChild<ElementRef<HTMLElement>>('content');\n\n private readonly el = tuiInjectElement();\n private readonly server = isPlatformServer(inject(PLATFORM_ID));\n\n protected readonly transitioning = signal(false);\n protected readonly contentHeight = computed((_ = this.expanded()) =>\n this.update(this.content()),\n );\n\n protected readonly visible$ = new Subject<boolean>();\n protected readonly sub = this.visible$\n .pipe(\n switchMap((v) => (v ? timer(500).pipe(map(() => v)) : of(v))),\n takeUntilDestroyed(),\n )\n .subscribe((visible) => this.el.classList.toggle('_visible', visible));\n\n public readonly expanded = model(inject(TUI_TABLE_OPTIONS).open);\n protected readonly transitioningEffect = effect((_, __ = this.expanded()) =>\n this.transitioning.set(true),\n );\n\n public toggle(): void {\n this.expanded.set(!this.expanded());\n }\n\n private update(content: ElementRef<HTMLElement> | undefined): number {\n if (!content || this.server) {\n return 0;\n }\n\n const el = content.nativeElement;\n\n el.style.setProperty('display', 'block');\n\n const height = el.getBoundingClientRect().height;\n\n el.style.removeProperty('display');\n\n return height;\n }\n}\n","<div\n #content\n class=\"t-content\"\n [class.t-content_open]=\"expanded() && !transitioning()\"\n>\n <ng-content />\n</div>\n\n<div\n class=\"t-filler\"\n [class.t-filler_open]=\"expanded()\"\n [style.--t-height.px]=\"contentHeight()\"\n (animationcancel)=\"transitioning.set(false)\"\n (animationend)=\"transitioning.set(false)\"\n (animationstart)=\"transitioning.set(true)\"\n></div>\n","import {ChangeDetectionStrategy, Component, contentChild} from '@angular/core';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\n\n@Component({\n selector: 'th[tuiTd], td[tuiTd]',\n template: '<ng-content />',\n styleUrl: './td.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'[class._editable]': 'control() || textfield()'},\n})\nexport class TuiTableTd {\n protected readonly control = contentChild(TuiControl<unknown>);\n protected readonly textfield = contentChild(TuiTextfieldComponent<unknown>);\n}\n","import {NgTemplateOutlet} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n forwardRef,\n inject,\n} from '@angular/core';\n\nimport {TuiTableCell} from '../directives/cell.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TuiTableTbody} from '../tbody/tbody.component';\nimport {TuiTableTd} from '../td/td.component';\n\n@Component({\n selector: 'tr[tuiTr]',\n imports: [NgTemplateOutlet, TuiTableTd],\n templateUrl: './tr.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTableTr<T extends Partial<Record<keyof T, unknown>>> {\n private readonly cells = contentChildren<TuiTableCell>(\n forwardRef(() => TuiTableCell),\n );\n\n private readonly body = inject<TuiTableTbody<T>>(forwardRef(() => TuiTableTbody));\n\n protected readonly table = inject<TuiTableDirective<T>>(\n forwardRef(() => TuiTableDirective),\n );\n\n protected readonly items = computed(() =>\n this.cells().reduce(\n (record, item) => ({...record, [item.tuiCell()]: item}),\n {} as Record<string | keyof T, TuiTableCell>,\n ),\n );\n\n protected readonly item = computed(\n () =>\n this.body.data()[this.body.rows().findIndex((row) => row === this)] as Record<\n string | keyof T,\n unknown\n >,\n );\n}\n","@if (items(); as items) {\n @for (key of table.columns(); track key) {\n <ng-container [ngTemplateOutlet]=\"(items[key] && items[key].template) || plain\">\n <ng-template #plain>\n <td tuiTd>\n {{ item()[key] }}\n </td>\n </ng-template>\n </ng-container>\n }\n} @else {\n <td></td>\n}\n<ng-content />\n","import {\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n forwardRef,\n inject,\n input,\n model,\n} from '@angular/core';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiChevron} from '@taiga-ui/kit/directives/chevron';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_TABLE_OPTIONS} from '../table.options';\nimport {TuiTableTr} from '../tr/tr.component';\n\n@Component({\n selector: 'tbody[tuiTbody]',\n imports: [PolymorpheusOutlet, TuiChevron, TuiIcon],\n templateUrl: './tbody.template.html',\n styleUrl: './tbody.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTableTbody<T extends Partial<Record<keyof T, unknown>>> {\n private readonly options = inject(TUI_TABLE_OPTIONS);\n\n protected readonly table = inject<TuiTableDirective<T>>(\n forwardRef(() => TuiTableDirective),\n );\n\n public readonly rows = contentChildren<TuiTableTr<T>>(forwardRef(() => TuiTableTr));\n\n public readonly data = input<readonly T[]>([]);\n\n /** @deprecated: drop in v5.0, use TuiTableExpand */\n public readonly heading = input<PolymorpheusContent>();\n\n /** @deprecated: drop in v5.0, use TuiTableExpand */\n public readonly open = model(this.options.open);\n\n /** @deprecated: drop in v5.0, use TuiTableExpand */\n protected onClick = (): void => {\n this.open.set(!this.open());\n };\n}\n","@if (heading()) {\n <tr>\n <th\n class=\"t-heading\"\n [colSpan]=\"table.columns().length\"\n >\n <button\n type=\"button\"\n class=\"t-expand\"\n (click)=\"onClick()\"\n >\n <span class=\"t-name\">\n <ng-container *polymorpheusOutlet=\"heading() as text\">\n {{ text }}\n </ng-container>\n </span>\n <tui-icon\n class=\"t-chevron\"\n [tuiChevron]=\"open()\"\n />\n </button>\n </th>\n </tr>\n}\n@if (open()) {\n <ng-content />\n}\n","import {NgTemplateOutlet} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n contentChildren,\n forwardRef,\n inject,\n} from '@angular/core';\n\nimport {TuiTableHead} from '../directives/head.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TuiTableTh} from '../th/th.component';\n\n@Component({\n selector: 'tr[tuiThGroup]',\n imports: [NgTemplateOutlet, TuiTableTh],\n templateUrl: './th-group.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTableThGroup<T extends Partial<Record<keyof T, unknown>>> {\n protected readonly th = contentChild<TuiTableTh<T>>(forwardRef(() => TuiTableTh));\n\n protected readonly heads = contentChildren<TuiTableHead<T>>(\n forwardRef(() => TuiTableHead),\n );\n\n protected readonly computedHeads = computed<\n Record<string | keyof T, TuiTableHead<T>>\n >(() =>\n this.heads().reduce(\n (record, item) => ({...record, [item.tuiHead()]: item}),\n {} as Record<string | keyof T, TuiTableHead<T>>,\n ),\n );\n\n protected readonly table = inject<TuiTableDirective<T>>(\n forwardRef(() => TuiTableDirective),\n );\n}\n","<ng-content />\n@if (computedHeads(); as headings) {\n @for (key of table.columns(); track key) {\n <ng-container\n [ngTemplateOutlet]=\"headings?.[key]?.template || plain\"\n [ngTemplateOutletContext]=\"{$implicit: key}\"\n />\n }\n <ng-template\n #plain\n let-key\n >\n @if (!th() && !heads().length) {\n <th tuiTh>\n {{ key.toString() }}\n </th>\n }\n </ng-template>\n}\n","import {TuiTableCaption} from './caption/caption.component';\nimport {TuiTableCell} from './directives/cell.directive';\nimport {TuiTableHead} from './directives/head.directive';\nimport {TuiTableResized} from './directives/resized.directive';\nimport {TuiTableSortBy} from './directives/sort-by.directive';\nimport {TuiTableSortable} from './directives/sortable.directive';\nimport {TuiTableDirective} from './directives/table.directive';\nimport {TuiTableThead} from './directives/thead.directive';\nimport {TuiSorterPipe} from './pipes/sorter.pipe';\nimport {TuiTableSortPipe} from './pipes/table-sort.pipe';\nimport {TuiTableExpand} from './table-expand/table-expand.component';\nimport {TuiTableTbody} from './tbody/tbody.component';\nimport {TuiTableTd} from './td/td.component';\nimport {TuiTableTh} from './th/th.component';\nimport {TuiTableThGroup} from './th-group/th-group.component';\nimport {TuiTableTr} from './tr/tr.component';\n\nexport const TuiTable = [\n TuiTableDirective,\n TuiTableCaption,\n TuiTableTbody,\n TuiTableThGroup,\n TuiTableTh,\n TuiTableTd,\n TuiTableTr,\n TuiTableCell,\n TuiTableHead,\n TuiTableSortBy,\n TuiTableSortable,\n TuiTableThead,\n TuiTableResized,\n TuiSorterPipe,\n TuiTableSortPipe,\n TuiTableExpand,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiStuck"],"mappings":"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"}
|
|
@@ -20,10 +20,10 @@ class TuiTableControlDirective extends TuiControl {
|
|
|
20
20
|
process(checkbox) {
|
|
21
21
|
this.children.update((children) => tuiArrayToggle(children, checkbox));
|
|
22
22
|
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
24
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableControlDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
24
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: TuiTableControlDirective, isStandalone: true, selector: "[tuiTable][ngModel],[tuiTable][formControl],[tuiTable][formControlName]", providers: [tuiFallbackValueProvider([])], usesInheritance: true, ngImport: i0 }); }
|
|
25
25
|
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableControlDirective, decorators: [{
|
|
27
27
|
type: Directive,
|
|
28
28
|
args: [{
|
|
29
29
|
selector: '[tuiTable][ngModel],[tuiTable][formControl],[tuiTable][formControlName]',
|
|
@@ -53,10 +53,10 @@ class TuiCheckboxRowDirective {
|
|
|
53
53
|
onChange() {
|
|
54
54
|
this.parent.onChange(tuiArrayToggle(this.parent.value(), this.tuiCheckboxRow()));
|
|
55
55
|
}
|
|
56
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
57
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.
|
|
56
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiCheckboxRowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
57
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.18", type: TuiCheckboxRowDirective, isStandalone: true, selector: "[tuiCheckbox][tuiCheckboxRow]", inputs: { tuiCheckboxRow: { classPropertyName: "tuiCheckboxRow", publicName: "tuiCheckboxRow", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "change": "onChange()" }, properties: { "checked": "checked()" } }, providers: [{ provide: NgControl, useClass: NgModel }], ngImport: i0 }); }
|
|
58
58
|
}
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiCheckboxRowDirective, decorators: [{
|
|
60
60
|
type: Directive,
|
|
61
61
|
args: [{
|
|
62
62
|
selector: '[tuiCheckbox][tuiCheckboxRow]',
|
|
@@ -81,10 +81,10 @@ class TuiCheckboxTableDirective {
|
|
|
81
81
|
this.control.control?.setValue(indeterminate ? null : checked);
|
|
82
82
|
});
|
|
83
83
|
}
|
|
84
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
85
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
84
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiCheckboxTableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
85
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: TuiCheckboxTableDirective, isStandalone: true, selector: "[tuiCheckbox][tuiCheckboxTable]", host: { listeners: { "change": "parent.toggleAll()" } }, providers: [{ provide: NgControl, useClass: NgModel }], ngImport: i0 }); }
|
|
86
86
|
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiCheckboxTableDirective, decorators: [{
|
|
88
88
|
type: Directive,
|
|
89
89
|
args: [{
|
|
90
90
|
selector: '[tuiCheckbox][tuiCheckboxTable]',
|
|
@@ -16,10 +16,10 @@ class TuiGenericFilter extends AbstractTuiTableFilter {
|
|
|
16
16
|
alias: 'tuiGenericFilter',
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
20
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiGenericFilter, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
20
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.18", type: TuiGenericFilter, isStandalone: true, selector: "[tuiGenericFilter]", inputs: { filter: { classPropertyName: "filter", publicName: "tuiGenericFilter", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiProvide(AbstractTuiTableFilter, TuiGenericFilter)], usesInheritance: true, ngImport: i0 }); }
|
|
21
21
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiGenericFilter, decorators: [{
|
|
23
23
|
type: Directive,
|
|
24
24
|
args: [{
|
|
25
25
|
selector: '[tuiGenericFilter]',
|
|
@@ -49,14 +49,12 @@ class TuiTableFiltersDirective {
|
|
|
49
49
|
update() {
|
|
50
50
|
this.refresh$.next(merge(...this.filters.map(({ refresh$ }) => refresh$)));
|
|
51
51
|
}
|
|
52
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
53
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableFiltersDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
53
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: TuiTableFiltersDirective, isStandalone: true, selector: "[tuiTableFilters]", ngImport: i0 }); }
|
|
54
54
|
}
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableFiltersDirective, decorators: [{
|
|
56
56
|
type: Directive,
|
|
57
|
-
args: [{
|
|
58
|
-
selector: '[tuiTableFilters]',
|
|
59
|
-
}]
|
|
57
|
+
args: [{ selector: '[tuiTableFilters]' }]
|
|
60
58
|
}] });
|
|
61
59
|
|
|
62
60
|
class TuiTableFilterDirective {
|
|
@@ -81,14 +79,12 @@ class TuiTableFilterDirective {
|
|
|
81
79
|
!this.key() ||
|
|
82
80
|
this.delegate.filter()(item[this.key()], value));
|
|
83
81
|
}
|
|
84
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
85
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.
|
|
82
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
83
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.18", type: TuiTableFilterDirective, isStandalone: true, selector: "[tuiTableFilter]", inputs: { tuiTableFilter: { classPropertyName: "tuiTableFilter", publicName: "tuiTableFilter", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
86
84
|
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableFilterDirective, decorators: [{
|
|
88
86
|
type: Directive,
|
|
89
|
-
args: [{
|
|
90
|
-
selector: '[tuiTableFilter]',
|
|
91
|
-
}]
|
|
87
|
+
args: [{ selector: '[tuiTableFilter]' }]
|
|
92
88
|
}] });
|
|
93
89
|
|
|
94
90
|
class TuiTableFiltersPipe {
|
|
@@ -98,14 +94,12 @@ class TuiTableFiltersPipe {
|
|
|
98
94
|
transform(items) {
|
|
99
95
|
return this.filters.filter(items);
|
|
100
96
|
}
|
|
101
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
102
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.
|
|
97
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableFiltersPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
98
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: TuiTableFiltersPipe, isStandalone: true, name: "tuiTableFilters" }); }
|
|
103
99
|
}
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiTableFiltersPipe, decorators: [{
|
|
105
101
|
type: Pipe,
|
|
106
|
-
args: [{
|
|
107
|
-
name: 'tuiTableFilters',
|
|
108
|
-
}]
|
|
102
|
+
args: [{ name: 'tuiTableFilters' }]
|
|
109
103
|
}] });
|
|
110
104
|
|
|
111
105
|
const TuiTableFilters = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-table-directives-table-filters.mjs","sources":["../../../projects/addon-table/directives/table-filters/abstract-table-filter.ts","../../../projects/addon-table/directives/table-filters/generic-filter.directive.ts","../../../projects/addon-table/directives/table-filters/table-filters.directive.ts","../../../projects/addon-table/directives/table-filters/table-filter.directive.ts","../../../projects/addon-table/directives/table-filters/table-filters.pipe.ts","../../../projects/addon-table/directives/table-filters/table-filters.ts","../../../projects/addon-table/directives/table-filters/taiga-ui-addon-table-directives-table-filters.ts"],"sourcesContent":["import {type Signal} from '@angular/core';\n\nexport abstract class AbstractTuiTableFilter<T, G> {\n public abstract filter: Signal<(item: T, value: G) => boolean>;\n}\n","import {Directive, input} from '@angular/core';\nimport {TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\n\nimport {AbstractTuiTableFilter} from './abstract-table-filter';\n\n@Directive({\n selector: '[tuiGenericFilter]',\n providers: [tuiProvide(AbstractTuiTableFilter, TuiGenericFilter)],\n})\nexport class TuiGenericFilter<T, G> extends AbstractTuiTableFilter<T, G> {\n public readonly filter = input<(item: T, value: G) => boolean>(TUI_TRUE_HANDLER, {\n alias: 'tuiGenericFilter',\n });\n}\n","import {Directive} from '@angular/core';\nimport {\n identity,\n map,\n merge,\n type Observable,\n ReplaySubject,\n startWith,\n switchMap,\n} from 'rxjs';\n\nimport {type TuiTableFilter} from './table-filter';\n\n@Directive({
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-table-directives-table-filters.mjs","sources":["../../../projects/addon-table/directives/table-filters/abstract-table-filter.ts","../../../projects/addon-table/directives/table-filters/generic-filter.directive.ts","../../../projects/addon-table/directives/table-filters/table-filters.directive.ts","../../../projects/addon-table/directives/table-filters/table-filter.directive.ts","../../../projects/addon-table/directives/table-filters/table-filters.pipe.ts","../../../projects/addon-table/directives/table-filters/table-filters.ts","../../../projects/addon-table/directives/table-filters/taiga-ui-addon-table-directives-table-filters.ts"],"sourcesContent":["import {type Signal} from '@angular/core';\n\nexport abstract class AbstractTuiTableFilter<T, G> {\n public abstract filter: Signal<(item: T, value: G) => boolean>;\n}\n","import {Directive, input} from '@angular/core';\nimport {TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\n\nimport {AbstractTuiTableFilter} from './abstract-table-filter';\n\n@Directive({\n selector: '[tuiGenericFilter]',\n providers: [tuiProvide(AbstractTuiTableFilter, TuiGenericFilter)],\n})\nexport class TuiGenericFilter<T, G> extends AbstractTuiTableFilter<T, G> {\n public readonly filter = input<(item: T, value: G) => boolean>(TUI_TRUE_HANDLER, {\n alias: 'tuiGenericFilter',\n });\n}\n","import {Directive} from '@angular/core';\nimport {\n identity,\n map,\n merge,\n type Observable,\n ReplaySubject,\n startWith,\n switchMap,\n} from 'rxjs';\n\nimport {type TuiTableFilter} from './table-filter';\n\n@Directive({selector: '[tuiTableFilters]'})\nexport class TuiTableFiltersDirective<T> {\n private readonly refresh$ = new ReplaySubject<Observable<unknown>>(1);\n\n private filters: ReadonlyArray<TuiTableFilter<T>> = [];\n\n public register(filter: TuiTableFilter<T>): void {\n this.filters = this.filters.concat(filter);\n this.update();\n }\n\n public unregister(filter: TuiTableFilter<T>): void {\n this.filters = this.filters.filter((item) => item !== filter);\n this.update();\n }\n\n public filter(items: readonly T[]): Observable<readonly T[]> {\n return this.refresh$.pipe(\n switchMap(identity),\n startWith(null),\n map(() => items.filter((item) => this.check(item))),\n );\n }\n\n private check(item: T): boolean {\n return this.filters.every((filter) => filter.filter(item));\n }\n\n private update(): void {\n this.refresh$.next(merge(...this.filters.map(({refresh$}) => refresh$)));\n }\n}\n","import {\n computed,\n Directive,\n inject,\n input,\n type OnDestroy,\n type OnInit,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiTableHead} from '@taiga-ui/addon-table/components/table';\nimport {defer, distinctUntilChanged, EMPTY, merge} from 'rxjs';\n\nimport {AbstractTuiTableFilter} from './abstract-table-filter';\nimport {type TuiTableFilter} from './table-filter';\nimport {TuiTableFiltersDirective} from './table-filters.directive';\n\n@Directive({selector: '[tuiTableFilter]'})\nexport class TuiTableFilterDirective<T> implements OnInit, OnDestroy, TuiTableFilter<T> {\n private readonly head = inject(TuiTableHead<T>, {optional: true});\n private readonly delegate = inject(AbstractTuiTableFilter<T[keyof T], unknown>);\n private readonly control = inject(NgControl);\n protected readonly filters = inject(TuiTableFiltersDirective<T>);\n protected readonly key = computed<string | keyof T | undefined>(\n () => this.tuiTableFilter() || this.head?.tuiHead(),\n );\n\n public readonly tuiTableFilter = input<keyof T>();\n\n public readonly refresh$ = defer(() =>\n merge(\n this.control.valueChanges || EMPTY,\n this.control.statusChanges?.pipe(distinctUntilChanged()) || EMPTY,\n ),\n );\n\n public ngOnInit(): void {\n this.filters.register(this);\n }\n\n public ngOnDestroy(): void {\n this.filters.unregister(this);\n }\n\n public filter(item: T): boolean {\n const {disabled, value} = this.control;\n\n return (\n !!disabled ||\n !this.key() ||\n this.delegate.filter()(item[this.key() as keyof T], value)\n );\n }\n}\n","import {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {type Observable} from 'rxjs';\n\nimport {TuiTableFiltersDirective} from './table-filters.directive';\n\n@Pipe({name: 'tuiTableFilters'})\nexport class TuiTableFiltersPipe<T> implements PipeTransform {\n private readonly filters = inject(TuiTableFiltersDirective<T>);\n\n public transform<T>(items: readonly T[]): Observable<readonly T[]> {\n return this.filters.filter(items);\n }\n}\n","import {TuiGenericFilter} from './generic-filter.directive';\nimport {TuiTableFilterDirective} from './table-filter.directive';\nimport {TuiTableFiltersDirective} from './table-filters.directive';\nimport {TuiTableFiltersPipe} from './table-filters.pipe';\n\nexport const TuiTableFilters = [\n TuiTableFiltersDirective,\n TuiTableFilterDirective,\n TuiTableFiltersPipe,\n TuiGenericFilter,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -4,15 +4,11 @@ import { tuiExtractI18n } from '@taiga-ui/i18n/utils';
|
|
|
4
4
|
/**
|
|
5
5
|
* tui-reorder i18n button
|
|
6
6
|
*/
|
|
7
|
-
const TUI_TABLE_SHOW_HIDE_MESSAGE = new InjectionToken(ngDevMode ? 'TUI_TABLE_SHOW_HIDE_MESSAGE' : '', {
|
|
8
|
-
factory: tuiExtractI18n('showHideText'),
|
|
9
|
-
});
|
|
7
|
+
const TUI_TABLE_SHOW_HIDE_MESSAGE = new InjectionToken(ngDevMode ? 'TUI_TABLE_SHOW_HIDE_MESSAGE' : '', { factory: tuiExtractI18n('showHideText') });
|
|
10
8
|
/**
|
|
11
9
|
* tui-table-pagination i18n texts
|
|
12
10
|
*/
|
|
13
|
-
const TUI_TABLE_PAGINATION_TEXTS = new InjectionToken(ngDevMode ? 'TUI_TABLE_PAGINATION_TEXTS' : '', {
|
|
14
|
-
factory: tuiExtractI18n('paginationTexts'),
|
|
15
|
-
});
|
|
11
|
+
const TUI_TABLE_PAGINATION_TEXTS = new InjectionToken(ngDevMode ? 'TUI_TABLE_PAGINATION_TEXTS' : '', { factory: tuiExtractI18n('paginationTexts') });
|
|
16
12
|
|
|
17
13
|
/**
|
|
18
14
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-table-tokens.mjs","sources":["../../../projects/addon-table/tokens/i18n.ts","../../../projects/addon-table/tokens/taiga-ui-addon-table-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {tuiExtractI18n} from '@taiga-ui/i18n/utils';\n\n/**\n * tui-reorder i18n button\n */\nexport const TUI_TABLE_SHOW_HIDE_MESSAGE = new InjectionToken(\n ngDevMode ? 'TUI_TABLE_SHOW_HIDE_MESSAGE' : '',\n {
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-table-tokens.mjs","sources":["../../../projects/addon-table/tokens/i18n.ts","../../../projects/addon-table/tokens/taiga-ui-addon-table-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {tuiExtractI18n} from '@taiga-ui/i18n/utils';\n\n/**\n * tui-reorder i18n button\n */\nexport const TUI_TABLE_SHOW_HIDE_MESSAGE = new InjectionToken(\n ngDevMode ? 'TUI_TABLE_SHOW_HIDE_MESSAGE' : '',\n {factory: tuiExtractI18n('showHideText')},\n);\n\n/**\n * tui-table-pagination i18n texts\n */\nexport const TUI_TABLE_PAGINATION_TEXTS = new InjectionToken(\n ngDevMode ? 'TUI_TABLE_PAGINATION_TEXTS' : '',\n {factory: tuiExtractI18n('paginationTexts')},\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAGA;;AAEG;AACU,MAAA,2BAA2B,GAAG,IAAI,cAAc,CACzD,SAAS,GAAG,6BAA6B,GAAG,EAAE,EAC9C,EAAC,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC,EAAC;AAG7C;;AAEG;AACU,MAAA,0BAA0B,GAAG,IAAI,cAAc,CACxD,SAAS,GAAG,4BAA4B,GAAG,EAAE,EAC7C,EAAC,OAAO,EAAE,cAAc,CAAC,iBAAiB,CAAC,EAAC;;AChBhD;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taiga-ui/addon-table",
|
|
3
|
-
"version": "5.0.0-rc.
|
|
3
|
+
"version": "5.0.0-rc.3",
|
|
4
4
|
"description": "A library to display tabled data with filters, search, group actions, etc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -18,11 +18,11 @@
|
|
|
18
18
|
"peerDependencies": {
|
|
19
19
|
"@angular/common": ">=19.0.0",
|
|
20
20
|
"@angular/core": ">=19.0.0",
|
|
21
|
-
"@ng-web-apis/intersection-observer": "^5.0
|
|
22
|
-
"@taiga-ui/cdk": "^5.0.0-rc.
|
|
23
|
-
"@taiga-ui/core": "^5.0.0-rc.
|
|
24
|
-
"@taiga-ui/i18n": "^5.0.0-rc.
|
|
25
|
-
"@taiga-ui/kit": "^5.0.0-rc.
|
|
21
|
+
"@ng-web-apis/intersection-observer": "^5.1.0",
|
|
22
|
+
"@taiga-ui/cdk": "^5.0.0-rc.3",
|
|
23
|
+
"@taiga-ui/core": "^5.0.0-rc.3",
|
|
24
|
+
"@taiga-ui/i18n": "^5.0.0-rc.3",
|
|
25
|
+
"@taiga-ui/kit": "^5.0.0-rc.3",
|
|
26
26
|
"@taiga-ui/polymorpheus": "^5.0.0",
|
|
27
27
|
"rxjs": ">=7.0.0"
|
|
28
28
|
},
|
|
@@ -60,14 +60,14 @@
|
|
|
60
60
|
"types": "./components/table/index.d.ts",
|
|
61
61
|
"default": "./fesm2022/taiga-ui-addon-table-components-table.mjs"
|
|
62
62
|
},
|
|
63
|
-
"./directives/table-control": {
|
|
64
|
-
"types": "./directives/table-control/index.d.ts",
|
|
65
|
-
"default": "./fesm2022/taiga-ui-addon-table-directives-table-control.mjs"
|
|
66
|
-
},
|
|
67
63
|
"./components/table-pagination": {
|
|
68
64
|
"types": "./components/table-pagination/index.d.ts",
|
|
69
65
|
"default": "./fesm2022/taiga-ui-addon-table-components-table-pagination.mjs"
|
|
70
66
|
},
|
|
67
|
+
"./directives/table-control": {
|
|
68
|
+
"types": "./directives/table-control/index.d.ts",
|
|
69
|
+
"default": "./fesm2022/taiga-ui-addon-table-directives-table-control.mjs"
|
|
70
|
+
},
|
|
71
71
|
"./directives/table-filters": {
|
|
72
72
|
"types": "./directives/table-filters/index.d.ts",
|
|
73
73
|
"default": "./fesm2022/taiga-ui-addon-table-directives-table-filters.mjs"
|