@taiga-ui/addon-table 2.55.0 → 2.58.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 (110) hide show
  1. package/bundles/taiga-ui-addon-table-components-reorder.umd.js +5 -5
  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 +1 -1
  4. package/bundles/taiga-ui-addon-table-components-reorder.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-addon-table-components-resizable-column.umd.js +8 -8
  6. package/bundles/taiga-ui-addon-table-components-resizable-column.umd.js.map +1 -1
  7. package/bundles/taiga-ui-addon-table-components-resizable-column.umd.min.js +1 -1
  8. package/bundles/taiga-ui-addon-table-components-resizable-column.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-addon-table-components-table-pagination.umd.js +2 -2
  10. package/bundles/taiga-ui-addon-table-components-table-pagination.umd.js.map +1 -1
  11. package/bundles/taiga-ui-addon-table-components-table-pagination.umd.min.js.map +1 -1
  12. package/bundles/taiga-ui-addon-table-components-table.umd.js +37 -37
  13. package/bundles/taiga-ui-addon-table-components-table.umd.js.map +1 -1
  14. package/bundles/taiga-ui-addon-table-components-table.umd.min.js +1 -1
  15. package/bundles/taiga-ui-addon-table-components-table.umd.min.js.map +1 -1
  16. package/bundles/taiga-ui-addon-table-directives-table-filters.umd.js +4 -4
  17. package/bundles/taiga-ui-addon-table-directives-table-filters.umd.js.map +1 -1
  18. package/bundles/taiga-ui-addon-table-directives-table-filters.umd.min.js.map +1 -1
  19. package/bundles/taiga-ui-addon-table-tokens.umd.js +3 -3
  20. package/bundles/taiga-ui-addon-table-tokens.umd.js.map +1 -1
  21. package/bundles/taiga-ui-addon-table-tokens.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-addon-table-utils.umd.js +1 -1
  23. package/bundles/taiga-ui-addon-table-utils.umd.js.map +1 -1
  24. package/bundles/taiga-ui-addon-table-utils.umd.min.js.map +1 -1
  25. package/components/reorder/taiga-ui-addon-table-components-reorder.metadata.json +1 -1
  26. package/components/resizable-column/taiga-ui-addon-table-components-resizable-column.metadata.json +1 -1
  27. package/components/table/taiga-ui-addon-table-components-table.metadata.json +1 -1
  28. package/esm2015/components/reorder/reorder.component.js +6 -6
  29. package/esm2015/components/resizable-column/resizable-column.component.js +5 -5
  30. package/esm2015/components/resizable-column/resizable-column.directive.js +4 -4
  31. package/esm2015/components/table/directives/cell.directive.js +3 -3
  32. package/esm2015/components/table/directives/head.directive.js +2 -2
  33. package/esm2015/components/table/directives/resized.directive.js +4 -4
  34. package/esm2015/components/table/directives/row.directive.js +2 -2
  35. package/esm2015/components/table/directives/sort-by.directive.js +2 -2
  36. package/esm2015/components/table/directives/sortable.directive.js +2 -2
  37. package/esm2015/components/table/directives/table.directive.js +7 -7
  38. package/esm2015/components/table/directives/thead.directive.js +4 -4
  39. package/esm2015/components/table/pipes/table-sort.pipe.js +2 -2
  40. package/esm2015/components/table/providers/stuck.provider.js +3 -3
  41. package/esm2015/components/table/providers/table.providers.js +3 -3
  42. package/esm2015/components/table/tbody/tbody.component.js +5 -5
  43. package/esm2015/components/table/td/td.component.js +6 -4
  44. package/esm2015/components/table/th/th.component.js +5 -5
  45. package/esm2015/components/table/th-group/th-group.component.js +2 -2
  46. package/esm2015/components/table/tr/tr.component.js +2 -2
  47. package/esm2015/components/table-pagination/table-pagination-options.js +2 -2
  48. package/esm2015/components/table-pagination/table-pagination.component.js +2 -2
  49. package/esm2015/directives/table-filters/generic-filter.directive.js +2 -2
  50. package/esm2015/directives/table-filters/table-filter.directive.js +2 -2
  51. package/esm2015/directives/table-filters/table-filters.directive.js +2 -2
  52. package/esm2015/directives/table-filters/table-filters.pipe.js +2 -2
  53. package/esm2015/tokens/i18n.js +4 -4
  54. package/esm2015/utils/default-sort.js +2 -2
  55. package/esm5/components/reorder/reorder.component.js +6 -6
  56. package/esm5/components/resizable-column/resizable-column.component.js +5 -5
  57. package/esm5/components/resizable-column/resizable-column.directive.js +5 -5
  58. package/esm5/components/table/directives/cell.directive.js +3 -3
  59. package/esm5/components/table/directives/head.directive.js +2 -2
  60. package/esm5/components/table/directives/resized.directive.js +5 -5
  61. package/esm5/components/table/directives/row.directive.js +2 -2
  62. package/esm5/components/table/directives/sort-by.directive.js +2 -2
  63. package/esm5/components/table/directives/sortable.directive.js +2 -2
  64. package/esm5/components/table/directives/table.directive.js +7 -7
  65. package/esm5/components/table/directives/thead.directive.js +4 -4
  66. package/esm5/components/table/pipes/table-sort.pipe.js +2 -2
  67. package/esm5/components/table/providers/stuck.provider.js +3 -3
  68. package/esm5/components/table/providers/table.providers.js +3 -3
  69. package/esm5/components/table/tbody/tbody.component.js +5 -5
  70. package/esm5/components/table/td/td.component.js +4 -4
  71. package/esm5/components/table/th/th.component.js +5 -5
  72. package/esm5/components/table/th-group/th-group.component.js +2 -2
  73. package/esm5/components/table/tr/tr.component.js +2 -2
  74. package/esm5/components/table-pagination/table-pagination-options.js +2 -2
  75. package/esm5/components/table-pagination/table-pagination.component.js +2 -2
  76. package/esm5/directives/table-filters/generic-filter.directive.js +2 -2
  77. package/esm5/directives/table-filters/table-filter.directive.js +2 -2
  78. package/esm5/directives/table-filters/table-filters.directive.js +2 -2
  79. package/esm5/directives/table-filters/table-filters.pipe.js +2 -2
  80. package/esm5/tokens/i18n.js +4 -4
  81. package/esm5/utils/default-sort.js +2 -2
  82. package/fesm2015/taiga-ui-addon-table-components-reorder.js +5 -5
  83. package/fesm2015/taiga-ui-addon-table-components-reorder.js.map +1 -1
  84. package/fesm2015/taiga-ui-addon-table-components-resizable-column.js +7 -7
  85. package/fesm2015/taiga-ui-addon-table-components-resizable-column.js.map +1 -1
  86. package/fesm2015/taiga-ui-addon-table-components-table-pagination.js +2 -2
  87. package/fesm2015/taiga-ui-addon-table-components-table-pagination.js.map +1 -1
  88. package/fesm2015/taiga-ui-addon-table-components-table.js +38 -36
  89. package/fesm2015/taiga-ui-addon-table-components-table.js.map +1 -1
  90. package/fesm2015/taiga-ui-addon-table-directives-table-filters.js +4 -4
  91. package/fesm2015/taiga-ui-addon-table-directives-table-filters.js.map +1 -1
  92. package/fesm2015/taiga-ui-addon-table-tokens.js +3 -3
  93. package/fesm2015/taiga-ui-addon-table-tokens.js.map +1 -1
  94. package/fesm2015/taiga-ui-addon-table-utils.js +1 -1
  95. package/fesm2015/taiga-ui-addon-table-utils.js.map +1 -1
  96. package/fesm5/taiga-ui-addon-table-components-reorder.js +5 -5
  97. package/fesm5/taiga-ui-addon-table-components-reorder.js.map +1 -1
  98. package/fesm5/taiga-ui-addon-table-components-resizable-column.js +8 -8
  99. package/fesm5/taiga-ui-addon-table-components-resizable-column.js.map +1 -1
  100. package/fesm5/taiga-ui-addon-table-components-table-pagination.js +2 -2
  101. package/fesm5/taiga-ui-addon-table-components-table-pagination.js.map +1 -1
  102. package/fesm5/taiga-ui-addon-table-components-table.js +37 -37
  103. package/fesm5/taiga-ui-addon-table-components-table.js.map +1 -1
  104. package/fesm5/taiga-ui-addon-table-directives-table-filters.js +4 -4
  105. package/fesm5/taiga-ui-addon-table-directives-table-filters.js.map +1 -1
  106. package/fesm5/taiga-ui-addon-table-tokens.js +3 -3
  107. package/fesm5/taiga-ui-addon-table-tokens.js.map +1 -1
  108. package/fesm5/taiga-ui-addon-table-utils.js +1 -1
  109. package/fesm5/taiga-ui-addon-table-utils.js.map +1 -1
  110. package/package.json +4 -4
@@ -13,7 +13,7 @@ function defaultSizeOptionContent({ $implicit }) {
13
13
  const TUI_TABLE_PAGINATION_DEFAULT_OPTIONS = {
14
14
  sizeOptionContent: defaultSizeOptionContent,
15
15
  };
16
- const TUI_TABLE_PAGINATION_OPTIONS = new InjectionToken('Default parameters for TablePagination component', { factory: () => TUI_TABLE_PAGINATION_DEFAULT_OPTIONS });
16
+ const TUI_TABLE_PAGINATION_OPTIONS = new InjectionToken(`Default parameters for TablePagination component`, { factory: () => TUI_TABLE_PAGINATION_DEFAULT_OPTIONS });
17
17
  function tuiTablePaginationOptionsProvider(options) {
18
18
  return {
19
19
  provide: TUI_TABLE_PAGINATION_OPTIONS,
@@ -96,7 +96,7 @@ __decorate([
96
96
  ], TuiTablePaginationComponent.prototype, "sizeChange", void 0);
97
97
  TuiTablePaginationComponent = __decorate([
98
98
  Component({
99
- selector: 'tui-table-pagination',
99
+ selector: `tui-table-pagination`,
100
100
  template: "<ng-container *ngIf=\"texts$ | async as texts\">\n <span class=\"t-pages\">\n {{ texts.pages }}\n <strong class=\"t-strong\">{{ pages }}</strong>\n </span>\n <span automation-id=\"tui-table-pagination__lines-per-page-wrapper\">\n {{ texts.linesPerPage }}\n <tui-hosted-dropdown\n [content]=\"content\"\n [(open)]=\"open\"\n >\n <button tuiLink>\n <strong>{{ start + 1 }}\u2013{{ end }}</strong>\n </button>\n <ng-template #content>\n <tui-data-list>\n <ng-container *ngFor=\"let item of items\">\n <button\n tuiOption\n size=\"s\"\n class=\"t-item\"\n (click)=\"onItem(item)\"\n >\n <span\n polymorpheus-outlet\n [content]=\"options.sizeOptionContent\"\n [context]=\"{$implicit: item, total: total}\"\n ></span>\n <tui-svg\n *ngIf=\"item === size; else fakeIcon\"\n src=\"tuiIconCheckLarge\"\n class=\"t-checkmark\"\n ></tui-svg>\n\n <ng-template #fakeIcon>\n <span class=\"t-checkmark\"></span>\n </ng-template>\n </button>\n </ng-container>\n </tui-data-list>\n </ng-template>\n </tui-hosted-dropdown>\n {{ texts.of }}\n <strong class=\"t-strong\">{{ total }}</strong>\n </span>\n <ng-container *ngIf=\"spinTexts$ | async as spinTexts\">\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"icon\"\n icon=\"tuiIconChevronLeft\"\n class=\"t-back\"\n [disabled]=\"leftDisabled\"\n [title]=\"spinTexts[0]\"\n (click)=\"back()\"\n ></button>\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"icon\"\n icon=\"tuiIconChevronRight\"\n [disabled]=\"rightDisabled\"\n [title]=\"spinTexts[1]\"\n (click)=\"forth()\"\n ></button>\n </ng-container>\n</ng-container>\n",
101
101
  styles: [":host{display:flex;font:var(--tui-font-text-s);align-items:center;color:var(--tui-text-03)}.t-strong{color:var(--tui-text-01)}.t-pages{margin-right:auto}.t-item{min-width:5.5rem;box-sizing:border-box}.t-checkmark{min-width:1.5rem;border-left:5px solid transparent}.t-back{margin:0 .25rem 0 1.5rem}"]
102
102
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-table-components-table-pagination.js","sources":["ng://@taiga-ui/addon-table/components/table-pagination/table-pagination-options.ts","ng://@taiga-ui/addon-table/components/table-pagination/table-pagination.component.ts","ng://@taiga-ui/addon-table/components/table-pagination/table-pagination.module.ts","ng://@taiga-ui/addon-table/components/table-pagination/taiga-ui-addon-table-components-table-pagination.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiTablePaginationOptions {\n readonly sizeOptionContent: PolymorpheusContent<\n TuiContextWithImplicit<number> & {total: number}\n >;\n}\n\nfunction defaultSizeOptionContent({$implicit}: TuiContextWithImplicit<number>): string {\n return `${$implicit}`;\n}\n\nexport const TUI_TABLE_PAGINATION_DEFAULT_OPTIONS: TuiTablePaginationOptions = {\n sizeOptionContent: defaultSizeOptionContent,\n};\n\nexport const TUI_TABLE_PAGINATION_OPTIONS = new InjectionToken(\n 'Default parameters for TablePagination component',\n {factory: () => TUI_TABLE_PAGINATION_DEFAULT_OPTIONS},\n);\n\nexport function tuiTablePaginationOptionsProvider(\n options: Partial<TuiTablePaginationOptions>,\n): ValueProvider {\n return {\n provide: TUI_TABLE_PAGINATION_OPTIONS,\n useValue: {...TUI_TABLE_PAGINATION_DEFAULT_OPTIONS, ...options},\n };\n}\n","import {Component, EventEmitter, Inject, Input, Output} from '@angular/core';\nimport {TUI_TABLE_PAGINATION_TEXTS} from '@taiga-ui/addon-table/tokens';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TUI_SPIN_TEXTS} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {\n TUI_TABLE_PAGINATION_OPTIONS,\n TuiTablePaginationOptions,\n} from './table-pagination-options';\n\n// @dynamic\n@Component({\n selector: 'tui-table-pagination',\n templateUrl: './table-pagination.template.html',\n styleUrls: ['./table-pagination.style.less'],\n})\nexport class TuiTablePaginationComponent {\n @Input()\n @tuiDefaultProp()\n items: readonly number[] = [10, 20, 50, 100];\n\n @Input()\n @tuiDefaultProp()\n total = 0;\n\n @Input()\n @tuiDefaultProp()\n page = 0;\n\n @Input()\n @tuiDefaultProp()\n size = this.items[0];\n\n @Output()\n readonly pageChange = new EventEmitter<number>();\n\n @Output()\n readonly sizeChange = new EventEmitter<number>();\n\n open = false;\n\n constructor(\n @Inject(TUI_SPIN_TEXTS) readonly spinTexts$: Observable<[string, string]>,\n @Inject(TUI_TABLE_PAGINATION_TEXTS)\n readonly texts$: Observable<Record<'pages' | 'linesPerPage' | 'of', string>>,\n @Inject(TUI_TABLE_PAGINATION_OPTIONS) readonly options: TuiTablePaginationOptions,\n ) {}\n\n get pages(): number {\n return Math.ceil(this.total / this.size);\n }\n\n get start(): number {\n return this.page * this.size;\n }\n\n get end(): number {\n return Math.min(this.start + this.size, this.total);\n }\n\n get leftDisabled(): boolean {\n return !this.start;\n }\n\n get rightDisabled(): boolean {\n return this.end === this.total;\n }\n\n onItem(size: number): void {\n const {start} = this;\n\n this.size = size;\n this.sizeChange.emit(size);\n this.open = false;\n this.page = Math.floor(start / this.size);\n this.pageChange.emit(this.page);\n }\n\n back(): void {\n this.page--;\n this.pageChange.emit(this.page);\n }\n\n forth(): void {\n this.page++;\n this.pageChange.emit(this.page);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiButtonModule,\n TuiDataListModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTablePaginationComponent} from './table-pagination.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiButtonModule,\n TuiLinkModule,\n TuiHostedDropdownModule,\n TuiDataListModule,\n TuiSvgModule,\n PolymorpheusModule,\n ],\n declarations: [TuiTablePaginationComponent],\n exports: [TuiTablePaginationComponent],\n})\nexport class TuiTablePaginationModule {}\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-pagination.js","sources":["ng://@taiga-ui/addon-table/components/table-pagination/table-pagination-options.ts","ng://@taiga-ui/addon-table/components/table-pagination/table-pagination.component.ts","ng://@taiga-ui/addon-table/components/table-pagination/table-pagination.module.ts","ng://@taiga-ui/addon-table/components/table-pagination/taiga-ui-addon-table-components-table-pagination.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiTablePaginationOptions {\n readonly sizeOptionContent: PolymorpheusContent<\n TuiContextWithImplicit<number> & {total: number}\n >;\n}\n\nfunction defaultSizeOptionContent({$implicit}: TuiContextWithImplicit<number>): string {\n return `${$implicit}`;\n}\n\nexport const TUI_TABLE_PAGINATION_DEFAULT_OPTIONS: TuiTablePaginationOptions = {\n sizeOptionContent: defaultSizeOptionContent,\n};\n\nexport const TUI_TABLE_PAGINATION_OPTIONS = new InjectionToken(\n `Default parameters for TablePagination component`,\n {factory: () => TUI_TABLE_PAGINATION_DEFAULT_OPTIONS},\n);\n\nexport function tuiTablePaginationOptionsProvider(\n options: Partial<TuiTablePaginationOptions>,\n): ValueProvider {\n return {\n provide: TUI_TABLE_PAGINATION_OPTIONS,\n useValue: {...TUI_TABLE_PAGINATION_DEFAULT_OPTIONS, ...options},\n };\n}\n","import {Component, EventEmitter, Inject, Input, Output} from '@angular/core';\nimport {TUI_TABLE_PAGINATION_TEXTS} from '@taiga-ui/addon-table/tokens';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TUI_SPIN_TEXTS} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {\n TUI_TABLE_PAGINATION_OPTIONS,\n TuiTablePaginationOptions,\n} from './table-pagination-options';\n\n// @dynamic\n@Component({\n selector: `tui-table-pagination`,\n templateUrl: `./table-pagination.template.html`,\n styleUrls: [`./table-pagination.style.less`],\n})\nexport class TuiTablePaginationComponent {\n @Input()\n @tuiDefaultProp()\n items: readonly number[] = [10, 20, 50, 100];\n\n @Input()\n @tuiDefaultProp()\n total = 0;\n\n @Input()\n @tuiDefaultProp()\n page = 0;\n\n @Input()\n @tuiDefaultProp()\n size = this.items[0];\n\n @Output()\n readonly pageChange = new EventEmitter<number>();\n\n @Output()\n readonly sizeChange = new EventEmitter<number>();\n\n open = false;\n\n constructor(\n @Inject(TUI_SPIN_TEXTS) readonly spinTexts$: Observable<[string, string]>,\n @Inject(TUI_TABLE_PAGINATION_TEXTS)\n readonly texts$: Observable<Record<'pages' | 'linesPerPage' | 'of', string>>,\n @Inject(TUI_TABLE_PAGINATION_OPTIONS) readonly options: TuiTablePaginationOptions,\n ) {}\n\n get pages(): number {\n return Math.ceil(this.total / this.size);\n }\n\n get start(): number {\n return this.page * this.size;\n }\n\n get end(): number {\n return Math.min(this.start + this.size, this.total);\n }\n\n get leftDisabled(): boolean {\n return !this.start;\n }\n\n get rightDisabled(): boolean {\n return this.end === this.total;\n }\n\n onItem(size: number): void {\n const {start} = this;\n\n this.size = size;\n this.sizeChange.emit(size);\n this.open = false;\n this.page = Math.floor(start / this.size);\n this.pageChange.emit(this.page);\n }\n\n back(): void {\n this.page--;\n this.pageChange.emit(this.page);\n }\n\n forth(): void {\n this.page++;\n this.pageChange.emit(this.page);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiButtonModule,\n TuiDataListModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTablePaginationComponent} from './table-pagination.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiButtonModule,\n TuiLinkModule,\n TuiHostedDropdownModule,\n TuiDataListModule,\n TuiSvgModule,\n PolymorpheusModule,\n ],\n declarations: [TuiTablePaginationComponent],\n exports: [TuiTablePaginationComponent],\n})\nexport class TuiTablePaginationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ import { NgControl } from '@angular/forms';
14
14
  let TuiCellDirective = class TuiCellDirective {
15
15
  constructor(template) {
16
16
  this.template = template;
17
- this.tuiCell = '';
17
+ this.tuiCell = ``;
18
18
  }
19
19
  };
20
20
  TuiCellDirective.ctorParameters = () => [
@@ -26,7 +26,7 @@ __decorate([
26
26
  ], TuiCellDirective.prototype, "tuiCell", void 0);
27
27
  TuiCellDirective = __decorate([
28
28
  Directive({
29
- selector: '[tuiCell]',
29
+ selector: `[tuiCell]`,
30
30
  }),
31
31
  __param(0, Inject(TemplateRef))
32
32
  ], TuiCellDirective);
@@ -44,7 +44,7 @@ __decorate([
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);
@@ -55,9 +55,9 @@ let TuiResizedDirective = class TuiResizedDirective {
55
55
  this.documentRef = documentRef;
56
56
  this.elementRef = elementRef;
57
57
  this.parentRef = parentRef;
58
- this.tuiResized = typedFromEvent(this.elementRef.nativeElement, 'mousedown').pipe(preventDefault(), switchMap(() => {
58
+ this.tuiResized = typedFromEvent(this.elementRef.nativeElement, `mousedown`).pipe(preventDefault(), switchMap(() => {
59
59
  const { width, right } = this.parentRef.nativeElement.getBoundingClientRect();
60
- return typedFromEvent(this.documentRef, 'mousemove').pipe(distinctUntilChanged(), map(({ clientX }) => width + clientX - right), takeUntil(typedFromEvent(this.documentRef, 'mouseup')));
60
+ return typedFromEvent(this.documentRef, `mousemove`).pipe(distinctUntilChanged(), map(({ clientX }) => width + clientX - right), takeUntil(typedFromEvent(this.documentRef, `mouseup`)));
61
61
  }));
62
62
  }
63
63
  };
@@ -71,7 +71,7 @@ __decorate([
71
71
  ], TuiResizedDirective.prototype, "tuiResized", void 0);
72
72
  TuiResizedDirective = __decorate([
73
73
  Directive({
74
- selector: '[tuiResized]',
74
+ selector: `[tuiResized]`,
75
75
  }),
76
76
  __param(0, Inject(DOCUMENT)),
77
77
  __param(1, Inject(ElementRef)),
@@ -96,7 +96,7 @@ __decorate([
96
96
  ], TuiRowDirective.prototype, "tuiRowOf", void 0);
97
97
  TuiRowDirective = __decorate([
98
98
  Directive({
99
- selector: 'ng-template[tuiRow]',
99
+ selector: `ng-template[tuiRow]`,
100
100
  }),
101
101
  __param(0, Inject(TemplateRef))
102
102
  ], TuiRowDirective);
@@ -104,10 +104,10 @@ TuiRowDirective = __decorate([
104
104
  // eslint-disable-next-line @typescript-eslint/naming-convention
105
105
  function stuckFactory({ nativeElement }, entries$) {
106
106
  const stream$ = entries$.pipe(map(([{ intersectionRatio }]) => intersectionRatio < 1));
107
- nativeElement['$.class._stuck'] = stream$;
107
+ nativeElement[`$.class._stuck`] = stream$;
108
108
  return stream$;
109
109
  }
110
- const TUI_STUCK = new InjectionToken('Stream of sticky stuck events');
110
+ const TUI_STUCK = new InjectionToken(`Stream of sticky stuck events`);
111
111
  const TUI_STUCK_PROVIDER = {
112
112
  provide: TUI_STUCK,
113
113
  deps: [ElementRef, IntersectionObserverService],
@@ -126,7 +126,7 @@ function inputCountOptionsFactory(options) {
126
126
  const TUI_TABLE_PROVIDERS = [
127
127
  {
128
128
  provide: INTERSECTION_ROOT_MARGIN,
129
- useValue: '10000px 10000px 10000px 0px',
129
+ useValue: `10000px 10000px 10000px 0px`,
130
130
  },
131
131
  {
132
132
  provide: INTERSECTION_THRESHOLD,
@@ -135,7 +135,7 @@ const TUI_TABLE_PROVIDERS = [
135
135
  {
136
136
  provide: TUI_TEXTFIELD_APPEARANCE,
137
137
  // TODO: 3.0 remove in ivy compilation
138
- useValue: 'table',
138
+ useValue: `table`,
139
139
  },
140
140
  {
141
141
  provide: TUI_TEXTFIELD_LABEL_OUTSIDE,
@@ -163,7 +163,7 @@ let TuiTableDirective = class TuiTableDirective extends TuiController {
163
163
  this.stuck$ = stuck$;
164
164
  this.changeDetectorRef = changeDetectorRef;
165
165
  this.columns = [];
166
- this.size = 'm';
166
+ this.size = `m`;
167
167
  this.direction = 1;
168
168
  this.directionChange = new EventEmitter();
169
169
  this.sorterChange = new EventEmitter();
@@ -198,7 +198,7 @@ __decorate([
198
198
  ], TuiTableDirective.prototype, "columns", void 0);
199
199
  __decorate([
200
200
  Input(),
201
- HostBinding('attr.data-size'),
201
+ HostBinding(`attr.data-size`),
202
202
  tuiDefaultProp()
203
203
  ], TuiTableDirective.prototype, "size", void 0);
204
204
  __decorate([
@@ -217,12 +217,12 @@ __decorate([
217
217
  ], TuiTableDirective.prototype, "sorter", void 0);
218
218
  TuiTableDirective = __decorate([
219
219
  Directive({
220
- selector: 'table[tuiTable]',
220
+ selector: `table[tuiTable]`,
221
221
  providers: TUI_TABLE_PROVIDERS,
222
222
  host: {
223
- '($.data-mode.attr)': 'mode$',
224
- '($.class._stuck)': 'stuck$',
225
- style: 'border-collapse: separate',
223
+ '($.data-mode.attr)': `mode$`,
224
+ '($.class._stuck)': `stuck$`,
225
+ style: `border-collapse: separate`,
226
226
  },
227
227
  }),
228
228
  __param(0, Inject(IntersectionObserverService)),
@@ -252,7 +252,7 @@ let TuiThComponent = class TuiThComponent {
252
252
  return !!this.sorter && !!this.table && this.sorter === this.table.sorter;
253
253
  }
254
254
  get icon() {
255
- return this.isCurrent ? 'tuiIconSortDown' : 'tuiIconSortOff';
255
+ return this.isCurrent ? `tuiIconSortDown` : `tuiIconSortOff`;
256
256
  }
257
257
  onResized(width) {
258
258
  this.width = width;
@@ -272,15 +272,15 @@ __decorate([
272
272
  ], TuiThComponent.prototype, "resizable", void 0);
273
273
  __decorate([
274
274
  Input(),
275
- HostBinding('class._sticky'),
275
+ HostBinding(`class._sticky`),
276
276
  tuiDefaultProp()
277
277
  ], TuiThComponent.prototype, "sticky", void 0);
278
278
  __decorate([
279
- HostBinding('style.width.px')
279
+ HostBinding(`style.width.px`)
280
280
  ], TuiThComponent.prototype, "width", void 0);
281
281
  TuiThComponent = __decorate([
282
282
  Component({
283
- selector: 'th[tuiTh]',
283
+ selector: `th[tuiTh]`,
284
284
  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",
285
285
  changeDetection: ChangeDetectionStrategy.OnPush,
286
286
  providers: [
@@ -327,7 +327,7 @@ TuiSortableDirective.ctorParameters = () => [
327
327
  ];
328
328
  TuiSortableDirective = __decorate([
329
329
  Directive({
330
- selector: 'th[tuiTh][tuiSortable]',
330
+ selector: `th[tuiTh][tuiSortable]`,
331
331
  }),
332
332
  __param(0, Inject(forwardRef(() => TuiSortByDirective))),
333
333
  __param(1, Inject(TuiTableDirective)),
@@ -361,7 +361,7 @@ __decorate([
361
361
  ], TuiSortByDirective.prototype, "tuiSortByChange", void 0);
362
362
  TuiSortByDirective = __decorate([
363
363
  Directive({
364
- selector: 'table[tuiTable][tuiSortBy]',
364
+ selector: `table[tuiTable][tuiSortBy]`,
365
365
  }),
366
366
  __param(0, Inject(TuiTableDirective))
367
367
  ], TuiSortByDirective);
@@ -376,17 +376,17 @@ TuiTheadDirective.ctorParameters = () => [
376
376
  ];
377
377
  TuiTheadDirective = __decorate([
378
378
  Directive({
379
- selector: 'thead[tuiThead]',
379
+ selector: `thead[tuiThead]`,
380
380
  providers: [
381
381
  TUI_STUCK_PROVIDER,
382
382
  IntersectionObserverService,
383
383
  {
384
384
  provide: INTERSECTION_ROOT_MARGIN,
385
- useValue: '0px 10000px 10000px 10000px',
385
+ useValue: `0px 10000px 10000px 10000px`,
386
386
  },
387
387
  ],
388
388
  host: {
389
- '($.class._stuck)': 'stuck$',
389
+ '($.class._stuck)': `stuck$`,
390
390
  },
391
391
  }),
392
392
  __param(0, Inject(TUI_STUCK))
@@ -411,7 +411,7 @@ __decorate([
411
411
  ], TuiTableSortPipe.prototype, "sort", null);
412
412
  TuiTableSortPipe = __decorate([
413
413
  Pipe({
414
- name: 'tuiTableSort',
414
+ name: `tuiTableSort`,
415
415
  pure: false,
416
416
  }),
417
417
  __param(0, Inject(TuiTableDirective))
@@ -447,7 +447,7 @@ __decorate([
447
447
  ], TuiTrComponent.prototype, "cells", void 0);
448
448
  TuiTrComponent = __decorate([
449
449
  Component({
450
- selector: 'tr[tuiTr]',
450
+ selector: `tr[tuiTr]`,
451
451
  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",
452
452
  changeDetection: ChangeDetectionStrategy.OnPush,
453
453
  providers: [TUI_TABLE_PROVIDER]
@@ -461,7 +461,7 @@ let TuiTbodyComponent = class TuiTbodyComponent {
461
461
  this.pipe = pipe;
462
462
  this.table = table;
463
463
  this.data = [];
464
- this.heading = '';
464
+ this.heading = ``;
465
465
  this.open = true;
466
466
  this.openChange = new EventEmitter();
467
467
  this.rows = EMPTY_QUERY;
@@ -502,11 +502,11 @@ __decorate([
502
502
  ], TuiTbodyComponent.prototype, "rows", void 0);
503
503
  TuiTbodyComponent = __decorate([
504
504
  Component({
505
- selector: 'tbody[tuiTbody]',
506
- template: "<ng-content></ng-content>\n<tr *ngIf=\"heading\">\n <th\n class=\"heading\"\n [colSpan]=\"table.columns.length\"\n >\n <button\n type=\"button\"\n class=\"expand\"\n (click)=\"onClick()\"\n >\n <span\n polymorpheus-outlet\n class=\"name\"\n [content]=\"heading\"\n ></span>\n <tui-svg\n src=\"tuiIconChevronDownLarge\"\n class=\"chevron\"\n [class.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",
505
+ selector: `tbody[tuiTbody]`,
506
+ 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",
507
507
  changeDetection: ChangeDetectionStrategy.OnPush,
508
508
  providers: TUI_TABLE_PROVIDER,
509
- styles: [":host{border-color:var(--tui-base-04)}:host tr{border-color:inherit}.expand{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;display:flex;width:100%;height:100%;align-items:center;box-sizing:border-box;outline:0;font-weight:700;cursor:pointer;border-color:inherit}.expand:focus-visible .name{background:var(--tui-selection)}.expand:after,.expand:before{content:'';position:-webkit-sticky;position:sticky;height:100%;border-left:1px solid;border-color:inherit}.expand:before{left:0}.expand:after{right:0}.heading{height:var(--tui-height-m);font:var(--tui-font-text-s);padding:0;background:var(--tui-base-02);border-bottom:1px solid var(--tui-base-04);border-color:inherit}:host-context(table[data-size='l']) .heading{font:var(--tui-font-text-m);height:var(--tui-height-l)}.name{position:-webkit-sticky;position:sticky;left:.75rem;display:inline-block}:host-context(table[data-size='l']) .name{left:1rem}.chevron{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:-webkit-sticky;position:sticky;right:.75rem;margin:0 .6875rem 0 auto}.chevron_rotated{transform:rotate(180deg)}"]
509
+ styles: [":host{border-color:var(--tui-base-04)}:host tr{border-color:inherit}.t-expand{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;display:flex;width:100%;height:100%;align-items:center;box-sizing:border-box;outline:0;font-weight:700;cursor:pointer;border-color:inherit}.t-expand:focus-visible .t-name{background:var(--tui-selection)}.t-expand:after,.t-expand:before{content:'';position:-webkit-sticky;position:sticky;height:100%;border-left:1px solid;border-color:inherit}.t-expand:before{left:0}.t-expand:after{right:0}.t-heading{height:var(--tui-height-m);font:var(--tui-font-text-s);padding:0;background:var(--tui-base-02);border-bottom:1px solid var(--tui-base-04);border-color:inherit}:host-context(table[data-size='l']) .t-heading{font:var(--tui-font-text-m);height:var(--tui-height-l)}.t-name{position:-webkit-sticky;position:sticky;left:.75rem;display:inline-block}:host-context(table[data-size='l']) .t-name{left:1rem}.t-chevron{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:-webkit-sticky;position:sticky;right:.75rem;margin:0 .6875rem 0 auto}.t-chevron_rotated{transform:rotate(180deg)}"]
510
510
  }),
511
511
  __param(0, Inject(TuiTableSortPipe)),
512
512
  __param(1, Inject(forwardRef(() => TuiTableDirective)))
@@ -515,13 +515,15 @@ TuiTbodyComponent = __decorate([
515
515
  let TuiTdComponent = class TuiTdComponent {
516
516
  };
517
517
  __decorate([
518
- HostBinding('class._editable'),
518
+ HostBinding(`class._editable`),
519
519
  ContentChild(NgControl)
520
520
  ], TuiTdComponent.prototype, "control", void 0);
521
521
  TuiTdComponent = __decorate([
522
522
  Component({
523
- selector: 'th[tuiTd], td[tuiTd]',
524
- template: '<ng-content></ng-content>',
523
+ selector: `th[tuiTd], td[tuiTd]`,
524
+ template: `
525
+ <ng-content></ng-content>
526
+ `,
525
527
  changeDetection: ChangeDetectionStrategy.OnPush,
526
528
  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}"]
527
529
  })
@@ -545,7 +547,7 @@ __decorate([
545
547
  ], TuiThGroupComponent.prototype, "heads", void 0);
546
548
  TuiThGroupComponent = __decorate([
547
549
  Component({
548
- selector: 'tr[tuiThGroup]',
550
+ selector: `tr[tuiThGroup]`,
549
551
  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",
550
552
  changeDetection: ChangeDetectionStrategy.OnPush,
551
553
  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: '<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","/**\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<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 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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ __decorate([
24
24
  ], TuiGenericFilterDirective.prototype, "tuiGenericFilter", void 0);
25
25
  TuiGenericFilterDirective = TuiGenericFilterDirective_1 = __decorate([
26
26
  Directive({
27
- selector: '[tuiGenericFilter]',
27
+ selector: `[tuiGenericFilter]`,
28
28
  providers: [
29
29
  {
30
30
  provide: AbstractTuiTableFilter,
@@ -59,7 +59,7 @@ let TuiTableFiltersDirective = class TuiTableFiltersDirective {
59
59
  };
60
60
  TuiTableFiltersDirective = __decorate([
61
61
  Directive({
62
- selector: '[tuiTableFilters]',
62
+ selector: `[tuiTableFilters]`,
63
63
  })
64
64
  ], TuiTableFiltersDirective);
65
65
 
@@ -98,7 +98,7 @@ __decorate([
98
98
  ], TuiTableFilterDirective.prototype, "tuiTableFilter", void 0);
99
99
  TuiTableFilterDirective = __decorate([
100
100
  Directive({
101
- selector: '[tuiTableFilter]',
101
+ selector: `[tuiTableFilter]`,
102
102
  }),
103
103
  __param(0, Optional()),
104
104
  __param(0, Inject(TuiHeadDirective)),
@@ -120,7 +120,7 @@ TuiTableFiltersPipe.ctorParameters = () => [
120
120
  ];
121
121
  TuiTableFiltersPipe = __decorate([
122
122
  Pipe({
123
- name: 'tuiTableFilters',
123
+ name: `tuiTableFilters`,
124
124
  }),
125
125
  __param(0, Inject(TuiTableFiltersDirective))
126
126
  ], TuiTableFiltersPipe);
@@ -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":";;;;;;;;MAAsB,sBAAsB;;;;ICc/B,yBAAyB,iCAAtC,MAAa,yBAAgC,SAAQ,sBAA4B;IAAjF;;QAEI,qBAAgB,GAAmC,mBAAmB,CAAC;KAK1E;IAHG,MAAM,CAAC,IAAO,EAAE,KAAQ;QACpB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAC7C;EACJ;AALG;IADC,KAAK,EAAE;mEAC+D;AAF9D,yBAAyB;IATrC,SAAS,CAAC;QACP,QAAQ,EAAE,oBAAoB;QAC9B,SAAS,EAAE;YACP;gBACI,OAAO,EAAE,sBAAsB;gBAC/B,WAAW,EAAE,2BAAyB;aACzC;SACJ;KACJ,CAAC;GACW,yBAAyB,CAOrC;;ICZY,wBAAwB,GAArC,MAAa,wBAAwB;IAArC;QACqB,aAAQ,GAAG,IAAI,aAAa,CAAsB,CAAC,CAAC,CAAC;QAE9D,YAAO,GAAqC,EAAE,CAAC;KA2B1D;IAzBG,QAAQ,CAAC,MAAyB;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;KACjB;IAED,UAAU,CAAC,MAAyB;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,EAAE,CAAC;KACjB;IAED,MAAM,CAAC,KAAmB;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CACrB,SAAS,CAAC,QAAQ,CAAC,EACnB,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CACpD,CAAC;KACL;IAEO,KAAK,CAAC,IAAO;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;KAC5D;IAEO,MAAM;QACV,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAC,QAAQ,EAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC;KAC5E;EACJ;AA9BY,wBAAwB;IAHpC,SAAS,CAAC;QACP,QAAQ,EAAE,mBAAmB;KAChC,CAAC;GACW,wBAAwB,CA8BpC;;IC1BY,uBAAuB,GAApC,MAAa,uBAAuB;IAWhC,YAGqB,IAAgC,EAEhC,QAAiD,EAC9B,OAAkB,EACX,OAAoC;QAJ9D,SAAI,GAAJ,IAAI,CAA4B;QAEhC,aAAQ,GAAR,QAAQ,CAAyC;QAC9B,YAAO,GAAP,OAAO,CAAW;QACX,YAAO,GAAP,OAAO,CAA6B;QAd1E,aAAQ,GAAG,KAAK,CAAC;;YACtB,OAAA,KAAK,CACD,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,KAAK,EAClC,OAAA,IAAI,CAAC,OAAO,CAAC,aAAa,0CAAE,IAAI,CAAC,oBAAoB,EAAE,MAAK,KAAK,CACpE,CAAA;SAAA,CACJ,CAAC;QAWE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,WAAW;QACP,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KACjC;IAED,MAAM,CAAC,IAAO;QACV,MAAM,EAAC,QAAQ,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAEvC,OAAO,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;KACjF;IAED,IAAY,GAAG;;QACX,OAAO,IAAI,CAAC,cAAc,WAAI,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAA,CAAC;KACpD;EACJ;;YAtB8B,gBAAgB,uBAFtC,QAAQ,YACR,MAAM,SAAC,gBAAgB;YAGG,sBAAsB,uBADhD,MAAM,SAAC,sBAAsB;YAEe,SAAS,uBAArD,MAAM,SAAC,SAAS;YACmC,wBAAwB,uBAA3E,MAAM,SAAC,wBAAwB;;AAhBpC;IADC,KAAK,EAAE;+DACiB;AAFhB,uBAAuB;IAHnC,SAAS,CAAC;QACP,QAAQ,EAAE,kBAAkB;KAC/B,CAAC;IAaO,WAAA,QAAQ,EAAE,CAAA;IACV,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAExB,WAAA,MAAM,CAAC,sBAAsB,CAAC,CAAA;IAE9B,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;IACjB,WAAA,MAAM,CAAC,wBAAwB,CAAC,CAAA;GAlB5B,uBAAuB,CAoCnC;;ICzCY,mBAAmB,GAAhC,MAAa,mBAAmB;IAC5B,YAEqB,OAAoC;QAApC,YAAO,GAAP,OAAO,CAA6B;KACrD;IAEJ,SAAS,CAAC,KAAmB;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACrC;EACJ;;YANiC,wBAAwB,uBADjD,MAAM,SAAC,wBAAwB;;AAF3B,mBAAmB;IAH/B,IAAI,CAAC;QACF,IAAI,EAAE,iBAAiB;KAC1B,CAAC;IAGO,WAAA,MAAM,CAAC,wBAAwB,CAAC,CAAA;GAF5B,mBAAmB,CAS/B;;ICIY,qBAAqB,GAAlC,MAAa,qBAAqB;EAAG;AAAxB,qBAAqB;IAdjC,QAAQ,CAAC;QACN,YAAY,EAAE;YACV,wBAAwB;YACxB,uBAAuB;YACvB,mBAAmB;YACnB,yBAAyB;SAC5B;QACD,OAAO,EAAE;YACL,wBAAwB;YACxB,uBAAuB;YACvB,mBAAmB;YACnB,yBAAyB;SAC5B;KACJ,CAAC;GACW,qBAAqB,CAAG;;ACrBrC;;;;;;"}
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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"}
@@ -2,10 +2,10 @@ import { InjectionToken } from '@angular/core';
2
2
  import { extractI18n } from '@taiga-ui/i18n';
3
3
 
4
4
  const TUI_TABLE_SHOW_HIDE_MESSAGE = new InjectionToken(`tui-reorder i18n button`, {
5
- factory: extractI18n('showHideText'),
5
+ factory: extractI18n(`showHideText`),
6
6
  });
7
- const TUI_TABLE_PAGINATION_TEXTS = new InjectionToken('tui-table-pagination i18n texts', {
8
- factory: extractI18n('paginationTexts'),
7
+ const TUI_TABLE_PAGINATION_TEXTS = new InjectionToken(`tui-table-pagination i18n texts`, {
8
+ factory: extractI18n(`paginationTexts`),
9
9
  });
10
10
 
11
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-table-tokens.js","sources":["ng://@taiga-ui/addon-table/tokens/i18n.ts","ng://@taiga-ui/addon-table/tokens/taiga-ui-addon-table-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {extractI18n} from '@taiga-ui/i18n';\n\nexport const TUI_TABLE_SHOW_HIDE_MESSAGE = new InjectionToken(`tui-reorder i18n button`, {\n factory: extractI18n('showHideText'),\n});\n\nexport const TUI_TABLE_PAGINATION_TEXTS = new InjectionToken(\n 'tui-table-pagination i18n texts',\n {\n factory: extractI18n('paginationTexts'),\n },\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAGa,2BAA2B,GAAG,IAAI,cAAc,CAAC,yBAAyB,EAAE;IACrF,OAAO,EAAE,WAAW,CAAC,cAAc,CAAC;CACvC,EAAE;MAEU,0BAA0B,GAAG,IAAI,cAAc,CACxD,iCAAiC,EACjC;IACI,OAAO,EAAE,WAAW,CAAC,iBAAiB,CAAC;CAC1C;;ACXL;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-table-tokens.js","sources":["ng://@taiga-ui/addon-table/tokens/i18n.ts","ng://@taiga-ui/addon-table/tokens/taiga-ui-addon-table-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {extractI18n} from '@taiga-ui/i18n';\n\nexport const TUI_TABLE_SHOW_HIDE_MESSAGE = new InjectionToken(`tui-reorder i18n button`, {\n factory: extractI18n(`showHideText`),\n});\n\nexport const TUI_TABLE_PAGINATION_TEXTS = new InjectionToken(\n `tui-table-pagination i18n texts`,\n {\n factory: extractI18n(`paginationTexts`),\n },\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAGa,2BAA2B,GAAG,IAAI,cAAc,CAAC,yBAAyB,EAAE;IACrF,OAAO,EAAE,WAAW,CAAC,cAAc,CAAC;CACvC,EAAE;MAEU,0BAA0B,GAAG,IAAI,cAAc,CACxD,iCAAiC,EACjC;IACI,OAAO,EAAE,WAAW,CAAC,iBAAiB,CAAC;CAC1C;;ACXL;;;;;;"}