@taiga-ui/addon-table 2.43.0 → 2.46.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 (60) hide show
  1. package/bundles/taiga-ui-addon-table-components-reorder.umd.js.map +1 -1
  2. package/bundles/taiga-ui-addon-table-components-reorder.umd.min.js.map +1 -1
  3. package/bundles/taiga-ui-addon-table-components-resizable-column.umd.js.map +1 -1
  4. package/bundles/taiga-ui-addon-table-components-resizable-column.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-addon-table-components-table-pagination.umd.js +32 -9
  6. package/bundles/taiga-ui-addon-table-components-table-pagination.umd.js.map +1 -1
  7. package/bundles/taiga-ui-addon-table-components-table-pagination.umd.min.js +2 -2
  8. package/bundles/taiga-ui-addon-table-components-table-pagination.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-addon-table-components-table.umd.js +5 -5
  10. package/bundles/taiga-ui-addon-table-components-table.umd.js.map +1 -1
  11. package/bundles/taiga-ui-addon-table-components-table.umd.min.js +1 -1
  12. package/bundles/taiga-ui-addon-table-components-table.umd.min.js.map +1 -1
  13. package/components/table/directives/cell.directive.d.ts +2 -2
  14. package/components/table/directives/head.directive.d.ts +2 -2
  15. package/components/table/taiga-ui-addon-table-components-table.metadata.json +1 -1
  16. package/components/table-pagination/index.d.ts +1 -0
  17. package/components/table-pagination/table-pagination-options.d.ts +11 -0
  18. package/components/table-pagination/table-pagination.component.d.ts +3 -1
  19. package/components/table-pagination/taiga-ui-addon-table-components-table-pagination.metadata.json +1 -1
  20. package/esm2015/components/reorder/reorder.component.js +1 -1
  21. package/esm2015/components/resizable-column/resizable-column.component.js +1 -1
  22. package/esm2015/components/table/directives/cell.directive.js +1 -1
  23. package/esm2015/components/table/directives/head.directive.js +1 -1
  24. package/esm2015/components/table/directives/sortable.directive.js +4 -4
  25. package/esm2015/components/table/directives/table.directive.js +1 -1
  26. package/esm2015/components/table/providers/table.provider.js +2 -2
  27. package/esm2015/components/table/providers/table.providers.js +3 -3
  28. package/esm2015/components/table/tbody/tbody.component.js +1 -1
  29. package/esm2015/components/table/th/th.component.js +1 -1
  30. package/esm2015/components/table-pagination/index.js +2 -1
  31. package/esm2015/components/table-pagination/table-pagination-options.js +15 -0
  32. package/esm2015/components/table-pagination/table-pagination.component.js +10 -6
  33. package/esm2015/components/table-pagination/table-pagination.module.js +5 -2
  34. package/esm5/components/reorder/reorder.component.js +1 -1
  35. package/esm5/components/resizable-column/resizable-column.component.js +1 -1
  36. package/esm5/components/table/directives/cell.directive.js +1 -1
  37. package/esm5/components/table/directives/head.directive.js +1 -1
  38. package/esm5/components/table/directives/sortable.directive.js +4 -4
  39. package/esm5/components/table/directives/table.directive.js +1 -1
  40. package/esm5/components/table/providers/table.provider.js +2 -2
  41. package/esm5/components/table/providers/table.providers.js +3 -3
  42. package/esm5/components/table/tbody/tbody.component.js +1 -1
  43. package/esm5/components/table/th/th.component.js +1 -1
  44. package/esm5/components/table-pagination/index.js +2 -1
  45. package/esm5/components/table-pagination/table-pagination-options.js +17 -0
  46. package/esm5/components/table-pagination/table-pagination.component.js +10 -6
  47. package/esm5/components/table-pagination/table-pagination.module.js +5 -2
  48. package/fesm2015/taiga-ui-addon-table-components-reorder.js.map +1 -1
  49. package/fesm2015/taiga-ui-addon-table-components-resizable-column.js.map +1 -1
  50. package/fesm2015/taiga-ui-addon-table-components-table-pagination.js +28 -8
  51. package/fesm2015/taiga-ui-addon-table-components-table-pagination.js.map +1 -1
  52. package/fesm2015/taiga-ui-addon-table-components-table.js +5 -5
  53. package/fesm2015/taiga-ui-addon-table-components-table.js.map +1 -1
  54. package/fesm5/taiga-ui-addon-table-components-reorder.js.map +1 -1
  55. package/fesm5/taiga-ui-addon-table-components-resizable-column.js.map +1 -1
  56. package/fesm5/taiga-ui-addon-table-components-table-pagination.js +30 -9
  57. package/fesm5/taiga-ui-addon-table-components-table-pagination.js.map +1 -1
  58. package/fesm5/taiga-ui-addon-table-components-table.js +5 -5
  59. package/fesm5/taiga-ui-addon-table-components-table.js.map +1 -1
  60. package/package.json +4 -4
@@ -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(@Inject(TemplateRef) readonly template: TemplateRef<{}>) {}\n}\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[tuiHead]',\n})\nexport class TuiHeadDirective<T extends Record<any, any>> {\n @Input()\n tuiHead!: keyof T;\n\n constructor(@Inject(TemplateRef) readonly template: TemplateRef<{}>) {}\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {preventDefault, typedFromEvent} from '@taiga-ui/cdk';\nimport {TUI_ELEMENT_REF} from '@taiga-ui/core';\nimport {distinctUntilChanged, map, switchMap, takeUntil} from 'rxjs/operators';\n\n// @dynamic\n@Directive({\n selector: '[tuiResized]',\n})\nexport class TuiResizedDirective {\n @Output()\n readonly tuiResized = typedFromEvent(this.elementRef.nativeElement, 'mousedown').pipe(\n preventDefault(),\n switchMap(() => {\n const {width, right} = this.parentRef.nativeElement.getBoundingClientRect();\n\n return typedFromEvent(this.documentRef, 'mousemove').pipe(\n distinctUntilChanged(),\n map(({clientX}) => width + clientX - right),\n takeUntil(typedFromEvent(this.documentRef, 'mouseup')),\n );\n }),\n );\n\n constructor(\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_ELEMENT_REF)\n private readonly parentRef: ElementRef<HTMLTableHeaderCellElement>,\n ) {}\n}\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\nimport {TuiRowContext} from '@taiga-ui/addon-table/interfaces';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: 'ng-template[tuiRow]',\n})\nexport class TuiRowDirective<T> {\n @Input()\n @tuiDefaultProp()\n tuiRowOf: readonly T[] = [];\n\n constructor(@Inject(TemplateRef) readonly template: TemplateRef<TuiRowContext<T>>) {}\n\n static ngTemplateContextGuard<T>(\n _dir: TuiRowDirective<T>,\n _ctx: any,\n ): _ctx is TuiRowContext<T> {\n return true;\n }\n}\n","import {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport function stuckFactory(\n {nativeElement}: ElementRef,\n entries$: Observable<IntersectionObserverEntry[]>,\n): Observable<boolean> {\n const stream$ = entries$.pipe(map(([{intersectionRatio}]) => intersectionRatio < 1));\n\n nativeElement['$.class._stuck'] = stream$;\n\n return stream$;\n}\n\nexport const TUI_STUCK = new InjectionToken<boolean>('Stream of sticky stuck events');\n\nexport const TUI_STUCK_PROVIDER: Provider = {\n provide: TUI_STUCK,\n deps: [ElementRef, IntersectionObserverService],\n useFactory: stuckFactory,\n};\n","import {forwardRef, SkipSelf} from '@angular/core';\nimport {\n INTERSECTION_ROOT_MARGIN,\n INTERSECTION_THRESHOLD,\n IntersectionObserverService,\n} from '@ng-web-apis/intersection-observer';\nimport {\n MODE_PROVIDER,\n TUI_TEXTFIELD_APPEARANCE,\n TUI_TEXTFIELD_LABEL_OUTSIDE,\n TUI_TEXTFIELD_SIZE,\n} from '@taiga-ui/core';\nimport {TUI_INPUT_COUNT_OPTIONS, TuiInputCountOptions} from '@taiga-ui/kit';\n\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_STUCK_PROVIDER} from './stuck.provider';\n\n// TODO: remove in ivy compilation\nexport const TABLE_THRESHOLD = [0, 1];\nexport const TABLE_LABEL = {\n labelOutside: true,\n};\n\nexport function inputCountOptionsFactory(\n options: TuiInputCountOptions,\n): TuiInputCountOptions {\n return {...options, hideButtons: true};\n}\n\nexport const TUI_TABLE_PROVIDERS = [\n {\n provide: INTERSECTION_ROOT_MARGIN,\n useValue: '10000px 10000px 10000px 0px',\n },\n {\n provide: INTERSECTION_THRESHOLD,\n useValue: TABLE_THRESHOLD,\n },\n {\n provide: TUI_TEXTFIELD_APPEARANCE,\n // TODO: remove in ivy compilation\n useValue: 'table', // TuiAppearance.Table\n },\n {\n provide: TUI_TEXTFIELD_LABEL_OUTSIDE,\n useValue: TABLE_LABEL,\n },\n {\n provide: TUI_INPUT_COUNT_OPTIONS,\n deps: [[new SkipSelf(), TUI_INPUT_COUNT_OPTIONS]],\n useFactory: inputCountOptionsFactory,\n },\n {\n provide: TUI_TEXTFIELD_SIZE,\n useExisting: forwardRef(() => TuiTableDirective),\n },\n IntersectionObserverService,\n MODE_PROVIDER,\n TUI_STUCK_PROVIDER,\n];\n","import {\n ChangeDetectorRef,\n Directive,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {TuiController, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TUI_MODE, TuiBrightness, TuiSizeL, TuiSizeS} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {TUI_STUCK} from '../providers/stuck.provider';\nimport {TUI_TABLE_PROVIDERS} from '../providers/table.providers';\n\n@Directive({\n selector: 'table[tuiTable]',\n providers: TUI_TABLE_PROVIDERS,\n host: {\n '($.data-mode.attr)': 'mode$',\n '($.class._stuck)': 'stuck$',\n style: 'border-collapse: separate',\n },\n})\nexport class TuiTableDirective<T> extends TuiController {\n @Input()\n @tuiDefaultProp()\n columns: ReadonlyArray<keyof T | string> = [];\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS | TuiSizeL = 'm';\n\n @Input()\n @tuiDefaultProp()\n direction: -1 | 1 = 1;\n\n @Output()\n readonly directionChange = new EventEmitter<-1 | 1>();\n\n @Output()\n readonly sorterChange = new EventEmitter<TuiComparator<T> | null>();\n\n constructor(\n @Inject(IntersectionObserverService)\n readonly entries$: Observable<IntersectionObserverEntry[]>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_STUCK) readonly stuck$: Observable<boolean>,\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n ) {\n super();\n }\n\n @Input()\n @tuiDefaultProp()\n sorter: TuiComparator<T> = () => 0;\n\n updateSorter(sorter: TuiComparator<T> | null) {\n if (this.sorter === sorter) {\n this.direction = this.direction === 1 ? -1 : 1;\n this.directionChange.emit(this.direction);\n } else {\n this.sorter = sorter || (() => 0);\n this.sorterChange.emit(this.sorter);\n this.direction = 1;\n this.directionChange.emit(1);\n }\n\n this.change$.next();\n }\n\n ngAfterViewInit() {\n this.changeDetectorRef.detectChanges();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {defaultSort} from '@taiga-ui/addon-table/utils';\nimport {tuiDefaultProp, TuiTableSortKeyException} from '@taiga-ui/cdk';\nimport {TUI_ELEMENT_REF} from '@taiga-ui/core';\n\nimport {TuiHeadDirective} from '../directives/head.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\n\n@Component({\n selector: 'th[tuiTh]',\n templateUrl: './th.template.html',\n styleUrls: ['./th.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_ELEMENT_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiThComponent<T> {\n @Input()\n @tuiDefaultProp()\n sorter: TuiComparator<T> | null = this.head\n ? (a, b) => defaultSort(a[this.key], b[this.key])\n : null;\n\n @Input()\n @tuiDefaultProp()\n resizable = false;\n\n @Input()\n @HostBinding('class._sticky')\n @tuiDefaultProp()\n sticky = false;\n\n @HostBinding('style.width.px')\n width: number | null = null;\n\n constructor(\n @Optional()\n @Inject(TuiHeadDirective)\n private readonly head: TuiHeadDirective<T> | null,\n @Optional()\n @Inject(forwardRef(() => TuiTableDirective))\n readonly table: TuiTableDirective<T> | null,\n ) {}\n\n get key(): keyof T {\n if (!this.head) {\n throw new TuiTableSortKeyException();\n }\n\n return this.head.tuiHead;\n }\n\n get isCurrent(): boolean {\n return !!this.sorter && !!this.table && this.sorter === this.table.sorter;\n }\n\n get icon(): string {\n return this.isCurrent ? 'tuiIconSortDown' : 'tuiIconSortOff';\n }\n\n onResized(width: number) {\n this.width = width;\n }\n}\n","import {Directive, DoCheck, Inject} from '@angular/core';\n\nimport {TuiThComponent} from '../th/th.component';\nimport {TuiSortByDirective} from './sort-by.directive';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n selector: 'th[tuiTh][tuiSortable]',\n})\nexport class TuiSortableDirective<T> implements DoCheck {\n constructor(\n @Inject(TuiSortByDirective) private readonly sortBy: TuiSortByDirective<T>,\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n @Inject(TuiThComponent) private readonly th: TuiThComponent<T>,\n ) {\n this.th.sorter = this.sorter;\n }\n\n readonly sorter = () => 0;\n\n get key(): keyof T {\n return this.th.key;\n }\n\n ngDoCheck() {\n if (this.sortBy.tuiSortBy === this.key && this.table.sorter !== this.sorter) {\n this.table.updateSorter(this.sorter);\n }\n }\n}\n","import {\n ContentChildren,\n Directive,\n Inject,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {EMPTY_QUERY, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {filter, map} from 'rxjs/operators';\n\nimport {TuiSortableDirective} from './sortable.directive';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n selector: 'table[tuiTable][tuiSortBy]',\n})\nexport class TuiSortByDirective<T> {\n @ContentChildren(TuiSortableDirective, {descendants: true})\n private readonly sortables: QueryList<TuiSortableDirective<T>> = EMPTY_QUERY;\n\n @Input()\n @tuiDefaultProp()\n tuiSortBy: keyof T | string | null = null;\n\n @Output()\n readonly tuiSortByChange = this.table.sorterChange.pipe(\n filter(() => !!this.sortables.length),\n map(sorter => this.getKey(sorter)),\n );\n\n constructor(\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n ) {}\n\n private getKey(sorter: TuiComparator<T> | null): keyof T | null {\n return this.sortables.find(s => s.sorter === sorter)?.key ?? null;\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {\n INTERSECTION_ROOT_MARGIN,\n IntersectionObserverService,\n} from '@ng-web-apis/intersection-observer';\nimport {Observable} from 'rxjs';\n\nimport {TUI_STUCK, TUI_STUCK_PROVIDER} from '../providers/stuck.provider';\n\n@Directive({\n selector: 'thead[tuiThead]',\n providers: [\n TUI_STUCK_PROVIDER,\n IntersectionObserverService,\n {\n provide: INTERSECTION_ROOT_MARGIN,\n useValue: '0px 10000px 10000px 10000px',\n },\n ],\n host: {\n '($.class._stuck)': 'stuck$',\n },\n})\nexport class TuiTheadDirective {\n constructor(@Inject(TUI_STUCK) readonly stuck$: Observable<boolean>) {}\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {tuiPure} from '@taiga-ui/cdk';\n\nimport {TuiTableDirective} from '../directives/table.directive';\n\n@Pipe({\n name: 'tuiTableSort',\n pure: false,\n})\nexport class TuiTableSortPipe<T> implements PipeTransform {\n constructor(\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n ) {}\n\n transform(data: readonly T[]): readonly T[] {\n return this.sort(data, this.table.sorter, this.table.direction);\n }\n\n @tuiPure\n private sort(\n data: readonly T[],\n sorter: TuiComparator<T>,\n direction: -1 | 1,\n ): readonly T[] {\n return [...data].sort((a, b) => direction * sorter(a, b));\n }\n}\n","import {ChangeDetectorRef, Provider, SkipSelf} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {watchedControllerFactory} from '@taiga-ui/core';\n\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TuiTableSortPipe} from '../pipes/table-sort.pipe';\n\n// TODO: remove in ivy compilation\nexport const TABLE_FACTORY = watchedControllerFactory;\n\nexport const TUI_TABLE_PROVIDER: Provider[] = [\n TuiDestroyService,\n TuiTableSortPipe,\n {\n provide: TuiTableDirective,\n deps: [[new SkipSelf(), TuiTableDirective], ChangeDetectorRef, TuiDestroyService],\n useFactory: TABLE_FACTORY,\n },\n];\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n forwardRef,\n Inject,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {map, startWith} from 'rxjs/operators';\n\nimport {TuiCellDirective} from '../directives/cell.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_TABLE_PROVIDER} from '../providers/table.provider';\nimport {TuiTbodyComponent} from '../tbody/tbody.component';\n\n@Component({\n selector: 'tr[tuiTr]',\n templateUrl: './tr.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_TABLE_PROVIDER],\n})\nexport class TuiTrComponent<T extends Record<string, any>> {\n @ContentChildren(forwardRef(() => TuiCellDirective))\n private readonly cells: QueryList<TuiCellDirective> = EMPTY_QUERY;\n\n readonly cells$ = this.cells.changes.pipe(\n startWith(null),\n map(() =>\n this.cells.reduce<Record<any, TuiCellDirective>>(\n (record, item) => ({...record, [item.tuiCell]: item}),\n {},\n ),\n ),\n );\n\n readonly item$ = this.body.rows.changes.pipe(\n startWith(null),\n map(\n () =>\n this.body.sorted[this.body.rows.toArray().findIndex(row => row === this)],\n ),\n );\n\n constructor(\n @Inject(forwardRef(() => TuiTableDirective))\n readonly table: TuiTableDirective<T>,\n @Inject(forwardRef(() => TuiTbodyComponent))\n private readonly body: TuiTbodyComponent<T>,\n ) {}\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiRowDirective} from '../directives/row.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TuiTableSortPipe} from '../pipes/table-sort.pipe';\nimport {TUI_TABLE_PROVIDER} from '../providers/table.provider';\nimport {TuiTrComponent} from '../tr/tr.component';\n\n@Component({\n selector: 'tbody[tuiTbody]',\n templateUrl: './tbody.template.html',\n styleUrls: ['./tbody.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TABLE_PROVIDER,\n})\nexport class TuiTbodyComponent<T> {\n @Input()\n @tuiDefaultProp()\n data: readonly T[] = [];\n\n @Input()\n @tuiDefaultProp()\n heading: PolymorpheusContent = '';\n\n @Input()\n @tuiDefaultProp()\n open = true;\n\n @Output()\n readonly openChange = new EventEmitter<boolean>();\n\n @ContentChild(forwardRef(() => TuiRowDirective))\n readonly row?: TuiRowDirective<T>;\n\n @ContentChildren(forwardRef(() => TuiTrComponent))\n readonly rows: QueryList<TuiTrComponent<T>> = EMPTY_QUERY;\n\n constructor(\n @Inject(TuiTableSortPipe) private readonly pipe: TuiTableSortPipe<T>,\n @Inject(forwardRef(() => TuiTableDirective))\n readonly table: TuiTableDirective<T>,\n ) {}\n\n get sorted(): readonly T[] {\n return this.pipe.transform(this.data);\n }\n\n readonly toContext = ($implicit: T, index: number) => ({$implicit, index});\n\n onClick() {\n this.open = !this.open;\n this.openChange.emit(this.open);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\n\n@Component({\n selector: 'th[tuiTd], td[tuiTd]',\n template: '<ng-content></ng-content>',\n styleUrls: ['./td.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTdComponent {\n @HostBinding('class._editable')\n @ContentChild(NgControl)\n readonly control: unknown;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n forwardRef,\n Inject,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {map, startWith} from 'rxjs/operators';\n\nimport {TuiHeadDirective} from '../directives/head.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_TABLE_PROVIDER} from '../providers/table.provider';\nimport {TuiThComponent} from '../th/th.component';\n\n@Component({\n selector: 'tr[tuiThGroup]',\n templateUrl: './th-group.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_TABLE_PROVIDER],\n})\nexport class TuiThGroupComponent<T> {\n @ContentChild(forwardRef(() => TuiThComponent))\n readonly th: unknown;\n\n @ContentChildren(forwardRef(() => TuiHeadDirective))\n readonly heads: QueryList<TuiHeadDirective<T>> = EMPTY_QUERY;\n\n readonly heads$ = this.heads.changes.pipe(\n startWith(null),\n map(() =>\n this.heads.reduce<Record<any, TuiHeadDirective<T>>>(\n (record, item) => ({...record, [item.tuiHead]: item}),\n {},\n ),\n ),\n );\n\n constructor(\n @Inject(forwardRef(() => TuiTableDirective))\n readonly table: TuiTableDirective<T>,\n ) {}\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiCellDirective} from './directives/cell.directive';\nimport {TuiHeadDirective} from './directives/head.directive';\nimport {TuiResizedDirective} from './directives/resized.directive';\nimport {TuiRowDirective} from './directives/row.directive';\nimport {TuiSortByDirective} from './directives/sort-by.directive';\nimport {TuiSortableDirective} from './directives/sortable.directive';\nimport {TuiTableDirective} from './directives/table.directive';\nimport {TuiTheadDirective} from './directives/thead.directive';\nimport {TuiTableSortPipe} from './pipes/table-sort.pipe';\nimport {TuiTbodyComponent} from './tbody/tbody.component';\nimport {TuiTdComponent} from './td/td.component';\nimport {TuiThComponent} from './th/th.component';\nimport {TuiThGroupComponent} from './th-group/th-group.component';\nimport {TuiTrComponent} from './tr/tr.component';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiMapperPipeModule, TuiSvgModule],\n declarations: [\n TuiTableDirective,\n TuiTbodyComponent,\n TuiThGroupComponent,\n TuiThComponent,\n TuiTdComponent,\n TuiTrComponent,\n TuiCellDirective,\n TuiHeadDirective,\n TuiRowDirective,\n TuiSortByDirective,\n TuiSortableDirective,\n TuiTheadDirective,\n TuiResizedDirective,\n TuiTableSortPipe,\n ],\n exports: [\n TuiTableDirective,\n TuiTbodyComponent,\n TuiThGroupComponent,\n TuiThComponent,\n TuiTdComponent,\n TuiTrComponent,\n TuiCellDirective,\n TuiHeadDirective,\n TuiRowDirective,\n TuiSortByDirective,\n TuiSortableDirective,\n TuiTheadDirective,\n TuiTableSortPipe,\n ],\n})\nexport class TuiTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;IAMa,gBAAgB,GAA7B,MAAa,gBAAgB;IAKzB,YAA0C,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;QAFnE,YAAO,GAAG,EAAE,CAAC;KAE0D;EAC1E;;YADuD,WAAW,uBAAlD,MAAM,SAAC,WAAW;;AAF/B;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;iDACJ;AAHJ,gBAAgB;IAH5B,SAAS,CAAC;QACP,QAAQ,EAAE,WAAW;KACxB,CAAC;IAMe,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;GALvB,gBAAgB,CAM5B;;ICPY,gBAAgB,GAA7B,MAAa,gBAAgB;IAIzB,YAA0C,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;KAAI;EAC1E;;YADuD,WAAW,uBAAlD,MAAM,SAAC,WAAW;;AAF/B;IADC,KAAK,EAAE;iDACU;AAFT,gBAAgB;IAH5B,SAAS,CAAC;QACP,QAAQ,EAAE,WAAW;KACxB,CAAC;IAKe,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;GAJvB,gBAAgB,CAK5B;;ACJD;IAIa,mBAAmB,GAAhC,MAAa,mBAAmB;IAe5B,YACuC,WAAqB,EAEvC,UAAmC,EAEnC,SAAiD;QAJ/B,gBAAW,GAAX,WAAW,CAAU;QAEvC,eAAU,GAAV,UAAU,CAAyB;QAEnC,cAAS,GAAT,SAAS,CAAwC;QAlB7D,eAAU,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,IAAI,CACjF,cAAc,EAAE,EAChB,SAAS,CAAC;YACN,MAAM,EAAC,KAAK,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YAE5E,OAAO,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,IAAI,CACrD,oBAAoB,EAAE,EACtB,GAAG,CAAC,CAAC,EAAC,OAAO,EAAC,KAAK,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC,EAC3C,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CACzD,CAAC;SACL,CAAC,CACL,CAAC;KAQE;EACP;;YANuD,QAAQ,uBAAvD,MAAM,SAAC,QAAQ;YAEa,UAAU,uBADtC,MAAM,SAAC,UAAU;YAGU,UAAU,uBADrC,MAAM,SAAC,eAAe;;AAjB3B;IADC,MAAM,EAAE;uDAYP;AAbO,mBAAmB;IAH/B,SAAS,CAAC;QACP,QAAQ,EAAE,cAAc;KAC3B,CAAC;IAiBO,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;IAChB,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;IAElB,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;GAnBnB,mBAAmB,CAsB/B;;ICzBY,eAAe,GAA5B,MAAa,eAAe;IAKxB,YAA0C,QAAuC;QAAvC,aAAQ,GAAR,QAAQ,CAA+B;QAFjF,aAAQ,GAAiB,EAAE,CAAC;KAEyD;IAErF,OAAO,sBAAsB,CACzB,IAAwB,EACxB,IAAS;QAET,OAAO,IAAI,CAAC;KACf;EACJ;;YARuD,WAAW,uBAAlD,MAAM,SAAC,WAAW;;AAF/B;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;iDACW;AAHnB,eAAe;IAH3B,SAAS,CAAC;QACP,QAAQ,EAAE,qBAAqB;KAClC,CAAC;IAMe,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;GALvB,eAAe,CAa3B;;SCfe,YAAY,CACxB,EAAC,aAAa,EAAa,EAC3B,QAAiD;IAEjD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,iBAAiB,EAAC,CAAC,KAAK,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC;IAErF,aAAa,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC;IAE1C,OAAO,OAAO,CAAC;AACnB,CAAC;MAEY,SAAS,GAAG,IAAI,cAAc,CAAU,+BAA+B,EAAE;MAEzE,kBAAkB,GAAa;IACxC,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,CAAC,UAAU,EAAE,2BAA2B,CAAC;IAC/C,UAAU,EAAE,YAAY;;;ACJ5B;MACa,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE;MACzB,WAAW,GAAG;IACvB,YAAY,EAAE,IAAI;EACpB;SAEc,wBAAwB,CACpC,OAA6B;IAE7B,uCAAW,OAAO,KAAE,WAAW,EAAE,IAAI,IAAE;AAC3C,CAAC;MAEY,mBAAmB,GAAG;IAC/B;QACI,OAAO,EAAE,wBAAwB;QACjC,QAAQ,EAAE,6BAA6B;KAC1C;IACD;QACI,OAAO,EAAE,sBAAsB;QAC/B,QAAQ,EAAE,eAAe;KAC5B;IACD;QACI,OAAO,EAAE,wBAAwB;;QAEjC,QAAQ,EAAE,OAAO;KACpB;IACD;QACI,OAAO,EAAE,2BAA2B;QACpC,QAAQ,EAAE,WAAW;KACxB;IACD;QACI,OAAO,EAAE,uBAAuB;QAChC,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,uBAAuB,CAAC,CAAC;QACjD,UAAU,EAAE,wBAAwB;KACvC;IACD;QACI,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;KACnD;IACD,2BAA2B;IAC3B,aAAa;IACb,kBAAkB;;;IC/BT,iBAAiB,GAA9B,MAAa,iBAAqB,SAAQ,aAAa;IAoBnD,YAEa,QAAiD,EAC/B,KAAuC,EACtC,MAA2B,EACX,iBAAoC;QAEhF,KAAK,EAAE,CAAC;QALC,aAAQ,GAAR,QAAQ,CAAyC;QAC/B,UAAK,GAAL,KAAK,CAAkC;QACtC,WAAM,GAAN,MAAM,CAAqB;QACX,sBAAiB,GAAjB,iBAAiB,CAAmB;QAtBpF,YAAO,GAAoC,EAAE,CAAC;QAK9C,SAAI,GAAwB,GAAG,CAAC;QAIhC,cAAS,GAAW,CAAC,CAAC;QAGb,oBAAe,GAAG,IAAI,YAAY,EAAU,CAAC;QAG7C,iBAAY,GAAG,IAAI,YAAY,EAA2B,CAAC;QAcpE,WAAM,GAAqB,MAAM,CAAC,CAAC;KAJlC;IAMD,YAAY,CAAC,MAA+B;QACxC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC7C;aAAM;YACH,IAAI,CAAC,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAChC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACvB;IAED,eAAe;QACX,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;KAC1C;EACJ;;YA7B0B,UAAU,uBAD5B,MAAM,SAAC,2BAA2B;YAED,UAAU,uBAA3C,MAAM,SAAC,QAAQ;YACoB,UAAU,uBAA7C,MAAM,SAAC,SAAS;YAC8C,iBAAiB,uBAA/E,MAAM,SAAC,iBAAiB;;AAtB7B;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;kDAC6B;AAK9C;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,gBAAgB,CAAC;IAC7B,cAAc,EAAE;+CACe;AAIhC;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;oDACK;AAGtB;IADC,MAAM,EAAE;0DAC6C;AAGtD;IADC,MAAM,EAAE;uDAC2D;AAcpE;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;iDACkB;AAhC1B,iBAAiB;IAT7B,SAAS,CAAC;QACP,QAAQ,EAAE,iBAAiB;QAC3B,SAAS,EAAE,mBAAmB;QAC9B,IAAI,EAAE;YACF,oBAAoB,EAAE,OAAO;YAC7B,kBAAkB,EAAE,QAAQ;YAC5B,KAAK,EAAE,2BAA2B;SACrC;KACJ,CAAC;IAsBO,WAAA,MAAM,CAAC,2BAA2B,CAAC,CAAA;IAEnC,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;IAChB,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;IACjB,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;GAzBrB,iBAAiB,CAmD7B;;IChDY,cAAc,GAA3B,MAAa,cAAc;IAmBvB,YAGqB,IAAgC,EAGxC,KAAkC;QAH1B,SAAI,GAAJ,IAAI,CAA4B;QAGxC,UAAK,GAAL,KAAK,CAA6B;QAtB/C,WAAM,GAA4B,IAAI,CAAC,IAAI;cACrC,CAAC,CAAC,EAAE,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;cAC/C,IAAI,CAAC;QAIX,cAAS,GAAG,KAAK,CAAC;QAKlB,WAAM,GAAG,KAAK,CAAC;QAGf,UAAK,GAAkB,IAAI,CAAC;KASxB;IAEJ,IAAI,GAAG;QACH,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,MAAM,IAAI,wBAAwB,EAAE,CAAC;SACxC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;KAC5B;IAED,IAAI,SAAS;QACT,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;KAC7E;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,SAAS,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;KAChE;IAED,SAAS,CAAC,KAAa;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;EACJ;;YAzB8B,gBAAgB,uBAFtC,QAAQ,YACR,MAAM,SAAC,gBAAgB;YAIR,iBAAiB,uBAFhC,QAAQ,YACR,MAAM,SAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC;;AArB/C;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;8CAGN;AAIX;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;iDACC;AAKlB;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,eAAe,CAAC;IAC5B,cAAc,EAAE;8CACF;AAGf;IADC,WAAW,CAAC,gBAAgB,CAAC;6CACF;AAjBnB,cAAc;IAZ1B,SAAS,CAAC;QACP,QAAQ,EAAE,WAAW;QACrB,ynBAAiC;QAEjC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE;YACP;gBACI,OAAO,EAAE,eAAe;gBACxB,WAAW,EAAE,UAAU;aAC1B;SACJ;;KACJ,CAAC;IAqBO,WAAA,QAAQ,EAAE,CAAA;IACV,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAExB,WAAA,QAAQ,EAAE,CAAA;IACV,WAAA,MAAM,CAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAA;GAxBvC,cAAc,CA+C1B;;ICpEY,oBAAoB,GAAjC,MAAa,oBAAoB;IAC7B,YACiD,MAA6B,EAC9B,KAA2B,EAC9B,EAAqB;QAFjB,WAAM,GAAN,MAAM,CAAuB;QAC9B,UAAK,GAAL,KAAK,CAAsB;QAC9B,OAAE,GAAF,EAAE,CAAmB;QAKzD,WAAM,GAAG,MAAM,CAAC,CAAC;QAHtB,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;KAChC;IAID,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,SAAS;QACL,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;YACzE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACxC;KACJ;EACJ;;YAlB4D,kBAAkB,uBAAtE,MAAM,SAAC,kBAAkB;YACyB,iBAAiB,uBAAnE,MAAM,SAAC,iBAAiB;YACoB,cAAc,uBAA1D,MAAM,SAAC,cAAc;;AAJjB,oBAAoB;IAHhC,SAAS,CAAC;QACP,QAAQ,EAAE,wBAAwB;KACrC,CAAC;IAGO,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAC1B,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;IACzB,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;GAJlB,oBAAoB,CAoBhC;;ICXY,kBAAkB,GAA/B,MAAa,kBAAkB;IAc3B,YACgD,KAA2B;QAA3B,UAAK,GAAL,KAAK,CAAsB;QAb1D,cAAS,GAAuC,WAAW,CAAC;QAI7E,cAAS,GAA4B,IAAI,CAAC;QAGjC,oBAAe,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CACnD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EACrC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CACrC,CAAC;KAIE;IAEI,MAAM,CAAC,MAA+B;;QAC1C,mBAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,0CAAE,GAAG,mCAAI,IAAI,CAAC;KACrE;EACJ;;YAN0D,iBAAiB,uBAAnE,MAAM,SAAC,iBAAiB;;AAb7B;IADC,eAAe,CAAC,oBAAoB,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;qDACkB;AAI7E;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;qDACyB;AAG1C;IADC,MAAM,EAAE;2DAIP;AAZO,kBAAkB;IAH9B,SAAS,CAAC;QACP,QAAQ,EAAE,4BAA4B;KACzC,CAAC;IAgBO,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;GAfrB,kBAAkB,CAqB9B;;IChBY,iBAAiB,GAA9B,MAAa,iBAAiB;IAC1B,YAAwC,MAA2B;QAA3B,WAAM,GAAN,MAAM,CAAqB;KAAI;EAC1E;;YADmD,UAAU,uBAA7C,MAAM,SAAC,SAAS;;AADpB,iBAAiB;IAd7B,SAAS,CAAC;QACP,QAAQ,EAAE,iBAAiB;QAC3B,SAAS,EAAE;YACP,kBAAkB;YAClB,2BAA2B;YAC3B;gBACI,OAAO,EAAE,wBAAwB;gBACjC,QAAQ,EAAE,6BAA6B;aAC1C;SACJ;QACD,IAAI,EAAE;YACF,kBAAkB,EAAE,QAAQ;SAC/B;KACJ,CAAC;IAEe,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;GADrB,iBAAiB,CAE7B;;ICfY,gBAAgB,GAA7B,MAAa,gBAAgB;IACzB,YACgD,KAA2B;QAA3B,UAAK,GAAL,KAAK,CAAsB;KACvE;IAEJ,SAAS,CAAC,IAAkB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KACnE;IAGO,IAAI,CACR,IAAkB,EAClB,MAAwB,EACxB,SAAiB;QAEjB,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAC7D;EACJ;;YAf0D,iBAAiB,uBAAnE,MAAM,SAAC,iBAAiB;;AAQ7B;IADC,OAAO;4CAOP;AAhBQ,gBAAgB;IAJ5B,IAAI,CAAC;QACF,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,KAAK;KACd,CAAC;IAGO,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;GAFrB,gBAAgB,CAiB5B;;ACpBD;MACa,aAAa,GAAG,yBAAyB;MAEzC,kBAAkB,GAAe;IAC1C,iBAAiB;IACjB,gBAAgB;IAChB;QACI,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;QACjF,UAAU,EAAE,aAAa;KAC5B;;;ICKQ,cAAc,GAA3B,MAAa,cAAc;IAsBvB,YAEa,KAA2B,EAEnB,IAA0B;QAFlC,UAAK,GAAL,KAAK,CAAsB;QAEnB,SAAI,GAAJ,IAAI,CAAsB;QAxB9B,UAAK,GAAgC,WAAW,CAAC;QAEzD,WAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CACrC,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MACA,IAAI,CAAC,KAAK,CAAC,MAAM,CACb,CAAC,MAAM,EAAE,IAAI,sCAAU,MAAM,KAAE,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,IAAE,EACrD,EAAE,CACL,CACJ,CACJ,CAAC;QAEO,UAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CACxC,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CACC,MACI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAChF,CACJ,CAAC;KAOE;EACP;;YAJuB,iBAAiB,uBADhC,MAAM,SAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC;YAGpB,iBAAiB,uBADvC,MAAM,SAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC;;AAvB/C;IADC,eAAe,CAAC,UAAU,CAAC,MAAM,gBAAgB,CAAC,CAAC;6CACc;AAFzD,cAAc;IAN1B,SAAS,CAAC;QACP,QAAQ,EAAE,WAAW;QACrB,idAAiC;QACjC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE,CAAC,kBAAkB,CAAC;KAClC,CAAC;IAwBO,WAAA,MAAM,CAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAA;IAE3C,WAAA,MAAM,CAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAA;GAzBvC,cAAc,CA4B1B;;ICtBY,iBAAiB,GAA9B,MAAa,iBAAiB;IAsB1B,YAC+C,IAAyB,EAE3D,KAA2B;QAFO,SAAI,GAAJ,IAAI,CAAqB;QAE3D,UAAK,GAAL,KAAK,CAAsB;QAtBxC,SAAI,GAAiB,EAAE,CAAC;QAIxB,YAAO,GAAwB,EAAE,CAAC;QAIlC,SAAI,GAAG,IAAI,CAAC;QAGH,eAAU,GAAG,IAAI,YAAY,EAAW,CAAC;QAMzC,SAAI,GAAiC,WAAW,CAAC;QAYjD,cAAS,GAAG,CAAC,SAAY,EAAE,KAAa,MAAM,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC,CAAC;KANvE;IAEJ,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzC;IAID,OAAO;QACH,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACnC;EACJ;;YAfwD,gBAAgB,uBAAhE,MAAM,SAAC,gBAAgB;YAER,iBAAiB,uBADhC,MAAM,SAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC;;AArB/C;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;+CACO;AAIxB;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;kDACiB;AAIlC;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;+CACL;AAGZ;IADC,MAAM,EAAE;qDACyC;AAGlD;IADC,YAAY,CAAC,UAAU,CAAC,MAAM,eAAe,CAAC,CAAC;8CACd;AAGlC;IADC,eAAe,CAAC,UAAU,CAAC,MAAM,cAAc,CAAC,CAAC;+CACQ;AApBjD,iBAAiB;IAP7B,SAAS,CAAC;QACP,QAAQ,EAAE,iBAAiB;QAC3B,+4BAAoC;QAEpC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE,kBAAkB;;KAChC,CAAC;IAwBO,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACxB,WAAA,MAAM,CAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAA;GAxBvC,iBAAiB,CAsC7B;;ICpDY,cAAc,GAA3B,MAAa,cAAc;EAI1B;AADG;IAFC,WAAW,CAAC,iBAAiB,CAAC;IAC9B,YAAY,CAAC,SAAS,CAAC;+CACE;AAHjB,cAAc;IAN1B,SAAS,CAAC;QACP,QAAQ,EAAE,sBAAsB;QAChC,QAAQ,EAAE,2BAA2B;QAErC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;KAClD,CAAC;GACW,cAAc,CAI1B;;ICKY,mBAAmB,GAAhC,MAAa,mBAAmB;IAiB5B,YAEa,KAA2B;QAA3B,UAAK,GAAL,KAAK,CAAsB;QAd/B,UAAK,GAAmC,WAAW,CAAC;QAEpD,WAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CACrC,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MACA,IAAI,CAAC,KAAK,CAAC,MAAM,CACb,CAAC,MAAM,EAAE,IAAI,sCAAU,MAAM,KAAE,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,IAAE,EACrD,EAAE,CACL,CACJ,CACJ,CAAC;KAKE;EACP;;YAFuB,iBAAiB,uBADhC,MAAM,SAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC;;AAhB/C;IADC,YAAY,CAAC,UAAU,CAAC,MAAM,cAAc,CAAC,CAAC;+CAC1B;AAGrB;IADC,eAAe,CAAC,UAAU,CAAC,MAAM,gBAAgB,CAAC,CAAC;kDACS;AALpD,mBAAmB;IAN/B,SAAS,CAAC;QACP,QAAQ,EAAE,gBAAgB;QAC1B,2eAAuC;QACvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE,CAAC,kBAAkB,CAAC;KAClC,CAAC;IAmBO,WAAA,MAAM,CAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAA;GAlBvC,mBAAmB,CAqB/B;;ICWY,cAAc,GAA3B,MAAa,cAAc;EAAG;AAAjB,cAAc;IAlC1B,QAAQ,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,YAAY,CAAC;QAC9E,YAAY,EAAE;YACV,iBAAiB;YACjB,iBAAiB;YACjB,mBAAmB;YACnB,cAAc;YACd,cAAc;YACd,cAAc;YACd,gBAAgB;YAChB,gBAAgB;YAChB,eAAe;YACf,kBAAkB;YAClB,oBAAoB;YACpB,iBAAiB;YACjB,mBAAmB;YACnB,gBAAgB;SACnB;QACD,OAAO,EAAE;YACL,iBAAiB;YACjB,iBAAiB;YACjB,mBAAmB;YACnB,cAAc;YACd,cAAc;YACd,cAAc;YACd,gBAAgB;YAChB,gBAAgB;YAChB,eAAe;YACf,kBAAkB;YAClB,oBAAoB;YACpB,iBAAiB;YACjB,gBAAgB;SACnB;KACJ,CAAC;GACW,cAAc,CAAG;;ACvD9B;;;;;;"}
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: any,\n ): _ctx is TuiRowContext<T> {\n return true;\n }\n}\n","import {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport function stuckFactory(\n {nativeElement}: ElementRef,\n entries$: Observable<IntersectionObserverEntry[]>,\n): Observable<boolean> {\n const stream$ = entries$.pipe(map(([{intersectionRatio}]) => intersectionRatio < 1));\n\n nativeElement['$.class._stuck'] = stream$;\n\n return stream$;\n}\n\nexport const TUI_STUCK = new InjectionToken<boolean>('Stream of sticky stuck events');\n\nexport const TUI_STUCK_PROVIDER: Provider = {\n provide: TUI_STUCK,\n deps: [ElementRef, IntersectionObserverService],\n useFactory: stuckFactory,\n};\n","import {forwardRef, SkipSelf} from '@angular/core';\nimport {\n INTERSECTION_ROOT_MARGIN,\n INTERSECTION_THRESHOLD,\n IntersectionObserverService,\n} from '@ng-web-apis/intersection-observer';\nimport {\n MODE_PROVIDER,\n TUI_TEXTFIELD_APPEARANCE,\n TUI_TEXTFIELD_LABEL_OUTSIDE,\n TUI_TEXTFIELD_SIZE,\n} from '@taiga-ui/core';\nimport {TUI_INPUT_COUNT_OPTIONS, TuiInputCountOptions} from '@taiga-ui/kit';\n\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_STUCK_PROVIDER} from './stuck.provider';\n\n// TODO: 3.0 remove in ivy compilation\nexport const TABLE_THRESHOLD = [0, 1];\nexport const TABLE_LABEL = {\n labelOutside: true,\n};\n\nexport function inputCountOptionsFactory(\n options: TuiInputCountOptions,\n): TuiInputCountOptions {\n return {...options, hideButtons: true};\n}\n\nexport const TUI_TABLE_PROVIDERS = [\n {\n provide: INTERSECTION_ROOT_MARGIN,\n useValue: '10000px 10000px 10000px 0px',\n },\n {\n provide: INTERSECTION_THRESHOLD,\n useValue: TABLE_THRESHOLD,\n },\n {\n provide: TUI_TEXTFIELD_APPEARANCE,\n // TODO: 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} from '@angular/core';\n\nimport {TuiThComponent} from '../th/th.component';\nimport {TuiSortByDirective} from './sort-by.directive';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n selector: 'th[tuiTh][tuiSortable]',\n})\nexport class TuiSortableDirective<T> implements DoCheck {\n constructor(\n @Inject(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 this.th.sorter = this.sorter;\n }\n\n readonly sorter = (): number => 0;\n\n get key(): keyof T {\n return this.th.key;\n }\n\n ngDoCheck(): void {\n if (this.sortBy.tuiSortBy === this.key && this.table.sorter !== this.sorter) {\n this.table.updateSorter(this.sorter);\n }\n }\n}\n","import {\n ContentChildren,\n Directive,\n Inject,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {EMPTY_QUERY, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {filter, map} from 'rxjs/operators';\n\nimport {TuiSortableDirective} from './sortable.directive';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n selector: 'table[tuiTable][tuiSortBy]',\n})\nexport class TuiSortByDirective<T> {\n @ContentChildren(TuiSortableDirective, {descendants: true})\n private readonly sortables: QueryList<TuiSortableDirective<T>> = EMPTY_QUERY;\n\n @Input()\n @tuiDefaultProp()\n tuiSortBy: keyof T | string | null = null;\n\n @Output()\n readonly tuiSortByChange = this.table.sorterChange.pipe(\n filter(() => !!this.sortables.length),\n map(sorter => this.getKey(sorter)),\n );\n\n constructor(\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n ) {}\n\n private getKey(sorter: TuiComparator<T> | null): keyof T | null {\n return this.sortables.find(s => s.sorter === sorter)?.key ?? null;\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {\n INTERSECTION_ROOT_MARGIN,\n IntersectionObserverService,\n} from '@ng-web-apis/intersection-observer';\nimport {Observable} from 'rxjs';\n\nimport {TUI_STUCK, TUI_STUCK_PROVIDER} from '../providers/stuck.provider';\n\n@Directive({\n selector: 'thead[tuiThead]',\n providers: [\n TUI_STUCK_PROVIDER,\n IntersectionObserverService,\n {\n provide: INTERSECTION_ROOT_MARGIN,\n useValue: '0px 10000px 10000px 10000px',\n },\n ],\n host: {\n '($.class._stuck)': 'stuck$',\n },\n})\nexport class TuiTheadDirective {\n constructor(@Inject(TUI_STUCK) readonly stuck$: Observable<boolean>) {}\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {tuiPure} from '@taiga-ui/cdk';\n\nimport {TuiTableDirective} from '../directives/table.directive';\n\n@Pipe({\n name: 'tuiTableSort',\n pure: false,\n})\nexport class TuiTableSortPipe<T> implements PipeTransform {\n constructor(\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n ) {}\n\n transform(data: readonly T[]): readonly T[] {\n return this.sort(data, this.table.sorter, this.table.direction);\n }\n\n @tuiPure\n private sort(\n data: readonly T[],\n sorter: TuiComparator<T>,\n direction: -1 | 1,\n ): readonly T[] {\n return [...data].sort((a, b) => direction * sorter(a, b));\n }\n}\n","import {ChangeDetectorRef, Provider, SkipSelf} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {watchedControllerFactory} from '@taiga-ui/core';\n\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TuiTableSortPipe} from '../pipes/table-sort.pipe';\n\n// TODO: 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":";;;;;;;;;;;;;IAMa,gBAAgB,GAA7B,MAAa,gBAAgB;IAKzB,YACkC,QAA8C;QAA9C,aAAQ,GAAR,QAAQ,CAAsC;QAHhF,YAAO,GAAG,EAAE,CAAC;KAIT;EACP;;YAF+C,WAAW,uBAAlD,MAAM,SAAC,WAAW;;AAHvB;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;iDACJ;AAHJ,gBAAgB;IAH5B,SAAS,CAAC;QACP,QAAQ,EAAE,WAAW;KACxB,CAAC;IAOO,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;GANf,gBAAgB,CAQ5B;;ICTY,gBAAgB,GAA7B,MAAa,gBAAgB;IAIzB,YACkC,QAA8C;QAA9C,aAAQ,GAAR,QAAQ,CAAsC;KAC5E;EACP;;YAF+C,WAAW,uBAAlD,MAAM,SAAC,WAAW;;AAHvB;IADC,KAAK,EAAE;iDACU;AAFT,gBAAgB;IAH5B,SAAS,CAAC;QACP,QAAQ,EAAE,WAAW;KACxB,CAAC;IAMO,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;GALf,gBAAgB,CAO5B;;ACND;IAIa,mBAAmB,GAAhC,MAAa,mBAAmB;IAe5B,YACuC,WAAqB,EAEvC,UAAmC,EAEnC,SAAiD;QAJ/B,gBAAW,GAAX,WAAW,CAAU;QAEvC,eAAU,GAAV,UAAU,CAAyB;QAEnC,cAAS,GAAT,SAAS,CAAwC;QAlB7D,eAAU,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,IAAI,CACjF,cAAc,EAAE,EAChB,SAAS,CAAC;YACN,MAAM,EAAC,KAAK,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YAE5E,OAAO,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,IAAI,CACrD,oBAAoB,EAAE,EACtB,GAAG,CAAC,CAAC,EAAC,OAAO,EAAC,KAAK,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC,EAC3C,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CACzD,CAAC;SACL,CAAC,CACL,CAAC;KAQE;EACP;;YANuD,QAAQ,uBAAvD,MAAM,SAAC,QAAQ;YAEa,UAAU,uBADtC,MAAM,SAAC,UAAU;YAGU,UAAU,uBADrC,MAAM,SAAC,eAAe;;AAjB3B;IADC,MAAM,EAAE;uDAYP;AAbO,mBAAmB;IAH/B,SAAS,CAAC;QACP,QAAQ,EAAE,cAAc;KAC3B,CAAC;IAiBO,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;IAChB,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;IAElB,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;GAnBnB,mBAAmB,CAsB/B;;ICzBY,eAAe,GAA5B,MAAa,eAAe;IAKxB,YAA0C,QAAuC;QAAvC,aAAQ,GAAR,QAAQ,CAA+B;QAFjF,aAAQ,GAAiB,EAAE,CAAC;KAEyD;IAErF,OAAO,sBAAsB,CACzB,IAAwB,EACxB,IAAS;QAET,OAAO,IAAI,CAAC;KACf;EACJ;;YARuD,WAAW,uBAAlD,MAAM,SAAC,WAAW;;AAF/B;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;iDACW;AAHnB,eAAe;IAH3B,SAAS,CAAC;QACP,QAAQ,EAAE,qBAAqB;KAClC,CAAC;IAMe,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;GALvB,eAAe,CAa3B;;SCfe,YAAY,CACxB,EAAC,aAAa,EAAa,EAC3B,QAAiD;IAEjD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,iBAAiB,EAAC,CAAC,KAAK,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC;IAErF,aAAa,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC;IAE1C,OAAO,OAAO,CAAC;AACnB,CAAC;MAEY,SAAS,GAAG,IAAI,cAAc,CAAU,+BAA+B,EAAE;MAEzE,kBAAkB,GAAa;IACxC,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,CAAC,UAAU,EAAE,2BAA2B,CAAC;IAC/C,UAAU,EAAE,YAAY;;;ACJ5B;MACa,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE;MACzB,WAAW,GAAG;IACvB,YAAY,EAAE,IAAI;EACpB;SAEc,wBAAwB,CACpC,OAA6B;IAE7B,uCAAW,OAAO,KAAE,WAAW,EAAE,IAAI,IAAE;AAC3C,CAAC;MAEY,mBAAmB,GAAG;IAC/B;QACI,OAAO,EAAE,wBAAwB;QACjC,QAAQ,EAAE,6BAA6B;KAC1C;IACD;QACI,OAAO,EAAE,sBAAsB;QAC/B,QAAQ,EAAE,eAAe;KAC5B;IACD;QACI,OAAO,EAAE,wBAAwB;;QAEjC,QAAQ,EAAE,OAAO;KACpB;IACD;QACI,OAAO,EAAE,2BAA2B;QACpC,QAAQ,EAAE,WAAW;KACxB;IACD;QACI,OAAO,EAAE,uBAAuB;QAChC,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,uBAAuB,CAAC,CAAC;QACjD,UAAU,EAAE,wBAAwB;KACvC;IACD;QACI,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;KACnD;IACD,2BAA2B;IAC3B,aAAa;IACb,kBAAkB;;;IC/BT,iBAAiB,GAA9B,MAAa,iBAAqB,SAAQ,aAAa;IAoBnD,YAEa,QAAiD,EAC/B,KAAuC,EACtC,MAA2B,EACX,iBAAoC;QAEhF,KAAK,EAAE,CAAC;QALC,aAAQ,GAAR,QAAQ,CAAyC;QAC/B,UAAK,GAAL,KAAK,CAAkC;QACtC,WAAM,GAAN,MAAM,CAAqB;QACX,sBAAiB,GAAjB,iBAAiB,CAAmB;QAtBpF,YAAO,GAAoC,EAAE,CAAC;QAK9C,SAAI,GAAwB,GAAG,CAAC;QAIhC,cAAS,GAAW,CAAC,CAAC;QAGb,oBAAe,GAAG,IAAI,YAAY,EAAU,CAAC;QAG7C,iBAAY,GAAG,IAAI,YAAY,EAA2B,CAAC;QAcpE,WAAM,GAAqB,MAAM,CAAC,CAAC;KAJlC;IAMD,YAAY,CAAC,MAA+B;QACxC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC7C;aAAM;YACH,IAAI,CAAC,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAChC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACvB;IAED,eAAe;QACX,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;KAC1C;EACJ;;YA7B0B,UAAU,uBAD5B,MAAM,SAAC,2BAA2B;YAED,UAAU,uBAA3C,MAAM,SAAC,QAAQ;YACoB,UAAU,uBAA7C,MAAM,SAAC,SAAS;YAC8C,iBAAiB,uBAA/E,MAAM,SAAC,iBAAiB;;AAtB7B;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;kDAC6B;AAK9C;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,gBAAgB,CAAC;IAC7B,cAAc,EAAE;+CACe;AAIhC;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;oDACK;AAGtB;IADC,MAAM,EAAE;0DAC6C;AAGtD;IADC,MAAM,EAAE;uDAC2D;AAcpE;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;iDACkB;AAhC1B,iBAAiB;IAT7B,SAAS,CAAC;QACP,QAAQ,EAAE,iBAAiB;QAC3B,SAAS,EAAE,mBAAmB;QAC9B,IAAI,EAAE;YACF,oBAAoB,EAAE,OAAO;YAC7B,kBAAkB,EAAE,QAAQ;YAC5B,KAAK,EAAE,2BAA2B;SACrC;KACJ,CAAC;IAsBO,WAAA,MAAM,CAAC,2BAA2B,CAAC,CAAA;IAEnC,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;IAChB,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;IACjB,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;GAzBrB,iBAAiB,CAmD7B;;IChDY,cAAc,GAA3B,MAAa,cAAc;IAmBvB,YAGqB,IAAgC,EAGxC,KAAkC;QAH1B,SAAI,GAAJ,IAAI,CAA4B;QAGxC,UAAK,GAAL,KAAK,CAA6B;QAtB/C,WAAM,GAA4B,IAAI,CAAC,IAAI;cACrC,CAAC,CAAC,EAAE,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;cAC/C,IAAI,CAAC;QAIX,cAAS,GAAG,KAAK,CAAC;QAKlB,WAAM,GAAG,KAAK,CAAC;QAGf,UAAK,GAAkB,IAAI,CAAC;KASxB;IAEJ,IAAI,GAAG;QACH,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,MAAM,IAAI,wBAAwB,EAAE,CAAC;SACxC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;KAC5B;IAED,IAAI,SAAS;QACT,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;KAC7E;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,SAAS,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;KAChE;IAED,SAAS,CAAC,KAAa;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;EACJ;;YAzB8B,gBAAgB,uBAFtC,QAAQ,YACR,MAAM,SAAC,gBAAgB;YAIR,iBAAiB,uBAFhC,QAAQ,YACR,MAAM,SAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC;;AArB/C;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;8CAGN;AAIX;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;iDACC;AAKlB;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,eAAe,CAAC;IAC5B,cAAc,EAAE;8CACF;AAGf;IADC,WAAW,CAAC,gBAAgB,CAAC;6CACF;AAjBnB,cAAc;IAZ1B,SAAS,CAAC;QACP,QAAQ,EAAE,WAAW;QACrB,ynBAAiC;QAEjC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE;YACP;gBACI,OAAO,EAAE,eAAe;gBACxB,WAAW,EAAE,UAAU;aAC1B;SACJ;;KACJ,CAAC;IAqBO,WAAA,QAAQ,EAAE,CAAA;IACV,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAExB,WAAA,QAAQ,EAAE,CAAA;IACV,WAAA,MAAM,CAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAA;GAxBvC,cAAc,CA+C1B;;ICpEY,oBAAoB,GAAjC,MAAa,oBAAoB;IAC7B,YAEqB,MAA6B,EACF,KAA2B,EAC9B,EAAqB;QAF7C,WAAM,GAAN,MAAM,CAAuB;QACF,UAAK,GAAL,KAAK,CAAsB;QAC9B,OAAE,GAAF,EAAE,CAAmB;QAKzD,WAAM,GAAG,MAAc,CAAC,CAAC;QAH9B,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;KAChC;IAID,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,SAAS;QACL,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;YACzE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACxC;KACJ;EACJ;;YAlBgC,kBAAkB,uBAD1C,MAAM,SAAC,UAAU,CAAC,MAAM,kBAAkB,CAAC;YAEO,iBAAiB,uBAAnE,MAAM,SAAC,iBAAiB;YACoB,cAAc,uBAA1D,MAAM,SAAC,cAAc;;AALjB,oBAAoB;IAHhC,SAAS,CAAC;QACP,QAAQ,EAAE,wBAAwB;KACrC,CAAC;IAGO,WAAA,MAAM,CAAC,UAAU,CAAC,MAAM,kBAAkB,CAAC,CAAC,CAAA;IAE5C,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;IACzB,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;GALlB,oBAAoB,CAqBhC;;ICZY,kBAAkB,GAA/B,MAAa,kBAAkB;IAc3B,YACgD,KAA2B;QAA3B,UAAK,GAAL,KAAK,CAAsB;QAb1D,cAAS,GAAuC,WAAW,CAAC;QAI7E,cAAS,GAA4B,IAAI,CAAC;QAGjC,oBAAe,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CACnD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EACrC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CACrC,CAAC;KAIE;IAEI,MAAM,CAAC,MAA+B;;QAC1C,mBAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,0CAAE,GAAG,mCAAI,IAAI,CAAC;KACrE;EACJ;;YAN0D,iBAAiB,uBAAnE,MAAM,SAAC,iBAAiB;;AAb7B;IADC,eAAe,CAAC,oBAAoB,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;qDACkB;AAI7E;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;qDACyB;AAG1C;IADC,MAAM,EAAE;2DAIP;AAZO,kBAAkB;IAH9B,SAAS,CAAC;QACP,QAAQ,EAAE,4BAA4B;KACzC,CAAC;IAgBO,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;GAfrB,kBAAkB,CAqB9B;;IChBY,iBAAiB,GAA9B,MAAa,iBAAiB;IAC1B,YAAwC,MAA2B;QAA3B,WAAM,GAAN,MAAM,CAAqB;KAAI;EAC1E;;YADmD,UAAU,uBAA7C,MAAM,SAAC,SAAS;;AADpB,iBAAiB;IAd7B,SAAS,CAAC;QACP,QAAQ,EAAE,iBAAiB;QAC3B,SAAS,EAAE;YACP,kBAAkB;YAClB,2BAA2B;YAC3B;gBACI,OAAO,EAAE,wBAAwB;gBACjC,QAAQ,EAAE,6BAA6B;aAC1C;SACJ;QACD,IAAI,EAAE;YACF,kBAAkB,EAAE,QAAQ;SAC/B;KACJ,CAAC;IAEe,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;GADrB,iBAAiB,CAE7B;;ICfY,gBAAgB,GAA7B,MAAa,gBAAgB;IACzB,YACgD,KAA2B;QAA3B,UAAK,GAAL,KAAK,CAAsB;KACvE;IAEJ,SAAS,CAAC,IAAkB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KACnE;IAGO,IAAI,CACR,IAAkB,EAClB,MAAwB,EACxB,SAAiB;QAEjB,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAC7D;EACJ;;YAf0D,iBAAiB,uBAAnE,MAAM,SAAC,iBAAiB;;AAQ7B;IADC,OAAO;4CAOP;AAhBQ,gBAAgB;IAJ5B,IAAI,CAAC;QACF,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,KAAK;KACd,CAAC;IAGO,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;GAFrB,gBAAgB,CAiB5B;;ACpBD;MACa,aAAa,GAAG,yBAAyB;MAEzC,kBAAkB,GAAe;IAC1C,iBAAiB;IACjB,gBAAgB;IAChB;QACI,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;QACjF,UAAU,EAAE,aAAa;KAC5B;;;ICKQ,cAAc,GAA3B,MAAa,cAAc;IAsBvB,YAEa,KAA2B,EAEnB,IAA0B;QAFlC,UAAK,GAAL,KAAK,CAAsB;QAEnB,SAAI,GAAJ,IAAI,CAAsB;QAxB9B,UAAK,GAAgC,WAAW,CAAC;QAEzD,WAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CACrC,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MACA,IAAI,CAAC,KAAK,CAAC,MAAM,CACb,CAAC,MAAM,EAAE,IAAI,sCAAU,MAAM,KAAE,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,IAAE,EACrD,EAAE,CACL,CACJ,CACJ,CAAC;QAEO,UAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CACxC,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CACC,MACI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAChF,CACJ,CAAC;KAOE;EACP;;YAJuB,iBAAiB,uBADhC,MAAM,SAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC;YAGpB,iBAAiB,uBADvC,MAAM,SAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC;;AAvB/C;IADC,eAAe,CAAC,UAAU,CAAC,MAAM,gBAAgB,CAAC,CAAC;6CACc;AAFzD,cAAc;IAN1B,SAAS,CAAC;QACP,QAAQ,EAAE,WAAW;QACrB,idAAiC;QACjC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE,CAAC,kBAAkB,CAAC;KAClC,CAAC;IAwBO,WAAA,MAAM,CAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAA;IAE3C,WAAA,MAAM,CAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAA;GAzBvC,cAAc,CA4B1B;;ICtBY,iBAAiB,GAA9B,MAAa,iBAAiB;IAsB1B,YAC+C,IAAyB,EAE3D,KAA2B;QAFO,SAAI,GAAJ,IAAI,CAAqB;QAE3D,UAAK,GAAL,KAAK,CAAsB;QAtBxC,SAAI,GAAiB,EAAE,CAAC;QAIxB,YAAO,GAAwB,EAAE,CAAC;QAIlC,SAAI,GAAG,IAAI,CAAC;QAGH,eAAU,GAAG,IAAI,YAAY,EAAW,CAAC;QAMzC,SAAI,GAAiC,WAAW,CAAC;QAYjD,cAAS,GAAG,CACjB,SAAY,EACZ,KAAa,MACoB,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC,CAAC;KATrD;IAEJ,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzC;IAOD,OAAO;QACH,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACnC;EACJ;;YAlBwD,gBAAgB,uBAAhE,MAAM,SAAC,gBAAgB;YAER,iBAAiB,uBADhC,MAAM,SAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC;;AArB/C;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;+CACO;AAIxB;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;kDACiB;AAIlC;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;+CACL;AAGZ;IADC,MAAM,EAAE;qDACyC;AAGlD;IADC,YAAY,CAAC,UAAU,CAAC,MAAM,eAAe,CAAC,CAAC;8CACd;AAGlC;IADC,eAAe,CAAC,UAAU,CAAC,MAAM,cAAc,CAAC,CAAC;+CACQ;AApBjD,iBAAiB;IAP7B,SAAS,CAAC;QACP,QAAQ,EAAE,iBAAiB;QAC3B,+4BAAoC;QAEpC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE,kBAAkB;;KAChC,CAAC;IAwBO,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACxB,WAAA,MAAM,CAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAA;GAxBvC,iBAAiB,CAyC7B;;ICvDY,cAAc,GAA3B,MAAa,cAAc;EAI1B;AADG;IAFC,WAAW,CAAC,iBAAiB,CAAC;IAC9B,YAAY,CAAC,SAAS,CAAC;+CACE;AAHjB,cAAc;IAN1B,SAAS,CAAC;QACP,QAAQ,EAAE,sBAAsB;QAChC,QAAQ,EAAE,2BAA2B;QAErC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;KAClD,CAAC;GACW,cAAc,CAI1B;;ICKY,mBAAmB,GAAhC,MAAa,mBAAmB;IAiB5B,YAEa,KAA2B;QAA3B,UAAK,GAAL,KAAK,CAAsB;QAd/B,UAAK,GAAmC,WAAW,CAAC;QAEpD,WAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CACrC,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MACA,IAAI,CAAC,KAAK,CAAC,MAAM,CACb,CAAC,MAAM,EAAE,IAAI,sCAAU,MAAM,KAAE,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,IAAE,EACrD,EAAE,CACL,CACJ,CACJ,CAAC;KAKE;EACP;;YAFuB,iBAAiB,uBADhC,MAAM,SAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC;;AAhB/C;IADC,YAAY,CAAC,UAAU,CAAC,MAAM,cAAc,CAAC,CAAC;+CAC1B;AAGrB;IADC,eAAe,CAAC,UAAU,CAAC,MAAM,gBAAgB,CAAC,CAAC;kDACS;AALpD,mBAAmB;IAN/B,SAAS,CAAC;QACP,QAAQ,EAAE,gBAAgB;QAC1B,2eAAuC;QACvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE,CAAC,kBAAkB,CAAC;KAClC,CAAC;IAmBO,WAAA,MAAM,CAAC,UAAU,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAA;GAlBvC,mBAAmB,CAqB/B;;ICWY,cAAc,GAA3B,MAAa,cAAc;EAAG;AAAjB,cAAc;IAlC1B,QAAQ,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,YAAY,CAAC;QAC9E,YAAY,EAAE;YACV,iBAAiB;YACjB,iBAAiB;YACjB,mBAAmB;YACnB,cAAc;YACd,cAAc;YACd,cAAc;YACd,gBAAgB;YAChB,gBAAgB;YAChB,eAAe;YACf,kBAAkB;YAClB,oBAAoB;YACpB,iBAAiB;YACjB,mBAAmB;YACnB,gBAAgB;SACnB;QACD,OAAO,EAAE;YACL,iBAAiB;YACjB,iBAAiB;YACjB,mBAAmB;YACnB,cAAc;YACd,cAAc;YACd,cAAc;YACd,gBAAgB;YAChB,gBAAgB;YAChB,eAAe;YACf,kBAAkB;YAClB,oBAAoB;YACpB,iBAAiB;YACjB,gBAAgB;SACnB;KACJ,CAAC;GACW,cAAc,CAAG;;ACvD9B;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-table-components-reorder.js","sources":["ng://@taiga-ui/addon-table/components/reorder/reorder.component.ts","ng://@taiga-ui/addon-table/components/reorder/reorder.module.ts","ng://@taiga-ui/addon-table/components/reorder/taiga-ui-addon-table-components-reorder.ts"],"sourcesContent":["import {CdkDragDrop, moveItemInArray} from '@angular/cdk/drag-drop';\nimport {\n Component,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {TUI_TABLE_SHOW_HIDE_MESSAGE} from '@taiga-ui/addon-table/tokens';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\n\n// @bad TODO: a11y\n@Component({\n selector: 'tui-reorder',\n templateUrl: './reorder.template.html',\n styleUrls: ['./reorder.style.less'],\n})\nexport class TuiReorderComponent<T> {\n @Input()\n @tuiDefaultProp()\n items: readonly T[] = [];\n\n @Input()\n @tuiDefaultProp()\n enabled: readonly T[] = [];\n\n @Output()\n readonly itemsChange = new EventEmitter<readonly T[]>();\n\n @Output()\n readonly enabledChange = new EventEmitter<readonly T[]>();\n\n constructor(\n @Inject(TUI_TABLE_SHOW_HIDE_MESSAGE) readonly showHideText$: Observable<string>,\n ) {}\n\n @HostListener('focusout.stop')\n noop() {}\n\n isEnabled(item: T): boolean {\n return this.enabled.includes(item);\n }\n\n getIcon(item: T): string {\n return this.isEnabled(item) ? 'tuiIconEyeOpen' : 'tuiIconEyeClosed';\n }\n\n toggle(toggled: T) {\n const enabled = this.isEnabled(toggled)\n ? this.enabled.filter(item => item !== toggled)\n : this.enabled.concat(toggled);\n\n this.updateEnabled(enabled);\n }\n\n drop(event: CdkDragDrop<T>) {\n const items = [...this.items];\n\n moveItemInArray(items, event.previousIndex, event.currentIndex);\n this.items = items;\n this.itemsChange.emit(items);\n this.updateEnabled(items.filter(item => this.enabled.includes(item)));\n }\n\n private updateEnabled(enabled: readonly T[]) {\n this.enabled = enabled;\n this.enabledChange.emit(enabled);\n }\n}\n","import {DragDropModule} from '@angular/cdk/drag-drop';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiReorderComponent} from './reorder.component';\n\n@NgModule({\n imports: [\n CommonModule,\n DragDropModule,\n TuiSvgModule,\n TuiButtonModule,\n TuiPreventDefaultModule,\n ],\n declarations: [TuiReorderComponent],\n exports: [TuiReorderComponent],\n})\nexport class TuiReorderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAaA;;IAqBI,6BACkD,aAAiC;QAAjC,kBAAa,GAAb,aAAa,CAAoB;QAbnF,UAAK,GAAiB,EAAE,CAAC;QAIzB,YAAO,GAAiB,EAAE,CAAC;QAGlB,gBAAW,GAAG,IAAI,YAAY,EAAgB,CAAC;QAG/C,kBAAa,GAAG,IAAI,YAAY,EAAgB,CAAC;KAItD;IAGJ,kCAAI,GAAJ,eAAS;IAET,uCAAS,GAAT,UAAU,IAAO;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KACtC;IAED,qCAAO,GAAP,UAAQ,IAAO;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;KACvE;IAED,oCAAM,GAAN,UAAO,OAAU;QACb,IAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;cACjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,KAAK,OAAO,GAAA,CAAC;cAC7C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,kCAAI,GAAJ,UAAK,KAAqB;QAA1B,iBAOC;QANG,IAAM,KAAK,YAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QAE9B,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC,CAAC;KACzE;IAEO,2CAAa,GAArB,UAAsB,OAAqB;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACpC;;gBAlCgE,UAAU,uBAAtE,MAAM,SAAC,2BAA2B;;IAbvC;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;sDACQ;IAIzB;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;wDACU;IAG3B;QADC,MAAM,EAAE;4DAC+C;IAGxD;QADC,MAAM,EAAE;8DACiD;IAO1D;QADC,YAAY,CAAC,eAAe,CAAC;mDACrB;IApBA,mBAAmB;QAL/B,SAAS,CAAC;YACP,QAAQ,EAAE,aAAa;YACvB,kwBAAsC;;SAEzC,CAAC;QAiBO,WAAA,MAAM,CAAC,2BAA2B,CAAC,CAAA;OAhB/B,mBAAmB,CAmD/B;IAAD,0BAAC;CAnDD;;;ICAA;KAAgC;IAAnB,gBAAgB;QAX5B,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY;gBACZ,cAAc;gBACd,YAAY;gBACZ,eAAe;gBACf,uBAAuB;aAC1B;YACD,YAAY,EAAE,CAAC,mBAAmB,CAAC;YACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;SACjC,CAAC;OACW,gBAAgB,CAAG;IAAD,uBAAC;CAAhC;;ACnBA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-table-components-reorder.js","sources":["ng://@taiga-ui/addon-table/components/reorder/reorder.component.ts","ng://@taiga-ui/addon-table/components/reorder/reorder.module.ts","ng://@taiga-ui/addon-table/components/reorder/taiga-ui-addon-table-components-reorder.ts"],"sourcesContent":["import {CdkDragDrop, moveItemInArray} from '@angular/cdk/drag-drop';\nimport {\n Component,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {TUI_TABLE_SHOW_HIDE_MESSAGE} from '@taiga-ui/addon-table/tokens';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\n\n// @bad TODO: a11y\n@Component({\n selector: 'tui-reorder',\n templateUrl: './reorder.template.html',\n styleUrls: ['./reorder.style.less'],\n})\nexport class TuiReorderComponent<T> {\n @Input()\n @tuiDefaultProp()\n items: readonly T[] = [];\n\n @Input()\n @tuiDefaultProp()\n enabled: readonly T[] = [];\n\n @Output()\n readonly itemsChange = new EventEmitter<readonly T[]>();\n\n @Output()\n readonly enabledChange = new EventEmitter<readonly T[]>();\n\n constructor(\n @Inject(TUI_TABLE_SHOW_HIDE_MESSAGE) readonly showHideText$: Observable<string>,\n ) {}\n\n @HostListener('focusout.stop')\n noop(): void {}\n\n isEnabled(item: T): boolean {\n return this.enabled.includes(item);\n }\n\n getIcon(item: T): string {\n return this.isEnabled(item) ? 'tuiIconEyeOpen' : 'tuiIconEyeClosed';\n }\n\n toggle(toggled: T): void {\n const enabled = this.isEnabled(toggled)\n ? this.enabled.filter(item => item !== toggled)\n : this.enabled.concat(toggled);\n\n this.updateEnabled(enabled);\n }\n\n drop(event: CdkDragDrop<T>): void {\n const items = [...this.items];\n\n moveItemInArray(items, event.previousIndex, event.currentIndex);\n this.items = items;\n this.itemsChange.emit(items);\n this.updateEnabled(items.filter(item => this.enabled.includes(item)));\n }\n\n private updateEnabled(enabled: readonly T[]): void {\n this.enabled = enabled;\n this.enabledChange.emit(enabled);\n }\n}\n","import {DragDropModule} from '@angular/cdk/drag-drop';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiReorderComponent} from './reorder.component';\n\n@NgModule({\n imports: [\n CommonModule,\n DragDropModule,\n TuiSvgModule,\n TuiButtonModule,\n TuiPreventDefaultModule,\n ],\n declarations: [TuiReorderComponent],\n exports: [TuiReorderComponent],\n})\nexport class TuiReorderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAaA;;IAqBI,6BACkD,aAAiC;QAAjC,kBAAa,GAAb,aAAa,CAAoB;QAbnF,UAAK,GAAiB,EAAE,CAAC;QAIzB,YAAO,GAAiB,EAAE,CAAC;QAGlB,gBAAW,GAAG,IAAI,YAAY,EAAgB,CAAC;QAG/C,kBAAa,GAAG,IAAI,YAAY,EAAgB,CAAC;KAItD;IAGJ,kCAAI,GAAJ,eAAe;IAEf,uCAAS,GAAT,UAAU,IAAO;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KACtC;IAED,qCAAO,GAAP,UAAQ,IAAO;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;KACvE;IAED,oCAAM,GAAN,UAAO,OAAU;QACb,IAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;cACjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,KAAK,OAAO,GAAA,CAAC;cAC7C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,kCAAI,GAAJ,UAAK,KAAqB;QAA1B,iBAOC;QANG,IAAM,KAAK,YAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QAE9B,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC,CAAC;KACzE;IAEO,2CAAa,GAArB,UAAsB,OAAqB;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACpC;;gBAlCgE,UAAU,uBAAtE,MAAM,SAAC,2BAA2B;;IAbvC;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;sDACQ;IAIzB;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;wDACU;IAG3B;QADC,MAAM,EAAE;4DAC+C;IAGxD;QADC,MAAM,EAAE;8DACiD;IAO1D;QADC,YAAY,CAAC,eAAe,CAAC;mDACf;IApBN,mBAAmB;QAL/B,SAAS,CAAC;YACP,QAAQ,EAAE,aAAa;YACvB,kwBAAsC;;SAEzC,CAAC;QAiBO,WAAA,MAAM,CAAC,2BAA2B,CAAC,CAAA;OAhB/B,mBAAmB,CAmD/B;IAAD,0BAAC;CAnDD;;;ICAA;KAAgC;IAAnB,gBAAgB;QAX5B,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY;gBACZ,cAAc;gBACd,YAAY;gBACZ,eAAe;gBACf,uBAAuB;aAC1B;YACD,YAAY,EAAE,CAAC,mBAAmB,CAAC;YACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;SACjC,CAAC;OACW,gBAAgB,CAAG;IAAD,uBAAC;CAAhC;;ACnBA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-table-components-resizable-column.js","sources":["ng://@taiga-ui/addon-table/components/resizable-column/resizable-column.component.ts","ng://@taiga-ui/addon-table/components/resizable-column/resizable-column.directive.ts","ng://@taiga-ui/addon-table/components/resizable-column/resizable-column.module.ts","ng://@taiga-ui/addon-table/components/resizable-column/taiga-ui-addon-table-components-resizable-column.ts"],"sourcesContent":["import {Component, ElementRef, HostBinding} from '@angular/core';\nimport {TUI_ELEMENT_REF} from '@taiga-ui/core';\n\n/** @deprecated use `<th tuiTh [resizable]=\"true\">` from {@link TuiTableModule} */\n@Component({\n selector: 'th[tuiResizableColumn]',\n templateUrl: './resizable-column.template.html',\n styleUrls: ['./resizable-column.style.less'],\n providers: [\n {\n provide: TUI_ELEMENT_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiResizableColumnComponent {\n @HostBinding('style.width.px')\n width: number | null = null;\n\n onResize(width: number) {\n this.width = width;\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/** @deprecated use `<th tuiTh [resizable]=\"true\">` from {@link TuiTableModule} */\n// @dynamic\n@Directive({\n selector: '[tuiResizableColumn]',\n})\nexport class TuiResizableColumnDirective {\n @Output()\n readonly tuiResizableColumn = typedFromEvent(\n this.elementRef.nativeElement,\n 'mousedown',\n ).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 {NgModule} from '@angular/core';\n\nimport {TuiResizableColumnComponent} from './resizable-column.component';\nimport {TuiResizableColumnDirective} from './resizable-column.directive';\n\n/** @deprecated use `<th tuiTh [resizable]=\"true\">` from {@link TuiTableModule} */\n@NgModule({\n declarations: [TuiResizableColumnComponent, TuiResizableColumnDirective],\n exports: [TuiResizableColumnComponent, TuiResizableColumnDirective],\n})\nexport class TuiResizableColumnModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAGA;;IAYA;QAEI,UAAK,GAAkB,IAAI,CAAC;KAK/B;IAHG,8CAAQ,GAAR,UAAS,KAAa;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;IAJD;QADC,WAAW,CAAC,gBAAgB,CAAC;8DACF;IAFnB,2BAA2B;QAXvC,SAAS,CAAC;YACP,QAAQ,EAAE,wBAAwB;YAClC,wHAA+C;YAE/C,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,eAAe;oBACxB,WAAW,EAAE,UAAU;iBAC1B;aACJ;;SACJ,CAAC;OACW,2BAA2B,CAOvC;IAAD,kCAAC;CAPD;;ACTA;AACA;;IAsBI,qCACuC,WAAqB,EAEvC,UAAmC,EAEnC,SAAiD;QALtE,iBAMI;QALmC,gBAAW,GAAX,WAAW,CAAU;QAEvC,eAAU,GAAV,UAAU,CAAyB;QAEnC,cAAS,GAAT,SAAS,CAAwC;QArB7D,uBAAkB,GAAG,cAAc,CACxC,IAAI,CAAC,UAAU,CAAC,aAAa,EAC7B,WAAW,CACd,CAAC,IAAI,CACF,cAAc,EAAE,EAChB,SAAS,CAAC;YACA,IAAA,0DAAqE,EAApE,gBAAK,EAAE,gBAA6D,CAAC;YAE5E,OAAO,cAAc,CAAC,KAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,IAAI,CACrD,oBAAoB,EAAE,EACtB,GAAG,CAAC,UAAC,EAAS;oBAAR,oBAAO;gBAAM,OAAA,KAAK,GAAG,OAAO,GAAG,KAAK;aAAA,CAAC,EAC3C,SAAS,CAAC,cAAc,CAAC,KAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CACzD,CAAC;SACL,CAAC,CACL,CAAC;KAQE;;gBALgD,QAAQ,uBAAvD,MAAM,SAAC,QAAQ;gBAEa,UAAU,uBADtC,MAAM,SAAC,UAAU;gBAGU,UAAU,uBADrC,MAAM,SAAC,eAAe;;IApB3B;QADC,MAAM,EAAE;2EAeP;IAhBO,2BAA2B;QAHvC,SAAS,CAAC;YACP,QAAQ,EAAE,sBAAsB;SACnC,CAAC;QAoBO,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;QAChB,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAElB,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;OAtBnB,2BAA2B,CAyBvC;IAAD,kCAAC;CAzBD;;ACNA;;IAKA;KAAwC;IAA3B,wBAAwB;QAJpC,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,2BAA2B,EAAE,2BAA2B,CAAC;YACxE,OAAO,EAAE,CAAC,2BAA2B,EAAE,2BAA2B,CAAC;SACtE,CAAC;OACW,wBAAwB,CAAG;IAAD,+BAAC;CAAxC;;ACVA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-table-components-resizable-column.js","sources":["ng://@taiga-ui/addon-table/components/resizable-column/resizable-column.component.ts","ng://@taiga-ui/addon-table/components/resizable-column/resizable-column.directive.ts","ng://@taiga-ui/addon-table/components/resizable-column/resizable-column.module.ts","ng://@taiga-ui/addon-table/components/resizable-column/taiga-ui-addon-table-components-resizable-column.ts"],"sourcesContent":["import {Component, ElementRef, HostBinding} from '@angular/core';\nimport {TUI_ELEMENT_REF} from '@taiga-ui/core';\n\n/** @deprecated use `<th tuiTh [resizable]=\"true\">` from {@link TuiTableModule} */\n@Component({\n selector: 'th[tuiResizableColumn]',\n templateUrl: './resizable-column.template.html',\n styleUrls: ['./resizable-column.style.less'],\n providers: [\n {\n provide: TUI_ELEMENT_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiResizableColumnComponent {\n @HostBinding('style.width.px')\n width: number | null = null;\n\n onResize(width: number): void {\n this.width = width;\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/** @deprecated use `<th tuiTh [resizable]=\"true\">` from {@link TuiTableModule} */\n// @dynamic\n@Directive({\n selector: '[tuiResizableColumn]',\n})\nexport class TuiResizableColumnDirective {\n @Output()\n readonly tuiResizableColumn = typedFromEvent(\n this.elementRef.nativeElement,\n 'mousedown',\n ).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 {NgModule} from '@angular/core';\n\nimport {TuiResizableColumnComponent} from './resizable-column.component';\nimport {TuiResizableColumnDirective} from './resizable-column.directive';\n\n/** @deprecated use `<th tuiTh [resizable]=\"true\">` from {@link TuiTableModule} */\n@NgModule({\n declarations: [TuiResizableColumnComponent, TuiResizableColumnDirective],\n exports: [TuiResizableColumnComponent, TuiResizableColumnDirective],\n})\nexport class TuiResizableColumnModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAGA;;IAYA;QAEI,UAAK,GAAkB,IAAI,CAAC;KAK/B;IAHG,8CAAQ,GAAR,UAAS,KAAa;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;IAJD;QADC,WAAW,CAAC,gBAAgB,CAAC;8DACF;IAFnB,2BAA2B;QAXvC,SAAS,CAAC;YACP,QAAQ,EAAE,wBAAwB;YAClC,wHAA+C;YAE/C,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,eAAe;oBACxB,WAAW,EAAE,UAAU;iBAC1B;aACJ;;SACJ,CAAC;OACW,2BAA2B,CAOvC;IAAD,kCAAC;CAPD;;ACTA;AACA;;IAsBI,qCACuC,WAAqB,EAEvC,UAAmC,EAEnC,SAAiD;QALtE,iBAMI;QALmC,gBAAW,GAAX,WAAW,CAAU;QAEvC,eAAU,GAAV,UAAU,CAAyB;QAEnC,cAAS,GAAT,SAAS,CAAwC;QArB7D,uBAAkB,GAAG,cAAc,CACxC,IAAI,CAAC,UAAU,CAAC,aAAa,EAC7B,WAAW,CACd,CAAC,IAAI,CACF,cAAc,EAAE,EAChB,SAAS,CAAC;YACA,IAAA,0DAAqE,EAApE,gBAAK,EAAE,gBAA6D,CAAC;YAE5E,OAAO,cAAc,CAAC,KAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,IAAI,CACrD,oBAAoB,EAAE,EACtB,GAAG,CAAC,UAAC,EAAS;oBAAR,oBAAO;gBAAM,OAAA,KAAK,GAAG,OAAO,GAAG,KAAK;aAAA,CAAC,EAC3C,SAAS,CAAC,cAAc,CAAC,KAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CACzD,CAAC;SACL,CAAC,CACL,CAAC;KAQE;;gBALgD,QAAQ,uBAAvD,MAAM,SAAC,QAAQ;gBAEa,UAAU,uBADtC,MAAM,SAAC,UAAU;gBAGU,UAAU,uBADrC,MAAM,SAAC,eAAe;;IApB3B;QADC,MAAM,EAAE;2EAeP;IAhBO,2BAA2B;QAHvC,SAAS,CAAC;YACP,QAAQ,EAAE,sBAAsB;SACnC,CAAC;QAoBO,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;QAChB,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAElB,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;OAtBnB,2BAA2B,CAyBvC;IAAD,kCAAC;CAzBD;;ACNA;;IAKA;KAAwC;IAA3B,wBAAwB;QAJpC,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,2BAA2B,EAAE,2BAA2B,CAAC;YACxE,OAAO,EAAE,CAAC,2BAA2B,EAAE,2BAA2B,CAAC;SACtE,CAAC;OACW,wBAAwB,CAAG;IAAD,+BAAC;CAAxC;;ACVA;;;;;;"}
@@ -1,16 +1,33 @@
1
- import { __decorate, __param } from 'tslib';
2
- import { EventEmitter, Inject, Input, Output, Component, NgModule } from '@angular/core';
1
+ import { __assign, __decorate, __param } from 'tslib';
2
+ import { InjectionToken, EventEmitter, Inject, Input, Output, Component, NgModule } from '@angular/core';
3
3
  import { TUI_TABLE_PAGINATION_TEXTS } from '@taiga-ui/addon-table/tokens';
4
4
  import { tuiDefaultProp } from '@taiga-ui/cdk';
5
- import { TUI_SPIN_TEXTS, TuiButtonModule, TuiLinkModule, TuiHostedDropdownModule, TuiDataListModule } from '@taiga-ui/core';
5
+ import { TUI_SPIN_TEXTS, TuiButtonModule, TuiLinkModule, TuiHostedDropdownModule, TuiDataListModule, TuiSvgModule } from '@taiga-ui/core';
6
6
  import { Observable } from 'rxjs';
7
7
  import { CommonModule } from '@angular/common';
8
+ import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
9
+
10
+ function defaultSizeOptionContent(_a) {
11
+ var $implicit = _a.$implicit;
12
+ return "" + $implicit;
13
+ }
14
+ var TUI_TABLE_PAGINATION_DEFAULT_OPTIONS = {
15
+ sizeOptionContent: defaultSizeOptionContent,
16
+ };
17
+ var TUI_TABLE_PAGINATION_OPTIONS = new InjectionToken('Default parameters for TablePagination component', { factory: function () { return TUI_TABLE_PAGINATION_DEFAULT_OPTIONS; } });
18
+ function tuiTablePaginationOptionsProvider(options) {
19
+ return {
20
+ provide: TUI_TABLE_PAGINATION_OPTIONS,
21
+ useValue: __assign(__assign({}, TUI_TABLE_PAGINATION_DEFAULT_OPTIONS), options),
22
+ };
23
+ }
8
24
 
9
25
  // @dynamic
10
26
  var TuiTablePaginationComponent = /** @class */ (function () {
11
- function TuiTablePaginationComponent(spinTexts$, texts$) {
27
+ function TuiTablePaginationComponent(spinTexts$, texts$, options) {
12
28
  this.spinTexts$ = spinTexts$;
13
29
  this.texts$ = texts$;
30
+ this.options = options;
14
31
  this.items = [10, 20, 50, 100];
15
32
  this.total = 0;
16
33
  this.page = 0;
@@ -72,7 +89,8 @@ var TuiTablePaginationComponent = /** @class */ (function () {
72
89
  };
73
90
  TuiTablePaginationComponent.ctorParameters = function () { return [
74
91
  { type: Observable, decorators: [{ type: Inject, args: [TUI_SPIN_TEXTS,] }] },
75
- { type: Observable, decorators: [{ type: Inject, args: [TUI_TABLE_PAGINATION_TEXTS,] }] }
92
+ { type: Observable, decorators: [{ type: Inject, args: [TUI_TABLE_PAGINATION_TEXTS,] }] },
93
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_TABLE_PAGINATION_OPTIONS,] }] }
76
94
  ]; };
77
95
  __decorate([
78
96
  Input(),
@@ -99,11 +117,12 @@ var TuiTablePaginationComponent = /** @class */ (function () {
99
117
  TuiTablePaginationComponent = __decorate([
100
118
  Component({
101
119
  selector: 'tui-table-pagination',
102
- 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>\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 *ngIf=\"item !== size\"\n tuiOption\n size=\"s\"\n class=\"t-item\"\n (click)=\"onItem(item)\"\n >\n {{ item }}\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",
103
- 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{width:5.5rem;box-sizing:border-box}.t-back{margin:0 .25rem 0 1.5rem}"]
120
+ 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",
121
+ 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}"]
104
122
  }),
105
123
  __param(0, Inject(TUI_SPIN_TEXTS)),
106
- __param(1, Inject(TUI_TABLE_PAGINATION_TEXTS))
124
+ __param(1, Inject(TUI_TABLE_PAGINATION_TEXTS)),
125
+ __param(2, Inject(TUI_TABLE_PAGINATION_OPTIONS))
107
126
  ], TuiTablePaginationComponent);
108
127
  return TuiTablePaginationComponent;
109
128
  }());
@@ -119,6 +138,8 @@ var TuiTablePaginationModule = /** @class */ (function () {
119
138
  TuiLinkModule,
120
139
  TuiHostedDropdownModule,
121
140
  TuiDataListModule,
141
+ TuiSvgModule,
142
+ PolymorpheusModule,
122
143
  ],
123
144
  declarations: [TuiTablePaginationComponent],
124
145
  exports: [TuiTablePaginationComponent],
@@ -131,5 +152,5 @@ var TuiTablePaginationModule = /** @class */ (function () {
131
152
  * Generated bundle index. Do not edit.
132
153
  */
133
154
 
134
- export { TuiTablePaginationComponent, TuiTablePaginationModule };
155
+ export { TUI_TABLE_PAGINATION_DEFAULT_OPTIONS, TUI_TABLE_PAGINATION_OPTIONS, TuiTablePaginationComponent, TuiTablePaginationModule, tuiTablePaginationOptionsProvider };
135
156
  //# sourceMappingURL=taiga-ui-addon-table-components-table-pagination.js.map
@@ -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.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 {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\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 ) {}\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) {\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() {\n this.page--;\n this.pageChange.emit(this.page);\n }\n\n forth() {\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} from '@taiga-ui/core';\n\nimport {TuiTablePaginationComponent} from './table-pagination.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiButtonModule,\n TuiLinkModule,\n TuiHostedDropdownModule,\n TuiDataListModule,\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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"}
@@ -125,7 +125,7 @@ var TUI_STUCK_PROVIDER = {
125
125
  useFactory: stuckFactory,
126
126
  };
127
127
 
128
- // TODO: remove in ivy compilation
128
+ // TODO: 3.0 remove in ivy compilation
129
129
  var TABLE_THRESHOLD = [0, 1];
130
130
  var TABLE_LABEL = {
131
131
  labelOutside: true,
@@ -144,7 +144,7 @@ var TUI_TABLE_PROVIDERS = [
144
144
  },
145
145
  {
146
146
  provide: TUI_TEXTFIELD_APPEARANCE,
147
- // TODO: remove in ivy compilation
147
+ // TODO: 3.0 remove in ivy compilation
148
148
  useValue: 'table',
149
149
  },
150
150
  {
@@ -345,7 +345,7 @@ var TuiSortableDirective = /** @class */ (function () {
345
345
  }
346
346
  };
347
347
  TuiSortableDirective.ctorParameters = function () { return [
348
- { type: TuiSortByDirective, decorators: [{ type: Inject, args: [TuiSortByDirective,] }] },
348
+ { type: TuiSortByDirective, decorators: [{ type: Inject, args: [forwardRef(function () { return TuiSortByDirective; }),] }] },
349
349
  { type: TuiTableDirective, decorators: [{ type: Inject, args: [TuiTableDirective,] }] },
350
350
  { type: TuiThComponent, decorators: [{ type: Inject, args: [TuiThComponent,] }] }
351
351
  ]; };
@@ -353,7 +353,7 @@ var TuiSortableDirective = /** @class */ (function () {
353
353
  Directive({
354
354
  selector: 'th[tuiTh][tuiSortable]',
355
355
  }),
356
- __param(0, Inject(TuiSortByDirective)),
356
+ __param(0, Inject(forwardRef(function () { return TuiSortByDirective; }))),
357
357
  __param(1, Inject(TuiTableDirective)),
358
358
  __param(2, Inject(TuiThComponent))
359
359
  ], TuiSortableDirective);
@@ -447,7 +447,7 @@ var TuiTableSortPipe = /** @class */ (function () {
447
447
  return TuiTableSortPipe;
448
448
  }());
449
449
 
450
- // TODO: remove in ivy compilation
450
+ // TODO: 3.0 remove in ivy compilation
451
451
  var TABLE_FACTORY = watchedControllerFactory;
452
452
  var TUI_TABLE_PROVIDER = [
453
453
  TuiDestroyService,
@@ -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(@Inject(TemplateRef) readonly template: TemplateRef<{}>) {}\n}\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[tuiHead]',\n})\nexport class TuiHeadDirective<T extends Record<any, any>> {\n @Input()\n tuiHead!: keyof T;\n\n constructor(@Inject(TemplateRef) readonly template: TemplateRef<{}>) {}\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {preventDefault, typedFromEvent} from '@taiga-ui/cdk';\nimport {TUI_ELEMENT_REF} from '@taiga-ui/core';\nimport {distinctUntilChanged, map, switchMap, takeUntil} from 'rxjs/operators';\n\n// @dynamic\n@Directive({\n selector: '[tuiResized]',\n})\nexport class TuiResizedDirective {\n @Output()\n readonly tuiResized = typedFromEvent(this.elementRef.nativeElement, 'mousedown').pipe(\n preventDefault(),\n switchMap(() => {\n const {width, right} = this.parentRef.nativeElement.getBoundingClientRect();\n\n return typedFromEvent(this.documentRef, 'mousemove').pipe(\n distinctUntilChanged(),\n map(({clientX}) => width + clientX - right),\n takeUntil(typedFromEvent(this.documentRef, 'mouseup')),\n );\n }),\n );\n\n constructor(\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_ELEMENT_REF)\n private readonly parentRef: ElementRef<HTMLTableHeaderCellElement>,\n ) {}\n}\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\nimport {TuiRowContext} from '@taiga-ui/addon-table/interfaces';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: 'ng-template[tuiRow]',\n})\nexport class TuiRowDirective<T> {\n @Input()\n @tuiDefaultProp()\n tuiRowOf: readonly T[] = [];\n\n constructor(@Inject(TemplateRef) readonly template: TemplateRef<TuiRowContext<T>>) {}\n\n static ngTemplateContextGuard<T>(\n _dir: TuiRowDirective<T>,\n _ctx: any,\n ): _ctx is TuiRowContext<T> {\n return true;\n }\n}\n","import {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport function stuckFactory(\n {nativeElement}: ElementRef,\n entries$: Observable<IntersectionObserverEntry[]>,\n): Observable<boolean> {\n const stream$ = entries$.pipe(map(([{intersectionRatio}]) => intersectionRatio < 1));\n\n nativeElement['$.class._stuck'] = stream$;\n\n return stream$;\n}\n\nexport const TUI_STUCK = new InjectionToken<boolean>('Stream of sticky stuck events');\n\nexport const TUI_STUCK_PROVIDER: Provider = {\n provide: TUI_STUCK,\n deps: [ElementRef, IntersectionObserverService],\n useFactory: stuckFactory,\n};\n","import {forwardRef, SkipSelf} from '@angular/core';\nimport {\n INTERSECTION_ROOT_MARGIN,\n INTERSECTION_THRESHOLD,\n IntersectionObserverService,\n} from '@ng-web-apis/intersection-observer';\nimport {\n MODE_PROVIDER,\n TUI_TEXTFIELD_APPEARANCE,\n TUI_TEXTFIELD_LABEL_OUTSIDE,\n TUI_TEXTFIELD_SIZE,\n} from '@taiga-ui/core';\nimport {TUI_INPUT_COUNT_OPTIONS, TuiInputCountOptions} from '@taiga-ui/kit';\n\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_STUCK_PROVIDER} from './stuck.provider';\n\n// TODO: remove in ivy compilation\nexport const TABLE_THRESHOLD = [0, 1];\nexport const TABLE_LABEL = {\n labelOutside: true,\n};\n\nexport function inputCountOptionsFactory(\n options: TuiInputCountOptions,\n): TuiInputCountOptions {\n return {...options, hideButtons: true};\n}\n\nexport const TUI_TABLE_PROVIDERS = [\n {\n provide: INTERSECTION_ROOT_MARGIN,\n useValue: '10000px 10000px 10000px 0px',\n },\n {\n provide: INTERSECTION_THRESHOLD,\n useValue: TABLE_THRESHOLD,\n },\n {\n provide: TUI_TEXTFIELD_APPEARANCE,\n // TODO: remove in ivy compilation\n useValue: 'table', // TuiAppearance.Table\n },\n {\n provide: TUI_TEXTFIELD_LABEL_OUTSIDE,\n useValue: TABLE_LABEL,\n },\n {\n provide: TUI_INPUT_COUNT_OPTIONS,\n deps: [[new SkipSelf(), TUI_INPUT_COUNT_OPTIONS]],\n useFactory: inputCountOptionsFactory,\n },\n {\n provide: TUI_TEXTFIELD_SIZE,\n useExisting: forwardRef(() => TuiTableDirective),\n },\n IntersectionObserverService,\n MODE_PROVIDER,\n TUI_STUCK_PROVIDER,\n];\n","import {\n ChangeDetectorRef,\n Directive,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {TuiController, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TUI_MODE, TuiBrightness, TuiSizeL, TuiSizeS} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {TUI_STUCK} from '../providers/stuck.provider';\nimport {TUI_TABLE_PROVIDERS} from '../providers/table.providers';\n\n@Directive({\n selector: 'table[tuiTable]',\n providers: TUI_TABLE_PROVIDERS,\n host: {\n '($.data-mode.attr)': 'mode$',\n '($.class._stuck)': 'stuck$',\n style: 'border-collapse: separate',\n },\n})\nexport class TuiTableDirective<T> extends TuiController {\n @Input()\n @tuiDefaultProp()\n columns: ReadonlyArray<keyof T | string> = [];\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS | TuiSizeL = 'm';\n\n @Input()\n @tuiDefaultProp()\n direction: -1 | 1 = 1;\n\n @Output()\n readonly directionChange = new EventEmitter<-1 | 1>();\n\n @Output()\n readonly sorterChange = new EventEmitter<TuiComparator<T> | null>();\n\n constructor(\n @Inject(IntersectionObserverService)\n readonly entries$: Observable<IntersectionObserverEntry[]>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_STUCK) readonly stuck$: Observable<boolean>,\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n ) {\n super();\n }\n\n @Input()\n @tuiDefaultProp()\n sorter: TuiComparator<T> = () => 0;\n\n updateSorter(sorter: TuiComparator<T> | null) {\n if (this.sorter === sorter) {\n this.direction = this.direction === 1 ? -1 : 1;\n this.directionChange.emit(this.direction);\n } else {\n this.sorter = sorter || (() => 0);\n this.sorterChange.emit(this.sorter);\n this.direction = 1;\n this.directionChange.emit(1);\n }\n\n this.change$.next();\n }\n\n ngAfterViewInit() {\n this.changeDetectorRef.detectChanges();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {defaultSort} from '@taiga-ui/addon-table/utils';\nimport {tuiDefaultProp, TuiTableSortKeyException} from '@taiga-ui/cdk';\nimport {TUI_ELEMENT_REF} from '@taiga-ui/core';\n\nimport {TuiHeadDirective} from '../directives/head.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\n\n@Component({\n selector: 'th[tuiTh]',\n templateUrl: './th.template.html',\n styleUrls: ['./th.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_ELEMENT_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiThComponent<T> {\n @Input()\n @tuiDefaultProp()\n sorter: TuiComparator<T> | null = this.head\n ? (a, b) => defaultSort(a[this.key], b[this.key])\n : null;\n\n @Input()\n @tuiDefaultProp()\n resizable = false;\n\n @Input()\n @HostBinding('class._sticky')\n @tuiDefaultProp()\n sticky = false;\n\n @HostBinding('style.width.px')\n width: number | null = null;\n\n constructor(\n @Optional()\n @Inject(TuiHeadDirective)\n private readonly head: TuiHeadDirective<T> | null,\n @Optional()\n @Inject(forwardRef(() => TuiTableDirective))\n readonly table: TuiTableDirective<T> | null,\n ) {}\n\n get key(): keyof T {\n if (!this.head) {\n throw new TuiTableSortKeyException();\n }\n\n return this.head.tuiHead;\n }\n\n get isCurrent(): boolean {\n return !!this.sorter && !!this.table && this.sorter === this.table.sorter;\n }\n\n get icon(): string {\n return this.isCurrent ? 'tuiIconSortDown' : 'tuiIconSortOff';\n }\n\n onResized(width: number) {\n this.width = width;\n }\n}\n","import {Directive, DoCheck, Inject} from '@angular/core';\n\nimport {TuiThComponent} from '../th/th.component';\nimport {TuiSortByDirective} from './sort-by.directive';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n selector: 'th[tuiTh][tuiSortable]',\n})\nexport class TuiSortableDirective<T> implements DoCheck {\n constructor(\n @Inject(TuiSortByDirective) private readonly sortBy: TuiSortByDirective<T>,\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n @Inject(TuiThComponent) private readonly th: TuiThComponent<T>,\n ) {\n this.th.sorter = this.sorter;\n }\n\n readonly sorter = () => 0;\n\n get key(): keyof T {\n return this.th.key;\n }\n\n ngDoCheck() {\n if (this.sortBy.tuiSortBy === this.key && this.table.sorter !== this.sorter) {\n this.table.updateSorter(this.sorter);\n }\n }\n}\n","import {\n ContentChildren,\n Directive,\n Inject,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {EMPTY_QUERY, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {filter, map} from 'rxjs/operators';\n\nimport {TuiSortableDirective} from './sortable.directive';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n selector: 'table[tuiTable][tuiSortBy]',\n})\nexport class TuiSortByDirective<T> {\n @ContentChildren(TuiSortableDirective, {descendants: true})\n private readonly sortables: QueryList<TuiSortableDirective<T>> = EMPTY_QUERY;\n\n @Input()\n @tuiDefaultProp()\n tuiSortBy: keyof T | string | null = null;\n\n @Output()\n readonly tuiSortByChange = this.table.sorterChange.pipe(\n filter(() => !!this.sortables.length),\n map(sorter => this.getKey(sorter)),\n );\n\n constructor(\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n ) {}\n\n private getKey(sorter: TuiComparator<T> | null): keyof T | null {\n return this.sortables.find(s => s.sorter === sorter)?.key ?? null;\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {\n INTERSECTION_ROOT_MARGIN,\n IntersectionObserverService,\n} from '@ng-web-apis/intersection-observer';\nimport {Observable} from 'rxjs';\n\nimport {TUI_STUCK, TUI_STUCK_PROVIDER} from '../providers/stuck.provider';\n\n@Directive({\n selector: 'thead[tuiThead]',\n providers: [\n TUI_STUCK_PROVIDER,\n IntersectionObserverService,\n {\n provide: INTERSECTION_ROOT_MARGIN,\n useValue: '0px 10000px 10000px 10000px',\n },\n ],\n host: {\n '($.class._stuck)': 'stuck$',\n },\n})\nexport class TuiTheadDirective {\n constructor(@Inject(TUI_STUCK) readonly stuck$: Observable<boolean>) {}\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {tuiPure} from '@taiga-ui/cdk';\n\nimport {TuiTableDirective} from '../directives/table.directive';\n\n@Pipe({\n name: 'tuiTableSort',\n pure: false,\n})\nexport class TuiTableSortPipe<T> implements PipeTransform {\n constructor(\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n ) {}\n\n transform(data: readonly T[]): readonly T[] {\n return this.sort(data, this.table.sorter, this.table.direction);\n }\n\n @tuiPure\n private sort(\n data: readonly T[],\n sorter: TuiComparator<T>,\n direction: -1 | 1,\n ): readonly T[] {\n return [...data].sort((a, b) => direction * sorter(a, b));\n }\n}\n","import {ChangeDetectorRef, Provider, SkipSelf} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {watchedControllerFactory} from '@taiga-ui/core';\n\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TuiTableSortPipe} from '../pipes/table-sort.pipe';\n\n// TODO: remove in ivy compilation\nexport const TABLE_FACTORY = watchedControllerFactory;\n\nexport const TUI_TABLE_PROVIDER: Provider[] = [\n TuiDestroyService,\n TuiTableSortPipe,\n {\n provide: TuiTableDirective,\n deps: [[new SkipSelf(), TuiTableDirective], ChangeDetectorRef, TuiDestroyService],\n useFactory: TABLE_FACTORY,\n },\n];\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n forwardRef,\n Inject,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {map, startWith} from 'rxjs/operators';\n\nimport {TuiCellDirective} from '../directives/cell.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_TABLE_PROVIDER} from '../providers/table.provider';\nimport {TuiTbodyComponent} from '../tbody/tbody.component';\n\n@Component({\n selector: 'tr[tuiTr]',\n templateUrl: './tr.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_TABLE_PROVIDER],\n})\nexport class TuiTrComponent<T extends Record<string, any>> {\n @ContentChildren(forwardRef(() => TuiCellDirective))\n private readonly cells: QueryList<TuiCellDirective> = EMPTY_QUERY;\n\n readonly cells$ = this.cells.changes.pipe(\n startWith(null),\n map(() =>\n this.cells.reduce<Record<any, TuiCellDirective>>(\n (record, item) => ({...record, [item.tuiCell]: item}),\n {},\n ),\n ),\n );\n\n readonly item$ = this.body.rows.changes.pipe(\n startWith(null),\n map(\n () =>\n this.body.sorted[this.body.rows.toArray().findIndex(row => row === this)],\n ),\n );\n\n constructor(\n @Inject(forwardRef(() => TuiTableDirective))\n readonly table: TuiTableDirective<T>,\n @Inject(forwardRef(() => TuiTbodyComponent))\n private readonly body: TuiTbodyComponent<T>,\n ) {}\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiRowDirective} from '../directives/row.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TuiTableSortPipe} from '../pipes/table-sort.pipe';\nimport {TUI_TABLE_PROVIDER} from '../providers/table.provider';\nimport {TuiTrComponent} from '../tr/tr.component';\n\n@Component({\n selector: 'tbody[tuiTbody]',\n templateUrl: './tbody.template.html',\n styleUrls: ['./tbody.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TABLE_PROVIDER,\n})\nexport class TuiTbodyComponent<T> {\n @Input()\n @tuiDefaultProp()\n data: readonly T[] = [];\n\n @Input()\n @tuiDefaultProp()\n heading: PolymorpheusContent = '';\n\n @Input()\n @tuiDefaultProp()\n open = true;\n\n @Output()\n readonly openChange = new EventEmitter<boolean>();\n\n @ContentChild(forwardRef(() => TuiRowDirective))\n readonly row?: TuiRowDirective<T>;\n\n @ContentChildren(forwardRef(() => TuiTrComponent))\n readonly rows: QueryList<TuiTrComponent<T>> = EMPTY_QUERY;\n\n constructor(\n @Inject(TuiTableSortPipe) private readonly pipe: TuiTableSortPipe<T>,\n @Inject(forwardRef(() => TuiTableDirective))\n readonly table: TuiTableDirective<T>,\n ) {}\n\n get sorted(): readonly T[] {\n return this.pipe.transform(this.data);\n }\n\n readonly toContext = ($implicit: T, index: number) => ({$implicit, index});\n\n onClick() {\n this.open = !this.open;\n this.openChange.emit(this.open);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\n\n@Component({\n selector: 'th[tuiTd], td[tuiTd]',\n template: '<ng-content></ng-content>',\n styleUrls: ['./td.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTdComponent {\n @HostBinding('class._editable')\n @ContentChild(NgControl)\n readonly control: unknown;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n forwardRef,\n Inject,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {map, startWith} from 'rxjs/operators';\n\nimport {TuiHeadDirective} from '../directives/head.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_TABLE_PROVIDER} from '../providers/table.provider';\nimport {TuiThComponent} from '../th/th.component';\n\n@Component({\n selector: 'tr[tuiThGroup]',\n templateUrl: './th-group.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_TABLE_PROVIDER],\n})\nexport class TuiThGroupComponent<T> {\n @ContentChild(forwardRef(() => TuiThComponent))\n readonly th: unknown;\n\n @ContentChildren(forwardRef(() => TuiHeadDirective))\n readonly heads: QueryList<TuiHeadDirective<T>> = EMPTY_QUERY;\n\n readonly heads$ = this.heads.changes.pipe(\n startWith(null),\n map(() =>\n this.heads.reduce<Record<any, TuiHeadDirective<T>>>(\n (record, item) => ({...record, [item.tuiHead]: item}),\n {},\n ),\n ),\n );\n\n constructor(\n @Inject(forwardRef(() => TuiTableDirective))\n readonly table: TuiTableDirective<T>,\n ) {}\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiCellDirective} from './directives/cell.directive';\nimport {TuiHeadDirective} from './directives/head.directive';\nimport {TuiResizedDirective} from './directives/resized.directive';\nimport {TuiRowDirective} from './directives/row.directive';\nimport {TuiSortByDirective} from './directives/sort-by.directive';\nimport {TuiSortableDirective} from './directives/sortable.directive';\nimport {TuiTableDirective} from './directives/table.directive';\nimport {TuiTheadDirective} from './directives/thead.directive';\nimport {TuiTableSortPipe} from './pipes/table-sort.pipe';\nimport {TuiTbodyComponent} from './tbody/tbody.component';\nimport {TuiTdComponent} from './td/td.component';\nimport {TuiThComponent} from './th/th.component';\nimport {TuiThGroupComponent} from './th-group/th-group.component';\nimport {TuiTrComponent} from './tr/tr.component';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiMapperPipeModule, TuiSvgModule],\n declarations: [\n TuiTableDirective,\n TuiTbodyComponent,\n TuiThGroupComponent,\n TuiThComponent,\n TuiTdComponent,\n TuiTrComponent,\n TuiCellDirective,\n TuiHeadDirective,\n TuiRowDirective,\n TuiSortByDirective,\n TuiSortableDirective,\n TuiTheadDirective,\n TuiResizedDirective,\n TuiTableSortPipe,\n ],\n exports: [\n TuiTableDirective,\n TuiTbodyComponent,\n TuiThGroupComponent,\n TuiThComponent,\n TuiTdComponent,\n TuiTrComponent,\n TuiCellDirective,\n TuiHeadDirective,\n TuiRowDirective,\n TuiSortByDirective,\n TuiSortableDirective,\n TuiTheadDirective,\n TuiTableSortPipe,\n ],\n})\nexport class TuiTableModule {}\n","/**\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: any,\n ): _ctx is TuiRowContext<T> {\n return true;\n }\n}\n","import {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport function stuckFactory(\n {nativeElement}: ElementRef,\n entries$: Observable<IntersectionObserverEntry[]>,\n): Observable<boolean> {\n const stream$ = entries$.pipe(map(([{intersectionRatio}]) => intersectionRatio < 1));\n\n nativeElement['$.class._stuck'] = stream$;\n\n return stream$;\n}\n\nexport const TUI_STUCK = new InjectionToken<boolean>('Stream of sticky stuck events');\n\nexport const TUI_STUCK_PROVIDER: Provider = {\n provide: TUI_STUCK,\n deps: [ElementRef, IntersectionObserverService],\n useFactory: stuckFactory,\n};\n","import {forwardRef, SkipSelf} from '@angular/core';\nimport {\n INTERSECTION_ROOT_MARGIN,\n INTERSECTION_THRESHOLD,\n IntersectionObserverService,\n} from '@ng-web-apis/intersection-observer';\nimport {\n MODE_PROVIDER,\n TUI_TEXTFIELD_APPEARANCE,\n TUI_TEXTFIELD_LABEL_OUTSIDE,\n TUI_TEXTFIELD_SIZE,\n} from '@taiga-ui/core';\nimport {TUI_INPUT_COUNT_OPTIONS, TuiInputCountOptions} from '@taiga-ui/kit';\n\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_STUCK_PROVIDER} from './stuck.provider';\n\n// TODO: 3.0 remove in ivy compilation\nexport const TABLE_THRESHOLD = [0, 1];\nexport const TABLE_LABEL = {\n labelOutside: true,\n};\n\nexport function inputCountOptionsFactory(\n options: TuiInputCountOptions,\n): TuiInputCountOptions {\n return {...options, hideButtons: true};\n}\n\nexport const TUI_TABLE_PROVIDERS = [\n {\n provide: INTERSECTION_ROOT_MARGIN,\n useValue: '10000px 10000px 10000px 0px',\n },\n {\n provide: INTERSECTION_THRESHOLD,\n useValue: TABLE_THRESHOLD,\n },\n {\n provide: TUI_TEXTFIELD_APPEARANCE,\n // TODO: 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} from '@angular/core';\n\nimport {TuiThComponent} from '../th/th.component';\nimport {TuiSortByDirective} from './sort-by.directive';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n selector: 'th[tuiTh][tuiSortable]',\n})\nexport class TuiSortableDirective<T> implements DoCheck {\n constructor(\n @Inject(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 this.th.sorter = this.sorter;\n }\n\n readonly sorter = (): number => 0;\n\n get key(): keyof T {\n return this.th.key;\n }\n\n ngDoCheck(): void {\n if (this.sortBy.tuiSortBy === this.key && this.table.sorter !== this.sorter) {\n this.table.updateSorter(this.sorter);\n }\n }\n}\n","import {\n ContentChildren,\n Directive,\n Inject,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {EMPTY_QUERY, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {filter, map} from 'rxjs/operators';\n\nimport {TuiSortableDirective} from './sortable.directive';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n selector: 'table[tuiTable][tuiSortBy]',\n})\nexport class TuiSortByDirective<T> {\n @ContentChildren(TuiSortableDirective, {descendants: true})\n private readonly sortables: QueryList<TuiSortableDirective<T>> = EMPTY_QUERY;\n\n @Input()\n @tuiDefaultProp()\n tuiSortBy: keyof T | string | null = null;\n\n @Output()\n readonly tuiSortByChange = this.table.sorterChange.pipe(\n filter(() => !!this.sortables.length),\n map(sorter => this.getKey(sorter)),\n );\n\n constructor(\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n ) {}\n\n private getKey(sorter: TuiComparator<T> | null): keyof T | null {\n return this.sortables.find(s => s.sorter === sorter)?.key ?? null;\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {\n INTERSECTION_ROOT_MARGIN,\n IntersectionObserverService,\n} from '@ng-web-apis/intersection-observer';\nimport {Observable} from 'rxjs';\n\nimport {TUI_STUCK, TUI_STUCK_PROVIDER} from '../providers/stuck.provider';\n\n@Directive({\n selector: 'thead[tuiThead]',\n providers: [\n TUI_STUCK_PROVIDER,\n IntersectionObserverService,\n {\n provide: INTERSECTION_ROOT_MARGIN,\n useValue: '0px 10000px 10000px 10000px',\n },\n ],\n host: {\n '($.class._stuck)': 'stuck$',\n },\n})\nexport class TuiTheadDirective {\n constructor(@Inject(TUI_STUCK) readonly stuck$: Observable<boolean>) {}\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {tuiPure} from '@taiga-ui/cdk';\n\nimport {TuiTableDirective} from '../directives/table.directive';\n\n@Pipe({\n name: 'tuiTableSort',\n pure: false,\n})\nexport class TuiTableSortPipe<T> implements PipeTransform {\n constructor(\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n ) {}\n\n transform(data: readonly T[]): readonly T[] {\n return this.sort(data, this.table.sorter, this.table.direction);\n }\n\n @tuiPure\n private sort(\n data: readonly T[],\n sorter: TuiComparator<T>,\n direction: -1 | 1,\n ): readonly T[] {\n return [...data].sort((a, b) => direction * sorter(a, b));\n }\n}\n","import {ChangeDetectorRef, Provider, SkipSelf} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {watchedControllerFactory} from '@taiga-ui/core';\n\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TuiTableSortPipe} from '../pipes/table-sort.pipe';\n\n// TODO: 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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"}