@taiga-ui/addon-table 3.58.0 → 3.59.0-canary.10da730

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/components/reorder/reorder.component.d.ts +1 -1
  2. package/components/table/directives/cell.directive.d.ts +1 -1
  3. package/components/table/directives/direction-order.directive.d.ts +1 -1
  4. package/components/table/directives/head.directive.d.ts +1 -1
  5. package/components/table/directives/resized.directive.d.ts +1 -1
  6. package/components/table/directives/row.directive.d.ts +1 -1
  7. package/components/table/directives/sort-by.directive.d.ts +1 -1
  8. package/components/table/directives/sortable.directive.d.ts +1 -1
  9. package/components/table/directives/table.directive.d.ts +1 -1
  10. package/components/table/directives/thead.directive.d.ts +1 -1
  11. package/components/table/pipes/table-sort.pipe.d.ts +1 -1
  12. package/components/table/tbody/tbody.component.d.ts +1 -1
  13. package/components/table/td/td.component.d.ts +1 -1
  14. package/components/table/th/th.component.d.ts +1 -1
  15. package/components/table/th-group/th-group.component.d.ts +1 -1
  16. package/components/table/tr/tr.component.d.ts +1 -1
  17. package/components/table-pagination/table-pagination.component.d.ts +1 -1
  18. package/directives/table-filters/generic-filter.directive.d.ts +1 -1
  19. package/directives/table-filters/table-filter.directive.d.ts +1 -1
  20. package/directives/table-filters/table-filters.directive.d.ts +1 -1
  21. package/directives/table-filters/table-filters.pipe.d.ts +1 -1
  22. package/esm2020/components/reorder/reorder.component.mjs +108 -0
  23. package/{esm2015/components/reorder/reorder.module.js → esm2020/components/reorder/reorder.module.mjs} +5 -5
  24. package/{esm2015/components/table/directives/cell.directive.js → esm2020/components/table/directives/cell.directive.mjs} +3 -3
  25. package/esm2020/components/table/directives/direction-order.directive.mjs +30 -0
  26. package/{esm2015/components/table/directives/head.directive.js → esm2020/components/table/directives/head.directive.mjs} +3 -3
  27. package/esm2020/components/table/directives/resized.directive.mjs +37 -0
  28. package/{esm2015/components/table/directives/row.directive.js → esm2020/components/table/directives/row.directive.mjs} +3 -3
  29. package/esm2020/components/table/directives/sort-by.directive.mjs +47 -0
  30. package/{esm2015/components/table/directives/sortable.directive.js → esm2020/components/table/directives/sortable.directive.mjs} +3 -3
  31. package/{esm2015/components/table/directives/table.directive.js → esm2020/components/table/directives/table.directive.mjs} +3 -3
  32. package/{esm2015/components/table/directives/thead.directive.js → esm2020/components/table/directives/thead.directive.mjs} +3 -3
  33. package/{esm2015/components/table/pipes/table-sort.pipe.js → esm2020/components/table/pipes/table-sort.pipe.mjs} +3 -3
  34. package/esm2020/components/table/providers/stuck.provider.mjs +17 -0
  35. package/{esm2015/components/table/providers/table.providers.js → esm2020/components/table/providers/table.providers.mjs} +5 -2
  36. package/{esm2015/components/table/table.module.js → esm2020/components/table/table.module.mjs} +5 -5
  37. package/esm2020/components/table/tbody/tbody.component.mjs +69 -0
  38. package/esm2020/components/table/td/td.component.mjs +22 -0
  39. package/{esm2015/components/table/th/th.component.js → esm2020/components/table/th/th.component.mjs} +12 -21
  40. package/esm2020/components/table/th-group/th-group.component.mjs +37 -0
  41. package/esm2020/components/table/tr/tr.component.mjs +46 -0
  42. package/esm2020/components/table-pagination/table-pagination.component.mjs +110 -0
  43. package/{esm2015/components/table-pagination/table-pagination.module.js → esm2020/components/table-pagination/table-pagination.module.mjs} +11 -13
  44. package/{esm2015/directives/table-filters/generic-filter.directive.js → esm2020/directives/table-filters/generic-filter.directive.mjs} +3 -3
  45. package/esm2020/directives/table-filters/table-filter.directive.mjs +58 -0
  46. package/esm2020/directives/table-filters/table-filters.directive.mjs +35 -0
  47. package/{esm2015/directives/table-filters/table-filters.module.js → esm2020/directives/table-filters/table-filters.module.mjs} +4 -4
  48. package/{esm2015/directives/table-filters/table-filters.pipe.js → esm2020/directives/table-filters/table-filters.pipe.mjs} +3 -3
  49. package/fesm2015/taiga-ui-addon-table-components-reorder.mjs +148 -0
  50. package/fesm2015/taiga-ui-addon-table-components-reorder.mjs.map +1 -0
  51. package/fesm2015/taiga-ui-addon-table-components-table-pagination.mjs +172 -0
  52. package/fesm2015/taiga-ui-addon-table-components-table-pagination.mjs.map +1 -0
  53. package/fesm2015/taiga-ui-addon-table-components-table.mjs +770 -0
  54. package/fesm2015/taiga-ui-addon-table-components-table.mjs.map +1 -0
  55. package/fesm2015/{taiga-ui-addon-table-components.js → taiga-ui-addon-table-components.mjs} +1 -1
  56. package/fesm2015/taiga-ui-addon-table-components.mjs.map +1 -0
  57. package/fesm2015/taiga-ui-addon-table-directives-table-filters.mjs +180 -0
  58. package/fesm2015/taiga-ui-addon-table-directives-table-filters.mjs.map +1 -0
  59. package/fesm2015/{taiga-ui-addon-table-directives.js → taiga-ui-addon-table-directives.mjs} +1 -1
  60. package/fesm2015/taiga-ui-addon-table-directives.mjs.map +1 -0
  61. package/fesm2015/taiga-ui-addon-table-interfaces.mjs +4 -0
  62. package/fesm2015/taiga-ui-addon-table-interfaces.mjs.map +1 -0
  63. package/fesm2015/{taiga-ui-addon-table-tokens.js → taiga-ui-addon-table-tokens.mjs} +1 -1
  64. package/fesm2015/taiga-ui-addon-table-tokens.mjs.map +1 -0
  65. package/fesm2015/taiga-ui-addon-table-types.mjs +4 -0
  66. package/fesm2015/taiga-ui-addon-table-types.mjs.map +1 -0
  67. package/fesm2015/{taiga-ui-addon-table-utils.js → taiga-ui-addon-table-utils.mjs} +1 -1
  68. package/fesm2015/taiga-ui-addon-table-utils.mjs.map +1 -0
  69. package/fesm2015/{taiga-ui-addon-table.js → taiga-ui-addon-table.mjs} +1 -1
  70. package/fesm2015/taiga-ui-addon-table.mjs.map +1 -0
  71. package/{fesm2015/taiga-ui-addon-table-components-reorder.js → fesm2020/taiga-ui-addon-table-components-reorder.mjs} +21 -28
  72. package/fesm2020/taiga-ui-addon-table-components-reorder.mjs.map +1 -0
  73. package/{fesm2015/taiga-ui-addon-table-components-table-pagination.js → fesm2020/taiga-ui-addon-table-components-table-pagination.mjs} +17 -24
  74. package/fesm2020/taiga-ui-addon-table-components-table-pagination.mjs.map +1 -0
  75. package/{fesm2015/taiga-ui-addon-table-components-table.js → fesm2020/taiga-ui-addon-table-components-table.mjs} +85 -116
  76. package/fesm2020/taiga-ui-addon-table-components-table.mjs.map +1 -0
  77. package/fesm2020/taiga-ui-addon-table-components.mjs +8 -0
  78. package/fesm2020/taiga-ui-addon-table-components.mjs.map +1 -0
  79. package/{fesm2015/taiga-ui-addon-table-directives-table-filters.js → fesm2020/taiga-ui-addon-table-directives-table-filters.mjs} +20 -25
  80. package/fesm2020/taiga-ui-addon-table-directives-table-filters.mjs.map +1 -0
  81. package/fesm2020/taiga-ui-addon-table-directives.mjs +6 -0
  82. package/fesm2020/taiga-ui-addon-table-directives.mjs.map +1 -0
  83. package/fesm2020/taiga-ui-addon-table-interfaces.mjs +4 -0
  84. package/fesm2020/taiga-ui-addon-table-interfaces.mjs.map +1 -0
  85. package/fesm2020/taiga-ui-addon-table-tokens.mjs +18 -0
  86. package/fesm2020/taiga-ui-addon-table-tokens.mjs.map +1 -0
  87. package/fesm2020/taiga-ui-addon-table-types.mjs +4 -0
  88. package/fesm2020/taiga-ui-addon-table-types.mjs.map +1 -0
  89. package/fesm2020/taiga-ui-addon-table-utils.mjs +14 -0
  90. package/fesm2020/taiga-ui-addon-table-utils.mjs.map +1 -0
  91. package/fesm2020/taiga-ui-addon-table.mjs +10 -0
  92. package/fesm2020/taiga-ui-addon-table.mjs.map +1 -0
  93. package/package.json +127 -34
  94. package/types/comparator.d.ts +1 -1
  95. package/bundles/taiga-ui-addon-table-components-reorder.umd.js +0 -190
  96. package/bundles/taiga-ui-addon-table-components-reorder.umd.js.map +0 -1
  97. package/bundles/taiga-ui-addon-table-components-table-pagination.umd.js +0 -234
  98. package/bundles/taiga-ui-addon-table-components-table-pagination.umd.js.map +0 -1
  99. package/bundles/taiga-ui-addon-table-components-table.umd.js +0 -1235
  100. package/bundles/taiga-ui-addon-table-components-table.umd.js.map +0 -1
  101. package/bundles/taiga-ui-addon-table-components.umd.js +0 -33
  102. package/bundles/taiga-ui-addon-table-components.umd.js.map +0 -1
  103. package/bundles/taiga-ui-addon-table-directives-table-filters.umd.js +0 -550
  104. package/bundles/taiga-ui-addon-table-directives-table-filters.umd.js.map +0 -1
  105. package/bundles/taiga-ui-addon-table-directives.umd.js +0 -21
  106. package/bundles/taiga-ui-addon-table-directives.umd.js.map +0 -1
  107. package/bundles/taiga-ui-addon-table-interfaces.umd.js +0 -11
  108. package/bundles/taiga-ui-addon-table-interfaces.umd.js.map +0 -1
  109. package/bundles/taiga-ui-addon-table-tokens.umd.js +0 -26
  110. package/bundles/taiga-ui-addon-table-tokens.umd.js.map +0 -1
  111. package/bundles/taiga-ui-addon-table-types.umd.js +0 -11
  112. package/bundles/taiga-ui-addon-table-types.umd.js.map +0 -1
  113. package/bundles/taiga-ui-addon-table-utils.umd.js +0 -22
  114. package/bundles/taiga-ui-addon-table-utils.umd.js.map +0 -1
  115. package/bundles/taiga-ui-addon-table.umd.js +0 -45
  116. package/bundles/taiga-ui-addon-table.umd.js.map +0 -1
  117. package/components/package.json +0 -10
  118. package/components/reorder/package.json +0 -10
  119. package/components/reorder/taiga-ui-addon-table-components-reorder.d.ts +0 -5
  120. package/components/table/package.json +0 -10
  121. package/components/table/taiga-ui-addon-table-components-table.d.ts +0 -5
  122. package/components/table-pagination/package.json +0 -10
  123. package/components/table-pagination/taiga-ui-addon-table-components-table-pagination.d.ts +0 -5
  124. package/components/taiga-ui-addon-table-components.d.ts +0 -5
  125. package/directives/package.json +0 -10
  126. package/directives/table-filters/package.json +0 -10
  127. package/directives/table-filters/taiga-ui-addon-table-directives-table-filters.d.ts +0 -5
  128. package/directives/taiga-ui-addon-table-directives.d.ts +0 -5
  129. package/esm2015/components/reorder/reorder.component.js +0 -115
  130. package/esm2015/components/table/directives/direction-order.directive.js +0 -30
  131. package/esm2015/components/table/directives/resized.directive.js +0 -37
  132. package/esm2015/components/table/directives/sort-by.directive.js +0 -48
  133. package/esm2015/components/table/providers/stuck.provider.js +0 -17
  134. package/esm2015/components/table/tbody/tbody.component.js +0 -75
  135. package/esm2015/components/table/td/td.component.js +0 -27
  136. package/esm2015/components/table/th-group/th-group.component.js +0 -42
  137. package/esm2015/components/table/tr/tr.component.js +0 -55
  138. package/esm2015/components/table-pagination/table-pagination.component.js +0 -115
  139. package/esm2015/directives/table-filters/table-filter.directive.js +0 -63
  140. package/esm2015/directives/table-filters/table-filters.directive.js +0 -36
  141. package/fesm2015/taiga-ui-addon-table-components-reorder.js.map +0 -1
  142. package/fesm2015/taiga-ui-addon-table-components-table-pagination.js.map +0 -1
  143. package/fesm2015/taiga-ui-addon-table-components-table.js.map +0 -1
  144. package/fesm2015/taiga-ui-addon-table-components.js.map +0 -1
  145. package/fesm2015/taiga-ui-addon-table-directives-table-filters.js.map +0 -1
  146. package/fesm2015/taiga-ui-addon-table-directives.js.map +0 -1
  147. package/fesm2015/taiga-ui-addon-table-interfaces.js +0 -4
  148. package/fesm2015/taiga-ui-addon-table-interfaces.js.map +0 -1
  149. package/fesm2015/taiga-ui-addon-table-tokens.js.map +0 -1
  150. package/fesm2015/taiga-ui-addon-table-types.js +0 -4
  151. package/fesm2015/taiga-ui-addon-table-types.js.map +0 -1
  152. package/fesm2015/taiga-ui-addon-table-utils.js.map +0 -1
  153. package/fesm2015/taiga-ui-addon-table.js.map +0 -1
  154. package/interfaces/package.json +0 -10
  155. package/interfaces/taiga-ui-addon-table-interfaces.d.ts +0 -5
  156. package/taiga-ui-addon-table.d.ts +0 -5
  157. package/tokens/package.json +0 -10
  158. package/tokens/taiga-ui-addon-table-tokens.d.ts +0 -5
  159. package/types/package.json +0 -10
  160. package/types/taiga-ui-addon-table-types.d.ts +0 -5
  161. package/utils/package.json +0 -10
  162. package/utils/taiga-ui-addon-table-utils.d.ts +0 -5
  163. /package/{esm2015/components/index.js → esm2020/components/index.mjs} +0 -0
  164. /package/{esm2015/components/reorder/index.js → esm2020/components/reorder/index.mjs} +0 -0
  165. /package/{esm2015/components/reorder/reorder.options.js → esm2020/components/reorder/reorder.options.mjs} +0 -0
  166. /package/{esm2015/components/reorder/taiga-ui-addon-table-components-reorder.js → esm2020/components/reorder/taiga-ui-addon-table-components-reorder.mjs} +0 -0
  167. /package/{esm2015/components/table/index.js → esm2020/components/table/index.mjs} +0 -0
  168. /package/{esm2015/components/table/providers/table.provider.js → esm2020/components/table/providers/table.provider.mjs} +0 -0
  169. /package/{esm2015/components/table/table.options.js → esm2020/components/table/table.options.mjs} +0 -0
  170. /package/{esm2015/components/table/taiga-ui-addon-table-components-table.js → esm2020/components/table/taiga-ui-addon-table-components-table.mjs} +0 -0
  171. /package/{esm2015/components/table-pagination/index.js → esm2020/components/table-pagination/index.mjs} +0 -0
  172. /package/{esm2015/components/table-pagination/table-pagination.options.js → esm2020/components/table-pagination/table-pagination.options.mjs} +0 -0
  173. /package/{esm2015/components/table-pagination/taiga-ui-addon-table-components-table-pagination.js → esm2020/components/table-pagination/taiga-ui-addon-table-components-table-pagination.mjs} +0 -0
  174. /package/{esm2015/components/taiga-ui-addon-table-components.js → esm2020/components/taiga-ui-addon-table-components.mjs} +0 -0
  175. /package/{esm2015/directives/index.js → esm2020/directives/index.mjs} +0 -0
  176. /package/{esm2015/directives/table-filters/abstract-table-filter.js → esm2020/directives/table-filters/abstract-table-filter.mjs} +0 -0
  177. /package/{esm2015/directives/table-filters/index.js → esm2020/directives/table-filters/index.mjs} +0 -0
  178. /package/{esm2015/directives/table-filters/table-filter.js → esm2020/directives/table-filters/table-filter.mjs} +0 -0
  179. /package/{esm2015/directives/table-filters/taiga-ui-addon-table-directives-table-filters.js → esm2020/directives/table-filters/taiga-ui-addon-table-directives-table-filters.mjs} +0 -0
  180. /package/{esm2015/directives/taiga-ui-addon-table-directives.js → esm2020/directives/taiga-ui-addon-table-directives.mjs} +0 -0
  181. /package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  182. /package/{esm2015/interfaces/index.js → esm2020/interfaces/index.mjs} +0 -0
  183. /package/{esm2015/interfaces/row-context.js → esm2020/interfaces/row-context.mjs} +0 -0
  184. /package/{esm2015/interfaces/taiga-ui-addon-table-interfaces.js → esm2020/interfaces/taiga-ui-addon-table-interfaces.mjs} +0 -0
  185. /package/{esm2015/taiga-ui-addon-table.js → esm2020/taiga-ui-addon-table.mjs} +0 -0
  186. /package/{esm2015/tokens/i18n.js → esm2020/tokens/i18n.mjs} +0 -0
  187. /package/{esm2015/tokens/index.js → esm2020/tokens/index.mjs} +0 -0
  188. /package/{esm2015/tokens/taiga-ui-addon-table-tokens.js → esm2020/tokens/taiga-ui-addon-table-tokens.mjs} +0 -0
  189. /package/{esm2015/types/comparator.js → esm2020/types/comparator.mjs} +0 -0
  190. /package/{esm2015/types/index.js → esm2020/types/index.mjs} +0 -0
  191. /package/{esm2015/types/taiga-ui-addon-table-types.js → esm2020/types/taiga-ui-addon-table-types.mjs} +0 -0
  192. /package/{esm2015/utils/default-sort.js → esm2020/utils/default-sort.mjs} +0 -0
  193. /package/{esm2015/utils/index.js → esm2020/utils/index.mjs} +0 -0
  194. /package/{esm2015/utils/taiga-ui-addon-table-utils.js → esm2020/utils/taiga-ui-addon-table-utils.mjs} +0 -0
@@ -1,18 +1,17 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { TemplateRef, Directive, Inject, Input, InjectionToken, ElementRef, SkipSelf, forwardRef, EventEmitter, ChangeDetectorRef, HostBinding, Output, Component, ChangeDetectionStrategy, Optional, ContentChildren, Pipe, ContentChild, NgModule } from '@angular/core';
3
- import { map, switchMap, distinctUntilChanged, takeUntil, delay, filter, startWith } from 'rxjs/operators';
3
+ import * as i1 from 'rxjs';
4
+ import { map, switchMap, distinctUntilChanged, takeUntil, delay, filter, ReplaySubject, startWith } from 'rxjs';
4
5
  import { IntersectionObserverService, INTERSECTION_ROOT_MARGIN, INTERSECTION_THRESHOLD } from '@ng-web-apis/intersection-observer';
5
6
  import * as i4 from '@taiga-ui/cdk';
6
7
  import { tuiCreateToken, tuiProvideOptions, AbstractTuiController, tuiTypedFromEvent, tuiPreventDefault, tuiDefaultSort, TuiTableSortKeyException, EMPTY_QUERY, tuiPure, TuiDestroyService, tuiQueryListChanges, TuiMapperPipeModule } from '@taiga-ui/cdk';
7
- import * as i1$1 from '@taiga-ui/core';
8
+ import * as i2 from '@taiga-ui/core';
8
9
  import { TUI_TEXTFIELD_APPEARANCE_DIRECTIVE, TuiTextfieldAppearanceDirective, TuiAppearance, TUI_TEXTFIELD_LABEL_OUTSIDE, TUI_TEXTFIELD_SIZE, MODE_PROVIDER, TUI_MODE, TUI_ELEMENT_REF, tuiWatchedControllerFactory, TuiSvgModule } from '@taiga-ui/core';
9
10
  import { TUI_INPUT_COUNT_OPTIONS, TUI_ARROW_OPTIONS } from '@taiga-ui/kit';
10
- import * as i1 from 'rxjs';
11
- import { ReplaySubject } from 'rxjs';
12
- import * as i2 from '@angular/common';
11
+ import * as i1$1 from '@angular/common';
13
12
  import { DOCUMENT, CommonModule } from '@angular/common';
14
- import { __decorate, __awaiter } from 'tslib';
15
- import * as i3 from '@tinkoff/ng-polymorpheus';
13
+ import { __decorate } from 'tslib';
14
+ import * as i2$1 from '@tinkoff/ng-polymorpheus';
16
15
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
17
16
  import { NgControl } from '@angular/forms';
18
17
 
@@ -22,9 +21,9 @@ class TuiCellDirective {
22
21
  this.tuiCell = '';
23
22
  }
24
23
  }
25
- TuiCellDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiCellDirective, deps: [{ token: TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
26
- TuiCellDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiCellDirective, selector: "[tuiCell]", inputs: { tuiCell: "tuiCell" }, ngImport: i0 });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiCellDirective, decorators: [{
24
+ TuiCellDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiCellDirective, deps: [{ token: TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
25
+ TuiCellDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TuiCellDirective, selector: "[tuiCell]", inputs: { tuiCell: "tuiCell" }, ngImport: i0 });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiCellDirective, decorators: [{
28
27
  type: Directive,
29
28
  args: [{
30
29
  selector: '[tuiCell]',
@@ -76,7 +75,10 @@ const TUI_TABLE_PROVIDERS = [
76
75
  {
77
76
  provide: TUI_INPUT_COUNT_OPTIONS,
78
77
  deps: [[new SkipSelf(), TUI_INPUT_COUNT_OPTIONS]],
79
- useFactory: (options) => (Object.assign(Object.assign({}, options), { hideButtons: true })),
78
+ useFactory: (options) => ({
79
+ ...options,
80
+ hideButtons: true,
81
+ }),
80
82
  },
81
83
  {
82
84
  provide: TUI_TEXTFIELD_SIZE,
@@ -142,9 +144,9 @@ class TuiTableDirective extends AbstractTuiController {
142
144
  this.change$.next();
143
145
  }
144
146
  }
145
- TuiTableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTableDirective, deps: [{ token: IntersectionObserverService }, { token: TUI_MODE }, { token: TUI_STUCK }, { token: TUI_TABLE_OPTIONS }, { token: ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
146
- TuiTableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiTableDirective, selector: "table[tuiTable]", inputs: { columns: "columns", size: "size", direction: "direction", sorter: "sorter" }, outputs: { directionChange: "directionChange", sorterChange: "sorterChange" }, host: { listeners: { "$.data-mode.attr": "mode$", "$.class._stuck": "stuck$" }, properties: { "attr.data-size": "this.size" }, styleAttribute: "border-collapse: separate" }, providers: TUI_TABLE_PROVIDERS, usesInheritance: true, ngImport: i0 });
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTableDirective, decorators: [{
147
+ TuiTableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiTableDirective, deps: [{ token: IntersectionObserverService }, { token: TUI_MODE }, { token: TUI_STUCK }, { token: TUI_TABLE_OPTIONS }, { token: ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
148
+ TuiTableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TuiTableDirective, selector: "table[tuiTable]", inputs: { columns: "columns", size: "size", direction: "direction", sorter: "sorter" }, outputs: { directionChange: "directionChange", sorterChange: "sorterChange" }, host: { listeners: { "$.data-mode.attr": "mode$", "$.class._stuck": "stuck$" }, properties: { "attr.data-size": "this.size" }, styleAttribute: "border-collapse: separate" }, providers: TUI_TABLE_PROVIDERS, usesInheritance: true, ngImport: i0 });
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiTableDirective, decorators: [{
148
150
  type: Directive,
149
151
  args: [{
150
152
  selector: 'table[tuiTable]',
@@ -188,17 +190,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
188
190
  }] } });
189
191
 
190
192
  class TuiDirectionOrderDirective {
193
+ set directionOrder(order) {
194
+ this.table.direction = order === 'asc' ? 1 : -1;
195
+ }
191
196
  constructor(table) {
192
197
  this.table = table;
193
198
  this.directionOrderChange = this.table.directionChange.pipe(map(dir => (dir === 1 ? 'asc' : 'desc')));
194
199
  }
195
- set directionOrder(order) {
196
- this.table.direction = order === 'asc' ? 1 : -1;
197
- }
198
200
  }
199
- TuiDirectionOrderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDirectionOrderDirective, deps: [{ token: TuiTableDirective }], target: i0.ɵɵFactoryTarget.Directive });
200
- TuiDirectionOrderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiDirectionOrderDirective, selector: "table[tuiTable][tuiDirectionOrder]", inputs: { directionOrder: "directionOrder" }, outputs: { directionOrderChange: "directionOrderChange" }, ngImport: i0 });
201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDirectionOrderDirective, decorators: [{
201
+ TuiDirectionOrderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiDirectionOrderDirective, deps: [{ token: TuiTableDirective }], target: i0.ɵɵFactoryTarget.Directive });
202
+ TuiDirectionOrderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TuiDirectionOrderDirective, selector: "table[tuiTable][tuiDirectionOrder]", inputs: { directionOrder: "directionOrder" }, outputs: { directionOrderChange: "directionOrderChange" }, ngImport: i0 });
203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiDirectionOrderDirective, decorators: [{
202
204
  type: Directive,
203
205
  args: [{
204
206
  selector: 'table[tuiTable][tuiDirectionOrder]',
@@ -217,9 +219,9 @@ class TuiHeadDirective {
217
219
  this.template = template;
218
220
  }
219
221
  }
220
- TuiHeadDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiHeadDirective, deps: [{ token: TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
221
- TuiHeadDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiHeadDirective, selector: "[tuiHead]", inputs: { tuiHead: "tuiHead" }, ngImport: i0 });
222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiHeadDirective, decorators: [{
222
+ TuiHeadDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiHeadDirective, deps: [{ token: TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
223
+ TuiHeadDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TuiHeadDirective, selector: "[tuiHead]", inputs: { tuiHead: "tuiHead" }, ngImport: i0 });
224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiHeadDirective, decorators: [{
223
225
  type: Directive,
224
226
  args: [{
225
227
  selector: '[tuiHead]',
@@ -242,9 +244,9 @@ class TuiResizedDirective {
242
244
  }));
243
245
  }
244
246
  }
245
- TuiResizedDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiResizedDirective, deps: [{ token: DOCUMENT }, { token: ElementRef }, { token: TUI_ELEMENT_REF }], target: i0.ɵɵFactoryTarget.Directive });
246
- TuiResizedDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiResizedDirective, selector: "[tuiResized]", outputs: { tuiResized: "tuiResized" }, ngImport: i0 });
247
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiResizedDirective, decorators: [{
247
+ TuiResizedDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiResizedDirective, deps: [{ token: DOCUMENT }, { token: ElementRef }, { token: TUI_ELEMENT_REF }], target: i0.ɵɵFactoryTarget.Directive });
248
+ TuiResizedDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TuiResizedDirective, selector: "[tuiResized]", outputs: { tuiResized: "tuiResized" }, ngImport: i0 });
249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiResizedDirective, decorators: [{
248
250
  type: Directive,
249
251
  args: [{
250
252
  selector: '[tuiResized]',
@@ -277,9 +279,9 @@ class TuiRowDirective {
277
279
  return true;
278
280
  }
279
281
  }
280
- TuiRowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRowDirective, deps: [{ token: TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
281
- TuiRowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiRowDirective, selector: "ng-template[tuiRow]", inputs: { tuiRowOf: "tuiRowOf" }, ngImport: i0 });
282
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRowDirective, decorators: [{
282
+ TuiRowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiRowDirective, deps: [{ token: TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
283
+ TuiRowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TuiRowDirective, selector: "ng-template[tuiRow]", inputs: { tuiRowOf: "tuiRowOf" }, ngImport: i0 });
284
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiRowDirective, decorators: [{
283
285
  type: Directive,
284
286
  args: [{
285
287
  selector: 'ng-template[tuiRow]',
@@ -313,47 +315,38 @@ class TuiThComponent {
313
315
  return !!this.sorter && !!this.table && this.sorter === this.table.sorter;
314
316
  }
315
317
  get icon() {
316
- var _a;
317
318
  if (this.isCurrent) {
318
- return ((_a = this.table) === null || _a === void 0 ? void 0 : _a.direction) === 1
319
+ return this.table?.direction === 1
319
320
  ? this.options.sortIcons.desc
320
321
  : this.options.sortIcons.asc;
321
322
  }
322
323
  return this.options.sortIcons.off;
323
324
  }
324
325
  updateSorterAndDirection() {
325
- var _a;
326
- (_a = this.table) === null || _a === void 0 ? void 0 : _a.updateSorterAndDirection(this.isCurrentAndAscDirection ? null : this.sorter);
326
+ this.table?.updateSorterAndDirection(this.isCurrentAndAscDirection ? null : this.sorter);
327
327
  }
328
328
  onResized(width) {
329
329
  this.width = width;
330
330
  }
331
331
  get isCurrentAndAscDirection() {
332
- var _a, _b;
333
- return this.sorter === ((_a = this.table) === null || _a === void 0 ? void 0 : _a.sorter) && ((_b = this.table) === null || _b === void 0 ? void 0 : _b.direction) === -1;
332
+ return this.sorter === this.table?.sorter && this.table?.direction === -1;
334
333
  }
335
334
  }
336
- TuiThComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiThComponent, deps: [{ token: TUI_TABLE_OPTIONS }, { token: TuiHeadDirective, optional: true }, { token: forwardRef(() => TuiTableDirective), optional: true }], target: i0.ɵɵFactoryTarget.Component });
337
- TuiThComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiThComponent, selector: "th[tuiTh]", inputs: { sorter: "sorter", resizable: "resizable", sticky: "sticky" }, host: { properties: { "class._sticky": "this.sticky", "style.width.px": "this.width" } }, providers: [
335
+ TuiThComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiThComponent, deps: [{ token: TUI_TABLE_OPTIONS }, { token: TuiHeadDirective, optional: true }, { token: forwardRef(() => TuiTableDirective), optional: true }], target: i0.ɵɵFactoryTarget.Component });
336
+ TuiThComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TuiThComponent, selector: "th[tuiTh]", inputs: { sorter: "sorter", resizable: "resizable", sticky: "sticky" }, host: { properties: { "class._sticky": "this.sticky", "style.width.px": "this.width" } }, providers: [
338
337
  {
339
338
  provide: TUI_ELEMENT_REF,
340
339
  useExisting: ElementRef,
341
340
  },
342
- ], 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)=\"updateSorterAndDirection()\"\n>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n {{ table.change$ | async }}\n <tui-svg\n class=\"t-sort-icon\"\n [src]=\"icon\"\n ></tui-svg>\n</button>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n<div\n *ngIf=\"resizable\"\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n></div>\n", styles: [":host{transition-property:box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;top:0;height:var(--tui-height-m);font:var(--tui-font-text-s);text-align:left;font-weight:bold;color:var(--tui-text-02);background:var(--tui-base-01);cursor:default;padding:0 .75rem;box-sizing:border-box;box-shadow:0 .3125rem #ededed00;border:1px solid var(--tui-base-04);filter:opacity(1)}@supports (-webkit-hyphens: none){:host{transform:translate(0)}}:host:not(:first-child){border-left:none}:host._sticky,:host-context(._stuck) :host._sticky{position:-webkit-sticky;position:sticky;z-index:30}:host._sticky:first-child,:host-context(._stuck) :host._sticky:first-child{left:0}:host._sticky:after,:host-context(._stuck) :host._sticky:after{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;left:100%;bottom:0;width:.3125rem;pointer-events:none;background:rgba(237,237,237,.7);opacity:0}:host-context(._stuck) :host{z-index:20}:host-context(tr:not(:first-child)){border-top:none}:host-context(table[data-size=\"l\"]){height:var(--tui-height-l);font:var(--tui-font-text-m);font-weight:bold;padding:0 1rem}:host-context(thead[tuiThead]){position:-webkit-sticky;position:sticky}:host-context(table._stuck)._sticky:after{opacity:1}:host-context(thead[tuiThead]._stuck){box-shadow:0 .3125rem #edededb3}:host-context(table[data-mode=\"onDark\"]):after{background:rgba(60,60,60,.9)}:host-context(table[data-mode=\"onDark\"] thead[tuiThead]._stuck){box-shadow:0 .3125rem #3c3c3ce6}:host-context(table[data-mode=\"onDark\"] thead[tuiThead]._stuck):first-child{box-shadow:.0625rem .3125rem #3c3c3ce6}:host-context(table[data-size=\"l\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-l)}:host-context(table[data-size=\"m\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-m)}:host-context(table[data-size=\"s\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-s)}.t-sort{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;display:inline-flex;flex-direction:inherit;align-items:center;outline:none;font-weight:bold;cursor:pointer}.t-sort_sorted{color:var(--tui-text-01)}.t-sort:focus-visible{background:var(--tui-selection)}.t-sort:hover{color:var(--tui-text-01)}.t-bar{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:0;bottom:0;right:-1px;width:3px;justify-self:flex-end;border-left:2px solid transparent;background:var(--tui-support-12);background-clip:content-box;cursor:ew-resize;opacity:0}.t-bar:hover,.t-bar:active{opacity:1}\n"], components: [{ type: i1$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TuiResizedDirective, selector: "[tuiResized]", outputs: ["tuiResized"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
343
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiThComponent, decorators: [{
341
+ ], 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)=\"updateSorterAndDirection()\"\n>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n {{ table.change$ | async }}\n <tui-svg\n class=\"t-sort-icon\"\n [src]=\"icon\"\n ></tui-svg>\n</button>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n<div\n *ngIf=\"resizable\"\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n></div>\n", styles: [":host{transition-property:box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;top:0;height:var(--tui-height-m);font:var(--tui-font-text-s);text-align:left;font-weight:700;color:var(--tui-text-02);background:var(--tui-base-01);cursor:default;padding:0 .75rem;box-sizing:border-box;box-shadow:0 .3125rem #ededed00;border:1px solid var(--tui-base-04);filter:opacity(1)}@supports (-webkit-hyphens: none){:host{transform:translateZ(0)}}:host:not(:first-child){border-left:none}:host._sticky,:host-context(._stuck) :host._sticky{position:-webkit-sticky;position:sticky;z-index:30}:host._sticky:first-child,:host-context(._stuck) :host._sticky:first-child{left:0}:host._sticky:after,:host-context(._stuck) :host._sticky:after{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;left:100%;bottom:0;width:.3125rem;pointer-events:none;background:rgba(237,237,237,.7);opacity:0}:host-context(._stuck) :host{z-index:20}:host-context(tr:not(:first-child)){border-top:none}:host-context(table[data-size=\"l\"]){height:var(--tui-height-l);font:var(--tui-font-text-m);font-weight:700;padding:0 1rem}:host-context(thead[tuiThead]){position:-webkit-sticky;position:sticky}:host-context(table._stuck)._sticky:after{opacity:1}:host-context(thead[tuiThead]._stuck){box-shadow:0 .3125rem #edededb3}:host-context(table[data-mode=\"onDark\"]):after{background:rgba(60,60,60,.9)}:host-context(table[data-mode=\"onDark\"] thead[tuiThead]._stuck){box-shadow:0 .3125rem #3c3c3ce6}:host-context(table[data-mode=\"onDark\"] thead[tuiThead]._stuck):first-child{box-shadow:.0625rem .3125rem #3c3c3ce6}:host-context(table[data-size=\"l\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-l)}:host-context(table[data-size=\"m\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-m)}:host-context(table[data-size=\"s\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-s)}.t-sort{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;display:inline-flex;flex-direction:inherit;align-items:center;outline:none;font-weight:700;cursor:pointer}.t-sort_sorted{color:var(--tui-text-01)}.t-sort:focus-visible{background:var(--tui-selection)}.t-sort:hover{color:var(--tui-text-01)}.t-bar{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:0;bottom:0;right:-1px;width:3px;justify-self:flex-end;border-left:2px solid transparent;background:var(--tui-support-12);background-clip:content-box;cursor:ew-resize;opacity:0}.t-bar:hover,.t-bar:active{opacity:1}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { kind: "directive", type: TuiResizedDirective, selector: "[tuiResized]", outputs: ["tuiResized"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
342
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiThComponent, decorators: [{
344
343
  type: Component,
345
- args: [{
346
- selector: 'th[tuiTh]',
347
- templateUrl: './th.template.html',
348
- styleUrls: ['./th.style.less'],
349
- changeDetection: ChangeDetectionStrategy.OnPush,
350
- providers: [
344
+ args: [{ selector: 'th[tuiTh]', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
351
345
  {
352
346
  provide: TUI_ELEMENT_REF,
353
347
  useExisting: ElementRef,
354
348
  },
355
- ],
356
- }]
349
+ ], template: "<button\n *ngIf=\"sorter && table; else content\"\n type=\"button\"\n class=\"t-sort\"\n [class.t-sort_sorted]=\"isCurrent\"\n (click)=\"updateSorterAndDirection()\"\n>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n {{ table.change$ | async }}\n <tui-svg\n class=\"t-sort-icon\"\n [src]=\"icon\"\n ></tui-svg>\n</button>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n<div\n *ngIf=\"resizable\"\n class=\"t-bar\"\n (tuiResized)=\"onResized($event)\"\n></div>\n", styles: [":host{transition-property:box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;top:0;height:var(--tui-height-m);font:var(--tui-font-text-s);text-align:left;font-weight:700;color:var(--tui-text-02);background:var(--tui-base-01);cursor:default;padding:0 .75rem;box-sizing:border-box;box-shadow:0 .3125rem #ededed00;border:1px solid var(--tui-base-04);filter:opacity(1)}@supports (-webkit-hyphens: none){:host{transform:translateZ(0)}}:host:not(:first-child){border-left:none}:host._sticky,:host-context(._stuck) :host._sticky{position:-webkit-sticky;position:sticky;z-index:30}:host._sticky:first-child,:host-context(._stuck) :host._sticky:first-child{left:0}:host._sticky:after,:host-context(._stuck) :host._sticky:after{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;left:100%;bottom:0;width:.3125rem;pointer-events:none;background:rgba(237,237,237,.7);opacity:0}:host-context(._stuck) :host{z-index:20}:host-context(tr:not(:first-child)){border-top:none}:host-context(table[data-size=\"l\"]){height:var(--tui-height-l);font:var(--tui-font-text-m);font-weight:700;padding:0 1rem}:host-context(thead[tuiThead]){position:-webkit-sticky;position:sticky}:host-context(table._stuck)._sticky:after{opacity:1}:host-context(thead[tuiThead]._stuck){box-shadow:0 .3125rem #edededb3}:host-context(table[data-mode=\"onDark\"]):after{background:rgba(60,60,60,.9)}:host-context(table[data-mode=\"onDark\"] thead[tuiThead]._stuck){box-shadow:0 .3125rem #3c3c3ce6}:host-context(table[data-mode=\"onDark\"] thead[tuiThead]._stuck):first-child{box-shadow:.0625rem .3125rem #3c3c3ce6}:host-context(table[data-size=\"l\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-l)}:host-context(table[data-size=\"m\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-m)}:host-context(table[data-size=\"s\"] thead[tuiThead] tr:nth-child(2)){top:var(--tui-height-s)}.t-sort{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;display:inline-flex;flex-direction:inherit;align-items:center;outline:none;font-weight:700;cursor:pointer}.t-sort_sorted{color:var(--tui-text-01)}.t-sort:focus-visible{background:var(--tui-selection)}.t-sort:hover{color:var(--tui-text-01)}.t-bar{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:0;bottom:0;right:-1px;width:3px;justify-self:flex-end;border-left:2px solid transparent;background:var(--tui-support-12);background-clip:content-box;cursor:ew-resize;opacity:0}.t-bar:hover,.t-bar:active{opacity:1}\n"] }]
357
350
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
358
351
  type: Inject,
359
352
  args: [TUI_TABLE_OPTIONS]
@@ -404,9 +397,9 @@ class TuiSortableDirective {
404
397
  return this.sortBy.tuiSortBy === this.key;
405
398
  }
406
399
  }
407
- TuiSortableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSortableDirective, deps: [{ token: forwardRef(() => TuiSortByDirective) }, { token: TuiTableDirective }, { token: TuiThComponent }], target: i0.ɵɵFactoryTarget.Directive });
408
- TuiSortableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiSortableDirective, selector: "th[tuiTh][tuiSortable]", ngImport: i0 });
409
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSortableDirective, decorators: [{
400
+ TuiSortableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiSortableDirective, deps: [{ token: forwardRef(() => TuiSortByDirective) }, { token: TuiTableDirective }, { token: TuiThComponent }], target: i0.ɵɵFactoryTarget.Directive });
401
+ TuiSortableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TuiSortableDirective, selector: "th[tuiTh][tuiSortable]", ngImport: i0 });
402
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiSortableDirective, decorators: [{
410
403
  type: Directive,
411
404
  args: [{
412
405
  selector: 'th[tuiTh][tuiSortable]',
@@ -423,6 +416,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
423
416
  }] }]; } });
424
417
 
425
418
  class TuiSortByDirective {
419
+ set sortBy(sortBy) {
420
+ this.tuiSortBy = sortBy;
421
+ this.checkSortables();
422
+ }
426
423
  constructor(table) {
427
424
  this.table = table;
428
425
  this.sortables = EMPTY_QUERY;
@@ -431,21 +428,16 @@ class TuiSortByDirective {
431
428
  delay(0), filter(() => !!this.sortables.length), map(sorter => this.getKey(sorter)));
432
429
  this.tuiSortBy = null;
433
430
  }
434
- set sortBy(sortBy) {
435
- this.tuiSortBy = sortBy;
436
- this.checkSortables();
437
- }
438
431
  checkSortables() {
439
432
  this.sortables.forEach(s => s.check());
440
433
  }
441
434
  getKey(sorter) {
442
- var _a;
443
- return ((_a = this.sortables.find(s => s.sorter === sorter)) === null || _a === void 0 ? void 0 : _a.key) || null;
435
+ return this.sortables.find(s => s.sorter === sorter)?.key || null;
444
436
  }
445
437
  }
446
- TuiSortByDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSortByDirective, deps: [{ token: TuiTableDirective }], target: i0.ɵɵFactoryTarget.Directive });
447
- TuiSortByDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiSortByDirective, selector: "table[tuiTable][tuiSortBy]", inputs: { sortBy: ["tuiSortBy", "sortBy"] }, outputs: { tuiSortByChange: "tuiSortByChange" }, queries: [{ propertyName: "sortables", predicate: TuiSortableDirective, descendants: true }], ngImport: i0 });
448
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSortByDirective, decorators: [{
438
+ TuiSortByDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiSortByDirective, deps: [{ token: TuiTableDirective }], target: i0.ɵɵFactoryTarget.Directive });
439
+ TuiSortByDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TuiSortByDirective, selector: "table[tuiTable][tuiSortBy]", inputs: { sortBy: ["tuiSortBy", "sortBy"] }, outputs: { tuiSortByChange: "tuiSortByChange" }, queries: [{ propertyName: "sortables", predicate: TuiSortableDirective, descendants: true }], ngImport: i0 });
440
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiSortByDirective, decorators: [{
449
441
  type: Directive,
450
442
  args: [{
451
443
  selector: 'table[tuiTable][tuiSortBy]',
@@ -468,8 +460,8 @@ class TuiTheadDirective {
468
460
  this.stuck$ = stuck$;
469
461
  }
470
462
  }
471
- TuiTheadDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTheadDirective, deps: [{ token: TUI_STUCK }], target: i0.ɵɵFactoryTarget.Directive });
472
- TuiTheadDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiTheadDirective, selector: "thead[tuiThead]", host: { listeners: { "$.class._stuck": "stuck$" } }, providers: [
463
+ TuiTheadDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiTheadDirective, deps: [{ token: TUI_STUCK }], target: i0.ɵɵFactoryTarget.Directive });
464
+ TuiTheadDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TuiTheadDirective, selector: "thead[tuiThead]", host: { listeners: { "$.class._stuck": "stuck$" } }, providers: [
473
465
  TUI_STUCK_PROVIDER,
474
466
  IntersectionObserverService,
475
467
  {
@@ -477,7 +469,7 @@ TuiTheadDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", vers
477
469
  useValue: '0px 10000px 10000px 10000px',
478
470
  },
479
471
  ], ngImport: i0 });
480
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTheadDirective, decorators: [{
472
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiTheadDirective, decorators: [{
481
473
  type: Directive,
482
474
  args: [{
483
475
  selector: 'thead[tuiThead]',
@@ -509,12 +501,12 @@ class TuiTableSortPipe {
509
501
  return [...data].sort((a, b) => direction * sorter(a, b));
510
502
  }
511
503
  }
512
- TuiTableSortPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTableSortPipe, deps: [{ token: TuiTableDirective }], target: i0.ɵɵFactoryTarget.Pipe });
513
- TuiTableSortPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTableSortPipe, name: "tuiTableSort", pure: false });
504
+ TuiTableSortPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiTableSortPipe, deps: [{ token: TuiTableDirective }], target: i0.ɵɵFactoryTarget.Pipe });
505
+ TuiTableSortPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TuiTableSortPipe, name: "tuiTableSort", pure: false });
514
506
  __decorate([
515
507
  tuiPure
516
508
  ], TuiTableSortPipe.prototype, "sort", null);
517
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTableSortPipe, decorators: [{
509
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiTableSortPipe, decorators: [{
518
510
  type: Pipe,
519
511
  args: [{
520
512
  name: `tuiTableSort`,
@@ -537,20 +529,15 @@ const TUI_TABLE_PROVIDER = [
537
529
 
538
530
  class TuiTdComponent {
539
531
  }
540
- TuiTdComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTdComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
541
- TuiTdComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", 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: `
532
+ TuiTdComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiTdComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
533
+ TuiTdComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", 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: `
542
534
  <ng-content></ng-content>
543
- `, 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;filter:opacity(1)}@supports (-webkit-hyphens: none){:host{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 });
544
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTdComponent, decorators: [{
535
+ `, 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;filter:opacity(1)}@supports (-webkit-hyphens: none){:host{transform:translateZ(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 });
536
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiTdComponent, decorators: [{
545
537
  type: Component,
546
- args: [{
547
- selector: 'th[tuiTd], td[tuiTd]',
548
- template: `
538
+ args: [{ selector: 'th[tuiTd], td[tuiTd]', template: `
549
539
  <ng-content></ng-content>
550
- `,
551
- styleUrls: ['./td.style.less'],
552
- changeDetection: ChangeDetectionStrategy.OnPush,
553
- }]
540
+ `, changeDetection: ChangeDetectionStrategy.OnPush, 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;filter:opacity(1)}@supports (-webkit-hyphens: none){:host{transform:translateZ(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"] }]
554
541
  }], propDecorators: { control: [{
555
542
  type: HostBinding,
556
543
  args: ['class._editable']
@@ -565,30 +552,23 @@ class TuiTrComponent {
565
552
  this.body = body;
566
553
  this.cells = EMPTY_QUERY;
567
554
  this.contentReady$ = new ReplaySubject(1);
568
- this.cells$ = this.contentReady$.pipe(switchMap(() => tuiQueryListChanges(this.cells)), map(cells => cells.reduce((record, item) => (Object.assign(Object.assign({}, record), { [item.tuiCell]: item })), {})));
555
+ this.cells$ = this.contentReady$.pipe(switchMap(() => tuiQueryListChanges(this.cells)), map(cells => cells.reduce((record, item) => ({ ...record, [item.tuiCell]: item }), {})));
569
556
  this.item$ = this.contentReady$.pipe(switchMap(() => tuiQueryListChanges(this.body.rows)), map(rows =>
570
557
  /**
571
558
  * TODO v4.0 replace `this.body.sorted` with `this.body.data` (don't forget to drop `sorted`-getter).
572
559
  */
573
560
  this.body.sorted[rows.findIndex(row => row === this)]));
574
561
  }
575
- ngAfterContentInit() {
576
- return __awaiter(this, void 0, void 0, function* () {
577
- yield Promise.resolve();
578
- this.contentReady$.next(true);
579
- });
562
+ async ngAfterContentInit() {
563
+ await Promise.resolve();
564
+ this.contentReady$.next(true);
580
565
  }
581
566
  }
582
- TuiTrComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTrComponent, deps: [{ token: forwardRef(() => TuiTableDirective) }, { token: forwardRef(() => TuiTbodyComponent) }], target: i0.ɵɵFactoryTarget.Component });
583
- TuiTrComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiTrComponent, selector: "tr[tuiTr]", providers: [TUI_TABLE_PROVIDER], queries: [{ propertyName: "cells", predicate: i0.forwardRef(function () { return TuiCellDirective; }) }], ngImport: i0, template: "<ng-container *ngIf=\"cells$ | async as items\">\n <ng-container\n *ngFor=\"let key of table.columns\"\n [ngTemplateOutlet]=\"items[key]?.template || plain\"\n >\n <ng-template #plain>\n <td\n *ngIf=\"item$ | async as item\"\n tuiTd\n >\n {{ item[key] }}\n </td>\n </ng-template>\n </ng-container>\n</ng-container>\n", components: [{ type: TuiTdComponent, selector: "th[tuiTd], td[tuiTd]" }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
584
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTrComponent, decorators: [{
567
+ TuiTrComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiTrComponent, deps: [{ token: forwardRef(() => TuiTableDirective) }, { token: forwardRef(() => TuiTbodyComponent) }], target: i0.ɵɵFactoryTarget.Component });
568
+ TuiTrComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TuiTrComponent, selector: "tr[tuiTr]", providers: [TUI_TABLE_PROVIDER], queries: [{ propertyName: "cells", predicate: i0.forwardRef(function () { return TuiCellDirective; }) }], ngImport: i0, template: "<ng-container *ngIf=\"cells$ | async as items\">\n <ng-container\n *ngFor=\"let key of table.columns\"\n [ngTemplateOutlet]=\"items[key]?.template || plain\"\n >\n <ng-template #plain>\n <td\n *ngIf=\"item$ | async as item\"\n tuiTd\n >\n {{ item[key] }}\n </td>\n </ng-template>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TuiTdComponent, selector: "th[tuiTd], td[tuiTd]" }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
569
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiTrComponent, decorators: [{
585
570
  type: Component,
586
- args: [{
587
- selector: 'tr[tuiTr]',
588
- templateUrl: './tr.template.html',
589
- changeDetection: ChangeDetectionStrategy.OnPush,
590
- providers: [TUI_TABLE_PROVIDER],
591
- }]
571
+ args: [{ selector: 'tr[tuiTr]', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TUI_TABLE_PROVIDER], template: "<ng-container *ngIf=\"cells$ | async as items\">\n <ng-container\n *ngFor=\"let key of table.columns\"\n [ngTemplateOutlet]=\"items[key]?.template || plain\"\n >\n <ng-template #plain>\n <td\n *ngIf=\"item$ | async as item\"\n tuiTd\n >\n {{ item[key] }}\n </td>\n </ng-template>\n </ng-container>\n</ng-container>\n" }]
592
572
  }], ctorParameters: function () { return [{ type: TuiTableDirective, decorators: [{
593
573
  type: Inject,
594
574
  args: [forwardRef(() => TuiTableDirective)]
@@ -620,17 +600,11 @@ class TuiTbodyComponent {
620
600
  this.openChange.emit(this.open);
621
601
  }
622
602
  }
623
- TuiTbodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTbodyComponent, deps: [{ token: TuiTableSortPipe }, { token: TUI_TABLE_OPTIONS }, { token: TUI_ARROW_OPTIONS }, { token: forwardRef(() => TuiTableDirective) }], target: i0.ɵɵFactoryTarget.Component });
624
- TuiTbodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", 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 class=\"t-chevron\"\n [class.t-chevron_rotated]=\"open\"\n [src]=\"arrowOptions.iconLarge\"\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;text-decoration:none;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{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;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}.t-heading:hover{background:var(--tui-base-03)}: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 });
625
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTbodyComponent, decorators: [{
603
+ TuiTbodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiTbodyComponent, deps: [{ token: TuiTableSortPipe }, { token: TUI_TABLE_OPTIONS }, { token: TUI_ARROW_OPTIONS }, { token: forwardRef(() => TuiTableDirective) }], target: i0.ɵɵFactoryTarget.Component });
604
+ TuiTbodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", 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 class=\"t-chevron\"\n [class.t-chevron_rotated]=\"open\"\n [src]=\"arrowOptions.iconLarge\"\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;text-decoration:none;display:flex;width:100%;height:100%;align-items:center;box-sizing:border-box;outline:none;font-weight:700;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{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;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}.t-heading:hover{background:var(--tui-base-03)}: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"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i2.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { kind: "pipe", type: i4.TuiMapperPipe, name: "tuiMapper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
605
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiTbodyComponent, decorators: [{
626
606
  type: Component,
627
- args: [{
628
- selector: 'tbody[tuiTbody]',
629
- templateUrl: './tbody.template.html',
630
- styleUrls: ['./tbody.style.less'],
631
- changeDetection: ChangeDetectionStrategy.OnPush,
632
- providers: TUI_TABLE_PROVIDER,
633
- }]
607
+ args: [{ selector: 'tbody[tuiTbody]', changeDetection: ChangeDetectionStrategy.OnPush, providers: TUI_TABLE_PROVIDER, 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 class=\"t-chevron\"\n [class.t-chevron_rotated]=\"open\"\n [src]=\"arrowOptions.iconLarge\"\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;text-decoration:none;display:flex;width:100%;height:100%;align-items:center;box-sizing:border-box;outline:none;font-weight:700;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{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;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}.t-heading:hover{background:var(--tui-base-03)}: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"] }]
634
608
  }], ctorParameters: function () { return [{ type: TuiTableSortPipe, decorators: [{
635
609
  type: Inject,
636
610
  args: [TuiTableSortPipe]
@@ -666,19 +640,14 @@ class TuiThGroupComponent {
666
640
  this.heads$ = null;
667
641
  }
668
642
  ngAfterContentInit() {
669
- this.heads$ = this.heads.changes.pipe(startWith(null), map(() => this.heads.reduce((record, item) => (Object.assign(Object.assign({}, record), { [item.tuiHead]: item })), {})));
643
+ this.heads$ = this.heads.changes.pipe(startWith(null), map(() => this.heads.reduce((record, item) => ({ ...record, [item.tuiHead]: item }), {})));
670
644
  }
671
645
  }
672
- TuiThGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiThGroupComponent, deps: [{ token: forwardRef(() => TuiTableDirective) }], target: i0.ɵɵFactoryTarget.Component });
673
- TuiThGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiThGroupComponent, selector: "tr[tuiThGroup]", providers: [TUI_TABLE_PROVIDER], queries: [{ propertyName: "th", first: true, predicate: i0.forwardRef(function () { return TuiThComponent; }), descendants: true }, { propertyName: "heads", predicate: i0.forwardRef(function () { return TuiHeadDirective; }) }], ngImport: i0, template: "<ng-content></ng-content>\n<ng-container *ngIf=\"heads$ | async as headings\">\n <ng-container\n *ngFor=\"let key of table.columns\"\n [ngTemplateOutlet]=\"headings[key.toString()]?.template || plain\"\n >\n <ng-template #plain>\n <th\n *ngIf=\"!th && !heads.length\"\n tuiTh\n >\n {{ key.toString() }}\n </th>\n </ng-template>\n </ng-container>\n</ng-container>\n", components: [{ type: TuiThComponent, selector: "th[tuiTh]", inputs: ["sorter", "resizable", "sticky"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
674
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiThGroupComponent, decorators: [{
646
+ TuiThGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiThGroupComponent, deps: [{ token: forwardRef(() => TuiTableDirective) }], target: i0.ɵɵFactoryTarget.Component });
647
+ TuiThGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TuiThGroupComponent, selector: "tr[tuiThGroup]", providers: [TUI_TABLE_PROVIDER], queries: [{ propertyName: "th", first: true, predicate: i0.forwardRef(function () { return TuiThComponent; }), descendants: true }, { propertyName: "heads", predicate: i0.forwardRef(function () { return TuiHeadDirective; }) }], ngImport: i0, template: "<ng-content></ng-content>\n<ng-container *ngIf=\"heads$ | async as headings\">\n <ng-container\n *ngFor=\"let key of table.columns\"\n [ngTemplateOutlet]=\"headings[key.toString()]?.template || plain\"\n >\n <ng-template #plain>\n <th\n *ngIf=\"!th && !heads.length\"\n tuiTh\n >\n {{ key.toString() }}\n </th>\n </ng-template>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TuiThComponent, selector: "th[tuiTh]", inputs: ["sorter", "resizable", "sticky"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
648
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiThGroupComponent, decorators: [{
675
649
  type: Component,
676
- args: [{
677
- selector: 'tr[tuiThGroup]',
678
- templateUrl: './th-group.template.html',
679
- changeDetection: ChangeDetectionStrategy.OnPush,
680
- providers: [TUI_TABLE_PROVIDER],
681
- }]
650
+ args: [{ selector: 'tr[tuiThGroup]', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TUI_TABLE_PROVIDER], template: "<ng-content></ng-content>\n<ng-container *ngIf=\"heads$ | async as headings\">\n <ng-container\n *ngFor=\"let key of table.columns\"\n [ngTemplateOutlet]=\"headings[key.toString()]?.template || plain\"\n >\n <ng-template #plain>\n <th\n *ngIf=\"!th && !heads.length\"\n tuiTh\n >\n {{ key.toString() }}\n </th>\n </ng-template>\n </ng-container>\n</ng-container>\n" }]
682
651
  }], ctorParameters: function () { return [{ type: TuiTableDirective, decorators: [{
683
652
  type: Inject,
684
653
  args: [forwardRef(() => TuiTableDirective)]
@@ -692,8 +661,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
692
661
 
693
662
  class TuiTableModule {
694
663
  }
695
- TuiTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
696
- TuiTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTableModule, declarations: [TuiTableDirective,
664
+ TuiTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
665
+ TuiTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TuiTableModule, declarations: [TuiTableDirective,
697
666
  TuiTbodyComponent,
698
667
  TuiThGroupComponent,
699
668
  TuiThComponent,
@@ -721,8 +690,8 @@ TuiTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
721
690
  TuiTheadDirective,
722
691
  TuiTableSortPipe,
723
692
  TuiDirectionOrderDirective] });
724
- TuiTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTableModule, imports: [[CommonModule, PolymorpheusModule, TuiMapperPipeModule, TuiSvgModule]] });
725
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTableModule, decorators: [{
693
+ TuiTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiTableModule, imports: [CommonModule, PolymorpheusModule, TuiMapperPipeModule, TuiSvgModule] });
694
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiTableModule, decorators: [{
726
695
  type: NgModule,
727
696
  args: [{
728
697
  imports: [CommonModule, PolymorpheusModule, TuiMapperPipeModule, TuiSvgModule],
@@ -767,4 +736,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
767
736
  */
768
737
 
769
738
  export { TUI_STUCK, TUI_STUCK_PROVIDER, TUI_TABLE_DEFAULT_OPTIONS, TUI_TABLE_OPTIONS, TUI_TABLE_PROVIDER, TUI_TABLE_PROVIDERS, TuiCellDirective, TuiDirectionOrderDirective, TuiHeadDirective, TuiResizedDirective, TuiRowDirective, TuiSortByDirective, TuiSortableDirective, TuiTableDirective, TuiTableModule, TuiTableSortPipe, TuiTbodyComponent, TuiTdComponent, TuiThComponent, TuiThGroupComponent, TuiTheadDirective, TuiTrComponent, tuiTableOptionsProvider };
770
- //# sourceMappingURL=taiga-ui-addon-table-components-table.js.map
739
+ //# sourceMappingURL=taiga-ui-addon-table-components-table.mjs.map