@taiga-ui/kit 3.44.1 → 3.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  4. package/bundles/taiga-ui-kit-components-input-files.umd.js +1 -1
  5. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  6. package/bundles/taiga-ui-kit-components-input-range.umd.js +18 -22
  7. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-input-slider.umd.js +29 -38
  9. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-input-tag.umd.js +3 -4
  11. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-progress.umd.js +58 -30
  13. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-radio-block.umd.js +1 -1
  15. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-select-option.umd.js +1 -1
  17. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-tabs.umd.js +14 -6
  19. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-tag.umd.js +1 -1
  21. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-tree.umd.js +1 -1
  23. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  24. package/bundles/taiga-ui-kit-tokens.umd.js +21 -63
  25. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  26. package/components/checkbox-block/checkbox-block.component.d.ts +2 -2
  27. package/components/filter/filter.component.d.ts +2 -2
  28. package/components/input-range/input-range.component.d.ts +6 -3
  29. package/components/input-slider/input-slider.component.d.ts +2 -2
  30. package/components/progress/progress-bar/progress-bar.component.d.ts +4 -1
  31. package/components/progress/progress-circle/progress-circle.component.d.ts +5 -3
  32. package/components/progress/progress-segmented/progress-segmented.component.d.ts +4 -1
  33. package/components/radio-block/radio-block.component.d.ts +2 -2
  34. package/components/tabs/tabs-with-more/tabs-with-more.component.d.ts +3 -2
  35. package/esm2015/components/checkbox-block/checkbox-block.component.js +2 -2
  36. package/esm2015/components/filter/filter.component.js +1 -1
  37. package/esm2015/components/input-files/input-files.component.js +1 -1
  38. package/esm2015/components/input-range/input-range.component.js +18 -23
  39. package/esm2015/components/input-slider/input-slider.component.js +15 -20
  40. package/esm2015/components/input-tag/input-tag.component.js +4 -5
  41. package/esm2015/components/progress/progress-bar/progress-bar.component.js +16 -6
  42. package/esm2015/components/progress/progress-circle/progress-circle.component.js +14 -4
  43. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +17 -7
  44. package/esm2015/components/radio-block/radio-block.component.js +2 -2
  45. package/esm2015/components/select-option/select-option.component.js +1 -1
  46. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +11 -7
  47. package/esm2015/components/tag/tag.component.js +2 -2
  48. package/esm2015/components/tree/components/tree-item/tree-item.component.js +2 -2
  49. package/esm2015/tokens/i18n.js +23 -65
  50. package/fesm2015/taiga-ui-kit-components-checkbox-block.js +1 -1
  51. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  52. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  53. package/fesm2015/taiga-ui-kit-components-input-files.js +1 -1
  54. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  55. package/fesm2015/taiga-ui-kit-components-input-range.js +17 -22
  56. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  57. package/fesm2015/taiga-ui-kit-components-input-slider.js +14 -19
  58. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  59. package/fesm2015/taiga-ui-kit-components-input-tag.js +3 -4
  60. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  61. package/fesm2015/taiga-ui-kit-components-progress.js +40 -15
  62. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  63. package/fesm2015/taiga-ui-kit-components-radio-block.js +1 -1
  64. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  65. package/fesm2015/taiga-ui-kit-components-select-option.js +1 -1
  66. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  67. package/fesm2015/taiga-ui-kit-components-tabs.js +10 -6
  68. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  69. package/fesm2015/taiga-ui-kit-components-tag.js +1 -1
  70. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  71. package/fesm2015/taiga-ui-kit-components-tree.js +1 -1
  72. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  73. package/fesm2015/taiga-ui-kit-tokens.js +22 -64
  74. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  75. package/package.json +7 -7
  76. package/tokens/i18n.d.ts +21 -22
@@ -1,22 +1,24 @@
1
1
  import * as i1$1 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Component, ChangeDetectionStrategy, Input, HostBinding, ElementRef, Directive, Inject, ViewChild, NgModule } from '@angular/core';
4
+ import { Component, ChangeDetectionStrategy, Inject, Input, HostBinding, ElementRef, Directive, ViewChild, NgModule } from '@angular/core';
5
5
  import * as i1$2 from '@taiga-ui/cdk';
6
6
  import { tuiIsEdgeOlderThan, CHROMIUM_EDGE_START_VERSION, TuiResizeService, TuiDestroyService, tuiPure, tuiIsString, TuiRepeatTimesModule } from '@taiga-ui/cdk';
7
+ import { TUI_MODE, MODE_PROVIDER } from '@taiga-ui/core';
8
+ import * as i1 from 'rxjs';
9
+ import { of } from 'rxjs';
7
10
  import { __decorate } from 'tslib';
8
11
  import { USER_AGENT, WINDOW } from '@ng-web-apis/common';
9
12
  import { map, delay } from 'rxjs/operators';
10
- import * as i1 from 'rxjs';
11
- import { of } from 'rxjs';
12
13
 
13
14
  class TuiProgressBarComponent {
14
- constructor() {
15
+ constructor(mode$) {
16
+ this.mode$ = mode$;
15
17
  this.size = 'm';
16
18
  }
17
19
  }
18
- TuiProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
- TuiProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiProgressBarComponent, selector: "progress[tuiProgressBar]", inputs: { color: "color", size: "size" }, host: { properties: { "style.--tui-progress-color": "this.color", "attr.data-size": "this.size" } }, ngImport: i0, template: '', isInline: true, styles: ["@keyframes tuiIndeterminateAnimation{50%{background-position:left}}:host{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background-color:var(--tui-base-03);display:block;width:100%;color:var(--tui-primary);border-radius:var(--tui-radius-xs);overflow:hidden}:host::-webkit-progress-value{-webkit-transition:width var(--tui-duration) linear;transition:width var(--tui-duration) linear}:host::-webkit-progress-value{background:var(--tui-progress-color, currentColor)}:host::-moz-progress-bar{background:var(--tui-progress-color, currentColor)}:host::-webkit-progress-bar{background-color:var(--tui-base-03)}:host[data-size=m]{height:1.5rem}:host[data-size=s]{height:.5rem}:host[data-size=s]::-webkit-progress-value{border-radius:var(--tui-radius-xs)}:host[data-size=s]::-moz-progress-bar{border-radius:var(--tui-radius-xs)}:host[new][data-size=xs]::-webkit-progress-value,:host[new][data-size=s]::-webkit-progress-value,:host[new][data-size=m]::-webkit-progress-value{border-radius:var(--tui-radius-xs)}:host[new][data-size=xs]::-moz-progress-bar,:host[new][data-size=s]::-moz-progress-bar,:host[new][data-size=m]::-moz-progress-bar{border-radius:var(--tui-radius-xs)}:host[new][data-size=xs]{height:.25rem}:host[new][data-size=s]{height:.5rem}:host[new][data-size=m]{height:.75rem}:host[new][data-size=l]{height:1rem}:host[new][data-size=xl]{height:1.25rem}:host[new][data-size=xxl]{height:1.5rem}:host:indeterminate{background:transparent;background-image:linear-gradient(to right,var(--tui-base-03) 0 45%,var(--tui-progress-color, currentColor) 45% 55%,var(--tui-base-03) 55% 100%);background-size:225%;background-position:right;animation:tuiIndeterminateAnimation 3s infinite ease-in-out}:host:indeterminate::-webkit-progress-bar{background:transparent}:host:indeterminate::-webkit-progress-value{background:transparent}:host:indeterminate::-moz-progress-bar{background:transparent}:host-context(label[tuiProgressLabel]):not(:first-child){position:absolute;top:0;left:0;width:100%;height:100%;background-color:transparent}:host-context(label[tuiProgressLabel]):not(:first-child)::-webkit-progress-bar{background-color:transparent}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
20
+ TuiProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiProgressBarComponent, deps: [{ token: TUI_MODE }], target: i0.ɵɵFactoryTarget.Component });
21
+ TuiProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiProgressBarComponent, selector: "progress[tuiProgressBar]", inputs: { color: "color", size: "size" }, host: { listeners: { "$.data-mode.attr": "mode$" }, properties: { "style.--tui-progress-color": "this.color", "attr.data-size": "this.size" } }, providers: [MODE_PROVIDER], ngImport: i0, template: '', isInline: true, styles: ["@keyframes tuiIndeterminateAnimation{50%{background-position:left}}:host{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;display:block;width:100%;color:var(--tui-primary);background:var(--tui-clear);border-radius:var(--tui-radius-xs);overflow:hidden}:host::-webkit-progress-value{-webkit-transition:width var(--tui-duration) linear;transition:width var(--tui-duration) linear}:host::-webkit-progress-value{background:var(--tui-progress-color, currentColor)}:host::-moz-progress-bar{background:var(--tui-progress-color, currentColor)}:host[data-mode=onDark]{--tui-clear: var(--tui-clear-inverse)}:host[data-size=m]{height:1.5rem}:host[data-size=s]{height:.5rem}:host[data-size=s]::-webkit-progress-value{border-radius:var(--tui-radius-xs)}:host[data-size=s]::-moz-progress-bar{border-radius:var(--tui-radius-xs)}:host[new][data-size=xs]::-webkit-progress-value,:host[new][data-size=s]::-webkit-progress-value,:host[new][data-size=m]::-webkit-progress-value{border-radius:var(--tui-radius-xs)}:host[new][data-size=xs]::-moz-progress-bar,:host[new][data-size=s]::-moz-progress-bar,:host[new][data-size=m]::-moz-progress-bar{border-radius:var(--tui-radius-xs)}:host[new][data-size=xs]{height:.25rem}:host[new][data-size=s]{height:.5rem}:host[new][data-size=m]{height:.75rem}:host[new][data-size=l]{height:1rem}:host[new][data-size=xl]{height:1.25rem}:host[new][data-size=xxl]{height:1.5rem}:host:indeterminate{background:linear-gradient(to right,var(--tui-clear) 0 45%,var(--tui-progress-color, currentColor) 45% 55%,var(--tui-clear) 55% 100%) right;background-size:225%;animation:tuiIndeterminateAnimation 3s infinite ease-in-out}:host:indeterminate::-webkit-progress-value{background:transparent}:host:indeterminate::-moz-progress-bar{background:transparent}:host::-webkit-progress-bar{background:transparent}:host-context(label[tuiProgressLabel]):not(:first-child){position:absolute;top:0;left:0;width:100%;height:100%;background:transparent}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
20
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiProgressBarComponent, decorators: [{
21
23
  type: Component,
22
24
  args: [{
@@ -24,8 +26,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
24
26
  template: '',
25
27
  styleUrls: ['./progress-bar.component.less'],
26
28
  changeDetection: ChangeDetectionStrategy.OnPush,
29
+ providers: [MODE_PROVIDER],
30
+ host: {
31
+ '($.data-mode.attr)': 'mode$',
32
+ },
27
33
  }]
28
- }], propDecorators: { color: [{
34
+ }], ctorParameters: function () { return [{ type: i1.Observable, decorators: [{
35
+ type: Inject,
36
+ args: [TUI_MODE]
37
+ }] }]; }, propDecorators: { color: [{
29
38
  type: Input
30
39
  }, {
31
40
  type: HostBinding,
@@ -87,10 +96,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
87
96
  }], calcSegments$: [] } });
88
97
 
89
98
  class TuiProgressCircleComponent {
90
- constructor(userAgent, win, el) {
99
+ constructor(userAgent, win, el, mode$) {
91
100
  this.userAgent = userAgent;
92
101
  this.win = win;
93
102
  this.el = el;
103
+ this.mode$ = mode$;
94
104
  this.value = 0;
95
105
  this.max = 1;
96
106
  this.color = null;
@@ -110,8 +120,8 @@ class TuiProgressCircleComponent {
110
120
  return (this.el.nativeElement.offsetWidth - strokeWidth) / 2;
111
121
  }
112
122
  }
113
- TuiProgressCircleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiProgressCircleComponent, deps: [{ token: USER_AGENT }, { token: WINDOW }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Component });
114
- TuiProgressCircleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiProgressCircleComponent, selector: "tui-progress-circle", inputs: { value: "value", max: "max", color: "color", size: "size" }, host: { properties: { "style.--tui-progress-color": "this.color", "attr.data-size": "this.size", "style.--progress-ratio": "this.progressRatio" } }, viewQueries: [{ propertyName: "progressCircle", first: true, predicate: ["progressCircle"], descendants: true, static: true }], ngImport: i0, template: "<progress\n class=\"t-hidden-progress\"\n [max]=\"max\"\n [value]=\"value\"\n></progress>\n\n<svg\n aria-hidden=\"true\"\n height=\"100%\"\n width=\"100%\"\n class=\"t-svg\"\n>\n <circle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-track\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n ></circle>\n\n <circle\n #progressCircle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-progress\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n [class.t-progress_filled]=\"animationDelay$ | async\"\n ></circle>\n</svg>\n", styles: [":host{position:relative;display:block;color:var(--tui-primary);transform:rotate(-90deg);transform-origin:center;font-size:1rem}:host[data-size=s]{width:2em;height:2em}:host[data-size=s] .t-track{r:.75em;stroke-width:.5em}:host[data-size=s] .t-progress{r:.75em;stroke-width:.5em;stroke-dasharray:4.71238898em;stroke-dashoffset:4.71238898em}:host[data-size=s] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(4.71238898em - var(--progress-ratio) * 4.71238898em)}:host[data-size=m]{width:3em;height:3em}:host[data-size=m] .t-track{r:1.3125em;stroke-width:.375em}:host[data-size=m] .t-progress{r:1.3125em;stroke-width:.375em;stroke-dasharray:8.24668072em;stroke-dashoffset:8.24668072em}:host[data-size=m] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(8.24668072em - var(--progress-ratio) * 8.24668072em)}:host[data-size=l]{width:4em;height:4em}:host[data-size=l] .t-track{r:1.8125em;stroke-width:.375em}:host[data-size=l] .t-progress{r:1.8125em;stroke-width:.375em;stroke-dasharray:11.38827337em;stroke-dashoffset:11.38827337em}:host[data-size=l] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(11.38827337em - var(--progress-ratio) * 11.38827337em)}:host[data-size=xl]{width:7em;height:7em}:host[data-size=xl] .t-track{r:3.3125em;stroke-width:.375em}:host[data-size=xl] .t-progress{r:3.3125em;stroke-width:.375em;stroke-dasharray:20.81305133em;stroke-dashoffset:20.81305133em}:host[data-size=xl] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(20.81305133em - var(--progress-ratio) * 20.81305133em)}.t-track{fill:transparent;stroke:var(--tui-base-03)}.t-progress{fill:transparent;stroke:var(--tui-progress-color, currentColor);stroke-linecap:round}.t-hidden-progress{position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0}.t-svg{overflow:unset}\n"], pipes: { "async": i1$1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
123
+ TuiProgressCircleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiProgressCircleComponent, deps: [{ token: USER_AGENT }, { token: WINDOW }, { token: ElementRef }, { token: TUI_MODE }], target: i0.ɵɵFactoryTarget.Component });
124
+ TuiProgressCircleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiProgressCircleComponent, selector: "tui-progress-circle", inputs: { value: "value", max: "max", color: "color", size: "size" }, host: { listeners: { "$.data-mode.attr": "mode$" }, properties: { "style.--tui-progress-color": "this.color", "attr.data-size": "this.size", "style.--progress-ratio": "this.progressRatio" } }, providers: [MODE_PROVIDER], viewQueries: [{ propertyName: "progressCircle", first: true, predicate: ["progressCircle"], descendants: true, static: true }], ngImport: i0, template: "<progress\n class=\"t-hidden-progress\"\n [max]=\"max\"\n [value]=\"value\"\n></progress>\n\n<svg\n aria-hidden=\"true\"\n height=\"100%\"\n width=\"100%\"\n class=\"t-svg\"\n>\n <circle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-track\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n ></circle>\n\n <circle\n #progressCircle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-progress\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n [class.t-progress_filled]=\"animationDelay$ | async\"\n ></circle>\n</svg>\n", styles: [":host{position:relative;display:block;color:var(--tui-primary);transform:rotate(-90deg);transform-origin:center;font-size:1rem}:host[data-mode=onDark]{--tui-clear: var(--tui-clear-inverse)}:host[data-size=s]{width:2em;height:2em}:host[data-size=s] .t-track{r:.75em;stroke-width:.5em}:host[data-size=s] .t-progress{r:.75em;stroke-width:.5em;stroke-dasharray:4.71238898em;stroke-dashoffset:4.71238898em}:host[data-size=s] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(4.71238898em - var(--progress-ratio) * 4.71238898em)}:host[data-size=m]{width:3em;height:3em}:host[data-size=m] .t-track{r:1.3125em;stroke-width:.375em}:host[data-size=m] .t-progress{r:1.3125em;stroke-width:.375em;stroke-dasharray:8.24668072em;stroke-dashoffset:8.24668072em}:host[data-size=m] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(8.24668072em - var(--progress-ratio) * 8.24668072em)}:host[data-size=l]{width:4em;height:4em}:host[data-size=l] .t-track{r:1.8125em;stroke-width:.375em}:host[data-size=l] .t-progress{r:1.8125em;stroke-width:.375em;stroke-dasharray:11.38827337em;stroke-dashoffset:11.38827337em}:host[data-size=l] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(11.38827337em - var(--progress-ratio) * 11.38827337em)}:host[data-size=xl]{width:7em;height:7em}:host[data-size=xl] .t-track{r:3.3125em;stroke-width:.375em}:host[data-size=xl] .t-progress{r:3.3125em;stroke-width:.375em;stroke-dasharray:20.81305133em;stroke-dashoffset:20.81305133em}:host[data-size=xl] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(20.81305133em - var(--progress-ratio) * 20.81305133em)}.t-track{fill:transparent;stroke:var(--tui-clear)}.t-progress{fill:transparent;stroke:var(--tui-progress-color, currentColor);stroke-linecap:round}.t-hidden-progress{position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0}.t-svg{overflow:unset}\n"], pipes: { "async": i1$1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
115
125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiProgressCircleComponent, decorators: [{
116
126
  type: Component,
117
127
  args: [{
@@ -119,6 +129,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
119
129
  templateUrl: './progress-circle.template.html',
120
130
  styleUrls: ['./progress-circle.style.less'],
121
131
  changeDetection: ChangeDetectionStrategy.OnPush,
132
+ providers: [MODE_PROVIDER],
133
+ host: {
134
+ '($.data-mode.attr)': 'mode$',
135
+ },
122
136
  }]
123
137
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
124
138
  type: Inject,
@@ -129,6 +143,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
129
143
  }] }, { type: i0.ElementRef, decorators: [{
130
144
  type: Inject,
131
145
  args: [ElementRef]
146
+ }] }, { type: i1.Observable, decorators: [{
147
+ type: Inject,
148
+ args: [TUI_MODE]
132
149
  }] }]; }, propDecorators: { progressCircle: [{
133
150
  type: ViewChild,
134
151
  args: ['progressCircle', { static: true }]
@@ -166,11 +183,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
166
183
  }] });
167
184
 
168
185
  class TuiProgressSegmentedComponent {
169
- constructor() {
186
+ constructor(mode$) {
187
+ this.mode$ = mode$;
170
188
  this.value = 0;
171
189
  this.max = 1;
172
190
  this.size = 'm';
173
- this.colors = 'var(--tui-primary)';
191
+ this.colors = 'currentColor';
174
192
  }
175
193
  getActiveColor(index = 0) {
176
194
  return tuiIsString(this.colors)
@@ -178,8 +196,8 @@ class TuiProgressSegmentedComponent {
178
196
  : this.colors[index] || this.colors[this.colors.length - 1];
179
197
  }
180
198
  }
181
- TuiProgressSegmentedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiProgressSegmentedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
182
- TuiProgressSegmentedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiProgressSegmentedComponent, selector: "tui-progress-segmented", inputs: { value: "value", max: "max", size: "size", colors: "colors" }, host: { properties: { "attr.data-size": "this.size" } }, ngImport: i0, template: "<progress\n class=\"t-hidden-progress\"\n [max]=\"max\"\n [value]=\"value\"\n></progress>\n\n<span\n *tuiRepeatTimes=\"let index of max\"\n aria-hidden=\"true\"\n class=\"t-segment\"\n [style.background]=\"index < value ? getActiveColor(index) : null\"\n></span>\n", styles: [":host{display:flex}.t-segment{transition-property:background-color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;flex:1 1 100%;border-radius:var(--tui-radius-xs);background-color:var(--tui-base-03)}.t-segment:not(:last-child){margin-right:.25rem}:host[data-size=s] .t-segment{height:.25rem}:host[data-size=m] .t-segment{height:.5rem}.t-hidden-progress{position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0}\n"], directives: [{ type: i1$2.TuiRepeatTimesDirective, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
199
+ TuiProgressSegmentedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiProgressSegmentedComponent, deps: [{ token: TUI_MODE }], target: i0.ɵɵFactoryTarget.Component });
200
+ TuiProgressSegmentedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiProgressSegmentedComponent, selector: "tui-progress-segmented", inputs: { value: "value", max: "max", size: "size", colors: "colors" }, host: { listeners: { "$.data-mode.attr": "mode$" }, properties: { "attr.data-size": "this.size" } }, providers: [MODE_PROVIDER], ngImport: i0, template: "<progress\n class=\"t-hidden-progress\"\n [max]=\"max\"\n [value]=\"value\"\n></progress>\n\n<span\n *tuiRepeatTimes=\"let index of max\"\n aria-hidden=\"true\"\n class=\"t-segment\"\n [style.background]=\"index < value ? getActiveColor(index) : null\"\n></span>\n", styles: [":host{display:flex;color:var(--tui-primary)}:host[data-mode=onDark]{--tui-clear: var(--tui-clear-inverse)}.t-segment{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;flex:1 1 100%;border-radius:var(--tui-radius-xs);background:var(--tui-clear)}.t-segment:not(:last-child){margin-right:.25rem}:host[data-size=s] .t-segment{height:.25rem}:host[data-size=m] .t-segment{height:.5rem}.t-hidden-progress{position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0}\n"], directives: [{ type: i1$2.TuiRepeatTimesDirective, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
183
201
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiProgressSegmentedComponent, decorators: [{
184
202
  type: Component,
185
203
  args: [{
@@ -187,8 +205,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
187
205
  templateUrl: './progress-segmented.template.html',
188
206
  styleUrls: ['./progress-segmented.style.less'],
189
207
  changeDetection: ChangeDetectionStrategy.OnPush,
208
+ providers: [MODE_PROVIDER],
209
+ host: {
210
+ '($.data-mode.attr)': 'mode$',
211
+ },
190
212
  }]
191
- }], propDecorators: { value: [{
213
+ }], ctorParameters: function () { return [{ type: i1.Observable, decorators: [{
214
+ type: Inject,
215
+ args: [TUI_MODE]
216
+ }] }]; }, propDecorators: { value: [{
192
217
  type: Input
193
218
  }], max: [{
194
219
  type: Input
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-progress.js","sources":["../../../projects/kit/components/progress/progress-bar/progress-bar.component.ts","../../../projects/kit/components/progress/progress-bar/progress-color-segments.directive.ts","../../../projects/kit/components/progress/progress-circle/progress-circle.component.ts","../../../projects/kit/components/progress/progress-circle/progress-circle.template.html","../../../projects/kit/components/progress/progress-label/progress-label.component.ts","../../../projects/kit/components/progress/progress-label/progress-label.template.html","../../../projects/kit/components/progress/progress-segmented/progress-segmented.component.ts","../../../projects/kit/components/progress/progress-segmented/progress-segmented.template.html","../../../projects/kit/components/progress/progress.module.ts","../../../projects/kit/components/progress/taiga-ui-kit-components-progress.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\nimport {TuiSizeXS, TuiSizeXXL} from '@taiga-ui/core';\n\n@Component({\n selector: 'progress[tuiProgressBar]',\n template: '',\n styleUrls: ['./progress-bar.component.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiProgressBarComponent {\n @Input()\n @HostBinding('style.--tui-progress-color')\n color?: string;\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeXS | TuiSizeXXL = 'm';\n}\n","import {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {USER_AGENT} from '@ng-web-apis/common';\nimport {\n CHROMIUM_EDGE_START_VERSION,\n TuiDestroyService,\n tuiIsEdgeOlderThan,\n tuiPure,\n TuiResizeService,\n} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nfunction calculateColorSegments(colors: string[], progressWidth: number): string {\n const segmentWidth = Math.ceil(progressWidth / colors.length);\n const colorsString = colors.reduce(\n (acc, color, i) =>\n `${acc}, ${color} ${i * segmentWidth}px ${(i + 1) * segmentWidth}px`,\n '',\n );\n\n return `linear-gradient(to right ${colorsString})`;\n}\n\n@Directive({\n selector: 'progress[tuiProgressBar][tuiProgressColorSegments]',\n host: {\n '[$.style.--tui-progress-color]': 'calcSegments$',\n '($.style.--tui-progress-color)': '0',\n },\n providers: [TuiDestroyService, TuiResizeService],\n})\nexport class TuiProgressColorSegmentsDirective {\n // TODO: drop support of legacy Edge (EdgeHTML) in v4.x\n private readonly isOldBrowsers = tuiIsEdgeOlderThan(\n CHROMIUM_EDGE_START_VERSION,\n this.userAgent,\n );\n\n @Input('tuiProgressColorSegments')\n colors: string[] = [];\n\n @tuiPure\n get calcSegments$(): Observable<string> {\n return this.resize$.pipe(\n map(() =>\n this.isOldBrowsers\n ? this.colors[0]\n : calculateColorSegments(\n this.colors,\n this.el.nativeElement.offsetWidth,\n ),\n ),\n );\n }\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLProgressElement>,\n @Inject(TuiResizeService) private readonly resize$: Observable<unknown>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n ) {}\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {USER_AGENT, WINDOW} from '@ng-web-apis/common';\nimport {CHROMIUM_EDGE_START_VERSION, tuiIsEdgeOlderThan} from '@taiga-ui/cdk';\nimport {TuiSizeS, TuiSizeXL} from '@taiga-ui/core';\nimport {of} from 'rxjs';\nimport {delay} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-progress-circle',\n templateUrl: './progress-circle.template.html',\n styleUrls: ['./progress-circle.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiProgressCircleComponent {\n @ViewChild('progressCircle', {static: true})\n private readonly progressCircle!: ElementRef<SVGCircleElement>;\n\n @Input()\n value = 0;\n\n @Input()\n max = 1;\n\n @Input()\n @HostBinding('style.--tui-progress-color')\n color: string | null = null;\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeS | TuiSizeXL = 'm';\n\n @HostBinding('style.--progress-ratio')\n get progressRatio(): number {\n const ratio = this.value / this.max;\n\n return Number.isFinite(ratio) ? ratio : 0;\n }\n\n animationDelay$ = of(true).pipe(delay(0));\n\n // TODO: drop support of legacy Edge (EdgeHTML) in v4.x\n get oldEdgeRadiusFallback(): number | null {\n if (!tuiIsEdgeOlderThan(CHROMIUM_EDGE_START_VERSION, this.userAgent)) {\n return null;\n }\n\n const strokeWidth = parseInt(\n this.win.getComputedStyle(this.progressCircle.nativeElement).strokeWidth,\n 10,\n );\n\n return (this.el.nativeElement.offsetWidth - strokeWidth) / 2;\n }\n\n constructor(\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(WINDOW) private readonly win: Window,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n ) {}\n}\n","<progress\n class=\"t-hidden-progress\"\n [max]=\"max\"\n [value]=\"value\"\n></progress>\n\n<svg\n aria-hidden=\"true\"\n height=\"100%\"\n width=\"100%\"\n class=\"t-svg\"\n>\n <circle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-track\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n ></circle>\n\n <circle\n #progressCircle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-progress\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n [class.t-progress_filled]=\"animationDelay$ | async\"\n ></circle>\n</svg>\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\n\n@Component({\n selector: 'label[tuiProgressLabel]',\n templateUrl: './progress-label.template.html',\n styleUrls: ['./progress-label.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiProgressLabelComponent {}\n","<ng-content select=\"progress\"></ng-content>\n<ng-content select=\"tui-progress-circle\"></ng-content>\n<span class=\"t-label\">\n <ng-content></ng-content>\n</span>\n","import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\nimport {tuiIsString} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\n\n@Component({\n selector: 'tui-progress-segmented',\n templateUrl: './progress-segmented.template.html',\n styleUrls: ['./progress-segmented.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiProgressSegmentedComponent {\n @Input()\n value = 0;\n\n @Input()\n max = 1;\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeS = 'm';\n\n @Input()\n colors: string | readonly string[] = 'var(--tui-primary)';\n\n getActiveColor(index: number = 0): string | null {\n return tuiIsString(this.colors)\n ? this.colors\n : this.colors[index] || this.colors[this.colors.length - 1];\n }\n}\n","<progress\n class=\"t-hidden-progress\"\n [max]=\"max\"\n [value]=\"value\"\n></progress>\n\n<span\n *tuiRepeatTimes=\"let index of max\"\n aria-hidden=\"true\"\n class=\"t-segment\"\n [style.background]=\"index < value ? getActiveColor(index) : null\"\n></span>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiRepeatTimesModule} from '@taiga-ui/cdk';\n\nimport {TuiProgressBarComponent} from './progress-bar/progress-bar.component';\nimport {TuiProgressColorSegmentsDirective} from './progress-bar/progress-color-segments.directive';\nimport {TuiProgressCircleComponent} from './progress-circle/progress-circle.component';\nimport {TuiProgressLabelComponent} from './progress-label/progress-label.component';\nimport {TuiProgressSegmentedComponent} from './progress-segmented/progress-segmented.component';\n\n@NgModule({\n imports: [CommonModule, TuiRepeatTimesModule],\n declarations: [\n TuiProgressBarComponent,\n TuiProgressColorSegmentsDirective,\n TuiProgressCircleComponent,\n TuiProgressLabelComponent,\n TuiProgressSegmentedComponent,\n ],\n exports: [\n TuiProgressBarComponent,\n TuiProgressCircleComponent,\n TuiProgressColorSegmentsDirective,\n TuiProgressLabelComponent,\n TuiProgressSegmentedComponent,\n ],\n})\nexport class TuiProgressModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-progress.js","sources":["../../../projects/kit/components/progress/progress-bar/progress-bar.component.ts","../../../projects/kit/components/progress/progress-bar/progress-color-segments.directive.ts","../../../projects/kit/components/progress/progress-circle/progress-circle.component.ts","../../../projects/kit/components/progress/progress-circle/progress-circle.template.html","../../../projects/kit/components/progress/progress-label/progress-label.component.ts","../../../projects/kit/components/progress/progress-label/progress-label.template.html","../../../projects/kit/components/progress/progress-segmented/progress-segmented.component.ts","../../../projects/kit/components/progress/progress-segmented/progress-segmented.template.html","../../../projects/kit/components/progress/progress.module.ts","../../../projects/kit/components/progress/taiga-ui-kit-components-progress.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {\n MODE_PROVIDER,\n TUI_MODE,\n TuiBrightness,\n TuiSizeXS,\n TuiSizeXXL,\n} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'progress[tuiProgressBar]',\n template: '',\n styleUrls: ['./progress-bar.component.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MODE_PROVIDER],\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiProgressBarComponent {\n @Input()\n @HostBinding('style.--tui-progress-color')\n color?: string;\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeXS | TuiSizeXXL = 'm';\n\n constructor(@Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>) {}\n}\n","import {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {USER_AGENT} from '@ng-web-apis/common';\nimport {\n CHROMIUM_EDGE_START_VERSION,\n TuiDestroyService,\n tuiIsEdgeOlderThan,\n tuiPure,\n TuiResizeService,\n} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nfunction calculateColorSegments(colors: string[], progressWidth: number): string {\n const segmentWidth = Math.ceil(progressWidth / colors.length);\n const colorsString = colors.reduce(\n (acc, color, i) =>\n `${acc}, ${color} ${i * segmentWidth}px ${(i + 1) * segmentWidth}px`,\n '',\n );\n\n return `linear-gradient(to right ${colorsString})`;\n}\n\n@Directive({\n selector: 'progress[tuiProgressBar][tuiProgressColorSegments]',\n host: {\n '[$.style.--tui-progress-color]': 'calcSegments$',\n '($.style.--tui-progress-color)': '0',\n },\n providers: [TuiDestroyService, TuiResizeService],\n})\nexport class TuiProgressColorSegmentsDirective {\n // TODO: drop support of legacy Edge (EdgeHTML) in v4.x\n private readonly isOldBrowsers = tuiIsEdgeOlderThan(\n CHROMIUM_EDGE_START_VERSION,\n this.userAgent,\n );\n\n @Input('tuiProgressColorSegments')\n colors: string[] = [];\n\n @tuiPure\n get calcSegments$(): Observable<string> {\n return this.resize$.pipe(\n map(() =>\n this.isOldBrowsers\n ? this.colors[0]\n : calculateColorSegments(\n this.colors,\n this.el.nativeElement.offsetWidth,\n ),\n ),\n );\n }\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLProgressElement>,\n @Inject(TuiResizeService) private readonly resize$: Observable<unknown>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n ) {}\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {USER_AGENT, WINDOW} from '@ng-web-apis/common';\nimport {CHROMIUM_EDGE_START_VERSION, tuiIsEdgeOlderThan} from '@taiga-ui/cdk';\nimport {\n MODE_PROVIDER,\n TUI_MODE,\n TuiBrightness,\n TuiSizeS,\n TuiSizeXL,\n} from '@taiga-ui/core';\nimport {Observable, of} from 'rxjs';\nimport {delay} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-progress-circle',\n templateUrl: './progress-circle.template.html',\n styleUrls: ['./progress-circle.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MODE_PROVIDER],\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiProgressCircleComponent {\n @ViewChild('progressCircle', {static: true})\n private readonly progressCircle!: ElementRef<SVGCircleElement>;\n\n @Input()\n value = 0;\n\n @Input()\n max = 1;\n\n @Input()\n @HostBinding('style.--tui-progress-color')\n color: string | null = null;\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeS | TuiSizeXL = 'm';\n\n readonly animationDelay$ = of(true).pipe(delay(0));\n\n constructor(\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(WINDOW) private readonly win: Window,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n ) {}\n\n @HostBinding('style.--progress-ratio')\n get progressRatio(): number {\n const ratio = this.value / this.max;\n\n return Number.isFinite(ratio) ? ratio : 0;\n }\n\n // TODO: drop support of legacy Edge (EdgeHTML) in v4.x\n get oldEdgeRadiusFallback(): number | null {\n if (!tuiIsEdgeOlderThan(CHROMIUM_EDGE_START_VERSION, this.userAgent)) {\n return null;\n }\n\n const strokeWidth = parseInt(\n this.win.getComputedStyle(this.progressCircle.nativeElement).strokeWidth,\n 10,\n );\n\n return (this.el.nativeElement.offsetWidth - strokeWidth) / 2;\n }\n}\n","<progress\n class=\"t-hidden-progress\"\n [max]=\"max\"\n [value]=\"value\"\n></progress>\n\n<svg\n aria-hidden=\"true\"\n height=\"100%\"\n width=\"100%\"\n class=\"t-svg\"\n>\n <circle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-track\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n ></circle>\n\n <circle\n #progressCircle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-progress\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n [class.t-progress_filled]=\"animationDelay$ | async\"\n ></circle>\n</svg>\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\n\n@Component({\n selector: 'label[tuiProgressLabel]',\n templateUrl: './progress-label.template.html',\n styleUrls: ['./progress-label.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiProgressLabelComponent {}\n","<ng-content select=\"progress\"></ng-content>\n<ng-content select=\"tui-progress-circle\"></ng-content>\n<span class=\"t-label\">\n <ng-content></ng-content>\n</span>\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {tuiIsString} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TUI_MODE, TuiBrightness, TuiSizeS} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-progress-segmented',\n templateUrl: './progress-segmented.template.html',\n styleUrls: ['./progress-segmented.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MODE_PROVIDER],\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiProgressSegmentedComponent {\n @Input()\n value = 0;\n\n @Input()\n max = 1;\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeS = 'm';\n\n @Input()\n colors: string | readonly string[] = 'currentColor';\n\n constructor(@Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>) {}\n\n getActiveColor(index: number = 0): string | null {\n return tuiIsString(this.colors)\n ? this.colors\n : this.colors[index] || this.colors[this.colors.length - 1];\n }\n}\n","<progress\n class=\"t-hidden-progress\"\n [max]=\"max\"\n [value]=\"value\"\n></progress>\n\n<span\n *tuiRepeatTimes=\"let index of max\"\n aria-hidden=\"true\"\n class=\"t-segment\"\n [style.background]=\"index < value ? getActiveColor(index) : null\"\n></span>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiRepeatTimesModule} from '@taiga-ui/cdk';\n\nimport {TuiProgressBarComponent} from './progress-bar/progress-bar.component';\nimport {TuiProgressColorSegmentsDirective} from './progress-bar/progress-color-segments.directive';\nimport {TuiProgressCircleComponent} from './progress-circle/progress-circle.component';\nimport {TuiProgressLabelComponent} from './progress-label/progress-label.component';\nimport {TuiProgressSegmentedComponent} from './progress-segmented/progress-segmented.component';\n\n@NgModule({\n imports: [CommonModule, TuiRepeatTimesModule],\n declarations: [\n TuiProgressBarComponent,\n TuiProgressColorSegmentsDirective,\n TuiProgressCircleComponent,\n TuiProgressLabelComponent,\n TuiProgressSegmentedComponent,\n ],\n exports: [\n TuiProgressBarComponent,\n TuiProgressCircleComponent,\n TuiProgressColorSegmentsDirective,\n TuiProgressLabelComponent,\n TuiProgressSegmentedComponent,\n ],\n})\nexport class TuiProgressModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -60,7 +60,7 @@ TuiRadioBlockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", v
60
60
  TuiRadioBlockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRadioBlockComponent, selector: "tui-radio-block", inputs: { item: "item", identityMatcher: "identityMatcher", contentAlign: "contentAlign", size: "size", hideRadio: "hideRadio", pseudoDisabled: "pseudoDisabled" }, host: { properties: { "attr.data-align": "this.contentAlign", "attr.data-size": "this.size", "class._hidden_input": "this.hideRadio", "class._disabled": "this.computedDisabled", "class._active": "this.checked" } }, providers: [
61
61
  tuiAsFocusableItemAccessor(TuiRadioBlockComponent),
62
62
  tuiAsControl(TuiRadioBlockComponent),
63
- ], viewQueries: [{ propertyName: "radio", first: true, predicate: TuiRadioComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"modeDirective && (modeDirective.change$ | async)\"></ng-container>\n<label\n tuiWrapper\n class=\"t-wrapper\"\n [active]=\"pseudoActive\"\n [appearance]=\"appearance\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocusVisible\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n>\n <tui-radio\n class=\"t-view\"\n [focusable]=\"focusable\"\n [identityMatcher]=\"identityMatcher\"\n [item]=\"item\"\n [name]=\"computedName || ''\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoDisabled]=\"computedDisabled\"\n [pseudoFocus]=\"false\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [size]=\"checkboxSize\"\n [(ngModel)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n (focusVisibleChange)=\"onFocusVisible($event)\"\n ></tui-radio>\n <div class=\"t-label\">\n <div class=\"t-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</label>\n", styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);display:inline-block;vertical-align:top;align-items:flex-start;border-radius:var(--tui-radius-m)}:host[data-size=m],:host[data-size=l]{font:var(--tui-font-text-m)}:host._disabled,:host._readonly{pointer-events:none}.t-wrapper{position:relative;display:flex;align-items:inherit;box-sizing:border-box;border-radius:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:0 1rem 0 0}:host[data-align=right] .t-wrapper{flex-direction:row-reverse;padding:0 0 0 1rem}:host[data-size=s]._hidden_input .t-wrapper{padding:0 1rem}:host[data-size=m]._hidden_input .t-wrapper{padding:0 1.5rem}:host[data-size=l]._hidden_input .t-wrapper{padding:0 2.25rem}:host[data-size=s] .t-view{margin:calc(var(--tui-height-s) / 2 - .5rem) .5rem}:host[data-size=m] .t-view{margin:calc(var(--tui-height-m) / 2 - .5rem) .75rem}:host[data-size=l] .t-view{margin:calc(var(--tui-height-l) / 2 - .75rem) 1rem}:host._hidden_input .t-view{position:absolute;height:1px;width:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(0,0,0,0);-webkit-clip-path:inset(0);clip-path:inset(0)}.t-label{display:flex;flex-grow:1;align-self:flex-start;align-items:center;overflow:hidden}:host[data-size=s] .t-label{min-height:var(--tui-height-s)}:host[data-size=m] .t-label{min-height:var(--tui-height-m)}:host[data-size=l] .t-label{min-height:var(--tui-height-l)}:host._hidden_input .t-label{text-align:center;justify-content:center}.t-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], components: [{ type: i1.TuiRadioComponent, selector: "tui-radio", inputs: ["item", "identityMatcher", "name", "size", "pseudoDisabled"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
63
+ ], viewQueries: [{ propertyName: "radio", first: true, predicate: TuiRadioComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"modeDirective && (modeDirective.change$ | async)\"></ng-container>\n<label\n tuiWrapper\n class=\"t-wrapper\"\n [active]=\"pseudoActive\"\n [appearance]=\"appearance\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocusVisible\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n>\n <tui-radio\n class=\"t-view\"\n [focusable]=\"focusable\"\n [identityMatcher]=\"identityMatcher\"\n [item]=\"item\"\n [name]=\"computedName || ''\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoDisabled]=\"computedDisabled\"\n [pseudoFocus]=\"false\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [size]=\"checkboxSize\"\n [(ngModel)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n (focusVisibleChange)=\"onFocusVisible($event)\"\n ></tui-radio>\n <div class=\"t-label\">\n <div class=\"t-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</label>\n", styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);display:inline-block;vertical-align:top;align-items:flex-start;border-radius:var(--tui-radius-m)}:host[data-size=xs]{font:var(--tui-font-text-xs)}:host[data-size=m],:host[data-size=l]{font:var(--tui-font-text-m)}:host._disabled,:host._readonly{pointer-events:none}.t-wrapper{position:relative;display:flex;align-items:inherit;box-sizing:border-box;border-radius:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:0 1rem 0 0}:host[data-size=xs] .t-wrapper{padding-right:.5rem}:host[data-align=right] .t-wrapper{flex-direction:row-reverse;padding:0 0 0 1rem}:host[data-align=right][data-size=xs] .t-wrapper{padding-left:.5rem}:host[data-size=xs]._hidden_input .t-wrapper{padding:0 .5rem}:host[data-size=xs]._hidden_input .t-wrapper:not(._focused):after{border-width:1px}:host[data-size=s]._hidden_input .t-wrapper{padding:0 1rem}:host[data-size=m]._hidden_input .t-wrapper{padding:0 1.5rem}:host[data-size=l]._hidden_input .t-wrapper{padding:0 2.25rem}:host[data-size=xs] .t-view{margin:calc(var(--tui-height-xs) / 2 - .5rem) .25rem;transform:scale(.75)}:host[data-size=s] .t-view{margin:calc(var(--tui-height-s) / 2 - .5rem) .5rem}:host[data-size=m] .t-view{margin:calc(var(--tui-height-m) / 2 - .5rem) .75rem}:host[data-size=l] .t-view{margin:calc(var(--tui-height-l) / 2 - .75rem) 1rem}:host._hidden_input .t-view{position:absolute;height:1px;width:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(0,0,0,0);-webkit-clip-path:inset(0);clip-path:inset(0)}.t-label{display:flex;flex-grow:1;align-self:flex-start;align-items:center;overflow:hidden}:host[data-size=xs] .t-label{min-height:var(--tui-height-xs)}:host[data-size=s] .t-label{min-height:var(--tui-height-s)}:host[data-size=m] .t-label{min-height:var(--tui-height-m)}:host[data-size=l] .t-label{min-height:var(--tui-height-l)}:host._hidden_input .t-label{text-align:center;justify-content:center}.t-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], components: [{ type: i1.TuiRadioComponent, selector: "tui-radio", inputs: ["item", "identityMatcher", "name", "size", "pseudoDisabled"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
64
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRadioBlockComponent, decorators: [{
65
65
  type: Component,
66
66
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-radio-block.js","sources":["../../../projects/kit/components/radio-block/radio-block.component.ts","../../../projects/kit/components/radio-block/radio-block.template.html","../../../projects/kit/components/radio-block/radio-block.module.ts","../../../projects/kit/components/radio-block/taiga-ui-kit-components-radio-block.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n TUI_DEFAULT_IDENTITY_MATCHER,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiFocusableElementAccessor,\n TuiIdentityMatcher,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TuiAppearance,\n TuiHorizontalDirection,\n TuiModeDirective,\n TuiSizeL,\n TuiSizeS,\n} from '@taiga-ui/core';\nimport {TuiRadioComponent} from '@taiga-ui/kit/components/radio';\n\n@Component({\n selector: 'tui-radio-block',\n templateUrl: './radio-block.template.html',\n styleUrls: ['../checkbox-block/checkbox-block.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiRadioBlockComponent),\n tuiAsControl(TuiRadioBlockComponent),\n ],\n})\nexport class TuiRadioBlockComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiRadioComponent)\n private readonly radio?: TuiRadioComponent<T>;\n\n @Input()\n item?: T;\n\n @Input()\n identityMatcher: TuiIdentityMatcher<T> = TUI_DEFAULT_IDENTITY_MATCHER;\n\n @Input()\n @HostBinding('attr.data-align')\n contentAlign: TuiHorizontalDirection = 'right';\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeL | TuiSizeS = 'l';\n\n @Input()\n @HostBinding('class._hidden_input')\n hideRadio = false;\n\n @Input()\n pseudoDisabled = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n readonly modeDirective: TuiModeDirective | null,\n ) {\n super(control, cdr);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.radio ? this.radio.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.radio && this.radio.focused;\n }\n\n @HostBinding('class._disabled')\n override get computedDisabled(): boolean {\n return this.disabled || this.pseudoDisabled;\n }\n\n @HostBinding('class._active')\n get checked(): boolean {\n return !!this.radio?.checked && this.hideRadio;\n }\n\n get checkboxSize(): TuiSizeL {\n return this.size === 'l' ? 'l' : 'm';\n }\n\n get appearance(): TuiAppearance {\n if (!this.modeDirective?.mode) {\n return this.checked\n ? TuiAppearance.WhiteblockActive\n : TuiAppearance.Whiteblock;\n }\n\n return this.checked ? TuiAppearance.Primary : TuiAppearance.Secondary;\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.updateFocusVisible(focusVisible);\n }\n\n /** @deprecated use 'value' setter */\n onModelChange(value: T): void {\n this.value = value;\n }\n}\n","<ng-container *ngIf=\"modeDirective && (modeDirective.change$ | async)\"></ng-container>\n<label\n tuiWrapper\n class=\"t-wrapper\"\n [active]=\"pseudoActive\"\n [appearance]=\"appearance\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocusVisible\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n>\n <tui-radio\n class=\"t-view\"\n [focusable]=\"focusable\"\n [identityMatcher]=\"identityMatcher\"\n [item]=\"item\"\n [name]=\"computedName || ''\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoDisabled]=\"computedDisabled\"\n [pseudoFocus]=\"false\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [size]=\"checkboxSize\"\n [(ngModel)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n (focusVisibleChange)=\"onFocusVisible($event)\"\n ></tui-radio>\n <div class=\"t-label\">\n <div class=\"t-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</label>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiRadioModule} from '@taiga-ui/kit/components/radio';\n\nimport {TuiRadioBlockComponent} from './radio-block.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, TuiRadioModule, TuiWrapperModule],\n declarations: [TuiRadioBlockComponent],\n exports: [TuiRadioBlockComponent],\n})\nexport class TuiRadioBlockModule {}\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-kit-components-radio-block.js","sources":["../../../projects/kit/components/radio-block/radio-block.component.ts","../../../projects/kit/components/radio-block/radio-block.template.html","../../../projects/kit/components/radio-block/radio-block.module.ts","../../../projects/kit/components/radio-block/taiga-ui-kit-components-radio-block.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n TUI_DEFAULT_IDENTITY_MATCHER,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiFocusableElementAccessor,\n TuiIdentityMatcher,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TuiAppearance,\n TuiHorizontalDirection,\n TuiModeDirective,\n TuiSizeL,\n TuiSizeXS,\n} from '@taiga-ui/core';\nimport {TuiRadioComponent} from '@taiga-ui/kit/components/radio';\n\n@Component({\n selector: 'tui-radio-block',\n templateUrl: './radio-block.template.html',\n styleUrls: ['../checkbox-block/checkbox-block.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiRadioBlockComponent),\n tuiAsControl(TuiRadioBlockComponent),\n ],\n})\nexport class TuiRadioBlockComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiRadioComponent)\n private readonly radio?: TuiRadioComponent<T>;\n\n @Input()\n item?: T;\n\n @Input()\n identityMatcher: TuiIdentityMatcher<T> = TUI_DEFAULT_IDENTITY_MATCHER;\n\n @Input()\n @HostBinding('attr.data-align')\n contentAlign: TuiHorizontalDirection = 'right';\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeL | TuiSizeXS = 'l';\n\n @Input()\n @HostBinding('class._hidden_input')\n hideRadio = false;\n\n @Input()\n pseudoDisabled = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n readonly modeDirective: TuiModeDirective | null,\n ) {\n super(control, cdr);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.radio ? this.radio.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.radio && this.radio.focused;\n }\n\n @HostBinding('class._disabled')\n override get computedDisabled(): boolean {\n return this.disabled || this.pseudoDisabled;\n }\n\n @HostBinding('class._active')\n get checked(): boolean {\n return !!this.radio?.checked && this.hideRadio;\n }\n\n get checkboxSize(): TuiSizeL {\n return this.size === 'l' ? 'l' : 'm';\n }\n\n get appearance(): TuiAppearance {\n if (!this.modeDirective?.mode) {\n return this.checked\n ? TuiAppearance.WhiteblockActive\n : TuiAppearance.Whiteblock;\n }\n\n return this.checked ? TuiAppearance.Primary : TuiAppearance.Secondary;\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.updateFocusVisible(focusVisible);\n }\n\n /** @deprecated use 'value' setter */\n onModelChange(value: T): void {\n this.value = value;\n }\n}\n","<ng-container *ngIf=\"modeDirective && (modeDirective.change$ | async)\"></ng-container>\n<label\n tuiWrapper\n class=\"t-wrapper\"\n [active]=\"pseudoActive\"\n [appearance]=\"appearance\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocusVisible\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n>\n <tui-radio\n class=\"t-view\"\n [focusable]=\"focusable\"\n [identityMatcher]=\"identityMatcher\"\n [item]=\"item\"\n [name]=\"computedName || ''\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoDisabled]=\"computedDisabled\"\n [pseudoFocus]=\"false\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [size]=\"checkboxSize\"\n [(ngModel)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n (focusVisibleChange)=\"onFocusVisible($event)\"\n ></tui-radio>\n <div class=\"t-label\">\n <div class=\"t-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</label>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiRadioModule} from '@taiga-ui/kit/components/radio';\n\nimport {TuiRadioBlockComponent} from './radio-block.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, TuiRadioModule, TuiWrapperModule],\n declarations: [TuiRadioBlockComponent],\n exports: [TuiRadioBlockComponent],\n})\nexport class TuiRadioBlockModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -56,7 +56,7 @@ class TuiSelectOptionComponent {
56
56
  }
57
57
  }
58
58
  TuiSelectOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSelectOptionComponent, deps: [{ token: TUI_COMMON_ICONS }, { token: POLYMORPHEUS_CONTEXT }, { token: TUI_DATA_LIST_HOST }, { token: ElementRef }, { token: TuiOptionComponent }, { token: TuiDataListComponent, optional: true }, { token: NgControl }, { token: AbstractTuiControl, optional: true }], target: i0.ɵɵFactoryTarget.Component });
59
- TuiSelectOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiSelectOptionComponent, selector: "tui-select-option", ngImport: i0, template: "<ng-container [ngTemplateOutlet]=\"context.$implicit\"></ng-container>\n<tui-svg\n *ngIf=\"selected$ | async; else dummy\"\n automation-id=\"tui-select-option__checkmark\"\n class=\"t-checkmark\"\n [src]=\"icons.check\"\n [tuiScrollIntoView]=\"true\"\n></tui-svg>\n<ng-template #dummy>\n <span class=\"t-dummy\"></span>\n</ng-template>\n", styles: ["@keyframes retrigger{0%{left:1px}to{left:2px}}:host{display:flex;flex:1;align-items:center;max-width:100%;animation:retrigger 1s}.t-checkmark{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-border-start:.25rem solid transparent;border-inline-start:.25rem solid transparent}:host-context(tui-data-list[data-list-size=\"s\"]) .t-checkmark{-webkit-margin-end:-.375rem;margin-inline-end:-.375rem}:host-context(tui-data-list[data-list-size=\"m\"]) .t-checkmark{-webkit-margin-end:-.125rem;margin-inline-end:-.125rem}.t-dummy{width:1.5rem}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.TuiScrollIntoViewDirective, selector: "[tuiScrollIntoView]", inputs: ["tuiScrollIntoView"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
+ TuiSelectOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiSelectOptionComponent, selector: "tui-select-option", ngImport: i0, template: "<ng-container [ngTemplateOutlet]=\"context.$implicit\"></ng-container>\n<tui-svg\n *ngIf=\"selected$ | async; else dummy\"\n automation-id=\"tui-select-option__checkmark\"\n class=\"t-checkmark\"\n [src]=\"icons.check\"\n [tuiScrollIntoView]=\"true\"\n></tui-svg>\n<ng-template #dummy>\n <span class=\"t-dummy\"></span>\n</ng-template>\n", styles: ["@keyframes retrigger{0%{left:1px}to{left:2px}}:host{display:flex;flex:1;align-items:center;max-width:100%;animation:retrigger 1s}.t-checkmark{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-border-start:.25rem solid transparent;border-inline-start:.25rem solid transparent}:host-context(tui-data-list[data-list-size=\"s\"]) .t-checkmark{-webkit-margin-end:-.375rem;margin-inline-end:-.375rem}:host-context(tui-data-list[data-list-size=\"m\"]) .t-checkmark{-webkit-margin-end:-.125rem;margin-inline-end:-.125rem}.t-dummy{width:1.75rem}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.TuiScrollIntoViewDirective, selector: "[tuiScrollIntoView]", inputs: ["tuiScrollIntoView"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
60
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSelectOptionComponent, decorators: [{
61
61
  type: Component,
62
62
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-select-option.js","sources":["../../../projects/kit/components/select-option/select-option.component.ts","../../../projects/kit/components/select-option/select-option.template.html","../../../projects/kit/components/select-option/select-option.module.ts","../../../projects/kit/components/select-option/taiga-ui-kit-components-select-option.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n ElementRef,\n Inject,\n OnInit,\n Optional,\n TemplateRef,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n TUI_DEFAULT_IDENTITY_MATCHER,\n TuiContextWithImplicit,\n TuiIdentityMatcher,\n tuiIsPresent,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {\n TUI_COMMON_ICONS,\n TUI_DATA_LIST_HOST,\n TuiCommonIcons,\n TuiDataListComponent,\n TuiDataListHost,\n TuiOptionComponent,\n} from '@taiga-ui/core';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, merge, Subject} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-select-option',\n templateUrl: './select-option.template.html',\n styleUrls: ['./select-option.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSelectOptionComponent<T> implements OnInit, DoCheck {\n private readonly changeDetection$ = new Subject();\n\n readonly selected$ = merge(\n this.changeDetection$,\n this.control.valueChanges || EMPTY,\n tuiTypedFromEvent(this.el.nativeElement, 'animationstart'),\n ).pipe(\n startWith(null),\n map(() => this.selected),\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(TUI_COMMON_ICONS) readonly icons: TuiCommonIcons,\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>,\n @Inject(TUI_DATA_LIST_HOST)\n private readonly host: TuiDataListHost<T>,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(TuiOptionComponent) protected readonly option: TuiOptionComponent<T>,\n @Optional()\n @Inject(TuiDataListComponent)\n protected readonly dataList: TuiDataListComponent<T> | null,\n @Inject(NgControl) protected readonly control: NgControl,\n @Optional()\n @Inject(AbstractTuiControl)\n protected readonly abstractControl: AbstractTuiControl<T> | null,\n ) {}\n\n get matcher(): TuiIdentityMatcher<T> {\n return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;\n }\n\n ngDoCheck(): void {\n this.changeDetection$.next();\n }\n\n ngOnInit(): void {\n /**\n * This would cause changes inside already checked parent component (during the same change detection cycle),\n * and it might cause ExpressionChanged error due to potential HostBinding\n * (for example, inside {@link https://github.com/angular/angular/blob/main/packages/forms/src/directives/ng_control_status.ts#L99 NgControlStatus}).\n * Microtask keeps it in the same frame but allows change detection to run.\n */\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n Promise.resolve().then(() => {\n if (tuiIsPresent(this.option.value) && this.host.checkOption) {\n this.host.checkOption(this.option.value);\n }\n });\n }\n\n protected get value(): T | null {\n return this.abstractControl?.value ?? this.control.value;\n }\n\n protected get selected(): boolean {\n return (\n tuiIsPresent(this.option.value) &&\n tuiIsPresent(this.value) &&\n this.matcher(this.value, this.option.value)\n );\n }\n}\n\nexport const TUI_SELECT_OPTION = new PolymorpheusComponent(TuiSelectOptionComponent);\n","<ng-container [ngTemplateOutlet]=\"context.$implicit\"></ng-container>\n<tui-svg\n *ngIf=\"selected$ | async; else dummy\"\n automation-id=\"tui-select-option__checkmark\"\n class=\"t-checkmark\"\n [src]=\"icons.check\"\n [tuiScrollIntoView]=\"true\"\n></tui-svg>\n<ng-template #dummy>\n <span class=\"t-dummy\"></span>\n</ng-template>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollIntoViewModule, TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiSelectOptionComponent} from './select-option.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, TuiScrollIntoViewModule],\n declarations: [TuiSelectOptionComponent],\n exports: [TuiSelectOptionComponent],\n})\nexport class TuiSelectOptionModule {}\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-kit-components-select-option.js","sources":["../../../projects/kit/components/select-option/select-option.component.ts","../../../projects/kit/components/select-option/select-option.template.html","../../../projects/kit/components/select-option/select-option.module.ts","../../../projects/kit/components/select-option/taiga-ui-kit-components-select-option.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n ElementRef,\n Inject,\n OnInit,\n Optional,\n TemplateRef,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n TUI_DEFAULT_IDENTITY_MATCHER,\n TuiContextWithImplicit,\n TuiIdentityMatcher,\n tuiIsPresent,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {\n TUI_COMMON_ICONS,\n TUI_DATA_LIST_HOST,\n TuiCommonIcons,\n TuiDataListComponent,\n TuiDataListHost,\n TuiOptionComponent,\n} from '@taiga-ui/core';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, merge, Subject} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-select-option',\n templateUrl: './select-option.template.html',\n styleUrls: ['./select-option.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSelectOptionComponent<T> implements OnInit, DoCheck {\n private readonly changeDetection$ = new Subject();\n\n readonly selected$ = merge(\n this.changeDetection$,\n this.control.valueChanges || EMPTY,\n tuiTypedFromEvent(this.el.nativeElement, 'animationstart'),\n ).pipe(\n startWith(null),\n map(() => this.selected),\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(TUI_COMMON_ICONS) readonly icons: TuiCommonIcons,\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>,\n @Inject(TUI_DATA_LIST_HOST)\n private readonly host: TuiDataListHost<T>,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(TuiOptionComponent) protected readonly option: TuiOptionComponent<T>,\n @Optional()\n @Inject(TuiDataListComponent)\n protected readonly dataList: TuiDataListComponent<T> | null,\n @Inject(NgControl) protected readonly control: NgControl,\n @Optional()\n @Inject(AbstractTuiControl)\n protected readonly abstractControl: AbstractTuiControl<T> | null,\n ) {}\n\n get matcher(): TuiIdentityMatcher<T> {\n return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;\n }\n\n ngDoCheck(): void {\n this.changeDetection$.next();\n }\n\n ngOnInit(): void {\n /**\n * This would cause changes inside already checked parent component (during the same change detection cycle),\n * and it might cause ExpressionChanged error due to potential HostBinding\n * (for example, inside {@link https://github.com/angular/angular/blob/main/packages/forms/src/directives/ng_control_status.ts#L99 NgControlStatus}).\n * Microtask keeps it in the same frame but allows change detection to run.\n */\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n Promise.resolve().then(() => {\n if (tuiIsPresent(this.option.value) && this.host.checkOption) {\n this.host.checkOption(this.option.value);\n }\n });\n }\n\n protected get value(): T | null {\n return this.abstractControl?.value ?? this.control.value;\n }\n\n protected get selected(): boolean {\n return (\n tuiIsPresent(this.option.value) &&\n tuiIsPresent(this.value) &&\n this.matcher(this.value, this.option.value)\n );\n }\n}\n\nexport const TUI_SELECT_OPTION = new PolymorpheusComponent(TuiSelectOptionComponent);\n","<ng-container [ngTemplateOutlet]=\"context.$implicit\"></ng-container>\n<tui-svg\n *ngIf=\"selected$ | async; else dummy\"\n automation-id=\"tui-select-option__checkmark\"\n class=\"t-checkmark\"\n [src]=\"icons.check\"\n [tuiScrollIntoView]=\"true\"\n></tui-svg>\n<ng-template #dummy>\n <span class=\"t-dummy\"></span>\n</ng-template>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollIntoViewModule, TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiSelectOptionComponent} from './select-option.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, TuiScrollIntoViewModule],\n declarations: [TuiSelectOptionComponent],\n exports: [TuiSelectOptionComponent],\n})\nexport class TuiSelectOptionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -439,12 +439,16 @@ class TuiTabsWithMoreComponent {
439
439
  this.arrowOptions = arrowOptions;
440
440
  this.maxIndex = Infinity;
441
441
  this.underline = this.options.underline;
442
- this.activeItemIndex = 0;
443
442
  this.itemsLimit = this.options.itemsLimit;
444
443
  this.activeItemIndexChange = new EventEmitter();
445
444
  this.items = EMPTY_QUERY;
445
+ this.activeItemIndex = 0;
446
446
  this.open = false;
447
447
  }
448
+ set itemIndex(activeItemIndex) {
449
+ this.activeItemIndex = activeItemIndex;
450
+ this.maxIndex = this.getMaxIndex();
451
+ }
448
452
  // TODO: Improve performance
449
453
  get tabs() {
450
454
  return Array.from(this.el.nativeElement.querySelectorAll('[tuiTab]'));
@@ -560,13 +564,12 @@ class TuiTabsWithMoreComponent {
560
564
  return -1;
561
565
  }
562
566
  updateActiveItemIndex(activeItemIndex) {
563
- this.activeItemIndex = activeItemIndex;
567
+ this.itemIndex = activeItemIndex;
564
568
  this.activeItemIndexChange.emit(activeItemIndex);
565
- this.maxIndex = this.getMaxIndex();
566
569
  }
567
570
  }
568
571
  TuiTabsWithMoreComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTabsWithMoreComponent, deps: [{ token: TUI_TABS_OPTIONS }, { token: TUI_TAB_MARGIN }, { token: TUI_TABS_REFRESH }, { token: ElementRef }, { token: ChangeDetectorRef }, { token: TUI_MORE_WORD }, { token: TUI_ARROW_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
569
- TuiTabsWithMoreComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: { moreContent: "moreContent", dropdownContent: "dropdownContent", underline: "underline", activeItemIndex: "activeItemIndex", itemsLimit: "itemsLimit" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { properties: { "class._underline": "this.underline" } }, providers: TUI_TABS_PROVIDERS, queries: [{ propertyName: "items", predicate: TuiItemDirective, read: TemplateRef }], viewQueries: [{ propertyName: "moreButton", first: true, predicate: TuiTabComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<div class=\"t-wrapper\">\n <tui-tabs\n class=\"t-tabs\"\n [activeItemIndex]=\"activeItemIndex\"\n [underline]=\"false\"\n (activeItemIndexChange)=\"onActiveItemIndexChange($event)\"\n (keydown.arrowRight)=\"onArrowRight($event)\"\n >\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"index <= lastVisibleIndex; else hidden\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n <ng-template #hidden>\n <div [class.t-overflown]=\"isOverflown(index)\">\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </div>\n </ng-template>\n </ng-container>\n </tui-tabs>\n <tui-hosted-dropdown\n class=\"t-more_wrapper\"\n [class.t-overflown]=\"!isMoreVisible\"\n [content]=\"dropdownContent || dropdown\"\n [(open)]=\"open\"\n >\n <button\n tuiTab\n [class._active]=\"isMoreActive\"\n [class.t-no-margin]=\"isMoreAlone\"\n [tuiFocusable]=\"isMoreFocusable\"\n (keydown.arrowLeft.prevent)=\"onArrowLeft()\"\n >\n <ng-container *polymorpheusOutlet=\"moreContent || more as text\">\n {{ text }}\n </ng-container>\n </button>\n <ng-template #more>\n {{ moreWord$ | async }}\n <tui-svg\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n [src]=\"arrowOptions.iconSmall\"\n ></tui-svg>\n </ng-template>\n </tui-hosted-dropdown>\n <ng-template #dropdown>\n <div\n #element\n class=\"t-dropdown\"\n (keydown.arrowDown.prevent)=\"onWrapperArrow($event, element, false)\"\n (keydown.arrowUp.prevent)=\"onWrapperArrow($event, element, true)\"\n >\n <div\n *ngFor=\"let item of items; let index = index\"\n (tui-tab-activate)=\"onClick(index)\"\n >\n <ng-container\n *ngIf=\"shouldShow(index)\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </div>\n </div>\n </ng-template>\n <tui-underline\n *ngIf=\"underline\"\n [element]=\"activeElement\"\n ></tui-underline>\n</div>\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);height:var(--tui-height-l);box-sizing:border-box;color:var(--tui-text-02);box-shadow:inset 0 -1px var(--tui-base-03);overflow:hidden}.t-wrapper{position:relative;display:flex}.t-tabs{height:inherit;font-size:inherit;font-weight:inherit;overflow:visible;box-shadow:none;color:inherit}.t-overflown{display:flex;margin:0;width:0;max-width:0;overflow:hidden;visibility:hidden}.t-more_wrapper{height:100%;pointer-events:none}.t-more_wrapper button{pointer-events:auto}.t-icon{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-right:-.25rem;vertical-align:bottom}.t-icon_rotated{transform:rotate(180deg)}.t-dropdown{padding:.25rem 0}.t-dropdown ::ng-deep *[tuiTab]{width:calc(100% - .75rem);height:2.75rem;justify-content:flex-start;margin:.125rem .375rem;padding:0 .625rem;border-radius:var(--tui-radius-s);font:var(--tui-font-text-m);color:var(--tui-text-01)}.t-dropdown ::ng-deep *[tuiTab]:before{display:none}.t-dropdown ::ng-deep *[tuiTab]:hover,.t-dropdown ::ng-deep *[tuiTab]:focus,.t-dropdown ::ng-deep *[tuiTab]._active{box-shadow:none;background:var(--tui-clear)}.t-no-margin{margin-left:0}\n"], components: [{ type: TuiTabsComponent, selector: "tui-tabs:not([vertical]), nav[tuiTabs]:not([vertical])", inputs: ["underline"] }, { type: i2$1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "sided", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: i2$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: TuiUnderlineComponent, selector: "tui-underline", inputs: ["element"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TuiTabsDirective, selector: "tui-tabs, nav[tuiTabs]", inputs: ["activeItemIndex"], outputs: ["activeItemIndexChange"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i8.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
572
+ TuiTabsWithMoreComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: { moreContent: "moreContent", dropdownContent: "dropdownContent", underline: "underline", itemIndex: ["activeItemIndex", "itemIndex"], itemsLimit: "itemsLimit" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { properties: { "class._underline": "this.underline" } }, providers: TUI_TABS_PROVIDERS, queries: [{ propertyName: "items", predicate: TuiItemDirective, read: TemplateRef }], viewQueries: [{ propertyName: "moreButton", first: true, predicate: TuiTabComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<div class=\"t-wrapper\">\n <tui-tabs\n class=\"t-tabs\"\n [activeItemIndex]=\"activeItemIndex\"\n [underline]=\"false\"\n (activeItemIndexChange)=\"onActiveItemIndexChange($event)\"\n (keydown.arrowRight)=\"onArrowRight($event)\"\n >\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"index <= lastVisibleIndex; else hidden\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n <ng-template #hidden>\n <div [class.t-overflown]=\"isOverflown(index)\">\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </div>\n </ng-template>\n </ng-container>\n </tui-tabs>\n <tui-hosted-dropdown\n class=\"t-more_wrapper\"\n [class.t-overflown]=\"!isMoreVisible\"\n [content]=\"dropdownContent || dropdown\"\n [(open)]=\"open\"\n >\n <button\n tuiTab\n [class._active]=\"isMoreActive\"\n [class.t-no-margin]=\"isMoreAlone\"\n [tuiFocusable]=\"isMoreFocusable\"\n (keydown.arrowLeft.prevent)=\"onArrowLeft()\"\n >\n <ng-container *polymorpheusOutlet=\"moreContent || more as text\">\n {{ text }}\n </ng-container>\n </button>\n <ng-template #more>\n {{ moreWord$ | async }}\n <tui-svg\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n [src]=\"arrowOptions.iconSmall\"\n ></tui-svg>\n </ng-template>\n </tui-hosted-dropdown>\n <ng-template #dropdown>\n <div\n #element\n class=\"t-dropdown\"\n (keydown.arrowDown.prevent)=\"onWrapperArrow($event, element, false)\"\n (keydown.arrowUp.prevent)=\"onWrapperArrow($event, element, true)\"\n >\n <div\n *ngFor=\"let item of items; let index = index\"\n (tui-tab-activate)=\"onClick(index)\"\n >\n <ng-container\n *ngIf=\"shouldShow(index)\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </div>\n </div>\n </ng-template>\n <tui-underline\n *ngIf=\"underline\"\n [element]=\"activeElement\"\n ></tui-underline>\n</div>\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);height:var(--tui-height-l);box-sizing:border-box;color:var(--tui-text-02);box-shadow:inset 0 -1px var(--tui-base-03);overflow:hidden}.t-wrapper{position:relative;display:flex}.t-tabs{height:inherit;font-size:inherit;font-weight:inherit;overflow:visible;box-shadow:none;color:inherit}.t-overflown{display:flex;margin:0;width:0;max-width:0;overflow:hidden;visibility:hidden}.t-more_wrapper{height:100%;pointer-events:none}.t-more_wrapper button{pointer-events:auto}.t-icon{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-right:-.25rem;vertical-align:bottom}.t-icon_rotated{transform:rotate(180deg)}.t-dropdown{padding:.25rem 0}.t-dropdown ::ng-deep *[tuiTab]{width:calc(100% - .75rem);height:2.75rem;justify-content:flex-start;margin:.125rem .375rem;padding:0 .625rem;border-radius:var(--tui-radius-s);font:var(--tui-font-text-m);color:var(--tui-text-01)}.t-dropdown ::ng-deep *[tuiTab]:before{display:none}.t-dropdown ::ng-deep *[tuiTab]:hover,.t-dropdown ::ng-deep *[tuiTab]:focus,.t-dropdown ::ng-deep *[tuiTab]._active{box-shadow:none;background:var(--tui-clear)}.t-no-margin{margin-left:0}\n"], components: [{ type: TuiTabsComponent, selector: "tui-tabs:not([vertical]), nav[tuiTabs]:not([vertical])", inputs: ["underline"] }, { type: i2$1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "sided", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: i2$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: TuiUnderlineComponent, selector: "tui-underline", inputs: ["element"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TuiTabsDirective, selector: "tui-tabs, nav[tuiTabs]", inputs: ["activeItemIndex"], outputs: ["activeItemIndexChange"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i8.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
570
573
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTabsWithMoreComponent, decorators: [{
571
574
  type: Component,
572
575
  args: [{
@@ -609,8 +612,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
609
612
  }, {
610
613
  type: HostBinding,
611
614
  args: ['class._underline']
612
- }], activeItemIndex: [{
613
- type: Input
615
+ }], itemIndex: [{
616
+ type: Input,
617
+ args: ['activeItemIndex']
614
618
  }], itemsLimit: [{
615
619
  type: Input
616
620
  }], activeItemIndexChange: [{