@taiga-ui/addon-table 4.52.0-canary.38dfc57 → 4.52.0-canary.3915ce7
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.
|
@@ -105,21 +105,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
105
105
|
}] });
|
|
106
106
|
|
|
107
107
|
const EMPTY_COMPARATOR = () => 0;
|
|
108
|
-
class
|
|
109
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type:
|
|
110
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type:
|
|
108
|
+
class Styles {
|
|
109
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
110
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", 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}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 }); }
|
|
111
111
|
}
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type:
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
|
|
113
113
|
type: Component,
|
|
114
|
-
args: [{
|
|
115
|
-
class: 'tui-table',
|
|
116
|
-
}, styles: ["table[tuiTable]{border-collapse:separate;border-spacing:0}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"] }]
|
|
114
|
+
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-table' }, styles: ["table[tuiTable]{border-collapse:separate;border-spacing:0}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"] }]
|
|
117
115
|
}] });
|
|
118
116
|
class TuiTableDirective {
|
|
119
117
|
constructor() {
|
|
120
118
|
this.options = inject(TUI_TABLE_OPTIONS);
|
|
121
119
|
this.cdr = inject(ChangeDetectorRef);
|
|
122
|
-
this.nothing = tuiWithStyles(
|
|
120
|
+
this.nothing = tuiWithStyles(Styles);
|
|
123
121
|
this.columns = [];
|
|
124
122
|
this.direction = this.options.direction;
|
|
125
123
|
this.sorter = EMPTY_COMPARATOR;
|
|
@@ -166,7 +164,7 @@ class TuiTableDirective {
|
|
|
166
164
|
this.cdr.detectChanges();
|
|
167
165
|
}
|
|
168
166
|
updateSorter(sorter, direction = TuiSortDirection.Asc) {
|
|
169
|
-
this.sorter = sorter || EMPTY_COMPARATOR;
|
|
167
|
+
this.sorter = sorter || EMPTY_COMPARATOR.bind({});
|
|
170
168
|
this.direction = direction;
|
|
171
169
|
this.sorterChange.emit(sorter);
|
|
172
170
|
this.directionChange.emit(this.direction);
|
|
@@ -188,7 +186,6 @@ class TuiTableDirective {
|
|
|
188
186
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiTableDirective, decorators: [{
|
|
189
187
|
type: Directive,
|
|
190
188
|
args: [{
|
|
191
|
-
standalone: true,
|
|
192
189
|
selector: 'table[tuiTable]',
|
|
193
190
|
providers: [
|
|
194
191
|
{
|
|
@@ -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/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/directives/direction-order.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/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/providers/table.provider.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 standalone: true,\n selector: 'caption[tuiCaption]',\n template: '<ng-content/>',\n styleUrls: ['./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 standalone: true,\n selector: 'ng-template[tuiCell]',\n})\nexport class TuiTableCell {\n @Input()\n public tuiCell = '';\n\n public readonly template = inject(TemplateRef<Record<string, unknown>>);\n}\n","import {InjectionToken, type Provider} from '@angular/core';\nimport {type TuiComparator} from '@taiga-ui/addon-table/types';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\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 /**\n * @deprecated use sortKey\n */\n sortBy: keyof T | null;\n sortKey: keyof T | null;\n /**\n * @deprecated use sortDirection\n */\n orderBy: TuiSortDirection;\n sortDirection: TuiSortDirection;\n}\n\nexport interface TuiTableSortChange<T> {\n /**\n * @deprecated use sortComparator\n */\n sortBy: TuiComparator<T> | null;\n sortComparator: TuiComparator<T> | null;\n /**\n * @deprecated use sortDirection\n */\n orderBy: TuiSortDirection;\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 = new InjectionToken(\n ngDevMode ? 'TUI_TABLE_OPTIONS' : '',\n {\n factory: () => TUI_TABLE_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiTableOptionsProvider(options: Partial<TuiTableOptions>): Provider {\n return tuiProvideOptions(TUI_TABLE_OPTIONS, options, TUI_TABLE_DEFAULT_OPTIONS);\n}\n","import {Directive, inject} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {\n IntersectionObserverService,\n WA_INTERSECTION_THRESHOLD,\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 standalone: true,\n selector: 'tui-stuck:never',\n providers: [\n IntersectionObserverService,\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(IntersectionObserverService).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 type AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n EventEmitter,\n inject,\n Input,\n type OnChanges,\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, 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';\nimport {combineLatest, debounceTime, map, type Observable, Subject} from 'rxjs';\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 standalone: true,\n template: '',\n styleUrls: ['./table.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-table',\n },\n})\nclass TuiTableStyles {}\n\n@Directive({\n standalone: true,\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 '[attr.data-size]': 'size()',\n },\n})\nexport class TuiTableDirective<T extends Partial<Record<keyof T, unknown>>>\n implements AfterViewInit, TuiTextfieldOptions, OnChanges\n{\n private readonly options = inject(TUI_TABLE_OPTIONS);\n private readonly cdr = inject(ChangeDetectorRef);\n\n protected readonly nothing = tuiWithStyles(TuiTableStyles);\n\n @Input()\n public columns: ReadonlyArray<string | keyof T> = [];\n\n @Input()\n public direction = this.options.direction;\n\n @Input()\n public sorter: TuiComparator<T> = EMPTY_COMPARATOR;\n\n /**\n * @deprecated: use sortChange\n */\n @Output()\n public readonly directionChange = new EventEmitter<TuiSortDirection>();\n\n /**\n * @deprecated: use sortChange\n */\n @Output()\n public readonly sorterChange = new EventEmitter<TuiComparator<T> | null>();\n\n @Output()\n public readonly sortChange: Observable<TuiTableSortChange<T>> = combineLatest([\n this.sorterChange,\n this.directionChange,\n ]).pipe(\n debounceTime(0),\n map(([sortComparator, sortDirection]) => ({\n sortBy: sortComparator,\n orderBy: sortDirection,\n sortComparator,\n sortDirection,\n })),\n );\n\n public readonly appearance = signal('table');\n public readonly size = signal(this.options.size);\n public readonly cleaner = signal(false);\n\n // TODO: refactor to signal inputs after Angular update\n public readonly change$ = new Subject<void>();\n\n @Input('size')\n public set sizeSetter(size: TuiSizeL | TuiSizeS) {\n this.size.set(size);\n }\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 ngOnChanges(): void {\n this.change$.next();\n }\n\n public ngAfterViewInit(): void {\n this.cdr.detectChanges();\n }\n\n public updateSorter(\n sorter: TuiComparator<T> | null,\n direction: TuiSortDirection = TuiSortDirection.Asc,\n ): void {\n this.sorter = sorter || EMPTY_COMPARATOR;\n this.direction = direction;\n this.sorterChange.emit(sorter);\n this.directionChange.emit(this.direction);\n this.change$.next();\n }\n}\n","import {Directive, inject, Input, Output} from '@angular/core';\nimport {map} from 'rxjs';\n\nimport {TuiSortDirection} from '../table.options';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n standalone: true,\n selector: 'table[tuiTable][tuiDirectionOrder]',\n})\nexport class TuiTableDirectionOrder<T> {\n private readonly table = inject(TuiTableDirective<T>);\n\n /**\n * @deprecated: use tuiSortChange\n */\n @Output()\n public readonly directionOrderChange = this.table.directionChange.pipe(\n map((dir) => (dir === 1 ? 'asc' : 'desc')),\n );\n\n @Input()\n public set directionOrder(order: 'asc' | 'desc') {\n this.table.direction =\n order === 'asc' ? TuiSortDirection.Asc : TuiSortDirection.Desc;\n }\n}\n","import {Directive, inject, Input, TemplateRef} from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[tuiHead]',\n})\nexport class TuiTableHead<T extends Partial<Record<keyof T, unknown>>> {\n @Input({required: true})\n public tuiHead: string | keyof T = '';\n\n public readonly template = inject(TemplateRef<Record<string, unknown>>);\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, inject, Output} from '@angular/core';\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 standalone: true,\n selector: '[tuiResized]',\n})\nexport class TuiTableResized {\n private readonly doc = inject(DOCUMENT);\n private readonly el = tuiInjectElement();\n\n @Output()\n public 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","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport {AsyncPipe, NgIf, NgTemplateOutlet} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n inject,\n Input,\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: [AsyncPipe, NgIf, NgTemplateOutlet, TuiIcon, TuiTableResized], // TODO: use control flow syntax\n templateUrl: './th.template.html',\n styleUrls: ['./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 width: number | null = null;\n\n protected readonly table = inject<TuiTableDirective<T>>(\n forwardRef(() => TuiTableDirective),\n {optional: true},\n );\n\n @Input()\n public minWidth = -Infinity;\n\n @Input()\n public maxWidth = Infinity;\n\n @Input()\n public sorter: TuiComparator<T> | null = this.head\n ? (a, b) => tuiDefaultSort(a[this.key], b[this.key])\n : null;\n\n @Input()\n public resizable = this.options.resizable;\n\n @Input()\n public sticky = this.options.sticky;\n\n @Input()\n public requiredSort = 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 = 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","<button\n *ngIf=\"sorter && table; else content\"\n type=\"button\"\n class=\"t-sort\"\n [class.t-sort_sorted]=\"isCurrent\"\n (click)=\"updateSorterAndDirection()\"\n>\n <ng-container [ngTemplateOutlet]=\"content\" />\n {{ table && table.change$ | async }}\n <tui-icon\n class=\"t-icon\"\n [icon]=\"icon\"\n />\n</button>\n<ng-template #content>\n <ng-content />\n</ng-template>\n<div\n *ngIf=\"resizable\"\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n></div>\n","import {type BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Directive, forwardRef, inject, Input, type OnChanges} 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 standalone: true,\n selector: 'th[tuiTh][tuiSortable]',\n})\nexport class TuiTableSortable<T extends Partial<Record<keyof T, unknown>>>\n implements OnChanges\n{\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 @Input({\n alias: 'tuiSortable',\n transform: coerceBooleanProperty,\n })\n public sortable: BooleanInput;\n\n public get key(): keyof T {\n return this.th.key;\n }\n\n public sorter: TuiComparator<T> = (): number => 0;\n\n public ngOnChanges(): void {\n if (this.sortable) {\n this.sorter = this.match ? this.table.sorter : this.sorter;\n this.th.sorter = this.sorter;\n } else {\n this.th.sorter = null;\n }\n }\n\n public check(): void {\n if (this.match && this.table.sorter !== this.sorter) {\n this.table.updateSorter(this.sorter);\n }\n }\n\n private get match(): boolean {\n return this.sortBy.tuiSortBy === this.key;\n }\n}\n","import {\n ContentChildren,\n Directive,\n inject,\n Input,\n Output,\n type QueryList,\n} from '@angular/core';\nimport {type TuiComparator} from '@taiga-ui/addon-table/types';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {combineLatest, debounceTime, delay, filter, map, type Observable} from 'rxjs';\n\nimport {type TuiSortChange} from '../table.options';\nimport {TuiTableSortable} from './sortable.directive';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n standalone: true,\n selector: 'table[tuiTable][tuiSortBy]',\n})\nexport class TuiTableSortBy<T extends Partial<Record<keyof T, unknown>>> {\n @ContentChildren(TuiTableSortable, {descendants: true})\n private readonly sortables: QueryList<TuiTableSortable<T>> = EMPTY_QUERY;\n\n private readonly table = inject(TuiTableDirective<T>);\n\n /**\n * @deprecated: use tuiSortChange\n */\n @Output()\n public readonly tuiSortByChange = this.table.sorterChange.pipe(\n // delay is for getting actual ContentChildren (sortables) https://github.com/angular/angular/issues/38976\n delay(0),\n filter(() => !!this.sortables.length),\n map((sorter) => this.getKey(sorter)),\n );\n\n @Output()\n public readonly tuiSortChange: Observable<TuiSortChange<T>> = combineLatest([\n this.tuiSortByChange,\n this.table.directionChange,\n ]).pipe(\n debounceTime(0),\n map(([sortKey, sortDirection]) => ({\n sortBy: sortKey,\n orderBy: sortDirection,\n sortKey,\n sortDirection,\n })),\n );\n\n public tuiSortBy: string | keyof T | null = null;\n\n @Input('tuiSortBy')\n public set sortBy(sortBy: string | keyof T | null) {\n this.tuiSortBy = sortBy;\n this.checkSortables();\n }\n\n protected checkSortables(): void {\n this.sortables.forEach((s) => s.check());\n }\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 standalone: true,\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 {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {type TuiComparator} from '@taiga-ui/addon-table/types';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {type TuiSortDirection} from '../table.options';\n\n@Pipe({\n standalone: true,\n name: 'tuiTableSort',\n pure: false,\n})\nexport class TuiTableSortPipe<K> implements PipeTransform {\n private readonly table = inject(TuiTableDirective<K>);\n\n public transform<T extends K>(data?: readonly T[] | null): readonly T[] {\n return this.sort<T>(data ?? [], this.table.sorter, this.table.direction);\n }\n\n @tuiPure\n private sort<T extends K>(\n data: readonly T[],\n sorter: TuiComparator<T>,\n direction: TuiSortDirection,\n ): readonly T[] {\n return [...data].sort((a, b) => direction * sorter(a, b));\n }\n}\n","import {type Provider, SkipSelf} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\n\nimport {TuiTableDirective} from '../directives/table.directive';\n\n/**\n * @deprecated TODO: drop after Angular update and signal inputs\n */\nexport const TUI_TABLE_PROVIDER: Provider[] = [\n {\n provide: TuiTableDirective,\n deps: [[new SkipSelf(), TuiTableDirective]],\n useFactory: (\n controller: TuiTableDirective<Partial<Record<string, unknown>>>,\n ): TuiTableDirective<Partial<Record<string, unknown>>> => {\n controller.change$.pipe(tuiWatch(), takeUntilDestroyed()).subscribe();\n\n return controller;\n },\n },\n];\n","import {isPlatformServer} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n type ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\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 standalone: true,\n selector: 'tui-table-expand',\n templateUrl: './table-expand.template.html',\n styleUrls: ['./table-expand.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: TuiPresent,\n outputs: ['tuiPresentChange'],\n },\n ],\n host: {\n ngSkipHydration: 'true',\n '(tuiPresentChange)': 'visible$.next($event)',\n },\n})\nexport class TuiTableExpand {\n @ViewChild('content', {static: true})\n private readonly content?: ElementRef<HTMLElement>;\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()) => this.update());\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 @Output()\n public readonly expandedChange = new EventEmitter<boolean>();\n\n public readonly expanded = signal(inject(TUI_TABLE_OPTIONS).open);\n\n @Input('expanded')\n public set expandedSetter(open: boolean) {\n this.expanded.set(open);\n this.transitioning.set(true);\n }\n\n public toggle(): void {\n this.expanded.set(!this.expanded());\n this.transitioning.set(true);\n this.expandedChange.emit(this.expanded());\n }\n\n private update(): number {\n if (!this.content || this.server) {\n return 0;\n }\n\n const el = this.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 standalone: true,\n selector: 'th[tuiTd], td[tuiTd]',\n template: '<ng-content />',\n styleUrls: ['./td.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._editable]': 'control || textfield',\n },\n})\nexport class TuiTableTd {\n @ContentChild(TuiControl)\n protected readonly control: unknown;\n\n @ContentChild(TuiTextfieldComponent)\n protected readonly textfield?: TuiTextfieldComponent<unknown>;\n}\n","import {AsyncPipe, NgTemplateOutlet} from '@angular/common';\nimport {\n type AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n forwardRef,\n inject,\n type QueryList,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiQueryListChanges, tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {distinctUntilChanged, map, ReplaySubject, switchMap} from 'rxjs';\n\nimport {TuiTableCell} from '../directives/cell.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_TABLE_PROVIDER} from '../providers/table.provider';\nimport {TuiTableTbody} from '../tbody/tbody.component';\nimport {TuiTableTd} from '../td/td.component';\n\n@Component({\n selector: 'tr[tuiTr]',\n imports: [AsyncPipe, NgTemplateOutlet, TuiTableTd],\n templateUrl: './tr.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_TABLE_PROVIDER, ResizeObserverService],\n host: {\n '[style.--t-row-height.px]': 'height()',\n },\n})\nexport class TuiTableTr<T extends Partial<Record<keyof T, unknown>>>\n implements AfterContentInit\n{\n @ContentChildren(forwardRef(() => TuiTableCell))\n private readonly cells: QueryList<TuiTableCell> = EMPTY_QUERY;\n\n private readonly body = inject<TuiTableTbody<T>>(forwardRef(() => TuiTableTbody));\n\n private readonly contentReady$ = new ReplaySubject<boolean>(1);\n\n protected readonly table = inject<TuiTableDirective<T>>(\n forwardRef(() => TuiTableDirective),\n );\n\n protected readonly height = toSignal(\n inject(ResizeObserverService, {self: true}).pipe(\n map(([entry]) => entry?.contentRect.height ?? 0),\n distinctUntilChanged(),\n tuiZoneOptimized(),\n ),\n {initialValue: 0},\n );\n\n protected readonly cells$ = this.contentReady$.pipe(\n switchMap(() => tuiQueryListChanges(this.cells)),\n map((cells) =>\n cells.reduce(\n (record, item) => ({...record, [item.tuiCell]: item}),\n {} as Record<string | keyof T, TuiTableCell>,\n ),\n ),\n );\n\n protected readonly item$ = this.contentReady$.pipe(\n switchMap(() => tuiQueryListChanges(this.body.rows)),\n map(\n (rows) =>\n this.body.data[rows.findIndex((row) => row === this)] as Record<\n string | keyof T,\n unknown\n >,\n ),\n );\n\n public ngAfterContentInit(): void {\n Promise.resolve().then(() => this.contentReady$.next(true));\n }\n}\n","@if (cells$ | async; 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 @if (item$ | async; as item) {\n <td tuiTd>\n {{ item[key] }}\n </td>\n }\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 EventEmitter,\n forwardRef,\n inject,\n Input,\n Output,\n type QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\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_PROVIDER} from '../providers/table.provider';\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 styleUrls: ['./tbody.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TABLE_PROVIDER,\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 @ContentChildren(forwardRef(() => TuiTableTr))\n public readonly rows: QueryList<TuiTableTr<T>> = EMPTY_QUERY;\n\n @Input()\n public data: readonly T[] = [];\n\n /** @deprecated: drop in v5.0, use TuiTableExpand */\n @Input()\n public heading: PolymorpheusContent;\n\n /** @deprecated: drop in v5.0, use TuiTableExpand */\n @Input()\n public open = this.options.open;\n\n /** @deprecated: drop in v5.0, use TuiTableExpand */\n @Output()\n public readonly openChange = new EventEmitter<boolean>();\n\n /** @deprecated: drop in v5.0, use TuiTableExpand */\n protected onClick = (): void => {\n this.open = !this.open;\n this.openChange.emit(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 {AsyncPipe, NgTemplateOutlet} from '@angular/common';\nimport {\n type AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n forwardRef,\n inject,\n type QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {map, type Observable, startWith} from 'rxjs';\n\nimport {TuiTableHead} from '../directives/head.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_TABLE_PROVIDER} from '../providers/table.provider';\nimport {TuiTableTh} from '../th/th.component';\n\n@Component({\n selector: 'tr[tuiThGroup]',\n imports: [AsyncPipe, NgTemplateOutlet, TuiTableTh],\n templateUrl: './th-group.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_TABLE_PROVIDER],\n})\nexport class TuiTableThGroup<T extends Partial<Record<keyof T, unknown>>>\n implements AfterContentInit\n{\n @ContentChild(forwardRef(() => TuiTableTh))\n protected readonly th!: TuiTableTh<T>;\n\n @ContentChildren(forwardRef(() => TuiTableHead))\n protected readonly heads: QueryList<TuiTableHead<T>> = EMPTY_QUERY;\n\n protected heads$: Observable<Record<string | keyof T, TuiTableHead<T>>> | null = null;\n\n protected readonly table = inject<TuiTableDirective<T>>(\n forwardRef(() => TuiTableDirective),\n );\n\n public ngAfterContentInit(): void {\n this.heads$ = this.heads.changes.pipe(\n startWith(null),\n map(() =>\n this.heads.reduce(\n (record, item) => ({...record, [item.tuiHead]: item}),\n {} as Record<string | keyof T, TuiTableHead<T>>,\n ),\n ),\n );\n }\n}\n","<ng-content />\n@if (heads$ | async; 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 {TuiTableDirectionOrder} from './directives/direction-order.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 TuiTableDirectionOrder,\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/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/directives/direction-order.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/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/providers/table.provider.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 standalone: true,\n selector: 'caption[tuiCaption]',\n template: '<ng-content/>',\n styleUrls: ['./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 standalone: true,\n selector: 'ng-template[tuiCell]',\n})\nexport class TuiTableCell {\n @Input()\n public tuiCell = '';\n\n public readonly template = inject(TemplateRef<Record<string, unknown>>);\n}\n","import {InjectionToken, type Provider} from '@angular/core';\nimport {type TuiComparator} from '@taiga-ui/addon-table/types';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\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 /**\n * @deprecated use sortKey\n */\n sortBy: keyof T | null;\n sortKey: keyof T | null;\n /**\n * @deprecated use sortDirection\n */\n orderBy: TuiSortDirection;\n sortDirection: TuiSortDirection;\n}\n\nexport interface TuiTableSortChange<T> {\n /**\n * @deprecated use sortComparator\n */\n sortBy: TuiComparator<T> | null;\n sortComparator: TuiComparator<T> | null;\n /**\n * @deprecated use sortDirection\n */\n orderBy: TuiSortDirection;\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 = new InjectionToken(\n ngDevMode ? 'TUI_TABLE_OPTIONS' : '',\n {\n factory: () => TUI_TABLE_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiTableOptionsProvider(options: Partial<TuiTableOptions>): Provider {\n return tuiProvideOptions(TUI_TABLE_OPTIONS, options, TUI_TABLE_DEFAULT_OPTIONS);\n}\n","import {Directive, inject} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {\n IntersectionObserverService,\n WA_INTERSECTION_THRESHOLD,\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 standalone: true,\n selector: 'tui-stuck:never',\n providers: [\n IntersectionObserverService,\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(IntersectionObserverService).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 type AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n EventEmitter,\n inject,\n Input,\n type OnChanges,\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, 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';\nimport {combineLatest, debounceTime, map, type Observable, Subject} from 'rxjs';\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 styleUrls: ['./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 '[attr.data-size]': 'size()',\n },\n})\nexport class TuiTableDirective<T extends Partial<Record<keyof T, unknown>>>\n implements AfterViewInit, TuiTextfieldOptions, OnChanges\n{\n private readonly options = inject(TUI_TABLE_OPTIONS);\n private readonly cdr = inject(ChangeDetectorRef);\n\n protected readonly nothing = tuiWithStyles(Styles);\n\n @Input()\n public columns: ReadonlyArray<string | keyof T> = [];\n\n @Input()\n public direction = this.options.direction;\n\n @Input()\n public sorter: TuiComparator<T> = EMPTY_COMPARATOR;\n\n /**\n * @deprecated: use sortChange\n */\n @Output()\n public readonly directionChange = new EventEmitter<TuiSortDirection>();\n\n /**\n * @deprecated: use sortChange\n */\n @Output()\n public readonly sorterChange = new EventEmitter<TuiComparator<T> | null>();\n\n @Output()\n public readonly sortChange: Observable<TuiTableSortChange<T>> = combineLatest([\n this.sorterChange,\n this.directionChange,\n ]).pipe(\n debounceTime(0),\n map(([sortComparator, sortDirection]) => ({\n sortBy: sortComparator,\n orderBy: sortDirection,\n sortComparator,\n sortDirection,\n })),\n );\n\n public readonly appearance = signal('table');\n public readonly size = signal(this.options.size);\n public readonly cleaner = signal(false);\n\n // TODO: refactor to signal inputs after Angular update\n public readonly change$ = new Subject<void>();\n\n @Input('size')\n public set sizeSetter(size: TuiSizeL | TuiSizeS) {\n this.size.set(size);\n }\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 ngOnChanges(): void {\n this.change$.next();\n }\n\n public ngAfterViewInit(): void {\n this.cdr.detectChanges();\n }\n\n public updateSorter(\n sorter: TuiComparator<T> | null,\n direction: TuiSortDirection = TuiSortDirection.Asc,\n ): void {\n this.sorter = sorter || EMPTY_COMPARATOR.bind({});\n this.direction = direction;\n this.sorterChange.emit(sorter);\n this.directionChange.emit(this.direction);\n this.change$.next();\n }\n}\n","import {Directive, inject, Input, Output} from '@angular/core';\nimport {map} from 'rxjs';\n\nimport {TuiSortDirection} from '../table.options';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n standalone: true,\n selector: 'table[tuiTable][tuiDirectionOrder]',\n})\nexport class TuiTableDirectionOrder<T> {\n private readonly table = inject(TuiTableDirective<T>);\n\n /**\n * @deprecated: use tuiSortChange\n */\n @Output()\n public readonly directionOrderChange = this.table.directionChange.pipe(\n map((dir) => (dir === 1 ? 'asc' : 'desc')),\n );\n\n @Input()\n public set directionOrder(order: 'asc' | 'desc') {\n this.table.direction =\n order === 'asc' ? TuiSortDirection.Asc : TuiSortDirection.Desc;\n }\n}\n","import {Directive, inject, Input, TemplateRef} from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[tuiHead]',\n})\nexport class TuiTableHead<T extends Partial<Record<keyof T, unknown>>> {\n @Input({required: true})\n public tuiHead: string | keyof T = '';\n\n public readonly template = inject(TemplateRef<Record<string, unknown>>);\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, inject, Output} from '@angular/core';\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 standalone: true,\n selector: '[tuiResized]',\n})\nexport class TuiTableResized {\n private readonly doc = inject(DOCUMENT);\n private readonly el = tuiInjectElement();\n\n @Output()\n public 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","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport {AsyncPipe, NgIf, NgTemplateOutlet} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n inject,\n Input,\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: [AsyncPipe, NgIf, NgTemplateOutlet, TuiIcon, TuiTableResized], // TODO: use control flow syntax\n templateUrl: './th.template.html',\n styleUrls: ['./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 width: number | null = null;\n\n protected readonly table = inject<TuiTableDirective<T>>(\n forwardRef(() => TuiTableDirective),\n {optional: true},\n );\n\n @Input()\n public minWidth = -Infinity;\n\n @Input()\n public maxWidth = Infinity;\n\n @Input()\n public sorter: TuiComparator<T> | null = this.head\n ? (a, b) => tuiDefaultSort(a[this.key], b[this.key])\n : null;\n\n @Input()\n public resizable = this.options.resizable;\n\n @Input()\n public sticky = this.options.sticky;\n\n @Input()\n public requiredSort = 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 = 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","<button\n *ngIf=\"sorter && table; else content\"\n type=\"button\"\n class=\"t-sort\"\n [class.t-sort_sorted]=\"isCurrent\"\n (click)=\"updateSorterAndDirection()\"\n>\n <ng-container [ngTemplateOutlet]=\"content\" />\n {{ table && table.change$ | async }}\n <tui-icon\n class=\"t-icon\"\n [icon]=\"icon\"\n />\n</button>\n<ng-template #content>\n <ng-content />\n</ng-template>\n<div\n *ngIf=\"resizable\"\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n></div>\n","import {type BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Directive, forwardRef, inject, Input, type OnChanges} 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 standalone: true,\n selector: 'th[tuiTh][tuiSortable]',\n})\nexport class TuiTableSortable<T extends Partial<Record<keyof T, unknown>>>\n implements OnChanges\n{\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 @Input({\n alias: 'tuiSortable',\n transform: coerceBooleanProperty,\n })\n public sortable: BooleanInput;\n\n public get key(): keyof T {\n return this.th.key;\n }\n\n public sorter: TuiComparator<T> = (): number => 0;\n\n public ngOnChanges(): void {\n if (this.sortable) {\n this.sorter = this.match ? this.table.sorter : this.sorter;\n this.th.sorter = this.sorter;\n } else {\n this.th.sorter = null;\n }\n }\n\n public check(): void {\n if (this.match && this.table.sorter !== this.sorter) {\n this.table.updateSorter(this.sorter);\n }\n }\n\n private get match(): boolean {\n return this.sortBy.tuiSortBy === this.key;\n }\n}\n","import {\n ContentChildren,\n Directive,\n inject,\n Input,\n Output,\n type QueryList,\n} from '@angular/core';\nimport {type TuiComparator} from '@taiga-ui/addon-table/types';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {combineLatest, debounceTime, delay, filter, map, type Observable} from 'rxjs';\n\nimport {type TuiSortChange} from '../table.options';\nimport {TuiTableSortable} from './sortable.directive';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n standalone: true,\n selector: 'table[tuiTable][tuiSortBy]',\n})\nexport class TuiTableSortBy<T extends Partial<Record<keyof T, unknown>>> {\n @ContentChildren(TuiTableSortable, {descendants: true})\n private readonly sortables: QueryList<TuiTableSortable<T>> = EMPTY_QUERY;\n\n private readonly table = inject(TuiTableDirective<T>);\n\n /**\n * @deprecated: use tuiSortChange\n */\n @Output()\n public readonly tuiSortByChange = this.table.sorterChange.pipe(\n // delay is for getting actual ContentChildren (sortables) https://github.com/angular/angular/issues/38976\n delay(0),\n filter(() => !!this.sortables.length),\n map((sorter) => this.getKey(sorter)),\n );\n\n @Output()\n public readonly tuiSortChange: Observable<TuiSortChange<T>> = combineLatest([\n this.tuiSortByChange,\n this.table.directionChange,\n ]).pipe(\n debounceTime(0),\n map(([sortKey, sortDirection]) => ({\n sortBy: sortKey,\n orderBy: sortDirection,\n sortKey,\n sortDirection,\n })),\n );\n\n public tuiSortBy: string | keyof T | null = null;\n\n @Input('tuiSortBy')\n public set sortBy(sortBy: string | keyof T | null) {\n this.tuiSortBy = sortBy;\n this.checkSortables();\n }\n\n protected checkSortables(): void {\n this.sortables.forEach((s) => s.check());\n }\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 standalone: true,\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 {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {type TuiComparator} from '@taiga-ui/addon-table/types';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {type TuiSortDirection} from '../table.options';\n\n@Pipe({\n standalone: true,\n name: 'tuiTableSort',\n pure: false,\n})\nexport class TuiTableSortPipe<K> implements PipeTransform {\n private readonly table = inject(TuiTableDirective<K>);\n\n public transform<T extends K>(data?: readonly T[] | null): readonly T[] {\n return this.sort<T>(data ?? [], this.table.sorter, this.table.direction);\n }\n\n @tuiPure\n private sort<T extends K>(\n data: readonly T[],\n sorter: TuiComparator<T>,\n direction: TuiSortDirection,\n ): readonly T[] {\n return [...data].sort((a, b) => direction * sorter(a, b));\n }\n}\n","import {type Provider, SkipSelf} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\n\nimport {TuiTableDirective} from '../directives/table.directive';\n\n/**\n * @deprecated TODO: drop after Angular update and signal inputs\n */\nexport const TUI_TABLE_PROVIDER: Provider[] = [\n {\n provide: TuiTableDirective,\n deps: [[new SkipSelf(), TuiTableDirective]],\n useFactory: (\n controller: TuiTableDirective<Partial<Record<string, unknown>>>,\n ): TuiTableDirective<Partial<Record<string, unknown>>> => {\n controller.change$.pipe(tuiWatch(), takeUntilDestroyed()).subscribe();\n\n return controller;\n },\n },\n];\n","import {isPlatformServer} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n type ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\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 standalone: true,\n selector: 'tui-table-expand',\n templateUrl: './table-expand.template.html',\n styleUrls: ['./table-expand.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: TuiPresent,\n outputs: ['tuiPresentChange'],\n },\n ],\n host: {\n ngSkipHydration: 'true',\n '(tuiPresentChange)': 'visible$.next($event)',\n },\n})\nexport class TuiTableExpand {\n @ViewChild('content', {static: true})\n private readonly content?: ElementRef<HTMLElement>;\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()) => this.update());\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 @Output()\n public readonly expandedChange = new EventEmitter<boolean>();\n\n public readonly expanded = signal(inject(TUI_TABLE_OPTIONS).open);\n\n @Input('expanded')\n public set expandedSetter(open: boolean) {\n this.expanded.set(open);\n this.transitioning.set(true);\n }\n\n public toggle(): void {\n this.expanded.set(!this.expanded());\n this.transitioning.set(true);\n this.expandedChange.emit(this.expanded());\n }\n\n private update(): number {\n if (!this.content || this.server) {\n return 0;\n }\n\n const el = this.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 standalone: true,\n selector: 'th[tuiTd], td[tuiTd]',\n template: '<ng-content />',\n styleUrls: ['./td.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._editable]': 'control || textfield',\n },\n})\nexport class TuiTableTd {\n @ContentChild(TuiControl)\n protected readonly control: unknown;\n\n @ContentChild(TuiTextfieldComponent)\n protected readonly textfield?: TuiTextfieldComponent<unknown>;\n}\n","import {AsyncPipe, NgTemplateOutlet} from '@angular/common';\nimport {\n type AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n forwardRef,\n inject,\n type QueryList,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiQueryListChanges, tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {distinctUntilChanged, map, ReplaySubject, switchMap} from 'rxjs';\n\nimport {TuiTableCell} from '../directives/cell.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_TABLE_PROVIDER} from '../providers/table.provider';\nimport {TuiTableTbody} from '../tbody/tbody.component';\nimport {TuiTableTd} from '../td/td.component';\n\n@Component({\n selector: 'tr[tuiTr]',\n imports: [AsyncPipe, NgTemplateOutlet, TuiTableTd],\n templateUrl: './tr.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_TABLE_PROVIDER, ResizeObserverService],\n host: {\n '[style.--t-row-height.px]': 'height()',\n },\n})\nexport class TuiTableTr<T extends Partial<Record<keyof T, unknown>>>\n implements AfterContentInit\n{\n @ContentChildren(forwardRef(() => TuiTableCell))\n private readonly cells: QueryList<TuiTableCell> = EMPTY_QUERY;\n\n private readonly body = inject<TuiTableTbody<T>>(forwardRef(() => TuiTableTbody));\n\n private readonly contentReady$ = new ReplaySubject<boolean>(1);\n\n protected readonly table = inject<TuiTableDirective<T>>(\n forwardRef(() => TuiTableDirective),\n );\n\n protected readonly height = toSignal(\n inject(ResizeObserverService, {self: true}).pipe(\n map(([entry]) => entry?.contentRect.height ?? 0),\n distinctUntilChanged(),\n tuiZoneOptimized(),\n ),\n {initialValue: 0},\n );\n\n protected readonly cells$ = this.contentReady$.pipe(\n switchMap(() => tuiQueryListChanges(this.cells)),\n map((cells) =>\n cells.reduce(\n (record, item) => ({...record, [item.tuiCell]: item}),\n {} as Record<string | keyof T, TuiTableCell>,\n ),\n ),\n );\n\n protected readonly item$ = this.contentReady$.pipe(\n switchMap(() => tuiQueryListChanges(this.body.rows)),\n map(\n (rows) =>\n this.body.data[rows.findIndex((row) => row === this)] as Record<\n string | keyof T,\n unknown\n >,\n ),\n );\n\n public ngAfterContentInit(): void {\n Promise.resolve().then(() => this.contentReady$.next(true));\n }\n}\n","@if (cells$ | async; 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 @if (item$ | async; as item) {\n <td tuiTd>\n {{ item[key] }}\n </td>\n }\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 EventEmitter,\n forwardRef,\n inject,\n Input,\n Output,\n type QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\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_PROVIDER} from '../providers/table.provider';\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 styleUrls: ['./tbody.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TABLE_PROVIDER,\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 @ContentChildren(forwardRef(() => TuiTableTr))\n public readonly rows: QueryList<TuiTableTr<T>> = EMPTY_QUERY;\n\n @Input()\n public data: readonly T[] = [];\n\n /** @deprecated: drop in v5.0, use TuiTableExpand */\n @Input()\n public heading: PolymorpheusContent;\n\n /** @deprecated: drop in v5.0, use TuiTableExpand */\n @Input()\n public open = this.options.open;\n\n /** @deprecated: drop in v5.0, use TuiTableExpand */\n @Output()\n public readonly openChange = new EventEmitter<boolean>();\n\n /** @deprecated: drop in v5.0, use TuiTableExpand */\n protected onClick = (): void => {\n this.open = !this.open;\n this.openChange.emit(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 {AsyncPipe, NgTemplateOutlet} from '@angular/common';\nimport {\n type AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n forwardRef,\n inject,\n type QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {map, type Observable, startWith} from 'rxjs';\n\nimport {TuiTableHead} from '../directives/head.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_TABLE_PROVIDER} from '../providers/table.provider';\nimport {TuiTableTh} from '../th/th.component';\n\n@Component({\n selector: 'tr[tuiThGroup]',\n imports: [AsyncPipe, NgTemplateOutlet, TuiTableTh],\n templateUrl: './th-group.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_TABLE_PROVIDER],\n})\nexport class TuiTableThGroup<T extends Partial<Record<keyof T, unknown>>>\n implements AfterContentInit\n{\n @ContentChild(forwardRef(() => TuiTableTh))\n protected readonly th!: TuiTableTh<T>;\n\n @ContentChildren(forwardRef(() => TuiTableHead))\n protected readonly heads: QueryList<TuiTableHead<T>> = EMPTY_QUERY;\n\n protected heads$: Observable<Record<string | keyof T, TuiTableHead<T>>> | null = null;\n\n protected readonly table = inject<TuiTableDirective<T>>(\n forwardRef(() => TuiTableDirective),\n );\n\n public ngAfterContentInit(): void {\n this.heads$ = this.heads.changes.pipe(\n startWith(null),\n map(() =>\n this.heads.reduce(\n (record, item) => ({...record, [item.tuiHead]: item}),\n {} as Record<string | keyof T, TuiTableHead<T>>,\n ),\n ),\n );\n }\n}\n","<ng-content />\n@if (heads$ | async; 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 {TuiTableDirectionOrder} from './directives/direction-order.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 TuiTableDirectionOrder,\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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taiga-ui/addon-table",
|
|
3
|
-
"version": "4.52.0-canary.
|
|
3
|
+
"version": "4.52.0-canary.3915ce7",
|
|
4
4
|
"description": "A library to display tabled data with filters, search, group actions, etc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -61,13 +61,13 @@
|
|
|
61
61
|
"types": "./components/table-pagination/index.d.ts",
|
|
62
62
|
"default": "./fesm2022/taiga-ui-addon-table-components-table-pagination.mjs"
|
|
63
63
|
},
|
|
64
|
-
"./directives/table-control": {
|
|
65
|
-
"types": "./directives/table-control/index.d.ts",
|
|
66
|
-
"default": "./fesm2022/taiga-ui-addon-table-directives-table-control.mjs"
|
|
67
|
-
},
|
|
68
64
|
"./directives/table-filters": {
|
|
69
65
|
"types": "./directives/table-filters/index.d.ts",
|
|
70
66
|
"default": "./fesm2022/taiga-ui-addon-table-directives-table-filters.mjs"
|
|
67
|
+
},
|
|
68
|
+
"./directives/table-control": {
|
|
69
|
+
"types": "./directives/table-control/index.d.ts",
|
|
70
|
+
"default": "./fesm2022/taiga-ui-addon-table-directives-table-control.mjs"
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
73
|
"sideEffects": false,
|