@taiga-ui/addon-table 3.6.0 → 3.7.1

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.
@@ -4,6 +4,8 @@ import { IntersectionObserverService } from '@ng-web-apis/intersection-observer'
4
4
  import { AbstractTuiController, tuiDefaultProp } from '@taiga-ui/cdk';
5
5
  import { TUI_MODE } from '@taiga-ui/core';
6
6
  import { TUI_STUCK } from '../providers/stuck.provider';
7
+ // TODO: find the best way for prevent cycle
8
+ // eslint-disable-next-line import/no-cycle
7
9
  import { TUI_TABLE_PROVIDERS } from '../providers/table.providers';
8
10
  import * as i0 from "@angular/core";
9
11
  import * as i1 from "rxjs";
@@ -91,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
91
93
  }], sorter: [{
92
94
  type: Input
93
95
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tdGFibGUvY29tcG9uZW50cy90YWJsZS9kaXJlY3RpdmVzL3RhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUUvRSxPQUFPLEVBQUMscUJBQXFCLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxRQUFRLEVBQW9DLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDOzs7QUFXakUsTUFBTSxPQUFPLGlCQUVYLFNBQVEscUJBQXFCO0lBb0IzQixZQUVhLFFBQWlELEVBQy9CLEtBQXVDLEVBQ3RDLE1BQTJCLEVBQ1gsaUJBQW9DO1FBRWhGLEtBQUssRUFBRSxDQUFDO1FBTEMsYUFBUSxHQUFSLFFBQVEsQ0FBeUM7UUFDL0IsVUFBSyxHQUFMLEtBQUssQ0FBa0M7UUFDdEMsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDWCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBdEJwRixZQUFPLEdBQW9DLEVBQUUsQ0FBQztRQUs5QyxTQUFJLEdBQXdCLEdBQUcsQ0FBQztRQUloQyxjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBR2Isb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRzdDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFjcEUsV0FBTSxHQUFxQixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFKbkMsQ0FBQztJQU1ELFlBQVksQ0FBQyxNQUErQjtRQUN4QyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzdDO2FBQU07WUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztZQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNoQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0MsQ0FBQzs7K0dBcERRLGlCQUFpQixrQkF1QmQsMkJBQTJCLGFBRTNCLFFBQVEsYUFDUixTQUFTLGFBQ1QsaUJBQWlCO21HQTNCcEIsaUJBQWlCLCtYQVBmLG1CQUFtQjtBQVk5QjtJQURDLGNBQWMsRUFBRTtrREFDNkI7QUFLOUM7SUFEQyxjQUFjLEVBQUU7K0NBQ2U7QUFJaEM7SUFEQyxjQUFjLEVBQUU7b0RBQ0s7QUFvQnRCO0lBREMsY0FBYyxFQUFFO2lEQUNrQjs0RkFsQzFCLGlCQUFpQjtrQkFUN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixTQUFTLEVBQUUsbUJBQW1CO29CQUM5QixJQUFJLEVBQUU7d0JBQ0Ysb0JBQW9CLEVBQUUsT0FBTzt3QkFDN0Isa0JBQWtCLEVBQUUsUUFBUTt3QkFDNUIsS0FBSyxFQUFFLDJCQUEyQjtxQkFDckM7aUJBQ0o7OzBCQXdCUSxNQUFNOzJCQUFDLDJCQUEyQjs7MEJBRWxDLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxTQUFTOzswQkFDaEIsTUFBTTsyQkFBQyxpQkFBaUI7NENBdEI3QixPQUFPO3NCQUZOLEtBQUs7Z0JBT04sSUFBSTtzQkFISCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFNN0IsU0FBUztzQkFGUixLQUFLO2dCQUtHLGVBQWU7c0JBRHZCLE1BQU07Z0JBSUUsWUFBWTtzQkFEcEIsTUFBTTtnQkFlUCxNQUFNO3NCQUZMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0ludGVyc2VjdGlvbk9ic2VydmVyU2VydmljZX0gZnJvbSAnQG5nLXdlYi1hcGlzL2ludGVyc2VjdGlvbi1vYnNlcnZlcic7XG5pbXBvcnQge1R1aUNvbXBhcmF0b3J9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi10YWJsZS90eXBlcyc7XG5pbXBvcnQge0Fic3RyYWN0VHVpQ29udHJvbGxlciwgdHVpRGVmYXVsdFByb3B9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfTU9ERSwgVHVpQnJpZ2h0bmVzcywgVHVpU2l6ZUwsIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9TVFVDS30gZnJvbSAnLi4vcHJvdmlkZXJzL3N0dWNrLnByb3ZpZGVyJztcbmltcG9ydCB7VFVJX1RBQkxFX1BST1ZJREVSU30gZnJvbSAnLi4vcHJvdmlkZXJzL3RhYmxlLnByb3ZpZGVycyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBgdGFibGVbdHVpVGFibGVdYCxcbiAgICBwcm92aWRlcnM6IFRVSV9UQUJMRV9QUk9WSURFUlMsXG4gICAgaG9zdDoge1xuICAgICAgICAnKCQuZGF0YS1tb2RlLmF0dHIpJzogYG1vZGUkYCxcbiAgICAgICAgJygkLmNsYXNzLl9zdHVjayknOiBgc3R1Y2skYCxcbiAgICAgICAgc3R5bGU6IGBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlYCxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUYWJsZURpcmVjdGl2ZTxcbiAgICBUIGV4dGVuZHMgUGFydGlhbDxSZWNvcmQ8a2V5b2YgVCwgYW55Pj4sXG4+IGV4dGVuZHMgQWJzdHJhY3RUdWlDb250cm9sbGVyIHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY29sdW1uczogUmVhZG9ubHlBcnJheTxrZXlvZiBUIHwgc3RyaW5nPiA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoYGF0dHIuZGF0YS1zaXplYClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVTIHwgVHVpU2l6ZUwgPSBgbWA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlyZWN0aW9uOiAtMSB8IDEgPSAxO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgZGlyZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjwtMSB8IDE+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBzb3J0ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aUNvbXBhcmF0b3I8VD4gfCBudWxsPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoSW50ZXJzZWN0aW9uT2JzZXJ2ZXJTZXJ2aWNlKVxuICAgICAgICByZWFkb25seSBlbnRyaWVzJDogT2JzZXJ2YWJsZTxJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5W10+LFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgICAgIEBJbmplY3QoVFVJX1NUVUNLKSByZWFkb25seSBzdHVjayQ6IE9ic2VydmFibGU8Ym9vbGVhbj4sXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzb3J0ZXI6IFR1aUNvbXBhcmF0b3I8VD4gPSAoKSA9PiAwO1xuXG4gICAgdXBkYXRlU29ydGVyKHNvcnRlcjogVHVpQ29tcGFyYXRvcjxUPiB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc29ydGVyID09PSBzb3J0ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aW9uID0gdGhpcy5kaXJlY3Rpb24gPT09IDEgPyAtMSA6IDE7XG4gICAgICAgICAgICB0aGlzLmRpcmVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuZGlyZWN0aW9uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc29ydGVyID0gc29ydGVyIHx8ICgoKSA9PiAwKTtcbiAgICAgICAgICAgIHRoaXMuc29ydGVyQ2hhbmdlLmVtaXQodGhpcy5zb3J0ZXIpO1xuICAgICAgICAgICAgdGhpcy5kaXJlY3Rpb24gPSAxO1xuICAgICAgICAgICAgdGhpcy5kaXJlY3Rpb25DaGFuZ2UuZW1pdCgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hhbmdlJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG59XG4iXX0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tdGFibGUvY29tcG9uZW50cy90YWJsZS9kaXJlY3RpdmVzL3RhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUUvRSxPQUFPLEVBQUMscUJBQXFCLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxRQUFRLEVBQW9DLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3RELDRDQUE0QztBQUM1QywyQ0FBMkM7QUFDM0MsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sOEJBQThCLENBQUM7OztBQVdqRSxNQUFNLE9BQU8saUJBRVgsU0FBUSxxQkFBcUI7SUFvQjNCLFlBRWEsUUFBaUQsRUFDL0IsS0FBdUMsRUFDdEMsTUFBMkIsRUFDWCxpQkFBb0M7UUFFaEYsS0FBSyxFQUFFLENBQUM7UUFMQyxhQUFRLEdBQVIsUUFBUSxDQUF5QztRQUMvQixVQUFLLEdBQUwsS0FBSyxDQUFrQztRQUN0QyxXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUNYLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUF0QnBGLFlBQU8sR0FBb0MsRUFBRSxDQUFDO1FBSzlDLFNBQUksR0FBd0IsR0FBRyxDQUFDO1FBSWhDLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFHYixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFHN0MsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBMkIsQ0FBQztRQWNwRSxXQUFNLEdBQXFCLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUpuQyxDQUFDO0lBTUQsWUFBWSxDQUFDLE1BQStCO1FBQ3hDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxNQUFNLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDN0M7YUFBTTtZQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQyxDQUFDOzsrR0FwRFEsaUJBQWlCLGtCQXVCZCwyQkFBMkIsYUFFM0IsUUFBUSxhQUNSLFNBQVMsYUFDVCxpQkFBaUI7bUdBM0JwQixpQkFBaUIsK1hBUGYsbUJBQW1CO0FBWTlCO0lBREMsY0FBYyxFQUFFO2tEQUM2QjtBQUs5QztJQURDLGNBQWMsRUFBRTsrQ0FDZTtBQUloQztJQURDLGNBQWMsRUFBRTtvREFDSztBQW9CdEI7SUFEQyxjQUFjLEVBQUU7aURBQ2tCOzRGQWxDMUIsaUJBQWlCO2tCQVQ3QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFNBQVMsRUFBRSxtQkFBbUI7b0JBQzlCLElBQUksRUFBRTt3QkFDRixvQkFBb0IsRUFBRSxPQUFPO3dCQUM3QixrQkFBa0IsRUFBRSxRQUFRO3dCQUM1QixLQUFLLEVBQUUsMkJBQTJCO3FCQUNyQztpQkFDSjs7MEJBd0JRLE1BQU07MkJBQUMsMkJBQTJCOzswQkFFbEMsTUFBTTsyQkFBQyxRQUFROzswQkFDZixNQUFNOzJCQUFDLFNBQVM7OzBCQUNoQixNQUFNOzJCQUFDLGlCQUFpQjs0Q0F0QjdCLE9BQU87c0JBRk4sS0FBSztnQkFPTixJQUFJO3NCQUhILEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU03QixTQUFTO3NCQUZSLEtBQUs7Z0JBS0csZUFBZTtzQkFEdkIsTUFBTTtnQkFJRSxZQUFZO3NCQURwQixNQUFNO2dCQWVQLE1BQU07c0JBRkwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SW50ZXJzZWN0aW9uT2JzZXJ2ZXJTZXJ2aWNlfSBmcm9tICdAbmctd2ViLWFwaXMvaW50ZXJzZWN0aW9uLW9ic2VydmVyJztcbmltcG9ydCB7VHVpQ29tcGFyYXRvcn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLXRhYmxlL3R5cGVzJztcbmltcG9ydCB7QWJzdHJhY3RUdWlDb250cm9sbGVyLCB0dWlEZWZhdWx0UHJvcH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9NT0RFLCBUdWlCcmlnaHRuZXNzLCBUdWlTaXplTCwgVHVpU2l6ZVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VFVJX1NUVUNLfSBmcm9tICcuLi9wcm92aWRlcnMvc3R1Y2sucHJvdmlkZXInO1xuLy8gVE9ETzogZmluZCB0aGUgYmVzdCB3YXkgZm9yIHByZXZlbnQgY3ljbGVcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7VFVJX1RBQkxFX1BST1ZJREVSU30gZnJvbSAnLi4vcHJvdmlkZXJzL3RhYmxlLnByb3ZpZGVycyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBgdGFibGVbdHVpVGFibGVdYCxcbiAgICBwcm92aWRlcnM6IFRVSV9UQUJMRV9QUk9WSURFUlMsXG4gICAgaG9zdDoge1xuICAgICAgICAnKCQuZGF0YS1tb2RlLmF0dHIpJzogYG1vZGUkYCxcbiAgICAgICAgJygkLmNsYXNzLl9zdHVjayknOiBgc3R1Y2skYCxcbiAgICAgICAgc3R5bGU6IGBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlYCxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUYWJsZURpcmVjdGl2ZTxcbiAgICBUIGV4dGVuZHMgUGFydGlhbDxSZWNvcmQ8a2V5b2YgVCwgYW55Pj4sXG4+IGV4dGVuZHMgQWJzdHJhY3RUdWlDb250cm9sbGVyIHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY29sdW1uczogUmVhZG9ubHlBcnJheTxrZXlvZiBUIHwgc3RyaW5nPiA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoYGF0dHIuZGF0YS1zaXplYClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVTIHwgVHVpU2l6ZUwgPSBgbWA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlyZWN0aW9uOiAtMSB8IDEgPSAxO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgZGlyZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjwtMSB8IDE+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBzb3J0ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aUNvbXBhcmF0b3I8VD4gfCBudWxsPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoSW50ZXJzZWN0aW9uT2JzZXJ2ZXJTZXJ2aWNlKVxuICAgICAgICByZWFkb25seSBlbnRyaWVzJDogT2JzZXJ2YWJsZTxJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5W10+LFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgICAgIEBJbmplY3QoVFVJX1NUVUNLKSByZWFkb25seSBzdHVjayQ6IE9ic2VydmFibGU8Ym9vbGVhbj4sXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzb3J0ZXI6IFR1aUNvbXBhcmF0b3I8VD4gPSAoKSA9PiAwO1xuXG4gICAgdXBkYXRlU29ydGVyKHNvcnRlcjogVHVpQ29tcGFyYXRvcjxUPiB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc29ydGVyID09PSBzb3J0ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aW9uID0gdGhpcy5kaXJlY3Rpb24gPT09IDEgPyAtMSA6IDE7XG4gICAgICAgICAgICB0aGlzLmRpcmVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuZGlyZWN0aW9uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc29ydGVyID0gc29ydGVyIHx8ICgoKSA9PiAwKTtcbiAgICAgICAgICAgIHRoaXMuc29ydGVyQ2hhbmdlLmVtaXQodGhpcy5zb3J0ZXIpO1xuICAgICAgICAgICAgdGhpcy5kaXJlY3Rpb24gPSAxO1xuICAgICAgICAgICAgdGhpcy5kaXJlY3Rpb25DaGFuZ2UuZW1pdCgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hhbmdlJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG59XG4iXX0=
@@ -2,6 +2,8 @@ import { forwardRef, SkipSelf } from '@angular/core';
2
2
  import { INTERSECTION_ROOT_MARGIN, INTERSECTION_THRESHOLD, IntersectionObserverService, } from '@ng-web-apis/intersection-observer';
3
3
  import { MODE_PROVIDER, TUI_TEXTFIELD_APPEARANCE, TUI_TEXTFIELD_LABEL_OUTSIDE, TUI_TEXTFIELD_SIZE, } from '@taiga-ui/core';
4
4
  import { TUI_INPUT_COUNT_OPTIONS } from '@taiga-ui/kit';
5
+ // TODO: find the best way for prevent cycle
6
+ // eslint-disable-next-line import/no-cycle
5
7
  import { TuiTableDirective } from '../directives/table.directive';
6
8
  import { TUI_STUCK_PROVIDER } from './stuck.provider';
7
9
  export const TUI_TABLE_PROVIDERS = [
@@ -36,4 +38,4 @@ export const TUI_TABLE_PROVIDERS = [
36
38
  MODE_PROVIDER,
37
39
  TUI_STUCK_PROVIDER,
38
40
  ];
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tdGFibGUvY29tcG9uZW50cy90YWJsZS9wcm92aWRlcnMvdGFibGUucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFDSCx3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLDJCQUEyQixHQUM5QixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFDSCxhQUFhLEVBQ2Isd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQixrQkFBa0IsR0FFckIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsdUJBQXVCLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRXBELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQy9CO1FBQ0ksT0FBTyxFQUFFLHdCQUF3QjtRQUNqQyxRQUFRLEVBQUUsNkJBQTZCO0tBQzFDO0lBQ0Q7UUFDSSxPQUFPLEVBQUUsc0JBQXNCO1FBQy9CLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7S0FDbkI7SUFDRDtRQUNJLE9BQU8sRUFBRSx3QkFBd0I7UUFDakMsUUFBUSxxQkFBcUI7S0FDaEM7SUFDRDtRQUNJLE9BQU8sRUFBRSwyQkFBMkI7UUFDcEMsUUFBUSxFQUFFO1lBQ04sWUFBWSxFQUFFLElBQUk7U0FDckI7S0FDSjtJQUNEO1FBQ0ksT0FBTyxFQUFFLHVCQUF1QjtRQUNoQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztRQUNqRCxVQUFVLEVBQUUsQ0FBQyxPQUE2QixFQUF3QixFQUFFLENBQUMsaUNBQzlELE9BQU8sS0FDVixXQUFXLEVBQUUsSUFBSSxJQUNuQjtLQUNMO0lBQ0Q7UUFDSSxPQUFPLEVBQUUsa0JBQWtCO1FBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7S0FDbkQ7SUFDRCwyQkFBMkI7SUFDM0IsYUFBYTtJQUNiLGtCQUFrQjtDQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtmb3J3YXJkUmVmLCBTa2lwU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIElOVEVSU0VDVElPTl9ST09UX01BUkdJTixcbiAgICBJTlRFUlNFQ1RJT05fVEhSRVNIT0xELFxuICAgIEludGVyc2VjdGlvbk9ic2VydmVyU2VydmljZSxcbn0gZnJvbSAnQG5nLXdlYi1hcGlzL2ludGVyc2VjdGlvbi1vYnNlcnZlcic7XG5pbXBvcnQge1xuICAgIE1PREVfUFJPVklERVIsXG4gICAgVFVJX1RFWFRGSUVMRF9BUFBFQVJBTkNFLFxuICAgIFRVSV9URVhURklFTERfTEFCRUxfT1VUU0lERSxcbiAgICBUVUlfVEVYVEZJRUxEX1NJWkUsXG4gICAgVHVpQXBwZWFyYW5jZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfSU5QVVRfQ09VTlRfT1BUSU9OUywgVHVpSW5wdXRDb3VudE9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuXG5pbXBvcnQge1R1aVRhYmxlRGlyZWN0aXZlfSBmcm9tICcuLi9kaXJlY3RpdmVzL3RhYmxlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1RVSV9TVFVDS19QUk9WSURFUn0gZnJvbSAnLi9zdHVjay5wcm92aWRlcic7XG5cbmV4cG9ydCBjb25zdCBUVUlfVEFCTEVfUFJPVklERVJTID0gW1xuICAgIHtcbiAgICAgICAgcHJvdmlkZTogSU5URVJTRUNUSU9OX1JPT1RfTUFSR0lOLFxuICAgICAgICB1c2VWYWx1ZTogYDEwMDAwcHggMTAwMDBweCAxMDAwMHB4IDBweGAsXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IElOVEVSU0VDVElPTl9USFJFU0hPTEQsXG4gICAgICAgIHVzZVZhbHVlOiBbMCwgMV0sXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9URVhURklFTERfQVBQRUFSQU5DRSxcbiAgICAgICAgdXNlVmFsdWU6IFR1aUFwcGVhcmFuY2UuVGFibGUsXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9URVhURklFTERfTEFCRUxfT1VUU0lERSxcbiAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICAgIGxhYmVsT3V0c2lkZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX0lOUFVUX0NPVU5UX09QVElPTlMsXG4gICAgICAgIGRlcHM6IFtbbmV3IFNraXBTZWxmKCksIFRVSV9JTlBVVF9DT1VOVF9PUFRJT05TXV0sXG4gICAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBUdWlJbnB1dENvdW50T3B0aW9ucyk6IFR1aUlucHV0Q291bnRPcHRpb25zID0+ICh7XG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgaGlkZUJ1dHRvbnM6IHRydWUsXG4gICAgICAgIH0pLFxuICAgIH0sXG4gICAge1xuICAgICAgICBwcm92aWRlOiBUVUlfVEVYVEZJRUxEX1NJWkUsXG4gICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aVRhYmxlRGlyZWN0aXZlKSxcbiAgICB9LFxuICAgIEludGVyc2VjdGlvbk9ic2VydmVyU2VydmljZSxcbiAgICBNT0RFX1BST1ZJREVSLFxuICAgIFRVSV9TVFVDS19QUk9WSURFUixcbl07XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tdGFibGUvY29tcG9uZW50cy90YWJsZS9wcm92aWRlcnMvdGFibGUucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFDSCx3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLDJCQUEyQixHQUM5QixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFDSCxhQUFhLEVBQ2Isd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQixrQkFBa0IsR0FFckIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsdUJBQXVCLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBRTVFLDRDQUE0QztBQUM1QywyQ0FBMkM7QUFDM0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFcEQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDL0I7UUFDSSxPQUFPLEVBQUUsd0JBQXdCO1FBQ2pDLFFBQVEsRUFBRSw2QkFBNkI7S0FDMUM7SUFDRDtRQUNJLE9BQU8sRUFBRSxzQkFBc0I7UUFDL0IsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUNuQjtJQUNEO1FBQ0ksT0FBTyxFQUFFLHdCQUF3QjtRQUNqQyxRQUFRLHFCQUFxQjtLQUNoQztJQUNEO1FBQ0ksT0FBTyxFQUFFLDJCQUEyQjtRQUNwQyxRQUFRLEVBQUU7WUFDTixZQUFZLEVBQUUsSUFBSTtTQUNyQjtLQUNKO0lBQ0Q7UUFDSSxPQUFPLEVBQUUsdUJBQXVCO1FBQ2hDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBQ2pELFVBQVUsRUFBRSxDQUFDLE9BQTZCLEVBQXdCLEVBQUUsQ0FBQyxpQ0FDOUQsT0FBTyxLQUNWLFdBQVcsRUFBRSxJQUFJLElBQ25CO0tBQ0w7SUFDRDtRQUNJLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztLQUNuRDtJQUNELDJCQUEyQjtJQUMzQixhQUFhO0lBQ2Isa0JBQWtCO0NBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2ZvcndhcmRSZWYsIFNraXBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgSU5URVJTRUNUSU9OX1JPT1RfTUFSR0lOLFxuICAgIElOVEVSU0VDVElPTl9USFJFU0hPTEQsXG4gICAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJTZXJ2aWNlLFxufSBmcm9tICdAbmctd2ViLWFwaXMvaW50ZXJzZWN0aW9uLW9ic2VydmVyJztcbmltcG9ydCB7XG4gICAgTU9ERV9QUk9WSURFUixcbiAgICBUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UsXG4gICAgVFVJX1RFWFRGSUVMRF9MQUJFTF9PVVRTSURFLFxuICAgIFRVSV9URVhURklFTERfU0laRSxcbiAgICBUdWlBcHBlYXJhbmNlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1RVSV9JTlBVVF9DT1VOVF9PUFRJT05TLCBUdWlJbnB1dENvdW50T3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5cbi8vIFRPRE86IGZpbmQgdGhlIGJlc3Qgd2F5IGZvciBwcmV2ZW50IGN5Y2xlXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQge1R1aVRhYmxlRGlyZWN0aXZlfSBmcm9tICcuLi9kaXJlY3RpdmVzL3RhYmxlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1RVSV9TVFVDS19QUk9WSURFUn0gZnJvbSAnLi9zdHVjay5wcm92aWRlcic7XG5cbmV4cG9ydCBjb25zdCBUVUlfVEFCTEVfUFJPVklERVJTID0gW1xuICAgIHtcbiAgICAgICAgcHJvdmlkZTogSU5URVJTRUNUSU9OX1JPT1RfTUFSR0lOLFxuICAgICAgICB1c2VWYWx1ZTogYDEwMDAwcHggMTAwMDBweCAxMDAwMHB4IDBweGAsXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IElOVEVSU0VDVElPTl9USFJFU0hPTEQsXG4gICAgICAgIHVzZVZhbHVlOiBbMCwgMV0sXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9URVhURklFTERfQVBQRUFSQU5DRSxcbiAgICAgICAgdXNlVmFsdWU6IFR1aUFwcGVhcmFuY2UuVGFibGUsXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9URVhURklFTERfTEFCRUxfT1VUU0lERSxcbiAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICAgIGxhYmVsT3V0c2lkZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX0lOUFVUX0NPVU5UX09QVElPTlMsXG4gICAgICAgIGRlcHM6IFtbbmV3IFNraXBTZWxmKCksIFRVSV9JTlBVVF9DT1VOVF9PUFRJT05TXV0sXG4gICAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBUdWlJbnB1dENvdW50T3B0aW9ucyk6IFR1aUlucHV0Q291bnRPcHRpb25zID0+ICh7XG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgaGlkZUJ1dHRvbnM6IHRydWUsXG4gICAgICAgIH0pLFxuICAgIH0sXG4gICAge1xuICAgICAgICBwcm92aWRlOiBUVUlfVEVYVEZJRUxEX1NJWkUsXG4gICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aVRhYmxlRGlyZWN0aXZlKSxcbiAgICB9LFxuICAgIEludGVyc2VjdGlvbk9ic2VydmVyU2VydmljZSxcbiAgICBNT0RFX1BST1ZJREVSLFxuICAgIFRVSV9TVFVDS19QUk9WSURFUixcbl07XG4iXX0=
@@ -5,6 +5,8 @@ import { TuiRowDirective } from '../directives/row.directive';
5
5
  import { TuiTableDirective } from '../directives/table.directive';
6
6
  import { TuiTableSortPipe } from '../pipes/table-sort.pipe';
7
7
  import { TUI_TABLE_PROVIDER } from '../providers/table.provider';
8
+ // TODO: find the best way for prevent cycle
9
+ // eslint-disable-next-line import/no-cycle
8
10
  import { TuiTrComponent } from '../tr/tr.component';
9
11
  import * as i0 from "@angular/core";
10
12
  import * as i1 from "@taiga-ui/core";
@@ -33,7 +35,7 @@ export class TuiTbodyComponent {
33
35
  }
34
36
  }
35
37
  TuiTbodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTbodyComponent, deps: [{ token: TuiTableSortPipe }, { token: forwardRef(() => TuiTableDirective) }], target: i0.ɵɵFactoryTarget.Component });
36
- TuiTbodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTbodyComponent, selector: "tbody[tuiTbody]", inputs: { data: "data", heading: "heading", open: "open" }, outputs: { openChange: "openChange" }, providers: TUI_TABLE_PROVIDER, queries: [{ propertyName: "row", first: true, predicate: i0.forwardRef(function () { return TuiRowDirective; }), descendants: true }, { propertyName: "rows", predicate: i0.forwardRef(function () { return TuiTrComponent; }) }], ngImport: i0, template: "<ng-content></ng-content>\n<tr *ngIf=\"heading\">\n <th\n class=\"t-heading\"\n [colSpan]=\"table.columns.length\"\n >\n <button\n type=\"button\"\n class=\"t-expand\"\n (click)=\"onClick()\"\n >\n <span 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 && 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", styles: [":host{border-color:var(--tui-base-04)}:host tr{border-color:inherit}.t-expand{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;display:flex;width:100%;height:100%;align-items:center;box-sizing:border-box;outline:none;font-weight:bold;cursor:pointer;border-color:inherit}.t-expand:focus-visible .t-name{background:var(--tui-selection)}.t-expand:before,.t-expand:after{content:\"\";position:-webkit-sticky;position:sticky;height:100%;border-left:1px solid;border-color:inherit}.t-expand:before{left:0}.t-expand:after{right:0}.t-heading{height:var(--tui-height-m);font:var(--tui-font-text-s);padding:0;background:var(--tui-base-02);border-bottom:1px solid var(--tui-base-04);border-color:inherit}:host-context(table[data-size=\"l\"]) .t-heading{font:var(--tui-font-text-m);height:var(--tui-height-l)}.t-name{position:-webkit-sticky;position:sticky;left:.75rem;display:inline-block}:host-context(table[data-size=\"l\"]) .t-name{left:1rem}.t-chevron{transition-property:transform;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:-webkit-sticky;position:sticky;right:.75rem;margin:0 .6875rem 0 auto}.t-chevron_rotated{transform:rotate(180deg)}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "tuiMapper": i4.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
38
+ TuiTbodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTbodyComponent, selector: "tbody[tuiTbody]", inputs: { data: "data", heading: "heading", open: "open" }, outputs: { openChange: "openChange" }, providers: TUI_TABLE_PROVIDER, queries: [{ propertyName: "row", first: true, predicate: i0.forwardRef(function () { return TuiRowDirective; }), descendants: true }, { propertyName: "rows", predicate: i0.forwardRef(function () { return TuiTrComponent; }) }], ngImport: i0, template: "<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", styles: [":host{border-color:var(--tui-base-04)}:host tr{border-color:inherit}.t-expand{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;display:flex;width:100%;height:100%;align-items:center;box-sizing:border-box;outline:none;font-weight:bold;cursor:pointer;border-color:inherit}.t-expand:focus-visible .t-name{background:var(--tui-selection)}.t-expand:before,.t-expand:after{content:\"\";position:-webkit-sticky;position:sticky;height:100%;border-left:1px solid;border-color:inherit}.t-expand:before{left:0}.t-expand:after{right:0}.t-heading{height:var(--tui-height-m);font:var(--tui-font-text-s);padding:0;background:var(--tui-base-02);border-bottom:1px solid var(--tui-base-04);border-color:inherit}:host-context(table[data-size=\"l\"]) .t-heading{font:var(--tui-font-text-m);height:var(--tui-height-l)}.t-name{position:-webkit-sticky;position:sticky;left:.75rem;display:inline-block}:host-context(table[data-size=\"l\"]) .t-name{left:1rem}.t-chevron{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:-webkit-sticky;position:sticky;right:.75rem;margin:0 .6875rem 0 auto}.t-chevron_rotated{transform:rotate(180deg)}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "tuiMapper": i4.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
37
39
  __decorate([
38
40
  tuiDefaultProp()
39
41
  ], TuiTbodyComponent.prototype, "data", void 0);
@@ -73,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
73
75
  type: ContentChildren,
74
76
  args: [forwardRef(() => TuiTrComponent)]
75
77
  }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGJvZHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tdGFibGUvY29tcG9uZW50cy90YWJsZS90Ym9keS90Ym9keS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi10YWJsZS9jb21wb25lbnRzL3RhYmxlL3Rib2R5L3Rib2R5LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsV0FBVyxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUcxRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7OztBQVNsRCxNQUFNLE9BQU8saUJBQWlCO0lBc0IxQixZQUMrQyxJQUF5QixFQUUzRCxLQUEyQjtRQUZPLFNBQUksR0FBSixJQUFJLENBQXFCO1FBRTNELFVBQUssR0FBTCxLQUFLLENBQXNCO1FBdEJ4QyxTQUFJLEdBQWlCLEVBQUUsQ0FBQztRQUl4QixZQUFPLEdBQXdCLEVBQUUsQ0FBQztRQUlsQyxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBR0gsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFNekMsU0FBSSxHQUFpQyxXQUFXLENBQUM7UUFZakQsY0FBUyxHQUFHLENBQ2pCLFNBQVksRUFDWixLQUFhLEVBQ2dCLEVBQUUsQ0FBQyxDQUFDLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7SUFUdEQsQ0FBQztJQUVKLElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFPRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7OytHQXhDUSxpQkFBaUIsa0JBdUJkLGdCQUFnQixhQUNoQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7bUdBeEJ0QyxpQkFBaUIsNklBRmYsa0JBQWtCLDhGQWtCRSxlQUFlLGlHQUdaLGNBQWMsaUNDL0NwRCwyN0JBK0JBO0FEQUk7SUFEQyxjQUFjLEVBQUU7K0NBQ087QUFJeEI7SUFEQyxjQUFjLEVBQUU7a0RBQ2lCO0FBSWxDO0lBREMsY0FBYyxFQUFFOytDQUNMOzRGQVhILGlCQUFpQjtrQkFQN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixXQUFXLEVBQUUsdUJBQXVCO29CQUNwQyxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRSxrQkFBa0I7aUJBQ2hDOzswQkF3QlEsTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUN2QixNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzs0Q0FyQi9DLElBQUk7c0JBRkgsS0FBSztnQkFNTixPQUFPO3NCQUZOLEtBQUs7Z0JBTU4sSUFBSTtzQkFGSCxLQUFLO2dCQUtHLFVBQVU7c0JBRGxCLE1BQU07Z0JBSUUsR0FBRztzQkFEWCxZQUFZO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBSXRDLElBQUk7c0JBRFosZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VNUFRZX1FVRVJZLCB0dWlEZWZhdWx0UHJvcH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VHVpUm93RGlyZWN0aXZlfSBmcm9tICcuLi9kaXJlY3RpdmVzL3Jvdy5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlUYWJsZURpcmVjdGl2ZX0gZnJvbSAnLi4vZGlyZWN0aXZlcy90YWJsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlUYWJsZVNvcnRQaXBlfSBmcm9tICcuLi9waXBlcy90YWJsZS1zb3J0LnBpcGUnO1xuaW1wb3J0IHtUVUlfVEFCTEVfUFJPVklERVJ9IGZyb20gJy4uL3Byb3ZpZGVycy90YWJsZS5wcm92aWRlcic7XG5pbXBvcnQge1R1aVRyQ29tcG9uZW50fSBmcm9tICcuLi90ci90ci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHRib2R5W3R1aVRib2R5XWAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL3Rib2R5LnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL3Rib2R5LnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFRVSV9UQUJMRV9QUk9WSURFUixcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGJvZHlDb21wb25lbnQ8VCBleHRlbmRzIFBhcnRpYWw8UmVjb3JkPGtleW9mIFQsIGFueT4+PiB7XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRhdGE6IHJlYWRvbmx5IFRbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGhlYWRpbmc6IFBvbHltb3JwaGV1c0NvbnRlbnQgPSBgYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBvcGVuID0gdHJ1ZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IG9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gVHVpUm93RGlyZWN0aXZlKSlcbiAgICByZWFkb25seSByb3c/OiBUdWlSb3dEaXJlY3RpdmU8VD47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gVHVpVHJDb21wb25lbnQpKVxuICAgIHJlYWRvbmx5IHJvd3M6IFF1ZXJ5TGlzdDxUdWlUckNvbXBvbmVudDxUPj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aVRhYmxlU29ydFBpcGUpIHByaXZhdGUgcmVhZG9ubHkgcGlwZTogVHVpVGFibGVTb3J0UGlwZTxUPixcbiAgICAgICAgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IFR1aVRhYmxlRGlyZWN0aXZlKSlcbiAgICAgICAgcmVhZG9ubHkgdGFibGU6IFR1aVRhYmxlRGlyZWN0aXZlPFQ+LFxuICAgICkge31cblxuICAgIGdldCBzb3J0ZWQoKTogcmVhZG9ubHkgVFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGlwZS50cmFuc2Zvcm0odGhpcy5kYXRhKTtcbiAgICB9XG5cbiAgICByZWFkb25seSB0b0NvbnRleHQgPSAoXG4gICAgICAgICRpbXBsaWNpdDogVCxcbiAgICAgICAgaW5kZXg6IG51bWJlcixcbiAgICApOiB7JGltcGxpY2l0OiBUOyBpbmRleDogbnVtYmVyfSA9PiAoeyRpbXBsaWNpdCwgaW5kZXh9KTtcblxuICAgIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KHRoaXMub3Blbik7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPHRyICpuZ0lmPVwiaGVhZGluZ1wiPlxuICAgIDx0aFxuICAgICAgICBjbGFzcz1cInQtaGVhZGluZ1wiXG4gICAgICAgIFtjb2xTcGFuXT1cInRhYmxlLmNvbHVtbnMubGVuZ3RoXCJcbiAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWV4cGFuZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25DbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0LW5hbWVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJoZWFkaW5nIGFzIHRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICAgICBzcmM9XCJ0dWlJY29uQ2hldnJvbkRvd25MYXJnZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNoZXZyb25cIlxuICAgICAgICAgICAgICAgIFtjbGFzcy50LWNoZXZyb25fcm90YXRlZF09XCJvcGVuXCJcbiAgICAgICAgICAgID48L3R1aS1zdmc+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvdGg+XG48L3RyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wZW4gJiYgcm93XCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzb3J0ZWQ7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicm93LnRlbXBsYXRlXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIml0ZW0gfCB0dWlNYXBwZXI6IHRvQ29udGV4dDppbmRleFwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGJvZHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tdGFibGUvY29tcG9uZW50cy90YWJsZS90Ym9keS90Ym9keS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi10YWJsZS9jb21wb25lbnRzL3RhYmxlL3Rib2R5L3Rib2R5LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsV0FBVyxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUcxRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsNENBQTRDO0FBQzVDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7O0FBU2xELE1BQU0sT0FBTyxpQkFBaUI7SUFzQjFCLFlBQytDLElBQXlCLEVBRTNELEtBQTJCO1FBRk8sU0FBSSxHQUFKLElBQUksQ0FBcUI7UUFFM0QsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUF0QnhDLFNBQUksR0FBaUIsRUFBRSxDQUFDO1FBSXhCLFlBQU8sR0FBd0IsRUFBRSxDQUFDO1FBSWxDLFNBQUksR0FBRyxJQUFJLENBQUM7UUFHSCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQU16QyxTQUFJLEdBQWlDLFdBQVcsQ0FBQztRQVlqRCxjQUFTLEdBQUcsQ0FDakIsU0FBWSxFQUNaLEtBQWEsRUFDZ0IsRUFBRSxDQUFDLENBQUMsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztJQVR0RCxDQUFDO0lBRUosSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQU9ELE9BQU87UUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7K0dBeENRLGlCQUFpQixrQkF1QmQsZ0JBQWdCLGFBQ2hCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzttR0F4QnRDLGlCQUFpQiw2SUFGZixrQkFBa0IsOEZBa0JFLGVBQWUsaUdBR1osY0FBYyxpQ0NqRHBELCsrQkFpQ0E7QURBSTtJQURDLGNBQWMsRUFBRTsrQ0FDTztBQUl4QjtJQURDLGNBQWMsRUFBRTtrREFDaUI7QUFJbEM7SUFEQyxjQUFjLEVBQUU7K0NBQ0w7NEZBWEgsaUJBQWlCO2tCQVA3QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFdBQVcsRUFBRSx1QkFBdUI7b0JBQ3BDLFNBQVMsRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLGtCQUFrQjtpQkFDaEM7OzBCQXdCUSxNQUFNOzJCQUFDLGdCQUFnQjs7MEJBQ3ZCLE1BQU07MkJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDOzRDQXJCL0MsSUFBSTtzQkFGSCxLQUFLO2dCQU1OLE9BQU87c0JBRk4sS0FBSztnQkFNTixJQUFJO3NCQUZILEtBQUs7Z0JBS0csVUFBVTtzQkFEbEIsTUFBTTtnQkFJRSxHQUFHO3NCQURYLFlBQVk7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFJdEMsSUFBSTtzQkFEWixlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RU1QVFlfUVVFUlksIHR1aURlZmF1bHRQcm9wfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUdWlSb3dEaXJlY3RpdmV9IGZyb20gJy4uL2RpcmVjdGl2ZXMvcm93LmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aVRhYmxlRGlyZWN0aXZlfSBmcm9tICcuLi9kaXJlY3RpdmVzL3RhYmxlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aVRhYmxlU29ydFBpcGV9IGZyb20gJy4uL3BpcGVzL3RhYmxlLXNvcnQucGlwZSc7XG5pbXBvcnQge1RVSV9UQUJMRV9QUk9WSURFUn0gZnJvbSAnLi4vcHJvdmlkZXJzL3RhYmxlLnByb3ZpZGVyJztcbi8vIFRPRE86IGZpbmQgdGhlIGJlc3Qgd2F5IGZvciBwcmV2ZW50IGN5Y2xlXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQge1R1aVRyQ29tcG9uZW50fSBmcm9tICcuLi90ci90ci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHRib2R5W3R1aVRib2R5XWAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL3Rib2R5LnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL3Rib2R5LnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFRVSV9UQUJMRV9QUk9WSURFUixcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGJvZHlDb21wb25lbnQ8VCBleHRlbmRzIFBhcnRpYWw8UmVjb3JkPGtleW9mIFQsIGFueT4+PiB7XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRhdGE6IHJlYWRvbmx5IFRbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGhlYWRpbmc6IFBvbHltb3JwaGV1c0NvbnRlbnQgPSBgYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBvcGVuID0gdHJ1ZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IG9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gVHVpUm93RGlyZWN0aXZlKSlcbiAgICByZWFkb25seSByb3c/OiBUdWlSb3dEaXJlY3RpdmU8VD47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gVHVpVHJDb21wb25lbnQpKVxuICAgIHJlYWRvbmx5IHJvd3M6IFF1ZXJ5TGlzdDxUdWlUckNvbXBvbmVudDxUPj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aVRhYmxlU29ydFBpcGUpIHByaXZhdGUgcmVhZG9ubHkgcGlwZTogVHVpVGFibGVTb3J0UGlwZTxUPixcbiAgICAgICAgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IFR1aVRhYmxlRGlyZWN0aXZlKSlcbiAgICAgICAgcmVhZG9ubHkgdGFibGU6IFR1aVRhYmxlRGlyZWN0aXZlPFQ+LFxuICAgICkge31cblxuICAgIGdldCBzb3J0ZWQoKTogcmVhZG9ubHkgVFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGlwZS50cmFuc2Zvcm0odGhpcy5kYXRhKTtcbiAgICB9XG5cbiAgICByZWFkb25seSB0b0NvbnRleHQgPSAoXG4gICAgICAgICRpbXBsaWNpdDogVCxcbiAgICAgICAgaW5kZXg6IG51bWJlcixcbiAgICApOiB7JGltcGxpY2l0OiBUOyBpbmRleDogbnVtYmVyfSA9PiAoeyRpbXBsaWNpdCwgaW5kZXh9KTtcblxuICAgIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KHRoaXMub3Blbik7XG4gICAgfVxufVxuIiwiPHRyICpuZ0lmPVwiaGVhZGluZ1wiPlxuICAgIDx0aFxuICAgICAgICBjbGFzcz1cInQtaGVhZGluZ1wiXG4gICAgICAgIFtjb2xTcGFuXT1cInRhYmxlLmNvbHVtbnMubGVuZ3RoXCJcbiAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWV4cGFuZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25DbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0LW5hbWVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJoZWFkaW5nIGFzIHRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICAgICBzcmM9XCJ0dWlJY29uQ2hldnJvbkRvd25MYXJnZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNoZXZyb25cIlxuICAgICAgICAgICAgICAgIFtjbGFzcy50LWNoZXZyb25fcm90YXRlZF09XCJvcGVuXCJcbiAgICAgICAgICAgID48L3R1aS1zdmc+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvdGg+XG48L3RyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wZW5cIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJvcGVuICYmIHJvd1wiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc29ydGVkOyBsZXQgaW5kZXggPSBpbmRleFwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJvdy50ZW1wbGF0ZVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJpdGVtIHwgdHVpTWFwcGVyOiB0b0NvbnRleHQ6aW5kZXhcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -6,7 +6,7 @@ export class TuiTdComponent {
6
6
  TuiTdComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTdComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
7
  TuiTdComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTdComponent, selector: "th[tuiTd], td[tuiTd]", host: { properties: { "class._editable": "this.control" } }, queries: [{ propertyName: "control", first: true, predicate: NgControl, descendants: true }], ngImport: i0, template: `
8
8
  <ng-content></ng-content>
9
- `, isInline: true, styles: [":host{position:relative;height:var(--tui-height-m);font:var(--tui-font-text-s);text-align:left;padding:0 .75rem;background:var(--tui-base-01);border:1px solid var(--tui-base-04);border-top:none;box-sizing:border-box;transform:translate(0)}:host:first-child{left:0}:host:not(:first-child){border-left:none}:host._editable:focus-within{z-index:1}:host._editable{padding:0;vertical-align:top}:host(th){position:-webkit-sticky;position:sticky;z-index:1}:host(th):after{transition-property:opacity;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;bottom:0;left:100%;width:.3125rem;pointer-events:none;background:rgba(237,237,237,.7);opacity:0}:host(th):focus-within:not(:disabled){z-index:11}:host-context(table[data-mode=\"onDark\"]):after{background:rgba(60,60,60,.9)}:host-context(table._stuck){z-index:10}:host-context(table._stuck):last-of-type:after{opacity:1}:host-context(table[data-size=\"l\"]){font:var(--tui-font-text-m);height:var(--tui-height-l);padding-left:1rem;padding-right:1rem}:host-context(table[data-size=\"l\"])._editable{padding:0}:host(td):focus-within{z-index:1}:host(td):not(:focus-within){z-index:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9
+ `, isInline: true, styles: [":host{position:relative;height:var(--tui-height-m);font:var(--tui-font-text-s);text-align:left;padding:0 .75rem;background:var(--tui-base-01);border:1px solid var(--tui-base-04);border-top:none;box-sizing:border-box;transform:translate(0)}:host:first-child{left:0}:host:not(:first-child){border-left:none}:host._editable:focus-within{z-index:1}:host._editable{padding:0;vertical-align:top}:host(th){position:-webkit-sticky;position:sticky;z-index:1}:host(th):after{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;bottom:0;left:100%;width:.3125rem;pointer-events:none;background:rgba(237,237,237,.7);opacity:0}:host(th):focus-within:not(:disabled){z-index:11}:host-context(table[data-mode=\"onDark\"]):after{background:rgba(60,60,60,.9)}:host-context(table._stuck){z-index:10}:host-context(table._stuck):last-of-type:after{opacity:1}:host-context(table[data-size=\"l\"]){font:var(--tui-font-text-m);height:var(--tui-height-l);padding-left:1rem;padding-right:1rem}:host-context(table[data-size=\"l\"])._editable{padding:0}:host(td):focus-within{z-index:1}:host(td):not(:focus-within){z-index:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTdComponent, decorators: [{
11
11
  type: Component,
12
12
  args: [{
@@ -44,7 +44,7 @@ TuiThComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
44
44
  provide: TUI_ELEMENT_REF,
45
45
  useExisting: ElementRef,
46
46
  },
47
- ], 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.updateSorter(sorter)\"\n>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n {{ table.change$ | async }}\n <tui-svg\n class=\"t-sort-icon\"\n [src]=\"icon\"\n [class.t-sort-icon_rotated]=\"isCurrent && table.direction === 1\"\n ></tui-svg>\n</button>\n<ng-template #content><ng-content></ng-content></ng-template>\n<div\n *ngIf=\"resizable\"\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n></div>\n", styles: [":host{transition-property:box-shadow;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;top:0;z-index:20;height:var(--tui-height-m);font:var(--tui-font-text-s);text-align:left;font-weight: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:.3s;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(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:.3s;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_sorted .t-sort-icon_rotated{transform:scaleY(-1)}.t-sort:focus-visible{background:var(--tui-selection)}.t-sort:hover{color:var(--tui-text-01)}.t-bar{transition-property:opacity;transition-duration:.3s;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.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: i3.TuiResizedDirective, selector: "[tuiResized]", outputs: ["tuiResized"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
47
+ ], 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.updateSorter(sorter)\"\n>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n {{ table.change$ | async }}\n <tui-svg\n class=\"t-sort-icon\"\n [src]=\"icon\"\n [class.t-sort-icon_rotated]=\"isCurrent && table.direction === 1\"\n ></tui-svg>\n</button>\n<ng-template #content><ng-content></ng-content></ng-template>\n<div\n *ngIf=\"resizable\"\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n></div>\n", styles: [":host{transition-property:box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;top:0;z-index:20;height:var(--tui-height-m);font:var(--tui-font-text-s);text-align:left;font-weight: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(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_sorted .t-sort-icon_rotated{transform:scaleY(-1)}.t-sort:focus-visible{background:var(--tui-selection)}.t-sort:hover{color:var(--tui-text-01)}.t-bar{transition-property:opacity;transition-duration:var(--tui-duration, .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.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: i3.TuiResizedDirective, selector: "[tuiResized]", outputs: ["tuiResized"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
48
48
  __decorate([
49
49
  tuiDefaultProp()
50
50
  ], TuiThComponent.prototype, "sorter", void 0);
@@ -1,9 +1,12 @@
1
1
  import { ChangeDetectionStrategy, Component, ContentChildren, forwardRef, Inject, } from '@angular/core';
2
- import { EMPTY_QUERY } from '@taiga-ui/cdk';
3
- import { map, startWith } from 'rxjs/operators';
2
+ import { EMPTY_QUERY, tuiItemsQueryListObservable } from '@taiga-ui/cdk';
3
+ import { ReplaySubject } from 'rxjs';
4
+ import { map, switchMap } from 'rxjs/operators';
4
5
  import { TuiCellDirective } from '../directives/cell.directive';
5
6
  import { TuiTableDirective } from '../directives/table.directive';
6
7
  import { TUI_TABLE_PROVIDER } from '../providers/table.provider';
8
+ // TODO: find the best way for prevent cycle
9
+ // eslint-disable-next-line import/no-cycle
7
10
  import { TuiTbodyComponent } from '../tbody/tbody.component';
8
11
  import * as i0 from "@angular/core";
9
12
  import * as i1 from "../td/td.component";
@@ -15,8 +18,16 @@ export class TuiTrComponent {
15
18
  this.table = table;
16
19
  this.body = body;
17
20
  this.cells = EMPTY_QUERY;
18
- this.cells$ = this.cells.changes.pipe(startWith(null), map(() => this.cells.reduce((record, item) => (Object.assign(Object.assign({}, record), { [item.tuiCell]: item })), {})));
19
- this.item$ = this.body.rows.changes.pipe(startWith(null), map(() => this.body.sorted[this.body.rows.toArray().findIndex(row => row === this)]));
21
+ this.contentReady$ = new ReplaySubject(1);
22
+ this.cells$ = this.contentReady$.pipe(switchMap(() => tuiItemsQueryListObservable(this.cells)), map(cells => cells.reduce((record, item) => (Object.assign(Object.assign({}, record), { [item.tuiCell]: item })), {})));
23
+ this.item$ = this.contentReady$.pipe(switchMap(() => tuiItemsQueryListObservable(this.body.rows)), map(rows =>
24
+ /**
25
+ * TODO v4.0 replace `this.body.sorted` with `this.body.data` (dont forget to drop `sorted`-getter).
26
+ */
27
+ this.body.sorted[rows.findIndex(row => row === this)]));
28
+ }
29
+ ngAfterContentInit() {
30
+ void Promise.resolve().then(() => this.contentReady$.next(true));
20
31
  }
21
32
  }
22
33
  TuiTrComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTrComponent, deps: [{ token: forwardRef(() => TuiTableDirective) }, { token: forwardRef(() => TuiTbodyComponent) }], target: i0.ɵɵFactoryTarget.Component });
@@ -39,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
39
50
  type: ContentChildren,
40
51
  args: [forwardRef(() => TuiCellDirective)]
41
52
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tdGFibGUvY29tcG9uZW50cy90YWJsZS90ci90ci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi10YWJsZS9jb21wb25lbnRzL3RhYmxlL3RyL3RyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixNQUFNLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUFRM0QsTUFBTSxPQUFPLGNBQWM7SUF3QnZCLFlBRWEsS0FBMkIsRUFFbkIsSUFBMEI7UUFGbEMsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFFbkIsU0FBSSxHQUFKLElBQUksQ0FBc0I7UUExQjlCLFVBQUssR0FBZ0MsV0FBVyxDQUFDO1FBRXpELFdBQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3JDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDZixHQUFHLENBQUMsR0FBRyxFQUFFLENBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ2IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxpQ0FBSyxNQUFNLEtBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxJQUFFLEVBQ3JELEVBQWdELENBQ25ELENBQ0osQ0FDSixDQUFDO1FBRU8sVUFBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3hDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDZixHQUFHLENBQ0MsR0FBRyxFQUFFLENBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUN6QixDQUN6QyxDQUNKLENBQUM7SUFPQyxDQUFDOzs0R0E3QkssY0FBYyxrQkF5QlgsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDLGFBRW5DLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnR0EzQnRDLGNBQWMsb0NBRlosQ0FBQyxrQkFBa0IsQ0FBQyxtRkFHRyxnQkFBZ0IsaUNDdkJ0RCxpYkFlQTs0RkRPYSxjQUFjO2tCQU4xQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxXQUFXO29CQUNyQixXQUFXLEVBQUUsb0JBQW9CO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQ2xDOzswQkEwQlEsTUFBTTsyQkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7OzBCQUUxQyxNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzs0Q0F6QjlCLEtBQUs7c0JBRHJCLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0LFxuICAgIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7bWFwLCBzdGFydFdpdGh9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUdWlDZWxsRGlyZWN0aXZlfSBmcm9tICcuLi9kaXJlY3RpdmVzL2NlbGwuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpVGFibGVEaXJlY3RpdmV9IGZyb20gJy4uL2RpcmVjdGl2ZXMvdGFibGUuZGlyZWN0aXZlJztcbmltcG9ydCB7VFVJX1RBQkxFX1BST1ZJREVSfSBmcm9tICcuLi9wcm92aWRlcnMvdGFibGUucHJvdmlkZXInO1xuaW1wb3J0IHtUdWlUYm9keUNvbXBvbmVudH0gZnJvbSAnLi4vdGJvZHkvdGJvZHkuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0clt0dWlUcl1gLFxuICAgIHRlbXBsYXRlVXJsOiBgLi90ci50ZW1wbGF0ZS5odG1sYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtUVUlfVEFCTEVfUFJPVklERVJdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUckNvbXBvbmVudDxUIGV4dGVuZHMgUGFydGlhbDxSZWNvcmQ8a2V5b2YgVCwgYW55Pj4+IHtcbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gVHVpQ2VsbERpcmVjdGl2ZSkpXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZWxsczogUXVlcnlMaXN0PFR1aUNlbGxEaXJlY3RpdmU+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICByZWFkb25seSBjZWxscyQgPSB0aGlzLmNlbGxzLmNoYW5nZXMucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICBtYXAoKCkgPT5cbiAgICAgICAgICAgIHRoaXMuY2VsbHMucmVkdWNlKFxuICAgICAgICAgICAgICAgIChyZWNvcmQsIGl0ZW0pID0+ICh7Li4ucmVjb3JkLCBbaXRlbS50dWlDZWxsXTogaXRlbX0pLFxuICAgICAgICAgICAgICAgIHt9IGFzIFJlY29yZDxrZXlvZiBUIHwgc3RyaW5nLCBUdWlDZWxsRGlyZWN0aXZlPixcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIHJlYWRvbmx5IGl0ZW0kID0gdGhpcy5ib2R5LnJvd3MuY2hhbmdlcy5waXBlKFxuICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgIG1hcChcbiAgICAgICAgICAgICgpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5ib2R5LnNvcnRlZFtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ib2R5LnJvd3MudG9BcnJheSgpLmZpbmRJbmRleChyb3cgPT4gcm93ID09PSB0aGlzKVxuICAgICAgICAgICAgICAgIF0gYXMgUmVjb3JkPGtleW9mIFQgfCBzdHJpbmcsIGFueT4sXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gVHVpVGFibGVEaXJlY3RpdmUpKVxuICAgICAgICByZWFkb25seSB0YWJsZTogVHVpVGFibGVEaXJlY3RpdmU8VD4sXG4gICAgICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBUdWlUYm9keUNvbXBvbmVudCkpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYm9keTogVHVpVGJvZHlDb21wb25lbnQ8VD4sXG4gICAgKSB7fVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImNlbGxzJCB8IGFzeW5jIGFzIGl0ZW1zXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdGb3I9XCJsZXQga2V5IG9mIHRhYmxlLmNvbHVtbnNcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtc1trZXldPy50ZW1wbGF0ZSB8fCBwbGFpblwiXG4gICAgPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3BsYWluPlxuICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtJCB8IGFzeW5jIGFzIGl0ZW1cIlxuICAgICAgICAgICAgICAgIHR1aVRkXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgaXRlbVtrZXldIH19XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tdGFibGUvY29tcG9uZW50cy90YWJsZS90ci90ci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi10YWJsZS9jb21wb25lbnRzL3RhYmxlL3RyL3RyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixNQUFNLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBRSwyQkFBMkIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsNENBQTRDO0FBQzVDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBUTNELE1BQU0sT0FBTyxjQUFjO0lBZ0N2QixZQUVhLEtBQTJCLEVBRW5CLElBQTBCO1FBRmxDLFVBQUssR0FBTCxLQUFLLENBQXNCO1FBRW5CLFNBQUksR0FBSixJQUFJLENBQXNCO1FBaEM5QixVQUFLLEdBQWdDLFdBQVcsQ0FBQztRQUVqRCxrQkFBYSxHQUFHLElBQUksYUFBYSxDQUFVLENBQUMsQ0FBQyxDQUFDO1FBRXRELFdBQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUN4RCxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDUixLQUFLLENBQUMsTUFBTSxDQUNSLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsaUNBQUssTUFBTSxLQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksSUFBRSxFQUNyRCxFQUFnRCxDQUNuRCxDQUNKLENBQ0osQ0FBQztRQUVPLFVBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDcEMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDNUQsR0FBRyxDQUNDLElBQUksQ0FBQyxFQUFFO1FBQ0g7O1dBRUc7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUduRCxDQUNSLENBQ0osQ0FBQztJQU9DLENBQUM7SUFFSixrQkFBa0I7UUFDZCxLQUFLLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDOzs0R0F6Q1EsY0FBYyxrQkFpQ1gsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDLGFBRW5DLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnR0FuQ3RDLGNBQWMsb0NBRlosQ0FBQyxrQkFBa0IsQ0FBQyxtRkFLRyxnQkFBZ0IsaUNDN0J0RCxpYkFlQTs0RkRXYSxjQUFjO2tCQU4xQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxXQUFXO29CQUNyQixXQUFXLEVBQUUsb0JBQW9CO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQ2xDOzswQkFrQ1EsTUFBTTsyQkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7OzBCQUUxQyxNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzs0Q0EvQjlCLEtBQUs7c0JBRHJCLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3QsXG4gICAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RU1QVFlfUVVFUlksIHR1aUl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1JlcGxheVN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aUNlbGxEaXJlY3RpdmV9IGZyb20gJy4uL2RpcmVjdGl2ZXMvY2VsbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlUYWJsZURpcmVjdGl2ZX0gZnJvbSAnLi4vZGlyZWN0aXZlcy90YWJsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUVUlfVEFCTEVfUFJPVklERVJ9IGZyb20gJy4uL3Byb3ZpZGVycy90YWJsZS5wcm92aWRlcic7XG4vLyBUT0RPOiBmaW5kIHRoZSBiZXN0IHdheSBmb3IgcHJldmVudCBjeWNsZVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHtUdWlUYm9keUNvbXBvbmVudH0gZnJvbSAnLi4vdGJvZHkvdGJvZHkuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0clt0dWlUcl1gLFxuICAgIHRlbXBsYXRlVXJsOiBgLi90ci50ZW1wbGF0ZS5odG1sYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtUVUlfVEFCTEVfUFJPVklERVJdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUckNvbXBvbmVudDxUIGV4dGVuZHMgUGFydGlhbDxSZWNvcmQ8a2V5b2YgVCwgYW55Pj4+XG4gICAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0XG57XG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IFR1aUNlbGxEaXJlY3RpdmUpKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2VsbHM6IFF1ZXJ5TGlzdDxUdWlDZWxsRGlyZWN0aXZlPiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250ZW50UmVhZHkkID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oMSk7XG5cbiAgICByZWFkb25seSBjZWxscyQgPSB0aGlzLmNvbnRlbnRSZWFkeSQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHR1aUl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSh0aGlzLmNlbGxzKSksXG4gICAgICAgIG1hcChjZWxscyA9PlxuICAgICAgICAgICAgY2VsbHMucmVkdWNlKFxuICAgICAgICAgICAgICAgIChyZWNvcmQsIGl0ZW0pID0+ICh7Li4ucmVjb3JkLCBbaXRlbS50dWlDZWxsXTogaXRlbX0pLFxuICAgICAgICAgICAgICAgIHt9IGFzIFJlY29yZDxrZXlvZiBUIHwgc3RyaW5nLCBUdWlDZWxsRGlyZWN0aXZlPixcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIHJlYWRvbmx5IGl0ZW0kID0gdGhpcy5jb250ZW50UmVhZHkkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0dWlJdGVtc1F1ZXJ5TGlzdE9ic2VydmFibGUodGhpcy5ib2R5LnJvd3MpKSxcbiAgICAgICAgbWFwKFxuICAgICAgICAgICAgcm93cyA9PlxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIFRPRE8gdjQuMCByZXBsYWNlIGB0aGlzLmJvZHkuc29ydGVkYCB3aXRoIGB0aGlzLmJvZHkuZGF0YWAgKGRvbnQgZm9yZ2V0IHRvIGRyb3AgYHNvcnRlZGAtZ2V0dGVyKS5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICB0aGlzLmJvZHkuc29ydGVkW3Jvd3MuZmluZEluZGV4KHJvdyA9PiByb3cgPT09IHRoaXMpXSBhcyBSZWNvcmQ8XG4gICAgICAgICAgICAgICAgICAgIGtleW9mIFQgfCBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgIGFueVxuICAgICAgICAgICAgICAgID4sXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gVHVpVGFibGVEaXJlY3RpdmUpKVxuICAgICAgICByZWFkb25seSB0YWJsZTogVHVpVGFibGVEaXJlY3RpdmU8VD4sXG4gICAgICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBUdWlUYm9keUNvbXBvbmVudCkpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYm9keTogVHVpVGJvZHlDb21wb25lbnQ8VD4sXG4gICAgKSB7fVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB2b2lkIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gdGhpcy5jb250ZW50UmVhZHkkLm5leHQodHJ1ZSkpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjZWxscyQgfCBhc3luYyBhcyBpdGVtc1wiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IGtleSBvZiB0YWJsZS5jb2x1bW5zXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbXNba2V5XT8udGVtcGxhdGUgfHwgcGxhaW5cIlxuICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNwbGFpbj5cbiAgICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbSQgfCBhc3luYyBhcyBpdGVtXCJcbiAgICAgICAgICAgICAgICB0dWlUZFxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW1ba2V5XSB9fVxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -47,7 +47,7 @@ class TuiReorderComponent {
47
47
  }
48
48
  }
49
49
  TuiReorderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiReorderComponent, deps: [{ token: TUI_TABLE_SHOW_HIDE_MESSAGE }], target: i0.ɵɵFactoryTarget.Component });
50
- TuiReorderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiReorderComponent, selector: "tui-reorder", inputs: { items: "items", enabled: "enabled" }, outputs: { itemsChange: "itemsChange", enabledChange: "enabledChange" }, host: { listeners: { "focusout.stop": "noop()" } }, ngImport: i0, template: "<div\n cdkDropList\n class=\"t-wrapper\"\n (cdkDropListDropped)=\"drop($event)\"\n>\n <div\n *ngFor=\"let item of items\"\n tabindex=\"-1\"\n cdkDrag\n class=\"t-item\"\n >\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 tuiPreventDefault=\"mousedown\"\n class=\"t-button\"\n [class.t-button_hidden]=\"!isEnabled(item)\"\n [title]=\"showHideText$ | async\"\n [icon]=\"getIcon(item)\"\n (click)=\"toggle(item)\"\n ></button>\n </div>\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-s);padding:.5rem 0}.t-item{transition-property:background;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;height:2rem;align-items:center;padding:0 .75rem;cursor:ns-resize;background:var(--tui-base-01);outline:none}.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:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-left:auto;opacity:0}.t-button_hidden{opacity:1}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.t-wrapper.cdk-drop-list-dragging .t-item:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.t-wrapper.cdk-drop-list-dragging .t-item:not(.cdk-drag-placeholder):hover{background:var(--tui-base-01)}.t-wrapper.cdk-drop-list-dragging .t-item:not(.cdk-drag-placeholder) .t-button{display:none}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "id", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListAutoScrollDisabled", "cdkDropListOrientation", "cdkDropListLockAxis", "cdkDropListData", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragDisabled", "cdkDragStartDelay", "cdkDragLockAxis", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragBoundary", "cdkDragRootElement", "cdkDragPreviewContainer", "cdkDragData", "cdkDragFreeDragPosition"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i4.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]" }], pipes: { "async": i3.AsyncPipe } });
50
+ TuiReorderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiReorderComponent, selector: "tui-reorder", inputs: { items: "items", enabled: "enabled" }, outputs: { itemsChange: "itemsChange", enabledChange: "enabledChange" }, host: { listeners: { "focusout.stop": "noop()" } }, ngImport: i0, template: "<div\n cdkDropList\n class=\"t-wrapper\"\n (cdkDropListDropped)=\"drop($event)\"\n>\n <div\n *ngFor=\"let item of items\"\n tabindex=\"-1\"\n cdkDrag\n class=\"t-item\"\n >\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 tuiPreventDefault=\"mousedown\"\n class=\"t-button\"\n [class.t-button_hidden]=\"!isEnabled(item)\"\n [title]=\"showHideText$ | async\"\n [icon]=\"getIcon(item)\"\n (click)=\"toggle(item)\"\n ></button>\n </div>\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-s);padding:.5rem 0}.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;cursor:ns-resize;background:var(--tui-base-01);outline:none}.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{opacity:1}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.t-wrapper.cdk-drop-list-dragging .t-item:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.t-wrapper.cdk-drop-list-dragging .t-item:not(.cdk-drag-placeholder):hover{background:var(--tui-base-01)}.t-wrapper.cdk-drop-list-dragging .t-item:not(.cdk-drag-placeholder) .t-button{display:none}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "id", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListAutoScrollDisabled", "cdkDropListOrientation", "cdkDropListLockAxis", "cdkDropListData", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragDisabled", "cdkDragStartDelay", "cdkDragLockAxis", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragBoundary", "cdkDragRootElement", "cdkDragPreviewContainer", "cdkDragData", "cdkDragFreeDragPosition"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i4.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]" }], pipes: { "async": i3.AsyncPipe } });
51
51
  __decorate([
52
52
  tuiDefaultProp()
53
53
  ], TuiReorderComponent.prototype, "items", void 0);
@@ -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 {CdkDragDrop, moveItemInArray} from '@angular/cdk/drag-drop';\nimport {\n Component,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {TUI_TABLE_SHOW_HIDE_MESSAGE} from '@taiga-ui/addon-table/tokens';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\n\n// @bad TODO: a11y\n@Component({\n selector: `tui-reorder`,\n templateUrl: `./reorder.template.html`,\n styleUrls: [`./reorder.style.less`],\n})\nexport class TuiReorderComponent<T> {\n @Input()\n @tuiDefaultProp()\n items: readonly T[] = [];\n\n @Input()\n @tuiDefaultProp()\n enabled: readonly T[] = [];\n\n @Output()\n readonly itemsChange = new EventEmitter<readonly T[]>();\n\n @Output()\n readonly enabledChange = new EventEmitter<readonly T[]>();\n\n constructor(\n @Inject(TUI_TABLE_SHOW_HIDE_MESSAGE) readonly showHideText$: Observable<string>,\n ) {}\n\n @HostListener(`focusout.stop`)\n noop(): void {}\n\n isEnabled(item: T): boolean {\n return this.enabled.includes(item);\n }\n\n getIcon(item: T): string {\n return this.isEnabled(item) ? `tuiIconEyeOpen` : `tuiIconEyeClosed`;\n }\n\n toggle(toggled: T): void {\n const enabled = this.isEnabled(toggled)\n ? this.enabled.filter(item => item !== toggled)\n : this.enabled.concat(toggled);\n\n this.updateEnabled(enabled);\n }\n\n drop(event: CdkDragDrop<T>): void {\n const items = [...this.items];\n\n moveItemInArray(items, event.previousIndex, event.currentIndex);\n this.items = items;\n this.itemsChange.emit(items);\n this.updateEnabled(items.filter(item => this.enabled.includes(item)));\n }\n\n private updateEnabled(enabled: readonly T[]): void {\n this.enabled = enabled;\n this.enabledChange.emit(enabled);\n }\n}\n","<div\n cdkDropList\n class=\"t-wrapper\"\n (cdkDropListDropped)=\"drop($event)\"\n>\n <div\n *ngFor=\"let item of items\"\n tabindex=\"-1\"\n cdkDrag\n class=\"t-item\"\n >\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 tuiPreventDefault=\"mousedown\"\n class=\"t-button\"\n [class.t-button_hidden]=\"!isEnabled(item)\"\n [title]=\"showHideText$ | async\"\n [icon]=\"getIcon(item)\"\n (click)=\"toggle(item)\"\n ></button>\n </div>\n</div>\n","import {DragDropModule} from '@angular/cdk/drag-drop';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiReorderComponent} from './reorder.component';\n\n@NgModule({\n imports: [\n CommonModule,\n DragDropModule,\n TuiSvgModule,\n TuiButtonModule,\n TuiPreventDefaultModule,\n ],\n declarations: [TuiReorderComponent],\n exports: [TuiReorderComponent],\n})\nexport class TuiReorderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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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 {CdkDragDrop, moveItemInArray} from '@angular/cdk/drag-drop';\nimport {\n Component,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {TUI_TABLE_SHOW_HIDE_MESSAGE} from '@taiga-ui/addon-table/tokens';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\n\n// @bad TODO: a11y\n@Component({\n selector: `tui-reorder`,\n templateUrl: `./reorder.template.html`,\n styleUrls: [`./reorder.style.less`],\n})\nexport class TuiReorderComponent<T> {\n @Input()\n @tuiDefaultProp()\n items: readonly T[] = [];\n\n @Input()\n @tuiDefaultProp()\n enabled: readonly T[] = [];\n\n @Output()\n readonly itemsChange = new EventEmitter<readonly T[]>();\n\n @Output()\n readonly enabledChange = new EventEmitter<readonly T[]>();\n\n constructor(\n @Inject(TUI_TABLE_SHOW_HIDE_MESSAGE) readonly showHideText$: Observable<string>,\n ) {}\n\n @HostListener(`focusout.stop`)\n noop(): void {}\n\n isEnabled(item: T): boolean {\n return this.enabled.includes(item);\n }\n\n getIcon(item: T): string {\n return this.isEnabled(item) ? `tuiIconEyeOpen` : `tuiIconEyeClosed`;\n }\n\n toggle(toggled: T): void {\n const enabled = this.isEnabled(toggled)\n ? this.enabled.filter(item => item !== toggled)\n : this.enabled.concat(toggled);\n\n this.updateEnabled(enabled);\n }\n\n drop(event: CdkDragDrop<T>): void {\n const items = [...this.items];\n\n moveItemInArray(items, event.previousIndex, event.currentIndex);\n this.items = items;\n this.itemsChange.emit(items);\n this.updateEnabled(items.filter(item => this.enabled.includes(item)));\n }\n\n private updateEnabled(enabled: readonly T[]): void {\n this.enabled = enabled;\n this.enabledChange.emit(enabled);\n }\n}\n","<div\n cdkDropList\n class=\"t-wrapper\"\n (cdkDropListDropped)=\"drop($event)\"\n>\n <div\n *ngFor=\"let item of items\"\n tabindex=\"-1\"\n cdkDrag\n class=\"t-item\"\n >\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 tuiPreventDefault=\"mousedown\"\n class=\"t-button\"\n [class.t-button_hidden]=\"!isEnabled(item)\"\n [title]=\"showHideText$ | async\"\n [icon]=\"getIcon(item)\"\n (click)=\"toggle(item)\"\n ></button>\n </div>\n</div>\n","import {DragDropModule} from '@angular/cdk/drag-drop';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiReorderComponent} from './reorder.component';\n\n@NgModule({\n imports: [\n CommonModule,\n DragDropModule,\n TuiSvgModule,\n TuiButtonModule,\n TuiPreventDefaultModule,\n ],\n declarations: [TuiReorderComponent],\n exports: [TuiReorderComponent],\n})\nexport class TuiReorderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,13 +2,14 @@ import { __decorate } 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, TuiMapperPipeModule } from '@taiga-ui/cdk';
5
+ import { tuiDefaultProp, AbstractTuiController, tuiTypedFromEvent, tuiPreventDefault, TuiTableSortKeyException, EMPTY_QUERY, tuiPure, TuiDestroyService, tuiItemsQueryListObservable, 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';
9
9
  import { TUI_TEXTFIELD_APPEARANCE, TUI_TEXTFIELD_LABEL_OUTSIDE, TUI_TEXTFIELD_SIZE, MODE_PROVIDER, TUI_MODE, TUI_ELEMENT_REF, tuiWatchedControllerFactory, TuiSvgModule } from '@taiga-ui/core';
10
10
  import { TUI_INPUT_COUNT_OPTIONS } from '@taiga-ui/kit';
11
11
  import * as i1 from 'rxjs';
12
+ import { ReplaySubject } from 'rxjs';
12
13
  import * as i2 from '@angular/common';
13
14
  import { DOCUMENT, CommonModule } from '@angular/common';
14
15
  import { tuiDefaultSort } from '@taiga-ui/addon-table/utils';
@@ -243,6 +244,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
243
244
  type: Output
244
245
  }] } });
245
246
 
247
+ /**
248
+ * @deprecated use `*ngFor` + `tuiTableSort`-pipe instead.
249
+ * See example {@link https://taiga-ui.dev/components/table/Setup}
250
+ * ___
251
+ * TODO v4.0 delete it.
252
+ */
246
253
  class TuiRowDirective {
247
254
  constructor(template) {
248
255
  this.template = template;
@@ -302,7 +309,7 @@ TuiThComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
302
309
  provide: TUI_ELEMENT_REF,
303
310
  useExisting: ElementRef,
304
311
  },
305
- ], 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.updateSorter(sorter)\"\n>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n {{ table.change$ | async }}\n <tui-svg\n class=\"t-sort-icon\"\n [src]=\"icon\"\n [class.t-sort-icon_rotated]=\"isCurrent && table.direction === 1\"\n ></tui-svg>\n</button>\n<ng-template #content><ng-content></ng-content></ng-template>\n<div\n *ngIf=\"resizable\"\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n></div>\n", styles: [":host{transition-property:box-shadow;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;top:0;z-index:20;height:var(--tui-height-m);font:var(--tui-font-text-s);text-align:left;font-weight: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:.3s;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(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:.3s;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_sorted .t-sort-icon_rotated{transform:scaleY(-1)}.t-sort:focus-visible{background:var(--tui-selection)}.t-sort:hover{color:var(--tui-text-01)}.t-bar{transition-property:opacity;transition-duration:.3s;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 });
312
+ ], 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.updateSorter(sorter)\"\n>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n {{ table.change$ | async }}\n <tui-svg\n class=\"t-sort-icon\"\n [src]=\"icon\"\n [class.t-sort-icon_rotated]=\"isCurrent && table.direction === 1\"\n ></tui-svg>\n</button>\n<ng-template #content><ng-content></ng-content></ng-template>\n<div\n *ngIf=\"resizable\"\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n></div>\n", styles: [":host{transition-property:box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;top:0;z-index:20;height:var(--tui-height-m);font:var(--tui-font-text-s);text-align:left;font-weight: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(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_sorted .t-sort-icon_rotated{transform:scaleY(-1)}.t-sort:focus-visible{background:var(--tui-selection)}.t-sort:hover{color:var(--tui-text-01)}.t-bar{transition-property:opacity;transition-duration:var(--tui-duration, .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 });
306
313
  __decorate([
307
314
  tuiDefaultProp()
308
315
  ], TuiThComponent.prototype, "sorter", void 0);
@@ -502,7 +509,7 @@ class TuiTdComponent {
502
509
  TuiTdComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTdComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
503
510
  TuiTdComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTdComponent, selector: "th[tuiTd], td[tuiTd]", host: { properties: { "class._editable": "this.control" } }, queries: [{ propertyName: "control", first: true, predicate: NgControl, descendants: true }], ngImport: i0, template: `
504
511
  <ng-content></ng-content>
505
- `, isInline: true, styles: [":host{position:relative;height:var(--tui-height-m);font:var(--tui-font-text-s);text-align:left;padding:0 .75rem;background:var(--tui-base-01);border:1px solid var(--tui-base-04);border-top:none;box-sizing:border-box;transform:translate(0)}:host:first-child{left:0}:host:not(:first-child){border-left:none}:host._editable:focus-within{z-index:1}:host._editable{padding:0;vertical-align:top}:host(th){position:-webkit-sticky;position:sticky;z-index:1}:host(th):after{transition-property:opacity;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;bottom:0;left:100%;width:.3125rem;pointer-events:none;background:rgba(237,237,237,.7);opacity:0}:host(th):focus-within:not(:disabled){z-index:11}:host-context(table[data-mode=\"onDark\"]):after{background:rgba(60,60,60,.9)}:host-context(table._stuck){z-index:10}:host-context(table._stuck):last-of-type:after{opacity:1}:host-context(table[data-size=\"l\"]){font:var(--tui-font-text-m);height:var(--tui-height-l);padding-left:1rem;padding-right:1rem}:host-context(table[data-size=\"l\"])._editable{padding:0}:host(td):focus-within{z-index:1}:host(td):not(:focus-within){z-index:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
512
+ `, isInline: true, styles: [":host{position:relative;height:var(--tui-height-m);font:var(--tui-font-text-s);text-align:left;padding:0 .75rem;background:var(--tui-base-01);border:1px solid var(--tui-base-04);border-top:none;box-sizing:border-box;transform:translate(0)}:host:first-child{left:0}:host:not(:first-child){border-left:none}:host._editable:focus-within{z-index:1}:host._editable{padding:0;vertical-align:top}:host(th){position:-webkit-sticky;position:sticky;z-index:1}:host(th):after{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;bottom:0;left:100%;width:.3125rem;pointer-events:none;background:rgba(237,237,237,.7);opacity:0}:host(th):focus-within:not(:disabled){z-index:11}:host-context(table[data-mode=\"onDark\"]):after{background:rgba(60,60,60,.9)}:host-context(table._stuck){z-index:10}:host-context(table._stuck):last-of-type:after{opacity:1}:host-context(table[data-size=\"l\"]){font:var(--tui-font-text-m);height:var(--tui-height-l);padding-left:1rem;padding-right:1rem}:host-context(table[data-size=\"l\"])._editable{padding:0}:host(td):focus-within{z-index:1}:host(td):not(:focus-within){z-index:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
506
513
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTdComponent, decorators: [{
507
514
  type: Component,
508
515
  args: [{
@@ -526,8 +533,16 @@ class TuiTrComponent {
526
533
  this.table = table;
527
534
  this.body = body;
528
535
  this.cells = EMPTY_QUERY;
529
- this.cells$ = this.cells.changes.pipe(startWith(null), map(() => this.cells.reduce((record, item) => (Object.assign(Object.assign({}, record), { [item.tuiCell]: item })), {})));
530
- this.item$ = this.body.rows.changes.pipe(startWith(null), map(() => this.body.sorted[this.body.rows.toArray().findIndex(row => row === this)]));
536
+ this.contentReady$ = new ReplaySubject(1);
537
+ this.cells$ = this.contentReady$.pipe(switchMap(() => tuiItemsQueryListObservable(this.cells)), map(cells => cells.reduce((record, item) => (Object.assign(Object.assign({}, record), { [item.tuiCell]: item })), {})));
538
+ this.item$ = this.contentReady$.pipe(switchMap(() => tuiItemsQueryListObservable(this.body.rows)), map(rows =>
539
+ /**
540
+ * TODO v4.0 replace `this.body.sorted` with `this.body.data` (dont forget to drop `sorted`-getter).
541
+ */
542
+ this.body.sorted[rows.findIndex(row => row === this)]));
543
+ }
544
+ ngAfterContentInit() {
545
+ void Promise.resolve().then(() => this.contentReady$.next(true));
531
546
  }
532
547
  }
533
548
  TuiTrComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTrComponent, deps: [{ token: forwardRef(() => TuiTableDirective) }, { token: forwardRef(() => TuiTbodyComponent) }], target: i0.ɵɵFactoryTarget.Component });
@@ -571,7 +586,7 @@ class TuiTbodyComponent {
571
586
  }
572
587
  }
573
588
  TuiTbodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTbodyComponent, deps: [{ token: TuiTableSortPipe }, { token: forwardRef(() => TuiTableDirective) }], target: i0.ɵɵFactoryTarget.Component });
574
- TuiTbodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTbodyComponent, selector: "tbody[tuiTbody]", inputs: { data: "data", heading: "heading", open: "open" }, outputs: { openChange: "openChange" }, providers: TUI_TABLE_PROVIDER, queries: [{ propertyName: "row", first: true, predicate: i0.forwardRef(function () { return TuiRowDirective; }), descendants: true }, { propertyName: "rows", predicate: i0.forwardRef(function () { return TuiTrComponent; }) }], ngImport: i0, template: "<ng-content></ng-content>\n<tr *ngIf=\"heading\">\n <th\n class=\"t-heading\"\n [colSpan]=\"table.columns.length\"\n >\n <button\n type=\"button\"\n class=\"t-expand\"\n (click)=\"onClick()\"\n >\n <span 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 && 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", styles: [":host{border-color:var(--tui-base-04)}:host tr{border-color:inherit}.t-expand{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;display:flex;width:100%;height:100%;align-items:center;box-sizing:border-box;outline:none;font-weight:bold;cursor:pointer;border-color:inherit}.t-expand:focus-visible .t-name{background:var(--tui-selection)}.t-expand:before,.t-expand:after{content:\"\";position:-webkit-sticky;position:sticky;height:100%;border-left:1px solid;border-color:inherit}.t-expand:before{left:0}.t-expand:after{right:0}.t-heading{height:var(--tui-height-m);font:var(--tui-font-text-s);padding:0;background:var(--tui-base-02);border-bottom:1px solid var(--tui-base-04);border-color:inherit}:host-context(table[data-size=\"l\"]) .t-heading{font:var(--tui-font-text-m);height:var(--tui-height-l)}.t-name{position:-webkit-sticky;position:sticky;left:.75rem;display:inline-block}:host-context(table[data-size=\"l\"]) .t-name{left:1rem}.t-chevron{transition-property:transform;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:-webkit-sticky;position:sticky;right:.75rem;margin:0 .6875rem 0 auto}.t-chevron_rotated{transform:rotate(180deg)}\n"], components: [{ type: i1$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "tuiMapper": i4.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
589
+ TuiTbodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTbodyComponent, selector: "tbody[tuiTbody]", inputs: { data: "data", heading: "heading", open: "open" }, outputs: { openChange: "openChange" }, providers: TUI_TABLE_PROVIDER, queries: [{ propertyName: "row", first: true, predicate: i0.forwardRef(function () { return TuiRowDirective; }), descendants: true }, { propertyName: "rows", predicate: i0.forwardRef(function () { return TuiTrComponent; }) }], ngImport: i0, template: "<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", styles: [":host{border-color:var(--tui-base-04)}:host tr{border-color:inherit}.t-expand{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;display:flex;width:100%;height:100%;align-items:center;box-sizing:border-box;outline:none;font-weight:bold;cursor:pointer;border-color:inherit}.t-expand:focus-visible .t-name{background:var(--tui-selection)}.t-expand:before,.t-expand:after{content:\"\";position:-webkit-sticky;position:sticky;height:100%;border-left:1px solid;border-color:inherit}.t-expand:before{left:0}.t-expand:after{right:0}.t-heading{height:var(--tui-height-m);font:var(--tui-font-text-s);padding:0;background:var(--tui-base-02);border-bottom:1px solid var(--tui-base-04);border-color:inherit}:host-context(table[data-size=\"l\"]) .t-heading{font:var(--tui-font-text-m);height:var(--tui-height-l)}.t-name{position:-webkit-sticky;position:sticky;left:.75rem;display:inline-block}:host-context(table[data-size=\"l\"]) .t-name{left:1rem}.t-chevron{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:-webkit-sticky;position:sticky;right:.75rem;margin:0 .6875rem 0 auto}.t-chevron_rotated{transform:rotate(180deg)}\n"], components: [{ type: i1$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "tuiMapper": i4.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
575
590
  __decorate([
576
591
  tuiDefaultProp()
577
592
  ], TuiTbodyComponent.prototype, "data", void 0);