@taiga-ui/addon-table 2.42.0 → 2.43.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.
Files changed (29) hide show
  1. package/bundles/taiga-ui-addon-table-components-table.umd.js +163 -87
  2. package/bundles/taiga-ui-addon-table-components-table.umd.js.map +1 -1
  3. package/bundles/taiga-ui-addon-table-components-table.umd.min.js +2 -2
  4. package/bundles/taiga-ui-addon-table-components-table.umd.min.js.map +1 -1
  5. package/components/table/directives/sort-by.directive.d.ts +9 -0
  6. package/components/table/directives/sortable.directive.d.ts +13 -0
  7. package/components/table/directives/table.directive.d.ts +1 -1
  8. package/components/table/index.d.ts +2 -0
  9. package/components/table/taiga-ui-addon-table-components-table.metadata.json +1 -1
  10. package/components/table/tr/tr.component.d.ts +1 -1
  11. package/esm2015/components/table/directives/sort-by.directive.js +39 -0
  12. package/esm2015/components/table/directives/sortable.directive.js +37 -0
  13. package/esm2015/components/table/directives/table.directive.js +2 -2
  14. package/esm2015/components/table/index.js +3 -1
  15. package/esm2015/components/table/table.module.js +7 -1
  16. package/esm2015/components/table/td/td.component.js +3 -3
  17. package/esm2015/components/table/tr/tr.component.js +1 -1
  18. package/esm5/components/table/directives/sort-by.directive.js +41 -0
  19. package/esm5/components/table/directives/sortable.directive.js +42 -0
  20. package/esm5/components/table/directives/table.directive.js +2 -2
  21. package/esm5/components/table/index.js +3 -1
  22. package/esm5/components/table/table.module.js +7 -1
  23. package/esm5/components/table/td/td.component.js +3 -3
  24. package/esm5/components/table/tr/tr.component.js +1 -1
  25. package/fesm2015/taiga-ui-addon-table-components-table.js +141 -74
  26. package/fesm2015/taiga-ui-addon-table-components-table.js.map +1 -1
  27. package/fesm5/taiga-ui-addon-table-components-table.js +162 -88
  28. package/fesm5/taiga-ui-addon-table-components-table.js.map +1 -1
  29. package/package.json +4 -4
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@taiga-ui/cdk'), require('@angular/common'), require('@taiga-ui/core'), require('rxjs/operators'), require('@ng-web-apis/intersection-observer'), require('rxjs'), require('@taiga-ui/kit'), require('@tinkoff/ng-polymorpheus'), require('@angular/forms'), require('@taiga-ui/addon-table/utils')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/addon-table/components/table', ['exports', '@angular/core', '@taiga-ui/cdk', '@angular/common', '@taiga-ui/core', 'rxjs/operators', '@ng-web-apis/intersection-observer', 'rxjs', '@taiga-ui/kit', '@tinkoff/ng-polymorpheus', '@angular/forms', '@taiga-ui/addon-table/utils'], factory) :
4
- (global = 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.cdk, global.ng.common, global.core$1, global.rxjs.operators, global.intersectionObserver, global.rxjs, global.kit, global.ngPolymorpheus, global.ng.forms, global['taiga-ui']['addon-table'].utils));
5
- }(this, (function (exports, core, cdk, common, core$1, operators, intersectionObserver, rxjs, kit, ngPolymorpheus, forms, utils) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@taiga-ui/cdk'), require('@angular/common'), require('@taiga-ui/core'), require('rxjs/operators'), require('@taiga-ui/addon-table/utils'), require('@ng-web-apis/intersection-observer'), require('rxjs'), require('@taiga-ui/kit'), require('@tinkoff/ng-polymorpheus'), require('@angular/forms')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/addon-table/components/table', ['exports', '@angular/core', '@taiga-ui/cdk', '@angular/common', '@taiga-ui/core', 'rxjs/operators', '@taiga-ui/addon-table/utils', '@ng-web-apis/intersection-observer', 'rxjs', '@taiga-ui/kit', '@tinkoff/ng-polymorpheus', '@angular/forms'], factory) :
4
+ (global = 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.cdk, global.ng.common, global.core$1, global.rxjs.operators, global['taiga-ui']['addon-table'].utils, global.intersectionObserver, global.rxjs, global.kit, global.ngPolymorpheus, global.ng.forms));
5
+ }(this, (function (exports, core, cdk, common, core$1, operators, utils, intersectionObserver, rxjs, kit, ngPolymorpheus, forms) { 'use strict';
6
6
 
7
7
  /*! *****************************************************************************
8
8
  Copyright (c) Microsoft Corporation.
@@ -399,7 +399,7 @@
399
399
  this.directionChange.emit(this.direction);
400
400
  }
401
401
  else {
402
- this.sorter = sorter;
402
+ this.sorter = sorter || (function () { return 0; });
403
403
  this.sorterChange.emit(this.sorter);
404
404
  this.direction = 1;
405
405
  this.directionChange.emit(1);
@@ -456,6 +456,156 @@
456
456
  return TuiTableDirective;
457
457
  }(cdk.TuiController));
458
458
 
459
+ var TuiThComponent = /** @class */ (function () {
460
+ function TuiThComponent(head, table) {
461
+ var _this = this;
462
+ this.head = head;
463
+ this.table = table;
464
+ this.sorter = this.head
465
+ ? function (a, b) { return utils.defaultSort(a[_this.key], b[_this.key]); }
466
+ : null;
467
+ this.resizable = false;
468
+ this.sticky = false;
469
+ this.width = null;
470
+ }
471
+ Object.defineProperty(TuiThComponent.prototype, "key", {
472
+ get: function () {
473
+ if (!this.head) {
474
+ throw new cdk.TuiTableSortKeyException();
475
+ }
476
+ return this.head.tuiHead;
477
+ },
478
+ enumerable: true,
479
+ configurable: true
480
+ });
481
+ Object.defineProperty(TuiThComponent.prototype, "isCurrent", {
482
+ get: function () {
483
+ return !!this.sorter && !!this.table && this.sorter === this.table.sorter;
484
+ },
485
+ enumerable: true,
486
+ configurable: true
487
+ });
488
+ Object.defineProperty(TuiThComponent.prototype, "icon", {
489
+ get: function () {
490
+ return this.isCurrent ? 'tuiIconSortDown' : 'tuiIconSortOff';
491
+ },
492
+ enumerable: true,
493
+ configurable: true
494
+ });
495
+ TuiThComponent.prototype.onResized = function (width) {
496
+ this.width = width;
497
+ };
498
+ TuiThComponent.ctorParameters = function () { return [
499
+ { type: TuiHeadDirective, decorators: [{ type: core.Optional }, { type: core.Inject, args: [TuiHeadDirective,] }] },
500
+ { type: TuiTableDirective, decorators: [{ type: core.Optional }, { type: core.Inject, args: [core.forwardRef(function () { return TuiTableDirective; }),] }] }
501
+ ]; };
502
+ __decorate([
503
+ core.Input(),
504
+ cdk.tuiDefaultProp()
505
+ ], TuiThComponent.prototype, "sorter", void 0);
506
+ __decorate([
507
+ core.Input(),
508
+ cdk.tuiDefaultProp()
509
+ ], TuiThComponent.prototype, "resizable", void 0);
510
+ __decorate([
511
+ core.Input(),
512
+ core.HostBinding('class._sticky'),
513
+ cdk.tuiDefaultProp()
514
+ ], TuiThComponent.prototype, "sticky", void 0);
515
+ __decorate([
516
+ core.HostBinding('style.width.px')
517
+ ], TuiThComponent.prototype, "width", void 0);
518
+ TuiThComponent = __decorate([
519
+ core.Component({
520
+ selector: 'th[tuiTh]',
521
+ template: "<button\n *ngIf=\"sorter && table; else content\"\n type=\"button\"\n class=\"t-sort\"\n [class.t-sort_sorted]=\"isCurrent\"\n (click)=\"table.updateSorter(sorter)\"\n>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n {{ table.change$ | async }}\n <tui-svg\n class=\"t-sort-icon\"\n [src]=\"icon\"\n [class.t-sort-icon_rotated]=\"isCurrent && table.direction === -1\"\n ></tui-svg>\n</button>\n<ng-template #content><ng-content></ng-content></ng-template>\n<div\n *ngIf=\"resizable\"\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n></div>\n",
522
+ changeDetection: core.ChangeDetectionStrategy.OnPush,
523
+ providers: [
524
+ {
525
+ provide: core$1.TUI_ELEMENT_REF,
526
+ useExisting: core.ElementRef,
527
+ },
528
+ ],
529
+ styles: [":host{transition-property:box-shadow;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:relative;top:0;z-index:20;height:var(--tui-height-m);font:var(--tui-font-text-s);text-align:left;font-weight:700;color:var(--tui-text-02);background:var(--tui-base-01);cursor:default;padding:0 .75rem;box-sizing:border-box;box-shadow:0 .3125rem rgba(237,237,237,0);border:1px solid var(--tui-base-04)}:host:not(:first-child){border-left:none}:host._sticky{position:-webkit-sticky;position:sticky;z-index:30}:host._sticky:first-child{left:0}:host._sticky:after{transition-property:opacity;transition-duration:var(--tui-duration,300ms);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(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:700;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 rgba(237,237,237,.7)}: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 rgba(60,60,60,.9)}:host-context(table[data-mode=onDark]thead[tuiThead]._stuck):first-child{box-shadow:.0625rem .3125rem rgba(60,60,60,.9)}: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,300ms);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;display:inline-flex;flex-direction:inherit;align-items:center;outline:0;font-weight:700;cursor:pointer}.t-sort_sorted{color:var(--tui-text-01)}.t-sort_sorted .t-sort-icon_rotated{transform:scaleY(-1)}.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,300ms);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:active,.t-bar:hover{opacity:1}"]
530
+ }),
531
+ __param(0, core.Optional()),
532
+ __param(0, core.Inject(TuiHeadDirective)),
533
+ __param(1, core.Optional()),
534
+ __param(1, core.Inject(core.forwardRef(function () { return TuiTableDirective; })))
535
+ ], TuiThComponent);
536
+ return TuiThComponent;
537
+ }());
538
+
539
+ var TuiSortableDirective = /** @class */ (function () {
540
+ function TuiSortableDirective(sortBy, table, th) {
541
+ this.sortBy = sortBy;
542
+ this.table = table;
543
+ this.th = th;
544
+ this.sorter = function () { return 0; };
545
+ this.th.sorter = this.sorter;
546
+ }
547
+ Object.defineProperty(TuiSortableDirective.prototype, "key", {
548
+ get: function () {
549
+ return this.th.key;
550
+ },
551
+ enumerable: true,
552
+ configurable: true
553
+ });
554
+ TuiSortableDirective.prototype.ngDoCheck = function () {
555
+ if (this.sortBy.tuiSortBy === this.key && this.table.sorter !== this.sorter) {
556
+ this.table.updateSorter(this.sorter);
557
+ }
558
+ };
559
+ TuiSortableDirective.ctorParameters = function () { return [
560
+ { type: TuiSortByDirective, decorators: [{ type: core.Inject, args: [TuiSortByDirective,] }] },
561
+ { type: TuiTableDirective, decorators: [{ type: core.Inject, args: [TuiTableDirective,] }] },
562
+ { type: TuiThComponent, decorators: [{ type: core.Inject, args: [TuiThComponent,] }] }
563
+ ]; };
564
+ TuiSortableDirective = __decorate([
565
+ core.Directive({
566
+ selector: 'th[tuiTh][tuiSortable]',
567
+ }),
568
+ __param(0, core.Inject(TuiSortByDirective)),
569
+ __param(1, core.Inject(TuiTableDirective)),
570
+ __param(2, core.Inject(TuiThComponent))
571
+ ], TuiSortableDirective);
572
+ return TuiSortableDirective;
573
+ }());
574
+
575
+ var TuiSortByDirective = /** @class */ (function () {
576
+ function TuiSortByDirective(table) {
577
+ var _this = this;
578
+ this.table = table;
579
+ this.sortables = cdk.EMPTY_QUERY;
580
+ this.tuiSortBy = null;
581
+ this.tuiSortByChange = this.table.sorterChange.pipe(operators.filter(function () { return !!_this.sortables.length; }), operators.map(function (sorter) { return _this.getKey(sorter); }));
582
+ }
583
+ TuiSortByDirective.prototype.getKey = function (sorter) {
584
+ var _a, _b;
585
+ return (_b = (_a = this.sortables.find(function (s) { return s.sorter === sorter; })) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : null;
586
+ };
587
+ TuiSortByDirective.ctorParameters = function () { return [
588
+ { type: TuiTableDirective, decorators: [{ type: core.Inject, args: [TuiTableDirective,] }] }
589
+ ]; };
590
+ __decorate([
591
+ core.ContentChildren(TuiSortableDirective, { descendants: true })
592
+ ], TuiSortByDirective.prototype, "sortables", void 0);
593
+ __decorate([
594
+ core.Input(),
595
+ cdk.tuiDefaultProp()
596
+ ], TuiSortByDirective.prototype, "tuiSortBy", void 0);
597
+ __decorate([
598
+ core.Output()
599
+ ], TuiSortByDirective.prototype, "tuiSortByChange", void 0);
600
+ TuiSortByDirective = __decorate([
601
+ core.Directive({
602
+ selector: 'table[tuiTable][tuiSortBy]',
603
+ }),
604
+ __param(0, core.Inject(TuiTableDirective))
605
+ ], TuiSortByDirective);
606
+ return TuiSortByDirective;
607
+ }());
608
+
459
609
  var TuiTheadDirective = /** @class */ (function () {
460
610
  function TuiTheadDirective(stuck$) {
461
611
  this.stuck$ = stuck$;
@@ -628,94 +778,14 @@
628
778
  TuiTdComponent = __decorate([
629
779
  core.Component({
630
780
  selector: 'th[tuiTd], td[tuiTd]',
631
- template: "<div class=\"wrapper\">\n <ng-content></ng-content>\n</div>\n",
781
+ template: '<ng-content></ng-content>',
632
782
  changeDetection: core.ChangeDetectionStrategy.OnPush,
633
- 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}:host:first-child{left:0}:host:not(:first-child){border-left:none}:host._editable:focus-within{z-index:1}:host._editable{padding:0}:host(th){position:-webkit-sticky;position:sticky;z-index:1}:host(th):after{transition-property:opacity;transition-duration:var(--tui-duration,300ms);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:0 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}.wrapper{margin:-1px -1px -1px 0}"]
783
+ 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;transform:translate3d(0,0,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,300ms);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}"]
634
784
  })
635
785
  ], TuiTdComponent);
636
786
  return TuiTdComponent;
637
787
  }());
638
788
 
639
- var TuiThComponent = /** @class */ (function () {
640
- function TuiThComponent(head, table) {
641
- var _this = this;
642
- this.head = head;
643
- this.table = table;
644
- this.sorter = this.head
645
- ? function (a, b) { return utils.defaultSort(a[_this.key], b[_this.key]); }
646
- : null;
647
- this.resizable = false;
648
- this.sticky = false;
649
- this.width = null;
650
- }
651
- Object.defineProperty(TuiThComponent.prototype, "key", {
652
- get: function () {
653
- if (!this.head) {
654
- throw new cdk.TuiTableSortKeyException();
655
- }
656
- return this.head.tuiHead;
657
- },
658
- enumerable: true,
659
- configurable: true
660
- });
661
- Object.defineProperty(TuiThComponent.prototype, "isCurrent", {
662
- get: function () {
663
- return !!this.sorter && !!this.table && this.sorter === this.table.sorter;
664
- },
665
- enumerable: true,
666
- configurable: true
667
- });
668
- Object.defineProperty(TuiThComponent.prototype, "icon", {
669
- get: function () {
670
- return this.isCurrent ? 'tuiIconSortDown' : 'tuiIconSortOff';
671
- },
672
- enumerable: true,
673
- configurable: true
674
- });
675
- TuiThComponent.prototype.onResized = function (width) {
676
- this.width = width;
677
- };
678
- TuiThComponent.ctorParameters = function () { return [
679
- { type: TuiHeadDirective, decorators: [{ type: core.Optional }, { type: core.Inject, args: [TuiHeadDirective,] }] },
680
- { type: TuiTableDirective, decorators: [{ type: core.Optional }, { type: core.Inject, args: [core.forwardRef(function () { return TuiTableDirective; }),] }] }
681
- ]; };
682
- __decorate([
683
- core.Input(),
684
- cdk.tuiDefaultProp()
685
- ], TuiThComponent.prototype, "sorter", void 0);
686
- __decorate([
687
- core.Input(),
688
- cdk.tuiDefaultProp()
689
- ], TuiThComponent.prototype, "resizable", void 0);
690
- __decorate([
691
- core.Input(),
692
- core.HostBinding('class._sticky'),
693
- cdk.tuiDefaultProp()
694
- ], TuiThComponent.prototype, "sticky", void 0);
695
- __decorate([
696
- core.HostBinding('style.width.px')
697
- ], TuiThComponent.prototype, "width", void 0);
698
- TuiThComponent = __decorate([
699
- core.Component({
700
- selector: 'th[tuiTh]',
701
- template: "<button\n *ngIf=\"sorter && table; else content\"\n type=\"button\"\n class=\"t-sort\"\n [class.t-sort_sorted]=\"isCurrent\"\n (click)=\"table.updateSorter(sorter)\"\n>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n {{ table.change$ | async }}\n <tui-svg\n class=\"t-sort-icon\"\n [src]=\"icon\"\n [class.t-sort-icon_rotated]=\"isCurrent && table.direction === -1\"\n ></tui-svg>\n</button>\n<ng-template #content><ng-content></ng-content></ng-template>\n<div\n *ngIf=\"resizable\"\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n></div>\n",
702
- changeDetection: core.ChangeDetectionStrategy.OnPush,
703
- providers: [
704
- {
705
- provide: core$1.TUI_ELEMENT_REF,
706
- useExisting: core.ElementRef,
707
- },
708
- ],
709
- styles: [":host{transition-property:box-shadow;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:relative;top:0;z-index:20;height:var(--tui-height-m);font:var(--tui-font-text-s);text-align:left;font-weight:700;color:var(--tui-text-02);background:var(--tui-base-01);cursor:default;padding:0 .75rem;box-sizing:border-box;box-shadow:0 .3125rem rgba(237,237,237,0);border:1px solid var(--tui-base-04)}:host:not(:first-child){border-left:none}:host._sticky{position:-webkit-sticky;position:sticky;z-index:30}:host._sticky:first-child{left:0}:host._sticky:after{transition-property:opacity;transition-duration:var(--tui-duration,300ms);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(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:700;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 rgba(237,237,237,.7)}: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 rgba(60,60,60,.9)}:host-context(table[data-mode=onDark]thead[tuiThead]._stuck):first-child{box-shadow:.0625rem .3125rem rgba(60,60,60,.9)}: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,300ms);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;display:inline-flex;flex-direction:inherit;align-items:center;outline:0;font-weight:700;cursor:pointer}.t-sort_sorted{color:var(--tui-text-01)}.t-sort_sorted .t-sort-icon_rotated{transform:scaleY(-1)}.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,300ms);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:active,.t-bar:hover{opacity:1}"]
710
- }),
711
- __param(0, core.Optional()),
712
- __param(0, core.Inject(TuiHeadDirective)),
713
- __param(1, core.Optional()),
714
- __param(1, core.Inject(core.forwardRef(function () { return TuiTableDirective; })))
715
- ], TuiThComponent);
716
- return TuiThComponent;
717
- }());
718
-
719
789
  var TuiThGroupComponent = /** @class */ (function () {
720
790
  function TuiThGroupComponent(table) {
721
791
  var _this = this;
@@ -765,6 +835,8 @@
765
835
  TuiCellDirective,
766
836
  TuiHeadDirective,
767
837
  TuiRowDirective,
838
+ TuiSortByDirective,
839
+ TuiSortableDirective,
768
840
  TuiTheadDirective,
769
841
  TuiResizedDirective,
770
842
  TuiTableSortPipe,
@@ -779,6 +851,8 @@
779
851
  TuiCellDirective,
780
852
  TuiHeadDirective,
781
853
  TuiRowDirective,
854
+ TuiSortByDirective,
855
+ TuiSortableDirective,
782
856
  TuiTheadDirective,
783
857
  TuiTableSortPipe,
784
858
  ],
@@ -798,6 +872,8 @@
798
872
  exports.TuiHeadDirective = TuiHeadDirective;
799
873
  exports.TuiResizedDirective = TuiResizedDirective;
800
874
  exports.TuiRowDirective = TuiRowDirective;
875
+ exports.TuiSortByDirective = TuiSortByDirective;
876
+ exports.TuiSortableDirective = TuiSortableDirective;
801
877
  exports.TuiTableDirective = TuiTableDirective;
802
878
  exports.TuiTableModule = TuiTableModule;
803
879
  exports.TuiTableSortPipe = TuiTableSortPipe;
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-table-components-table.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/addon-table/components/table/directives/cell.directive.ts","ng://@taiga-ui/addon-table/components/table/directives/head.directive.ts","ng://@taiga-ui/addon-table/components/table/directives/resized.directive.ts","ng://@taiga-ui/addon-table/components/table/directives/row.directive.ts","ng://@taiga-ui/addon-table/components/table/providers/stuck.provider.ts","ng://@taiga-ui/addon-table/components/table/providers/table.providers.ts","ng://@taiga-ui/addon-table/components/table/directives/table.directive.ts","ng://@taiga-ui/addon-table/components/table/directives/thead.directive.ts","ng://@taiga-ui/addon-table/components/table/pipes/table-sort.pipe.ts","ng://@taiga-ui/addon-table/components/table/providers/table.provider.ts","ng://@taiga-ui/addon-table/components/table/tr/tr.component.ts","ng://@taiga-ui/addon-table/components/table/tbody/tbody.component.ts","ng://@taiga-ui/addon-table/components/table/td/td.component.ts","ng://@taiga-ui/addon-table/components/table/th/th.component.ts","ng://@taiga-ui/addon-table/components/table/th-group/th-group.component.ts","ng://@taiga-ui/addon-table/components/table/table.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: '[tuiCell]',\n})\nexport class TuiCellDirective {\n @Input()\n @tuiDefaultProp()\n tuiCell = '';\n\n constructor(@Inject(TemplateRef) readonly template: TemplateRef<{}>) {}\n}\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[tuiHead]',\n})\nexport class TuiHeadDirective<T extends Record<any, any>> {\n @Input()\n tuiHead!: keyof T;\n\n constructor(@Inject(TemplateRef) readonly template: TemplateRef<{}>) {}\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {preventDefault, typedFromEvent} from '@taiga-ui/cdk';\nimport {TUI_ELEMENT_REF} from '@taiga-ui/core';\nimport {distinctUntilChanged, map, switchMap, takeUntil} from 'rxjs/operators';\n\n// @dynamic\n@Directive({\n selector: '[tuiResized]',\n})\nexport class TuiResizedDirective {\n @Output()\n readonly tuiResized = typedFromEvent(this.elementRef.nativeElement, 'mousedown').pipe(\n preventDefault(),\n switchMap(() => {\n const {width, right} = this.parentRef.nativeElement.getBoundingClientRect();\n\n return typedFromEvent(this.documentRef, 'mousemove').pipe(\n distinctUntilChanged(),\n map(({clientX}) => width + clientX - right),\n takeUntil(typedFromEvent(this.documentRef, 'mouseup')),\n );\n }),\n );\n\n constructor(\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_ELEMENT_REF)\n private readonly parentRef: ElementRef<HTMLTableHeaderCellElement>,\n ) {}\n}\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\nimport {TuiRowContext} from '@taiga-ui/addon-table/interfaces';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: 'ng-template[tuiRow]',\n})\nexport class TuiRowDirective<T> {\n @Input()\n @tuiDefaultProp()\n tuiRowOf: readonly T[] = [];\n\n constructor(@Inject(TemplateRef) readonly template: TemplateRef<TuiRowContext<T>>) {}\n\n static ngTemplateContextGuard<T>(\n _dir: TuiRowDirective<T>,\n _ctx: any,\n ): _ctx is TuiRowContext<T> {\n return true;\n }\n}\n","import {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport function stuckFactory(\n {nativeElement}: ElementRef,\n entries$: Observable<IntersectionObserverEntry[]>,\n): Observable<boolean> {\n const stream$ = entries$.pipe(map(([{intersectionRatio}]) => intersectionRatio < 1));\n\n nativeElement['$.class._stuck'] = stream$;\n\n return stream$;\n}\n\nexport const TUI_STUCK = new InjectionToken<boolean>('Stream of sticky stuck events');\n\nexport const TUI_STUCK_PROVIDER: Provider = {\n provide: TUI_STUCK,\n deps: [ElementRef, IntersectionObserverService],\n useFactory: stuckFactory,\n};\n","import {forwardRef, SkipSelf} from '@angular/core';\nimport {\n INTERSECTION_ROOT_MARGIN,\n INTERSECTION_THRESHOLD,\n IntersectionObserverService,\n} from '@ng-web-apis/intersection-observer';\nimport {\n MODE_PROVIDER,\n TUI_TEXTFIELD_APPEARANCE,\n TUI_TEXTFIELD_LABEL_OUTSIDE,\n TUI_TEXTFIELD_SIZE,\n} from '@taiga-ui/core';\nimport {TUI_INPUT_COUNT_OPTIONS, TuiInputCountOptions} from '@taiga-ui/kit';\n\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_STUCK_PROVIDER} from './stuck.provider';\n\n// TODO: remove in ivy compilation\nexport const TABLE_THRESHOLD = [0, 1];\nexport const TABLE_LABEL = {\n labelOutside: true,\n};\n\nexport function inputCountOptionsFactory(\n options: TuiInputCountOptions,\n): TuiInputCountOptions {\n return {...options, hideButtons: true};\n}\n\nexport const TUI_TABLE_PROVIDERS = [\n {\n provide: INTERSECTION_ROOT_MARGIN,\n useValue: '10000px 10000px 10000px 0px',\n },\n {\n provide: INTERSECTION_THRESHOLD,\n useValue: TABLE_THRESHOLD,\n },\n {\n provide: TUI_TEXTFIELD_APPEARANCE,\n // TODO: remove in ivy compilation\n useValue: 'table', // TuiAppearance.Table\n },\n {\n provide: TUI_TEXTFIELD_LABEL_OUTSIDE,\n useValue: TABLE_LABEL,\n },\n {\n provide: TUI_INPUT_COUNT_OPTIONS,\n deps: [[new SkipSelf(), TUI_INPUT_COUNT_OPTIONS]],\n useFactory: inputCountOptionsFactory,\n },\n {\n provide: TUI_TEXTFIELD_SIZE,\n useExisting: forwardRef(() => TuiTableDirective),\n },\n IntersectionObserverService,\n MODE_PROVIDER,\n TUI_STUCK_PROVIDER,\n];\n","import {\n ChangeDetectorRef,\n Directive,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {TuiController, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TUI_MODE, TuiBrightness, TuiSizeL, TuiSizeS} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {TUI_STUCK} from '../providers/stuck.provider';\nimport {TUI_TABLE_PROVIDERS} from '../providers/table.providers';\n\n@Directive({\n selector: 'table[tuiTable]',\n providers: TUI_TABLE_PROVIDERS,\n host: {\n '($.data-mode.attr)': 'mode$',\n '($.class._stuck)': 'stuck$',\n style: 'border-collapse: separate',\n },\n})\nexport class TuiTableDirective<T> extends TuiController {\n @Input()\n @tuiDefaultProp()\n columns: ReadonlyArray<keyof T | string> = [];\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS | TuiSizeL = 'm';\n\n @Input()\n @tuiDefaultProp()\n direction: -1 | 1 = 1;\n\n @Output()\n readonly directionChange = new EventEmitter<-1 | 1>();\n\n @Output()\n readonly sorterChange = new EventEmitter<TuiComparator<T> | null>();\n\n constructor(\n @Inject(IntersectionObserverService)\n readonly entries$: Observable<IntersectionObserverEntry[]>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_STUCK) readonly stuck$: Observable<boolean>,\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n ) {\n super();\n }\n\n @Input()\n @tuiDefaultProp()\n sorter: TuiComparator<T> = () => 0;\n\n updateSorter(sorter: TuiComparator<T>) {\n if (this.sorter === sorter) {\n this.direction = this.direction === 1 ? -1 : 1;\n this.directionChange.emit(this.direction);\n } else {\n this.sorter = sorter;\n this.sorterChange.emit(this.sorter);\n this.direction = 1;\n this.directionChange.emit(1);\n }\n\n this.change$.next();\n }\n\n ngAfterViewInit() {\n this.changeDetectorRef.detectChanges();\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {\n INTERSECTION_ROOT_MARGIN,\n IntersectionObserverService,\n} from '@ng-web-apis/intersection-observer';\nimport {Observable} from 'rxjs';\n\nimport {TUI_STUCK, TUI_STUCK_PROVIDER} from '../providers/stuck.provider';\n\n@Directive({\n selector: 'thead[tuiThead]',\n providers: [\n TUI_STUCK_PROVIDER,\n IntersectionObserverService,\n {\n provide: INTERSECTION_ROOT_MARGIN,\n useValue: '0px 10000px 10000px 10000px',\n },\n ],\n host: {\n '($.class._stuck)': 'stuck$',\n },\n})\nexport class TuiTheadDirective {\n constructor(@Inject(TUI_STUCK) readonly stuck$: Observable<boolean>) {}\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {tuiPure} from '@taiga-ui/cdk';\n\nimport {TuiTableDirective} from '../directives/table.directive';\n\n@Pipe({\n name: 'tuiTableSort',\n pure: false,\n})\nexport class TuiTableSortPipe<T> implements PipeTransform {\n constructor(\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n ) {}\n\n transform(data: readonly T[]): readonly T[] {\n return this.sort(data, this.table.sorter, this.table.direction);\n }\n\n @tuiPure\n private sort(\n data: readonly T[],\n sorter: TuiComparator<T>,\n direction: -1 | 1,\n ): readonly T[] {\n return [...data].sort((a, b) => direction * sorter(a, b));\n }\n}\n","import {ChangeDetectorRef, Provider, SkipSelf} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {watchedControllerFactory} from '@taiga-ui/core';\n\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TuiTableSortPipe} from '../pipes/table-sort.pipe';\n\n// TODO: remove in ivy compilation\nexport const TABLE_FACTORY = watchedControllerFactory;\n\nexport const TUI_TABLE_PROVIDER: Provider[] = [\n TuiDestroyService,\n TuiTableSortPipe,\n {\n provide: TuiTableDirective,\n deps: [[new SkipSelf(), TuiTableDirective], ChangeDetectorRef, TuiDestroyService],\n useFactory: TABLE_FACTORY,\n },\n];\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n forwardRef,\n Inject,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {map, startWith} from 'rxjs/operators';\n\nimport {TuiCellDirective} from '../directives/cell.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_TABLE_PROVIDER} from '../providers/table.provider';\nimport {TuiTbodyComponent} from '../tbody/tbody.component';\n\n@Component({\n selector: 'tr[tuiTr]',\n templateUrl: './tr.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_TABLE_PROVIDER],\n})\nexport class TuiTrComponent<T> {\n @ContentChildren(forwardRef(() => TuiCellDirective))\n private readonly cells: QueryList<TuiCellDirective> = EMPTY_QUERY;\n\n readonly cells$ = this.cells.changes.pipe(\n startWith(null),\n map(() =>\n this.cells.reduce<Record<any, TuiCellDirective>>(\n (record, item) => ({...record, [item.tuiCell]: item}),\n {},\n ),\n ),\n );\n\n readonly item$ = this.body.rows.changes.pipe(\n startWith(null),\n map(\n () =>\n this.body.sorted[this.body.rows.toArray().findIndex(row => row === this)],\n ),\n );\n\n constructor(\n @Inject(forwardRef(() => TuiTableDirective))\n readonly table: TuiTableDirective<T>,\n @Inject(forwardRef(() => TuiTbodyComponent))\n private readonly body: TuiTbodyComponent<T>,\n ) {}\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiRowDirective} from '../directives/row.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TuiTableSortPipe} from '../pipes/table-sort.pipe';\nimport {TUI_TABLE_PROVIDER} from '../providers/table.provider';\nimport {TuiTrComponent} from '../tr/tr.component';\n\n@Component({\n selector: 'tbody[tuiTbody]',\n templateUrl: './tbody.template.html',\n styleUrls: ['./tbody.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TABLE_PROVIDER,\n})\nexport class TuiTbodyComponent<T> {\n @Input()\n @tuiDefaultProp()\n data: readonly T[] = [];\n\n @Input()\n @tuiDefaultProp()\n heading: PolymorpheusContent = '';\n\n @Input()\n @tuiDefaultProp()\n open = true;\n\n @Output()\n readonly openChange = new EventEmitter<boolean>();\n\n @ContentChild(forwardRef(() => TuiRowDirective))\n readonly row?: TuiRowDirective<T>;\n\n @ContentChildren(forwardRef(() => TuiTrComponent))\n readonly rows: QueryList<TuiTrComponent<T>> = EMPTY_QUERY;\n\n constructor(\n @Inject(TuiTableSortPipe) private readonly pipe: TuiTableSortPipe<T>,\n @Inject(forwardRef(() => TuiTableDirective))\n readonly table: TuiTableDirective<T>,\n ) {}\n\n get sorted(): readonly T[] {\n return this.pipe.transform(this.data);\n }\n\n readonly toContext = ($implicit: T, index: number) => ({$implicit, index});\n\n onClick() {\n this.open = !this.open;\n this.openChange.emit(this.open);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\n\n@Component({\n selector: 'th[tuiTd], td[tuiTd]',\n templateUrl: './td.template.html',\n styleUrls: ['./td.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTdComponent {\n @HostBinding('class._editable')\n @ContentChild(NgControl)\n readonly control: unknown;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {defaultSort} from '@taiga-ui/addon-table/utils';\nimport {tuiDefaultProp, TuiTableSortKeyException} from '@taiga-ui/cdk';\nimport {TUI_ELEMENT_REF} from '@taiga-ui/core';\n\nimport {TuiHeadDirective} from '../directives/head.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\n\n@Component({\n selector: 'th[tuiTh]',\n templateUrl: './th.template.html',\n styleUrls: ['./th.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_ELEMENT_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiThComponent<T> {\n @Input()\n @tuiDefaultProp()\n sorter: TuiComparator<T> | null = this.head\n ? (a, b) => defaultSort(a[this.key], b[this.key])\n : null;\n\n @Input()\n @tuiDefaultProp()\n resizable = false;\n\n @Input()\n @HostBinding('class._sticky')\n @tuiDefaultProp()\n sticky = false;\n\n @HostBinding('style.width.px')\n width: number | null = null;\n\n constructor(\n @Optional()\n @Inject(TuiHeadDirective)\n private readonly head: TuiHeadDirective<T> | null,\n @Optional()\n @Inject(forwardRef(() => TuiTableDirective))\n readonly table: TuiTableDirective<T> | null,\n ) {}\n\n get key(): keyof T {\n if (!this.head) {\n throw new TuiTableSortKeyException();\n }\n\n return this.head.tuiHead;\n }\n\n get isCurrent(): boolean {\n return !!this.sorter && !!this.table && this.sorter === this.table.sorter;\n }\n\n get icon(): string {\n return this.isCurrent ? 'tuiIconSortDown' : 'tuiIconSortOff';\n }\n\n onResized(width: number) {\n this.width = width;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n forwardRef,\n Inject,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {map, startWith} from 'rxjs/operators';\n\nimport {TuiHeadDirective} from '../directives/head.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_TABLE_PROVIDER} from '../providers/table.provider';\nimport {TuiThComponent} from '../th/th.component';\n\n@Component({\n selector: 'tr[tuiThGroup]',\n templateUrl: './th-group.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_TABLE_PROVIDER],\n})\nexport class TuiThGroupComponent<T> {\n @ContentChild(forwardRef(() => TuiThComponent))\n readonly th: unknown;\n\n @ContentChildren(forwardRef(() => TuiHeadDirective))\n readonly heads: QueryList<TuiHeadDirective<T>> = EMPTY_QUERY;\n\n readonly heads$ = this.heads.changes.pipe(\n startWith(null),\n map(() =>\n this.heads.reduce<Record<any, TuiHeadDirective<T>>>(\n (record, item) => ({...record, [item.tuiHead]: item}),\n {},\n ),\n ),\n );\n\n constructor(\n @Inject(forwardRef(() => TuiTableDirective))\n readonly table: TuiTableDirective<T>,\n ) {}\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiCellDirective} from './directives/cell.directive';\nimport {TuiHeadDirective} from './directives/head.directive';\nimport {TuiResizedDirective} from './directives/resized.directive';\nimport {TuiRowDirective} from './directives/row.directive';\nimport {TuiTableDirective} from './directives/table.directive';\nimport {TuiTheadDirective} from './directives/thead.directive';\nimport {TuiTableSortPipe} from './pipes/table-sort.pipe';\nimport {TuiTbodyComponent} from './tbody/tbody.component';\nimport {TuiTdComponent} from './td/td.component';\nimport {TuiThComponent} from './th/th.component';\nimport {TuiThGroupComponent} from './th-group/th-group.component';\nimport {TuiTrComponent} from './tr/tr.component';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiMapperPipeModule, TuiSvgModule],\n declarations: [\n TuiTableDirective,\n TuiTbodyComponent,\n TuiThGroupComponent,\n TuiThComponent,\n TuiTdComponent,\n TuiTrComponent,\n TuiCellDirective,\n TuiHeadDirective,\n TuiRowDirective,\n TuiTheadDirective,\n TuiResizedDirective,\n TuiTableSortPipe,\n ],\n exports: [\n TuiTableDirective,\n TuiTbodyComponent,\n TuiThGroupComponent,\n TuiThComponent,\n TuiTdComponent,\n TuiTrComponent,\n TuiCellDirective,\n TuiHeadDirective,\n TuiRowDirective,\n TuiTheadDirective,\n TuiTableSortPipe,\n ],\n})\nexport class TuiTableModule {}\n"],"names":["TemplateRef","Inject","Input","tuiDefaultProp","Directive","typedFromEvent","preventDefault","switchMap","distinctUntilChanged","map","takeUntil","DOCUMENT","ElementRef","TUI_ELEMENT_REF","Output","InjectionToken","IntersectionObserverService","INTERSECTION_ROOT_MARGIN","INTERSECTION_THRESHOLD","TUI_TEXTFIELD_APPEARANCE","TUI_TEXTFIELD_LABEL_OUTSIDE","TUI_INPUT_COUNT_OPTIONS","SkipSelf","TUI_TEXTFIELD_SIZE","forwardRef","MODE_PROVIDER","EventEmitter","Observable","TUI_MODE","ChangeDetectorRef","HostBinding","TuiController","tuiPure","Pipe","watchedControllerFactory","TuiDestroyService","EMPTY_QUERY","startWith","ContentChildren","Component","ChangeDetectionStrategy","ContentChild","NgControl","defaultSort","TuiTableSortKeyException","Optional","NgModule","CommonModule","PolymorpheusModule","TuiMapperPipeModule","TuiSvgModule"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-table-components-table.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/addon-table/components/table/directives/cell.directive.ts","ng://@taiga-ui/addon-table/components/table/directives/head.directive.ts","ng://@taiga-ui/addon-table/components/table/directives/resized.directive.ts","ng://@taiga-ui/addon-table/components/table/directives/row.directive.ts","ng://@taiga-ui/addon-table/components/table/providers/stuck.provider.ts","ng://@taiga-ui/addon-table/components/table/providers/table.providers.ts","ng://@taiga-ui/addon-table/components/table/directives/table.directive.ts","ng://@taiga-ui/addon-table/components/table/th/th.component.ts","ng://@taiga-ui/addon-table/components/table/directives/sortable.directive.ts","ng://@taiga-ui/addon-table/components/table/directives/sort-by.directive.ts","ng://@taiga-ui/addon-table/components/table/directives/thead.directive.ts","ng://@taiga-ui/addon-table/components/table/pipes/table-sort.pipe.ts","ng://@taiga-ui/addon-table/components/table/providers/table.provider.ts","ng://@taiga-ui/addon-table/components/table/tr/tr.component.ts","ng://@taiga-ui/addon-table/components/table/tbody/tbody.component.ts","ng://@taiga-ui/addon-table/components/table/td/td.component.ts","ng://@taiga-ui/addon-table/components/table/th-group/th-group.component.ts","ng://@taiga-ui/addon-table/components/table/table.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: '[tuiCell]',\n})\nexport class TuiCellDirective {\n @Input()\n @tuiDefaultProp()\n tuiCell = '';\n\n constructor(@Inject(TemplateRef) readonly template: TemplateRef<{}>) {}\n}\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[tuiHead]',\n})\nexport class TuiHeadDirective<T extends Record<any, any>> {\n @Input()\n tuiHead!: keyof T;\n\n constructor(@Inject(TemplateRef) readonly template: TemplateRef<{}>) {}\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {preventDefault, typedFromEvent} from '@taiga-ui/cdk';\nimport {TUI_ELEMENT_REF} from '@taiga-ui/core';\nimport {distinctUntilChanged, map, switchMap, takeUntil} from 'rxjs/operators';\n\n// @dynamic\n@Directive({\n selector: '[tuiResized]',\n})\nexport class TuiResizedDirective {\n @Output()\n readonly tuiResized = typedFromEvent(this.elementRef.nativeElement, 'mousedown').pipe(\n preventDefault(),\n switchMap(() => {\n const {width, right} = this.parentRef.nativeElement.getBoundingClientRect();\n\n return typedFromEvent(this.documentRef, 'mousemove').pipe(\n distinctUntilChanged(),\n map(({clientX}) => width + clientX - right),\n takeUntil(typedFromEvent(this.documentRef, 'mouseup')),\n );\n }),\n );\n\n constructor(\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_ELEMENT_REF)\n private readonly parentRef: ElementRef<HTMLTableHeaderCellElement>,\n ) {}\n}\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\nimport {TuiRowContext} from '@taiga-ui/addon-table/interfaces';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: 'ng-template[tuiRow]',\n})\nexport class TuiRowDirective<T> {\n @Input()\n @tuiDefaultProp()\n tuiRowOf: readonly T[] = [];\n\n constructor(@Inject(TemplateRef) readonly template: TemplateRef<TuiRowContext<T>>) {}\n\n static ngTemplateContextGuard<T>(\n _dir: TuiRowDirective<T>,\n _ctx: any,\n ): _ctx is TuiRowContext<T> {\n return true;\n }\n}\n","import {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport function stuckFactory(\n {nativeElement}: ElementRef,\n entries$: Observable<IntersectionObserverEntry[]>,\n): Observable<boolean> {\n const stream$ = entries$.pipe(map(([{intersectionRatio}]) => intersectionRatio < 1));\n\n nativeElement['$.class._stuck'] = stream$;\n\n return stream$;\n}\n\nexport const TUI_STUCK = new InjectionToken<boolean>('Stream of sticky stuck events');\n\nexport const TUI_STUCK_PROVIDER: Provider = {\n provide: TUI_STUCK,\n deps: [ElementRef, IntersectionObserverService],\n useFactory: stuckFactory,\n};\n","import {forwardRef, SkipSelf} from '@angular/core';\nimport {\n INTERSECTION_ROOT_MARGIN,\n INTERSECTION_THRESHOLD,\n IntersectionObserverService,\n} from '@ng-web-apis/intersection-observer';\nimport {\n MODE_PROVIDER,\n TUI_TEXTFIELD_APPEARANCE,\n TUI_TEXTFIELD_LABEL_OUTSIDE,\n TUI_TEXTFIELD_SIZE,\n} from '@taiga-ui/core';\nimport {TUI_INPUT_COUNT_OPTIONS, TuiInputCountOptions} from '@taiga-ui/kit';\n\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_STUCK_PROVIDER} from './stuck.provider';\n\n// TODO: remove in ivy compilation\nexport const TABLE_THRESHOLD = [0, 1];\nexport const TABLE_LABEL = {\n labelOutside: true,\n};\n\nexport function inputCountOptionsFactory(\n options: TuiInputCountOptions,\n): TuiInputCountOptions {\n return {...options, hideButtons: true};\n}\n\nexport const TUI_TABLE_PROVIDERS = [\n {\n provide: INTERSECTION_ROOT_MARGIN,\n useValue: '10000px 10000px 10000px 0px',\n },\n {\n provide: INTERSECTION_THRESHOLD,\n useValue: TABLE_THRESHOLD,\n },\n {\n provide: TUI_TEXTFIELD_APPEARANCE,\n // TODO: remove in ivy compilation\n useValue: 'table', // TuiAppearance.Table\n },\n {\n provide: TUI_TEXTFIELD_LABEL_OUTSIDE,\n useValue: TABLE_LABEL,\n },\n {\n provide: TUI_INPUT_COUNT_OPTIONS,\n deps: [[new SkipSelf(), TUI_INPUT_COUNT_OPTIONS]],\n useFactory: inputCountOptionsFactory,\n },\n {\n provide: TUI_TEXTFIELD_SIZE,\n useExisting: forwardRef(() => TuiTableDirective),\n },\n IntersectionObserverService,\n MODE_PROVIDER,\n TUI_STUCK_PROVIDER,\n];\n","import {\n ChangeDetectorRef,\n Directive,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {TuiController, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TUI_MODE, TuiBrightness, TuiSizeL, TuiSizeS} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {TUI_STUCK} from '../providers/stuck.provider';\nimport {TUI_TABLE_PROVIDERS} from '../providers/table.providers';\n\n@Directive({\n selector: 'table[tuiTable]',\n providers: TUI_TABLE_PROVIDERS,\n host: {\n '($.data-mode.attr)': 'mode$',\n '($.class._stuck)': 'stuck$',\n style: 'border-collapse: separate',\n },\n})\nexport class TuiTableDirective<T> extends TuiController {\n @Input()\n @tuiDefaultProp()\n columns: ReadonlyArray<keyof T | string> = [];\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS | TuiSizeL = 'm';\n\n @Input()\n @tuiDefaultProp()\n direction: -1 | 1 = 1;\n\n @Output()\n readonly directionChange = new EventEmitter<-1 | 1>();\n\n @Output()\n readonly sorterChange = new EventEmitter<TuiComparator<T> | null>();\n\n constructor(\n @Inject(IntersectionObserverService)\n readonly entries$: Observable<IntersectionObserverEntry[]>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_STUCK) readonly stuck$: Observable<boolean>,\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n ) {\n super();\n }\n\n @Input()\n @tuiDefaultProp()\n sorter: TuiComparator<T> = () => 0;\n\n updateSorter(sorter: TuiComparator<T> | null) {\n if (this.sorter === sorter) {\n this.direction = this.direction === 1 ? -1 : 1;\n this.directionChange.emit(this.direction);\n } else {\n this.sorter = sorter || (() => 0);\n this.sorterChange.emit(this.sorter);\n this.direction = 1;\n this.directionChange.emit(1);\n }\n\n this.change$.next();\n }\n\n ngAfterViewInit() {\n this.changeDetectorRef.detectChanges();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {defaultSort} from '@taiga-ui/addon-table/utils';\nimport {tuiDefaultProp, TuiTableSortKeyException} from '@taiga-ui/cdk';\nimport {TUI_ELEMENT_REF} from '@taiga-ui/core';\n\nimport {TuiHeadDirective} from '../directives/head.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\n\n@Component({\n selector: 'th[tuiTh]',\n templateUrl: './th.template.html',\n styleUrls: ['./th.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_ELEMENT_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiThComponent<T> {\n @Input()\n @tuiDefaultProp()\n sorter: TuiComparator<T> | null = this.head\n ? (a, b) => defaultSort(a[this.key], b[this.key])\n : null;\n\n @Input()\n @tuiDefaultProp()\n resizable = false;\n\n @Input()\n @HostBinding('class._sticky')\n @tuiDefaultProp()\n sticky = false;\n\n @HostBinding('style.width.px')\n width: number | null = null;\n\n constructor(\n @Optional()\n @Inject(TuiHeadDirective)\n private readonly head: TuiHeadDirective<T> | null,\n @Optional()\n @Inject(forwardRef(() => TuiTableDirective))\n readonly table: TuiTableDirective<T> | null,\n ) {}\n\n get key(): keyof T {\n if (!this.head) {\n throw new TuiTableSortKeyException();\n }\n\n return this.head.tuiHead;\n }\n\n get isCurrent(): boolean {\n return !!this.sorter && !!this.table && this.sorter === this.table.sorter;\n }\n\n get icon(): string {\n return this.isCurrent ? 'tuiIconSortDown' : 'tuiIconSortOff';\n }\n\n onResized(width: number) {\n this.width = width;\n }\n}\n","import {Directive, DoCheck, Inject} from '@angular/core';\n\nimport {TuiThComponent} from '../th/th.component';\nimport {TuiSortByDirective} from './sort-by.directive';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n selector: 'th[tuiTh][tuiSortable]',\n})\nexport class TuiSortableDirective<T> implements DoCheck {\n constructor(\n @Inject(TuiSortByDirective) private readonly sortBy: TuiSortByDirective<T>,\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n @Inject(TuiThComponent) private readonly th: TuiThComponent<T>,\n ) {\n this.th.sorter = this.sorter;\n }\n\n readonly sorter = () => 0;\n\n get key(): keyof T {\n return this.th.key;\n }\n\n ngDoCheck() {\n if (this.sortBy.tuiSortBy === this.key && this.table.sorter !== this.sorter) {\n this.table.updateSorter(this.sorter);\n }\n }\n}\n","import {\n ContentChildren,\n Directive,\n Inject,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {EMPTY_QUERY, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {filter, map} from 'rxjs/operators';\n\nimport {TuiSortableDirective} from './sortable.directive';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n selector: 'table[tuiTable][tuiSortBy]',\n})\nexport class TuiSortByDirective<T> {\n @ContentChildren(TuiSortableDirective, {descendants: true})\n private readonly sortables: QueryList<TuiSortableDirective<T>> = EMPTY_QUERY;\n\n @Input()\n @tuiDefaultProp()\n tuiSortBy: keyof T | string | null = null;\n\n @Output()\n readonly tuiSortByChange = this.table.sorterChange.pipe(\n filter(() => !!this.sortables.length),\n map(sorter => this.getKey(sorter)),\n );\n\n constructor(\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n ) {}\n\n private getKey(sorter: TuiComparator<T> | null): keyof T | null {\n return this.sortables.find(s => s.sorter === sorter)?.key ?? null;\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {\n INTERSECTION_ROOT_MARGIN,\n IntersectionObserverService,\n} from '@ng-web-apis/intersection-observer';\nimport {Observable} from 'rxjs';\n\nimport {TUI_STUCK, TUI_STUCK_PROVIDER} from '../providers/stuck.provider';\n\n@Directive({\n selector: 'thead[tuiThead]',\n providers: [\n TUI_STUCK_PROVIDER,\n IntersectionObserverService,\n {\n provide: INTERSECTION_ROOT_MARGIN,\n useValue: '0px 10000px 10000px 10000px',\n },\n ],\n host: {\n '($.class._stuck)': 'stuck$',\n },\n})\nexport class TuiTheadDirective {\n constructor(@Inject(TUI_STUCK) readonly stuck$: Observable<boolean>) {}\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {tuiPure} from '@taiga-ui/cdk';\n\nimport {TuiTableDirective} from '../directives/table.directive';\n\n@Pipe({\n name: 'tuiTableSort',\n pure: false,\n})\nexport class TuiTableSortPipe<T> implements PipeTransform {\n constructor(\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n ) {}\n\n transform(data: readonly T[]): readonly T[] {\n return this.sort(data, this.table.sorter, this.table.direction);\n }\n\n @tuiPure\n private sort(\n data: readonly T[],\n sorter: TuiComparator<T>,\n direction: -1 | 1,\n ): readonly T[] {\n return [...data].sort((a, b) => direction * sorter(a, b));\n }\n}\n","import {ChangeDetectorRef, Provider, SkipSelf} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {watchedControllerFactory} from '@taiga-ui/core';\n\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TuiTableSortPipe} from '../pipes/table-sort.pipe';\n\n// TODO: remove in ivy compilation\nexport const TABLE_FACTORY = watchedControllerFactory;\n\nexport const TUI_TABLE_PROVIDER: Provider[] = [\n TuiDestroyService,\n TuiTableSortPipe,\n {\n provide: TuiTableDirective,\n deps: [[new SkipSelf(), TuiTableDirective], ChangeDetectorRef, TuiDestroyService],\n useFactory: TABLE_FACTORY,\n },\n];\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n forwardRef,\n Inject,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {map, startWith} from 'rxjs/operators';\n\nimport {TuiCellDirective} from '../directives/cell.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_TABLE_PROVIDER} from '../providers/table.provider';\nimport {TuiTbodyComponent} from '../tbody/tbody.component';\n\n@Component({\n selector: 'tr[tuiTr]',\n templateUrl: './tr.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_TABLE_PROVIDER],\n})\nexport class TuiTrComponent<T extends Record<string, any>> {\n @ContentChildren(forwardRef(() => TuiCellDirective))\n private readonly cells: QueryList<TuiCellDirective> = EMPTY_QUERY;\n\n readonly cells$ = this.cells.changes.pipe(\n startWith(null),\n map(() =>\n this.cells.reduce<Record<any, TuiCellDirective>>(\n (record, item) => ({...record, [item.tuiCell]: item}),\n {},\n ),\n ),\n );\n\n readonly item$ = this.body.rows.changes.pipe(\n startWith(null),\n map(\n () =>\n this.body.sorted[this.body.rows.toArray().findIndex(row => row === this)],\n ),\n );\n\n constructor(\n @Inject(forwardRef(() => TuiTableDirective))\n readonly table: TuiTableDirective<T>,\n @Inject(forwardRef(() => TuiTbodyComponent))\n private readonly body: TuiTbodyComponent<T>,\n ) {}\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiRowDirective} from '../directives/row.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TuiTableSortPipe} from '../pipes/table-sort.pipe';\nimport {TUI_TABLE_PROVIDER} from '../providers/table.provider';\nimport {TuiTrComponent} from '../tr/tr.component';\n\n@Component({\n selector: 'tbody[tuiTbody]',\n templateUrl: './tbody.template.html',\n styleUrls: ['./tbody.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TABLE_PROVIDER,\n})\nexport class TuiTbodyComponent<T> {\n @Input()\n @tuiDefaultProp()\n data: readonly T[] = [];\n\n @Input()\n @tuiDefaultProp()\n heading: PolymorpheusContent = '';\n\n @Input()\n @tuiDefaultProp()\n open = true;\n\n @Output()\n readonly openChange = new EventEmitter<boolean>();\n\n @ContentChild(forwardRef(() => TuiRowDirective))\n readonly row?: TuiRowDirective<T>;\n\n @ContentChildren(forwardRef(() => TuiTrComponent))\n readonly rows: QueryList<TuiTrComponent<T>> = EMPTY_QUERY;\n\n constructor(\n @Inject(TuiTableSortPipe) private readonly pipe: TuiTableSortPipe<T>,\n @Inject(forwardRef(() => TuiTableDirective))\n readonly table: TuiTableDirective<T>,\n ) {}\n\n get sorted(): readonly T[] {\n return this.pipe.transform(this.data);\n }\n\n readonly toContext = ($implicit: T, index: number) => ({$implicit, index});\n\n onClick() {\n this.open = !this.open;\n this.openChange.emit(this.open);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\n\n@Component({\n selector: 'th[tuiTd], td[tuiTd]',\n template: '<ng-content></ng-content>',\n styleUrls: ['./td.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTdComponent {\n @HostBinding('class._editable')\n @ContentChild(NgControl)\n readonly control: unknown;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n forwardRef,\n Inject,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {map, startWith} from 'rxjs/operators';\n\nimport {TuiHeadDirective} from '../directives/head.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_TABLE_PROVIDER} from '../providers/table.provider';\nimport {TuiThComponent} from '../th/th.component';\n\n@Component({\n selector: 'tr[tuiThGroup]',\n templateUrl: './th-group.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_TABLE_PROVIDER],\n})\nexport class TuiThGroupComponent<T> {\n @ContentChild(forwardRef(() => TuiThComponent))\n readonly th: unknown;\n\n @ContentChildren(forwardRef(() => TuiHeadDirective))\n readonly heads: QueryList<TuiHeadDirective<T>> = EMPTY_QUERY;\n\n readonly heads$ = this.heads.changes.pipe(\n startWith(null),\n map(() =>\n this.heads.reduce<Record<any, TuiHeadDirective<T>>>(\n (record, item) => ({...record, [item.tuiHead]: item}),\n {},\n ),\n ),\n );\n\n constructor(\n @Inject(forwardRef(() => TuiTableDirective))\n readonly table: TuiTableDirective<T>,\n ) {}\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiCellDirective} from './directives/cell.directive';\nimport {TuiHeadDirective} from './directives/head.directive';\nimport {TuiResizedDirective} from './directives/resized.directive';\nimport {TuiRowDirective} from './directives/row.directive';\nimport {TuiSortByDirective} from './directives/sort-by.directive';\nimport {TuiSortableDirective} from './directives/sortable.directive';\nimport {TuiTableDirective} from './directives/table.directive';\nimport {TuiTheadDirective} from './directives/thead.directive';\nimport {TuiTableSortPipe} from './pipes/table-sort.pipe';\nimport {TuiTbodyComponent} from './tbody/tbody.component';\nimport {TuiTdComponent} from './td/td.component';\nimport {TuiThComponent} from './th/th.component';\nimport {TuiThGroupComponent} from './th-group/th-group.component';\nimport {TuiTrComponent} from './tr/tr.component';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiMapperPipeModule, TuiSvgModule],\n declarations: [\n TuiTableDirective,\n TuiTbodyComponent,\n TuiThGroupComponent,\n TuiThComponent,\n TuiTdComponent,\n TuiTrComponent,\n TuiCellDirective,\n TuiHeadDirective,\n TuiRowDirective,\n TuiSortByDirective,\n TuiSortableDirective,\n TuiTheadDirective,\n TuiResizedDirective,\n TuiTableSortPipe,\n ],\n exports: [\n TuiTableDirective,\n TuiTbodyComponent,\n TuiThGroupComponent,\n TuiThComponent,\n TuiTdComponent,\n TuiTrComponent,\n TuiCellDirective,\n TuiHeadDirective,\n TuiRowDirective,\n TuiSortByDirective,\n TuiSortableDirective,\n TuiTheadDirective,\n TuiTableSortPipe,\n ],\n})\nexport class TuiTableModule {}\n"],"names":["TemplateRef","Inject","Input","tuiDefaultProp","Directive","typedFromEvent","preventDefault","switchMap","distinctUntilChanged","map","takeUntil","DOCUMENT","ElementRef","TUI_ELEMENT_REF","Output","InjectionToken","IntersectionObserverService","INTERSECTION_ROOT_MARGIN","INTERSECTION_THRESHOLD","TUI_TEXTFIELD_APPEARANCE","TUI_TEXTFIELD_LABEL_OUTSIDE","TUI_INPUT_COUNT_OPTIONS","SkipSelf","TUI_TEXTFIELD_SIZE","forwardRef","MODE_PROVIDER","EventEmitter","Observable","TUI_MODE","ChangeDetectorRef","HostBinding","TuiController","defaultSort","TuiTableSortKeyException","Optional","Component","ChangeDetectionStrategy","EMPTY_QUERY","filter","ContentChildren","tuiPure","Pipe","watchedControllerFactory","TuiDestroyService","startWith","ContentChild","NgControl","NgModule","CommonModule","PolymorpheusModule","TuiMapperPipeModule","TuiSvgModule"],"mappings":"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"}