@taiga-ui/kit 2.16.2 → 2.19.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.
- package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
- package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-badged-content.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-badged-content.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-badged-content.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +5 -1
- package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js +3 -0
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-file.umd.js +4 -1
- package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-file.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-inline.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-inline.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +5 -5
- package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-progress.umd.js +136 -9
- package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-progress.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -4
- package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.js +1 -4
- package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-enums.umd.js +85 -8
- package/bundles/taiga-ui-kit-enums.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-enums.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-enums.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-stringify-content.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-stringify-content.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-stringify.umd.js +258 -0
- package/bundles/taiga-ui-kit-pipes-stringify.umd.js.map +1 -0
- package/bundles/taiga-ui-kit-pipes-stringify.umd.min.js +16 -0
- package/bundles/taiga-ui-kit-pipes-stringify.umd.min.js.map +1 -0
- package/bundles/taiga-ui-kit-pipes.umd.js +12 -4
- package/bundles/taiga-ui-kit-pipes.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes.umd.min.js +1 -1
- package/components/badged-content/taiga-ui-kit-components-badged-content.metadata.json +1 -1
- package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
- package/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.metadata.json +1 -1
- package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
- package/components/input-date-range/input-date-range.component.d.ts +1 -1
- package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
- package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
- package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
- package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
- package/components/progress/index.d.ts +2 -0
- package/components/progress/progress-circle/progress-circle.component.d.ts +15 -0
- package/components/progress/progress-segmented/progress-segmented.component.d.ts +10 -0
- package/components/progress/taiga-ui-kit-components-progress.metadata.json +1 -1
- package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
- package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
- package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
- package/components/toggle/taiga-ui-kit-components-toggle.metadata.json +1 -1
- package/directives/dropdown-context/taiga-ui-kit-directives-dropdown-context.metadata.json +1 -1
- package/esm2015/abstract/slider/slider.js +1 -1
- package/esm2015/components/badged-content/badged-content.component.js +1 -1
- package/esm2015/components/calendar-month/calendar-month.component.js +3 -3
- package/esm2015/components/data-list-wrapper/data-list-wrapper.module.js +7 -3
- package/esm2015/components/input-date/input-date.component.js +1 -1
- package/esm2015/components/input-date-range/input-date-range.component.js +4 -1
- package/esm2015/components/input-date-time/input-date-time.component.js +1 -1
- package/esm2015/components/input-file/input-file.component.js +5 -2
- package/esm2015/components/input-inline/input-inline.module.js +2 -2
- package/esm2015/components/input-phone/input-phone.component.js +1 -1
- package/esm2015/components/input-phone-international/input-phone-international.component.js +2 -2
- package/esm2015/components/input-tag/input-tag.component.js +6 -6
- package/esm2015/components/progress/index.js +3 -1
- package/esm2015/components/progress/progress-circle/progress-circle.component.js +69 -0
- package/esm2015/components/progress/progress-label/progress-label.component.js +3 -3
- package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +48 -0
- package/esm2015/components/progress/progress.module.js +11 -4
- package/esm2015/components/stepper/stepper.component.js +2 -5
- package/esm2015/components/tabs/tabs/tabs.component.js +2 -5
- package/esm2015/components/text-area/text-area.component.js +1 -1
- package/esm2015/components/toggle/toggle.component.js +1 -1
- package/esm2015/directives/dropdown-context/dropdown-context.directive.js +1 -1
- package/esm2015/enums/borders.js +9 -1
- package/esm2015/enums/dropdown-position.js +10 -1
- package/esm2015/enums/file-state.js +11 -1
- package/esm2015/enums/marker-icon-mode.js +15 -1
- package/esm2015/enums/status.js +13 -1
- package/esm2015/enums/step-state.js +10 -1
- package/esm2015/enums/text-align.js +10 -1
- package/esm2015/pipes/index.js +2 -1
- package/esm2015/pipes/stringify/index.js +3 -0
- package/esm2015/pipes/stringify/stringify.module.js +13 -0
- package/esm2015/pipes/stringify/stringify.pipe.js +14 -0
- package/esm2015/pipes/stringify/taiga-ui-kit-pipes-stringify.js +5 -0
- package/esm2015/pipes/stringify-content/stringify-content.pipe.js +1 -1
- package/esm5/abstract/slider/slider.js +1 -1
- package/esm5/components/badged-content/badged-content.component.js +1 -1
- package/esm5/components/calendar-month/calendar-month.component.js +3 -3
- package/esm5/components/data-list-wrapper/data-list-wrapper.module.js +7 -3
- package/esm5/components/input-date/input-date.component.js +1 -1
- package/esm5/components/input-date-range/input-date-range.component.js +4 -1
- package/esm5/components/input-date-time/input-date-time.component.js +1 -1
- package/esm5/components/input-file/input-file.component.js +5 -2
- package/esm5/components/input-inline/input-inline.module.js +2 -2
- package/esm5/components/input-phone/input-phone.component.js +1 -1
- package/esm5/components/input-phone-international/input-phone-international.component.js +2 -2
- package/esm5/components/input-tag/input-tag.component.js +6 -6
- package/esm5/components/progress/index.js +3 -1
- package/esm5/components/progress/progress-circle/progress-circle.component.js +78 -0
- package/esm5/components/progress/progress-label/progress-label.component.js +3 -3
- package/esm5/components/progress/progress-segmented/progress-segmented.component.js +50 -0
- package/esm5/components/progress/progress.module.js +11 -4
- package/esm5/components/stepper/stepper.component.js +2 -5
- package/esm5/components/tabs/tabs/tabs.component.js +2 -5
- package/esm5/components/text-area/text-area.component.js +1 -1
- package/esm5/components/toggle/toggle.component.js +1 -1
- package/esm5/directives/dropdown-context/dropdown-context.directive.js +1 -1
- package/esm5/enums/borders.js +9 -1
- package/esm5/enums/dropdown-position.js +10 -1
- package/esm5/enums/file-state.js +11 -1
- package/esm5/enums/marker-icon-mode.js +15 -1
- package/esm5/enums/status.js +13 -1
- package/esm5/enums/step-state.js +10 -1
- package/esm5/enums/text-align.js +10 -1
- package/esm5/pipes/index.js +2 -1
- package/esm5/pipes/stringify/index.js +3 -0
- package/esm5/pipes/stringify/stringify.module.js +16 -0
- package/esm5/pipes/stringify/stringify.pipe.js +17 -0
- package/esm5/pipes/stringify/taiga-ui-kit-pipes-stringify.js +5 -0
- package/esm5/pipes/stringify-content/stringify-content.pipe.js +1 -1
- package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-badged-content.js +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-month.js +2 -2
- package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +6 -2
- package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-range.js +3 -0
- package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-file.js +4 -1
- package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-inline.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +5 -5
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-progress.js +121 -9
- package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-stepper.js +1 -4
- package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tabs.js +1 -4
- package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
- package/fesm2015/taiga-ui-kit-enums.js +80 -0
- package/fesm2015/taiga-ui-kit-enums.js.map +1 -1
- package/fesm2015/taiga-ui-kit-pipes-stringify-content.js.map +1 -1
- package/fesm2015/taiga-ui-kit-pipes-stringify.js +29 -0
- package/fesm2015/taiga-ui-kit-pipes-stringify.js.map +1 -0
- package/fesm2015/taiga-ui-kit-pipes.js +1 -0
- package/fesm2015/taiga-ui-kit-pipes.js.map +1 -1
- package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-badged-content.js +1 -1
- package/fesm5/taiga-ui-kit-components-calendar-month.js +2 -2
- package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +6 -2
- package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-date-range.js +3 -0
- package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-file.js +4 -1
- package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-inline.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-inline.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-phone-international.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-tag.js +5 -5
- package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-progress.js +132 -9
- package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-stepper.js +1 -4
- package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-tabs.js +1 -4
- package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
- package/fesm5/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
- package/fesm5/taiga-ui-kit-enums.js +80 -0
- package/fesm5/taiga-ui-kit-enums.js.map +1 -1
- package/fesm5/taiga-ui-kit-pipes-stringify-content.js.map +1 -1
- package/fesm5/taiga-ui-kit-pipes-stringify.js +35 -0
- package/fesm5/taiga-ui-kit-pipes-stringify.js.map +1 -0
- package/fesm5/taiga-ui-kit-pipes.js +1 -0
- package/fesm5/taiga-ui-kit-pipes.js.map +1 -1
- package/package.json +4 -4
- package/pipes/index.d.ts +1 -0
- package/pipes/stringify/index.d.ts +2 -0
- package/pipes/stringify/package.json +13 -0
- package/pipes/stringify/stringify.module.d.ts +2 -0
- package/pipes/stringify/stringify.pipe.d.ts +5 -0
- package/pipes/stringify/taiga-ui-kit-pipes-stringify.d.ts +4 -0
- package/pipes/stringify/taiga-ui-kit-pipes-stringify.metadata.json +1 -0
- package/pipes/stringify-content/stringify-content.pipe.d.ts +1 -2
- package/pipes/stringify-content/taiga-ui-kit-pipes-stringify-content.metadata.json +1 -1
- package/pipes/taiga-ui-kit-pipes.metadata.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { __decorate, __param } from 'tslib';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { Inject, ElementRef, Pipe, Input, HostBinding, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { Inject, ElementRef, Pipe, Input, HostBinding, Component, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';
|
|
4
|
+
import { isEdgeOlderThan, CHROMIUM_EDGE_START_VERSION, isIE, tuiDefaultProp, TuiRepeatTimesModule } from '@taiga-ui/cdk';
|
|
5
|
+
import { USER_AGENT, WINDOW } from '@ng-web-apis/common';
|
|
6
6
|
|
|
7
7
|
let TuiProgressColorSegmentsPipe = class TuiProgressColorSegmentsPipe {
|
|
8
8
|
constructor(userAgent, elementRef) {
|
|
@@ -56,31 +56,143 @@ TuiProgressBarComponent = __decorate([
|
|
|
56
56
|
})
|
|
57
57
|
], TuiProgressBarComponent);
|
|
58
58
|
|
|
59
|
+
// @dynamic
|
|
60
|
+
let TuiProgressCircleComponent = class TuiProgressCircleComponent {
|
|
61
|
+
constructor(userAgent, windowRef, elementRef) {
|
|
62
|
+
this.userAgent = userAgent;
|
|
63
|
+
this.windowRef = windowRef;
|
|
64
|
+
this.elementRef = elementRef;
|
|
65
|
+
this.value = 0;
|
|
66
|
+
this.max = 1;
|
|
67
|
+
this.color = null;
|
|
68
|
+
this.size = 'm';
|
|
69
|
+
}
|
|
70
|
+
get progressPercentage() {
|
|
71
|
+
return this.value / this.max;
|
|
72
|
+
}
|
|
73
|
+
get oldEdgeRadiusFallback() {
|
|
74
|
+
if (!isEdgeOlderThan(CHROMIUM_EDGE_START_VERSION, this.userAgent)) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
const strokeWidth = parseInt(this.windowRef.getComputedStyle(this.progressCircle.nativeElement)
|
|
78
|
+
.strokeWidth, 10);
|
|
79
|
+
return (this.elementRef.nativeElement.offsetWidth - strokeWidth) / 2;
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
TuiProgressCircleComponent.ctorParameters = () => [
|
|
83
|
+
{ type: String, decorators: [{ type: Inject, args: [USER_AGENT,] }] },
|
|
84
|
+
{ type: Window, decorators: [{ type: Inject, args: [WINDOW,] }] },
|
|
85
|
+
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] }
|
|
86
|
+
];
|
|
87
|
+
__decorate([
|
|
88
|
+
Input(),
|
|
89
|
+
tuiDefaultProp()
|
|
90
|
+
], TuiProgressCircleComponent.prototype, "value", void 0);
|
|
91
|
+
__decorate([
|
|
92
|
+
Input(),
|
|
93
|
+
tuiDefaultProp()
|
|
94
|
+
], TuiProgressCircleComponent.prototype, "max", void 0);
|
|
95
|
+
__decorate([
|
|
96
|
+
Input(),
|
|
97
|
+
HostBinding('style.--tui-progress-color'),
|
|
98
|
+
tuiDefaultProp()
|
|
99
|
+
], TuiProgressCircleComponent.prototype, "color", void 0);
|
|
100
|
+
__decorate([
|
|
101
|
+
Input(),
|
|
102
|
+
HostBinding('attr.data-size'),
|
|
103
|
+
tuiDefaultProp()
|
|
104
|
+
], TuiProgressCircleComponent.prototype, "size", void 0);
|
|
105
|
+
__decorate([
|
|
106
|
+
HostBinding('style.--progress-percentage')
|
|
107
|
+
], TuiProgressCircleComponent.prototype, "progressPercentage", null);
|
|
108
|
+
__decorate([
|
|
109
|
+
ViewChild('progressCircle', { static: true })
|
|
110
|
+
], TuiProgressCircleComponent.prototype, "progressCircle", void 0);
|
|
111
|
+
TuiProgressCircleComponent = __decorate([
|
|
112
|
+
Component({
|
|
113
|
+
selector: 'tui-progress-circle',
|
|
114
|
+
template: "<progress class=\"t-hidden-progress\" [value]=\"value\" [max]=\"max\"></progress>\n\n<svg class=\"t-svg\" height=\"100%\" width=\"100%\" aria-hidden=\"true\">\n <circle\n class=\"t-track\"\n cx=\"50%\"\n cy=\"50%\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n ></circle>\n\n <circle\n #progressCircle\n class=\"t-progress\"\n cx=\"50%\"\n cy=\"50%\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n ></circle>\n</svg>\n",
|
|
115
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
116
|
+
styles: [":host{display:block;position:relative;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{\n r: 0.75em;\n stroke-width:.5em}:host[data-size='s'] .t-progress{\n r: 0.75em;\n stroke-width:.5em;stroke-dasharray:4.71238898em;stroke-dashoffset:calc(4.71238898em - var(--progress-percentage) * 4.71238898em)}:host[data-size='m']{width:3em;height:3em}:host[data-size='m'] .t-track{\n r: 1.375em;\n stroke-width:.25em}:host[data-size='m'] .t-progress{\n r: 1.3125em;\n stroke-width:.375em;stroke-dasharray:8.24668072em;stroke-dashoffset:calc(8.24668072em - var(--progress-percentage) * 8.24668072em)}:host[data-size='l']{width:4em;height:4em}:host[data-size='l'] .t-track{\n r: 1.875em;\n stroke-width:.25em}:host[data-size='l'] .t-progress{\n r: 1.8125em;\n stroke-width:.375em;stroke-dasharray:11.38827337em;stroke-dashoffset:calc(11.38827337em - var(--progress-percentage) * 11.38827337em)}:host[data-size=xl]{width:7em;height:7em}:host[data-size=xl] .t-track{\n r: 3.375em;\n stroke-width:.25em}:host[data-size=xl] .t-progress{\n r: 3.3125em;\n stroke-width:.375em;stroke-dasharray:20.81305133em;stroke-dashoffset:calc(20.81305133em - var(--progress-percentage) * 20.81305133em)}.t-track{fill:transparent;stroke:var(--tui-base-03)}.t-progress{fill:transparent;stroke:var(--tui-progress-color,currentColor);transition:stroke-dashoffset var(--tui-duration) linear}.t-hidden-progress{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;position:absolute}.t-svg{overflow:unset}"]
|
|
117
|
+
}),
|
|
118
|
+
__param(0, Inject(USER_AGENT)),
|
|
119
|
+
__param(1, Inject(WINDOW)),
|
|
120
|
+
__param(2, Inject(ElementRef))
|
|
121
|
+
], TuiProgressCircleComponent);
|
|
122
|
+
|
|
59
123
|
let TuiProgressLabelComponent = class TuiProgressLabelComponent {
|
|
60
124
|
};
|
|
61
125
|
TuiProgressLabelComponent = __decorate([
|
|
62
126
|
Component({
|
|
63
127
|
selector: 'label[tuiProgressLabel]',
|
|
64
|
-
template: "<ng-content select=\"progress\"></ng-content>\n<span class=\"label\">\n <ng-content></ng-content>\n</span>\n",
|
|
128
|
+
template: "<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",
|
|
65
129
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
66
|
-
styles: [":host{position:relative;display:block}.label{position:absolute;top:0;left:0;width:100%;height:100%;font:var(--tui-font-text-s);color:var(--tui-text-01);display:flex;justify-content:center;align-items:center}"]
|
|
130
|
+
styles: [":host{position:relative;display:inline-block}.t-label{position:absolute;top:0;left:0;width:100%;height:100%;font:var(--tui-font-text-s);color:var(--tui-text-01);display:flex;flex-direction:column;justify-content:center;align-items:center}"]
|
|
67
131
|
})
|
|
68
132
|
], TuiProgressLabelComponent);
|
|
69
133
|
|
|
134
|
+
function nonNegativeInt(value) {
|
|
135
|
+
return Number.isInteger(value) && value >= 0;
|
|
136
|
+
}
|
|
137
|
+
function positiveInt(value) {
|
|
138
|
+
return Number.isInteger(value) && value > 0;
|
|
139
|
+
}
|
|
140
|
+
let TuiProgressSegmentedComponent = class TuiProgressSegmentedComponent {
|
|
141
|
+
constructor() {
|
|
142
|
+
this.value = 0;
|
|
143
|
+
this.max = 1;
|
|
144
|
+
this.size = 'm';
|
|
145
|
+
this.colors = 'var(--tui-primary)';
|
|
146
|
+
}
|
|
147
|
+
getActiveColor(index = 0) {
|
|
148
|
+
return typeof this.colors === 'string'
|
|
149
|
+
? this.colors
|
|
150
|
+
: this.colors[index] || this.colors[this.colors.length - 1];
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
__decorate([
|
|
154
|
+
Input(),
|
|
155
|
+
tuiDefaultProp(nonNegativeInt, 'Must be non-negative integer between 0 and max')
|
|
156
|
+
], TuiProgressSegmentedComponent.prototype, "value", void 0);
|
|
157
|
+
__decorate([
|
|
158
|
+
Input(),
|
|
159
|
+
tuiDefaultProp(positiveInt, 'Must be positive integer')
|
|
160
|
+
], TuiProgressSegmentedComponent.prototype, "max", void 0);
|
|
161
|
+
__decorate([
|
|
162
|
+
Input(),
|
|
163
|
+
HostBinding('attr.data-size')
|
|
164
|
+
], TuiProgressSegmentedComponent.prototype, "size", void 0);
|
|
165
|
+
__decorate([
|
|
166
|
+
Input(),
|
|
167
|
+
tuiDefaultProp()
|
|
168
|
+
], TuiProgressSegmentedComponent.prototype, "colors", void 0);
|
|
169
|
+
TuiProgressSegmentedComponent = __decorate([
|
|
170
|
+
Component({
|
|
171
|
+
selector: 'tui-progress-segmented',
|
|
172
|
+
template: "<progress class=\"t-hidden-progress\" [value]=\"value\" [max]=\"max\"></progress>\n\n<span\n *tuiRepeatTimes=\"let index of max\"\n class=\"t-segment\"\n aria-hidden=\"true\"\n [style.background]=\"index < value ? getActiveColor(index) : null\"\n></span>\n",
|
|
173
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
174
|
+
styles: [":host{display:flex}.t-segment{transition-property:background-color;transition-duration:var(--tui-duration,300ms);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{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;position:absolute}"]
|
|
175
|
+
})
|
|
176
|
+
], TuiProgressSegmentedComponent);
|
|
177
|
+
|
|
70
178
|
let TuiProgressModule = class TuiProgressModule {
|
|
71
179
|
};
|
|
72
180
|
TuiProgressModule = __decorate([
|
|
73
181
|
NgModule({
|
|
74
|
-
imports: [CommonModule],
|
|
182
|
+
imports: [CommonModule, TuiRepeatTimesModule],
|
|
75
183
|
declarations: [
|
|
76
184
|
TuiProgressBarComponent,
|
|
77
|
-
TuiProgressLabelComponent,
|
|
78
185
|
TuiProgressColorSegmentsPipe,
|
|
186
|
+
TuiProgressCircleComponent,
|
|
187
|
+
TuiProgressLabelComponent,
|
|
188
|
+
TuiProgressSegmentedComponent,
|
|
79
189
|
],
|
|
80
190
|
exports: [
|
|
81
191
|
TuiProgressBarComponent,
|
|
82
|
-
|
|
192
|
+
TuiProgressCircleComponent,
|
|
83
193
|
TuiProgressColorSegmentsPipe,
|
|
194
|
+
TuiProgressLabelComponent,
|
|
195
|
+
TuiProgressSegmentedComponent,
|
|
84
196
|
],
|
|
85
197
|
})
|
|
86
198
|
], TuiProgressModule);
|
|
@@ -89,5 +201,5 @@ TuiProgressModule = __decorate([
|
|
|
89
201
|
* Generated bundle index. Do not edit.
|
|
90
202
|
*/
|
|
91
203
|
|
|
92
|
-
export { TuiProgressBarComponent, TuiProgressColorSegmentsPipe, TuiProgressLabelComponent, TuiProgressModule };
|
|
204
|
+
export { TuiProgressBarComponent, TuiProgressCircleComponent, TuiProgressColorSegmentsPipe, TuiProgressLabelComponent, TuiProgressModule, TuiProgressSegmentedComponent, nonNegativeInt, positiveInt };
|
|
93
205
|
//# sourceMappingURL=taiga-ui-kit-components-progress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-progress.js","sources":["ng://@taiga-ui/kit/components/progress/pipes/progress-color-segments.pipe.ts","ng://@taiga-ui/kit/components/progress/progress-bar/progress-bar.component.ts","ng://@taiga-ui/kit/components/progress/progress-label/progress-label.component.ts","ng://@taiga-ui/kit/components/progress/progress.module.ts","ng://@taiga-ui/kit/components/progress/taiga-ui-kit-components-progress.ts"],"sourcesContent":["import {ElementRef, Inject, Pipe, PipeTransform} from '@angular/core';\nimport {USER_AGENT} from '@ng-web-apis/common';\nimport {CHROMIUM_EDGE_START_VERSION, isEdgeOlderThan, isIE} from '@taiga-ui/cdk';\n\n@Pipe({\n name: 'tuiProgressColorSegments',\n})\nexport class TuiProgressColorSegmentsPipe implements PipeTransform {\n private readonly isOldBrowsers =\n isEdgeOlderThan(CHROMIUM_EDGE_START_VERSION, this.userAgent) ||\n isIE(this.userAgent);\n\n constructor(\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n\n transform(colors: string[]): string {\n if (this.isOldBrowsers) {\n return colors[0];\n }\n\n const elementWidth = this.elementRef.nativeElement.offsetWidth;\n const segmentWidth = Math.ceil(elementWidth / 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","import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiSizeS} 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 @tuiDefaultProp()\n size: TuiSizeS = 'm';\n}\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","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiProgressColorSegmentsPipe} from './pipes/progress-color-segments.pipe';\nimport {TuiProgressBarComponent} from './progress-bar/progress-bar.component';\nimport {TuiProgressLabelComponent} from './progress-label/progress-label.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n TuiProgressBarComponent,\n TuiProgressLabelComponent,\n TuiProgressColorSegmentsPipe,\n ],\n exports: [\n TuiProgressBarComponent,\n TuiProgressLabelComponent,\n TuiProgressColorSegmentsPipe,\n ],\n})\nexport class TuiProgressModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;IAOa,4BAA4B,GAAzC,MAAa,4BAA4B;IAKrC,YACyC,SAAiB,EACjB,UAAmC;QADnC,cAAS,GAAT,SAAS,CAAQ;QACjB,eAAU,GAAV,UAAU,CAAyB;QAN3D,kBAAa,GAC1B,eAAe,CAAC,2BAA2B,EAAE,IAAI,CAAC,SAAS,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAKrB;IAEJ,SAAS,CAAC,MAAgB;QACtB,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;SACpB;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC;QAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAC9B,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,KACV,GAAG,GAAG,KAAK,KAAK,IAAI,CAAC,GAAG,YAAY,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,YAAY,IAAI,EACxE,EAAE,CACL,CAAC;QAEF,OAAO,4BAA4B,YAAY,GAAG,CAAC;KACtD;EACJ;;yCAnBQ,MAAM,SAAC,UAAU;YAC+B,UAAU,uBAA1D,MAAM,SAAC,UAAU;;AAPb,4BAA4B;IAHxC,IAAI,CAAC;QACF,IAAI,EAAE,0BAA0B;KACnC,CAAC;IAOO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;IAClB,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;GAPd,4BAA4B,CAyBxC;;ICtBY,uBAAuB,GAApC,MAAa,uBAAuB;IAApC;QAQI,SAAI,GAAa,GAAG,CAAC;KACxB;EAAA;AANG;IAFC,KAAK,EAAE;IACP,WAAW,CAAC,4BAA4B,CAAC;sDAC3B;AAKf;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,gBAAgB,CAAC;IAC7B,cAAc,EAAE;qDACI;AARZ,uBAAuB;IANnC,SAAS,CAAC;QACP,QAAQ,EAAE,0BAA0B;QACpC,QAAQ,EAAE,EAAE;QAEZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;;KAClD,CAAC;GACW,uBAAuB,CASnC;;ICXY,yBAAyB,GAAtC,MAAa,yBAAyB;EAAG;AAA5B,yBAAyB;IANrC,SAAS,CAAC;QACP,QAAQ,EAAE,yBAAyB;QACnC,2HAA6C;QAE7C,eAAe,EAAE,uBAAuB,CAAC,MAAM;;KAClD,CAAC;GACW,yBAAyB,CAAG;;ICW5B,iBAAiB,GAA9B,MAAa,iBAAiB;EAAG;AAApB,iBAAiB;IAb7B,QAAQ,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,CAAC;QACvB,YAAY,EAAE;YACV,uBAAuB;YACvB,yBAAyB;YACzB,4BAA4B;SAC/B;QACD,OAAO,EAAE;YACL,uBAAuB;YACvB,yBAAyB;YACzB,4BAA4B;SAC/B;KACJ,CAAC;GACW,iBAAiB,CAAG;;ACnBjC;;;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-progress.js","sources":["ng://@taiga-ui/kit/components/progress/pipes/progress-color-segments.pipe.ts","ng://@taiga-ui/kit/components/progress/progress-bar/progress-bar.component.ts","ng://@taiga-ui/kit/components/progress/progress-circle/progress-circle.component.ts","ng://@taiga-ui/kit/components/progress/progress-label/progress-label.component.ts","ng://@taiga-ui/kit/components/progress/progress-segmented/progress-segmented.component.ts","ng://@taiga-ui/kit/components/progress/progress.module.ts","ng://@taiga-ui/kit/components/progress/taiga-ui-kit-components-progress.ts"],"sourcesContent":["import {ElementRef, Inject, Pipe, PipeTransform} from '@angular/core';\nimport {USER_AGENT} from '@ng-web-apis/common';\nimport {CHROMIUM_EDGE_START_VERSION, isEdgeOlderThan, isIE} from '@taiga-ui/cdk';\n\n@Pipe({\n name: 'tuiProgressColorSegments',\n})\nexport class TuiProgressColorSegmentsPipe implements PipeTransform {\n private readonly isOldBrowsers =\n isEdgeOlderThan(CHROMIUM_EDGE_START_VERSION, this.userAgent) ||\n isIE(this.userAgent);\n\n constructor(\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n\n transform(colors: string[]): string {\n if (this.isOldBrowsers) {\n return colors[0];\n }\n\n const elementWidth = this.elementRef.nativeElement.offsetWidth;\n const segmentWidth = Math.ceil(elementWidth / 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","import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiSizeS} 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 @tuiDefaultProp()\n size: TuiSizeS = 'm';\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 {\n CHROMIUM_EDGE_START_VERSION,\n isEdgeOlderThan,\n tuiDefaultProp,\n} from '@taiga-ui/cdk';\nimport {TuiSizeS, TuiSizeXL} from '@taiga-ui/core';\n\n// @dynamic\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 @Input()\n @tuiDefaultProp()\n value = 0;\n\n @Input()\n @tuiDefaultProp()\n max = 1;\n\n @Input()\n @HostBinding('style.--tui-progress-color')\n @tuiDefaultProp()\n color: string | null = null;\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS | TuiSizeXL = 'm';\n\n @HostBinding('style.--progress-percentage')\n get progressPercentage(): number {\n return this.value / this.max;\n }\n\n @ViewChild('progressCircle', {static: true})\n private readonly progressCircle!: ElementRef<SVGCircleElement>;\n\n get oldEdgeRadiusFallback(): number | null {\n if (!isEdgeOlderThan(CHROMIUM_EDGE_START_VERSION, this.userAgent)) {\n return null;\n }\n\n const strokeWidth = parseInt(\n this.windowRef.getComputedStyle(this.progressCircle.nativeElement)\n .strokeWidth,\n 10,\n );\n\n return (this.elementRef.nativeElement.offsetWidth - strokeWidth) / 2;\n }\n\n constructor(\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n}\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","import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\n\nexport function nonNegativeInt(value: number): boolean {\n return Number.isInteger(value) && value >= 0;\n}\n\nexport function positiveInt(value: number): boolean {\n return Number.isInteger(value) && value > 0;\n}\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 @tuiDefaultProp(nonNegativeInt, 'Must be non-negative integer between 0 and max')\n value = 0;\n\n @Input()\n @tuiDefaultProp(positiveInt, 'Must be positive integer')\n max = 1;\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeS = 'm';\n\n @Input()\n @tuiDefaultProp()\n colors: string | ReadonlyArray<string> = 'var(--tui-primary)';\n\n getActiveColor(index: number = 0): string | null {\n return typeof this.colors === 'string'\n ? this.colors\n : this.colors[index] || this.colors[this.colors.length - 1];\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiProgressColorSegmentsPipe} from './pipes/progress-color-segments.pipe';\nimport {TuiProgressBarComponent} from './progress-bar/progress-bar.component';\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 TuiProgressColorSegmentsPipe,\n TuiProgressCircleComponent,\n TuiProgressLabelComponent,\n TuiProgressSegmentedComponent,\n ],\n exports: [\n TuiProgressBarComponent,\n TuiProgressCircleComponent,\n TuiProgressColorSegmentsPipe,\n TuiProgressLabelComponent,\n TuiProgressSegmentedComponent,\n ],\n})\nexport class TuiProgressModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;IAOa,4BAA4B,GAAzC,MAAa,4BAA4B;IAKrC,YACyC,SAAiB,EACjB,UAAmC;QADnC,cAAS,GAAT,SAAS,CAAQ;QACjB,eAAU,GAAV,UAAU,CAAyB;QAN3D,kBAAa,GAC1B,eAAe,CAAC,2BAA2B,EAAE,IAAI,CAAC,SAAS,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAKrB;IAEJ,SAAS,CAAC,MAAgB;QACtB,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;SACpB;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC;QAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAC9B,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,KACV,GAAG,GAAG,KAAK,KAAK,IAAI,CAAC,GAAG,YAAY,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,YAAY,IAAI,EACxE,EAAE,CACL,CAAC;QAEF,OAAO,4BAA4B,YAAY,GAAG,CAAC;KACtD;EACJ;;yCAnBQ,MAAM,SAAC,UAAU;YAC+B,UAAU,uBAA1D,MAAM,SAAC,UAAU;;AAPb,4BAA4B;IAHxC,IAAI,CAAC;QACF,IAAI,EAAE,0BAA0B;KACnC,CAAC;IAOO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;IAClB,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;GAPd,4BAA4B,CAyBxC;;ICtBY,uBAAuB,GAApC,MAAa,uBAAuB;IAApC;QAQI,SAAI,GAAa,GAAG,CAAC;KACxB;EAAA;AANG;IAFC,KAAK,EAAE;IACP,WAAW,CAAC,4BAA4B,CAAC;sDAC3B;AAKf;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,gBAAgB,CAAC;IAC7B,cAAc,EAAE;qDACI;AARZ,uBAAuB;IANnC,SAAS,CAAC;QACP,QAAQ,EAAE,0BAA0B;QACpC,QAAQ,EAAE,EAAE;QAEZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;;KAClD,CAAC;GACW,uBAAuB,CASnC;;ACFD;IAOa,0BAA0B,GAAvC,MAAa,0BAA0B;IAyCnC,YACyC,SAAiB,EACrB,SAAiB,EACb,UAAmC;QAFnC,cAAS,GAAT,SAAS,CAAQ;QACrB,cAAS,GAAT,SAAS,CAAQ;QACb,eAAU,GAAV,UAAU,CAAyB;QAzC5E,UAAK,GAAG,CAAC,CAAC;QAIV,QAAG,GAAG,CAAC,CAAC;QAKR,UAAK,GAAkB,IAAI,CAAC;QAK5B,SAAI,GAAyB,GAAG,CAAC;KA4B7B;IAzBJ,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;KAChC;IAKD,IAAI,qBAAqB;QACrB,IAAI,CAAC,eAAe,CAAC,2BAA2B,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE;YAC/D,OAAO,IAAI,CAAC;SACf;QAED,MAAM,WAAW,GAAG,QAAQ,CACxB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;aAC7D,WAAW,EAChB,EAAE,CACL,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,GAAG,WAAW,IAAI,CAAC,CAAC;KACxE;EAOJ;;yCAJQ,MAAM,SAAC,UAAU;YAC0B,MAAM,uBAAjD,MAAM,SAAC,MAAM;YACmC,UAAU,uBAA1D,MAAM,SAAC,UAAU;;AAzCtB;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;yDACP;AAIV;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;uDACT;AAKR;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,4BAA4B,CAAC;IACzC,cAAc,EAAE;yDACW;AAK5B;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,gBAAgB,CAAC;IAC7B,cAAc,EAAE;wDACgB;AAGjC;IADC,WAAW,CAAC,6BAA6B,CAAC;oEAG1C;AAGD;IADC,SAAS,CAAC,gBAAgB,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC;kEACmB;AAzBtD,0BAA0B;IANtC,SAAS,CAAC;QACP,QAAQ,EAAE,qBAAqB;QAC/B,0eAA8C;QAE9C,eAAe,EAAE,uBAAuB,CAAC,MAAM;;KAClD,CAAC;IA2CO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;IAClB,WAAA,MAAM,CAAC,MAAM,CAAC,CAAA;IACd,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;GA5Cd,0BAA0B,CA8CtC;;IC9DY,yBAAyB,GAAtC,MAAa,yBAAyB;EAAG;AAA5B,yBAAyB;IANrC,SAAS,CAAC;QACP,QAAQ,EAAE,yBAAyB;QACnC,uLAA6C;QAE7C,eAAe,EAAE,uBAAuB,CAAC,MAAM;;KAClD,CAAC;GACW,yBAAyB,CAAG;;SCJzB,cAAc,CAAC,KAAa;IACxC,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACjD,CAAC;SAEe,WAAW,CAAC,KAAa;IACrC,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;AAChD,CAAC;IAQY,6BAA6B,GAA1C,MAAa,6BAA6B;IAA1C;QAGI,UAAK,GAAG,CAAC,CAAC;QAIV,QAAG,GAAG,CAAC,CAAC;QAIR,SAAI,GAAa,GAAG,CAAC;QAIrB,WAAM,GAAmC,oBAAoB,CAAC;KAOjE;IALG,cAAc,CAAC,QAAgB,CAAC;QAC5B,OAAO,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;cAChC,IAAI,CAAC,MAAM;cACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KACnE;EACJ;AAnBG;IAFC,KAAK,EAAE;IACP,cAAc,CAAC,cAAc,EAAE,gDAAgD,CAAC;4DACvE;AAIV;IAFC,KAAK,EAAE;IACP,cAAc,CAAC,WAAW,EAAE,0BAA0B,CAAC;0DAChD;AAIR;IAFC,KAAK,EAAE;IACP,WAAW,CAAC,gBAAgB,CAAC;2DACT;AAIrB;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;6DAC6C;AAfrD,6BAA6B;IANzC,SAAS,CAAC;QACP,QAAQ,EAAE,wBAAwB;QAClC,wRAAiD;QAEjD,eAAe,EAAE,uBAAuB,CAAC,MAAM;;KAClD,CAAC;GACW,6BAA6B,CAsBzC;;ICdY,iBAAiB,GAA9B,MAAa,iBAAiB;EAAG;AAApB,iBAAiB;IAjB7B,QAAQ,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,EAAE,oBAAoB,CAAC;QAC7C,YAAY,EAAE;YACV,uBAAuB;YACvB,4BAA4B;YAC5B,0BAA0B;YAC1B,yBAAyB;YACzB,6BAA6B;SAChC;QACD,OAAO,EAAE;YACL,uBAAuB;YACvB,0BAA0B;YAC1B,4BAA4B;YAC5B,yBAAyB;YACzB,6BAA6B;SAChC;KACJ,CAAC;GACW,iBAAiB,CAAG;;AC1BjC;;;;;;"}
|
|
@@ -81,10 +81,7 @@ TuiStepperComponent = __decorate([
|
|
|
81
81
|
selector: 'tui-stepper, nav[tuiStepper]',
|
|
82
82
|
template: "<ng-container *ngIf=\"changes$ | async\"></ng-container>\n<ng-content></ng-content>\n",
|
|
83
83
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
84
|
-
host: {
|
|
85
|
-
class: 'tui-zero-scrollbar',
|
|
86
|
-
},
|
|
87
|
-
styles: [":host{display:flex;overflow:auto;counter-reset:steps}:host[data-orientation=vertical]{flex-direction:column}"]
|
|
84
|
+
styles: [":host{scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow:auto;counter-reset:steps}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host[data-orientation=vertical]{flex-direction:column}"]
|
|
88
85
|
})
|
|
89
86
|
], TuiStepperComponent);
|
|
90
87
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-stepper.js","sources":["ng://@taiga-ui/kit/components/stepper/stepper.component.ts","ng://@taiga-ui/kit/components/stepper/step/step.component.ts","ng://@taiga-ui/kit/components/stepper/stepper.module.ts","ng://@taiga-ui/kit/components/stepper/taiga-ui-kit-components-stepper.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getOriginalArrayFromQueryList,\n itemsQueryListObservable,\n moveFocus,\n tuiDefaultProp,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiOrientationT} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {delay} from 'rxjs/operators';\nimport {TuiStepComponent} from './step/step.component';\n\n@Component({\n selector: 'tui-stepper, nav[tuiStepper]',\n templateUrl: './stepper.template.html',\n styleUrls: ['./stepper.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-zero-scrollbar',\n },\n})\nexport class TuiStepperComponent {\n @Input()\n @HostBinding('attr.data-orientation')\n @tuiDefaultProp()\n orientation: TuiOrientationT = 'horizontal';\n\n @Input()\n @tuiDefaultProp()\n activeItemIndex = 0;\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n @ContentChildren(forwardRef(() => TuiStepComponent), {read: ElementRef})\n private readonly steps: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n @tuiPure\n get changes$(): Observable<unknown> {\n // Delay is required to trigger change detection after steps are rendered\n // so they can update their \"active\" status\n return itemsQueryListObservable(this.steps).pipe(delay(0));\n }\n\n indexOf(step: HTMLElement): number {\n return getOriginalArrayFromQueryList(this.steps).findIndex(\n ({nativeElement}) => nativeElement === step,\n );\n }\n\n isActive(index: number): boolean {\n return index === this.activeItemIndex;\n }\n\n activate(index: number) {\n if (this.activeItemIndex === index) {\n return;\n }\n\n this.activeItemIndex = index;\n this.activeItemIndexChange.emit(index);\n }\n\n @HostListener('keydown.arrowRight', ['$event', '1'])\n @HostListener('keydown.arrowLeft', ['$event', '-1'])\n onHorizontal(event: Event, step: number) {\n if (this.orientation !== 'horizontal' || !event.target) {\n return;\n }\n\n event.preventDefault();\n this.moveFocus(event.target, step);\n }\n\n @HostListener('keydown.arrowDown', ['$event', '1'])\n @HostListener('keydown.arrowUp', ['$event', '-1'])\n onVertical(event: Event, step: number) {\n if (this.orientation !== 'vertical' || !event.target) {\n return;\n }\n\n event.preventDefault();\n this.moveFocus(event.target, step);\n }\n\n private moveFocus(current: EventTarget, step: number) {\n const steps = getOriginalArrayFromQueryList(this.steps).map(\n ({nativeElement}) => nativeElement,\n );\n\n moveFocus(steps.indexOf(current as HTMLElement), steps, step);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {\n identity,\n tuiDefaultProp,\n TuiDestroyService,\n TuiFocusVisibleService,\n} from '@taiga-ui/cdk';\nimport {TuiRouterLinkActiveService} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {filter} from 'rxjs/operators';\nimport {TuiStepperComponent} from '../stepper.component';\n\n@Component({\n selector:\n 'button[tuiStep], a[tuiStep]:not([routerLink]), a[tuiStep][routerLink][routerLinkActive]',\n templateUrl: './step.template.html',\n styleUrls: ['./step.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService, TuiRouterLinkActiveService, TuiFocusVisibleService],\n host: {\n type: 'button',\n },\n})\nexport class TuiStepComponent {\n @Input()\n @HostBinding('attr.data-state')\n @tuiDefaultProp()\n state: 'normal' | 'pass' | 'error' = 'normal';\n\n @Input()\n @tuiDefaultProp()\n icon = '';\n\n @HostBinding('class._focus-visible')\n focusVisible = false;\n\n constructor(\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n @Inject(TuiRouterLinkActiveService) routerLinkActive$: Observable<boolean>,\n @Inject(TuiStepperComponent) private readonly stepper: TuiStepperComponent,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n routerLinkActive$.pipe(filter(identity)).subscribe(() => {\n this.activate();\n });\n\n focusVisible$.subscribe(visible => {\n this.focusVisible = visible;\n });\n }\n\n @HostBinding('class._active')\n get isActive(): boolean {\n return this.stepper.isActive(this.index);\n }\n\n @HostBinding('class._vertical')\n get isVertical(): boolean {\n return this.stepper.orientation === 'vertical';\n }\n\n @HostBinding('tabIndex')\n get tabIndex(): number {\n return this.isActive ? 0 : -1;\n }\n\n get index(): number {\n return this.stepper.indexOf(this.elementRef.nativeElement);\n }\n\n @HostListener('click')\n activate() {\n this.stepper.activate(this.index);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\nimport {TuiStepComponent} from './step/step.component';\nimport {TuiStepperComponent} from './stepper.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule],\n declarations: [TuiStepperComponent, TuiStepComponent],\n exports: [TuiStepperComponent, TuiStepComponent],\n})\nexport class TuiStepperModule {}\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-stepper.js","sources":["ng://@taiga-ui/kit/components/stepper/stepper.component.ts","ng://@taiga-ui/kit/components/stepper/step/step.component.ts","ng://@taiga-ui/kit/components/stepper/stepper.module.ts","ng://@taiga-ui/kit/components/stepper/taiga-ui-kit-components-stepper.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getOriginalArrayFromQueryList,\n itemsQueryListObservable,\n moveFocus,\n tuiDefaultProp,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiOrientationT} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {delay} from 'rxjs/operators';\nimport {TuiStepComponent} from './step/step.component';\n\n@Component({\n selector: 'tui-stepper, nav[tuiStepper]',\n templateUrl: './stepper.template.html',\n styleUrls: ['./stepper.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiStepperComponent {\n @Input()\n @HostBinding('attr.data-orientation')\n @tuiDefaultProp()\n orientation: TuiOrientationT = 'horizontal';\n\n @Input()\n @tuiDefaultProp()\n activeItemIndex = 0;\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n @ContentChildren(forwardRef(() => TuiStepComponent), {read: ElementRef})\n private readonly steps: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n @tuiPure\n get changes$(): Observable<unknown> {\n // Delay is required to trigger change detection after steps are rendered\n // so they can update their \"active\" status\n return itemsQueryListObservable(this.steps).pipe(delay(0));\n }\n\n indexOf(step: HTMLElement): number {\n return getOriginalArrayFromQueryList(this.steps).findIndex(\n ({nativeElement}) => nativeElement === step,\n );\n }\n\n isActive(index: number): boolean {\n return index === this.activeItemIndex;\n }\n\n activate(index: number) {\n if (this.activeItemIndex === index) {\n return;\n }\n\n this.activeItemIndex = index;\n this.activeItemIndexChange.emit(index);\n }\n\n @HostListener('keydown.arrowRight', ['$event', '1'])\n @HostListener('keydown.arrowLeft', ['$event', '-1'])\n onHorizontal(event: Event, step: number) {\n if (this.orientation !== 'horizontal' || !event.target) {\n return;\n }\n\n event.preventDefault();\n this.moveFocus(event.target, step);\n }\n\n @HostListener('keydown.arrowDown', ['$event', '1'])\n @HostListener('keydown.arrowUp', ['$event', '-1'])\n onVertical(event: Event, step: number) {\n if (this.orientation !== 'vertical' || !event.target) {\n return;\n }\n\n event.preventDefault();\n this.moveFocus(event.target, step);\n }\n\n private moveFocus(current: EventTarget, step: number) {\n const steps = getOriginalArrayFromQueryList(this.steps).map(\n ({nativeElement}) => nativeElement,\n );\n\n moveFocus(steps.indexOf(current as HTMLElement), steps, step);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {\n identity,\n tuiDefaultProp,\n TuiDestroyService,\n TuiFocusVisibleService,\n} from '@taiga-ui/cdk';\nimport {TuiRouterLinkActiveService} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {filter} from 'rxjs/operators';\nimport {TuiStepperComponent} from '../stepper.component';\n\n@Component({\n selector:\n 'button[tuiStep], a[tuiStep]:not([routerLink]), a[tuiStep][routerLink][routerLinkActive]',\n templateUrl: './step.template.html',\n styleUrls: ['./step.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService, TuiRouterLinkActiveService, TuiFocusVisibleService],\n host: {\n type: 'button',\n },\n})\nexport class TuiStepComponent {\n @Input()\n @HostBinding('attr.data-state')\n @tuiDefaultProp()\n state: 'normal' | 'pass' | 'error' = 'normal';\n\n @Input()\n @tuiDefaultProp()\n icon = '';\n\n @HostBinding('class._focus-visible')\n focusVisible = false;\n\n constructor(\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n @Inject(TuiRouterLinkActiveService) routerLinkActive$: Observable<boolean>,\n @Inject(TuiStepperComponent) private readonly stepper: TuiStepperComponent,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n routerLinkActive$.pipe(filter(identity)).subscribe(() => {\n this.activate();\n });\n\n focusVisible$.subscribe(visible => {\n this.focusVisible = visible;\n });\n }\n\n @HostBinding('class._active')\n get isActive(): boolean {\n return this.stepper.isActive(this.index);\n }\n\n @HostBinding('class._vertical')\n get isVertical(): boolean {\n return this.stepper.orientation === 'vertical';\n }\n\n @HostBinding('tabIndex')\n get tabIndex(): number {\n return this.isActive ? 0 : -1;\n }\n\n get index(): number {\n return this.stepper.indexOf(this.elementRef.nativeElement);\n }\n\n @HostListener('click')\n activate() {\n this.stepper.activate(this.index);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\nimport {TuiStepComponent} from './step/step.component';\nimport {TuiStepperComponent} from './stepper.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule],\n declarations: [TuiStepperComponent, TuiStepComponent],\n exports: [TuiStepperComponent, TuiStepComponent],\n})\nexport class TuiStepperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -238,9 +238,6 @@ TuiTabsComponent = __decorate([
|
|
|
238
238
|
selector: 'tui-tabs, nav[tuiTabs]',
|
|
239
239
|
template: "<tui-underline\n *ngIf=\"underline && (refresh$ | async)\"\n [element]=\"activeElement\"\n></tui-underline>\n<ng-content></ng-content>\n",
|
|
240
240
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
241
|
-
host: {
|
|
242
|
-
class: 'tui-zero-scrollbar',
|
|
243
|
-
},
|
|
244
241
|
providers: [
|
|
245
242
|
TuiDestroyService,
|
|
246
243
|
TuiResizeService,
|
|
@@ -250,7 +247,7 @@ TuiTabsComponent = __decorate([
|
|
|
250
247
|
useValue: OBSERVER_INIT,
|
|
251
248
|
},
|
|
252
249
|
],
|
|
253
|
-
styles: [":host{font:var(--tui-font-text-m);position:relative;display:flex;height:var(--tui-height-l);color:var(--tui-text-02);box-shadow:inset 0 -1px var(--tui-base-03);overflow:auto}:host._android{height:auto}:host._ios{height:auto;border:2px solid transparent;border-radius:.5625rem;background:var(--tui-link);box-shadow:none}"]
|
|
250
|
+
styles: [":host{scrollbar-width:none;-ms-overflow-style:none;font:var(--tui-font-text-m);position:relative;display:flex;height:var(--tui-height-l);color:var(--tui-text-02);box-shadow:inset 0 -1px var(--tui-base-03);overflow:auto}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host._android{height:auto}:host._ios{height:auto;border:2px solid transparent;border-radius:.5625rem;background:var(--tui-link);box-shadow:none}"]
|
|
254
251
|
}),
|
|
255
252
|
__param(0, Inject(ElementRef)),
|
|
256
253
|
__param(1, Inject(Renderer2)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-tabs.js","sources":["ng://@taiga-ui/kit/components/tabs/tab.directive.ts","ng://@taiga-ui/kit/components/tabs/tab/tab.providers.ts","ng://@taiga-ui/kit/components/tabs/tab/tab.component.ts","ng://@taiga-ui/kit/components/tabs/tabs.const.ts","ng://@taiga-ui/kit/components/tabs/tabs/tabs.component.ts","ng://@taiga-ui/kit/components/tabs/tabs-with-more/tabs-with-more.providers.ts","ng://@taiga-ui/kit/components/tabs/tabs-with-more/tabs-with-more.component.ts","ng://@taiga-ui/kit/components/tabs/underline/underline.component.ts","ng://@taiga-ui/kit/components/tabs/tabs.module.ts","ng://@taiga-ui/kit/components/tabs/taiga-ui-kit-components-tabs.ts"],"sourcesContent":["import {Directive, Inject, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: `ng-template[tuiTab]`,\n})\nexport class TuiTabDirective {\n constructor(@Inject(TemplateRef) readonly template: TemplateRef<{}>) {}\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, InjectionToken, Optional, Provider} from '@angular/core';\nimport {RouterLinkActive} from '@angular/router';\nimport {MutationObserverService} from '@ng-web-apis/mutation-observer';\nimport {\n identity,\n tuiCustomEvent,\n TuiDestroyService,\n TuiFocusVisibleService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TuiRouterLinkActiveService} from '@taiga-ui/core';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {filter, map} from 'rxjs/operators';\n\nexport const TUI_TAB_ACTIVATE = 'tui-tab-activate';\nexport const TUI_TAB_EVENT = new InjectionToken<Observable<Event>>(\n 'Stream of tab activation events',\n);\nexport const TUI_TAB_PROVIDERS: Provider[] = [\n TuiDestroyService,\n TuiFocusVisibleService,\n TuiRouterLinkActiveService,\n {\n provide: TUI_TAB_EVENT,\n deps: [\n ElementRef,\n DOCUMENT,\n TuiRouterLinkActiveService,\n [new Optional(), MutationObserverService],\n [new Optional(), RouterLinkActive],\n ],\n useFactory: tabActiveFactory,\n },\n MODE_PROVIDER,\n];\n\nexport function tabActiveFactory(\n {nativeElement}: ElementRef<HTMLElement>,\n documentRef: Document,\n routerLinkActiveService: Observable<boolean>,\n mutationObserverService: MutationObserverService | null,\n routerLinkActive: RouterLinkActive | null,\n): Observable<unknown> {\n const mutationObserver =\n routerLinkActive && mutationObserverService\n ? mutationObserverService.pipe(filter(() => routerLinkActive.isActive))\n : EMPTY;\n\n return merge(\n mutationObserver,\n routerLinkActiveService.pipe(filter(identity)),\n nativeElement.matches('button') ? typedFromEvent(nativeElement, 'click') : EMPTY,\n ).pipe(\n map(() =>\n nativeElement.dispatchEvent(\n tuiCustomEvent(TUI_TAB_ACTIVATE, {bubbles: true}, documentRef),\n ),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n OnDestroy,\n Optional,\n} from '@angular/core';\nimport {RouterLinkActive} from '@angular/router';\nimport {\n isNativeFocused,\n setNativeFocused,\n TUI_IS_ANDROID,\n TUI_IS_IOS,\n TuiFocusVisibleService,\n} from '@taiga-ui/cdk';\nimport {TUI_MODE, TuiBrightness} from '@taiga-ui/core';\nimport {TUI_MOBILE_AWARE} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {TUI_TAB_EVENT, TUI_TAB_PROVIDERS} from './tab.providers';\n\n@Component({\n selector: `a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]`,\n templateUrl: './tab.template.html',\n styleUrls: ['./tab.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TAB_PROVIDERS,\n host: {\n '($.data-mode.attr)': 'mode$',\n type: 'button',\n },\n})\nexport class TuiTabComponent implements OnDestroy {\n @HostBinding('class._ios')\n readonly isIos: boolean;\n\n @HostBinding('class._android')\n readonly isAndroid: boolean;\n\n @HostBinding('class._focus-visible')\n focusVisible = false;\n\n constructor(\n @Optional()\n @Inject(RouterLinkActive)\n private readonly routerLinkActive: RouterLinkActive | null,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TAB_EVENT) readonly event$: Observable<Event>,\n @Inject(TUI_MOBILE_AWARE) mobileAware: boolean,\n @Inject(TUI_IS_IOS) isIos: boolean,\n @Inject(TUI_IS_ANDROID) isAndroid: boolean,\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n ) {\n this.isIos = mobileAware && isIos;\n this.isAndroid = mobileAware && isAndroid;\n\n focusVisible$.subscribe(visible => {\n this.focusVisible = visible;\n });\n }\n\n @HostBinding('class._active')\n get isActive(): boolean {\n return !!this.routerLinkActive && this.routerLinkActive.isActive;\n }\n\n ngOnDestroy() {\n if (isNativeFocused(this.elementRef.nativeElement)) {\n setNativeFocused(this.elementRef.nativeElement, false);\n }\n }\n}\n","export const TAB_ACTIVE_CLASS = '_active';\nexport const TAB_MARGIN = 24;\n","import {\n AfterViewChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n QueryList,\n Renderer2,\n} from '@angular/core';\nimport {\n MUTATION_OBSERVER_INIT,\n MutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {\n EMPTY_QUERY,\n itemsQueryListObservable,\n moveFocus,\n TUI_IS_ANDROID,\n TUI_IS_IOS,\n tuiDefaultProp,\n TuiDestroyService,\n tuiPure,\n TuiResizeService,\n} from '@taiga-ui/cdk';\nimport {TUI_MOBILE_AWARE} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {filter, mapTo} from 'rxjs/operators';\nimport {TuiTabComponent} from '../tab/tab.component';\nimport {TUI_TAB_ACTIVATE} from '../tab/tab.providers';\nimport {TAB_ACTIVE_CLASS} from '../tabs.const';\n\n// TODO: remove in ivy compilation\nexport const OBSERVER_INIT = {\n childList: true,\n};\n\n// @dynamic\n@Component({\n selector: 'tui-tabs, nav[tuiTabs]',\n templateUrl: './tabs.template.html',\n styleUrls: ['./tabs.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-zero-scrollbar',\n },\n providers: [\n TuiDestroyService,\n TuiResizeService,\n MutationObserverService,\n {\n provide: MUTATION_OBSERVER_INIT,\n useValue: OBSERVER_INIT,\n },\n ],\n})\nexport class TuiTabsComponent implements AfterViewChecked {\n @Input()\n @HostBinding('class._underline')\n @tuiDefaultProp()\n underline = true;\n\n @Input('activeItemIndex')\n set activeItemIndexSetter(index: number) {\n this.activeItemIndex = index;\n this.scrollTo(this.tabs[index]);\n }\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n @HostBinding('class._ios')\n readonly isIos: boolean;\n\n @HostBinding('class._android')\n readonly isAndroid: boolean;\n\n @ContentChildren(forwardRef(() => TuiTabComponent))\n private readonly children: QueryList<unknown> = EMPTY_QUERY;\n\n activeItemIndex = 0;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiResizeService) resize$: Observable<void>,\n @Inject(TUI_IS_IOS) isIos: boolean,\n @Inject(TUI_IS_ANDROID) isAndroid: boolean,\n @Inject(TUI_MOBILE_AWARE) mobileAware: boolean,\n ) {\n this.isIos = mobileAware && isIos;\n this.isAndroid = mobileAware && isAndroid;\n\n resize$.pipe(filter(() => this.underline)).subscribe(() => {\n changeDetectorRef.detectChanges();\n });\n }\n\n @tuiPure\n get refresh$(): Observable<boolean> {\n return itemsQueryListObservable(this.children).pipe(mapTo(true));\n }\n\n get tabs(): ReadonlyArray<HTMLElement> {\n return Array.from(\n this.elementRef.nativeElement.querySelectorAll<HTMLElement>('[tuiTab]'),\n );\n }\n\n get activeElement(): HTMLElement | null {\n return this.tabs[this.activeItemIndex] || null;\n }\n\n ngAfterViewChecked() {\n const {tabs, activeElement} = this;\n\n tabs.forEach(nativeElement => {\n this.renderer.removeClass(nativeElement, TAB_ACTIVE_CLASS);\n this.renderer.setAttribute(nativeElement, 'tabIndex', '-1');\n });\n\n if (activeElement) {\n this.renderer.addClass(activeElement, TAB_ACTIVE_CLASS);\n this.renderer.setAttribute(activeElement, 'tabIndex', '0');\n }\n }\n\n @HostListener(`${TUI_TAB_ACTIVATE}.stop`, ['$event.target'])\n onActivate(element: HTMLElement) {\n const index = this.tabs.findIndex(tab => tab === element);\n\n if (index === this.activeItemIndex) {\n return;\n }\n\n this.activeItemIndexSetter = index;\n this.activeItemIndexChange.emit(index);\n }\n\n @HostListener('keydown.arrowRight.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowLeft.prevent', ['$event.target', '-1'])\n onKeyDownArrow(current: HTMLElement, step: number) {\n const {tabs} = this;\n\n moveFocus(tabs.indexOf(current), tabs, step);\n }\n\n private scrollTo(element?: HTMLElement) {\n if (!element) {\n return;\n }\n\n const {offsetLeft, offsetWidth} = element;\n const {nativeElement} = this.elementRef;\n\n if (offsetLeft < nativeElement.scrollLeft) {\n nativeElement.scrollLeft = offsetLeft;\n }\n\n if (\n offsetLeft + offsetWidth >\n nativeElement.scrollLeft + nativeElement.offsetWidth\n ) {\n nativeElement.scrollLeft =\n offsetLeft + offsetWidth - nativeElement.offsetWidth;\n }\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ChangeDetectorRef, ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {\n MUTATION_OBSERVER_INIT,\n MutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {TuiDestroyService, TuiResizeService} from '@taiga-ui/cdk';\nimport {merge, Observable} from 'rxjs';\nimport {debounceTime, filter, startWith, takeUntil, tap} from 'rxjs/operators';\n\nexport function tabsRefreshFactory(\n resize$: Observable<unknown>,\n mutations$: Observable<unknown>,\n destroy$: Observable<unknown>,\n {body}: Document,\n {nativeElement}: ElementRef<Node>,\n changeDetectorRef: ChangeDetectorRef,\n): Observable<unknown> {\n return merge(\n resize$,\n mutations$.pipe(tap(() => changeDetectorRef.detectChanges())),\n ).pipe(\n // Ignoring cases when host is detached from DOM\n filter(() => body.contains(nativeElement)),\n debounceTime(0),\n startWith(null),\n takeUntil(destroy$),\n );\n}\n\n// TODO: remove in ivy compilation\nexport const MUTATION_CONFIG = {\n childList: true,\n subtree: true,\n};\nexport const TABS_REFRESH = new InjectionToken<Observable<unknown>>('Refresh stream');\nexport const TABS_PROVIDERS: Provider[] = [\n TuiResizeService,\n TuiDestroyService,\n MutationObserverService,\n {\n provide: MUTATION_OBSERVER_INIT,\n useValue: MUTATION_CONFIG,\n },\n {\n provide: TABS_REFRESH,\n deps: [\n TuiResizeService,\n MutationObserverService,\n TuiDestroyService,\n DOCUMENT,\n ElementRef,\n ChangeDetectorRef,\n ],\n useFactory: tabsRefreshFactory,\n },\n];\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getClosestFocusable,\n isNativeFocused,\n setNativeFocused,\n tuiDefaultProp,\n} from '@taiga-ui/cdk';\nimport {TUI_MORE_WORD} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {filter, map} from 'rxjs/operators';\nimport {TuiTabDirective} from '../tab.directive';\nimport {TuiTabComponent} from '../tab/tab.component';\nimport {TAB_MARGIN} from '../tabs.const';\nimport {TABS_PROVIDERS, TABS_REFRESH} from './tabs-with-more.providers';\n\n// @dynamic\n@Component({\n selector: 'tui-tabs-with-more, nav[tuiTabsWithMore]',\n templateUrl: './tabs-with-more.template.html',\n styleUrls: ['./tabs-with-more.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TABS_PROVIDERS,\n})\nexport class TuiTabsWithMoreComponent implements AfterViewInit {\n @Input()\n @tuiDefaultProp()\n moreContent: PolymorpheusContent = '';\n\n @Input()\n @HostBinding('class._underline')\n @tuiDefaultProp()\n underline = true;\n\n @Input()\n @tuiDefaultProp()\n activeItemIndex = 0;\n\n @Input()\n @tuiDefaultProp()\n itemsLimit = Infinity;\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n @ContentChildren(TuiTabDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<{}>> = EMPTY_QUERY;\n\n open = false;\n\n private maxIndex = Infinity;\n\n @ViewChild(TuiTabComponent, {read: ElementRef})\n private readonly moreButton?: ElementRef<HTMLButtonElement>;\n\n constructor(\n @Inject(TABS_REFRESH) private readonly refresh$: Observable<unknown>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_MORE_WORD) readonly moreWord$: Observable<string>,\n ) {}\n\n get tabs(): ReadonlyArray<HTMLElement> {\n return Array.from<HTMLElement>(\n this.elementRef.nativeElement.querySelectorAll('[tuiTab]'),\n );\n }\n\n get activeElement(): HTMLElement | null {\n return this.tabs[this.activeItemIndex] || null;\n }\n\n get isMoreVisible(): boolean {\n return this.lastVisibleIndex < this.items.length - 1;\n }\n\n get isMoreFocusable(): boolean {\n return !!this.moreButton && isNativeFocused(this.moreButton.nativeElement);\n }\n\n get lastVisibleIndex(): number {\n if (this.itemsLimit + 1 >= this.items.length) {\n return this.maxIndex;\n }\n\n const offset = this.itemsLimit - 1 > this.activeItemIndex ? 1 : 2;\n\n return Math.min(this.itemsLimit - offset, this.maxIndex);\n }\n\n ngAfterViewInit() {\n this.refresh$\n .pipe(\n map(() => this.getMaxIndex()),\n filter(maxIndex => this.maxIndex !== maxIndex),\n )\n .subscribe(maxIndex => {\n this.maxIndex = maxIndex;\n this.changeDetectorRef.detectChanges();\n });\n }\n\n onActiveItemIndexChange(activeItemIndex: number) {\n this.updateActiveItemIndex(activeItemIndex);\n }\n\n onClick(index: number) {\n this.open = false;\n this.focusMore();\n this.updateActiveItemIndex(index);\n }\n\n onArrowRight(element: HTMLElement) {\n if (isNativeFocused(element)) {\n this.focusMore();\n }\n }\n\n onArrowLeft() {\n const {tabs} = this;\n let index = tabs.length - 2;\n\n while (index >= 0) {\n setNativeFocused(tabs[index]);\n\n if (isNativeFocused(tabs[index])) {\n return;\n }\n\n index--;\n }\n }\n\n onWrapperArrow(button: HTMLButtonElement, wrapper: HTMLElement, prev: boolean) {\n const target = getClosestFocusable(button, prev, wrapper);\n\n if (target) {\n setNativeFocused(target);\n }\n }\n\n private focusMore() {\n if (this.moreButton) {\n setNativeFocused(this.moreButton.nativeElement);\n }\n }\n\n private getMaxIndex(): number {\n const {tabs, activeItemIndex} = this;\n\n if (tabs.length < 2) {\n return 0;\n }\n\n const {clientWidth} = this.elementRef.nativeElement;\n const activeWidth = tabs[activeItemIndex] ? tabs[activeItemIndex].scrollWidth : 0;\n const moreWidth = tabs[tabs.length - 1].scrollWidth;\n let maxIndex = tabs.length - 2;\n let total =\n tabs.reduce((acc, tab) => acc + tab.scrollWidth, 0) +\n maxIndex * TAB_MARGIN -\n moreWidth;\n\n if (total <= clientWidth) {\n return Infinity;\n }\n\n while (maxIndex) {\n total -= tabs[maxIndex].scrollWidth + TAB_MARGIN;\n maxIndex--;\n\n const activeDisplaced = activeItemIndex > maxIndex;\n const activeOffset = activeDisplaced ? activeWidth + TAB_MARGIN : 0;\n const currentWidth = total + activeOffset + moreWidth + TAB_MARGIN;\n // Needed for different rounding of visible and hidden elements scrollWidth\n const safetyOffset = this.maxIndex === maxIndex - 1 ? 1 : 0;\n\n if (currentWidth + safetyOffset < clientWidth) {\n return maxIndex;\n }\n }\n\n return 0;\n }\n\n private updateActiveItemIndex(activeItemIndex: number) {\n if (this.activeItemIndex === activeItemIndex) {\n return;\n }\n\n this.activeItemIndex = activeItemIndex;\n this.activeItemIndexChange.emit(activeItemIndex);\n this.maxIndex = this.getMaxIndex();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n NgZone,\n} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {px, TUI_IS_ANDROID, TUI_IS_IOS, tuiDefaultProp, tuiZonefree} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TUI_MODE, TuiBrightness} from '@taiga-ui/core';\nimport {TUI_MOBILE_AWARE} from '@taiga-ui/kit/tokens';\nimport {asCallable} from '@tinkoff/ng-event-plugins';\nimport {Observable, of, ReplaySubject} from 'rxjs';\nimport {debounceTime, map, mapTo, share, switchMap} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-underline',\n template: '',\n styleUrls: ['./underline.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MODE_PROVIDER],\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiUnderlineComponent {\n @Input()\n @tuiDefaultProp()\n set element(element: HTMLElement | null) {\n this.element$.next(element);\n }\n\n @HostBinding('class._ios')\n readonly isIos = this.mobileAware && this.ios;\n\n @HostBinding('class._android')\n readonly isAndroid = this.mobileAware && this.android;\n\n private readonly element$ = new ReplaySubject<HTMLElement | null>(1);\n\n private readonly refresh$ = this.element$.pipe(\n switchMap(element =>\n element\n ? this.animationFrame$.pipe(mapTo(element), tuiZonefree(this.ngZone))\n : of(null),\n ),\n share(),\n );\n\n @HostListener('$.style.transitionProperty')\n readonly transition$ = asCallable(\n this.element$.pipe(\n map(element => element && 'all'),\n debounceTime(50),\n ),\n );\n\n @HostListener('$.style.transform')\n readonly transform$ = asCallable(\n this.refresh$.pipe(\n map(element =>\n element ? `translate3d(${px(element.offsetLeft)}, 0, 0)` : null,\n ),\n ),\n );\n\n @HostListener('$.style.width.px')\n readonly width$ = asCallable(\n this.refresh$.pipe(map(element => (element ? element.clientWidth : 0))),\n );\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n @Inject(TUI_MOBILE_AWARE) private readonly mobileAware: boolean,\n @Inject(TUI_IS_IOS) private readonly ios: boolean,\n @Inject(TUI_IS_ANDROID) private readonly android: boolean,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n ) {\n nativeElement['$.style.transitionProperty'] = this.transition$;\n nativeElement['$.style.transform'] = this.transform$;\n nativeElement['$.style.width.px'] = this.width$;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusableModule} from '@taiga-ui/cdk';\nimport {TuiHostedDropdownModule, TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TuiTabDirective} from './tab.directive';\nimport {TuiTabComponent} from './tab/tab.component';\nimport {TuiTabsWithMoreComponent} from './tabs-with-more/tabs-with-more.component';\nimport {TuiTabsComponent} from './tabs/tabs.component';\nimport {TuiUnderlineComponent} from './underline/underline.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiHostedDropdownModule,\n TuiSvgModule,\n TuiFocusableModule,\n PolymorpheusModule,\n ],\n declarations: [\n TuiTabsWithMoreComponent,\n TuiTabsComponent,\n TuiTabComponent,\n TuiUnderlineComponent,\n TuiTabDirective,\n ],\n exports: [\n TuiTabsWithMoreComponent,\n TuiTabsComponent,\n TuiTabComponent,\n TuiTabDirective,\n ],\n})\nexport class TuiTabsModule {}\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-tabs.js","sources":["ng://@taiga-ui/kit/components/tabs/tab.directive.ts","ng://@taiga-ui/kit/components/tabs/tab/tab.providers.ts","ng://@taiga-ui/kit/components/tabs/tab/tab.component.ts","ng://@taiga-ui/kit/components/tabs/tabs.const.ts","ng://@taiga-ui/kit/components/tabs/tabs/tabs.component.ts","ng://@taiga-ui/kit/components/tabs/tabs-with-more/tabs-with-more.providers.ts","ng://@taiga-ui/kit/components/tabs/tabs-with-more/tabs-with-more.component.ts","ng://@taiga-ui/kit/components/tabs/underline/underline.component.ts","ng://@taiga-ui/kit/components/tabs/tabs.module.ts","ng://@taiga-ui/kit/components/tabs/taiga-ui-kit-components-tabs.ts"],"sourcesContent":["import {Directive, Inject, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: `ng-template[tuiTab]`,\n})\nexport class TuiTabDirective {\n constructor(@Inject(TemplateRef) readonly template: TemplateRef<{}>) {}\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, InjectionToken, Optional, Provider} from '@angular/core';\nimport {RouterLinkActive} from '@angular/router';\nimport {MutationObserverService} from '@ng-web-apis/mutation-observer';\nimport {\n identity,\n tuiCustomEvent,\n TuiDestroyService,\n TuiFocusVisibleService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TuiRouterLinkActiveService} from '@taiga-ui/core';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {filter, map} from 'rxjs/operators';\n\nexport const TUI_TAB_ACTIVATE = 'tui-tab-activate';\nexport const TUI_TAB_EVENT = new InjectionToken<Observable<Event>>(\n 'Stream of tab activation events',\n);\nexport const TUI_TAB_PROVIDERS: Provider[] = [\n TuiDestroyService,\n TuiFocusVisibleService,\n TuiRouterLinkActiveService,\n {\n provide: TUI_TAB_EVENT,\n deps: [\n ElementRef,\n DOCUMENT,\n TuiRouterLinkActiveService,\n [new Optional(), MutationObserverService],\n [new Optional(), RouterLinkActive],\n ],\n useFactory: tabActiveFactory,\n },\n MODE_PROVIDER,\n];\n\nexport function tabActiveFactory(\n {nativeElement}: ElementRef<HTMLElement>,\n documentRef: Document,\n routerLinkActiveService: Observable<boolean>,\n mutationObserverService: MutationObserverService | null,\n routerLinkActive: RouterLinkActive | null,\n): Observable<unknown> {\n const mutationObserver =\n routerLinkActive && mutationObserverService\n ? mutationObserverService.pipe(filter(() => routerLinkActive.isActive))\n : EMPTY;\n\n return merge(\n mutationObserver,\n routerLinkActiveService.pipe(filter(identity)),\n nativeElement.matches('button') ? typedFromEvent(nativeElement, 'click') : EMPTY,\n ).pipe(\n map(() =>\n nativeElement.dispatchEvent(\n tuiCustomEvent(TUI_TAB_ACTIVATE, {bubbles: true}, documentRef),\n ),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n OnDestroy,\n Optional,\n} from '@angular/core';\nimport {RouterLinkActive} from '@angular/router';\nimport {\n isNativeFocused,\n setNativeFocused,\n TUI_IS_ANDROID,\n TUI_IS_IOS,\n TuiFocusVisibleService,\n} from '@taiga-ui/cdk';\nimport {TUI_MODE, TuiBrightness} from '@taiga-ui/core';\nimport {TUI_MOBILE_AWARE} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {TUI_TAB_EVENT, TUI_TAB_PROVIDERS} from './tab.providers';\n\n@Component({\n selector: `a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]`,\n templateUrl: './tab.template.html',\n styleUrls: ['./tab.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TAB_PROVIDERS,\n host: {\n '($.data-mode.attr)': 'mode$',\n type: 'button',\n },\n})\nexport class TuiTabComponent implements OnDestroy {\n @HostBinding('class._ios')\n readonly isIos: boolean;\n\n @HostBinding('class._android')\n readonly isAndroid: boolean;\n\n @HostBinding('class._focus-visible')\n focusVisible = false;\n\n constructor(\n @Optional()\n @Inject(RouterLinkActive)\n private readonly routerLinkActive: RouterLinkActive | null,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TAB_EVENT) readonly event$: Observable<Event>,\n @Inject(TUI_MOBILE_AWARE) mobileAware: boolean,\n @Inject(TUI_IS_IOS) isIos: boolean,\n @Inject(TUI_IS_ANDROID) isAndroid: boolean,\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n ) {\n this.isIos = mobileAware && isIos;\n this.isAndroid = mobileAware && isAndroid;\n\n focusVisible$.subscribe(visible => {\n this.focusVisible = visible;\n });\n }\n\n @HostBinding('class._active')\n get isActive(): boolean {\n return !!this.routerLinkActive && this.routerLinkActive.isActive;\n }\n\n ngOnDestroy() {\n if (isNativeFocused(this.elementRef.nativeElement)) {\n setNativeFocused(this.elementRef.nativeElement, false);\n }\n }\n}\n","export const TAB_ACTIVE_CLASS = '_active';\nexport const TAB_MARGIN = 24;\n","import {\n AfterViewChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n QueryList,\n Renderer2,\n} from '@angular/core';\nimport {\n MUTATION_OBSERVER_INIT,\n MutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {\n EMPTY_QUERY,\n itemsQueryListObservable,\n moveFocus,\n TUI_IS_ANDROID,\n TUI_IS_IOS,\n tuiDefaultProp,\n TuiDestroyService,\n tuiPure,\n TuiResizeService,\n} from '@taiga-ui/cdk';\nimport {TUI_MOBILE_AWARE} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {filter, mapTo} from 'rxjs/operators';\nimport {TuiTabComponent} from '../tab/tab.component';\nimport {TUI_TAB_ACTIVATE} from '../tab/tab.providers';\nimport {TAB_ACTIVE_CLASS} from '../tabs.const';\n\n// TODO: remove in ivy compilation\nexport const OBSERVER_INIT = {\n childList: true,\n};\n\n// @dynamic\n@Component({\n selector: 'tui-tabs, nav[tuiTabs]',\n templateUrl: './tabs.template.html',\n styleUrls: ['./tabs.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TuiDestroyService,\n TuiResizeService,\n MutationObserverService,\n {\n provide: MUTATION_OBSERVER_INIT,\n useValue: OBSERVER_INIT,\n },\n ],\n})\nexport class TuiTabsComponent implements AfterViewChecked {\n @Input()\n @HostBinding('class._underline')\n @tuiDefaultProp()\n underline = true;\n\n @Input('activeItemIndex')\n set activeItemIndexSetter(index: number) {\n this.activeItemIndex = index;\n this.scrollTo(this.tabs[index]);\n }\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n @HostBinding('class._ios')\n readonly isIos: boolean;\n\n @HostBinding('class._android')\n readonly isAndroid: boolean;\n\n @ContentChildren(forwardRef(() => TuiTabComponent))\n private readonly children: QueryList<unknown> = EMPTY_QUERY;\n\n activeItemIndex = 0;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiResizeService) resize$: Observable<void>,\n @Inject(TUI_IS_IOS) isIos: boolean,\n @Inject(TUI_IS_ANDROID) isAndroid: boolean,\n @Inject(TUI_MOBILE_AWARE) mobileAware: boolean,\n ) {\n this.isIos = mobileAware && isIos;\n this.isAndroid = mobileAware && isAndroid;\n\n resize$.pipe(filter(() => this.underline)).subscribe(() => {\n changeDetectorRef.detectChanges();\n });\n }\n\n @tuiPure\n get refresh$(): Observable<boolean> {\n return itemsQueryListObservable(this.children).pipe(mapTo(true));\n }\n\n get tabs(): ReadonlyArray<HTMLElement> {\n return Array.from(\n this.elementRef.nativeElement.querySelectorAll<HTMLElement>('[tuiTab]'),\n );\n }\n\n get activeElement(): HTMLElement | null {\n return this.tabs[this.activeItemIndex] || null;\n }\n\n ngAfterViewChecked() {\n const {tabs, activeElement} = this;\n\n tabs.forEach(nativeElement => {\n this.renderer.removeClass(nativeElement, TAB_ACTIVE_CLASS);\n this.renderer.setAttribute(nativeElement, 'tabIndex', '-1');\n });\n\n if (activeElement) {\n this.renderer.addClass(activeElement, TAB_ACTIVE_CLASS);\n this.renderer.setAttribute(activeElement, 'tabIndex', '0');\n }\n }\n\n @HostListener(`${TUI_TAB_ACTIVATE}.stop`, ['$event.target'])\n onActivate(element: HTMLElement) {\n const index = this.tabs.findIndex(tab => tab === element);\n\n if (index === this.activeItemIndex) {\n return;\n }\n\n this.activeItemIndexSetter = index;\n this.activeItemIndexChange.emit(index);\n }\n\n @HostListener('keydown.arrowRight.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowLeft.prevent', ['$event.target', '-1'])\n onKeyDownArrow(current: HTMLElement, step: number) {\n const {tabs} = this;\n\n moveFocus(tabs.indexOf(current), tabs, step);\n }\n\n private scrollTo(element?: HTMLElement) {\n if (!element) {\n return;\n }\n\n const {offsetLeft, offsetWidth} = element;\n const {nativeElement} = this.elementRef;\n\n if (offsetLeft < nativeElement.scrollLeft) {\n nativeElement.scrollLeft = offsetLeft;\n }\n\n if (\n offsetLeft + offsetWidth >\n nativeElement.scrollLeft + nativeElement.offsetWidth\n ) {\n nativeElement.scrollLeft =\n offsetLeft + offsetWidth - nativeElement.offsetWidth;\n }\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ChangeDetectorRef, ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {\n MUTATION_OBSERVER_INIT,\n MutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {TuiDestroyService, TuiResizeService} from '@taiga-ui/cdk';\nimport {merge, Observable} from 'rxjs';\nimport {debounceTime, filter, startWith, takeUntil, tap} from 'rxjs/operators';\n\nexport function tabsRefreshFactory(\n resize$: Observable<unknown>,\n mutations$: Observable<unknown>,\n destroy$: Observable<unknown>,\n {body}: Document,\n {nativeElement}: ElementRef<Node>,\n changeDetectorRef: ChangeDetectorRef,\n): Observable<unknown> {\n return merge(\n resize$,\n mutations$.pipe(tap(() => changeDetectorRef.detectChanges())),\n ).pipe(\n // Ignoring cases when host is detached from DOM\n filter(() => body.contains(nativeElement)),\n debounceTime(0),\n startWith(null),\n takeUntil(destroy$),\n );\n}\n\n// TODO: remove in ivy compilation\nexport const MUTATION_CONFIG = {\n childList: true,\n subtree: true,\n};\nexport const TABS_REFRESH = new InjectionToken<Observable<unknown>>('Refresh stream');\nexport const TABS_PROVIDERS: Provider[] = [\n TuiResizeService,\n TuiDestroyService,\n MutationObserverService,\n {\n provide: MUTATION_OBSERVER_INIT,\n useValue: MUTATION_CONFIG,\n },\n {\n provide: TABS_REFRESH,\n deps: [\n TuiResizeService,\n MutationObserverService,\n TuiDestroyService,\n DOCUMENT,\n ElementRef,\n ChangeDetectorRef,\n ],\n useFactory: tabsRefreshFactory,\n },\n];\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getClosestFocusable,\n isNativeFocused,\n setNativeFocused,\n tuiDefaultProp,\n} from '@taiga-ui/cdk';\nimport {TUI_MORE_WORD} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {filter, map} from 'rxjs/operators';\nimport {TuiTabDirective} from '../tab.directive';\nimport {TuiTabComponent} from '../tab/tab.component';\nimport {TAB_MARGIN} from '../tabs.const';\nimport {TABS_PROVIDERS, TABS_REFRESH} from './tabs-with-more.providers';\n\n// @dynamic\n@Component({\n selector: 'tui-tabs-with-more, nav[tuiTabsWithMore]',\n templateUrl: './tabs-with-more.template.html',\n styleUrls: ['./tabs-with-more.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TABS_PROVIDERS,\n})\nexport class TuiTabsWithMoreComponent implements AfterViewInit {\n @Input()\n @tuiDefaultProp()\n moreContent: PolymorpheusContent = '';\n\n @Input()\n @HostBinding('class._underline')\n @tuiDefaultProp()\n underline = true;\n\n @Input()\n @tuiDefaultProp()\n activeItemIndex = 0;\n\n @Input()\n @tuiDefaultProp()\n itemsLimit = Infinity;\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n @ContentChildren(TuiTabDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<{}>> = EMPTY_QUERY;\n\n open = false;\n\n private maxIndex = Infinity;\n\n @ViewChild(TuiTabComponent, {read: ElementRef})\n private readonly moreButton?: ElementRef<HTMLButtonElement>;\n\n constructor(\n @Inject(TABS_REFRESH) private readonly refresh$: Observable<unknown>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_MORE_WORD) readonly moreWord$: Observable<string>,\n ) {}\n\n get tabs(): ReadonlyArray<HTMLElement> {\n return Array.from<HTMLElement>(\n this.elementRef.nativeElement.querySelectorAll('[tuiTab]'),\n );\n }\n\n get activeElement(): HTMLElement | null {\n return this.tabs[this.activeItemIndex] || null;\n }\n\n get isMoreVisible(): boolean {\n return this.lastVisibleIndex < this.items.length - 1;\n }\n\n get isMoreFocusable(): boolean {\n return !!this.moreButton && isNativeFocused(this.moreButton.nativeElement);\n }\n\n get lastVisibleIndex(): number {\n if (this.itemsLimit + 1 >= this.items.length) {\n return this.maxIndex;\n }\n\n const offset = this.itemsLimit - 1 > this.activeItemIndex ? 1 : 2;\n\n return Math.min(this.itemsLimit - offset, this.maxIndex);\n }\n\n ngAfterViewInit() {\n this.refresh$\n .pipe(\n map(() => this.getMaxIndex()),\n filter(maxIndex => this.maxIndex !== maxIndex),\n )\n .subscribe(maxIndex => {\n this.maxIndex = maxIndex;\n this.changeDetectorRef.detectChanges();\n });\n }\n\n onActiveItemIndexChange(activeItemIndex: number) {\n this.updateActiveItemIndex(activeItemIndex);\n }\n\n onClick(index: number) {\n this.open = false;\n this.focusMore();\n this.updateActiveItemIndex(index);\n }\n\n onArrowRight(element: HTMLElement) {\n if (isNativeFocused(element)) {\n this.focusMore();\n }\n }\n\n onArrowLeft() {\n const {tabs} = this;\n let index = tabs.length - 2;\n\n while (index >= 0) {\n setNativeFocused(tabs[index]);\n\n if (isNativeFocused(tabs[index])) {\n return;\n }\n\n index--;\n }\n }\n\n onWrapperArrow(button: HTMLButtonElement, wrapper: HTMLElement, prev: boolean) {\n const target = getClosestFocusable(button, prev, wrapper);\n\n if (target) {\n setNativeFocused(target);\n }\n }\n\n private focusMore() {\n if (this.moreButton) {\n setNativeFocused(this.moreButton.nativeElement);\n }\n }\n\n private getMaxIndex(): number {\n const {tabs, activeItemIndex} = this;\n\n if (tabs.length < 2) {\n return 0;\n }\n\n const {clientWidth} = this.elementRef.nativeElement;\n const activeWidth = tabs[activeItemIndex] ? tabs[activeItemIndex].scrollWidth : 0;\n const moreWidth = tabs[tabs.length - 1].scrollWidth;\n let maxIndex = tabs.length - 2;\n let total =\n tabs.reduce((acc, tab) => acc + tab.scrollWidth, 0) +\n maxIndex * TAB_MARGIN -\n moreWidth;\n\n if (total <= clientWidth) {\n return Infinity;\n }\n\n while (maxIndex) {\n total -= tabs[maxIndex].scrollWidth + TAB_MARGIN;\n maxIndex--;\n\n const activeDisplaced = activeItemIndex > maxIndex;\n const activeOffset = activeDisplaced ? activeWidth + TAB_MARGIN : 0;\n const currentWidth = total + activeOffset + moreWidth + TAB_MARGIN;\n // Needed for different rounding of visible and hidden elements scrollWidth\n const safetyOffset = this.maxIndex === maxIndex - 1 ? 1 : 0;\n\n if (currentWidth + safetyOffset < clientWidth) {\n return maxIndex;\n }\n }\n\n return 0;\n }\n\n private updateActiveItemIndex(activeItemIndex: number) {\n if (this.activeItemIndex === activeItemIndex) {\n return;\n }\n\n this.activeItemIndex = activeItemIndex;\n this.activeItemIndexChange.emit(activeItemIndex);\n this.maxIndex = this.getMaxIndex();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n NgZone,\n} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {px, TUI_IS_ANDROID, TUI_IS_IOS, tuiDefaultProp, tuiZonefree} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TUI_MODE, TuiBrightness} from '@taiga-ui/core';\nimport {TUI_MOBILE_AWARE} from '@taiga-ui/kit/tokens';\nimport {asCallable} from '@tinkoff/ng-event-plugins';\nimport {Observable, of, ReplaySubject} from 'rxjs';\nimport {debounceTime, map, mapTo, share, switchMap} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-underline',\n template: '',\n styleUrls: ['./underline.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MODE_PROVIDER],\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiUnderlineComponent {\n @Input()\n @tuiDefaultProp()\n set element(element: HTMLElement | null) {\n this.element$.next(element);\n }\n\n @HostBinding('class._ios')\n readonly isIos = this.mobileAware && this.ios;\n\n @HostBinding('class._android')\n readonly isAndroid = this.mobileAware && this.android;\n\n private readonly element$ = new ReplaySubject<HTMLElement | null>(1);\n\n private readonly refresh$ = this.element$.pipe(\n switchMap(element =>\n element\n ? this.animationFrame$.pipe(mapTo(element), tuiZonefree(this.ngZone))\n : of(null),\n ),\n share(),\n );\n\n @HostListener('$.style.transitionProperty')\n readonly transition$ = asCallable(\n this.element$.pipe(\n map(element => element && 'all'),\n debounceTime(50),\n ),\n );\n\n @HostListener('$.style.transform')\n readonly transform$ = asCallable(\n this.refresh$.pipe(\n map(element =>\n element ? `translate3d(${px(element.offsetLeft)}, 0, 0)` : null,\n ),\n ),\n );\n\n @HostListener('$.style.width.px')\n readonly width$ = asCallable(\n this.refresh$.pipe(map(element => (element ? element.clientWidth : 0))),\n );\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n @Inject(TUI_MOBILE_AWARE) private readonly mobileAware: boolean,\n @Inject(TUI_IS_IOS) private readonly ios: boolean,\n @Inject(TUI_IS_ANDROID) private readonly android: boolean,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n ) {\n nativeElement['$.style.transitionProperty'] = this.transition$;\n nativeElement['$.style.transform'] = this.transform$;\n nativeElement['$.style.width.px'] = this.width$;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusableModule} from '@taiga-ui/cdk';\nimport {TuiHostedDropdownModule, TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TuiTabDirective} from './tab.directive';\nimport {TuiTabComponent} from './tab/tab.component';\nimport {TuiTabsWithMoreComponent} from './tabs-with-more/tabs-with-more.component';\nimport {TuiTabsComponent} from './tabs/tabs.component';\nimport {TuiUnderlineComponent} from './underline/underline.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiHostedDropdownModule,\n TuiSvgModule,\n TuiFocusableModule,\n PolymorpheusModule,\n ],\n declarations: [\n TuiTabsWithMoreComponent,\n TuiTabsComponent,\n TuiTabComponent,\n TuiUnderlineComponent,\n TuiTabDirective,\n ],\n exports: [\n TuiTabsWithMoreComponent,\n TuiTabsComponent,\n TuiTabComponent,\n TuiTabDirective,\n ],\n})\nexport class TuiTabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-text-area.js","sources":["ng://@taiga-ui/kit/components/text-area/text-area.providers.ts","ng://@taiga-ui/kit/components/text-area/text-area.component.ts","ng://@taiga-ui/kit/components/text-area/text-area.module.ts","ng://@taiga-ui/kit/components/text-area/taiga-ui-kit-components-text-area.ts"],"sourcesContent":["import {forwardRef, Provider} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {\n HINT_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n} from '@taiga-ui/core';\nimport {TuiTextAreaComponent} from './text-area.component';\n\nexport const TUI_TEXT_AREA_PROVIDERS: Provider[] = [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiTextAreaComponent),\n },\n TEXTFIELD_CONTROLLER_PROVIDER,\n HINT_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n isNativeFocused,\n setNativeFocused,\n TUI_IS_IOS,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\nimport {\n TUI_HINT_WATCHED_CONTROLLER,\n TUI_MODE,\n TUI_TEXTFIELD_APPEARANCE,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiBrightness,\n TuiHintControllerDirective,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {TUI_TEXT_AREA_PROVIDERS} from './text-area.providers';\n\nexport const DEFAULT_ROWS = 20;\nexport const LINE_HEIGHT_M = 20;\nexport const LINE_HEIGHT_L = 24;\n\n@Component({\n selector: 'tui-text-area',\n templateUrl: './text-area.template.html',\n styleUrls: ['./text-area.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TEXT_AREA_PROVIDERS,\n host: {\n '($.data-mode.attr)': 'mode$',\n '[class._ios]': 'isIOS',\n },\n})\nexport class TuiTextAreaComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @Input()\n @tuiDefaultProp()\n rows = DEFAULT_ROWS;\n\n @Input()\n @HostBinding('class._expandable')\n @tuiDefaultProp()\n expandable = false;\n\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLTextAreaElement>;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_APPEARANCE) readonly appearance: string,\n @Inject(TUI_IS_IOS) readonly isIOS: boolean,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(TUI_HINT_WATCHED_CONTROLLER)\n readonly hintController: TuiHintControllerDirective,\n ) {\n super(control, changeDetectorRef);\n }\n\n @HostBinding('class._label-outside')\n get labelOutside(): boolean {\n return this.controller.labelOutside;\n }\n\n get nativeFocusableElement(): HTMLTextAreaElement | null {\n return this.computedDisabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n @HostBinding('attr.data-tui-host-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n @HostBinding('class._has-tooltip')\n get hasTooltip(): boolean {\n return !!this.hintController.content && !this.disabled;\n }\n\n @HostBinding('class._has-value')\n get hasValue(): boolean {\n return this.value !== '';\n }\n\n @HostBinding('class._has-counter')\n get hasCounter(): boolean {\n return !!this.controller.maxLength && !this.disabled && !this.readOnly;\n }\n\n get hasPlaceholder(): boolean {\n return !this.controller.labelOutside || (!this.hasValue && !this.hasExampleText);\n }\n\n get hasExampleText(): boolean {\n return (\n !!this.controller.exampleText &&\n this.focused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n get placeholderRaised(): boolean {\n return (\n !this.controller.labelOutside &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n get fittedContent(): string {\n return this.value.slice(0, this.controller.maxLength || Infinity);\n }\n\n get extraContent(): string {\n return this.value.slice(this.controller.maxLength || Infinity);\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n onValue(value: string) {\n this.updateValue(value);\n }\n\n onMouseDown(event: MouseEvent) {\n if (event.target === this.nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement);\n }\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n private get lineHeight(): number {\n return this.controller.size === 'm' ? LINE_HEIGHT_M : LINE_HEIGHT_L;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiFocusableModule, TuiFocusedModule, TuiHoveredModule} from '@taiga-ui/cdk';\nimport {TuiScrollbarModule, TuiTooltipModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiTextAreaComponent} from './text-area.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiScrollbarModule,\n TuiTooltipModule,\n TuiWrapperModule,\n ],\n declarations: [TuiTextAreaComponent],\n exports: [TuiTextAreaComponent],\n})\nexport class TuiTextAreaModule {}\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-text-area.js","sources":["ng://@taiga-ui/kit/components/text-area/text-area.providers.ts","ng://@taiga-ui/kit/components/text-area/text-area.component.ts","ng://@taiga-ui/kit/components/text-area/text-area.module.ts","ng://@taiga-ui/kit/components/text-area/taiga-ui-kit-components-text-area.ts"],"sourcesContent":["import {forwardRef, Provider} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {\n HINT_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n} from '@taiga-ui/core';\nimport {TuiTextAreaComponent} from './text-area.component';\n\nexport const TUI_TEXT_AREA_PROVIDERS: Provider[] = [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiTextAreaComponent),\n },\n TEXTFIELD_CONTROLLER_PROVIDER,\n HINT_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n isNativeFocused,\n setNativeFocused,\n TUI_IS_IOS,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\nimport {\n TUI_HINT_WATCHED_CONTROLLER,\n TUI_MODE,\n TUI_TEXTFIELD_APPEARANCE,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiBrightness,\n TuiHintControllerDirective,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {TUI_TEXT_AREA_PROVIDERS} from './text-area.providers';\n\nexport const DEFAULT_ROWS = 20;\nexport const LINE_HEIGHT_M = 20;\nexport const LINE_HEIGHT_L = 24;\n\n@Component({\n selector: 'tui-text-area',\n templateUrl: './text-area.template.html',\n styleUrls: ['./text-area.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TEXT_AREA_PROVIDERS,\n host: {\n '($.data-mode.attr)': 'mode$',\n '[class._ios]': 'isIOS',\n },\n})\nexport class TuiTextAreaComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor {\n @Input()\n @tuiDefaultProp()\n rows = DEFAULT_ROWS;\n\n @Input()\n @HostBinding('class._expandable')\n @tuiDefaultProp()\n expandable = false;\n\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLTextAreaElement>;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_APPEARANCE) readonly appearance: string,\n @Inject(TUI_IS_IOS) readonly isIOS: boolean,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(TUI_HINT_WATCHED_CONTROLLER)\n readonly hintController: TuiHintControllerDirective,\n ) {\n super(control, changeDetectorRef);\n }\n\n @HostBinding('class._label-outside')\n get labelOutside(): boolean {\n return this.controller.labelOutside;\n }\n\n get nativeFocusableElement(): HTMLTextAreaElement | null {\n return this.computedDisabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n @HostBinding('attr.data-tui-host-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n @HostBinding('class._has-tooltip')\n get hasTooltip(): boolean {\n return !!this.hintController.content && !this.disabled;\n }\n\n @HostBinding('class._has-value')\n get hasValue(): boolean {\n return this.value !== '';\n }\n\n @HostBinding('class._has-counter')\n get hasCounter(): boolean {\n return !!this.controller.maxLength && !this.disabled && !this.readOnly;\n }\n\n get hasPlaceholder(): boolean {\n return !this.controller.labelOutside || (!this.hasValue && !this.hasExampleText);\n }\n\n get hasExampleText(): boolean {\n return (\n !!this.controller.exampleText &&\n this.focused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n get placeholderRaised(): boolean {\n return (\n !this.controller.labelOutside &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n get fittedContent(): string {\n return this.value.slice(0, this.controller.maxLength || Infinity);\n }\n\n get extraContent(): string {\n return this.value.slice(this.controller.maxLength || Infinity);\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n onValue(value: string) {\n this.updateValue(value);\n }\n\n onMouseDown(event: MouseEvent) {\n if (event.target === this.nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement);\n }\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n private get lineHeight(): number {\n return this.controller.size === 'm' ? LINE_HEIGHT_M : LINE_HEIGHT_L;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiFocusableModule, TuiFocusedModule, TuiHoveredModule} from '@taiga-ui/cdk';\nimport {TuiScrollbarModule, TuiTooltipModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiTextAreaComponent} from './text-area.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiScrollbarModule,\n TuiTooltipModule,\n TuiWrapperModule,\n ],\n declarations: [TuiTextAreaComponent],\n exports: [TuiTextAreaComponent],\n})\nexport class TuiTextAreaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-toggle.js","sources":["ng://@taiga-ui/kit/components/toggle/toggle-options.ts","ng://@taiga-ui/kit/components/toggle/toggle.component.ts","ng://@taiga-ui/kit/components/toggle/toggle.module.ts","ng://@taiga-ui/kit/components/toggle/taiga-ui-kit-components-toggle.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface ToggleOptions {\n readonly icons: Readonly<{\n toggleOff: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n toggleOn: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n }>;\n readonly singleColor: boolean;\n readonly showIcons: boolean;\n readonly size: TuiSizeL;\n}\n\n/** Default values for the toggle options. */\nexport const TUI_TOGGLE_DEFAULT_OPTIONS: ToggleOptions = {\n icons: {\n toggleOff({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === 'm' ? 'tuiIconToggleOff' : 'tuiIconToggleOffLarge';\n },\n toggleOn({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === 'm' ? 'tuiIconToggleOn' : 'tuiIconToggleOnLarge';\n },\n },\n singleColor: false,\n showIcons: false,\n size: 'm',\n};\n\nexport const TUI_TOGGLE_OPTIONS = new InjectionToken<ToggleOptions>(\n 'Default parameters for toggle component',\n {\n factory: () => TUI_TOGGLE_DEFAULT_OPTIONS,\n },\n);\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TuiAppearance,\n TuiBrightness,\n TuiModeDirective,\n TuiSizeL,\n TuiSizeXS,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {ToggleOptions, TUI_TOGGLE_OPTIONS} from './toggle-options';\n\n@Component({\n selector: 'tui-toggle',\n templateUrl: './toggle.template.html',\n styleUrls: ['./toggle.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiToggleComponent),\n },\n ],\n})\nexport class TuiToggleComponent\n extends AbstractTuiControl<boolean>\n implements TuiFocusableElementAccessor
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-toggle.js","sources":["ng://@taiga-ui/kit/components/toggle/toggle-options.ts","ng://@taiga-ui/kit/components/toggle/toggle.component.ts","ng://@taiga-ui/kit/components/toggle/toggle.module.ts","ng://@taiga-ui/kit/components/toggle/taiga-ui-kit-components-toggle.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface ToggleOptions {\n readonly icons: Readonly<{\n toggleOff: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n toggleOn: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n }>;\n readonly singleColor: boolean;\n readonly showIcons: boolean;\n readonly size: TuiSizeL;\n}\n\n/** Default values for the toggle options. */\nexport const TUI_TOGGLE_DEFAULT_OPTIONS: ToggleOptions = {\n icons: {\n toggleOff({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === 'm' ? 'tuiIconToggleOff' : 'tuiIconToggleOffLarge';\n },\n toggleOn({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === 'm' ? 'tuiIconToggleOn' : 'tuiIconToggleOnLarge';\n },\n },\n singleColor: false,\n showIcons: false,\n size: 'm',\n};\n\nexport const TUI_TOGGLE_OPTIONS = new InjectionToken<ToggleOptions>(\n 'Default parameters for toggle component',\n {\n factory: () => TUI_TOGGLE_DEFAULT_OPTIONS,\n },\n);\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TuiAppearance,\n TuiBrightness,\n TuiModeDirective,\n TuiSizeL,\n TuiSizeXS,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {ToggleOptions, TUI_TOGGLE_OPTIONS} from './toggle-options';\n\n@Component({\n selector: 'tui-toggle',\n templateUrl: './toggle.template.html',\n styleUrls: ['./toggle.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiToggleComponent),\n },\n ],\n})\nexport class TuiToggleComponent\n extends AbstractTuiControl<boolean>\n implements TuiFocusableElementAccessor {\n @Input()\n @tuiDefaultProp()\n singleColor = this.options.singleColor;\n\n @Input()\n @tuiDefaultProp()\n showIcons = this.options.showIcons;\n\n @Input()\n @tuiDefaultProp()\n showLoader = false;\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size: TuiSizeL = this.options.size;\n\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<TuiNativeFocusableElement>;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_TOGGLE_OPTIONS)\n public readonly options: ToggleOptions,\n ) {\n super(control, changeDetectorRef);\n }\n\n get iconOn(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>> {\n return this.options.icons.toggleOn;\n }\n\n get iconOff(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>> {\n return this.options.icons.toggleOff;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.focusableElement ? this.focusableElement.nativeElement : null;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get appearance(): TuiAppearance {\n return this.singleColor || this.checked\n ? TuiAppearance.Primary\n : TuiAppearance.Secondary;\n }\n\n get sizeM(): boolean {\n return this.size === 'm';\n }\n\n @HostBinding('class._checked')\n get checked(): boolean {\n return this.value;\n }\n\n get loaderSize(): TuiSizeXS {\n return this.sizeM ? 'xs' : 's';\n }\n\n @HostBinding('attr.data-mode')\n get hostMode(): TuiBrightness | null {\n return this.modeDirective ? this.modeDirective.mode : null;\n }\n\n onChecked(checked: boolean) {\n this.updateValue(checked);\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n onFocusVisible(focusVisible: boolean) {\n this.updateFocusVisible(focusVisible);\n }\n\n protected getFallbackValue(): boolean {\n return false;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiCheckedModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiHoveredModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {TuiLoaderModule, TuiSvgModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TuiToggleComponent} from './toggle.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusedModule,\n TuiFocusableModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiFocusVisibleModule,\n TuiCheckedModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiLoaderModule,\n PolymorpheusModule,\n ],\n declarations: [TuiToggleComponent],\n exports: [TuiToggleComponent],\n})\nexport class TuiToggleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|