@taiga-ui/addon-table 3.22.0 → 3.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,13 +1,7 @@
1
- import { TuiDay, tuiIsString } from '@taiga-ui/cdk';
2
- export function tuiDefaultSort(x, y) {
3
- const a = x instanceof TuiDay ? Number(x.toUtcNativeDate()) : x;
4
- const b = y instanceof TuiDay ? Number(y.toUtcNativeDate()) : y;
5
- if (a === b) {
6
- return 0;
7
- }
8
- if (tuiIsString(a) && tuiIsString(b)) {
9
- return a.localeCompare(b);
10
- }
11
- return a > b ? 1 : -1;
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tdGFibGUvdXRpbHMvZGVmYXVsdC1zb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWxELE1BQU0sVUFBVSxjQUFjLENBQUksQ0FBSSxFQUFFLENBQUk7SUFDeEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFaEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ1QsT0FBTyxDQUFDLENBQUM7S0FDWjtJQUVELElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNsQyxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDN0I7SUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHVpRGF5LCB0dWlJc1N0cmluZ30gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlEZWZhdWx0U29ydDxUPih4OiBULCB5OiBUKTogbnVtYmVyIHtcbiAgICBjb25zdCBhID0geCBpbnN0YW5jZW9mIFR1aURheSA/IE51bWJlcih4LnRvVXRjTmF0aXZlRGF0ZSgpKSA6IHg7XG4gICAgY29uc3QgYiA9IHkgaW5zdGFuY2VvZiBUdWlEYXkgPyBOdW1iZXIoeS50b1V0Y05hdGl2ZURhdGUoKSkgOiB5O1xuXG4gICAgaWYgKGEgPT09IGIpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgaWYgKHR1aUlzU3RyaW5nKGEpICYmIHR1aUlzU3RyaW5nKGIpKSB7XG4gICAgICAgIHJldHVybiBhLmxvY2FsZUNvbXBhcmUoYik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGEgPiBiID8gMSA6IC0xO1xufVxuIl19
1
+ import { tuiDefaultSort as tuiDefaultSortFromCdk } from '@taiga-ui/cdk';
2
+ /**
3
+ * @deprecated: use {tuiDefaultSort} from `@taiga-ui/cdk`
4
+ * drop in v4.0
5
+ */
6
+ export const tuiDefaultSort = tuiDefaultSortFromCdk;
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tdGFibGUvdXRpbHMvZGVmYXVsdC1zb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLElBQUkscUJBQXFCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFdEU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0dWlEZWZhdWx0U29ydCBhcyB0dWlEZWZhdWx0U29ydEZyb21DZGt9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkOiB1c2Uge3R1aURlZmF1bHRTb3J0fSBmcm9tIGBAdGFpZ2EtdWkvY2RrYFxuICogZHJvcCBpbiB2NC4wXG4gKi9cbmV4cG9ydCBjb25zdCB0dWlEZWZhdWx0U29ydCA9IHR1aURlZmF1bHRTb3J0RnJvbUNkaztcbiJdfQ==
@@ -83,7 +83,7 @@ class TuiReorderComponent {
83
83
  }
84
84
  }
85
85
  TuiReorderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiReorderComponent, deps: [{ token: TUI_TABLE_SHOW_HIDE_MESSAGE }], target: i0.ɵɵFactoryTarget.Component });
86
- TuiReorderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiReorderComponent, selector: "tui-reorder", inputs: { items: "items", enabled: "enabled" }, outputs: { itemsChange: "itemsChange", enabledChange: "enabledChange" }, host: { listeners: { "focusout.stop": "noop()", "pointerdown.silent": "onDrag()", "document:pointerup.silent": "onDrop()" } }, ngImport: i0, template: "<tui-tiles\n class=\"t-wrapper\"\n [(order)]=\"order\"\n>\n <tui-tile\n *ngFor=\"let item of unsortedItems; let index = index\"\n tuiTileHandle\n [style.order]=\"order.get(index)\"\n >\n <div class=\"t-item\">\n <tui-svg\n src=\"tuiIconDrag\"\n class=\"t-icon\"\n ></tui-svg>\n {{ item }}\n <button\n type=\"button\"\n tuiIconButton\n appearance=\"icon\"\n size=\"xs\"\n class=\"t-button\"\n [class.t-button_hidden]=\"!isEnabled(item)\"\n [title]=\"showHideText$ | async\"\n [icon]=\"getIcon(item)\"\n (click)=\"toggle(item)\"\n (keydown.arrowUp.prevent)=\"move(index, -1)\"\n (keydown.arrowDown.prevent)=\"move(index, 1)\"\n ></button>\n </div>\n </tui-tile>\n</tui-tiles>\n", styles: [":host{display:block;font:var(--tui-font-text-s);padding:.5rem 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.t-wrapper{cursor:ns-resize;grid-auto-rows:2rem}.t-item{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;height:2rem;align-items:center;padding:0 .75rem;background:var(--tui-base-01)}.t-item:hover{background:var(--tui-base-02)}.t-item:hover .t-button{opacity:1}.t-icon{margin-right:.5rem;color:var(--tui-base-05)}.t-button{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-left:auto;opacity:0}.t-button_hidden,.t-button:focus{opacity:1}\n"], components: [{ type: i1.TuiTilesComponent, selector: "tui-tiles", inputs: ["debounce", "order"], outputs: ["orderChange"] }, { type: i1.TuiTileComponent, selector: "tui-tile", inputs: ["width", "height"] }, { type: i2.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i2.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.TuiTileHandleDirective, selector: "[tuiTileHandle]" }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
86
+ TuiReorderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiReorderComponent, selector: "tui-reorder", inputs: { items: "items", enabled: "enabled" }, outputs: { itemsChange: "itemsChange", enabledChange: "enabledChange" }, host: { listeners: { "focusout.stop": "noop()", "pointerdown.silent": "onDrag()", "document:pointerup.silent": "onDrop()" } }, ngImport: i0, template: "<tui-tiles\n class=\"t-wrapper\"\n [(order)]=\"order\"\n>\n <tui-tile\n *ngFor=\"let item of unsortedItems; let index = index\"\n tuiTileHandle\n [style.order]=\"order.get(index)\"\n >\n <div class=\"t-item\">\n <tui-svg\n src=\"tuiIconDrag\"\n class=\"t-icon\"\n ></tui-svg>\n {{ item }}\n <button\n type=\"button\"\n tuiIconButton\n appearance=\"icon\"\n size=\"xs\"\n class=\"t-button\"\n [class.t-button_hidden]=\"!isEnabled(item)\"\n [title]=\"showHideText$ | async\"\n [icon]=\"getIcon(item)\"\n (click)=\"toggle(item)\"\n (keydown.arrowUp.prevent)=\"move(index, -1)\"\n (keydown.arrowDown.prevent)=\"move(index, 1)\"\n ></button>\n </div>\n </tui-tile>\n</tui-tiles>\n", styles: [":host{display:block;font:var(--tui-font-text-s);padding:.5rem 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.t-wrapper{cursor:ns-resize;grid-auto-rows:2rem}.t-item{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;height:2rem;align-items:center;padding:0 .75rem;background:var(--tui-base-01)}.t-item:hover{background:var(--tui-base-02)}.t-item:hover .t-button{opacity:1}.t-icon{margin-right:.5rem;color:var(--tui-base-05)}.t-button{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-left:auto;opacity:0}.t-button_hidden,.t-button:focus{opacity:1}\n"], components: [{ type: i1.TuiTilesComponent, selector: "tui-tiles", inputs: ["debounce", "order"], outputs: ["orderChange"] }, { type: i1.TuiTileComponent, selector: "tui-tile", inputs: ["width", "height"] }, { type: i2.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i2.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.TuiTileHandleDirective, selector: "[tuiTileHandle]" }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
87
87
  __decorate([
88
88
  tuiDefaultProp()
89
89
  ], TuiReorderComponent.prototype, "items", null);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-table-components-reorder.js","sources":["../../../projects/addon-table/components/reorder/reorder.component.ts","../../../projects/addon-table/components/reorder/reorder.template.html","../../../projects/addon-table/components/reorder/reorder.module.ts","../../../projects/addon-table/components/reorder/taiga-ui-addon-table-components-reorder.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\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@Component({\n selector: 'tui-reorder',\n templateUrl: './reorder.template.html',\n styleUrls: ['./reorder.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiReorderComponent<T> {\n private dragging = false;\n\n @Input()\n @tuiDefaultProp()\n set items(items: readonly T[]) {\n if (\n items.length !== this.unsortedItems.length ||\n !items.every(item => this.unsortedItems.includes(item))\n ) {\n this.unsortedItems = items;\n }\n }\n\n @Input()\n @tuiDefaultProp()\n enabled: readonly T[] = [];\n\n @Output()\n readonly itemsChange = new EventEmitter<T[]>();\n\n @Output()\n readonly enabledChange = new EventEmitter<T[]>();\n\n order = new Map<number, number>();\n\n unsortedItems: 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 @HostListener('pointerdown.silent')\n onDrag(): void {\n this.dragging = true;\n }\n\n @HostListener('document:pointerup.silent')\n onDrop(): void {\n if (!this.dragging) {\n return;\n }\n\n this.dragging = false;\n this.updateItems();\n }\n\n isEnabled(item: T): boolean {\n return this.enabled.includes(item);\n }\n\n getIcon(item: T): string {\n return this.isEnabled(item) ? 'tuiIconEye' : 'tuiIconEyeOff';\n }\n\n toggle(toggled: T): void {\n this.enabled = this.isEnabled(toggled)\n ? this.enabled.filter(item => item !== toggled)\n : this.enabled.concat(toggled);\n\n this.updateEnabled();\n }\n\n move(index: number, direction: number): void {\n const oldIndex = this.order.get(index) ?? index;\n\n if (\n (!oldIndex && direction < 0) ||\n (oldIndex === this.unsortedItems.length - 1 && direction > 0)\n ) {\n return;\n }\n\n const newIndex = oldIndex + direction;\n const oldItem = Array.from(this.order.values()).findIndex(\n item => item === newIndex,\n );\n\n this.order.set(index, newIndex);\n this.order.set(oldItem, oldIndex);\n this.order = new Map(this.order);\n\n this.updateItems();\n }\n\n private getSortedItems(): T[] {\n const items = new Array(this.unsortedItems.length);\n\n this.unsortedItems.forEach((item, index) => {\n items[this.order.get(index) ?? index] = item;\n });\n\n return items;\n }\n\n private updateItems(): void {\n this.itemsChange.emit(this.getSortedItems());\n this.updateEnabled();\n }\n\n private updateEnabled(): void {\n const enabled = this.getSortedItems().filter(item => this.isEnabled(item));\n\n this.enabled = enabled;\n this.enabledChange.emit(enabled);\n }\n}\n","<tui-tiles\n class=\"t-wrapper\"\n [(order)]=\"order\"\n>\n <tui-tile\n *ngFor=\"let item of unsortedItems; let index = index\"\n tuiTileHandle\n [style.order]=\"order.get(index)\"\n >\n <div class=\"t-item\">\n <tui-svg\n src=\"tuiIconDrag\"\n class=\"t-icon\"\n ></tui-svg>\n {{ item }}\n <button\n type=\"button\"\n tuiIconButton\n appearance=\"icon\"\n size=\"xs\"\n class=\"t-button\"\n [class.t-button_hidden]=\"!isEnabled(item)\"\n [title]=\"showHideText$ | async\"\n [icon]=\"getIcon(item)\"\n (click)=\"toggle(item)\"\n (keydown.arrowUp.prevent)=\"move(index, -1)\"\n (keydown.arrowDown.prevent)=\"move(index, 1)\"\n ></button>\n </div>\n </tui-tile>\n</tui-tiles>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule, TuiSvgModule} from '@taiga-ui/core';\nimport {TuiTilesModule} from '@taiga-ui/kit';\n\nimport {TuiReorderComponent} from './reorder.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, TuiButtonModule, TuiTilesModule],\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":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-table-components-reorder.js","sources":["../../../projects/addon-table/components/reorder/reorder.component.ts","../../../projects/addon-table/components/reorder/reorder.template.html","../../../projects/addon-table/components/reorder/reorder.module.ts","../../../projects/addon-table/components/reorder/taiga-ui-addon-table-components-reorder.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\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@Component({\n selector: 'tui-reorder',\n templateUrl: './reorder.template.html',\n styleUrls: ['./reorder.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiReorderComponent<T> {\n private dragging = false;\n\n @Input()\n @tuiDefaultProp()\n set items(items: readonly T[]) {\n if (\n items.length !== this.unsortedItems.length ||\n !items.every(item => this.unsortedItems.includes(item))\n ) {\n this.unsortedItems = items;\n }\n }\n\n @Input()\n @tuiDefaultProp()\n enabled: readonly T[] = [];\n\n @Output()\n readonly itemsChange = new EventEmitter<T[]>();\n\n @Output()\n readonly enabledChange = new EventEmitter<T[]>();\n\n order = new Map<number, number>();\n\n unsortedItems: 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 @HostListener('pointerdown.silent')\n onDrag(): void {\n this.dragging = true;\n }\n\n @HostListener('document:pointerup.silent')\n onDrop(): void {\n if (!this.dragging) {\n return;\n }\n\n this.dragging = false;\n this.updateItems();\n }\n\n isEnabled(item: T): boolean {\n return this.enabled.includes(item);\n }\n\n getIcon(item: T): string {\n return this.isEnabled(item) ? 'tuiIconEye' : 'tuiIconEyeOff';\n }\n\n toggle(toggled: T): void {\n this.enabled = this.isEnabled(toggled)\n ? this.enabled.filter(item => item !== toggled)\n : this.enabled.concat(toggled);\n\n this.updateEnabled();\n }\n\n move(index: number, direction: number): void {\n const oldIndex = this.order.get(index) ?? index;\n\n if (\n (!oldIndex && direction < 0) ||\n (oldIndex === this.unsortedItems.length - 1 && direction > 0)\n ) {\n return;\n }\n\n const newIndex = oldIndex + direction;\n const oldItem = Array.from(this.order.values()).findIndex(\n item => item === newIndex,\n );\n\n this.order.set(index, newIndex);\n this.order.set(oldItem, oldIndex);\n this.order = new Map(this.order);\n\n this.updateItems();\n }\n\n private getSortedItems(): T[] {\n const items = new Array(this.unsortedItems.length);\n\n this.unsortedItems.forEach((item, index) => {\n items[this.order.get(index) ?? index] = item;\n });\n\n return items;\n }\n\n private updateItems(): void {\n this.itemsChange.emit(this.getSortedItems());\n this.updateEnabled();\n }\n\n private updateEnabled(): void {\n const enabled = this.getSortedItems().filter(item => this.isEnabled(item));\n\n this.enabled = enabled;\n this.enabledChange.emit(enabled);\n }\n}\n","<tui-tiles\n class=\"t-wrapper\"\n [(order)]=\"order\"\n>\n <tui-tile\n *ngFor=\"let item of unsortedItems; let index = index\"\n tuiTileHandle\n [style.order]=\"order.get(index)\"\n >\n <div class=\"t-item\">\n <tui-svg\n src=\"tuiIconDrag\"\n class=\"t-icon\"\n ></tui-svg>\n {{ item }}\n <button\n type=\"button\"\n tuiIconButton\n appearance=\"icon\"\n size=\"xs\"\n class=\"t-button\"\n [class.t-button_hidden]=\"!isEnabled(item)\"\n [title]=\"showHideText$ | async\"\n [icon]=\"getIcon(item)\"\n (click)=\"toggle(item)\"\n (keydown.arrowUp.prevent)=\"move(index, -1)\"\n (keydown.arrowDown.prevent)=\"move(index, 1)\"\n ></button>\n </div>\n </tui-tile>\n</tui-tiles>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule, TuiSvgModule} from '@taiga-ui/core';\nimport {TuiTilesModule} from '@taiga-ui/kit';\n\nimport {TuiReorderComponent} from './reorder.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, TuiButtonModule, TuiTilesModule],\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":";;;;;;;;;;;;;MAmBa,mBAAmB,CAAA;AA4B5B,IAAA,WAAA,CACkD,aAAiC,EAAA;QAAjC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAoB;QA5B3E,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QAezB,IAAO,CAAA,OAAA,GAAiB,EAAE,CAAC;AAGlB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAO,CAAC;AAGtC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAO,CAAC;AAEjD,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QAElC,IAAa,CAAA,aAAA,GAAiB,EAAE,CAAC;KAI7B;IAzBJ,IAAI,KAAK,CAAC,KAAmB,EAAA;QACzB,IACI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM;AAC1C,YAAA,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EACzD;AACE,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC9B,SAAA;KACJ;AAqBD,IAAA,IAAI,MAAW;IAGf,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;KACxB;IAGD,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;KACtB;AAED,IAAA,SAAS,CAAC,IAAO,EAAA;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KACtC;AAED,IAAA,OAAO,CAAC,IAAO,EAAA;AACX,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,YAAY,GAAG,eAAe,CAAC;KAChE;AAED,IAAA,MAAM,CAAC,OAAU,EAAA;QACb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;AAClC,cAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,KAAK,OAAO,CAAC;cAC7C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnC,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;IAED,IAAI,CAAC,KAAa,EAAE,SAAiB,EAAA;;AACjC,QAAA,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,KAAK,CAAC;AAEhD,QAAA,IACI,CAAC,CAAC,QAAQ,IAAI,SAAS,GAAG,CAAC;AAC3B,aAAC,QAAQ,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC,EAC/D;YACE,OAAO;AACV,SAAA;AAED,QAAA,MAAM,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CACrD,IAAI,IAAI,IAAI,KAAK,QAAQ,CAC5B,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjC,IAAI,CAAC,WAAW,EAAE,CAAC;KACtB;IAEO,cAAc,GAAA;QAClB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAEnD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;;AACvC,YAAA,KAAK,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,KAAK,CAAC,GAAG,IAAI,CAAC;AACjD,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,KAAK,CAAC;KAChB;IAEO,WAAW,GAAA;QACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;IAEO,aAAa,GAAA;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAE3E,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACpC;;AA5GQ,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBA6BhB,2BAA2B,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA7B9B,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,2SCnBhC,i9BA+BA,EAAA,MAAA,EAAA,CAAA,4sBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,KAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,0EAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,UAAA,EAAA,MAAA,EAAA,WAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;ADPI,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AAQhB,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,IAAA,CAAA,CAAA;AAID,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACU,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAhBlB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,WAAW,EAAE,yBAAyB;oBACtC,SAAS,EAAE,CAAC,sBAAsB,CAAC;oBACnC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAClD,iBAAA,CAAA;;0BA8BQ,MAAM;2BAAC,2BAA2B,CAAA;4CAxBnC,KAAK,EAAA,CAAA;sBAFR,KAAK;gBAaN,OAAO,EAAA,CAAA;sBAFN,KAAK;gBAKG,WAAW,EAAA,CAAA;sBADnB,MAAM;gBAIE,aAAa,EAAA,CAAA;sBADrB,MAAM;gBAYP,IAAI,EAAA,CAAA;sBADH,YAAY;uBAAC,eAAe,CAAA;gBAI7B,MAAM,EAAA,CAAA;sBADL,YAAY;uBAAC,oBAAoB,CAAA;gBAMlC,MAAM,EAAA,CAAA;sBADL,YAAY;uBAAC,2BAA2B,CAAA;;;ME/ChC,gBAAgB,CAAA;;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAhB,gBAAgB,EAAA,YAAA,EAAA,CAHV,mBAAmB,CAAA,EAAA,OAAA,EAAA,CADxB,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,CAAA,EAAA,OAAA,EAAA,CAE3D,mBAAmB,CAAA,EAAA,CAAA,CAAA;+GAEpB,gBAAgB,EAAA,OAAA,EAAA,CAJhB,CAAC,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,CAAC,CAAA,EAAA,CAAA,CAAA;4FAI7D,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,CAAC;oBACtE,YAAY,EAAE,CAAC,mBAAmB,CAAC;oBACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;AACjC,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}
@@ -2,7 +2,7 @@ import { __decorate, __awaiter } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
3
  import { TemplateRef, Directive, Inject, Input, InjectionToken, ElementRef, SkipSelf, forwardRef, EventEmitter, ChangeDetectorRef, HostBinding, Output, Component, ChangeDetectionStrategy, Optional, ContentChildren, Pipe, ContentChild, NgModule } from '@angular/core';
4
4
  import * as i4 from '@taiga-ui/cdk';
5
- import { tuiDefaultProp, AbstractTuiController, tuiTypedFromEvent, tuiPreventDefault, TuiTableSortKeyException, EMPTY_QUERY, tuiPure, TuiDestroyService, tuiQueryListChanges, TuiMapperPipeModule } from '@taiga-ui/cdk';
5
+ import { tuiDefaultProp, AbstractTuiController, tuiTypedFromEvent, tuiPreventDefault, tuiDefaultSort, TuiTableSortKeyException, EMPTY_QUERY, tuiPure, TuiDestroyService, tuiQueryListChanges, TuiMapperPipeModule } from '@taiga-ui/cdk';
6
6
  import { map, switchMap, distinctUntilChanged, takeUntil, filter, startWith } from 'rxjs/operators';
7
7
  import { IntersectionObserverService, INTERSECTION_ROOT_MARGIN, INTERSECTION_THRESHOLD } from '@ng-web-apis/intersection-observer';
8
8
  import * as i1$1 from '@taiga-ui/core';
@@ -12,7 +12,6 @@ import * as i1 from 'rxjs';
12
12
  import { ReplaySubject } from 'rxjs';
13
13
  import * as i2 from '@angular/common';
14
14
  import { DOCUMENT, CommonModule } from '@angular/common';
15
- import { tuiDefaultSort } from '@taiga-ui/addon-table/utils';
16
15
  import * as i3 from '@tinkoff/ng-polymorpheus';
17
16
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
18
17
  import { NgControl } from '@angular/forms';
@@ -328,7 +327,7 @@ TuiThComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
328
327
  provide: TUI_ELEMENT_REF,
329
328
  useExisting: ElementRef,
330
329
  },
331
- ], ngImport: i0, template: "<button\n *ngIf=\"sorter && table; else content\"\n type=\"button\"\n class=\"t-sort\"\n [class.t-sort_sorted]=\"isCurrent\"\n (click)=\"table.updateSorterAndDirection(sorter)\"\n>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n {{ table.change$ | async }}\n <tui-svg\n class=\"t-sort-icon\"\n [src]=\"icon\"\n ></tui-svg>\n</button>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n<div\n *ngIf=\"resizable\"\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n></div>\n", styles: [":host{transition-property:box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;top:0;height:var(--tui-height-m);font:var(--tui-font-text-s);text-align:left;font-weight:bold;color:var(--tui-text-02);background:var(--tui-base-01);cursor:default;padding:0 .75rem;box-sizing:border-box;box-shadow:0 .3125rem rgba(237,237,237,0);border:1px solid var(--tui-base-04)}:host:not(:first-child){border-left:none}:host._sticky{position:-webkit-sticky;position:sticky;z-index:30}:host._sticky:first-child{left:0}:host._sticky:after{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;left:100%;bottom:0;width:.3125rem;pointer-events:none;background:rgba(237,237,237,.7);opacity:0}:host-context(._stuck) :host{z-index:20}:host-context(tr:not(:first-child)){border-top:none}:host-context(table[data-size=\"l\"]){height:var(--tui-height-l);font:var(--tui-font-text-m);font-weight:bold;padding:0 1rem}:host-context(thead[tuiThead]){position:-webkit-sticky;position:sticky}:host-context(table._stuck)._sticky:after{opacity:1}:host-context(thead[tuiThead]._stuck){box-shadow:0 .3125rem rgba(237,237,237,.7)}:host-context(table[data-mode=\"onDark\"]):after{background:rgba(60,60,60,.9)}:host-context(table[data-mode=\"onDark\"] thead[tuiThead]._stuck){box-shadow:0 .3125rem rgba(60,60,60,.9)}:host-context(table[data-mode=\"onDark\"] thead[tuiThead]._stuck):first-child{box-shadow:.0625rem .3125rem rgba(60,60,60,.9)}:host-context(table[data-size=\"l\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-l)}:host-context(table[data-size=\"m\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-m)}:host-context(table[data-size=\"s\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-s)}.t-sort{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;display:inline-flex;flex-direction:inherit;align-items:center;outline:none;font-weight:bold;cursor:pointer}.t-sort_sorted{color:var(--tui-text-01)}.t-sort:focus-visible{background:var(--tui-selection)}.t-sort:hover{color:var(--tui-text-01)}.t-bar{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:0;bottom:0;right:-1px;width:3px;justify-self:flex-end;border-left:2px solid transparent;background:var(--tui-support-12);background-clip:content-box;cursor:ew-resize;opacity:0}.t-bar:hover,.t-bar:active{opacity:1}\n"], components: [{ type: i1$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TuiResizedDirective, selector: "[tuiResized]", outputs: ["tuiResized"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
330
+ ], ngImport: i0, template: "<button\n *ngIf=\"sorter && table; else content\"\n type=\"button\"\n class=\"t-sort\"\n [class.t-sort_sorted]=\"isCurrent\"\n (click)=\"table.updateSorterAndDirection(sorter)\"\n>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n {{ table.change$ | async }}\n <tui-svg\n class=\"t-sort-icon\"\n [src]=\"icon\"\n ></tui-svg>\n</button>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n<div\n *ngIf=\"resizable\"\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n></div>\n", styles: [":host{transition-property:box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;top:0;height:var(--tui-height-m);font:var(--tui-font-text-s);text-align:left;font-weight:bold;color:var(--tui-text-02);background:var(--tui-base-01);cursor:default;padding:0 .75rem;box-sizing:border-box;box-shadow:0 .3125rem #ededed00;border:1px solid var(--tui-base-04)}:host:not(:first-child){border-left:none}:host._sticky{position:-webkit-sticky;position:sticky;z-index:30}:host._sticky:first-child{left:0}:host._sticky:after{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;left:100%;bottom:0;width:.3125rem;pointer-events:none;background:rgba(237,237,237,.7);opacity:0}:host-context(._stuck) :host{z-index:20}:host-context(tr:not(:first-child)){border-top:none}:host-context(table[data-size=\"l\"]){height:var(--tui-height-l);font:var(--tui-font-text-m);font-weight:bold;padding:0 1rem}:host-context(thead[tuiThead]){position:-webkit-sticky;position:sticky}:host-context(table._stuck)._sticky:after{opacity:1}:host-context(thead[tuiThead]._stuck){box-shadow:0 .3125rem #edededb3}:host-context(table[data-mode=\"onDark\"]):after{background:rgba(60,60,60,.9)}:host-context(table[data-mode=\"onDark\"] thead[tuiThead]._stuck){box-shadow:0 .3125rem #3c3c3ce6}:host-context(table[data-mode=\"onDark\"] thead[tuiThead]._stuck):first-child{box-shadow:.0625rem .3125rem #3c3c3ce6}:host-context(table[data-size=\"l\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-l)}:host-context(table[data-size=\"m\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-m)}:host-context(table[data-size=\"s\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-s)}.t-sort{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;display:inline-flex;flex-direction:inherit;align-items:center;outline:none;font-weight:bold;cursor:pointer}.t-sort_sorted{color:var(--tui-text-01)}.t-sort:focus-visible{background:var(--tui-selection)}.t-sort:hover{color:var(--tui-text-01)}.t-bar{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:0;bottom:0;right:-1px;width:3px;justify-self:flex-end;border-left:2px solid transparent;background:var(--tui-support-12);background-clip:content-box;cursor:ew-resize;opacity:0}.t-bar:hover,.t-bar:active{opacity:1}\n"], components: [{ type: i1$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TuiResizedDirective, selector: "[tuiResized]", outputs: ["tuiResized"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
332
331
  __decorate([
333
332
  tuiDefaultProp()
334
333
  ], TuiThComponent.prototype, "sorter", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-table-components-table.js","sources":["../../../projects/addon-table/components/table/directives/cell.directive.ts","../../../projects/addon-table/components/table/providers/stuck.provider.ts","../../../projects/addon-table/components/table/providers/table.providers.ts","../../../projects/addon-table/components/table/directives/table.directive.ts","../../../projects/addon-table/components/table/directives/direction-order.directive.ts","../../../projects/addon-table/components/table/directives/head.directive.ts","../../../projects/addon-table/components/table/directives/resized.directive.ts","../../../projects/addon-table/components/table/directives/row.directive.ts","../../../projects/addon-table/components/table/th/th.component.ts","../../../projects/addon-table/components/table/th/th.template.html","../../../projects/addon-table/components/table/directives/sortable.directive.ts","../../../projects/addon-table/components/table/directives/sort-by.directive.ts","../../../projects/addon-table/components/table/directives/thead.directive.ts","../../../projects/addon-table/components/table/pipes/table-sort.pipe.ts","../../../projects/addon-table/components/table/providers/table.provider.ts","../../../projects/addon-table/components/table/td/td.component.ts","../../../projects/addon-table/components/table/tr/tr.component.ts","../../../projects/addon-table/components/table/tr/tr.template.html","../../../projects/addon-table/components/table/tbody/tbody.component.ts","../../../projects/addon-table/components/table/tbody/tbody.template.html","../../../projects/addon-table/components/table/th-group/th-group.component.ts","../../../projects/addon-table/components/table/th-group/th-group.template.html","../../../projects/addon-table/components/table/table.module.ts","../../../projects/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 {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n/**\n * Stream of sticky stuck events\n */\nexport const TUI_STUCK = new InjectionToken<boolean>(`[TUI_STUCK]`);\n\nexport const TUI_STUCK_PROVIDER: Provider = {\n provide: TUI_STUCK,\n deps: [ElementRef, IntersectionObserverService],\n useFactory: (\n {nativeElement}: ElementRef,\n entries$: Observable<IntersectionObserverEntry[]>,\n ): Observable<boolean> => {\n const stream$ = entries$.pipe(\n map(([{intersectionRatio}]) => intersectionRatio < 1),\n );\n\n nativeElement[`$.class._stuck`] = stream$;\n\n return stream$;\n },\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_DIRECTIVE,\n TUI_TEXTFIELD_LABEL_OUTSIDE,\n TUI_TEXTFIELD_SIZE,\n TuiAppearance,\n TuiTextfieldAppearanceDirective,\n} from '@taiga-ui/core';\nimport {TUI_INPUT_COUNT_OPTIONS, TuiInputCountOptions} from '@taiga-ui/kit';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_STUCK_PROVIDER} from './stuck.provider';\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: [0, 1],\n },\n {\n provide: TUI_TEXTFIELD_APPEARANCE_DIRECTIVE,\n useFactory: (): TuiTextfieldAppearanceDirective => {\n const directive = new TuiTextfieldAppearanceDirective();\n\n directive.appearance = TuiAppearance.Table;\n\n return directive;\n },\n },\n {\n provide: TUI_TEXTFIELD_LABEL_OUTSIDE,\n useValue: {\n labelOutside: true,\n },\n },\n {\n provide: TUI_INPUT_COUNT_OPTIONS,\n deps: [[new SkipSelf(), TUI_INPUT_COUNT_OPTIONS]],\n useFactory: (options: TuiInputCountOptions): TuiInputCountOptions => ({\n ...options,\n hideButtons: true,\n }),\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 AfterViewInit,\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 {AbstractTuiController, 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';\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\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 Partial<Record<keyof T, any>>>\n extends AbstractTuiController\n implements AfterViewInit\n{\n @Input()\n @tuiDefaultProp()\n columns: ReadonlyArray<string | keyof T> = [];\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeL | TuiSizeS = 'm';\n\n @Input()\n @tuiDefaultProp()\n direction: -1 | 1 = 1;\n\n @Output()\n readonly directionChange = new EventEmitter<-1 | 1>();\n\n @Output()\n readonly sorterChange = new EventEmitter<TuiComparator<T> | null>();\n\n constructor(\n @Inject(IntersectionObserverService)\n readonly entries$: Observable<IntersectionObserverEntry[]>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_STUCK) readonly stuck$: Observable<boolean>,\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n ) {\n super();\n }\n\n @Input()\n @tuiDefaultProp()\n sorter: TuiComparator<T> = () => 0;\n\n updateSorterAndDirection(sorter: TuiComparator<T> | null): void {\n if (this.sorter === sorter) {\n this.updateDirection(this.direction === 1 ? -1 : 1);\n } else {\n this.updateSorter(sorter);\n this.updateDirection(1);\n }\n }\n\n ngAfterViewInit(): void {\n this.changeDetectorRef.detectChanges();\n }\n\n updateSorter(sorter: TuiComparator<T> | null): void {\n this.sorter = sorter || (() => 0);\n this.sorterChange.emit(this.sorter);\n this.change$.next();\n }\n\n private updateDirection(direction: -1 | 1): void {\n this.direction = direction;\n this.directionChange.emit(this.direction);\n this.change$.next();\n }\n}\n","import {Directive, Inject, Input, Output} from '@angular/core';\nimport {map} from 'rxjs/operators';\n\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n selector: 'table[tuiTable][tuiDirectionOrder]',\n})\nexport class TuiDirectionOrderDirective<T> {\n @Input()\n set directionOrder(order: 'asc' | 'desc') {\n this.table.direction = order === 'asc' ? 1 : -1;\n }\n\n @Output()\n readonly directionOrderChange = this.table.directionChange.pipe(\n map(dir => (dir === 1 ? 'asc' : 'desc')),\n );\n\n constructor(\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n ) {}\n}\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[tuiHead]',\n})\nexport class TuiHeadDirective<T extends Partial<Record<keyof T, 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 {tuiPreventDefault, tuiTypedFromEvent} from '@taiga-ui/cdk';\nimport {TUI_ELEMENT_REF} from '@taiga-ui/core';\nimport {distinctUntilChanged, map, switchMap, takeUntil} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiResized]',\n})\nexport class TuiResizedDirective {\n @Output()\n readonly tuiResized = tuiTypedFromEvent(\n this.elementRef.nativeElement,\n 'mousedown',\n ).pipe(\n tuiPreventDefault(),\n switchMap(() => {\n const {width, right} = this.parentRef.nativeElement.getBoundingClientRect();\n\n return tuiTypedFromEvent(this.documentRef, 'mousemove').pipe(\n distinctUntilChanged(),\n map(({clientX}) => width + clientX - right),\n takeUntil(tuiTypedFromEvent(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/**\n * @deprecated use `*ngFor` + `tuiTableSort`-pipe instead.\n * See example {@link https://taiga-ui.dev/components/table/Setup}\n * ___\n * TODO v4.0 delete it.\n */\n@Directive({\n selector: 'ng-template[tuiRow]',\n})\nexport class TuiRowDirective<T extends Partial<Record<keyof T, any>>> {\n @Input()\n @tuiDefaultProp()\n tuiRowOf: readonly T[] = [];\n\n constructor(@Inject(TemplateRef) readonly template: TemplateRef<TuiRowContext<T>>) {}\n\n static ngTemplateContextGuard<T>(\n _dir: TuiRowDirective<T>,\n _ctx: unknown,\n ): _ctx is TuiRowContext<T> {\n return true;\n }\n}\n","import {\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 {tuiDefaultSort} 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 extends Partial<Record<keyof T, any>>> {\n @Input()\n @tuiDefaultProp()\n sorter: TuiComparator<T> | null = this.head\n ? (a, b) => tuiDefaultSort(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 if (this.isCurrent) {\n return this.table?.direction === 1\n ? 'tuiIconSortDescending'\n : 'tuiIconSortAscending';\n }\n\n return 'tuiIconSortOff';\n }\n\n onResized(width: number): void {\n this.width = width;\n }\n}\n","<button\n *ngIf=\"sorter && table; else content\"\n type=\"button\"\n class=\"t-sort\"\n [class.t-sort_sorted]=\"isCurrent\"\n (click)=\"table.updateSorterAndDirection(sorter)\"\n>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n {{ table.change$ | async }}\n <tui-svg\n class=\"t-sort-icon\"\n [src]=\"icon\"\n ></tui-svg>\n</button>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n<div\n *ngIf=\"resizable\"\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n></div>\n","import {Directive, DoCheck, forwardRef, Inject, OnInit} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\n\nimport {TuiThComponent} from '../th/th.component';\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiSortByDirective} from './sort-by.directive';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n selector: 'th[tuiTh][tuiSortable]',\n})\nexport class TuiSortableDirective<T extends Partial<Record<keyof T, any>>>\n implements DoCheck, OnInit\n{\n constructor(\n @Inject(forwardRef(() => TuiSortByDirective))\n private readonly sortBy: TuiSortByDirective<T>,\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n @Inject(TuiThComponent) private readonly th: TuiThComponent<T>,\n ) {}\n\n sorter: TuiComparator<T> = (): number => 0;\n\n get key(): keyof T {\n return this.th.key;\n }\n\n ngOnInit(): void {\n this.sorter = this.match ? this.table.sorter : this.sorter;\n this.th.sorter = this.sorter;\n }\n\n ngDoCheck(): void {\n if (this.match && this.table.sorter !== this.sorter) {\n this.table.updateSorter(this.sorter);\n }\n }\n\n private get match(): boolean {\n return this.sortBy.tuiSortBy === this.key;\n }\n}\n","import {\n ContentChildren,\n Directive,\n Inject,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {EMPTY_QUERY, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {filter, map} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiSortableDirective} from './sortable.directive';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n selector: 'table[tuiTable][tuiSortBy]',\n})\nexport class TuiSortByDirective<T extends Partial<Record<keyof T, any>>> {\n @ContentChildren(TuiSortableDirective, {descendants: true})\n private readonly sortables: QueryList<TuiSortableDirective<T>> = EMPTY_QUERY;\n\n @Input()\n @tuiDefaultProp()\n tuiSortBy: string | keyof T | null = null;\n\n @Output()\n readonly tuiSortByChange = this.table.sorterChange.pipe(\n filter(() => !!this.sortables.length),\n map(sorter => this.getKey(sorter)),\n );\n\n constructor(\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n ) {}\n\n private getKey(sorter: TuiComparator<T> | null): keyof T | null {\n return this.sortables.find(s => s.sorter === sorter)?.key || null;\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {\n INTERSECTION_ROOT_MARGIN,\n IntersectionObserverService,\n} from '@ng-web-apis/intersection-observer';\nimport {Observable} from 'rxjs';\n\nimport {TUI_STUCK, TUI_STUCK_PROVIDER} from '../providers/stuck.provider';\n\n@Directive({\n selector: 'thead[tuiThead]',\n providers: [\n TUI_STUCK_PROVIDER,\n IntersectionObserverService,\n {\n provide: INTERSECTION_ROOT_MARGIN,\n useValue: '0px 10000px 10000px 10000px',\n },\n ],\n host: {\n '($.class._stuck)': 'stuck$',\n },\n})\nexport class TuiTheadDirective {\n constructor(@Inject(TUI_STUCK) readonly stuck$: Observable<boolean>) {}\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {tuiPure} from '@taiga-ui/cdk';\n\nimport {TuiTableDirective} from '../directives/table.directive';\n\n@Pipe({\n name: `tuiTableSort`,\n pure: false,\n})\nexport class TuiTableSortPipe<T extends Partial<Record<keyof T, any>>>\n implements PipeTransform\n{\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 {tuiWatchedControllerFactory} from '@taiga-ui/core';\n\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TuiTableSortPipe} from '../pipes/table-sort.pipe';\n\nexport const TUI_TABLE_PROVIDER: Provider[] = [\n TuiDestroyService,\n TuiTableSortPipe,\n {\n provide: TuiTableDirective,\n deps: [[new SkipSelf(), TuiTableDirective], ChangeDetectorRef, TuiDestroyService],\n useFactory: tuiWatchedControllerFactory,\n },\n];\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\n\n@Component({\n selector: 'th[tuiTd], td[tuiTd]',\n template: `\n <ng-content></ng-content>\n `,\n styleUrls: ['./td.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTdComponent {\n @HostBinding('class._editable')\n @ContentChild(NgControl)\n readonly control: unknown;\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n forwardRef,\n Inject,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY, tuiQueryListChanges} from '@taiga-ui/cdk';\nimport {ReplaySubject} from 'rxjs';\nimport {map, switchMap} from 'rxjs/operators';\n\nimport {TuiCellDirective} from '../directives/cell.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_TABLE_PROVIDER} from '../providers/table.provider';\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\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 Partial<Record<keyof T, any>>>\n implements AfterContentInit\n{\n @ContentChildren(forwardRef(() => TuiCellDirective))\n private readonly cells: QueryList<TuiCellDirective> = EMPTY_QUERY;\n\n private readonly contentReady$ = new ReplaySubject<boolean>(1);\n\n readonly cells$ = this.contentReady$.pipe(\n switchMap(() => tuiQueryListChanges(this.cells)),\n map(cells =>\n cells.reduce(\n (record, item) => ({...record, [item.tuiCell]: item}),\n {} as Record<string | keyof T, TuiCellDirective>,\n ),\n ),\n );\n\n readonly item$ = this.contentReady$.pipe(\n switchMap(() => tuiQueryListChanges(this.body.rows)),\n map(\n rows =>\n /**\n * TODO v4.0 replace `this.body.sorted` with `this.body.data` (dont forget to drop `sorted`-getter).\n */\n this.body.sorted[rows.findIndex(row => row === this)] as Record<\n string | keyof T,\n any\n >,\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 async ngAfterContentInit(): Promise<void> {\n await Promise.resolve();\n this.contentReady$.next(true);\n }\n}\n","<ng-container *ngIf=\"cells$ | async as items\">\n <ng-container\n *ngFor=\"let key of table.columns\"\n [ngTemplateOutlet]=\"items[key]?.template || plain\"\n >\n <ng-template #plain>\n <td\n *ngIf=\"item$ | async as item\"\n tuiTd\n >\n {{ item[key] }}\n </td>\n </ng-template>\n </ng-container>\n</ng-container>\n","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';\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\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 extends Partial<Record<keyof T, any>>> {\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","<tr *ngIf=\"heading\">\n <th\n class=\"t-heading\"\n [colSpan]=\"table.columns.length\"\n >\n <button\n type=\"button\"\n class=\"t-expand\"\n (click)=\"onClick()\"\n >\n <span class=\"t-name\">\n <ng-container *polymorpheusOutlet=\"heading as text\">\n {{ text }}\n </ng-container>\n </span>\n <tui-svg\n src=\"tuiIconChevronDownLarge\"\n class=\"t-chevron\"\n [class.t-chevron_rotated]=\"open\"\n ></tui-svg>\n </button>\n </th>\n</tr>\n<ng-container *ngIf=\"open\">\n <ng-content></ng-content>\n</ng-container>\n<ng-container *ngIf=\"open && row\">\n <ng-container\n *ngFor=\"let item of sorted; let index = index\"\n [ngTemplateOutlet]=\"row.template\"\n [ngTemplateOutletContext]=\"item | tuiMapper : toContext : index\"\n ></ng-container>\n</ng-container>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n forwardRef,\n Inject,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {map, startWith} from 'rxjs/operators';\n\nimport {TuiHeadDirective} from '../directives/head.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_TABLE_PROVIDER} from '../providers/table.provider';\nimport {TuiThComponent} from '../th/th.component';\n\n@Component({\n selector: 'tr[tuiThGroup]',\n templateUrl: './th-group.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_TABLE_PROVIDER],\n})\nexport class TuiThGroupComponent<T extends Partial<Record<keyof T, any>>>\n implements AfterContentInit\n{\n @ContentChild(forwardRef(() => TuiThComponent))\n readonly th!: TuiThComponent<T>;\n\n @ContentChildren(forwardRef(() => TuiHeadDirective))\n readonly heads: QueryList<TuiHeadDirective<T>> = EMPTY_QUERY;\n\n heads$: Observable<Record<any, TuiHeadDirective<T>>> | null = null;\n\n constructor(\n @Inject(forwardRef(() => TuiTableDirective))\n readonly table: TuiTableDirective<T>,\n ) {}\n\n ngAfterContentInit(): void {\n this.heads$ = this.heads.changes.pipe(\n startWith(null),\n map(() =>\n this.heads.reduce(\n (record, item) => ({...record, [item.tuiHead]: item}),\n {} as Record<keyof T, TuiHeadDirective<T>>,\n ),\n ),\n );\n }\n}\n","<ng-content></ng-content>\n<ng-container *ngIf=\"heads$ | async as headings\">\n <ng-container\n *ngFor=\"let key of table.columns\"\n [ngTemplateOutlet]=\"headings[key.toString()]?.template || plain\"\n >\n <ng-template #plain>\n <th\n *ngIf=\"!th && !heads.length\"\n tuiTh\n >\n {{ key.toString() }}\n </th>\n </ng-template>\n </ng-container>\n</ng-container>\n","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 {TuiDirectionOrderDirective} from './directives/direction-order.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 TuiDirectionOrderDirective,\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 TuiDirectionOrderDirective,\n ],\n})\nexport class TuiTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i3.TuiResizedDirective","i1.TuiTdComponent","i1.TuiThComponent"],"mappings":";;;;;;;;;;;;;;;;;;;MAMa,gBAAgB,CAAA;AAKzB,IAAA,WAAA,CACkC,QAA8C,EAAA;QAA9C,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAsC;QAHhF,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;KAIT;;AAPK,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,kBAMb,WAAW,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGANd,gBAAgB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAGzB,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACJ,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAHJ,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;AACxB,iBAAA,CAAA;;0BAOQ,MAAM;2BAAC,WAAW,CAAA;4CAHvB,OAAO,EAAA,CAAA;sBAFN,KAAK;;;ACFV;;AAEG;MACU,SAAS,GAAG,IAAI,cAAc,CAAU,CAAa,WAAA,CAAA,EAAE;AAEvD,MAAA,kBAAkB,GAAa;AACxC,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,IAAI,EAAE,CAAC,UAAU,EAAE,2BAA2B,CAAC;IAC/C,UAAU,EAAE,CACR,EAAC,aAAa,EAAa,EAC3B,QAAiD,KAC5B;QACrB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CACzB,GAAG,CAAC,CAAC,CAAC,EAAC,iBAAiB,EAAC,CAAC,KAAK,iBAAiB,GAAG,CAAC,CAAC,CACxD,CAAC;AAEF,QAAA,aAAa,CAAC,CAAA,cAAA,CAAgB,CAAC,GAAG,OAAO,CAAC;AAE1C,QAAA,OAAO,OAAO,CAAC;KAClB;;;ACHQ,MAAA,mBAAmB,GAAG;AAC/B,IAAA;AACI,QAAA,OAAO,EAAE,wBAAwB;AACjC,QAAA,QAAQ,EAAE,CAA6B,2BAAA,CAAA;AAC1C,KAAA;AACD,IAAA;AACI,QAAA,OAAO,EAAE,sBAAsB;AAC/B,QAAA,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACnB,KAAA;AACD,IAAA;AACI,QAAA,OAAO,EAAE,kCAAkC;QAC3C,UAAU,EAAE,MAAsC;AAC9C,YAAA,MAAM,SAAS,GAAG,IAAI,+BAA+B,EAAE,CAAC;YAExD,SAAS,CAAC,UAAU,GAAA,OAAA,aAAuB;AAE3C,YAAA,OAAO,SAAS,CAAC;SACpB;AACJ,KAAA;AACD,IAAA;AACI,QAAA,OAAO,EAAE,2BAA2B;AACpC,QAAA,QAAQ,EAAE;AACN,YAAA,YAAY,EAAE,IAAI;AACrB,SAAA;AACJ,KAAA;AACD,IAAA;AACI,QAAA,OAAO,EAAE,uBAAuB;QAChC,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,uBAAuB,CAAC,CAAC;AACjD,QAAA,UAAU,EAAE,CAAC,OAA6B,MACnC,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,OAAO,CACV,EAAA,EAAA,WAAW,EAAE,IAAI,EACnB,CAAA,CAAA;AACL,KAAA;AACD,IAAA;AACI,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AACnD,KAAA;IACD,2BAA2B;IAC3B,aAAa;IACb,kBAAkB;;;AC9BhB,MAAO,iBACT,SAAQ,qBAAqB,CAAA;AAsB7B,IAAA,WAAA,CAEa,QAAiD,EAC/B,KAAuC,EACtC,MAA2B,EACX,iBAAoC,EAAA;AAEhF,QAAA,KAAK,EAAE,CAAC;QALC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAyC;QAC/B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAkC;QACtC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAqB;QACX,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QAtBpF,IAAO,CAAA,OAAA,GAAoC,EAAE,CAAC;QAK9C,IAAI,CAAA,IAAA,GAAwB,GAAG,CAAC;QAIhC,IAAS,CAAA,SAAA,GAAW,CAAC,CAAC;AAGb,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAU,CAAC;AAG7C,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAA2B,CAAC;AAcpE,QAAA,IAAA,CAAA,MAAM,GAAqB,MAAM,CAAC,CAAC;KAJlC;AAMD,IAAA,wBAAwB,CAAC,MAA+B,EAAA;AACpD,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;AACxB,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACvD,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAC1B,YAAA,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AAC3B,SAAA;KACJ;IAED,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;KAC1C;AAED,IAAA,YAAY,CAAC,MAA+B,EAAA;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACvB;AAEO,IAAA,eAAe,CAAC,SAAiB,EAAA;AACrC,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACvB;;AA5DQ,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,kBAwBd,2BAA2B,EAAA,EAAA,EAAA,KAAA,EAE3B,QAAQ,EACR,EAAA,EAAA,KAAA,EAAA,SAAS,aACT,iBAAiB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA5BpB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,+XAPf,mBAAmB,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAa9B,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AAC6B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAK9C,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACe,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIhC,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACK,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAoBtB,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACkB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAnC1B,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAT7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,SAAS,EAAE,mBAAmB;AAC9B,oBAAA,IAAI,EAAE;AACF,wBAAA,oBAAoB,EAAE,OAAO;AAC7B,wBAAA,kBAAkB,EAAE,QAAQ;AAC5B,wBAAA,KAAK,EAAE,2BAA2B;AACrC,qBAAA;AACJ,iBAAA,CAAA;;0BAyBQ,MAAM;2BAAC,2BAA2B,CAAA;;0BAElC,MAAM;2BAAC,QAAQ,CAAA;;0BACf,MAAM;2BAAC,SAAS,CAAA;;0BAChB,MAAM;2BAAC,iBAAiB,CAAA;4CAtB7B,OAAO,EAAA,CAAA;sBAFN,KAAK;gBAON,IAAI,EAAA,CAAA;sBAHH,KAAK;;sBACL,WAAW;uBAAC,gBAAgB,CAAA;gBAM7B,SAAS,EAAA,CAAA;sBAFR,KAAK;gBAKG,eAAe,EAAA,CAAA;sBADvB,MAAM;gBAIE,YAAY,EAAA,CAAA;sBADpB,MAAM;gBAeP,MAAM,EAAA,CAAA;sBAFL,KAAK;;;MCvDG,0BAA0B,CAAA;AAWnC,IAAA,WAAA,CACgD,KAA2B,EAAA;QAA3B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAsB;AALlE,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAC3D,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC,CAC3C,CAAC;KAIE;IAZJ,IACI,cAAc,CAAC,KAAqB,EAAA;AACpC,QAAA,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;KACnD;;AAJQ,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,kBAYvB,iBAAiB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4GAZpB,0BAA0B,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oCAAoC;AACjD,iBAAA,CAAA;;0BAaQ,MAAM;2BAAC,iBAAiB,CAAA;4CAVzB,cAAc,EAAA,CAAA;sBADjB,KAAK;gBAMG,oBAAoB,EAAA,CAAA;sBAD5B,MAAM;;;MCTE,gBAAgB,CAAA;AAIzB,IAAA,WAAA,CACkC,QAA8C,EAAA;QAA9C,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAsC;KAC5E;;AANK,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,kBAKb,WAAW,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGALd,gBAAgB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;AACxB,iBAAA,CAAA;;0BAMQ,MAAM;2BAAC,WAAW,CAAA;4CAHvB,OAAO,EAAA,CAAA;sBADN,KAAK;;;MCGG,mBAAmB,CAAA;AAkB5B,IAAA,WAAA,CACuC,WAAqB,EAEvC,UAAmC,EAEnC,SAAiD,EAAA;QAJ/B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAU;QAEvC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QAEnC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAwC;QArB7D,IAAU,CAAA,UAAA,GAAG,iBAAiB,CACnC,IAAI,CAAC,UAAU,CAAC,aAAa,EAC7B,WAAW,CACd,CAAC,IAAI,CACF,iBAAiB,EAAE,EACnB,SAAS,CAAC,MAAK;AACX,YAAA,MAAM,EAAC,KAAK,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;AAE5E,YAAA,OAAO,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,IAAI,CACxD,oBAAoB,EAAE,EACtB,GAAG,CAAC,CAAC,EAAC,OAAO,EAAC,KAAK,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC,EAC3C,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAC5D,CAAC;SACL,CAAC,CACL,CAAC;KAQE;;AAxBK,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAmBhB,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,QAAQ,EACR,EAAA,EAAA,KAAA,EAAA,UAAU,aAEV,eAAe,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qGAtBlB,mBAAmB,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,cAAc;AAC3B,iBAAA,CAAA;0DAoBuD,QAAQ,EAAA,UAAA,EAAA,CAAA;0BAAvD,MAAM;2BAAC,QAAQ,CAAA;;0BACf,MAAM;2BAAC,UAAU,CAAA;;0BAEjB,MAAM;2BAAC,eAAe,CAAA;4CApBlB,UAAU,EAAA,CAAA;sBADlB,MAAM;;;ACNX;;;;;AAKG;MAIU,eAAe,CAAA;AAKxB,IAAA,WAAA,CAA0C,QAAuC,EAAA;QAAvC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAA+B;QAFjF,IAAQ,CAAA,QAAA,GAAiB,EAAE,CAAC;KAEyD;AAErF,IAAA,OAAO,sBAAsB,CACzB,IAAwB,EACxB,IAAa,EAAA;AAEb,QAAA,OAAO,IAAI,CAAC;KACf;;AAZQ,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,kBAKJ,WAAW,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;iGALtB,eAAe,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAGxB,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACW,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAHnB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAClC,iBAAA,CAAA;;0BAMgB,MAAM;2BAAC,WAAW,CAAA;4CAF/B,QAAQ,EAAA,CAAA;sBAFP,KAAK;;;MCgBG,cAAc,CAAA;IAmBvB,WAGqB,CAAA,IAAgC,EAGxC,KAAkC,EAAA;QAH1B,IAAI,CAAA,IAAA,GAAJ,IAAI,CAA4B;QAGxC,IAAK,CAAA,KAAA,GAAL,KAAK,CAA6B;QAtB/C,IAAM,CAAA,MAAA,GAA4B,IAAI,CAAC,IAAI;cACrC,CAAC,CAAC,EAAE,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;cAClD,IAAI,CAAC;QAIX,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAKlB,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;QAGf,IAAK,CAAA,KAAA,GAAkB,IAAI,CAAC;KASxB;AAEJ,IAAA,IAAI,GAAG,GAAA;AACH,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,MAAM,IAAI,wBAAwB,EAAE,CAAC;AACxC,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;KAC5B;AAED,IAAA,IAAI,SAAS,GAAA;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;AAED,IAAA,IAAI,IAAI,GAAA;;QACJ,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,OAAO,CAAA,MAAA,IAAI,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,MAAK,CAAC;AAC9B,kBAAE,uBAAuB;kBACvB,sBAAsB,CAAC;AAChC,SAAA;AAED,QAAA,OAAO,gBAAgB,CAAC;KAC3B;AAED,IAAA,SAAS,CAAC,KAAa,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;;4GApDQ,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAqBX,gBAAgB,EAGhB,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,UAAU,CAAC,MAAM,iBAAiB,CAAC,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAxBtC,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,EAPZ,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,QAAA;AACI,YAAA,OAAO,EAAE,eAAe;AACxB,YAAA,WAAW,EAAE,UAAU;AAC1B,SAAA;AACJ,KAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5BL,ujBAsBA,EAAA,MAAA,EAAA,CAAA,8nFAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,KAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;ADWI,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AAGN,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIX,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACC,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKlB,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACF,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAdN,cAAc,EAAA,UAAA,EAAA,CAAA;kBAZ1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,WAAW,EAAE,oBAAoB;oBACjC,SAAS,EAAE,CAAC,iBAAiB,CAAC;oBAC9B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,eAAe;AACxB,4BAAA,WAAW,EAAE,UAAU;AAC1B,yBAAA;AACJ,qBAAA;AACJ,iBAAA,CAAA;;0BAqBQ,QAAQ;;0BACR,MAAM;2BAAC,gBAAgB,CAAA;;0BAEvB,QAAQ;;0BACR,MAAM;AAAC,oBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,iBAAiB,CAAC,CAAA;4CArB/C,MAAM,EAAA,CAAA;sBAFL,KAAK;gBAQN,SAAS,EAAA,CAAA;sBAFR,KAAK;gBAON,MAAM,EAAA,CAAA;sBAHL,KAAK;;sBACL,WAAW;uBAAC,eAAe,CAAA;gBAK5B,KAAK,EAAA,CAAA;sBADJ,WAAW;uBAAC,gBAAgB,CAAA;;;MElCpB,oBAAoB,CAAA;AAG7B,IAAA,WAAA,CAEqB,MAA6B,EACF,KAA2B,EAC9B,EAAqB,EAAA;QAF7C,IAAM,CAAA,MAAA,GAAN,MAAM,CAAuB;QACF,IAAK,CAAA,KAAA,GAAL,KAAK,CAAsB;QAC9B,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;AAGlE,QAAA,IAAA,CAAA,MAAM,GAAqB,MAAc,CAAC,CAAC;KAFvC;AAIJ,IAAA,IAAI,GAAG,GAAA;AACH,QAAA,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;KACtB;IAED,QAAQ,GAAA;QACJ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3D,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;KAChC;IAED,SAAS,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;YACjD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACxC,SAAA;KACJ;AAED,IAAA,IAAY,KAAK,GAAA;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,GAAG,CAAC;KAC7C;;kHA7BQ,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAIjB,UAAU,CAAC,MAAM,kBAAkB,CAAC,EAAA,EAAA,EAAA,KAAA,EAEpC,iBAAiB,EAAA,EAAA,EAAA,KAAA,EACjB,cAAc,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sGAPjB,oBAAoB,EAAA,QAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;AACrC,iBAAA,CAAA;;0BAKQ,MAAM;AAAC,oBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,kBAAkB,CAAC,CAAA;;0BAE3C,MAAM;2BAAC,iBAAiB,CAAA;;0BACxB,MAAM;2BAAC,cAAc,CAAA;;;MCCjB,kBAAkB,CAAA;AAc3B,IAAA,WAAA,CACgD,KAA2B,EAAA;QAA3B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAsB;QAb1D,IAAS,CAAA,SAAA,GAAuC,WAAW,CAAC;QAI7E,IAAS,CAAA,SAAA,GAA4B,IAAI,CAAC;AAGjC,QAAA,IAAA,CAAA,eAAe,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;AAEI,IAAA,MAAM,CAAC,MAA+B,EAAA;;QAC1C,OAAO,CAAA,MAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,KAAI,IAAI,CAAC;KACrE;;AApBQ,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kBAef,iBAAiB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAfpB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,iLACV,oBAAoB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAKrC,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACyB,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FANjC,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,4BAA4B;AACzC,iBAAA,CAAA;;0BAgBQ,MAAM;2BAAC,iBAAiB,CAAA;4CAbZ,SAAS,EAAA,CAAA;sBADzB,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,oBAAoB,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,CAAA;gBAK1D,SAAS,EAAA,CAAA;sBAFR,KAAK;gBAKG,eAAe,EAAA,CAAA;sBADvB,MAAM;;;MCLE,iBAAiB,CAAA;AAC1B,IAAA,WAAA,CAAwC,MAA2B,EAAA;QAA3B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAqB;KAAI;;AAD9D,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,kBACN,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AADpB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EAZf,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,SAAA,EAAA;QACP,kBAAkB;QAClB,2BAA2B;AAC3B,QAAA;AACI,YAAA,OAAO,EAAE,wBAAwB;AACjC,YAAA,QAAQ,EAAE,6BAA6B;AAC1C,SAAA;AACJ,KAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAKQ,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAd7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,SAAS,EAAE;wBACP,kBAAkB;wBAClB,2BAA2B;AAC3B,wBAAA;AACI,4BAAA,OAAO,EAAE,wBAAwB;AACjC,4BAAA,QAAQ,EAAE,6BAA6B;AAC1C,yBAAA;AACJ,qBAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,kBAAkB,EAAE,QAAQ;AAC/B,qBAAA;AACJ,iBAAA,CAAA;;0BAEgB,MAAM;2BAAC,SAAS,CAAA;;;MCdpB,gBAAgB,CAAA;AAGzB,IAAA,WAAA,CACgD,KAA2B,EAAA;QAA3B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAsB;KACvE;AAEJ,IAAA,SAAS,CAAC,IAAkB,EAAA;AACxB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KACnE;AAGO,IAAA,IAAI,CACR,IAAkB,EAClB,MAAwB,EACxB,SAAiB,EAAA;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;;AAlBQ,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,kBAIb,iBAAiB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAJpB,gBAAgB,EAAA,IAAA,EAAA,cAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;AAYzB,UAAA,CAAA;IADC,OAAO;AAOP,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,IAAA,CAAA,CAAA;4FAlBQ,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,CAAc,YAAA,CAAA;AACpB,oBAAA,IAAI,EAAE,KAAK;AACd,iBAAA,CAAA;;0BAKQ,MAAM;2BAAC,iBAAiB,CAAA;4CAQrB,IAAI,EAAA,EAAA,EAAA,EAAA,CAAA;;ACfH,MAAA,kBAAkB,GAAe;IAC1C,iBAAiB;IACjB,gBAAgB;AAChB,IAAA;AACI,QAAA,OAAO,EAAE,iBAAiB;AAC1B,QAAA,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;AACjF,QAAA,UAAU,EAAE,2BAA2B;AAC1C,KAAA;;;MCEQ,cAAc,CAAA;;4GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;gGAAd,cAAc,EAAA,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAET,SAAS,EARb,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,6qCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FAIQ,cAAc,EAAA,UAAA,EAAA,CAAA;kBAR1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,SAAS,EAAE,CAAC,iBAAiB,CAAC;oBAC9B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAClD,iBAAA,CAAA;8BAIY,OAAO,EAAA,CAAA;sBAFf,WAAW;uBAAC,iBAAiB,CAAA;;sBAC7B,YAAY;uBAAC,SAAS,CAAA;;;MCQd,cAAc,CAAA;IAgCvB,WAEa,CAAA,KAA2B,EAEnB,IAA0B,EAAA;QAFlC,IAAK,CAAA,KAAA,GAAL,KAAK,CAAsB;QAEnB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAsB;QAhC9B,IAAK,CAAA,KAAA,GAAgC,WAAW,CAAC;AAEjD,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,aAAa,CAAU,CAAC,CAAC,CAAC;QAEtD,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CACrC,SAAS,CAAC,MAAM,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAChD,GAAG,CAAC,KAAK,IACL,KAAK,CAAC,MAAM,CACR,CAAC,MAAM,EAAE,IAAI,MAAK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,MAAM,CAAA,EAAA,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAA,CAAA,EACrD,EAAgD,CACnD,CACJ,CACJ,CAAC;QAEO,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CACpC,SAAS,CAAC,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EACpD,GAAG,CACC,IAAI;AACA;;AAEG;QACH,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,KAAK,IAAI,CAAC,CAGnD,CACR,CACJ,CAAC;KAOE;IAEE,kBAAkB,GAAA;;AACpB,YAAA,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;AACxB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACjC,CAAA,CAAA;AAAA,KAAA;;AA1CQ,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAiCX,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,UAAU,CAAC,MAAM,iBAAiB,CAAC,EAAA,EAAA,EAAA,KAAA,EAEnC,UAAU,CAAC,MAAM,iBAAiB,CAAC,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAnCtC,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,oCAFZ,CAAC,kBAAkB,CAAC,EAKG,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAAA,gBAAgB,iCC7BtD,ibAeA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,cAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FDWa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,WAAW,EAAE,oBAAoB;oBACjC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,SAAS,EAAE,CAAC,kBAAkB,CAAC;AAClC,iBAAA,CAAA;;0BAkCQ,MAAM;AAAC,oBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,iBAAiB,CAAC,CAAA;;0BAE1C,MAAM;AAAC,oBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,iBAAiB,CAAC,CAAA;4CA/B9B,KAAK,EAAA,CAAA;sBADrB,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,gBAAgB,CAAC,CAAA;;;MEC1C,iBAAiB,CAAA;IAsB1B,WAC+C,CAAA,IAAyB,EAE3D,KAA2B,EAAA;QAFO,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAqB;QAE3D,IAAK,CAAA,KAAA,GAAL,KAAK,CAAsB;QAtBxC,IAAI,CAAA,IAAA,GAAiB,EAAE,CAAC;QAIxB,IAAO,CAAA,OAAA,GAAwB,EAAE,CAAC;QAIlC,IAAI,CAAA,IAAA,GAAG,IAAI,CAAC;AAGH,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAW,CAAC;QAMzC,IAAI,CAAA,IAAA,GAAiC,WAAW,CAAC;AAYjD,QAAA,IAAA,CAAA,SAAS,GAAG,CACjB,SAAY,EACZ,KAAa,MACoB,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC,CAAC;KATrD;AAEJ,IAAA,IAAI,MAAM,GAAA;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzC;IAOD,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACnC;;+GAxCQ,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAuBd,gBAAgB,EAChB,EAAA,EAAA,KAAA,EAAA,UAAU,CAAC,MAAM,iBAAiB,CAAC,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAxBtC,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,6IAFf,kBAAkB,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,KAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAkBE,eAAe,CAGZ,EAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAAA,cAAc,iCCjDpD,k/BAiCA,EAAA,MAAA,EAAA,CAAA,w5CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,KAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,WAAA,EAAA,EAAA,CAAA,aAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;ADAI,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACO,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIxB,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACiB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIlC,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACL,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAXH,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,WAAW,EAAE,uBAAuB;oBACpC,SAAS,EAAE,CAAC,oBAAoB,CAAC;oBACjC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,SAAS,EAAE,kBAAkB;AAChC,iBAAA,CAAA;;0BAwBQ,MAAM;2BAAC,gBAAgB,CAAA;;0BACvB,MAAM;AAAC,oBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,iBAAiB,CAAC,CAAA;4CArB/C,IAAI,EAAA,CAAA;sBAFH,KAAK;gBAMN,OAAO,EAAA,CAAA;sBAFN,KAAK;gBAMN,IAAI,EAAA,CAAA;sBAFH,KAAK;gBAKG,UAAU,EAAA,CAAA;sBADlB,MAAM;gBAIE,GAAG,EAAA,CAAA;sBADX,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,eAAe,CAAC,CAAA;gBAItC,IAAI,EAAA,CAAA;sBADZ,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,cAAc,CAAC,CAAA;;;MExBxC,mBAAmB,CAAA;AAW5B,IAAA,WAAA,CAEa,KAA2B,EAAA;QAA3B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAsB;QAN/B,IAAK,CAAA,KAAA,GAAmC,WAAW,CAAC;QAE7D,IAAM,CAAA,MAAA,GAAwD,IAAI,CAAC;KAK/D;IAEJ,kBAAkB,GAAA;QACd,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CACjC,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MACA,IAAI,CAAC,KAAK,CAAC,MAAM,CACb,CAAC,MAAM,EAAE,IAAI,MAAU,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CAAE,EAAA,EAAA,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,EAAA,CAAA,CAAE,EACrD,EAA0C,CAC7C,CACJ,CACJ,CAAC;KACL;;AA1BQ,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBAYhB,UAAU,CAAC,MAAM,iBAAiB,CAAC,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qGAZtC,mBAAmB,EAAA,QAAA,EAAA,gBAAA,EAAA,SAAA,EAFjB,CAAC,kBAAkB,CAAC,6FAKA,cAAc,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAGX,gBAAgB,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/BtD,ieAgBA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAG,cAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FDSa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,WAAW,EAAE,0BAA0B;oBACvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,SAAS,EAAE,CAAC,kBAAkB,CAAC;AAClC,iBAAA,CAAA;;0BAaQ,MAAM;AAAC,oBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,iBAAiB,CAAC,CAAA;4CARtC,EAAE,EAAA,CAAA;sBADV,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,cAAc,CAAC,CAAA;gBAIrC,KAAK,EAAA,CAAA;sBADb,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,gBAAgB,CAAC,CAAA;;;ME2B1C,cAAc,CAAA;;4GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBAjCnB,iBAAiB;QACjB,iBAAiB;QACjB,mBAAmB;QACnB,cAAc;QACd,cAAc;QACd,cAAc;QACd,gBAAgB;QAChB,gBAAgB;QAChB,eAAe;QACf,kBAAkB;QAClB,oBAAoB;QACpB,iBAAiB;QACjB,mBAAmB;QACnB,gBAAgB;QAChB,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAhBpB,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,YAAY,CAAA,EAAA,OAAA,EAAA,CAmBzE,iBAAiB;QACjB,iBAAiB;QACjB,mBAAmB;QACnB,cAAc;QACd,cAAc;QACd,cAAc;QACd,gBAAgB;QAChB,gBAAgB;QAChB,eAAe;QACf,kBAAkB;QAClB,oBAAoB;QACpB,iBAAiB;QACjB,gBAAgB;QAChB,0BAA0B,CAAA,EAAA,CAAA,CAAA;6GAGrB,cAAc,EAAA,OAAA,EAAA,CAnCd,CAAC,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAA,EAAA,CAAA,CAAA;4FAmCrE,cAAc,EAAA,UAAA,EAAA,CAAA;kBApC1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,YAAY,CAAC;AAC9E,oBAAA,YAAY,EAAE;wBACV,iBAAiB;wBACjB,iBAAiB;wBACjB,mBAAmB;wBACnB,cAAc;wBACd,cAAc;wBACd,cAAc;wBACd,gBAAgB;wBAChB,gBAAgB;wBAChB,eAAe;wBACf,kBAAkB;wBAClB,oBAAoB;wBACpB,iBAAiB;wBACjB,mBAAmB;wBACnB,gBAAgB;wBAChB,0BAA0B;AAC7B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,iBAAiB;wBACjB,iBAAiB;wBACjB,mBAAmB;wBACnB,cAAc;wBACd,cAAc;wBACd,cAAc;wBACd,gBAAgB;wBAChB,gBAAgB;wBAChB,eAAe;wBACf,kBAAkB;wBAClB,oBAAoB;wBACpB,iBAAiB;wBACjB,gBAAgB;wBAChB,0BAA0B;AAC7B,qBAAA;AACJ,iBAAA,CAAA;;;ACzDD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-table-components-table.js","sources":["../../../projects/addon-table/components/table/directives/cell.directive.ts","../../../projects/addon-table/components/table/providers/stuck.provider.ts","../../../projects/addon-table/components/table/providers/table.providers.ts","../../../projects/addon-table/components/table/directives/table.directive.ts","../../../projects/addon-table/components/table/directives/direction-order.directive.ts","../../../projects/addon-table/components/table/directives/head.directive.ts","../../../projects/addon-table/components/table/directives/resized.directive.ts","../../../projects/addon-table/components/table/directives/row.directive.ts","../../../projects/addon-table/components/table/th/th.component.ts","../../../projects/addon-table/components/table/th/th.template.html","../../../projects/addon-table/components/table/directives/sortable.directive.ts","../../../projects/addon-table/components/table/directives/sort-by.directive.ts","../../../projects/addon-table/components/table/directives/thead.directive.ts","../../../projects/addon-table/components/table/pipes/table-sort.pipe.ts","../../../projects/addon-table/components/table/providers/table.provider.ts","../../../projects/addon-table/components/table/td/td.component.ts","../../../projects/addon-table/components/table/tr/tr.component.ts","../../../projects/addon-table/components/table/tr/tr.template.html","../../../projects/addon-table/components/table/tbody/tbody.component.ts","../../../projects/addon-table/components/table/tbody/tbody.template.html","../../../projects/addon-table/components/table/th-group/th-group.component.ts","../../../projects/addon-table/components/table/th-group/th-group.template.html","../../../projects/addon-table/components/table/table.module.ts","../../../projects/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 {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n/**\n * Stream of sticky stuck events\n */\nexport const TUI_STUCK = new InjectionToken<boolean>(`[TUI_STUCK]`);\n\nexport const TUI_STUCK_PROVIDER: Provider = {\n provide: TUI_STUCK,\n deps: [ElementRef, IntersectionObserverService],\n useFactory: (\n {nativeElement}: ElementRef,\n entries$: Observable<IntersectionObserverEntry[]>,\n ): Observable<boolean> => {\n const stream$ = entries$.pipe(\n map(([{intersectionRatio}]) => intersectionRatio < 1),\n );\n\n nativeElement[`$.class._stuck`] = stream$;\n\n return stream$;\n },\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_DIRECTIVE,\n TUI_TEXTFIELD_LABEL_OUTSIDE,\n TUI_TEXTFIELD_SIZE,\n TuiAppearance,\n TuiTextfieldAppearanceDirective,\n} from '@taiga-ui/core';\nimport {TUI_INPUT_COUNT_OPTIONS, TuiInputCountOptions} from '@taiga-ui/kit';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_STUCK_PROVIDER} from './stuck.provider';\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: [0, 1],\n },\n {\n provide: TUI_TEXTFIELD_APPEARANCE_DIRECTIVE,\n useFactory: (): TuiTextfieldAppearanceDirective => {\n const directive = new TuiTextfieldAppearanceDirective();\n\n directive.appearance = TuiAppearance.Table;\n\n return directive;\n },\n },\n {\n provide: TUI_TEXTFIELD_LABEL_OUTSIDE,\n useValue: {\n labelOutside: true,\n },\n },\n {\n provide: TUI_INPUT_COUNT_OPTIONS,\n deps: [[new SkipSelf(), TUI_INPUT_COUNT_OPTIONS]],\n useFactory: (options: TuiInputCountOptions): TuiInputCountOptions => ({\n ...options,\n hideButtons: true,\n }),\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 AfterViewInit,\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 {AbstractTuiController, 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';\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\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 Partial<Record<keyof T, any>>>\n extends AbstractTuiController\n implements AfterViewInit\n{\n @Input()\n @tuiDefaultProp()\n columns: ReadonlyArray<string | keyof T> = [];\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeL | TuiSizeS = 'm';\n\n @Input()\n @tuiDefaultProp()\n direction: -1 | 1 = 1;\n\n @Output()\n readonly directionChange = new EventEmitter<-1 | 1>();\n\n @Output()\n readonly sorterChange = new EventEmitter<TuiComparator<T> | null>();\n\n constructor(\n @Inject(IntersectionObserverService)\n readonly entries$: Observable<IntersectionObserverEntry[]>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_STUCK) readonly stuck$: Observable<boolean>,\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n ) {\n super();\n }\n\n @Input()\n @tuiDefaultProp()\n sorter: TuiComparator<T> = () => 0;\n\n updateSorterAndDirection(sorter: TuiComparator<T> | null): void {\n if (this.sorter === sorter) {\n this.updateDirection(this.direction === 1 ? -1 : 1);\n } else {\n this.updateSorter(sorter);\n this.updateDirection(1);\n }\n }\n\n ngAfterViewInit(): void {\n this.changeDetectorRef.detectChanges();\n }\n\n updateSorter(sorter: TuiComparator<T> | null): void {\n this.sorter = sorter || (() => 0);\n this.sorterChange.emit(this.sorter);\n this.change$.next();\n }\n\n private updateDirection(direction: -1 | 1): void {\n this.direction = direction;\n this.directionChange.emit(this.direction);\n this.change$.next();\n }\n}\n","import {Directive, Inject, Input, Output} from '@angular/core';\nimport {map} from 'rxjs/operators';\n\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n selector: 'table[tuiTable][tuiDirectionOrder]',\n})\nexport class TuiDirectionOrderDirective<T> {\n @Input()\n set directionOrder(order: 'asc' | 'desc') {\n this.table.direction = order === 'asc' ? 1 : -1;\n }\n\n @Output()\n readonly directionOrderChange = this.table.directionChange.pipe(\n map(dir => (dir === 1 ? 'asc' : 'desc')),\n );\n\n constructor(\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n ) {}\n}\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[tuiHead]',\n})\nexport class TuiHeadDirective<T extends Partial<Record<keyof T, 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 {tuiPreventDefault, tuiTypedFromEvent} from '@taiga-ui/cdk';\nimport {TUI_ELEMENT_REF} from '@taiga-ui/core';\nimport {distinctUntilChanged, map, switchMap, takeUntil} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiResized]',\n})\nexport class TuiResizedDirective {\n @Output()\n readonly tuiResized = tuiTypedFromEvent(\n this.elementRef.nativeElement,\n 'mousedown',\n ).pipe(\n tuiPreventDefault(),\n switchMap(() => {\n const {width, right} = this.parentRef.nativeElement.getBoundingClientRect();\n\n return tuiTypedFromEvent(this.documentRef, 'mousemove').pipe(\n distinctUntilChanged(),\n map(({clientX}) => width + clientX - right),\n takeUntil(tuiTypedFromEvent(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/**\n * @deprecated use `*ngFor` + `tuiTableSort`-pipe instead.\n * See example {@link https://taiga-ui.dev/components/table/Setup}\n * ___\n * TODO v4.0 delete it.\n */\n@Directive({\n selector: 'ng-template[tuiRow]',\n})\nexport class TuiRowDirective<T extends Partial<Record<keyof T, any>>> {\n @Input()\n @tuiDefaultProp()\n tuiRowOf: readonly T[] = [];\n\n constructor(@Inject(TemplateRef) readonly template: TemplateRef<TuiRowContext<T>>) {}\n\n static ngTemplateContextGuard<T>(\n _dir: TuiRowDirective<T>,\n _ctx: unknown,\n ): _ctx is TuiRowContext<T> {\n return true;\n }\n}\n","import {\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 {tuiDefaultProp, tuiDefaultSort, 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 extends Partial<Record<keyof T, any>>> {\n @Input()\n @tuiDefaultProp()\n sorter: TuiComparator<T> | null = this.head\n ? (a, b) => tuiDefaultSort(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 if (this.isCurrent) {\n return this.table?.direction === 1\n ? 'tuiIconSortDescending'\n : 'tuiIconSortAscending';\n }\n\n return 'tuiIconSortOff';\n }\n\n onResized(width: number): void {\n this.width = width;\n }\n}\n","<button\n *ngIf=\"sorter && table; else content\"\n type=\"button\"\n class=\"t-sort\"\n [class.t-sort_sorted]=\"isCurrent\"\n (click)=\"table.updateSorterAndDirection(sorter)\"\n>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n {{ table.change$ | async }}\n <tui-svg\n class=\"t-sort-icon\"\n [src]=\"icon\"\n ></tui-svg>\n</button>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n<div\n *ngIf=\"resizable\"\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n></div>\n","import {Directive, DoCheck, forwardRef, Inject, OnInit} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\n\nimport {TuiThComponent} from '../th/th.component';\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiSortByDirective} from './sort-by.directive';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n selector: 'th[tuiTh][tuiSortable]',\n})\nexport class TuiSortableDirective<T extends Partial<Record<keyof T, any>>>\n implements DoCheck, OnInit\n{\n constructor(\n @Inject(forwardRef(() => TuiSortByDirective))\n private readonly sortBy: TuiSortByDirective<T>,\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n @Inject(TuiThComponent) private readonly th: TuiThComponent<T>,\n ) {}\n\n sorter: TuiComparator<T> = (): number => 0;\n\n get key(): keyof T {\n return this.th.key;\n }\n\n ngOnInit(): void {\n this.sorter = this.match ? this.table.sorter : this.sorter;\n this.th.sorter = this.sorter;\n }\n\n ngDoCheck(): void {\n if (this.match && this.table.sorter !== this.sorter) {\n this.table.updateSorter(this.sorter);\n }\n }\n\n private get match(): boolean {\n return this.sortBy.tuiSortBy === this.key;\n }\n}\n","import {\n ContentChildren,\n Directive,\n Inject,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {EMPTY_QUERY, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {filter, map} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiSortableDirective} from './sortable.directive';\nimport {TuiTableDirective} from './table.directive';\n\n@Directive({\n selector: 'table[tuiTable][tuiSortBy]',\n})\nexport class TuiSortByDirective<T extends Partial<Record<keyof T, any>>> {\n @ContentChildren(TuiSortableDirective, {descendants: true})\n private readonly sortables: QueryList<TuiSortableDirective<T>> = EMPTY_QUERY;\n\n @Input()\n @tuiDefaultProp()\n tuiSortBy: string | keyof T | null = null;\n\n @Output()\n readonly tuiSortByChange = this.table.sorterChange.pipe(\n filter(() => !!this.sortables.length),\n map(sorter => this.getKey(sorter)),\n );\n\n constructor(\n @Inject(TuiTableDirective) private readonly table: TuiTableDirective<T>,\n ) {}\n\n private getKey(sorter: TuiComparator<T> | null): keyof T | null {\n return this.sortables.find(s => s.sorter === sorter)?.key || null;\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {\n INTERSECTION_ROOT_MARGIN,\n IntersectionObserverService,\n} from '@ng-web-apis/intersection-observer';\nimport {Observable} from 'rxjs';\n\nimport {TUI_STUCK, TUI_STUCK_PROVIDER} from '../providers/stuck.provider';\n\n@Directive({\n selector: 'thead[tuiThead]',\n providers: [\n TUI_STUCK_PROVIDER,\n IntersectionObserverService,\n {\n provide: INTERSECTION_ROOT_MARGIN,\n useValue: '0px 10000px 10000px 10000px',\n },\n ],\n host: {\n '($.class._stuck)': 'stuck$',\n },\n})\nexport class TuiTheadDirective {\n constructor(@Inject(TUI_STUCK) readonly stuck$: Observable<boolean>) {}\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TuiComparator} from '@taiga-ui/addon-table/types';\nimport {tuiPure} from '@taiga-ui/cdk';\n\nimport {TuiTableDirective} from '../directives/table.directive';\n\n@Pipe({\n name: `tuiTableSort`,\n pure: false,\n})\nexport class TuiTableSortPipe<T extends Partial<Record<keyof T, any>>>\n implements PipeTransform\n{\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 {tuiWatchedControllerFactory} from '@taiga-ui/core';\n\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TuiTableSortPipe} from '../pipes/table-sort.pipe';\n\nexport const TUI_TABLE_PROVIDER: Provider[] = [\n TuiDestroyService,\n TuiTableSortPipe,\n {\n provide: TuiTableDirective,\n deps: [[new SkipSelf(), TuiTableDirective], ChangeDetectorRef, TuiDestroyService],\n useFactory: tuiWatchedControllerFactory,\n },\n];\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\n\n@Component({\n selector: 'th[tuiTd], td[tuiTd]',\n template: `\n <ng-content></ng-content>\n `,\n styleUrls: ['./td.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTdComponent {\n @HostBinding('class._editable')\n @ContentChild(NgControl)\n readonly control: unknown;\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n forwardRef,\n Inject,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY, tuiQueryListChanges} from '@taiga-ui/cdk';\nimport {ReplaySubject} from 'rxjs';\nimport {map, switchMap} from 'rxjs/operators';\n\nimport {TuiCellDirective} from '../directives/cell.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_TABLE_PROVIDER} from '../providers/table.provider';\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\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 Partial<Record<keyof T, any>>>\n implements AfterContentInit\n{\n @ContentChildren(forwardRef(() => TuiCellDirective))\n private readonly cells: QueryList<TuiCellDirective> = EMPTY_QUERY;\n\n private readonly contentReady$ = new ReplaySubject<boolean>(1);\n\n readonly cells$ = this.contentReady$.pipe(\n switchMap(() => tuiQueryListChanges(this.cells)),\n map(cells =>\n cells.reduce(\n (record, item) => ({...record, [item.tuiCell]: item}),\n {} as Record<string | keyof T, TuiCellDirective>,\n ),\n ),\n );\n\n readonly item$ = this.contentReady$.pipe(\n switchMap(() => tuiQueryListChanges(this.body.rows)),\n map(\n rows =>\n /**\n * TODO v4.0 replace `this.body.sorted` with `this.body.data` (dont forget to drop `sorted`-getter).\n */\n this.body.sorted[rows.findIndex(row => row === this)] as Record<\n string | keyof T,\n any\n >,\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 async ngAfterContentInit(): Promise<void> {\n await Promise.resolve();\n this.contentReady$.next(true);\n }\n}\n","<ng-container *ngIf=\"cells$ | async as items\">\n <ng-container\n *ngFor=\"let key of table.columns\"\n [ngTemplateOutlet]=\"items[key]?.template || plain\"\n >\n <ng-template #plain>\n <td\n *ngIf=\"item$ | async as item\"\n tuiTd\n >\n {{ item[key] }}\n </td>\n </ng-template>\n </ng-container>\n</ng-container>\n","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';\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\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 extends Partial<Record<keyof T, any>>> {\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","<tr *ngIf=\"heading\">\n <th\n class=\"t-heading\"\n [colSpan]=\"table.columns.length\"\n >\n <button\n type=\"button\"\n class=\"t-expand\"\n (click)=\"onClick()\"\n >\n <span class=\"t-name\">\n <ng-container *polymorpheusOutlet=\"heading as text\">\n {{ text }}\n </ng-container>\n </span>\n <tui-svg\n src=\"tuiIconChevronDownLarge\"\n class=\"t-chevron\"\n [class.t-chevron_rotated]=\"open\"\n ></tui-svg>\n </button>\n </th>\n</tr>\n<ng-container *ngIf=\"open\">\n <ng-content></ng-content>\n</ng-container>\n<ng-container *ngIf=\"open && row\">\n <ng-container\n *ngFor=\"let item of sorted; let index = index\"\n [ngTemplateOutlet]=\"row.template\"\n [ngTemplateOutletContext]=\"item | tuiMapper : toContext : index\"\n ></ng-container>\n</ng-container>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n forwardRef,\n Inject,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {map, startWith} from 'rxjs/operators';\n\nimport {TuiHeadDirective} from '../directives/head.directive';\nimport {TuiTableDirective} from '../directives/table.directive';\nimport {TUI_TABLE_PROVIDER} from '../providers/table.provider';\nimport {TuiThComponent} from '../th/th.component';\n\n@Component({\n selector: 'tr[tuiThGroup]',\n templateUrl: './th-group.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_TABLE_PROVIDER],\n})\nexport class TuiThGroupComponent<T extends Partial<Record<keyof T, any>>>\n implements AfterContentInit\n{\n @ContentChild(forwardRef(() => TuiThComponent))\n readonly th!: TuiThComponent<T>;\n\n @ContentChildren(forwardRef(() => TuiHeadDirective))\n readonly heads: QueryList<TuiHeadDirective<T>> = EMPTY_QUERY;\n\n heads$: Observable<Record<any, TuiHeadDirective<T>>> | null = null;\n\n constructor(\n @Inject(forwardRef(() => TuiTableDirective))\n readonly table: TuiTableDirective<T>,\n ) {}\n\n ngAfterContentInit(): void {\n this.heads$ = this.heads.changes.pipe(\n startWith(null),\n map(() =>\n this.heads.reduce(\n (record, item) => ({...record, [item.tuiHead]: item}),\n {} as Record<keyof T, TuiHeadDirective<T>>,\n ),\n ),\n );\n }\n}\n","<ng-content></ng-content>\n<ng-container *ngIf=\"heads$ | async as headings\">\n <ng-container\n *ngFor=\"let key of table.columns\"\n [ngTemplateOutlet]=\"headings[key.toString()]?.template || plain\"\n >\n <ng-template #plain>\n <th\n *ngIf=\"!th && !heads.length\"\n tuiTh\n >\n {{ key.toString() }}\n </th>\n </ng-template>\n </ng-container>\n</ng-container>\n","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 {TuiDirectionOrderDirective} from './directives/direction-order.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 TuiDirectionOrderDirective,\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 TuiDirectionOrderDirective,\n ],\n})\nexport class TuiTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i3.TuiResizedDirective","i1.TuiTdComponent","i1.TuiThComponent"],"mappings":"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"}
@@ -1,16 +1,10 @@
1
- import { TuiDay, tuiIsString } from '@taiga-ui/cdk';
1
+ import { tuiDefaultSort as tuiDefaultSort$1 } from '@taiga-ui/cdk';
2
2
 
3
- function tuiDefaultSort(x, y) {
4
- const a = x instanceof TuiDay ? Number(x.toUtcNativeDate()) : x;
5
- const b = y instanceof TuiDay ? Number(y.toUtcNativeDate()) : y;
6
- if (a === b) {
7
- return 0;
8
- }
9
- if (tuiIsString(a) && tuiIsString(b)) {
10
- return a.localeCompare(b);
11
- }
12
- return a > b ? 1 : -1;
13
- }
3
+ /**
4
+ * @deprecated: use {tuiDefaultSort} from `@taiga-ui/cdk`
5
+ * drop in v4.0
6
+ */
7
+ const tuiDefaultSort = tuiDefaultSort$1;
14
8
 
15
9
  /**
16
10
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-table-utils.js","sources":["../../../projects/addon-table/utils/default-sort.ts","../../../projects/addon-table/utils/taiga-ui-addon-table-utils.ts"],"sourcesContent":["import {TuiDay, tuiIsString} from '@taiga-ui/cdk';\n\nexport function tuiDefaultSort<T>(x: T, y: T): number {\n const a = x instanceof TuiDay ? Number(x.toUtcNativeDate()) : x;\n const b = y instanceof TuiDay ? Number(y.toUtcNativeDate()) : y;\n\n if (a === b) {\n return 0;\n }\n\n if (tuiIsString(a) && tuiIsString(b)) {\n return a.localeCompare(b);\n }\n\n return a > b ? 1 : -1;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAEgB,SAAA,cAAc,CAAI,CAAI,EAAE,CAAI,EAAA;AACxC,IAAA,MAAM,CAAC,GAAG,CAAC,YAAY,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC;AAChE,IAAA,MAAM,CAAC,GAAG,CAAC,YAAY,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC;IAEhE,IAAI,CAAC,KAAK,CAAC,EAAE;AACT,QAAA,OAAO,CAAC,CAAC;AACZ,KAAA;IAED,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;AAClC,QAAA,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AAC7B,KAAA;AAED,IAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1B;;ACfA;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-table-utils.js","sources":["../../../projects/addon-table/utils/default-sort.ts","../../../projects/addon-table/utils/taiga-ui-addon-table-utils.ts"],"sourcesContent":["import {tuiDefaultSort as tuiDefaultSortFromCdk} from '@taiga-ui/cdk';\n\n/**\n * @deprecated: use {tuiDefaultSort} from `@taiga-ui/cdk`\n * drop in v4.0\n */\nexport const tuiDefaultSort = tuiDefaultSortFromCdk;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tuiDefaultSortFromCdk"],"mappings":";;AAEA;;;AAGG;AACI,MAAM,cAAc,GAAGA;;ACN9B;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/addon-table",
3
- "version": "3.22.0",
3
+ "version": "3.23.0",
4
4
  "description": "A library to display tabled data with filters, search, group actions, etc.",
5
5
  "keywords": [
6
6
  "angular",
@@ -16,10 +16,10 @@
16
16
  "@angular/common": ">=12.0.0",
17
17
  "@angular/core": ">=12.0.0",
18
18
  "@ng-web-apis/intersection-observer": ">=3.0.0",
19
- "@taiga-ui/cdk": ">=3.22.0",
20
- "@taiga-ui/core": ">=3.22.0",
21
- "@taiga-ui/i18n": ">=3.22.0",
22
- "@taiga-ui/kit": ">=3.22.0",
19
+ "@taiga-ui/cdk": ">=3.23.0",
20
+ "@taiga-ui/core": ">=3.23.0",
21
+ "@taiga-ui/i18n": ">=3.23.0",
22
+ "@taiga-ui/kit": ">=3.23.0",
23
23
  "@tinkoff/ng-polymorpheus": ">=4.0.0",
24
24
  "rxjs": ">=6.0.0"
25
25
  },
@@ -1 +1,6 @@
1
- export declare function tuiDefaultSort<T>(x: T, y: T): number;
1
+ import { tuiDefaultSort as tuiDefaultSortFromCdk } from '@taiga-ui/cdk';
2
+ /**
3
+ * @deprecated: use {tuiDefaultSort} from `@taiga-ui/cdk`
4
+ * drop in v4.0
5
+ */
6
+ export declare const tuiDefaultSort: typeof tuiDefaultSortFromCdk;