@taiga-ui/addon-table 2.74.0 → 2.76.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 (81) hide show
  1. package/bundles/taiga-ui-addon-table-components-reorder.umd.js +49 -4
  2. package/bundles/taiga-ui-addon-table-components-reorder.umd.js.map +1 -1
  3. package/bundles/taiga-ui-addon-table-components-reorder.umd.min.js.map +1 -1
  4. package/bundles/taiga-ui-addon-table-components-resizable-column.umd.js +52 -7
  5. package/bundles/taiga-ui-addon-table-components-resizable-column.umd.js.map +1 -1
  6. package/bundles/taiga-ui-addon-table-components-resizable-column.umd.min.js.map +1 -1
  7. package/bundles/taiga-ui-addon-table-components-table-pagination.umd.js +47 -2
  8. package/bundles/taiga-ui-addon-table-components-table-pagination.umd.js.map +1 -1
  9. package/bundles/taiga-ui-addon-table-components-table-pagination.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-addon-table-components-table.umd.js +76 -31
  11. package/bundles/taiga-ui-addon-table-components-table.umd.js.map +1 -1
  12. package/bundles/taiga-ui-addon-table-components-table.umd.min.js +1 -1
  13. package/bundles/taiga-ui-addon-table-components-table.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-addon-table-directives-table-filters.umd.js +49 -4
  15. package/bundles/taiga-ui-addon-table-directives-table-filters.umd.js.map +1 -1
  16. package/bundles/taiga-ui-addon-table-directives-table-filters.umd.min.js.map +1 -1
  17. package/components/table/directives/sort-by.directive.d.ts +1 -1
  18. package/components/table/directives/table.directive.d.ts +2 -2
  19. package/components/table/taiga-ui-addon-table-components-table.metadata.json +1 -1
  20. package/components/table-pagination/table-pagination.component.d.ts +2 -2
  21. package/esm2015/components/reorder/reorder.component.js +4 -4
  22. package/esm2015/components/resizable-column/resizable-column.component.js +3 -3
  23. package/esm2015/components/resizable-column/resizable-column.directive.js +4 -4
  24. package/esm2015/components/table/directives/cell.directive.js +3 -3
  25. package/esm2015/components/table/directives/head.directive.js +2 -2
  26. package/esm2015/components/table/directives/resized.directive.js +4 -4
  27. package/esm2015/components/table/directives/row.directive.js +2 -2
  28. package/esm2015/components/table/directives/sort-by.directive.js +2 -2
  29. package/esm2015/components/table/directives/sortable.directive.js +2 -2
  30. package/esm2015/components/table/directives/table.directive.js +7 -7
  31. package/esm2015/components/table/directives/thead.directive.js +4 -4
  32. package/esm2015/components/table/tbody/tbody.component.js +3 -3
  33. package/esm2015/components/table/td/td.component.js +3 -3
  34. package/esm2015/components/table/th/th.component.js +6 -6
  35. package/esm2015/components/table/th-group/th-group.component.js +2 -2
  36. package/esm2015/components/table/tr/tr.component.js +2 -2
  37. package/esm2015/components/table-pagination/table-pagination.component.js +2 -2
  38. package/esm2015/directives/table-filters/generic-filter.directive.js +2 -2
  39. package/esm2015/directives/table-filters/table-filter.directive.js +2 -2
  40. package/esm2015/directives/table-filters/table-filters.directive.js +2 -2
  41. package/esm5/components/reorder/reorder.component.js +4 -4
  42. package/esm5/components/resizable-column/resizable-column.component.js +3 -3
  43. package/esm5/components/resizable-column/resizable-column.directive.js +5 -5
  44. package/esm5/components/table/directives/cell.directive.js +3 -3
  45. package/esm5/components/table/directives/head.directive.js +2 -2
  46. package/esm5/components/table/directives/resized.directive.js +5 -5
  47. package/esm5/components/table/directives/row.directive.js +2 -2
  48. package/esm5/components/table/directives/sort-by.directive.js +2 -2
  49. package/esm5/components/table/directives/sortable.directive.js +2 -2
  50. package/esm5/components/table/directives/table.directive.js +7 -7
  51. package/esm5/components/table/directives/thead.directive.js +4 -4
  52. package/esm5/components/table/tbody/tbody.component.js +3 -3
  53. package/esm5/components/table/td/td.component.js +3 -3
  54. package/esm5/components/table/th/th.component.js +6 -6
  55. package/esm5/components/table/th-group/th-group.component.js +2 -2
  56. package/esm5/components/table/tr/tr.component.js +2 -2
  57. package/esm5/components/table-pagination/table-pagination.component.js +2 -2
  58. package/esm5/directives/table-filters/generic-filter.directive.js +2 -2
  59. package/esm5/directives/table-filters/table-filter.directive.js +2 -2
  60. package/esm5/directives/table-filters/table-filters.directive.js +2 -2
  61. package/fesm2015/taiga-ui-addon-table-components-reorder.js +3 -3
  62. package/fesm2015/taiga-ui-addon-table-components-reorder.js.map +1 -1
  63. package/fesm2015/taiga-ui-addon-table-components-resizable-column.js +5 -5
  64. package/fesm2015/taiga-ui-addon-table-components-resizable-column.js.map +1 -1
  65. package/fesm2015/taiga-ui-addon-table-components-table-pagination.js +1 -1
  66. package/fesm2015/taiga-ui-addon-table-components-table-pagination.js.map +1 -1
  67. package/fesm2015/taiga-ui-addon-table-components-table.js +29 -29
  68. package/fesm2015/taiga-ui-addon-table-components-table.js.map +1 -1
  69. package/fesm2015/taiga-ui-addon-table-directives-table-filters.js +3 -3
  70. package/fesm2015/taiga-ui-addon-table-directives-table-filters.js.map +1 -1
  71. package/fesm5/taiga-ui-addon-table-components-reorder.js +3 -3
  72. package/fesm5/taiga-ui-addon-table-components-reorder.js.map +1 -1
  73. package/fesm5/taiga-ui-addon-table-components-resizable-column.js +6 -6
  74. package/fesm5/taiga-ui-addon-table-components-resizable-column.js.map +1 -1
  75. package/fesm5/taiga-ui-addon-table-components-table-pagination.js +1 -1
  76. package/fesm5/taiga-ui-addon-table-components-table-pagination.js.map +1 -1
  77. package/fesm5/taiga-ui-addon-table-components-table.js +30 -30
  78. package/fesm5/taiga-ui-addon-table-components-table.js.map +1 -1
  79. package/fesm5/taiga-ui-addon-table-directives-table-filters.js +3 -3
  80. package/fesm5/taiga-ui-addon-table-directives-table-filters.js.map +1 -1
  81. package/package.json +4 -4
@@ -14,7 +14,7 @@ import { NgControl } from '@angular/forms';
14
14
  var TuiCellDirective = /** @class */ (function () {
15
15
  function TuiCellDirective(template) {
16
16
  this.template = template;
17
- this.tuiCell = "";
17
+ this.tuiCell = '';
18
18
  }
19
19
  TuiCellDirective.ctorParameters = function () { return [
20
20
  { type: TemplateRef, decorators: [{ type: Inject, args: [TemplateRef,] }] }
@@ -25,7 +25,7 @@ var TuiCellDirective = /** @class */ (function () {
25
25
  ], TuiCellDirective.prototype, "tuiCell", void 0);
26
26
  TuiCellDirective = __decorate([
27
27
  Directive({
28
- selector: "[tuiCell]",
28
+ selector: '[tuiCell]',
29
29
  }),
30
30
  __param(0, Inject(TemplateRef))
31
31
  ], TuiCellDirective);
@@ -44,7 +44,7 @@ var TuiHeadDirective = /** @class */ (function () {
44
44
  ], TuiHeadDirective.prototype, "tuiHead", void 0);
45
45
  TuiHeadDirective = __decorate([
46
46
  Directive({
47
- selector: "[tuiHead]",
47
+ selector: '[tuiHead]',
48
48
  }),
49
49
  __param(0, Inject(TemplateRef))
50
50
  ], TuiHeadDirective);
@@ -58,12 +58,12 @@ var TuiResizedDirective = /** @class */ (function () {
58
58
  this.documentRef = documentRef;
59
59
  this.elementRef = elementRef;
60
60
  this.parentRef = parentRef;
61
- this.tuiResized = typedFromEvent(this.elementRef.nativeElement, "mousedown").pipe(preventDefault(), switchMap(function () {
61
+ this.tuiResized = typedFromEvent(this.elementRef.nativeElement, 'mousedown').pipe(preventDefault(), switchMap(function () {
62
62
  var _a = _this.parentRef.nativeElement.getBoundingClientRect(), width = _a.width, right = _a.right;
63
- return typedFromEvent(_this.documentRef, "mousemove").pipe(distinctUntilChanged(), map(function (_a) {
63
+ return typedFromEvent(_this.documentRef, 'mousemove').pipe(distinctUntilChanged(), map(function (_a) {
64
64
  var clientX = _a.clientX;
65
65
  return width + clientX - right;
66
- }), takeUntil(typedFromEvent(_this.documentRef, "mouseup")));
66
+ }), takeUntil(typedFromEvent(_this.documentRef, 'mouseup')));
67
67
  }));
68
68
  }
69
69
  TuiResizedDirective.ctorParameters = function () { return [
@@ -76,7 +76,7 @@ var TuiResizedDirective = /** @class */ (function () {
76
76
  ], TuiResizedDirective.prototype, "tuiResized", void 0);
77
77
  TuiResizedDirective = __decorate([
78
78
  Directive({
79
- selector: "[tuiResized]",
79
+ selector: '[tuiResized]',
80
80
  }),
81
81
  __param(0, Inject(DOCUMENT)),
82
82
  __param(1, Inject(ElementRef)),
@@ -102,7 +102,7 @@ var TuiRowDirective = /** @class */ (function () {
102
102
  ], TuiRowDirective.prototype, "tuiRowOf", void 0);
103
103
  TuiRowDirective = __decorate([
104
104
  Directive({
105
- selector: "ng-template[tuiRow]",
105
+ selector: 'ng-template[tuiRow]',
106
106
  }),
107
107
  __param(0, Inject(TemplateRef))
108
108
  ], TuiRowDirective);
@@ -176,7 +176,7 @@ var TuiTableDirective = /** @class */ (function (_super) {
176
176
  _this.stuck$ = stuck$;
177
177
  _this.changeDetectorRef = changeDetectorRef;
178
178
  _this.columns = [];
179
- _this.size = "m";
179
+ _this.size = 'm';
180
180
  _this.direction = 1;
181
181
  _this.directionChange = new EventEmitter();
182
182
  _this.sorterChange = new EventEmitter();
@@ -211,7 +211,7 @@ var TuiTableDirective = /** @class */ (function (_super) {
211
211
  ], TuiTableDirective.prototype, "columns", void 0);
212
212
  __decorate([
213
213
  Input(),
214
- HostBinding("attr.data-size"),
214
+ HostBinding('attr.data-size'),
215
215
  tuiDefaultProp()
216
216
  ], TuiTableDirective.prototype, "size", void 0);
217
217
  __decorate([
@@ -230,12 +230,12 @@ var TuiTableDirective = /** @class */ (function (_super) {
230
230
  ], TuiTableDirective.prototype, "sorter", void 0);
231
231
  TuiTableDirective = __decorate([
232
232
  Directive({
233
- selector: "table[tuiTable]",
233
+ selector: 'table[tuiTable]',
234
234
  providers: TUI_TABLE_PROVIDERS,
235
235
  host: {
236
- '($.data-mode.attr)': "mode$",
237
- '($.class._stuck)': "stuck$",
238
- style: "border-collapse: separate",
236
+ '($.data-mode.attr)': 'mode$',
237
+ '($.class._stuck)': 'stuck$',
238
+ style: 'border-collapse: separate',
239
239
  },
240
240
  }),
241
241
  __param(0, Inject(IntersectionObserverService)),
@@ -277,7 +277,7 @@ var TuiThComponent = /** @class */ (function () {
277
277
  });
278
278
  Object.defineProperty(TuiThComponent.prototype, "icon", {
279
279
  get: function () {
280
- return this.isCurrent ? "tuiIconSortDown" : "tuiIconSortOff";
280
+ return this.isCurrent ? 'tuiIconSortDown' : 'tuiIconSortOff';
281
281
  },
282
282
  enumerable: true,
283
283
  configurable: true
@@ -299,16 +299,16 @@ var TuiThComponent = /** @class */ (function () {
299
299
  ], TuiThComponent.prototype, "resizable", void 0);
300
300
  __decorate([
301
301
  Input(),
302
- HostBinding("class._sticky"),
302
+ HostBinding('class._sticky'),
303
303
  tuiDefaultProp()
304
304
  ], TuiThComponent.prototype, "sticky", void 0);
305
305
  __decorate([
306
- HostBinding("style.width.px")
306
+ HostBinding('style.width.px')
307
307
  ], TuiThComponent.prototype, "width", void 0);
308
308
  TuiThComponent = __decorate([
309
309
  Component({
310
- selector: "th[tuiTh]",
311
- 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",
310
+ selector: 'th[tuiTh]',
311
+ 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>\n <ng-content></ng-content>\n</ng-template>\n<div\n *ngIf=\"resizable\"\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n></div>\n",
312
312
  changeDetection: ChangeDetectionStrategy.OnPush,
313
313
  providers: [
314
314
  {
@@ -363,7 +363,7 @@ var TuiSortableDirective = /** @class */ (function () {
363
363
  ]; };
364
364
  TuiSortableDirective = __decorate([
365
365
  Directive({
366
- selector: "th[tuiTh][tuiSortable]",
366
+ selector: 'th[tuiTh][tuiSortable]',
367
367
  }),
368
368
  __param(0, Inject(forwardRef(function () { return TuiSortByDirective; }))),
369
369
  __param(1, Inject(TuiTableDirective)),
@@ -399,7 +399,7 @@ var TuiSortByDirective = /** @class */ (function () {
399
399
  ], TuiSortByDirective.prototype, "tuiSortByChange", void 0);
400
400
  TuiSortByDirective = __decorate([
401
401
  Directive({
402
- selector: "table[tuiTable][tuiSortBy]",
402
+ selector: 'table[tuiTable][tuiSortBy]',
403
403
  }),
404
404
  __param(0, Inject(TuiTableDirective))
405
405
  ], TuiSortByDirective);
@@ -415,17 +415,17 @@ var TuiTheadDirective = /** @class */ (function () {
415
415
  ]; };
416
416
  TuiTheadDirective = __decorate([
417
417
  Directive({
418
- selector: "thead[tuiThead]",
418
+ selector: 'thead[tuiThead]',
419
419
  providers: [
420
420
  TUI_STUCK_PROVIDER,
421
421
  IntersectionObserverService,
422
422
  {
423
423
  provide: INTERSECTION_ROOT_MARGIN,
424
- useValue: "0px 10000px 10000px 10000px",
424
+ useValue: '0px 10000px 10000px 10000px',
425
425
  },
426
426
  ],
427
427
  host: {
428
- '($.class._stuck)': "stuck$",
428
+ '($.class._stuck)': 'stuck$',
429
429
  },
430
430
  }),
431
431
  __param(0, Inject(TUI_STUCK))
@@ -496,7 +496,7 @@ var TuiTrComponent = /** @class */ (function () {
496
496
  ], TuiTrComponent.prototype, "cells", void 0);
497
497
  TuiTrComponent = __decorate([
498
498
  Component({
499
- selector: "tr[tuiTr]",
499
+ selector: 'tr[tuiTr]',
500
500
  template: "<ng-container *ngIf=\"cells$ | async as items\">\n <ng-container\n *ngFor=\"let key of table.columns\"\n [ngTemplateOutlet]=\"items[key.toString()]?.template || plain\"\n >\n <ng-template #plain>\n <td\n *ngIf=\"item$ | async as item\"\n tuiTd\n >\n {{ item[key.toString()] }}\n </td>\n </ng-template>\n </ng-container>\n</ng-container>\n",
501
501
  changeDetection: ChangeDetectionStrategy.OnPush,
502
502
  providers: [TUI_TABLE_PROVIDER]
@@ -512,7 +512,7 @@ var TuiTbodyComponent = /** @class */ (function () {
512
512
  this.pipe = pipe;
513
513
  this.table = table;
514
514
  this.data = [];
515
- this.heading = "";
515
+ this.heading = '';
516
516
  this.open = true;
517
517
  this.openChange = new EventEmitter();
518
518
  this.rows = EMPTY_QUERY;
@@ -556,7 +556,7 @@ var TuiTbodyComponent = /** @class */ (function () {
556
556
  ], TuiTbodyComponent.prototype, "rows", void 0);
557
557
  TuiTbodyComponent = __decorate([
558
558
  Component({
559
- selector: "tbody[tuiTbody]",
559
+ selector: 'tbody[tuiTbody]',
560
560
  template: "<ng-content></ng-content>\n<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\n polymorpheus-outlet\n class=\"t-name\"\n [content]=\"heading\"\n ></span>\n <tui-svg\n src=\"tuiIconChevronDownLarge\"\n class=\"t-chevron\"\n [class.t-chevron_rotated]=\"open\"\n ></tui-svg>\n </button>\n </th>\n</tr>\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",
561
561
  changeDetection: ChangeDetectionStrategy.OnPush,
562
562
  providers: TUI_TABLE_PROVIDER,
@@ -572,12 +572,12 @@ var TuiTdComponent = /** @class */ (function () {
572
572
  function TuiTdComponent() {
573
573
  }
574
574
  __decorate([
575
- HostBinding("class._editable"),
575
+ HostBinding('class._editable'),
576
576
  ContentChild(NgControl)
577
577
  ], TuiTdComponent.prototype, "control", void 0);
578
578
  TuiTdComponent = __decorate([
579
579
  Component({
580
- selector: "th[tuiTd], td[tuiTd]",
580
+ selector: 'th[tuiTd], td[tuiTd]',
581
581
  template: "\n <ng-content></ng-content>\n ",
582
582
  changeDetection: ChangeDetectionStrategy.OnPush,
583
583
  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}"]
@@ -612,7 +612,7 @@ var TuiThGroupComponent = /** @class */ (function () {
612
612
  ], TuiThGroupComponent.prototype, "heads", void 0);
613
613
  TuiThGroupComponent = __decorate([
614
614
  Component({
615
- selector: "tr[tuiThGroup]",
615
+ selector: 'tr[tuiThGroup]',
616
616
  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",
617
617
  changeDetection: ChangeDetectionStrategy.OnPush,
618
618
  providers: [TUI_TABLE_PROVIDER]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-table-components-table.js","sources":["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","ng://@taiga-ui/addon-table/components/table/taiga-ui-addon-table-components-table.ts"],"sourcesContent":["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(\n @Inject(TemplateRef) readonly template: TemplateRef<Record<string, unknown>>,\n ) {}\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(\n @Inject(TemplateRef) readonly template: TemplateRef<Record<string, unknown>>,\n ) {}\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: unknown,\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\n// eslint-disable-next-line @typescript-eslint/naming-convention\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: 3.0 remove in ivy compilation\nexport const TABLE_THRESHOLD = [0, 1];\nexport const TABLE_LABEL = {\n labelOutside: true,\n};\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\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: 3.0 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): void {\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(): void {\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): void {\n this.width = width;\n }\n}\n","import {Directive, DoCheck, forwardRef, Inject, OnInit} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\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, OnInit {\n constructor(\n @Inject(forwardRef(() => TuiSortByDirective))\n private readonly sortBy: TuiSortByDirective<T>,\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n @Inject(TuiThComponent) private readonly th: TuiThComponent<T>,\n ) {}\n\n sorter: TuiComparator<T> = (): number => 0;\n\n get key(): keyof T {\n return this.th.key;\n }\n\n ngOnInit(): void {\n this.sorter = this.match ? this.table.sorter : this.sorter;\n this.th.sorter = this.sorter;\n }\n\n ngDoCheck(): void {\n if (this.match && this.table.sorter !== this.sorter) {\n this.table.updateSorter(this.sorter);\n }\n }\n\n private get match(): boolean {\n return this.sortBy.tuiSortBy === this.key;\n }\n}\n","import {\n ContentChildren,\n Directive,\n Inject,\n Input,\n Output,\n 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: 3.0 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 = (\n $implicit: T,\n index: number,\n ): {$implicit: T; index: number} => ({$implicit, index});\n\n onClick(): void {\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: `\n <ng-content></ng-content>\n `,\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 AfterContentInit,\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 {Observable} from 'rxjs';\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> implements AfterContentInit {\n @ContentChild(forwardRef(() => TuiThComponent))\n readonly th: unknown;\n\n @ContentChildren(forwardRef(() => TuiHeadDirective))\n readonly heads: QueryList<TuiHeadDirective<T>> = EMPTY_QUERY;\n\n heads$: Observable<Record<any, TuiHeadDirective<T>>> | null = null;\n\n constructor(\n @Inject(forwardRef(() => TuiTableDirective))\n readonly table: TuiTableDirective<T>,\n ) {}\n\n ngAfterContentInit(): void {\n this.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}\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-table-components-table.js","sources":["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","ng://@taiga-ui/addon-table/components/table/taiga-ui-addon-table-components-table.ts"],"sourcesContent":["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(\n @Inject(TemplateRef) readonly template: TemplateRef<Record<string, unknown>>,\n ) {}\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(\n @Inject(TemplateRef) readonly template: TemplateRef<Record<string, unknown>>,\n ) {}\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: unknown,\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\n// eslint-disable-next-line @typescript-eslint/naming-convention\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: 3.0 remove in ivy compilation\nexport const TABLE_THRESHOLD = [0, 1];\nexport const TABLE_LABEL = {\n labelOutside: true,\n};\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\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: 3.0 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<string | keyof T> = [];\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeL | TuiSizeS = '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): void {\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(): void {\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): void {\n this.width = width;\n }\n}\n","import {Directive, DoCheck, forwardRef, Inject, OnInit} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\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, OnInit {\n constructor(\n @Inject(forwardRef(() => TuiSortByDirective))\n private readonly sortBy: TuiSortByDirective<T>,\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n @Inject(TuiThComponent) private readonly th: TuiThComponent<T>,\n ) {}\n\n sorter: TuiComparator<T> = (): number => 0;\n\n get key(): keyof T {\n return this.th.key;\n }\n\n ngOnInit(): void {\n this.sorter = this.match ? this.table.sorter : this.sorter;\n this.th.sorter = this.sorter;\n }\n\n ngDoCheck(): void {\n if (this.match && this.table.sorter !== this.sorter) {\n this.table.updateSorter(this.sorter);\n }\n }\n\n private get match(): boolean {\n return this.sortBy.tuiSortBy === this.key;\n }\n}\n","import {\n ContentChildren,\n Directive,\n Inject,\n Input,\n Output,\n 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: string | keyof T | 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: 3.0 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 = (\n $implicit: T,\n index: number,\n ): {$implicit: T; index: number} => ({$implicit, index});\n\n onClick(): void {\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: `\n <ng-content></ng-content>\n `,\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 AfterContentInit,\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 {Observable} from 'rxjs';\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> implements AfterContentInit {\n @ContentChild(forwardRef(() => TuiThComponent))\n readonly th: unknown;\n\n @ContentChildren(forwardRef(() => TuiHeadDirective))\n readonly heads: QueryList<TuiHeadDirective<T>> = EMPTY_QUERY;\n\n heads$: Observable<Record<any, TuiHeadDirective<T>>> | null = null;\n\n constructor(\n @Inject(forwardRef(() => TuiTableDirective))\n readonly table: TuiTableDirective<T>,\n ) {}\n\n ngAfterContentInit(): void {\n this.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}\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ var TuiGenericFilterDirective = /** @class */ (function (_super) {
29
29
  ], TuiGenericFilterDirective.prototype, "tuiGenericFilter", void 0);
30
30
  TuiGenericFilterDirective = TuiGenericFilterDirective_1 = __decorate([
31
31
  Directive({
32
- selector: "[tuiGenericFilter]",
32
+ selector: '[tuiGenericFilter]',
33
33
  providers: [
34
34
  {
35
35
  provide: AbstractTuiTableFilter,
@@ -69,7 +69,7 @@ var TuiTableFiltersDirective = /** @class */ (function () {
69
69
  };
70
70
  TuiTableFiltersDirective = __decorate([
71
71
  Directive({
72
- selector: "[tuiTableFilters]",
72
+ selector: '[tuiTableFilters]',
73
73
  })
74
74
  ], TuiTableFiltersDirective);
75
75
  return TuiTableFiltersDirective;
@@ -114,7 +114,7 @@ var TuiTableFilterDirective = /** @class */ (function () {
114
114
  ], TuiTableFilterDirective.prototype, "tuiTableFilter", void 0);
115
115
  TuiTableFilterDirective = __decorate([
116
116
  Directive({
117
- selector: "[tuiTableFilter]",
117
+ selector: '[tuiTableFilter]',
118
118
  }),
119
119
  __param(0, Optional()),
120
120
  __param(0, Inject(TuiHeadDirective)),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-table-directives-table-filters.js","sources":["ng://@taiga-ui/addon-table/directives/table-filters/abstract-table-filter.ts","ng://@taiga-ui/addon-table/directives/table-filters/generic-filter.directive.ts","ng://@taiga-ui/addon-table/directives/table-filters/table-filters.directive.ts","ng://@taiga-ui/addon-table/directives/table-filters/table-filter.directive.ts","ng://@taiga-ui/addon-table/directives/table-filters/table-filters.pipe.ts","ng://@taiga-ui/addon-table/directives/table-filters/table-filters.module.ts","ng://@taiga-ui/addon-table/directives/table-filters/taiga-ui-addon-table-directives-table-filters.ts"],"sourcesContent":["export abstract class AbstractTuiTableFilter<T, G> {\n abstract filter(item: T, value: G): boolean;\n}\n","import {Directive, Input} from '@angular/core';\nimport {ALWAYS_TRUE_HANDLER} from '@taiga-ui/cdk';\n\nimport {AbstractTuiTableFilter} from './abstract-table-filter';\n\n@Directive({\n selector: `[tuiGenericFilter]`,\n providers: [\n {\n provide: AbstractTuiTableFilter,\n useExisting: TuiGenericFilterDirective,\n },\n ],\n})\nexport class TuiGenericFilterDirective<T, G> extends AbstractTuiTableFilter<T, G> {\n @Input()\n tuiGenericFilter: (item: T, value: G) => boolean = ALWAYS_TRUE_HANDLER;\n\n filter(item: T, value: G): boolean {\n return this.tuiGenericFilter(item, value);\n }\n}\n","import {Directive} from '@angular/core';\nimport {identity, merge, Observable, ReplaySubject} from 'rxjs';\nimport {map, startWith, switchMap} from 'rxjs/operators';\n\nimport {TuiTableFilter} from './table-filter';\n\n@Directive({\n selector: `[tuiTableFilters]`,\n})\nexport class TuiTableFiltersDirective<T> {\n private readonly refresh$ = new ReplaySubject<Observable<unknown>>(1);\n\n private filters: ReadonlyArray<TuiTableFilter<T>> = [];\n\n register(filter: TuiTableFilter<T>): void {\n this.filters = this.filters.concat(filter);\n this.update();\n }\n\n unregister(filter: TuiTableFilter<T>): void {\n this.filters = this.filters.filter(item => item !== filter);\n this.update();\n }\n\n filter(items: readonly T[]): Observable<readonly T[]> {\n return this.refresh$.pipe(\n switchMap(identity),\n startWith(null),\n map(() => items.filter(item => this.check(item))),\n );\n }\n\n private check(item: T): boolean {\n return this.filters.every(filter => filter.filter(item));\n }\n\n private update(): void {\n this.refresh$.next(merge(...this.filters.map(({refresh$}) => refresh$)));\n }\n}\n","import {Directive, Inject, Input, OnDestroy, Optional} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiHeadDirective} from '@taiga-ui/addon-table/components';\nimport {defer, EMPTY, merge} from 'rxjs';\nimport {distinctUntilChanged} from 'rxjs/operators';\n\nimport {AbstractTuiTableFilter} from './abstract-table-filter';\nimport {TuiTableFilter} from './table-filter';\nimport {TuiTableFiltersDirective} from './table-filters.directive';\n\n@Directive({\n selector: `[tuiTableFilter]`,\n})\nexport class TuiTableFilterDirective<T> implements OnDestroy, TuiTableFilter<T> {\n @Input()\n tuiTableFilter?: keyof T;\n\n readonly refresh$ = defer(() =>\n merge(\n this.control.valueChanges || EMPTY,\n this.control.statusChanges?.pipe(distinctUntilChanged()) || EMPTY,\n ),\n );\n\n constructor(\n @Optional()\n @Inject(TuiHeadDirective)\n private readonly head: TuiHeadDirective<T> | null,\n @Inject(AbstractTuiTableFilter)\n private readonly delegate: AbstractTuiTableFilter<T[keyof T], any>,\n @Inject(NgControl) private readonly control: NgControl,\n @Inject(TuiTableFiltersDirective) readonly filters: TuiTableFiltersDirective<T>,\n ) {\n this.filters.register(this);\n }\n\n ngOnDestroy(): void {\n this.filters.unregister(this);\n }\n\n filter(item: T): boolean {\n const {disabled, value} = this.control;\n\n return !!disabled || !this.key || this.delegate.filter(item[this.key], value);\n }\n\n private get key(): keyof T | undefined {\n return this.tuiTableFilter || this.head?.tuiHead;\n }\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiTableFiltersDirective} from './table-filters.directive';\n\n@Pipe({\n name: `tuiTableFilters`,\n})\nexport class TuiTableFiltersPipe<T> implements PipeTransform {\n constructor(\n @Inject(TuiTableFiltersDirective)\n private readonly filters: TuiTableFiltersDirective<T>,\n ) {}\n\n transform(items: readonly T[]): Observable<readonly T[]> {\n return this.filters.filter(items);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiGenericFilterDirective} from './generic-filter.directive';\nimport {TuiTableFilterDirective} from './table-filter.directive';\nimport {TuiTableFiltersDirective} from './table-filters.directive';\nimport {TuiTableFiltersPipe} from './table-filters.pipe';\n\n@NgModule({\n declarations: [\n TuiTableFiltersDirective,\n TuiTableFilterDirective,\n TuiTableFiltersPipe,\n TuiGenericFilterDirective,\n ],\n exports: [\n TuiTableFiltersDirective,\n TuiTableFilterDirective,\n TuiTableFiltersPipe,\n TuiGenericFilterDirective,\n ],\n})\nexport class TuiTableFiltersModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-table-directives-table-filters.js","sources":["ng://@taiga-ui/addon-table/directives/table-filters/abstract-table-filter.ts","ng://@taiga-ui/addon-table/directives/table-filters/generic-filter.directive.ts","ng://@taiga-ui/addon-table/directives/table-filters/table-filters.directive.ts","ng://@taiga-ui/addon-table/directives/table-filters/table-filter.directive.ts","ng://@taiga-ui/addon-table/directives/table-filters/table-filters.pipe.ts","ng://@taiga-ui/addon-table/directives/table-filters/table-filters.module.ts","ng://@taiga-ui/addon-table/directives/table-filters/taiga-ui-addon-table-directives-table-filters.ts"],"sourcesContent":["export abstract class AbstractTuiTableFilter<T, G> {\n abstract filter(item: T, value: G): boolean;\n}\n","import {Directive, Input} from '@angular/core';\nimport {ALWAYS_TRUE_HANDLER} from '@taiga-ui/cdk';\n\nimport {AbstractTuiTableFilter} from './abstract-table-filter';\n\n@Directive({\n selector: '[tuiGenericFilter]',\n providers: [\n {\n provide: AbstractTuiTableFilter,\n useExisting: TuiGenericFilterDirective,\n },\n ],\n})\nexport class TuiGenericFilterDirective<T, G> extends AbstractTuiTableFilter<T, G> {\n @Input()\n tuiGenericFilter: (item: T, value: G) => boolean = ALWAYS_TRUE_HANDLER;\n\n filter(item: T, value: G): boolean {\n return this.tuiGenericFilter(item, value);\n }\n}\n","import {Directive} from '@angular/core';\nimport {identity, merge, Observable, ReplaySubject} from 'rxjs';\nimport {map, startWith, switchMap} from 'rxjs/operators';\n\nimport {TuiTableFilter} from './table-filter';\n\n@Directive({\n selector: '[tuiTableFilters]',\n})\nexport class TuiTableFiltersDirective<T> {\n private readonly refresh$ = new ReplaySubject<Observable<unknown>>(1);\n\n private filters: ReadonlyArray<TuiTableFilter<T>> = [];\n\n register(filter: TuiTableFilter<T>): void {\n this.filters = this.filters.concat(filter);\n this.update();\n }\n\n unregister(filter: TuiTableFilter<T>): void {\n this.filters = this.filters.filter(item => item !== filter);\n this.update();\n }\n\n filter(items: readonly T[]): Observable<readonly T[]> {\n return this.refresh$.pipe(\n switchMap(identity),\n startWith(null),\n map(() => items.filter(item => this.check(item))),\n );\n }\n\n private check(item: T): boolean {\n return this.filters.every(filter => filter.filter(item));\n }\n\n private update(): void {\n this.refresh$.next(merge(...this.filters.map(({refresh$}) => refresh$)));\n }\n}\n","import {Directive, Inject, Input, OnDestroy, Optional} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiHeadDirective} from '@taiga-ui/addon-table/components';\nimport {defer, EMPTY, merge} from 'rxjs';\nimport {distinctUntilChanged} from 'rxjs/operators';\n\nimport {AbstractTuiTableFilter} from './abstract-table-filter';\nimport {TuiTableFilter} from './table-filter';\nimport {TuiTableFiltersDirective} from './table-filters.directive';\n\n@Directive({\n selector: '[tuiTableFilter]',\n})\nexport class TuiTableFilterDirective<T> implements OnDestroy, TuiTableFilter<T> {\n @Input()\n tuiTableFilter?: keyof T;\n\n readonly refresh$ = defer(() =>\n merge(\n this.control.valueChanges || EMPTY,\n this.control.statusChanges?.pipe(distinctUntilChanged()) || EMPTY,\n ),\n );\n\n constructor(\n @Optional()\n @Inject(TuiHeadDirective)\n private readonly head: TuiHeadDirective<T> | null,\n @Inject(AbstractTuiTableFilter)\n private readonly delegate: AbstractTuiTableFilter<T[keyof T], any>,\n @Inject(NgControl) private readonly control: NgControl,\n @Inject(TuiTableFiltersDirective) readonly filters: TuiTableFiltersDirective<T>,\n ) {\n this.filters.register(this);\n }\n\n ngOnDestroy(): void {\n this.filters.unregister(this);\n }\n\n filter(item: T): boolean {\n const {disabled, value} = this.control;\n\n return !!disabled || !this.key || this.delegate.filter(item[this.key], value);\n }\n\n private get key(): keyof T | undefined {\n return this.tuiTableFilter || this.head?.tuiHead;\n }\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiTableFiltersDirective} from './table-filters.directive';\n\n@Pipe({\n name: `tuiTableFilters`,\n})\nexport class TuiTableFiltersPipe<T> implements PipeTransform {\n constructor(\n @Inject(TuiTableFiltersDirective)\n private readonly filters: TuiTableFiltersDirective<T>,\n ) {}\n\n transform(items: readonly T[]): Observable<readonly T[]> {\n return this.filters.filter(items);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiGenericFilterDirective} from './generic-filter.directive';\nimport {TuiTableFilterDirective} from './table-filter.directive';\nimport {TuiTableFiltersDirective} from './table-filters.directive';\nimport {TuiTableFiltersPipe} from './table-filters.pipe';\n\n@NgModule({\n declarations: [\n TuiTableFiltersDirective,\n TuiTableFilterDirective,\n TuiTableFiltersPipe,\n TuiGenericFilterDirective,\n ],\n exports: [\n TuiTableFiltersDirective,\n TuiTableFilterDirective,\n TuiTableFiltersPipe,\n TuiGenericFilterDirective,\n ],\n})\nexport class TuiTableFiltersModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/addon-table",
3
- "version": "2.74.0",
3
+ "version": "2.76.0",
4
4
  "description": "A library to display tabled data with filters, search, group actions, etc.",
5
5
  "keywords": [
6
6
  "angular",
@@ -17,9 +17,9 @@
17
17
  "@angular/common": ">=9.0.0",
18
18
  "@angular/core": ">=9.0.0",
19
19
  "@ng-web-apis/intersection-observer": ">=2.1.0 < 3",
20
- "@taiga-ui/cdk": ">=2.74.0",
21
- "@taiga-ui/core": ">=2.74.0",
22
- "@taiga-ui/i18n": ">=2.74.0",
20
+ "@taiga-ui/cdk": ">=2.76.0",
21
+ "@taiga-ui/core": ">=2.76.0",
22
+ "@taiga-ui/i18n": ">=2.76.0",
23
23
  "@tinkoff/ng-polymorpheus": ">=3.1.12 < 4",
24
24
  "rxjs": ">=6.0.0"
25
25
  },