@taiga-ui/addon-table 5.0.0 → 5.1.0-canary.7b17838

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.
@@ -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.19", ngImport: i0, type: TuiReorder, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
93
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", 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: [
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiReorder, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
93
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", 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-typography-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.19", ngImport: i0, type: TuiReorder, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", 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
  {
@@ -65,10 +65,10 @@ class TuiTablePagination {
65
65
  this.page.update((page) => page + 1);
66
66
  this.paginationChange.emit(this.pagination());
67
67
  }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTablePagination, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", 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-typography-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 }); }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTablePagination, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
69
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", 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-typography-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 }); }
70
70
  }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTablePagination, decorators: [{
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTablePagination, decorators: [{
72
72
  type: Component,
73
73
  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-typography-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"] }]
74
74
  }] });
@@ -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.19", ngImport: i0, type: TuiTableCaption, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", 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 }); }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableCaption, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", 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.19", ngImport: i0, type: TuiTableCaption, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", 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,10 +36,10 @@ 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.19", ngImport: i0, type: TuiTableCell, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
40
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", type: TuiTableCell, isStandalone: true, selector: "ng-template[tuiCell]", inputs: { tuiCell: { classPropertyName: "tuiCell", publicName: "tuiCell", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableCell, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
40
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", 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.19", ngImport: i0, type: TuiTableCell, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableCell, decorators: [{
43
43
  type: Directive,
44
44
  args: [{ selector: 'ng-template[tuiCell]' }]
45
45
  }] });
@@ -49,10 +49,10 @@ class TuiTableHead {
49
49
  this.tuiHead = input.required();
50
50
  this.template = inject((TemplateRef));
51
51
  }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableHead, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
53
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", type: TuiTableHead, isStandalone: true, selector: "[tuiHead]", inputs: { tuiHead: { classPropertyName: "tuiHead", publicName: "tuiHead", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableHead, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
53
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", type: TuiTableHead, isStandalone: true, selector: "[tuiHead]", inputs: { tuiHead: { classPropertyName: "tuiHead", publicName: "tuiHead", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
54
54
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableHead, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableHead, decorators: [{
56
56
  type: Directive,
57
57
  args: [{ selector: '[tuiHead]' }]
58
58
  }] });
@@ -67,10 +67,10 @@ class TuiTableResized {
67
67
  }));
68
68
  this.tuiResized = outputFromObservable(this.tuiResized$);
69
69
  }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableResized, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
71
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.19", type: TuiTableResized, isStandalone: true, selector: "[tuiResized]", outputs: { tuiResized: "tuiResized" }, ngImport: i0 }); }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableResized, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
71
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: TuiTableResized, isStandalone: true, selector: "[tuiResized]", outputs: { tuiResized: "tuiResized" }, ngImport: i0 }); }
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableResized, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableResized, decorators: [{
74
74
  type: Directive,
75
75
  args: [{ selector: '[tuiResized]' }]
76
76
  }] });
@@ -99,13 +99,13 @@ class TuiStuck {
99
99
  constructor() {
100
100
  this.stuck = toSignal(inject(WaIntersectionObserverService).pipe(map((entries) => (entries[entries.length - 1]?.intersectionRatio ?? 0) < 1), distinctUntilChanged(), tuiWatch(), catchError(() => EMPTY)));
101
101
  }
102
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiStuck, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
103
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.19", type: TuiStuck, isStandalone: true, host: { properties: { "class._stuck": "stuck()" } }, providers: [
102
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiStuck, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
103
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: TuiStuck, isStandalone: true, host: { properties: { "class._stuck": "stuck()" } }, providers: [
104
104
  WaIntersectionObserverService,
105
105
  { provide: WA_INTERSECTION_THRESHOLD, useValue: [0, 1] },
106
106
  ], ngImport: i0 }); }
107
107
  }
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiStuck, decorators: [{
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiStuck, decorators: [{
109
109
  type: Directive,
110
110
  args: [{
111
111
  providers: [
@@ -118,12 +118,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImpo
118
118
 
119
119
  const EMPTY_COMPARATOR = () => 0;
120
120
  class Styles {
121
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
122
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-table-5.0.0"], ngImport: i0, template: '', isInline: true, styles: ["table[tuiTable]:where(*[data-tui-version=\"5.0.0\"]){border-collapse:separate;border-spacing:0;isolation:isolate}table[tuiTable]:where(*[data-tui-version=\"5.0.0\"]) [tuiCell]{padding:0}table[tuiTable]:where(*[data-tui-version=\"5.0.0\"]) [tuiTitle]{white-space:nowrap}table[tuiTable]:where(*[data-tui-version=\"5.0.0\"]) [tuiTitle] tui-icon{font-size:1rem}table[tuiTable]:where(*[data-tui-version=\"5.0.0\"]) [tuiSubtitle]{color:var(--tui-text-secondary)}table[tuiTable]:where(*[data-tui-version=\"5.0.0\"]) [tuiTh] [tuiCell],table[tuiTable]:where(*[data-tui-version=\"5.0.0\"]) [tuiTh] [tuiTitle]{font:inherit;color:inherit}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
121
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
122
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-table-5.1.0-canary.7b17838"], ngImport: i0, template: '', isInline: true, styles: ["table[tuiTable]:where(*[data-tui-version=\"5.1.0-canary.7b17838\"]){border-collapse:separate;border-spacing:0;isolation:isolate}table[tuiTable]:where(*[data-tui-version=\"5.1.0-canary.7b17838\"]) [tuiCell]{padding:0}table[tuiTable]:where(*[data-tui-version=\"5.1.0-canary.7b17838\"]) [tuiTitle]{white-space:nowrap}table[tuiTable]:where(*[data-tui-version=\"5.1.0-canary.7b17838\"]) [tuiTitle] tui-icon{font-size:1rem}table[tuiTable]:where(*[data-tui-version=\"5.1.0-canary.7b17838\"]) [tuiSubtitle]{color:var(--tui-text-secondary)}table[tuiTable]:where(*[data-tui-version=\"5.1.0-canary.7b17838\"]) [tuiTh] [tuiCell],table[tuiTable]:where(*[data-tui-version=\"5.1.0-canary.7b17838\"]) [tuiTh] [tuiTitle]{font:inherit;color:inherit}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
123
123
  }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: Styles, decorators: [{
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: Styles, decorators: [{
125
125
  type: Component,
126
- args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-table-${TUI_VERSION}`, styles: ["table[tuiTable]:where(*[data-tui-version=\"5.0.0\"]){border-collapse:separate;border-spacing:0;isolation:isolate}table[tuiTable]:where(*[data-tui-version=\"5.0.0\"]) [tuiCell]{padding:0}table[tuiTable]:where(*[data-tui-version=\"5.0.0\"]) [tuiTitle]{white-space:nowrap}table[tuiTable]:where(*[data-tui-version=\"5.0.0\"]) [tuiTitle] tui-icon{font-size:1rem}table[tuiTable]:where(*[data-tui-version=\"5.0.0\"]) [tuiSubtitle]{color:var(--tui-text-secondary)}table[tuiTable]:where(*[data-tui-version=\"5.0.0\"]) [tuiTh] [tuiCell],table[tuiTable]:where(*[data-tui-version=\"5.0.0\"]) [tuiTh] [tuiTitle]{font:inherit;color:inherit}\n"] }]
126
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-table-${TUI_VERSION}`, styles: ["table[tuiTable]:where(*[data-tui-version=\"5.1.0-canary.7b17838\"]){border-collapse:separate;border-spacing:0;isolation:isolate}table[tuiTable]:where(*[data-tui-version=\"5.1.0-canary.7b17838\"]) [tuiCell]{padding:0}table[tuiTable]:where(*[data-tui-version=\"5.1.0-canary.7b17838\"]) [tuiTitle]{white-space:nowrap}table[tuiTable]:where(*[data-tui-version=\"5.1.0-canary.7b17838\"]) [tuiTitle] tui-icon{font-size:1rem}table[tuiTable]:where(*[data-tui-version=\"5.1.0-canary.7b17838\"]) [tuiSubtitle]{color:var(--tui-text-secondary)}table[tuiTable]:where(*[data-tui-version=\"5.1.0-canary.7b17838\"]) [tuiTh] [tuiCell],table[tuiTable]:where(*[data-tui-version=\"5.1.0-canary.7b17838\"]) [tuiTh] [tuiTitle]{font:inherit;color:inherit}\n"] }]
127
127
  }] });
128
128
  class TuiTableDirective {
129
129
  constructor() {
@@ -156,8 +156,8 @@ class TuiTableDirective {
156
156
  this.sorter.set(sorter || EMPTY_COMPARATOR.bind({}));
157
157
  this.direction.set(direction);
158
158
  }
159
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
160
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", 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": "", "data-tui-version": "5.0.0" }, properties: { "attr.data-size": "size()" } }, providers: [
159
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
160
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", 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": "", "data-tui-version": "5.1.0-canary.7b17838" }, properties: { "attr.data-size": "size()" } }, providers: [
161
161
  {
162
162
  provide: WA_INTERSECTION_ROOT_MARGIN,
163
163
  useValue: '10000px 10000px 10000px 0px',
@@ -169,7 +169,7 @@ class TuiTableDirective {
169
169
  tuiProgressOptionsProvider({ size: 's', color: 'var(--tui-text-action)' }),
170
170
  ], hostDirectives: [{ directive: TuiStuck }], ngImport: i0 }); }
171
171
  }
172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableDirective, decorators: [{
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableDirective, decorators: [{
173
173
  type: Directive,
174
174
  args: [{
175
175
  selector: 'table[tuiTable]',
@@ -235,10 +235,10 @@ class TuiTableTh {
235
235
  return (this.sorter() === this.table?.sorter() &&
236
236
  this.table?.direction() === TuiSortDirection.Desc);
237
237
  }
238
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableTh, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
239
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", 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;inset-block-start:0;block-size:var(--tui-height-m);font:var(--tui-typography-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)}: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{inset-inline-start: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;inset-block-start:0;inset-inline-start:100%;inset-block-end: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-typography-body-m);font-weight:700;padding:0 1rem}:host-context(table[data-size=\"s\"]){block-size:var(--tui-height-s);font:var(--tui-typography-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)){inset-block-start:var(--tui-height-l)}:host-context(table[data-size=\"m\"] thead[tuiThead] tr:nth-child(2)){inset-block-start:var(--tui-height-m)}:host-context(table[data-size=\"s\"] thead[tuiThead] tr:nth-child(2)){inset-block-start: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;inset-block-start:0;inset-block-end:0;inset-inline-end:-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 }); }
238
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableTh, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
239
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", 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;inset-block-start:0;block-size:var(--tui-height-m);font:var(--tui-typography-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)}: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{inset-inline-start: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;inset-block-start:0;inset-inline-start:100%;inset-block-end: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-typography-body-m);font-weight:700;padding:0 1rem}:host-context(table[data-size=\"s\"]){block-size:var(--tui-height-s);font:var(--tui-typography-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)){inset-block-start:var(--tui-height-l)}:host-context(table[data-size=\"m\"] thead[tuiThead] tr:nth-child(2)){inset-block-start:var(--tui-height-m)}:host-context(table[data-size=\"s\"] thead[tuiThead] tr:nth-child(2)){inset-block-start: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;inset-block-start:0;inset-block-end:0;inset-inline-end:-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 }); }
240
240
  }
241
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableTh, decorators: [{
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableTh, decorators: [{
242
242
  type: Component,
243
243
  args: [{ selector: 'th[tuiTh]', imports: [NgTemplateOutlet, TuiIcon, TuiTableResized], changeDetection: ChangeDetectionStrategy.OnPush, host: {
244
244
  '[style.min-width.px]': 'width() || minWidth()',
@@ -280,10 +280,10 @@ class TuiTableSortable {
280
280
  get match() {
281
281
  return this.sortBy.tuiSortBy() === this.key;
282
282
  }
283
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableSortable, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
284
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", type: TuiTableSortable, isStandalone: true, selector: "th[tuiTh][tuiSortable]", inputs: { sortable: { classPropertyName: "sortable", publicName: "tuiSortable", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
283
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableSortable, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
284
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", type: TuiTableSortable, isStandalone: true, selector: "th[tuiTh][tuiSortable]", inputs: { sortable: { classPropertyName: "sortable", publicName: "tuiSortable", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
285
285
  }
286
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableSortable, decorators: [{
286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableSortable, decorators: [{
287
287
  type: Directive,
288
288
  args: [{ selector: 'th[tuiTh][tuiSortable]' }]
289
289
  }] });
@@ -309,24 +309,24 @@ class TuiTableSortBy {
309
309
  getKey(sorter) {
310
310
  return this.sortables().find((s) => s.sorter() === sorter)?.key || null;
311
311
  }
312
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableSortBy, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
313
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.19", 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 }); }
312
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableSortBy, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
313
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.20", 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 }); }
314
314
  }
315
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableSortBy, decorators: [{
315
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableSortBy, decorators: [{
316
316
  type: Directive,
317
317
  args: [{ selector: 'table[tuiTable][tuiSortBy]' }]
318
318
  }] });
319
319
 
320
320
  class TuiTableThead {
321
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableThead, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
322
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.19", type: TuiTableThead, isStandalone: true, selector: "thead[tuiThead]", providers: [
321
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableThead, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
322
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: TuiTableThead, isStandalone: true, selector: "thead[tuiThead]", providers: [
323
323
  {
324
324
  provide: WA_INTERSECTION_ROOT_MARGIN,
325
325
  useValue: '0px 10000px 10000px 10000px',
326
326
  },
327
327
  ], hostDirectives: [{ directive: TuiStuck }], ngImport: i0 }); }
328
328
  }
329
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableThead, decorators: [{
329
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableThead, decorators: [{
330
330
  type: Directive,
331
331
  args: [{
332
332
  selector: 'thead[tuiThead]',
@@ -344,10 +344,10 @@ class TuiSorterPipe {
344
344
  transform(key) {
345
345
  return (a, b) => tuiDefaultSort(a[key], b[key]);
346
346
  }
347
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiSorterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
348
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.19", ngImport: i0, type: TuiSorterPipe, isStandalone: true, name: "tuiSorter" }); }
347
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiSorterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
348
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: TuiSorterPipe, isStandalone: true, name: "tuiSorter" }); }
349
349
  }
350
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiSorterPipe, decorators: [{
350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiSorterPipe, decorators: [{
351
351
  type: Pipe,
352
352
  args: [{ name: 'tuiSorter' }]
353
353
  }] });
@@ -362,10 +362,10 @@ class TuiTableSortPipe {
362
362
  untracked(() => this.data.set(data ?? []));
363
363
  return this.sorted();
364
364
  }
365
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableSortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
366
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.19", ngImport: i0, type: TuiTableSortPipe, isStandalone: true, name: "tuiTableSort", pure: false }); }
365
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableSortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
366
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: TuiTableSortPipe, isStandalone: true, name: "tuiTableSort", pure: false }); }
367
367
  }
368
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableSortPipe, decorators: [{
368
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableSortPipe, decorators: [{
369
369
  type: Pipe,
370
370
  args: [{
371
371
  name: 'tuiTableSort',
@@ -400,10 +400,10 @@ class TuiTableExpand {
400
400
  el.style.removeProperty('display');
401
401
  return height;
402
402
  }
403
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableExpand, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
404
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.19", 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 }); }
403
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableExpand, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
404
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", 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 }); }
405
405
  }
406
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableExpand, decorators: [{
406
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableExpand, decorators: [{
407
407
  type: Component,
408
408
  args: [{ selector: 'tui-table-expand', changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
409
409
  {
@@ -421,10 +421,10 @@ class TuiTableTd {
421
421
  this.control = contentChild((TuiControl));
422
422
  this.textfield = contentChild((TuiTextfieldComponent));
423
423
  }
424
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableTd, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
425
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.19", 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}:host:first-child{inset-inline-start: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;inset-block-start:0;inset-block-end:0;inset-inline-start: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-typography-body-m);padding:calc(1rem - 1px) 1rem 1rem}:host-context(table[data-size=\"m\"]){block-size:var(--tui-height-m);font:var(--tui-typography-body-s);padding:calc(.625rem - 1px) .75rem .625rem}:host-context(table[data-size=\"s\"]){block-size:var(--tui-height-s);font:var(--tui-typography-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 }); }
424
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableTd, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
425
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", 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}:host:first-child{inset-inline-start: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;inset-block-start:0;inset-block-end:0;inset-inline-start: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-typography-body-m);padding:calc(1rem - 1px) 1rem 1rem}:host-context(table[data-size=\"m\"]){block-size:var(--tui-height-m);font:var(--tui-typography-body-s);padding:calc(.625rem - 1px) .75rem .625rem}:host-context(table[data-size=\"s\"]){block-size:var(--tui-height-s);font:var(--tui-typography-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 }); }
426
426
  }
427
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableTd, decorators: [{
427
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableTd, decorators: [{
428
428
  type: Component,
429
429
  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}:host:first-child{inset-inline-start: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;inset-block-start:0;inset-block-end:0;inset-inline-start: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-typography-body-m);padding:calc(1rem - 1px) 1rem 1rem}:host-context(table[data-size=\"m\"]){block-size:var(--tui-height-m);font:var(--tui-typography-body-s);padding:calc(.625rem - 1px) .75rem .625rem}:host-context(table[data-size=\"s\"]){block-size:var(--tui-height-s);font:var(--tui-typography-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"] }]
430
430
  }] });
@@ -437,12 +437,12 @@ class TuiTableTr {
437
437
  this.items = computed(() => this.cells().reduce((record, item) => ({ ...record, [item.tuiCell()]: item }), {}));
438
438
  this.item = computed(() => this.body.data()[this.body.rows().findIndex((row) => row === this)]);
439
439
  }
440
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableTr, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
441
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", 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 }); }
440
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableTr, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
441
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", 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\n <ng-template #plain>\n <td tuiTd>\n {{ item()[key] }}\n </td>\n </ng-template>\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 }); }
442
442
  }
443
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableTr, decorators: [{
443
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableTr, decorators: [{
444
444
  type: Component,
445
- 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" }]
445
+ 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\n <ng-template #plain>\n <td tuiTd>\n {{ item()[key] }}\n </td>\n </ng-template>\n }\n} @else {\n <td></td>\n}\n<ng-content />\n" }]
446
446
  }] });
447
447
 
448
448
  class TuiTableTbody {
@@ -460,10 +460,10 @@ class TuiTableTbody {
460
460
  this.open.set(!this.open());
461
461
  };
462
462
  }
463
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableTbody, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
464
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", 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{inset-inline-start:0}.t-expand:after{inset-inline-end: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-typography-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-typography-body-m);block-size:var(--tui-height-l)}.t-name{position:sticky;display:inline-block;inset-inline-start:.75rem}:host-context(table[data-size=\"l\"]) .t-name{inset-inline-start:1rem}.t-chevron{position:sticky;inset-inline-end:.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 }); }
463
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableTbody, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
464
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", 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{inset-inline-start:0}.t-expand:after{inset-inline-end: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-typography-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-typography-body-m);block-size:var(--tui-height-l)}.t-name{position:sticky;display:inline-block;inset-inline-start:.75rem}:host-context(table[data-size=\"l\"]) .t-name{inset-inline-start:1rem}.t-chevron{position:sticky;inset-inline-end:.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 }); }
465
465
  }
466
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableTbody, decorators: [{
466
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableTbody, decorators: [{
467
467
  type: Component,
468
468
  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{inset-inline-start:0}.t-expand:after{inset-inline-end: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-typography-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-typography-body-m);block-size:var(--tui-height-l)}.t-name{position:sticky;display:inline-block;inset-inline-start:.75rem}:host-context(table[data-size=\"l\"]) .t-name{inset-inline-start:1rem}.t-chevron{position:sticky;inset-inline-end:.75rem;margin:0 .6875rem 0 auto}\n"] }]
469
469
  }] });
@@ -475,10 +475,10 @@ class TuiTableThGroup {
475
475
  this.computedHeads = computed(() => this.heads().reduce((record, item) => ({ ...record, [item.tuiHead()]: item }), {}));
476
476
  this.table = inject(forwardRef(() => TuiTableDirective));
477
477
  }
478
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableThGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
479
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", 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 }); }
478
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableThGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
479
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", 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 }); }
480
480
  }
481
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableThGroup, decorators: [{
481
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableThGroup, decorators: [{
482
482
  type: Component,
483
483
  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" }]
484
484
  }] });
@@ -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/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 providers: [\n WaIntersectionObserverService,\n {provide: WA_INTERSECTION_THRESHOLD, useValue: [0, 1]},\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 {TUI_VERSION} from '@taiga-ui/cdk/constants';\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 styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './table.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-table-${TUI_VERSION}`,\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 'data-tui-version': TUI_VERSION,\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 {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 readonly sorter = model(\n this.head ? (a: T, b: T) => 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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"}
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 providers: [\n WaIntersectionObserverService,\n {provide: WA_INTERSECTION_THRESHOLD, useValue: [0, 1]},\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 {TUI_VERSION} from '@taiga-ui/cdk/constants';\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 styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './table.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-table-${TUI_VERSION}`,\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 'data-tui-version': TUI_VERSION,\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 {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 readonly sorter = model(\n this.head ? (a: T, b: T) => 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\n <ng-template #plain>\n <td tuiTd>\n {{ item()[key] }}\n </td>\n </ng-template>\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.19", ngImport: i0, type: TuiTableControlDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
24
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.19", type: TuiTableControlDirective, isStandalone: true, selector: "[tuiTable][ngModel],[tuiTable][formControl],[tuiTable][formControlName]", providers: [tuiFallbackValueProvider([])], usesInheritance: true, ngImport: i0 }); }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableControlDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
24
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", 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.19", ngImport: i0, type: TuiTableControlDirective, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", 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.19", ngImport: i0, type: TuiCheckboxRowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
57
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", 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 }); }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiCheckboxRowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
57
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", 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.19", ngImport: i0, type: TuiCheckboxRowDirective, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", 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.19", ngImport: i0, type: TuiCheckboxTableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
85
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.19", type: TuiCheckboxTableDirective, isStandalone: true, selector: "[tuiCheckbox][tuiCheckboxTable]", host: { listeners: { "change": "parent.toggleAll()" } }, providers: [{ provide: NgControl, useClass: NgModel }], ngImport: i0 }); }
84
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiCheckboxTableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
85
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", 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.19", ngImport: i0, type: TuiCheckboxTableDirective, decorators: [{
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", 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.19", ngImport: i0, type: TuiGenericFilter, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
20
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", 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 }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiGenericFilter, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
20
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", 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.19", ngImport: i0, type: TuiGenericFilter, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiGenericFilter, decorators: [{
23
23
  type: Directive,
24
24
  args: [{
25
25
  selector: '[tuiGenericFilter]',
@@ -49,10 +49,10 @@ 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.19", ngImport: i0, type: TuiTableFiltersDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
53
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.19", type: TuiTableFiltersDirective, isStandalone: true, selector: "[tuiTableFilters]", ngImport: i0 }); }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableFiltersDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
53
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: TuiTableFiltersDirective, isStandalone: true, selector: "[tuiTableFilters]", ngImport: i0 }); }
54
54
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableFiltersDirective, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableFiltersDirective, decorators: [{
56
56
  type: Directive,
57
57
  args: [{ selector: '[tuiTableFilters]' }]
58
58
  }] });
@@ -79,10 +79,10 @@ class TuiTableFilterDirective {
79
79
  !this.key() ||
80
80
  this.delegate.filter()(item[this.key()], value));
81
81
  }
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
83
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", type: TuiTableFilterDirective, isStandalone: true, selector: "[tuiTableFilter]", inputs: { tuiTableFilter: { classPropertyName: "tuiTableFilter", publicName: "tuiTableFilter", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
82
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
83
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", type: TuiTableFilterDirective, isStandalone: true, selector: "[tuiTableFilter]", inputs: { tuiTableFilter: { classPropertyName: "tuiTableFilter", publicName: "tuiTableFilter", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
84
84
  }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableFilterDirective, decorators: [{
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableFilterDirective, decorators: [{
86
86
  type: Directive,
87
87
  args: [{ selector: '[tuiTableFilter]' }]
88
88
  }] });
@@ -94,10 +94,10 @@ class TuiTableFiltersPipe {
94
94
  transform(items) {
95
95
  return this.filters.filter(items);
96
96
  }
97
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableFiltersPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
98
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.19", ngImport: i0, type: TuiTableFiltersPipe, isStandalone: true, name: "tuiTableFilters" }); }
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableFiltersPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
98
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: TuiTableFiltersPipe, isStandalone: true, name: "tuiTableFilters" }); }
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiTableFiltersPipe, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiTableFiltersPipe, decorators: [{
101
101
  type: Pipe,
102
102
  args: [{ name: 'tuiTableFilters' }]
103
103
  }] });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/addon-table",
3
- "version": "5.0.0",
3
+ "version": "5.1.0-canary.7b17838",
4
4
  "description": "A library to display tabled data with filters, search, group actions, etc.",
5
5
  "keywords": [
6
6
  "angular",
@@ -17,26 +17,26 @@
17
17
  "license": "Apache-2.0",
18
18
  "contributors": [
19
19
  {
20
- "name": "Alex Inkin",
21
- "email": "alexander@inkin.ru"
20
+ "email": "alexander@inkin.ru",
21
+ "name": "Alex Inkin"
22
22
  },
23
23
  {
24
- "name": "Vladimir Potekhin",
25
- "email": "vladimir.potekh@gmail.com"
24
+ "email": "vladimir.potekh@gmail.com",
25
+ "name": "Vladimir Potekhin"
26
26
  },
27
27
  {
28
- "name": "Nikita Barsukov",
29
- "email": "nikita.s.barsukov@gmail.com"
28
+ "email": "nikita.s.barsukov@gmail.com",
29
+ "name": "Nikita Barsukov"
30
30
  }
31
31
  ],
32
32
  "peerDependencies": {
33
33
  "@angular/common": ">=19.0.0",
34
34
  "@angular/core": ">=19.0.0",
35
35
  "@ng-web-apis/intersection-observer": "^5.2.0",
36
- "@taiga-ui/cdk": "5.0.0",
37
- "@taiga-ui/core": "5.0.0",
38
- "@taiga-ui/i18n": "5.0.0",
39
- "@taiga-ui/kit": "5.0.0",
36
+ "@taiga-ui/cdk": "5.1.0",
37
+ "@taiga-ui/core": "5.1.0",
38
+ "@taiga-ui/i18n": "5.1.0",
39
+ "@taiga-ui/kit": "5.1.0",
40
40
  "@taiga-ui/polymorpheus": "^5.0.0",
41
41
  "rxjs": ">=7.0.0"
42
42
  },
@@ -58,13 +58,17 @@
58
58
  "types": "./directives/index.d.ts",
59
59
  "default": "./fesm2022/taiga-ui-addon-table-directives.mjs"
60
60
  },
61
+ "./types": {
62
+ "types": "./types/index.d.ts",
63
+ "default": "./fesm2022/taiga-ui-addon-table-types.mjs"
64
+ },
61
65
  "./tokens": {
62
66
  "types": "./tokens/index.d.ts",
63
67
  "default": "./fesm2022/taiga-ui-addon-table-tokens.mjs"
64
68
  },
65
- "./types": {
66
- "types": "./types/index.d.ts",
67
- "default": "./fesm2022/taiga-ui-addon-table-types.mjs"
69
+ "./components/reorder": {
70
+ "types": "./components/reorder/index.d.ts",
71
+ "default": "./fesm2022/taiga-ui-addon-table-components-reorder.mjs"
68
72
  },
69
73
  "./components/table": {
70
74
  "types": "./components/table/index.d.ts",
@@ -78,10 +82,6 @@
78
82
  "types": "./directives/table-control/index.d.ts",
79
83
  "default": "./fesm2022/taiga-ui-addon-table-directives-table-control.mjs"
80
84
  },
81
- "./components/reorder": {
82
- "types": "./components/reorder/index.d.ts",
83
- "default": "./fesm2022/taiga-ui-addon-table-components-reorder.mjs"
84
- },
85
85
  "./directives/table-filters": {
86
86
  "types": "./directives/table-filters/index.d.ts",
87
87
  "default": "./fesm2022/taiga-ui-addon-table-directives-table-filters.mjs"