@taiga-ui/addon-table 3.86.0 → 3.87.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs/operators'), require('@ng-web-apis/intersection-observer'), require('@taiga-ui/cdk'), require('@taiga-ui/core'), require('@taiga-ui/kit'), require('rxjs'), require('@angular/common'), require('@tinkoff/ng-polymorpheus'), require('@angular/forms')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/addon-table/components/table', ['exports', '@angular/core', 'rxjs/operators', '@ng-web-apis/intersection-observer', '@taiga-ui/cdk', '@taiga-ui/core', '@taiga-ui/kit', 'rxjs', '@angular/common', '@tinkoff/ng-polymorpheus', '@angular/forms'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"]["addon-table"] = global["taiga-ui"]["addon-table"] || {}, global["taiga-ui"]["addon-table"].components = global["taiga-ui"]["addon-table"].components || {}, global["taiga-ui"]["addon-table"].components.table = {}), global.ng.core, global.rxjs.operators, global.intersectionObserver, global.i4, global.i1, global.kit, global.rxjs, global.ng.common, global.i3, global.ng.forms));
5
- })(this, (function (exports, i0, operators, intersectionObserver, i4, i1, kit, i1$1, i2, i3, forms) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs/operators'), require('@ng-web-apis/intersection-observer'), require('@taiga-ui/cdk'), require('@taiga-ui/core'), require('@taiga-ui/kit'), require('rxjs'), require('@angular/common'), require('@tinkoff/ng-polymorpheus')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/addon-table/components/table', ['exports', '@angular/core', 'rxjs/operators', '@ng-web-apis/intersection-observer', '@taiga-ui/cdk', '@taiga-ui/core', '@taiga-ui/kit', 'rxjs', '@angular/common', '@tinkoff/ng-polymorpheus'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"]["addon-table"] = global["taiga-ui"]["addon-table"] || {}, global["taiga-ui"]["addon-table"].components = global["taiga-ui"]["addon-table"].components || {}, global["taiga-ui"]["addon-table"].components.table = {}), global.ng.core, global.rxjs.operators, global.intersectionObserver, global.i2, global.i1, global.kit, global.rxjs, global.ng.common, global.i3));
5
+ })(this, (function (exports, i0, operators, intersectionObserver, i2, i1, kit, i1$1, i2$1, i3) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -23,10 +23,10 @@
23
23
  }
24
24
 
25
25
  var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
- var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
26
+ var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
27
27
  var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1);
28
28
  var i1__namespace = /*#__PURE__*/_interopNamespace(i1$1);
29
- var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
29
+ var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
30
30
  var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
31
31
 
32
32
  var TuiCellDirective = /** @class */ (function () {
@@ -437,14 +437,33 @@
437
437
  off: 'tuiIconSortOff',
438
438
  },
439
439
  };
440
- var TUI_TABLE_OPTIONS = i4.tuiCreateToken(TUI_TABLE_DEFAULT_OPTIONS);
440
+ var TUI_TABLE_OPTIONS = i2.tuiCreateToken(TUI_TABLE_DEFAULT_OPTIONS);
441
441
  function tuiTableOptionsProvider(options) {
442
- return i4.tuiProvideOptions(TUI_TABLE_OPTIONS, options, TUI_TABLE_DEFAULT_OPTIONS);
442
+ return i2.tuiProvideOptions(TUI_TABLE_OPTIONS, options, TUI_TABLE_DEFAULT_OPTIONS);
443
443
  }
444
444
 
445
+ var TuiTableStylesComponent = /** @class */ (function () {
446
+ function TuiTableStylesComponent() {
447
+ }
448
+ return TuiTableStylesComponent;
449
+ }());
450
+ TuiTableStylesComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiTableStylesComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
451
+ TuiTableStylesComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiTableStylesComponent, selector: "ng-component", host: { classAttribute: "tui-table" }, ngImport: i0__namespace, template: '', isInline: true, styles: ["table[tuiTable] [tuiCell]{padding:0}table[tuiTable] [tuiTitle]{white-space:nowrap}table[tuiTable] [tuiTitle] tui-icon{font-size:1rem}table[tuiTable] [tuiSubtitle]{color:var(--tui-text-02)}table[tuiTable] [tuiTh] [tuiCell],table[tuiTable] [tuiTh] [tuiTitle]{font:inherit;color:inherit}\n"], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
452
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiTableStylesComponent, decorators: [{
453
+ type: i0.Component,
454
+ args: [{
455
+ template: '',
456
+ styleUrls: ['./table.style.less'],
457
+ encapsulation: i0.ViewEncapsulation.None,
458
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
459
+ host: {
460
+ class: 'tui-table',
461
+ },
462
+ }]
463
+ }] });
445
464
  var TuiTableDirective = /** @class */ (function (_super) {
446
465
  __extends(TuiTableDirective, _super);
447
- function TuiTableDirective(entries$, mode$, stuck$, options, cdr) {
466
+ function TuiTableDirective(entries$, mode$, stuck$, options, cdr, directiveStyles) {
448
467
  var _this = _super.call(this) || this;
449
468
  _this.entries$ = entries$;
450
469
  _this.mode$ = mode$;
@@ -457,6 +476,7 @@
457
476
  _this.directionChange = new i0.EventEmitter();
458
477
  _this.sorterChange = new i0.EventEmitter();
459
478
  _this.sorter = function () { return 0; };
479
+ directiveStyles.addComponent(TuiTableStylesComponent);
460
480
  return _this;
461
481
  }
462
482
  TuiTableDirective.prototype.updateSorterAndDirection = function (sorter) {
@@ -482,8 +502,8 @@
482
502
  this.change$.next();
483
503
  };
484
504
  return TuiTableDirective;
485
- }(i4.AbstractTuiController));
486
- TuiTableDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiTableDirective, deps: [{ token: intersectionObserver.IntersectionObserverService }, { token: i1.TUI_MODE }, { token: TUI_STUCK }, { token: TUI_TABLE_OPTIONS }, { token: i0.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
505
+ }(i2.AbstractTuiController));
506
+ TuiTableDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiTableDirective, deps: [{ token: intersectionObserver.IntersectionObserverService }, { token: i1.TUI_MODE }, { token: TUI_STUCK }, { token: TUI_TABLE_OPTIONS }, { token: i0.ChangeDetectorRef }, { token: i2.TuiDirectiveStylesService }], target: i0__namespace.ɵɵFactoryTarget.Directive });
487
507
  TuiTableDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiTableDirective, selector: "table[tuiTable]", inputs: { columns: "columns", size: "size", direction: "direction", sorter: "sorter" }, outputs: { directionChange: "directionChange", sorterChange: "sorterChange" }, host: { listeners: { "$.data-mode.attr": "mode$", "$.class._stuck": "stuck$" }, properties: { "attr.data-size": "this.size" }, styleAttribute: "border-collapse: separate" }, providers: TUI_TABLE_PROVIDERS, usesInheritance: true, ngImport: i0__namespace });
488
508
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiTableDirective, decorators: [{
489
509
  type: i0.Directive,
@@ -512,6 +532,9 @@
512
532
  }] }, { type: i0__namespace.ChangeDetectorRef, decorators: [{
513
533
  type: i0.Inject,
514
534
  args: [i0.ChangeDetectorRef]
535
+ }] }, { type: i2__namespace.TuiDirectiveStylesService, decorators: [{
536
+ type: i0.Inject,
537
+ args: [i2.TuiDirectiveStylesService]
515
538
  }] }];
516
539
  }, propDecorators: { columns: [{
517
540
  type: i0.Input
@@ -591,17 +614,17 @@
591
614
  this.doc = doc;
592
615
  this.el = el;
593
616
  this.parentRef = parentRef;
594
- this.tuiResized = i4.tuiTypedFromEvent(this.el.nativeElement, 'mousedown').pipe(i4.tuiPreventDefault(), operators.switchMap(function () {
617
+ this.tuiResized = i2.tuiTypedFromEvent(this.el.nativeElement, 'mousedown').pipe(i2.tuiPreventDefault(), operators.switchMap(function () {
595
618
  var _a = _this.parentRef.nativeElement.getBoundingClientRect(), width = _a.width, right = _a.right;
596
- return i4.tuiTypedFromEvent(_this.doc, 'mousemove').pipe(operators.distinctUntilChanged(), operators.map(function (_a) {
619
+ return i2.tuiTypedFromEvent(_this.doc, 'mousemove').pipe(operators.distinctUntilChanged(), operators.map(function (_a) {
597
620
  var clientX = _a.clientX;
598
621
  return width + clientX - right;
599
- }), operators.takeUntil(i4.tuiTypedFromEvent(_this.doc, 'mouseup')));
622
+ }), operators.takeUntil(i2.tuiTypedFromEvent(_this.doc, 'mouseup')));
600
623
  }));
601
624
  }
602
625
  return TuiResizedDirective;
603
626
  }());
604
- TuiResizedDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiResizedDirective, deps: [{ token: i2.DOCUMENT }, { token: i0.ElementRef }, { token: i1.TUI_ELEMENT_REF }], target: i0__namespace.ɵɵFactoryTarget.Directive });
627
+ TuiResizedDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiResizedDirective, deps: [{ token: i2$1.DOCUMENT }, { token: i0.ElementRef }, { token: i1.TUI_ELEMENT_REF }], target: i0__namespace.ɵɵFactoryTarget.Directive });
605
628
  TuiResizedDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiResizedDirective, selector: "[tuiResized]", outputs: { tuiResized: "tuiResized" }, ngImport: i0__namespace });
606
629
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiResizedDirective, decorators: [{
607
630
  type: i0.Directive,
@@ -611,7 +634,7 @@
611
634
  }], ctorParameters: function () {
612
635
  return [{ type: Document, decorators: [{
613
636
  type: i0.Inject,
614
- args: [i2.DOCUMENT]
637
+ args: [i2$1.DOCUMENT]
615
638
  }] }, { type: i0__namespace.ElementRef, decorators: [{
616
639
  type: i0.Inject,
617
640
  args: [i0.ElementRef]
@@ -662,7 +685,7 @@
662
685
  this.head = head;
663
686
  this.table = table;
664
687
  this.sorter = this.head
665
- ? function (a, b) { return i4.tuiDefaultSort(a[_this.key], b[_this.key]); }
688
+ ? function (a, b) { return i2.tuiDefaultSort(a[_this.key], b[_this.key]); }
666
689
  : null;
667
690
  this.resizable = this.options.resizable;
668
691
  this.sticky = this.options.sticky;
@@ -671,7 +694,7 @@
671
694
  Object.defineProperty(TuiThComponent.prototype, "key", {
672
695
  get: function () {
673
696
  if (!this.head) {
674
- throw new i4.TuiTableSortKeyException();
697
+ throw new i2.TuiTableSortKeyException();
675
698
  }
676
699
  return this.head.tuiHead;
677
700
  },
@@ -721,7 +744,7 @@
721
744
  provide: i1.TUI_ELEMENT_REF,
722
745
  useExisting: i0.ElementRef,
723
746
  },
724
- ], ngImport: i0__namespace, template: "<button\n *ngIf=\"sorter && table; else content\"\n type=\"button\"\n class=\"t-sort\"\n [class.t-sort_sorted]=\"isCurrent\"\n (click)=\"updateSorterAndDirection()\"\n>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n {{ table.change$ | async }}\n <tui-svg\n class=\"t-sort-icon\"\n [src]=\"icon\"\n ></tui-svg>\n</button>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n<div\n *ngIf=\"resizable\"\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n></div>\n", styles: [":host{transition-property:box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;top:0;height:var(--tui-height-m);font:var(--tui-font-text-s);text-align:left;font-weight:bold;color:var(--tui-text-02);background:var(--tui-base-01);cursor:default;padding:0 .75rem;box-sizing:border-box;box-shadow:0 .3125rem #ededed00;border:1px solid var(--tui-base-04);filter:opacity(1)}@supports (-webkit-hyphens: none){:host{transform:translate(0)}}:host:not(:first-child){border-left:none}:host._sticky,:host-context(._stuck) :host._sticky{position:-webkit-sticky;position:sticky;z-index:30}:host._sticky:first-child,:host-context(._stuck) :host._sticky:first-child{left:0}:host._sticky:after,:host-context(._stuck) :host._sticky:after{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;left:100%;bottom:0;width:.3125rem;pointer-events:none;background:rgba(237,237,237,.7);opacity:0}:host-context(._stuck) :host{z-index:20}:host-context(tr:not(:first-child)){border-top:none}:host-context(table[data-size=\"l\"]){height:var(--tui-height-l);font:var(--tui-font-text-m);font-weight:bold;padding:0 1rem}:host-context(thead[tuiThead]){position:-webkit-sticky;position:sticky}:host-context(table._stuck)._sticky:after{opacity:1}:host-context(thead[tuiThead]._stuck){box-shadow:0 .3125rem #edededb3}:host-context(table[data-mode=\"onDark\"]):after{background:rgba(60,60,60,.9)}:host-context(table[data-mode=\"onDark\"] thead[tuiThead]._stuck){box-shadow:0 .3125rem #3c3c3ce6}:host-context(table[data-mode=\"onDark\"] thead[tuiThead]._stuck):first-child{box-shadow:.0625rem .3125rem #3c3c3ce6}:host-context(table[data-size=\"l\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-l)}:host-context(table[data-size=\"m\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-m)}:host-context(table[data-size=\"s\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-s)}.t-sort{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;display:inline-flex;flex-direction:inherit;align-items:center;outline:none;font-weight:bold;cursor:pointer}.t-sort_sorted{color:var(--tui-text-01)}.t-sort:focus-visible{background:var(--tui-selection)}.t-sort:hover{color:var(--tui-text-01)}.t-bar{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:0;bottom:0;right:-1px;width:3px;justify-self:flex-end;border-left:2px solid transparent;background:var(--tui-support-12);background-clip:content-box;cursor:ew-resize;opacity:0}.t-bar:hover,.t-bar:active{opacity:1}\n"], components: [{ type: i1__namespace$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TuiResizedDirective, selector: "[tuiResized]", outputs: ["tuiResized"] }], pipes: { "async": i2__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
747
+ ], ngImport: i0__namespace, template: "<button\n *ngIf=\"sorter && table; else content\"\n type=\"button\"\n class=\"t-sort\"\n [class.t-sort_sorted]=\"isCurrent\"\n (click)=\"updateSorterAndDirection()\"\n>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n {{ table.change$ | async }}\n <tui-svg\n class=\"t-sort-icon\"\n [src]=\"icon\"\n ></tui-svg>\n</button>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n<div\n *ngIf=\"resizable\"\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n></div>\n", styles: [":host{transition-property:box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;top:0;height:var(--tui-height-m);font:var(--tui-font-text-s);text-align:left;font-weight:bold;color:var(--tui-text-02);background:var(--tui-base-01);cursor:default;padding:0 .75rem;box-sizing:border-box;box-shadow:0 .3125rem #ededed00;border:1px solid var(--tui-base-04);filter:opacity(1)}@supports (-webkit-hyphens: none){:host{transform:translate(0)}}:host:not(:first-child){border-left:none}:host._sticky,:host-context(._stuck) :host._sticky{position:-webkit-sticky;position:sticky;z-index:30}:host._sticky:first-child,:host-context(._stuck) :host._sticky:first-child{left:0}:host._sticky:after,:host-context(._stuck) :host._sticky:after{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;left:100%;bottom:0;width:.3125rem;pointer-events:none;background:rgba(237,237,237,.7);opacity:0}:host-context(._stuck) :host{z-index:20}:host-context(tr:not(:first-child)){border-top:none}:host-context(table[data-size=\"l\"]){height:var(--tui-height-l);font:var(--tui-font-text-m);font-weight:bold;padding:0 1rem}:host-context(table[data-size=\"s\"]){height:var(--tui-height-s);font:var(--tui-font-text-s);font-weight:bold;padding:0 .5rem}:host-context(thead[tuiThead]){position:-webkit-sticky;position:sticky}:host-context(table._stuck)._sticky:after{opacity:1}:host-context(thead[tuiThead]._stuck){box-shadow:0 .3125rem #edededb3}:host-context(table[data-mode=\"onDark\"]):after{background:rgba(60,60,60,.9)}:host-context(table[data-mode=\"onDark\"] thead[tuiThead]._stuck){box-shadow:0 .3125rem #3c3c3ce6}:host-context(table[data-mode=\"onDark\"] thead[tuiThead]._stuck):first-child{box-shadow:.0625rem .3125rem #3c3c3ce6}:host-context(table[data-size=\"l\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-l)}:host-context(table[data-size=\"m\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-m)}:host-context(table[data-size=\"s\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-s)}.t-sort{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;display:inline-flex;flex-direction:inherit;align-items:center;outline:none;font-weight:bold;cursor:pointer}.t-sort_sorted{color:var(--tui-text-01)}.t-sort:focus-visible{background:var(--tui-selection)}.t-sort:hover{color:var(--tui-text-01)}.t-bar{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:0;bottom:0;right:-1px;width:3px;justify-self:flex-end;border-left:2px solid transparent;background:var(--tui-support-12);background-clip:content-box;cursor:ew-resize;opacity:0}.t-bar:hover,.t-bar:active{opacity:1}\n"], components: [{ type: i1__namespace$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TuiResizedDirective, selector: "[tuiResized]", outputs: ["tuiResized"] }], pipes: { "async": i2__namespace$1.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
725
748
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiThComponent, decorators: [{
726
749
  type: i0.Component,
727
750
  args: [{
@@ -821,7 +844,7 @@
821
844
  function TuiSortByDirective(table) {
822
845
  var _this = this;
823
846
  this.table = table;
824
- this.sortables = i4.EMPTY_QUERY;
847
+ this.sortables = i2.EMPTY_QUERY;
825
848
  this.tuiSortByChange = this.table.sorterChange.pipe(
826
849
  // delay is for getting actual ContentChildren (sortables) https://github.com/angular/angular/issues/38976
827
850
  operators.delay(0), operators.filter(function () { return !!_this.sortables.length; }), operators.map(function (sorter) { return _this.getKey(sorter); }));
@@ -919,7 +942,7 @@
919
942
  TuiTableSortPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiTableSortPipe, deps: [{ token: TuiTableDirective }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
920
943
  TuiTableSortPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiTableSortPipe, name: "tuiTableSort", pure: false });
921
944
  __decorate([
922
- i4.tuiPure
945
+ i2.tuiPure
923
946
  ], TuiTableSortPipe.prototype, "sort", null);
924
947
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiTableSortPipe, decorators: [{
925
948
  type: i0.Pipe,
@@ -935,11 +958,11 @@
935
958
  }, propDecorators: { sort: [] } });
936
959
 
937
960
  var TUI_TABLE_PROVIDER = [
938
- i4.TuiDestroyService,
961
+ i2.TuiDestroyService,
939
962
  TuiTableSortPipe,
940
963
  {
941
964
  provide: TuiTableDirective,
942
- deps: [[new i0.SkipSelf(), TuiTableDirective], i0.ChangeDetectorRef, i4.TuiDestroyService],
965
+ deps: [[new i0.SkipSelf(), TuiTableDirective], i0.ChangeDetectorRef, i2.TuiDestroyService],
943
966
  useFactory: i1.tuiWatchedControllerFactory,
944
967
  },
945
968
  ];
@@ -950,7 +973,7 @@
950
973
  return TuiTdComponent;
951
974
  }());
952
975
  TuiTdComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiTdComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
953
- TuiTdComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiTdComponent, selector: "th[tuiTd], td[tuiTd]", host: { properties: { "class._editable": "this.control" } }, queries: [{ propertyName: "control", first: true, predicate: forms.NgControl, descendants: true }], ngImport: i0__namespace, template: "\n <ng-content></ng-content>\n ", isInline: true, styles: [":host{position:relative;height:var(--tui-height-m);font:var(--tui-font-text-s);text-align:left;padding:0 .75rem;background:var(--tui-base-01);border:1px solid var(--tui-base-04);border-top:none;box-sizing:border-box;filter:opacity(1)}@supports (-webkit-hyphens: none){:host{transform:translate(0)}}:host:first-child{left:0}:host:not(:first-child){border-left:none}:host._editable:focus-within{z-index:1}:host._editable{padding:0;vertical-align:top}:host(th){position:-webkit-sticky;position:sticky;z-index:1}:host(th):after{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;bottom:0;left:100%;width:.3125rem;pointer-events:none;background:rgba(237,237,237,.7);opacity:0}:host(th):focus-within:not(:disabled){z-index:11}:host-context(table[data-mode=\"onDark\"]):after{background:rgba(60,60,60,.9)}:host-context(table._stuck){z-index:10}:host-context(table._stuck):last-of-type:after{opacity:1}:host-context(table[data-size=\"l\"]){font:var(--tui-font-text-m);height:var(--tui-height-l);padding-left:1rem;padding-right:1rem}:host-context(table[data-size=\"l\"])._editable{padding:0}:host(td):focus-within{z-index:1}:host(td):not(:focus-within){z-index:0}\n"], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
976
+ TuiTdComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiTdComponent, selector: "th[tuiTd], td[tuiTd]", host: { properties: { "class._editable": "legacy" } }, queries: [{ propertyName: "legacy", first: true, predicate: i2.AbstractTuiControl, descendants: true }], ngImport: i0__namespace, template: "\n <ng-content></ng-content>\n ", isInline: true, styles: [":host{position:relative;text-align:left;background:var(--tui-base-01);border:1px solid var(--tui-base-04);border-top:none;box-sizing:border-box;filter:opacity(1)}@supports (-webkit-hyphens: none){:host{transform:translate(0)}}:host._editable{padding:0!important}:host:first-child{left:0}:host:not(:first-child){border-left:none}:host._editable:focus-within{z-index:1}:host._editable{padding:0;vertical-align:top}:host(th){position:-webkit-sticky;position:sticky;z-index:1}:host(th):after{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;bottom:0;left:100%;width:.3125rem;pointer-events:none;background:rgba(237,237,237,.7);opacity:0}:host(th):focus-within:not(:disabled){z-index:11}:host-context(table[data-mode=\"onDark\"]):after{background:rgba(60,60,60,.9)}:host-context(table._stuck){z-index:10}:host-context(table._stuck):last-of-type:after{opacity:1}:host-context(table[data-size=\"l\"]){font:var(--tui-font-text-m);height:var(--tui-height-l);padding:1rem}:host-context(table[data-size=\"m\"]){height:var(--tui-height-m);font:var(--tui-font-text-s);padding:.75rem}:host-context(table[data-size=\"s\"]){height:var(--tui-height-s);font:var(--tui-font-text-s);padding:.25rem .5rem}:host(td):focus-within{z-index:1}:host(td):not(:focus-within){z-index:0}\n"], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
954
977
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiTdComponent, decorators: [{
955
978
  type: i0.Component,
956
979
  args: [{
@@ -958,13 +981,13 @@
958
981
  template: "\n <ng-content></ng-content>\n ",
959
982
  styleUrls: ['./td.style.less'],
960
983
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
984
+ host: {
985
+ '[class._editable]': 'legacy',
986
+ },
961
987
  }]
962
- }], propDecorators: { control: [{
963
- type: i0.HostBinding,
964
- args: ['class._editable']
965
- }, {
988
+ }], propDecorators: { legacy: [{
966
989
  type: i0.ContentChild,
967
- args: [forms.NgControl]
990
+ args: [i2.AbstractTuiControl]
968
991
  }] } });
969
992
 
970
993
  var TuiTrComponent = /** @class */ (function () {
@@ -972,13 +995,13 @@
972
995
  var _this = this;
973
996
  this.table = table;
974
997
  this.body = body;
975
- this.cells = i4.EMPTY_QUERY;
998
+ this.cells = i2.EMPTY_QUERY;
976
999
  this.contentReady$ = new i1$1.ReplaySubject(1);
977
- this.cells$ = this.contentReady$.pipe(operators.switchMap(function () { return i4.tuiQueryListChanges(_this.cells); }), operators.map(function (cells) { return cells.reduce(function (record, item) {
1000
+ this.cells$ = this.contentReady$.pipe(operators.switchMap(function () { return i2.tuiQueryListChanges(_this.cells); }), operators.map(function (cells) { return cells.reduce(function (record, item) {
978
1001
  var _a;
979
1002
  return (Object.assign(Object.assign({}, record), (_a = {}, _a[item.tuiCell] = item, _a)));
980
1003
  }, {}); }));
981
- this.item$ = this.contentReady$.pipe(operators.switchMap(function () { return i4.tuiQueryListChanges(_this.body.rows); }), operators.map(function (rows) {
1004
+ this.item$ = this.contentReady$.pipe(operators.switchMap(function () { return i2.tuiQueryListChanges(_this.body.rows); }), operators.map(function (rows) {
982
1005
  /**
983
1006
  * TODO v4.0 replace `this.body.sorted` with `this.body.data` (don't forget to drop `sorted`-getter).
984
1007
  */
@@ -1001,7 +1024,7 @@
1001
1024
  return TuiTrComponent;
1002
1025
  }());
1003
1026
  TuiTrComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiTrComponent, deps: [{ token: i0.forwardRef(function () { return TuiTableDirective; }) }, { token: i0.forwardRef(function () { return TuiTbodyComponent; }) }], target: i0__namespace.ɵɵFactoryTarget.Component });
1004
- TuiTrComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiTrComponent, selector: "tr[tuiTr]", providers: [TUI_TABLE_PROVIDER], queries: [{ propertyName: "cells", predicate: i0__namespace.forwardRef(function () { return TuiCellDirective; }) }], ngImport: i0__namespace, template: "<ng-container *ngIf=\"cells$ | async as items\">\n <ng-container\n *ngFor=\"let key of table.columns\"\n [ngTemplateOutlet]=\"items[key]?.template || plain\"\n >\n <ng-template #plain>\n <td\n *ngIf=\"item$ | async as item\"\n tuiTd\n >\n {{ item[key] }}\n </td>\n </ng-template>\n </ng-container>\n</ng-container>\n", components: [{ type: TuiTdComponent, selector: "th[tuiTd], td[tuiTd]" }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i2__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1027
+ TuiTrComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiTrComponent, selector: "tr[tuiTr]", providers: [TUI_TABLE_PROVIDER], queries: [{ propertyName: "cells", predicate: i0__namespace.forwardRef(function () { return TuiCellDirective; }) }], ngImport: i0__namespace, template: "<ng-container *ngIf=\"cells$ | async as items\">\n <ng-container\n *ngFor=\"let key of table.columns\"\n [ngTemplateOutlet]=\"items[key]?.template || plain\"\n >\n <ng-template #plain>\n <td\n *ngIf=\"item$ | async as item\"\n tuiTd\n >\n {{ item[key] }}\n </td>\n </ng-template>\n </ng-container>\n</ng-container>\n", components: [{ type: TuiTdComponent, selector: "th[tuiTd], td[tuiTd]" }], directives: [{ type: i2__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i2__namespace$1.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1005
1028
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiTrComponent, decorators: [{
1006
1029
  type: i0.Component,
1007
1030
  args: [{
@@ -1032,7 +1055,7 @@
1032
1055
  this.data = [];
1033
1056
  this.open = this.options.open;
1034
1057
  this.openChange = new i0.EventEmitter();
1035
- this.rows = i4.EMPTY_QUERY;
1058
+ this.rows = i2.EMPTY_QUERY;
1036
1059
  this.toContext = function ($implicit, index) { return ({ $implicit: $implicit, index: index }); };
1037
1060
  }
1038
1061
  Object.defineProperty(TuiTbodyComponent.prototype, "sorted", {
@@ -1049,7 +1072,7 @@
1049
1072
  return TuiTbodyComponent;
1050
1073
  }());
1051
1074
  TuiTbodyComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiTbodyComponent, deps: [{ token: TuiTableSortPipe }, { token: TUI_TABLE_OPTIONS }, { token: kit.TUI_ARROW_OPTIONS }, { token: i0.forwardRef(function () { return TuiTableDirective; }) }], target: i0__namespace.ɵɵFactoryTarget.Component });
1052
- TuiTbodyComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiTbodyComponent, selector: "tbody[tuiTbody]", inputs: { data: "data", heading: "heading", open: "open" }, outputs: { openChange: "openChange" }, providers: TUI_TABLE_PROVIDER, queries: [{ propertyName: "row", first: true, predicate: i0__namespace.forwardRef(function () { return TuiRowDirective; }), descendants: true }, { propertyName: "rows", predicate: i0__namespace.forwardRef(function () { return TuiTrComponent; }) }], ngImport: i0__namespace, template: "<tr *ngIf=\"heading\">\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-svg\n class=\"t-chevron\"\n [class.t-chevron_rotated]=\"open\"\n [src]=\"arrowOptions.iconLarge\"\n ></tui-svg>\n </button>\n </th>\n</tr>\n<ng-container *ngIf=\"open\">\n <ng-content></ng-content>\n</ng-container>\n<ng-container *ngIf=\"open && row\">\n <ng-container\n *ngFor=\"let item of sorted; let index = index\"\n [ngTemplateOutlet]=\"row.template\"\n [ngTemplateOutletContext]=\"item | tuiMapper: toContext : index\"\n ></ng-container>\n</ng-container>\n", styles: [":host{border-color:var(--tui-base-04)}:host tr{border-color:inherit}.t-expand{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;display:flex;width:100%;height:100%;align-items:center;box-sizing:border-box;outline:none;font-weight:bold;cursor:pointer;border-color:inherit}.t-expand:focus-visible .t-name{background:var(--tui-selection)}.t-expand:before,.t-expand:after{content:\"\";position:-webkit-sticky;position:sticky;height:100%;border-left:1px solid;border-color:inherit}.t-expand:before{left:0}.t-expand:after{right:0}.t-heading{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;height:var(--tui-height-m);font:var(--tui-font-text-s);padding:0;background:var(--tui-base-02);border-bottom:1px solid var(--tui-base-04);border-color:inherit}.t-heading:hover{background:var(--tui-base-03)}:host-context(table[data-size=\"l\"]) .t-heading{font:var(--tui-font-text-m);height:var(--tui-height-l)}.t-name{position:-webkit-sticky;position:sticky;left:.75rem;display:inline-block}:host-context(table[data-size=\"l\"]) .t-name{left:1rem}.t-chevron{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:-webkit-sticky;position:sticky;right:.75rem;margin:0 .6875rem 0 auto}.t-chevron_rotated{transform:rotate(180deg)}\n"], components: [{ type: i1__namespace$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "tuiMapper": i4__namespace.TuiMapperPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1075
+ TuiTbodyComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiTbodyComponent, selector: "tbody[tuiTbody]", inputs: { data: "data", heading: "heading", open: "open" }, outputs: { openChange: "openChange" }, providers: TUI_TABLE_PROVIDER, queries: [{ propertyName: "row", first: true, predicate: i0__namespace.forwardRef(function () { return TuiRowDirective; }), descendants: true }, { propertyName: "rows", predicate: i0__namespace.forwardRef(function () { return TuiTrComponent; }) }], ngImport: i0__namespace, template: "<tr *ngIf=\"heading\">\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-svg\n class=\"t-chevron\"\n [class.t-chevron_rotated]=\"open\"\n [src]=\"arrowOptions.iconLarge\"\n ></tui-svg>\n </button>\n </th>\n</tr>\n<ng-container *ngIf=\"open\">\n <ng-content></ng-content>\n</ng-container>\n<ng-container *ngIf=\"open && row\">\n <ng-container\n *ngFor=\"let item of sorted; let index = index\"\n [ngTemplateOutlet]=\"row.template\"\n [ngTemplateOutletContext]=\"item | tuiMapper: toContext : index\"\n ></ng-container>\n</ng-container>\n", styles: [":host{border-color:var(--tui-base-04)}:host tr{border-color:inherit}.t-expand{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;display:flex;width:100%;height:100%;align-items:center;box-sizing:border-box;outline:none;font-weight:bold;cursor:pointer;border-color:inherit}.t-expand:focus-visible .t-name{background:var(--tui-selection)}.t-expand:before,.t-expand:after{content:\"\";position:-webkit-sticky;position:sticky;height:100%;border-left:1px solid;border-color:inherit}.t-expand:before{left:0}.t-expand:after{right:0}.t-heading{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;height:var(--tui-height-m);font:var(--tui-font-text-s);padding:0;background:var(--tui-base-02);border-bottom:1px solid var(--tui-base-04);border-color:inherit}.t-heading:hover{background:var(--tui-base-03)}:host-context(table[data-size=\"l\"]) .t-heading{font:var(--tui-font-text-m);height:var(--tui-height-l)}.t-name{position:-webkit-sticky;position:sticky;left:.75rem;display:inline-block}:host-context(table[data-size=\"l\"]) .t-name{left:1rem}.t-chevron{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:-webkit-sticky;position:sticky;right:.75rem;margin:0 .6875rem 0 auto}.t-chevron_rotated{transform:rotate(180deg)}\n"], components: [{ type: i1__namespace$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i2__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "tuiMapper": i2__namespace.TuiMapperPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1053
1076
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiTbodyComponent, decorators: [{
1054
1077
  type: i0.Component,
1055
1078
  args: [{
@@ -1092,7 +1115,7 @@
1092
1115
  var TuiThGroupComponent = /** @class */ (function () {
1093
1116
  function TuiThGroupComponent(table) {
1094
1117
  this.table = table;
1095
- this.heads = i4.EMPTY_QUERY;
1118
+ this.heads = i2.EMPTY_QUERY;
1096
1119
  this.heads$ = null;
1097
1120
  }
1098
1121
  TuiThGroupComponent.prototype.ngAfterContentInit = function () {
@@ -1105,7 +1128,7 @@
1105
1128
  return TuiThGroupComponent;
1106
1129
  }());
1107
1130
  TuiThGroupComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiThGroupComponent, deps: [{ token: i0.forwardRef(function () { return TuiTableDirective; }) }], target: i0__namespace.ɵɵFactoryTarget.Component });
1108
- TuiThGroupComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiThGroupComponent, selector: "tr[tuiThGroup]", providers: [TUI_TABLE_PROVIDER], queries: [{ propertyName: "th", first: true, predicate: i0__namespace.forwardRef(function () { return TuiThComponent; }), descendants: true }, { propertyName: "heads", predicate: i0__namespace.forwardRef(function () { return TuiHeadDirective; }) }], ngImport: i0__namespace, template: "<ng-content></ng-content>\n<ng-container *ngIf=\"heads$ | async as headings\">\n <ng-container\n *ngFor=\"let key of table.columns\"\n [ngTemplateOutlet]=\"headings[key.toString()]?.template || plain\"\n >\n <ng-template #plain>\n <th\n *ngIf=\"!th && !heads.length\"\n tuiTh\n >\n {{ key.toString() }}\n </th>\n </ng-template>\n </ng-container>\n</ng-container>\n", components: [{ type: TuiThComponent, selector: "th[tuiTh]", inputs: ["sorter", "resizable", "sticky"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i2__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1131
+ TuiThGroupComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiThGroupComponent, selector: "tr[tuiThGroup]", providers: [TUI_TABLE_PROVIDER], queries: [{ propertyName: "th", first: true, predicate: i0__namespace.forwardRef(function () { return TuiThComponent; }), descendants: true }, { propertyName: "heads", predicate: i0__namespace.forwardRef(function () { return TuiHeadDirective; }) }], ngImport: i0__namespace, template: "<ng-content></ng-content>\n<ng-container *ngIf=\"heads$ | async as headings\">\n <ng-container\n *ngFor=\"let key of table.columns\"\n [ngTemplateOutlet]=\"headings[key.toString()]?.template || plain\"\n >\n <ng-template #plain>\n <th\n *ngIf=\"!th && !heads.length\"\n tuiTh\n >\n {{ key.toString() }}\n </th>\n </ng-template>\n </ng-container>\n</ng-container>\n", components: [{ type: TuiThComponent, selector: "th[tuiTh]", inputs: ["sorter", "resizable", "sticky"] }], directives: [{ type: i2__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i2__namespace$1.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1109
1132
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiThGroupComponent, decorators: [{
1110
1133
  type: i0.Component,
1111
1134
  args: [{
@@ -1147,7 +1170,7 @@
1147
1170
  TuiTheadDirective,
1148
1171
  TuiResizedDirective,
1149
1172
  TuiTableSortPipe,
1150
- TuiDirectionOrderDirective], imports: [i2.CommonModule, i3.PolymorpheusModule, i4.TuiMapperPipeModule, i1.TuiSvgModule], exports: [TuiTableDirective,
1173
+ TuiDirectionOrderDirective], imports: [i2$1.CommonModule, i3.PolymorpheusModule, i2.TuiMapperPipeModule, i1.TuiSvgModule], exports: [TuiTableDirective,
1151
1174
  TuiTbodyComponent,
1152
1175
  TuiThGroupComponent,
1153
1176
  TuiThComponent,
@@ -1161,11 +1184,11 @@
1161
1184
  TuiTheadDirective,
1162
1185
  TuiTableSortPipe,
1163
1186
  TuiDirectionOrderDirective] });
1164
- TuiTableModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiTableModule, imports: [[i2.CommonModule, i3.PolymorpheusModule, i4.TuiMapperPipeModule, i1.TuiSvgModule]] });
1187
+ TuiTableModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiTableModule, imports: [[i2$1.CommonModule, i3.PolymorpheusModule, i2.TuiMapperPipeModule, i1.TuiSvgModule]] });
1165
1188
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiTableModule, decorators: [{
1166
1189
  type: i0.NgModule,
1167
1190
  args: [{
1168
- imports: [i2.CommonModule, i3.PolymorpheusModule, i4.TuiMapperPipeModule, i1.TuiSvgModule],
1191
+ imports: [i2$1.CommonModule, i3.PolymorpheusModule, i2.TuiMapperPipeModule, i1.TuiSvgModule],
1169
1192
  declarations: [
1170
1193
  TuiTableDirective,
1171
1194
  TuiTbodyComponent,