@taiga-ui/kit 4.50.0-canary.9f98a32 → 4.50.0-canary.a980fc3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/components/index.d.ts +1 -0
  2. package/components/input-number/quantum.directive.d.ts +9 -2
  3. package/components/input-range/index.d.ts +2 -0
  4. package/components/input-range/input-range.component.d.ts +75 -0
  5. package/components/input-range/input-range.d.ts +3 -0
  6. package/components/range/range.component.d.ts +6 -0
  7. package/components/slider/helpers/slider-key-steps.directive.d.ts +2 -1
  8. package/esm2022/components/confirm/confirm.component.mjs +3 -3
  9. package/esm2022/components/index.mjs +2 -1
  10. package/esm2022/components/input-number/input-number.directive.mjs +2 -2
  11. package/esm2022/components/input-number/quantum.directive.mjs +23 -11
  12. package/esm2022/components/input-range/index.mjs +3 -0
  13. package/esm2022/components/input-range/input-range.component.mjs +166 -0
  14. package/esm2022/components/input-range/input-range.mjs +4 -0
  15. package/esm2022/components/input-range/taiga-ui-kit-components-input-range.mjs +5 -0
  16. package/esm2022/components/range/range.component.mjs +18 -7
  17. package/esm2022/components/slider/helpers/slider-key-steps.directive.mjs +3 -2
  18. package/esm2022/components/textarea/textarea.component.mjs +3 -3
  19. package/esm2022/directives/skeleton/skeleton.directive.mjs +2 -2
  20. package/fesm2022/taiga-ui-kit-components-confirm.mjs +2 -2
  21. package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
  22. package/fesm2022/taiga-ui-kit-components-input-number.mjs +22 -11
  23. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  24. package/fesm2022/taiga-ui-kit-components-input-range.mjs +175 -0
  25. package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -0
  26. package/fesm2022/taiga-ui-kit-components-range.mjs +17 -6
  27. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  28. package/fesm2022/taiga-ui-kit-components-slider.mjs +2 -1
  29. package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
  30. package/fesm2022/taiga-ui-kit-components-textarea.mjs +2 -2
  31. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  32. package/fesm2022/taiga-ui-kit-components.mjs +1 -0
  33. package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
  34. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +1 -1
  35. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  36. package/package.json +7 -1
@@ -0,0 +1,166 @@
1
+ import { NgIf } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, computed, ElementRef, inject, Input, signal, ViewChild, ViewChildren, } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { TUI_IDENTITY_VALUE_TRANSFORMER, tuiAsControl, TuiControl, } from '@taiga-ui/cdk/classes';
5
+ import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
6
+ import { TUI_IS_MOBILE, tuiFallbackValueProvider } from '@taiga-ui/cdk/tokens';
7
+ import { tuiIsNativeFocused } from '@taiga-ui/cdk/utils/focus';
8
+ import { TUI_TEXTFIELD_OPTIONS, TuiTextfield } from '@taiga-ui/core/components/textfield';
9
+ import { TuiInputNumber, TuiInputNumberDirective, TuiQuantumValueTransformerBase, } from '@taiga-ui/kit/components/input-number';
10
+ import { TuiRange } from '@taiga-ui/kit/components/range';
11
+ import { tuiSliderOptionsProvider, } from '@taiga-ui/kit/components/slider';
12
+ import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@angular/forms";
15
+ import * as i2 from "@taiga-ui/kit/components/input-number";
16
+ import * as i3 from "@taiga-ui/core/components/textfield";
17
+ class TuiInputRangeComponent extends TuiControl {
18
+ constructor() {
19
+ super(...arguments);
20
+ this.inputNumberRefs = EMPTY_QUERY;
21
+ this.isMobile = inject(TUI_IS_MOBILE);
22
+ this.quantum = signal(0);
23
+ this.quantumTransformer = computed((quantum = this.quantum()) => quantum
24
+ ? new TuiQuantumValueTransformerBase(quantum)
25
+ : TUI_IDENTITY_VALUE_TRANSFORMER);
26
+ this.size = inject(TUI_TEXTFIELD_OPTIONS).size;
27
+ this.textfieldValueStart = this.value()[0];
28
+ this.textfieldValueEnd = this.value()[1];
29
+ this.lastActiveSide = 'start';
30
+ this.min = 0;
31
+ this.max = 100;
32
+ this.step = 1;
33
+ this.segments = 1;
34
+ this.keySteps = null;
35
+ this.content = ['', ''];
36
+ this.prefix = ['', ''];
37
+ this.postfix = ['', ''];
38
+ }
39
+ // TODO(v5): use signal inputs
40
+ set quantumSetter(x) {
41
+ this.quantum.set(x);
42
+ }
43
+ writeValue(value) {
44
+ super.writeValue(value);
45
+ this.setTextfieldValues(this.value());
46
+ }
47
+ ngAfterViewInit() {
48
+ if (this.range) {
49
+ this.range.legacyMode = false; // TODO(v5): remove backward compatibility
50
+ }
51
+ }
52
+ get hideStartContent() {
53
+ return !this.content[0] || tuiIsNativeFocused(this.textfieldStart);
54
+ }
55
+ get hideEndContent() {
56
+ return !this.content[1] || tuiIsNativeFocused(this.textfieldEnd);
57
+ }
58
+ takeStep(event, coefficients) {
59
+ if (!this.interactive() || !this.range) {
60
+ return;
61
+ }
62
+ event.preventDefault();
63
+ const [start, end] = this.value();
64
+ const newValue = this.valueGuard(this.range.takeStep(coefficients));
65
+ if (newValue[0] !== start || newValue[1] !== end) {
66
+ this.onExternalValueUpdate(newValue);
67
+ }
68
+ }
69
+ onInput([start, end]) {
70
+ const [prevStart, prevEnd] = this.value();
71
+ this.setValue([start ?? prevStart, end ?? prevEnd]);
72
+ }
73
+ onExternalValueUpdate(value) {
74
+ this.setValue(value);
75
+ this.setTextfieldValues(this.value());
76
+ setTimeout((end = Number.MAX_SAFE_INTEGER) => {
77
+ if (tuiIsNativeFocused(this.activeTextfield)) {
78
+ this.activeTextfield?.setSelectionRange(end, end);
79
+ }
80
+ });
81
+ }
82
+ focusToTextfield() {
83
+ if (!this.isMobile) {
84
+ this.activeTextfield?.focus();
85
+ }
86
+ }
87
+ onActiveThumbChange(activeThumb) {
88
+ // TODO(v5): remove backward compatibility
89
+ this.lastActiveSide = activeThumb === 'left' ? 'start' : 'end';
90
+ }
91
+ setTextfieldValues([start, end]) {
92
+ this.textfieldValueStart = start;
93
+ this.textfieldValueEnd = end;
94
+ }
95
+ get textfieldStart() {
96
+ return this.inputNumberRefs.first?.nativeElement || null;
97
+ }
98
+ get textfieldEnd() {
99
+ return this.inputNumberRefs.last?.nativeElement || null;
100
+ }
101
+ get activeTextfield() {
102
+ return this.lastActiveSide === 'start' ? this.textfieldStart : this.textfieldEnd;
103
+ }
104
+ setValue(value) {
105
+ this.onChange(this.valueGuard(value));
106
+ }
107
+ valueGuard(value) {
108
+ const [prevStart, prevEnd] = this.value();
109
+ const [start, end] = value.map((x) => this.quantumTransformer().toControlValue(x) ?? x);
110
+ return [Math.min(start, prevEnd), Math.max(end, prevStart)];
111
+ }
112
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputRangeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
113
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.12", type: TuiInputRangeComponent, isStandalone: true, selector: "tui-input-range", inputs: { min: "min", max: "max", step: "step", segments: "segments", keySteps: "keySteps", content: "content", prefix: ["prefix", "prefix", (x) => x ?? ['', '']], postfix: ["postfix", "postfix", (x) => x ?? ['', '']], quantumSetter: ["quantum", "quantumSetter"] }, host: { attributes: { "new": "" }, properties: { "attr.data-size": "size()" } }, providers: [
114
+ tuiAsControl(TuiInputRangeComponent),
115
+ tuiSliderOptionsProvider({ trackColor: 'transparent' }),
116
+ tuiFallbackValueProvider([0, 0]),
117
+ ], viewQueries: [{ propertyName: "range", first: true, predicate: TuiRange, descendants: true }, { propertyName: "inputNumberRefs", predicate: TuiInputNumberDirective, descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<tui-textfield [content]=\"hideStartContent ? '' : content[0]\">\n <ng-container ngProjectAs=\"label\">\n <ng-content select=\"label\" />\n </ng-container>\n\n <input\n tuiInputNumber\n [disabled]=\"disabled()\"\n [invalid]=\"invalid()\"\n [max]=\"value()[1]\"\n [min]=\"min\"\n [postfix]=\"postfix[0]\"\n [prefix]=\"prefix[0]\"\n [readOnly]=\"readOnly()\"\n [(ngModel)]=\"textfieldValueStart\"\n (blur)=\"textfieldValueStart = value()[0]\"\n (keydown.arrowDown)=\"takeStep($event, [-1, 0])\"\n (keydown.arrowUp)=\"takeStep($event, [1, 0])\"\n (ngModelChange)=\"onInput([$event, null])\"\n />\n\n <input\n tuiInputNumber\n tuiTextfieldAppearance=\"none\"\n class=\"t-end\"\n [class._hidden]=\"!hideEndContent\"\n [disabled]=\"disabled()\"\n [invalid]=\"invalid()\"\n [max]=\"max\"\n [min]=\"value()[0]\"\n [postfix]=\"postfix[1]\"\n [prefix]=\"prefix[1]\"\n [readOnly]=\"readOnly()\"\n [(ngModel)]=\"textfieldValueEnd\"\n (blur)=\"textfieldValueEnd = value()[1]\"\n (keydown.arrowDown)=\"takeStep($event, [0, -1])\"\n (keydown.arrowUp)=\"takeStep($event, [0, 1])\"\n (ngModelChange)=\"onInput([null, $event])\"\n />\n\n <div\n class=\"t-content-end\"\n [class._hidden]=\"hideEndContent\"\n >\n <ng-container *polymorpheusOutlet=\"content[1] as text; context: {$implicit: value()[1]}\">\n {{ text }}\n </ng-container>\n </div>\n</tui-textfield>\n\n<tui-range\n *ngIf=\"interactive()\"\n [focusable]=\"false\"\n [keySteps]=\"keySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()\"\n [segments]=\"segments\"\n [step]=\"step\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n (mousedown.prevent)=\"focusToTextfield()\"\n (ngModelChange)=\"onExternalValueUpdate($event)\"\n/>\n", styles: [":host{position:relative;display:block}.t-end{position:absolute;top:0;bottom:0;right:0;left:50%;display:flex;inline-size:50%;text-align:end;outline:none!important;border:none;padding-inline-end:var(--t-padding);color:var(--tui-text-primary);transition:none}.t-end:dir(rtl){right:unset;inset-inline-end:0}.t-content-end{color:var(--tui-text-primary)}tui-textfield:has(label:not(:empty)) .t-content-end{padding-block-start:calc(var(--t-height) / 3)}tui-textfield._with-label .t-content-end{padding-block-start:calc(var(--t-height) / 3)}._hidden{opacity:0}tui-range{position:absolute;top:100%;left:1rem;right:1rem;z-index:1;margin:calc(-1 * var(--tui-thickness)) 0 0}:host[data-size=m] tui-range{right:.75rem;left:.75rem}:host[data-size=s] tui-range{right:.625rem;left:.625rem}tui-textfield::ng-deep .t-clear{display:none!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i2.TuiInputNumberDirective, selector: "input[tuiInputNumber]", inputs: ["min", "max", "prefix", "postfix"] }, { kind: "component", type: TuiRange, selector: "tui-range", inputs: ["min", "max", "step", "size", "segments", "keySteps", "focusable", "margin", "limit"] }, { kind: "component", type: i3.TuiTextfieldComponent, selector: "tui-textfield:not([multi])" }, { kind: "directive", type: i3.TuiTextfieldOptionsDirective, selector: "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", inputs: ["tuiTextfieldAppearance", "tuiTextfieldSize", "tuiTextfieldCleaner"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
118
+ }
119
+ export { TuiInputRangeComponent };
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputRangeComponent, decorators: [{
121
+ type: Component,
122
+ args: [{ standalone: true, selector: 'tui-input-range', imports: [
123
+ FormsModule,
124
+ NgIf,
125
+ PolymorpheusOutlet,
126
+ TuiInputNumber,
127
+ TuiRange,
128
+ TuiTextfield,
129
+ ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
130
+ tuiAsControl(TuiInputRangeComponent),
131
+ tuiSliderOptionsProvider({ trackColor: 'transparent' }),
132
+ tuiFallbackValueProvider([0, 0]),
133
+ ], host: {
134
+ new: '',
135
+ // TODO: use css :host:has(tui-textfield[data-size]) after browser bump
136
+ '[attr.data-size]': 'size()',
137
+ }, template: "<tui-textfield [content]=\"hideStartContent ? '' : content[0]\">\n <ng-container ngProjectAs=\"label\">\n <ng-content select=\"label\" />\n </ng-container>\n\n <input\n tuiInputNumber\n [disabled]=\"disabled()\"\n [invalid]=\"invalid()\"\n [max]=\"value()[1]\"\n [min]=\"min\"\n [postfix]=\"postfix[0]\"\n [prefix]=\"prefix[0]\"\n [readOnly]=\"readOnly()\"\n [(ngModel)]=\"textfieldValueStart\"\n (blur)=\"textfieldValueStart = value()[0]\"\n (keydown.arrowDown)=\"takeStep($event, [-1, 0])\"\n (keydown.arrowUp)=\"takeStep($event, [1, 0])\"\n (ngModelChange)=\"onInput([$event, null])\"\n />\n\n <input\n tuiInputNumber\n tuiTextfieldAppearance=\"none\"\n class=\"t-end\"\n [class._hidden]=\"!hideEndContent\"\n [disabled]=\"disabled()\"\n [invalid]=\"invalid()\"\n [max]=\"max\"\n [min]=\"value()[0]\"\n [postfix]=\"postfix[1]\"\n [prefix]=\"prefix[1]\"\n [readOnly]=\"readOnly()\"\n [(ngModel)]=\"textfieldValueEnd\"\n (blur)=\"textfieldValueEnd = value()[1]\"\n (keydown.arrowDown)=\"takeStep($event, [0, -1])\"\n (keydown.arrowUp)=\"takeStep($event, [0, 1])\"\n (ngModelChange)=\"onInput([null, $event])\"\n />\n\n <div\n class=\"t-content-end\"\n [class._hidden]=\"hideEndContent\"\n >\n <ng-container *polymorpheusOutlet=\"content[1] as text; context: {$implicit: value()[1]}\">\n {{ text }}\n </ng-container>\n </div>\n</tui-textfield>\n\n<tui-range\n *ngIf=\"interactive()\"\n [focusable]=\"false\"\n [keySteps]=\"keySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()\"\n [segments]=\"segments\"\n [step]=\"step\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n (mousedown.prevent)=\"focusToTextfield()\"\n (ngModelChange)=\"onExternalValueUpdate($event)\"\n/>\n", styles: [":host{position:relative;display:block}.t-end{position:absolute;top:0;bottom:0;right:0;left:50%;display:flex;inline-size:50%;text-align:end;outline:none!important;border:none;padding-inline-end:var(--t-padding);color:var(--tui-text-primary);transition:none}.t-end:dir(rtl){right:unset;inset-inline-end:0}.t-content-end{color:var(--tui-text-primary)}tui-textfield:has(label:not(:empty)) .t-content-end{padding-block-start:calc(var(--t-height) / 3)}tui-textfield._with-label .t-content-end{padding-block-start:calc(var(--t-height) / 3)}._hidden{opacity:0}tui-range{position:absolute;top:100%;left:1rem;right:1rem;z-index:1;margin:calc(-1 * var(--tui-thickness)) 0 0}:host[data-size=m] tui-range{right:.75rem;left:.75rem}:host[data-size=s] tui-range{right:.625rem;left:.625rem}tui-textfield::ng-deep .t-clear{display:none!important}\n"] }]
138
+ }], propDecorators: { inputNumberRefs: [{
139
+ type: ViewChildren,
140
+ args: [TuiInputNumberDirective, { read: ElementRef }]
141
+ }], range: [{
142
+ type: ViewChild,
143
+ args: [TuiRange]
144
+ }], min: [{
145
+ type: Input
146
+ }], max: [{
147
+ type: Input
148
+ }], step: [{
149
+ type: Input
150
+ }], segments: [{
151
+ type: Input
152
+ }], keySteps: [{
153
+ type: Input
154
+ }], content: [{
155
+ type: Input
156
+ }], prefix: [{
157
+ type: Input,
158
+ args: [{ transform: (x) => x ?? ['', ''] }]
159
+ }], postfix: [{
160
+ type: Input,
161
+ args: [{ transform: (x) => x ?? ['', ''] }]
162
+ }], quantumSetter: [{
163
+ type: Input,
164
+ args: ['quantum']
165
+ }] } });
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcmFuZ2UvaW5wdXQtcmFuZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcmFuZ2UvaW5wdXQtcmFuZ2UudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckMsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQ0gsOEJBQThCLEVBQzlCLFlBQVksRUFDWixVQUFVLEdBQ2IsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGFBQWEsRUFBRSx3QkFBd0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRTdFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RixPQUFPLEVBQ0gsY0FBYyxFQUNkLHVCQUF1QixFQUN2Qiw4QkFBOEIsR0FDakMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEQsT0FBTyxFQUVILHdCQUF3QixHQUMzQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFB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TUFBTTtzQkFEWixLQUFLO3VCQUFDLEVBQUMsU0FBUyxFQUFFLENBQUMsQ0FBbUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFDO2dCQUluRSxPQUFPO3NCQURiLEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsQ0FBQyxDQUFtQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUM7Z0JBSy9ELGFBQWE7c0JBRHZCLEtBQUs7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgdHlwZSBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICB0eXBlIFF1ZXJ5TGlzdCxcbiAgICBzaWduYWwsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIFRVSV9JREVOVElUWV9WQUxVRV9UUkFOU0ZPUk1FUixcbiAgICB0dWlBc0NvbnRyb2wsXG4gICAgVHVpQ29udHJvbCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7RU1QVFlfUVVFUll9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7VFVJX0lTX01PQklMRSwgdHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R5cGUgVHVpQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aUlzTmF0aXZlRm9jdXNlZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cyc7XG5pbXBvcnQge1RVSV9URVhURklFTERfT1BUSU9OUywgVHVpVGV4dGZpZWxkfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1xuICAgIFR1aUlucHV0TnVtYmVyLFxuICAgIFR1aUlucHV0TnVtYmVyRGlyZWN0aXZlLFxuICAgIFR1aVF1YW50dW1WYWx1ZVRyYW5zZm9ybWVyQmFzZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlcic7XG5pbXBvcnQge1R1aVJhbmdlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFuZ2UnO1xuaW1wb3J0IHtcbiAgICB0eXBlIFR1aUtleVN0ZXBzLFxuICAgIHR1aVNsaWRlck9wdGlvbnNQcm92aWRlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3NsaWRlcic7XG5pbXBvcnQge3R5cGUgUG9seW1vcnBoZXVzQ29udGVudCwgUG9seW1vcnBoZXVzT3V0bGV0fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1yYW5nZScsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTmdJZixcbiAgICAgICAgUG9seW1vcnBoZXVzT3V0bGV0LFxuICAgICAgICBUdWlJbnB1dE51bWJlcixcbiAgICAgICAgVHVpUmFuZ2UsXG4gICAgICAgIFR1aVRleHRmaWVsZCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1yYW5nZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1yYW5nZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dFJhbmdlQ29tcG9uZW50KSxcbiAgICAgICAgdHVpU2xpZGVyT3B0aW9uc1Byb3ZpZGVyKHt0cmFja0NvbG9yOiAndHJhbnNwYXJlbnQnfSksXG4gICAgICAgIHR1aUZhbGxiYWNrVmFsdWVQcm92aWRlcihbMCwgMF0pLFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICBuZXc6ICcnLCAvLyBUT0RPKHY1KTogcmVtb3ZlIGFmdGVyIGRlbGV0aW9uIG9mIGxlZ2FjeSBjb250cm9sXG4gICAgICAgIC8vIFRPRE86IHVzZSBjc3MgOmhvc3Q6aGFzKHR1aS10ZXh0ZmllbGRbZGF0YS1zaXplXSkgYWZ0ZXIgYnJvd3NlciBidW1wXG4gICAgICAgICdbYXR0ci5kYXRhLXNpemVdJzogJ3NpemUoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRSYW5nZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgVHVpQ29udHJvbDxyZWFkb25seSBbbnVtYmVyLCBudW1iZXJdPlxuICAgIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdFxue1xuICAgIEBWaWV3Q2hpbGRyZW4oVHVpSW5wdXROdW1iZXJEaXJlY3RpdmUsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0TnVtYmVyUmVmczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+ID1cbiAgICAgICAgRU1QVFlfUVVFUlk7XG5cbiAgICBAVmlld0NoaWxkKFR1aVJhbmdlKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmFuZ2U/OiBUdWlSYW5nZTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGUgPSBpbmplY3QoVFVJX0lTX01PQklMRSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBxdWFudHVtID0gc2lnbmFsKDApO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcXVhbnR1bVRyYW5zZm9ybWVyID0gY29tcHV0ZWQoKHF1YW50dW0gPSB0aGlzLnF1YW50dW0oKSkgPT5cbiAgICAgICAgcXVhbnR1bVxuICAgICAgICAgICAgPyBuZXcgVHVpUXVhbnR1bVZhbHVlVHJhbnNmb3JtZXJCYXNlKHF1YW50dW0pXG4gICAgICAgICAgICA6IFRVSV9JREVOVElUWV9WQUxVRV9UUkFOU0ZPUk1FUixcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNpemUgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9PUFRJT05TKS5zaXplO1xuICAgIHByb3RlY3RlZCB0ZXh0ZmllbGRWYWx1ZVN0YXJ0ID0gdGhpcy52YWx1ZSgpWzBdO1xuICAgIHByb3RlY3RlZCB0ZXh0ZmllbGRWYWx1ZUVuZCA9IHRoaXMudmFsdWUoKVsxXTtcbiAgICBwcm90ZWN0ZWQgbGFzdEFjdGl2ZVNpZGU6ICdlbmQnIHwgJ3N0YXJ0JyA9ICdzdGFydCc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtaW4gPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWF4ID0gMTAwO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc3RlcCA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWdtZW50cyA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBrZXlTdGVwczogVHVpS2V5U3RlcHMgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNvbnRlbnQ6IHJlYWRvbmx5IFtcbiAgICAgICAgUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0PG51bWJlcj4+LFxuICAgICAgICBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHQ8bnVtYmVyPj4sXG4gICAgXSA9IFsnJywgJyddO1xuXG4gICAgQElucHV0KHt0cmFuc2Zvcm06ICh4OiByZWFkb25seSBbc3RyaW5nLCBzdHJpbmddIHwgbnVsbCkgPT4geCA/PyBbJycsICcnXX0pXG4gICAgcHVibGljIHByZWZpeDogcmVhZG9ubHkgW3N0cmluZywgc3RyaW5nXSA9IFsnJywgJyddO1xuXG4gICAgQElucHV0KHt0cmFuc2Zvcm06ICh4OiByZWFkb25seSBbc3RyaW5nLCBzdHJpbmddIHwgbnVsbCkgPT4geCA/PyBbJycsICcnXX0pXG4gICAgcHVibGljIHBvc3RmaXg6IHJlYWRvbmx5IFtzdHJpbmcsIHN0cmluZ10gPSBbJycsICcnXTtcblxuICAgIC8vIFRPRE8odjUpOiB1c2Ugc2lnbmFsIGlucHV0c1xuICAgIEBJbnB1dCgncXVhbnR1bScpXG4gICAgcHVibGljIHNldCBxdWFudHVtU2V0dGVyKHg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnF1YW50dW0uc2V0KHgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBbbnVtYmVyLCBudW1iZXJdKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLnNldFRleHRmaWVsZFZhbHVlcyh0aGlzLnZhbHVlKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnJhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnJhbmdlLmxlZ2FjeU1vZGUgPSBmYWxzZTsgLy8gVE9ETyh2NSk6IHJlbW92ZSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGhpZGVTdGFydENvbnRlbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5jb250ZW50WzBdIHx8IHR1aUlzTmF0aXZlRm9jdXNlZCh0aGlzLnRleHRmaWVsZFN0YXJ0KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGhpZGVFbmRDb250ZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuY29udGVudFsxXSB8fCB0dWlJc05hdGl2ZUZvY3VzZWQodGhpcy50ZXh0ZmllbGRFbmQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB0YWtlU3RlcChcbiAgICAgICAgZXZlbnQ6IEV2ZW50IHwgS2V5Ym9hcmRFdmVudCxcbiAgICAgICAgY29lZmZpY2llbnRzOiByZWFkb25seSBbbnVtYmVyLCBudW1iZXJdLFxuICAgICk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaW50ZXJhY3RpdmUoKSB8fCAhdGhpcy5yYW5nZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB0aGlzLnZhbHVlKCk7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy52YWx1ZUd1YXJkKHRoaXMucmFuZ2UudGFrZVN0ZXAoY29lZmZpY2llbnRzKSk7XG5cbiAgICAgICAgaWYgKG5ld1ZhbHVlWzBdICE9PSBzdGFydCB8fCBuZXdWYWx1ZVsxXSAhPT0gZW5kKSB7XG4gICAgICAgICAgICB0aGlzLm9uRXh0ZXJuYWxWYWx1ZVVwZGF0ZShuZXdWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25JbnB1dChbc3RhcnQsIGVuZF06IFtudW1iZXIgfCBudWxsLCBudW1iZXIgfCBudWxsXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBbcHJldlN0YXJ0LCBwcmV2RW5kXSA9IHRoaXMudmFsdWUoKTtcblxuICAgICAgICB0aGlzLnNldFZhbHVlKFtzdGFydCA/PyBwcmV2U3RhcnQsIGVuZCA/PyBwcmV2RW5kXSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRXh0ZXJuYWxWYWx1ZVVwZGF0ZSh2YWx1ZTogcmVhZG9ubHkgW251bWJlciwgbnVtYmVyXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5zZXRUZXh0ZmllbGRWYWx1ZXModGhpcy52YWx1ZSgpKTtcblxuICAgICAgICBzZXRUaW1lb3V0KChlbmQgPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikgPT4ge1xuICAgICAgICAgICAgaWYgKHR1aUlzTmF0aXZlRm9jdXNlZCh0aGlzLmFjdGl2ZVRleHRmaWVsZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZVRleHRmaWVsZD8uc2V0U2VsZWN0aW9uUmFuZ2UoZW5kLCBlbmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZm9jdXNUb1RleHRmaWVsZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVRleHRmaWVsZD8uZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkFjdGl2ZVRodW1iQ2hhbmdlKGFjdGl2ZVRodW1iOiAnbGVmdCcgfCAncmlnaHQnKTogdm9pZCB7XG4gICAgICAgIC8vIFRPRE8odjUpOiByZW1vdmUgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICAgICAgICB0aGlzLmxhc3RBY3RpdmVTaWRlID0gYWN0aXZlVGh1bWIgPT09ICdsZWZ0JyA/ICdzdGFydCcgOiAnZW5kJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0VGV4dGZpZWxkVmFsdWVzKFtzdGFydCwgZW5kXTogcmVhZG9ubHkgW251bWJlciwgbnVtYmVyXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnRleHRmaWVsZFZhbHVlU3RhcnQgPSBzdGFydDtcbiAgICAgICAgdGhpcy50ZXh0ZmllbGRWYWx1ZUVuZCA9IGVuZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB0ZXh0ZmllbGRTdGFydCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0TnVtYmVyUmVmcy5maXJzdD8ubmF0aXZlRWxlbWVudCB8fCBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHRleHRmaWVsZEVuZCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0TnVtYmVyUmVmcy5sYXN0Py5uYXRpdmVFbGVtZW50IHx8IG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgYWN0aXZlVGV4dGZpZWxkKCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdEFjdGl2ZVNpZGUgPT09ICdzdGFydCcgPyB0aGlzLnRleHRmaWVsZFN0YXJ0IDogdGhpcy50ZXh0ZmllbGRFbmQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRWYWx1ZSh2YWx1ZTogcmVhZG9ubHkgW251bWJlciwgbnVtYmVyXSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWVHdWFyZCh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsdWVHdWFyZCh2YWx1ZTogcmVhZG9ubHkgW251bWJlciwgbnVtYmVyXSk6IHJlYWRvbmx5IFtudW1iZXIsIG51bWJlcl0ge1xuICAgICAgICBjb25zdCBbcHJldlN0YXJ0LCBwcmV2RW5kXSA9IHRoaXMudmFsdWUoKTtcbiAgICAgICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gdmFsdWUubWFwKFxuICAgICAgICAgICAgKHgpID0+IHRoaXMucXVhbnR1bVRyYW5zZm9ybWVyKCkudG9Db250cm9sVmFsdWUoeCkgPz8geCxcbiAgICAgICAgKSBhcyB1bmtub3duIGFzIHJlYWRvbmx5IFtudW1iZXIsIG51bWJlcl07XG5cbiAgICAgICAgcmV0dXJuIFtNYXRoLm1pbihzdGFydCwgcHJldkVuZCksIE1hdGgubWF4KGVuZCwgcHJldlN0YXJ0KV07XG4gICAgfVxufVxuIiwiPHR1aS10ZXh0ZmllbGQgW2NvbnRlbnRdPVwiaGlkZVN0YXJ0Q29udGVudCA/ICcnIDogY29udGVudFswXVwiPlxuICAgIDxuZy1jb250YWluZXIgbmdQcm9qZWN0QXM9XCJsYWJlbFwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJsYWJlbFwiIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8aW5wdXRcbiAgICAgICAgdHVpSW5wdXROdW1iZXJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICBbaW52YWxpZF09XCJpbnZhbGlkKClcIlxuICAgICAgICBbbWF4XT1cInZhbHVlKClbMV1cIlxuICAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgIFtwb3N0Zml4XT1cInBvc3RmaXhbMF1cIlxuICAgICAgICBbcHJlZml4XT1cInByZWZpeFswXVwiXG4gICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seSgpXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ0ZXh0ZmllbGRWYWx1ZVN0YXJ0XCJcbiAgICAgICAgKGJsdXIpPVwidGV4dGZpZWxkVmFsdWVTdGFydCA9IHZhbHVlKClbMF1cIlxuICAgICAgICAoa2V5ZG93bi5hcnJvd0Rvd24pPVwidGFrZVN0ZXAoJGV2ZW50LCBbLTEsIDBdKVwiXG4gICAgICAgIChrZXlkb3duLmFycm93VXApPVwidGFrZVN0ZXAoJGV2ZW50LCBbMSwgMF0pXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25JbnB1dChbJGV2ZW50LCBudWxsXSlcIlxuICAgIC8+XG5cbiAgICA8aW5wdXRcbiAgICAgICAgdHVpSW5wdXROdW1iZXJcbiAgICAgICAgdHVpVGV4dGZpZWxkQXBwZWFyYW5jZT1cIm5vbmVcIlxuICAgICAgICBjbGFzcz1cInQtZW5kXCJcbiAgICAgICAgW2NsYXNzLl9oaWRkZW5dPVwiIWhpZGVFbmRDb250ZW50XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICBbaW52YWxpZF09XCJpbnZhbGlkKClcIlxuICAgICAgICBbbWF4XT1cIm1heFwiXG4gICAgICAgIFttaW5dPVwidmFsdWUoKVswXVwiXG4gICAgICAgIFtwb3N0Zml4XT1cInBvc3RmaXhbMV1cIlxuICAgICAgICBbcHJlZml4XT1cInByZWZpeFsxXVwiXG4gICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seSgpXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ0ZXh0ZmllbGRWYWx1ZUVuZFwiXG4gICAgICAgIChibHVyKT1cInRleHRmaWVsZFZhbHVlRW5kID0gdmFsdWUoKVsxXVwiXG4gICAgICAgIChrZXlkb3duLmFycm93RG93bik9XCJ0YWtlU3RlcCgkZXZlbnQsIFswLCAtMV0pXCJcbiAgICAgICAgKGtleWRvd24uYXJyb3dVcCk9XCJ0YWtlU3RlcCgkZXZlbnQsIFswLCAxXSlcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbklucHV0KFtudWxsLCAkZXZlbnRdKVwiXG4gICAgLz5cblxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0LWNvbnRlbnQtZW5kXCJcbiAgICAgICAgW2NsYXNzLl9oaWRkZW5dPVwiaGlkZUVuZENvbnRlbnRcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGVudFsxXSBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiB2YWx1ZSgpWzFdfVwiPlxuICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvdHVpLXRleHRmaWVsZD5cblxuPHR1aS1yYW5nZVxuICAgICpuZ0lmPVwiaW50ZXJhY3RpdmUoKVwiXG4gICAgW2ZvY3VzYWJsZV09XCJmYWxzZVwiXG4gICAgW2tleVN0ZXBzXT1cImtleVN0ZXBzXCJcbiAgICBbbWF4XT1cIm1heFwiXG4gICAgW21pbl09XCJtaW5cIlxuICAgIFtuZ01vZGVsXT1cInZhbHVlKClcIlxuICAgIFtzZWdtZW50c109XCJzZWdtZW50c1wiXG4gICAgW3N0ZXBdPVwic3RlcFwiXG4gICAgKGFjdGl2ZVRodW1iQ2hhbmdlKT1cIm9uQWN0aXZlVGh1bWJDaGFuZ2UoJGV2ZW50KVwiXG4gICAgKG1vdXNlZG93bi5wcmV2ZW50KT1cImZvY3VzVG9UZXh0ZmllbGQoKVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25FeHRlcm5hbFZhbHVlVXBkYXRlKCRldmVudClcIlxuLz5cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ import { TuiLabel } from '@taiga-ui/core/components/label';
2
+ import { TuiInputRangeComponent } from './input-range.component';
3
+ export const TuiInputRange = [TuiInputRangeComponent, TuiLabel];
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1yYW5nZS9pbnB1dC1yYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFekQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFL0QsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsc0JBQXNCLEVBQUUsUUFBUSxDQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R1aUxhYmVsfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2xhYmVsJztcblxuaW1wb3J0IHtUdWlJbnB1dFJhbmdlQ29tcG9uZW50fSBmcm9tICcuL2lucHV0LXJhbmdlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBUdWlJbnB1dFJhbmdlID0gW1R1aUlucHV0UmFuZ2VDb21wb25lbnQsIFR1aUxhYmVsXSBhcyBjb25zdDtcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWkta2l0LWNvbXBvbmVudHMtaW5wdXQtcmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1yYW5nZS90YWlnYS11aS1raXQtY29tcG9uZW50cy1pbnB1dC1yYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -33,6 +33,11 @@ class TuiRange extends TuiControl {
33
33
  this.slidersRefs = EMPTY_QUERY;
34
34
  this.start = computed(() => this.toPercent(this.value()[0]));
35
35
  this.end = computed(() => 100 - this.toPercent(this.value()[1]));
36
+ /**
37
+ * TODO(v5): standardize logic between `TuiSlider` & `TuiInputSlider` & `Range` & `InputRange`
38
+ * For non-linear slider (with `[keySteps]` property) `step` means percentage
39
+ */
40
+ this.legacyMode = true;
36
41
  }
37
42
  ngOnChanges() {
38
43
  this.changes.update((x) => x + 1);
@@ -46,11 +51,20 @@ class TuiRange extends TuiControl {
46
51
  }
47
52
  this.lastActiveThumb = end ? 'end' : 'start';
48
53
  }
54
+ takeStep(coefficients) {
55
+ return this.value().map((value, i) => {
56
+ const fraction = this.toPercent(value) / 100;
57
+ const newFractionValue = fraction + coefficients[i] * this.fractionStep;
58
+ return this.toValue(newFractionValue);
59
+ });
60
+ }
49
61
  toValue(fraction) {
50
62
  return tuiPercentageToKeyStepValue(tuiClamp(tuiQuantize(fraction, this.fractionStep), 0, 1) * 100, this.computedKeySteps);
51
63
  }
52
64
  get fractionStep() {
53
- return this.step / (this.max - this.min);
65
+ return this.legacyMode || !this.keySteps
66
+ ? this.step / (this.max - this.min)
67
+ : this.step / 100;
54
68
  }
55
69
  get computedKeySteps() {
56
70
  return this.computePureKeySteps(this.keySteps, this.min, this.max);
@@ -65,11 +79,8 @@ class TuiRange extends TuiControl {
65
79
  const [startThumb, endThumb] = this.slidersRefs.map((x) => x?.nativeElement);
66
80
  const isEndThumb = target === this.el ? this.lastActiveThumb === 'end' : target === endThumb;
67
81
  const activeThumbElement = isEndThumb ? endThumb : startThumb;
68
- const previousValue = this.value()[isEndThumb ? 1 : 0];
69
- /** @bad TODO think about a solution without twice conversion */
70
- const previousFraction = this.toPercent(previousValue) / 100;
71
- const newFractionValue = previousFraction + coefficient * this.fractionStep;
72
- this.processValue(this.toValue(newFractionValue), isEndThumb);
82
+ const newValue = this.takeStep(isEndThumb ? [0, coefficient] : [coefficient, 0]);
83
+ this.processValue(newValue[isEndThumb ? 1 : 0], isEndThumb);
73
84
  activeThumbElement?.focus();
74
85
  }
75
86
  toPercent(value) {
@@ -150,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
150
161
  type: ViewChildren,
151
162
  args: [TuiSliderComponent, { read: ElementRef }]
152
163
  }], computePureKeySteps: [] } });
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcmFuZ2UvcmFuZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcmFuZ2UvcmFuZ2UudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFDTixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFMUQsT0FBTyxFQUNILGtCQUFrQixFQUVsQiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzNCLFNBQVMsRUFDVCxrQkFBa0IsR0FDckIsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBRXhELE1BNkJhLFFBQVMsU0FBUSxVQUE0QjtJQTdCMUQ7O1FBOEJJLHVEQUF1RDtRQUN0QyxZQUFPLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLE9BQUUsR0FB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LGFBQ3BDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFDN0I7d0JBQ1o7NEJBQ0ksU0FBUyxFQUFFLGNBQWM7NEJBQ3pCLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO3lCQUNqQztxQkFDSixRQUNLO3dCQUNGLGtCQUFrQixFQUFFLE1BQU07d0JBQzFCLGlCQUFpQixFQUFFLElBQUk7d0JBQ3ZCLHNCQUFzQixFQUFFLFlBQVk7d0JBQ3BDLHFCQUFxQixFQUFFLFNBQVM7d0JBQ2hDLG1CQUFtQixFQUFFLE9BQU87d0JBQzVCLG9CQUFvQixFQUFFLG9CQUFvQjt3QkFDMUMsbUJBQW1CLEVBQUUsWUFBWTt3QkFDakMsWUFBWSxFQUFFLGFBQWE7d0JBQzNCLDJCQUEyQixFQUFFLGdDQUFnQzt3QkFDN0QsNkJBQTZCLEVBQUUsaUNBQWlDO3dCQUNoRSw4QkFBOEIsRUFBRSwyQ0FBMkM7d0JBQzNFLDZCQUE2QixFQUFFLDJDQUEyQztxQkFDN0U7OEJBV00sR0FBRztzQkFEVCxLQUFLO2dCQUlDLEdBQUc7c0JBRFQsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLE1BQU07c0JBRFosS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBSVUsV0FBVztzQkFEMUIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7Z0JBaUU1QyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICB0eXBlIE9uQ2hhbmdlcyxcbiAgICB0eXBlIFF1ZXJ5TGlzdCxcbiAgICBzaWduYWwsXG4gICAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHVpQ29udHJvbH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7RU1QVFlfUVVFUll9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpQ2xhbXAsIHR1aVF1YW50aXplfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHt0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHt0eXBlIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge1xuICAgIFRVSV9TTElERVJfT1BUSU9OUyxcbiAgICB0eXBlIFR1aUtleVN0ZXBzLFxuICAgIHR1aUtleVN0ZXBWYWx1ZVRvUGVyY2VudGFnZSxcbiAgICB0dWlQZXJjZW50YWdlVG9LZXlTdGVwVmFsdWUsXG4gICAgVHVpU2xpZGVyLFxuICAgIFR1aVNsaWRlckNvbXBvbmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3NsaWRlcic7XG5cbmltcG9ydCB7VHVpUmFuZ2VDaGFuZ2V9IGZyb20gJy4vcmFuZ2UtY2hhbmdlLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktcmFuZ2UnLFxuICAgIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgVHVpU2xpZGVyXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmFuZ2UudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcmFuZ2Uuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3R1aUZhbGxiYWNrVmFsdWVQcm92aWRlcihbMCwgMF0pXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IFR1aVJhbmdlQ2hhbmdlLFxuICAgICAgICAgICAgb3V0cHV0czogWydhY3RpdmVUaHVtYkNoYW5nZSddLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGF0YS1zaXplXSc6ICdzaXplJyxcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICctMScsXG4gICAgICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJ1tzdHlsZS4tLXQtc3RhcnQuJV0nOiAnc3RhcnQoKScsXG4gICAgICAgICdbc3R5bGUuLS10LWVuZC4lXSc6ICdlbmQoKScsXG4gICAgICAgICdbc3R5bGUuYmFja2dyb3VuZF0nOiAnb3B0aW9ucy50cmFja0NvbG9yJyxcbiAgICAgICAgJ1tjbGFzcy5fZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnKGZvY3Vzb3V0KSc6ICdvblRvdWNoZWQoKScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd1VwLnByZXZlbnQpJzogJ2NoYW5nZUJ5U3RlcCgxLCAkZXZlbnQudGFyZ2V0KScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudCknOiAnY2hhbmdlQnlTdGVwKC0xLCAkZXZlbnQudGFyZ2V0KScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd1JpZ2h0LnByZXZlbnQpJzogJ2NoYW5nZUJ5U3RlcChydGwgPyAtMSA6IDEsICRldmVudC50YXJnZXQpJyxcbiAgICAgICAgJyhrZXlkb3duLmFycm93TGVmdC5wcmV2ZW50KSc6ICdjaGFuZ2VCeVN0ZXAocnRsID8gMSA6IC0xLCAkZXZlbnQudGFyZ2V0KScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUmFuZ2UgZXh0ZW5kcyBUdWlDb250cm9sPFtudW1iZXIsIG51bWJlcl0+IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICAvLyBUT0RPOiByZWZhY3RvciB0byBzaWduYWwgaW5wdXRzIGFmdGVyIEFuZ3VsYXIgdXBkYXRlXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VzID0gc2lnbmFsKDEpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfU0xJREVSX09QVElPTlMpO1xuICAgIHByb3RlY3RlZCBsYXN0QWN0aXZlVGh1bWI6ICdlbmQnIHwgJ3N0YXJ0JyA9ICdlbmQnO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWluID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1heCA9IDEwMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHN0ZXAgPSAxO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2l6ZTogVHVpU2l6ZVMgPSB0aGlzLm9wdGlvbnMuc2l6ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlZ21lbnRzID0gMTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9jdXNhYmxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1hcmdpbiA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsaW1pdCA9IEluZmluaXR5O1xuXG4gICAgQFZpZXdDaGlsZHJlbihUdWlTbGlkZXJDb21wb25lbnQsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2xpZGVyc1JlZnM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHN0YXJ0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50b1BlcmNlbnQodGhpcy52YWx1ZSgpWzBdKSk7XG4gICAgcHVibGljIHJlYWRvbmx5IGVuZCA9IGNvbXB1dGVkKCgpID0+IDEwMCAtIHRoaXMudG9QZXJjZW50KHRoaXMudmFsdWUoKVsxXSkpO1xuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZXMudXBkYXRlKCh4KSA9PiB4ICsgMSk7XG4gICAgfVxuXG4gICAgcHVibGljIHByb2Nlc3NWYWx1ZSh2YWx1ZTogbnVtYmVyLCBlbmQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGVuZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVFbmQodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTdGFydCh2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxhc3RBY3RpdmVUaHVtYiA9IGVuZCA/ICdlbmQnIDogJ3N0YXJ0JztcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9WYWx1ZShmcmFjdGlvbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHR1aVBlcmNlbnRhZ2VUb0tleVN0ZXBWYWx1ZShcbiAgICAgICAgICAgIHR1aUNsYW1wKHR1aVF1YW50aXplKGZyYWN0aW9uLCB0aGlzLmZyYWN0aW9uU3RlcCksIDAsIDEpICogMTAwLFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZEtleVN0ZXBzLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgZnJhY3Rpb25TdGVwKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0ZXAgLyAodGhpcy5tYXggLSB0aGlzLm1pbik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBjb21wdXRlZEtleVN0ZXBzKCk6IFR1aUtleVN0ZXBzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZVB1cmVLZXlTdGVwcyh0aGlzLmtleVN0ZXBzLCB0aGlzLm1pbiwgdGhpcy5tYXgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgc2VnbWVudFdpZHRoUmF0aW8oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIDEgLyB0aGlzLnNlZ21lbnRzO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgcnRsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5tYXRjaGVzKCdbZGlyPVwicnRsXCJdIDpzY29wZScpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjaGFuZ2VCeVN0ZXAoY29lZmZpY2llbnQ6IG51bWJlciwgdGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBbc3RhcnRUaHVtYiwgZW5kVGh1bWJdID0gdGhpcy5zbGlkZXJzUmVmcy5tYXAoKHgpID0+IHg/Lm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgIGNvbnN0IGlzRW5kVGh1bWIgPVxuICAgICAgICAgICAgdGFyZ2V0ID09PSB0aGlzLmVsID8gdGhpcy5sYXN0QWN0aXZlVGh1bWIgPT09ICdlbmQnIDogdGFyZ2V0ID09PSBlbmRUaHVtYjtcbiAgICAgICAgY29uc3QgYWN0aXZlVGh1bWJFbGVtZW50ID0gaXNFbmRUaHVtYiA/IGVuZFRodW1iIDogc3RhcnRUaHVtYjtcbiAgICAgICAgY29uc3QgcHJldmlvdXNWYWx1ZSA9IHRoaXMudmFsdWUoKVtpc0VuZFRodW1iID8gMSA6IDBdO1xuICAgICAgICAvKiogQGJhZCBUT0RPIHRoaW5rIGFib3V0IGEgc29sdXRpb24gd2l0aG91dCB0d2ljZSBjb252ZXJzaW9uICovXG4gICAgICAgIGNvbnN0IHByZXZpb3VzRnJhY3Rpb24gPSB0aGlzLnRvUGVyY2VudChwcmV2aW91c1ZhbHVlKSAvIDEwMDtcbiAgICAgICAgY29uc3QgbmV3RnJhY3Rpb25WYWx1ZSA9IHByZXZpb3VzRnJhY3Rpb24gKyBjb2VmZmljaWVudCAqIHRoaXMuZnJhY3Rpb25TdGVwO1xuXG4gICAgICAgIHRoaXMucHJvY2Vzc1ZhbHVlKHRoaXMudG9WYWx1ZShuZXdGcmFjdGlvblZhbHVlKSwgaXNFbmRUaHVtYik7XG4gICAgICAgIGFjdGl2ZVRodW1iRWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdG9QZXJjZW50KHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VzKCkgJiYgdHVpS2V5U3RlcFZhbHVlVG9QZXJjZW50YWdlKHZhbHVlLCB0aGlzLmNvbXB1dGVkS2V5U3RlcHMpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNvbXB1dGVQdXJlS2V5U3RlcHMoXG4gICAgICAgIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyB8IG51bGwsXG4gICAgICAgIG1pbjogbnVtYmVyLFxuICAgICAgICBtYXg6IG51bWJlcixcbiAgICApOiBUdWlLZXlTdGVwcyB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBrZXlTdGVwcyB8fCBbXG4gICAgICAgICAgICAgICAgWzAsIG1pbl0sXG4gICAgICAgICAgICAgICAgWzEwMCwgbWF4XSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVN0YXJ0KHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBNYXRoLm1pbih2YWx1ZSwgdGhpcy52YWx1ZSgpWzFdKTtcbiAgICAgICAgY29uc3QgZGlzdGFuY2UgPSB0aGlzLnZhbHVlKClbMV0gLSBuZXdWYWx1ZTtcblxuICAgICAgICBpZiAoIXRoaXMuY2hlY2tEaXN0YW5jZShkaXN0YW5jZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25DaGFuZ2UoW25ld1ZhbHVlLCB0aGlzLnZhbHVlKClbMV1dKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUVuZCh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gTWF0aC5tYXgodmFsdWUsIHRoaXMudmFsdWUoKVswXSk7XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlID0gbmV3VmFsdWUgLSB0aGlzLnZhbHVlKClbMF07XG5cbiAgICAgICAgaWYgKCF0aGlzLmNoZWNrRGlzdGFuY2UoZGlzdGFuY2UpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uQ2hhbmdlKFt0aGlzLnZhbHVlKClbMF0sIG5ld1ZhbHVlXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0Rpc3RhbmNlKGRpc3RhbmNlOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUNsYW1wKGRpc3RhbmNlLCB0aGlzLm1hcmdpbiwgdGhpcy5saW1pdCkgPT09IGRpc3RhbmNlO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cInQtdHJhY2tcIlxuICAgIFtzdHlsZS4tLXQtYmctc2l6ZS1yYXRpb109XCIxIC0gc2VnbWVudFdpZHRoUmF0aW9cIlxuICAgIFtzdHlsZS4tLXQtc2VnbWVudC13aWR0aC4lXT1cInNlZ21lbnRXaWR0aFJhdGlvICogMTAwXCJcbj5cbiAgICA8aW5wdXRcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1yYW5nZV9fbGVmdFwiXG4gICAgICAgIHJlYWRvbmx5XG4gICAgICAgIHN0ZXA9XCJhbnlcIlxuICAgICAgICB0dWlTbGlkZXJcbiAgICAgICAgdHlwZT1cInJhbmdlXCJcbiAgICAgICAgY2xhc3M9XCJ0LXRodW1iXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICBba2V5U3RlcHNdPVwiY29tcHV0ZWRLZXlTdGVwc1wiXG4gICAgICAgIFttYXhdPVwibWF4XCJcbiAgICAgICAgW21pbl09XCJtaW5cIlxuICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZSgpWzBdXCJcbiAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgIFtzaXplXT1cInNpemVcIlxuICAgICAgICBbdGFiSW5kZXhdPVwiZm9jdXNhYmxlID8gMCA6IC0xXCJcbiAgICAvPlxuICAgIDxpbnB1dFxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXJhbmdlX19yaWdodFwiXG4gICAgICAgIHJlYWRvbmx5XG4gICAgICAgIHN0ZXA9XCJhbnlcIlxuICAgICAgICB0dWlTbGlkZXJcbiAgICAgICAgdHlwZT1cInJhbmdlXCJcbiAgICAgICAgY2xhc3M9XCJ0LXRodW1iXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICBba2V5U3RlcHNdPVwiY29tcHV0ZWRLZXlTdGVwc1wiXG4gICAgICAgIFttYXhdPVwibWF4XCJcbiAgICAgICAgW21pbl09XCJtaW5cIlxuICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZSgpWzFdXCJcbiAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgIFtzaXplXT1cInNpemVcIlxuICAgICAgICBbdGFiSW5kZXhdPVwiZm9jdXNhYmxlID8gMCA6IC0xXCJcbiAgICAvPlxuPC9kaXY+XG4iXX0=
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcmFuZ2UvcmFuZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcmFuZ2UvcmFuZ2UudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFDTixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFMUQsT0FBTyxFQUNILGtCQUFrQixFQUVsQiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzNCLFNBQVMsRUFDVCxrQkFBa0IsR0FDckIsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBRXhELE1BNkJhLFFBQVMsU0FBUSxVQUE0QjtJQTdCMUQ7O1FBOEJJLHVEQUF1RDtRQUN0QyxZQUFPLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLE9BQUUsR0FB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QURWLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsTUFBTTtzQkFEWixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJVSxXQUFXO3NCQUQxQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQztnQkE4RTVDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIHR5cGUgT25DaGFuZ2VzLFxuICAgIHR5cGUgUXVlcnlMaXN0LFxuICAgIHNpZ25hbCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUdWlDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtFTVBUWV9RVUVSWX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHt0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlDbGFtcCwgdHVpUXVhbnRpemV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWF0aCc7XG5pbXBvcnQge3R1aVB1cmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge3R5cGUgVHVpU2l6ZVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7XG4gICAgVFVJX1NMSURFUl9PUFRJT05TLFxuICAgIHR5cGUgVHVpS2V5U3RlcHMsXG4gICAgdHVpS2V5U3RlcFZhbHVlVG9QZXJjZW50YWdlLFxuICAgIHR1aVBlcmNlbnRhZ2VUb0tleVN0ZXBWYWx1ZSxcbiAgICBUdWlTbGlkZXIsXG4gICAgVHVpU2xpZGVyQ29tcG9uZW50LFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyJztcblxuaW1wb3J0IHtUdWlSYW5nZUNoYW5nZX0gZnJvbSAnLi9yYW5nZS1jaGFuZ2UuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1yYW5nZScsXG4gICAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBUdWlTbGlkZXJdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yYW5nZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yYW5nZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyKFswLCAwXSldLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogVHVpUmFuZ2VDaGFuZ2UsXG4gICAgICAgICAgICBvdXRwdXRzOiBbJ2FjdGl2ZVRodW1iQ2hhbmdlJ10sXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLXNpemVdJzogJ3NpemUnLFxuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJy0xJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnW3N0eWxlLi0tdC1zdGFydC4lXSc6ICdzdGFydCgpJyxcbiAgICAgICAgJ1tzdHlsZS4tLXQtZW5kLiVdJzogJ2VuZCgpJyxcbiAgICAgICAgJ1tzdHlsZS5iYWNrZ3JvdW5kXSc6ICdvcHRpb25zLnRyYWNrQ29sb3InLFxuICAgICAgICAnW2NsYXNzLl9kaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG4gICAgICAgICcoZm9jdXNvdXQpJzogJ29uVG91Y2hlZCgpJyxcbiAgICAgICAgJyhrZXlkb3duLmFycm93VXAucHJldmVudCknOiAnY2hhbmdlQnlTdGVwKDEsICRldmVudC50YXJnZXQpJyxcbiAgICAgICAgJyhrZXlkb3duLmFycm93RG93bi5wcmV2ZW50KSc6ICdjaGFuZ2VCeVN0ZXAoLTEsICRldmVudC50YXJnZXQpJyxcbiAgICAgICAgJyhrZXlkb3duLmFycm93UmlnaHQucHJldmVudCknOiAnY2hhbmdlQnlTdGVwKHJ0bCA/IC0xIDogMSwgJGV2ZW50LnRhcmdldCknLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dMZWZ0LnByZXZlbnQpJzogJ2NoYW5nZUJ5U3RlcChydGwgPyAxIDogLTEsICRldmVudC50YXJnZXQpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlSYW5nZSBleHRlbmRzIFR1aUNvbnRyb2w8W251bWJlciwgbnVtYmVyXT4gaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIC8vIFRPRE86IHJlZmFjdG9yIHRvIHNpZ25hbCBpbnB1dHMgYWZ0ZXIgQW5ndWxhciB1cGRhdGVcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZXMgPSBzaWduYWwoMSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9TTElERVJfT1BUSU9OUyk7XG4gICAgcHJvdGVjdGVkIGxhc3RBY3RpdmVUaHVtYjogJ2VuZCcgfCAnc3RhcnQnID0gJ2VuZCc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtaW4gPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWF4ID0gMTAwO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc3RlcCA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaXplOiBUdWlTaXplUyA9IHRoaXMub3B0aW9ucy5zaXplO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VnbWVudHMgPSAxO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMga2V5U3RlcHM6IFR1aUtleVN0ZXBzIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb2N1c2FibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWFyZ2luID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxpbWl0ID0gSW5maW5pdHk7XG5cbiAgICBAVmlld0NoaWxkcmVuKFR1aVNsaWRlckNvbXBvbmVudCwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHB1YmxpYyByZWFkb25seSBzbGlkZXJzUmVmczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgc3RhcnQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRvUGVyY2VudCh0aGlzLnZhbHVlKClbMF0pKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZW5kID0gY29tcHV0ZWQoKCkgPT4gMTAwIC0gdGhpcy50b1BlcmNlbnQodGhpcy52YWx1ZSgpWzFdKSk7XG5cbiAgICAvKipcbiAgICAgKiBUT0RPKHY1KTogc3RhbmRhcmRpemUgbG9naWMgYmV0d2VlbiBgVHVpU2xpZGVyYCAmIGBUdWlJbnB1dFNsaWRlcmAgJiBgUmFuZ2VgICYgYElucHV0UmFuZ2VgXG4gICAgICogRm9yIG5vbi1saW5lYXIgc2xpZGVyICh3aXRoIGBba2V5U3RlcHNdYCBwcm9wZXJ0eSkgYHN0ZXBgIG1lYW5zIHBlcmNlbnRhZ2VcbiAgICAgKi9cbiAgICBwdWJsaWMgbGVnYWN5TW9kZSA9IHRydWU7XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlcy51cGRhdGUoKHgpID0+IHggKyAxKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcHJvY2Vzc1ZhbHVlKHZhbHVlOiBudW1iZXIsIGVuZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoZW5kKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUVuZCh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXJ0KHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubGFzdEFjdGl2ZVRodW1iID0gZW5kID8gJ2VuZCcgOiAnc3RhcnQnO1xuICAgIH1cblxuICAgIHB1YmxpYyB0YWtlU3RlcChjb2VmZmljaWVudHM6IHJlYWRvbmx5IFtudW1iZXIsIG51bWJlcl0pOiByZWFkb25seSBbbnVtYmVyLCBudW1iZXJdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUoKS5tYXAoKHZhbHVlLCBpKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmcmFjdGlvbiA9IHRoaXMudG9QZXJjZW50KHZhbHVlKSAvIDEwMDtcbiAgICAgICAgICAgIGNvbnN0IG5ld0ZyYWN0aW9uVmFsdWUgPSBmcmFjdGlvbiArIGNvZWZmaWNpZW50c1tpXSEgKiB0aGlzLmZyYWN0aW9uU3RlcDtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9WYWx1ZShuZXdGcmFjdGlvblZhbHVlKTtcbiAgICAgICAgfSkgYXMgW251bWJlciwgbnVtYmVyXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9WYWx1ZShmcmFjdGlvbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHR1aVBlcmNlbnRhZ2VUb0tleVN0ZXBWYWx1ZShcbiAgICAgICAgICAgIHR1aUNsYW1wKHR1aVF1YW50aXplKGZyYWN0aW9uLCB0aGlzLmZyYWN0aW9uU3RlcCksIDAsIDEpICogMTAwLFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZEtleVN0ZXBzLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgZnJhY3Rpb25TdGVwKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmxlZ2FjeU1vZGUgfHwgIXRoaXMua2V5U3RlcHNcbiAgICAgICAgICAgID8gdGhpcy5zdGVwIC8gKHRoaXMubWF4IC0gdGhpcy5taW4pXG4gICAgICAgICAgICA6IHRoaXMuc3RlcCAvIDEwMDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGNvbXB1dGVkS2V5U3RlcHMoKTogVHVpS2V5U3RlcHMge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlUHVyZUtleVN0ZXBzKHRoaXMua2V5U3RlcHMsIHRoaXMubWluLCB0aGlzLm1heCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBzZWdtZW50V2lkdGhSYXRpbygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gMSAvIHRoaXMuc2VnbWVudHM7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBydGwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsLm1hdGNoZXMoJ1tkaXI9XCJydGxcIl0gOnNjb3BlJyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNoYW5nZUJ5U3RlcChjb2VmZmljaWVudDogbnVtYmVyLCB0YXJnZXQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IFtzdGFydFRodW1iLCBlbmRUaHVtYl0gPSB0aGlzLnNsaWRlcnNSZWZzLm1hcCgoeCkgPT4geD8ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIGNvbnN0IGlzRW5kVGh1bWIgPVxuICAgICAgICAgICAgdGFyZ2V0ID09PSB0aGlzLmVsID8gdGhpcy5sYXN0QWN0aXZlVGh1bWIgPT09ICdlbmQnIDogdGFyZ2V0ID09PSBlbmRUaHVtYjtcbiAgICAgICAgY29uc3QgYWN0aXZlVGh1bWJFbGVtZW50ID0gaXNFbmRUaHVtYiA/IGVuZFRodW1iIDogc3RhcnRUaHVtYjtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLnRha2VTdGVwKGlzRW5kVGh1bWIgPyBbMCwgY29lZmZpY2llbnRdIDogW2NvZWZmaWNpZW50LCAwXSk7XG5cbiAgICAgICAgdGhpcy5wcm9jZXNzVmFsdWUobmV3VmFsdWVbaXNFbmRUaHVtYiA/IDEgOiAwXSwgaXNFbmRUaHVtYik7XG4gICAgICAgIGFjdGl2ZVRodW1iRWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdG9QZXJjZW50KHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VzKCkgJiYgdHVpS2V5U3RlcFZhbHVlVG9QZXJjZW50YWdlKHZhbHVlLCB0aGlzLmNvbXB1dGVkS2V5U3RlcHMpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNvbXB1dGVQdXJlS2V5U3RlcHMoXG4gICAgICAgIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyB8IG51bGwsXG4gICAgICAgIG1pbjogbnVtYmVyLFxuICAgICAgICBtYXg6IG51bWJlcixcbiAgICApOiBUdWlLZXlTdGVwcyB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBrZXlTdGVwcyB8fCBbXG4gICAgICAgICAgICAgICAgWzAsIG1pbl0sXG4gICAgICAgICAgICAgICAgWzEwMCwgbWF4XSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVN0YXJ0KHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBNYXRoLm1pbih2YWx1ZSwgdGhpcy52YWx1ZSgpWzFdKTtcbiAgICAgICAgY29uc3QgZGlzdGFuY2UgPSB0aGlzLnZhbHVlKClbMV0gLSBuZXdWYWx1ZTtcblxuICAgICAgICBpZiAoIXRoaXMuY2hlY2tEaXN0YW5jZShkaXN0YW5jZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25DaGFuZ2UoW25ld1ZhbHVlLCB0aGlzLnZhbHVlKClbMV1dKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUVuZCh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gTWF0aC5tYXgodmFsdWUsIHRoaXMudmFsdWUoKVswXSk7XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlID0gbmV3VmFsdWUgLSB0aGlzLnZhbHVlKClbMF07XG5cbiAgICAgICAgaWYgKCF0aGlzLmNoZWNrRGlzdGFuY2UoZGlzdGFuY2UpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uQ2hhbmdlKFt0aGlzLnZhbHVlKClbMF0sIG5ld1ZhbHVlXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0Rpc3RhbmNlKGRpc3RhbmNlOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUNsYW1wKGRpc3RhbmNlLCB0aGlzLm1hcmdpbiwgdGhpcy5saW1pdCkgPT09IGRpc3RhbmNlO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cInQtdHJhY2tcIlxuICAgIFtzdHlsZS4tLXQtYmctc2l6ZS1yYXRpb109XCIxIC0gc2VnbWVudFdpZHRoUmF0aW9cIlxuICAgIFtzdHlsZS4tLXQtc2VnbWVudC13aWR0aC4lXT1cInNlZ21lbnRXaWR0aFJhdGlvICogMTAwXCJcbj5cbiAgICA8aW5wdXRcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1yYW5nZV9fbGVmdFwiXG4gICAgICAgIHJlYWRvbmx5XG4gICAgICAgIHN0ZXA9XCJhbnlcIlxuICAgICAgICB0dWlTbGlkZXJcbiAgICAgICAgdHlwZT1cInJhbmdlXCJcbiAgICAgICAgY2xhc3M9XCJ0LXRodW1iXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICBba2V5U3RlcHNdPVwiY29tcHV0ZWRLZXlTdGVwc1wiXG4gICAgICAgIFttYXhdPVwibWF4XCJcbiAgICAgICAgW21pbl09XCJtaW5cIlxuICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZSgpWzBdXCJcbiAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgIFtzaXplXT1cInNpemVcIlxuICAgICAgICBbdGFiSW5kZXhdPVwiZm9jdXNhYmxlID8gMCA6IC0xXCJcbiAgICAvPlxuICAgIDxpbnB1dFxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXJhbmdlX19yaWdodFwiXG4gICAgICAgIHJlYWRvbmx5XG4gICAgICAgIHN0ZXA9XCJhbnlcIlxuICAgICAgICB0dWlTbGlkZXJcbiAgICAgICAgdHlwZT1cInJhbmdlXCJcbiAgICAgICAgY2xhc3M9XCJ0LXRodW1iXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICBba2V5U3RlcHNdPVwiY29tcHV0ZWRLZXlTdGVwc1wiXG4gICAgICAgIFttYXhdPVwibWF4XCJcbiAgICAgICAgW21pbl09XCJtaW5cIlxuICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZSgpWzFdXCJcbiAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgIFtzaXplXT1cInNpemVcIlxuICAgICAgICBbdGFiSW5kZXhdPVwiZm9jdXNhYmxlID8gMCA6IC0xXCJcbiAgICAvPlxuPC9kaXY+XG4iXX0=
@@ -28,7 +28,8 @@ class TuiSliderKeyStepsBase {
28
28
  this.max = steps?.[steps.length - 1]?.[1];
29
29
  }
30
30
  /**
31
- * TODO(v5): standardize logic between `TuiSlider` & `TuiInputSlider` (for non-linear slider `step` means percentage)
31
+ * TODO(v5): standardize logic between `TuiSlider` & `TuiInputSlider` & `Range` & `InputRange`
32
+ * For non-linear slider (with `[keySteps]` property) `step` means percentage
32
33
  * Add these host-bindings to `TuiSliderKeyStepsBase`:
33
34
  * ```
34
35
  * host: {
@@ -106,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
106
107
  }], propDecorators: { keySteps: [{
107
108
  type: Input
108
109
  }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLWtleS1zdGVwcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9zbGlkZXIvaGVscGVycy9zbGlkZXIta2V5LXN0ZXBzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBMkIsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyw0QkFBNEIsRUFBbUIsTUFBTSxhQUFhLENBQUM7O0FBRTNFLE1BU2EscUJBQXFCO0lBVGxDO1FBVXFCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBTXBFLFNBQUksR0FBa0IsQ0FBQyxDQUFDO1FBRXhCLGdCQUFXLEdBQUcsTUFBTSxDQUE2QyxJQUFJ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SUFBSTtvQkFDaEIsUUFBUSxFQUNKLHlIQUF5SDtvQkFDN0gsU0FBUyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3hDLElBQUksRUFBRTt3QkFDRixTQUFTLEVBQUUsU0FBUzt3QkFDcEIsWUFBWSxFQUFFLFlBQVk7d0JBQzFCLFFBQVEsRUFBRSxhQUFhO3dCQUN2QixTQUFTLEVBQUUsK0JBQStCO3dCQUMxQyxVQUFVLEVBQUUsK0JBQStCO3FCQUM5QztpQkFDSjs4QkFPYyxRQUFRO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGZvcndhcmRSZWYsIGluamVjdCwgSU5KRUNUT1IsIElucHV0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHVpQ29udHJvbCwgdHlwZSBUdWlWYWx1ZVRyYW5zZm9ybWVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHt0dWlDb250cm9sVmFsdWV9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpUHVyZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7c3dpdGNoTWFwLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpU2xpZGVyQ29tcG9uZW50fSBmcm9tICcuLi9zbGlkZXIuY29tcG9uZW50JztcbmltcG9ydCB7dHVpQ3JlYXRlS2V5U3RlcHNUcmFuc2Zvcm1lciwgdHlwZSBUdWlLZXlTdGVwc30gZnJvbSAnLi9rZXktc3RlcHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpU2xpZGVyXVtrZXlTdGVwc10nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmFyaWEtdmFsdWVtaW5dJzogJ21pbicsXG4gICAgICAgICdbYXR0ci5hcmlhLXZhbHVlbWF4XSc6ICdtYXgnLFxuICAgICAgICAnW2F0dHIuYXJpYS12YWx1ZW5vd10nOiAndmFsdWUoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2xpZGVyS2V5U3RlcHNCYXNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KElOSkVDVE9SKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2wgPSBpbmplY3QoTmdDb250cm9sLCB7c2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWV9KTtcblxuICAgIHByb3RlY3RlZCBtaW4/OiBudW1iZXI7XG4gICAgcHJvdGVjdGVkIG1heD86IG51bWJlcjtcblxuICAgIEBJbnB1dCh7dHJhbnNmb3JtOiAoeDogbnVtYmVyIHwgJ2FueScpID0+ICh4ID09PSAnYW55JyA/IG51bGwgOiB4KX0pXG4gICAgcHVibGljIHN0ZXA6IG51bWJlciB8IG51bGwgPSAxO1xuXG4gICAgcHVibGljIHRyYW5zZm9ybWVyID0gc2lnbmFsPFR1aVZhbHVlVHJhbnNmb3JtZXI8bnVtYmVyLCBudW1iZXI+IHwgbnVsbD4obnVsbCk7XG4gICAgcHVibGljIHZhbHVlID0gdG9TaWduYWwoXG4gICAgICAgIHRpbWVyKDApIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzU0NDE4XG4gICAgICAgICAgICAucGlwZShzd2l0Y2hNYXAoKCkgPT4gdHVpQ29udHJvbFZhbHVlPG51bWJlcj4odGhpcy5jb250cm9sKSkpLFxuICAgICk7XG5cbiAgICBAdHVpUHVyZVxuICAgIHB1YmxpYyBnZXQgc2xpZGVyKCk6IFR1aVNsaWRlckNvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChUdWlTbGlkZXJDb21wb25lbnQpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBrZXlTdGVwcyhzdGVwczogVHVpS2V5U3RlcHMgfCBudWxsKSB7XG4gICAgICAgIHRoaXMudHJhbnNmb3JtZXIuc2V0KHN0ZXBzICYmIHR1aUNyZWF0ZUtleVN0ZXBzVHJhbnNmb3JtZXIoc3RlcHMsIHRoaXMuc2xpZGVyKSk7XG4gICAgICAgIHRoaXMubWluID0gc3RlcHM/LlswXVsxXTtcbiAgICAgICAgdGhpcy5tYXggPSBzdGVwcz8uW3N0ZXBzLmxlbmd0aCAtIDFdPy5bMV07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVE9ETyh2NSk6IHN0YW5kYXJkaXplIGxvZ2ljIGJldHdlZW4gYFR1aVNsaWRlcmAgJiBgVHVpSW5wdXRTbGlkZXJgIChmb3Igbm9uLWxpbmVhciBzbGlkZXIgYHN0ZXBgIG1lYW5zIHBlcmNlbnRhZ2UpXG4gICAgICogQWRkIHRoZXNlIGhvc3QtYmluZGluZ3MgdG8gYFR1aVNsaWRlcktleVN0ZXBzQmFzZWA6XG4gICAgICogYGBgXG4gICAgICogaG9zdDoge1xuICAgICAqICAgICAnW2F0dHIubWluXSc6ICcwJyxcbiAgICAgKiAgICAgJ1thdHRyLnN0ZXBdJzogJzEnLFxuICAgICAqICAgICAnW2F0dHIubWF4XSc6ICd0b3RhbFN0ZXBzJyxcbiAgICAgKiB9LFxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgdG90YWxTdGVwcygpOiBudW1iZXIge1xuICAgICAgICAvKipcbiAgICAgICAgICogTm90LWludGVnZXIgYW1vdW50IG9mIHN0ZXBzIGlzIGludmFsaWQgdXNhZ2Ugb2YgbmF0aXZlIHNsaWRlcnNcbiAgICAgICAgICogYGBgaHRtbFxuICAgICAgICAgKiA8aW5wdXQgdHlwZT1cInJhbmdlXCIgW21heF09XCIxMDBcIiBbc3RlcF09XCIzLjMzXCIgLz5cbiAgICAgICAgICogYGBgXG4gICAgICAgICAqIChpbXBvc3NpYmxlIHRvIHNlbGVjdCAxMDA7IDk5LjkgaXMgbWF4IGFsbG93ZWQgdmFsdWUpXG4gICAgICAgICAqL1xuICAgICAgICByZXR1cm4gdGhpcy5zdGVwID8gTWF0aC5yb3VuZCgxMDAgLyB0aGlzLnN0ZXApIDogSW5maW5pdHk7XG4gICAgfVxuXG4gICAgcHVibGljIHRha2VTdGVwKGNvZWZmaWNpZW50OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuc2xpZGVyLnZhbHVlICsgY29lZmZpY2llbnQ7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMudHJhbnNmb3JtZXIoKT8udG9Db250cm9sVmFsdWUodGhpcy5zbGlkZXIudmFsdWUgKyBjb2VmZmljaWVudCkgPz9cbiAgICAgICAgICAgIG5ld1ZhbHVlXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOlxuICAgICAgICAnaW5wdXRbdHVpU2xpZGVyXVtrZXlTdGVwc11bbmdNb2RlbF0saW5wdXRbdHVpU2xpZGVyXVtrZXlTdGVwc11bZm9ybUNvbnRyb2xdLGlucHV0W3R1aVNsaWRlcl1ba2V5U3RlcHNdW2Zvcm1Db250cm9sTmFtZV0nLFxuICAgIHByb3ZpZGVyczogW3R1aUZhbGxiYWNrVmFsdWVQcm92aWRlcigwKV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW3ZhbHVlXSc6ICd2YWx1ZSgpJyxcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG4gICAgICAgICcoYmx1ciknOiAnb25Ub3VjaGVkKCknLFxuICAgICAgICAnKGlucHV0KSc6ICdvbkNoYW5nZSgkZXZlbnQudGFyZ2V0LnZhbHVlKScsXG4gICAgICAgICcoY2hhbmdlKSc6ICdvbkNoYW5nZSgkZXZlbnQudGFyZ2V0LnZhbHVlKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2xpZGVyS2V5U3RlcHMgZXh0ZW5kcyBUdWlDb250cm9sPG51bWJlcj4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2xpZGVyID0gaW5qZWN0PFR1aVNsaWRlckNvbXBvbmVudD4oXG4gICAgICAgIGZvcndhcmRSZWYoKCkgPT4gVHVpU2xpZGVyQ29tcG9uZW50KSxcbiAgICApO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGtleVN0ZXBzKHN0ZXBzOiBUdWlLZXlTdGVwcykge1xuICAgICAgICB0aGlzLnRyYW5zZm9ybWVyID0gdHVpQ3JlYXRlS2V5U3RlcHNUcmFuc2Zvcm1lcihzdGVwcywgdGhpcy5zbGlkZXIpO1xuICAgIH1cbn1cbiJdfQ==
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLWtleS1zdGVwcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9zbGlkZXIvaGVscGVycy9zbGlkZXIta2V5LXN0ZXBzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBMkIsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyw0QkFBNEIsRUFBbUIsTUFBTSxhQUFhLENBQUM7O0FBRTNFLE1BU2EscUJBQXFCO0lBVGxDO1FBVXFCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBTXBFLFNBQUksR0FBa0IsQ0FBQyxDQUFDO1FBRXhCLGdCQUFXLEdBQUcsTUFBTSxDQUE2QyxJQUFJ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LElBQUk7b0JBQ2hCLFFBQVEsRUFDSix5SEFBeUg7b0JBQzdILFNBQVMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN4QyxJQUFJLEVBQUU7d0JBQ0YsU0FBUyxFQUFFLFNBQVM7d0JBQ3BCLFlBQVksRUFBRSxZQUFZO3dCQUMxQixRQUFRLEVBQUUsYUFBYTt3QkFDdkIsU0FBUyxFQUFFLCtCQUErQjt3QkFDMUMsVUFBVSxFQUFFLCtCQUErQjtxQkFDOUM7aUJBQ0o7OEJBT2MsUUFBUTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBmb3J3YXJkUmVmLCBpbmplY3QsIElOSkVDVE9SLCBJbnB1dCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1R1aUNvbnRyb2wsIHR5cGUgVHVpVmFsdWVUcmFuc2Zvcm1lcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7dHVpQ29udHJvbFZhbHVlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7dHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aVB1cmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge3N3aXRjaE1hcCwgdGltZXJ9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aVNsaWRlckNvbXBvbmVudH0gZnJvbSAnLi4vc2xpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge3R1aUNyZWF0ZUtleVN0ZXBzVHJhbnNmb3JtZXIsIHR5cGUgVHVpS2V5U3RlcHN9IGZyb20gJy4va2V5LXN0ZXBzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aVNsaWRlcl1ba2V5U3RlcHNdJyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5hcmlhLXZhbHVlbWluXSc6ICdtaW4nLFxuICAgICAgICAnW2F0dHIuYXJpYS12YWx1ZW1heF0nOiAnbWF4JyxcbiAgICAgICAgJ1thdHRyLmFyaWEtdmFsdWVub3ddJzogJ3ZhbHVlKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVNsaWRlcktleVN0ZXBzQmFzZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJTkpFQ1RPUik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCwge3NlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlfSk7XG5cbiAgICBwcm90ZWN0ZWQgbWluPzogbnVtYmVyO1xuICAgIHByb3RlY3RlZCBtYXg/OiBudW1iZXI7XG5cbiAgICBASW5wdXQoe3RyYW5zZm9ybTogKHg6IG51bWJlciB8ICdhbnknKSA9PiAoeCA9PT0gJ2FueScgPyBudWxsIDogeCl9KVxuICAgIHB1YmxpYyBzdGVwOiBudW1iZXIgfCBudWxsID0gMTtcblxuICAgIHB1YmxpYyB0cmFuc2Zvcm1lciA9IHNpZ25hbDxUdWlWYWx1ZVRyYW5zZm9ybWVyPG51bWJlciwgbnVtYmVyPiB8IG51bGw+KG51bGwpO1xuICAgIHB1YmxpYyB2YWx1ZSA9IHRvU2lnbmFsKFxuICAgICAgICB0aW1lcigwKSAvLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy81NDQxOFxuICAgICAgICAgICAgLnBpcGUoc3dpdGNoTWFwKCgpID0+IHR1aUNvbnRyb2xWYWx1ZTxudW1iZXI+KHRoaXMuY29udHJvbCkpKSxcbiAgICApO1xuXG4gICAgQHR1aVB1cmVcbiAgICBwdWJsaWMgZ2V0IHNsaWRlcigpOiBUdWlTbGlkZXJDb21wb25lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoVHVpU2xpZGVyQ29tcG9uZW50KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQga2V5U3RlcHMoc3RlcHM6IFR1aUtleVN0ZXBzIHwgbnVsbCkge1xuICAgICAgICB0aGlzLnRyYW5zZm9ybWVyLnNldChzdGVwcyAmJiB0dWlDcmVhdGVLZXlTdGVwc1RyYW5zZm9ybWVyKHN0ZXBzLCB0aGlzLnNsaWRlcikpO1xuICAgICAgICB0aGlzLm1pbiA9IHN0ZXBzPy5bMF1bMV07XG4gICAgICAgIHRoaXMubWF4ID0gc3RlcHM/LltzdGVwcy5sZW5ndGggLSAxXT8uWzFdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRPRE8odjUpOiBzdGFuZGFyZGl6ZSBsb2dpYyBiZXR3ZWVuIGBUdWlTbGlkZXJgICYgYFR1aUlucHV0U2xpZGVyYCAmIGBSYW5nZWAgJiBgSW5wdXRSYW5nZWBcbiAgICAgKiBGb3Igbm9uLWxpbmVhciBzbGlkZXIgKHdpdGggYFtrZXlTdGVwc11gIHByb3BlcnR5KSBgc3RlcGAgbWVhbnMgcGVyY2VudGFnZVxuICAgICAqIEFkZCB0aGVzZSBob3N0LWJpbmRpbmdzIHRvIGBUdWlTbGlkZXJLZXlTdGVwc0Jhc2VgOlxuICAgICAqIGBgYFxuICAgICAqIGhvc3Q6IHtcbiAgICAgKiAgICAgJ1thdHRyLm1pbl0nOiAnMCcsXG4gICAgICogICAgICdbYXR0ci5zdGVwXSc6ICcxJyxcbiAgICAgKiAgICAgJ1thdHRyLm1heF0nOiAndG90YWxTdGVwcycsXG4gICAgICogfSxcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHRvdGFsU3RlcHMoKTogbnVtYmVyIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIE5vdC1pbnRlZ2VyIGFtb3VudCBvZiBzdGVwcyBpcyBpbnZhbGlkIHVzYWdlIG9mIG5hdGl2ZSBzbGlkZXJzXG4gICAgICAgICAqIGBgYGh0bWxcbiAgICAgICAgICogPGlucHV0IHR5cGU9XCJyYW5nZVwiIFttYXhdPVwiMTAwXCIgW3N0ZXBdPVwiMy4zM1wiIC8+XG4gICAgICAgICAqIGBgYFxuICAgICAgICAgKiAoaW1wb3NzaWJsZSB0byBzZWxlY3QgMTAwOyA5OS45IGlzIG1heCBhbGxvd2VkIHZhbHVlKVxuICAgICAgICAgKi9cbiAgICAgICAgcmV0dXJuIHRoaXMuc3RlcCA/IE1hdGgucm91bmQoMTAwIC8gdGhpcy5zdGVwKSA6IEluZmluaXR5O1xuICAgIH1cblxuICAgIHB1YmxpYyB0YWtlU3RlcChjb2VmZmljaWVudDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLnNsaWRlci52YWx1ZSArIGNvZWZmaWNpZW50O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnRyYW5zZm9ybWVyKCk/LnRvQ29udHJvbFZhbHVlKHRoaXMuc2xpZGVyLnZhbHVlICsgY29lZmZpY2llbnQpID8/XG4gICAgICAgICAgICBuZXdWYWx1ZVxuICAgICAgICApO1xuICAgIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjpcbiAgICAgICAgJ2lucHV0W3R1aVNsaWRlcl1ba2V5U3RlcHNdW25nTW9kZWxdLGlucHV0W3R1aVNsaWRlcl1ba2V5U3RlcHNdW2Zvcm1Db250cm9sXSxpbnB1dFt0dWlTbGlkZXJdW2tleVN0ZXBzXVtmb3JtQ29udHJvbE5hbWVdJyxcbiAgICBwcm92aWRlcnM6IFt0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXIoMCldLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1t2YWx1ZV0nOiAndmFsdWUoKScsXG4gICAgICAgICdbZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnKGJsdXIpJzogJ29uVG91Y2hlZCgpJyxcbiAgICAgICAgJyhpbnB1dCknOiAnb25DaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSknLFxuICAgICAgICAnKGNoYW5nZSknOiAnb25DaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVNsaWRlcktleVN0ZXBzIGV4dGVuZHMgVHVpQ29udHJvbDxudW1iZXI+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNsaWRlciA9IGluamVjdDxUdWlTbGlkZXJDb21wb25lbnQ+KFxuICAgICAgICBmb3J3YXJkUmVmKCgpID0+IFR1aVNsaWRlckNvbXBvbmVudCksXG4gICAgKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBrZXlTdGVwcyhzdGVwczogVHVpS2V5U3RlcHMpIHtcbiAgICAgICAgdGhpcy50cmFuc2Zvcm1lciA9IHR1aUNyZWF0ZUtleVN0ZXBzVHJhbnNmb3JtZXIoc3RlcHMsIHRoaXMuc2xpZGVyKTtcbiAgICB9XG59XG4iXX0=
@@ -30,7 +30,7 @@ class TuiTextarea {
30
30
  this.text?.nativeElement.scrollTo({ top: this.el.scrollTop });
31
31
  }
32
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextarea, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiTextarea, isStandalone: true, selector: "textarea[tuiTextarea]", inputs: { min: "min", max: "max", content: "content" }, host: { attributes: { "ngSkipHydration": "true" }, listeners: { "scroll.zoneless": "onScroll()", "scroll.once": "onScroll()" }, properties: { "class._mobile": "isMobile" } }, providers: [tuiProvide(TUI_SCROLL_REF, ElementRef)], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }, { propertyName: "text", first: true, predicate: ["text"], descendants: true }], hostDirectives: [{ directive: i1.TuiWithTextfield }], ngImport: i0, template: "<ng-template #template>\n <tui-scroll-controls\n *ngIf=\"!isMobile\"\n class=\"t-scroll\"\n />\n <span\n #text\n aria-hidden=\"true\"\n class=\"t-ghost\"\n [style.max-height.em]=\"1.25 * max\"\n [style.min-height.em]=\"1.25 * min\"\n >\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: el.value}\">{{ text }}</ng-container>\n </span>\n <span class=\"t-hack\"></span>\n</ng-template>\n", styles: [":host-context(tui-textfield._with-label[data-size=\"m\"]._with-label[data-size=\"m\"]){border-block-start-width:calc(.5rem + var(--t-height) / 3);padding-block-start:0}:host-context(tui-textfield._with-label[data-size=\"l\"]._with-label[data-size=\"l\"]){border-block-start-width:calc(.625rem + var(--t-height) / 3);padding-block-start:0}:host-context(tui-textfield[data-size=\"s\"]){padding-block-start:.5rem;padding-block-end:.25rem}:host-context(tui-textfield[data-size=\"m\"]){padding-block-start:.875rem;padding-block-end:.25rem}:host-context(tui-textfield[data-size=\"l\"]){padding-block-start:1.125rem;padding-block-end:.375rem}:host{word-break:break-word;border:0 solid transparent}:host[data-appearance=table]{border-block-start:1px solid transparent;border-block-end:none!important}:host:not(._mobile){scrollbar-width:none;-ms-overflow-style:none}:host:not(._mobile)::-webkit-scrollbar,:host:not(._mobile)::-webkit-scrollbar-thumb{display:none}.t-scroll{position:absolute;top:0;left:0;bottom:0;right:0;top:.25rem;bottom:.25rem;min-block-size:0}::ng-deep tui-textfield._with-label[data-size=m] .t-scroll{top:calc(.5rem + var(--t-height) / 3)}::ng-deep tui-textfield._with-label[data-size=l] .t-scroll{top:calc(.625rem + var(--t-height) / 3)}.t-ghost{position:relative;z-index:1;order:1;inline-size:-webkit-fill-available;inline-size:-moz-available;inline-size:stretch;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;padding-inline-start:var(--t-start);padding-inline-end:calc(var(--t-end) + var(--t-side));pointer-events:none;box-sizing:content-box;overflow:hidden;color:transparent}.t-ghost:after{content:\" \"}::ng-deep tui-textfield._with-label[data-size=m] textarea~.t-ghost{margin-block-start:-1.375rem;padding-block-end:.3125rem}::ng-deep tui-textfield._with-label[data-size=l] textarea~.t-ghost{margin-block-start:-1.75rem;padding-block-end:.5rem}::ng-deep tui-textfield[data-size=s] textarea~.t-ghost{margin-block-start:-1.5rem;padding-block-end:.5rem}::ng-deep tui-textfield[data-size=m] textarea~.t-ghost{margin-block-start:-2rem;padding-block-end:.875rem}::ng-deep tui-textfield[data-size=l] textarea~.t-ghost{margin-block-start:-2.5rem;padding-block-end:1rem}.t-hack{transition-property:box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px transparent}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiTextarea, isStandalone: true, selector: "textarea[tuiTextarea]", inputs: { min: "min", max: "max", content: "content" }, host: { attributes: { "ngSkipHydration": "true" }, listeners: { "scroll.zoneless": "onScroll()", "scroll.once": "onScroll()" }, properties: { "class._mobile": "isMobile" } }, providers: [tuiProvide(TUI_SCROLL_REF, ElementRef)], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }, { propertyName: "text", first: true, predicate: ["text"], descendants: true }], hostDirectives: [{ directive: i1.TuiWithTextfield }], ngImport: i0, template: "<ng-template #template>\n <tui-scroll-controls\n *ngIf=\"!isMobile\"\n class=\"t-scroll\"\n (click.prevent)=\"(0)\"\n />\n <span\n #text\n aria-hidden=\"true\"\n class=\"t-ghost\"\n [style.max-height.em]=\"1.25 * max\"\n [style.min-height.em]=\"1.25 * min\"\n >\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: el.value}\">{{ text }}</ng-container>\n </span>\n <span class=\"t-hack\"></span>\n</ng-template>\n", styles: [":host-context(tui-textfield._with-label[data-size=\"m\"]._with-label[data-size=\"m\"]){border-block-start-width:calc(.5rem + var(--t-height) / 3);padding-block-start:0}:host-context(tui-textfield._with-label[data-size=\"l\"]._with-label[data-size=\"l\"]){border-block-start-width:calc(.625rem + var(--t-height) / 3);padding-block-start:0}:host-context(tui-textfield[data-size=\"s\"]){padding-block-start:.5rem;padding-block-end:.25rem}:host-context(tui-textfield[data-size=\"m\"]){padding-block-start:.875rem;padding-block-end:.25rem}:host-context(tui-textfield[data-size=\"l\"]){padding-block-start:1.125rem;padding-block-end:.375rem}:host{word-break:break-word;border:0 solid transparent}:host[data-appearance=table]{border-block-start:1px solid transparent;border-block-end:none!important}:host:not(._mobile){scrollbar-width:none;-ms-overflow-style:none}:host:not(._mobile)::-webkit-scrollbar,:host:not(._mobile)::-webkit-scrollbar-thumb{display:none}.t-scroll{position:absolute;top:0;left:0;bottom:0;right:0;top:.25rem;bottom:.25rem;min-block-size:0}::ng-deep tui-textfield._with-label[data-size=m] .t-scroll{top:calc(.5rem + var(--t-height) / 3)}::ng-deep tui-textfield._with-label[data-size=l] .t-scroll{top:calc(.625rem + var(--t-height) / 3)}.t-ghost{position:relative;z-index:1;order:1;inline-size:-webkit-fill-available;inline-size:-moz-available;inline-size:stretch;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;padding-inline-start:var(--t-start);padding-inline-end:calc(var(--t-end) + var(--t-side));pointer-events:none;box-sizing:content-box;overflow:hidden;color:transparent}.t-ghost:after{content:\" \"}::ng-deep tui-textfield._with-label[data-size=m] textarea~.t-ghost{margin-block-start:-1.375rem;padding-block-end:.3125rem}::ng-deep tui-textfield._with-label[data-size=l] textarea~.t-ghost{margin-block-start:-1.75rem;padding-block-end:.5rem}::ng-deep tui-textfield[data-size=s] textarea~.t-ghost{margin-block-start:-1.5rem;padding-block-end:.5rem}::ng-deep tui-textfield[data-size=m] textarea~.t-ghost{margin-block-start:-2rem;padding-block-end:.875rem}::ng-deep tui-textfield[data-size=l] textarea~.t-ghost{margin-block-start:-2.5rem;padding-block-end:1rem}.t-hack{transition-property:box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px transparent}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
34
  }
35
35
  export { TuiTextarea };
36
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextarea, decorators: [{
@@ -41,7 +41,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
41
41
  '(scroll.zoneless)': 'onScroll()',
42
42
  // To trigger CD for #text
43
43
  '(scroll.once)': 'onScroll()',
44
- }, template: "<ng-template #template>\n <tui-scroll-controls\n *ngIf=\"!isMobile\"\n class=\"t-scroll\"\n />\n <span\n #text\n aria-hidden=\"true\"\n class=\"t-ghost\"\n [style.max-height.em]=\"1.25 * max\"\n [style.min-height.em]=\"1.25 * min\"\n >\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: el.value}\">{{ text }}</ng-container>\n </span>\n <span class=\"t-hack\"></span>\n</ng-template>\n", styles: [":host-context(tui-textfield._with-label[data-size=\"m\"]._with-label[data-size=\"m\"]){border-block-start-width:calc(.5rem + var(--t-height) / 3);padding-block-start:0}:host-context(tui-textfield._with-label[data-size=\"l\"]._with-label[data-size=\"l\"]){border-block-start-width:calc(.625rem + var(--t-height) / 3);padding-block-start:0}:host-context(tui-textfield[data-size=\"s\"]){padding-block-start:.5rem;padding-block-end:.25rem}:host-context(tui-textfield[data-size=\"m\"]){padding-block-start:.875rem;padding-block-end:.25rem}:host-context(tui-textfield[data-size=\"l\"]){padding-block-start:1.125rem;padding-block-end:.375rem}:host{word-break:break-word;border:0 solid transparent}:host[data-appearance=table]{border-block-start:1px solid transparent;border-block-end:none!important}:host:not(._mobile){scrollbar-width:none;-ms-overflow-style:none}:host:not(._mobile)::-webkit-scrollbar,:host:not(._mobile)::-webkit-scrollbar-thumb{display:none}.t-scroll{position:absolute;top:0;left:0;bottom:0;right:0;top:.25rem;bottom:.25rem;min-block-size:0}::ng-deep tui-textfield._with-label[data-size=m] .t-scroll{top:calc(.5rem + var(--t-height) / 3)}::ng-deep tui-textfield._with-label[data-size=l] .t-scroll{top:calc(.625rem + var(--t-height) / 3)}.t-ghost{position:relative;z-index:1;order:1;inline-size:-webkit-fill-available;inline-size:-moz-available;inline-size:stretch;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;padding-inline-start:var(--t-start);padding-inline-end:calc(var(--t-end) + var(--t-side));pointer-events:none;box-sizing:content-box;overflow:hidden;color:transparent}.t-ghost:after{content:\" \"}::ng-deep tui-textfield._with-label[data-size=m] textarea~.t-ghost{margin-block-start:-1.375rem;padding-block-end:.3125rem}::ng-deep tui-textfield._with-label[data-size=l] textarea~.t-ghost{margin-block-start:-1.75rem;padding-block-end:.5rem}::ng-deep tui-textfield[data-size=s] textarea~.t-ghost{margin-block-start:-1.5rem;padding-block-end:.5rem}::ng-deep tui-textfield[data-size=m] textarea~.t-ghost{margin-block-start:-2rem;padding-block-end:.875rem}::ng-deep tui-textfield[data-size=l] textarea~.t-ghost{margin-block-start:-2.5rem;padding-block-end:1rem}.t-hack{transition-property:box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px transparent}\n"] }]
44
+ }, template: "<ng-template #template>\n <tui-scroll-controls\n *ngIf=\"!isMobile\"\n class=\"t-scroll\"\n (click.prevent)=\"(0)\"\n />\n <span\n #text\n aria-hidden=\"true\"\n class=\"t-ghost\"\n [style.max-height.em]=\"1.25 * max\"\n [style.min-height.em]=\"1.25 * min\"\n >\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: el.value}\">{{ text }}</ng-container>\n </span>\n <span class=\"t-hack\"></span>\n</ng-template>\n", styles: [":host-context(tui-textfield._with-label[data-size=\"m\"]._with-label[data-size=\"m\"]){border-block-start-width:calc(.5rem + var(--t-height) / 3);padding-block-start:0}:host-context(tui-textfield._with-label[data-size=\"l\"]._with-label[data-size=\"l\"]){border-block-start-width:calc(.625rem + var(--t-height) / 3);padding-block-start:0}:host-context(tui-textfield[data-size=\"s\"]){padding-block-start:.5rem;padding-block-end:.25rem}:host-context(tui-textfield[data-size=\"m\"]){padding-block-start:.875rem;padding-block-end:.25rem}:host-context(tui-textfield[data-size=\"l\"]){padding-block-start:1.125rem;padding-block-end:.375rem}:host{word-break:break-word;border:0 solid transparent}:host[data-appearance=table]{border-block-start:1px solid transparent;border-block-end:none!important}:host:not(._mobile){scrollbar-width:none;-ms-overflow-style:none}:host:not(._mobile)::-webkit-scrollbar,:host:not(._mobile)::-webkit-scrollbar-thumb{display:none}.t-scroll{position:absolute;top:0;left:0;bottom:0;right:0;top:.25rem;bottom:.25rem;min-block-size:0}::ng-deep tui-textfield._with-label[data-size=m] .t-scroll{top:calc(.5rem + var(--t-height) / 3)}::ng-deep tui-textfield._with-label[data-size=l] .t-scroll{top:calc(.625rem + var(--t-height) / 3)}.t-ghost{position:relative;z-index:1;order:1;inline-size:-webkit-fill-available;inline-size:-moz-available;inline-size:stretch;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;padding-inline-start:var(--t-start);padding-inline-end:calc(var(--t-end) + var(--t-side));pointer-events:none;box-sizing:content-box;overflow:hidden;color:transparent}.t-ghost:after{content:\" \"}::ng-deep tui-textfield._with-label[data-size=m] textarea~.t-ghost{margin-block-start:-1.375rem;padding-block-end:.3125rem}::ng-deep tui-textfield._with-label[data-size=l] textarea~.t-ghost{margin-block-start:-1.75rem;padding-block-end:.5rem}::ng-deep tui-textfield[data-size=s] textarea~.t-ghost{margin-block-start:-1.5rem;padding-block-end:.5rem}::ng-deep tui-textfield[data-size=m] textarea~.t-ghost{margin-block-start:-2rem;padding-block-end:.875rem}::ng-deep tui-textfield[data-size=l] textarea~.t-ghost{margin-block-start:-2.5rem;padding-block-end:1rem}.t-hack{transition-property:box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px transparent}\n"] }]
45
45
  }], propDecorators: { template: [{
46
46
  type: ViewChild,
47
47
  args: [TemplateRef]
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
55
55
  }], content: [{
56
56
  type: Input
57
57
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvdGV4dGFyZWEvdGV4dGFyZWEudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckMsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsV0FBVyxFQUNYLFNBQVMsRUFDVCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLGdCQUFnQixHQUNuQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRCxPQUFPLEVBQUMsb0JBQW9CLEVBQTBCLE1BQU0sb0JBQW9CLENBQUM7OztBQUVqRixNQWlCYSxXQUFXO0lBakJ4QjtRQXFCcUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3ZDLFFBQUcsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUs3QixPQUFFLEdBQUcsZ0JBQWdCLEVBQXVCLENBQUM7UUFDN0MsY0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFBLHFCQUE2QixDQUFBLENBQUMsQ0FBQztRQUNsRCxhQUFRLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRzdDLFFBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUd2QixRQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFHdkIsWUFBTyxHQUFrQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztLQVd4RTtJQVRVLGVBQWU7UUFDbEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDOUM7SUFDTCxDQUFDO0lBRVMsUUFBUTtRQUNkLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQzsrR0EvQlEsV0FBVzttR0FBWCxXQUFXLDJTQVZULENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQyxvRUFXeEMsV0FBVyxxTEMzQzFCLHNlQWdCQSxnK0VEWWMsSUFBSSw2RkFBRSxrQkFBa0IsOEhBQUUsaUJBQWlCOztTQWM1QyxXQUFXOzRGQUFYLFdBQVc7a0JBakJ2QixTQUFTO2lDQUNNLElBQUksWUFDTix1QkFBdUIsV0FDeEIsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLENBQUMsbUJBR3JDLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDLGtCQUNuQyxDQUFDLGdCQUFnQixDQUFDLFFBQzVCO3dCQUNGLGVBQWUsRUFBRSxNQUFNO3dCQUN2QixpQkFBaUIsRUFBRSxVQUFVO3dCQUM3QixtQkFBbUIsRUFBRSxZQUFZO3dCQUNqQywwQkFBMEI7d0JBQzFCLGVBQWUsRUFBRSxZQUFZO3FCQUNoQzs4QkFJZ0IsUUFBUTtzQkFEeEIsU0FBUzt1QkFBQyxXQUFXO2dCQU9ILElBQUk7c0JBRHRCLFNBQVM7dUJBQUMsTUFBTTtnQkFRVixHQUFHO3NCQURULEtBQUs7Z0JBSUMsR0FBRztzQkFEVCxLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgdHlwZSBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlQcm92aWRlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlTY3JvbGxDb250cm9sc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9zY3JvbGxiYXInO1xuaW1wb3J0IHtcbiAgICBUdWlUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpV2l0aFRleHRmaWVsZCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUVUlfU0NST0xMX1JFRn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7UG9seW1vcnBoZXVzT3V0bGV0fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUVUlfVEVYVEFSRUFfT1BUSU9OUywgdHlwZSBUdWlUZXh0YXJlYU9wdGlvbnN9IGZyb20gJy4vdGV4dGFyZWEub3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0ZXh0YXJlYVt0dWlUZXh0YXJlYV0nLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBQb2x5bW9ycGhldXNPdXRsZXQsIFR1aVNjcm9sbENvbnRyb2xzXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGV4dGFyZWEudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGV4dGFyZWEuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3R1aVByb3ZpZGUoVFVJX1NDUk9MTF9SRUYsIEVsZW1lbnRSZWYpXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aVdpdGhUZXh0ZmllbGRdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgbmdTa2lwSHlkcmF0aW9uOiAndHJ1ZScsXG4gICAgICAgICdbY2xhc3MuX21vYmlsZV0nOiAnaXNNb2JpbGUnLFxuICAgICAgICAnKHNjcm9sbC56b25lbGVzcyknOiAnb25TY3JvbGwoKScsXG4gICAgICAgIC8vIFRvIHRyaWdnZXIgQ0QgZm9yICN0ZXh0XG4gICAgICAgICcoc2Nyb2xsLm9uY2UpJzogJ29uU2Nyb2xsKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVRleHRhcmVhIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfVEVYVEFSRUFfT1BUSU9OUyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB2Y3IgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG5cbiAgICBAVmlld0NoaWxkKCd0ZXh0JylcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGV4dD86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudDxIVE1MVGV4dEFyZWFFbGVtZW50PigpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0ZmllbGQgPSBpbmplY3QoVHVpVGV4dGZpZWxkQ29tcG9uZW50PHN0cmluZz4pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc01vYmlsZSA9IGluamVjdChUVUlfSVNfTU9CSUxFKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1pbiA9IHRoaXMub3B0aW9ucy5taW47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtYXggPSB0aGlzLm9wdGlvbnMubWF4O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29udGVudDogVHVpVGV4dGFyZWFPcHRpb25zWydjb250ZW50J10gPSB0aGlzLm9wdGlvbnMuY29udGVudDtcblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRlbXBsYXRlKSB7XG4gICAgICAgICAgICB0aGlzLnZjci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25TY3JvbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGV4dD8ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7dG9wOiB0aGlzLmVsLnNjcm9sbFRvcH0pO1xuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gICAgPHR1aS1zY3JvbGwtY29udHJvbHNcbiAgICAgICAgKm5nSWY9XCIhaXNNb2JpbGVcIlxuICAgICAgICBjbGFzcz1cInQtc2Nyb2xsXCJcbiAgICAvPlxuICAgIDxzcGFuXG4gICAgICAgICN0ZXh0XG4gICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgIGNsYXNzPVwidC1naG9zdFwiXG4gICAgICAgIFtzdHlsZS5tYXgtaGVpZ2h0LmVtXT1cIjEuMjUgKiBtYXhcIlxuICAgICAgICBbc3R5bGUubWluLWhlaWdodC5lbV09XCIxLjI1ICogbWluXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRlbnQgYXMgdGV4dDsgY29udGV4dDogeyRpbXBsaWNpdDogZWwudmFsdWV9XCI+e3sgdGV4dCB9fTwvbmctY29udGFpbmVyPlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInQtaGFja1wiPjwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvdGV4dGFyZWEvdGV4dGFyZWEudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckMsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsV0FBVyxFQUNYLFNBQVMsRUFDVCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLGdCQUFnQixHQUNuQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRCxPQUFPLEVBQUMsb0JBQW9CLEVBQTBCLE1BQU0sb0JBQW9CLENBQUM7OztBQUVqRixNQWlCYSxXQUFXO0lBakJ4QjtRQXFCcUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3ZDLFFBQUcsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUs3QixPQUFFLEdBQUcsZ0JBQWdCLEVBQXVCLENBQUM7UUFDN0MsY0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFBLHFCQUE2QixDQUFBLENBQUMsQ0FBQztRQUNsRCxhQUFRLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRzdDLFFBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUd2QixRQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFHdkIsWUFBTyxHQUFrQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztLQVd4RTtJQVRVLGVBQWU7UUFDbEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDOUM7SUFDTCxDQUFDO0lBRVMsUUFBUTtRQUNkLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQzsrR0EvQlEsV0FBVzttR0FBWCxXQUFXLDJTQVZULENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQyxvRUFXeEMsV0FBVyxxTEMzQzFCLHVnQkFpQkEsZytFRFdjLElBQUksNkZBQUUsa0JBQWtCLDhIQUFFLGlCQUFpQjs7U0FjNUMsV0FBVzs0RkFBWCxXQUFXO2tCQWpCdkIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sdUJBQXVCLFdBQ3hCLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixDQUFDLG1CQUdyQyx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQyxrQkFDbkMsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUM1Qjt3QkFDRixlQUFlLEVBQUUsTUFBTTt3QkFDdkIsaUJBQWlCLEVBQUUsVUFBVTt3QkFDN0IsbUJBQW1CLEVBQUUsWUFBWTt3QkFDakMsMEJBQTBCO3dCQUMxQixlQUFlLEVBQUUsWUFBWTtxQkFDaEM7OEJBSWdCLFFBQVE7c0JBRHhCLFNBQVM7dUJBQUMsV0FBVztnQkFPSCxJQUFJO3NCQUR0QixTQUFTO3VCQUFDLE1BQU07Z0JBUVYsR0FBRztzQkFEVCxLQUFLO2dCQUlDLEdBQUc7c0JBRFQsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIHR5cGUgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfSVNfTU9CSUxFfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpUHJvdmlkZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VHVpU2Nyb2xsQ29udHJvbHN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvc2Nyb2xsYmFyJztcbmltcG9ydCB7XG4gICAgVHVpVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVdpdGhUZXh0ZmllbGQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7VFVJX1NDUk9MTF9SRUZ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VFVJX1RFWFRBUkVBX09QVElPTlMsIHR5cGUgVHVpVGV4dGFyZWFPcHRpb25zfSBmcm9tICcuL3RleHRhcmVhLm9wdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndGV4dGFyZWFbdHVpVGV4dGFyZWFdJyxcbiAgICBpbXBvcnRzOiBbTmdJZiwgUG9seW1vcnBoZXVzT3V0bGV0LCBUdWlTY3JvbGxDb250cm9sc10sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RleHRhcmVhLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RleHRhcmVhLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt0dWlQcm92aWRlKFRVSV9TQ1JPTExfUkVGLCBFbGVtZW50UmVmKV0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlXaXRoVGV4dGZpZWxkXSxcbiAgICBob3N0OiB7XG4gICAgICAgIG5nU2tpcEh5ZHJhdGlvbjogJ3RydWUnLFxuICAgICAgICAnW2NsYXNzLl9tb2JpbGVdJzogJ2lzTW9iaWxlJyxcbiAgICAgICAgJyhzY3JvbGwuem9uZWxlc3MpJzogJ29uU2Nyb2xsKCknLFxuICAgICAgICAvLyBUbyB0cmlnZ2VyIENEIGZvciAjdGV4dFxuICAgICAgICAnKHNjcm9sbC5vbmNlKSc6ICdvblNjcm9sbCgpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUZXh0YXJlYSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYpXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX1RFWFRBUkVBX09QVElPTlMpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdmNyID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXG4gICAgQFZpZXdDaGlsZCgndGV4dCcpXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHQ/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQ8SFRNTFRleHRBcmVhRWxlbWVudD4oKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGV4dGZpZWxkID0gaW5qZWN0KFR1aVRleHRmaWVsZENvbXBvbmVudDxzdHJpbmc+KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNNb2JpbGUgPSBpbmplY3QoVFVJX0lTX01PQklMRSk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtaW4gPSB0aGlzLm9wdGlvbnMubWluO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWF4ID0gdGhpcy5vcHRpb25zLm1heDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNvbnRlbnQ6IFR1aVRleHRhcmVhT3B0aW9uc1snY29udGVudCddID0gdGhpcy5vcHRpb25zLmNvbnRlbnQ7XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50ZW1wbGF0ZSkge1xuICAgICAgICAgICAgdGhpcy52Y3IuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uU2Nyb2xsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRleHQ/Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe3RvcDogdGhpcy5lbC5zY3JvbGxUb3B9KTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICAgIDx0dWktc2Nyb2xsLWNvbnRyb2xzXG4gICAgICAgICpuZ0lmPVwiIWlzTW9iaWxlXCJcbiAgICAgICAgY2xhc3M9XCJ0LXNjcm9sbFwiXG4gICAgICAgIChjbGljay5wcmV2ZW50KT1cIigwKVwiXG4gICAgLz5cbiAgICA8c3BhblxuICAgICAgICAjdGV4dFxuICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICBjbGFzcz1cInQtZ2hvc3RcIlxuICAgICAgICBbc3R5bGUubWF4LWhlaWdodC5lbV09XCIxLjI1ICogbWF4XCJcbiAgICAgICAgW3N0eWxlLm1pbi1oZWlnaHQuZW1dPVwiMS4yNSAqIG1pblwiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZW50IGFzIHRleHQ7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGVsLnZhbHVlfVwiPnt7IHRleHQgfX08L25nLWNvbnRhaW5lcj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJ0LWhhY2tcIj48L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -27,7 +27,7 @@ class TuiSkeleton {
27
27
  ngOnChanges({ tuiSkeleton }) {
28
28
  this.animation?.cancel();
29
29
  if (!tuiSkeleton?.currentValue && !tuiSkeleton?.firstChange) {
30
- this.animation = this.el.animate(FADE, this.duration);
30
+ this.animation = this.el.animate?.(FADE, this.duration);
31
31
  }
32
32
  }
33
33
  getPlaceholder(value) {
@@ -66,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
66
66
  function getLength() {
67
67
  return Math.floor(Math.random() * (15 - 5 + 1)) + 5;
68
68
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2RpcmVjdGl2ZXMvc2tlbGV0b24vc2tlbGV0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFHTCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7O0FBRWxFLE1BQU0sSUFBSSxHQUFHLENBQUMsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLEVBQUUsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztBQUU3QyxNQVVNLGlCQUFpQjsrR0FBakIsaUJBQWlCO21HQUFqQixpQkFBaUIseUhBUlQsRUFBRTs7NEZBUVYsaUJBQWlCO2tCQVZ0QixTQUFTO2lDQUNNLElBQUksWUFDTixFQUFFLGlCQUVHLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsS0FBSyxFQUFFLHFCQUFxQjtxQkFDL0I7O0FBSUwsTUFTYSxXQUFXO0lBVHhCO1FBV3FCLE9BQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFMUQsWUFBTyxHQUFHLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBR3ZELGdCQUFXLEdBQThCLEtBQUssQ0FBQztLQXVCekQ7SUFyQlUsV0FBVyxDQUFDLEVBQUMsV0FBVyxFQUFnQjtRQUMzQyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBRXpCLElBQUksQ0FBQyxXQUFXLEVBQUUsWUFBWSxJQUFJLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRTtZQUN6RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDekQ7SUFDTCxDQUFDO0lBR1MsY0FBYyxDQUFDLEtBQWdDO1FBQ3JELFFBQVEsT0FBTyxLQUFLLEVBQUU7WUFDbEIsS0FBSyxRQUFRO2dCQUNULE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsQ0FBQztxQkFDN0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO3FCQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkIsS0FBSyxRQUFRO2dCQUNULE9BQU8sS0FBSyxDQUFDO1lBQ2pCO2dCQUNJLE9BQU8sSUFBSSxDQUFDO1NBQ25CO0lBQ0wsQ0FBQzsrR0E5QlEsV0FBVzttR0FBWCxXQUFXOztBQW1CVjtJQURULE9BQU87aURBWVA7U0E5QlEsV0FBVzs0RkFBWCxXQUFXO2tCQVR2QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsZUFBZTtvQkFDekIsSUFBSSxFQUFFO3dCQUNGLFdBQVcsRUFBRSxFQUFFO3dCQUNmLG1CQUFtQixFQUFFLGFBQWE7d0JBQ2xDLDBCQUEwQixFQUFFLDZCQUE2QjtxQkFDNUQ7aUJBQ0o7OEJBU1UsV0FBVztzQkFEakIsS0FBSztnQkFZSSxjQUFjO0FBYzVCLFNBQVMsU0FBUztJQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIHR5cGUgT25DaGFuZ2VzLFxuICAgIHR5cGUgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NIQVJfTk9fQlJFQUtfU1BBQ0V9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlQdXJlLCB0dWlXaXRoU3R5bGVzfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUVUlfQU5JTUFUSU9OU19TUEVFRH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHVpR2V0RHVyYXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuXG5jb25zdCBGQURFID0gW3tvcGFjaXR5OiAwLjA2fSwge29wYWNpdHk6IDF9XTtcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2tlbGV0b24uc3R5bGUubGVzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3R1aS1za2VsZXRvbi1zdHlsZXMnLFxuICAgIH0sXG59KVxuY2xhc3MgVHVpU2tlbGV0b25TdHlsZXMge31cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlTa2VsZXRvbl0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHVpU2tlbGV0b246ICcnLFxuICAgICAgICAnW2NsYXNzLl9za2VsZXRvbl0nOiAndHVpU2tlbGV0b24nLFxuICAgICAgICAnW2F0dHIuZGF0YS10dWktc2tlbGV0b25dJzogJ2dldFBsYWNlaG9sZGVyKHR1aVNrZWxldG9uKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2tlbGV0b24gaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgYW5pbWF0aW9uPzogQW5pbWF0aW9uO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkdXJhdGlvbiA9IHR1aUdldER1cmF0aW9uKGluamVjdChUVUlfQU5JTUFUSU9OU19TUEVFRCkpICogMjtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBub3RoaW5nID0gdHVpV2l0aFN0eWxlcyhUdWlTa2VsZXRvblN0eWxlcyk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0dWlTa2VsZXRvbjogYm9vbGVhbiB8IG51bWJlciB8IHN0cmluZyA9IGZhbHNlO1xuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKHt0dWlTa2VsZXRvbn06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hbmltYXRpb24/LmNhbmNlbCgpO1xuXG4gICAgICAgIGlmICghdHVpU2tlbGV0b24/LmN1cnJlbnRWYWx1ZSAmJiAhdHVpU2tlbGV0b24/LmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLmFuaW1hdGlvbiA9IHRoaXMuZWwuYW5pbWF0ZShGQURFLCB0aGlzLmR1cmF0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJvdGVjdGVkIGdldFBsYWNlaG9sZGVyKHZhbHVlOiBib29sZWFuIHwgbnVtYmVyIHwgc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgICAgICAgICBjYXNlICdudW1iZXInOlxuICAgICAgICAgICAgICAgIHJldHVybiBBcnJheS5mcm9tKHtsZW5ndGg6IHZhbHVlfSlcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoKSA9PiBDSEFSX05PX0JSRUFLX1NQQUNFLnJlcGVhdChnZXRMZW5ndGgoKSkpXG4gICAgICAgICAgICAgICAgICAgIC5qb2luKCcgJyk7XG4gICAgICAgICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIGdldExlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoMTUgLSA1ICsgMSkpICsgNTtcbn1cbiJdfQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2RpcmVjdGl2ZXMvc2tlbGV0b24vc2tlbGV0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFHTCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7O0FBRWxFLE1BQU0sSUFBSSxHQUFHLENBQUMsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLEVBQUUsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztBQUU3QyxNQVVNLGlCQUFpQjsrR0FBakIsaUJBQWlCO21HQUFqQixpQkFBaUIseUhBUlQsRUFBRTs7NEZBUVYsaUJBQWlCO2tCQVZ0QixTQUFTO2lDQUNNLElBQUksWUFDTixFQUFFLGlCQUVHLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsS0FBSyxFQUFFLHFCQUFxQjtxQkFDL0I7O0FBSUwsTUFTYSxXQUFXO0lBVHhCO1FBV3FCLE9BQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFMUQsWUFBTyxHQUFHLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBR3ZELGdCQUFXLEdBQThCLEtBQUssQ0FBQztLQXVCekQ7SUFyQlUsV0FBVyxDQUFDLEVBQUMsV0FBVyxFQUFnQjtRQUMzQyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBRXpCLElBQUksQ0FBQyxXQUFXLEVBQUUsWUFBWSxJQUFJLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRTtZQUN6RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMzRDtJQUNMLENBQUM7SUFHUyxjQUFjLENBQUMsS0FBZ0M7UUFDckQsUUFBUSxPQUFPLEtBQUssRUFBRTtZQUNsQixLQUFLLFFBQVE7Z0JBQ1QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyxDQUFDO3FCQUM3QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7cUJBQ2xELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQixLQUFLLFFBQVE7Z0JBQ1QsT0FBTyxLQUFLLENBQUM7WUFDakI7Z0JBQ0ksT0FBTyxJQUFJLENBQUM7U0FDbkI7SUFDTCxDQUFDOytHQTlCUSxXQUFXO21HQUFYLFdBQVc7O0FBbUJWO0lBRFQsT0FBTztpREFZUDtTQTlCUSxXQUFXOzRGQUFYLFdBQVc7a0JBVHZCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxlQUFlO29CQUN6QixJQUFJLEVBQUU7d0JBQ0YsV0FBVyxFQUFFLEVBQUU7d0JBQ2YsbUJBQW1CLEVBQUUsYUFBYTt3QkFDbEMsMEJBQTBCLEVBQUUsNkJBQTZCO3FCQUM1RDtpQkFDSjs4QkFTVSxXQUFXO3NCQURqQixLQUFLO2dCQVlJLGNBQWM7QUFjNUIsU0FBUyxTQUFTO0lBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgdHlwZSBPbkNoYW5nZXMsXG4gICAgdHlwZSBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q0hBUl9OT19CUkVBS19TUEFDRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aVB1cmUsIHR1aVdpdGhTdHlsZXN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05TX1NQRUVEfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHt0dWlHZXREdXJhdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5cbmNvbnN0IEZBREUgPSBbe29wYWNpdHk6IDAuMDZ9LCB7b3BhY2l0eTogMX1dO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBzdHlsZVVybHM6IFsnLi9za2VsZXRvbi5zdHlsZS5sZXNzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndHVpLXNrZWxldG9uLXN0eWxlcycsXG4gICAgfSxcbn0pXG5jbGFzcyBUdWlTa2VsZXRvblN0eWxlcyB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aVNrZWxldG9uXScsXG4gICAgaG9zdDoge1xuICAgICAgICB0dWlTa2VsZXRvbjogJycsXG4gICAgICAgICdbY2xhc3MuX3NrZWxldG9uXSc6ICd0dWlTa2VsZXRvbicsXG4gICAgICAgICdbYXR0ci5kYXRhLXR1aS1za2VsZXRvbl0nOiAnZ2V0UGxhY2Vob2xkZXIodHVpU2tlbGV0b24pJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTa2VsZXRvbiBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSBhbmltYXRpb24/OiBBbmltYXRpb247XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGR1cmF0aW9uID0gdHVpR2V0RHVyYXRpb24oaW5qZWN0KFRVSV9BTklNQVRJT05TX1NQRUVEKSkgKiAyO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG5vdGhpbmcgPSB0dWlXaXRoU3R5bGVzKFR1aVNrZWxldG9uU3R5bGVzKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR1aVNrZWxldG9uOiBib29sZWFuIHwgbnVtYmVyIHwgc3RyaW5nID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoe3R1aVNrZWxldG9ufTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLmFuaW1hdGlvbj8uY2FuY2VsKCk7XG5cbiAgICAgICAgaWYgKCF0dWlTa2VsZXRvbj8uY3VycmVudFZhbHVlICYmICF0dWlTa2VsZXRvbj8uZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuYW5pbWF0aW9uID0gdGhpcy5lbC5hbmltYXRlPy4oRkFERSwgdGhpcy5kdXJhdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByb3RlY3RlZCBnZXRQbGFjZWhvbGRlcih2YWx1ZTogYm9vbGVhbiB8IG51bWJlciB8IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBzd2l0Y2ggKHR5cGVvZiB2YWx1ZSkge1xuICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh7bGVuZ3RoOiB2YWx1ZX0pXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKCkgPT4gQ0hBUl9OT19CUkVBS19TUEFDRS5yZXBlYXQoZ2V0TGVuZ3RoKCkpKVxuICAgICAgICAgICAgICAgICAgICAuam9pbignICcpO1xuICAgICAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5mdW5jdGlvbiBnZXRMZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKDE1IC0gNSArIDEpKSArIDU7XG59XG4iXX0=
@@ -21,11 +21,11 @@ class TuiConfirm {
21
21
  return this.isMobile ? 'secondary' : 'flat';
22
22
  }
23
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiConfirm, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiConfirm, isStandalone: true, selector: "tui-confirm", ngImport: i0, template: "<p\n *polymorpheusOutlet=\"context.data?.content as text\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></p>\n<footer\n *ngIf=\"words$ | async as words\"\n class=\"t-buttons\"\n>\n <button\n size=\"m\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words.no }}\n </button>\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"context.data?.appearance || 'primary'\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words.yes }}\n </button>\n</footer>\n", styles: [".t-content:not(:empty){margin-block-end:.875rem;overflow-wrap:break-word}.t-buttons{display:flex;justify-content:flex-end;flex-wrap:wrap-reverse;margin:.375rem -.375rem -.375rem}.t-button{margin:.375rem;white-space:nowrap}:host-context(tui-root._mobile) .t-button{flex:1;overflow:visible}:host-context(tui-dialog[new]) .t-button{margin:0}:host-context(tui-dialog[new]) .t-buttons{margin-block-end:0;margin-inline-end:0;margin-inline-start:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiConfirm, isStandalone: true, selector: "tui-confirm", ngImport: i0, template: "<p\n *polymorpheusOutlet=\"context.data?.content as text\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></p>\n<footer\n *ngIf=\"words$ | async as words\"\n class=\"t-buttons\"\n>\n <button\n size=\"m\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words.no }}\n </button>\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"context.data?.appearance || 'primary'\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words.yes }}\n </button>\n</footer>\n", styles: [":host{display:block}.t-content:not(:empty){margin-block-end:.875rem;overflow-wrap:break-word}.t-buttons{display:flex;justify-content:flex-end;flex-wrap:wrap-reverse;margin:.375rem -.375rem -.375rem}.t-button{margin:.375rem;white-space:nowrap}:host-context(tui-root._mobile) .t-button{flex:1;overflow:visible}:host-context(tui-dialog[new]){margin-block-start:-.75rem}:host-context(tui-dialog[new]) .t-button{margin:0}:host-context(tui-dialog[new]) .t-buttons{margin-block-end:0;margin-inline-end:0;margin-inline-start:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
25
  }
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiConfirm, decorators: [{
27
27
  type: Component,
28
- args: [{ standalone: true, selector: 'tui-confirm', imports: [CommonModule, PolymorpheusOutlet, TuiAutoFocus, TuiButton], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p\n *polymorpheusOutlet=\"context.data?.content as text\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></p>\n<footer\n *ngIf=\"words$ | async as words\"\n class=\"t-buttons\"\n>\n <button\n size=\"m\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words.no }}\n </button>\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"context.data?.appearance || 'primary'\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words.yes }}\n </button>\n</footer>\n", styles: [".t-content:not(:empty){margin-block-end:.875rem;overflow-wrap:break-word}.t-buttons{display:flex;justify-content:flex-end;flex-wrap:wrap-reverse;margin:.375rem -.375rem -.375rem}.t-button{margin:.375rem;white-space:nowrap}:host-context(tui-root._mobile) .t-button{flex:1;overflow:visible}:host-context(tui-dialog[new]) .t-button{margin:0}:host-context(tui-dialog[new]) .t-buttons{margin-block-end:0;margin-inline-end:0;margin-inline-start:0}\n"] }]
28
+ args: [{ standalone: true, selector: 'tui-confirm', imports: [CommonModule, PolymorpheusOutlet, TuiAutoFocus, TuiButton], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p\n *polymorpheusOutlet=\"context.data?.content as text\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></p>\n<footer\n *ngIf=\"words$ | async as words\"\n class=\"t-buttons\"\n>\n <button\n size=\"m\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words.no }}\n </button>\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"context.data?.appearance || 'primary'\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words.yes }}\n </button>\n</footer>\n", styles: [":host{display:block}.t-content:not(:empty){margin-block-end:.875rem;overflow-wrap:break-word}.t-buttons{display:flex;justify-content:flex-end;flex-wrap:wrap-reverse;margin:.375rem -.375rem -.375rem}.t-button{margin:.375rem;white-space:nowrap}:host-context(tui-root._mobile) .t-button{flex:1;overflow:visible}:host-context(tui-dialog[new]){margin-block-start:-.75rem}:host-context(tui-dialog[new]) .t-button{margin:0}:host-context(tui-dialog[new]) .t-buttons{margin-block-end:0;margin-inline-end:0;margin-inline-start:0}\n"] }]
29
29
  }] });
30
30
  const TUI_CONFIRM = new PolymorpheusComponent(TuiConfirm);
31
31